1. 23 Jan, 2014 9 commits
    • m.pakula@samsung.com's avatar
      Unreviewed EFL gardening · f0de3b80
      m.pakula@samsung.com authored
      Update test expectations for failing or crashing http/tests/websocket/tests/hybi tests.
      
      * platform/efl-wk1/TestExpectations:
      * platform/efl-wk2/TestExpectations:
      * platform/efl/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0de3b80
    • commit-queue@webkit.org's avatar
      [CSS Regions] Fix positioning composited layers when the region has overflow:hidden · 4affaa08
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124042
      
      Patch by Mihai Maerean <mmaerean@adobe.com> on 2014-01-23
      Reviewed by Mihnea Ovidenie.
      
      Source/WebCore:
      
      If there's a clipping GraphicsLayer on the hierarchy, substract its offset, since it's its
      parent that positions us.
      
      Tests: compositing/regions/position-layer-inside-region-overflow-hidden.html
             compositing/regions/position-layer-inside-overflow-hidden.html
             compositing/regions/position-layers-inside-region-overflow-hidden.html
             compositing/regions/position-layers-inside-regions-overflow-hidden.html
      
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread): The position
      must also be correct when the region has box-shadow that inflates the region's layer. The
      composited layers from the flow thread should be rendered in the same position whether the
      associated region has clipping or not.
      Using the position of the clipping layer instead of the location of the clipbox makes it
      also work with box-shadow that inflates the region's graphics layer.
      
      LayoutTests:
      
      * compositing/regions/position-layer-inside-region-overflow-hidden.html: Added.
      * compositing/regions/position-layer-inside-region-overflow-hidden-expected.html: Added.
      * compositing/regions/position-layer-inside-overflow-hidden.html: Added.
      * compositing/regions/position-layer-inside-overflow-hidden-expected.html: Added.
      * compositing/regions/position-layers-inside-region-overflow-hidden.html: Added.
      * compositing/regions/position-layers-inside-region-overflow-hidden-expected.html: Added.
      * compositing/regions/position-layers-inside-regions-overflow-hidden.html: Added.
      * compositing/regions/position-layers-inside-regions-overflow-hidden-expected.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4affaa08
    • ossy@webkit.org's avatar
      Unreviewed gardening. · a18f28e1
      ossy@webkit.org authored
      Move fast/harness/sample-fail-mismatch-reftest.html to the platform
      independent TestExpectations, since all ports skip it as expected.
      
      * TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a18f28e1
    • commit-queue@webkit.org's avatar
      Remove a FIXME comment that is already fixed. · 666540b5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127468
      
      Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-23
      Reviewed by Csaba Osztrogonác.
      
      * Scripts/webkitpy/style/filereader.py:
      (TextFileReader.__init__):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      666540b5
    • abucur@adobe.com's avatar
      [CSS Regions] Convert regions iterator loops to range-based loops · 42276a7f
      abucur@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127464
      
      Reviewed by Antti Koivisto.
      
      Replace most of the iterator loops in the region implementation with
      range based for loops. The for loops that iterate only over subsets
      of collections have not been changed.
      
      Tests: no new tests, this is a refactoring patch.
      
      * dom/WebKitNamedFlow.cpp:
      (WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
      (WebCore::WebKitNamedFlow::getRegionsByContent):
      (WebCore::WebKitNamedFlow::getRegions):
      (WebCore::WebKitNamedFlow::getContent):
      * inspector/InspectorOverlay.cpp:
      (WebCore::buildObjectForCSSRegionsHighlight):
      * rendering/RenderFlowThread.cpp:
      (WebCore::RenderFlowThread::validateRegions):
      (WebCore::RenderFlowThread::updateLogicalWidth):
      (WebCore::RenderFlowThread::computeLogicalHeight):
      (WebCore::RenderFlowThread::repaintRectangleInRegions):
      (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
      (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
      (WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
      (WebCore::RenderFlowThread::isAutoLogicalHeightRegionsCountConsistent):
      (WebCore::RenderFlowThread::markAutoLogicalHeightRegionsForLayout):
      (WebCore::RenderFlowThread::markRegionsForOverflowLayoutIfNeeded):
      (WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
      (WebCore::RenderFlowThread::collectLayerFragments):
      (WebCore::RenderFlowThread::fragmentsBoundingBox):
      * rendering/RenderNamedFlowFragment.cpp:
      (WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
      (WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
      * rendering/RenderNamedFlowThread.cpp:
      (WebCore::RenderNamedFlowThread::clearContentElements):
      (WebCore::RenderNamedFlowThread::nextRendererForNode):
      (WebCore::RenderNamedFlowThread::dependsOn):
      (WebCore::RenderNamedFlowThread::computeOversetStateForRegions):
      (WebCore::RenderNamedFlowThread::checkInvalidRegions):
      (WebCore::RenderNamedFlowThread::pushDependencies):
      (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
      (WebCore::isContainedInElements):
      (WebCore::RenderNamedFlowThread::getRanges):
      (WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
      (WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
      * rendering/RenderTreeAsText.cpp:
      (WebCore::writeRenderRegionList):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42276a7f
    • commit-queue@webkit.org's avatar
      Range should be constructable. · e6c09a97
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115639
      
      Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-23
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore:
      
      http://www.w3.org/TR/2013/WD-dom-20131107/#interface-range
      Now we can do `new Range()` instead of `document.createRange()`.
      
      Backported from Blink: https://chromium.googlesource.com/chromium/blink/+/47ca40efdf58a4787aa33aa75a35778899b1c002%5E%21
      
      Test: fast/dom/Range/range-constructor.html
      
      * dom/Range.cpp:
      (WebCore::Range::create):
      * dom/Range.h:
      * dom/Range.idl:
      
      LayoutTests:
      
      * fast/dom/Range/range-constructor-expected.txt: Added.
      * fast/dom/Range/range-constructor.html: Added.
      * fast/dom/dom-constructors-expected.txt:
      * fast/dom/dom-constructors.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6c09a97
    • changseok.oh@collabora.com's avatar
      Unreviewed build fix for gles after r162565. Add missing definitions. · ac433e32
      changseok.oh@collabora.com authored
      * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
      (WebCore::GraphicsContext3D::drawArraysInstanced):
      (WebCore::GraphicsContext3D::drawElementsInstanced):
      (WebCore::GraphicsContext3D::vertexAttribDivisor):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac433e32
    • carlosgc@webkit.org's avatar
      [GLIB] Use GUniquePtr instead of GOwnPtr · f2ece55f
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127431
      
      Reviewed by Martin Robinson.
      
      GUniquePtr is a template alias of std::unique_ptr with a custom
      deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
      where the output pointer is needed, but it will also be replaced soon.
      
      Source/WebCore:
      
      * GNUmakefile.list.am:
      * PlatformGTK.cmake:
      * accessibility/atk/AXObjectCacheAtk.cpp:
      * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
      (getAttributeSetForAccessibilityObject):
      (accessibilityObjectLength):
      (textExtents):
      (webkitAccessibleTextGetChar):
      (numberOfReplacedElementsBeforeOffset):
      * page/ContextMenuController.cpp:
      * platform/SharedBuffer.h:
      * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
      (webKitWebAudioSrcConstructed):
      (webKitWebAudioSrcLoop):
      * platform/audio/gtk/AudioBusGtk.cpp:
      (WebCore::AudioBus::loadPlatformResource):
      * platform/geoclue/GeolocationProviderGeoclue.cpp:
      * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
      (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
      (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
      * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
      (webKitMediaSrcAddSrc):
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      (webKitWebSrcStart):
      (ResourceHandleStreamingClient::wasBlocked):
      (ResourceHandleStreamingClient::cannotShowURL):
      * platform/graphics/gtk/ImageBufferGtk.cpp:
      (WebCore::encodeImage):
      (WebCore::ImageBuffer::toDataURL):
      * platform/graphics/gtk/ImageGtk.cpp:
      (WebCore::getThemeIconFileName):
      (WebCore::Image::loadPlatformResource):
      * platform/gtk/ContextMenuGtk.cpp:
      (WebCore::ContextMenu::itemCount):
      (WebCore::contextMenuItemVector):
      * platform/gtk/ContextMenuItemGtk.cpp:
      (WebCore::createPlatformMenuItemDescription):
      * platform/gtk/DataObjectGtk.cpp:
      (WebCore::DataObjectGtk::setURIList):
      (WebCore::DataObjectGtk::setURL):
      * platform/gtk/FileSystemGtk.cpp:
      (WebCore::filenameToString):
      (WebCore::fileSystemRepresentation):
      (WebCore::filenameForDisplay):
      (WebCore::pathGetFileName):
      (WebCore::applicationDirectoryPath):
      (WebCore::sharedResourcesPath):
      (WebCore::directoryName):
      (WebCore::listDirectory):
      (WebCore::openTemporaryFile):
      * platform/gtk/GOwnPtrGtk.cpp: Removed.
      * platform/gtk/GOwnPtrGtk.h: Removed.
      * platform/gtk/GUniquePtrGtk.h: Added.
      * platform/gtk/GamepadsGtk.cpp:
      (WebCore::GamepadsGtk::GamepadsGtk):
      * platform/gtk/GtkClickCounter.cpp:
      (WebCore::GtkClickCounter::shouldProcessButtonEvent):
      * platform/gtk/GtkInputMethodFilter.cpp:
      (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
      * platform/gtk/GtkPopupMenu.cpp:
      (WebCore::GtkPopupMenu::popUp):
      (WebCore::GtkPopupMenu::typeAheadFind):
      * platform/gtk/LanguageGtk.cpp:
      (WebCore::platformLanguage):
      * platform/gtk/LocalizedStringsGtk.cpp:
      (WebCore::imageTitle):
      (WebCore::localizedMediaTimeDescription):
      * platform/gtk/PasteboardHelper.cpp:
      (WebCore::selectionDataToUTF8String):
      (WebCore::PasteboardHelper::getClipboardContents):
      (WebCore::PasteboardHelper::fillSelectionData):
      * platform/gtk/PopupMenuGtk.cpp:
      (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
      (WebCore::PopupMenuGtk::show):
      * platform/gtk/WebKitAuthenticationWidget.cpp:
      (webkitAuthenticationWidgetInitialize):
      * platform/network/ResourceHandleInternal.h:
      * platform/network/gtk/CredentialBackingStore.cpp:
      (WebCore::credentialForChallengeAsyncReadyCallback):
      * platform/network/soup/CookieJarSoup.cpp:
      (WebCore::setCookiesFromDOM):
      (WebCore::cookiesForSession):
      (WebCore::getRawCookies):
      (WebCore::deleteCookie):
      (WebCore::getHostnamesWithCookies):
      (WebCore::deleteCookiesForHostname):
      (WebCore::deleteAllCookies):
      * platform/network/soup/DNSSoup.cpp:
      * platform/network/soup/GUniquePtrSoup.h: Added.
      * platform/network/soup/ResourceErrorSoup.cpp:
      (WebCore::failingURI):
      * platform/network/soup/ResourceHandleSoup.cpp:
      (WebCore::ResourceHandle::ensureReadBuffer):
      (WebCore::cleanupSoupRequestOperation):
      (WebCore::createSoupRequestAndMessageForHandle):
      * platform/network/soup/ResourceRequestSoup.cpp:
      (WebCore::ResourceRequest::updateSoupMessageMembers):
      (WebCore::ResourceRequest::updateSoupMessage):
      * platform/network/soup/ResourceResponseSoup.cpp:
      * platform/network/soup/SoupURIUtils.cpp:
      (WebCore::soupURIToKURL):
      * platform/soup/SharedBufferSoup.cpp:
      (WebCore::SharedBuffer::SharedBuffer):
      (WebCore::SharedBuffer::clearPlatformData):
      (WebCore::SharedBuffer::maybeTransferPlatformData):
      (WebCore::SharedBuffer::hasPlatformData):
      * plugins/gtk/PluginPackageGtk.cpp:
      (WebCore::PluginPackage::fetchInfo):
      (WebCore::PluginPackage::load):
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/ContextMenuClientGtk.cpp:
      (WebKit::getUnicodeMenuItemPosition):
      * WebCoreSupport/DragClientGtk.cpp:
      (WebKit::DragClient::startDrag):
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::setValueForUser):
      * WebCoreSupport/EditorClientGtk.h:
      * WebCoreSupport/FrameLoaderClientGtk.cpp:
      (WebKit::FrameLoaderClient::userAgent):
      (WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
      (WebKit::FrameLoaderClient::dispatchWillSendRequest):
      (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
      (WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
      (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
      (WebKit::FrameLoaderClient::dispatchDidFinishLoading):
      (WebKit::FrameLoaderClient::dispatchDidFailLoading):
      (WebKit::FrameLoaderClient::dispatchDidFailLoad):
      * WebCoreSupport/InspectorClientGtk.h:
      * webkit/webkitfavicondatabase.cpp:
      (webkit_favicon_database_set_path):
      * webkit/webkitfilechooserrequest.cpp:
      * webkit/webkitglobals.cpp:
      (webkitInit):
      * webkit/webkithittestresult.cpp:
      (WebKit::kit):
      * webkit/webkiticondatabase.cpp:
      (webkit_icon_database_set_path):
      * webkit/webkitspellcheckerenchant.cpp:
      * webkit/webkitwebplugin.cpp:
      (webkit_web_plugin_get_path):
      * webkit/webkitwebpluginprivate.h:
      * webkit/webkitwebsettings.cpp:
      (webkit_web_settings_class_init):
      (webkit_web_settings_copy):
      * webkit/webkitwebview.cpp:
      (webkit_web_view_forward_context_menu_event):
      (fileChooserDialogResponseCallback):
      (webkit_web_view_drag_end):
      * webkit/webkitwebviewprivate.h:
      
      Source/WebKit2:
      
      * Shared/Downloads/soup/DownloadSoup.cpp:
      (WebKit::DownloadClient::didReceiveResponse):
      * Shared/NativeWebKeyboardEvent.h:
      * Shared/NativeWebMouseEvent.h:
      * Shared/NativeWebWheelEvent.h:
      * Shared/gtk/ArgumentCodersGtk.cpp:
      (IPC::encodeGKeyFile):
      (IPC::decodeGKeyFile):
      (IPC::encode):
      (IPC::decode):
      * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
      (webkitContextMenuItemSetSubMenuFromGtkMenu):
      * UIProcess/API/gtk/WebKitDownload.cpp:
      (webkitDownloadDecideDestination):
      (webkitDownloadNotifyProgress):
      (webkitDownloadFailed):
      * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
      (webkit_file_chooser_request_select_files):
      * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
      (didReceiveWebViewMessageFromInjectedBundle):
      (getInjectedBundleInitializationUserData):
      * UIProcess/API/gtk/WebKitLoaderClient.cpp:
      (didFailProvisionalLoadWithErrorForFrame):
      (didFailLoadWithErrorForFrame):
      * UIProcess/API/gtk/WebKitPrintOperation.cpp:
      (drawPagesForPrintingCompleted):
      * UIProcess/API/gtk/WebKitURIRequest.cpp:
      (webkit_uri_request_get_http_headers):
      * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
      (webkit_uri_scheme_request_get_scheme):
      (webkit_uri_scheme_request_get_path):
      * UIProcess/API/gtk/WebKitWebContext.cpp:
      (injectedBundleFilename):
      (webkit_web_context_set_favicon_database_directory):
      * UIProcess/API/gtk/WebKitWebView.cpp:
      (webkitWebViewLoadFail):
      (webkitWebViewCreateJavaScriptDialog):
      (fileChooserDialogResponseCallback):
      (webkitWebViewLoadChanged):
      (webkitWebViewLoadFailedWithTLSErrors):
      (webkitWebViewPopulateContextMenu):
      * UIProcess/API/gtk/WebKitWebViewBase.cpp:
      (webkitWebViewBaseButtonPressEvent):
      (webkitWebViewBaseStartDrag):
      * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
      (WebKit::WebInspectorServer::platformResourceForPath):
      * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
      (WebKit::connectionCallback):
      * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
      (WebKit::ProcessLauncher::launchProcess):
      * UIProcess/gtk/WebContextGtk.cpp:
      (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
      (WebKit::WebContext::platformDefaultDatabaseDirectory):
      (WebKit::WebContext::platformDefaultIconDatabasePath):
      (WebKit::WebContext::platformDefaultLocalStorageDirectory):
      (WebKit::WebContext::platformDefaultDiskCacheDirectory):
      * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
      (WebKit::contextMenuItemVisibilityChanged):
      * UIProcess/gtk/WebInspectorProxyGtk.cpp:
      (WebKit::WebInspectorProxy::platformInspectedURLChanged):
      * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
      (WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem):
      * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
      * WebProcess/WebPage/gtk/WebPageGtk.cpp:
      (WebKit::WebPage::platformInitialize):
      * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
      * WebProcess/gtk/WebProcessMainGtk.cpp:
      * WebProcess/soup/WebSoupRequestManager.cpp:
      (WebKit::WebSoupRequestManager::send):
      
      Tools:
      
      * DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp:
      (printAccessibilityEvent):
      (axObjectEventListener):
      * DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
      (indexRangeInTable):
      (AccessibilityUIElement::role):
      (AccessibilityUIElement::title):
      (AccessibilityUIElement::description):
      (AccessibilityUIElement::stringValue):
      (AccessibilityUIElement::language):
      (AccessibilityUIElement::lineForIndex):
      (AccessibilityUIElement::selectedTextRange):
      (AccessibilityUIElement::url):
      * DumpRenderTree/efl/AccessibilityControllerEfl.cpp:
      (AccessibilityController::accessibleElementById):
      * DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
      (AccessibilityController::accessibleElementById):
      * DumpRenderTree/gtk/DumpRenderTree.cpp:
      (getOutputDir):
      (getFontsPath):
      (initializeFonts):
      (dumpFramesAsText):
      (compareHistoryItems):
      (dumpHistoryItem):
      (soupURIToStringPreservingPassword):
      (resetDefaultsToConsistentValues):
      (temporaryDatabaseDirectory):
      (webViewTitleChanged):
      (webFrameLoadStatusNotified):
      (pathFromSoupURI):
      (convertWebResourceToURLPath):
      (urlSuitableForTestResult):
      (descriptionSuitableForTestResult):
      (willSendRequestCallback):
      (frameLoadEventCallback):
      * DumpRenderTree/gtk/EditingCallbacks.cpp:
      (dumpNodePath):
      (dumpRange):
      (shouldApplyStyle):
      * DumpRenderTree/gtk/EventSender.cpp:
      (contextClickCallback):
      (beginDragWithFilesCallback):
      * DumpRenderTree/gtk/TestRunnerGtk.cpp:
      (TestRunner::pathToLocalResource):
      (TestRunner::queueLoad):
      (TestRunner::removeOriginAccessWhitelistEntry):
      (TestRunner::setMockGeolocationPositionUnavailableError):
      (TestRunner::setIconDatabaseEnabled):
      (TestRunner::findString):
      (TestRunner::setDomainRelaxationForbiddenForURLScheme):
      (TestRunner::overridePreference):
      (TestRunner::addUserScript):
      (TestRunner::addUserStyleSheet):
      (TestRunner::setTextDirection):
      * DumpRenderTree/gtk/TextInputController.cpp:
      (setMarkedTextCallback):
      (insertTextCallback):
      (doCommandCallback):
      * DumpRenderTree/gtk/WorkQueueItemGtk.cpp:
      (LoadHTMLStringItem::invoke):
      * TestWebKitAPI/PlatformGTK.cmake:
      * TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:
      (WebKitDOMNodeTest::testTagNames):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp:
      (testBackForwardListLimitAndCache):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
      (testContextMenuSmartSeparators):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
      * TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:
      (testDownloadLocalFile):
      (testDownloadLocalFileError):
      (addContentDispositionHTTPHeaderToResponse):
      (serverCallback):
      (testDownloadRemoteFileError):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:
      (startTestServer):
      (testInspectorServerPageList):
      (openRemoteDebuggingSession):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:
      (testPrintOperationPrint):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:
      (addCacheHTTPHeadersToResponse):
      (serverCallback):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:
      (httpsServerCallback):
      (httpServerCallback):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
      (testWebViewJavaScriptDialogs):
      (testWebViewWindowProperties):
      (testWebViewFileChooserRequest):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:
      (testWebExtensionWindowObjectCleared):
      (testWebExtensionIsolatedWorld):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp:
      (startTestServer):
      (checkAtspiAccessible):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:
      (serverCallback):
      (testClearDatabase):
      (testGetFaviconURI):
      (webkitFaviconDatabaseFinalizedCallback):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
      (testWebContextGetPlugins):
      (testWebContextURIScheme):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
      (testWebViewRunJavaScript):
      (testWebViewMode):
      (testWebViewPageVisibility):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp:
      (isStyleSheetInjectedForURLAtPath):
      * TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp:
      (testWebViewEditorCutCopyPasteNonEditable):
      (testWebViewEditorCutCopyPasteEditable):
      (testWebViewEditorSelectAllNonEditable):
      (testWebViewEditorSelectAllEditable):
      * TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
      (sendRequestCallback):
      (methodCallCallback):
      * TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:
      (TestWebKitAPI::Util::createInjectedBundlePath):
      (TestWebKitAPI::Util::createURLForResource):
      * TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:
      (TestWebKitAPI::doKeyStroke):
      (TestWebKitAPI::doMouseButtonEvent):
      (TestWebKitAPI::PlatformWebView::simulateMouseMove):
      * TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp:
      (loadFailedCallback):
      (LoadTrackingTest::loadURI):
      (LoadTrackingTest::loadHtml):
      (LoadTrackingTest::loadPlainText):
      (LoadTrackingTest::loadRequest):
      (LoadTrackingTest::reload):
      (LoadTrackingTest::goBack):
      (LoadTrackingTest::goForward):
      * TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h:
      * TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:
      (registerGResource):
      (removeNonEmptyDirectory):
      (main):
      * TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:
      (Test::getWebKit1TestResoucesDir):
      (Test::getResourcesDir):
      * TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp:
      (WebKitTestBus::run):
      * TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.cpp:
      (WebKitTestServer::WebKitTestServer):
      (WebKitTestServer::getURIForPath):
      * TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.cpp:
      (WebProcessTestRunner::runTest):
      * TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
      (resourceGetDataCallback):
      (WebViewTest::mainResourceData):
      (WebViewTest::mouseMoveTo):
      (WebViewTest::keyStroke):
      (WebViewTest::doMouseButtonEvent):
      * TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
      * WebKitTestRunner/InjectedBundle/atk/AccessibilityControllerAtk.cpp:
      (WTR::AccessibilityController::accessibleElementById):
      * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
      * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
      (WTR::AccessibilityUIElement::role):
      (WTR::AccessibilityUIElement::title):
      (WTR::AccessibilityUIElement::description):
      (WTR::AccessibilityUIElement::stringValue):
      (WTR::AccessibilityUIElement::language):
      (WTR::AccessibilityUIElement::lineForIndex):
      (WTR::AccessibilityUIElement::selectedTextRange):
      (WTR::AccessibilityUIElement::url):
      * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
      (WTR::getOutputDir):
      (WTR::getFontsPath):
      (WTR::initializeFontConfigSetting):
      * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp:
      (WTR::topLevelPath):
      * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
      (WTR::TestRunner::pathToLocalResource):
      * WebKitTestRunner/gtk/TestControllerGtk.cpp:
      (WTR::TestController::initializeInjectedBundlePath):
      (WTR::TestController::initializeTestPluginDirectory):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162599 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f2ece55f
    • mark.lam@apple.com's avatar
      Poor man's fast breakpoints for a 2.3x debugger speedup. · 945b1399
      mark.lam@apple.com authored
      <https://webkit.org/b/122836>
      
      Reviewed by Geoffrey Garen.
      
      Previously we gained back some performance (run at baseline JIT speeds)
      when the WebInspector is opened provided no breakpoints are set. This
      was achieved by simply skipping all op_debug callbacks to the debugger
      if no breakpoints are set. If any breakpoints are set, the debugger will
      set a m_needsOpDebugCallbacks flag which causes the callbacks to be
      called, and we don't get the baseline JIT speeds anymore.
      
      With this patch, we will now track the number of breakpoints set in the
      CodeBlock that they are set in. The LLINT and baseline JIT code will
      check CodeBlock::m_numBreakpoints to determine if the op_debug callbacks
      need to be called. With this, we will only enable op_debug callbacks for
      CodeBlocks that need it i.e. those with breakpoints set in them.
      
      Debugger::m_needsOpDebugCallbacks is now obsoleted. The LLINT and baseline
      JIT code still needs to check Debugger::m_shouldPause to determine if the
      debugger is in stepping mode and hence, needs op_debug callbacks enabled
      for everything until the debugger "continues" the run and exit stepping
      mode.
      
      Also in this patch, I fixed a regression in DOM breakpoints which relies
      Debugger::breakProgram() to pause the debugger.
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      - Missed accounting for op_debug's new hasBreakpointFlag operand here when
        it was added.
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::hasOpDebugForLineAndColumn):
      - This is needed in Debugger::toggleBreakpoint() to determine if a
        breakpoint falls within a CodeBlock or not. Simply checking the bounds
        of the CodeBlock is insufficient. For example, let's say we have the
        following JS code:
      
            // begin global scope
            function f1() {
                function f2() {
                   ... // set breakpoint here.
                }
            }
            // end global scope
      
        Using the CodeBlock bounds alone, the breakpoint above will to appear
        to be in the global program CodeBlock, and the CodeBlocks for function
        f1() and f2(). With CodeBlock::hasOpDebugForLineAndColumn() we can
        rule out the global program CodeBlock and f1(), and only apply the
        breakpoint to f2(0 where it belongs.
      
        CodeBlock::hasOpDebugForLineAndColumn() works by iterating over all
        the opcodes in the CodeBlock to look for op_debug's. For each op_debug,
        it calls CodeBlock::expressionRangeForBytecodeOffset() to do a binary
        seach to get the line and column info for that op_debug. This is a
        N * log(N) algorithm. However, a quick hands on test using the
        WebInspector (with this patch applied) to exercise setting, breaking
        on, and clearing breakpoints, as well as stepping through some code
        shows no noticeable degradation of the user experience compared to the
        baseline without this patch.
      
      * bytecode/CodeBlock.h:
      (JSC::CodeBlock::numBreakpoints):
      (JSC::CodeBlock::numBreakpointsOffset):
      (JSC::CodeBlock::addBreakpoint):
      (JSC::CodeBlock::removeBreakpoint):
      (JSC::CodeBlock::clearAllBreakpoints):
      * debugger/Breakpoint.h:
      - defined Breakpoint::unspecifiedColumn so that we can explicitly indicate
        when the WebInspector was setting a line breakpoint and did not provide
        a column value. CodeBlock::hasOpDebugForLineAndColumn() needs this
        information in order to loosen its matching criteria for op_debug
        bytecodes for the specified breakpoint line and column values provided
        by the debugger.
      
        Previously, we just hijack a 0 value column as an unspecified column.
        However, the WebInspector operates on 0-based ints for column values.
        Hence, 0 should be a valid column value and should not be hijacked to
        mean an unspecified column.
      
      * debugger/Debugger.cpp:
      (JSC::Debugger::Debugger):
      - added tracking of the VM that the debugger is used with. This is
        needed by Debugger::breakProgram().
      
        The VM pointer is attained from the first JSGlobalObject that the debugger
        attaches to. When the debugger detaches from the last JSGlobalObject, it
        will nullify its VM pointer to allow a new one to be set on the next
        attach.
      
        We were always only using each debugger instance with one VM. This change
        makes it explicit with an assert to ensure that all globalObjects that
        the debugger attaches to beongs to the same VM.
      
      (JSC::Debugger::attach):
      (JSC::Debugger::detach):
      (JSC::Debugger::setShouldPause):
      
      (JSC::Debugger::registerCodeBlock):
      (JSC::Debugger::unregisterCodeBlock):
      - registerCodeBlock() is responsible for applying pre-existing breakpoints
        to new CodeBlocks being installed. Similarly, unregisterCodeBlock()
        clears the breakpoints.
      
      (JSC::Debugger::toggleBreakpoint):
      - This is the workhorse function that checks if a breakpoint falls within
        a CodeBlock or not. If it does, then it can either enable or disable
        said breakpoint in the CodeBlock. In the current implementation,
        enabling/disabling the breakpoint simply means incrementing/decrementing
        the CodeBlock's m_numBreakpoints.
      
      (JSC::Debugger::applyBreakpoints):
      
      (JSC::Debugger::ToggleBreakpointFunctor::ToggleBreakpointFunctor):
      (JSC::Debugger::ToggleBreakpointFunctor::operator()):
      (JSC::Debugger::toggleBreakpoint):
      - Iterates all relevant CodeBlocks and apply the specified breakpoint
        if appropriate. This is called when a new breakpoint is being defined
        by the WebInspector and needs to be applied to an already installed
        CodeBlock.
      
      (JSC::Debugger::setBreakpoint):
      (JSC::Debugger::removeBreakpoint):
      (JSC::Debugger::hasBreakpoint):
      (JSC::Debugger::ClearBreakpointsFunctor::ClearBreakpointsFunctor):
      (JSC::Debugger::ClearBreakpointsFunctor::operator()):
      (JSC::Debugger::clearBreakpoints):
      
      (JSC::Debugger::breakProgram):
      - Fixed a regression that broke DOM breakpoints. The issue is that with
        the skipping of op_debug callbacks, we don't always have an updated
        m_currentCallFrame. Normally, m_currentCallFrame is provided as arg
        in the op_debug callback. In this case, we can get the CallFrame* from
        m_vm->topCallFrame.
      
      (JSC::Debugger::updateCallFrameAndPauseIfNeeded):
      (JSC::Debugger::pauseIfNeeded):
      (JSC::Debugger::willExecuteProgram):
      * debugger/Debugger.h:
      (JSC::Debugger::Debugger):
      (JSC::Debugger::shouldPause):
      
      * heap/CodeBlockSet.h:
      (JSC::CodeBlockSet::iterate):
      * heap/Heap.h:
      (JSC::Heap::forEachCodeBlock):
      - Added utility to iterate all CodeBlocks in the heap / VM.
      
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::debug):
      
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_debug):
      * jit/JITOpcodes32_64.cpp:
      (JSC::JIT::emit_op_debug):
      * llint/LowLevelInterpreter.asm:
      - These now checks CodeBlock::m_numBreakpoints and Debugger::m_shouldPause
        instead of Debugger::m_needsOpDebugCallbacks.
      
      * runtime/Executable.cpp:
      (JSC::ScriptExecutable::installCode):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162598 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      945b1399
  2. 22 Jan, 2014 31 commits
    • simon.fraser@apple.com's avatar
      Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE) · 348cfdd3
      simon.fraser@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127461
      
      Source/WebCore:
      
      Reviewed by Andreas Kling.
      
      The "fixedVisibleContentRect" code path is only used by platforms
      which enabled TILED_BACKING_STORE, so to reduce confusion, surround
      this code with #if USE(TILED_BACKING_STORE).
      
      * page/Frame.cpp:
      (WebCore::Frame::createView):
      * page/FrameView.cpp:
      * page/FrameView.h:
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::unscaledVisibleContentSize):
      (WebCore::ScrollView::visibleContentRect):
      * platform/ScrollView.h:
      (WebCore::ScrollView::visibleSize):
      
      Source/WebKit2:
      
      Reviewed by Andreas Kling.
      
      The "fixedVisibleContentRect" code path is only used by platforms
      which enabled TILED_BACKING_STORE, so to reduce confusion, surround
      this code with #if USE(TILED_BACKING_STORE).
      
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162597 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      348cfdd3
    • lforschler@apple.com's avatar
      Versioning. · 2744c58c
      lforschler@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2744c58c
    • benjamin@webkit.org's avatar
      Add a minimalistic SPI to control the layout size outside of WKView · 98cb6be4
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127403
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-01-22
      Reviewed by Sam Weinig.
      
      The API lets a client of WKView force the layout size. Once the size
      is set this way, default update is disabled and the client needs to
      update the size systematically as needed. This is done to avoid double
      layout or flickering.
      
      * UIProcess/API/Cocoa/WKViewPrivate.h:
      * UIProcess/API/ios/WKViewIOS.mm:
      (-[WKView _frameOrBoundsChanged]):
      (-[WKView overrideMinimumLayoutSize:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162590 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98cb6be4
    • jinwoo7.song@samsung.com's avatar
      Unreviewed EFL gardening after r162553. · a59aad63
      jinwoo7.song@samsung.com authored
      * platform/efl/css1/box_properties/padding-expected.txt:
      * platform/efl/css1/box_properties/padding_top-expected.txt:
      * platform/efl/css1/formatting_model/vertical_formatting-expected.txt:
      * platform/efl/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
      * platform/efl/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
      * platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
      * platform/efl/fast/css/empty-pseudo-class-expected.txt:
      * platform/efl/fast/css/fieldset-display-row-expected.txt:
      * platform/efl/fast/css/first-child-pseudo-class-expected.txt:
      * platform/efl/fast/css/last-child-pseudo-class-expected.txt:
      * platform/efl/fast/css/only-child-pseudo-class-expected.txt:
      * platform/efl/fast/repaint/reflection-redraw-expected.txt:
      * platform/efl/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
      * platform/efl/fast/table/multiple-captions-display-expected.txt:
      * platform/efl/tables/mozilla/marvin/body_col-expected.txt:
      * platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
      * platform/efl/tables/mozilla/other/body_col-expected.txt:
      * platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
      * platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
      * platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt:
      * platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a59aad63
    • mmaxfield@apple.com's avatar
      ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing · 494da149
      mmaxfield@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126987
      
      Reviewed by Simon Fraser.
      
      When "inherit" is specified and there is no parent, Length values have an "Auto" type
      
      Source/WebCore:
      
      Test: fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html
      
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::setWordSpacing):
      
      LayoutTests:
      
      * fast/css3-text/css3-word-spacing-percentage/word-spacing-crash-expected.txt: Added.
      * fast/css3-text/css3-word-spacing-percentage/word-spacing-crash.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      494da149
    • samuel_white@apple.com's avatar
      AX: Can't always increment web sliders. · 24dac231
      samuel_white@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127451
      
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Clamping the decrement/increment amount to one when necessary (if a percent change would result in a change of less than one).
      
      Test: accessibility/range-alter-by-percent.html
      
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::AccessibilityNodeObject::changeValueByPercent):
      
      LayoutTests:
      
      Adding range-alter-by-percent.html to compliment the existing range-alter-by-step.html test.
      
      * accessibility/range-alter-by-percent-expected.txt: Added.
      * accessibility/range-alter-by-percent.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      24dac231
    • mrobinson@webkit.org's avatar
      Fix a small issue in my recently committed ChangeLog · 3c1693c7
      mrobinson@webkit.org authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c1693c7
    • mrobinson@webkit.org's avatar
      [GTK] [CMake] run-webkit-tests should support the CMake build · eb42533b
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126503
      
      Reviewed by Daniel Bates.
      
      Update run-launcher and gtk.py to work properly when dealing with the CMake port.
      run-webkit-tests does not need the --gtkcmake flag, but run-launcher does.
      
      * Scripts/run-launcher: Work properly with the gtkcmake flag.
      * Scripts/webkitpy/port/gtk.py:
      (GtkPort._is_cmake_build): Added this helper which looks for the CMakeCache
      file to detect a CMake build.
      (GtkPort._built_executables_path): Added this helper to locate the built executable path.
      (GtkPort._built_libraries_path): Added this helper to locate the built library path.
      (GtkPort._port_flag_for_scripts): Use --gtkcmake when appropriate.
      (GtkPort.setup_environ_for_server): The way CMake builds libraries differs from GTK+.
      (GtkPort._path_to_driver): Use the new helper.
      (GtkPort._path_to_image_diff): Use the new Helper.
      (GtkPort._path_to_webcore_library): Use the new helper.
      (GtkPort.build_webkit_command): Use --gtkcmake when appropriate.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eb42533b
    • jinwoo7.song@samsung.com's avatar
      [EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings · 311b0f40
      jinwoo7.song@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127420
      
      Reviewed by Gyuyoung Kim.
      
      As the defaultTextEncodingName is returned as a local WKEinaSharedString variable,
      the stringshared data is de-refed by eina_stringshare_del().
      To maintain the reference counter, the defaultTextEncodingName should be stored
      as a member variable of EwkSettings class.
      
      * UIProcess/API/efl/ewk_settings.cpp:
      (ewk_settings_encoding_detector_enabled_get): Reordering.
      (ewk_settings_default_text_encoding_name_set):
      (ewk_settings_default_text_encoding_name_get):
      (EwkSettings::setDefaultTextEncodingName):
      (EwkSettings::defaultTextEncodingName):
      * UIProcess/API/efl/ewk_settings_private.h:
      (EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162584 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      311b0f40
    • enrica@apple.com's avatar
      Support WebSelections in WK2 on iOS. · 043ef674
      enrica@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127015
      <rdar://problem/15211964>
      
      Reviewed by Benjamin Poulain.
      
      This change adds support for text only (non block mode)
      selections in non editable content.
      The main changes consist in hooking up the new gesture type
      and touches to handle selection creation and interaction.
      It also includes changes to the way first responder is handled
      which includes the implementation of the isEditable method
      to allow iOS to know when to show the keyboard.
      
      * Shared/ios/WKGestureTypes.h:
      * UIProcess/API/ios/WKInteractionView.mm:
      (-[WKInteractionView isEditable]):
      (-[WKInteractionView canBecomeFirstResponder]):
      (-[WKInteractionView webSelectionRects]):
      (-[WKInteractionView _highlightLongPressRecognized:]):
      (-[WKInteractionView _singleTapRecognized:]):
      (-[WKInteractionView inputAccessoryView]):
      (-[WKInteractionView canPerformAction:withSender:]):
      (-[WKInteractionView _showDictionary:]):
      (toWKGestureType):
      (toUIWKGestureType):
      (selectionChangedWithGesture):
      (selectionChangedWithTouch):
      (-[WKInteractionView selectedTextRange]):
      (-[WKInteractionView webSelectionAssistant]):
      (-[WKInteractionView _startAssistingNode]):
      (-[WKInteractionView _stopAssistingNode]):
      (-[WKInteractionView _selectionChanged]):
      * WebProcess/WebPage/ios/WebPageIOS.mm:
      (WebKit::WebPage::selectWithGesture):
      (WebKit::WebPage::updateSelectionWithTouches):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      043ef674
    • ryuan.choi@samsung.com's avatar
      [EFL] Remove unnecessary smart method since ewk_view_tiled removed · fa1673a5
      ryuan.choi@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127417
      
      Reviewed by Gyuyoung Kim.
      
      Source/WebKit/efl:
      
      pre_render related codes is only for ewk_view_tiled.
      In addition, we don't have any requirement to override repaints_process
      and scroll_process now.
      
      * ewk/ewk_view.cpp:
      (_ewk_view_smart_repaints_process):
      (_ewk_view_smart_calculate):
      (ewk_view_smart_set):
      (ewk_view_scrolls_process):
      * ewk/ewk_view.h:
      
      Tools:
      
      * EWebLauncher/main.c:
      (on_key_down): Removed shortcut to test pre render.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162581 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa1673a5
    • andersca@apple.com's avatar
      WKBrowsingContextController should not be an API wrapper around WebPageProxy · 4787b0a9
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127454
      
      Reviewed by Dan Bernstein.
      
      * Shared/Cocoa/APIObject.mm:
      (API::Object::newObject):
      * Shared/mac/ObjCObjectGraphCoders.mm:
      (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
      * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
      (-[WKBrowsingContextController _initWithPageRef:]):
      (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
      * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
      * UIProcess/API/Cocoa/WKProcessGroup.mm:
      (didNavigateWithNavigationData):
      (didPerformClientRedirect):
      (didPerformServerRedirect):
      (didUpdateHistoryTitle):
      * UIProcess/API/ios/WKContentView.mm:
      (-[WKContentView browsingContextController]):
      * UIProcess/API/mac/WKView.mm:
      (-[WKView browsingContextController]):
      * UIProcess/ios/WebPageProxyIOS.mm:
      (WebKit::WebPageProxy::platformInitialize):
      * UIProcess/mac/WebPageProxyMac.mm:
      (WebKit::WebPageProxy::platformInitialize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162580 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4787b0a9
    • mmaxfield@apple.com's avatar
      Remove CSS3_TEXT_DECORATION define · 607bf6e3
      mmaxfield@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127333
      
      Source/JavaScriptCore:
      
      This is required for unprefixing the text-decoration-* CSS properties.
      
      Reviewed by Simon Fraser.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore:
      
      Reviewed by Simon Fraser.
      
      This is required for unprefixing the text-decoration-* CSS properties.
      
      No new tests are necessary becase the flag was already on by default.
      
      * Configurations/FeatureDefines.xcconfig:
      * css/CSSComputedStyleDeclaration.cpp:
      (WebCore::renderTextDecorationSkipFlagsToCSSValue):
      (WebCore::ComputedStyleExtractor::propertyValue):
      * css/CSSParser.cpp:
      (WebCore::isColorPropertyID):
      (WebCore::CSSParser::parseValue):
      (WebCore::CSSParser::addTextDecorationProperty):
      (WebCore::CSSParser::parseTextUnderlinePosition):
      * css/CSSParser.h:
      * css/CSSPrimitiveValueMappings.h:
      (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
      * css/CSSPropertyNames.in:
      * css/CSSValueKeywords.in:
      * css/DeprecatedStyleBuilder.cpp:
      (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
      * css/StylePropertyShorthand.cpp:
      (WebCore::webkitTextDecorationShorthand):
      (WebCore::shorthandForProperty):
      (WebCore::matchingShorthandsForLonghand):
      * css/StylePropertyShorthand.h:
      * css/StyleResolver.cpp:
      (WebCore::shouldApplyPropertyInParseOrder):
      (WebCore::isValidVisitedLinkProperty):
      (WebCore::StyleResolver::applyProperty):
      * platform/graphics/GraphicsContext.h:
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      (WebCore::GraphicsContext::setPlatformStrokeStyle):
      * platform/graphics/cg/GraphicsContextCG.cpp:
      (WebCore::GraphicsContext::platformInit):
      * platform/graphics/wince/GraphicsContextWinCE.cpp:
      (WebCore::createPen):
      * rendering/InlineFlowBox.cpp:
      (WebCore::InlineFlowBox::computeMaxLogicalTop):
      * rendering/InlineFlowBox.h:
      * rendering/InlineTextBox.cpp:
      (WebCore::textDecorationStyleToStrokeStyle):
      (WebCore::boundingBoxForAllActiveDecorations):
      (WebCore::InlineTextBox::paintDecoration):
      * rendering/RenderObject.cpp:
      (WebCore::decorationColor):
      * rendering/RootInlineBox.cpp:
      (WebCore::RootInlineBox::maxLogicalTop):
      * rendering/RootInlineBox.h:
      * rendering/style/RenderStyle.cpp:
      (WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline):
      (WebCore::RenderStyle::colorIncludingFallback):
      (WebCore::RenderStyle::visitedDependentColor):
      * rendering/style/RenderStyle.h:
      * rendering/style/RenderStyleConstants.h:
      * rendering/style/StyleRareInheritedData.cpp:
      (WebCore::StyleRareInheritedData::StyleRareInheritedData):
      (WebCore::StyleRareInheritedData::operator==):
      * rendering/style/StyleRareInheritedData.h:
      * rendering/style/StyleRareNonInheritedData.cpp:
      (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
      (WebCore::StyleRareNonInheritedData::operator==):
      * rendering/style/StyleRareNonInheritedData.h:
      
      Source/WebKit/mac:
      
      Reviewed by Simon Fraser.
      
      This is required for unprefixing the text-decoration-* CSS properties.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebKit2:
      
      Reviewed by Simon Fraser.
      
      This is required for unprefixing the text-decoration-* CSS properties.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WTF:
      
      Reviewed by Simon Fraser.
      
      This is required for unprefixing the text-decoration-* CSS properties.
      
      * wtf/Platform.h:
      
      Tools:
      
      This is required for unprefixing the text-decoration-* CSS properties.
      
      Reviewed by Simon Fraser.
      
      * Configurations/FeatureDefines.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      607bf6e3
    • barraclough@apple.com's avatar
      Debug mechanism to override process QoS on Mac · a6ea9385
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127455
      
      Reviewed by Anders Carlsson.
      
      * NetworkProcess/NetworkProcess.messages.in:
          - added message.
      * PluginProcess/PluginProcess.messages.in:
          - added message.
      * Shared/ChildProcess.h:
      * Shared/mac/ChildProcessMac.mm:
      (WebKit::ChildProcess::setQOS):
          - Added implementation of new message.
      * UIProcess/Plugins/PluginProcessProxy.cpp:
      (WebKit::PluginProcessProxy::didFinishLaunching):
          - SetQOS for the PluginProcess.
      * UIProcess/Plugins/PluginProcessProxy.h:
      * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
      (WebKit::pluginProcessLatencyQOS):
      (WebKit::pluginProcessThroughputQOS):
          - read NSUserDefaults.
      * UIProcess/WebContext.cpp:
      (WebKit::WebContext::ensureNetworkProcess):
          - SetQOS for the NetworkProcess.
      (WebKit::WebContext::createNewWebProcess):
          - SetQOS for the WebProcess.
      * UIProcess/WebContext.h:
      * UIProcess/mac/WebContextMac.mm:
      (WebKit::networkProcessLatencyQOS):
      (WebKit::networkProcessThroughputQOS):
      (WebKit::webProcessLatencyQOS):
      (WebKit::webProcessThroughputQOS):
          - read NSUserDefaults.
      * WebProcess/WebProcess.messages.in:
          - added message.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a6ea9385
    • cfleizach@apple.com's avatar
      Source/WebCore: AX: Do not return an accessible name for an object just because it has tabindex=0 · 7f23b89a
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126914
      
      Reviewed by Mario Sanchez Prada.
      
      WebKit has code to return an accessible name for any object that is "generically" focusable (ie. tabindex=0).
      This behavior, which is not supported in ARIA, has caused many problems for VoiceOver. Often VoiceOver will
      speak all the text underneath any type of group.
      
      I think we need to revert this behavior and follow the ARIA spec more closely.
      
      Test: accessibility/aria-describedby-ensures-visibility.html
      
      * accessibility/AccessibilityNodeObject.cpp:
      (WebCore::AccessibilityNodeObject::visibleText):
      (WebCore::AccessibilityNodeObject::title):
      
      LayoutTests: AX: WebKit concatenates name of all toolbar buttons in the apple.com video player
      https://bugs.webkit.org/show_bug.cgi?id=126914
      
      Reviewed by Mario Sanchez Prada.
      
      * accessibility/focusable-div-expected.txt:
      * accessibility/focusable-div.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f23b89a
    • ap@apple.com's avatar
      Update JS whitespace definition for changes in Unicode 6.3 · 63ac2eb7
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127450
      <rdar://15863457>
      
      Reviewed by Oliver Hunt.
      
      Covered by existing tests when running against a Unicode back-end that supports
      Unicode 6.3 or higher.
      
      * runtime/JSGlobalObjectFunctions.cpp: (JSC::isStrWhiteSpace): Explicitly allow
      U+180E MONGOLIAN VOWEL SEPARATOR, because we need to keep recognizing all characters
      that used to be whitespace.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162575 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      63ac2eb7
    • dfarler@apple.com's avatar
      ASAN builds are broken - missing flags · bfa3b26c
      dfarler@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127231
      
      Reviewed by Andy Estes.
      
      Add missing $(ASAN_OTHER_LDFLAGS).
      * Configurations/PluginProcessShim.xcconfig:
      * Configurations/SecItemShim.xcconfig:
      * Configurations/WebKit2.xcconfig:
      * Configurations/WebProcessShim.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfa3b26c
    • aestes@apple.com's avatar
      [iOS] Prepare for upstreaming DumpRenderTree changes · f513a4c7
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127412
      
      Reviewed by Simon Fraser.
      
      Unlike on Mac where DumpRenderTree is a command-line tool, on iOS it is
      an application bundle. Instead of upstreaming a separate target for the
      app that duplicates the 'Compile Sources' phase of the tool, separate
      out the compilation into a static library target that both the
      command-line tool and the app can link against. Also, perform some
      unrelated cleanup.
      
      * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Updated the
      project file format from 2.4- to 3.2-compatible. Removed the
      'Copy Headers' build phase and removed all files from the
      'Compile Sources' build phase of DumpRenderTree. Added some files that
      were missing from the project. Created a 'DumpRenderTree (Library)'
      target for building the static library and made the 'DumpRenderTree'
      target depend on it. Added a 'Compile Sources' build phase to this
      target that builds the same files the DumpRenderTree target used to.
      Created DumpRenderTreeMain.mm as the only source file of the
      DumpRenderTree target, since targets won't link a binary without at
      least one source file. Made DumpRenderTree (Library) use
      DumpRenderTreeLibrary.xcconfig and made LayoutTestHelper use
      BaseTarget.xcconfig (so that it doesn't try to link libDumpRenderTree.a).
      * DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Moved
      definitions of GCC_ENABLE_OBJC_EXCEPTIONS and GCC_PREFIX_HEADER from
      DumpRenderTree.xcconfig to here so that LayoutTestHelper can use them.
      * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Passed
      -force_load $(BUILT_PRODUCTS_DIR)libDumpRenderTree.a to OTHER_LDFLAGS.
      This is needed to correctly link a static library containing an Objective-C
      category (see <https://developer.apple.com/library/mac/qa/qa1490/_index.html>).
      * DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig: Added.
      * DumpRenderTree/mac/DumpRenderTree.mm:
      (DumpRenderTreeMain): Renamed from main.
      * DumpRenderTree/mac/DumpRenderTreeMac.h: Added declaration of DumpRenderTreeMain.
      * DumpRenderTree/mac/DumpRenderTreeMain.mm: Added.
      (main): Called DumpRenderTreeMain from main.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f513a4c7
    • beidson@apple.com's avatar
      Source/WebCore: The IDB backing store get() method shouldn't call IDB callbacks directly · 4c4044de
      beidson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127453
      
      Reviewed by Beth Dakin.
      
      * Modules/indexeddb/IDBServerConnection.h:
      (WebCore::IDBGetResult::IDBGetResult): Add a new structure to hold all of the
        possible results of a get() call.
      
      * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
      (WebCore::IDBServerConnectionLevelDB::get): Don't call IDBCallbacks directly.
        Instead, return the GetResult to the GetOperation which will make IDBCallbacks.
      * Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
      
      * Modules/indexeddb/IDBTransactionBackendOperations.cpp:
      (WebCore::GetOperation::perform): Get all of the IDBGetResults in the completion callback
        make the appropriate IDBCallback.
      * Modules/indexeddb/IDBTransactionBackendOperations.h:
      
      Source/WebKit2: The IDB backing store get() method shouldn't call IDB callbacks directly
      https://bugs.webkit.org/show_bug.cgi?id=127453
      
      Reviewed by Beth Dakin.
      
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
      (WebKit::WebIDBServerConnection::get):
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c4044de
    • commit-queue@webkit.org's avatar
      Enable Session API. · 2b394b0b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127255
      
      Patch by Martin Hock <mhock@apple.com> on 2014-01-22
      Reviewed by Alexey Proskuryakov.
      
      * NetworkProcess/NetworkConnectionToWebProcess.cpp:
      (WebKit::storageSession):
      * NetworkProcess/NetworkResourceLoader.cpp:
      (WebKit::NetworkResourceLoader::NetworkResourceLoader):
      (WebKit::NetworkResourceLoader::start):
      * NetworkProcess/NetworkResourceLoader.h:
      * NetworkProcess/RemoteNetworkingContext.h:
      * NetworkProcess/mac/RemoteNetworkingContext.mm:
      (WebKit::RemoteNetworkingContext::storageSession):
      (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
      * Shared/Network/NetworkResourceLoadParameters.cpp:
      (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
      (WebKit::NetworkResourceLoadParameters::encode):
      (WebKit::NetworkResourceLoadParameters::decode):
      * Shared/Network/NetworkResourceLoadParameters.h:
      * Shared/SessionTracker.cpp:
      (WebKit::staticSessionMap):
      (WebKit::SessionTracker::sessionMap):
      (WebKit::SessionTracker::session):
      (WebKit::SessionTracker::setSession):
      (WebKit::SessionTracker::destroySession):
      * Shared/SessionTracker.h:
      * UIProcess/API/C/WKPage.cpp:
      (WKPageSetSession):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/API/C/WKSessionRef.cpp:
      (WKSessionCreate):
      * UIProcess/API/C/WKSessionRef.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::setSession):
      * UIProcess/WebPageProxy.h:
      * WebProcess/Network/WebResourceLoadScheduler.cpp:
      (WebKit::WebResourceLoadScheduler::scheduleLoad):
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::loadResourceSynchronously):
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
      (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
      (WebKit::WebFrameNetworkingContext::storageSession):
      * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
      (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::startDownload):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage):
      (WebKit::WebPage::sessionID):
      (WebKit::WebPage::updatePreferences):
      * WebProcess/WebPage/WebPage.h:
      (WebKit::WebPage::setSessionID):
      * WebProcess/WebPage/WebPage.messages.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2b394b0b
    • dino@apple.com's avatar
      Unreviewed attempt to fix 32-bit builds. · 52df9256
      dino@apple.com authored
      Use long long rather than GC3Dintptr.
      
      * html/canvas/ANGLEInstancedArrays.cpp:
      (WebCore::ANGLEInstancedArrays::drawElementsInstancedANGLE):
      * html/canvas/ANGLEInstancedArrays.h:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::drawElementsInstanced):
      * html/canvas/WebGLRenderingContext.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52df9256
    • beidson@apple.com's avatar
      IDB: "Put" support · 0f1c94b6
      beidson@apple.com authored
      <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401
      
      Reviewed by Alexey Proskuryakov.
      
      Source/WebCore:
      
      Add persistent encode/decode for storage to the database:
      * Modules/indexeddb/IDBKey.cpp:
      (WebCore::IDBKey::encode):
      (WebCore::IDBKey::decode):
      * Modules/indexeddb/IDBKey.h:
      
      Add a data class to represent IDBKey suitable for crossing IPC:
      * Modules/indexeddb/IDBKeyData.cpp: Added.
      (WebCore::IDBKeyData::IDBKeyData):
      (WebCore::IDBKeyData::maybeCreateIDBKey):
      (WebCore::IDBKeyData::isolatedCopy):
      * Modules/indexeddb/IDBKeyData.h: Added.
      (WebCore::IDBKeyData::IDBKeyData):
      
      * platform/CrossThreadCopier.cpp:
      (WebCore::IDBKeyData>::copy):
      * platform/CrossThreadCopier.h:
      
      * WebCore.exp.in:
      * WebCore.xcodeproj/project.pbxproj:
      
      Source/WebKit2:
      
      Ship putRecord requests over to the DatabaseProcess, and listen for completion from the DatabaseProcess:
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
      (WebKit::WebIDBServerConnection::put):
      (WebKit::WebIDBServerConnection::didPutRecord):
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
      * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
      
      Pass off the putRecord request to the Unique IDBDatabase:
      * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
      (WebKit::DatabaseProcessIDBConnection::putRecord):
      * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
      * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
      
      Pass off the putRecord request to the backing store:
      * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
      (WebKit::UniqueIDBDatabase::putRecord):
      (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
      (WebKit::UniqueIDBDatabase::didPutRecordInBackingStore):
      * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
      
      Add backing store methods related to putRecord, though only one is critical right now:
      * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
      * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
      (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
      (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKey):
      (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
      (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
      (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator):
      * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
      
      Add the IDBKeyData type to IPC:
      * Scripts/webkit2/messages.py:
      (struct_or_class):
      
      * Shared/WebCoreArgumentCoders.cpp:
      (IPC::ArgumentCoder<IDBKeyData>::encode):
      (IPC::ArgumentCoder<IDBKeyData>::decode):
      * Shared/WebCoreArgumentCoders.h:
      
      * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
      (WebKit::serializeIDBKey):
      * DatabaseProcess/IndexedDB/IDBSerialization.h:
      
      Implement more cross-thread copying:
      * Shared/WebCrossThreadCopier.cpp:
      (WebCore::Vector<uint8_t>>::copy):
      (WebCore::Vector<Vector<IDBKeyData>>>::copy):
      (WebCore::ASCIILiteral>::copy):
      * Shared/WebCrossThreadCopier.h:
      
      Implement more numbers of generic AsyncTask templates:
      * Shared/AsyncTask.h:
      (WebKit::createAsyncTask):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0f1c94b6
    • dino@apple.com's avatar
      Source/WebCore: [WebGL] Implement ANGLE_instanced_arrays · 81d4ed94
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127257
      
      Reviewed by Brent Fulgham.
      
      Implement the instanced drawing WebGL extension,
      ANGLE_instanced_arrays. This is currently Mac-only,
      but should be portable to other platforms if their
      OpenGL exposes the functions. It's also done in a way
      that will make exposing it to WebGL2 simple.
      
      Test: fast/canvas/webgl/angle-instanced-arrays.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      Add the new files to all the build systems.
      
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::toJS): Link JS side to C++ side.
      
      * html/canvas/ANGLEInstancedArrays.cpp: Added.
      (WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
      * html/canvas/ANGLEInstancedArrays.h: Added.
      * html/canvas/ANGLEInstancedArrays.idl: Added.
      New boilerplate files that expose the extension methods.
      
      * html/canvas/WebGLExtension.h: New extension enum.
      
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore::WebGLRenderingContext::validateVertexAttributes): Add an optional
      parameter representing the number of instance primitives we are asked
      to draw. Use that for the draw count if looking at an instanced attribute.
      Also make sure we see at least one non-instanced attribute.
      (WebCore::WebGLRenderingContext::validateDrawArrays): Update this so it could
      be used from either drawArrays or drawArraysInstanced.
      (WebCore::WebGLRenderingContext::drawArrays):
      (WebCore::WebGLRenderingContext::validateDrawElements): Same here, now can be
      used by the instanced and non-instanced versions.
      (WebCore::WebGLRenderingContext::drawElements):
      (WebCore::WebGLRenderingContext::getExtension): Create and return the new extension.
      (WebCore::WebGLRenderingContext::getSupportedExtensions): Add new extension to the list.
      (WebCore::WebGLRenderingContext::getVertexAttrib): Intercept a query to the divisor
      attribute and return the value we kept in the state.
      (WebCore::WebGLRenderingContext::drawArraysInstanced): Call the GC3D method.
      (WebCore::WebGLRenderingContext::drawElementsInstanced): Ditto.
      (WebCore::WebGLRenderingContext::vertexAttribDivisor): Ditto.
      
      * html/canvas/WebGLRenderingContext.h: Define the new methods and parameters.
      
      * html/canvas/WebGLVertexArrayObjectOES.cpp:
      (WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Keep a record of the
      divisor if we set it.
      * html/canvas/WebGLVertexArrayObjectOES.h:
      (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
      
      * platform/graphics/GraphicsContext3D.h: New enum.
      * platform/graphics/mac/GraphicsContext3DMac.mm:
      (WebCore::GraphicsContext3D::drawArraysInstanced): The actual calls into OpenGL.
      (WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
      (WebCore::GraphicsContext3D::vertexAttribDivisor): Ditto.
      
      * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Empty implementations
      for non-mac platforms.
      
      * platform/graphics/ios/GraphicsContext3DIOS.h: Define the iOS names for the
      functions.
      
      LayoutTests: Implement ANGLE_instanced_arrays
      https://bugs.webkit.org/show_bug.cgi?id=127257
      
      Reviewed by Brent Fulgham.
      
      Copied a slightly modified version of the Khronos instanced
      arrays test (mostly modified due to the fact this comes from
      an in-progress update to the test suite).
      
      * fast/canvas/webgl/angle-instanced-arrays-expected.txt: Added.
      * fast/canvas/webgl/angle-instanced-arrays.html: Added.
      * fast/canvas/webgl/resources/webgl-test-utils.js:
      (WebGLTestUtils): Added some new functions that were missing, and
      some output to a checkColor test.
      * platform/efl/TestExpectations: Skip this for EFL.
      * platform/mac-mountainlion/fast/canvas/webgl/angle-instanced-arrays-expected.txt: Not
      supported on Mountain Lion.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81d4ed94
    • timothy@apple.com's avatar
      Improve collapsing of TimelineDataGridNode graphs up to ancestors. · aaddc8bd
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127440
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/TimelineDataGridNode.js:
      (WebInspector.TimelineDataGridNode.prototype.collapse):
      (WebInspector.TimelineDataGridNode.prototype.createCellContent):
      (WebInspector.TimelineDataGridNode.prototype.refresh):
      (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
      Notify the next visible ancestor it needs to refresh. Use needsGraphRefresh so ancestors
      are notified instead of directly calling refreshGraph in some places.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aaddc8bd
    • zalan@apple.com's avatar
      Unreviewed Apple Windows port gardering after r162553. · 72cce00c
      zalan@apple.com authored
      * platform/win/fast/repaint/reflection-redraw-expected.txt: Added.
      * platform/win/fast/table/dynamic-caption-add-remove-before-child-expected.txt: Added.
      * platform/win/fast/table/multiple-captions-display-expected.txt: Added.
      * platform/win/tables/mozilla/marvin/body_col-a-expected.txt: Added.
      * platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Added.
      * platform/win/tables/mozilla/other/body_col-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      72cce00c
    • andersca@apple.com's avatar
      WKProcessClass should create a WebContext · 26c7ef46
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127449
      <rdar://problem/15885582>
      
      Reviewed by Dan Bernstein.
      
      * Shared/Cocoa/APIObject.mm:
      (API::Object::newObject):
      * UIProcess/API/Cocoa/WKBrowsingContextController.h:
      * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
      * UIProcess/API/Cocoa/WKProcessClass.mm:
      (-[WKProcessClass initWithConfiguration:]):
      (-[WKProcessClass dealloc]):
      (-[WKProcessClass API::]):
      * UIProcess/API/Cocoa/WKProcessClassInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h.
      (WebKit::wrapper):
      * UIProcess/API/Cocoa/WKProcessGroup.mm:
      (-[WKProcessGroup initWithInjectedBundleURL:]):
      * UIProcess/API/ios/WKContentView.mm:
      (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
      * WebKit2.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162562 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      26c7ef46
    • timothy@apple.com's avatar
      Don't include a hidden Timeline selection in the navigation path components. · 0a4afe21
      timothy@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127443
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/GeneralTreeElementPathComponent.js:
      (WebInspector.GeneralTreeElementPathComponent.prototype.get previousSibling):
      (WebInspector.GeneralTreeElementPathComponent.prototype.get nextSibling):
      Skip hidden siblings.
      
      * UserInterface/OverviewTimelineView.js:
      (WebInspector.OverviewTimelineView.prototype.updateLayout):
      (WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
      Don't include hidden selection and dispatch SelectionPathComponentsDidChange event if hidden changes.
      
      * UserInterface/TimelineContentView.js:
      (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
      Dispatch SelectionPathComponentsDidChange event if hidden changes on the selected tree element.
      
      * UserInterface/TimelineView.js:
      (WebInspector.TimelineView.prototype.get selectionPathComponents):
      Don't include hidden selection.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162561 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0a4afe21
    • timothy@apple.com's avatar
      Support collapsing call site records into the resource timeline. · a8da91f0
      timothy@apple.com authored
      Also fix some filtering and graph issues.
      
      https://bugs.webkit.org/show_bug.cgi?id=127440
      
      Reviewed by Joseph Pecoraro.
      
      * UserInterface/NavigationSidebarPanel.js:
      (WebInspector.NavigationSidebarPanel.prototype.updateFilter):
      (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.matchTextFilter):
      (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement.makeVisible):
      (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
      (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
      Tweak how filtering happens so custom filters never expand to reveal and auto expanded
      tree elements will auto-collapse again later even with custom filters.
      
      * UserInterface/OverviewTimelineView.css:
      (.timeline-view.overview > .data-grid tr.parent:not(.expanded) td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
      (.timeline-view.overview > .data-grid tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
      (.timeline-view.overview > .data-grid:focus tr.parent:not(.expanded).selected td.graph-column .timeline-record-bar:not(.timeline-record-type-network) > .segment):
      Add a shadow to provide some negative space between juxtaposed records. Only needed when not expanded and not netwrok records.
      
      * UserInterface/OverviewTimelineView.js:
      (WebInspector.OverviewTimelineView.prototype.updateLayout):
      (WebInspector.OverviewTimelineView.prototype._addResourceToTreeIfNeeded):
      Update the filter when current time changes and only auto expand the main resource.
      
      * UserInterface/ResourceTimelineDataGridNode.js:
      (WebInspector.ResourceTimelineDataGridNode):
      (WebInspector.ResourceTimelineDataGridNode.prototype._timelineRecordUpdated):
      Don't schedule a refresh of the graph if the record isn't visible.
      
      * UserInterface/SourceCodeTimelineTimelineDataGridNode.js:
      (WebInspector.SourceCodeTimelineTimelineDataGridNode):
      (WebInspector.SourceCodeTimelineTimelineDataGridNode.prototype._timelineRecordAdded):
      Don't schedule a refresh of the graph if the record isn't visible.
      
      * UserInterface/TimelineContentView.js:
      (WebInspector.TimelineContentView.prototype._timeRangeSelectionChanged):
      Remove the boolean for updateFilter.
      
      * UserInterface/TimelineDataGrid.js:
      (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
      (WebInspector.TimelineDataGrid.prototype._sort):
      Keep the hidden state in-sync between node and element.
      
      * UserInterface/TimelineDataGridNode.js:
      (WebInspector.TimelineDataGridNode.prototype.collapse):
      (WebInspector.TimelineDataGridNode.prototype.expand):
      (WebInspector.TimelineDataGridNode.prototype.appendChild):
      (WebInspector.TimelineDataGridNode.prototype.insertChild):
      (WebInspector.TimelineDataGridNode.prototype.removeChild):
      (WebInspector.TimelineDataGridNode.prototype.removeChildren):
      (WebInspector.TimelineDataGridNode.prototype.removeChildrenRecursive):
      (WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBarsForRecords):
      (WebInspector.TimelineDataGridNode.prototype.refreshGraph.else.collectRecordsByType.get if):
      (WebInspector.TimelineDataGridNode.prototype.needsGraphRefresh):
      (WebInspector.TimelineDataGridNode.prototype.isRecordVisible):
      Support drawing the children records on the parent graph.
      
      * UserInterface/TimelineRecordBar.css:
      (.timeline-record-bar.unfinished > .segment):
      (:focus .selected .timeline-record-bar > .segment):
      (:focus .selected .timeline-record-bar > .segment.inactive):
      (:focus .selected .timeline-record-bar.has-inactive-segment > .segment:not(.inactive)):
      Tweaked styles to look bettwen when selected.
      
      * UserInterface/TimelineRecordBar.js:
      (WebInspector.TimelineRecordBar.recordsCannotBeCombined):
      (WebInspector.TimelineRecordBar.prototype.set records):
      (WebInspector.TimelineRecordBar.prototype.refresh):
      Drive-by fixes for some bug with bars being reused.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8da91f0
    • zalan@apple.com's avatar
      [CSS Shapes] shape-inside rectangle layout can fail · 588b6e43
      zalan@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=124784
      
      Reviewed by Darin Adler.
      
      Early subpixel rounding/flooring/ceiling can have unwanted
      side effect on the final pixel value. Delay pixel
      conversions as much as possible.
      
      Existing test is changed to reflect subpixel functionality.
      
      Source/WebCore:
      
      * rendering/shapes/RectangleShape.cpp:
      (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
      
      LayoutTests:
      
      * fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top-expected.html:
      * platform/mac/TestExpectations:
      * platform/win/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      588b6e43
    • timothy_horton@apple.com's avatar
      Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy) · 7e1519a7
      timothy_horton@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=127445
      
      Reviewed by Anders Carlsson.
      
      * UIProcess/API/ios/WKContentView.mm:
      (-[WKContentView _updateViewExposedRect]):
      * UIProcess/API/mac/WKView.mm:
      (-[WKView _updateViewExposedRect]):
      Null-check.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162556 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e1519a7
    • jochen@chromium.org's avatar
      Add protocolIsInHTTPFamily for strings and use it where appropriate · 7e94f53b
      jochen@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=127336
      
      Reviewed by Alexey Proskuryakov.
      
      * html/HTMLAnchorElement.cpp:
      (WebCore::HTMLAnchorElement::parseAttribute):
      * page/ContentSecurityPolicy.cpp:
      (WebCore::CSPSource::schemeMatches):
      * page/SecurityPolicy.cpp:
      (WebCore::SecurityPolicy::generateReferrerHeader):
      * platform/URL.cpp:
      (WebCore::protocolIsInHTTPFamily):
      * platform/URL.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162555 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7e94f53b