1. 16 Jan, 2009 22 commits
    • hyatt@apple.com's avatar
      2009-01-16 David Hyatt <hyatt@apple.com> · aa59fcd9
      hyatt@apple.com authored
              Add a new flag (similar to first-line and first-letter) to Document to track whether any before/after rules
              are being used.  If not, don't waste time probing for those pseudo element styles.
      
              Reviewed by Sam Weinig
      
              * css/CSSGrammar.y:
              * dom/Document.cpp:
              (WebCore::Document::Document):
              * dom/Document.h:
              (WebCore::Document::usesBeforeAfterRules):
              (WebCore::Document::setUsesBeforeAfterRules):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::styleDidChange):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::styleDidChange):
              (WebCore::RenderInline::addChildToFlow):
              (WebCore::RenderInline::splitInlines):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa59fcd9
    • alp@webkit.org's avatar
      2009-01-16 Dmitry Titov <dimich@chromium.org> · 7d33ec57
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              https://bugs.webkit.org/show_bug.cgi?id=23394
              Remove unnecessary calls to setDeferringTimers().
      
              Use of this function was obsoleted by better handling of EINTR.
      
              * platform/network/curl/ResourceHandleManager.cpp:
              (WebCore::ResourceHandleManager::downloadTimerCallback): removed setDeferringTimers calls.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39991 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d33ec57
    • hyatt@apple.com's avatar
      2009-01-16 David Hyatt <hyatt@apple.com> · 97dafec2
      hyatt@apple.com authored
              Fix badness with the cursor CSS property.  For all links and form controls, resetting to a value of auto
              was resulting in the creation of a cursor list.  clearCursorList was creating a new list rather than just
              nulling out the pointer.  Since addCursor already lazily recreates the list, in the case of simple cursor types,
              the clear method was wastefully creating a completely unnecessary list for all of these elements.
      
              Also optimized the setting of simple cursor values to not alter the RenderStyle's cursor setting if it is already
              set to the same value.  Since this is the common case, it prevents a fault and copy of StyleInheritedData for
              all links and form controls.
      
              This is a PLT speedup.
      
              Reviewed by Oliver Hunt
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::applyProperty):
              * rendering/style/RenderStyle.cpp:
              (WebCore::RenderStyle::clearCursorList):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39990 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      97dafec2
    • darin@chromium.org's avatar
      2009-01-16 Darin Fisher <darin@chromium.org> · abed98e5
      darin@chromium.org authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=23384
              PLATFORM(CHROMIUM) needs to delegate BackForwardList.cpp methods to the embedder
      
              * history/BackForwardList.h:
              (WebCore::BackForwardListClient::~BackForwardListClient):
              (WebCore::BackForwardList::setClient):
              * history/BackForwardListChromium.cpp: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39989 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      abed98e5
    • mitz@apple.com's avatar
      Reviewed by Kevin Decker and Adam Roben. · 073deee0
      mitz@apple.com authored
              - fix a regression that resulted in a crash when plug-ins were
                disabled.
      
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget): Added a null check.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39988 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      073deee0
    • hyatt@apple.com's avatar
      2009-01-16 David Hyatt <hyatt@apple.com> · cfa6d61d
      hyatt@apple.com authored
              Split continuation() into virtual and non-virtual versions so that the non-virtual version can
              be used whereever possible.  Eventually the virtual method can be eliminated completely.
      
              Reviewed by Sam Weinig and Oliver Hunt
      
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::isKeyboardFocusable):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::anchorElement):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
              (WebCore::InlineFlowBox::paint):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::removeChild):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
              * rendering/RenderFlow.h:
              (WebCore::RenderFlow::virtualContinuation):
              (WebCore::RenderFlow::continuation):
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::positionForCoordinates):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::absoluteRects):
              (WebCore::RenderObject::absoluteQuads):
              (WebCore::RenderObject::addFocusRingRects):
              (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
              (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
              (WebCore::RenderObject::handleDynamicFloatPositionChange):
              (WebCore::RenderObject::hoverAncestor):
              (WebCore::RenderObject::updateDragState):
              (WebCore::RenderObject::updateHitTestResult):
              (WebCore::RenderObject::getTextDecorationColors):
              (WebCore::RenderObject::adjustRectForOutlineAndShadow):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::virtualContinuation):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39987 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cfa6d61d
    • hyatt@apple.com's avatar
      2009-01-16 David Hyatt <hyatt@apple.com> · d84b5e06
      hyatt@apple.com authored
              Inline the methods of Font for obtaining metrics such as ascent, descent and line spacing.
      
              Reviewed by ggaren
      
              * platform/graphics/Font.cpp:
              * platform/graphics/Font.h:
              (WebCore::Font::width):
              (WebCore::Font::ascent):
              (WebCore::Font::descent):
              (WebCore::Font::lineSpacing):
              (WebCore::Font::lineGap):
              (WebCore::Font::xHeight):
              (WebCore::Font::unitsPerEm):
              (WebCore::Font::spaceWidth):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d84b5e06
    • weinig@apple.com's avatar
      2009-01-16 Sam Weinig <sam@webkit.org> · 4079b455
      weinig@apple.com authored
              Reviewed by David Hyatt.
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=23388
              Remove FrameViewPrivate
      
              Removes an indirection and is a small speedup on PLT.
      
              * page/FrameView.cpp:
              (WebCore::FrameView::FrameView):
              (WebCore::FrameView::~FrameView):
              (WebCore::FrameView::reset):
              (WebCore::FrameView::resetScrollbars):
              (WebCore::FrameView::init):
              (WebCore::FrameView::clear):
              (WebCore::FrameView::didFirstLayout):
              (WebCore::FrameView::initScrollbars):
              (WebCore::FrameView::updateDefaultScrollbarState):
              (WebCore::FrameView::setCanHaveScrollbars):
              (WebCore::FrameView::applyOverflowToViewport):
              (WebCore::FrameView::layoutCount):
              (WebCore::FrameView::needsFullRepaint):
              (WebCore::FrameView::layoutRoot):
              (WebCore::FrameView::layout):
              (WebCore::FrameView::setMediaType):
              (WebCore::FrameView::mediaType):
              (WebCore::FrameView::useSlowRepaints):
              (WebCore::FrameView::setUseSlowRepaints):
              (WebCore::FrameView::addSlowRepaintObject):
              (WebCore::FrameView::removeSlowRepaintObject):
              (WebCore::FrameView::scrollRectIntoViewRecursively):
              (WebCore::FrameView::setScrollPosition):
              (WebCore::FrameView::repaintContentRectangle):
              (WebCore::FrameView::beginDeferredRepaints):
              (WebCore::FrameView::endDeferredRepaints):
              (WebCore::FrameView::scheduleRelayout):
              (WebCore::FrameView::scheduleRelayoutOfSubtree):
              (WebCore::FrameView::layoutPending):
              (WebCore::FrameView::needsLayout):
              (WebCore::FrameView::unscheduleRelayout):
              (WebCore::FrameView::isTransparent):
              (WebCore::FrameView::setTransparent):
              (WebCore::FrameView::baseBackgroundColor):
              (WebCore::FrameView::setBaseBackgroundColor):
              (WebCore::FrameView::shouldUpdateWhileOffscreen):
              (WebCore::FrameView::setShouldUpdateWhileOffscreen):
              (WebCore::FrameView::scheduleEvent):
              (WebCore::FrameView::pauseScheduledEvents):
              (WebCore::FrameView::resumeScheduledEvents):
              (WebCore::FrameView::performPostLayoutTasks):
              (WebCore::FrameView::updateOverflowStatus):
              (WebCore::FrameView::dispatchScheduledEvents):
              (WebCore::FrameView::wasScrolledByUser):
              (WebCore::FrameView::setWasScrolledByUser):
              (WebCore::FrameView::paintContents):
              (WebCore::FrameView::setPaintRestriction):
              (WebCore::FrameView::isPainting):
              (WebCore::FrameView::setNodeToDraw):
              * page/FrameView.h:
              (WebCore::FrameView::setIsVisuallyNonEmpty): Inline.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4079b455
    • jchaffraix@webkit.org's avatar
      2009-01-14 Julien Chaffraix <jchaffraix@webkit.org> · f7446d8f
      jchaffraix@webkit.org authored
              Reviewed by Darin Adler.
      
              Bug 23237: Some HTML constructors in HTMLElementFactory needs
              an HTMLFormElement argument
      
              - Added 'constructorNeedsFormElement' parameter to make_names.pl to account
                for HTML form elements.
      
              - Added the new information to HTMLTagNames.in.
      
              * dom/make_names.pl:
              * html/HTMLTagNames.in:
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7446d8f
    • hyatt@apple.com's avatar
      2009-01-16 David Hyatt <hyatt@apple.com> · 92162d4b
      hyatt@apple.com authored
              Eliminate a bunch of save/restore pairs from commonly used GraphicsContext methods.  The most common reason
              for needing save/restore in the line-drawing methods was antialiasing, so this has now been made part of
              the cross-platform graphics state.  By being able to query for the current antialiasing setting, antialiasing
              can be temporarily changed and then restored back to the real value without needing to do a save/restore.
      
              The line drawing code also set the fill color to the stroke color and relied on save/restore to prevent
              a permanent mutation of the fill color in the CGContext.   The new code just restores the fill color back
              to its original value without doing the much more expensive save/restore.
      
              Reviewed by Oliver Hunt
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::setShouldAntialias):
              (WebCore::GraphicsContext::shouldAntialias):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/GraphicsContextPrivate.h:
              (WebCore::GraphicsContextState::GraphicsContextState):
              * platform/graphics/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::setPlatformShouldAntialias):
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::drawLine):
              (WebCore::GraphicsContext::drawConvexPolygon):
              (WebCore::GraphicsContext::drawLineForText):
              (WebCore::GraphicsContext::setPlatformShouldAntialias):
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::setPlatformShouldAntialias):
              * platform/graphics/skia/GraphicsContextSkia.cpp:
              (WebCore::GraphicsContext::setPlatformShouldAntialias):
              * platform/graphics/wx/GraphicsContextWx.cpp:
              (WebCore::GraphicsContext::setPlatformShouldAntialias):
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::paint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      92162d4b
    • andersca@apple.com's avatar
      2009-01-16 Anders Carlsson <andersca@apple.com> · 6e5a40ba
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Clean up the bridge code and get rid of Field::name() and Method::name().
              
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::CInstance::invokeMethod):
              * bridge/c/c_runtime.cpp:
              * bridge/c/c_runtime.h:
              (JSC::Bindings::CField::identifier):
              (JSC::Bindings::CMethod::identifier):
              * bridge/jni/jni_class.cpp:
              (JavaClass::JavaClass):
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::invokeMethod):
              * bridge/jni/jni_runtime.cpp:
              (JavaField::valueFromInstance):
              (JavaField::setValueToInstance):
              (JavaMethod::methodID):
              * bridge/jni/jni_runtime.h:
              (JSC::Bindings::JavaField::name):
              (JSC::Bindings::JavaMethod::name):
              * bridge/objc/objc_class.mm:
              (JSC::Bindings::ObjcClass::methodsNamed):
              * bridge/objc/objc_instance.mm:
              (ObjcInstance::invokeMethod):
              * bridge/objc/objc_runtime.h:
              (JSC::Bindings::ObjcMethod::isFallbackMethod):
              (JSC::Bindings::ObjcMethod::selector):
              * bridge/objc/objc_runtime.mm:
              (JSC::Bindings::ObjcMethod::ObjcMethod):
              (JSC::Bindings::ObjcMethod::getMethodSignature):
              (JSC::Bindings::ObjcField::ObjcField):
              (JSC::Bindings::ObjcField::valueFromInstance):
              (JSC::Bindings::ObjcField::setValueToInstance):
              (JSC::Bindings::callObjCFallbackObject):
              * bridge/runtime.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39980 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e5a40ba
    • hyatt@apple.com's avatar
      2009-01-16 David Hyatt <hyatt@apple.com> · 4e2bbb7d
      hyatt@apple.com authored
              Optimize RenderText::styleDidChange.  Don't call the base class, which does extra meaningless work.
              Instead just do the one check we need to do (for a diff of layout) and mark dirty as appropriate.
              Clean up the base class method also to just bail early if no m_parent is set instead of repeatedly checking
              for the existence of m_parent in each if clause.
      
              Reviewed by Darin Adler
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::styleDidChange):
              * rendering/RenderText.cpp:
              (WebCore::RenderText::styleDidChange):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4e2bbb7d
    • cfleizach@apple.com's avatar
      Bug 23387: AX hierarchy is incorrect when iframes are present · c959871b
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=23387
      
      AX hierarchy is incorrect when iframes are present
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c959871b
    • beidson@apple.com's avatar
      2009-01-16 Brady Eidson <beidson@apple.com> · 8a071cad
      beidson@apple.com authored
              Reviewed by Darin Adler
      
              <rdar://problem/3541409> - Split up some back/forward cache decision making and add detailed logging to
              better understand what the common disqualifiers are.
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::canCachePageContainingThisFrame):
              (WebCore::FrameLoader::canCachePage): Split off what will be per-frame decision making into canCacheSubframe.
              (WebCore::FrameLoader::logCanCachePageDecision): Detailed logging about why a page may not be considered for
                the back/forward cache.
              (WebCore::FrameLoader::logCanCacheFrameDecision): Same detailed logging on the per-frame basis.
              (WebCore::FrameLoader::commitProvisionalLoad): Move the m_client->canCachePage() call into canCachePageContainingThisFrame().
              * loader/FrameLoader.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a071cad
    • cmarrin@apple.com's avatar
      Fixed https://bugs.webkit.org/show_bug.cgi?id=23088. · 815d5bf3
      cmarrin@apple.com authored
              This was happening because I was calling setChanged() from inside updateRendering()
              which causes an infinite loop. I fixed this by deferring the setChanged to the next
              run loop iteration. That made it not infinite loop, but it still retriggers the
              transition forever. The problem is that there is both an 'all' and specific transition
              on 'opacity'. This tickled a bug in AnimationController which causes the opacity 
              transition to get constantly cancelled and then retriggered. The problem is that
              the specific opacity transition has a duration of 0. I got rid of the logic to 
              flush out 0 duration transitions and it is no longer constantly triggered. The
              logic to flush them was just an optimization, and you really need to keep them
              around to make the logic to override earlier animations by later ones work. And there is
              very little overhead in this case anyway, so the optimization was not that useful.
      
              I made a LayoutTest from the original testcase which tests both the infinite
              loop and constantly triggering animation cases.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      815d5bf3
    • cfleizach@apple.com's avatar
      Bug 23385: crash at com.apple.WebCore • WebCore::HTMLAnchorElement::isKeyboardFocusable · 167dff30
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=23385
      
      Option-tabbing on page with image map links causes crash
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      167dff30
    • ariya@webkit.org's avatar
      2009-01-16 Thiago Macieira <thiago.macieira@nokia.com> · b7487835
      ariya@webkit.org authored
              Reviewed by Simon Hausmann.
      
              [Qt] Fixes QString and 8-bit mix fixes.
      
              Details:  Make sure we use QLatin1String where appropriate (and don't
              use QString when not necessary)
      
              * platform/graphics/qt/ImageDecoderQt.cpp:
              (WebCore::ImageDecoderQt::create):
              * platform/graphics/qt/SimpleFontDataQt.cpp:
              (WebCore::SimpleFontData::platformInit):
              * platform/qt/FileSystemQt.cpp:
              (WebCore::openTemporaryFile):
              * platform/qt/LoggingQt.cpp:
              (WebCore::InitializeLoggingChannelsIfNecessary):
              * platform/qt/RenderThemeQt.cpp:
              (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
              * plugins/qt/PluginDataQt.cpp:
              (WebCore::PluginData::initPlugins):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7487835
    • ariya@webkit.org's avatar
      2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com> · becca4b4
      ariya@webkit.org authored
              Reviewed by Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=22452
      
              When plugins are disabled, plugin data should not be available for
              the page. This ensures that navigator.plugins would not see the
              additional MIME types supported by the plugins.
      
              * page/Page.cpp:
              (WebCore::Page::pluginData):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::shouldUsePlugin):
              * rendering/RenderPartObject.cpp:
              (WebCore::RenderPartObject::updateWidget):
      
      2009-01-16  Ariya Hidayat  <ariya.hidayat@trolltech.com>
      
              Reviewed by Adam Roben.
      
              [Qt] Prevent crash if plugin data is NULL.
      
              * WebCoreSupport/FrameLoaderClientQt.cpp: NULL check.
              (WebCore::FrameLoaderClientQt::objectContentType):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39969 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      becca4b4
    • cmarrin@apple.com's avatar
      Got rid of .idl file in Resources for bug https://bugs.webkit.org/show_bug.cgi?id=21421. · 144af062
      cmarrin@apple.com authored
              Also fixed the test case to work on ppc.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      144af062
    • ariya@webkit.org's avatar
      2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com> · a8fe5eab
      ariya@webkit.org authored
              Another attempt at fixing the Qt build.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getInstance):
      
              * Api/qwebframe.cpp:
              (QWebFrame::addToJavaScriptWindowObject):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8fe5eab
    • hyatt@apple.com's avatar
      2009-01-16 David Hyatt <hyatt@apple.com> · d96cf013
      hyatt@apple.com authored
              Fix for 1.85% PLT regression.  Since asking if a frame is "complete" actually aggressively decodes
              the frame, we add an optimization when advancing animations.  If we have received all of the animated
              image's data, then obviously we can go ahead and advance safely.  This prevents the first draw of an image
              from decoding two frames' worth of data in the case where all of the image's data has been received.
      
              While this fixes the cached case, there could in fact be a regression on the uncached PLT from this change
              as well.  It's not immediately clear how that regression would be fixed, though, and it would likely be
              a much smaller percentage of that overall uncached time.
      
              Reviewed by Dan Bernstein
      
              * platform/graphics/BitmapImage.cpp:
              (WebCore::BitmapImage::startAnimation):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d96cf013
    • ap@webkit.org's avatar
      Reviewed by Anders Carlsson. · ffdf0fbe
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=23349
              Don't store obsolete caches in disk storage
      
              * loader/ResourceLoader.cpp:
              (WebCore::ResourceLoader::ResourceLoader):
              (WebCore::ResourceLoader::load):
              (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache):
              * loader/ResourceLoader.h:
              Don't maintain m_wasLoadedFromApplicationCache, which was never used.
      
              * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::addResource):
              Assert that only implicit and dynamic resources can be added after the cache has been fully
              loaded and stored to disk database.
      
              * loader/appcache/ApplicationCacheGroup.cpp:
              (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't remove non-newest caches from disk
              database, as this is now done whenever the cache becomes obsolete.
              (WebCore::ApplicationCacheGroup::setNewestCache): Remove an obsolete cache from disk storage.
      
              * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
              A cache group that has never been saved should not be remembered in m_cacheHostSet. Changed
              the check to no longer rely on savedNewestCachePointer.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ffdf0fbe
  2. 15 Jan, 2009 17 commits
    • timothy@apple.com's avatar
      <rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type() · b3b6f310
      timothy@apple.com authored
      WebCore:
      
      2009-01-15  Dimitri Dupuis-Latour  <dupuislatour@apple.com>
      
              <rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type();
      
              Reviewed by Timothy Hatcher.
      
              * css/CSSSelector.cpp:
              (WebCore::CSSSelector::selectorText):
      
      LayoutTests:
      
      2009-01-15  Dimitri Dupuis-Latour  <dupuislatour@apple.com>
      
              Added testcases for all CSS3 pseudo-classes and pseudo-elements
      
              <rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type();
      
              Reviewed by Timothy Hatcher.
      
              * fast/dom/css-selectorText-expected.txt:
              * fast/dom/css-selectorText.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b3b6f310
    • justin.garcia@apple.com's avatar
      WebCore: · 1eab8f39
      justin.garcia@apple.com authored
      2009-01-15  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver Hunt.
              
              <rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break
      
              If the range to style ended at [node, 0] or inside node (and if for some reason the node didn't get split),
              applyInlineStyle would style node.
      
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::applyInlineStyle): Rename pastLast to pastEndNode, since it doesn't come from 
              Range::pastLastNode() anymore.  pastEndNode is the node after the last one that is fully selected, since
              the work done in the loop that follows should only be performed on fully selected nodes.
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply): Explicitly handle insertion into containers and after non-text nodes.
              Those were handled accidently before.
              * editing/htmlediting.cpp:
              (WebCore::caretMaxOffset): In various places we call this with a container and expect to be given the number 
              of children in that container, so I changed it to match that.  RenderBR and RenderObject::caretMaxOffset() should 
              also be eliminated since maxDeepOffset handles non-text nodes.
      
      LayoutTests:
      
      2009-01-15  Justin Garcia  <justin.garcia@apple.com>
      
              Reviewed by Oliver Hunt.
              
              <rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break
      
              * editing/execCommand/6444148-expected.txt: Added.
              * editing/execCommand/6444148.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1eab8f39
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 5c37aa1a
      andersca@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Get rid of the dreaded BindingLanguage once and for all. Also get rid of Instance::getInstance.
      
              * bridge/c/c_instance.h:
              * bridge/jni/jni_instance.h:
              * bridge/objc/objc_instance.h:
              * bridge/qt/qt_instance.h:
              * bridge/runtime.cpp:
              * bridge/runtime.h:
              * bridge/runtime_object.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c37aa1a
    • hyatt@apple.com's avatar
      2009-01-15 David Hyatt <hyatt@apple.com> · ef5fbc78
      hyatt@apple.com authored
              Eliminate an extra virtual function call that occurs for every single RenderText by moving the SVG-specific
              code that was placed into RenderText::styleDidChange into RenderSVGInlineText::styleDidChange.
      
              Reviewed by Oliver Hunt
      
              * rendering/RenderSVGInlineText.cpp:
              (WebCore::RenderSVGInlineText::styleDidChange):
              * rendering/RenderSVGInlineText.h:
              * rendering/RenderText.cpp:
              (WebCore::RenderText::styleDidChange):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef5fbc78
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 5a519291
      andersca@apple.com authored
              Another attempt at fixing the Qt build.
              
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getOwnPropertySlot):
              (JSC::Bindings::QtInstance::put):
              * bridge/qt/qt_instance.h:
              * bridge/runtime.h:
              (JSC::Bindings::Instance::getOwnPropertySlot):
              (JSC::Bindings::Instance::put):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::getOwnPropertySlot):
              (JSC::RuntimeObjectImp::put):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a519291
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 6bccd296
      andersca@apple.com authored
              Reviewed by Darin Adler.
      
              Add QtInstance::getInstance and start using it.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtRuntimeObjectImp::mark):
              (JSC::Bindings::QtRuntimeObjectImp::classInfo):
              (JSC::Bindings::):
              (JSC::Bindings::QtInstance::getInstance):
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::convertValueToQVariant):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39950 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6bccd296
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 9a6431c9
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Add the ability for Instance objects to override getOwnPropertySlot/put for runtime objects.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getOwnPropertySlot):
              (JSC::Bindings::QtInstance::put):
              * bridge/qt/qt_instance.h:
              * bridge/runtime.h:
              (JSC::Bindings::Instance::getOwnPropertySlot):
              (JSC::Bindings::Instance::put):
              * bridge/runtime_object.cpp:
              (JSC::RuntimeObjectImp::getOwnPropertySlot):
              (JSC::RuntimeObjectImp::put):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a6431c9
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · 59b221ea
      andersca@apple.com authored
              Fix the QT build.
      
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::createRuntimeObject):
              * bridge/qt/qt_instance.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59b221ea
    • hyatt@apple.com's avatar
      2009-01-15 David Hyatt <hyatt@apple.com> · 27b9d837
      hyatt@apple.com authored
              Fix for <rdar://problem/6500278> REGRESSION: 3.5% of samples on iBench in WebCore::Frame::setZoomFactor
      
              setZoomFactor was supposed to bail if both the zoom factor and mode were the same.  The mode check was
              buggy and doing the wrong thing.
      
              Reviewed by Darin Adler
      
              * page/Frame.cpp:
              (WebCore::Frame::setZoomFactor):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      27b9d837
    • andersca@apple.com's avatar
      2009-01-15 Anders Carlsson <andersca@apple.com> · bfe905be
      andersca@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Make Instance::createRuntimeObject a virtual function and override it for QtInstance.
              
              * bindings/js/JSPluginElementFunctions.cpp:
              (WebCore::getRuntimeObject):
              * bridge/c/c_utility.cpp:
              (JSC::Bindings::convertNPVariantToValue):
              * bridge/jni/jni_instance.cpp:
              (JavaInstance::invokeMethod):
              * bridge/jni/jni_jsobject.mm:
              (JavaJSObject::convertJObjectToValue):
              * bridge/jni/jni_runtime.cpp:
              (JavaField::valueFromInstance):
              (JavaArray::valueAt):
              * bridge/objc/objc_utility.mm:
              (JSC::Bindings::convertObjcValueToValue):
              * bridge/qt/qt_instance.cpp:
              (JSC::Bindings::QtInstance::getRuntimeObject):
              (JSC::Bindings::QtInstance::createRuntimeObject):
              * bridge/qt/qt_instance.h:
              * bridge/qt/qt_runtime.cpp:
              (JSC::Bindings::convertQVariantToValue):
              (JSC::Bindings::QtConnectionObject::execute):
              * bridge/runtime.cpp:
              (JSC::Bindings::Instance::createRuntimeObject):
              * bridge/runtime.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfe905be
    • dglazkov@chromium.org's avatar
      2009-01-15 Dimitri Glazkov <dglazkov@chromium.org> · 53aa825d
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=23354
              Fix up graphics/chromium files to account for Uniscribe style scrubbing.
      
              * platform/graphics/chromium/FontChromiumWin.cpp:
              (WebCore::windowsCanHandleTextDrawing):
              (WebCore::Font::selectionRectForComplexText):
              (WebCore::Font::drawComplexText):
              (WebCore::Font::floatWidthForComplexText):
              (WebCore::Font::offsetForPositionForComplexText):
              * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
              (WebCore::fillNonBMPGlyphs):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53aa825d
    • dglazkov@chromium.org's avatar
      2009-01-15 David Levin <levin@chromium.org> · 7533c072
      dglazkov@chromium.org authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=23333
              Adjust due to a name change that happened in a WebKit.
      
              * svg/graphics/skia/SVGPaintServerPatternSkia.cpp:
              (WebCore::SVGPaintServerPattern::setup):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7533c072
    • dglazkov@chromium.org's avatar
      2009-01-15 Dimitri Glazkov <dglazkov@chromium.org> · ae006c3f
      dglazkov@chromium.org authored
              Reviewed by Eric Seidel.
      
              https://bugs.webkit.org/show_bug.cgi?id=23340
              Add remaining bits of graphics/chromium.
      
              * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Added.
              (WebCore::scaleEmToUnits):
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::platformDestroy):
              (WebCore::SimpleFontData::smallCapsFontData):
              (WebCore::SimpleFontData::containsCharacters):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              * platform/graphics/chromium/SimpleFontDataLinux.cpp: Added.
              (WebCore::SimpleFontData::platformInit):
              (WebCore::SimpleFontData::platformDestroy):
              (WebCore::SimpleFontData::smallCapsFontData):
              (WebCore::SimpleFontData::containsCharacters):
              (WebCore::SimpleFontData::determinePitch):
              (WebCore::SimpleFontData::platformWidthForGlyph):
              * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Added.
              (WebCore::ThemeHelperWin::ThemeHelperWin):
              (WebCore::ThemeHelperWin::~ThemeHelperWin):
              * platform/graphics/chromium/ThemeHelperChromiumWin.h: Added.
              (WebCore::ThemeHelperWin::):
              (WebCore::ThemeHelperWin::context):
              (WebCore::ThemeHelperWin::rect):
              * platform/graphics/chromium/UniscribeHelper.cpp: Added.
              (WebCore::treatAsSpace):
              (WebCore::containsMissingGlyphs):
              (WebCore::setLogFontAndStyle):
              (WebCore::UniscribeHelper::UniscribeHelper):
              (WebCore::UniscribeHelper::~UniscribeHelper):
              (WebCore::UniscribeHelper::initWithOptionalLengthProtection):
              (WebCore::UniscribeHelper::width):
              (WebCore::UniscribeHelper::justify):
              (WebCore::UniscribeHelper::characterToX):
              (WebCore::UniscribeHelper::xToCharacter):
              (WebCore::UniscribeHelper::draw):
              (WebCore::UniscribeHelper::firstGlyphForCharacter):
              (WebCore::UniscribeHelper::fillRuns):
              (WebCore::UniscribeHelper::shape):
              (WebCore::UniscribeHelper::fillShapes):
              (WebCore::UniscribeHelper::fillScreenOrder):
              (WebCore::UniscribeHelper::adjustSpaceAdvances):
              (WebCore::UniscribeHelper::applySpacing):
              (WebCore::UniscribeHelper::advanceForItem):
              * platform/graphics/chromium/UniscribeHelper.h: Added.
              (WebCore::UniscribeHelper::directionalOverride):
              (WebCore::UniscribeHelper::setDirectionalOverride):
              (WebCore::UniscribeHelper::inhibitLigate):
              (WebCore::UniscribeHelper::setInhibitLigate):
              (WebCore::UniscribeHelper::letterSpacing):
              (WebCore::UniscribeHelper::setLetterSpacing):
              (WebCore::UniscribeHelper::spaceWidth):
              (WebCore::UniscribeHelper::setSpaceWidth):
              (WebCore::UniscribeHelper::wordSpacing):
              (WebCore::UniscribeHelper::setWordSpacing):
              (WebCore::UniscribeHelper::setAscent):
              (WebCore::UniscribeHelper::init):
              (WebCore::UniscribeHelper::tryToPreloadFont):
              (WebCore::UniscribeHelper::Shaping::Shaping):
              (WebCore::UniscribeHelper::Shaping::glyphLength):
              (WebCore::UniscribeHelper::Shaping::charLength):
              (WebCore::UniscribeHelper::Shaping::effectiveAdvances):
              (WebCore::UniscribeHelper::nextWinFontData):
              (WebCore::UniscribeHelper::resetFontIndex):
              * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Added.
              (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
              (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
              (WebCore::UniscribeHelperTextRun::nextWinFontData):
              (WebCore::UniscribeHelperTextRun::resetFontIndex):
              * platform/graphics/chromium/UniscribeHelperTextRun.h: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ae006c3f
    • cmarrin@apple.com's avatar
    • dglazkov@chromium.org's avatar
      2009-01-15 Aaron Boodman <aa@chromium.org> · c0d9f314
      dglazkov@chromium.org authored
              Reviewed by Adam Roben.
      
              https://bugs.webkit.org/show_bug.cgi?id=15279
              Right clicking over text (or multiple spaces) auto selects the word
              (or multiple spaces) under it, which is not a desirable effect for some
              platforms.
      
              * page/EventHandler.cpp:
              (WebCore::EventHandler::sendContextMenuEvent):
              Don't select words on right-click on Chromium.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c0d9f314
    • mrowe@apple.com's avatar
      Versioning. · ded94c13
      mrowe@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ded94c13
    • darin@chromium.org's avatar
      2009-01-15 Darin Fisher <darin@chromium.org> · 1f845368
      darin@chromium.org authored
              Reviewed by Eric Seidel.
      
              https://bugs.webkit.org/show_bug.cgi?id=23345
              SharedBuffer.h should include wtf/OwnPtr.h
      
              * platform/SharedBuffer.h:
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@39933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1f845368
  3. 14 Jan, 2009 1 commit