1. 09 May, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Add support for [NoInterfaceObject] Web IDL extended attribute · 077c4e77
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115714
      
      Reviewed by Kentaro Hara.
      
      .:
      
      Update GENERATE_BINDINGS macro to take an additional _window_constructors_file
      optional argument.
      
      * Source/cmake/WebKitMacros.cmake:
      
      Source/WebCore:
      
      *Constructor attributes on the global DOMWindow object are now automatically
      generated for each non-callback interface that is not declared with the
      [NoInterfaceObject] extended attribute. It is thus no longer needed for
      developers to manually add *Constructor attributes for their new interfaces
      unless they wish to register an "extra" constructor for their interface.
      
      This patch does not modify at all the behavior on JS side. To achieve this,
      [NoInterfaceObject] extended attribute is added to interfaces that should
      not have it according to specification (e.g. History, Location, ...).
      This can be improved later as the behavior should not change with this
      patch.
      
      No new tests, no behavior change.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Modules/battery/BatteryManager.idl:
      * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
      * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
      * Modules/encryptedmedia/MediaKeySession.idl:
      * Modules/encryptedmedia/MediaKeys.idl:
      * Modules/filesystem/DOMFileSystem.idl:
      * Modules/filesystem/DOMFileSystemSync.idl:
      * Modules/filesystem/DirectoryEntry.idl:
      * Modules/filesystem/DirectoryEntrySync.idl:
      * Modules/filesystem/DirectoryReader.idl:
      * Modules/filesystem/DirectoryReaderSync.idl:
      * Modules/filesystem/Entry.idl:
      * Modules/filesystem/EntryArray.idl:
      * Modules/filesystem/EntryArraySync.idl:
      * Modules/filesystem/EntrySync.idl:
      * Modules/filesystem/FileEntry.idl:
      * Modules/filesystem/FileEntrySync.idl:
      * Modules/filesystem/FileWriter.idl:
      * Modules/filesystem/FileWriterSync.idl:
      * Modules/filesystem/Metadata.idl:
      * Modules/gamepad/Gamepad.idl:
      * Modules/gamepad/GamepadList.idl:
      * Modules/geolocation/Coordinates.idl:
      * Modules/geolocation/Geolocation.idl:
      * Modules/geolocation/Geoposition.idl:
      * Modules/geolocation/PositionError.idl:
      * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
      * Modules/indexeddb/IDBAny.idl:
      * Modules/mediasource/MediaSource.idl:
      * Modules/mediasource/SourceBuffer.idl:
      * Modules/mediasource/SourceBufferList.idl:
      * Modules/mediastream/DOMWindowMediaStream.idl: Removed.
      * Modules/mediastream/MediaStream.idl:
      * Modules/mediastream/MediaStreamTrack.idl:
      * Modules/mediastream/MediaStreamTrackEvent.idl:
      * Modules/mediastream/NavigatorUserMediaError.idl:
      * Modules/mediastream/RTCDTMFSender.idl:
      * Modules/mediastream/RTCDTMFToneChangeEvent.idl:
      * Modules/mediastream/RTCDataChannel.idl:
      * Modules/mediastream/RTCDataChannelEvent.idl:
      * Modules/mediastream/RTCIceCandidateEvent.idl:
      * Modules/mediastream/RTCPeerConnection.idl:
      * Modules/mediastream/RTCStatsReport.idl:
      * Modules/mediastream/RTCStatsResponse.idl:
      * Modules/networkinfo/NetworkInfoConnection.idl:
      * Modules/notifications/DOMWindowNotifications.idl:
      * Modules/notifications/NotificationCenter.idl:
      * Modules/quota/StorageInfo.idl:
      * Modules/quota/StorageQuota.idl:
      * Modules/speech/DOMWindowSpeech.idl: Removed.
      * Modules/speech/DOMWindowSpeechSynthesis.idl:
      * Modules/speech/SpeechGrammar.idl:
      * Modules/speech/SpeechGrammarList.idl:
      * Modules/speech/SpeechRecognition.idl:
      * Modules/speech/SpeechRecognitionAlternative.idl:
      * Modules/speech/SpeechRecognitionError.idl:
      * Modules/speech/SpeechRecognitionEvent.idl:
      * Modules/speech/SpeechRecognitionResult.idl:
      * Modules/speech/SpeechRecognitionResultList.idl:
      * Modules/speech/SpeechSynthesis.idl:
      * Modules/speech/SpeechSynthesisVoice.idl:
      * Modules/webaudio/AnalyserNode.idl:
      * Modules/webaudio/AudioBuffer.idl:
      * Modules/webaudio/AudioBufferSourceNode.idl:
      * Modules/webaudio/AudioContext.idl:
      * Modules/webaudio/AudioDestinationNode.idl:
      * Modules/webaudio/AudioListener.idl:
      * Modules/webaudio/AudioNode.idl:
      * Modules/webaudio/AudioParam.idl:
      * Modules/webaudio/AudioSourceNode.idl:
      * Modules/webaudio/BiquadFilterNode.idl:
      * Modules/webaudio/ChannelMergerNode.idl:
      * Modules/webaudio/ChannelSplitterNode.idl:
      * Modules/webaudio/ConvolverNode.idl:
      * Modules/webaudio/DOMWindowWebAudio.idl: Removed.
      * Modules/webaudio/DelayNode.idl:
      * Modules/webaudio/DynamicsCompressorNode.idl:
      * Modules/webaudio/GainNode.idl:
      * Modules/webaudio/MediaElementAudioSourceNode.idl:
      * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
      * Modules/webaudio/MediaStreamAudioSourceNode.idl:
      * Modules/webaudio/OfflineAudioContext.idl:
      * Modules/webaudio/OscillatorNode.idl:
      * Modules/webaudio/PannerNode.idl:
      * Modules/webaudio/ScriptProcessorNode.idl:
      * Modules/webaudio/WaveShaperNode.idl:
      * Modules/webaudio/WaveTable.idl:
      * Modules/webdatabase/DOMWindowWebDatabase.idl:
      * Modules/webdatabase/Database.idl:
      * Modules/webdatabase/DatabaseSync.idl:
      * Modules/webdatabase/SQLError.idl:
      * Modules/webdatabase/SQLResultSet.idl:
      * Modules/webdatabase/SQLResultSetRowList.idl:
      * Modules/webdatabase/SQLTransaction.idl:
      * Modules/webdatabase/SQLTransactionSync.idl:
      * Modules/websockets/DOMWindowWebSocket.idl: Removed.
      * Modules/websockets/WebSocket.idl:
      * PlatformBlackBerry.cmake:
      * UseJSC.cmake:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/scripts/IDLAttributes.txt:
      * bindings/scripts/IDLParser.pm:
      (parseTypedef):
      * bindings/scripts/preprocess-idls.pl:
      (GenerateConstructorAttribute):
      (getFileContents):
      (getPartialInterfaceNameFromIDL):
      (isCallbackInterfaceFromIDL):
      (trim):
      (getInterfaceExtendedAttributesFromIDL):
      * css/CSSFontFaceLoadEvent.idl:
      * css/CSSFontFaceRule.idl:
      * css/CSSSupportsRule.idl:
      * css/CSSUnknownRule.idl:
      * css/DOMWindowCSS.idl:
      * css/FontLoader.idl:
      * css/MediaQueryList.idl:
      * css/MediaQueryListListener.idl:
      * css/StyleMedia.idl:
      * dom/CustomElementConstructor.idl:
      * dom/DOMError.idl:
      * dom/DOMNamedFlowCollection.idl:
      * dom/DataTransferItem.idl:
      * dom/DataTransferItemList.idl:
      * dom/EventListener.idl:
      * dom/EventTarget.idl:
      * dom/NodeIterator.idl:
      * dom/ShadowRoot.idl:
      * dom/TreeWalker.idl:
      * dom/WebKitNamedFlow.idl:
      * fileapi/FileException.idl:
      * fileapi/FileReaderSync.idl:
      * html/HTMLAudioElement.idl:
      * html/HTMLDetailsElement.idl:
      * html/HTMLOptionElement.idl:
      * html/MediaError.idl:
      * html/MediaKeyError.idl:
      * html/MicroDataItemValue.idl:
      * html/RadioNodeList.idl:
      * html/ValidityState.idl:
      * html/canvas/CanvasRenderingContext.idl:
      * html/canvas/DOMPath.idl:
      * html/canvas/EXTDrawBuffers.idl:
      * html/canvas/EXTTextureFilterAnisotropic.idl:
      * html/canvas/OESElementIndexUint.idl:
      * html/canvas/OESStandardDerivatives.idl:
      * html/canvas/OESTextureFloat.idl:
      * html/canvas/OESTextureHalfFloat.idl:
      * html/canvas/OESVertexArrayObject.idl:
      * html/canvas/WebGLCompressedTextureATC.idl:
      * html/canvas/WebGLCompressedTexturePVRTC.idl:
      * html/canvas/WebGLCompressedTextureS3TC.idl:
      * html/canvas/WebGLContextAttributes.idl:
      * html/canvas/WebGLDebugRendererInfo.idl:
      * html/canvas/WebGLDebugShaders.idl:
      * html/canvas/WebGLDepthTexture.idl:
      * html/canvas/WebGLLoseContext.idl:
      * html/canvas/WebGLVertexArrayObjectOES.idl:
      * html/track/AudioTrack.idl:
      * html/track/AudioTrackList.idl:
      * html/track/TextTrackRegionList.idl:
      * html/track/VideoTrack.idl:
      * html/track/VideoTrackList.idl:
      * inspector/InjectedScriptHost.idl:
      * inspector/InspectorFrontendHost.idl:
      * inspector/JavaScriptCallFrame.idl:
      * inspector/ScriptProfile.idl:
      * inspector/ScriptProfileNode.idl:
      * loader/appcache/DOMApplicationCache.idl:
      * page/AbstractView.idl:
      * page/BarInfo.idl:
      * page/Console.idl:
      * page/Crypto.idl:
      * page/DOMSecurityPolicy.idl:
      * page/DOMWindow.idl:
      * page/History.idl:
      * page/Location.idl:
      * page/MemoryInfo.idl:
      * page/Navigator.idl:
      * page/PagePopupController.idl:
      * page/Performance.idl:
      * page/PerformanceEntry.idl:
      * page/PerformanceEntryList.idl:
      * page/PerformanceMark.idl:
      * page/PerformanceMeasure.idl:
      * page/PerformanceNavigation.idl:
      * page/PerformanceResourceTiming.idl:
      * page/PerformanceTiming.idl:
      * page/Screen.idl:
      * page/SpeechInputResult.idl:
      * page/SpeechInputResultList.idl:
      * page/WorkerNavigator.idl:
      * page/make_settings.pl:
      (generateInternalSettingsIdlFile):
      * svg/ElementTimeControl.idl:
      * svg/SVGAnimationElement.idl:
      * svg/SVGExternalResourcesRequired.idl:
      * svg/SVGFilterPrimitiveStandardAttributes.idl:
      * svg/SVGFitToViewBox.idl:
      * svg/SVGLangSpace.idl:
      * svg/SVGLocatable.idl:
      * svg/SVGStyledElement.idl:
      * svg/SVGTests.idl:
      * svg/SVGTransformable.idl:
      * svg/SVGURIReference.idl:
      * testing/InternalSettings.idl:
      * testing/Internals.idl:
      * testing/MallocStatistics.idl:
      * testing/TypeConversions.idl:
      * workers/AbstractWorker.idl:
      * workers/DedicatedWorkerContext.idl:
      * workers/SharedWorker.idl:
      * workers/SharedWorkerContext.idl:
      * workers/WorkerContext.idl:
      * workers/WorkerLocation.idl:
      * xml/XPathExpression.idl:
      * xml/XPathNSResolver.idl:
      
      Tools:
      
      Update BindingsTests.generate_supplemental_dependency() to pass an
      additional windowConstructorsFile argument to preprocess-idls.pl.
      
      * Scripts/webkitpy/bindings/main.py:
      (BindingsTests.generate_supplemental_dependency):
      (BindingsTests.main):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      077c4e77
  2. 08 May, 2013 2 commits
    • zandobersek@gmail.com's avatar
      [GTK] Plumb the Automake build system for the Battery Status API feature · 90142ec9
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115718
      
      Reviewed by Martin Robinson.
      
      .: 
      
      * Source/autotools/FindDependencies.m4: Check for the upower-glib dependency if the feature is enabled.
      * Source/autotools/PrintBuildConfiguration.m4: Print out the feature status.
      * Source/autotools/ReadCommandLineArguments.m4: Check for the --enable-battery-status option. The deafult,
      when the option is not given, is to disable the feature.
      * Source/autotools/SetupWebKitFeatures.m4: Treat the ENABLE_BATTERY_STATUS define as configurable.
      * Source/autotools/symbols.filter: Export a couple of symbols that are used in the WebCore internals library.
      
      Source/WebCore: 
      
      No new tests - no new functionality. The feature is not enabled yet, though all the relevant tests
      pass when it is.
      
      * GNUmakefile.am: Add the Modules/battery directory to the list of search paths for header inclusions.
      Include the same directory under the IDL_PATH variable so the IDL files it contains are processed.
      List these IDL files using a wildcard under the EXTRA_DIST list.
      * GNUmakefile.list.am: Add the build targets for the module source files, IDLs and resulting JS bindings.
      * bindings/gobject/GNUmakefile.am: Add the build targets for the GObject DOM bindings.
      
      Tools: 
      
      * Scripts/webkitdirs.pm:
      (buildAutotoolsProject): List battery-status as a configurable feature, meaning its value will be adjusted
      through the --(enable|disable)-battery-status flag passed to configure.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90142ec9
    • zandobersek@gmail.com's avatar
      [Automake] Pass --no-demangle to the linker by default to get the mangled symbols · e06fe855
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115732
      
      Reviewed by Gustavo Noronha Silva.
      
      * GNUmakefile.am: Pass the --no-demangle option to the linker by default. This is done by appending
      the flag to the LDFLAGS variable. While the AM_LDFLAGS variable would be more appropriate, it's not
      at all used when linking installable libraries like libwebkitgtk and libwebkit2gtk, so the LDFLAGS
      variable is used instead.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e06fe855
  3. 07 May, 2013 1 commit
  4. 06 May, 2013 2 commits
  5. 04 May, 2013 2 commits
    • dino@apple.com's avatar
      Fix incorrect ChangeLog dates on previous commit. · 0461a717
      dino@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149577 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0461a717
    • dino@apple.com's avatar
      Animations and Transitions should not start when globally suspended · f221e46d
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114915
      
      Reviewed by Sam Weinig.
      
      .:
      
      Export AnimationController::isSuspended().
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      When the Document's AnimationController was suspended, we still
      started new transitions and animations. Change this so that
      animations enter a paused-but-new state, where they are frozen
      until the AnimationController resumes. At that time, it is as
      if they had just appeared: any delay counts down before
      the animation starts.
      
      For transitions, the change in value must still happen, but
      it does so immediately. No transitionend event should be fired.
      This produces a slightly confusing behaviour, because any
      in-progress transitions are suspended, but any new style changes
      happen instantly. This might sound contradictory, but in general
      suspending the document is a rare (and dangerous) thing to do.
      
      Previously, the Document would call resumeAnimations as it loaded,
      effectively starting all the animations. This meant if you suspended
      animations before loading a document, it was ignored as soon as the
      load finished. Now there is a separate method startAnimationsIfNotSuspended
      which checks to see if the document is suspended as it loads.
      
      In order to handle this case, I added a new state to the Animation
      machinery: AnimationStatePausedNew. This is an animation that was created
      in the suspended state.
      
      Tests: animations/added-while-suspended.html
             transitions/started-while-suspended.html
      
      * WebCore.exp.in: Export AnimationController::isSuspended().
      
      * dom/Document.cpp:
      (WebCore::Document::implicitClose):
          resumeAnimationsForDocument() -> startAnimationsIfNotSuspended()
      
      * page/animation/AnimationBase.cpp:
      (WebCore::nameForState): New name for AnimationStatePausedNew.
      (WebCore::AnimationBase::updateStateMachine): Handle new state AnimationStatePausedNew. The
          most important change is that when go from PausedNew to Running, we jump back into
          the New state and continue from there.
      (WebCore::AnimationBase::updatePlayState): suspended -> isSuspended
      * page/animation/AnimationBase.h: New state: AnimationStatePausedNew
      (WebCore::AnimationBase::waitingToStart): Add AnimationStatePausedNew.
      (WebCore::AnimationBase::paused): Add AnimationStatePausedNew.
      (WebCore::AnimationBase::isNew): Add AnimationStatePausedNew.
      
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialise m_suspended.
      (WebCore::AnimationControllerPrivate::clear): suspended -> isSuspended
      (WebCore::AnimationControllerPrivate::updateAnimations): Ditto.
      (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer): Ditto.
      (WebCore::AnimationControllerPrivate::suspendAnimations): Update m_suspended.
      (WebCore::AnimationControllerPrivate::resumeAnimations): Ditto.
      (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
      (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
      (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): New method that will
          only resume animations if we were not globally suspended.
      (WebCore::AnimationController::isSuspended): New method.
      (WebCore::AnimationController::suspendAnimations): Add logging.
      (WebCore::AnimationController::resumeAnimations): Add logging.
      (WebCore::AnimationController::suspendAnimationsForDocument): Add logging.
      (WebCore::AnimationController::resumeAnimationsForDocument): Add logging.
      (WebCore::AnimationController::startAnimationsIfNotSuspended): Calls private method.
      * page/animation/AnimationController.h:
      (AnimationController): Add isSuspended() and animationsForDocumentMayStart().
      * page/animation/AnimationControllerPrivate.h:
      (WebCore::AnimationControllerPrivate::isSuspended): New method.
      (AnimationControllerPrivate): Add m_isSuspended member.
      
      * page/animation/CompositeAnimation.cpp:
      (WebCore::CompositeAnimation::CompositeAnimation): Moved from header - initialise m_isSuspended.
      (WebCore::CompositeAnimation::updateTransitions): Do not create ImplicitAnimation if suspended.
      (WebCore::CompositeAnimation::updateKeyframeAnimations): Move to AnimationStatePausedNew if suspended.
      (WebCore::CompositeAnimation::suspendAnimations): m_suspended -> m_isSuspended
      (WebCore::CompositeAnimation::resumeAnimations): Ditto.
      * page/animation/CompositeAnimation.h:
      (WebCore::CompositeAnimation::isSuspended): Renamed from suspended()
      
      * page/animation/KeyframeAnimation.cpp:
      (WebCore::KeyframeAnimation::animate): If we're in the AnimationStatePausedNew state, then
          we need to go to the first frame (to handle fill mode).
      
      * testing/Internals.cpp:
      (WebCore::Internals::animationsAreSuspended): New exposed method to reflect AnimationController.
      * testing/Internals.h: Add animationsAreSuspended.
      * testing/Internals.idl: Ditto.
      
      Source/WebKit:
      
      Export AnimationController::isSuspended
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/mac:
      
      The WebView private API cssAnimationsSuspended did not necessarily
      reflect the reality of the Frame's AnimationController value because it
      was caching rather than asking directly. While the WebCore part of this
      patch ensured loading the Document wouldn't resume all animations, it
      is still better to ask directly.
      
      * WebView/WebView.mm:
      (-[WebView cssAnimationsSuspended]): Call into AnimationController.
      (-[WebView setCSSAnimationsSuspended:]): Ditto.
      * WebView/WebViewData.h: Remove cssAnimationsSuspended boolean.
      * WebView/WebViewData.mm: Ditto.
      (-[WebViewPrivate init]):
      
      Source/WebKit/win:
      
      Export AnimationController::isSuspended
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      Two new tests. Add an animation or transition to
      the document when the global animation controller is suspended.
      In the animation case, nothing should happen until the
      animations are resumed. In the transition case, the style
      change should happen immediately and not fire any events.
      
      * animations/added-while-suspended-expected.txt: Added.
      * animations/added-while-suspended.html: Added.
      * animations/suspend-transform-animation.html: Make sure to resume suspended animations
          before quitting the test.
      * transitions/started-while-suspended-expected.txt: Added.
      * transitions/started-while-suspended.html: Added.
      * transitions/suspend-transform-transition.html: Make sure to resume suspended animations
          before quitting the test.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149576 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f221e46d
  6. 01 May, 2013 2 commits
    • benjamin@webkit.org's avatar
      Remove the remaining wscript · 464ee012
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115459
      
      Reviewed by Andreas Kling.
      
      .: 
      
      * wscript: Removed.
      
      Source/JavaScriptCore: 
      
      * wscript: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      464ee012
    • sergio@webkit.org's avatar
      Show a block cursor in overtype mode · 242f7660
      sergio@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114819
      
      Reviewed by Ryosuke Niwa.
      
      .:
      
      * Source/autotools/symbols.filter: export some extra symbols for
      testing purposes.
      
      Source/WebCore:
      
      Test: editing/selection/block-cursor-overtype-mode.html
      
      Overtype mode will use block cursor instead of a caret to
      highlight the next character to be replaced. It will fully cover
      the next character to be replaced (except at the end of a line
      where the usual blinking caret will be shown).
      
      This new block cursor is internally implemented as a selection
      (not exposed to JavaScript) because the selection code knows how
      to deal with bidi text.
      
      * WebCore.exp.in: Export symbols for testing purposes.
      * WebCore.order: Ditto.
      * editing/Editor.cpp:
      (WebCore::Editor::toggleOverwriteModeEnabled): Added a call to
      FrameLoader::setShouldShowBlockCursor.
      (WebCore):
      * editing/Editor.h:
      (Editor):
      * editing/FrameSelection.cpp:
      (WebCore::FrameSelection::FrameSelection):
      (WebCore::FrameSelection::updateAppearance): Use a 1-character
      long selection to paint the cursor in overtype mode.
      (WebCore::FrameSelection::setShouldShowBlockCursor):
      (WebCore):
      * editing/FrameSelection.h:
      (WebCore::FrameSelection::shouldShowBlockCursor):
      (FrameSelection):
      * testing/Internals.cpp:
      (WebCore):
      (WebCore::Internals::selectionBounds): Added a new method which
      returns the IntRect issued by FrameSelection::bounds().
      * testing/Internals.h: Ditto.
      * testing/Internals.idl: Ditto.
      
      Source/WebKit:
      
      Export three more WebCore symbols.
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/win:
      
      Export three more WebCore symbols.
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      New test case for the new block cursor to be used in overtype
      mode. The test verifies that the 1-pixel long caret is replaced by
      a selection like 1-character long block cursor when in overtype
      mode. This test covers LTR and RTL text in LTR and RTL blocks and
      bidi text.
      
      * editing/selection/block-cursor-overtype-mode-expected.txt: Added.
      * editing/selection/block-cursor-overtype-mode.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      242f7660
  7. 30 Apr, 2013 2 commits
  8. 28 Apr, 2013 1 commit
  9. 22 Apr, 2013 3 commits
    • benjamin@webkit.org's avatar
      Remove the memory instrumentation code · 9d72cb0b
      benjamin@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114931
      
      Reviewed by Andreas Kling.
      
      .: 
      
      * Source/autotools/symbols.filter:
      
      Source/JavaScriptCore: 
      
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
      * JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
      
      Source/WebCore: 
      
      The Memory Instrumentation code is unfinished and has already
      become out of sync the objects it is supposed to represent.
      
      The current approach does not seem maintainable, it is better to
      remove it before someone gets hurt.
      
      By removing the code, the binary become 1240976 bytes smaller.
      Yep, almost 1 Mb, bringing WebCore to the size it has 5 months ago :)
      
      * MostWebCoreFiles: remove the support for memory instrumentation.
      
      Source/WebKit: 
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/mac: 
      
      * WebView/WebRenderLayer.mm:
      
      Source/WebKit/win: 
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      Source/WTF: 
      
      On Mac x86_64, the code removal cause the binary to be
      9224 bytes smaller.
      
      * GNUmakefile.list.am:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.vcxproj/WTF.vcxproj:
      * WTF.vcxproj/WTF.vcxproj.filters:
      * WTF.xcodeproj/project.pbxproj:
      * wtf/CMakeLists.txt:
      * wtf/Forward.h:
      * wtf/ListHashSet.h:
      (ListHashSet):
      (ListHashSetNodeAllocator):
      (WTF::ListHashSetNodeAllocator::pool):
      (WTF::ListHashSetNodeAllocator::pastPool):
      * wtf/MemoryInstrumentation.cpp: Removed.
      * wtf/MemoryInstrumentation.h: Removed.
      * wtf/MemoryInstrumentationArrayBufferView.h: Removed.
      * wtf/MemoryInstrumentationHashCountedSet.h: Removed.
      * wtf/MemoryInstrumentationHashMap.h: Removed.
      * wtf/MemoryInstrumentationHashSet.h: Removed.
      * wtf/MemoryInstrumentationListHashSet.h: Removed.
      * wtf/MemoryInstrumentationSequence.h: Removed.
      * wtf/MemoryInstrumentationString.h: Removed.
      * wtf/MemoryInstrumentationVector.h: Removed.
      * wtf/MemoryObjectInfo.h: Removed.
      * wtf/text/AtomicString.h:
      * wtf/text/StringImpl.h:
      (WTF::StringImpl::isASCIILiteral):
      * wtf/text/WTFString.h:
      
      Tools: 
      
      * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
      * TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp: Removed.
      
      LayoutTests: 
      
      * inspector/profiler/memory-instrumentation-cached-images-expected.txt: Removed.
      * inspector/profiler/memory-instrumentation-cached-images.html: Removed.
      * inspector/profiler/memory-instrumentation-canvas-expected.txt: Removed.
      * inspector/profiler/memory-instrumentation-canvas.html: Removed.
      * inspector/profiler/memory-instrumentation-external-array-expected.txt: Removed.
      * inspector/profiler/memory-instrumentation-external-array.html: Removed.
      * inspector/profiler/memory-instrumentation-external-string-expected.txt: Removed.
      * inspector/profiler/memory-instrumentation-external-string.html: Removed.
      * inspector/profiler/memory-instrumentation-test.js: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148921 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d72cb0b
    • mrobinson@webkit.org's avatar
      [GTK] Enable introspection always for developer builds · 0547d1d0
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114983
      
      Reviewed by Gustavo Noronha Silva.
      
      .:
      
      * Source/autotools/SetupAutoconfHeader.m4: No longer expose the ENABLE_INTROSPECTION
      autoconf header variable. It isn't used and it means that when introspection is enabled
      or disabled, there is an unnecessary full rebuild.
      
      Source/WebKit/gtk:
      
      * GNUmakefile.am: Make warnings during gir scanning cause the build to fail. Eliminate
      warnings about deprecated API that the g-ir-scanner uses when generating
      the scanner program. Use --quiet to avoid printing lots of output to
      non-verbose builds.
      
      Source/WebKit2:
      
      * GNUmakefile.am: Make warnings during gir scanning cause the build to fail. Eliminate
      warnings about deprecated API that the g-ir-scanner uses when generating
      the scanner program. Use --quiet.
      
      Tools:
      
      * Scripts/webkitdirs.pm:
      (runAutogenForAutotoolsProjectIfNecessary): Always enable introspection
      when using build-webkit.
      * gtk/jhbuildrc: Enable documentation for all jhbuild modules and explicitly
      choose the memory gsettings backend while in the jhbuild. This eliminates
      warnings from programs that fall back to the memory backend.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0547d1d0
    • zandobersek@gmail.com's avatar
      [GTK] Set up libPlatform.la · 25d930a1
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114168
      
      Reviewed by Martin Robinson.
      
      .: 
      
      * GNUmakefile.am: Define the platform_cppflags and platform_sources variables.
      
      Source/Platform: 
      
      * GNUmakefile.am: Set up the libPlatform.la static library to build the source files listed in platform_sources.
      As with the libPlatformGtk.la library, only the Source/WebCore/platform and its subdirectories are allowed to be
      searched for headers to include, providing a convenient way to detect any platform violations. These directories
      are listed in the platform_webcore_cppflags variable.
      
      Source/WebCore: 
      
      No new tests - no new functionality.
      
      * GNUmakefile.am: Also add the LevelDB-specific cppflags to the platform_cppflags if required as the LevelDB
      code is now built into the new libPlatform.la library.
      * GNUmakefile.list.am: Build a small set of non-GTK-specific platform source files that are already free of
      platform violations into the new libPlatform.la library.
      
      Source/WebKit/gtk: 
      
      * GNUmakefile.am: Add the new libPlatform.la library to the libwebkitgtk library.
      
      Source/WebKit2: 
      
      * GNUmakefile.am: Add the new libPlatform.la library to the libwebkitgtk library. Link the WebKitPluginProcess
      executable against libPlatform.la as well.
      
      Tools: 
      
      * GNUmakefile.am: Link the DumpRenderTree executable against both libPlatform.la and libPlatformGtk.la libraries.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148903 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      25d930a1
  10. 20 Apr, 2013 2 commits
  11. 19 Apr, 2013 1 commit
    • mrobinson@webkit.org's avatar
      [GTK] JSCore.gir.in has a few problems · 374ddf7a
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114710
      
      Reviewed by Philippe Normand.
      
      .:
      
      * GNUmakefile.am: Move common GIR initialization here from WebKit1.
      * configure.ac: Updated to reflect new JSC gir file location.
      
      Source/JavaScriptCore:
      
      * GNUmakefile.am: Add the gobject introspection steps for JavaScriptCore here,
      because they are shared between WebKit1 and WebKit2.
      * JavaScriptCore.gir.in: Added. Moved from the WebKit1 directory. Now written
      as foreign interfaces and referencing the javascriptcoregtk library.
      
      Source/WebKit/gtk:
      
      * GNUmakefile.am: Updated to reflect new name and location of JavaScriptCore-x.0.gir.
      * JSCore.gir.in: Removed.
      
      Source/WebKit2:
      
      * GNUmakefile.am: Updated to reflect new location of JavaScriptCore gir file. Share the
      same autotools data task as the WebKit1 and JavaScriptCore gir installations.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      374ddf7a
  12. 18 Apr, 2013 1 commit
  13. 16 Apr, 2013 3 commits
  14. 15 Apr, 2013 2 commits
  15. 12 Apr, 2013 4 commits
    • mrobinson@webkit.org's avatar
      [GTK] Lower the pango dependency · 06c942ea
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114520
      
      Reviewed by Carlos Garcia Campos.
      
      * Source/autotools/Versions.m4: Only depend on Pango 1.30.0 instead of
      Pango 1.32.0. 1.32.0 isn't strictly necessary and the version of GTK+ that
      we depend on (3.6.0) depends on 1.30.0.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148293 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      06c942ea
    • jer.noble@apple.com's avatar
      TimeRanges::nearest() returns incorrect results. · b6ea0d4a
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114483
      
      Reviewed by Eric Carlson.
      
      .:
      
      Add symbols needed by WebCoreTestSupport to exports list.
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      Test: media/timeranges-nearest.html
      
      TimeRanges::nearest() has had an incorrect algorithm since its
      addition, which has gone unnoticed because no media engine supports
      seekable ranges with greater than one entry, and no media engine
      seekable ranges with startTime values > 0.
      
      Fix the algorithm used to walk a TimeRanges object; return the closest
      time, not the smallest delta between range and target time.
      * html/TimeRanges.cpp:
      (TimeRanges::nearest):
      
      Add some internal functions to allow us to write LayoutTests for
      TimeRanges objects:
      * WebCore.exp.in:
      * testing/Internals.cpp:
      (WebCore::Internals::createTimeRanges):
      (WebCore::Internals::closestTimeToTimeRanges):
      * testing/Internals.h:
      * testing/Internals.idl:
      
      Source/WebKit:
      
      Add symbols needed by WebCoreTestSupport to the exports list.
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/win:
      
      Add symbols needed by WebCoreTestSupport to the exports list.
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      * media/timeranges-nearest-expected.txt: Added.
      * media/timeranges-nearest.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6ea0d4a
    • zandobersek@gmail.com's avatar
      Unreviewed, rolling out r148262. · a86b1954
      zandobersek@gmail.com authored
      http://trac.webkit.org/changeset/148262
      https://bugs.webkit.org/show_bug.cgi?id=114493
      
      Cairo dep should now build, rolling r148247 back in (Requested
      by zdobersek on #webkit).
      
      Patch by Commit Queue <rniwa@webkit.org> on 2013-04-12
      
      .: 
      
      * Source/autotools/FindDependencies.m4:
      * Source/autotools/PrintBuildConfiguration.m4:
      * Source/autotools/SetupWebKitFeatures.m4:
      
      Source/WebCore: 
      
      * platform/graphics/GraphicsContext.cpp:
      (WebCore):
      * platform/graphics/ImageBuffer.cpp:
      (WebCore):
      * platform/graphics/cairo/GLContext.h:
      (GLContext):
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      (WebCore::GraphicsContext::isAcceleratedContext):
      (WebCore):
      * platform/graphics/cairo/ImageBufferCairo.cpp:
      (WebCore::ImageBufferData::ImageBufferData):
      (WebCore):
      (WebCore::createCairoGLSurface):
      (WebCore::ImageBuffer::ImageBuffer):
      (WebCore::ImageBuffer::platformTransformColorSpace):
      (WebCore::mapSurfaceToImage):
      (WebCore::unmapSurfaceFromImage):
      (WebCore::getImageData):
      (WebCore::ImageBuffer::putByteArray):
      (WebCore::ImageBufferData::paintToTextureMapper):
      (WebCore::ImageBuffer::platformLayer):
      * platform/graphics/cairo/ImageBufferDataCairo.h:
      (ImageBufferData):
      * platform/graphics/egl/GLContextEGL.cpp:
      (WebCore::GLContextEGL::GLContextEGL):
      (WebCore::GLContextEGL::~GLContextEGL):
      (WebCore::GLContextEGL::cairoDevice):
      (WebCore):
      * platform/graphics/egl/GLContextEGL.h:
      * platform/graphics/glx/GLContextGLX.cpp:
      (WebCore::GLContextGLX::GLContextGLX):
      (WebCore::GLContextGLX::~GLContextGLX):
      (WebCore::GLContextGLX::cairoDevice):
      (WebCore):
      * platform/graphics/glx/GLContextGLX.h:
      (GLContextGLX):
      
      Tools: 
      
      * Scripts/webkitdirs.pm:
      (buildAutotoolsProject):
      * gtk/jhbuild.modules:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a86b1954
    • zandobersek@gmail.com's avatar
      Unreviewed, rolling out r148247. · cd8dcdb6
      zandobersek@gmail.com authored
      http://trac.webkit.org/changeset/148247
      https://bugs.webkit.org/show_bug.cgi?id=114490
      
      Cairo dep fails to build on builders due to missing EGL
      headers (Requested by zdobersek on #webkit).
      
      Patch by Commit Queue <rniwa@webkit.org> on 2013-04-11
      
      .: 
      
      * Source/autotools/FindDependencies.m4:
      * Source/autotools/PrintBuildConfiguration.m4:
      * Source/autotools/SetupWebKitFeatures.m4:
      
      Source/WebCore: 
      
      * platform/graphics/GraphicsContext.cpp:
      (WebCore):
      * platform/graphics/ImageBuffer.cpp:
      (WebCore):
      * platform/graphics/cairo/GLContext.h:
      (GLContext):
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      * platform/graphics/cairo/ImageBufferCairo.cpp:
      (WebCore::ImageBufferData::ImageBufferData):
      (WebCore::ImageBuffer::ImageBuffer):
      (WebCore::ImageBuffer::platformTransformColorSpace):
      (WebCore::getImageData):
      (WebCore::ImageBuffer::putByteArray):
      (WebCore):
      * platform/graphics/cairo/ImageBufferDataCairo.h:
      (ImageBufferData):
      * platform/graphics/egl/GLContextEGL.cpp:
      (WebCore::GLContextEGL::GLContextEGL):
      (WebCore::GLContextEGL::~GLContextEGL):
      * platform/graphics/egl/GLContextEGL.h:
      * platform/graphics/glx/GLContextGLX.cpp:
      (WebCore::GLContextGLX::GLContextGLX):
      (WebCore::GLContextGLX::~GLContextGLX):
      * platform/graphics/glx/GLContextGLX.h:
      (GLContextGLX):
      
      Tools: 
      
      * Scripts/webkitdirs.pm:
      (buildAutotoolsProject):
      * gtk/jhbuild.modules:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd8dcdb6
  16. 11 Apr, 2013 4 commits
    • commit-queue@webkit.org's avatar
      [GTK] Webkit fails to build with MinGW compiler after changeset 146468 · 5ab58687
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114473
      
      Patch by Paweł Forysiuk <tuxator@o2.pl> on 2013-04-11
      Reviewed by Martin Robinson.
      
      * Source/autotools/CheckSystemAndBasicDependencies.m4: Fix typo.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ab58687
    • mrobinson@webkit.org's avatar
      [GTK] Add accelerated 2D canvas support using cairo-gl · 6d6f5915
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=104672
      
      Reviewed by Alejandro G. Castro.
      
      .:
      
      Detect that we can activate accelerated canvas when CairoGL is present and
      TextureMapperGL is enabled.
      
      * Source/autotools/FindDependencies.m4: Look for CairoGL.
      * Source/autotools/PrintBuildConfiguration.m4: Print the status of accelerated canvas activation.
      * Source/autotools/SetupWebKitFeatures.m4: Set the feature.
      
      Source/WebCore:
      
      No new tests. We do not yet have the ability to run tests against
      accelerated content.
      
      * platform/graphics/GraphicsContext.cpp:
      (WebCore): We don't use the stub implementation of isAcceleratedContext any longer.
      * platform/graphics/ImageBuffer.cpp:
      (WebCore): Ditto for ImageBuffer::platformLayer.
      * platform/graphics/cairo/GLContext.h:
      (GLContext): Added method to get a cairo_device_t from the context.
      * platform/graphics/cairo/GraphicsContextCairo.cpp:
      (WebCore::GraphicsContext::isAcceleratedContext): Return true when we are a CairoGL surface.
      * platform/graphics/cairo/ImageBufferCairo.cpp:
      (WebCore::ImageBufferData::ImageBufferData): Initialize the size and the texture to 0.
      (WebCore::createCairoGLSurface): Added this helper.
      (WebCore::ImageBuffer::ImageBuffer): When we are in accelerated rendering mode, create
      a CairoGL surface.
      (WebCore::ImageBuffer::platformTransformColorSpace): Do not implement this for accelerated
      contexts yet.
      (WebCore::mapSurfaceToImage): Added this helper, since we don't require Cairo 1.12 yet,
      which provides an builtin implementation.
      (WebCore::unmapSurfaceFromImage): Ditto.
      (WebCore::getImageData): Map the surface to an image surface first.
      (WebCore::ImageBuffer::putByteArray): Ditto.
      (WebCore::ImageBufferData::paintToTextureMapper): Connect the accelerated canvas into the
      TextureMapper infrastructure.
      (WebCore::ImageBuffer::platformLayer): This lets the TextureMapper at the ImageBufferData.
      * platform/graphics/cairo/ImageBufferDataCairo.h:
      (ImageBufferData): Subclass TexturMapperPlatformLayer where appropriate.
      * platform/graphics/egl/GLContextEGL.cpp: Added implementation of cairoDevice.
      * platform/graphics/egl/GLContextEGL.h: Ditto.
      * platform/graphics/glx/GLContextGLX.cpp: Ditto
      * platform/graphics/glx/GLContextGLX.h: Ditto.
      
      Tools:
      
      Since the value of ACCELERATED_2D_CANVAS relies on some somewhat unusual
      dependencies, don't override value of the setting determined by configure.
      This will make it easier for people using build-webkit, but not the
      WebKit JHBuild.
      
      * Scripts/webkitdirs.pm:
      (buildAutotoolsProject): Add a blacklist for settings to never override.
      * gtk/jhbuild.modules: Build CairoGL.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d6f5915
    • zandobersek@gmail.com's avatar
      Unreviewed. · 00554f0e
      zandobersek@gmail.com authored
      * Source/autotools/symbols.filter: Stop exporting redundant symbols.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00554f0e
    • commit-queue@webkit.org's avatar
      Incorrect evaluation of resolution media queries · 5314a9de
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114029
      
      Patch by Rune Lillesveen <rune@opera.com> on 2013-04-11
      Reviewed by Kenneth Rohde Christiansen.
      
      .:
      
      Removed setResolutionOverride from exports.
      
      * Source/autotools/symbols.filter:
      
      Source/WebCore:
      
      The implementation used the physical resolution to evaluate the
      resolution media features. Changed to use the actual CSS resolution,
      also known as the device-pixel-ratio, instead. Unified the code for
      evaluating the resolution and device-pixel-ratio media features.
      
      No new tests, covered by existing tests.
      
      * WebCore.exp.in:
      * css/CSSPrimitiveValue.h:
      (WebCore::CSSPrimitiveValue::isResolution):
      * css/MediaQueryEvaluator.cpp:
      (WebCore::evalResolution):
      (WebCore::device_pixel_ratioMediaFeatureEval):
      (WebCore::resolutionMediaFeatureEval):
      * page/Screen.cpp:
      * page/Screen.h:
      * page/Settings.cpp:
      (WebCore):
      * page/Settings.h:
      (Settings):
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::Backup::Backup):
      (WebCore::InternalSettings::Backup::restoreTo):
      * testing/InternalSettings.h:
      (Backup):
      (InternalSettings):
      * testing/InternalSettings.idl:
      
      Source/WebKit:
      
      Removed setResolutionOverride from exports.
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/win:
      
      Removed setResolutionOverride from exports.
      
      * WebKit.vcproj/WebKitExports.def.in:
      
      LayoutTests:
      
      Modified tests to change CSS resolution instead of physical resolution.
      
      * fast/media/mq-resolution.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5314a9de
  17. 10 Apr, 2013 1 commit
    • mario@webkit.org's avatar
      [GTK] Add support for Page Visibility · 41e5cc3b
      mario@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97324
      
      Patch by Anton Obzhirov <a.obzhirov@samsung.com> on 2013-04-10
      Reviewed by Sam Weinig.
      
      .:
      
      Page Visibility has been enabled for GTK port.
      New GTK unittest has been added.
      
      * Source/autotools/SetupWebKitFeatures.m4:
      
      Source/WebKit/gtk:
      
      Implemented access to page visibility API for GTK test runner.
      
      * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
      (DumpRenderTreeSupportGtk::setPageVisibility):
      * WebCoreSupport/DumpRenderTreeSupportGtk.h:
      
      Source/WebKit2:
      
      Added new unittest to test page visibility using GTK Widget visibility API.
      
      * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
      (testWebViewPageVisibility):
      (beforeAll):
      * UIProcess/API/gtk/tests/WebViewTest.cpp:
      (WebViewTest::showInWindow):
      * UIProcess/API/gtk/tests/WebViewTest.h:
      
      Tools:
      
      Implemented test runner API for page visibility layout tests.
      
      * DumpRenderTree/gtk/TestRunnerGtk.cpp:
      (TestRunner::resetPageVisibility):
      (TestRunner::setPageVisibility):
      * Scripts/webkitperl/FeatureList.pm:
      
      LayoutTests:
      
      * platform/gtk/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148088 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41e5cc3b
  18. 09 Apr, 2013 5 commits
    • rakuco@webkit.org's avatar
      [EFL] Declare TEST_THEME_DIR in a single place. · 58ad2803
      rakuco@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114285
      
      Reviewed by Anders Carlsson.
      
      .:
      
      Instead of adding the `THEME_DIR' preprocessor variable in many
      different CMakeList.txt files in the tree, declare it in
      OptionsEfl.cmake so that we avoid needlessly duplicating code around.
      
      While here, rename it to `TEST_THEME_DIR', which is the name used our
      WebKit2 infrastructure, to better reflect the purpose of this value.
      
      * Source/cmake/OptionsEfl.cmake: Add the TEST_THEME_DIR preprocessor
      definition.
      
      Source/WebKit2:
      
      * PlatformEfl.cmake: Remove definition of `TEST_THEME_DIR', which is
      now defined in OptionsEfl.cmake.
      
      Tools:
      
      Adapt to the renaming of `THEME_DIR' to `TEST_THEME_DIR'.
      
      * DumpRenderTree/efl/CMakeLists.txt:
      * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
      (DumpRenderTreeChrome::createView):
      (DumpRenderTreeChrome::createInspectorView):
      (DumpRenderTreeChrome::initialize):
      (DumpRenderTreeChrome::onDownloadRequest):
      * EWebLauncher/CMakeLists.txt:
      * EWebLauncher/main.c:
      (findThemePath):
      * EWebLauncher/url_bar.c:
      (url_bar_add):
      * MiniBrowser/efl/CMakeLists.txt:
      * MiniBrowser/efl/main.c:
      (window_create):
      * TestWebKitAPI/PlatformEfl.cmake:
      * TestWebKitAPI/efl/PlatformWebView.cpp:
      (TestWebKitAPI::PlatformWebView::PlatformWebView):
      * WebKitTestRunner/PlatformEfl.cmake:
      * WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
      (WTR::PlatformWebView::PlatformWebView):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58ad2803
    • commit-queue@webkit.org's avatar
      [GTK][AC] upversion of clutter and its dependecy · 88deaa45
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114016
      
      Patch by ChangSeok Oh <changseok.oh@collabora.com> on 2013-04-09
      Reviewed by Gustavo Noronha Silva.
      
      Upversion of clutter to 1.14, cogl to 1.14 and clutter-gtk to 1.4.4.
      
      .:
      
      * Source/autotools/Versions.m4:
      
      Tools:
      
      * gtk/jhbuild-optional.modules:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88deaa45
    • thiago.santos@intel.com's avatar
      [WK2] Drop WebProcess capabilities on Linux using seccomp filters · 0ee9d4d0
      thiago.santos@intel.com authored
      https://bugs.webkit.org/show_bug.cgi?id=89875
      
      Reviewed by Maciej Stachowiak.
      
      .:
      
      Added the bits to EFL/CMake buildsystem to find the libseccomp
      library.
      
      * Source/cmake/FindLibSeccomp.cmake: Added.
      * Source/cmake/OptionsEfl.cmake:
      * Source/cmake/WebKitFeatures.cmake:
      * Source/cmakeconfig.h.cmake:
      
      Source/WebCore:
      
      Make the DATA_DIR global since it is now needed for WebCore and WebKit2.
      It is now used to set a sandbox policy for the EFL port.
      
      * PlatformEfl.cmake:
      
      Source/WebKit2:
      
      Introduce the foundations of the SeccompFilter-based sandbox. The
      hardening of the WebProcess (and potentially PluginProcess, etc)
      works by a combination of the two things:
      
      - Blocking syscalls that are not used, reducing the size of the attack
      surface.
      - Trapping sensitive syscalls and delegating the execution of these
      syscalls to a separated trusted process subject to a set of policies.
      
      The initial implementation traps the open()-family of syscalls on WebKit
      EFL's and Qt's WebProcess, but it could be easily used by any Linux port,
      since the code is suppose to be Linux-compliant. The list of syscalls handled
      by the broker process should definitely grow as we mature the
      implementation. Other syscalls needs to be handled to get this sandbox
      fully functional, like unlink(), mkdir(), etc.
      
      The broker process should be initialized as early as possible on the
      sandboxed process main() function, because it only does a fork(), which
      is cheap on Linux. That also aims to minimize the resident memory footprint
      of the broker process.
      
      Opening of files for upload and saving downloads is not supported yet,
      since it should be handled to the UIProcess in a similar fashion as
      the Mac port does.
      
      * PlatformEfl.cmake:
      * Shared/linux/SeccompFilters/OpenSyscall.cpp: Added.
      (WebKit):
      (WebKit::OpenSyscall::createFromOpenatContext):
      (WebKit::OpenSyscall::createFromCreatContext):
      (WebKit::OpenSyscall::OpenSyscall):
      (WebKit::OpenSyscall::setResult):
      (WebKit::OpenSyscall::execute):
      (WebKit::OpenSyscall::encode):
      (WebKit::OpenSyscall::decode):
      (WebKit::OpenSyscallResult::OpenSyscallResult):
      (WebKit::OpenSyscallResult::~OpenSyscallResult):
      (WebKit::OpenSyscallResult::encode):
      (WebKit::OpenSyscallResult::decode):
      * Shared/linux/SeccompFilters/OpenSyscall.h: Added.
      (CoreIPC):
      (WebKit):
      (OpenSyscall):
      (WebKit::OpenSyscall::setPath):
      (WebKit::OpenSyscall::setFlags):
      (WebKit::OpenSyscall::setMode):
      (OpenSyscallResult):
      (WebKit::OpenSyscallResult::fd):
      (WebKit::OpenSyscallResult::errorNumber):
      * Shared/linux/SeccompFilters/SeccompBroker.cpp: Added.
      (WebKit):
      (SeccompBrokerClient):
      (WebKit::sendMessage):
      (WebKit::receiveMessage):
      (WebKit::SIGSYSHandler):
      (WebKit::registerSIGSYSHandler):
      (WebKit::SeccompBrokerClient::shared):
      (WebKit::SeccompBrokerClient::SeccompBrokerClient):
      (WebKit::SeccompBrokerClient::~SeccompBrokerClient):
      (WebKit::SeccompBrokerClient::dispatch):
      (WebKit::SeccompBrokerClient::handleIfOpeningOnlineCPUCount):
      (WebKit::SeccompBroker::launchProcess):
      (WebKit::SeccompBroker::initialize):
      (WebKit::SeccompBroker::runLoop):
      * Shared/linux/SeccompFilters/SeccompBroker.h: Added.
      (WebKit):
      (SeccompBroker):
      (WebKit::SeccompBroker::setSyscallPolicy):
      (WebKit::SeccompBroker::SeccompBroker):
      * Shared/linux/SeccompFilters/SeccompFilters.cpp: Added.
      (WebKit):
      (WebKit::SeccompFilters::SeccompFilters):
      (WebKit::SeccompFilters::~SeccompFilters):
      (WebKit::SeccompFilters::addRule):
      (WebKit::SeccompFilters::initialize):
      * Shared/linux/SeccompFilters/SeccompFilters.h: Added.
      (WebKit):
      (SeccompFilters):
      (WebKit::SeccompFilters::context):
      (WebKit::SeccompFilters::platformInitialize):
      * Shared/linux/SeccompFilters/SigactionSyscall.cpp: Added.
      (WebKit):
      (WebKit::SigactionSyscall::createFromContext):
      * Shared/linux/SeccompFilters/SigactionSyscall.h: Added.
      (WebKit):
      (SigactionSyscall):
      * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp: Added.
      (WebKit):
      (WebKit::SigprocmaskSyscall::createFromContext):
      * Shared/linux/SeccompFilters/SigprocmaskSyscall.h: Added.
      (WebKit):
      (SigprocmaskSyscall):
      * Shared/linux/SeccompFilters/Syscall.cpp: Added.
      (WebKit):
      (WebKit::Syscall::createFromContext):
      (WebKit::Syscall::createFromDecoder):
      (WebKit::Syscall::Syscall):
      (WebKit::SyscallResult::createFromDecoder):
      (WebKit::SyscallResult::SyscallResult):
      * Shared/linux/SeccompFilters/Syscall.h: Added.
      (CoreIPC):
      (WebKit):
      (Syscall):
      (WebKit::Syscall::~Syscall):
      (WebKit::Syscall::type):
      (WebKit::Syscall::setContext):
      (WebKit::Syscall::context):
      (SyscallResult):
      (WebKit::SyscallResult::~SyscallResult):
      (WebKit::SyscallResult::type):
      * Shared/linux/SeccompFilters/SyscallPolicy.cpp: Added.
      (WebKit):
      (WebKit::removeTrailingSlash):
      (WebKit::SyscallPolicy::hasPermissionForPath):
      (WebKit::SyscallPolicy::addFilePermission):
      (WebKit::SyscallPolicy::addDirectoryPermission):
      (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
      * Shared/linux/SeccompFilters/SyscallPolicy.h: Added.
      (WebKit):
      (SyscallPolicy):
      * Target.pri:
      * WebKit2.pri:
      * WebProcess/efl/SeccompFiltersWebProcessEfl.cpp: Added.
      (WebKit):
      (WebKit::SeccompFiltersWebProcessEfl::SeccompFiltersWebProcessEfl):
      (WebKit::SeccompFiltersWebProcessEfl::platformInitialize):
      * WebProcess/efl/SeccompFiltersWebProcessEfl.h: Added.
      (WebKit):
      (SeccompFiltersWebProcessEfl):
      * WebProcess/qt/SeccompFiltersWebProcessQt.cpp: Added.
      (WebKit):
      (WebKit::SeccompFiltersWebProcessQt::SeccompFiltersWebProcessQt):
      (WebKit::SeccompFiltersWebProcessQt::platformInitialize):
      * WebProcess/qt/SeccompFiltersWebProcessQt.h: Added.
      (WebKit):
      (SeccompFiltersWebProcessQt):
      * WebProcess/qt/WebProcessQt.cpp:
      (WebKit::WebProcess::platformInitializeWebProcess):
      * WebProcess/soup/WebProcessSoup.cpp:
      (WebKit::WebProcess::platformInitializeWebProcess):
      
      Tools:
      
      Add unit tests to verify if the handling of the open, openat, creat syscall
      is being done right. We check if the Read/Write/ReadAndWrite permissions
      are respected, if the canonical path is being resolved and if
      the permissions are falling back to the topmost parent directory with a
      policy set when the directory being opened has no policy.
      
      We also test if any attempt of blocking SIGSYS is silently ignored.
      SIGSYS cannot be blocked because in it's handler is where we hook
      syscalls to the broker process.
      
      Also added libseccomp to EFL's jhbuild to make the life of developers
      willing to help easier.
      
      * Scripts/webkitperl/FeatureList.pm:
      * TestWebKitAPI/PlatformEfl.cmake:
      * TestWebKitAPI/Tests/WebKit2/SeccompFilters.cpp: Added.
      (TestWebKitAPI):
      (SeccompEnvironment):
      (TestWebKitAPI::SeccompEnvironment::SetUp):
      (TestWebKitAPI::SeccompEnvironment::TearDown):
      (TestWebKitAPI::dummyHandler):
      (TestWebKitAPI::TEST):
      (TestWebKitAPI::stressTest):
      * efl/jhbuild.modules:
      * qmake/mkspecs/features/features.pri:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0ee9d4d0
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix GTK+ 32 bit build. · 1a35730e
      carlosgc@webkit.org authored
      * Source/autotools/symbols.filter: Add some symbols that are
      mangled differently in 32 bits due to size_t.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a35730e
    • paroga@webkit.org's avatar
      Do not set CMAKE_BUILD_TYPE if it is not defined · faf83e24
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114243
      
      Reviewed by Geoffrey Garen.
      
      Setting the CMAKE_BUILD_TYPE causes some problem with Visual Studio.
      Adopt the current usage of the variable to better CMake style.
      
      * CMakeLists.txt:
      * Source/cmake/OptionsCommon.cmake:
      * Source/cmake/OptionsEfl.cmake:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      faf83e24
  19. 08 Apr, 2013 1 commit