1. 05 Sep, 2012 1 commit
  2. 01 Sep, 2012 1 commit
    • commit-queue@webkit.org's avatar
      LLInt C loop backend. · e13567fb
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=91052.
      
      Patch by Mark Lam <mark.lam@apple.com> on 2012-09-01
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore:
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump):
      (JSC::CodeBlock::bytecodeOffset):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::execute):
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC):
      * interpreter/Interpreter.h:
      * jit/JITStubs.h:
      (JITStackFrame):
      (JSC):
      * llint/LLIntCLoop.cpp: Added.
      (JSC):
      (LLInt):
      (JSC::LLInt::CLoop::initialize):
      (JSC::LLInt::CLoop::catchRoutineFor):
      (JSC::LLInt::CLoop::hostCodeEntryFor):
      (JSC::LLInt::CLoop::jsCodeEntryWithArityCheckFor):
      (JSC::LLInt::CLoop::jsCodeEntryFor):
      * llint/LLIntCLoop.h: Added.
      (JSC):
      (LLInt):
      (CLoop):
      * llint/LLIntData.cpp:
      (JSC::LLInt::initialize):
      * llint/LLIntData.h:
      (JSC):
      * llint/LLIntOfflineAsmConfig.h:
      * llint/LLIntOpcode.h:
      * llint/LLIntThunks.cpp:
      (LLInt):
      * llint/LowLevelInterpreter.asm:
      * llint/LowLevelInterpreter.cpp:
      (LLInt):
      (JSC::LLInt::Ints2Double):
      (JSC):
      (JSC::CLoop::execute):
      * llint/LowLevelInterpreter.h:
      (JSC):
      * llint/LowLevelInterpreter32_64.asm:
      * llint/LowLevelInterpreter64.asm:
      * offlineasm/asm.rb:
      * offlineasm/backends.rb:
      * offlineasm/cloop.rb: Added.
      * offlineasm/instructions.rb:
      * runtime/Executable.h:
      (ExecutableBase):
      (JSC::ExecutableBase::hostCodeEntryFor):
      (JSC::ExecutableBase::jsCodeEntryFor):
      (JSC::ExecutableBase::jsCodeWithArityCheckEntryFor):
      (JSC::ExecutableBase::catchRoutineFor):
      (NativeExecutable):
      * runtime/JSValue.h:
      (JSC):
      (LLInt):
      (JSValue):
      * runtime/JSValueInlineMethods.h:
      (JSC):
      (JSC::JSValue::JSValue):
      * runtime/Options.cpp:
      (JSC::Options::initialize):
      
      Source/WTF:
      
      Added configs for the llint C loop backend.
      
      * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e13567fb
  3. 30 Aug, 2012 2 commits
    • commit-queue@webkit.org's avatar
      Render unto #ifdef's that which belong to them. · b8419483
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=95482.
      
      Patch by Mark Lam <mark.lam@apple.com> on 2012-08-30
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore:
      
      Refining / disambiguating between #ifdefs and adding some. For
      example, ENABLE(JIT) is conflated with ENABLE(LLINT) in some places.
      Also, we need to add ENABLE(COMPUTED_GOTO_OPCODES) to indicate that we
      want interpreted opcodes to use COMPUTED GOTOs apart from ENABLE(LLINT)
      and ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER). Also cleaned up #ifdefs
      in certain places which were previously incorrect.
      
      * bytecode/CodeBlock.cpp:
      (JSC):
      (JSC::CodeBlock::bytecodeOffset):
      * bytecode/CodeBlock.h:
      (CodeBlock):
      * bytecode/Opcode.h:
      (JSC::padOpcodeName):
      * config.h:
      * dfg/DFGOperations.cpp:
      * interpreter/AbstractPC.cpp:
      (JSC::AbstractPC::AbstractPC):
      * interpreter/CallFrame.h:
      (ExecState):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::~Interpreter):
      (JSC::Interpreter::initialize):
      (JSC::Interpreter::isOpcode):
      (JSC::Interpreter::unwindCallFrame):
      (JSC::getLineNumberForCallFrame):
      (JSC::getCallerInfo):
      (JSC::Interpreter::execute):
      (JSC::Interpreter::executeCall):
      (JSC::Interpreter::executeConstruct):
      (JSC::Interpreter::privateExecute):
      * interpreter/Interpreter.h:
      (JSC::Interpreter::getOpcode):
      (JSC::Interpreter::getOpcodeID):
      (Interpreter):
      * jit/HostCallReturnValue.h:
      * jit/JITCode.h:
      (JITCode):
      * jit/JITExceptions.cpp:
      * jit/JITExceptions.h:
      * jit/JSInterfaceJIT.h:
      * llint/LLIntData.h:
      (JSC::LLInt::getOpcode):
      * llint/LLIntEntrypoints.cpp:
      (JSC::LLInt::getFunctionEntrypoint):
      (JSC::LLInt::getEvalEntrypoint):
      (JSC::LLInt::getProgramEntrypoint):
      * llint/LLIntOffsetsExtractor.cpp:
      (JSC::LLIntOffsetsExtractor::dummy):
      * llint/LLIntSlowPaths.cpp:
      (LLInt):
      * runtime/JSGlobalData.cpp:
      (JSC):
      
      Source/WTF:
      
      * wtf/Platform.h: Added ENABLE(COMPUTED_GOTO_OPCODES).
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b8419483
    • benjamin@webkit.org's avatar
      Replace JSC::UString by WTF::String · cff06e46
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=95271
      
      Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-30
      Reviewed by Geoffrey Garen.
      
      Source/JavaScriptCore: 
      
      Having JSC::UString and WTF::String increase the complexity of working on WebKit, and
      add useless conversions in the bindings. It also cause some code bloat.
      
      The performance advantages of UString have been ported over in previous patches. This patch
      is the last step: getting rid of UString.
      
      In addition to the simplified code, this also reduce the binary size by 15kb on x86_64.
      
      * API/OpaqueJSString.cpp:
      (OpaqueJSString::ustring):
      * runtime/Identifier.h:
      (JSC::Identifier::ustring):
      To avoid changing everything at once, the function named ustring() were kept as is. They
      will be renamed in a follow up patch.
      
      * runtime/JSString.h:
      (JSC::JSString::string):
      (JSC::JSValue::toWTFString):
      (JSC::inlineJSValueNotStringtoString):
      (JSC::JSValue::toWTFStringInline):
      Since JSValue::toString() already exist (and return the JSString), the direct accessor is renamed
      to ::toWTFString(). We may change ::string() to ::jsString() and ::toWTFString() to ::toString()
      in the future.
      
      * runtime/StringPrototype.cpp:
      (JSC::substituteBackreferencesSlow): Replace the use of UString::getCharacters<>() by String::getCharactersWithUpconvert<>().
      
      Source/WebCore: 
      
      Update the code to use String instead of UString.
      
      On x86_64, this reduces the binary size by 22kb.
      
      Since it is no longer possible to differenciate JSC::jsString() and WebCore::jsString() by the input
      types, WebCore::jsString() is renated to WebCore::jsStringWithCache().
      
      Since the cache is using a PtrHash, JSC::jsString() is used in place of the old WebCore::jsString() when
      the string is generated locally. This is because the cache can never match in those cases.
      
      Source/WebKit/blackberry: 
      
      Replace UString by String.
      
      * WebCoreSupport/ClientExtension.cpp:
      * WebCoreSupport/PagePopupBlackBerry.cpp:
      (WebCore::PagePopupBlackBerry::installDomFunction):
      
      Source/WebKit/efl: 
      
      Replace UString by String.
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      (DumpRenderTreeSupportEfl::sendWebIntentResponse):
      * ewk/ewk_frame.cpp:
      (ewk_frame_script_execute):
      
      Source/WebKit/gtk: 
      
      Replace UString by String.
      
      * gdom/ConvertToGCharPrivate.h:
      (copyAsGchar):
      
      Source/WebKit/mac: 
      
      Get rid of UString, replace it by String, and simplify the code when possible.
      
      On x86_64, this reduces the binary size by 7kb.
      
      * Plugins/Hosted/NetscapePluginHostProxy.mm:
      (identifierFromIdentifierRep):
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      (WebKit::NetscapePluginInstanceProxy::addValueToArray):
      (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
      * Plugins/Hosted/ProxyInstance.mm:
      (WebKit::ProxyRuntimeMethod::create):
      (WebKit::ProxyRuntimeMethod::finishCreation):
      (WebKit::ProxyInstance::getPropertyNames):
      (WebKit::ProxyInstance::methodsNamed):
      (WebKit::ProxyInstance::fieldNamed):
      * WebView/WebFrame.mm:
      (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
      (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
      * WebView/WebScriptDebugDelegate.mm:
      (-[WebScriptCallFrame functionName]):
      (-[WebScriptCallFrame evaluateWebScript:]):
      * WebView/WebScriptDebugger.h:
      (WTF):
      (JSC):
      (WebScriptDebugger):
      * WebView/WebScriptDebugger.mm:
      (toNSURL):
      (WebScriptDebugger::sourceParsed):
      * WebView/WebView.mm:
      (aeDescFromJSValue):
      
      Source/WebKit/qt: 
      
      Replace UString by String.
      
      * Api/qwebelement.cpp:
      (QWebElement::evaluateJavaScript):
      
      Source/WebKit/win: 
      
      Replace UString by String.
      
      * WebFrame.cpp:
      (WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
      * WebView.cpp:
      (WebView::stringByEvaluatingJavaScriptFromString):
      
      Source/WebKit/wx: 
      
      Update the #includes to use the correct types.
      
      * WebFrame.cpp:
      * WebView.cpp:
      
      Source/WebKit2: 
      
      Update to code to switch from UString to String.
      
      * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
      (WebKit::JSNPMethod::finishCreation):
      * WebProcess/Plugins/Netscape/JSNPMethod.h:
      (WebKit::JSNPMethod::create):
      (JSNPMethod):
      * WebProcess/Plugins/Netscape/JSNPObject.cpp:
      (WebKit::npIdentifierFromIdentifier):
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      (WebKit::NPRuntimeObjectMap::evaluate):
      (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
      
      Source/WTF: 
      
      * wtf/Platform.h: Useless edit to force a full build. This is needed for some bots for some reason.
      * wtf/text/WTFString.h: Export a symbol that was exported on UString and needed in WebCore.
      
      Add String::getCharactersWithUpconvert<>(), which is similar to String::getCharacters<>() but with the same
      behaviors as UString::getCharacters<>().
      
      String::getCharactersWithUpconvert<>() is useful when manipulating multiple strings, it allow writting code
      using 16bits characters if any of the input String is not 8bit.
      
      Tools: 
      
      Get rid of UString.
      
      * DumpRenderTree/efl/WorkQueueItemEfl.cpp:
      * gdb/webkit.py:
      (WTFStringPrinter.to_string):
      (JSCIdentifierPrinter.to_string):
      (JSCJSStringPrinter.to_string):
      (add_pretty_printers):
      
      Websites/webkit.org: 
      
      Update the coding style to avoid mentioning a class that no longer exist.
      
      * coding/coding-style.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127191 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cff06e46
  4. 24 Aug, 2012 1 commit
  5. 23 Aug, 2012 1 commit
    • eae@chromium.org's avatar
      Add saturation arithmetic support to FractionalLayoutUnit · 5fcc0d68
      eae@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=94364
      
      Reviewed by Benjamin Poulain.
      
      Source/WebCore:
      
      Add experimental saturation arithmetic support to FractionalLayoutUnit,
      guarded by a flag.
      The idea here is to saturate (or clamp) rather than overflow when
      computing positions and sizes.
      
      No new tests for WebCore, not enabled by default.
      
      * platform/FractionalLayoutUnit.h:
      (WebCore::FractionalLayoutUnit::intMinForLayoutUnit):
      Use INT_MIN instead of -INT_MAX to compute minimum value as the two are
      not the same.
      
      (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
      (WebCore::FractionalLayoutUnit::fromFloatCeil):
      (WebCore::FractionalLayoutUnit::fromFloatFloor):
      (WebCore::FractionalLayoutUnit::fromFloatRound):
      (WebCore::FractionalLayoutUnit::setValue):
      Add range checks.
      
      (WebCore::operator*):
      (WebCore::operator+):
      (WebCore::operator-):
      (WebCore::operator+=):
      (WebCore::operator-=):
      Use the saturatedAddition and saturatedSubtraction functions, which have
      been optimized to reduce branching, instead of range checks for the most
      common operators.
      
      Source/WTF:
      
      Add support functions for saturated addition and subtraction.
      
      Test: TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp
      
      * GNUmakefile.list.am:
      * WTF.gypi:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.xcodeproj/project.pbxproj:
      * WTF/wtf/CMakeLists.txt:
      Add SaturatedArithmetic.h to build files.
      
      * wtf/SaturatedArithmetic.h: Added.
      (saturatedAddition):
      (saturatedSubtraction):
      Support functions for saturated addition/subtraction. Compares the signed
      bit of the values instead of using range checks to reduce branching.
      
      * wtf/Platform.h:
      Add ENABLE_SATURATED_LAYOUT_ARITHMETIC flag.
      
      Tools:
      
      Add test for new saturatedArithmetic functions.
      
      * TestWebKitAPI/CMakeLists.txt:
      * TestWebKitAPI/GNUmakefile.am:
      * TestWebKitAPI/TestWebKitAPI.gypi:
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      * TestWebKitAPI/Tests/WTF/SaturatedArithmeticOperations.cpp: Added.
      (TestWebKitAPI):
      (TestWebKitAPI::TEST):
      * TestWebKitAPI/win/TestWebKitAPI.vcproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5fcc0d68
  6. 22 Aug, 2012 1 commit
    • allan.jensen@nokia.com's avatar
      [Qt] Optionally support smooth-scrolling on all platforms · abefb4bd
      allan.jensen@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=74926
      
      Reviewed by Simon Hausmann.
      
      Source/WebCore:
      
      Make GestureAnimations depend on the GESTURE_ANIMATION feature flag,
      since GestureAnimations are unused on some platforms.
      
      * Target.pri:
      * platform/ScrollAnimatorNone.cpp:
      (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
      (WebCore::ScrollAnimatorNone::cancelAnimations):
      (WebCore::ScrollAnimatorNone::animationTimerFired):
      * platform/ScrollAnimatorNone.h:
      (ScrollAnimatorNone):
      
      Source/WebKit/qt:
      
      Expose the enable scroll animator setting.
      
      * Api/qwebsettings.cpp:
      (QWebSettingsPrivate::apply):
      (QWebSettings::QWebSettings):
      * Api/qwebsettings.h:
      
      Source/WebKit2:
      
      Expose scroll-animator preference, but ensure animated smooth scrolling
      on the web process side is disabled when scrolling has been delegated
      to the UI process.
      
      * Shared/WebPreferencesStore.h:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
      (WebKit::WebPage::updatePreferences):
      
      Source/WTF:
      
      Initialize GESTURE_ANIMATION feature flag.
      
      * wtf/Platform.h:
      
      Tools:
      
      Enabled SMOOTH_SCROLLING on Qt, and expose the enable scroll animator
      setting in QtTestBrowser so it can be tested.
      
      * QtTestBrowser/launcherwindow.cpp:
      (LauncherWindow::createChrome):
      (LauncherWindow::toggleScrollAnimator):
      * QtTestBrowser/launcherwindow.h:
      (WindowOptions::WindowOptions):
      (WindowOptions):
      (LauncherWindow):
      * qmake/mkspecs/features/features.pri:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126291 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      abefb4bd
  7. 17 Aug, 2012 1 commit
  8. 14 Aug, 2012 1 commit
  9. 11 Aug, 2012 1 commit
    • weinig@apple.com's avatar
      Enable XPC Service based WebProcess with runtime flag · 342392b9
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=93773
      
      Reviewed by Dan Bernstein.
      
      Source/WebKit2: 
      
      Use the XPC Service for WebProcess code path if WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS
      is set in the environment.
      
      * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
      (WebKit::launchXPCService):
      Fix issue that was causing this code not to compile. This was not caught before since
      the code was not being built.
              
      * UIProcess/WebProcessProxy.cpp:
      (WebKit::WebProcessProxy::connect):
      Switch from hard coding always using the XPC Service code path if
      HAVE(XPC) was true, to doing it conditionally on an environment variable.
      
      Source/WTF: 
      
      * wtf/Platform.h:
      Define HAVE_XPC on 10.7 and later.
      
      Tools: 
      
      Convert --use-web-process-xpc-service passed to run-safari (and similar scripts)
      to setting WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS=YES in the environment and setting
      up __XPC_DYLD_FRAMEWORK_PATH and __XPC_DYLD_INSERT_LIBRARIES variables. NOTE: using
      the XPC service is not the default code path.
      
      * Scripts/webkitdirs.pm:
      (shouldUseXPCServiceForWebProcess):
      (determineShouldUseXPCServiceForWebProcess):
      Add functions to extract --use-web-process-xpc-service from ARGV and set a
      global variable.
      
      (printHelpAndExitForRunAndDebugWebKitAppIfNeeded):
      Add help text for --use-web-process-xpc-service.
      
      (runMacWebKitApp):
      Set the WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS environment variable and DYLD
      if --use-web-process-xpc-service was passed on the command line.
      
      (execMacWebKitAppForDebugging):
      Set the WEBKIT_USE_XPC_SERVICE_FOR_WEB_PROCESS environment variable and DYLD
      if --use-web-process-xpc-service was passed on the command line. Also, bail
      if both --use-web-process-xpc-service and --target-web-process are passed on
      the command line, as we don't currently support using both.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      342392b9
  10. 04 Aug, 2012 1 commit
    • noam.rosenthal@nokia.com's avatar
      [Qt] UI_SIDE_COMPOSITING code has confusing names · 8c7ea6f4
      noam.rosenthal@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=93164
      
      Reviewed by Kenneth Rohde Christiansen.
      
      Source/WebKit2:
      
      Renamed and consolidated code guarded under UI_SIDE_COMPOSITING, now under
      USE(COORDINATED_GRAPHICS) guard and CoordinatedGraphics folders.
      
      * CMakeLists.txt:
      * DerivedSources.pri:
      * Shared/WebCoreArgumentCoders.cpp:
      (CoreIPC):
      * Shared/WebCoreArgumentCoders.h:
      * Shared/WebLayerTreeInfo.cpp:
      * Shared/WebLayerTreeInfo.h:
      * Target.pri:
      * UIProcess/API/qt/qquickwebpage.cpp:
      (QQuickWebPage::updatePaintNode):
      * UIProcess/API/qt/raw/qrawwebview.cpp:
      (QRawWebView::paint):
      * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/texmap/LayerBackingStore.cpp.
      * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/texmap/LayerBackingStore.h.
      * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.cpp.
      * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.h.
      * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeCoordinatorProxy.messages.in.
      * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp.
      * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h: Renamed from Source/WebKit2/UIProcess/WebLayerTreeRenderer.h.
      * UIProcess/DrawingAreaProxy.cpp:
      (WebKit):
      * UIProcess/DrawingAreaProxy.h:
      (DrawingAreaProxy):
      * UIProcess/DrawingAreaProxyImpl.cpp:
      (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
      (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
      (WebKit):
      * UIProcess/DrawingAreaProxyImpl.h:
      (DrawingAreaProxyImpl):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::didReceiveMessage):
      * UIProcess/qt/QtWebPageSGNode.cpp:
      (WebKit::ContentsSGNode::ContentsSGNode):
      (WebKit::ContentsSGNode::layerTreeRenderer):
      (ContentsSGNode):
      (WebKit::QtWebPageSGNode::setRenderer):
      * UIProcess/qt/QtWebPageSGNode.h:
      (WebKit):
      (QtWebPageSGNode):
      * WebKit2.pri:
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit::WebChromeClient::scheduleAnimation):
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp.
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h.
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp.
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h: Renamed from Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.h.
      * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp.
      * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h.
      * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in.
      * WebProcess/WebPage/DrawingArea.h:
      (DrawingArea):
      * WebProcess/WebPage/DrawingAreaImpl.cpp:
      (WebKit):
      * WebProcess/WebPage/DrawingAreaImpl.h:
      (DrawingAreaImpl):
      * WebProcess/WebPage/LayerTreeHost.h:
      (LayerTreeHost):
      * WebProcess/WebPage/UpdateAtlas.cpp:
      * WebProcess/WebPage/UpdateAtlas.h:
      * WebProcess/qt/WebProcessMainQt.cpp:
      (WebKit::WebProcessMainQt):
      
      Source/WTF:
      
      Renamed UI_SIDE_COMPOSITING to COORDINATED_GRAPHICS.
      
      * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c7ea6f4
  11. 30 Jul, 2012 1 commit
    • paroga@webkit.org's avatar
      Replace UnicodeWinCE with UnicodeWchar https://bugs.webkit.org/show_bug.cgi?id=92539 · 74b5be15
      paroga@webkit.org authored
      Reviewed by Ryosuke Niwa.
      
      UnicodeWinCE never contained WinCE specific code. UnicodeWchar
      is a replacement for it, which is mainly based on the functions
      from <wchar.h>. It is ment as a minimal Unicode backend, which
      can be used very easy and has no external dependencies.
      
      .:
      
      * Source/cmake/OptionsWinCE.cmake:
      
      Source/WebCore:
      
      * platform/text/TextEncoding.cpp:
      (WebCore::TextEncoding::encode):
      * platform/text/TextEncodingRegistry.cpp:
      (WebCore::extendTextCodecMaps):
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/AboutDataUseFeatures.in:
      
      Source/WTF:
      
      * WTF.gyp/WTF.gyp:
      * WTF.gypi:
      * wtf/Platform.h:
      * wtf/PlatformWinCE.cmake:
      * wtf/unicode/Unicode.h:
      * wtf/unicode/wchar/UnicodeWchar.cpp: Added.
      (Unicode):
      (WTF::Unicode::category):
      (WTF::Unicode::combiningClass):
      (WTF::Unicode::direction):
      (WTF::Unicode::decompositionType):
      (WTF::Unicode::hasLineBreakingPropertyComplexContext):
      (WTF::Unicode::mirroredChar):
      (WTF::Unicode::convertWithFunction):
      (WTF::Unicode::foldCase):
      (WTF::Unicode::toLower):
      (WTF::Unicode::toUpper):
      * wtf/unicode/wchar/UnicodeWchar.h: Added.
      (Unicode):
      (WTF::Unicode::isAlphanumeric):
      (WTF::Unicode::isDigit):
      (WTF::Unicode::isLetter):
      (WTF::Unicode::isLower):
      (WTF::Unicode::isPrintableChar):
      (WTF::Unicode::isPunct):
      (WTF::Unicode::isSpace):
      (WTF::Unicode::isUpper):
      (WTF::Unicode::isArabicChar):
      (WTF::Unicode::isSeparatorSpace):
      (WTF::Unicode::foldCase):
      (WTF::Unicode::toLower):
      (WTF::Unicode::toUpper):
      (WTF::Unicode::toTitleCase):
      (WTF::Unicode::umemcasecmp):
      * wtf/unicode/wince/UnicodeWinCE.cpp: Removed.
      * wtf/unicode/wince/UnicodeWinCE.h: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      74b5be15
  12. 26 Jul, 2012 1 commit
    • zeno.albisser@nokia.com's avatar
      [Qt] requestAnimationFrame should only trigger when a new frame can be displayed. · 4eb2c58e
      zeno.albisser@nokia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=88638
      
      Source/WebKit/qt:
      
      Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie
      the servicing of scripted animations to the renderNextFrame call for WK2.
      For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation.
      
      Reviewed by Jocelyn Turcotte.
      
      * WebCoreSupport/ChromeClientQt.cpp:
      (RefreshAnimation):
          Add a RefreshAnimation that is based on QAbstractAnimation
          and drives the servicing of the scripted animations for WK1.
      (WebCore::RefreshAnimation::RefreshAnimation):
      (WebCore::RefreshAnimation::duration):
      (WebCore::RefreshAnimation::scheduleAnimation):
          Set m_animationScheduled to true and start the animation
          timer in case it is not running yet.
      (WebCore::RefreshAnimation::updateCurrentTime):
          Call serviceScriptedAnimations if m_animationScheduled is true.
          If this is not the case, the animation timer can be stopped,
          because no animation needs to be scheduled anymore.
      (WebCore):
      (WebCore::ChromeClientQt::scheduleAnimation):
          Create and start the RefreshAnimation instance with the
          first call to scheduleAnimation.
      * WebCoreSupport/ChromeClientQt.h:
      (WebCore):
      (ChromeClientQt):
      
      Source/WebKit2:
      
      Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie
      the servicing of scripted animations to layer syncing for WK2.
      For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation.
      
      Reviewed by Jocelyn Turcotte.
      
      * WebProcess/WebCoreSupport/WebChromeClient.cpp:
      (WebKit):
      (WebKit::WebChromeClient::scheduleAnimation):
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      (WebChromeClient):
      * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
      (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
      (WebKit::LayerTreeCoordinator::scheduleAnimation):
      (WebKit):
      * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
      (LayerTreeCoordinator):
      * WebProcess/WebPage/LayerTreeHost.h:
      (LayerTreeHost):
      
      Source/WTF:
      
      Disable REQUEST_ANIMATION_FRAME_TIMER for the Qt port and tie
      the servicing of scripted animations to layer syncing for WK2.
      For WK1 we rely on the RefreshAnimation that is based on QAbstractAnimation.
      
      Reviewed by Jocelyn Turcotte.
      
      * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4eb2c58e
  13. 25 Jul, 2012 1 commit
  14. 23 Jul, 2012 1 commit
  15. 20 Jul, 2012 1 commit
    • mitz@apple.com's avatar
      The ATSUI-based complex text code is unused · 07049b19
      mitz@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=91816
      
      Reviewed by Sam Weinig.
      
      ../WebCore: 
      
      * WebCore.gypi: Removed references to the files deleted in this change.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * platform/graphics/FontCache.h:
      (FontCache): Replaced USE(CORE_TEXT) with PLATFORM(MAC) || PLATFORM(CHROMIUM) && OS(DARWIN).
      * platform/graphics/SimpleFontData.h:
      (SimpleFontData): Removed USE(ATSUI)-only code, replaced USE(CORE_TEXT) with
      (PLATFORM(CHROMIUM) && OS(DARWIN)).
      * platform/graphics/mac/ComplexTextController.cpp: Removed USE(ATSUI)-only code. Moved
      collectComplexTextRunsForCharacters() and the ComplexTextRun constructor out of this file.
      * platform/graphics/mac/ComplexTextController.h: Removed USE(ATSUI)-only code and removed
      #if USE(CORE_TEXT) because anyone including this header is using Core Text.
      * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Removed.
      * platform/graphics/mac/ComplexTextControllerCoreText.mm:
      (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moved from
      ComplexTextController.cpp into this file and merged with createTextRunFromFontDataCoreText().
      (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Moved from
      ComplexTextController.cpp into this file and merged with
      collectComplexTextRunsForCharactersCoreText().
      * platform/graphics/mac/SimpleFontDataATSUI.mm: Removed.
      * platform/graphics/mac/SimpleFontDataMac.mm:
      (WebCore::SimpleFontData::platformInit): Remove USE(ATSUI)-only code.
      (WebCore::SimpleFontData::platformDestroy): Ditto.
      * platform/text/mac/ShapeArabic.c: Removed.
      * platform/text/mac/ShapeArabic.h: Removed.
      
      ../WTF: 
      
      Removed definitions of WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
      
      * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@123181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07049b19
  16. 19 Jul, 2012 1 commit
  17. 16 Jul, 2012 1 commit
    • commit-queue@webkit.org's avatar
      WebCore needs WEBCORE_TESTING macro to mark methods being exported for testing. · 241bd21d
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90764
      
      Patch by Hajime Morrita <morrita@chromium.org> on 2012-07-16
      Reviewed by Adam Barth.
      
      .:
      
      Removed symbols which are now covered by WEBCORE_TESTING.
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      Defined WEBCORE_TESTING based on USE(EXPORT_MACROS_FOR_TESTING) and
      applied it to FrameDestructionObserver.
      
      * bindings/js/JSDOMGlobalObject.h: Removed conflicting symbols
      * page/FrameDestructionObserver.h: Added WEBKIT_TESTING
      (FrameDestructionObserver):
      * platform/PlatformExportMacros.h:
      
      Source/WebKit2:
      
      Removed symbols which are now covered by WEBCORE_TESTING.
      
      * win/WebKit2.def:
      * win/WebKit2CFLite.def:
      
      Source/WTF:
      
      Added USE(EXPORT_MACROS_FOR_TESTING) and enabled it on GTK and Windows.
      
      * wtf/ExportMacros.h:
      * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      241bd21d
  18. 14 Jul, 2012 1 commit
  19. 11 Jul, 2012 2 commits
    • mrowe@apple.com's avatar
      Replace definitions of BUILDING_ON / TARGETING macros with macros that will error when used. · 98158361
      mrowe@apple.com authored
      Part of <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros.
      
      Reviewed by Anders Carlsson.
      
      Source/WTF:
      
      * wtf/Platform.h:
      
      Tools:
      
      * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Remove the macros completely from here since
      they're completely unused in TestNetscapePlugIn.
      * DumpRenderTree/config.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98158361
    • mrowe@apple.com's avatar
      <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of... · d67332ee
      mrowe@apple.com authored
      <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
      
      This removal was handled by a script that translates the relevant macros in to the equivalent checks
      using the system availability macros.
      
      Reviewed by Filip Pizlo.
      
      Source/WebCore:
      
      * WebCore.exp.in:
      * accessibility/AccessibilityList.h:
      * accessibility/AccessibilityTable.h:
      * accessibility/mac/AXObjectCacheMac.mm:
      * editing/mac/EditorMac.mm:
      * loader/MainResourceLoader.cpp:
      * loader/MainResourceLoader.h:
      * page/AlternativeTextClient.h:
      * page/ContextMenuController.cpp:
      * page/mac/SettingsMac.mm:
      * platform/LocalizedStrings.cpp:
      * platform/MemoryPressureHandler.cpp:
      * platform/audio/mac/AudioBusMac.mm:
      * platform/graphics/Gradient.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      * platform/graphics/ca/PlatformCALayer.h:
      * platform/graphics/ca/mac/PlatformCALayerMac.mm:
      * platform/graphics/ca/mac/TileCache.mm:
      * platform/graphics/cg/GraphicsContextCG.cpp:
      * platform/graphics/cg/ImageBufferCG.cpp:
      * platform/graphics/cg/ImageBufferDataCG.cpp:
      * platform/graphics/cg/ImageBufferDataCG.h:
      * platform/graphics/cg/ImageCG.cpp:
      * platform/graphics/cg/ImageSourceCG.cpp:
      * platform/graphics/cg/PathCG.cpp:
      * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
      * platform/graphics/mac/ComplexTextController.cpp:
      * platform/graphics/mac/ComplexTextControllerCoreText.mm:
      * platform/graphics/mac/FontCacheMac.mm:
      * platform/graphics/mac/FontCustomPlatformData.cpp:
      * platform/graphics/mac/FontMac.mm:
      * platform/graphics/mac/GraphicsContextMac.mm:
      * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
      * platform/graphics/mac/SimpleFontDataMac.mm:
      * platform/graphics/mac/WebLayer.h:
      * platform/graphics/mac/WebLayer.mm:
      * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
      * platform/mac/CursorMac.mm:
      * platform/mac/DisplaySleepDisabler.cpp:
      * platform/mac/DisplaySleepDisabler.h:
      * platform/mac/EmptyProtocolDefinitions.h:
      * platform/mac/HTMLConverter.h:
      * platform/mac/HTMLConverter.mm:
      * platform/mac/MemoryPressureHandlerMac.mm:
      * platform/mac/NSScrollerImpDetails.h:
      * platform/mac/PlatformEventFactoryMac.mm:
      * platform/mac/PopupMenuMac.mm:
      * platform/mac/ScrollAnimatorMac.mm:
      * platform/mac/ScrollElasticityController.mm:
      * platform/mac/SharedTimerMac.mm:
      * platform/mac/SuddenTermination.mm:
      * platform/mac/WebCoreFullScreenWindow.mm:
      * platform/mac/WebCoreNSCellExtras.h:
      * platform/mac/WebCoreSystemInterface.h:
      * platform/mac/WebCoreSystemInterface.mm:
      * platform/mac/WebFontCache.mm:
      * platform/mac/WebVideoFullscreenController.mm:
      * platform/mac/WebVideoFullscreenHUDWindowController.mm:
      * platform/network/Credential.h:
      * platform/network/ResourceHandle.h:
      * platform/network/cf/DNSCFNet.cpp:
      * platform/network/cf/ProxyServerCFNet.cpp:
      * platform/network/cf/ResourceRequest.h:
      * platform/network/cf/ResourceRequestCFNet.cpp:
      * platform/network/cf/SocketStreamHandleCFNet.cpp:
      * platform/network/mac/AuthenticationMac.mm:
      * platform/network/mac/CookieStorageMac.mm:
      * platform/network/mac/ResourceHandleMac.mm:
      * platform/network/mac/ResourceRequestMac.mm:
      * platform/network/mac/WebCoreURLResponse.mm:
      * platform/text/TextChecking.h:
      * platform/text/cf/HyphenationCF.cpp:
      * platform/text/mac/HyphenationMac.mm:
      * rendering/RenderLayerBacking.cpp:
      * rendering/RenderLayerCompositor.cpp:
      * rendering/RenderThemeMac.mm:
      
      Source/WebKit/chromium:
      
      * src/mac/WebInputEventFactory.mm:
      
      Source/WebKit/mac:
      
      * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
      * Misc/WebKitErrors.m:
      * Misc/WebNSControlExtras.m:
      * Misc/WebNSFileManagerExtras.mm:
      * Plugins/Hosted/WebHostedNetscapePluginView.mm:
      * Plugins/WebBaseNetscapePluginView.mm:
      * Plugins/WebNetscapePluginView.mm:
      * WebCoreSupport/WebChromeClient.mm:
      * WebCoreSupport/WebEditorClient.mm:
      * WebCoreSupport/WebFrameLoaderClient.mm:
      * WebCoreSupport/WebSystemInterface.mm:
      * WebView/WebClipView.mm:
      * WebView/WebDynamicScrollBarsView.mm:
      * WebView/WebFrameView.mm:
      * WebView/WebFullScreenController.mm:
      * WebView/WebHTMLView.mm:
      * WebView/WebHTMLViewInternal.h:
      * WebView/WebPDFDocumentExtras.mm:
      * WebView/WebPreferences.mm:
      * WebView/WebResourceInternal.h:
      * WebView/WebScriptDebugDelegate.h:
      * WebView/WebView.mm:
      * WebView/WebViewPrivate.h:
      
      Source/WebKit2:
      
      * Shared/DictionaryPopupInfo.cpp:
      * Shared/DictionaryPopupInfo.h:
      * Shared/mac/PasteboardTypes.mm:
      * Shared/mac/WebEventFactory.mm:
      * UIProcess/API/mac/PDFViewController.mm:
      * UIProcess/API/mac/PageClientImpl.mm:
      * UIProcess/API/mac/WKView.mm:
      * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
      * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
      * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
      * UIProcess/Launcher/mac/EnvironmentVariables.h:
      * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
      * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
      * UIProcess/WebPageProxy.cpp:
      * UIProcess/WebPageProxy.h:
      * UIProcess/WebPageProxy.messages.in:
      * UIProcess/mac/TextCheckerMac.mm:
      * UIProcess/mac/WKFullScreenWindowController.mm:
      * UIProcess/mac/WebContextMac.mm:
      * UIProcess/mac/WebPageProxyMac.mm:
      * WebKit2Prefix.h:
      * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
      * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.h:
      * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
      * WebProcess/WebPage/WebPage.cpp:
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/com.apple.WebProcess.sb.in:
      * WebProcess/mac/KeychainItemShimMethods.mm:
      * WebProcess/mac/SecItemShimMethods.mm:
      * WebProcess/mac/WebProcessMac.mm:
      * WebProcess/mac/WebProcessMainMac.mm:
      * WebProcess/mac/WebProcessShim.mm:
      
      Source/WTF:
      
      * wtf/Assertions.cpp:
      * wtf/FastMalloc.cpp:
      * wtf/Platform.h:
      * wtf/ThreadingPthreads.cpp:
      * wtf/unicode/icu/CollatorICU.cpp:
      
      Tools:
      
      * DumpRenderTree/cf/WebArchiveDumpSupport.cpp:
      * DumpRenderTree/mac/CheckedMalloc.cpp:
      * DumpRenderTree/mac/DumpRenderTree.mm:
      * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
      * DumpRenderTree/mac/LayoutTestControllerMac.mm:
      * DumpRenderTree/mac/TextInputController.m:
      * TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
      * WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
      * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@122400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d67332ee
  20. 09 Jul, 2012 2 commits
  21. 05 Jul, 2012 1 commit
    • zherczeg@webkit.org's avatar
      Port DFG JIT to traditional ARM · d6e661f4
      zherczeg@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=90198
      
      Reviewed by Filip Pizlo.
      
      Source/JavaScriptCore: 
      
      This patch contains the macro assembler part of the
      DFG JIT support on ARM systems with fixed 32 bit instruction
      width. A large amount of old code was refactored, and the ARMv4
      or lower support is removed from the macro assembler.
      
      Sunspider is improved by 8%, and V8 is 92%.
      
      * assembler/ARMAssembler.cpp:
      (JSC::ARMAssembler::dataTransfer32):
      (JSC::ARMAssembler::baseIndexTransfer32):
      (JSC):
      (JSC::ARMAssembler::dataTransfer16):
      (JSC::ARMAssembler::baseIndexTransfer16):
      (JSC::ARMAssembler::dataTransferFloat):
      (JSC::ARMAssembler::baseIndexTransferFloat):
      (JSC::ARMAssembler::executableCopy):
      * assembler/ARMAssembler.h:
      (JSC::ARMAssembler::ARMAssembler):
      (JSC::ARMAssembler::emitInst):
      (JSC::ARMAssembler::vmov_f64_r):
      (ARMAssembler):
      (JSC::ARMAssembler::vabs_f64_r):
      (JSC::ARMAssembler::vneg_f64_r):
      (JSC::ARMAssembler::ldr_imm):
      (JSC::ARMAssembler::ldr_un_imm):
      (JSC::ARMAssembler::dtr_u):
      (JSC::ARMAssembler::dtr_ur):
      (JSC::ARMAssembler::dtr_d):
      (JSC::ARMAssembler::dtr_dr):
      (JSC::ARMAssembler::dtrh_u):
      (JSC::ARMAssembler::dtrh_ur):
      (JSC::ARMAssembler::dtrh_d):
      (JSC::ARMAssembler::dtrh_dr):
      (JSC::ARMAssembler::fdtr_u):
      (JSC::ARMAssembler::fdtr_d):
      (JSC::ARMAssembler::push_r):
      (JSC::ARMAssembler::pop_r):
      (JSC::ARMAssembler::poke_r):
      (JSC::ARMAssembler::peek_r):
      (JSC::ARMAssembler::vmov_vfp64_r):
      (JSC::ARMAssembler::vmov_arm64_r):
      (JSC::ARMAssembler::vmov_vfp32_r):
      (JSC::ARMAssembler::vmov_arm32_r):
      (JSC::ARMAssembler::vcvt_u32_f64_r):
      (JSC::ARMAssembler::vcvt_f64_f32_r):
      (JSC::ARMAssembler::vcvt_f32_f64_r):
      (JSC::ARMAssembler::clz_r):
      (JSC::ARMAssembler::bkpt):
      (JSC::ARMAssembler::bx):
      (JSC::ARMAssembler::blx):
      (JSC::ARMAssembler::labelIgnoringWatchpoints):
      (JSC::ARMAssembler::labelForWatchpoint):
      (JSC::ARMAssembler::label):
      (JSC::ARMAssembler::getLdrImmAddress):
      (JSC::ARMAssembler::replaceWithJump):
      (JSC::ARMAssembler::maxJumpReplacementSize):
      (JSC::ARMAssembler::getOp2Byte):
      (JSC::ARMAssembler::getOp2Half):
      (JSC::ARMAssembler::RM):
      (JSC::ARMAssembler::RS):
      (JSC::ARMAssembler::RD):
      (JSC::ARMAssembler::RN):
      * assembler/AssemblerBufferWithConstantPool.h:
      (JSC::AssemblerBufferWithConstantPool::ensureSpaceForAnyInstruction):
      * assembler/MacroAssemblerARM.cpp:
      (JSC::MacroAssemblerARM::load32WithUnalignedHalfWords):
      * assembler/MacroAssemblerARM.h:
      (JSC::MacroAssemblerARM::add32):
      (MacroAssemblerARM):
      (JSC::MacroAssemblerARM::and32):
      (JSC::MacroAssemblerARM::lshift32):
      (JSC::MacroAssemblerARM::mul32):
      (JSC::MacroAssemblerARM::neg32):
      (JSC::MacroAssemblerARM::rshift32):
      (JSC::MacroAssemblerARM::urshift32):
      (JSC::MacroAssemblerARM::xor32):
      (JSC::MacroAssemblerARM::load8):
      (JSC::MacroAssemblerARM::load8Signed):
      (JSC::MacroAssemblerARM::load16):
      (JSC::MacroAssemblerARM::load16Signed):
      (JSC::MacroAssemblerARM::load32):
      (JSC::MacroAssemblerARM::load32WithAddressOffsetPatch):
      (JSC::MacroAssemblerARM::store32WithAddressOffsetPatch):
      (JSC::MacroAssemblerARM::store8):
      (JSC::MacroAssemblerARM::store16):
      (JSC::MacroAssemblerARM::store32):
      (JSC::MacroAssemblerARM::move):
      (JSC::MacroAssemblerARM::jump):
      (JSC::MacroAssemblerARM::branchAdd32):
      (JSC::MacroAssemblerARM::mull32):
      (JSC::MacroAssemblerARM::branchMul32):
      (JSC::MacroAssemblerARM::nearCall):
      (JSC::MacroAssemblerARM::compare32):
      (JSC::MacroAssemblerARM::test32):
      (JSC::MacroAssemblerARM::sub32):
      (JSC::MacroAssemblerARM::call):
      (JSC::MacroAssemblerARM::loadFloat):
      (JSC::MacroAssemblerARM::loadDouble):
      (JSC::MacroAssemblerARM::storeFloat):
      (JSC::MacroAssemblerARM::storeDouble):
      (JSC::MacroAssemblerARM::moveDouble):
      (JSC::MacroAssemblerARM::addDouble):
      (JSC::MacroAssemblerARM::divDouble):
      (JSC::MacroAssemblerARM::subDouble):
      (JSC::MacroAssemblerARM::mulDouble):
      (JSC::MacroAssemblerARM::absDouble):
      (JSC::MacroAssemblerARM::negateDouble):
      (JSC::MacroAssemblerARM::convertInt32ToDouble):
      (JSC::MacroAssemblerARM::convertFloatToDouble):
      (JSC::MacroAssemblerARM::convertDoubleToFloat):
      (JSC::MacroAssemblerARM::branchTruncateDoubleToInt32):
      (JSC::MacroAssemblerARM::branchTruncateDoubleToUint32):
      (JSC::MacroAssemblerARM::truncateDoubleToInt32):
      (JSC::MacroAssemblerARM::truncateDoubleToUint32):
      (JSC::MacroAssemblerARM::branchConvertDoubleToInt32):
      (JSC::MacroAssemblerARM::branchDoubleNonZero):
      (JSC::MacroAssemblerARM::branchDoubleZeroOrNaN):
      (JSC::MacroAssemblerARM::invert):
      (JSC::MacroAssemblerARM::replaceWithJump):
      (JSC::MacroAssemblerARM::maxJumpReplacementSize):
      (JSC::MacroAssemblerARM::call32):
      * assembler/SH4Assembler.h:
      (JSC::SH4Assembler::label):
      * dfg/DFGAssemblyHelpers.h:
      (JSC::DFG::AssemblyHelpers::debugCall):
      (JSC::DFG::AssemblyHelpers::boxDouble):
      (JSC::DFG::AssemblyHelpers::unboxDouble):
      * dfg/DFGCCallHelpers.h:
      (CCallHelpers):
      (JSC::DFG::CCallHelpers::setupArguments):
      * dfg/DFGFPRInfo.h:
      (DFG):
      * dfg/DFGGPRInfo.h:
      (DFG):
      (GPRInfo):
      * dfg/DFGOperations.cpp:
      (JSC):
      * dfg/DFGSpeculativeJIT.h:
      (SpeculativeJIT):
      (JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheckSetResult):
      (JSC::DFG::SpeculativeJIT::appendCallSetResult):
      * jit/JITStubs.cpp:
      (JSC):
      * jit/JITStubs.h:
      (JITStackFrame):
      * jit/JSInterfaceJIT.h:
      (JSInterfaceJIT):
      
      Source/WTF: 
      
      Enabling DFG JIT on ARM systems with 32 bit instruction set.
      
      * wtf/InlineASM.h:
      * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d6e661f4
  22. 04 Jul, 2012 1 commit
  23. 03 Jul, 2012 1 commit
  24. 29 Jun, 2012 1 commit
    • eric@webkit.org's avatar
      Remove more BUILDING_ON_LEOPARD usage in PLATFORM(MAC) code · 7c632161
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=85846
      
      Reviewed by Adam Barth.
      
      PLATFORM(MAC) has not supported Leopard for several months now.
      This change removes about 1/3 of the remaining BUILDING_ON_LEOPARD
      uses in the PLATFORM(MAC) codepaths.  PLATFORM(CHROMIUM) still
      supports BUILDING_ON_LEOPARD for now.
      
      Source/WebCore:
      
      * WebCore.exp.in:
      * dom/Document.cpp:
      (WebCore::Document::updateRangesAfterChildrenChanged):
      (WebCore::Document::nodeChildrenWillBeRemoved):
      (WebCore::Document::nodeWillBeRemoved):
      (WebCore::Document::textInserted):
      (WebCore::Document::textRemoved):
      (WebCore::Document::textNodesMerged):
      (WebCore::Document::textNodeSplit):
      * editing/Editor.cpp:
      (WebCore::Editor::respondToChangedSelection):
      * editing/TypingCommand.cpp:
      (WebCore::TypingCommand::markMisspellingsAfterTyping):
      (WebCore::TypingCommand::typingAddedToOpenCommand):
      * editing/mac/EditorMac.mm:
      (WebCore::Editor::pasteWithPasteboard):
      * loader/EmptyClients.h:
      (EmptyEditorClient):
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::contextMenuItemSelected):
      (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
      (WebCore):
      (WebCore::ContextMenuController::populate):
      (WebCore::ContextMenuController::checkOrEnableIfNeeded):
      * page/EditorClient.h:
      (EditorClient):
      * platform/LocalizedStrings.cpp:
      (WebCore::contextMenuItemTagSearchWeb):
      * platform/MemoryPressureHandler.cpp:
      (WebCore):
      * platform/SuddenTermination.h:
      (WebCore):
      * platform/graphics/ca/GraphicsLayerCA.cpp:
      (WebCore::GraphicsLayerCA::updateContentsImage):
      (WebCore::GraphicsLayerCA::constrainedSize):
      * platform/graphics/ca/PlatformCALayer.h:
      (PlatformCALayer):
      * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
      (fromCAValueFunctionType):
      (PlatformCAAnimation::valueFunction):
      (PlatformCAAnimation::setValueFunction):
      * platform/graphics/ca/mac/PlatformCALayerMac.mm:
      (toCAFilterType):
      (PlatformCALayer::anchorPoint):
      (PlatformCALayer::setAnchorPoint):
      (PlatformCALayer::contentsTransform):
      (PlatformCALayer::setContentsTransform):
      (PlatformCALayer::isGeometryFlipped):
      (PlatformCALayer::setGeometryFlipped):
      (PlatformCALayer::acceleratesDrawing):
      (PlatformCALayer::setAcceleratesDrawing):
      (PlatformCALayer::setMinificationFilter):
      (PlatformCALayer::setMagnificationFilter):
      (PlatformCALayer::contentsScale):
      (PlatformCALayer::setContentsScale):
      * platform/graphics/ca/mac/TileCache.mm:
      (WebCore::TileCache::setScale):
      (WebCore::TileCache::setAcceleratesDrawing):
      (WebCore::TileCache::createTileLayer):
      
      Source/WTF:
      
      * wtf/Platform.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@121524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c632161
  25. 25 Jun, 2012 3 commits
  26. 22 Jun, 2012 2 commits
  27. 21 Jun, 2012 1 commit
    • commit-queue@webkit.org's avatar
      [GTK] Fix NPAPI plugins on Windows · 618672dd
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=54531
      
      Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-21
      Reviewed by Martin Robinson.
      
      .:
      
      Define XP_WIN on Windows for plugin support.
      
      * GNUmakefile.am:
      
      Source/WebCore:
      
      Switch to using PluginPackageWin.cpp and PluginViewWin.cpp on Windows
      platform, and leave plugins/gtk/ only for XP_UNIX platforms. With this
      we can share a lot of code with other ports and don't have to
      reimplement all the Windows-specific code in plugins/gtk/.
      
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * platform/FileSystem.h:
      (WebCore):
      * platform/graphics/GraphicsContext.h:
      (GraphicsContext):
      * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
      (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
      (GraphicsContextPlatformPrivate):
      * platform/graphics/transforms/TransformationMatrix.h:
      (TransformationMatrix):
      * platform/graphics/win/GraphicsContextCairoWin.cpp:
      (WebCore):
      * platform/graphics/win/GraphicsContextWin.cpp:
      (WebCore):
      * platform/gtk/FileSystemGtk.cpp:
      (WebCore::unloadModule):
      * plugins/PluginView.h:
      (PluginView):
      * plugins/win/PluginViewWin.cpp:
      (windowHandleForPageClient):
      (WebCore::registerPluginView):
      (WebCore::PluginView::paint):
      (WebCore::PluginView::handleMouseEvent):
      (WebCore::PluginView::platformStart):
      (WebCore::PluginView::snapshot):
      
      Source/WTF:
      
      Define ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH for the GTK+ port, and
      include OwnPtrWin.cpp in the list of files built on Windows.
      
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      618672dd
  28. 19 Jun, 2012 1 commit
    • fpizlo@apple.com's avatar
      It should be possible to look at disassembly · 01c2a197
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=89319
      
      Source/JavaScriptCore: 
      
      Reviewed by Sam Weinig.
              
      This imports the udis86 disassembler library. The library is placed
      behind an abstraction in disassembler/Disassembler.h, so that we can
      in the future use other disassemblers (for other platforms) whenever
      appropriate. As a first step, the disassembler is being invoked for
      DFG verbose dumps.
              
      If we ever want to merge a new version of udis86 in the future, I've
      made notes about changes I made to the library in
      disassembler/udis86/differences.txt.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * JavaScriptCore.pri:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::compile):
      (JSC::DFG::JITCompiler::compileFunction):
      * disassembler: Added.
      * disassembler/Disassembler.h: Added.
      (JSC):
      (JSC::tryToDisassemble):
      * disassembler/UDis86Disassembler.cpp: Added.
      (JSC):
      (JSC::tryToDisassemble):
      * disassembler/udis86: Added.
      * disassembler/udis86/differences.txt: Added.
      * disassembler/udis86/itab.py: Added.
      (UdItabGenerator):
      (UdItabGenerator.__init__):
      (UdItabGenerator.toGroupId):
      (UdItabGenerator.genLookupTable):
      (UdItabGenerator.genLookupTableList):
      (UdItabGenerator.genInsnTable):
      (genItabH):
      (genItabH.UD_ITAB_H):
      (genItabC):
      (genItab):
      (main):
      * disassembler/udis86/optable.xml: Added.
      * disassembler/udis86/ud_opcode.py: Added.
      (UdOpcodeTables):
      (UdOpcodeTables.sizeOfTable):
      (UdOpcodeTables.nameOfTable):
      (UdOpcodeTables.updateTable):
      (UdOpcodeTables.Insn):
      (UdOpcodeTables.Insn.__init__):
      (UdOpcodeTables.Insn.__init__.opcode):
      (UdOpcodeTables.parse):
      (UdOpcodeTables.addInsnDef):
      (UdOpcodeTables.print_table):
      (UdOpcodeTables.print_tree):
      * disassembler/udis86/ud_optable.py: Added.
      (UdOptableXmlParser):
      (UdOptableXmlParser.parseDef):
      (UdOptableXmlParser.parse):
      (printFn):
      (parse):
      (main):
      * disassembler/udis86/udis86.c: Added.
      (ud_init):
      (ud_disassemble):
      (ud_set_mode):
      (ud_set_vendor):
      (ud_set_pc):
      (ud):
      (ud_insn_asm):
      (ud_insn_off):
      (ud_insn_hex):
      (ud_insn_ptr):
      (ud_insn_len):
      * disassembler/udis86/udis86.h: Added.
      * disassembler/udis86/udis86_decode.c: Added.
      (eff_adr_mode):
      (ud_lookup_mnemonic):
      (decode_prefixes):
      (modrm):
      (resolve_operand_size):
      (resolve_mnemonic):
      (decode_a):
      (decode_gpr):
      (resolve_gpr64):
      (resolve_gpr32):
      (resolve_reg):
      (decode_imm):
      (decode_modrm_reg):
      (decode_modrm_rm):
      (decode_o):
      (decode_operand):
      (decode_operands):
      (clear_insn):
      (resolve_mode):
      (gen_hex):
      (decode_insn):
      (decode_3dnow):
      (decode_ssepfx):
      (decode_ext):
      (decode_opcode):
      (ud_decode):
      * disassembler/udis86/udis86_decode.h: Added.
      (ud_itab_entry_operand):
      (ud_itab_entry):
      (ud_lookup_table_list_entry):
      (sse_pfx_idx):
      (mode_idx):
      (modrm_mod_idx):
      (vendor_idx):
      (is_group_ptr):
      (group_idx):
      * disassembler/udis86/udis86_extern.h: Added.
      * disassembler/udis86/udis86_input.c: Added.
      (inp_buff_hook):
      (inp_file_hook):
      (ud):
      (ud_set_user_opaque_data):
      (ud_get_user_opaque_data):
      (ud_set_input_buffer):
      (ud_set_input_file):
      (ud_input_skip):
      (ud_input_end):
      (ud_inp_next):
      (ud_inp_back):
      (ud_inp_peek):
      (ud_inp_move):
      (ud_inp_uint8):
      (ud_inp_uint16):
      (ud_inp_uint32):
      (ud_inp_uint64):
      * disassembler/udis86/udis86_input.h: Added.
      * disassembler/udis86/udis86_itab_holder.c: Added.
      * disassembler/udis86/udis86_syn-att.c: Added.
      (opr_cast):
      (gen_operand):
      (ud_translate_att):
      * disassembler/udis86/udis86_syn-intel.c: Added.
      (opr_cast):
      (gen_operand):
      (ud_translate_intel):
      * disassembler/udis86/udis86_syn.c: Added.
      * disassembler/udis86/udis86_syn.h: Added.
      (mkasm):
      * disassembler/udis86/udis86_types.h: Added.
      (ud_operand):
      (ud):
      * jit/JITCode.h:
      (JITCode):
      (JSC::JITCode::tryToDisassemble):
      
      Source/WebCore: 
      
      Reviewed by Sam Weinig.
              
      Just fixing EFL's build system now that JSC has a new directory.
      
      * CMakeLists.txt:
      
      Source/WTF: 
      
      Reviewed by Sam Weinig.
              
      Made changes to Assertions.h to make it friendly to C code again.
              
      Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h.
      
      * wtf/Assertions.h:
      * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01c2a197
  29. 18 Jun, 2012 2 commits
    • abarth@webkit.org's avatar
      Source/WebCore: [chromium] Add iccjpeg and qcms to chromium port · d7a08b1e
      abarth@webkit.org authored
             https://bugs.webkit.org/show_bug.cgi?id=81974
      
             Reviewed by Adam Barth.
      
             Covered by existing layout tests which will be rebaselined.
      
             * WebCore.gyp/WebCore.gyp: Add qcms to the build.
             * platform/image-decoders/ImageDecoder.h:
             (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Return an sRGB profile.
             On OSX, return the default RGB profile. Add FIXME to use the user's
             monitor profile and verify that profile for other platforms.
      
             * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
             (turboSwizzled): For libjpeg-turbo, JCS_EXT_BGRA and JCS_EXT_RGBA are the
             two known output color spaces for which the decoder uses a data swizzle.
             (colorSpaceHasAlpha): JPEG's have no alpha in the output color space. For
             libjpeg-turbo, alpha may be present in the swizzled output color space.
      
             (WebCore::JPEGImageReader::JPEGImageReader):
             (WebCore::JPEGImageReader::close):
             (WebCore::JPEGImageReader::decode): For QCMSLIB, create the color transform
             to use during decoding, and ensure we switch to inputing RGBA data to qcms
             even if the desired output data is BGRA: outputScanlines() sends BGRA data
             to the frame buffer following color correction if needed.
             (JPEGImageReader):
             (WebCore::JPEGImageReader::colorTransform): qcms color transform getter.
             (WebCore::JPEGImageReader::createColorTransform): Create color transform.
             Release the existing transform (if any) and assign to the color transform
             created from the color profile data.
             (WebCore::JPEGImageDecoder::outputScanlines): Minor style fix. Apply color
             transform to each decoded image row.
      
             * platform/image-decoders/png/PNGImageDecoder.cpp:
             (WebCore::PNGImageReader::PNGImageReader):
             (WebCore::PNGImageReader::close):
             (WebCore::PNGImageReader::currentBufferSize): Move this adjacent to other
             setters and getters.
             (WebCore::PNGImageReader::decodingSizeOnly): Ditto.
             (WebCore::PNGImageReader::setHasAlpha): Ditto.
             (WebCore::PNGImageReader::hasAlpha): Ditto.
             (WebCore::PNGImageReader::interlaceBuffer): Ditto.
             (WebCore::PNGImageReader::createRowBuffer): Creates a temporary row buffer,
             used when a color transform is applied to the decoded image pixels.
             (WebCore::PNGImageReader::rowBuffer): Return the temporary row buffer.
             (WebCore::PNGImageReader::colorTransform): qcms color transform getter.
             (WebCore::PNGImageReader::createColorTransform): Create color transform.
             Release the existing transform (if any) and assign to the color transform
             created from the color profile data.
             (WebCore::PNGImageDecoder::headerAvailable): For QCMSLIB, create the color
             transform to use for decoding. Clear m_colorProfile (not used anymore).
             (WebCore::PNGImageDecoder::rowAvailable): Create temporary row buffer if
             a color transform is needed for decoding. Apply color transform to each
             decoded image row.
      
             * platform/image-decoders/skia/ImageDecoderSkia.cpp:
             (WebCore::ImageFrame::setColorProfile): Old method of colorProfiles is no
             longer used. Add a FIXME to remove the old implementation.
             (WebCore::ImageFrame::setStatus): Remove old color correction code.
      
      Patch by Tony Payne <tpayne@chromium.org> on 2012-06-18
      
      Source/WTF: [chromium] Add iccjpeg and qcms to chromium port.
      https://bugs.webkit.org/show_bug.cgi?id=81974
      
      Patch by Tony Payne <tpayne@chromium.org> on 2012-06-18
      
      * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
      to each Chromium platform, excluding Android.
      
      Reviewed by Adam Barth.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d7a08b1e
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r120485 and r120582. · 86b1152e
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/120485
      http://trac.webkit.org/changeset/120582
      https://bugs.webkit.org/show_bug.cgi?id=89345
      
      chromeos tree breakage (Requested by morrita on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-18
      
      Source/WebCore:
      
      * WebCore.gyp/WebCore.gyp:
      * platform/image-decoders/ImageDecoder.h:
      (ImageFrame):
      (ImageDecoder):
      * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
      (turboSwizzled):
      (WebCore::JPEGImageReader::JPEGImageReader):
      (WebCore::JPEGImageReader::close):
      (WebCore::JPEGImageReader::decode):
      (JPEGImageReader):
      (WebCore::JPEGImageDecoder::outputScanlines):
      * platform/image-decoders/png/PNGImageDecoder.cpp:
      (WebCore::PNGImageReader::PNGImageReader):
      (WebCore::PNGImageReader::close):
      (WebCore::PNGImageReader::currentBufferSize):
      (PNGImageReader):
      (WebCore::PNGImageReader::decodingSizeOnly):
      (WebCore::PNGImageReader::interlaceBuffer):
      (WebCore::PNGImageReader::hasAlpha):
      (WebCore::PNGImageReader::setHasAlpha):
      (WebCore::PNGImageDecoder::headerAvailable):
      (WebCore::PNGImageDecoder::rowAvailable):
      * platform/image-decoders/skia/ImageDecoderSkia.cpp:
      (WebCore):
      (WebCore::resolveColorSpace):
      (WebCore::createColorSpace):
      (WebCore::ImageFrame::setColorProfile):
      (WebCore::ImageFrame::setStatus):
      
      Source/WTF:
      
      * wtf/Platform.h:
      
      LayoutTests:
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      86b1152e
  30. 15 Jun, 2012 1 commit
    • commit-queue@webkit.org's avatar
      Source/WebCore: [chromium] Add iccjpeg and qcms to chromium port · 2dc1ea35
      commit-queue@webkit.org authored
             https://bugs.webkit.org/show_bug.cgi?id=81974
      
             Reviewed by Adam Barth.
      
             Covered by existing layout tests which will be rebaselined.
      
             * WebCore.gyp/WebCore.gyp: Add qcms to the build.
             * platform/image-decoders/ImageDecoder.h:
             (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Return an sRGB profile.
             On OSX, return the default RGB profile. Add FIXME to use the user's
             monitor profile and verify that profile for other platforms.
      
             * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
             (turboSwizzled): For libjpeg-turbo, JCS_EXT_BGRA and JCS_EXT_RGBA are the
             two known output color spaces for which the decoder uses a data swizzle.
             (colorSpaceHasAlpha): JPEG's have no alpha in the output color space. For
             libjpeg-turbo, alpha may be present in the swizzled output color space.
      
             (WebCore::JPEGImageReader::JPEGImageReader):
             (WebCore::JPEGImageReader::close):
             (WebCore::JPEGImageReader::decode): For QCMSLIB, create the color transform
             to use during decoding, and ensure we switch to inputing RGBA data to qcms
             even if the desired output data is BGRA: outputScanlines() sends BGRA data
             to the frame buffer following color correction if needed.
             (JPEGImageReader):
             (WebCore::JPEGImageReader::colorTransform): qcms color transform getter.
             (WebCore::JPEGImageReader::createColorTransform): Create color transform.
             Release the existing transform (if any) and assign to the color transform
             created from the color profile data.
             (WebCore::JPEGImageDecoder::outputScanlines): Minor style fix. Apply color
             transform to each decoded image row.
      
             * platform/image-decoders/png/PNGImageDecoder.cpp:
             (WebCore::PNGImageReader::PNGImageReader):
             (WebCore::PNGImageReader::close):
             (WebCore::PNGImageReader::currentBufferSize): Move this adjacent to other
             setters and getters.
             (WebCore::PNGImageReader::decodingSizeOnly): Ditto.
             (WebCore::PNGImageReader::setHasAlpha): Ditto.
             (WebCore::PNGImageReader::hasAlpha): Ditto.
             (WebCore::PNGImageReader::interlaceBuffer): Ditto.
             (WebCore::PNGImageReader::createRowBuffer): Creates a temporary row buffer,
             used when a color transform is applied to the decoded image pixels.
             (WebCore::PNGImageReader::rowBuffer): Return the temporary row buffer.
             (WebCore::PNGImageReader::colorTransform): qcms color transform getter.
             (WebCore::PNGImageReader::createColorTransform): Create color transform.
             Release the existing transform (if any) and assign to the color transform
             created from the color profile data.
             (WebCore::PNGImageDecoder::headerAvailable): For QCMSLIB, create the color
             transform to use for decoding. Clear m_colorProfile (not used anymore).
             (WebCore::PNGImageDecoder::rowAvailable): Create temporary row buffer if
             a color transform is needed for decoding. Apply color transform to each
             decoded image row.
      
             * platform/image-decoders/skia/ImageDecoderSkia.cpp:
             (WebCore::ImageFrame::setColorProfile): Old method of colorProfiles is no
             longer used. Add a FIXME to remove the old implementation.
             (WebCore::ImageFrame::setStatus): Remove old color correction code.
      
      Patch by Tony Payne <tpayne@chromium.org> on 2012-06-15
      
      Source/WTF: [chromium] Add iccjpeg and qcms to chromium port.
      https://bugs.webkit.org/show_bug.cgi?id=81974
      
      Patch by Tony Payne <tpayne@chromium.org> on 2012-06-15
      
      * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
      to each Chromium platform, excluding Android.
      
      Reviewed by Adam Barth.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120485 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2dc1ea35
  31. 14 Jun, 2012 3 commits
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r120393. · 9efc2af6
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/120393
      https://bugs.webkit.org/show_bug.cgi?id=89163
      
      breaks cr-mac build (Requested by morrita on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-14
      
      Source/WebCore:
      
      * WebCore.gyp/WebCore.gyp:
      * platform/image-decoders/ImageDecoder.h:
      (ImageFrame):
      (ImageDecoder):
      * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
      (turboSwizzled):
      (WebCore::JPEGImageReader::JPEGImageReader):
      (WebCore::JPEGImageReader::close):
      (WebCore::JPEGImageReader::decode):
      (JPEGImageReader):
      (WebCore::JPEGImageDecoder::outputScanlines):
      * platform/image-decoders/png/PNGImageDecoder.cpp:
      (WebCore::PNGImageReader::PNGImageReader):
      (WebCore::PNGImageReader::close):
      (WebCore::PNGImageReader::currentBufferSize):
      (PNGImageReader):
      (WebCore::PNGImageReader::decodingSizeOnly):
      (WebCore::PNGImageReader::interlaceBuffer):
      (WebCore::PNGImageReader::hasAlpha):
      (WebCore::PNGImageReader::setHasAlpha):
      (WebCore::PNGImageDecoder::headerAvailable):
      (WebCore::PNGImageDecoder::rowAvailable):
      * platform/image-decoders/skia/ImageDecoderSkia.cpp:
      (WebCore):
      (WebCore::resolveColorSpace):
      (WebCore::createColorSpace):
      (WebCore::ImageFrame::setColorProfile):
      (WebCore::ImageFrame::setStatus):
      
      Source/WTF:
      
      * wtf/Platform.h:
      
      LayoutTests:
      
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9efc2af6
    • commit-queue@webkit.org's avatar
      Source/WebCore: [chromium] Add iccjpeg and qcms to chromium port · 02f1ea9c
      commit-queue@webkit.org authored
             https://bugs.webkit.org/show_bug.cgi?id=81974
      
             Reviewed by Adam Barth.
      
             Covered by existing layout tests which will be rebaselined.
      
             * WebCore.gyp/WebCore.gyp: Add qcms to the build.
             * platform/image-decoders/ImageDecoder.h:
             (WebCore::ImageDecoder::qcmsOutputDeviceProfile): Return an sRGB profile.
             On OSX, return the default RGB profile. Add FIXME to use the user's
             monitor profile and verify that profile for other platforms.
      
             * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
             (turboSwizzled): For libjpeg-turbo, JCS_EXT_BGRA and JCS_EXT_RGBA are the
             two known output color spaces for which the decoder uses a data swizzle.
             (colorSpaceHasAlpha): JPEG's have no alpha in the output color space. For
             libjpeg-turbo, alpha may be present in the swizzled output color space.
      
             (WebCore::JPEGImageReader::JPEGImageReader):
             (WebCore::JPEGImageReader::close):
             (WebCore::JPEGImageReader::decode): For QCMSLIB, create the color transform
             to use during decoding, and ensure we switch to inputing RGBA data to qcms
             even if the desired output data is BGRA: outputScanlines() sends BGRA data
             to the frame buffer following color correction if needed.
             (JPEGImageReader):
             (WebCore::JPEGImageReader::colorTransform): qcms color transform getter.
             (WebCore::JPEGImageReader::createColorTransform): Create color transform.
             Release the existing transform (if any) and assign to the color transform
             created from the color profile data.
             (WebCore::JPEGImageDecoder::outputScanlines): Minor style fix. Apply color
             transform to each decoded image row.
      
             * platform/image-decoders/png/PNGImageDecoder.cpp:
             (WebCore::PNGImageReader::PNGImageReader):
             (WebCore::PNGImageReader::close):
             (WebCore::PNGImageReader::currentBufferSize): Move this adjacent to other
             setters and getters.
             (WebCore::PNGImageReader::decodingSizeOnly): Ditto.
             (WebCore::PNGImageReader::setHasAlpha): Ditto.
             (WebCore::PNGImageReader::hasAlpha): Ditto.
             (WebCore::PNGImageReader::interlaceBuffer): Ditto.
             (WebCore::PNGImageReader::createRowBuffer): Creates a temporary row buffer,
             used when a color transform is applied to the decoded image pixels.
             (WebCore::PNGImageReader::rowBuffer): Return the temporary row buffer.
             (WebCore::PNGImageReader::colorTransform): qcms color transform getter.
             (WebCore::PNGImageReader::createColorTransform): Create color transform.
             Release the existing transform (if any) and assign to the color transform
             created from the color profile data.
             (WebCore::PNGImageDecoder::headerAvailable): For QCMSLIB, create the color
             transform to use for decoding. Clear m_colorProfile (not used anymore).
             (WebCore::PNGImageDecoder::rowAvailable): Create temporary row buffer if
             a color transform is needed for decoding. Apply color transform to each
             decoded image row.
      
             * platform/image-decoders/skia/ImageDecoderSkia.cpp:
             (WebCore::ImageFrame::setColorProfile): Old method of colorProfiles is no
             longer used. Add a FIXME to remove the old implementation.
             (WebCore::ImageFrame::setStatus): Remove old color correction code.
      
      Patch by Tony Payne <tpayne@chromium.org> on 2012-06-14
      
      Source/WTF: [chromium] Add iccjpeg and qcms to chromium port.
      https://bugs.webkit.org/show_bug.cgi?id=81974
      
      Patch by Tony Payne <tpayne@chromium.org> on 2012-06-14
      
      * wtf/Platform.h: Add Chromium USE defines for ICCJPEG and QCMSLIB
      to each Chromium platform, excluding Android.
      
      Reviewed by Adam Barth.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      02f1ea9c
    • ggaren@apple.com's avatar
      ARMv7 should support spinlocks · 3627271f
      ggaren@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=88957
      
      Reviewed by Darin Adler.
      
      More info @ http://infocenter.arm.com/help/topic/
      com.arm.doc.genc007826/Barrier_Litmus_Tests_and_Cookbook_A08.pdf
      
      * wtf/Atomics.h:
      (WTF::memoryBarrierAfterLock):
      (WTF::memoryBarrierBeforeUnlock): Added memory barrier primitives since
      ARMv7 has a weakly ordered memory model.
      
      * wtf/Platform.h: Enabled compare-and-swap on Windows so our spinlock
      implementation would continue working on Windows.
      
      * wtf/TCSpinLock.h:
      (TCMalloc_SpinLock::Lock):
      (TCMalloc_SpinLock::Unlock):
      (TCMalloc_SpinLock): Use our compare-and-swap helper function to avoid
      rewriting it in assembly here.
      
      Added memory barriers since ARMv7 needs them.
      
      Removed PPC support because our helper function doesn't support PPC.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3627271f