1. 25 May, 2011 40 commits
    • oliver@apple.com's avatar
      6e00d03d
    • jamesr@google.com's avatar
      2011-05-25 James Robinson <jamesr@chromium.org> · 83ea3ae7
      jamesr@google.com authored
              Reviewed by Geoffrey Garen
      
              CachedResource overhead size calculation ignores the actual size of the URL
              https://bugs.webkit.org/show_bug.cgi?id=61481
      
              CachedResource::overheadSize is used to determine the size of an entry in the memory cache to know when to evict
              it.  When the resource is a large data: URL, for example representing image or audio data, the URL size itself
              can be significant.
      
              This patch uses an estimate of actual number of bytes used by the URL that is valid for ASCII urls and close for
              other types of strings instead of a fixed number.
      
              * loader/cache/CachedResource.cpp:
              (WebCore::CachedResource::overheadSize):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83ea3ae7
    • oliver@apple.com's avatar
      2011-05-25 Oliver Hunt <oliver@apple.com> · 4872d097
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make RegExp GC allocated
              https://bugs.webkit.org/show_bug.cgi?id=61490
      
              Make RegExp GC allocated.  Basically mechanical change to replace
              most use of [Pass]RefPtr<RegExp> with RegExp* or WriteBarrier<RegExp>
              where actual ownership happens.
      
              Made the RegExpCache use Strong<> references currently to avoid any
              changes in behaviour.
      
              * JavaScriptCore.exp:
              * bytecode/CodeBlock.cpp:
              (JSC::CodeBlock::visitAggregate):
              * bytecode/CodeBlock.h:
              (JSC::CodeBlock::addRegExp):
              * bytecompiler/BytecodeGenerator.cpp:
              (JSC::BytecodeGenerator::addRegExp):
              (JSC::BytecodeGenerator::emitNewRegExp):
              * bytecompiler/BytecodeGenerator.h:
              * runtime/JSCell.h:
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              (JSC::JSGlobalData::clearBuiltinStructures):
              (JSC::JSGlobalData::addRegExpToTrace):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::reset):
              * runtime/RegExp.cpp:
              (JSC::RegExp::RegExp):
              (JSC::RegExp::create):
              (JSC::RegExp::invalidateCode):
              * runtime/RegExp.h:
              (JSC::RegExp::createStructure):
              * runtime/RegExpCache.cpp:
              (JSC::RegExpCache::lookupOrCreate):
              (JSC::RegExpCache::create):
              * runtime/RegExpCache.h:
              * runtime/RegExpConstructor.cpp:
              (JSC::constructRegExp):
              * runtime/RegExpObject.cpp:
              (JSC::RegExpObject::RegExpObject):
              (JSC::RegExpObject::visitChildren):
              * runtime/RegExpObject.h:
              (JSC::RegExpObject::setRegExp):
              (JSC::RegExpObject::RegExpObjectData::RegExpObjectData):
              * runtime/RegExpPrototype.cpp:
              (JSC::RegExpPrototype::RegExpPrototype):
              (JSC::regExpProtoFuncCompile):
              * runtime/RegExpPrototype.h:
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
      2011-05-25  Oliver Hunt  <oliver@apple.com>
      
              Reviewed by Geoffrey Garen.
      
              Make RegExp GC allocated
              https://bugs.webkit.org/show_bug.cgi?id=61490
      
              RegExp is GC'd so we don't need the RefPtr shenanigans anymore.
      
              * bindings/js/SerializedScriptValue.cpp:
              (WebCore::CloneDeserializer::readTerminal):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4872d097
    • commit-queue@webkit.org's avatar
      2011-05-25 Shishir Agrawal <shishir@chromium.org> · 3402ee79
      commit-queue@webkit.org authored
              Reviewed by Dimitri Glazkov.
      
              Fix crash in Chromium memory test.
              https://bugs.webkit.org/show_bug.cgi?id=61451
      
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::WebViewImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3402ee79
    • adamk@chromium.org's avatar
      2011-05-25 Adam Klein <adamk@chromium.org> · f9c22482
      adamk@chromium.org authored
              Unreviewed. Fix to previous update, mark drag-not-loaded-image crash as DEBUG-only.
      
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9c22482
    • jer.noble@apple.com's avatar
      Unreviewed; Skip failing tests after r87328. · de72adca
      jer.noble@apple.com authored
      * platform/mac/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de72adca
    • adamk@chromium.org's avatar
      2011-05-25 Adam Klein <adamk@chromium.org> · bc7690d2
      adamk@chromium.org authored
              Unreviewed. Test expectations update.
      
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc7690d2
    • adamk@chromium.org's avatar
      2011-05-25 Sheriff Bot <webkit.review.bot@gmail.com> · 66f88db2
      adamk@chromium.org authored
              Unreviewed, rolling out r87333.
              http://trac.webkit.org/changeset/87333
              https://bugs.webkit.org/show_bug.cgi?id=61488
      
              Breaks Chromium build due to pure virtual methods. (Requested
              by aklein on #webkit).
      
              * public/WebWidget.h:
              * src/WebPopupMenuImpl.cpp:
              * src/WebPopupMenuImpl.h:
              * src/WebViewImpl.cpp:
              * src/WebViewImpl.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66f88db2
    • jam@chromium.org's avatar
      Revert 79703 since it broke pdf scrolling (http://crbug.com/81878) -... · 479e90a7
      jam@chromium.org authored
      Revert 79703 since it broke pdf scrolling (http://crbug.com/81878) - 2011-02-15  Brett Wilson  <brettw@chromium.org>
      
              Reviewed by Darin Fisher.
      
              Recover the mouse capture state when we recieve a mouse event where there is no longer a button down.
              https://bugs.webkit.org/show_bug.cgi?id=54503
      
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::handleInputEvent):
      
      TBR=brettw@chromium.org
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      479e90a7
    • mrobinson@webkit.org's avatar
      2011-05-25 Martin Robinson <mrobinson@igalia.com> · 074d0083
      mrobinson@webkit.org authored
              Reviewed by Dirk Schulze.
      
              [Cairo] Move the global alpha property from GraphicsContext to PlatformContextCairo
              https://bugs.webkit.org/show_bug.cgi?id=60185
      
              Remove Cairo #ifdefs from GraphicsContext.h by pushing the global alpha
              state into PlatformContextCairo. Since Cairo is the only platform that needs
              to store this, this is the proper place for it. Change the image mask stack into
              a more generic state stack that can keep track of the multiple bits of platform
              specific state and properly handle save/restore pairs.
      
              No new tests. This is just a code refactor.
      
              * platform/graphics/GraphicsContext.h: Remove Cairo #ifdefs.
              (WebCore::GraphicsContextState::GraphicsContextState): Ditto.
              * platform/graphics/cairo/ContextShadowCairo.cpp: Access global alpha from PlatformContextCairo now.
              (WebCore::ContextShadow::drawRectShadow):
              * platform/graphics/cairo/FontCairo.cpp: Ditto.
              (WebCore::Font::drawGlyphs):
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::setPlatformFill): Ditto.
              (WebCore::setPlatformStroke): Ditto.
              (WebCore::GraphicsContext::setAlpha): Ditto.
              * platform/graphics/cairo/PlatformContextCairo.cpp: Moved ImageMaskInformation class from the
              header file, since it can be private now. Abstract the image mask state and the global alpha
              in a generic State class.
              (WebCore::ImageMaskInformation::update):
              (WebCore::ImageMaskInformation::isValid):
              (WebCore::ImageMaskInformation::maskSurface):
              (WebCore::ImageMaskInformation::maskRect):
              (WebCore::PlatformContextCairo::State::State): Added.
              (WebCore::PlatformContextCairo::PlatformContextCairo): Intialize the state
              class when this class is constructed.
              (WebCore::PlatformContextCairo::restore): Now pop the last state off the state stack.
              (WebCore::PlatformContextCairo::~PlatformContextCairo): Added this so that we can forward
              declare the State class in the header.
              (WebCore::PlatformContextCairo::save): Push a new state onto the stack.
              (WebCore::PlatformContextCairo::pushImageMask): Operate on the state stack now.
              (WebCore::PlatformContextCairo::globalAlpha): Added.
              (WebCore::PlatformContextCairo::setGlobalAlpha): Added.
              (WebCore::PlatformContextCairo::drawSurfaceToContext: Call globalAlpha().
              * platform/graphics/cairo/PlatformContextCairo.h: Changed the image mask stack
              into a more generic state stack, much like PlatformContextChromium.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      074d0083
    • mrowe@apple.com's avatar
      <rdar://problem/9504058> Need some way to query user gesture state from injected bundle · 3586f972
      mrowe@apple.com authored
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      * WebCore.exp.in: Add an export that WebKit2 needs.
      
      Source/WebKit2:
      
      Add WKBundleIsProcessingUserGesture.
      
      * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
      (WKBundleIsPageBoxVisible):
      (WKBundleIsProcessingUserGesture):
      * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      (WebKit::InjectedBundle::isProcessingUserGesture):
      * WebProcess/InjectedBundle/InjectedBundle.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3586f972
    • adamk@chromium.org's avatar
      2011-05-25 Adam Klein <adamk@chromium.org> · 43b2fb60
      adamk@chromium.org authored
              Unreviewed. Rebaseline svg tests after r87310.
      
              * platform/chromium-linux-x86/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png: Added.
              * platform/chromium-linux-x86/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt: Added.
              * platform/chromium-linux-x86/svg/W3C-SVG-1.1/filters-felem-01-b-expected.png: Added.
              * platform/chromium-linux/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png: Added.
              * platform/chromium-linux/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt: Added.
              * platform/chromium-linux/svg/W3C-SVG-1.1/filters-felem-01-b-expected.png:
              * platform/chromium-mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.png: Removed.
              * platform/chromium-win/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png: Added.
              * platform/chromium-win/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt: Added.
              * platform/chromium-win/svg/W3C-SVG-1.1/filters-felem-01-b-expected.png:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43b2fb60
    • commit-queue@webkit.org's avatar
      2011-05-25 Sailesh Agrawal <sail@chromium.org> · 13ab1c20
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              Expose willStartLiveResize and willEndLiveResize in WebWidget
              https://bugs.webkit.org/show_bug.cgi?id=60518
      
              * public/WebWidget.h:
              * src/WebPopupMenuImpl.cpp:
              (WebKit::WebPopupMenuImpl::willStartLiveResize):
              (WebKit::WebPopupMenuImpl::willEndLiveResize):
              * src/WebPopupMenuImpl.h:
              * src/WebViewImpl.cpp:
              (WebKit::WebViewImpl::willStartLiveResize):
              (WebKit::WebViewImpl::willEndLiveResize):
              * src/WebViewImpl.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13ab1c20
    • adamk@chromium.org's avatar
      2011-05-25 Adam Klein <adamk@chromium.org> · 9379f686
      adamk@chromium.org authored
              Unreviewed. Removing test_expectations for non-existent tests.
      
              * platform/chromium/test_expectations.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9379f686
    • jer.noble@apple.com's avatar
      Ureviewed; Build fix for Leopard and Snow Leopard. · 638e895c
      jer.noble@apple.com authored
      Move _wkQTMovieResolvedURL outside of a #if check for Leopard and SL.
      
      * WebCore.exp.in:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      638e895c
    • msaboff@apple.com's avatar
      2011-05-25 Michael Saboff <msaboff@apple.com> · 0295a785
      msaboff@apple.com authored
              Reviewed by Sam Weinig.
      
              Cleanup of commented items from https://bugs.webkit.org/show_bug.cgi?id=61222
              https://bugs.webkit.org/show_bug.cgi?id=61478
      
              Cleanup of further comments after patch was landed.  Changes include
              using /2 instead of >>1, adding a blank line after class include,
              making method names start with lower case and adding clarifying
              comments.
      
              No new tests as the changes are stylistic and not functional.
      
              * loader/cache/MemoryCache.cpp:
              (WebCore::MemoryCache::pruneLiveResourcesToPercentage):
              (WebCore::MemoryCache::pruneDeadResourcesToPercentage):
              * loader/cache/MemoryCache.h:
              (WebCore::MemoryCache::pruneToPercentage):
              * platform/mac/MemoryPressureHandlerMac.mm:
              (WebCore::MemoryPressureHandler::respondToMemoryPressure):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0295a785
    • slewis@apple.com's avatar
      Source/WebCore: https://bugs.webkit.org/show_bug.cgi?id=61407 · ef236f4c
      slewis@apple.com authored
      part of <rdar://problem/8675177>
      Move Quicklook quirk down into WebCore so it can be caculated when the user
      starts a reload.  Restructure the conditions so it only called when absolutely 
      necessary.
        
      Reviewed by Brady Eidson.
      
      No change in functionality so no new tests.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::subresourceCachePolicy):
      * page/Settings.cpp:
      (WebCore::Settings::Settings):
      * page/Settings.h:
      * platform/network/cf/ResourceRequest.h:
      * platform/network/mac/ResourceRequestMac.mm:
      (WebCore::initQuickLookResourceCachingQuirks):
      (WebCore::ResourceRequest::useQuickLookResourceCachingQuirks):
      
      Source/WebKit/mac: https://bugs.webkit.org/show_bug.cgi?id=61407
      part of <rdar://problem/8675177>
      Remove Quicklook pref.  Moving it enirely down into WebCore so it can
      be calculated only on reloads.
      
      Reviewed by Brady Eidson.
      
      * WebView/WebPreferenceKeysPrivate.h:
      * WebView/WebPreferences.mm:
      (+[WebPreferences initialize]):
      * WebView/WebPreferencesPrivate.h:
      * WebView/WebView.mm:
      (-[WebView _preferencesChanged:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef236f4c
    • jer.noble@apple.com's avatar
      2011-05-24 Jer Noble <jer.noble@apple.com> · 0c2b470c
      jer.noble@apple.com authored
              Reviewed by Darin Adler.
      
              Video fails to play on Vimeo
              https://bugs.webkit.org/show_bug.cgi?id=61403
      
              No new tests; Covered by media/video-canvas-source.html.
      
              Vimeo redirects their assets from player.vimeo.com to av.vimeo.com, which is rejected
              by AVFoundation and QTKit due to our setting a ForbidCrossSiteReference option when
              creating an AVAsset or QTMovie. Instead, we should just reject local->remote and
              remote->local and make our answer to hasSingleSecurityOrigin dynamic.
      
              When checking whether a given request has a single security origin, use a
              SecurityOrigin to check the host, port, and scheme.
      
              * WebCore.exp.in:
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
              (WebCore::MediaPlayerPrivateAVFoundation::assetURL): Added.
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
              (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Exchange ForbidCrossSiteReference
                  for ForbidRemoteReferenceToLocal and ForbidLocalReferenceToRemote
              (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check to see that the
                  requested and resolved URLs have the same host and port.
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Exchange NoCrossSiteAttribute for
                  NoRemoteToLocalSiteAttribute and NoLocalToRemoteSiteAttribute.
              (WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin):     Check to see that the
                      requested and resolved URLs have the same host and port.
              * platform/mac/WebCoreSystemInterface.h: Added wkAVAssetResolvedURL.
              * platform/mac/WebCoreSystemInterface.mm: Ditto.
      2011-05-24  Jer Noble  <jer.noble@apple.com>
      
              Reviewed by Darin Adler.
      
              Video fails to play on Vimeo
              https://bugs.webkit.org/show_bug.cgi?id=61403
      
              * WebCoreSupport/WebSystemInterface.mm:
              (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and
                  wkQTMovieResolvedURL.
      2011-05-24  Jer Noble  <jer.noble@apple.com>
      
              Reviewed by Darin Adler.
      
              Video fails to play on Vimeo
              https://bugs.webkit.org/show_bug.cgi?id=61403
      
              * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
              (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and
                  wkQTMovieResolvedURL.
      2011-05-25  Jer Noble  <jer.noble@apple.com>
      
              Reviewed by Darin Adler.
      
              Video fails to play on Vimeo
              https://bugs.webkit.org/show_bug.cgi?id=61403
      
              Added functions to retrieve the resolved URL for media types supported on
              mac.
      
              * WebKitSystemInterface.h:
              * WebKitSystemInterface.m:
              (WKAVAssetResolvedURL): Added.
              (WKQTMovieResolvedURL): Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c2b470c
    • oliver@apple.com's avatar
      2011-05-25 Oliver Hunt <oliver@apple.com> · d4c3fd05
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Generate regexp code lazily
              https://bugs.webkit.org/show_bug.cgi?id=61476
      
              RegExp construction now simply validates the RegExp, it does
              not perform actual codegen.
      
              * runtime/RegExp.cpp:
              (JSC::RegExp::RegExp):
              (JSC::RegExp::recompile):
              (JSC::RegExp::compile):
              (JSC::RegExp::match):
              * runtime/RegExp.h:
              (JSC::RegExp::recompileIfNecessary):
              * runtime/RegExpConstructor.h:
              (JSC::RegExpConstructor::performMatch):
              * runtime/RegExpObject.cpp:
              (JSC::RegExpObject::match):
              * runtime/StringPrototype.cpp:
              (JSC::stringProtoFuncReplace):
              (JSC::stringProtoFuncMatch):
              (JSC::stringProtoFuncSearch):
              (JSC::stringProtoFuncSplit):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d4c3fd05
    • jer.noble@apple.com's avatar
      Unreviewed; Update Skipped list for failing tests. · 1d559d90
      jer.noble@apple.com authored
      A new full-screen test requires <video> full screen support, which does not
      exist on mac-leopard.  Follow-up to r87322.
      
      * platform/mac-leopard/Skipped:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d559d90
    • adamk@chromium.org's avatar
      2011-05-25 Adam Klein <adamk@chromium.org> · 5134bb7c
      adamk@chromium.org authored
              Unreviewed. Test expectations update, followup to r87291.
      
              The aforementioned change cleared out these files, when the intent
              seems to have been removal to remove them.
      
              * platform/chromium-mac/ietestcenter/Javascript/15.5.4.20-1-1-expected.txt: Removed.
              * platform/chromium-mac/ietestcenter/Javascript/15.5.4.20-1-2-expected.txt: Removed.
              * platform/chromium-win/ietestcenter/Javascript/15.5.4.20-1-1-expected.txt: Removed.
              * platform/chromium-win/ietestcenter/Javascript/15.5.4.20-1-2-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5134bb7c
    • jhoneycutt@apple.com's avatar
      REGRESSION (WebKit2): Crash in Flash on USA Today photo gallery · c7771c65
      jhoneycutt@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=61428
      <rdar://problem/9457006>
      
      Reviewed by Adam Roben.
      
      Source/WebKit2:
      
      The crash occurs when Flash posts a message to a window that it
      creates, and in processing the message, it calls NPN_Evaluate to
      evaluate JavaScript that removes the plug-in from the page. Flash then
      crashes when we return to Flash code.
      
      * Platform/WorkItem.h:
      (DerefWorkItem::DerefWorkItem):
      Initialize m_ptr.
      (DerefWorkItem::execute):
      Deref the object.
      (WorkItem::createDeref):
      Create and return a DerefWorkItem.
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::unprotectPluginFromDestruction):
      If the PluginView has only one reference left, deref it asynchronously.
      
      Tools:
      
      The crash occurs when Flash posts a message to a window that it
      creates, and in processing the message, it calls NPN_Evaluate to
      evaluate JavaScript that removes the plug-in from the page. Flash then
      crashes when we return to Flash code.
      
      This test emulates that behavior.
      
      * DumpRenderTree/TestNetscapePlugIn/win/CallJSThatDestroysPlugin.cpp: Added.
      (CallJSThatDestroysPlugin::CallJSThatDestroysPlugin):
      Initialize member vars.
      (CallJSThatDestroysPlugin::~CallJSThatDestroysPlugin):
      Remove our custom property from the message window, and destroy it.
      (CallJSThatDestroysPlugin::NPP_Destroy):
      Set m_isDestroyed, log that the plug-in was destroyed, and notify the
      layout test controller that we're done.
      (wndProc):
      Get the PluginTest object, and call its runTest() function.
      (CallJSThatDestroysPlugin::NPP_New):
      Setup the test: register a class for the message-only window, create
      it, and post a message to it to run the test.
      (CallJSThatDestroysPlugin::runTest):
      Execute JS that removes the plug-in from the page, and if we're not
      destroyed, log a success message.
      
      * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj:
      Add new test to project.
      
      LayoutTests:
      
      * platform/win/plugins/call-javascript-that-destroys-plugin-expected.txt: Added.
      * platform/win/plugins/call-javascript-that-destroys-plugin.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7771c65
    • scherkus@chromium.org's avatar
      2011-05-25 Andrew Scherkus <scherkus@chromium.org> · 8a7de47a
      scherkus@chromium.org authored
              Reviewed by Eric Carlson.
      
              Fix media element regression where ended event stopped firing after changing the src attribute.
      
              https://bugs.webkit.org/show_bug.cgi?id=61336
      
              * media/media-ended-expected.txt: Added.
              * media/media-ended.html: Added.
      2011-05-25  Andrew Scherkus  <scherkus@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Fix media element regression where ended event stopped firing after changing the src attribute.
      
              https://bugs.webkit.org/show_bug.cgi?id=61336
      
              Test: media/media-ended.html
      
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::prepareForLoad):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a7de47a
    • jer.noble@apple.com's avatar
      2011-05-25 Jer Noble <jer.noble@apple.com> · 009a1cbf
      jer.noble@apple.com authored
              Reviewed by Darin Adler.
      
              REGRESSION: Fullscreen button on embedded Vimeo videos does nothing
              https://bugs.webkit.org/show_bug.cgi?id=61461
      
              * fullscreen/full-screen-iframe-legacy-expected.txt: Added.
              * fullscreen/full-screen-iframe-legacy.html: Added.
              * fullscreen/resources/legacy.html: Added.
      2011-05-25  Jer Noble  <jer.noble@apple.com>
      
              Reviewed by Darin Adler.
      
              REGRESSION: Fullscreen button on embedded Vimeo videos does nothing
              https://bugs.webkit.org/show_bug.cgi?id=61461
      
              Tests: fullscreen/full-screen-iframe-legacy.html
      
              Allow calls from the legacy full-screen API to bypass the iframe
              "webkitallowfullscreen" requirement by adding a parameter to
              Document::webkitRequestFullScreenForElement specifying the strictness
              of that check.  Specify this new parameter everywhere that function is
              called, including in the default controls' full-screen button handler.
      
              * dom/Document.cpp:
              (WebCore::Document::webkitRequestFullScreenForElement):
              * dom/Document.h:
              * dom/Element.cpp:
              (WebCore::Element::requestFullScreen): Renamed from webkitRequestFullScreen.
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::enterFullscreen):
              * html/shadow/MediaControlElements.cpp:
              (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      009a1cbf
    • tony@chromium.org's avatar
      2011-05-25 Tony Chang <tony@chromium.org> · 36a455a1
      tony@chromium.org authored
              Reviewed by Adam Barth.
      
              webkitpy's NetworkTransaction shouldn't use mechanize
              https://bugs.webkit.org/show_bug.cgi?id=61450
      
              mechanize.HTTPError is just an alias for urllib2.HTTPError, so
              use urllib2 directly.  Re-add NetworkTransaction to
              test_results_uploader.py (reverting r87124).
      
              * Scripts/webkitpy/common/net/networktransaction.py:
              * Scripts/webkitpy/layout_tests/layout_package/test_results_uploader.py:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36a455a1
    • caio.oliveira@openbossa.org's avatar
      [Qt] Missing update for expected results in LayoutTests after r87315 · 5467d12f
      caio.oliveira@openbossa.org authored
      https://bugs.webkit.org/show_bug.cgi?id=61467
      
      Reviewed by Andreas Kling.
      
      We now expose __qt_sender__ as a non-enumarated property in the
      global object. Fix our expectations in relevant tests.
      
      * platform/qt/fast/dom/Window/window-properties-expected.txt:
      * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5467d12f
    • commit-queue@webkit.org's avatar
      2011-05-25 Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org> · 704811da
      commit-queue@webkit.org authored
              Reviewed by David Hyatt.
      
              Selector matching doesn't update when DOM changes ("[data-a=x] #x")
              https://bugs.webkit.org/show_bug.cgi?id=60752
      
              Added test cases for all the attribute selector types (CSS2.1 & CSS3).
      
              * fast/css/attribute-selector-begin-dynamic-no-elementstyle-expected.txt: Added.
              * fast/css/attribute-selector-begin-dynamic-no-elementstyle.html: Added.
              * fast/css/attribute-selector-contain-dynamic-no-elementstyle-expected.txt: Added.
              * fast/css/attribute-selector-contain-dynamic-no-elementstyle.html: Added.
              * fast/css/attribute-selector-end-dynamic-no-elementstyle-expected.txt: Added.
              * fast/css/attribute-selector-end-dynamic-no-elementstyle.html: Added.
              * fast/css/attribute-selector-exact-dynamic-no-elementstyle-expected.txt: Added.
              * fast/css/attribute-selector-exact-dynamic-no-elementstyle.html: Added.
              * fast/css/attribute-selector-hyphen-dynamic-no-elementstyle-expected.txt: Added.
              * fast/css/attribute-selector-hyphen-dynamic-no-elementstyle.html: Added.
              * fast/css/attribute-selector-list-dynamic-no-elementstyle-expected.txt: Added.
              * fast/css/attribute-selector-list-dynamic-no-elementstyle.html: Added.
              * fast/css/attribute-selector-set-dynamic-no-elementstyle-expected.txt: Added.
              * fast/css/attribute-selector-set-dynamic-no-elementstyle.html: Added.
      2011-05-25  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
      
              Reviewed by David Hyatt.
      
              Selector matching doesn't update when DOM changes ("[data-a=x] #x")
              https://bugs.webkit.org/show_bug.cgi?id=60752
      
              Currently CSSStyleSelector maintains a HashSet of attributes (m_selectorAttrs)
              which are used in CSS attribute selectors to determine the need for style
              recalculation whenever element attributes are manipulated in DOM.
              In certain conditions (element with no style, element is styled and attribute
              is not a mapped attribute, attribute is of type 'type' or read-only)
              even when attribute selector matches for an element, the attribute is not
              added to m_selectorAttrs. This results in missing style recalculations
              when a DOM element attribute is changed and is not found in m_selectorAttrs.
      
              Removing the above said conditions in
              CSSStyleSelector::SelectorChecker::checkOneSelector() for registering
              attributes in m_selectorAttrs will solve this issue. But this particular
              function is called numerous times which triggers adding duplicate attributes
              again and again.
      
              This patch follows the approach taken for collecting ids in selectors, where
              all the attributes in selectors are added to a HashSet at the time of adding
              style rules to CSSStyleSelector from StyleSheets and when
              CSSStyleSelector::hasSelectorForAttribute() is called, the attribute is
              simply looked up in this pre-populated hash set.
      
              Test: fast/css/attribute-selector-dynamic-no-elementstyle.html
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
              (WebCore::CSSStyleSelector::checkSelector):
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
              (WebCore::collectFeaturesFromSelector):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::hasSelectorForAttribute):
              * css/CSSStyleSelector.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      704811da
    • adamk@chromium.org's avatar
      2011-05-25 Adam Klein <adamk@chromium.org> · 1ca90680
      adamk@chromium.org authored
              Unreviewed. Update chromium expectations after r87307.
      
              * platform/chromium/test_expectations.txt: suppress, WK61470.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ca90680
    • rniwa@webkit.org's avatar
      2011-05-25 Ryosuke Niwa <rniwa@webkit.org> · d15e6efb
      rniwa@webkit.org authored
              Reviewed by James Robinson.
      
              CSSStyleSelector should provide a way to obtain rules from non-author stylesheets
              https://bugs.webkit.org/show_bug.cgi?id=61454
      
              Replaced bool and enum arguments of styleRulesForElement and pseudoStyleRulesForElement
              by one enum, and provided a way to obtain rules from UA/user stylesheets.
      
              * css/CSSRule.h: Removed CSSRuleFilter.
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::styleRulesForElement): See above.
              (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Ditto.
              * css/CSSStyleSelector.h: Moved CSSRuleFilter here.
              * editing/markup.cpp:
              (WebCore::styleFromMatchedRulesForElement): Calls styleRulesForElement.
              * inspector/InspectorCSSAgent.cpp:
              (WebCore::InspectorCSSAgent::getStylesForNode): Ditto.
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::getMatchedCSSRules): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d15e6efb
    • ggaren@apple.com's avatar
      2011-05-24 Geoffrey Garen <ggaren@apple.com> · 053223fc
      ggaren@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Removed MarkSetProperties because it was unused
              https://bugs.webkit.org/show_bug.cgi?id=61418
      
              * heap/MarkStack.h:
              (JSC::MarkSet::MarkSet):
              (JSC::MarkStack::append):
              * runtime/JSActivation.cpp:
              (JSC::JSActivation::visitChildren):
              * runtime/JSArray.h:
              (JSC::JSArray::visitChildrenDirect):
              * runtime/JSPropertyNameIterator.cpp:
              (JSC::JSPropertyNameIterator::visitChildren):
              * runtime/WriteBarrier.h:
              (JSC::MarkStack::appendValues):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      053223fc
    • caio.oliveira@openbossa.org's avatar
      2011-05-25 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> · 32c83b25
      caio.oliveira@openbossa.org authored
              Reviewed by Andreas Kling.
      
              [Qt] JSC bridge: implement __qt_sender__ without using Scope Chain
              https://bugs.webkit.org/show_bug.cgi?id=61343
      
              Create a stack to keep track of the sender objects. This is simpler than
              the similar mechanism in QObject (C++ API), that keeps a stack per-object.
      
              Since we do not support multiple threads, one static stack will be enough for
              handling the behavior.
      
              This behavior is covered by the tst_QWebFrame::connectAndDisconnect() auto test.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::qtSenderStack):
              We have one static stack of QObject*. The top of the stack contains the
              last object that emitted signal that called a JavaScript function.
      
              * bridge/qt/qt_instance.h:
              (JSC::Bindings::QtInstance::QtSenderStack::top):
              (JSC::Bindings::QtInstance::QtSenderStack::push):
              (JSC::Bindings::QtInstance::QtSenderStack::pop):
              Minimal functionality to manipulate the sender stack.
      
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::QtConnectionObject::execute):
              Remove the previous code that modified the scope chain. Push the sender object
              to the stack before calling the JavaScript function (the "slot" in Qt-speak) and
              pop it afterwards.
      2011-05-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
      
              Reviewed by Andreas Kling.
      
              [Qt] JSC bridge: implement __qt_sender__ without using Scope Chain
              https://bugs.webkit.org/show_bug.cgi?id=61343
      
              Create a '__qt_sender__' property in the global object, that returns the top of
              the qtSenderStack. This is an alternative implementation for the feature of
              providing a way for a function (acting as a Qt 'slot') discover which object
              emitted the signal that caused it to be executed.
      
              This reduces the coupling of the Qt bridge and JSC internal implementation. The
              patch tries to use as much JSC public API as possible.
      
              This behavior is covered by the tst_QWebFrame::connectAndDisconnect() auto test.
      
              * WebCoreSupport/FrameLoaderClientQt.cpp:
              (WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
              Instead of emitting the QWebPage::javaScriptWindowObjectCleared() directly, calls
              a QWebPagePrivate function to do it.
      
              * Api/qwebframe_p.h:
              * Api/qwebframe.cpp:
              (QWebFramePrivate::didClearedWindowObject):
              Before emitting the signal mentioned, adds the '__qt_sender__' to the fresh
              global object.
      
              (qtSenderCallback):
              Returns the JSObjectRef corresponding to the top of qtSenderStack.
      
              (QWebFramePrivate::addQtSenderToGlobalObject):
              Create a property with a qtSenderCallback as getter function in the global object.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32c83b25
    • kevino@webkit.org's avatar
      [Chromium] Unreviewed build fix, do not define WTF/JS_EXPORT_PRIVATE to JS_EXPORTDATA · 51e7fa5a
      kevino@webkit.org authored
      until the port begins using those export macros.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51e7fa5a
    • commit-queue@webkit.org's avatar
      2011-05-25 Sheriff Bot <webkit.review.bot@gmail.com> · 01b3297a
      commit-queue@webkit.org authored
              Unreviewed, rolling out r87257.
              http://trac.webkit.org/changeset/87257
              https://bugs.webkit.org/show_bug.cgi?id=61457
      
              This broke layout tests, see bug 61431. (Requested by
              hwennborg on #webkit).
      
              * storage/indexeddb/migrate-basics-expected.txt: Removed.
              * storage/indexeddb/migrate-basics.html: Removed.
      2011-05-25  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r87257.
              http://trac.webkit.org/changeset/87257
              https://bugs.webkit.org/show_bug.cgi?id=61457
      
              This broke layout tests, see bug 61431. (Requested by
              hwennborg on #webkit).
      
              * storage/IDBBackingStore.h:
              * storage/IDBFactoryBackendImpl.cpp:
              (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
              (WebCore::IDBFactoryBackendImpl::open):
              * storage/IDBFactoryBackendImpl.h:
              * storage/IDBFactoryBackendInterface.h:
              * storage/IDBLevelDBBackingStore.cpp:
              * storage/IDBLevelDBBackingStore.h:
              * storage/IDBSQLiteBackingStore.cpp:
              * storage/IDBSQLiteBackingStore.h:
      2011-05-25  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r87257.
              http://trac.webkit.org/changeset/87257
              https://bugs.webkit.org/show_bug.cgi?id=61457
      
              This broke layout tests, see bug 61431. (Requested by
              hwennborg on #webkit).
      
              * public/WebIDBFactory.h:
              * src/AssertMatchingEnums.cpp:
              * src/IDBFactoryBackendProxy.cpp:
              * src/IDBFactoryBackendProxy.h:
              * src/WebIDBFactoryImpl.cpp:
              (WebKit::WebIDBFactoryImpl::WebIDBFactoryImpl):
              (WebKit::WebIDBFactoryImpl::open):
              * src/WebIDBFactoryImpl.h:
      2011-05-25  Sheriff Bot  <webkit.review.bot@gmail.com>
      
              Unreviewed, rolling out r87257.
              http://trac.webkit.org/changeset/87257
              https://bugs.webkit.org/show_bug.cgi?id=61457
      
              This broke layout tests, see bug 61431. (Requested by
              hwennborg on #webkit).
      
              * DumpRenderTree/chromium/LayoutTestController.cpp:
              (LayoutTestController::LayoutTestController):
              (LayoutTestController::clearAllDatabases):
              * DumpRenderTree/chromium/LayoutTestController.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01b3297a
    • alexis.menard@openbossa.org's avatar
      2011-05-25 Alexis Menard <alexis.menard@openbossa.org> · 701f73e3
      alexis.menard@openbossa.org authored
              Reviewed by Eric Carlson.
      
              [Qt] Enable usage of QuickTime mediaplayer for the Qt port on Mac.
              https://bugs.webkit.org/show_bug.cgi?id=61279
      
              Enable the QuickTime backend for the Qt port on Mac. The patch adds the bits in WebCore
              to enable the QTKit backend of the Mac port. It can be enabled by passing DEFINES+=USE_QTKIT=1
              when calling build-webkit.
      
              * WebCore.pri:
              * WebCore.pro:
              * features.pri:
              * platform/KURL.h:
              * platform/SharedBuffer.h:
              * platform/cf/KURLCFNet.cpp:
              * platform/cf/SharedBufferCF.cpp:
              * platform/graphics/FloatSize.h:
              * platform/graphics/IntRect.h:
              * platform/graphics/IntSize.h:
              * platform/graphics/MediaPlayer.cpp:
              * platform/graphics/cg/FloatSizeCG.cpp:
              * platform/graphics/cg/IntRectCG.cpp:
              * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              (WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
              (WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
              (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
              (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
              (WebCore::MediaPlayerPrivateQTKit::paint):
              (-[WebCoreMovieObserver layerHostChanged:]):
              * platform/mac/KURLMac.mm:
              * platform/mac/SharedBufferMac.mm:
              (+[WebCoreSharedBufferData initialize]):
              * platform/mac/WebCoreObjCExtras.mm:
              * platform/qt/WebCoreSystemInterface.h: Added.
              * platform/qt/WebCoreSystemInterface.mm: Added.
      2011-05-25  Alexis Menard  <alexis.menard@openbossa.org>
      
              Reviewed by Eric Carlson.
      
              [Qt] Enable usage of QuickTime mediaplayer for the Qt port on Mac.
              https://bugs.webkit.org/show_bug.cgi?id=61279
      
              Enable the usage of QuickTime backend for the Qt port. It can be enabled by
              passing DEFINES+=USE_QTKIT=1 when calling build-webkit.
      
              * Api/qwebpage.cpp:
              (QWebPagePrivate::QWebPagePrivate):
              * QtWebKit.pro:
              * WebCoreSupport/FullScreenVideoQt.cpp:
              (WebCore::FullScreenVideoQt::enterFullScreenForNode):
              (WebCore::FullScreenVideoQt::requiresFullScreenForVideoPlayback):
              (WebCore::FullScreenVideoQt::isValid):
              * WebCoreSupport/WebSystemInterface.h: Added.
              * WebCoreSupport/WebSystemInterface.mm: Added.
              (InitWebCoreSystemInterface):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      701f73e3
    • qi.2.zhang@nokia.com's avatar
      2011-05-25 Qi Zhang <qi.2.zhang@nokia.com> · 7eedd5b9
      qi.2.zhang@nokia.com authored
              Reviewed by Andreas Kling.
      
              [Qt] fast/css/disabled-author-styles.html failed
              https://bugs.webkit.org/show_bug.cgi?id=61438
      
              Unskip test case and provide expect result files.
      
              * platform/qt/Skipped:
              * platform/qt/fast/css/disabled-author-styles-expected.png: Added.
              * platform/qt/fast/css/disabled-author-styles-expected.txt: Added.
      2011-05-25  Qi Zhang  <qi.2.zhang@nokia.com>
      
              Reviewed by Andreas Kling.
      
              [Qt] fast/css/disabled-author-styles.html failed
              https://bugs.webkit.org/show_bug.cgi?id=61438
      
              Provided API setAuthorAndUserStylesEnabled for DumpRenderTree.
      
              * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
              (DumpRenderTreeSupportQt::setAuthorAndUserStylesEnabled):
              * WebCoreSupport/DumpRenderTreeSupportQt.h:
      2011-05-25  Qi Zhang  <qi.2.zhang@nokia.com>
      
              Reviewed by Andreas Kling.
      
              [Qt] fast/css/disabled-author-styles.html failed
              https://bugs.webkit.org/show_bug.cgi?id=61438
      
              Implemented API setAuthorAndUserStylesEnabled in LayoutTestControllerQt.
      
              * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
              (WebCore::WebPage::resetSettings):
              * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
              (LayoutTestController::setAuthorAndUserStylesEnabled):
              * DumpRenderTree/qt/LayoutTestControllerQt.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7eedd5b9
    • rwlbuis@webkit.org's avatar
      2011-05-25 Rob Buis <rbuis@rim.com> · 88fe488f
      rwlbuis@webkit.org authored
              Reviewed by Eric Seidel.
      
              WebKit does not handle missing filter elements correctly
              https://bugs.webkit.org/show_bug.cgi?id=12569
      
              Updated improved pixel test result and add new SVG1.1 SE test and results.
      
              * platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png: Added.
              * platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt: Added.
              * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.png:
              * svg/W3C-SVG-1.1-SE/filters-felem-01-b.svg: Added.
      2011-05-25  Rob Buis  <rbuis@rim.com>
      
              Reviewed by Eric Seidel.
              New test rubber-stamped by Dirk Schulze.
      
              WebKit does not handle missing filter elements correctly
              https://bugs.webkit.org/show_bug.cgi?id=12569
      
              Do not render elements that reference non-existant filters.
      
              Test: svg/W3C-SVG-1.1-SE/filters-felem-01-b.svg
      
              * rendering/svg/SVGRenderSupport.cpp:
              (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88fe488f
    • japhet@chromium.org's avatar
      2011-05-25 Nate Chapin <japhet@chromium.org> · 0d6b1dea
      japhet@chromium.org authored
              Reviewed by Adam Barth.
      
              Put view-source documents in a unique origin and always allow them to run scripts. This ensures tools like
              XMLViewer work even when scripts are disabled, while still providing the protections expected when scripts are disabled.
              https://bugs.webkit.org/show_bug.cgi?id=59113
      
              * bindings/ScriptControllerBase.cpp:
              (WebCore::ScriptController::canExecuteScripts): Check whether the document is viewing source, and allow scripts in that case.
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::matchUARules):
              * dom/Document.cpp:
              (WebCore::Document::Document):
              (WebCore::Document::setIsViewSource): Renamed from setUsesViewSourceStyles(), set's a unique security origin if we are viewing source.
              * dom/Document.h:
              (WebCore::Document::isViewSource): Renamed from usesViewSourceStyles().
              * html/HTMLViewSourceDocument.cpp:
              (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::receivedFirstData):
              * xml/XMLTreeViewer.cpp:
              (WebCore::XMLTreeViewer::transformDocumentToTreeView):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d6b1dea
    • oliver@apple.com's avatar
      2011-05-25 Oliver Hunt <oliver@apple.com> · 522ce11a
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make allocations with guard pages ensure that the allocation succeeded
              https://bugs.webkit.org/show_bug.cgi?id=61453
      
              Add null checks, and make PageBlock's operator bool() use
              the realbase, rather than the start of usable memory.
      
              * wtf/OSAllocatorPosix.cpp:
              (WTF::OSAllocator::reserveAndCommit):
              * wtf/PageBlock.h:
              (WTF::PageBlock::operator bool):
              (WTF::PageBlock::PageBlock):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      522ce11a
    • jchaffraix@webkit.org's avatar
      2011-05-25 Julien Chaffraix <jchaffraix@codeaurora.org> · 4820247f
      jchaffraix@webkit.org authored
              Reviewed by James Robinson.
      
              http://philip.html5.org/tests/canvas/suite/tests/2d.composite.uncovered.fill.source-in.html fails
              https://bugs.webkit.org/show_bug.cgi?id=39027
      
              And:
      
              - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.source-out.html
                https://bugs.webkit.org/show_bug.cgi?id=48295
      
              - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.source-in.html
                https://bugs.webkit.org/show_bug.cgi?id=48304
      
              - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.source-out.html
              https://bugs.webkit.org/show_bug.cgi?id=48305
      
              * canvas/philip/tests/2d.composite.uncovered.pattern.source-in-expected.txt:
              * canvas/philip/tests/2d.composite.uncovered.pattern.source-out-expected.txt:
              Those 2 tests need a trailing line that was added as part of this change.
      
              * fast/canvas/canvas-composite-alpha.html: Updated the test result to match the specification.
              The changes are fairly simple:
                - Clear up the destination rectangle as it should be always transparent now (source is transparent
                  outside the source rectangle).
                - Clear the composition rectangle if source or destination is transparent.
                - Fixed the test when run in the browser.
              Validated the changes against FF and Opera (IE 9 cannot render this test).
      
              * platform/chromium/test_expectations.txt:
              * platform/gtk/Skipped:
              * platform/mac/Skipped:
              * platform/qt/Skipped:
              Re-enable 4 tests.
      2011-05-25  Julien Chaffraix  <jchaffraix@codeaurora.org>
      
              Reviewed by James Robinson.
      
              http://philip.html5.org/tests/canvas/suite/tests/2d.composite.uncovered.fill.source-in.html fails
              https://bugs.webkit.org/show_bug.cgi?id=39027
      
              And:
      
              - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.source-out.html
                https://bugs.webkit.org/show_bug.cgi?id=48295
      
              - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.source-in.html
                https://bugs.webkit.org/show_bug.cgi?id=48304
      
              - Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.source-out.html
              https://bugs.webkit.org/show_bug.cgi?id=48305
      
              Those 4 tests have the same root cause for failing. Instead of splitting them in 2 fixes, I squashed
              them together as the fix is common.
      
              Based on an older work by Ariya Hidayat.
      
              * html/canvas/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::fill):
              (WebCore::CanvasRenderingContext2D::fillRect): Added call displayTransparencyEverywhere for those 2
              cases if we have to.
      
              (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyEverywhere): This method returns true if
              the spec says to display transparency everywhere. We only do so for source-in and source-out for now.
              (WebCore::CanvasRenderingContext2D::displayTransparencyEverywhere): This method implements the spec
              (which matches other browsers' behavior) and "display transparency elsewhere".
      
              * html/canvas/CanvasRenderingContext2D.h: Added the two previous methods.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4820247f
    • robert@webkit.org's avatar
      2011-05-20 Robert Hogan <robert@webkit.org> · e1f875f0
      robert@webkit.org authored
              Reviewed by Geoffrey Garen.
      
              [Qt/Gtk/Chromium] Fix plugins/embed-attributes-setting.html
      
              Use the test netscape plugin instead of quicktime.
              Allows the test to pass on Qt/Gtk/Chromium as well as Mac.
      
              https://bugs.webkit.org/show_bug.cgi?id=61182
              http://code.google.com/p/chromium/issues/detail?id=15797
      
              * platform/chromium/test_expectations.txt:
              * platform/gtk/Skipped:
              * platform/qt/Skipped:
              * plugins/embed-attributes-setting-expected.txt:
              * plugins/embed-attributes-setting.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1f875f0