- 26 Mar, 2011 27 commits
-
-
andersca@apple.com authored
Reviewed by Sam Weinig. Fix a possible deadlock when two synchronous messages are sent at the same time https://bugs.webkit.org/show_bug.cgi?id=57155 Simplify code and fix a possible (although highly improbable) dead lock. * Platform/CoreIPC/Connection.cpp: Make SyncMessageState atomically ref counted since it can be ref()'ed from the connection queue. Get rid of m_waitForSyncReplyCount and add m_didScheduleDispatchMessagesWork. (CoreIPC::Connection::SyncMessageState::SyncMessageState): Initialize m_didScheduleDispatchMessagesWork to false. (CoreIPC::Connection::SyncMessageState::processIncomingMessage): if m_didScheduleDispatchMessagesWork is false, schedule a call to dispatchMessageAndResetDidScheduleDispatchMessagesWork on the client run loop. (CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesWork): Dispatch messages and set m_didScheduleDispatchMessagesWork back to false. (CoreIPC::Connection::sendSyncMessage): Remove calls to beginWaitForSyncReply and endWaitForSyncReply. git-svn-id: svn://svn.chromium.org/blink/trunk@82032 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mrobinson@webkit.org authored
Rebaseline many GTK+ tests after r81994. * platform/gtk/fast/block/positioning/056-expected.txt: * platform/gtk/fast/block/positioning/auto/005-expected.checksum: * platform/gtk/fast/block/positioning/auto/005-expected.png: * platform/gtk/fast/block/positioning/auto/005-expected.txt: * platform/gtk/fast/block/positioning/auto/006-expected.checksum: * platform/gtk/fast/block/positioning/auto/006-expected.png: * platform/gtk/fast/block/positioning/auto/006-expected.txt: * platform/gtk/fast/block/positioning/auto/vertical-lr/005-expected.checksum: * platform/gtk/fast/block/positioning/auto/vertical-lr/005-expected.png: * platform/gtk/fast/block/positioning/auto/vertical-lr/005-expected.txt: * platform/gtk/fast/block/positioning/auto/vertical-lr/006-expected.checksum: * platform/gtk/fast/block/positioning/auto/vertical-lr/006-expected.png: * platform/gtk/fast/block/positioning/auto/vertical-lr/006-expected.txt: * platform/gtk/fast/block/positioning/auto/vertical-rl/005-expected.checksum: * platform/gtk/fast/block/positioning/auto/vertical-rl/005-expected.png: * platform/gtk/fast/block/positioning/auto/vertical-rl/005-expected.txt: * platform/gtk/fast/block/positioning/auto/vertical-rl/006-expected.checksum: * platform/gtk/fast/block/positioning/auto/vertical-rl/006-expected.png: * platform/gtk/fast/block/positioning/auto/vertical-rl/006-expected.txt: * platform/gtk/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.txt: * platform/gtk/fast/block/positioning/inline-block-relposition-expected.checksum: * platform/gtk/fast/block/positioning/inline-block-relposition-expected.png: * platform/gtk/fast/block/positioning/inline-block-relposition-expected.txt: * platform/gtk/fast/block/positioning/relative-overflow-block-expected.txt: * platform/gtk/fast/clip/001-expected.txt: * platform/gtk/fast/clip/004-expected.txt: * platform/gtk/fast/clip/006-expected.txt: * platform/gtk/fast/clip/007-expected.txt: * platform/gtk/fast/clip/008-expected.txt: * platform/gtk/fast/clip/009-expected.txt: * platform/gtk/fast/clip/010-expected.txt: * platform/gtk/fast/clip/011-expected.txt: * platform/gtk/fast/clip/012-expected.txt: * platform/gtk/fast/clip/013-expected.txt: * platform/gtk/fast/clip/014-expected.txt: * platform/gtk/fast/clip/nestedTransparencyClip-expected.txt: * platform/gtk/fast/clip/outline-overflowClip-expected.txt: * platform/gtk/fast/forms/input-appearance-preventDefault-expected.txt: * platform/gtk/fast/invalid/014-expected.txt: * platform/gtk/fast/layers/layer-visibility-expected.txt: * platform/gtk/fast/repaint/layout-state-scrolloffset-expected.txt: * platform/gtk/fast/repaint/layout-state-scrolloffset2-expected.txt: * platform/gtk/fast/repaint/layout-state-scrolloffset3-expected.txt: * platform/gtk/tables/mozilla/bugs/bug51140-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82031 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
abarth@webkit.org authored
Reviewed by Eric Seidel. We shouldn't bother running GYP if the generated files are newer than the GYP files https://bugs.webkit.org/show_bug.cgi?id=57146 In the common case, this check will avoid any overhead from processing the GYP files. Another approach to doing this is to add the feature to GYP directly, but GYP's approach to this problem is to compute the output in its entirety and compare it byte-for-byte against the output file. In the future, it might make sense to add this approach as an alternative approach for GYP itself. I also removed JavaScriptGlue from the script because we're not really going to change JavaScriptGlue over to GYP. We were using JavaScriptGlue as a learning experience. * Source/gyp/configure: git-svn-id: svn://svn.chromium.org/blink/trunk@82030 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ossy@webkit.org authored
* platform/qt/fast/repaint/layout-state-scrolloffset-expected.checksum: * platform/qt/fast/repaint/layout-state-scrolloffset-expected.png: * platform/qt/fast/repaint/layout-state-scrolloffset-expected.txt: * platform/qt/fast/repaint/layout-state-scrolloffset2-expected.checksum: * platform/qt/fast/repaint/layout-state-scrolloffset2-expected.png: * platform/qt/fast/repaint/layout-state-scrolloffset2-expected.txt: * platform/qt/fast/repaint/layout-state-scrolloffset3-expected.checksum: * platform/qt/fast/repaint/layout-state-scrolloffset3-expected.png: * platform/qt/fast/repaint/layout-state-scrolloffset3-expected.txt: * platform/qt/tables/mozilla/bugs/bug51140-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82029 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
abarth@webkit.org authored
Reviewed by Eric Seidel. Teach Content Security Policy how to parse source-list https://bugs.webkit.org/show_bug.cgi?id=54799 Test a variety of source-list parsing cases. There's a bunch more cases we could be testing. We'll add more over time. * http/tests/security/contentSecurityPolicy/source-list-parsing-expected.txt: Added. * http/tests/security/contentSecurityPolicy/source-list-parsing.html: Added. 2011-03-26 Adam Barth <abarth@webkit.org> Reviewed by Eric Seidel. Teach Content Security Policy how to parse source-list https://bugs.webkit.org/show_bug.cgi?id=54799 This patch is larger than I would like, but I wasn't sure how to make it any smaller while still being reasonably testable. I've left out some features (such as host wildcarding and 'self') so I can add them in later patches with tests. Test: http/tests/security/contentSecurityPolicy/source-list-parsing.html * bindings/ScriptControllerBase.cpp: * dom/ScriptElement.cpp: * html/parser/HTMLDocumentParser.cpp: * loader/FrameLoader.cpp: - Add include explicitly now that we're not spamming the include everywhere. * dom/Document.cpp: (WebCore::Document::initSecurityContext): - We need to pass the SecurityOrigin object to ContentSecurityPolicy so that it can resolve implicit parts of source patterns, such as the scheme. * dom/Document.h: - Forward declare ContentSecurityPolicy rather than including the header. Technically this could be a separate change, but I was getting annoyed at the world re-builds. * page/ContentSecurityPolicy.cpp: (WebCore::skipExactly): (WebCore::skipUtil): (WebCore::skipWhile): - Clean up these parser helper functions. We might consider moving them to a more general location. They're very helpful for writing secure HTTP header parsers. (WebCore::CSPSource::CSPSource): - New class to represent one source in a source-list. (WebCore::CSPSource::matches): (WebCore::CSPSource::schemeMatches): (WebCore::CSPSource::hostMatches): (WebCore::CSPSource::portMatches): (WebCore::CSPSource::isSchemeOnly): - Currently we represent scheme-only sources using with an empty m_host. Another approach I considered was using another bool, but that seemed slighly messier. (WebCore::CSPSourceList::CSPSourceList): - CSPSourceList doesn't need to ref SecurityOrigin because CSPSourceList is owned by ContentSecurityPolicy, which holds a ref. (WebCore::CSPSourceList::parse): (WebCore::CSPSourceList::matches): (WebCore::CSPSourceList::parseSource): (WebCore::CSPSourceList::parseScheme): (WebCore::CSPSourceList::parseHost): (WebCore::CSPSourceList::parsePort): - A basic "segment and recurse" parser. This parser causes us to take more branches than we need, but I don't think we need to squeeze every last ouch of performance out of this parser. This approach is more simple than some of the other approaches I tried. (WebCore::CSPSourceList::addSourceSelf): (WebCore::CSPDirective::CSPDirective): (WebCore::CSPDirective::allows): (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): (WebCore::ContentSecurityPolicy::parse): (WebCore::ContentSecurityPolicy::parseDirective): (WebCore::ContentSecurityPolicy::addDirective): - I couldn't resist re-writing this parser to use the helper functions and to match the style of the source-list parser. * page/ContentSecurityPolicy.h: (WebCore::ContentSecurityPolicy::create): - Accept a SecurityOrigin context object. git-svn-id: svn://svn.chromium.org/blink/trunk@82028 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
paroga@webkit.org authored
Unreviewed EFL and WinCE build fix for r81977. * platform/graphics/FontPlatformData.h: git-svn-id: svn://svn.chromium.org/blink/trunk@82027 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mitz@apple.com authored
* platform/mac-snowleopard/fast/text/justify-ideograph-leading-expansion-expected.txt: Added. * platform/win/fast/text/justify-ideograph-leading-expansion-expected.txt: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@82026 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
paroga@webkit.org authored
Unreviewed WinCE build fix for r82000. * platform/wince/FileSystemWinCE.cpp: (WebCore::openFile): Added missing function. git-svn-id: svn://svn.chromium.org/blink/trunk@82025 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
paroga@webkit.org authored
Unreviewed WinCE build fix. * CMakeListsWinCE.txt: Added missing include directory. git-svn-id: svn://svn.chromium.org/blink/trunk@82024 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
scheib@chromium.org authored
Chromium test_expectations: bug added for tests impacted by r81992 * platform/chromium/test_expectations.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82021 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=57137 Check in failing results for this test (except for on SnowLeopard) until the failure can be diagnosed. * platform/mac-snowleopard/plugins: Added. * platform/mac-snowleopard/plugins/embed-prefers-plugins-for-images-expected.txt: Added. * plugins/embed-prefers-plugins-for-images-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@82020 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
weinig@apple.com authored
Reviewed by Adele Peterson. WKPageLoadAlternateHTMLString doesn't re-spawn a dead WebProcess, but should <rdar://problem/9191493> https://bugs.webkit.org/show_bug.cgi?id=57134 Make all load functions respawn a dead WebProcess for consistency. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::loadHTMLString): Respawn a dead WebProcess. (WebKit::WebPageProxy::loadAlternateHTMLString): Respawn a dead WebProcess. (WebKit::WebPageProxy::loadPlainTextString): Respawn a dead WebProcess. (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::loadAlternateHTMLString): Since we may no longer always have a main frame when calling WKPageLoadAlternateHTMLString, set the unreachable URL, if there is one, on provisional load. git-svn-id: svn://svn.chromium.org/blink/trunk@82019 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
kevino@webkit.org authored
git-svn-id: svn://svn.chromium.org/blink/trunk@82018 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
and that is now required for fast/images/embed-image.html. * platform/mac-wk2/Skipped: Skip fast/images/embed-image.html git-svn-id: svn://svn.chromium.org/blink/trunk@82017 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=57135 It would appear that the Windows XP bot is loading a plug-in despite the test calling layoutTestController.setPluginsEnabled(false). * platform/win-xp/Skipped: Skip fast/images/embed-image.html git-svn-id: svn://svn.chromium.org/blink/trunk@82016 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
* plugins/embed-prefers-plugins-for-images.html: git-svn-id: svn://svn.chromium.org/blink/trunk@82015 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jer.noble@apple.com authored
Reviewed by Eric Carlson. MediaPlayerPrivateQuickTimeVisualContext should use the Application Cache during load. https://bugs.webkit.org/show_bug.cgi?id=57047 No new tests. When loading a URL, checkk osee if the Appplication Cache has a version of that URL stored; if so, use the local path to that cached media instead of the remote URL. * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): * platform/graphics/win/QTMovie.cpp: (QTMovie::loadPath): * platform/graphics/win/QTMovie.h: git-svn-id: svn://svn.chromium.org/blink/trunk@82014 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rdar://problem/9134330mitz@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=57106 Reviewed by Darin Adler. Source/WebCore: Test: fast/text/justify-ideograph-leading-expansion.html * platform/graphics/TextRun.h: Replaced TrailingExpansionBehavior enum with ExpansionBehavior flags. (WebCore::TextRun::TextRun): Constructors now take an expansionBehavior parameter. (WebCore::TextRun::allowsLeadingExpansion): Added this accessor. (WebCore::TextRun::allowsTrailingExpansion): Changed to use the m_expansionBehavior member. * platform/graphics/WidthIterator.cpp: (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion from the TextRun, allowing leading expansion when appropriate. (WebCore::WidthIterator::advance): Moved the last-glyph-in-run check to only apply to expansion after the glyph, not expansion before the glyph, since that is not trailing expansion. Added code to handle expansion before the first glyph. * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::ComplexTextController): Initialize m_afterExpansion from the TextRun, allowing leading expansion when appropriate. Set m_runWidthSoFar to the leading expansion. (WebCore::ComplexTextController::offsetForPosition): Account for leading expansion. (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Similar to WidthIterator::advance() * platform/graphics/mac/ComplexTextController.h: Added m_leadingExpansion member variable. * rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): Renamed m_hasSelectedChildren to m_hasSelectedChildrenOrCanHaveLeadingExpansion to reflect the use of this bit by InlineTextBox. * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::selectionRect): Replaced calls to trailingExpansionBehavior() with expansionBehavior(). (WebCore::InlineTextBox::paint): Ditto. (WebCore::InlineTextBox::paintSelection): Ditto. (WebCore::InlineTextBox::paintCompositionBackground): Ditto. (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto. (WebCore::InlineTextBox::paintTextMatchMarker): Ditto. (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto. (WebCore::InlineTextBox::offsetForPosition): Ditto. (WebCore::InlineTextBox::positionForOffset): Ditto. * rendering/InlineTextBox.h: (WebCore::InlineTextBox::canHaveLeadingExpansion): Added this accessor. (WebCore::InlineTextBox::setCanHaveLeadingExpansion): Ditto. (WebCore::InlineTextBox::expansionBehavior): Replaced trailingExpansionBehavior() with this function, which also considers canHaveLeadingExpansion(). * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Call setCanHaveLeadingExpansion() on text boxes that can have leading expansion. Avoid negative expansion. * rendering/RootInlineBox.cpp: * rendering/RootInlineBox.h: (WebCore::RootInlineBox::hasSelectedChildren): Updated for renaming of the flag. (WebCore::RootInlineBox::setHasSelectedChildren): Ditto. LayoutTests: * fast/text/justify-ideograph-leading-expansion.html: Added. * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.checksum: Added. * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.png: Added. * platform/mac/fast/text/justify-ideograph-leading-expansion-expected.txt: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@82013 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
andersca@apple.com authored
Reviewed by Sam Weinig. PluginView's call to invalidateContentsAndWindow() in invalidateRect() is wrong for plug-ins which paint into compositing layers https://bugs.webkit.org/show_bug.cgi?id=57133 <rdar://problem/9029442> * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: (WebKit::NetscapePlugin::platformInvalidate): Return true under the Core Animation drawing model, since that prevents the plug-in from calling PluginController::invalidate. * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::invalidateRect): Don't call invalidateContentsAndWindow() if the plug-in has a Core Animation layer. git-svn-id: svn://svn.chromium.org/blink/trunk@82012 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jer.noble@apple.com authored
Reviewed by Maciej Stachowiak. MediaPlayerPrivateAVFoundation should use the Application Cache during load. https://bugs.webkit.org/show_bug.cgi?id=56997 No new tests. When loading a URL, check to see if the Application Cache has a version of that URL stored; if so, use the local path to that cached media instead of the remote URL. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Check to see if the media should be loaded from the application cache. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): Added. (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Split out from createAVPlayerForURL. git-svn-id: svn://svn.chromium.org/blink/trunk@82011 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
commit-queue@webkit.org authored
Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=57122. Solaris 10/SunStudio 12 expect both sides of a ?: operation to have the same types. Extracted from original https://bugs.webkit.org/show_bug.cgi?id=24932, patch 13 of 17, and originally created by Thiago Macieira. fixes a compile issue on Solaris 10/SunStudio 12 * loader/DocumentLoader.h: (WebCore::DocumentLoader::serverRedirectSourceForHistory): * loader/FrameLoader.cpp: (WebCore::FrameLoader::load): (WebCore::FrameLoader::loadWithNavigationAction): git-svn-id: svn://svn.chromium.org/blink/trunk@82010 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jer.noble@apple.com authored
Reviewed by Maciej Stachowiak. MediaPlayerPrivateQTKit should use the Application Cache during load. https://bugs.webkit.org/show_bug.cgi?id=53818 No new tests. When loading a URL, check to see if the Application Cache has a version of that URL stored; if so, use that data instead of the remote URL. * platform/graphics/mac/MediaPlayerPrivateQTKit.h: * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): (WebCore::MediaPlayerPrivateQTKit::createQTMovie): (WebCore::MediaPlayerPrivateQTKit::loadInternal): git-svn-id: svn://svn.chromium.org/blink/trunk@82009 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jam@chromium.org authored
git-svn-id: svn://svn.chromium.org/blink/trunk@82008 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=57132 * platform/win/Skipped: Skip plugins/embed-prefers-plugins-for-images.html git-svn-id: svn://svn.chromium.org/blink/trunk@82007 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jamesr@google.com authored
Reviewed by Kenneth Russell. [chromium] Move draw implementations to CCLayerImpl for everything except content layers https://bugs.webkit.org/show_bug.cgi?id=56793 Moves the implementation of the layer's draw() function from LayerChromium subclasses to CCLayerImpl subclasses for all layer types except content layers. This gets us closer to decoupling the composite step itself from updating the layers. The biggest change in this patch is adding a set of CCLayerImpl subclasses to implement the different drawing routines and moving the code from each XXXLayerChromium to CCXXXLayerImpl. In order to render from the CCLayerImpl side all state needed at draw time also has to be synchronized, which is performed in pushPropertiesTo(). On the LayerRendererChromium side there are a few changes. I've split the updateContents calls on LayerChromiums into two operations tentatively named 'paintContentsIfNeeded' and 'updateCompositorResources'. paintContents() is used for any code that calls into WebKit in order to generate new pixel data. It's expected that this call may take a long period of time and may involve "odd" side effects. updateCompositorResources() is used for code that needs to update the compositor's texture data or other state. It is not expected that this callback will take long (since it's just inserting commands into the GL command stream, ideally) and this call is expected to have access to the compositor's context, unlike paintContents(). The updateAndDrawLayers cycle now looks like this: 1.) update the root content layer 2.) update the root layer scrollbars 3.) for each LayerChromium in tree order: a.) ensure a CCLayerImpl of the correct type exists for this layer b.) push all draw time properties from the LayerChromium to the CCLayerImpl c.) construct the appropriate draw transforms, render surfaces and render surface z-order sublayer lists 4.) for each LayerChromium in tree order, paint the layer's contents 5.) for each LayerChromium in tree order, update the associate compositor resources (textures, etc) 6.) draw the root layer and its scrollbars 7.) for each CCLayerImpl in render surface order, draw it Step 3 should really happen after step 5, but right now painting a content layer requires knowledge of the render surface properties and draw transforms in order to paint. We also currently push layer properties from LayerChromium->CCLayerImpls twice now - once at 3.b and once after 5 so we can pick up any texture updates. This will also get fixed when the paint dependency on render surfaces is resolved. I haven't modified the root layer or content layers in order to minimize conflicts with the other pending work in that area. Tests: compositing/ * WebCore.gypi: * platform/graphics/chromium/Canvas2DLayerChromium.cpp: (WebCore::Canvas2DLayerChromium::updateCompositorResources): * platform/graphics/chromium/Canvas2DLayerChromium.h: * platform/graphics/chromium/CanvasLayerChromium.cpp: (WebCore::CanvasLayerChromium::createCCLayerImpl): (WebCore::CanvasLayerChromium::pushPropertiesTo): * platform/graphics/chromium/CanvasLayerChromium.h: * platform/graphics/chromium/ContentLayerChromium.cpp: (WebCore::ContentLayerChromium::requiresClippedUpdateRect): (WebCore::ContentLayerChromium::paintContentsIfDirty): (WebCore::ContentLayerChromium::updateCompositorResources): (WebCore::ContentLayerChromium::bindContentsTexture): * platform/graphics/chromium/ContentLayerChromium.h: * platform/graphics/chromium/ImageLayerChromium.cpp: (WebCore::ImageLayerChromium::paintContentsIfDirty): * platform/graphics/chromium/ImageLayerChromium.h: * platform/graphics/chromium/LayerChromium.cpp: (WebCore::LayerChromium::LayerChromium): (WebCore::LayerChromium::cleanupResources): (WebCore::LayerChromium::setLayerRenderer): (WebCore::LayerChromium::setName): (WebCore::LayerChromium::pushPropertiesTo): (WebCore::LayerChromium::dumpLayer): (WebCore::LayerChromium::createCCLayerImpl): (WebCore::LayerChromium::createCCLayerImplIfNeeded): (WebCore::LayerChromium::ccLayerImpl): (WebCore::LayerChromium::layerRenderer): * platform/graphics/chromium/LayerChromium.h: (WebCore::LayerChromium::paintContentsIfDirty): (WebCore::LayerChromium::updateCompositorResources): * platform/graphics/chromium/LayerRendererChromium.cpp: (WebCore::LayerRendererChromium::updateLayers): (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): (WebCore::LayerRendererChromium::paintContentsRecursive): (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive): (WebCore::LayerRendererChromium::drawLayer): (WebCore::LayerRendererChromium::initializeSharedObjects): * platform/graphics/chromium/LayerRendererChromium.h: (WebCore::LayerRendererChromium::canvasLayerProgram): (WebCore::LayerRendererChromium::pluginLayerProgram): (WebCore::LayerRendererChromium::videoLayerRGBAProgram): (WebCore::LayerRendererChromium::videoLayerYUVProgram): * platform/graphics/chromium/PluginLayerChromium.cpp: (WebCore::PluginLayerChromium::createCCLayerImpl): (WebCore::PluginLayerChromium::setTextureId): (WebCore::PluginLayerChromium::pushPropertiesTo): * platform/graphics/chromium/PluginLayerChromium.h: (WebCore::PluginLayerChromium::textureId): * platform/graphics/chromium/VideoLayerChromium.cpp: (WebCore::VideoLayerChromium::createCCLayerImpl): (WebCore::VideoLayerChromium::updateCompositorResources): (WebCore::VideoLayerChromium::pushPropertiesTo): * platform/graphics/chromium/VideoLayerChromium.h: * platform/graphics/chromium/WebGLLayerChromium.cpp: (WebCore::WebGLLayerChromium::updateCompositorResources): * platform/graphics/chromium/WebGLLayerChromium.h: * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp. (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl): (WebCore::CCCanvasLayerImpl::~CCCanvasLayerImpl): (WebCore::CCCanvasLayerImpl::draw): (WebCore::CCCanvasLayerImpl::dumpLayerProperties): * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. (WebCore::CCCanvasLayerImpl::create): (WebCore::CCCanvasLayerImpl::setTextureId): (WebCore::CCCanvasLayerImpl::setPremultipliedAlpha): * platform/graphics/chromium/cc/CCLayerImpl.cpp: (WebCore::CCLayerImpl::descendantsDrawsContent): (WebCore::CCLayerImpl::updateCompositorResources): (WebCore::CCLayerImpl::writeIndent): * platform/graphics/chromium/cc/CCLayerImpl.h: (WebCore::CCLayerImpl::setAnchorPoint): (WebCore::CCLayerImpl::setAnchorPointZ): (WebCore::CCLayerImpl::setMasksToBounds): (WebCore::CCLayerImpl::setOpacity): (WebCore::CCLayerImpl::setPosition): (WebCore::CCLayerImpl::setPreserves3D): (WebCore::CCLayerImpl::setSublayerTransform): (WebCore::CCLayerImpl::setTransform): * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp. (WebCore::CCPluginLayerImpl::CCPluginLayerImpl): (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl): (WebCore::CCPluginLayerImpl::draw): (WebCore::CCPluginLayerImpl::dumpLayerProperties): * platform/graphics/chromium/cc/CCPluginLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. (WebCore::CCPluginLayerImpl::create): (WebCore::CCPluginLayerImpl::setTextureId): * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Added. (WebCore::CCVideoLayerImpl::CCVideoLayerImpl): (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl): (WebCore::CCVideoLayerImpl::setTexture): (WebCore::CCVideoLayerImpl::draw): (WebCore::CCVideoLayerImpl::drawYUV): (WebCore::CCVideoLayerImpl::drawRGBA): (WebCore::CCVideoLayerImpl::dumpLayerProperties): * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. (WebCore::CCVideoLayerImpl::create): (WebCore::CCVideoLayerImpl::setSkipsDraw): (WebCore::CCVideoLayerImpl::setFrameFormat): git-svn-id: svn://svn.chromium.org/blink/trunk@82006 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
rdar://problem/8648311https://bugs.webkit.org/show_bug.cgi?id=56425beidson@apple.com authored
WebKit2 IconDatabase and API Reviewed by Sam Weinig. This gets a basic, usable API in place. Enhancements can come in other bugs as they're needed. * UIProcess/API/C/WKIconDatabase.cpp: (WKIconDatabaseRetainIconForURL): (WKIconDatabaseReleaseIconForURL): (WKIconDatabaseEnableDatabaseCleanup): * UIProcess/API/C/WKIconDatabase.h: The first actual accessor for an "icon for a URL" is for a CGImageRef: * UIProcess/API/C/cg: Added. * UIProcess/API/C/cg/WKIconDatabaseCG.cpp: Added. (WKIconDatabaseGetCGImageForURL): * UIProcess/API/C/cg/WKIconDatabaseCG.h: Added. Expose relevant methods to support the above API: * UIProcess/WebIconDatabase.cpp: (WebKit::WebIconDatabase::WebIconDatabase): New IconDatabases will have cleanup disabled from the start, and require a single call to "enableDatabaseCleanup" to allow cleanup. (WebKit::WebIconDatabase::setDatabasePath): (WebKit::WebIconDatabase::enableDatabaseCleanup): (WebKit::WebIconDatabase::imageForPageURL): * UIProcess/WebIconDatabase.h: Project file stuff: * WebKit2.xcodeproj/project.pbxproj: * win/WebKit2.vcproj: git-svn-id: svn://svn.chromium.org/blink/trunk@82005 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
weinig@apple.com authored
<rdar://problem/9143871> Reviewed by Jon Honeycutt. * WebScrollBar.cpp: (WebScrollBar::setValue): Call scrollToOffsetWithoutAnimation to actually update the scroll position. git-svn-id: svn://svn.chromium.org/blink/trunk@82004 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
- 25 Mar, 2011 13 commits
-
-
oliver@apple.com authored
Reviewed by Darin Adler. Allow defineOwnProperty to work on DOMObjects https://bugs.webkit.org/show_bug.cgi?id=57129 Now we disallow the cross origin accesses, rather than just disallowing the defineOwnProperty at all. * http/tests/security/xss-DENIED-defineProperty-expected.txt: 2011-03-25 Oliver Hunt <oliver@apple.com> Reviewed by Darin Adler. Allow defineOwnProperty to work on DOMObjects https://bugs.webkit.org/show_bug.cgi?id=57129 Fix a couple of places where we uses getter()/setter() rather than [gs]etterPresent(). * runtime/JSObject.cpp: (JSC::JSObject::defineOwnProperty): 2011-03-25 Oliver Hunt <oliver@apple.com> Reviewed by Darin Adler. Allow defineOwnProperty to work on DOMObjects https://bugs.webkit.org/show_bug.cgi?id=57129 As other engines are allowing defineOwnProperty to be applied to host objects there's no reason for us to retain this restriction. * bindings/js/JSDOMWrapper.cpp: * bindings/js/JSDOMWrapper.h: git-svn-id: svn://svn.chromium.org/blink/trunk@82003 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jeffm@apple.com authored
Reviewed by Darin Adler. Add CoreIPC::encodeResourceError() and CoreIPC::decodeResourceError() for all platforms https://bugs.webkit.org/show_bug.cgi?id=57125 Currently, these are only implemented on the Mac, but we're going to need them for Windows as well, so we might as well make them always platform-specific. In this patch, just replicate the existing common non-Mac implementation in WebCoreArgumentCoders.h to platform-specific files. * Shared/WebCoreArgumentCoders.h: Move non-Mac implementations of encodeResourceError() and decodeResourceError() to common files. * Shared/gtk/WebCoreArgumentCodersGtk.cpp: (CoreIPC::encodeResourceError): Added. (CoreIPC::decodeResourceError): Added. * Shared/qt/WebCoreArgumentCodersQt.cpp: (CoreIPC::encodeResourceError): Added. (CoreIPC::decodeResourceError): Added. * Shared/win/WebCoreArgumentCodersWin.cpp: (CoreIPC::encodeResourceError): Added. (CoreIPC::decodeResourceError): Added. git-svn-id: svn://svn.chromium.org/blink/trunk@82002 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
aestes@apple.com authored
Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 TestNetscapePlugIn needs to register support for an image MIME type so we can test that the embed tag prefers plug-ins to render image MIME types. * DumpRenderTree/TestNetscapePlugIn/mac/Info.plist: Register image/png. * DumpRenderTree/TestNetscapePlugIn/main.cpp: (NP_GetMIMEDescription): Ditto. * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc: Ditto. 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 * fast/images/embed-image.html: Disable plug-ins to continue testing native image rendering with embed. * plugins/embed-prefers-plugins-for-images-expected.txt: Added. * plugins/embed-prefers-plugins-for-images.html: Added. * plugins/plugin-javascript-access-expected.txt: Updated to include the new MIME type registered by TestNetscapePlugIn. 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * src/FrameLoaderClientImpl.cpp: (WebKit::FrameLoaderClientImpl::objectContentType): * src/FrameLoaderClientImpl.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::objectContentType): * WebCoreSupport/FrameLoaderClientQt.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::objectContentType): * WebCoreSupport/FrameLoaderClientGtk.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebFrame.cpp: (WebFrame::objectContentType): * WebFrame.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::objectContentType): * WebKitSupport/FrameLoaderClientWx.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebCoreSupport/FrameLoaderClientHaiku.cpp: (WebCore::FrameLoaderClientHaiku::objectContentType): * WebCoreSupport/FrameLoaderClientHaiku.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebCoreSupport/FrameLoaderClientWinCE.cpp: (WebKit::FrameLoaderClientWinCE::objectContentType): * WebCoreSupport/FrameLoaderClientWinCE.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebCoreSupport/FrameLoaderClientEfl.cpp: (WebCore::FrameLoaderClientEfl::objectContentType): * WebCoreSupport/FrameLoaderClientEfl.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the QuickTime plug-in in web pages. r70748 removed our mapping of classids to MIME types, which causes WebKit to fall back from the object to the embed tag when QuickTime is embedded by this script. The script emits the following embed tag to embed a QuickTime movie with a poster frame: <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov"> The expectation is that a QuickTime plug-in is instantiated to display the poster frame, since QuickTime registers for many common image MIME types. This is how Gecko behaves for embed. However, WebKit prefers to use its native image rendering for image embeds, in which case no movie is played when the poster frame is clicked. Fix this by changing embed to check for a plug-in that can handle the image type before rendering the image natively. This matches Gecko. Test: plugins/embed-prefers-plugins-for-images.html * html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::HTMLEmbedElement): * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::HTMLObjectElement): (WebCore::HTMLObjectElement::parametersForPlugin): * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): (WebCore::HTMLPlugInImageElement::isImageType): (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): * html/HTMLPlugInImageElement.h: (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages): * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::objectContentType): * loader/FrameLoader.cpp: (WebCore::FrameLoader::defaultObjectContentType): * loader/FrameLoader.h: * loader/FrameLoaderClient.h: * loader/SubframeLoader.cpp: (WebCore::SubframeLoader::resourceWillUsePlugin): (WebCore::SubframeLoader::requestPlugin): (WebCore::SubframeLoader::requestObject): (WebCore::SubframeLoader::shouldUsePlugin): * loader/SubframeLoader.h: 2011-03-25 Andy Estes <aestes@apple.com> Reviewed by Adele Peterson. REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js https://bugs.webkit.org/show_bug.cgi?id=49016 Update objectContentType() implementation to handle the shouldPreferPlugInsForImages flag. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::objectContentType): * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: git-svn-id: svn://svn.chromium.org/blink/trunk@82001 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jer.noble@apple.com authored
Reviewed by Eric Carlson. Application Cache should save audio/ and video/ mime types as flat files https://bugs.webkit.org/show_bug.cgi?id=53784 <rdar://problem/8932473> No new tests, as this behavior is not possible to test without changes to the MediaPlayer engines. Store certain mime types as flat files alongside the Application Cache database. This requires plumbing the saved file path from ApplicationCacheStorage through to ApplicationCacheResource. (WebCore::ApplicationCacheStorage::openDatabase): Modify the CacheResourceData schema and add a new DeletedCacheResources table, add a new CacheResourceDataDeleted trigger. (WebCore::ApplicationCacheStorage::store): Add the new path data when adding new rows in CacheResourceData, and store media resources as flat files. (WebCore::ApplicationCacheStorage::loadCache): Pull the "path" column from CacheResourceData when loading cache items. (WebCore::ApplicationCacheStorage::remove): Call checkForDeletedResources. (WebCore::ApplicationCacheStorage::empty): Ditto. (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto. (WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto. (WebCore::ApplicationCacheStorage::checkForDeletedResources): Walk through DeletedCacheResourceData looking for entries with non-empty "path" columns; if found, delete. (WebCore::ApplicationCacheStorage::flatFileAreaSize): Walk through CacheResourceData rows and sum the file size of those rows with flat file storage. (WebCore::ApplicationCacheStorage::verifySchemaVersion): Call deleteTables() instead of clearAllTables() directly. (WebCore::ApplicationCacheStorage::deleteTables): Call empty() before deleting the tables, so that flat files get deleted. (WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile): Added. (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Added. * loader/appcache/ApplicationCacheStorage.h: * platform/win/FileSystemWin.cpp: (WebCore::openFile): Implement openFile on Windows. git-svn-id: svn://svn.chromium.org/blink/trunk@82000 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
kinuko@chromium.org authored
Reviewed by David Levin. Data race between ~WorkerFileSystemCallbacksBridge and runTasksOnWorkerThread https://bugs.webkit.org/show_bug.cgi?id=56138 Stopped passing the WorkerFileSystemCallbacksBridge's reference to MainThreadFileSystemCallbacks so that in most cases (in normal cases) its reference is only maintained by WorkerThread. * src/WorkerFileSystemCallbacksBridge.cpp: (WebKit::MainThreadFileSystemCallbacks::createLeakedPtr): (WebKit::MainThreadFileSystemCallbacks::MainThreadFileSystemCallbacks): (WebKit::WorkerFileSystemCallbacksBridge::mayPostTaskToWorker): * src/WorkerFileSystemCallbacksBridge.h: git-svn-id: svn://svn.chromium.org/blink/trunk@81999 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
scheib@chromium.org authored
fast/forms/input-file-directory-upload.html timing out. http://crbug.com/77468 * platform/chromium/test_expectations.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@81998 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
jberlin@webkit.org authored
Patch by Brent Fulgham <bfulgham@webkit.org> on 2011-03-25 Add stubs for WK2 cookie handling with cURL. * WebProcess/Cookies/curl: Added. * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Added. (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): * win/WebKit2.vcproj: git-svn-id: svn://svn.chromium.org/blink/trunk@81997 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
scheib@chromium.org authored
Attempting SLOW to resolve fast/forms/input-file-directory-upload.html * platform/chromium/test_expectations.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@81996 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
mrobinson@webkit.org authored
Add a GTK+ specific baseline for a text test that seems to have whitespace difference, probably due to font sizes resulting in newlines. * platform/gtk/fast/events/onchange-text-form-field-expected.txt: Added. git-svn-id: svn://svn.chromium.org/blink/trunk@81995 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
ggaren@apple.com authored
Reviewed by Dan Bernstein. Add a simplified normal flow layout path optimization for overflow recomputation and for positioned objects inside relative positioned containers. Currently there is an optimized code path for positioned objects, but as soon as we encounter a normal flow object in the containing block chain, we lose the optimization. This patch adds a new type of style difference called SimplifiedLayout that is returned when only overflow needs to be recomputed. Whenever a transform changes, this is the hint returned now instead of a full layout. In addition, when positioned objects need layout and start marking up the containing block chain, we now propagate the fact that the layout is simplified all the way up to the root, even when we encounter normal flow containing blocks. The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout() and is now used for all of these cases (in addition to what it handled before). The simplified layout optimization (even in ToT) did not work correctly when static distances needed to be recomputed. In order to make static distance computations work with simplified layout, positioned objects now always compute their static offsets, even if they explicitly specify left/top. That way normal flow layout never has to re-run when the positioned object moves. This makes movement of a positioned object along a single non-auto axis much faster when the other axis is auto. Because this code kicked in more often for absolutely positioned objects whose original display was inline, I went ahead and fixed the trailing space issue with those objects. This causes a bunch of layout tests to progress. Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html. * animations/dynamic-stylesheet-loading-expected.txt: * animations/keyframe-timing-functions-expected.txt: * fast/block/positioning/static-inline-position-dynamic.html: Added. * fast/block/positioning/trailing-space-test.html: Added. * fast/dynamic/ancestor-to-absolute-expected.txt: * fast/forms/input-appearance-elementFromPoint-expected.txt: * fast/forms/input-hit-test-border-expected.txt: * platform/mac/fast/block/positioning/002-expected.png: * platform/mac/fast/block/positioning/003-expected.png: * platform/mac/fast/block/positioning/004-expected.png: * platform/mac/fast/block/positioning/005-expected.png: * platform/mac/fast/block/positioning/006-expected.png: * platform/mac/fast/block/positioning/007-expected.png: * platform/mac/fast/block/positioning/008-expected.png: * platform/mac/fast/block/positioning/009-expected.png: * platform/mac/fast/block/positioning/010-expected.png: * platform/mac/fast/block/positioning/011-expected.png: * platform/mac/fast/block/positioning/012-expected.png: * platform/mac/fast/block/positioning/013-expected.png: * platform/mac/fast/block/positioning/014-expected.png: * platform/mac/fast/block/positioning/015-expected.png: * platform/mac/fast/block/positioning/016-expected.png: * platform/mac/fast/block/positioning/017-expected.png: * platform/mac/fast/block/positioning/018-expected.png: * platform/mac/fast/block/positioning/019-expected.png: * platform/mac/fast/block/positioning/020-expected.png: * platform/mac/fast/block/positioning/021-expected.png: * platform/mac/fast/block/positioning/022-expected.png: * platform/mac/fast/block/positioning/023-expected.png: * platform/mac/fast/block/positioning/024-expected.png: * platform/mac/fast/block/positioning/025-expected.png: * platform/mac/fast/block/positioning/026-expected.png: * platform/mac/fast/block/positioning/027-expected.png: * platform/mac/fast/block/positioning/028-expected.png: * platform/mac/fast/block/positioning/029-expected.png: * platform/mac/fast/block/positioning/030-expected.png: * platform/mac/fast/block/positioning/031-expected.png: * platform/mac/fast/block/positioning/032-expected.png: * platform/mac/fast/block/positioning/033-expected.png: * platform/mac/fast/block/positioning/034-expected.png: * platform/mac/fast/block/positioning/035-expected.png: * platform/mac/fast/block/positioning/036-expected.png: * platform/mac/fast/block/positioning/037-expected.png: * platform/mac/fast/block/positioning/038-expected.png: * platform/mac/fast/block/positioning/039-expected.png: * platform/mac/fast/block/positioning/040-expected.png: * platform/mac/fast/block/positioning/041-expected.png: * platform/mac/fast/block/positioning/042-expected.png: * platform/mac/fast/block/positioning/043-expected.png: * platform/mac/fast/block/positioning/044-expected.png: * platform/mac/fast/block/positioning/045-expected.png: * platform/mac/fast/block/positioning/046-expected.png: * platform/mac/fast/block/positioning/047-expected.checksum: * platform/mac/fast/block/positioning/047-expected.png: * platform/mac/fast/block/positioning/048-expected.png: * platform/mac/fast/block/positioning/049-expected.png: * platform/mac/fast/block/positioning/050-expected.png: * platform/mac/fast/block/positioning/056-expected.txt: * platform/mac/fast/block/positioning/061-expected.png: * platform/mac/fast/block/positioning/062-expected.png: * platform/mac/fast/block/positioning/auto/005-expected.txt: * platform/mac/fast/block/positioning/auto/006-expected.txt: * platform/mac/fast/block/positioning/auto/007-expected.png: * platform/mac/fast/block/positioning/auto/vertical-lr/005-expected.txt: * platform/mac/fast/block/positioning/auto/vertical-lr/006-expected.txt: * platform/mac/fast/block/positioning/auto/vertical-lr/007-expected.checksum: * platform/mac/fast/block/positioning/auto/vertical-lr/007-expected.png: * platform/mac/fast/block/positioning/auto/vertical-rl/005-expected.txt: * platform/mac/fast/block/positioning/auto/vertical-rl/006-expected.txt: * platform/mac/fast/block/positioning/auto/vertical-rl/007-expected.checksum: * platform/mac/fast/block/positioning/auto/vertical-rl/007-expected.png: * platform/mac/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.txt: * platform/mac/fast/block/positioning/inline-block-relposition-expected.checksum: * platform/mac/fast/block/positioning/inline-block-relposition-expected.png: * platform/mac/fast/block/positioning/inline-block-relposition-expected.txt: * platform/mac/fast/block/positioning/move-with-auto-width-expected.png: * platform/mac/fast/block/positioning/negative-rel-position-expected.png: * platform/mac/fast/block/positioning/relative-overconstrained-expected.png: * platform/mac/fast/block/positioning/relative-overflow-block-expected.txt: * platform/mac/fast/block/positioning/static-inline-position-dynamic-expected.checksum: Added. * platform/mac/fast/block/positioning/static-inline-position-dynamic-expected.png: Added. * platform/mac/fast/block/positioning/static-inline-position-dynamic-expected.txt: Added. * platform/mac/fast/block/positioning/trailing-space-test-expected.checksum: Added. * platform/mac/fast/block/positioning/trailing-space-test-expected.png: Added. * platform/mac/fast/block/positioning/trailing-space-test-expected.txt: Added. * platform/mac/fast/clip/001-expected.txt: * platform/mac/fast/clip/004-expected.txt: * platform/mac/fast/clip/006-expected.txt: * platform/mac/fast/clip/007-expected.txt: * platform/mac/fast/clip/008-expected.txt: * platform/mac/fast/clip/009-expected.txt: * platform/mac/fast/clip/010-expected.txt: * platform/mac/fast/clip/011-expected.txt: * platform/mac/fast/clip/012-expected.txt: * platform/mac/fast/clip/013-expected.txt: * platform/mac/fast/clip/014-expected.txt: * platform/mac/fast/clip/nestedTransparencyClip-expected.txt: * platform/mac/fast/clip/outline-overflowClip-expected.txt: * platform/mac/fast/forms/input-appearance-preventDefault-expected.txt: * platform/mac/fast/invalid/014-expected.txt: * platform/mac/fast/layers/layer-visibility-expected.txt: * platform/mac/fast/repaint/layout-state-scrolloffset-expected.txt: * platform/mac/fast/repaint/layout-state-scrolloffset2-expected.txt: * platform/mac/fast/repaint/layout-state-scrolloffset3-expected.txt: * platform/mac/tables/mozilla/bugs/bug51140-expected.txt: 2011-03-25 Geoffrey Garen <ggaren@apple.com> Reviewed by Oliver Hunt. Crash when paused at a breakpoint caused by inaccurate Activation records. https://bugs.webkit.org/show_bug.cgi?id=57120 * runtime/JSActivation.cpp: (JSC::JSActivation::symbolTableGet): (JSC::JSActivation::symbolTablePut): (JSC::JSActivation::getOwnPropertyNames): (JSC::JSActivation::symbolTablePutWithAttributes): git-svn-id: svn://svn.chromium.org/blink/trunk@81994 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
bfulgham@webkit.org authored
Add stubs for WK2 cookie handling with cURL. * WebProcess/Cookies/curl: Added. * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Added. (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): * win/WebKit2.vcproj: git-svn-id: svn://svn.chromium.org/blink/trunk@81993 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
https://bugs.webkit.org/show_bug.cgi?id=56909hyatt@apple.com authored
Reviewed by Dan Bernstein. Add a simplified normal flow layout path optimization for overflow recomputation and for positioned objects inside relative positioned containers. Currently there is an optimized code path for positioned objects, but as soon as we encounter a normal flow object in the containing block chain, we lose the optimization. This patch adds a new type of style difference called SimplifiedLayout that is returned when only overflow needs to be recomputed. Whenever a transform changes, this is the hint returned now instead of a full layout. In addition, when positioned objects need layout and start marking up the containing block chain, we now propagate the fact that the layout is simplified all the way up to the root, even when we encounter normal flow containing blocks. The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout() and is now used for all of these cases (in addition to what it handled before). The simplified layout optimization (even in ToT) did not work correctly when static distances needed to be recomputed. In order to make static distance computations work with simplified layout, positioned objects now always compute their static offsets, even if they explicitly specify left/top. That way normal flow layout never has to re-run when the positioned object moves. This makes movement of a positioned object along a single non-auto axis much faster when the other axis is auto. Because this code kicked in more often for absolutely positioned objects whose original display was inline, I went ahead and fixed the trailing space issue with those objects. This causes a bunch of layout tests to progress. Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::adjustPositionedBlock): (WebCore::RenderBlock::simplifiedNormalFlowLayout): (WebCore::RenderBlock::simplifiedLayout): * rendering/RenderBlock.h: * rendering/RenderBlockLineLayout.cpp: (WebCore::setStaticPositions): (WebCore::RenderBlock::findNextLineBreak): * rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): (WebCore::RenderBox::positionLineBox): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::styleWillChange): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::adjustStyleDifference): (WebCore::RenderObject::setStyle): (WebCore::RenderObject::styleDidChange): * rendering/RenderObject.h: (WebCore::RenderObject::needsLayout): (WebCore::RenderObject::needsPositionedMovementLayoutOnly): (WebCore::RenderObject::needsSimplifiedNormalFlowLayout): (WebCore::RenderObject::setNeedsLayout): (WebCore::RenderObject::setChildNeedsLayout): (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout): (WebCore::RenderObject::markContainingBlocksForLayout): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::diff): * rendering/style/RenderStyleConstants.h: * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::layout): LayoutTests: Add a simplified normal flow layout path optimization for overflow recomputation and for positioned objects inside relative positioned containers. Reviewed by Dan Bernstein. Currently there is an optimized code path for positioned objects, but as soon as we encounter a normal flow object in the containing block chain, we lose the optimization. This patch adds a new type of style difference called SimplifiedLayout that is returned when only overflow needs to be recomputed. Whenever a transform changes, this is the hint returned now instead of a full layout. In addition, when positioned objects need layout and start marking up the containing block chain, we now propagate the fact that the layout is simplified all the way up to the root, even when we encounter normal flow containing blocks. The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout() and is now used for all of these cases (in addition to what it handled before). The simplified layout optimization (even in ToT) did not work correctly when static distances needed to be recomputed. In order to make static distance computations work with simplified layout, positioned objects now always compute their static offsets, even if they explicitly specify left/top. That way normal flow layout never has to re-run when the positioned object moves. This makes movement of a positioned object along a single non-auto axis much faster when the other axis is auto. Because this code kicked in more often for absolutely positioned objects whose original display was inline, I went ahead and fixed the trailing space issue with those objects. This causes a bunch of layout tests to progress. Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html. * animations/dynamic-stylesheet-loading-expected.txt: * animations/keyframe-timing-functions-expected.txt: * fast/block/positioning/static-inline-position-dynamic.html: Added. * fast/block/positioning/trailing-space-test.html: Added. * fast/dynamic/ancestor-to-absolute-expected.txt: * fast/forms/input-appearance-elementFromPoint-expected.txt: * fast/forms/input-hit-test-border-expected.txt: * platform/mac/fast/block/positioning/002-expected.png: * platform/mac/fast/block/positioning/003-expected.png: * platform/mac/fast/block/positioning/004-expected.png: * platform/mac/fast/block/positioning/005-expected.png: * platform/mac/fast/block/positioning/006-expected.png: * platform/mac/fast/block/positioning/007-expected.png: * platform/mac/fast/block/positioning/008-expected.png: * platform/mac/fast/block/positioning/009-expected.png: * platform/mac/fast/block/positioning/010-expected.png: * platform/mac/fast/block/positioning/011-expected.png: * platform/mac/fast/block/positioning/012-expected.png: * platform/mac/fast/block/positioning/013-expected.png: * platform/mac/fast/block/positioning/014-expected.png: * platform/mac/fast/block/positioning/015-expected.png: * platform/mac/fast/block/positioning/016-expected.png: * platform/mac/fast/block/positioning/017-expected.png: * platform/mac/fast/block/positioning/018-expected.png: * platform/mac/fast/block/positioning/019-expected.png: * platform/mac/fast/block/positioning/020-expected.png: * platform/mac/fast/block/positioning/021-expected.png: * platform/mac/fast/block/positioning/022-expected.png: * platform/mac/fast/block/positioning/023-expected.png: * platform/mac/fast/block/positioning/024-expected.png: * platform/mac/fast/block/positioning/025-expected.png: * platform/mac/fast/block/positioning/026-expected.png: * platform/mac/fast/block/positioning/027-expected.png: * platform/mac/fast/block/positioning/028-expected.png: * platform/mac/fast/block/positioning/029-expected.png: * platform/mac/fast/block/positioning/030-expected.png: * platform/mac/fast/block/positioning/031-expected.png: * platform/mac/fast/block/positioning/032-expected.png: * platform/mac/fast/block/positioning/033-expected.png: * platform/mac/fast/block/positioning/034-expected.png: * platform/mac/fast/block/positioning/035-expected.png: * platform/mac/fast/block/positioning/036-expected.png: * platform/mac/fast/block/positioning/037-expected.png: * platform/mac/fast/block/positioning/038-expected.png: * platform/mac/fast/block/positioning/039-expected.png: * platform/mac/fast/block/positioning/040-expected.png: * platform/mac/fast/block/positioning/041-expected.png: * platform/mac/fast/block/positioning/042-expected.png: * platform/mac/fast/block/positioning/043-expected.png: * platform/mac/fast/block/positioning/044-expected.png: * platform/mac/fast/block/positioning/045-expected.png: * platform/mac/fast/block/positioning/046-expected.png: * platform/mac/fast/block/positioning/047-expected.checksum: * platform/mac/fast/block/positioning/047-expected.png: * platform/mac/fast/block/positioning/048-expected.png: * platform/mac/fast/block/positioning/049-expected.png: * platform/mac/fast/block/positioning/050-expected.png: * platform/mac/fast/block/positioning/056-expected.txt: * platform/mac/fast/block/positioning/061-expected.png: * platform/mac/fast/block/positioning/062-expected.png: * platform/mac/fast/block/positioning/auto/005-expected.txt: * platform/mac/fast/block/positioning/auto/006-expected.txt: * platform/mac/fast/block/positioning/auto/007-expected.png: * platform/mac/fast/block/positioning/auto/vertical-lr/005-expected.txt: * platform/mac/fast/block/positioning/auto/vertical-lr/006-expected.txt: * platform/mac/fast/block/positioning/auto/vertical-lr/007-expected.checksum: * platform/mac/fast/block/positioning/auto/vertical-lr/007-expected.png: * platform/mac/fast/block/positioning/auto/vertical-rl/005-expected.txt: * platform/mac/fast/block/positioning/auto/vertical-rl/006-expected.txt: * platform/mac/fast/block/positioning/auto/vertical-rl/007-expected.checksum: * platform/mac/fast/block/positioning/auto/vertical-rl/007-expected.png: * platform/mac/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.txt: * platform/mac/fast/block/positioning/inline-block-relposition-expected.checksum: * platform/mac/fast/block/positioning/inline-block-relposition-expected.png: * platform/mac/fast/block/positioning/inline-block-relposition-expected.txt: * platform/mac/fast/block/positioning/move-with-auto-width-expected.png: * platform/mac/fast/block/positioning/negative-rel-position-expected.png: * platform/mac/fast/block/positioning/relative-overconstrained-expected.png: * platform/mac/fast/block/positioning/relative-overflow-block-expected.txt: * platform/mac/fast/block/positioning/static-inline-position-dynamic-expected.checksum: Added. * platform/mac/fast/block/positioning/static-inline-position-dynamic-expected.png: Added. * platform/mac/fast/block/positioning/static-inline-position-dynamic-expected.txt: Added. * platform/mac/fast/block/positioning/trailing-space-test-expected.checksum: Added. * platform/mac/fast/block/positioning/trailing-space-test-expected.png: Added. * platform/mac/fast/block/positioning/trailing-space-test-expected.txt: Added. * platform/mac/fast/clip/001-expected.txt: * platform/mac/fast/clip/004-expected.txt: * platform/mac/fast/clip/006-expected.txt: * platform/mac/fast/clip/007-expected.txt: * platform/mac/fast/clip/008-expected.txt: * platform/mac/fast/clip/009-expected.txt: * platform/mac/fast/clip/010-expected.txt: * platform/mac/fast/clip/011-expected.txt: * platform/mac/fast/clip/012-expected.txt: * platform/mac/fast/clip/013-expected.txt: * platform/mac/fast/clip/014-expected.txt: * platform/mac/fast/clip/nestedTransparencyClip-expected.txt: * platform/mac/fast/clip/outline-overflowClip-expected.txt: * platform/mac/fast/forms/input-appearance-preventDefault-expected.txt: * platform/mac/fast/invalid/014-expected.txt: * platform/mac/fast/layers/layer-visibility-expected.txt: * platform/mac/fast/repaint/layout-state-scrolloffset-expected.txt: * platform/mac/fast/repaint/layout-state-scrolloffset2-expected.txt: * platform/mac/fast/repaint/layout-state-scrolloffset3-expected.txt: * platform/mac/tables/mozilla/bugs/bug51140-expected.txt: git-svn-id: svn://svn.chromium.org/blink/trunk@81992 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-
slewis@apple.com authored
FontPlatformData.h bits. Patch by Martin Robinson <mrobinson@igalia.com> on 2011-03-25 * platform/graphics/FontPlatformData.h: Include the proper old font headers. (WebCore::FontPlatformData::FontPlatformData): Eliminate GTK+ specific bits of this file which reference our obsolete font implementation. (WebCore::FontPlatformData::hash): Ditto. git-svn-id: svn://svn.chromium.org/blink/trunk@81991 bbb929c8-8fbe-4397-9dbb-9b2b20218538
-