1. 15 Apr, 2011 5 commits
    • philn@webkit.org's avatar
      2011-04-15 Philippe Normand <pnormand@igalia.com> · 2db06ce9
      philn@webkit.org authored
              Unreviewed, rollout r83894 r83827 r83810 r83809 r83808.
              r83808 and its follow-up commits broke GTK Release builds.
              https://bugs.webkit.org/show_bug.cgi?id=58483
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2db06ce9
    • abarth@webkit.org's avatar
      2011-04-15 Adam Barth <abarth@webkit.org> · a67a0607
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              CSP should block string arguments to setTimeout and setInterval unless options eval-script
              https://bugs.webkit.org/show_bug.cgi?id=58610
      
              It's somewhat sadness that the JSC and V8 code for setTimeout and
              setInterval are so different.  I struggled for a while with how to
              handle the worker case, but I decided to punt on it for now.
      
              Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
                     http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
                     http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
                     http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
      
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setTimeout):
              (WebCore::JSDOMWindow::setInterval):
              * bindings/js/JSWorkerContextCustom.cpp:
              (WebCore::JSWorkerContext::setTimeout):
              (WebCore::JSWorkerContext::setInterval):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::create):
              * bindings/js/ScheduledAction.h:
              * bindings/v8/custom/V8DOMWindowCustom.cpp:
              (WebCore::WindowSetTimeoutImpl):
              * page/ContentSecurityPolicy.cpp:
              (WebCore::ContentSecurityPolicy::allowEval):
              * page/ContentSecurityPolicy.h:
      2011-04-15  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              CSP should block string arguments to setTimeout and setInterval unless options eval-script
              https://bugs.webkit.org/show_bug.cgi?id=58610
      
              Herein lies a four-way testing matrix.
      
              * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed-expected.txt: Added.
              * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html: Added.
              * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked-expected.txt: Added.
              * http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html: Added.
              * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed-expected.txt: Added.
              * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html: Added.
              * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked-expected.txt: Added.
              * http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a67a0607
    • abarth@webkit.org's avatar
      2011-04-15 Adam Barth <abarth@webkit.org> · b7c63a7a
      abarth@webkit.org authored
              Reviewed by Eric Seidel.
      
              Add support for CSP's 'self' source
              https://bugs.webkit.org/show_bug.cgi?id=58604
      
              * http/tests/security/contentSecurityPolicy/script-src-self-expected.txt: Added.
              * http/tests/security/contentSecurityPolicy/script-src-self.html: Added.
      2011-04-15  Adam Barth  <abarth@webkit.org>
      
              Reviewed by Eric Seidel.
      
              Add support for CSP's 'self' source
              https://bugs.webkit.org/show_bug.cgi?id=58604
      
              This change is now trivially easy.
      
              Test: http/tests/security/contentSecurityPolicy/script-src-self.html
      
              * page/ContentSecurityPolicy.cpp:
              (WebCore::CSPSourceList::addSourceSelf):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7c63a7a
    • commit-queue@webkit.org's avatar
      2011-04-15 Anna Cavender <annacc@chromium.org> · aa4244a4
      commit-queue@webkit.org authored
              Reviewed by Eric Carlson.
      
              Renaming TRACK feature define to VIDEO_TRACK
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * configure.ac:
      2011-04-15  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Renaming TRACK feature define to VIDEO_TRACK
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * Configurations/FeatureDefines.xcconfig:
      2011-04-15  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Renaming TRACK feature define to VIDEO_TRACK
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              No new tests. No new functionality.
      
              * CMakeLists.txt:
              * Configurations/FeatureDefines.xcconfig:
              * DerivedSources.make:
              * GNUmakefile.am:
              * features.pri:
              * html/HTMLTagNames.in:
              * html/HTMLTrackElement.cpp:
              * html/HTMLTrackElement.h:
              * html/HTMLTrackElement.idl:
      2011-04-15  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Renaming TRACK feature define to VIDEO_TRACK
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * Configurations/FeatureDefines.xcconfig:
      2011-04-15  Anna Cavender  <annacc@chromium.org>
      
              Reviewed by Eric Carlson.
      
              Renaming TRACK feature define to VIDEO_TRACK
              https://bugs.webkit.org/show_bug.cgi?id=53556
      
              * Configurations/FeatureDefines.xcconfig:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa4244a4
    • commit-queue@webkit.org's avatar
      2011-04-14 Andrey Adaikin <aandrey@google.com> · 26019d3f
      commit-queue@webkit.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: Ctrl+Left/Right switch panels during live editing
              https://bugs.webkit.org/show_bug.cgi?id=58521
      
              Disable Ctrl+Left/Right keyboard shortcuts while in live edit.
      
              * inspector/front-end/SourceFrame.js:
              (WebInspector.SourceFrame.prototype.readOnlyStateChanged):
              * inspector/front-end/TextViewer.js:
              (WebInspector.TextViewer.prototype.set readOnly):
              (WebInspector.TextViewer.prototype.get readOnly):
              (WebInspector.TextViewer.prototype._doubleClick):
              (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
              (WebInspector.TextViewer.prototype._commitEditing):
              (WebInspector.TextViewer.prototype._cancelEditing):
              (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged):
              (WebInspector.TextEditorMainPanel.prototype.set readOnly):
              * inspector/front-end/inspector.js:
              (WebInspector.markBeingEdited):
              (WebInspector.isEditingAnyField):
              (WebInspector.startEditing.cleanUpAfterEditing):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      26019d3f
  2. 14 Apr, 2011 35 commits
    • commit-queue@webkit.org's avatar
      2011-04-14 Vsevolod Vlasov <vsevik@chromium.org> · af3a3565
      commit-queue@webkit.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: Enable raw HTTP headers support
              https://bugs.webkit.org/show_bug.cgi?id=58259
      
              Added raw headers text support to inspector.
      
              * English.lproj/localizedStrings.js:
              * inspector/Inspector.json:
              * inspector/InspectorResourceAgent.cpp:
              (WebCore::buildObjectForResourceResponse):
              * inspector/front-end/NetworkManager.js:
              (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
              * inspector/front-end/Resource.js:
              (WebInspector.Resource):
              (WebInspector.Resource.prototype.get transferSize):
              (WebInspector.Resource.prototype.set requestHeaders):
              (WebInspector.Resource.prototype.get rawRequestHeadersText):
              (WebInspector.Resource.prototype.set rawRequestHeadersText):
              (WebInspector.Resource.prototype.get requestHeadersSize):
              (WebInspector.Resource.prototype.set responseHeaders):
              (WebInspector.Resource.prototype.get rawResponseHeadersText):
              (WebInspector.Resource.prototype.set rawResponseHeadersText):
              (WebInspector.Resource.prototype.get responseHeadersSize):
              (WebInspector.Resource.prototype._headersSize):
              * inspector/front-end/ResourceHeadersView.js:
              (WebInspector.ResourceHeadersView):
              (WebInspector.ResourceHeadersView.prototype._refreshParms):
              (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
              (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
              (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
              (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
              (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText):
              (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText):
              (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText):
              (WebInspector.ResourceHeadersView.prototype._createToggleButton):
              (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
              * inspector/front-end/networkPanel.css:
              (.resource-headers-view .outline-disclosure li .header-toggle):
              (.resource-headers-view .outline-disclosure li.expanded .header-toggle):
              (.resource-headers-view .outline-disclosure li .header-toggle:hover):
              (.resource-headers-view .outline-disclosure li.raw-headers-text):
              * platform/network/ResourceLoadInfo.h:
      2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: Enable raw HTTP headers support
              https://bugs.webkit.org/show_bug.cgi?id=58259
      
              Added raw headers text support to inspector.
      
              * public/WebHTTPLoadInfo.h:
              * src/WebHTTPLoadInfo.cpp:
              (WebKit::WebHTTPLoadInfo::rawRequestHeadersText):
              (WebKit::WebHTTPLoadInfo::setRawRequestHeadersText):
              (WebKit::WebHTTPLoadInfo::rawResponseHeadersText):
              (WebKit::WebHTTPLoadInfo::setRawResponseHeadersText):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af3a3565
    • commit-queue@webkit.org's avatar
      2011-04-14 Justin Novosad <junov@chromium.org> · 51c72e46
      commit-queue@webkit.org authored
              Reviewed by Kenneth Russell.
      
              [Chromium] Accelerated 2D Canvas is slow to execute putImageData
              https://bugs.webkit.org/show_bug.cgi?id=57960
      
              * platform/chromium/test_expectations.txt:
              added expected failure for test
              canvas/philip/tests/2d.gradient.interpolate.colouralpha.html
              Logged as chromium issue:
              http://code.google.com/p/chromium/issues/detail?id=79477
      2011-04-14  Justin Novosad  <junov@chromium.org>
      
              Reviewed by Kenneth Russell.
      
              [Chromium] Accelerated 2D Canvas is slow to execute putImageData
              https://bugs.webkit.org/show_bug.cgi?id=57960
      
              * platform/graphics/chromium/GLES2Canvas.cpp:
              (WebCore::GLES2Canvas::drawTexturedRect):
              Added an option for using the blend ops for alpha multiplication
              instead of compositing.
              (WebCore::GLES2Canvas::applyClipping):
              (WebCore::GLES2Canvas::putImageData):
              New method for drawing raw pixel data from memory to the canvas
              (WebCore::GLES2Canvas::putUnmultipliedImageData):
              Wrapper for putImageData
              (WebCore::GLES2Canvas::putPremultipliedImageData):
              Wrapper for putImageData
              * platform/graphics/chromium/GLES2Canvas.h:
              * platform/graphics/gpu/Texture.cpp:
              (WebCore::copySubRect):
              (WebCore::Texture::load):
              (WebCore::Texture::updateSubRect):
              Added an overload of the updateSubRect method that can receive a pixel
              of a size that is different from texture size. Improved the performance
              of updateSubrect by avoiding the allocation of a temporary buffer when
              not required.
              * platform/graphics/gpu/Texture.h:
              * platform/graphics/skia/ImageBufferSkia.cpp:
              (WebCore::getImageData):
              In the unmultiplied path, division by alpha now performs proper
              rounding in order to avoid generational degradation with putImageData
              (WebCore::putImageData):
              Alpha multiplication now performs proper rounding in order to be
              consistent with the hardware rendering path: OpenGL always rounds when
              converting to fixed point representation.
              (WebCore::ImageBuffer::putUnmultipliedImageData):
              Now supports a hardware rendering path, which eliminates the need
              for a readback from the GPU
              (WebCore::ImageBuffer::putPremultipliedImageData):
              Now supports a hardware rendering path, which eliminates the need
              for a readback from the GPU
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      51c72e46
    • joone.hur@collabora.co.uk's avatar
      2011-04-14 Joone Hur <joone.hur@collabora.co.uk> · 6cd96f46
      joone.hur@collabora.co.uk authored
              Reviewed by Martin Robinson.
      
              Creating a CairoPath instance is not thread safe
              https://bugs.webkit.org/show_bug.cgi?id=58514
      
              This patch allows a cairo surface to be created just one time in order to
              guarantee thread safety.
              In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to
              prevent confusing them with PathCairo.cpp
      
              * CMakeListsEfl.txt: Added PlatformPathCairo.cpp
              * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
              * platform/graphics/cairo/CairoPath.h: Removed.
              * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
              * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
              * platform/graphics/cairo/PathCairo.cpp: Ditto.
              * platform/graphics/cairo/PlatformPathCairo.cpp: Added.
              (WebCore::getPathSurface): Getting a static cairo surface.
              (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor
              into the CPP file.
              * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this.
              (WebCore::CairoPath::~CairoPath):
              (WebCore::CairoPath::context):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6cd96f46
    • commit-queue@webkit.org's avatar
      2011-04-14 Nat Duca <nduca@chromium.org> · 2bee72bd
      commit-queue@webkit.org authored
              Reviewed by Darin Fisher.
      
              [chromium] Add lowpass filter and graph to fps indicator
              https://bugs.webkit.org/show_bug.cgi?id=58186
      
              * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
              (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
              (WebCore::CCHeadsUpDisplay::drawHudContents):
              (WebCore::CCHeadsUpDisplay::drawFPSCounter):
              (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
              (WebCore::CCHeadsUpDisplay::onPresent):
              * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2bee72bd
    • bdakin@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=58612 · 07ce5b44
      bdakin@apple.com authored
      Crash switching overlay/non-overlay scrollbar preference 
      (WebCore::Page::setNeedsRecalcStyleInAllFrames + 9)
      -and corresponding-
      <rdar://problem/9241920> 
      
      Reviewed by Adele Peterson.
      
      Speculative fix: Page could definitely be null here. 
      * page/FrameView.cpp:
      (WebCore::FrameView::scrollbarStyleChanged):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07ce5b44
    • commit-queue@webkit.org's avatar
      2011-04-14 Vsevolod Vlasov <vsevik@chromium.org> · ddb87b09
      commit-queue@webkit.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size
              https://bugs.webkit.org/show_bug.cgi?id=58447
      
              FrameLoader now takes encoded data length for synchronous requests from the field with the same name.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::loadResourceSynchronously):
              * platform/network/ResourceLoadInfo.h:
              (WebCore::ResourceLoadInfo::ResourceLoadInfo):
      2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size
              https://bugs.webkit.org/show_bug.cgi?id=58447
      
              FrameLoader now takes encoded data length for synchronous requests from the field with the same name.
      
              * public/WebHTTPLoadInfo.h:
              * src/WebHTTPLoadInfo.cpp:
              (WebKit::WebHTTPLoadInfo::encodedDataLength):
              (WebKit::WebHTTPLoadInfo::setEncodedDataLength):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddb87b09
    • commit-queue@webkit.org's avatar
      2011-04-14 Alok Priyadarshi <alokp@chromium.org> · 4706ce29
      commit-queue@webkit.org authored
              Reviewed by James Robinson.
      
              Remove dependency on chromium skia::PlatformCanvas
              https://bugs.webkit.org/show_bug.cgi?id=57563
      
              This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. We will eventually define an API that every port using skia will define.
      
              * platform/graphics/chromium/FontChromiumWin.cpp:
              (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
              (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
              (WebCore::Font::drawComplexText):
              * platform/graphics/chromium/ImageBufferDataSkia.h:
              * platform/graphics/chromium/LayerChromium.h:
              * platform/graphics/chromium/LayerRendererChromium.h:
              * platform/graphics/chromium/PlatformCanvas.cpp:
              (WebCore::PlatformCanvas::resize):
              * platform/graphics/chromium/PlatformCanvas.h:
              * platform/graphics/chromium/TransparencyWin.cpp:
              (WebCore::TransparencyWin::compositeTextComposite):
              (WebCore::TransparencyWin::makeLayerOpaque):
              * platform/graphics/skia/ImageBufferSkia.cpp:
              (WebCore::ImageBuffer::ImageBuffer):
              * platform/graphics/skia/ImageSkia.cpp:
              (WebCore::paintSkBitmap):
              (WebCore::Image::drawPattern):
              * platform/graphics/skia/PlatformContextSkia.cpp:
              (WebCore::PlatformContextSkia::PlatformContextSkia):
              (WebCore::PlatformContextSkia::setCanvas):
              (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
              * platform/graphics/skia/PlatformContextSkia.h:
              (WebCore::PlatformContextSkia::canvas):
              (WebCore::PlatformContextSkia::printing):
              (WebCore::PlatformContextSkia::setPrinting):
      2011-04-14  Alok Priyadarshi  <alokp@chromium.org>
      
              Reviewed by James Robinson.
      
              Remove dependency on chromium skia::PlatformCanvas
              https://bugs.webkit.org/show_bug.cgi?id=57563
      
              * public/WebCanvas.h:
              * src/WebFrameImpl.cpp:
              (WebKit::WebFrameImpl::printPage):
              * tests/TransparencyWinTest.cpp:
              (WebCore::drawNativeRect):
              (WebCore::getPixelAt):
              (WebCore::clearTopLayerAlphaChannel):
              (WebCore::clearTopLayerAlphaPixel):
              (WebCore::TEST):
      2011-04-14  Alok Priyadarshi  <alokp@chromium.org>
      
              Reviewed by James Robinson.
      
              Remove dependency on chromium skia::PlatformCanvas
              https://bugs.webkit.org/show_bug.cgi?id=57563
      
              * DumpRenderTree/chromium/TestShell.cpp:
              (makeCanvasOpaque):
              (TestShell::dumpImage):
              * DumpRenderTree/chromium/TestShell.h:
              * DumpRenderTree/chromium/WebThemeControlDRTWin.cpp:
              (WebThemeControlDRTWin::WebThemeControlDRTWin):
              (WebThemeControlDRTWin::draw):
              (WebThemeControlDRTWin::drawTextField):
              (WebThemeControlDRTWin::drawProgressBar):
              * DumpRenderTree/chromium/WebThemeControlDRTWin.h:
              * DumpRenderTree/chromium/WebViewHost.cpp:
              (WebViewHost::canvas):
              * DumpRenderTree/chromium/WebViewHost.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4706ce29
    • eric@webkit.org's avatar
      2011-04-14 Eric Seidel <eric@webkit.org> · ca0f63d0
      eric@webkit.org authored
              Reviewed by Simon Fraser.
      
              PumpSession should not call currentTime() in the constructor
              https://bugs.webkit.org/show_bug.cgi?id=55211
      
              currentTime() is expensive.  So we avoid calling it in the constructor
              and instead set startTime on the first check for a yield
              (which in the synchronous case never happens, and in the yielding
              case will happen immediately after the first token due to
              processedTokens being set to INT_MAX).
      
              This ended up being a large win on (my local copy of)
              peacekeeper's domDynamicCreationCreateElement:
      
              Before:
              avg 366.3333333333333
              median 366
              stdev 2.712112747574399
              min 362
              max 377
      
              After:
              avg 345.96666666666664
              median 346
              stdev 1.6829207415152454
              min 343
              max 349
      
              * html/parser/HTMLDocumentParser.cpp:
              * html/parser/HTMLParserScheduler.h:
              (WebCore::PumpSession::PumpSession):
              (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca0f63d0
    • commit-queue@webkit.org's avatar
      2011-04-14 Ami Fischman <fischman@google.com> · 392750c2
      commit-queue@webkit.org authored
              Reviewed by Eric Carlson.
      
              Update expectation to reflect removal of the -25px bottom margin.
              https://bugs.webkit.org/show_bug.cgi?id=58442
      
              * media/media-document-audio-repaint-expected.txt:
      2011-04-14  Ami Fischman  <fischman@google.com>
      
              Reviewed by Eric Carlson.
      
              Remove unnecessary bottom margin of controls in video elements on media documents.
              This makes the cases of media documents and non-media documents consistent,
              and makes it possible to reason about the height of a rendered media document
              (needed e.g. for sizing iframes).
      
              This change is covered by (the currently Skipped, but soon-to-be-un-Skipped)
              media/video-controls-in-media-document.html layouttest (see bug 54634 for
              the un-Skipping).
      
              https://bugs.webkit.org/show_bug.cgi?id=58442
      
              * css/mediaControls.css:
              (video:-webkit-full-page-media::-webkit-media-controls-panel):
              * css/mediaControlsEfl.css:
              (video:-webkit-full-page-media::-webkit-media-controls-panel):
              * css/mediaControlsQuickTime.css:
              (video:-webkit-full-page-media::-webkit-media-controls-panel):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      392750c2
    • ggaren@apple.com's avatar
      2011-04-14 Geoffrey Garen <ggaren@apple.com> · 99477958
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              Use opaque roots instead of direct marking for nodes in the DOM
              https://bugs.webkit.org/show_bug.cgi?id=58624
      
              A node treats the root of its tree (usually the document) as its opaque
              root during GC.
              
              This is needed for correctness in a generational GC world, but it also
              happens to be a 3.5X speedup in a DOM-heavy GC test (scratch-gc-dom2.html).
      
              * bindings/js/DOMWrapperWorld.cpp:
              (WebCore::isObservable):
              (WebCore::isReachableFromDOM): Moved a helper function from JSDOMBinding.
              We use this function to determine whether a node is observable.
      
              (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): Start using
              our weak handle callback to determine reachability, instead of direct
              marking traversal through the DOM.
      
              * bindings/js/JSAttrCustom.cpp:
              (WebCore::JSAttr::markChildren): Updated to use the opaque roots mechanism
              instead of direct marking.
      
              * bindings/js/JSDOMBinding.cpp:
              * bindings/js/JSDOMBinding.h: Moved code mentioned above. Removed
              markDOMNodeWrapper because it is now unused. This is a good thing because
              markDOMNodeWrapper used deprecatedAppend, which is not compatible
              with generational GC.
      
              * bindings/js/JSDOMImplementationCustom.cpp:
              (WebCore::JSDOMImplementation::markChildren): Updated to use opaque roots.
      
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::markChildren): No need to mark our child nodes directly,
              since they will take care of themselves through the opaque roots mechanism.
      
              * bindings/js/JSNamedNodeMapCustom.cpp:
              (WebCore::JSNamedNodeMap::markChildren): Updated to use opaque roots.
      
              * bindings/js/JSNodeCustom.cpp:
              (WebCore::JSNode::markChildren): No need to mark our tree or our document
              directly, since they will take care of themselves through the opaque
              roots mechanism.
      
              * bindings/js/JSNodeCustom.h:
              (WebCore::root): Helper function for accessing the root of a node tree.
              This is O(1) while you're in the document, O(log(N)) when you're in a
              reasonably balanced disconnected tree, and O(N) in the pathological case
              of a disconnected tree that's shaped like a linked list. If average case
              O(long(N)) turns out to be too slow, we can optimize through use of
              rare data or an external hash table, but it is so uncommon that I have
              ignored it for now.
      
              * bindings/js/JSSVGElementInstanceCustom.cpp:
              (WebCore::JSSVGElementInstance::markChildren): Updated to use opaque roots.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99477958
    • commit-queue@webkit.org's avatar
      2011-04-14 Mike Reed <reed@google.com> · 93500e64
      commit-queue@webkit.org authored
              Reviewed by Kenneth Russell.
      
              fix shadows with gradients
              https://bugs.webkit.org/show_bug.cgi?id=58376
      
              No new tests. Existing tests exercise this
              LayoutTests/fast/canvas/canvas-fillPath-gradient-shadow.html
      
              * platform/graphics/skia/GraphicsContextSkia.cpp:
              (WebCore::GraphicsContext::setPlatformShadow):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93500e64
    • commit-queue@webkit.org's avatar
      2011-04-14 Brian Salomon <bsalomon@google.com> · 3478e517
      commit-queue@webkit.org authored
              Reviewed by Kenneth Russell.
      
              In skia platform call SkBitmap::notifyPixelsChanged on WebGL readback
              https://bugs.webkit.org/show_bug.cgi?id=58543
      
              No new tests. Tested by fast/canvas/webgl/canvas-test.html
      
              * src/GraphicsContext3DChromium.cpp:
              (WebCore::GraphicsContext3DInternal::paintRenderingResultsToCanvas):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3478e517
    • commit-queue@webkit.org's avatar
      2011-04-14 Vsevolod Vlasov <vsevik@chromium.org> · e869956e
      commit-queue@webkit.org authored
              Reviewed by Pavel Feldman.
      
              Web Inspector: No headers information in network panel for downloads.
              https://bugs.webkit.org/show_bug.cgi?id=58139
      
              Passed resource response to inspector for PolicyDownload and PolicyIgnore requests.
      
              * http/tests/inspector/network/download-expected.txt: Added.
              * http/tests/inspector/network/download.html: Added.
              * http/tests/inspector/network/resources/download.zzz: Added.
      2011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
      
              Reviewed by Pavel Feldman.
      
              Web Inspector: No headers information in network panel for downloads.
              https://bugs.webkit.org/show_bug.cgi?id=58139
      
              Passed resource response to inspector for PolicyDownload and PolicyIgnore requests.
      
              Test: http/tests/inspector/network/download.html
      
              * inspector/InspectorInstrumentation.cpp:
              (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
              (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
              (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
              * inspector/InspectorInstrumentation.h:
              (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
              (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
              * loader/MainResourceLoader.cpp:
              (WebCore::MainResourceLoader::continueAfterContentPolicy):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e869956e
    • joone.hur@collabora.co.uk's avatar
      2011-04-14 Joone Hur <joone.hur@collabora.co.uk> · 8adf0f85
      joone.hur@collabora.co.uk authored
              Reviewed by Martin Robinson.
      
              Convert use of raw pointers to RefPtr in using Cairo
              https://bugs.webkit.org/show_bug.cgi?id=57717
      
              No new tests added becaue of just replacing raw pointers with smart pointers.
      
              * platform/graphics/cairo/ContextShadowCairo.cpp: Use a RefPtr<cairo_surface_t> instead of raw pointer.
              (WebCore::purgeScratchBuffer):
              (WebCore::getScratchBuffer):
              * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr<cairo_t> instead of raw pointer.
              (copySurface):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8adf0f85
    • commit-queue@webkit.org's avatar
      2011-04-14 Grzegorz Czajkowski <g.czajkowski@samsung.com> · 3ee5cd0c
      commit-queue@webkit.org authored
              Reviewed by Antonio Gomes.
      
              Memory cache API
              https://bugs.webkit.org/show_bug.cgi?id=58016
      
              * ewk/ewk_settings.cpp:
              (ewk_settings_cache_enable_get):
              (ewk_settings_cache_enable_set):
              (ewk_settings_cache_capacity_set):
              * ewk/ewk_settings.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ee5cd0c
    • commit-queue@webkit.org's avatar
      2011-04-14 Naoki Takano <takano.naoki@gmail.com> · ba33814a
      commit-queue@webkit.org authored
              Reviewed by Eric Seidel.
      
              [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag.
              https://bugs.webkit.org/show_bug.cgi?id=57818
      
              * fast/forms/select-background-none.html: Added.
              * platform/chromium-mac/fast/forms/select-background-none-expected.checksum: Added.
              * platform/chromium-mac/fast/forms/select-background-none-expected.png: Added.
              * platform/chromium-mac/fast/forms/select-background-none-expected.txt: Added.
              * platform/chromium-linux/fast/forms/select-background-none-expected.checksum: Added.
              * platform/chromium-linux/fast/forms/select-background-none-expected.png: Added.
              * platform/chromium-linux/fast/forms/select-background-none-expected.txt: Added.
              * platform/mac/fast/forms/select-background-none-expected.txt: Added.
      2011-04-14  Naoki Takano  <takano.naoki@gmail.com>
      
              Reviewed by Eric Seidel.
      
              [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag.
              https://bugs.webkit.org/show_bug.cgi?id=57818
      
              Test: fast/forms/select-background-none.html
      
              This fix is only for Chromium on Linux. Chromium on Mac already works fine.
              But Windows has the same problem. This change doesn't include Windows part.
      
              * rendering/RenderThemeChromiumLinux.cpp:
              (WebCore::RenderThemeChromiumLinux::paintMenuList): Change the default color to transparent.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba33814a
    • barraclough@apple.com's avatar
      Hide DFG_JIT_RESTRICTIONS behind ARITHMETIC_OP() macro, and rename · 1fbd1390
      barraclough@apple.com authored
      m_regressionGuard to m_parseFailed, such that it can be reused for
      other failure cases.
      
      Rubber stamped by Geoffrey Garen.
      
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::ByteCodeParser):
      (JSC::DFG::ByteCodeParser::parse):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fbd1390
    • commit-queue@webkit.org's avatar
      2011-04-14 Luke Macpherson <macpherson@chromium.org> · 116fc476
      commit-queue@webkit.org authored
              Reviewed by Dimitri Glazkov.
      
              Implement border style css properties in CSSStyleApplyProperty
              https://bugs.webkit.org/show_bug.cgi?id=58506
      
              No new functionality added.
      
              * css/CSSStyleApplyProperty.cpp:
              (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
              Added new property initializers.
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              Removed old property handlers.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      116fc476
    • barraclough@apple.com's avatar
      Bug 58620 - DFG JIT - loading of arguments should not be lazy · 89b45bfa
      barraclough@apple.com authored
      Reviewed by Geoffrey Garen.
      
      This optimization is overly simplistic. It only works because we never
      write out definitions to arguments (since we currently only compile
      single block functions). Revert this for now, we may want to reintroduce
      something like this again in the future, but it will need to be aware
      how to schedule definitions to arguments versus lazy loads that have not
      yet been performed.
      
      * dfg/DFGGenerationInfo.h:
      (JSC::DFG::GenerationInfo::needsSpill):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::dump):
      * dfg/DFGGraph.h:
      * dfg/DFGJITCodeGenerator.cpp:
      (JSC::DFG::JITCodeGenerator::fillInteger):
      (JSC::DFG::JITCodeGenerator::fillDouble):
      (JSC::DFG::JITCodeGenerator::fillJSValue):
      * dfg/DFGJITCodeGenerator.h:
      (JSC::DFG::JITCodeGenerator::initConstantInfo):
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::fillNumericToDouble):
      (JSC::DFG::JITCompiler::fillInt32ToInteger):
      (JSC::DFG::JITCompiler::fillToJS):
      * dfg/DFGNonSpeculativeJIT.cpp:
      (JSC::DFG::NonSpeculativeJIT::isKnownInteger):
      (JSC::DFG::NonSpeculativeJIT::isKnownNumeric):
      (JSC::DFG::NonSpeculativeJIT::compile):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
      (JSC::DFG::SpeculativeJIT::fillSpeculateCell):
      (JSC::DFG::SpeculativeJIT::compile):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89b45bfa
    • dglazkov@chromium.org's avatar
      2011-04-14 Dimitri Glazkov <dglazkov@chromium.org> · 8100e4d2
      dglazkov@chromium.org authored
              Reviewed by Ojan Vafai.
      
              Presence of shadow DOM should suppress rendering of ordinary child nodes
              https://bugs.webkit.org/show_bug.cgi?id=58073
      
              * fast/dom/shadow/no-renderers-for-light-children-expected.txt: Added.
              * fast/dom/shadow/no-renderers-for-light-children.html: Added.
      2011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
      
              Reviewed by Ojan Vafai.
      
              Presence of shadow DOM should suppress rendering of ordinary child nodes
              https://bugs.webkit.org/show_bug.cgi?id=58073
      
              Test: fast/dom/shadow/no-renderers-for-light-children.html
      
              * dom/Node.cpp:
              (WebCore::shadowRoot): Added a helper function.
              (WebCore::Node::setDocumentRecursively): Changed to use the helper.
              (WebCore::shouldCreateRendererFor): Expanded a long condition check into a helper function,
                  added a check for children of an element with a shadow DOM.
              (WebCore::Node::createRendererAndStyle): Changed to use the helper.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8100e4d2
    • andersca@apple.com's avatar
      2011-04-14 Anders Carlsson <andersca@apple.com> · bef1b4b5
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Select All context menu item doesn't work in Flash
              https://bugs.webkit.org/show_bug.cgi?id=58615
              <rdar://problem/9225761>
      
              In some cases, -[NSWindow isKeyWindow] will return false even if
              a window is the key window, so we have to compare our window
              against -[NSApplication keyWindow].
      
              * UIProcess/API/mac/PageClientImpl.mm:
              (WebKit::PageClientImpl::isViewWindowActive):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bef1b4b5
    • weinig@apple.com's avatar
      2011-04-14 Sam Weinig <sam@webkit.org> · 1eda3e3d
      weinig@apple.com authored
              Reviewed by Anders Carlsson.
      
              Add CFPreference based backend for WebKit2 preferences
              https://bugs.webkit.org/show_bug.cgi?id=58605
      
              * UIProcess/cf/WebPreferencesCF.cpp:
              (WebKit::cfStringFromWebCoreString):
              (WebKit::makeKey):
              (WebKit::setStringValueIfInUserDefaults):
              (WebKit::setBoolValueIfInUserDefaults):
              (WebKit::setUInt32ValueIfInUserDefaults):
              (WebKit::setDoubleValueIfInUserDefaults):
              (WebKit::WebPreferences::platformInitializeStore):
              (WebKit::WebPreferences::platformUpdateStringValueForKey):
              (WebKit::WebPreferences::platformUpdateBoolValueForKey):
              (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
              (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
              Implement platform functions using CFPreferences API.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1eda3e3d
    • barraclough@apple.com's avatar
      Bug 58600 - DFG JIT bugs in ValueToInt, PutByVal · 9cb663d5
      barraclough@apple.com authored
      Reviewed by Geoffrey Garen.
      
      The bug in PutByVal is that an operand is in JSValueOperand - when this
      locks an integer into a register it will always retag the value without
      checking if the register is already locked. This is a problem where the
      value being stored by a PutByVal is the same as the subscript.
      The subscript is locked into a register first, as a strict integer.
      Locking the value results in the subscript being modified.
      
      The bug in ValueToInt related to the function of sillentFillAllRegisters.
      The problem is that this method will restore all register values from
      prior to the call, overwriting the result of the call out. Allow a
      register to be passed to specifically be excluded from being preserved.
      
      Source/JavaScriptCore: 
      
      * assembler/ARMAssembler.h:
      (JSC::ARMAssembler::debugOffset):
      * assembler/ARMv7Assembler.h:
      (JSC::ARMv7Assembler::ARMInstructionFormatter::debugOffset):
      * assembler/AbstractMacroAssembler.h:
      (JSC::AbstractMacroAssembler::debugOffset):
      * assembler/AssemblerBuffer.h:
      (JSC::AssemblerBuffer::debugOffset):
      * assembler/LinkBuffer.h:
      (JSC::LinkBuffer::debugAddress):
      * assembler/MIPSAssembler.h:
      (JSC::MIPSAssembler::debugOffset):
      * assembler/MacroAssemblerX86_64.h:
      (JSC::MacroAssemblerX86_64::orPtr):
      * assembler/X86Assembler.h:
      (JSC::X86Assembler::debugOffset):
      (JSC::X86Assembler::X86InstructionFormatter::debugOffset):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::parse):
      * dfg/DFGGenerationInfo.h:
      * dfg/DFGJITCodeGenerator.cpp:
      (JSC::DFG::JITCodeGenerator::fillJSValue):
      * dfg/DFGJITCodeGenerator.h:
      (JSC::DFG::JITCodeGenerator::isConstant):
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::compileFunction):
      * dfg/DFGJITCompiler.h:
      (JSC::DFG::JITCompiler::isConstant):
      * dfg/DFGNonSpeculativeJIT.cpp:
      (JSC::DFG::NonSpeculativeJIT::valueToNumber):
      (JSC::DFG::NonSpeculativeJIT::valueToInt32):
      (JSC::DFG::NonSpeculativeJIT::numberToInt32):
      (JSC::DFG::NonSpeculativeJIT::isKnownInteger):
      (JSC::DFG::NonSpeculativeJIT::isKnownNumeric):
      (JSC::DFG::NonSpeculativeJIT::compile):
      * dfg/DFGNonSpeculativeJIT.h:
      (JSC::DFG::NonSpeculativeJIT::silentSpillGPR):
      (JSC::DFG::NonSpeculativeJIT::silentSpillFPR):
      (JSC::DFG::NonSpeculativeJIT::silentFillGPR):
      (JSC::DFG::NonSpeculativeJIT::silentFillFPR):
      (JSC::DFG::NonSpeculativeJIT::silentSpillAllRegisters):
      (JSC::DFG::NonSpeculativeJIT::silentFillAllRegisters):
      * dfg/DFGSpeculativeJIT.cpp:
      (JSC::DFG::SpeculativeJIT::compile):
      
      LayoutTests: 
      
      * fast/js/array-index-immediate-types-expected.txt:
      * fast/js/script-tests/array-index-immediate-types.js:
      (putSelf):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9cb663d5
    • enne@google.com's avatar
      2011-04-14 Adrienne Walker <enne@google.com> · 11f7ccb2
      enne@google.com authored
              Reviewed by James Robinson.
      
              [chromium] Tile content and image layers
              https://bugs.webkit.org/show_bug.cgi?id=57113
      
              Rebaseline a number of image tests where slight filtering differences
              from using tiles caused test failures with exact pixel matching.
              None of these results are perceptually different.
      
              * platform/chromium-gpu-linux/compositing/color-matching/image-color-matching-expected.checksum:
              * platform/chromium-gpu-linux/compositing/color-matching/image-color-matching-expected.png:
              * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.checksum:
              * platform/chromium-gpu-linux/compositing/text-on-large-layer-expected.png:
              * platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.checksum:
              * platform/chromium-gpu-linux/fast/canvas/canvas-text-alignment-expected.png:
              * platform/chromium-gpu-linux/fast/canvas/canvas-text-baseline-expected.checksum:
              * platform/chromium-gpu-linux/fast/canvas/canvas-text-baseline-expected.png:
              * platform/chromium-gpu-mac/compositing/color-matching/image-color-matching-expected.checksum:
              * platform/chromium-gpu-mac/compositing/color-matching/image-color-matching-expected.png:
              * platform/chromium-gpu-mac/compositing/text-on-large-layer-expected.checksum:
              * platform/chromium-gpu-mac/compositing/text-on-large-layer-expected.png:
              * platform/chromium-gpu-win/compositing/color-matching/image-color-matching-expected.checksum:
              * platform/chromium-gpu-win/compositing/color-matching/image-color-matching-expected.png:
              * platform/chromium-gpu-win/compositing/text-on-large-layer-expected.checksum:
              * platform/chromium-gpu-win/compositing/text-on-large-layer-expected.png:
              * platform/chromium-gpu-win/fast/canvas/canvas-text-alignment-expected.checksum:
              * platform/chromium-gpu-win/fast/canvas/canvas-text-alignment-expected.png:
              * platform/chromium-gpu-win/fast/canvas/canvas-text-baseline-expected.checksum:
              * platform/chromium-gpu-win/fast/canvas/canvas-text-baseline-expected.png:
              * platform/chromium/test_expectations.txt:
      2011-04-14  Adrienne Walker  <enne@google.com>
      
              Reviewed by James Robinson.
      
              [chromium] Tile content and image layers
              https://bugs.webkit.org/show_bug.cgi?id=57113
      
              Layers tile by default if any dimension is larger than 512.  Smaller
              layers are contained within a single texture but still use the tiler
              infrastructure so that there's only one code path.
      
              Remove large layer support from content layers.  Content layers no
              longer own a platform canvas--they own a tiler.  Refactor tiler to
              allow for better separation of update/upload/paint.  Add rect
              parameter to update and draw functions on layers for the layer-space
              rect of interest.  This is necessary to know which tiles need to be
              drawn.
      
              * platform/graphics/chromium/ContentLayerChromium.cpp:
              (WebCore::ContentLayerChromium::ContentLayerChromium):
              (WebCore::ContentLayerChromium::~ContentLayerChromium):
              (WebCore::ContentLayerPainter::ContentLayerPainter):
              (WebCore::ContentLayerPainter::paint):
              (WebCore::ContentLayerChromium::paintContentsIfDirty):
              (WebCore::ContentLayerChromium::setLayerRenderer):
              (WebCore::ContentLayerChromium::tilingTransform):
              (WebCore::ContentLayerChromium::visibleLayerRect):
              (WebCore::ContentLayerChromium::layerBounds):
              (WebCore::ContentLayerChromium::updateLayerSize):
              (WebCore::ContentLayerChromium::draw):
              (WebCore::ContentLayerChromium::createTilerIfNeeded):
              (WebCore::ContentLayerChromium::updateCompositorResources):
              (WebCore::ContentLayerChromium::setTilingOption):
              (WebCore::ContentLayerChromium::bindContentsTexture):
              (WebCore::ContentLayerChromium::unreserveContentsTexture):
              (WebCore::ContentLayerChromium::setIsMask):
              (WebCore::ContentLayerChromium::dumpLayerProperties):
              * platform/graphics/chromium/ContentLayerChromium.h:
              (WebCore::ContentLayerChromium::drawsContent):
              * platform/graphics/chromium/GraphicsLayerChromium.cpp:
              (WebCore::GraphicsLayerChromium::setMaskLayer):
              * platform/graphics/chromium/ImageLayerChromium.cpp:
              (WebCore::ImageLayerChromium::paintContentsIfDirty):
              (WebCore::ImageLayerChromium::updateCompositorResources):
              (WebCore::ImageLayerChromium::layerBounds):
              (WebCore::ImageLayerChromium::tilingTransform):
              * platform/graphics/chromium/ImageLayerChromium.h:
              * platform/graphics/chromium/LayerChromium.h:
              (WebCore::LayerChromium::invalidateRect):
              (WebCore::LayerChromium::paintContentsIfDirty):
              (WebCore::LayerChromium::setIsMask):
              (WebCore::LayerChromium::draw):
              * platform/graphics/chromium/LayerRendererChromium.cpp:
              (WebCore::LayerRendererChromium::drawRootLayer):
              (WebCore::LayerRendererChromium::drawLayers):
              (WebCore::LayerRendererChromium::paintContentsRecursive):
              (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
              (WebCore::LayerRendererChromium::drawLayer):
              (WebCore::LayerRendererChromium::initializeSharedObjects):
              (WebCore::LayerRendererChromium::cleanupSharedObjects):
              * platform/graphics/chromium/LayerRendererChromium.h:
              * platform/graphics/chromium/LayerTilerChromium.cpp:
              (WebCore::LayerTilerChromium::setTileSize):
              (WebCore::LayerTilerChromium::getSingleTexture):
              (WebCore::LayerTilerChromium::invalidateRect):
              (WebCore::LayerTilerChromium::update):
              (WebCore::LayerTilerChromium::uploadCanvas):
              (WebCore::LayerTilerChromium::updateFromPixels):
              (WebCore::LayerTilerChromium::draw):
              (WebCore::LayerTilerChromium::unreserveTextures):
              * platform/graphics/chromium/LayerTilerChromium.h:
              (WebCore::LayerTilerChromium::setLayerRenderer):
              (WebCore::LayerTilerChromium::skipsDraw):
              * platform/graphics/chromium/PlatformCanvas.cpp:
              (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
              (WebCore::PlatformCanvas::Painter::Painter):
              * platform/graphics/chromium/PlatformCanvas.h:
              * platform/graphics/chromium/RenderSurfaceChromium.cpp:
              (WebCore::RenderSurfaceChromium::draw):
              * platform/graphics/chromium/RenderSurfaceChromium.h:
              * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
              (WebCore::CCCanvasLayerImpl::draw):
              * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
              * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
              (WebCore::CCHeadsUpDisplay::draw):
              * platform/graphics/chromium/cc/CCLayerImpl.cpp:
              (WebCore::CCLayerImpl::draw):
              * platform/graphics/chromium/cc/CCLayerImpl.h:
              * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
              (WebCore::CCPluginLayerImpl::draw):
              * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
              * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
              (WebCore::CCVideoLayerImpl::draw):
              * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11f7ccb2
    • jamesr@google.com's avatar
      2011-04-14 James Robinson <jamesr@chromium.org> · c9bd8200
      jamesr@google.com authored
              Reviewed by Darin Fisher.
      
              [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame
              https://bugs.webkit.org/show_bug.cgi?id=58575
      
              Remove expected failure lines for pixel tests that now should pass.
      
              * platform/chromium/test_expectations.txt:
      2011-04-14  James Robinson  <jamesr@chromium.org>
      
              Reviewed by Darin Fisher.
      
              [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame
              https://bugs.webkit.org/show_bug.cgi?id=58575
      
              Tell the RenderLayerCompositor to create/destroy composited layers for overflow controls on a FrameView when visibleContentsResized()
              is called, not contentsResized() so that we always update layers when adding or removing scrollbars.
      
              Covered by several chromium pixel tests.
      
              * page/FrameView.cpp:
              (WebCore::FrameView::contentsResized):
              (WebCore::FrameView::visibleContentsResized):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c9bd8200
    • levin@chromium.org's avatar
      Fix some threading issues in IconDatabase. · af78b1f2
      levin@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=57985
      
      Reviewed by Brady Eidson.
      
      No functionality change so no new tests. It would be very hard to test this, but
      I am working on a change for bug 31639 to detect these (which makes layout tests
      fail for at least one of these issues).
      
      * loader/icon/IconDatabase.cpp:
      (WebCore::IconDatabase::readFromDatabase): Release imageData so that it won't get deref'ed outside of locks.
      (WebCore::IconDatabase::writeToDatabase): Acquire m_urlAndIconLock because the SharedBuffer<> data
      is used, and this lock seems to be the one which consistently guards it.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83913 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af78b1f2
    • ggaren@apple.com's avatar
      2011-04-14 Geoffrey Garen <ggaren@apple.com> · 6d8758c5
      ggaren@apple.com authored
              Reviewed by Oliver Hunt.
      
              Drain the mark stack while marking weak handles, not after.
              https://bugs.webkit.org/show_bug.cgi?id=58574
      
              Otherwise, items that would have caused more weak handle marking are
              processed after all weak handle marking has finished, and referenced
              weak handles get recycled.
      
              * heap/HandleHeap.cpp:
              (JSC::HandleHeap::markWeakHandles): Removed looping from here, since we
              want Heap::markRoots to be responsible for draining the mark stack.
      
              * heap/Heap.cpp:
              (JSC::Heap::markRoots): Moved looping to here, as explained above.
              
              For efficiency's sake, drain the mark stack before starting to mark weak
              handles. Otherwise, items drained while marking weak handles may force
              an extra trip through the weak handle list.
      
              For correctness's sake, drain the mark stack each time through the weak
              handle list. Otherwise, opaque roots that would make weak handles reachable
              are not discovered until after weak handle marking is over.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d8758c5
    • beidson@apple.com's avatar
      <rdar://problem/8665102> and https://bugs.webkit.org/show_bug.cgi?id=58595 · e09105e5
      beidson@apple.com authored
      Menu is not displayed for <input type=search results="5">
      
      Reviewed by Sam Weinig.
      
      * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
      (WebKit::WebSearchPopupMenu::enabled): Return true, like all good search popup menus should.
      
      * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
      (WebKit::WebPopupMenu::setUpPlatformData): Remember the shouldPopOver-ness.
      
      * Shared/PlatformPopupMenuData.cpp:
      (WebKit::PlatformPopupMenuData::encode): Remember the shouldPopOver-ness.
      (WebKit::PlatformPopupMenuData::decode): Remember the shouldPopOver-ness.
      * Shared/PlatformPopupMenuData.h:
      
      * UIProcess/mac/WebPopupMenuProxyMac.mm:
      (WebKit::WebPopupMenuProxyMac::showPopupMenu): Use the shouldPopOver-ness to adjust display position.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83909 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e09105e5
    • andersca@apple.com's avatar
      2011-04-14 Anders Carlsson <andersca@apple.com> · 1e38202a
      andersca@apple.com authored
              Reviewed by Dan Bernstein.
      
              Crash in NetscapePluginModule::tryGetSitesWithData when NPP_GetSitesWithData returns null
              https://bugs.webkit.org/show_bug.cgi?id=58578
              <rdar://problem/9275201>
      
              It's OK for NPP_GetSitesWithData to return null.
      
              * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
              (WebKit::NetscapePluginModule::tryGetSitesWithData):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e38202a
    • dimich@chromium.org's avatar
      Simplifying Worker termination sequence (removing unnecessary mutex) · ae6b7777
      dimich@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=57090
      
      Reviewed by David Levin.
      
      Source/WebCore:
      
      No new tests. Existing Worker tests should pass.
      
      * bindings/js/JSEventListener.cpp:
      (WebCore::JSEventListener::handleEvent):
      Check for Terminator-caused exception (or Terminator::shouldTerminate since sometimes
      JS might not run significant enough chunk to be terminated by Terminator) and set
      the flag to forbid future reentry into JS.
      
      * bindings/js/WorkerScriptController.cpp:
      (WebCore::WorkerScriptController::evaluate):
      (WebCore::WorkerScriptController::scheduleExecutionTermination):
      (WebCore::WorkerScriptController::forbidExecution):
      (WebCore::WorkerScriptController::isExecutionForbidden):
      * bindings/js/WorkerScriptController.h:
      * bindings/v8/WorkerScriptController.cpp:
      (WebCore::WorkerScriptController::evaluate):
      (WebCore::WorkerScriptController::scheduleExecutionTermination):
      (WebCore::WorkerScriptController::forbidExecution):
      (WebCore::WorkerScriptController::isExecutionForbidden):
      * bindings/v8/WorkerScriptController.h:
      (WebCore::WorkerScriptController::proxy):
      Symmetrical changes to JSC and V8 WorkerScriptControllers:
      - remove Mutex around operations with executionForbidden flag.
      - set/check that flag only on Worker thread.
      - some renaming in attempt to better reflect what the methods do.
      
      * bindings/v8/V8AbstractEventListener.cpp:
      (WebCore::V8AbstractEventListener::handleEvent):
      (WebCore::V8AbstractEventListener::invokeEventHandler):
      * bindings/v8/WorkerContextExecutionProxy.cpp:
      (WebCore::WorkerContextExecutionProxy::evaluate):
      Check for v8::TryCatch::CanContinue() and set forbidExecution flag.
      This result indicates that TerminateExecution() was in effect - we should
      not reenter V8 anymore after that.
      
      * dom/Document.h:
      (WebCore::Document::isJSExecutionForbidden):
      * dom/MessagePort.cpp:
      (WebCore::MessagePort::dispatchMessages):
      Stop dispatching messages once the worker context started to close.
      Per Workers spec, once WorkerGlobalScope.Close() is called, the next
      JS execution does not happen, including onmessage events. Before this
      change, Close() was setting the forbidExecution flag, indirectly stopping
      events from dispatching.
      
      * dom/ScriptExecutionContext.h:
      * workers/WorkerContext.cpp:
      (WebCore::WorkerContext::close):
      (WebCore::WorkerContext::isJSExecutionForbidden):
      * workers/WorkerContext.h:
      * workers/WorkerThread.cpp:
      (WebCore::WorkerThread::workerThread):
      (WebCore::WorkerThread::stop):
      
      LayoutTests:
      
      * fast/workers/resources/shared-worker-lifecycle.js:
      (createWorkerFrame): Fixing flaky worker test - removing document.write().
      
      When document.write() is called directly from inline script as in this test, it appends to the document.
      However, if worker threads from previously run test are still exiting,
      the test defers itself using setTimeout() and in this case document.write() overwrites the whole document
      and makes the test fail.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae6b7777
    • bdakin@apple.com's avatar
      https://bugs.webkit.org/show_bug.cgi?id=56493 · 98933a57
      bdakin@apple.com authored
      Drag-scrolling overlay scrollbars thumb in overflow regions does not work
      -and corresponding-
      <rdar://problem/9112688>
      
      Reviewed by Simon Fraser.
      
      There was an original change to fix this in the normal hit-testing case, but hit 
      testing of transformed and/or positioned objects was still broken. The transformed 
      case is fixed by sending an OverlayScrollbarSizeRelevancy parameter to 
      calculateRects(). Getting positioned objects right is a little trickier. Those need 
      to opt into using temporary clip rects during hit testing. To avoid doing that when 
      it is not necessary, I added a new bit to ScrollView to track whether there are 
      currently overlay scrollbars painted in the view.
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::ScrollView):
      (WebCore::ScrollView::wheelEvent):
      * platform/ScrollView.h:
      (WebCore::ScrollView::containsScrollableAreaWithOverlayScrollbars):
      (WebCore::ScrollView::setContainsScrollableAreaWithOverlayScrollbars):
      * rendering/RenderLayer.cpp:
      (WebCore::RenderLayer::paintOverflowControls):
      (WebCore::RenderLayer::hitTestLayer):
      (WebCore::RenderLayer::updateClipRects):
      (WebCore::RenderLayer::calculateClipRects):
      (WebCore::RenderLayer::parentClipRects):
      (WebCore::RenderLayer::backgroundClipRect):
      (WebCore::RenderLayer::calculateRects):
      * rendering/RenderLayer.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98933a57
    • lforschler@apple.com's avatar
      Versioning. · ab99dd41
      lforschler@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab99dd41
    • antti@apple.com's avatar
      REGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail to load · 2bc430ec
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=57766
      <rdar://problem/9232183>
      
      Reviewed by Oliver Hunt.
      
      Source/WebCore: 
      
      Move the knowledge of whether to interpret a font as SVG from CachedFont to CSSFontFaceSource. This way
      we can try to interpret the same cached resource in multiple ways.
      
      Test: fast/css/font-face-repeated-url.html
      
      * css/CSSFontFaceSource.cpp:
      (WebCore::CSSFontFaceSource::CSSFontFaceSource):
      (WebCore::CSSFontFaceSource::getFontData):
      * css/CSSFontFaceSource.h:
      (WebCore::CSSFontFaceSource::setHasExternalSVGFont):
      * css/CSSFontSelector.cpp:
      (WebCore::CSSFontSelector::addFontFaceRule):
      * loader/cache/CachedFont.cpp:
      (WebCore::CachedFont::CachedFont):
      (WebCore::CachedFont::ensureCustomFontData):
      (WebCore::CachedFont::ensureSVGFontData):
      
          Use TextResourceDecoder correctly.
      
      (WebCore::CachedFont::getSVGFontById):
      * loader/cache/CachedFont.h:
      * svg/SVGFontFaceUriElement.cpp:
      (WebCore::SVGFontFaceUriElement::loadFont):
      
      LayoutTests: 
      
      * fast/css/font-face-repeated-url-expected.txt: Added.
      * fast/css/font-face-repeated-url.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83896 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2bc430ec
    • weinig@apple.com's avatar
      Make creating WebPreferences lazy · 9a68a017
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=58570
      
      Reviewed by Anders Carlsson.
      
      * UIProcess/WebPageGroup.cpp:
      (WebKit::WebPageGroup::WebPageGroup):
      (WebKit::WebPageGroup::~WebPageGroup):
      (WebKit::WebPageGroup::setPreferences):
      (WebKit::WebPageGroup::preferences):
      * UIProcess/WebPageGroup.h:
      Don't create the WebPreference object until it is requested.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83895 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a68a017
    • oliver@apple.com's avatar
      Temporarily remove assertion that's firing all the time. · 1d995792
      oliver@apple.com authored
      RS=Anders
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@83894 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d995792