1. 04 Dec, 2007 9 commits
    • aroben@apple.com's avatar
      Make the implementation of Frame::setNeedsReapplyStyles cross-platform · 4cfcb8ae
      aroben@apple.com authored
       WebCore:
      
               Make the implementation of Frame::setNeedsReapplyStyles cross-platform
      
               Reviewed by Hyatt.
      
               No change in functionality.
      
               * page/Frame.cpp:
               (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the
               FrameView so that FrameView::layout will be called, which ends up
               calling reapplyStyles.
               (WebCore::Frame::needsReapplyStyles): Added.
               (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration.
               (WebCore::FramePrivate::FramePrivate):
               * page/Frame.h:
               * page/FramePrivate.h: Added new boolean member.
               * page/FrameView.cpp:
               (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed.
               (WebCore::FrameView::needsLayout): Say that we need layout if the
               Frame needs styles reapplied.
               * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles.
               * page/mac/WebCoreFrameBridge.mm:
               (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for
               rename.
      
               * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles.
               * page/gtk/FrameGtk.cpp: Ditto.
               * page/mac/FrameMac.mm: Ditto.
               * page/qt/FrameQt.cpp: Ditto.
               * platform/wx/TemporaryLinkStubs.cpp: Ditto.
      
       WebKit/mac:
      
               Remove -[WebFrameBridge setNeedsReapplyStyles]
      
               This functionality is now WebCore's responsibility.
      
               Reviewed by Hyatt.
      
               * WebCoreSupport/WebFrameBridge.mm:
               * WebKit.order:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4cfcb8ae
    • antti@apple.com's avatar
      Reviewed by Adele. · 101a985e
      antti@apple.com authored
              Pass intrinsic size to the base class.
      
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMedia::RenderMedia):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28408 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      101a985e
    • adele@apple.com's avatar
      Reviewed by Darin. · 7af1bc22
      adele@apple.com authored
              Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey
      
              * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation):
                When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7af1bc22
    • darin@apple.com's avatar
      WebCore: · 89c61adc
      darin@apple.com authored
              Reviewed by Kevin Decker.
      
              - added an assertion for a situation that leads to a Safari assertion:
                a commit that is not followed by a load completion
      
              - removed some unneeded FrameLoader stuff -- maybe some day we'll get this
                class cut down to size
      
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::FrameLoader): Added boolean for assertion.
              (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert
              that we already sent a commit before sending a complete.
              (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call
              client directly instead of indirecting through a function.
              (WebCore::FrameLoader::loadItem): Ditto.
              (WebCore::FrameLoader::goToItem): Ditto.
              (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing
              state from Settings instead of FrameLoaderClient. Also call client directly
              instead of indirecting through a function.
              (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead
              of indirecting through a function.
              (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert
              that we did not yet send a commit and set the flag that will be used to check
              that we don't do this twice in a row without an intervening completion call.
      
              * loader/FrameLoader.h: Added a boolean for the assertion. Removed six
              now-unneeded functions.
      
              * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function.
      
              * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get
              the private browsing state from Settings instead of FrameLoaderClient.
      
              * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled.
      
      WebKit/gtk:
      
              Reviewed by Kevin Decker.
      
              * WebCoreSupport/FrameLoaderClientGtk.cpp: Removed obsolete privateBrowsingEnabled.
              * WebCoreSupport/FrameLoaderClientGtk.h: Ditto.
      
      WebKit/mac:
      
              Reviewed by Kevin Decker.
      
              * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
              * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
              * WebKit.order: Ditto.
      
      WebKit/qt:
      
              Reviewed by Kevin Decker.
      
              * WebCoreSupport/FrameLoaderClientQt.cpp: Removed obsolete privateBrowsingEnabled.
              * WebCoreSupport/FrameLoaderClientQt.h: Ditto.
      
      WebKit/win:
      
              Reviewed by Kevin Decker.
      
              * WebFrame.cpp: Removed obsolete privateBrowsingEnabled.
              * WebFrame.h: Ditto.
      
      WebKit/wx:
      
              Reviewed by Kevin Decker.
      
              * WebKitSupport/FrameLoaderClientWx.cpp: Removed obsolete privateBrowsingEnabled.
              * WebKitSupport/FrameLoaderClientWx.h: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89c61adc
    • antti@apple.com's avatar
      WebCore: · 7f6c5da8
      antti@apple.com authored
              Reviewed by Adele.
              
              Fix <rdar://problem/5624802> 
              Controller displays outside of <video> element when width and height aren't specified 
      
              - Explicitly adjust size of the controls tree root.
              - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree
                by hand. This also allows better code sharing with other replaced element classes.
              - Move duplicated layout and painting code from subclasses up to RenderReplaced.
      
              Test: media/video-controls-rendering.html
      
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::paintReplaced):
              * rendering/RenderHTMLCanvas.h:
                  Share code.
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paintReplaced):
              (WebCore::RenderImage::minimumReplacedHeight):
              * rendering/RenderImage.h:
                  Share code.
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot):
              (WebCore::RenderMediaControlShadowRoot::setParent):
                  Add a subclass just to get through encapsulation to use setParent().
              (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
                  Move initialization to the constructor.
              (WebCore::RenderMedia::RenderMedia):
              (WebCore::RenderMedia::~RenderMedia):
              (WebCore::RenderMedia::layout):
                  Resize and layout the controller root by hand.
              (WebCore::RenderMedia::firstChild):
              (WebCore::RenderMedia::lastChild):
              (WebCore::RenderMedia::removeChild):
                  Support one child renderer for controls.
              (WebCore::RenderMedia::createControlsShadowRoot):
              * rendering/RenderMedia.h:
              (WebCore::RenderMedia::isMedia):
                  Switch base class to RenderReplaced, delete the now unnecessary stuff.
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::layout):
              (WebCore::RenderReplaced::paint):
              * rendering/RenderReplaced.h:
              (WebCore::RenderReplaced::minimumReplacedHeight):
              (WebCore::RenderReplaced::paintReplaced):
                  Share code.
              * rendering/RenderVideo.cpp:
              (WebCore::RenderVideo::videoSizeChanged):
                  Simplify, just request relayout.
              (WebCore::RenderVideo::paintReplaced):
              (WebCore::RenderVideo::layout):
              * rendering/RenderVideo.h:
                  Share code.
      
      LayoutTests:
      
              Reviewed by Adele.
              
              Test for <rdar://problem/5624802> 
              Controller displays outside of <video> element when width and height aren't specified 
      
              * media/remove-from-document.html: Improve coverage by doing relayout before finishing.
              * media/video-controls-rendering.html: Added.
              * platform/mac/media/video-controls-rendering-expected.checksum: Added.
              * platform/mac/media/video-controls-rendering-expected.png: Added.
              * platform/mac/media/video-controls-rendering-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7f6c5da8
    • alp@webkit.org's avatar
      2007-12-04 Michael Natterer <mitch@imendio.com> · fd883360
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              * WebCore.pro: fix build of webkit-marshal by building the
              functions into a separate .cpp file instead of including them in
              the header. This way we can use the marshallers from more than one
              file without using bad hacks.
      
              Add the generated sources directory to DEPENDPATH.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd883360
    • alp@webkit.org's avatar
      2007-12-04 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk> · 1cc50bfc
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              http://bugs.webkit.org/show_bug.cgi?id=16145
              [gtk] Implement media support in GTK backend
      
              This implements the media tags of HTML5 on the GTK+ port based on the 
              Mac port. Media tests pass although some tests required a small modifications: 
              As per the HTML5 spec, the loading of the clip should start only after 
              all script are done.  But in the case of the tests, the loading starts 
              before some callbacks get registered.  This has been discussed with 
              Antti Koivisto, and the tests should be updated.
      
              There is only one known issue: one time in 10 tries, loading a buffered 
              clip will never end buffering.  The buffering will stall at 97% for no 
              apparent reasons.  Reloading the page usually works around the problem.
              On the GStreamer side, some codecs don't return correct values, therefore
              they make the tests fail.  For instance H.264 will make the video-end 
              test fail.  This should be fixed in GStreamer 0.10.15.
      
              This version displays video in a pop up window.  A place holder is drawn
              on the page where the video should appear.
      
              By default, it is turned off in WebCore.pro until GStreamer/X
              detection issues are sorted out.
      
              * WebCore.pro:
              Disable video for now
              * platform/Logging.cpp:
              (WebCore::):
              * platform/Logging.h:
              Added a logging level for Media stuff
              * platform/graphics/Movie.cpp:
              * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added.
              (WebCore::moviePrivateErrorCallback):
              (WebCore::moviePrivateEOSCallback):
              (WebCore::moviePrivateStateCallback):
              (WebCore::moviePrivateBufferingCallback):
              (WebCore::moviePrivateWindowIDCallback):
              (WebCore::MoviePrivate::MoviePrivate):
              (WebCore::MoviePrivate::~MoviePrivate):
              (WebCore::MoviePrivate::load):
              (WebCore::MoviePrivate::play):
              (WebCore::MoviePrivate::pause):
              (WebCore::MoviePrivate::duration):
              (WebCore::MoviePrivate::currentTime):
              (WebCore::MoviePrivate::seek):
              (WebCore::MoviePrivate::setEndTime):
              (WebCore::MoviePrivate::addCuePoint):
              (WebCore::MoviePrivate::removeCuePoint):
              (WebCore::MoviePrivate::clearCuePoints):
              (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
              (WebCore::MoviePrivate::cancelSeek):
              (WebCore::MoviePrivate::cuePointTimerFired):
              (WebCore::MoviePrivate::paused):
              (WebCore::MoviePrivate::seeking):
              (WebCore::MoviePrivate::naturalSize):
              (WebCore::MoviePrivate::hasVideo):
              (WebCore::MoviePrivate::setVolume):
              (WebCore::MoviePrivate::setMuted):
              (WebCore::MoviePrivate::setRate):
              (WebCore::MoviePrivate::dataRate):
              (WebCore::MoviePrivate::networkState):
              (WebCore::MoviePrivate::readyState):
              (WebCore::MoviePrivate::maxTimeBuffered):
              (WebCore::MoviePrivate::maxTimeSeekable):
              (WebCore::MoviePrivate::maxTimeLoaded):
              (WebCore::MoviePrivate::bytesLoaded):
              (WebCore::MoviePrivate::totalBytesKnown):
              (WebCore::MoviePrivate::totalBytes):
              (WebCore::MoviePrivate::cancelLoad):
              (WebCore::MoviePrivate::updateStates):
              (WebCore::MoviePrivate::loadStateChanged):
              (WebCore::MoviePrivate::rateChanged):
              (WebCore::MoviePrivate::sizeChanged):
              (WebCore::MoviePrivate::timeChanged):
              (WebCore::MoviePrivate::volumeChanged):
              (WebCore::MoviePrivate::didEnd):
              (WebCore::MoviePrivate::loadingFailed):
              (WebCore::MoviePrivate::setRect):
              (WebCore::MoviePrivate::setVisible):
              (WebCore::MoviePrivate::paint):
              (WebCore::MoviePrivate::getSupportedTypes):
              (WebCore::MoviePrivate::createGSTPlayBin):
              * platform/graphics/gtk/MoviePrivateGStreamer.h: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28389 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1cc50bfc
    • zecke@webkit.org's avatar
      Add the missing ChangeLog entries for r28349. · a8129966
      zecke@webkit.org authored
      WebCore/ChangeLog:
      2007-12-04  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
      
              Reviewed by Simon.
      
              * Implement the InspectorClient for the Qt port
              * It does not support highlighting of nodes yet
              * Use QRC to open the internal page. The important thing is the
              '/' in the URL to make WebCore::Document::completeURL behave the
              way we want.
              * To make the InspectorClient work we will have to mark qrc as secure.
      
              * WebCore.pro:
              * loader/FrameLoader.cpp:
              (WebCore::localSchemes):
              * page/inspector/WebKit.qrc: Added.
      
      WebKit/qt:
      2007-12-04  Holger Hans Peter Freyther <holger.freyther@trolltech.com>
      
              Reviewed by Simon.
      
              * Implement the InspectorClient for the Qt port
              * It does not support highlighting of nodes yet
              * Use QRC to open the internal page. The important thing is the
              '/' in the URL to make WebCore::Document::completeURL behave the
              way we want.
              * To make the InspectorClient work we will have to mark qrc as secure.
      
              * Api/qwebpage.cpp:
              (QWebPagePrivate::QWebPagePrivate):
              * Api/qwebpage.h:
              * WebCoreSupport/InspectorClientQt.cpp:
              (WebCore::InspectorClientWebPage::hideEvent):
              (WebCore::InspectorClientQt::InspectorClientQt):
              (WebCore::InspectorClientQt::inspectorDestroyed):
              (WebCore::InspectorClientQt::createPage):
              (WebCore::InspectorClientQt::localizedStringsURL):
              (WebCore::InspectorClientQt::showWindow):
              (WebCore::InspectorClientQt::closeWindow):
              (WebCore::InspectorClientQt::attachWindow):
              (WebCore::InspectorClientQt::detachWindow):
              * WebCoreSupport/InspectorClientQt.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28387 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8129966
    • alp@webkit.org's avatar
      2007-12-04 Alp Toker <alp@atoker.com> · ed64f5b7
      alp@webkit.org authored
              Rubber stamped by Mark Rowe.
      
              Remove two unused variables to silence warnings.
      
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::fill):
              (WebCore::CanvasRenderingContext2D::stroke):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed64f5b7
  2. 03 Dec, 2007 18 commits
  3. 02 Dec, 2007 8 commits
    • darin@apple.com's avatar
      WebCore: · 6b16660d
      darin@apple.com authored
              Reviewed by Mitz.
      
              - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
      
              There were two problems here:
      
                  1) Incorrect HTMLCollection behavior led to us trying to insert a
                     new row inside an existing row instead of next to it. The fix for
                     this is to make HTMLCollection work better for table-related
                     collections.
      
                  2) HTMLTableRowElement::insertCell would return a bad pointer if
                     the insertion failed. The code should have failed, but not crashed,
                     so it's worth fixing that too.
      
              While fixing the HTMLCollection issues, I did some clean-up of that
              class and its derived classes.
      
              Test: fast/dom/HTMLTableElement/rows.html
              Test: fast/dom/HTMLTableElement/tBodies.html
              Test: fast/dom/HTMLTableRowElement/cells.html
              Test: fast/dom/HTMLTableRowElement/insertCell.html
              Test: fast/dom/HTMLTableSectionElement/rows.html
      
              * bindings/js/JSHTMLCollectionCustom.cpp:
              (WebCore::toJS): Updated because collectionType() was renamed to type().
      
              * html/HTMLCollection.cpp:
              (WebCore::HTMLCollection::HTMLCollection): Updated for data member name
              changes. Also added a protected constructor for use by derived classes
              that pass in a CollectionInfo.
              (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of
              the header.
              (WebCore::isTableSection): Added.
              (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem,
              because the old name was grammatically incorrect and thus a bit confusing.
              Changed to operate on Element* instead of Node*, and use 0 to start
              rather than passing in the base node (required since the base node can be
              a document, which is not an element). Generalized the code that made
              NodeChildren not descend into deeper descendants so it can be used for
              TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the
              switch statement and got rid of the "found" boolean since we can just
              return when we find something. Got rid of the default case, and instead
              listed all the enum values. Also changed to use a for loop for clarity.
              (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes.
              (WebCore::HTMLCollection::item): Ditto.
              (WebCore::HTMLCollection::nextItem): Ditto.
              (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element
              instead of a Node pointer.
              (WebCore::HTMLCollection::namedItem): More of the same.
              (WebCore::HTMLCollection::updateNameCache): Ditto.
              (WebCore::HTMLCollection::namedItems): Ditto.
              (WebCore::HTMLCollection::nextNamedItem): Ditto.
              (WebCore::HTMLCollection::tags): Ditto.
      
              * html/HTMLCollection.h: Added a type FormElements, so that the
              HTMLFormCollection would not have a type of DocImages, which is what
              it previously did. Changed the base parameter to be a PassRefPtr to
              make it clear we take ownership of it. Added a comment explaining
              why we should change the name CollectionInfo. Made a lot more members
              private instead of protected. Renamed traverseNextItem to itemAfter.
              Changed most functions to take Element* instead of Node*.
      
              * html/HTMLFormCollection.cpp:
              (WebCore::HTMLFormCollection::formCollectionInfo): Added.
              (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass
              collection info into the base class.
              (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we
              don't need to get at m_base directly.
              (WebCore::HTMLFormCollection::item): Same, but for info().
              (WebCore::HTMLFormCollection::getNamedItem): Removed unused first
              argument.
              (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded
              checks that the base is still an element and still a form, since that's
              guaranteed.
              (WebCore::HTMLFormCollection::nextItem): Use info().
              (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of
              Element, some name changes.
              (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere.
              (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop
              to be much simpler.
              (WebCore::HTMLFormCollection::updateNameCache): More of the same.
      
              * html/HTMLFormCollection.h: Changed constructor to take an
              HTMLFormElement, using a PassRefPtr to communicate transfer of
              ownership. Made everything private instead of protected. Removed
              unneeded override of firstItem. Made getNamedItem and
              nextNamedItemInternal non-virtual. Removed unused first argument of
              getNamedItem. Added declaration of formCollectionInfo.
      
              * html/HTMLNameCollection.cpp:
              (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass
              collection info into the base class.
              (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and
              changed into a for loop.
      
              * html/HTMLNameCollection.h: Updated for name changes. Made function
              private instead of public. Used PassRefPtr in constructor.
      
              * html/HTMLOptionsCollection.cpp:
              (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to
              pass collection info into the base class.
              (WebCore::HTMLOptionsCollection::add): Updated for public/private
              changes in the base class.
              (WebCore::HTMLOptionsCollection::selectedIndex): Ditto.
              (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto.
              (WebCore::HTMLOptionsCollection::setLength): Ditto.
      
              * html/HTMLOptionsCollection.h: Changed constructor parameter to be a
              PassRefPtr.
      
              * html/HTMLTableRowElement.cpp:
              (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr
              and PassRefPtr since this creates a new object. This alone fixed the
              crash. Also cleaned up logic a bit to be more readable.
      
              * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr.
              Also reordered functions a bit to make things a little more logical and
              removed the unused ncols data member.
      
              * html/HTMLTableSectionElement.cpp:
              (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not
              TableRows. This mistake was harmless before because TableRows and
              TSectionRows were handled identically inside HTMLCollection, but that is
              no longer the case with this fix.
      
              * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the
              fact that HTMLOptionsCollection no longer includes HTMLOptionElement.
              I don't think this really should be a special case -- might be worth
              returning later to see if this can be optimized.
      
      LayoutTests:
      
              Reviewed by Mitz.
      
              - tests for table-related HTMLCollection classes for misnested
                tables and for <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/
      
              * fast/dom/HTMLTableElement/resources: Added.
              * fast/dom/HTMLTableElement/resources/TEMPLATE.html: Added.
              * fast/dom/HTMLTableElement/resources/rows.js: Added.
              * fast/dom/HTMLTableElement/resources/tBodies.js: Added.
              * fast/dom/HTMLTableElement/rows-expected.txt: Added.
              * fast/dom/HTMLTableElement/rows.html: Added.
              * fast/dom/HTMLTableElement/tBodies-expected.txt: Added.
              * fast/dom/HTMLTableElement/tBodies.html: Added.
              * fast/dom/HTMLTableRowElement: Added.
              * fast/dom/HTMLTableRowElement/cells-expected.txt: Added.
              * fast/dom/HTMLTableRowElement/cells.html: Added.
              * fast/dom/HTMLTableRowElement/insertCell-expected.txt: Added.
              * fast/dom/HTMLTableRowElement/insertCell.html: Added.
              * fast/dom/HTMLTableRowElement/resources: Added.
              * fast/dom/HTMLTableRowElement/resources/TEMPLATE.html: Added.
              * fast/dom/HTMLTableRowElement/resources/cells.js: Added.
              * fast/dom/HTMLTableSectionElement: Added.
              * fast/dom/HTMLTableSectionElement/resources: Added.
              * fast/dom/HTMLTableSectionElement/resources/TEMPLATE.html: Added.
              * fast/dom/HTMLTableSectionElement/resources/rows.js: Added.
              * fast/dom/HTMLTableSectionElement/rows-expected.txt: Added.
              * fast/dom/HTMLTableSectionElement/rows.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6b16660d
    • zimmermann@webkit.org's avatar
      Reviewed by Adam. · bcfb2f43
      zimmermann@webkit.org authored
      RenderSVGViewportContainer sets wrong width/height.
      Share code with RenderSVGContainer in a central calcBounds() function.
      
      Fixes:
      - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403)
      - svg/custom/deep-dynamic-updates.svg
      - svg/custom/use-clipped-hit.svg
      - svg/custom/image-clipped-hit.svg
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bcfb2f43
    • beidson@apple.com's avatar
      Reviewed by Darin · 3af427d1
      beidson@apple.com authored
              databaseChanged notifications were being sent out on the database thread - they need to be on the main thread
              like all other notifications we send out!
      
              * platform/SecurityOriginData.cpp:
              (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops
              * platform/SecurityOriginData.h:
      
              * storage/DatabaseTracker.cpp:
              (WebCore::notificationMutex):
              (WebCore::notificationQueue):
              (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue
              (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications
                on the main thread
              (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue
              * storage/DatabaseTracker.h:
      
              * storage/SQLTransaction.cpp:
              (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!"
              (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3af427d1
    • rwlbuis@webkit.org's avatar
      Reviewed by Darin. · 1b4adb71
      rwlbuis@webkit.org authored
              http://bugs.webkit.org/show_bug.cgi?id=16002
              Load SVG (and other) UA StyleSheets dynamically when needed
      
              Load svg sheet when needed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b4adb71
    • mrowe@apple.com's avatar
      Speculative Windows build fix. · bfb50d93
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfb50d93
    • zimmermann@webkit.org's avatar
      Rubber stamped by Eric. · 3e7d4a80
      zimmermann@webkit.org authored
      Move platform/graphics/svg to graphics/svg as discussed on webkit-dev.
      Updated all project files.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e7d4a80
    • zimmermann@webkit.org's avatar
      Reviewed by Maciej. · 96202e55
      zimmermann@webkit.org authored
      Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      96202e55
    • alp@webkit.org's avatar
      2007-12-01 Alp Toker <alp@atoker.com> · e18530bc
      alp@webkit.org authored
              Reviewed by Adam Roben.
      
              Wrap type definitions in webkitdefines.h with G_BEGIN_DECLS, which
              takes care of extern "C".
      
              Introduce a webkit.h convenience header.
      
              Remove another left-over from the old API.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e18530bc
  4. 01 Dec, 2007 5 commits
    • antti@apple.com's avatar
      WebCore: · e5c6b352
      antti@apple.com authored
              Reviewed by Adam.
              
              - Fix a crash when removing a loading media element from the tree.
              - Follow the spec by invoking pause() when element is removed from the tree instead of unloading.
      
              Tests: http/tests/media/remove-while-loading.html
                     media/remove-from-document.html
      
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::removedFromDocument):
      
      LayoutTests:
      
              Reviewed by Adam.
              
              Test that removing a media element when it is loading does not crash.
              Test that media is paused when it is removed from the tree.
      
              * http/tests/media/remove-while-loading-expected.txt: Added.
              * http/tests/media/remove-while-loading.html: Added.
              * media/remove-from-document-expected.txt: Added.
              * media/remove-from-document.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e5c6b352
    • ggaren@apple.com's avatar
      Reviewed by Beth Dakin. · 427fd26f
      ggaren@apple.com authored
              Restored the test string in this test.
      
              * manual-tests/window-open-features-parsing.html:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      427fd26f
    • ggaren@apple.com's avatar
      JavaScriptCore: · 41893215
      ggaren@apple.com authored
              Reviewed by Beth Dakin.
              
              Reversed the ownership relationship between Interpreter and JSGlobalObject.
              Now, the JSGlobalObject owns the Interpreter, and top-level objects
              that need the two to persist just protect the JSGlobalObject from GC.
              
              Global object bootstrapping looks a little odd right now, but it will
              make much more sense soon, after further rounds of refactoring.
      
              * bindings/runtime_root.h: Made this class inherit from RefCounted,
              to avoid code duplication.
      
              * kjs/collector.cpp:
              (KJS::Collector::collect): No need to give special GC treatment to 
              Interpreters, since we mark their global objects, which mark them.
      
              * kjs/interpreter.cpp:
              (KJS::Interpreter::mark): No need to mark our global object, since it
              marks us.
              * kjs/interpreter.h: Don't inherit from RefCounted -- JSGlobalObject 
              owns us directly.
      
              * kjs/testkjs.cpp: Modified to follow the new rules.
              (createGlobalObject):
              (runWithScripts):
      
      JavaScriptGlue:
      
              Reviewed by Beth Dakin.
              
              Modified to follow new JSGlobalObject/Interpreter ownership rules 
              in JavaScriptCore.
      
              * JSRun.cpp:
              (JSRun::JSRun):
              (JSRun::GetInterpreter):
              (JSRun::Evaluate):
              (JSRun::CheckSyntax):
              * JSRun.h:
              * JSValueWrapper.cpp:
              (unprotectGlobalObject):
              (initializeGlobalObjectKey):
              (getThreadGlobalExecState):
      
      WebCore:
      
              Reviewed by Beth Dakin.
              
              Modified WebCore to follow the new JSGlobalObject/Interpreter ownership
              rules in JavaScriptCore.
      
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_binding.h: Removed stale, unused 
              interpreterForGlobalObject().
      
              * bindings/js/kjs_proxy.cpp: Changed to store a global object, rather
              than an interpreter.
              (WebCore::KJSProxy::finishedWithEvent): Need to NULL check 
              m_globalObject here because we no longer unnecessarily instantiate it.
      
              * bindings/js/kjs_window.cpp:
              (KJS::ScheduledAction::execute):
              * bindings/js/kjs_window.h: Removed redundant and less efficient 
              interpreter() function -- global objects have direct access to their
              interpreters now.
      
              Changed these functions to pass around JSGlobalObjects instead of 
              Interpreters:
      
              * page/Frame.cpp:
              (WebCore::Frame::bindingRootObject):
              (WebCore::Frame::createRootObject):
              * page/Frame.h:
              * page/mac/WebCoreFrameBridge.mm:
              (createRootObject):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      41893215
    • darin@apple.com's avatar
      Reviewed by Mitz. · c5ecde6e
      darin@apple.com authored
              - fix problem tracked by these bugs:
                http://bugs.webkit.org/show_bug.cgi?id=16097
                <rdar://problem/5619305> Safari crashes during load of LexisNexis search results
                <rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at
                WebCore::DocumentLoader::isLoadingMultipartContent const
      
              * loader/ImageDocument.cpp:
              (WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement
              instead of an HTMLImageElement.
              (WebCore::ImageDocument::scale): Added a null check for m_imageElement.
              (WebCore::ImageDocument::resizeImageToFit): Ditto.
              (WebCore::ImageDocument::restoreImageSize): Ditto.
              (WebCore::ImageDocument::imageFitsInWindow): Ditto.
              (WebCore::ImageDocument::windowSizeChanged): Ditto.
              (WebCore::ImageDocumentElement::~ImageDocumentElement): Call
              disconnectImageElement so m_imageElement will be set to 0
               if we're still connected to the document.
              (WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto.
      
              * loader/ImageDocument.h: Changed image element type to be
              ImageDocumentElement instead of HTMLImageElement. Also added
              a disconnectImageElement function that sets m_imageElement to 0.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28304 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c5ecde6e
    • darin@apple.com's avatar
      - remove the empty directories · 205d28b5
      darin@apple.com authored
              * ksvg2: Removed.
              * ksvg2/css: Removed.
              * ksvg2/events: Removed.
              * ksvg2/misc: Removed.
              * ksvg2/scripts: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@28303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      205d28b5