1. 04 Dec, 2013 40 commits
    • oliver@apple.com's avatar
      Refactor static getter function prototype to include thisValue in addition to the base object · 965cdde6
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124461
      
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore:
      
      Add thisValue parameter to static getter prototype, and switch
      from JSValue to EncodedJSValue for parameters and return value.
      
      Currently none of the static getters use the thisValue, but
      separating out the refactoring will prevent future changes
      from getting lost in the noise of refactoring.  This means
      that this patch does not result in any change in behaviour.
      
      * API/JSCallbackObject.h:
      * API/JSCallbackObjectFunctions.h:
      (JSC::::asCallbackObject):
      (JSC::::staticFunctionGetter):
      (JSC::::callbackGetter):
      * jit/JITOperations.cpp:
      * runtime/JSActivation.cpp:
      (JSC::JSActivation::argumentsGetter):
      * runtime/JSActivation.h:
      * runtime/JSFunction.cpp:
      (JSC::JSFunction::argumentsGetter):
      (JSC::JSFunction::callerGetter):
      (JSC::JSFunction::lengthGetter):
      (JSC::JSFunction::nameGetter):
      * runtime/JSFunction.h:
      * runtime/JSObject.h:
      (JSC::PropertySlot::getValue):
      * runtime/NumberConstructor.cpp:
      (JSC::numberConstructorNaNValue):
      (JSC::numberConstructorNegInfinity):
      (JSC::numberConstructorPosInfinity):
      (JSC::numberConstructorMaxValue):
      (JSC::numberConstructorMinValue):
      * runtime/PropertySlot.h:
      * runtime/RegExpConstructor.cpp:
      (JSC::asRegExpConstructor):
      (JSC::regExpConstructorDollar1):
      (JSC::regExpConstructorDollar2):
      (JSC::regExpConstructorDollar3):
      (JSC::regExpConstructorDollar4):
      (JSC::regExpConstructorDollar5):
      (JSC::regExpConstructorDollar6):
      (JSC::regExpConstructorDollar7):
      (JSC::regExpConstructorDollar8):
      (JSC::regExpConstructorDollar9):
      (JSC::regExpConstructorInput):
      (JSC::regExpConstructorMultiline):
      (JSC::regExpConstructorLastMatch):
      (JSC::regExpConstructorLastParen):
      (JSC::regExpConstructorLeftContext):
      (JSC::regExpConstructorRightContext):
      * runtime/RegExpObject.cpp:
      (JSC::asRegExpObject):
      (JSC::regExpObjectGlobal):
      (JSC::regExpObjectIgnoreCase):
      (JSC::regExpObjectMultiline):
      (JSC::regExpObjectSource):
      
      Source/WebCore:
      
      Change bindings codegen to produce static getter functions
      with the correct types.  Also update the many custom implementations
      to the new type.
      
      No change in behaviour.
      
      * bindings/js/JSCSSStyleDeclarationCustom.cpp:
      (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
      (WebCore::cssPropertyGetterCallback):
      * bindings/js/JSDOMBinding.cpp:
      (WebCore::objectToStringFunctionGetter):
      * bindings/js/JSDOMBinding.h:
      * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
      (WebCore::JSDOMMimeTypeArray::nameGetter):
      * bindings/js/JSDOMPluginArrayCustom.cpp:
      (WebCore::JSDOMPluginArray::nameGetter):
      * bindings/js/JSDOMPluginCustom.cpp:
      (WebCore::JSDOMPlugin::nameGetter):
      * bindings/js/JSDOMStringMapCustom.cpp:
      (WebCore::JSDOMStringMap::nameGetter):
      * bindings/js/JSDOMWindowCustom.cpp:
      (WebCore::nonCachingStaticFunctionGetter):
      (WebCore::childFrameGetter):
      (WebCore::indexGetter):
      (WebCore::namedItemGetter):
      * bindings/js/JSHTMLAllCollectionCustom.cpp:
      (WebCore::JSHTMLAllCollection::nameGetter):
      * bindings/js/JSHTMLCollectionCustom.cpp:
      (WebCore::JSHTMLCollection::nameGetter):
      * bindings/js/JSHTMLDocumentCustom.cpp:
      (WebCore::JSHTMLDocument::nameGetter):
      * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
      (WebCore::JSHTMLFormControlsCollection::nameGetter):
      * bindings/js/JSHTMLFormElementCustom.cpp:
      (WebCore::JSHTMLFormElement::nameGetter):
      * bindings/js/JSHTMLFrameSetElementCustom.cpp:
      (WebCore::JSHTMLFrameSetElement::nameGetter):
      * bindings/js/JSHistoryCustom.cpp:
      (WebCore::nonCachingStaticBackFunctionGetter):
      (WebCore::nonCachingStaticForwardFunctionGetter):
      (WebCore::nonCachingStaticGoFunctionGetter):
      * bindings/js/JSJavaScriptCallFrameCustom.cpp:
      (WebCore::JSJavaScriptCallFrame::scopeType):
      * bindings/js/JSLocationCustom.cpp:
      (WebCore::nonCachingStaticReplaceFunctionGetter):
      (WebCore::nonCachingStaticReloadFunctionGetter):
      (WebCore::nonCachingStaticAssignFunctionGetter):
      * bindings/js/JSNamedNodeMapCustom.cpp:
      (WebCore::JSNamedNodeMap::nameGetter):
      * bindings/js/JSNodeListCustom.cpp:
      (WebCore::JSNodeList::nameGetter):
      * bindings/js/JSPluginElementFunctions.cpp:
      (WebCore::pluginElementPropertyGetter):
      * bindings/js/JSPluginElementFunctions.h:
      * bindings/js/JSRTCStatsResponseCustom.cpp:
      (WebCore::JSRTCStatsResponse::nameGetter):
      * bindings/js/JSStorageCustom.cpp:
      (WebCore::JSStorage::nameGetter):
      * bindings/js/JSStyleSheetListCustom.cpp:
      (WebCore::JSStyleSheetList::nameGetter):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateHeader):
      (GenerateImplementation):
      (GenerateParametersCheck):
      * bridge/runtime_array.cpp:
      (JSC::RuntimeArray::lengthGetter):
      (JSC::RuntimeArray::indexGetter):
      * bridge/runtime_array.h:
      * bridge/runtime_method.cpp:
      (JSC::RuntimeMethod::lengthGetter):
      * bridge/runtime_method.h:
      * bridge/runtime_object.cpp:
      (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
      (JSC::Bindings::RuntimeObject::fieldGetter):
      (JSC::Bindings::RuntimeObject::methodGetter):
      * bridge/runtime_object.h:
      
      Source/WebKit2:
      
      Update the WK2 JSC usage to the new static getter API
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      (WebKit::callMethod):
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::callNPJSObject):
      (WebKit::constructWithConstructor):
      (WebKit::JSNPObject::propertyGetter):
      (WebKit::JSNPObject::methodGetter):
      * WebProcess/Plugins/Netscape/JSNPObject.h:
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
      (WebKit::NPRuntimeObjectMap::finalize):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::frameForContext):
      (WebKit::WebFrame::counterValue):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160133 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      965cdde6
    • graouts@apple.com's avatar
      Web Inspector: edited color should serialize back to original format when possible · 10e771e5
      graouts@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125244
      
      Reviewed by Joseph Pecoraro.
      
      Profoundly reworked WebInspector.Color to be more efficient and more flexible when
      serializing the color to the various supported formats.
      
      * UserInterface/CSSStyleDeclarationTextEditor.js:
      (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
      Use new WebInspector.Color.fromString() factory and check for a null return value
      rather than an exception to identify invalid color tokens.
      
      * UserInterface/Color.js:
      (WebInspector.Color):
      Rewrote WebInspector.Color such that it would have, at all times, a canonical
      representation in terms of either RGBA or HSLA depending on the format used to
      create the color. The new constructor parameters lets the user pass a format
      and the RGBA or HSLA components, allowing to bypass the string-only creation
      system which was sub-optimal for the new color picker. Additionally, the toString()
      method now can provide the most accurate serialization of the color based on the
      provided format with a fallback mechanism to RGB/RGBA in cases where the desired
      format would incur a loss of fidelity. Finally, simplified the API to only feature
      essential features.
      
      (WebInspector.Color.fromString):
      New factory method used to create a color from a string.
      
      * UserInterface/ColorPicker.js:
      (WebInspector.ColorPicker.prototype.set color):
      Keep track of the original color format so that we can use it as the preferred format
      when serializing the updated color in _updateColor().
      
      (WebInspector.ColorPicker.prototype._updateColor):
      Use the original color format as the prefered formation for color serialization. Also,
      use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.
      
      (WebInspector.ColorPicker.prototype._updateSliders):
      Use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.
      
      * UserInterface/ColorWheel.js:
      (WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
      Use the new WebInspector.Color constructor in lieu of the removed .fromRGB factory.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      10e771e5
    • dbates@webkit.org's avatar
      [iOS] Enable Objective-C ARC when building JSC tools for iOS simulator · 5e423cb9
      dbates@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125170
      
      Reviewed by Geoffrey Garen.
      
      * API/tests/testapi.mm:
      * Configurations/ToolExecutable.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160131 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e423cb9
    • zoltan@webkit.org's avatar
      [CSS Shapes] Support inset for shape-outside · c9ab7882
      zoltan@webkit.org authored
      <https://webkit.org/b/125112>
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      This patch adds inset support for shape-outside. Parsing has previously landed in r159968.
      Specification: http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes
      
      Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html
             fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html
             fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html
             fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html
             fast/shapes/shape-outside-floats/shape-outside-floats-inset.html
      
      * platform/LengthSize.h:
      (WebCore::LengthSize::floatSize): Add conversion to FloatSize.
      * rendering/shapes/Shape.cpp:
      (WebCore::Shape::createShape): Handle inset case.
      
      LayoutTests:
      
      * fast/shapes/resources/rounded-rectangle.js: Add support to generate partially rounded rectangles.
      (scanConvertRoundedRectangleOutside):
      (genLeftRoundedRectFloatShapeOutsideRefTest):
      (genRightRoundedRectFloatShapeOutsideRefTest):
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right-expected.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html: Added.
      * fast/shapes/shape-outside-floats/shape-outside-floats-inset.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9ab7882
    • andersca@apple.com's avatar
      Add a loading property to WKBrowsingContextController · 42190963
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125256
      
      Reviewed by Dan Bernstein.
      
      Source/WebKit2:
      
      * UIProcess/API/Cocoa/WKBrowsingContextController.h:
      Add loading property.
      
      * UIProcess/API/Cocoa/WKBrowsingContextConteroller.mm:
      Implement willChangeIsLoading and didChangeIsLoading and call the relevant KVO methods.
      
      (-[WKBrowsingContextController isLoading]):
      Call through to the PageLoadState.
      
      * UIProcess/PageLoadState.cpp:
      (WebKit::PageLoadState::reset):
      Use setState.
      
      (WebKit::PageLoadState::isLoading):
      Call isLoadingState.
      
      (WebKit::PageLoadState::didStartProvisionalLoad):
      Use setState.
      
      (WebKit::PageLoadState::didFailProvisionalLoad):
      Use setState.
      
      (WebKit::PageLoadState::didCommitLoad):
      Use setState.
      
      (WebKit::PageLoadState::didFinishLoad):
      Use setState.
      
      (WebKit::PageLoadState::didFailLoad):
      Use setState.
      
      (WebKit::PageLoadState::isLoadingState):
      Helper function for determining whether a state is a loading state or not.
      
      (WebKit::PageLoadState::setState):
      If setting the state will cause "isLoading" to change, call out to the observers.
      
      * UIProcess/PageLoadState.h:
      
      Tools:
      
      Bind the progress indicator visibility to the "loading" property.
      
      * MiniBrowser/mac/WK2BrowserWindowController.m:
      (-[WK2BrowserWindowController dealloc]):
      (-[WK2BrowserWindowController awakeFromNib]):
      (-[WK2BrowserWindowController didStartProgress]):
      (-[WK2BrowserWindowController didFinishProgress]):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160129 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42190963
    • commit-queue@webkit.org's avatar
      Source/WebKit2: [EFL][GTK][WK2] Remove unnecessary reinterpret_casts when setting API clients · 514166e9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125231
      
      Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
      Reviewed by Anders Carlsson.
      
      After r159988, WKClients have to be instantiated with a specific
      version of that client and its Base field has to used when setting it.
      Eg:
      
          WKFullScreenClientV0 wkClient = {
              {
                  0, // version
                  this, // clientInfo
              },
                  willEnterFullScreen,
                  willExitFullScreen
          };
          WKViewSetFullScreenClientGtk(this, &wkClient.base);
      
      So we don't need the reinterpret_casts introduced in r160075.
      
      * UIProcess/API/gtk/WebKitFullscreenClient.cpp:
      (attachFullScreenClientToView): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base
      * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
      (attachRequestManagerClientToContext): Ditto.
      * UIProcess/API/gtk/WebKitTextChecker.cpp:
      (WebKitTextChecker::WebKitTextChecker): Ditto.
      * UIProcess/API/gtk/WebKitWebInspector.cpp:
      (webkitWebInspectorCreate): Ditto.
      * UIProcess/efl/BatteryProvider.cpp:
      (BatteryProvider::BatteryProvider): Ditto.
      * UIProcess/efl/NetworkInfoProvider.cpp:
      (NetworkInfoProvider::NetworkInfoProvider): Ditto.
      * UIProcess/efl/PageUIClientEfl.cpp:
      (WebKit::PageUIClientEfl::PageUIClientEfl): Ditto.
      * UIProcess/efl/RequestManagerClientEfl.cpp:
      (WebKit::RequestManagerClientEfl::RequestManagerClientEfl): Ditto.
      * UIProcess/efl/TextCheckerClientEfl.cpp:
      (TextCheckerClientEfl::TextCheckerClientEfl): Ditto.
      * UIProcess/efl/VibrationClientEfl.cpp:
      (VibrationClientEfl::VibrationClientEfl): Ditto.
      * UIProcess/efl/ViewClientEfl.cpp:
      (WebKit::ViewClientEfl::ViewClientEfl): Ditto.
      
      Tools: [EFL][WK2] Buildfix after r160104
      https://bugs.webkit.org/show_bug.cgi?id=125231
      
      Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
      Reviewed by Anders Carlsson.
      
      * TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:
      (TestWebKitAPI::TEST): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base
      * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
      (TestWebKitAPI::setViewClient): Ditto.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160128 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      514166e9
    • betravis@adobe.com's avatar
      Web Inspector: [CSS Shapes] Support raster shape visualizations · c9f2fded
      betravis@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124080
      
      Reviewed by Joseph Pecoraro.
      
      Source/WebCore:
      
      Create an inspector visualization for a shape created from an image.
      The visualization takes each line of the image, combining where possible.
      
      Test added to inspector-protocol/model/highlight-shape-outside.html
      
      * rendering/shapes/RasterShape.cpp:
      (WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
      RasterShapeIntervals.
      * rendering/shapes/RasterShape.h:
      
      LayoutTests:
      
      Add a test for data sent to the inspector for a raster shape.
      
      * inspector-protocol/model/highlight-shape-outside-expected.txt:
      * inspector-protocol/model/highlight-shape-outside.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9f2fded
    • zoltan@webkit.org's avatar
      [CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums · e5db8c16
      zoltan@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125163
      
      Reviewed by Rob Buis.
      
      I don't see any reason to have explicit numbering for the Type enum in our [CSS]BasicShape classes.
      I removed numbering, which will decrease for instance the merge conflicts on Type changes.
      
      No new tests, no behavior change.
      
      * css/CSSBasicShapes.h:
      * rendering/style/BasicShapes.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5db8c16
    • commit-queue@webkit.org's avatar
      [GTK][WK2] Fix build after r160104 · 119210aa
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125240
      
      Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
      Reviewed by Anders Carlsson.
      
      Using specific version of API client when instantiating them.
      Applied that same change to the following files:
      
      * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
      * UIProcess/API/gtk/WebKitCookieManager.cpp:
      * UIProcess/API/gtk/WebKitDownloadClient.cpp:
      * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
      * UIProcess/API/gtk/WebKitFindController.cpp:
      * UIProcess/API/gtk/WebKitFormClient.cpp:
      * UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
      * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
      * UIProcess/API/gtk/WebKitLoaderClient.cpp:
      * UIProcess/API/gtk/WebKitPolicyClient.cpp:
      * UIProcess/API/gtk/WebKitUIClient.cpp:
      * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160125 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      119210aa
    • commit-queue@webkit.org's avatar
      check-webkit-style detected some ternary statements as initialization lists · 251bfc33
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125246
      
      Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-04
      Reviewed by Dean Jackson.
      
      The regular expression that check-webkit-tests uses to detect initialization
      lists was too broad, resulting in false positives. This patch makes the
      regex more specific
      
      * Scripts/webkitpy/style/checkers/cpp.py:
      (check_member_initialization_list):
      * Scripts/webkitpy/style/checkers/cpp_unittest.py:
      (WebKitStyleTest.test_member_initialization_list):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      251bfc33
    • mitz@apple.com's avatar
      Fixed the 32-bit Mac build. · be7eba98
      mitz@apple.com authored
      * Shared/mac/WebCoreArgumentCodersMac.mm:
      (CoreIPC::::encodePlatformData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be7eba98
    • mitz@apple.com's avatar
      [Mac] When NSError user info is missing NSErrorPeerCertificateChainKey,... · b5e28dc9
      mitz@apple.com authored
      [Mac] When NSError user info is missing NSErrorPeerCertificateChainKey, ArgumentCoder should extract it from NSURLErrorFailingURLPeerTrustErrorKey
      https://bugs.webkit.org/show_bug.cgi?id=125251
      
      Reviewed by Anders Carlsson.
      
      * Shared/mac/WebCoreArgumentCodersMac.mm:
      (CoreIPC::::encodePlatformData): If the user info doesn’t include
      NSURLErrorFailingURLPeerTrustErrorKey, copy the peer certificate chain from the peer trust
      under NSURLErrorFailingURLPeerTrustErrorKey. On the decoding side, it will appear under the
      NSURLErrorFailingURLPeerTrustErrorKey, because a trust object can’t be fully serialized.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b5e28dc9
    • commit-queue@webkit.org's avatar
      Allow ImageBuffer to use an IOSurface that is larger than necessary · 60dcc5f6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124626
      
      Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-04
      Reviewed by Simon Fraser.
      
      Source/WebCore:
      
      Because creating ImageBuffer's backing store can be so expensive, it
      would be beneficial to have a pool of pre-created backing stores
      available. However, this means that ImageBuffer might have to use a
      backing store that is larger than the exact dimensions that it needs.
      This patch adds a field, m_backingStoreSize, to CG's ImageBufferData
      class, and uses this new field when performing ImageBuffer operations
      to allow for larger-than-necessary backing stores. Content is always
      drawn in the top left corner of the backing store.
      
      No new tests are necessary because there is no behavior change.
      
      * platform/graphics/ImageBuffer.h:
      (WebCore::ImageBuffer::baseTransform): The base transform has to put
      content at the top left corner instead of bottom left
      * platform/graphics/cg/ImageBufferCG.cpp:
      (WebCore::createCroppedImageIfNecessary): Convenience function to figure out
      the dimensions of the backing texture in user space
      (WebCore::ImageBuffer::ImageBuffer): Set up new m_backingStoreSize member
      (WebCore::maybeCropToBounds): Some ImageBuffer API functions require
      outputting an image with logical size. This function performs the cropping
      (WebCore::ImageBuffer::copyImage): Updated for larger-than-necessary
      backing stores
      (WebCore::ImageBuffer::copyNativeImage): Ditto
      (WebCore::ImageBuffer::draw): Ditto
      (WebCore::ImageBuffer::clip): Ditto
      (WebCore::ImageBuffer::putByteArray): Ditto
      (WebCore::ImageBuffer::toDataURL): Ditto
      * platform/graphics/cg/ImageBufferDataCG.cpp:
      (WebCore::ImageBufferData::getData): Ditto
      (WebCore::ImageBufferData::putData): Ditto
      * platform/graphics/cg/ImageBufferDataCG.h: New m_backingStoreSize field
      
      LayoutTests:
      
      Update tests to be more robust with respect to accelerated vs
      non-accelerated ImageBuffers.
      
      * fast/canvas/script-tests/canvas-fillPath-shadow.js: Don't sample a canvas at exactly
      the corner of a drawn shape (because the corner might be antialiased). Instead, sample
      a single pixel inside the shape
      * fast/canvas/script-tests/canvas-scale-shadowBlur.js: Don't sample a canvas at exactly
      the edge of the blur radius. Instead, sample a single pixel past the blur radius.
      * fast/canvas/script-tests/canvas-scale-strokePath-shadow.js:
      (shouldBeAround): Allow this test to be less strict when sampling inside a blurred region
      * platform/mac/fast/canvas/canvas-scale-shadowBlur-expected.txt: Matching update w/r/t
      canvas-scale-shadowBlur.js
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60dcc5f6
    • dino@apple.com's avatar
      Source/WebCore: [WebGL] Support for texImage2D of type HALF_FLOAT_OES · 32904690
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=110936
      
      Reviewed by Brent Fulgham.
      
      Add support for the HALF_FLOAT_OES texture format from texImage2D
      and texSubImage2D.
      
      A lot of this patch comes from the original patch on the bug
      by Nayan Kumar, and the Blink commit:
      https://codereview.chromium.org/13842017
      
      Tests: fast/canvas/webgl/oes-texture-half-float-with-canvas.html
             fast/canvas/webgl/oes-texture-half-float-with-image.html
             fast/canvas/webgl/oes-texture-half-float-with-video.html
      
      * html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that
      would bail if half-float values were used.
      * platform/graphics/GraphicsContext3D.cpp:
      - Return appropriate DataFormats for half floating point types.
      - Copy the float -> half-float code from Blink
      - New pack functions for half floats
      * platform/graphics/GraphicsContext3D.h: New format types.
      * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
      (WebCore::GraphicsContext3D::texSubImage2D): Use GL_HALF_FLOAT_ARB if we're passed
      a HALF_FLOAT_OES.
      
      LayoutTests: [WebGL] Support for texImage2D/texSubImage2D of type HALF_FLOAT_OES
      https://bugs.webkit.org/show_bug.cgi?id=110936
      
      Reviewed by Brent Fulgham.
      
      New tests for half-float textures.
      
      * fast/canvas/webgl/oes-texture-half-float-expected.txt:
      * fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt: Removed.
      * fast/canvas/webgl/oes-texture-half-float-not-supported.html: Removed.
      * fast/canvas/webgl/oes-texture-half-float-with-canvas-expected.txt: Added.
      * fast/canvas/webgl/oes-texture-half-float-with-canvas.html: Added.
      * fast/canvas/webgl/oes-texture-half-float-with-image-expected.txt: Added.
      * fast/canvas/webgl/oes-texture-half-float-with-image.html: Added.
      * fast/canvas/webgl/oes-texture-half-float-with-video-expected.txt: Added.
      * fast/canvas/webgl/oes-texture-half-float-with-video.html: Added.
      * fast/canvas/webgl/oes-texture-half-float.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32904690
    • bfulgham@apple.com's avatar
      [Win] Correct WebKit.make copy command to land resources in proper directory. · 1a235dc7
      bfulgham@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125249
      
      Reviewed by Tim Horton.
      
      * WebKit.vcxproj/WebKit.make: Correct the copy command.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a235dc7
    • mitz@apple.com's avatar
      Replace USE(SECURITY_FRAMEWORK) with finer-grained defines · da402b76
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125242
      
      Reviewed by Sam Weinig.
      
      Source/WebKit2: 
      
      * Configurations/WebKit2.xcconfig: Removed “-framework Security” from the linker flags, now
      that it’s included in the target’s Link Binary with Libraries build phase.
      * NetworkProcess/NetworkProcess.cpp:
      (WebKit::NetworkProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).
      * NetworkProcess/mac/NetworkProcessMac.mm:
      (WebKit::NetworkProcess::platformInitializeNetworkProcess): Ditto.
      * Shared/Authentication/AuthenticationManager.cpp: Changed to use HAVE(SEC_IDENTITY).
      * Shared/Authentication/mac/AuthenticationManager.mac.mm: Ditto.
      * Shared/cf/ArgumentCodersCF.cpp:
      (CoreIPC::typeFromCFTypeRef): Removed use of USE(SECURITY_FRAMEWORK) since all CF platforms
      use it. Added HAVE(SEC_KEYCHAIN) where needed.
      (CoreIPC::encode): Ditto.
      (CoreIPC::decode): Ditto.
      * Shared/cf/ArgumentCodersCF.h: Ditto.
      * Shared/mac/SecItemShim.cpp: Chanegd to use ENABLE(SEC_ITEM_SHIM).
      * Shared/mac/SecItemShim.h: Ditto.
      * Shared/mac/SecItemShim.messages.in: Ditto.
      * UIProcess/Network/NetworkProcessProxy.cpp:
      (WebKit::NetworkProcessProxy::connectionWillOpen): Ditto.
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::connectionWillOpen): Ditto.
      * UIProcess/mac/SecItemShimProxy.cpp: Ditto.
      * UIProcess/mac/SecItemShimProxy.h: Ditto,
      * UIProcess/mac/SecItemShimProxy.messages.in: Ditto.
      * WebKit2.xcodeproj/project.pbxproj: Link Security.framework unconditionally.
      * WebProcess/WebProcess.cpp:
      (WebKit::WebProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).
      * WebProcess/mac/WebProcessMac.mm:
      (WebKit::WebProcess::platformInitializeProcess): Ditto.
      * config.h: Defined ENABLE_SEC_ITEM_SHIM.
      
      Source/WTF: 
      
      * wtf/Platform.h: Removed definitions of WTF_USE_SECURITY_FRAMEWORK, and defined
      HAVE_SEC_IDENTITY and HAVE_SEC_KEYCHAIN.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da402b76
    • commit-queue@webkit.org's avatar
      Use ThreadingOnce class to encapsulate pthread_once functionality. · 7dec9a92
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125228
      
      Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-04
      Reviewed by Brent Fulgham.
      
      * runtime/InitializeThreading.cpp:
      (JSC::initializeThreading):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7dec9a92
    • mark.lam@apple.com's avatar
      Remove unneeded semicolons. · cc0975a1
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125083.
      
      Rubber-stamped by Filip Pizlo.
      
      * debugger/Debugger.h:
      (JSC::Debugger::detach):
      (JSC::Debugger::sourceParsed):
      (JSC::Debugger::exception):
      (JSC::Debugger::atStatement):
      (JSC::Debugger::callEvent):
      (JSC::Debugger::returnEvent):
      (JSC::Debugger::willExecuteProgram):
      (JSC::Debugger::didExecuteProgram):
      (JSC::Debugger::didReachBreakpoint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cc0975a1
    • dbates@webkit.org's avatar
      Fix the Apple Windows build after <http://trac.webkit.org/changeset/160113> · cde133db
      dbates@webkit.org authored
      (https://bugs.webkit.org/show_bug.cgi?id=125193)
      
      * rendering/RenderThemeWin.cpp:
      (WebCore::RenderThemeWin::paintMenuList): Substitute paintInfo for i.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cde133db
    • dbates@webkit.org's avatar
      Rename RenderTheme::paintMenuListButton() · 7072add8
      dbates@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125193
      
      Reviewed by Simon Fraser.
      
      Towards upstreaming the iOS concept of render theme decorations we should rename
      RenderTheme::paintMenuListButton() to RenderTheme::paintMenuListButtonDecorations()
      to better describe its purpose.
      
      Also, fix code style issues.
      
      * platform/blackberry/RenderThemeBlackBerry.cpp:
      (WebCore::RenderThemeBlackBerry::paintMenuListButtonDecorations):
      * platform/blackberry/RenderThemeBlackBerry.h:
      * platform/efl/RenderThemeEfl.cpp:
      (WebCore::RenderThemeEfl::paintMenuListButtonDecorations):
      * platform/efl/RenderThemeEfl.h:
      * platform/gtk/RenderThemeGtk.cpp:
      (WebCore::RenderThemeGtk::paintMenuListButtonDecorations):
      * platform/gtk/RenderThemeGtk.h:
      * platform/nix/RenderThemeNix.h:
      * rendering/RenderTheme.cpp:
      (WebCore::RenderTheme::paintDecorations): Rename argument o, r to renderer and rect, respectively.
      * rendering/RenderTheme.h:
      (WebCore::RenderTheme::paintMenuListButtonDecorations):
      * rendering/RenderThemeMac.h:
      * rendering/RenderThemeMac.mm:
      (WebCore::RenderThemeMac::paintMenuListButtonDecorations): Rename argument o, r to renderer and rect,
      respectively; also remove extraneous white space and substitute 1 for 1.0f.
      * rendering/RenderThemeSafari.cpp:
      (WebCore::RenderThemeSafari::paintMenuListButtonDecorations): Ditto.
      * rendering/RenderThemeSafari.h:
      * rendering/RenderThemeWin.cpp:
      (WebCore::RenderThemeWin::paintMenuList): Rename argument o, i, r to renderer, paintInfo, and rect,
      respectively.
      (WebCore::RenderThemeWin::paintMenuListButtonDecorations): Ditto.
      * rendering/RenderThemeWin.h:
      * rendering/RenderThemeWinCE.cpp:
      (WebCore::RenderThemeWinCE::paintMenuList): Ditto.
      (WebCore::RenderThemeWinCE::paintMenuListButtonDecorations): Ditto.
      * rendering/RenderThemeWinCE.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7072add8
    • commit-queue@webkit.org's avatar
      [Win][64-bit] Link error. · e7c2fff1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125234
      
      Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-04
      Reviewed by Brent Fulgham.
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Changed 64-bit version of symbol.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160112 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7c2fff1
    • aestes@apple.com's avatar
      [iOS] Build projects with $(ARCHS_STANDARD_32_64_BIT) · 2412219f
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125236
      
      Reviewed by Sam Weinig.
      
      $(ARCHS_STANDARD_32_64_BIT) is what we want for both device and simulator builds.
      
      Source/JavaScriptCore:
      
      * Configurations/DebugRelease.xcconfig:
      
      Source/WebCore:
      
      * Configurations/DebugRelease.xcconfig:
      
      Source/WebKit/mac:
      
      * Configurations/DebugRelease.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160111 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2412219f
    • mihnea@adobe.com's avatar
      [CSSRegions] Test dynamic change of position for out-of-flow transformed element · 1313145c
      mihnea@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124978
      
      Reviewed by Alexandru Chiculita.
      
      Test that a 3D transformed absolutely positioned element inside a named flow
      whose position is dynamic changed is displayed in the right position in the associated region.
      
      * compositing/regions/abs-transformed-dynamic-update-expected.html: Added.
      * compositing/regions/abs-transformed-dynamic-update.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1313145c
    • fpizlo@apple.com's avatar
      Infer constant closure variables · 88fedde1
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124630
      
      Source/JavaScriptCore: 
      
      Reviewed by Geoffrey Garen.
              
      Captured variables that are assigned once (not counting op_enter's Undefined
      initialization) and that are contained within a function that has thus far only been
      entered once are now constant folded. It's pretty awesome.
              
      This involves a watchpoint on the assignment to variables and a watchpoint on entry
      into the function. The former is reused from global variable constant inference and the
      latter is reused from one-time closure inference.
      
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      (JSC::CodeBlock::CodeBlock):
      * bytecode/Instruction.h:
      (JSC::Instruction::Instruction):
      * bytecode/Opcode.h:
      (JSC::padOpcodeName):
      * bytecode/UnlinkedCodeBlock.h:
      (JSC::UnlinkedInstruction::UnlinkedInstruction):
      * bytecode/VariableWatchpointSet.h:
      (JSC::VariableWatchpointSet::invalidate):
      * bytecode/Watchpoint.h:
      (JSC::WatchpointSet::invalidate):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::addVar):
      (JSC::BytecodeGenerator::BytecodeGenerator):
      (JSC::BytecodeGenerator::emitInitLazyRegister):
      (JSC::BytecodeGenerator::emitMove):
      (JSC::BytecodeGenerator::emitNewFunctionInternal):
      (JSC::BytecodeGenerator::createArgumentsIfNecessary):
      * bytecompiler/BytecodeGenerator.h:
      (JSC::BytecodeGenerator::addVar):
      (JSC::BytecodeGenerator::watchableVariable):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::getLocal):
      (JSC::DFG::ByteCodeParser::inferredConstant):
      (JSC::DFG::ByteCodeParser::parseBlock):
      (JSC::DFG::ByteCodeParser::parse):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::tryGetActivation):
      (JSC::DFG::Graph::tryGetRegisters):
      * dfg/DFGGraph.h:
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      (JSC::JIT::privateCompileSlowCases):
      * jit/JIT.h:
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_mov):
      (JSC::JIT::emit_op_captured_mov):
      (JSC::JIT::emit_op_new_captured_func):
      (JSC::JIT::emitSlow_op_captured_mov):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_mov):
      (JSC::JIT::emit_op_captured_mov):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/CommonSlowPaths.cpp:
      (JSC::SLOW_PATH_DECL):
      * runtime/CommonSlowPaths.h:
      * runtime/ConstantMode.h: Added.
      * runtime/JSGlobalObject.h:
      * runtime/JSScope.cpp:
      (JSC::abstractAccess):
      * runtime/SymbolTable.cpp:
      (JSC::SymbolTableEntry::prepareToWatch):
      
      LayoutTests: 
      
      Reviewed by Geoffrey Garen.
              
      This adds both correctness and performance tests for constant closure variable
      inference.
      
      * js/regress/infer-closure-const-then-mov-expected.txt: Added.
      * js/regress/infer-closure-const-then-mov-no-inline-expected.txt: Added.
      * js/regress/infer-closure-const-then-mov-no-inline.html: Added.
      * js/regress/infer-closure-const-then-mov.html: Added.
      * js/regress/infer-closure-const-then-put-to-scope-expected.txt: Added.
      * js/regress/infer-closure-const-then-put-to-scope-no-inline-expected.txt: Added.
      * js/regress/infer-closure-const-then-put-to-scope-no-inline.html: Added.
      * js/regress/infer-closure-const-then-put-to-scope.html: Added.
      * js/regress/infer-closure-const-then-reenter-expected.txt: Added.
      * js/regress/infer-closure-const-then-reenter-no-inline-expected.txt: Added.
      * js/regress/infer-closure-const-then-reenter-no-inline.html: Added.
      * js/regress/infer-closure-const-then-reenter.html: Added.
      * js/regress/script-tests/infer-closure-const-then-mov-no-inline.js: Added.
      * js/regress/script-tests/infer-closure-const-then-mov.js: Added.
      * js/regress/script-tests/infer-closure-const-then-put-to-scope-no-inline.js: Added.
      (thingy.):
      (thingy):
      * js/regress/script-tests/infer-closure-const-then-put-to-scope.js: Added.
      (thingy.):
      (thingy):
      * js/regress/script-tests/infer-closure-const-then-reenter-no-inline.js: Added.
      (.return.foo):
      (foo):
      * js/regress/script-tests/infer-closure-const-then-reenter.js: Added.
      (.return.foo):
      (foo):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160109 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88fedde1
    • mhahnenberg@apple.com's avatar
      run-jsc-stress-tests can only run locally · 07923100
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124551
      
      Reviewed by Filip Pizlo.
      
      * Scripts/jsc-stress-test-helpers/shell-runner.sh: Fixed a couple issues. One was if the script was
      killed before the lock directory was removed, future executions wouldn't make any progress. Also
      added a couple more signals to handle gracefully at shutdown.
      * Scripts/run-javascriptcore-tests: Pass through the --remote argument to run-jsc-stress-tests.
      * Scripts/run-jsc-stress-tests: Added support for the --remote flag. It accepts a hostname, user, and port.
      The script then generates the test bundle, tars it up, and copies it to the remote host via ssh where
      it then untars the bundle and executes the shell-based test runner. Also refactored some of the logic
      toward the end of the script to make it easier to tell which of the various modes do what.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07923100
    • ossy@webkit.org's avatar
      [EFL][WK2] Buildfix after r160104 · 84b1cde8
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125233
      
      Reviewed by Anders Carlsson.
      
      Source/WebKit2:
      
      * UIProcess/API/efl/ewk_cookie_manager.cpp:
      (EwkCookieManager::EwkCookieManager):
      * UIProcess/API/efl/ewk_favicon_database.cpp:
      (EwkFaviconDatabase::EwkFaviconDatabase):
      * UIProcess/efl/ContextHistoryClientEfl.cpp:
      (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
      * UIProcess/efl/ContextMenuClientEfl.cpp:
      (ContextMenuClientEfl::ContextMenuClientEfl):
      * UIProcess/efl/DownloadManagerEfl.cpp:
      (WebKit::DownloadManagerEfl::DownloadManagerEfl):
      * UIProcess/efl/FindClientEfl.cpp:
      (WebKit::FindClientEfl::FindClientEfl):
      * UIProcess/efl/FormClientEfl.cpp:
      (WebKit::FormClientEfl::FormClientEfl):
      * UIProcess/efl/PageLoadClientEfl.cpp:
      (WebKit::PageLoadClientEfl::PageLoadClientEfl):
      * UIProcess/efl/PagePolicyClientEfl.cpp:
      (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
      * UIProcess/efl/PageUIClientEfl.cpp:
      (WebKit::PageUIClientEfl::PageUIClientEfl):
      
      Tools:
      
      * TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      84b1cde8
    • aestes@apple.com's avatar
      [iOS] Upstream build fixes in Source/WebKit/ios/ · d41c6fc9
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125230
      
      Reviewed by Sam Weinig.
      
      * DefaultDelegates/WebDefaultUIKitDelegate.m:
      (-[WebDefaultUIKitDelegate webViewDidReceiveMobileDocType:]):
      * Misc/WebNSStringDrawing.mm:
      (needsBidiLayout):
      (-[NSString __web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:includeEmoji:measureOnly:renderedStringOut:drawUnderline:]):
      (-[NSString __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:drawUnderline:]):
      * Misc/WebUIKitSupport.mm:
      (WebKitInitialize):
      * WebCoreSupport/WebChromeClientIOS.h:
      * WebCoreSupport/WebChromeClientIOS.mm:
      (WebChromeClientIOS::didReceiveMobileDocType):
      (WebChromeClientIOS::focusedElementChanged):
      * WebCoreSupport/WebFrameIOS.mm:
      (-[WebFrame clearSelection]):
      (-[WebFrame selectionState]):
      (-[WebFrame collapseSelection]):
      (-[WebFrame extendSelection:]):
      (-[WebFrame selectionRects]):
      (-[WebFrame setRangedSelectionWithExtentPoint:]):
      (-[WebFrame setRangedSelectionExtentPoint:baseIsStart:allowFlipping:]):
      (-[WebFrame setSelectionWithBasePoint:extentPoint:baseIsStart:allowFlipping:]):
      (-[WebFrame setSelectionWithFirstPoint:secondPoint:]):
      (-[WebFrame ensureRangedSelectionContainsInitialStartPoint:initialEndPoint:]):
      (-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):
      (-[WebFrame expandSelectionToSentence]):
      (-[WebFrame setBaseWritingDirection:]):
      (-[WebFrame moveSelectionToStart]):
      (-[WebFrame moveSelectionToEnd]):
      (-[WebFrame moveSelectionToPoint:]):
      (-[WebFrame setSelectionGranularity:]):
      (-[WebFrame smartExtendRangedSelection:]):
      (-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]):
      (-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]):
      * WebCoreSupport/WebInspectorClientIOS.mm:
      (WebInspectorClient::WebInspectorClient):
      (WebInspectorClient::didSetSearchingForNode):
      (WebInspectorClient::setupRemoteConnection):
      (WebInspectorClient::teardownRemoteConnection):
      * WebCoreSupport/WebVisiblePosition.mm:
      (-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
      (-[WebVisiblePosition enclosingRangeWithCorrectionIndicator]):
      (-[DOMHTMLInputElement startPosition]):
      (-[DOMHTMLInputElement endPosition]):
      (-[DOMHTMLTextAreaElement startPosition]):
      (-[DOMHTMLTextAreaElement endPosition]):
      * WebView/WebPDFViewIOS.mm:
      (+[WebPDFView shadowColor]):
      (+[WebPDFView backgroundColor]):
      (-[WebPDFView _checkPDFTitle]):
      * WebView/WebPDFViewPlaceholder.mm:
      (-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
      * WebView/WebUIKitDelegate.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160106 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d41c6fc9
    • bfulgham@apple.com's avatar
      [Win] Unreviewed project file gardening. · 8b15ff35
      bfulgham@apple.com authored
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Remove deleted files from project.
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Put files in proper directory
      folders to match the directory structure of the source code.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160105 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b15ff35
    • andersca@apple.com's avatar
      Deprecate all unversioned client structs in favor of having explicit versioned structs · a899664e
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125203
      
      Reviewed by Dan Bernstein.
      
      Source/WebKit2:
      
      Deprecate all the "current version" enums and unversioned client structs.
      
      * Shared/API/c/WKConnectionRef.cpp:
      (WKConnectionSetConnectionClient):
      * Shared/API/c/WKConnectionRef.h:
      * UIProcess/API/C/WKContext.cpp:
      (WKContextSetClient):
      (WKContextSetInjectedBundleClient):
      (WKContextSetHistoryClient):
      (WKContextSetDownloadClient):
      (WKContextSetConnectionClient):
      * UIProcess/API/C/WKContext.h:
      * UIProcess/API/C/WKContextConnectionClient.h:
      * UIProcess/API/C/WKContextDownloadClient.h:
      * UIProcess/API/C/WKContextHistoryClient.h:
      * UIProcess/API/C/WKContextInjectedBundleClient.h:
      * UIProcess/API/C/WKCookieManager.cpp:
      (WKCookieManagerSetClient):
      * UIProcess/API/C/WKCookieManager.h:
      * UIProcess/API/C/WKDatabaseManager.cpp:
      (WKDatabaseManagerSetClient):
      * UIProcess/API/C/WKDatabaseManager.h:
      * UIProcess/API/C/WKGeolocationManager.cpp:
      (WKGeolocationManagerSetProvider):
      * UIProcess/API/C/WKGeolocationManager.h:
      * UIProcess/API/C/WKIconDatabase.cpp:
      (WKIconDatabaseSetIconDatabaseClient):
      * UIProcess/API/C/WKIconDatabase.h:
      * UIProcess/API/C/WKOriginDataManager.cpp:
      (WKOriginDataManagerSetChangeClient):
      * UIProcess/API/C/WKOriginDataManager.h:
      * UIProcess/API/C/WKPage.cpp:
      (WKPageSetPageContextMenuClient):
      (WKPageSetPageFindClient):
      (WKPageSetPageFindMatchesClient):
      (WKPageSetPageFormClient):
      (WKPageSetPageLoaderClient):
      (WKPageSetPagePolicyClient):
      (WKPageSetPageUIClient):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/API/C/WKPageContextMenuClient.h:
      * UIProcess/API/C/WKPageFindClient.h:
      * UIProcess/API/C/WKPageFindMatchesClient.h:
      * UIProcess/API/C/WKPageFormClient.h:
      * UIProcess/API/C/WKPageLoaderClient.h:
      * UIProcess/API/C/WKPagePolicyClient.h:
      * UIProcess/API/C/WKPageUIClient.h:
      * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
      (setUpPagePolicyClient):
      * UIProcess/API/Cocoa/WKConnection.mm:
      (setUpClient):
      * UIProcess/API/Cocoa/WKProcessGroup.mm:
      (setUpConnectionClient):
      (setUpInectedBundleClient):
      (setUpHistoryClient):
      * UIProcess/WebInspectorProxy.cpp:
      (WebKit::WebInspectorProxy::createInspectorPage):
      * UIProcess/WebUIClient.cpp:
      (WebKit::WebUIClient::createNewPage):
      (WebKit::WebUIClient::mouseDidMoveOverElement):
      * UIProcess/mac/WebInspectorProxyMac.mm:
      (WebKit::WebInspectorProxy::platformCreateInspectorPage):
      * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
      (WKBundleSetClient):
      * WebProcess/InjectedBundle/API/c/WKBundle.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      (WKBundlePageSetContextMenuClient):
      (WKBundlePageSetEditorClient):
      (WKBundlePageSetFormClient):
      (WKBundlePageSetPageLoaderClient):
      (WKBundlePageSetResourceLoadClient):
      (WKBundlePageSetPolicyClient):
      (WKBundlePageSetUIClient):
      (WKBundlePageSetFullScreenClient):
      (WKBundlePageSetDiagnosticLoggingClient):
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
      (WKBundlePageOverlayCreate):
      (WKBundlePageOverlaySetAccessibilityClient):
      * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
      * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
      * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h:
      * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
      (WKBundlePageBannerCreateBannerWithCALayer):
      * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
      (setUpBundleClient):
      
      Tools:
      
      Update for WebKit2 API changes.
      
      * MiniBrowser/mac/AppDelegate.m:
      (-[BrowserAppDelegate init]):
      * MiniBrowser/mac/WK2BrowserWindowController.m:
      (-[WK2BrowserWindowController awakeFromNib]):
      * TestWebKitAPI/InjectedBundleController.cpp:
      (TestWebKitAPI::InjectedBundleController::initialize):
      * TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp:
      (TestWebKitAPI::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/CookieManager.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:
      (TestWebKitAPI::DOMWindowExtensionBasic::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp:
      (TestWebKitAPI::DOMWindowExtensionNoCache::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp:
      (TestWebKitAPI::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp:
      (TestWebKitAPI::DidAssociateFormControlsTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:
      (TestWebKitAPI::setContextDownloadClient):
      (TestWebKitAPI::setPagePolicyClient):
      * TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/Find.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/FindMatches.mm:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/Geolocation.cpp:
      (TestWebKitAPI::setupGeolocationProvider):
      (TestWebKitAPI::setupView):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      (TestWebKitAPI::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp:
      (TestWebKitAPI::HitTestResultNodeHandleTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp:
      (TestWebKitAPI::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp:
      (TestWebKitAPI::InjectedBundleFrameHitTestTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp:
      (TestWebKitAPI::LoadCanceledNoServerRedirectCallbackTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp:
      (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
      * TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp:
      (TestWebKitAPI::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp:
      (TestWebKitAPI::ParentFrameTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm:
      (TestWebKitAPI::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp:
      (TestWebKitAPI::PasteboardNotificationsTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp:
      (TestWebKitAPI::setInjectedBundleClient):
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp:
      (TestWebKitAPI::ShouldGoToBackForwardListItemTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/UserMessage.cpp:
      (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setInjectedBundleClient):
      (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/WKConnection.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/WKConnection_Bundle.cpp:
      (TestWebKitAPI::WKConnectionTest::initialize):
      * TestWebKitAPI/Tests/WebKit2/WKPageGetScaleFactorNotZero.cpp:
      (TestWebKitAPI::setPageLoaderClient):
      * TestWebKitAPI/Tests/WebKit2/WebArchive.cpp:
      (TestWebKitAPI::setInjectedBundleClient):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/WillLoad.cpp:
      (TestWebKitAPI::WebKit2WillLoadTest::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:
      * TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp:
      (TestWebKitAPI::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp:
      (TestWebKitAPI::WillSendSubmitEventTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm:
      (TestWebKitAPI::setInjectedBundleClient):
      * TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp:
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
      * TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp:
      (TestWebKitAPI::DenyWillSendRequestTest::didCreatePage):
      * TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:
      (TestWebKitAPI::didCreateConnection):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:
      (TestWebKitAPI::PageVisibilityStateWithWindowChanges::initializeView):
      * TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Bundle.mm:
      * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
      (TestWebKitAPI::setPageLoaderClient):
      * WebKitTestRunner/GeolocationProviderMock.cpp:
      (WTR::GeolocationProviderMock::GeolocationProviderMock):
      * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
      (WTR::InjectedBundle::initialize):
      * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
      (WTR::InjectedBundlePage::InjectedBundlePage):
      * WebKitTestRunner/TestController.cpp:
      (WTR::TestController::createOtherPage):
      (WTR::TestController::initialize):
      (WTR::TestController::createWebViewWithOptions):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a899664e
    • joepeck@webkit.org's avatar
      Unreviewed Windows build fix attempt 2 after r160099. · 13972079
      joepeck@webkit.org authored
      * JavaScriptCore.vcxproj/copy-files.cmd:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160103 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13972079
    • joepeck@webkit.org's avatar
      Unreviewed Windows build fix attempt after r160099. · 11e25122
      joepeck@webkit.org authored
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.vcxproj/copyForwardingHeaders.cmd:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11e25122
    • commit-queue@webkit.org's avatar
      Fix build warnings in DownloadAuthenticationClient.cpp · 490934ed
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124920
      
      Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-04
      Reviewed by Alexey Proskuryakov.
      
      Fix unused parameter warnings in DownloadAuthenticationClient.cpp
      
      * Shared/Downloads/DownloadAuthenticationClient.cpp:
      (WebKit::DownloadAuthenticationClient::receivedCredential):
      (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
      (WebKit::DownloadAuthenticationClient::receivedCancellation):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160101 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      490934ed
    • commit-queue@webkit.org's avatar
      REGRESSION (r160094): Fix lots of crashes for sh4 architecture. · efebe0f1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125227
      
      Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-04
      Reviewed by Michael Saboff.
      
      * llint/LowLevelInterpreter32_64.asm: Do not use t4 and t5 as they match a0 and a1.
      * offlineasm/registers.rb: Add t7, t8 and t9 in register list for sh4 port.
      * offlineasm/sh4.rb: Rearrange RegisterID list and add the missing ones.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160100 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efebe0f1
    • joepeck@webkit.org's avatar
      Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore · d2ecf37f
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124613
      
      Reviewed by Timothy Hatcher.
      
      Source/JavaScriptCore:
      
      Move the ENABLE(REMOTE_INSPECTOR) remote debugger connection management
      into JavaScriptCore (originally from WebKit/mac). Include enhancements:
      
        * allow for different types of remote debuggable targets,
          eventually at least a JSContext, WebView, WKView.
        * allow debuggables to be registered and debugged on any thread. Unlike
          WebViews, JSContexts may be run entirely off of the main thread.
        * move the remote connection (XPC connection) itself off of the main thread,
          it doesn't need to be on the main thread.
      
      Make JSContext @class and JavaScriptCore::JSContextRef
      "JavaScript" Remote Debuggables.
      
      * inspector/remote/RemoteInspectorDebuggable.h: Added.
      * inspector/remote/RemoteInspectorDebuggable.cpp: Added.
      (Inspector::RemoteInspectorDebuggable::RemoteInspectorDebuggable):
      (Inspector::RemoteInspectorDebuggable::~RemoteInspectorDebuggable):
      (Inspector::RemoteInspectorDebuggable::init):
      (Inspector::RemoteInspectorDebuggable::update):
      (Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
      (Inspector::RemoteInspectorDebuggable::info):
      RemoteInspectorDebuggable defines a debuggable target. As long as
      something creates a debuggable and is set to allow remote inspection
      it will be listed in remote debuggers. For the different types of
      debuggables (JavaScript and Web) there is different basic information
      that may be listed.
      
      * inspector/InspectorFrontendChannel.h: Added.
      (Inspector::InspectorFrontendChannel::~InspectorFrontendChannel):
      The only thing a debuggable needs for remote debugging is an
      InspectorFrontendChannel a way to send messages to a remote frontend.
      This class provides that method, and is vended to the
      RemoteInspectorDebuggable when a remote connection is setup.
      
      * inspector/remote/RemoteInspector.h: Added.
      * inspector/remote/RemoteInspector.mm: Added.
      Singleton, created at least when the first Debuggable is created.
      This class manages the list of debuggables, any connection to a
      remote debugger proxy (XPC service "com.apple.webinspector").
      
      (Inspector::dispatchAsyncOnQueueSafeForAnyDebuggable):
      (Inspector::RemoteInspector::shared):
      (Inspector::RemoteInspector::RemoteInspector):
      (Inspector::RemoteInspector::nextAvailableIdentifier):
      (Inspector::RemoteInspector::registerDebuggable):
      (Inspector::RemoteInspector::unregisterDebuggable):
      (Inspector::RemoteInspector::updateDebuggable):
      Debuggable management. When debuggables are added, removed, or updated
      we stash a copy of the debuggable information and push an update to
      debuggers. Stashing a copy of the information in the RemoteInspector
      is a thread safe way to avoid walking over all debuggables to gather
      the information when it is needed.
      
      (Inspector::RemoteInspector::start):
      (Inspector::RemoteInspector::stop):
      Runtime API to enable / disable the feature.
      
      (Inspector::RemoteInspector::listingForDebuggable):
      (Inspector::RemoteInspector::pushListingNow):
      (Inspector::RemoteInspector::pushListingSoon):
      Pushing a listing to remote debuggers.
      
      (Inspector::RemoteInspector::sendMessageToRemoteFrontend):
      (Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
      (Inspector::RemoteInspector::xpcConnectionReceivedMessage):
      (Inspector::RemoteInspector::xpcConnectionFailed):
      (Inspector::RemoteInspector::xpcConnectionUnhandledMessage):
      XPC setup, send, and receive handling.
      
      (Inspector::RemoteInspector::updateHasActiveDebugSession):
      Applications being debugged may want to know when a debug
      session is active. This provides that notification.
      
      (Inspector::RemoteInspector::receivedSetupMessage):
      (Inspector::RemoteInspector::receivedDataMessage):
      (Inspector::RemoteInspector::receivedDidCloseMessage):
      (Inspector::RemoteInspector::receivedGetListingMessage):
      (Inspector::RemoteInspector::receivedIndicateMessage):
      (Inspector::RemoteInspector::receivedConnectionDiedMessage):
      Dispatching incoming remote debugging protocol messages.
      These are wrapping above the inspector protocol messages.
      
      * inspector/remote/RemoteInspectorConstants.h: Added.
      Protocol messages and dictionary keys inside the messages.
      
      (Inspector::RemoteInspectorDebuggableInfo::RemoteInspectorDebuggableInfo):
      * inspector/remote/RemoteInspectorDebuggableConnection.h: Added.
      * inspector/remote/RemoteInspectorDebuggableConnection.mm: Added.
      This is a connection between the RemoteInspector singleton and a RemoteInspectorDebuggable.
      
      (Inspector::RemoteInspectorDebuggableConnection::RemoteInspectorDebuggableConnection):
      (Inspector::RemoteInspectorDebuggableConnection::~RemoteInspectorDebuggableConnection):
      Allow for dispatching messages on JavaScript debuggables on a dispatch_queue
      instead of the main queue.
      
      (Inspector::RemoteInspectorDebuggableConnection::destination):
      (Inspector::RemoteInspectorDebuggableConnection::connectionIdentifier):
      Needed in the remote debugging protocol to identify the remote debugger.
      
      (Inspector::RemoteInspectorDebuggableConnection::dispatchSyncOnDebuggable):
      (Inspector::RemoteInspectorDebuggableConnection::dispatchAsyncOnDebuggable):
      (Inspector::RemoteInspectorDebuggableConnection::setup):
      (Inspector::RemoteInspectorDebuggableConnection::closeFromDebuggable):
      (Inspector::RemoteInspectorDebuggableConnection::close):
      (Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):
      (Inspector::RemoteInspectorDebuggableConnection::sendMessageToFrontend):
      The connection is a thin channel between the two sides that can be closed
      from either side, so there is some logic around multi-threaded access.
      
      * inspector/remote/RemoteInspectorXPCConnection.h: Added.
      (Inspector::RemoteInspectorXPCConnection::Client::~Client):
      * inspector/remote/RemoteInspectorXPCConnection.mm: Added.
      (Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection):
      (Inspector::RemoteInspectorXPCConnection::~RemoteInspectorXPCConnection):
      (Inspector::RemoteInspectorXPCConnection::close):
      (Inspector::RemoteInspectorXPCConnection::deserializeMessage):
      (Inspector::RemoteInspectorXPCConnection::handleEvent):
      (Inspector::RemoteInspectorXPCConnection::sendMessage):
      This is a connection between the RemoteInspector singleton and an XPC service
      named "com.apple.webinspector". This handles serialization of the dictionary
      messages to and from the service. The receiving is done on a non-main queue.
      
      * API/JSContext.h:
      * API/JSContext.mm:
      (-[JSContext name]):
      (-[JSContext setName:]):
      ObjC API to enable/disable JSContext remote inspection and give a name.
      
      * API/JSContextRef.h:
      * API/JSContextRef.cpp:
      (JSGlobalContextGetName):
      (JSGlobalContextSetName):
      C API to give a JSContext a name.
      
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::setName):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::name):
      Shared handling of the APIs above.
      
      * runtime/JSGlobalObjectDebuggable.cpp: Added.
      (JSC::JSGlobalObjectDebuggable::JSGlobalObjectDebuggable):
      (JSC::JSGlobalObjectDebuggable::name):
      (JSC::JSGlobalObjectDebuggable::connect):
      (JSC::JSGlobalObjectDebuggable::disconnect):
      (JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):
      * runtime/JSGlobalObjectDebuggable.h: Added.
      Stub for the actual remote debugging implementation. We will push
      down the appropriate WebCore/inspector peices suitable for debugging
      just a JavaScript context.
      
      * CMakeLists.txt:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      Update build files.
      
      Source/WebCore:
      
      Make a WebCore::Page a "Web" Remote Debuggable.
      
      * bindings/js/JSDOMGlobalObject.cpp:
      Disable JavaScript context inspection on JSGlobalObjects inside WebCore::Page's.
      
      * page/Page.cpp:
      (WebCore::Page::Page):
      (WebCore::Page::remoteInspectionAllowed):
      (WebCore::Page::setRemoteInspectionAllowed):
      (WebCore::Page::remoteInspectorInformationDidChange):
      * page/Page.h:
      * page/PageDebuggable.h:
      * page/PageDebuggable.cpp: Added.
      (WebCore::PageDebuggable::PageDebuggable):
      (WebCore::PageDebuggable::name):
      (WebCore::PageDebuggable::url):
      (WebCore::PageDebuggable::hasLocalDebugger):
      (WebCore::PageDebuggable::connect):
      (WebCore::PageDebuggable::disconnect):
      (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
      (WebCore::PageDebuggable::setIndicating):
      Make a page a "Web" debuggable.
      
      * GNUmakefile.list.am:
      * WebCore.exp.in:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      Misc.
      
      * inspector/InspectorClient.h:
      (WebCore::InspectorClient::indicate):
      (WebCore::InspectorClient::hideIndicate):
      Forward indicate methods to WebKit clients.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::didChangeTitle):
      (WebCore::FrameLoader::dispatchDidCommitLoad):
      Push updates when remote debuggable information like the Page's
      URL or title change.
      
      * ForwardingHeaders/inspector/InspectorFrontendChannel.h:
      * inspector/InspectorForwarding.h:
      Re-export Inspector::InspectorFrontendChannel as WebCore::InspectorFrontendChannel
      to avoid needlessly updating code all over the place.
      
      * inspector/CodeGeneratorInspectorStrings.py:
      * inspector/InspectorWorkerAgent.cpp:
      * inspector/WorkerInspectorController.cpp:
      * testing/Internals.cpp:
      Update include names.
      
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::populate):
      Make the "Inspect Element" context menu work correctly when there is a
      remote inspector instead of a local inspector.
      
      Source/WebKit:
      
      * WebKit.xcodeproj/project.pbxproj:
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/InspectorClientBlackBerry.h:
      
      Source/WebKit/cf:
      
      * WebCoreSupport/WebInspectorClientCF.cpp:
      (WebInspectorClient::sendMessageToFrontend):
      
      Source/WebKit/efl:
      
      * WebCoreSupport/InspectorClientEfl.h:
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/InspectorClientGtk.h:
      
      Source/WebKit/ios:
      
      * WebCoreSupport/WebInspectorClientIOS.mm:
      (WebInspectorClient::WebInspectorClient):
      (WebInspectorClient::inspectorDestroyed):
      
      Source/WebKit/mac:
      
      Remove the old ENABLE(REMOTE_INSPECTOR) connection management implementation.
      
      * WebCoreSupport/WebInspectorClient.h:
      * WebCoreSupport/WebInspectorClient.mm:
      (WebInspectorClient::indicate):
      (WebInspectorClient::hideIndicate):
      Hook up WebView indication through this new path.
      
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::dispatchDidReceiveTitle):
      * WebCoreSupport/WebInspectorClient.h:
      * WebCoreSupport/WebInspectorClient.mm:
      (WebInspectorClient::WebInspectorClient):
      (WebInspectorClient::inspectorDestroyed):
      * WebInspector/remote/WebInspectorClientRegistry.h: Removed.
      * WebInspector/remote/WebInspectorClientRegistry.mm: Removed.
      * WebInspector/remote/WebInspectorRelayDefinitions.h: Removed.
      * WebInspector/remote/WebInspectorRemoteChannel.h: Removed.
      * WebInspector/remote/WebInspectorRemoteChannel.mm: Removed.
      * WebInspector/remote/WebInspectorServer.h: Removed.
      * WebInspector/remote/WebInspectorServer.mm: Removed.
      * WebInspector/remote/WebInspectorServerWebViewConnection.h: Removed.
      * WebInspector/remote/WebInspectorServerWebViewConnection.mm: Removed.
      * WebInspector/remote/WebInspectorServerWebViewConnectionController.h: Removed.
      * WebInspector/remote/WebInspectorServerWebViewConnectionController.mm: Removed.
      * WebInspector/remote/WebInspectorXPCWrapper.h: Removed.
      * WebInspector/remote/WebInspectorXPCWrapper.m: Removed.
      * WebKit.exp:
      * WebView/WebView.mm:
      (-[WebView _commonInitializationWithFrameName:groupName:]):
      (+[WebView _enableRemoteInspector]):
      (+[WebView _disableRemoteInspector]):
      (+[WebView _disableAutoStartRemoteInspector]):
      (+[WebView _isRemoteInspectorEnabled]):
      (+[WebView _hasRemoteInspectorSession]):
      (-[WebView allowsRemoteInspection]):
      (-[WebView setAllowsRemoteInspection:]):
      (-[WebView setIndicatingForRemoteInspector:]):
      (-[WebView setHostApplicationBundleId:name:]):
      (-[WebView _didCommitLoadForFrame:]):
      * WebView/WebViewData.h:
      * WebView/WebViewData.mm:
      (-[WebViewPrivate init]):
      (-[WebViewPrivate dealloc]):
      * WebView/WebViewInternal.h:
      * WebView/WebViewPrivate.h:
      Remove old REMOTE_INSPECTOR.
      
      Source/WebKit/win:
      
      * WebCoreSupport/WebInspectorClient.h:
      
      Source/WebKit/wince:
      
      * WebCoreSupport/InspectorClientWinCE.h:
      
      Source/WebKit2:
      
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage):
      * WebProcess/com.apple.WebProcess.sb.in:
      Allow the WebProcess to access the "com.apple.webinspector" named
      XPC service to expose its WebCore::Page's to remote debuggers.
      
      Source/WTF:
      
      * wtf/ios/WebCoreThread.cpp:
      * wtf/ios/WebCoreThread.h:
      Expose WebThreadRun/WebThreadRunSync iOS methods defined in WebCore through
      WTF so that JavaScriptCore can use it. Another such method already existed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2ecf37f
    • joepeck@webkit.org's avatar
      Web Inspector: Add missing folders and files to Xcode project · 2607c676
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124802
      
      Reviewed by Timothy Hatcher.
      
      * WebCore.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2607c676
    • dfarler@apple.com's avatar
      Use All-iOS target when building WK2 on iOS · e7d2f698
      dfarler@apple.com authored
      <rdar://problem/15574494>
      
      Reviewed by David Kilzer.
      
      * Makefile:
      Add -target All-iOS to OTHER_OPTIONS if iphoneos or iphonesimulator
      is in the SDKROOT make option.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7d2f698
    • commit-queue@webkit.org's avatar
      [texmap] Borders on rotating images are hidden/wrongly rendered with edge distance antialiasing · 26a7a629
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124653
      
      Patch by José Dapena Paz <jdapena@igalia.com> on 2013-12-04
      Reviewed by Noam Rosenthal.
      
      Texture mapper edge distance antialiasing texture sampling was causing
      borders to be shaded (and made them almost disappear in some cases).
      This was because calculation of sampling happened on vertex shader, so
      the border of the texture would go to the border of the inflation area.
      
      What algorithm should do is sampling the border pixel for all the
      inflation area (it is the closest pixel to all the samples in
      inflation area), and then use the standard sampling for the other
      parts of the texture.
      
      No new test because this is already covered by test
      transforms/3d/point-mapping/3d-point-mapping.html
      
      * platform/graphics/texmap/TextureMapperShaderProgram.cpp: fix edge
      distance antialiasing texture sampling.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      26a7a629
    • mario.prada@samsung.com's avatar
      Unreviewed GTK gardening. Updated expectations for GTK and share them with EFL. · 60bce5a7
      mario.prada@samsung.com authored
      * accessibility/multiselect-list-reports-active-option-expected.txt: Renamed from LayoutTests/platform/efl/multiselect-list-reports-active-option-expected.txt.
      * platform/gtk/accessibility/multiselect-list-reports-active-option-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60bce5a7
    • msaboff@apple.com's avatar
      Move the setting up of callee's callFrame from pushFrame to callToJavaScript thunk · 6f0b31aa
      msaboff@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=123999
      
      Reviewed by Filip Pizlo.
      
      Changed LLInt and/or JIT enabled ports to allocate the stack frame in the
      callToJavaScript stub.  Added an additional stub, callToNativeFunction that
      allocates a stack frame in a similar way for calling native entry points
      that take a single ExecState* argument.  These stubs are implemented
      using common macros in LowLevelInterpreter{32_64,64}.asm.  There are also
      Windows X86 and X86-64 versions in the corresponding JitStubsXX.h.
      The stubs allocate and create a sentinel frame, then create the callee's
      frame, populating  the header and arguments from the passed in ProtoCallFrame*.
      It is assumed that the caller of either stub does a check for enough stack space
      via JSStack::entryCheck().
      
      For ports using the C-Loop interpreter, the prior method for allocating stack
      frame and invoking functions is used, namely with JSStack::pushFrame() and
      ::popFrame().
      
      Made spelling changes "sentinal" -> "sentinel".
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * interpreter/CachedCall.h:
      (JSC::CachedCall::CachedCall):
      (JSC::CachedCall::setThis):
      (JSC::CachedCall::setArgument):
      * interpreter/CallFrameClosure.h:
      (JSC::CallFrameClosure::resetCallFrame):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::execute):
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC::Interpreter::prepareForRepeatCall):
      * interpreter/Interpreter.h:
      * interpreter/JSStack.h:
      * interpreter/JSStackInlines.h:
      (JSC::JSStack::entryCheck):
      (JSC::JSStack::pushFrame):
      (JSC::JSStack::popFrame):
      * interpreter/ProtoCallFrame.cpp: Added.
      (JSC::ProtoCallFrame::init):
      * interpreter/ProtoCallFrame.h: Added.
      (JSC::ProtoCallFrame::codeBlock):
      (JSC::ProtoCallFrame::setCodeBlock):
      (JSC::ProtoCallFrame::setScope):
      (JSC::ProtoCallFrame::setCallee):
      (JSC::ProtoCallFrame::argumentCountIncludingThis):
      (JSC::ProtoCallFrame::argumentCount):
      (JSC::ProtoCallFrame::setArgumentCountIncludingThis):
      (JSC::ProtoCallFrame::setPaddedArgsCount):
      (JSC::ProtoCallFrame::clearCurrentVPC):
      (JSC::ProtoCallFrame::setThisValue):
      (JSC::ProtoCallFrame::setArgument):
      * jit/JITCode.cpp:
      (JSC::JITCode::execute):
      * jit/JITCode.h:
      * jit/JITOperations.cpp:
      * jit/JITStubs.h:
      * jit/JITStubsMSVC64.asm:
      * jit/JITStubsX86.h:
      * llint/LLIntOffsetsExtractor.cpp:
      * llint/LLIntThunks.h:
      * llint/LowLevelInterpreter.asm:
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * runtime/ArgList.h:
      (JSC::ArgList::data):
      * runtime/JSArray.cpp:
      (JSC::AVLTreeAbstractorForArrayCompare::compare_key_key):
      * runtime/StringPrototype.cpp:
      (JSC::replaceUsingRegExpSearch):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160094 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f0b31aa
    • commit-queue@webkit.org's avatar
      Style checker for .messages.in files (WTF:: prefix) · 3edd28b6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125142
      
      Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-04
      Reviewed by Anders Carlsson.
      
      A new style checker for .messages.in files, that checks for the use of WTF::
      prefix in these files. (Also checks for tabs as these files were previously
      handled as text files.)
      
      * Scripts/webkitpy/style/checker.py:
      (CheckerDispatcher._create_checker):
        New checker is returned for .messages.in files.
      * Scripts/webkitpy/style/checkers/messagesin.py: Added.
        The new style checker class.
      (MessagesInChecker):
      (MessagesInChecker.__init__):
      (MessagesInChecker.check):
      (MessagesInChecker.check_WTF_prefix):
      * Scripts/webkitpy/style/checkers/messagesin_unittest.py: Added.
        Unit test for the new style  checker class.
      (MessagesInCheckerStyleTestCase):
      (test_checker):
      (test_checker.error_handler_for_test):
      (MessagesInCheckerTestCase):
      (MessagesInCheckerTestCase.test_init):
      (MessagesInCheckerTestCase.test_init.error_handler_for_test):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160093 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3edd28b6