1. 15 Apr, 2013 40 commits
    • andersca@apple.com's avatar
      ScriptWrappable subclasses shouldn't have to include WeakInlines.h · 87a467cc
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114641
      
      Reviewed by Alexey Proskuryakov.
      
      Source/JavaScriptCore:
      
      Move back the Weak constructor, destructor and clear() to Weak.h. Add a new weakClearSlowCase function
      and put it in Weak.cpp.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * heap/Weak.cpp: Added.
      * heap/Weak.h:
      * heap/WeakInlines.h:
      * heap/WeakSetInlines.h:
      
      Source/WebCore:
      
      Remove ScriptWrappableInlines.h includes, they're not needed anymore.
      
      * css/WebKitCSSMatrix.cpp:
      * dom/ClientRect.cpp:
      * dom/ClientRectList.cpp:
      * dom/Clipboard.cpp:
      * dom/DOMStringMap.cpp:
      * dom/Event.cpp:
      * dom/MutationRecord.cpp:
      * fileapi/FileList.cpp:
      * page/BarInfo.cpp:
      * plugins/DOMMimeTypeArray.cpp:
      * plugins/DOMPlugin.cpp:
      * plugins/DOMPluginArray.cpp:
      * storage/Storage.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      87a467cc
    • commit-queue@webkit.org's avatar
      [EFL][WK2] build fix after r148434 · c65e38e6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114647
      
      Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-15
      Reviewed by Benjamin Poulain.
      
      * UIProcess/API/efl/EwkView.cpp:
      (EwkView::showContextMenu):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c65e38e6
    • mhahnenberg@apple.com's avatar
      HeapTimer lifetime should be less complicated · 765a7de9
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114529
      
      Reviewed by Oliver Hunt.
      
      Right now our HeapTimer lifetime is rather complicated. HeapTimers are "owned" by the JSGlobalData,
      but there's an issue in that there can be races between a thread that is trying to tear down a JSGlobalData
      and the HeapTimer's fire function. Our current code for tearing down HeapTimers is an intricate and delicate
      dance which probably contains subtle bugs.
      
      We can make our lives easier by changing things around a bit.
      
      1) We should free the API lock from being solely owned by the JSGlobalData so we don't have to worry about
         grabbing the lock out of invalid memory when our HeapTimer callback fires.
      
      2) We should also make it so that we deref the JSGlobalData first, then unlock the API lock so that when we
         have the lock, the JSGlobalData is in one of two states: fully valid or completely destroyed, and we know exactly which one.
      
      3) The JSLock can tell us this information by keeping a back pointer to the JSGlobalData. When the JSGlobalData's
         destructor is called, it clears this pointer in the JSLock. Other clients of the API lock can then check
         this pointer to determine whether or not the JSGlobalData is still around.
      
      4) The CFRunLoopTimer will use the API lock as its context rather than the HeapTimer itself. The only way
         the HeapTimer's callback can get to the HeapTimer is through the API lock's JSGlobalData pointer.
      
      5) The CFRunLoopTimerContext struct has two fields for retain and release callbacks for the context's info field.
         We'll provide these callbacks to ref() and deref() the JSLock as necessary. Thus, the timer becomes the other
         owner of the JSLock apart from the JSGlobalData.
      
      * API/APIShims.h: Remove the cruft that was required by the previous design, such as RefGlobalDataTag.
      (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
      (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
      (APIEntryShimWithoutLock):
      (JSC::APIEntryShim::APIEntryShim):
      (JSC::APIEntryShim::~APIEntryShim): Protect the API lock with a RefPtr, deref the JSGlobalData, which could destroy it,
      then unlock the API lock. This ordering prevents others from obtaining the API lock while the JSGlobalData is in the
      middle of being torn down.
      (JSC::APIEntryShim::init): We now take the lock, then ref the JSGlobalData, which is the opposite order of when we
      tear down the shim.
      * heap/Heap.cpp:
      (JSC::Heap::setActivityCallback): Use PassOwnPtr now.
      (JSC::Heap::activityCallback): Ditto.
      (JSC::Heap::sweeper): Ditto.
      (JSC):
      * heap/Heap.h:
      (Heap):
      * heap/HeapTimer.cpp:
      (JSC::retainAPILock): Retain callback for CFRunLoopTimerContext struct.
      (JSC::releaseAPILock): Release callback for the CFRunLoopTimerContext struct.
      (JSC::HeapTimer::HeapTimer): Use the API lock as the context's info field rather than the HeapTimer.
      (JSC::HeapTimer::timerDidFire): Grab the API lock. Return early if the JSGlobalData has already been destroyed.
      Otherwise, figure out which kind of HeapTimer we are based on the CFRunLoopTimerRef passed to the callback and
      call the HeapTimer's callback.
      * heap/HeapTimer.h:
      (HeapTimer):
      * heap/IncrementalSweeper.cpp:
      (JSC::IncrementalSweeper::create): PassOwnPtr all the things.
      * heap/IncrementalSweeper.h:
      (IncrementalSweeper):
      * jsc.cpp:
      (jscmain): We use an APIEntryShim instead of a RefPtr for the JSGlobalData because we need to
      tear down the JSGlobalData while we still hold the lock, which the APIEntryShim handles correctly.
      * runtime/GCActivityCallback.h:
      (DefaultGCActivityCallback):
      (JSC::DefaultGCActivityCallback::create):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      (JSC::JSGlobalData::~JSGlobalData): Notify the API lock that the JSGlobalData is being torn down.
      * runtime/JSGlobalData.h:
      (JSGlobalData):
      (JSC::JSGlobalData::apiLock):
      * runtime/JSLock.cpp:
      (JSC::JSLockHolder::JSLockHolder): Ref, then lock (just like the API shim).
      (JSC):
      (JSC::JSLock::willDestroyGlobalData):
      (JSC::JSLockHolder::init):
      (JSC::JSLockHolder::~JSLockHolder): Protect, deref, then unlock (just like the API shim).
      (JSC::JSLock::JSLock):
      * runtime/JSLock.h: Add back pointer to the JSGlobalData and a callback for when the JSGlobalData is being
      torn down that clears this pointer to notify other clients (i.e. timer callbacks) that the JSGlobalData is no
      longer valid.
      (JSLockHolder):
      (JSLock):
      (JSC::JSLock::globalData):
      * testRegExp.cpp:
      (realMain): We use an APIEntryShim instead of a RefPtr for the JSGlobalData because we need to
      tear down the JSGlobalData while we still hold the lock, which the APIEntryShim handles correctly.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      765a7de9
    • commit-queue@webkit.org's avatar
      LLInt SH4 backend implementation · 0486d5d1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112886
      
      Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-04-15
      Reviewed by Oliver Hunt.
      
      Source/JavaScriptCore:
      
      * dfg/DFGOperations.cpp:
      (JSC):
      * jit/JITStubs.cpp:
      * llint/LLIntOfflineAsmConfig.h:
      * llint/LowLevelInterpreter.asm:
      * llint/LowLevelInterpreter32_64.asm:
      * offlineasm/arm.rb:
      * offlineasm/ast.rb:
      * offlineasm/backends.rb:
      * offlineasm/instructions.rb:
      * offlineasm/mips.rb:
      * offlineasm/risc.rb:
      * offlineasm/sh4.rb: Added.
      
      Source/WTF:
      
      * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0486d5d1
    • igor.o@sisa.samsung.com's avatar
      Call directly RenderBlock::deleteLineBoxTree · f6a57df6
      igor.o@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=102761
      
      Reviewed by Darin Adler.
      
      Instead of implementing RenderLineBoxList::deleteLineBoxTree logic inside
      RenderBlock::determineStartPosition, we can reuse the code. The commentaries added
      in the changeset #86628 are not valid anymore, nextRootBox is casting m_nextLineBox
      and nextLineBox is returning m_nextLineBox.
      
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::determineStartPosition):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6a57df6
    • andersca@apple.com's avatar
      Remove files related to quota and proximity events from the Xcode project · e1e9525f
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114635
      
      Reviewed by Benjamin Poulain.
      
      * WebCore.xcodeproj/project.pbxproj:
      * history/PageCache.cpp:
      * page/DOMWindow.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1e9525f
    • commit-queue@webkit.org's avatar
      [BlackBerry] Crash from null m_webSettings in WebPagePrivate · 5e42ca64
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114633
      RIM PR 303745
      
      Patch by Liam Quinn <lquinn@blackberry.com> on 2013-04-15
      Reviewed by Rob Buis.
      Internally reviewed by Leo Yang.
      
      Speculative fix suggested by George Staikos--initialize m_webSettings first thing in the init() method.
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::init):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e42ca64
    • jer.noble@apple.com's avatar
      After switching to another space and back, video races to catch up with audio · eee41125
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114634
      
      Reviewed by Tim Horton.
      
      In Mountain Lion and previous, report that a view is "not visible" when its window
      is not in the active space. This causes us to notify AVFoundation that its CAImageQueues
      will not be serviced and results in not having the "catch up" behavior when returning
      to the browser's space.
      
      * UIProcess/API/mac/PageClientImpl.mm:
      (WebKit::PageClientImpl::isViewVisible):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eee41125
    • paroga@webkit.org's avatar
      [CMake] Add WTF_USE_*_UNICODE variables · 36fff293
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114556
      
      Reviewed by Brent Fulgham.
      
      WTF_USE_ICU_UNICODE and WTF_USE_WCHAR_UNICODE are used to
      reduce duplication in the platform specific CMake files.
      
      .:
      
      * Source/cmake/OptionsBlackBerry.cmake:
      * Source/cmake/OptionsEfl.cmake:
      * Source/cmake/OptionsWinCE.cmake:
      
      Source/JavaScriptCore:
      
      * CMakeLists.txt:
      * PlatformEfl.cmake:
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * PlatformBlackBerry.cmake:
      * PlatformEfl.cmake:
      * PlatformWinCE.cmake:
      
      Source/WTF:
      
      * wtf/CMakeLists.txt:
      * wtf/PlatformBlackBerry.cmake:
      * wtf/PlatformEfl.cmake:
      * wtf/PlatformWinCE.cmake:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36fff293
    • paroga@webkit.org's avatar
      [WIN] Remove remaining calls to pthread from WTF · d23cc9e9
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114563
      
      Reviewed by Brent Fulgham.
      
      Replace pthread_key_create with threadSpecificKeyCreate and
      pthread_setspecific with threadSpecificSet from ThreadSpecific.h.
      These functions provide a windows-specific implementation for the pthread functions,
      but require that the thread has been created with WTF::createThread(),
      which is the case for all threads created within WebKit.
      To call this function from fastMalloc we must not call fastMalloc in them.
      To fulfill this constraint ThreadSpecificWin will allocated its memory through the
      original malloc implementation and use the stack for local and static variables.
      Keep the Darwin implementation as it is, since it contains some performance tweaks.
      
      * wtf/FastMalloc.cpp:
      * wtf/ThreadSpecificWin.cpp:
      (WTF::destructorsList):
      (WTF::destructorsMutex):
      (WTF::threadSpecificKeyCreate):
      (WTF::threadSpecificKeyDelete):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d23cc9e9
    • rniwa@webkit.org's avatar
      WKR gets stuck when there are many merges · 7caddeba
      rniwa@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114632
      
      Reviewed by Andreas Kling.
      
      Move the last revision forward when it exists in a branch.
      Otherwise, we'll be stuck looping over revisions made to merge patches.
      
      * Scripts/webkitpy/tool/commands/newcommitbot.py:
      (NewCommitBot.next_work_item):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7caddeba
    • eric.carlson@apple.com's avatar
      HTMLMediaElement::removeTextTrack should clear track client · 2c1be027
      eric.carlson@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114630
      
      Reviewed by Jer Noble.
      
      No new tests, this is clean-up that prevents a potential crash.
      
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::removeTextTrack): Clear the track client.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c1be027
    • commit-queue@webkit.org's avatar
      Crash when favicon is requested · 8bca536f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114624
      
      Patch by peavo@outlook.com <peavo@outlook.com> on 2013-04-15
      Reviewed by Brent Fulgham.
      
      * WebIconDatabase.cpp:
      (WebIconDatabase::getOrCreateDefaultIconBitmap): Added NULL pointer check.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8bca536f
    • robert@webkit.org's avatar
      An inline element with an absolutely positioned child does not correctly... · e10af55e
      robert@webkit.org authored
      An inline element with an absolutely positioned child does not correctly calculate/render padding and margin
      https://bugs.webkit.org/show_bug.cgi?id=47554
      
      Reviewed by David Hyatt.
      
      Source/WebCore:
      
      When looking for padding/margin to add from the start of a child's parent skip past any leading positioned siblings as
      we don't add the padding/margin of the common parent when skipping past them in |skipLeadingWhitespace|. We
      don't need to worry about the case of trailing positioned objects as we will account for their parent's
      border/margin/padding when we encounter them in |nextSegmentBreak|.
      
      Test: fast/inline/padding-before-leading-positioned-element-contributes-width.html
      
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::previousInFlowSibling):
      (WebCore):
      (WebCore::inlineLogicalWidth):
      
      LayoutTests:
      
      * fast/inline/padding-before-leading-positioned-element-contributes-width-expected.txt: Added.
      * fast/inline/padding-before-leading-positioned-element-contributes-width.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e10af55e
    • ap@apple.com's avatar
      Flaky Test: http/tests/ssl/ping-with-unsafe-redirect.html · d956d1cc
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=114616
      
              Land expected results for the test.
      
              * http/tests/ssl/ping-with-unsafe-redirect-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148452 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d956d1cc
    • commit-queue@webkit.org's avatar
      [BlackBerry] Forward userGesture when creating a new window · 31d024f6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114622
      
      Patch by Andy Chen <andchen@blackberry.com> on 2013-04-15
      Reviewed by Rob Buis.
      
      Client could use this info to decide whether the popup should
      be blocked.
      PR 291898
      Reviewed internally by Mike Fenton
      
      * Api/WebPageClient.h:
      * WebCoreSupport/ChromeClientBlackBerry.cpp:
      (WebCore::ChromeClientBlackBerry::createWindow):
      * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
      (WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31d024f6
    • kov@webkit.org's avatar
      [GTK] Missing a few packages for building on stock Fedora · 81cd025e
      kov@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113916
      
      Reviewed by Philippe Normand.
      
      * gtk/install-dependencies: add packages that are missing.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81cd025e
    • commit-queue@webkit.org's avatar
      [WinCairo] Compile fix. · be6c4602
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114623
      
      Patch by peavo@outlook.com <peavo@outlook.com> on 2013-04-15
      Reviewed by Brent Fulgham.
      
      * platform/network/curl/CookieJarCurl.cpp: Added required header files.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be6c4602
    • zandobersek@gmail.com's avatar
      REGRESSION (r148360): Failure in... · cd50c952
      zandobersek@gmail.com authored
      REGRESSION (r148360): Failure in webkitpy.tool.multicommandtool_unittest.MultiCommandToolTest.test_command_help
      https://bugs.webkit.org/show_bug.cgi?id=114602
      
      Reviewed by Ryosuke Niwa.
      
      * Scripts/webkitpy/tool/multicommandtool_unittest.py:
      (CommandTest.test_required_arguments): Reset the static argument_names variable on the TrivialCommand
      interface so its value doesn't leak into the following tests.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd50c952
    • mrobinson@webkit.org's avatar
      [GTK] REGRESSION(r147499): HTTP auth dialog doesn't remember passwords anymore · 7f8011db
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114613
      
      Reviewed by Carlos Garcia Campos.
      
      * Source/autotools/SetupAutoconfHeader.m4: Correct definition of ENABLE_CREDENTIAL_STORAGE
      so that the ENABLE(CREDENTIAL_STORAGE) macro work properly.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f8011db
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. · c4ccae31
      zandobersek@gmail.com authored
      * platform/gtk/TestExpectations: Adding failure expectations for tests introduced in r147829 and r148136.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4ccae31
    • zandobersek@gmail.com's avatar
      Unreviewed GTK gardening. · 90d40338
      zandobersek@gmail.com authored
      * platform/gtk/fast/js/global-constructors-expected.txt: Rebaselining after r148236.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148443 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90d40338
    • rwlbuis@webkit.org's avatar
      Fix some compiler warnings (miscellaneous) · 0c753099
      rwlbuis@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=80790
      
      Patch by Rob Buis <rbuis@rim.com> on 2013-04-15
      Reviewed by Darin Adler.
      
      It does not seem needed to initialize jpeg_create_compress struct to zero,
      all that is needed is set the err field. See for instance SkImageDecoder_libjpeg.cpp.
      
      * platform/image-encoders/JPEGImageEncoder.cpp:
      (WebCore::compressRGBABigEndianToJPEG):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148442 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c753099
    • zandobersek@gmail.com's avatar
      Deprecate land-cowboy in favor of land-cowhand · a466e806
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=104470
      
      Patch by Zan Dobersek <zandobersek@gmail.com> on 2013-04-15
      Reviewed by Darin Adler.
      
      Move the LandCowboy command implementation under the LandCowhand command and deprecate the former.
      
      * Scripts/webkitpy/tool/commands/download.py:
      (LandCowhand):
      (LandCowboy):
      (LandCowboy._prepare_state):
      * Scripts/webkitpy/tool/commands/download_unittest.py:
      (test_land_cowhand): Adjust the unit tests by testing both LandCowhand and LandCowboy,
      also checking the deprecation message in the output of the latter.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148441 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a466e806
    • paroga@webkit.org's avatar
      [GTK] Remove platform specific implementation of KURL::fileSystemPath() · b0a057ea
      paroga@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114133
      
      Reviewed by Martin Robinson.
      
      r147883 added a generic implementation of this function,
      which can be used by all ports to share the code.
      
      * GNUmakefile.list.am:
      * platform/KURL.cpp:
      (WebCore):
      * platform/gtk/KURLGtk.cpp: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b0a057ea
    • commit-queue@webkit.org's avatar
      Schedule rendering at regular interval (60fps) · 3b83585f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114617
      
      Patch by Seulgi Kim <seulgikim@company100.net> on 2013-04-15
      Reviewed by Martin Robinson.
      
      Schedule rendering reguarly regardless of the time taken to render a
      frame. Otherwise, next flush delayed by the amount of the rendering
      time.
      
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
      (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
      (WebKit::LayerTreeHostGtk::layerFlushTimerFired):
      (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b83585f
    • paroga@webkit.org's avatar
      Unreviewed WinCE build fix after r148373. · 7f50d685
      paroga@webkit.org authored
      * WebCoreSupport/EditorClientWinCE.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f50d685
    • ossy@webkit.org's avatar
      Debug buildfix after r148433. · 144bde60
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108295
      
      Reviewed by Allan Sandfeld Jensen.
      
      * platform/graphics/texmap/TextureMapperLayer.h:
      (WebCore::TextureMapperLayer::children): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148437 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      144bde60
    • zarvai@inf.u-szeged.hu's avatar
      [Qt] Unreviewed gardening. · bf163a4a
      zarvai@inf.u-szeged.hu authored
      * platform/qt-5.0-wk1/TestExpectations:
      * platform/qt/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148436 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bf163a4a
    • commit-queue@webkit.org's avatar
      Improve Windows cmd.exe detection · 12c83769
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114620
      
      Patch by Jonathan Liu <net147@gmail.com> on 2013-04-15
      Reviewed by Jocelyn Turcotte.
      
      The current detection code handles Windows cmd.exe and Cygwin shell
      but not does not handle MSYS shell correctly. Simplify and improve the
      detection by checking MINGW_IN_SHELL instead as used in other places
      (e.g. qt_functions.prf).
      
      * qmake/mkspecs/features/default_pre.prf:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148435 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      12c83769
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Use C API in ewk_context_menu · e48eb1c9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109698
      
      Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-04-15
      Reviewed by Andreas Kling.
      
      EFL port unlike others does not handle context menus inside WebKit but exposes an API:
      ewk_context_menu and ewk_context_menu_item, and leaves context menu to application.
      Currently EFL port's context menu API uses internal C++ classes, while it should use WK2 C API,
      to avoid violating layering.
      This patch changes EFL context menu API to use only WK2 C API.
      
      * UIProcess/API/efl/EwkView.cpp:
      (EwkView::showContextMenu):
      * UIProcess/API/efl/EwkView.h:
      (WebKit):
      (EwkView):
      * UIProcess/API/efl/ewk_context_menu.cpp:
      (EwkContextMenu::EwkContextMenu):
      (EwkContextMenu::contextMenuItemSelected):
      (ewk_context_menu_item_select):
      (getWKTagFromEwkAction):
      * UIProcess/API/efl/ewk_context_menu_item.cpp:
      (EwkContextMenuItem::EwkContextMenuItem):
      (getEwkActionFromWKTag):
      * UIProcess/API/efl/ewk_context_menu_item.h:
      * UIProcess/API/efl/ewk_context_menu_item_private.h:
      (EwkContextMenuItem::create):
      (EwkContextMenuItem):
      * UIProcess/API/efl/ewk_context_menu_private.h:
      (EwkContextMenu::create):
      (EwkContextMenu):
      * UIProcess/efl/ContextMenuClientEfl.cpp:
      (showContextMenu):
      (hideContextMenu):
      (ContextMenuClientEfl::ContextMenuClientEfl):
      * UIProcess/efl/ContextMenuClientEfl.h:
      (WebKit::ContextMenuClientEfl::view):
      * UIProcess/efl/WebContextMenuProxyEfl.cpp:
      (WebKit::WebContextMenuProxyEfl::showContextMenu):
      (WebKit::WebContextMenuProxyEfl::hideContextMenu):
      * UIProcess/efl/WebContextMenuProxyEfl.h:
      (WebContextMenuProxyEfl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e48eb1c9
    • commit-queue@webkit.org's avatar
      Coordinated Graphics: Remove GraphicsLayerTextureMapper dependency from CoordinatedGraphicsScene. · 4578d0d9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108295
      
      Since all the changes to the TextureMapperLayer tree now come in a single IPC message via
      CoordinatedGraphicsState, we don't need the additional buffering done in GraphicsLayerTextureMapper.
      
      This reduces unnecessary function calls, and also streamlines GraphicsLayerTextureMapper to be used
      only in WebKit1 (without CoordinatedGraphics).
      
      Patch by Noam Rosenthal <noam@webkit.org> on 2013-04-15
      Reviewed by Allan Sandfeld Jensen.
      
      No new tests, refactor only.
      
      * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
      (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
      (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
      (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
      (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
      (WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
      (WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
      (WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
      (WebCore):
      * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
      (GraphicsLayerTextureMapper):
          Removed references to m_hasOwnBackingStore, which was done to separate the CoordinatedGraphics
          path from the WK1 path.
      
      * platform/graphics/texmap/TextureMapperLayer.h:
      (WebCore::TextureMapperLayer::drawsContent):
      (WebCore::TextureMapperLayer::contentsAreVisible):
      (WebCore::TextureMapperLayer::size):
      (WebCore::TextureMapperLayer::opacity):
      (WebCore::TextureMapperLayer::transform):
      (WebCore::TextureMapperLayer::isShowingRepaintCounter):
      (WebCore::TextureMapperLayer::fixedToViewport):
      (TextureMapperLayer):
          Added a few public functions needed by CoordinatedGraphicsScene.
      
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
      (WebCore::layerShouldHaveBackingStore):
      (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
      (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
      (WebCore::CoordinatedGraphicsScene::adjustPositionForFixedLayers):
      (WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
      (WebCore::CoordinatedGraphicsScene::syncCanvasIfNeeded):
      (WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
      (WebCore::CoordinatedGraphicsScene::setLayerRepaintCountIfNeeded):
      (WebCore::CoordinatedGraphicsScene::setLayerChildrenIfNeeded):
      (WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
      (WebCore::CoordinatedGraphicsScene::setLayerState):
      (WebCore::CoordinatedGraphicsScene::getLayerByIDIfExists):
      (WebCore::CoordinatedGraphicsScene::createLayer):
      (WebCore::CoordinatedGraphicsScene::deleteLayer):
      (WebCore::CoordinatedGraphicsScene::setRootLayerID):
      (WebCore::CoordinatedGraphicsScene::prepareContentBackingStore):
      (WebCore::CoordinatedGraphicsScene::createBackingStoreIfNeeded):
      (WebCore::CoordinatedGraphicsScene::removeBackingStoreIfNeeded):
      (WebCore::CoordinatedGraphicsScene::resetBackingStoreSizeToLayerSize):
      (WebCore::CoordinatedGraphicsScene::createTilesIfNeeded):
      (WebCore::CoordinatedGraphicsScene::removeTilesIfNeeded):
      (WebCore::CoordinatedGraphicsScene::updateTilesIfNeeded):
      (WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
      (WebCore::CoordinatedGraphicsScene::commitSceneState):
      (WebCore::CoordinatedGraphicsScene::ensureRootLayer):
      (WebCore::CoordinatedGraphicsScene::setLayerAnimationsIfNeeded):
      (WebCore::CoordinatedGraphicsScene::findScrollableContentsLayerAt):
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
      (CoordinatedGraphicsScene):
      (WebCore::CoordinatedGraphicsScene::layerByID):
      (WebCore::CoordinatedGraphicsScene::rootLayer):
          Use TextureMapperLayer instead of GraphicsLayer and GraphicsLayerTextureMapper.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148433 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4578d0d9
    • antti@apple.com's avatar
      Dynamically triggered subframe loads are causing tile churn · 4d3b2178
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114440
              
      Reviewed by Andreas Kling.
              
      In some cases we switch in and out of minimal tiles multiple times during page loading. This
      creates tile churn where we create speculative tiles and then throw them out. This can be
      caused by various reasons including dynamically created subframes.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::setIsVisuallyNonEmpty):
              
          Stay in minimal tiles modes until there is some visual contents. This avoids switching out from minimal
          tiles while awaiting response for the initial requests.
      
      * page/FrameView.h:
      * rendering/RenderLayerBacking.cpp:
      (WebCore::RenderLayerBacking::RenderLayerBacking):
      (WebCore::computeTileCoverage):
      * rendering/RenderLayerBacking.h:
      (WebCore::RenderLayerBacking::didSwitchToFullTileCoverageDuringLoading):
      (WebCore::RenderLayerBacking::setDidSwitchToFullTileCoverageDuringLoading):
              
          Only switch into minimal coverage mode once per page load.
      
      (RenderLayerBacking):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148432 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d3b2178
    • commit-queue@webkit.org's avatar
      color-index media feature not supported · 53473ee6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114468
      
      Patch by Rune Lillesveen <rune@opera.com> on 2013-04-15
      Reviewed by Kenneth Rohde Christiansen.
      
      Source/WebCore:
      
      Support the color-index media feature. Currently assumes that no WebKit
      browser will have an output device that uses a color lookup table.
      
      Tests: fast/media/mq-color-index-01.html
             fast/media/mq-color-index-02.html
      
      * css/MediaFeatureNames.h:
      (MediaFeatureNames):
      * css/MediaQueryEvaluator.cpp:
      (WebCore::color_indexMediaFeatureEval):
      (WebCore):
      (WebCore::min_color_indexMediaFeatureEval):
      (WebCore::max_color_indexMediaFeatureEval):
      * css/MediaQueryExp.cpp:
      (WebCore::featureWithPositiveInteger):
      (WebCore::featureWithoutValue):
      
      LayoutTests:
      
      Added testcases for checking support and handling invalid values for
      the color-index media feature.
      
      * fast/media/mq-color-index-01-expected.html: Added.
      * fast/media/mq-color-index-01.html: Added.
      * fast/media/mq-color-index-02-expected.txt: Added.
      * fast/media/mq-color-index-02.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53473ee6
    • kbalazs@webkit.org's avatar
      [CoordGfx] Background color should not be part of GraphicsLayerState · 1283cf3b
      kbalazs@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113785
      
      Source/WebCore:
      
      Page background is independent from layer state, send it to the UI
      as soon as possible.
      
      Should not cause observable change in behavior so no new tests.
      
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
      (WebCore::CoordinatedGraphicsScene::commitSceneState):
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
      
      Source/WebKit2:
      
      Reviewed by Andreas Kling.
      
      Page background is independent from layer state, send it to the UI
      as soon as possible.
      
      * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
      (CoreIPC::::encode):
      (CoreIPC::::decode):
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
      (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1283cf3b
    • commit-queue@webkit.org's avatar
      [webkitpy] Use $NUMBER_OF_PROCESSORS in Executive.cpu_count() · 446e6fdc
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114506
      
      Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-04-15
      Reviewed by Philippe Normand.
      
      * Scripts/webkitpy/common/system/executive.py:
      (Executive.cpu_count): Modify function in order to use the environment
      variable $NUMBER_OF_PROCESSORS if it is defined and it is an integer
      greater than 0.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148429 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      446e6fdc
    • commit-queue@webkit.org's avatar
      [BlackBerry] ASSERT in StyleResolver::ensureScopeResolver() · bd4b4ce5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114615
      
      Patch by Xan Lopez <xlopez@igalia.com> on 2013-04-15
      Reviewed by Carlos Garcia Campos.
      
      Source/WebKit/blackberry:
      
      Add a method to enable the style scoped feature to our
      DumpRenderTreeSupport class.
      
      * WebKitSupport/DumpRenderTreeSupport.cpp:
      (DumpRenderTreeSupport::setStyleScopedEnabled):
      * WebKitSupport/DumpRenderTreeSupport.h:
      (DumpRenderTreeSupport):
      
      Tools:
      
      Enable the style scoped feature if we have support for it.
      
      * DumpRenderTree/blackberry/DumpRenderTree.cpp:
      (BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd4b4ce5
    • commit-queue@webkit.org's avatar
      [EFL] Unskip some inspector tests related to styles · 3ea1a0e1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114609
      
      Unreviewed gardening.
      
      Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-15
      
      * platform/efl-wk2/TestExpectations: Old issues. Fixed on the latest codebase.
      * platform/efl/TestExpectations: Fixed by r128637.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148426 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ea1a0e1
    • commit-queue@webkit.org's avatar
      [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can... · 1f10e0c1
      commit-queue@webkit.org authored
      [BlackBerry] Filesystem callback notifyCreateSnapshotFileAndReadMetadata can be called on the wring thread
      https://bugs.webkit.org/show_bug.cgi?id=114610
      
      Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-04-15
      Reviewed by Xan Lopez.
      
      Override notifyCreateSnapshotFileAndReadMetadata to make sure the
      callback is called on the right thread.
      
      Fixes a crash in several fast/filesystem test in debug builds.
      
      * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.cpp:
      (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadata):
      (WebCore::WorkerPlatformAsyncFileSystemCallbacks::notifyCreateSnapshotFileAndReadMetadataOnWorkerThread):
      * platform/blackberry/WorkerPlatformAsyncFileSystemCallbacks.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f10e0c1
    • anilsson@rim.com's avatar
      [BlackBerry][CSS Filters] Non-image content disappears when filter applied · d393aae0
      anilsson@rim.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114498
      
      Reviewed by Carlos Garcia Campos.
      
      Applying a filter to a div with simple text content caused the div to
      disappear.
      
      In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
      state save/restore code for vertex attributes to make sure the state
      changes done by BlackBerry::Platform::Graphics don't interfere with
      GL code executing in WebKit. However, saving and restoring vertex
      attribute state won't do much good if those attributes were never
      enabled to begin with. Fixed by enabling vertex attributes
      appropriately when setting them, so that state can be saved and
      restored.
      
      All the CSS Filters layout tests apply the filters to simple rectangles
      or images, there's nothing sufficiently complex that we manage to
      trigger this GL state conflict in the BlackBerry port. This suggests
      adding a new platform-specific layout test would be appropriate, but
      since we don't use pixel tests yet, such a test would not help detect
      regressions. Ultimately we decided against adding a layout test for
      this bug at this time.
      
      * platform/graphics/blackberry/LayerFilterRenderer.cpp:
      (WebCore::LayerFilterRenderer::applyActions):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d393aae0