WebKit-https.git
5 years ago[GLIB] Use GUniquePtr instead of GOwnPtr
carlosgc@webkit.org [Thu, 23 Jan 2014 07:53:48 +0000 (07:53 +0000)]
[GLIB] Use GUniquePtr instead of GOwnPtr
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: https://svn.webkit.org/repository/webkit/trunk@162599 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoPoor man's fast breakpoints for a 2.3x debugger speedup.
mark.lam@apple.com [Thu, 23 Jan 2014 07:39:58 +0000 (07:39 +0000)]
Poor man's fast breakpoints for a 2.3x debugger speedup.
<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: https://svn.webkit.org/repository/webkit/trunk@162598 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSurround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
simon.fraser@apple.com [Thu, 23 Jan 2014 06:32:12 +0000 (06:32 +0000)]
Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
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: https://svn.webkit.org/repository/webkit/trunk@162597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoVersioning.
lforschler@apple.com [Thu, 23 Jan 2014 05:08:03 +0000 (05:08 +0000)]
Versioning.

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

5 years agoAdd a minimalistic SPI to control the layout size outside of WKView
benjamin@webkit.org [Thu, 23 Jan 2014 05:04:43 +0000 (05:04 +0000)]
Add a minimalistic SPI to control the layout size outside of WKView
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: https://svn.webkit.org/repository/webkit/trunk@162590 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed EFL gardening after r162553.
jinwoo7.song@samsung.com [Thu, 23 Jan 2014 04:31:30 +0000 (04:31 +0000)]
Unreviewed EFL gardening after r162553.

* 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: https://svn.webkit.org/repository/webkit/trunk@162589 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
mmaxfield@apple.com [Thu, 23 Jan 2014 04:24:23 +0000 (04:24 +0000)]
ASSERTION FAILED: v.isFixed() in WebCore::RenderStyle::setWordSpacing
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: https://svn.webkit.org/repository/webkit/trunk@162588 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAX: Can't always increment web sliders.
samuel_white@apple.com [Thu, 23 Jan 2014 04:12:53 +0000 (04:12 +0000)]
AX: Can't always increment web sliders.
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: https://svn.webkit.org/repository/webkit/trunk@162587 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix a small issue in my recently committed ChangeLog
mrobinson@webkit.org [Thu, 23 Jan 2014 03:55:23 +0000 (03:55 +0000)]
Fix a small issue in my recently committed ChangeLog

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

5 years ago[GTK] [CMake] run-webkit-tests should support the CMake build
mrobinson@webkit.org [Thu, 23 Jan 2014 03:50:08 +0000 (03:50 +0000)]
[GTK] [CMake] run-webkit-tests should support the CMake build
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: https://svn.webkit.org/repository/webkit/trunk@162585 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
jinwoo7.song@samsung.com [Thu, 23 Jan 2014 03:09:37 +0000 (03:09 +0000)]
[EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
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: https://svn.webkit.org/repository/webkit/trunk@162584 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSupport WebSelections in WK2 on iOS.
enrica@apple.com [Thu, 23 Jan 2014 02:56:44 +0000 (02:56 +0000)]
Support WebSelections in WK2 on iOS.
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: https://svn.webkit.org/repository/webkit/trunk@162582 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[EFL] Remove unnecessary smart method since ewk_view_tiled removed
ryuan.choi@samsung.com [Thu, 23 Jan 2014 02:24:10 +0000 (02:24 +0000)]
[EFL] Remove unnecessary smart method since ewk_view_tiled removed
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: https://svn.webkit.org/repository/webkit/trunk@162581 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWKBrowsingContextController should not be an API wrapper around WebPageProxy
andersca@apple.com [Thu, 23 Jan 2014 02:24:06 +0000 (02:24 +0000)]
WKBrowsingContextController should not be an API wrapper around WebPageProxy
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: https://svn.webkit.org/repository/webkit/trunk@162580 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove CSS3_TEXT_DECORATION define
mmaxfield@apple.com [Thu, 23 Jan 2014 02:19:42 +0000 (02:19 +0000)]
Remove CSS3_TEXT_DECORATION define
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: https://svn.webkit.org/repository/webkit/trunk@162579 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDebug mechanism to override process QoS on Mac
barraclough@apple.com [Thu, 23 Jan 2014 02:16:43 +0000 (02:16 +0000)]
Debug mechanism to override process QoS on Mac
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: https://svn.webkit.org/repository/webkit/trunk@162578 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSource/WebCore: AX: Do not return an accessible name for an object just because it...
cfleizach@apple.com [Thu, 23 Jan 2014 02:01:39 +0000 (02:01 +0000)]
Source/WebCore: AX: Do not return an accessible name for an object just because it has tabindex=0
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: https://svn.webkit.org/repository/webkit/trunk@162576 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUpdate JS whitespace definition for changes in Unicode 6.3
ap@apple.com [Thu, 23 Jan 2014 01:35:51 +0000 (01:35 +0000)]
Update JS whitespace definition for changes in Unicode 6.3
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: https://svn.webkit.org/repository/webkit/trunk@162575 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoASAN builds are broken - missing flags
dfarler@apple.com [Thu, 23 Jan 2014 01:17:37 +0000 (01:17 +0000)]
ASAN builds are broken - missing flags
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: https://svn.webkit.org/repository/webkit/trunk@162574 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] Prepare for upstreaming DumpRenderTree changes
aestes@apple.com [Thu, 23 Jan 2014 01:11:06 +0000 (01:11 +0000)]
[iOS] Prepare for upstreaming DumpRenderTree changes
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: https://svn.webkit.org/repository/webkit/trunk@162573 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSource/WebCore: The IDB backing store get() method shouldn't call IDB callbacks directly
beidson@apple.com [Thu, 23 Jan 2014 00:30:14 +0000 (00:30 +0000)]
Source/WebCore: 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.

* 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: https://svn.webkit.org/repository/webkit/trunk@162569 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoEnable Session API.
commit-queue@webkit.org [Thu, 23 Jan 2014 00:28:20 +0000 (00:28 +0000)]
Enable Session API.
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: https://svn.webkit.org/repository/webkit/trunk@162568 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed attempt to fix 32-bit builds.
dino@apple.com [Wed, 22 Jan 2014 23:58:39 +0000 (23:58 +0000)]
Unreviewed attempt to fix 32-bit builds.

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: https://svn.webkit.org/repository/webkit/trunk@162567 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoIDB: "Put" support
beidson@apple.com [Wed, 22 Jan 2014 23:48:27 +0000 (23:48 +0000)]
IDB: "Put" support
<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: https://svn.webkit.org/repository/webkit/trunk@162566 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSource/WebCore: [WebGL] Implement ANGLE_instanced_arrays
dino@apple.com [Wed, 22 Jan 2014 23:47:24 +0000 (23:47 +0000)]
Source/WebCore: [WebGL] Implement ANGLE_instanced_arrays
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: https://svn.webkit.org/repository/webkit/trunk@162565 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoImprove collapsing of TimelineDataGridNode graphs up to ancestors.
timothy@apple.com [Wed, 22 Jan 2014 23:27:06 +0000 (23:27 +0000)]
Improve collapsing of TimelineDataGridNode graphs up to ancestors.

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: https://svn.webkit.org/repository/webkit/trunk@162564 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed Apple Windows port gardering after r162553.
zalan@apple.com [Wed, 22 Jan 2014 23:22:44 +0000 (23:22 +0000)]
Unreviewed Apple Windows port gardering after r162553.

* 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: https://svn.webkit.org/repository/webkit/trunk@162563 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWKProcessClass should create a WebContext
andersca@apple.com [Wed, 22 Jan 2014 23:14:38 +0000 (23:14 +0000)]
WKProcessClass should create a WebContext
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: https://svn.webkit.org/repository/webkit/trunk@162562 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDon't include a hidden Timeline selection in the navigation path components.
timothy@apple.com [Wed, 22 Jan 2014 22:57:21 +0000 (22:57 +0000)]
Don't include a hidden Timeline selection in the navigation path components.

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: https://svn.webkit.org/repository/webkit/trunk@162561 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSupport collapsing call site records into the resource timeline.
timothy@apple.com [Wed, 22 Jan 2014 22:57:11 +0000 (22:57 +0000)]
Support collapsing call site records into the resource timeline.

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: https://svn.webkit.org/repository/webkit/trunk@162560 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[CSS Shapes] shape-inside rectangle layout can fail
zalan@apple.com [Wed, 22 Jan 2014 22:56:17 +0000 (22:56 +0000)]
[CSS Shapes] shape-inside rectangle layout can fail
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: https://svn.webkit.org/repository/webkit/trunk@162559 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCrashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy)
timothy_horton@apple.com [Wed, 22 Jan 2014 22:18:28 +0000 (22:18 +0000)]
Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy)
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: https://svn.webkit.org/repository/webkit/trunk@162556 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd protocolIsInHTTPFamily for strings and use it where appropriate
jochen@chromium.org [Wed, 22 Jan 2014 22:17:33 +0000 (22:17 +0000)]
Add protocolIsInHTTPFamily for strings and use it where appropriate
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: https://svn.webkit.org/repository/webkit/trunk@162555 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd WKWebView class
andersca@apple.com [Wed, 22 Jan 2014 22:16:37 +0000 (22:16 +0000)]
Add WKWebView class
https://bugs.webkit.org/show_bug.cgi?id=127444
<rdar://problem/15884418>

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKWebView.h: Added.
* UIProcess/API/Cocoa/WKWebView.mm: Added.
(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView configuration]):
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoSubpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox...
zalan@apple.com [Wed, 22 Jan 2014 22:03:29 +0000 (22:03 +0000)]
Subpixel Layout: SimpleLineLayout needs more position rounding to match InlineFlowBox layout.
https://bugs.webkit.org/show_bug.cgi?id=127404

Reviewed by Antti Koivisto.

In order to produce a CSS pixel perfect layout, SimpleLineLayout needs to
round line positions to CSS (integral) position similarly to InlineFlowBox.

Source/WebCore:

Existing tests cover it.

* rendering/SimpleLineLayoutResolver.h:
(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::Run::baseline):

LayoutTests:

* platform/mac/css1/box_properties/padding-expected.txt:
* platform/mac/css1/box_properties/padding_top-expected.txt:
* platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
* platform/mac/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
* platform/mac/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
* platform/mac/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
* platform/mac/fast/css/empty-pseudo-class-expected.txt:
* platform/mac/fast/css/fieldset-display-row-expected.txt:
* platform/mac/fast/css/first-child-pseudo-class-expected.txt:
* platform/mac/fast/css/last-child-pseudo-class-expected.txt:
* platform/mac/fast/css/only-child-pseudo-class-expected.txt:
* platform/mac/fast/repaint/reflection-redraw-expected.txt:
* platform/mac/fast/shapes/shape-inside/shape-inside-subpixel-rectangle-top-expected.png: Removed.
* platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
* platform/mac/fast/table/multiple-captions-display-expected.txt:
* platform/mac/tables/mozilla/marvin/body_col-expected.txt:
* platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
* platform/mac/tables/mozilla/other/body_col-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
* platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt:
* platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:

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

5 years agoUnreviewed rollout of r162534, this caused inspector test failures.
joepeck@webkit.org [Wed, 22 Jan 2014 21:02:16 +0000 (21:02 +0000)]
Unreviewed rollout of r162534, this caused inspector test failures.

* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::addListener):
(WebCore::PageScriptDebugServer::removeListener):
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
(WebCore::PageScriptDebugServer::didRemoveLastListener):
* bindings/js/PageScriptDebugServer.h:
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::ScriptDebugServer):
(WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
(WebCore::ScriptDebugServer::recompileAllJSFunctionsTimerFired):
* bindings/js/ScriptDebugServer.h:
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
(WebCore::WorkerScriptDebugServer::removeListener):
* inspector/InspectorProfilerAgent.cpp:

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

5 years agoFix 32-bit build.
andersca@apple.com [Wed, 22 Jan 2014 20:29:41 +0000 (20:29 +0000)]
Fix 32-bit build.

* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

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

5 years ago[wk2] Scroll pinning state is wrong until the first scroll event
timothy_horton@apple.com [Wed, 22 Jan 2014 20:18:39 +0000 (20:18 +0000)]
[wk2] Scroll pinning state is wrong until the first scroll event
https://bugs.webkit.org/show_bug.cgi?id=127437

Reviewed by Simon Fraser.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didChangeScrollOffset):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateMainFrameScrollOffsetPinning):
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
Rename WebPage::didChangeScrollOffsetForMainFrame to
updateMainFrameScrollOffsetPinning, which better describes what it
actually does. Call it when a load is committed, so that we have valid
pinning state before the first scroll event comes in.

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

5 years agoAdd WKWebViewConfiguration class
andersca@apple.com [Wed, 22 Jan 2014 20:17:35 +0000 (20:17 +0000)]
Add WKWebViewConfiguration class
https://bugs.webkit.org/show_bug.cgi?id=127436
<rdar://problem/15882923>

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebViewConfiguration.h: Added.
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Added.
(-[WKWebViewConfiguration copyWithZone:]):
* WebKit2.xcodeproj/project.pbxproj:

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

5 years ago[WK2] add cocoa API for private browsing setting
alice.liu@apple.com [Wed, 22 Jan 2014 20:08:59 +0000 (20:08 +0000)]
[WK2] add cocoa API for private browsing setting
https://bugs.webkit.org/show_bug.cgi?id=127391

Reviewed by Sam Weinig.

* UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
* UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
(-[WKBrowsingContextGroup privateBrowsingEnabled]):
(-[WKBrowsingContextGroup setPrivateBrowsingEnabled:]):
Adding some API for the private Browsing setting. Reaches through
to the WKPageGroup's preferences.

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

5 years ago[GTK][CMake] build-webkit should try harder to avoid re-running cmake
mrobinson@webkit.org [Wed, 22 Jan 2014 19:55:57 +0000 (19:55 +0000)]
[GTK][CMake] build-webkit should try harder to avoid re-running cmake
https://bugs.webkit.org/show_bug.cgi?id=127073

Reviewed by Daniel Bates.

* Scripts/build-webkit: Unify all the ports that call buildCMakeProjectOrExit with
the new isCMakeBuild conditional. This allows us to share more code between ports.
Pass the build arguments to the removeCMakeCache function.
* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary): Renamed mustReRunAutogen to cachedArgumentFileOutOfDate
because it's now shared with the CMake build.
(cachedArgumentFileOutOfDate): Renamed.
(cmakeCachePath): Added this helper which gets the CMakeCache.txt path.
(shouldRemoveCMakeCache): Tries to preserve current behavior for all ports,
except GTK+ which examines the OptionsGTK.cmake and OptionsCommon.cmake file
as well as checking if build-webkit has been run with different arguments.
(removeCMakeCache): Call shouldRemoveCMakeCache now.
(generateBuildSystemFromCMakeProject): Exit early if CMakeCache.txt exists for GTK+.
(isCMakeBuild): Added.

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

5 years agoCrashes in setTextForIterator
commit-queue@webkit.org [Wed, 22 Jan 2014 19:55:11 +0000 (19:55 +0000)]
Crashes in setTextForIterator
https://bugs.webkit.org/show_bug.cgi?id=127424

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-22
Reviewed by Brent Fulgham.

* platform/text/icu/UTextProviderLatin1.cpp:
(WebCore::uTextLatin1Clone): Provide correct buffer size in utext_setup function call.
(WebCore::uTextLatin1Access): Give correct buffer size to memset call.
(WebCore::openLatin1UTextProvider): Ditto.

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

5 years agoREGRESSION: fast/js/dfg-* typed array tests frequently time out on debug bots
ap@apple.com [Wed, 22 Jan 2014 19:53:24 +0000 (19:53 +0000)]
REGRESSION: fast/js/dfg-* typed array tests frequently time out on debug bots
https://bugs.webkit.org/show_bug.cgi?id=126166

Rubber-stamped by Filip Pizlo.

* TestExpectations: Skipped these tests in debug builds.

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

5 years agoAdd WKProcessClass class
andersca@apple.com [Wed, 22 Jan 2014 19:26:37 +0000 (19:26 +0000)]
Add WKProcessClass class
https://bugs.webkit.org/show_bug.cgi?id=127433
<rdar://problem/15882582>

Reviewed by Dan Bernstein.

Add a stubbed out WKProcessClass class.

* Shared/API/Cocoa/WKFoundation.h:
* UIProcess/API/Cocoa/WKProcessClass.h: Added.
* UIProcess/API/Cocoa/WKProcessClass.mm: Added.
(-[WKProcessClass initWithConfiguration:]):
(-[WKProcessClass configuration]):
* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
* WebKit2.xcodeproj/project.pbxproj:

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

5 years ago[Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
jer.noble@apple.com [Wed, 22 Jan 2014 19:24:20 +0000 (19:24 +0000)]
[Mac] MediaPlayerPrivateMediaSourceAVFObjC::load ASSERTs on lots of tests
https://bugs.webkit.org/show_bug.cgi?id=127430

Reviewed by Eric Carlson.

When other registered media engines cannot load a URL, the engine selection
will eventually pick MediaPlayerPrivateMediaSourceAVFObjC and ask it to load
the URL. Instead of ASSERTing here, simply reject the URL by setting the
network state to FormatError.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):

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

5 years ago[EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
thiago.lacerda@openbossa.org [Wed, 22 Jan 2014 19:21:55 +0000 (19:21 +0000)]
[EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
https://bugs.webkit.org/show_bug.cgi?id=127119

Reviewed by Mario Sanchez Prada.

Source/WebCore:

At build time, the compiler was not able to determine which Timer's constructor to call in AXObjectCache when
ACCESSIBILITY is not enabled, fixing that.
Also guarding some members in AccessibilityObject that are only being used by EFL and GTK with ACCESSIBILITY.

* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXObjectCache):
* accessibility/AccessibilityObject.h:

Source/WebKit/gtk:

Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).

* webkit/webkitwebview.cpp:
(webkit_web_view_class_init):

Source/WebKit2:

Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformInitialize):

Tools:

Guarding ACCESSIBILITY code in DumpRenderTree and WebKitTestRunner with HAVE(ACCESSIBILITY).

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
* DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
(webViewWindowObjectCleared):
(main):
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::platformName):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::isIndeterminate):

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

5 years agoRefactor calculation of hasRx and hasRy values in SVGPathData
commit-queue@webkit.org [Wed, 22 Jan 2014 19:10:51 +0000 (19:10 +0000)]
Refactor calculation of hasRx and hasRy values in SVGPathData
https://bugs.webkit.org/show_bug.cgi?id=127423

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2014-01-22
Reviewed by Darin Adler.

This is a follow-up on https://bugs.webkit.org/show_bug.cgi?id=127337

* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromRectElement):

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

5 years ago[GTK][CMake] Add support for building the NetworkProcess
mrobinson@webkit.org [Wed, 22 Jan 2014 19:00:48 +0000 (19:00 +0000)]
[GTK][CMake] Add support for building the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=127195

Reviewed by Daniel Bates.

.:

* Source/cmake/OptionsGTK.cmake: Turn on the network process and give it
a name like the WebProcess.

Source/WebKit2:

* CMakeLists.txt: Add shared network process build instructions.
* PlatformEfl.cmake: Move build instructions to the platform-independent file.
* PlatformGTK.cmake: Add some files to the source lists.

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

5 years ago[GTK] Avoid a circular dependency when building webkitenumtypes.h
mrobinson@webkit.org [Wed, 22 Jan 2014 18:59:26 +0000 (18:59 +0000)]
[GTK] Avoid a circular dependency when building webkitenumtypes.h
https://bugs.webkit.org/show_bug.cgi?id=127199

Reviewed by Daniel Bates.

* PlatformGTK.cmake: Create a new list of headers consisting of all installed headers
except webkitenumtypes.h. Use this list when generating webkitenumtypes.h.

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

5 years agoWeb Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
joepeck@webkit.org [Wed, 22 Jan 2014 18:57:26 +0000 (18:57 +0000)]
Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
https://bugs.webkit.org/show_bug.cgi?id=127409

Reviewed by Timothy Hatcher.

* bindings/js/ScriptDebugServer.h:
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::ScriptDebugServer):
Remove m_recompileTimer and the recompile soon function.
We can just recompile immediately in all existing cases.

* bindings/js/PageScriptDebugServer.h:
* bindings/js/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::addListener):
(WebCore::PageScriptDebugServer::removeListener):
(WebCore::PageScriptDebugServer::recompileAllJSFunctions):
(WebCore::PageScriptDebugServer::didAddFirstListener):
(WebCore::PageScriptDebugServer::didRemoveLastListener):
Add a "didAddFirstListener" to match "didRemoveLastListener".
Only recompile functions when we attach the debugger and when
we detach the last listener.

* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::addListener):
(WebCore::WorkerScriptDebugServer::removeListener):
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
Same thing. Also rearrange the functions to read better.

* inspector/InspectorProfilerAgent.cpp:
Use the direct recompile function instead of the removed "soon" version.

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

5 years agoREGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
carlosgc@webkit.org [Wed, 22 Jan 2014 18:47:43 +0000 (18:47 +0000)]
REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
https://bugs.webkit.org/show_bug.cgi?id=127422

Reviewed by Anders Carlsson.

* WebProcess/gtk/WebGtkExtensionManager.cpp:
(WebKit::WebGtkExtensionManager::initialize): Always create the
WebKitWebExtension object since it's used internally to implement
the ResourceLoader client.

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

5 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Wed, 22 Jan 2014 18:47:14 +0000 (18:47 +0000)]
Unreviewed EFL gardening

Add some http/tests/websocket/tests/hybi tests to skipped list as they crash
generating thousands lines of error messages.

* platform/efl/TestExpectations:

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

5 years ago[Mac][WK2] Unable to play video protected by session cookies
jer.noble@apple.com [Wed, 22 Jan 2014 18:29:18 +0000 (18:29 +0000)]
[Mac][WK2] Unable to play video protected by session cookies
https://bugs.webkit.org/show_bug.cgi?id=127207

Reviewed by Sam Weinig.

Recent changes in our underlying media frameworks caused our shimmed methods
in CookieStorageShim to stop being called. Insert an objective-c shim in addition
to our original shim to intercept pulling cookies out of cookie storage.

* Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp.
(WebKit::CookieStorageShim::initialize): Insert the shim.
(-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
    Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL().
* WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm.

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

5 years ago[curl] Improve detecting and handling of SSL client certificate
commit-queue@webkit.org [Wed, 22 Jan 2014 18:20:20 +0000 (18:20 +0000)]
[curl] Improve detecting and handling of SSL client certificate
https://bugs.webkit.org/show_bug.cgi?id=125006

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2014-01-22
Reviewed by Brent Fulgham.

Add client certificate handling.

* platform/network/ResourceHandle.h:
* platform/network/curl/ResourceError.h:
(WebCore::ResourceError::hasSSLConnectError):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::setClientCertificateInfo):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::initializeHandle):
* platform/network/curl/SSLHandle.cpp:
(WebCore::addAllowedClientCertificate):
(WebCore::setSSLClientCertificate):
* platform/network/curl/SSLHandle.h:

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

5 years agoRemove unnecessary include in Noncopyable.h
jae.park@company100.net [Wed, 22 Jan 2014 18:16:42 +0000 (18:16 +0000)]
Remove unnecessary include in Noncopyable.h
https://bugs.webkit.org/show_bug.cgi?id=127406

Reviewed by Anders Carlsson.

* wtf/Noncopyable.h: We don't need Compiler.h as of r162198.

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

5 years agoRemember the Timeline Overview zoom and selection between sessions.
timothy@apple.com [Wed, 22 Jan 2014 17:54:32 +0000 (17:54 +0000)]
Remember the Timeline Overview zoom and selection between sessions.

https://bugs.webkit.org/show_bug.cgi?id=127369

Reviewed by Joseph Pecoraro.

* UserInterface/TimelineOverview.js:
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.set secondsPerPixel):
(WebInspector.TimelineOverview.prototype._timeRangeSelectionChanged):

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

5 years agoShow the Resource and Record selection path in the navigation bar for Timeline views.
timothy@apple.com [Wed, 22 Jan 2014 17:54:28 +0000 (17:54 +0000)]
Show the Resource and Record selection path in the navigation bar for Timeline views.

https://bugs.webkit.org/show_bug.cgi?id=127367

Reviewed by Joseph Pecoraro.

* UserInterface/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected):
* UserInterface/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):
* UserInterface/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.get selectionPathComponents):
(WebInspector.OverviewTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
* UserInterface/ScriptTimelineView.js:
(WebInspector.ScriptTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):
* UserInterface/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._timelineViewSelectionPathComponentsDidChange):
(WebInspector.TimelineContentView.prototype._showTimelineView):
* UserInterface/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid.prototype.treeElementForDataGridNode):
(WebInspector.TimelineDataGrid.prototype.dataGridNodeForTreeElement):
* UserInterface/TimelineView.js:
(WebInspector.TimelineView.prototype.get selectionPathComponents):
(WebInspector.TimelineView.prototype.treeElementPathComponentSelected):

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

5 years agoBuild fix for iOS clients of WebUIDelegatePrivate.h.
mitz@apple.com [Wed, 22 Jan 2014 17:35:56 +0000 (17:35 +0000)]
Build fix for iOS clients of WebUIDelegatePrivate.h.

* WebView/WebUIDelegatePrivate.h: Ensure that ENABLE_DASHBOARD_SUPPORT is defined on iOS.

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

5 years ago[CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
commit-queue@webkit.org [Wed, 22 Jan 2014 17:30:13 +0000 (17:30 +0000)]
[CSS Regions] layerOwner in RenderNamedFlowFragment cannot return null
https://bugs.webkit.org/show_bug.cgi?id=127343

Patch by Mihai Maerean <mmaerean@adobe.com> on 2014-01-22
Reviewed by Sam Weinig.

RenderNamedFlowFragment::layerOwner cannot return null because regions create stacking
contexts which create layers.

No new tests, no functional change.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::hasCompositingRegionDescendant):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeRegionCompositingRequirements):
* rendering/RenderNamedFlowFragment.h:

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

5 years agohttps://bugs.webkit.org/show_bug.cgi?id=127380
commit-queue@webkit.org [Wed, 22 Jan 2014 16:41:30 +0000 (16:41 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=127380
Add more methods to WKWebProcessPlugInNodeHandle.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-01-22
Reviewed by Sam Weinig.

Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*.  Also
add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
(-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):

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

5 years agoAvoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
antti@apple.com [Wed, 22 Jan 2014 16:15:53 +0000 (16:15 +0000)]
Avoid unthrottled layer flushes triggered by RenderLayerCompositor::ensureRootLayer
https://bugs.webkit.org/show_bug.cgi?id=127426

Reviewed by Anders Carlsson.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollLayerPosition):
(WebCore::RenderLayerCompositor::frameViewDidScroll):

    Factor scroll layer position update to a function.

(WebCore::RenderLayerCompositor::ensureRootLayer):

    Stop calling frameViewDidChangeSize/frameViewDidScroll. Instead call the relevent functions
    directly. This avoid unthrottled layer flush that is done when the view actually scrolls.

* rendering/RenderLayerCompositor.h:

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

5 years ago[CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
commit-queue@webkit.org [Wed, 22 Jan 2014 14:53:15 +0000 (14:53 +0000)]
[CSS Background Blending] -webkit-background-blend-mode fails for certain SVG files
https://bugs.webkit.org/show_bug.cgi?id=127350

Patch by Mihai Tica <mitica@adobe.com> on 2014-01-22
Reviewed by Dirk Schulze.

Source/WebCore:

The graphics context of the SVG inherits the blend mode set
on the background layer. Fix consists in drawing the SVG
in a transparency layer.

Test: css3/compositing/background-blend-mode-svg.html

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::draw): Begin a transparency layer if a blend mode is set.

LayoutTests:

* css3/compositing/background-blend-mode-svg-expected.html: Added.
* css3/compositing/background-blend-mode-svg.html: Added.

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

5 years ago[GTK] Add GUniquePtr
carlosgc@webkit.org [Wed, 22 Jan 2014 14:03:21 +0000 (14:03 +0000)]
[GTK] Add GUniquePtr
https://bugs.webkit.org/show_bug.cgi?id=127170

Reviewed by Gustavo Noronha Silva.

Source/WTF:

The idea is to replace GOwnPtr with a template alias of
std:unique_ptr. Not everything can be replaced, though, because
GOwnPtr::outPtr() doesn't seem to be possible to implement with
unique_ptr. This smart pointer is more flexible than GOwnPtr and
allows to transfer the ownership of the pointer using
std::move().

* GNUmakefile.list.am: Add new file to compilation.
* wtf/gobject/GUniquePtr.h: Added.
(WTF::GPtrDeleter::operator()):

Tools:

Add unit tests for GUniquePtr.

* TestWebKitAPI/GNUmakefile.am: Add new file to compilation.
* TestWebKitAPI/Tests/WTF/gobject/GUniquePtr.cpp: Added.
(log):
(takeLogStr):
(TestWebKitAPI::TEST):

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

5 years agoUpdate overlay scrollbars in single pass
antti@apple.com [Wed, 22 Jan 2014 13:07:25 +0000 (13:07 +0000)]
Update overlay scrollbars in single pass
https://bugs.webkit.org/show_bug.cgi?id=127289

Source/WebCore:

Reviewed by Anders Carlsson.

* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):

    Multi-pass scrollbar resolution is only needed for traditional scrollbars. Overlay scrollbars don't affect layout.

LayoutTests:

* platform/mac/accessibility/iframe-aria-hidden.html:

    Try to keep this non-flaky by forcing layout. Real fix would probably be in the
    accessibility test framework.

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

5 years agoUnreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449.
carlosgc@webkit.org [Wed, 22 Jan 2014 11:40:00 +0000 (11:40 +0000)]
Unreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449.

* UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
Use override instead of OVERRIDE.

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

5 years agoBuild fixes for FreeBSD.
commit-queue@webkit.org [Wed, 22 Jan 2014 11:15:26 +0000 (11:15 +0000)]
Build fixes for FreeBSD.
https://bugs.webkit.org/show_bug.cgi?id=126779

Patch by Koop Mast <kwm@FreeBSD.org> on 2014-01-22
Reviewed by Csaba Osztrogonác.

* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):

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

5 years agoRemove Nix files from Tools
jinwoo7.song@samsung.com [Wed, 22 Jan 2014 11:03:44 +0000 (11:03 +0000)]
Remove Nix files from Tools
https://bugs.webkit.org/show_bug.cgi?id=127418

Reviewed by Csaba Osztrogonác.

* Scripts/build-webkit:
* Scripts/update-webkit-libs-jhbuild:
* Scripts/webkitdirs.pm:
(determineArchitecture):
(argumentsForConfiguration):
(jscProductDir):
(builtDylibPathForName):
(isAppleWebKit):
(launcherPath):
(launcherName):
(checkRequiredSystemConfig):
(copyInspectorFrontendFiles):
(jhbuildWrapperPrefixIfNeeded):
(buildCMakeProjectOrExit):
(cmakeBasedPortName):
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.port):
(EflWK2Port.build_webkit_command):
* Scripts/webkitpy/port/factory.py:
(platform_options):
(PortFactory):
* Scripts/webkitpy/port/nix.py: Removed.
* Scripts/webkitpy/port/nix_unittest.py: Removed.

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

5 years ago[EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation
jinwoo7.song@samsung.com [Wed, 22 Jan 2014 09:00:33 +0000 (09:00 +0000)]
[EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation
https://bugs.webkit.org/show_bug.cgi?id=127397

Reviewed by Anders Carlsson.

Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
and DispatchQueue::setSocketEventHandler.

* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::open):
* Platform/WorkQueue.h:
* Platform/efl/DispatchQueueEfl.cpp:
(DispatchQueue::setSocketEventHandler):
* Platform/efl/DispatchQueueEfl.h:
* Platform/efl/WorkQueueEfl.cpp:
(WorkQueue::registerSocketEventHandler):

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

5 years agoUnreviewed GTK gardening
changseok.oh@collabora.com [Wed, 22 Jan 2014 08:50:42 +0000 (08:50 +0000)]
Unreviewed GTK gardening

Remove test expectations for passed tests.
fast/parser/document-write-basic.html is marked crash but passed.
fast/forms/select-live-pseudo-selectors.html is marked crash but passed.

* platform/gtk-wk2/TestExpectations:

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

5 years agoinspector-protocol/page/deny-X-FrameOption.html is very flaky
ap@apple.com [Wed, 22 Jan 2014 08:40:08 +0000 (08:40 +0000)]
inspector-protocol/page/deny-X-FrameOption.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=127414

* inspector-protocol/page/deny-X-FrameOption.html: Speculative fix, don't manipulate
a frame before onload, even if it's empty.

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

5 years ago[CSSRegions] Incorrect layout of a region pseudo children
mihnea@adobe.com [Wed, 22 Jan 2014 08:30:47 +0000 (08:30 +0000)]
[CSSRegions] Incorrect layout of a region pseudo children
https://bugs.webkit.org/show_bug.cgi?id=126146

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/collapse-anonymous-region.html

A region behaviour, styled using -webkit-flow-from, is modeled using an anonymous
block created to fragment the named flow content inside the region. We have to prevent
the behaviour of anonymous children collapsing for this block to make sure that the
region element children are still laid out properly when the region element becomes an ordinary
element.

* rendering/RenderBlockFlow.h:

LayoutTests:

* fast/regions/collapse-anonymous-region-expected.html: Added.
* fast/regions/collapse-anonymous-region.html: Added.

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

5 years agoRemove unused "acceleratedCompositingForScrollableFramesEnabled" setting
ryuan.choi@samsung.com [Wed, 22 Jan 2014 07:45:18 +0000 (07:45 +0000)]
Remove unused "acceleratedCompositingForScrollableFramesEnabled" setting
https://bugs.webkit.org/show_bug.cgi?id=127402

Reviewed by Anders Carlsson.

Source/WebCore:

compositing/iframes/iframe-composited-scrolling.html is updated because
there are no usages in WebCore.

* page/Settings.in:

LayoutTests:

* compositing/iframes/iframe-composited-scrolling.html:
Removed acceleratedCompositingForScrollableFramesEnabled changes because
it is dead code in WebCore side.

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

5 years agoCompile fix for using libsoup on Windows.
commit-queue@webkit.org [Wed, 22 Jan 2014 06:36:09 +0000 (06:36 +0000)]
Compile fix for using libsoup on Windows.
https://bugs.webkit.org/show_bug.cgi?id=127377

Patch by Alex Christensen <achristensen@webkit.org> on 2014-01-21
Reviewed by Daniel Bates.

* platform/network/soup/ProxyResolverSoup.cpp:
(soupProxyResolverWkSetProperty):
(soupProxyResolverWkGetProperty):
(soupProxyResolverWkGetProxyURISync):
Replaced uint with unsigned.

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

5 years ago[wk2] De-.get()ify receivers of Objective-C messages
timothy_horton@apple.com [Wed, 22 Jan 2014 06:18:19 +0000 (06:18 +0000)]
[wk2] De-.get()ify receivers of Objective-C messages
https://bugs.webkit.org/show_bug.cgi?id=127398

Reviewed by Sam Weinig.

RetainPtr does the right thing when you use it as the
receiver of an Obj-C message, so we don't need .get().

Long and useless file list elided.

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

5 years agoAdded a method declaration that was missed in r161185.
mitz@apple.com [Wed, 22 Jan 2014 06:08:09 +0000 (06:08 +0000)]
Added a method declaration that was missed in r161185.

Reviewed by Sam Weinig.

* WebView/WebViewPrivate.h: Declared -removeVisitedLink:.

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

5 years agoBreak up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()
dbates@webkit.org [Wed, 22 Jan 2014 05:50:23 +0000 (05:50 +0000)]
Break up single assertion into two assertions in HTMLMediaElement::returnPlatformLayer()

Following up after <http://trac.webkit.org/changeset/162473>, we should break up
the assertion into two assertions as suggested by Darin Adler. Separating the single
assertion into two assertions makes it straightforward to determine the conjunct that
failed among other benefits.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):

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

5 years agoAdd Ian and Ricky to the contributor list
benjamin@webkit.org [Wed, 22 Jan 2014 05:17:27 +0000 (05:17 +0000)]
Add Ian and Ricky to the contributor list

* Scripts/webkitpy/common/config/contributors.json:
I am too old to remember all those email addresses :)

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

5 years agoThe IDB backing store put() method shouldn't call IDB callbacks directly
beidson@apple.com [Wed, 22 Jan 2014 05:15:59 +0000 (05:15 +0000)]
The IDB backing store put() method shouldn't call IDB callbacks directly
https://bugs.webkit.org/show_bug.cgi?id=127399

Reviewed by Beth Dakin.

Source/WebCore:

Refactor the put() callback to take a resulting key or an error.
* Modules/indexeddb/IDBServerConnection.h:

* Modules/indexeddb/IDBTransactionBackendOperations.cpp:
(WebCore::PutOperation::perform): Call to the backing store, then perform the
  appropriate IDB callback whether a key or an error was returned.
* Modules/indexeddb/IDBTransactionBackendOperations.h:

* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
(WebCore::IDBServerConnectionLevelDB::put): Don’t call IDB callbacks directly.
  Instead, pass the resulting key/error back to the PutOperation.
* Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:

Source/WebKit2:

* WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
(WebKit::WebIDBServerConnection::put):
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

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

5 years agoRoll out r162483. It removes SPI that is currently in use.
mrowe@apple.com [Wed, 22 Jan 2014 04:01:01 +0000 (04:01 +0000)]
Roll out r162483. It removes SPI that is currently in use.

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

5 years agoSubpixel Layout: Off-by-one pixel text when multiple regions with different widths...
zalan@apple.com [Wed, 22 Jan 2014 03:24:51 +0000 (03:24 +0000)]
Subpixel Layout: Off-by-one pixel text when multiple regions with different widths are present.
https://bugs.webkit.org/show_bug.cgi?id=127212

Reviewed by Simon Fraser.

Subpixel values accumulate differently when computing the text position inside a 300px wide div
vs. multiple 'flow into' regions with 300px, 400px widths. They are both correct. Blink
also addressed it by adjusting the test content.

* fast/regions/overflow-moving-below-floats-in-variable-width-regions.html:
* platform/mac/TestExpectations:

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

5 years agoUse nullptr in HTMLCanvasElement
jae.park@company100.net [Wed, 22 Jan 2014 02:51:54 +0000 (02:51 +0000)]
Use nullptr in HTMLCanvasElement
https://bugs.webkit.org/show_bug.cgi?id=127388

Reviewed by Gyuyoung Kim.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::drawingContext):
(WebCore::HTMLCanvasElement::existingDrawingContext):

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

5 years agoAssertion failure in Range::nodeWillBeRemoved
commit-queue@webkit.org [Wed, 22 Jan 2014 02:31:45 +0000 (02:31 +0000)]
Assertion failure in Range::nodeWillBeRemoved
https://bugs.webkit.org/show_bug.cgi?id=121694

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Ryosuke Niwa.

Source/WebCore:

Based on Blink a change: https://chromium.googlesource.com/chromium/blink/+/407c1d7b2c45974aa614b3f847ffe9e8fce205fa

This patch fix an assertion failure. Range::nodeWillBeRemoved() might
be called with removed node in ContainerNode, when DOMNodeRemovedFromDocument
event handler calls removeChild(), for node being removed.

Test: fast/dom/Range/remove-twice-crash.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::willRemoveChild):
* dom/ContainerNode.h:

LayoutTests:

* fast/dom/Range/remove-twice-crash-expected.txt: Added.
* fast/dom/Range/remove-twice-crash.html: Added.

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

5 years agoFix 32-bit build.
andersca@apple.com [Wed, 22 Jan 2014 02:22:32 +0000 (02:22 +0000)]
Fix 32-bit build.

* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:

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

5 years ago[EFL][WK2] Use nanoseconds in TimerWorkItem class consistently
jinwoo7.song@samsung.com [Wed, 22 Jan 2014 02:02:53 +0000 (02:02 +0000)]
[EFL][WK2] Use nanoseconds in TimerWorkItem class consistently
https://bugs.webkit.org/show_bug.cgi?id=127263

Reviewed by Gyuyoung Kim.

After r162276 and r162300, TimerWorkItem is getting nanoseconds as parameter.
So it would be better to use nanoseconds in TimerWorkItem for consistency.

* Platform/efl/DispatchQueueEfl.cpp:
(DispatchQueue::performTimerWork):
(DispatchQueue::insertTimerWorkItem):
(DispatchQueue::getNextTimeOut):
* Platform/efl/DispatchQueueWorkItemEfl.h:
(TimerWorkItem::create):
(TimerWorkItem::expirationTimeNanoSeconds):
(TimerWorkItem::hasExpired):
(TimerWorkItem::TimerWorkItem):

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

5 years agoDon't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle.
timothy_horton@apple.com [Wed, 22 Jan 2014 01:59:06 +0000 (01:59 +0000)]
Don't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle.

Reviewed by Simon Fraser.

* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoAdd a WKProcessClassConfiguration class
andersca@apple.com [Wed, 22 Jan 2014 01:57:54 +0000 (01:57 +0000)]
Add a WKProcessClassConfiguration class
https://bugs.webkit.org/show_bug.cgi?id=127378
<rdar://problem/15875413>

Reviewed by Dan Bernstein.

* UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Added.
* UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Added.
(-[WKProcessClassConfiguration copyWithZone:]):
* UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Added.
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoREGRESSION (r161580): Some PDFs render outside their <img>
timothy_horton@apple.com [Wed, 22 Jan 2014 01:34:12 +0000 (01:34 +0000)]
REGRESSION (r161580): Some PDFs render outside their <img>
https://bugs.webkit.org/show_bug.cgi?id=127381
<rdar://problem/15872168>

Reviewed by Simon Fraser.

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::transformContextForPainting):
Only try to make the scale uniform if it isn't already, and use the minimum
of the two original scales when doing so, so that it is absolutely certain
to fit inside space allocated for the image during layout.

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

5 years agoMake ViewGestureController Obj-C++
timothy_horton@apple.com [Wed, 22 Jan 2014 01:18:07 +0000 (01:18 +0000)]
Make ViewGestureController Obj-C++
https://bugs.webkit.org/show_bug.cgi?id=127385

Reviewed by Dean Jackson.

* UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoUnreviewed. WebGLLoadPolicy::WebGLAsk is an unnecessary value.
roger_fong@apple.com [Wed, 22 Jan 2014 00:28:04 +0000 (00:28 +0000)]
Unreviewed. WebGLLoadPolicy::WebGLAsk is an unnecessary value.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
* loader/FrameLoaderTypes.h:
* UIProcess/API/C/WKAPICast.h:
(WebKit::toWebGLLoadPolicy):
* UIProcess/API/C/WKPageLoaderClient.h:

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

5 years agoAX: Mac: Expose the visible text of a password field to AX
ap@apple.com [Wed, 22 Jan 2014 00:06:00 +0000 (00:06 +0000)]
AX: Mac: Expose the visible text of a password field to AX
https://bugs.webkit.org/show_bug.cgi?id=127353

Test landed with this fix was filing everywhere, trying to fix it.

* accessibility/password-field-value.html: Fix paths in the test, and clean it up a little.

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

5 years agoUpstream package-root for iOS
dfarler@apple.com [Wed, 22 Jan 2014 00:04:26 +0000 (00:04 +0000)]
Upstream package-root for iOS

Reviewed by Daniel bates.

* Scripts/package-root: Added.
(usage):
* Scripts/webkitdirs.pm:
(XcodeSDKPath): Added function.

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

5 years agoRemove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect(...
simon.fraser@apple.com [Tue, 21 Jan 2014 23:54:34 +0000 (23:54 +0000)]
Remove #if PLATFORM(IOS) in various places around customFixedPositionLayoutRect() code
https://bugs.webkit.org/show_bug.cgi?id=127373

Reviewed by Beth Dakin.

Instead of PLATFORM(IOS) #idefs at every call site for viewportConstrainedVisibleContentRect(),
move the #ifdef inside viewportConstrainedVisibleContentRect().

The one call site that needs special handling is RenderLayerBacking::updateCompositedBounds(),
which needs to avoid clipping fixed layers to the custom fixed position rect, but instead to
visibleContentRect() (which is really the document bounds on iOS). This ensures that the
fixed layers aren't clipped when zooming out.

* page/FrameView.cpp:
(WebCore::FrameView::viewportConstrainedVisibleContentRect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::stickyPositionOffset):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):

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

5 years agoUnreviewed build fix for Win64.
alex.christensen@flexsim.com [Tue, 21 Jan 2014 23:49:57 +0000 (23:49 +0000)]
Unreviewed build fix for Win64.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Corrected 64-bit linker symbols.

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

5 years agoMake all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprec...
andersca@apple.com [Tue, 21 Jan 2014 23:43:34 +0000 (23:43 +0000)]
Make all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprecated group
https://bugs.webkit.org/show_bug.cgi?id=127374

Reviewed by Dan Bernstein.

* WebKit2.xcodeproj/project.pbxproj:

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

5 years ago[iOS] Allow all clients to link against WebCore
aestes@apple.com [Tue, 21 Jan 2014 23:14:17 +0000 (23:14 +0000)]
[iOS] Allow all clients to link against WebCore
https://bugs.webkit.org/show_bug.cgi?id=127372

Reviewed by Dan Bernstein.

* Configurations/WebCore.xcconfig:

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

5 years ago[iOS] Tools/Makefile shouldn't build modules DumpRenderTree, gtest, or TestWebKitAPI
dbates@webkit.org [Tue, 21 Jan 2014 22:45:36 +0000 (22:45 +0000)]
[iOS] Tools/Makefile shouldn't build modules DumpRenderTree, gtest, or TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=127368

Reviewed by Tim Horton.

Similar to the build-webkit change in <https://bugs.webkit.org/show_bug.cgi?id=127364>,
we don't want to build DumpRenderTree, gtest, or TestWebKitAPI when running make in
Tools.

* Makefile:

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

5 years ago[CSS Shapes] Preserve box-shape order when serializing shape values
betravis@adobe.com [Tue, 21 Jan 2014 22:23:53 +0000 (22:23 +0000)]
[CSS Shapes] Preserve box-shape order when serializing shape values
https://bugs.webkit.org/show_bug.cgi?id=127200

Reviewed by Dirk Schulze.

Source/WebCore:

Convert the parsed shape-box pair to a CSSValueList rather than directly
adding the box value to BasicShape. The CSSValueList preserves the
shape-box ordering, and cleans up a little bit of the code shared between
clip and shape values.

Modifying existing parsing tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::shapePropertyValue): Factor out code common to generating shape
values.
(WebCore::ComputedStyleExtractor::propertyValue): Generate a CSSValueList when
you have both a shape and a box.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseBasicShapeAndOrBox): Factor out code common to clip
paths and shape properties that parses the [basic-shape || box] syntax from
the CSS Shapes spec.
(WebCore::CSSParser::parseShapeProperty): Parse shape-box pairs as a CSSValueList.
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyShape::applyValue): Use the CSSValueList for shape-box pairs.
* css/CSSValueList.h:
(WebCore::CSSValueList::itemWithoutBoundsCheck): Add a const version.
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc): Specify a box when blending.
* rendering/style/ShapeValue.h:
(WebCore::ShapeValue::createShapeValue): Add a box parameter.
(WebCore::ShapeValue::ShapeValue): Ditto.

LayoutTests:

Modify the expectations for box shape pairs, preserving the order of
the arguments in non-computed values. Computed values are still a
shape followed by a box.

* fast/shapes/parsing/parsing-shape-inside-expected.txt:
* fast/shapes/parsing/parsing-shape-outside-expected.txt:
* fast/shapes/parsing/parsing-test-utils.js:

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

5 years agoplatform/mac/accessibility/iframe-aria-hidden.html is flaky
ap@apple.com [Tue, 21 Jan 2014 22:14:37 +0000 (22:14 +0000)]
platform/mac/accessibility/iframe-aria-hidden.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=127323

Reviewed by Chris Fleizach.

This test got de-flaked on bots by rolling out r162354. But there was still
a potential race in it, which this change fixes.

* platform/mac-wk2/TestExpectations: Removed expectation.

* platform/mac/accessibility/iframe-aria-hidden.html: Run the test in onload, as
frames load asynchronously.

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

5 years agoFix the iOS Simulator release build
dbates@webkit.org [Tue, 21 Jan 2014 21:45:19 +0000 (21:45 +0000)]
Fix the iOS Simulator release build

Substitute ASSERT_UNUSED() for ASSERT() to resolve a compiler warning
that the argument platformLayer is unused. The argument platformLayer
is only used in the asserted condition, which isn't compiled in a
release build; => the argument is unused in a release build.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):

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

5 years agoSince MidpointState is a class, it should behave like a class
zoltan@webkit.org [Tue, 21 Jan 2014 21:33:22 +0000 (21:33 +0000)]
Since MidpointState is a class, it should behave like a class
https://bugs.webkit.org/show_bug.cgi?id=127154

Reviewed by David Hyatt.

I modified MidpointState to behave like a class, updated the call sites also.

No new tests, no behavior change.

* platform/text/BidiResolver.h:
(WebCore::MidpointState::reset):
(WebCore::MidpointState::startIgnoringSpaces):
(WebCore::MidpointState::stopIgnoringSpaces):
(WebCore::MidpointState::midpoints):
(WebCore::MidpointState::numMidpoints):
(WebCore::MidpointState::currentMidpoint):
(WebCore::MidpointState::incrementCurrentMidpoint):
(WebCore::MidpointState::decreaseNumMidpoints):
(WebCore::MidpointState::betweenMidpoints):
(WebCore::MidpointState::setBetweenMidpoints):
(WebCore::MidpointState::addMidpoint): Renamed from deprecatedAddMidpoint, since now
its private, we no longer need to discourage callers from using it.
* rendering/InlineIterator.h:
(WebCore::IsolateTracker::addFakeRunIfNecessary):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::appendRunsForObject):
(WebCore::constructBidiRunsForLine):
* rendering/line/BreakingContextInlineHeaders.h:
(WebCore::checkMidpoints):
* rendering/line/TrailingObjects.cpp:
(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):

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