1. 28 Jan, 2009 30 commits
    • darin@chromium.org's avatar
      2009-01-28 Darin Fisher <darin@chromium.org> · dce44adc
      darin@chromium.org authored
              Reviewed by Eric Seidel.
      
              https://bugs.webkit.org/show_bug.cgi?id=23596
              XMLHttpRequest.cpp no longer compiles without USE(JSC)
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dce44adc
    • darin@chromium.org's avatar
      2009-01-28 Darin Fisher <darin@chromium.org> · aa2ff556
      darin@chromium.org authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=23597
              Make it possible to compile Database.cpp when USE(JSC) is not defined
      
              * storage/Database.cpp:
              (WebCore::Database::Database):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa2ff556
    • mitz@apple.com's avatar
      Reviewed by Darin Adler. · 0906c5a2
      mitz@apple.com authored
              - fix <rdar://problem/6077047> REGRESSION (r34544): Custom icon does not
                appear in address field on first visit to any site
      
              * loader/icon/IconLoader.cpp:
              (WebCore::IconLoader::finishLoading): Changed to set the icon data only
              after establishing a mapping from the page URL(s) to the icon. Doing
              things the other way around resulted in the data not being cached
              in the icon-URL to IconRecord map (because there was no interested page
              at the time) and subsequently having to be fetched asynchronously from
              the database when the page-to-icon mapping was established.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0906c5a2
    • hyatt@apple.com's avatar
      2009-01-28 David Hyatt <hyatt@apple.com> · 9bfe16c2
      hyatt@apple.com authored
              Move addFocusRingRects from RenderFlow down into RenderBlock and RenderInline.
      
              Reviewed by Oliver Hunt
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::addFocusRingRects):
              * rendering/RenderBlock.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::addFocusRingRects):
              * rendering/RenderInline.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9bfe16c2
    • hyatt@apple.com's avatar
      2009-01-28 David Hyatt <hyatt@apple.com> · f60125bc
      hyatt@apple.com authored
              Move localCaretRect from RenderFlow into RenderBlock, since it only applied to blocks anyway and
              was misplaced from the start.
      
              Reviewed by anttik
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::localCaretRect):
              * rendering/RenderBlock.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f60125bc
    • weinig@apple.com's avatar
      JavaScriptCore: · 89d44d2e
      weinig@apple.com authored
      2009-01-28  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Geoff Garen.
      
              Fix for <rdar://problem/6129678>
              REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view
      
              Iterating the properties of activation objects accessed through the WebKit debugging
              APIs was broken by forced conversion of JSActivation to the global object. To fix this,
              we use a proxy activation object that acts more like a normal JSObject.
      
              * debugger/DebuggerActivation.cpp: Added.
              (JSC::DebuggerActivation::DebuggerActivation):
              (JSC::DebuggerActivation::mark):
              (JSC::DebuggerActivation::className):
              (JSC::DebuggerActivation::getOwnPropertySlot):
              (JSC::DebuggerActivation::put):
              (JSC::DebuggerActivation::putWithAttributes):
              (JSC::DebuggerActivation::deleteProperty):
              (JSC::DebuggerActivation::getPropertyNames):
              (JSC::DebuggerActivation::getPropertyAttributes):
              (JSC::DebuggerActivation::defineGetter):
              (JSC::DebuggerActivation::defineSetter):
              (JSC::DebuggerActivation::lookupGetter):
              (JSC::DebuggerActivation::lookupSetter):
              * debugger/DebuggerActivation.h: Added.
              Proxy JSActivation object for Debugging.
      
              * runtime/JSActivation.h:
              (JSC::JSActivation::isActivationObject): Added.
              * runtime/JSObject.h:
              (JSC::JSObject::isActivationObject): Added.
      
      WebCore:
      
      2009-01-28  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Geoff Garen.
      
              Add forwarding header.
      
              * ForwardingHeaders/debugger/DebuggerActivation.h: Added.
      
      WebKit/mac:
      
      2009-01-28  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Geoff Garen.
      
              Fix for <rdar://problem/6129678>
              REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view
      
              * WebView/WebScriptDebugDelegate.mm:
              (-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89d44d2e
    • ggaren@apple.com's avatar
      2009-01-28 Geoffrey Garen <ggaren@apple.com> · bd22978a
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
              
              Added layout tests for how many history items are created during a
              redirect. (Many of these results are expected failures for now.)
      
              * http/tests/history: Added.
              * http/tests/history/redirect-200-refresh-0-seconds-expected.txt: Added.
              * http/tests/history/redirect-200-refresh-0-seconds.pl: Added.
              * http/tests/history/redirect-200-refresh-2-seconds-expected.txt: Added.
              * http/tests/history/redirect-200-refresh-2-seconds.pl: Added.
              * http/tests/history/redirect-301-expected.txt: Added.
              * http/tests/history/redirect-301.pl: Added.
              * http/tests/history/redirect-302-expected.txt: Added.
              * http/tests/history/redirect-302.pl: Added.
              * http/tests/history/redirect-303-expected.txt: Added.
              * http/tests/history/redirect-303.pl: Added.
              * http/tests/history/redirect-307-expected.txt: Added.
              * http/tests/history/redirect-307.pl: Added.
              * http/tests/history/redirect-js-document-location-0-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-document-location-0-seconds.html: Added.
              * http/tests/history/redirect-js-document-location-2-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-document-location-2-seconds.html: Added.
              * http/tests/history/redirect-js-document-location-before-load-expected.txt: Added.
              * http/tests/history/redirect-js-document-location-before-load.html: Added.
              * http/tests/history/redirect-js-location-0-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-location-0-seconds.html: Added.
              * http/tests/history/redirect-js-location-2-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-location-2-seconds.html: Added.
              * http/tests/history/redirect-js-location-assign-0-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-location-assign-0-seconds.html: Added.
              * http/tests/history/redirect-js-location-assign-2-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-location-assign-2-seconds.html: Added.
              * http/tests/history/redirect-js-location-assign-before-load-expected.txt: Added.
              * http/tests/history/redirect-js-location-assign-before-load.html: Added.
              * http/tests/history/redirect-js-location-before-load-expected.txt: Added.
              * http/tests/history/redirect-js-location-before-load.html: Added.
              * http/tests/history/redirect-js-location-href-0-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-location-href-0-seconds.html: Added.
              * http/tests/history/redirect-js-location-href-2-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-location-href-2-seconds.html: Added.
              * http/tests/history/redirect-js-location-href-before-load-expected.txt: Added.
              * http/tests/history/redirect-js-location-href-before-load.html: Added.
              * http/tests/history/redirect-js-location-replace-0-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-location-replace-0-seconds.html: Added.
              * http/tests/history/redirect-js-location-replace-2-seconds-expected.txt: Added.
              * http/tests/history/redirect-js-location-replace-2-seconds.html: Added.
              * http/tests/history/redirect-js-location-replace-before-load-expected.txt: Added.
              * http/tests/history/redirect-js-location-replace-before-load.html: Added.
              * http/tests/history/redirect-meta-refresh-0-seconds-expected.txt: Added.
              * http/tests/history/redirect-meta-refresh-0-seconds.html: Added.
              * http/tests/history/redirect-meta-refresh-2-seconds-expected.txt: Added.
              * http/tests/history/redirect-meta-refresh-2-seconds.html: Added.
              * http/tests/history/resources: Added.
              * http/tests/history/resources/redirect-target.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd22978a
    • ggaren@apple.com's avatar
      2009-01-28 Geoffrey Garen <ggaren@apple.com> · 32e30000
      ggaren@apple.com authored
              Build fix for GTK.
      
              * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
              (LayoutTestController::webHistoryItemCount):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32e30000
    • ggaren@apple.com's avatar
      2009-01-28 Geoffrey Garen <ggaren@apple.com> · 31912627
      ggaren@apple.com authored
              Reviewed by Sam Weinig.
              
              Added support for querying how many history items were created during a
              layout test.
      
              * DumpRenderTree/LayoutTestController.cpp:
              (getWebHistoryItemCountCallback):
              (LayoutTestController::staticValues):
              * DumpRenderTree/LayoutTestController.h:
              * DumpRenderTree/mac/LayoutTestControllerMac.mm:
              (LayoutTestController::webHistoryItemCount):
              * DumpRenderTree/win/LayoutTestControllerWin.cpp:
              (LayoutTestController::webHistoryItemCount):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31912627
    • hyatt@apple.com's avatar
      Fix build bustage. · 85b95ea5
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      85b95ea5
    • hyatt@apple.com's avatar
      Fix build bustage in release builds. · a082fc08
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a082fc08
    • hyatt@apple.com's avatar
      2009-01-28 David Hyatt <hyatt@apple.com> · c3c7e90c
      hyatt@apple.com authored
              Move createInlineBox out of RenderFlow and down into RenderInline and RenderBlock.
      
              Reviewed by Beth Dakin
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::createInlineBox):
              * rendering/RenderBlock.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::createInlineBox):
              * rendering/RenderInline.h:
              * rendering/bidi.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3c7e90c
    • hyatt@apple.com's avatar
      2009-01-28 David Hyatt <hyatt@apple.com> · 865a08bf
      hyatt@apple.com authored
              Move calcMargins from RenderFlow to RenderInline, since it was only ever called on RenderInlines.
      
              Reviewed by Oliver Hunt
      
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderInline.h:
              (WebCore::RenderInline::calcMargins):
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40324 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      865a08bf
    • hyatt@apple.com's avatar
      2009-01-28 David Hyatt <hyatt@apple.com> · b83de651
      hyatt@apple.com authored
              Refactor the first and last line box member variables from RenderFlow.  Encapsulate them into a new class called RenderLineBoxList that manages all modifications to
              the list.  This change will make it easier to give RenderInline and RenderBlock separate versions of the line box list without having to duplicate very much code.
      
              Reviewed by Oliver Hunt
      
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::deleteLine):
              (WebCore::InlineFlowBox::removeLineBoxFromRenderObject):
              (WebCore::InlineFlowBox::extractLine):
              (WebCore::InlineFlowBox::extractLineBoxFromRenderObject):
              (WebCore::InlineFlowBox::attachLine):
              (WebCore::InlineFlowBox::attachLineBoxToRenderObject):
              * rendering/InlineFlowBox.h:
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::deleteLineBoxTree):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::destroy):
              (WebCore::RenderFlow::dirtyLineBoxes):
              (WebCore::RenderFlow::createInlineBox):
              * rendering/RenderFlow.h:
              (WebCore::RenderFlow::RenderFlow):
              (WebCore::RenderFlow::lineBoxes):
              (WebCore::RenderFlow::firstLineBox):
              (WebCore::RenderFlow::lastLineBox):
              * rendering/RenderLineBoxList.cpp: Added.
              (WebCore::RenderLineBoxList::~RenderLineBoxList):
              (WebCore::RenderLineBoxList::appendLineBox):
              (WebCore::RenderLineBoxList::deleteLineBoxTree):
              (WebCore::RenderLineBoxList::extractLineBox):
              (WebCore::RenderLineBoxList::attachLineBox):
              (WebCore::RenderLineBoxList::removeLineBox):
              (WebCore::RenderLineBoxList::deleteLineBoxes):
              (WebCore::RenderLineBoxList::checkConsistency):
              * rendering/RenderLineBoxList.h: Added.
              (WebCore::RenderLineBoxList::RenderLineBoxList):
              (WebCore::RenderLineBoxList::firstLineBox):
              (WebCore::RenderLineBoxList::lastLineBox):
              (WebCore::RenderLineBoxList::checkConsistency):
              * rendering/RenderSVGInline.cpp:
              (WebCore::RenderSVGInline::createInlineBox):
              * rendering/RenderSVGText.cpp:
              (WebCore::RenderSVGText::createInlineBox):
              * rendering/RootInlineBox.cpp:
              (WebCore::RootInlineBox::removeLineBoxFromRenderObject):
              (WebCore::RootInlineBox::extractLineBoxFromRenderObject):
              (WebCore::RootInlineBox::attachLineBoxToRenderObject):
              * rendering/RootInlineBox.h:
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b83de651
    • ddkilzer@apple.com's avatar
      Clean up FontPlatformData constructor · 0d261622
      ddkilzer@apple.com authored
              Reviewed by David Hyatt.
      
              * platform/graphics/mac/FontPlatformData.h: Updated copyright.
              (WebCore::FontPlatformData::FontPlatformData): Provide readable
              names for constructor arguments and reformat member variables.
              * platform/graphics/mac/FontPlatformDataMac.mm: Updated copyright.
              (WebCore::FontPlatformData::FontPlatformData): Provide readable
              names for constructor arguments and reformat member variables.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40322 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0d261622
    • darin@chromium.org's avatar
      2009-01-28 Tony Chang <tony@chromium.org> · ed4a41eb
      darin@chromium.org authored
              Reviewed by David Hyatt.
      
              https://bugs.webkit.org/show_bug.cgi?id=23593
              Compile fixes for RenderThemeChromiumMac and RenderThemeChromiumWin.
              This is a follow up for hyatt's RenderBox changes.
      
              * rendering/RenderThemeChromiumMac.mm:
              (WebCore::RenderThemeChromiumMac::baselinePosition):
              * rendering/RenderThemeChromiumWin.cpp:
              (WebCore::RenderThemeChromiumWin::paintMenuList):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed4a41eb
    • ddkilzer@apple.com's avatar
      Fixed ChangeLog dates. · 29c25356
      ddkilzer@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      29c25356
    • ddkilzer@apple.com's avatar
      Bug 23490: Remove initialRefCount argument from RefCounted class · 4aa4d44b
      ddkilzer@apple.com authored
              <https://bugs.webkit.org/show_bug.cgi?id=23490>
      
              Reviewed by Darin Adler.
      
      JavaScriptCore:
      
              RefCountedBase now always starts with a ref count of 1, so there
              is no need to pass the initialRefCount into the class anymore.
      
              * wtf/ByteArray.h:
              (WTF::ByteArray::ByteArray): Removed call to RefCounted(1).
              * wtf/RefCounted.h:
              (WTF::RefCountedBase::RefCountedBase): Changed to start with a
              ref count of 1.
              (WTF::RefCounted::RefCounted): Removed initialRefCount argument
              and removed call to RefCounted(1).
      
      WebKit/wx:
      
              FrameLoaderClientWx is no longer a RefCounted class.
      
              * WebKitSupport/FrameLoaderClientWx.cpp:
              (WebCore::FrameLoaderClientWx::FrameLoaderClientWx): Removed call
              to the RefCounted<FrameLoaderClientWx>(0) super constructor.
              * WebKitSupport/FrameLoaderClientWx.h: Don't include RefCounted.h
              and stop inheriting from RefCounted<FrameLoaderClientWx>.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40319 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4aa4d44b
    • simon.fraser@apple.com's avatar
      2009-01-28 Simon Fraser <simon.fraser@apple.com> · 498c80f4
      simon.fraser@apple.com authored
              Reviewed by Dave Hyatt
      
              https://bugs.webkit.org/show_bug.cgi?id=23582
      
              Fix assertions when inline elements have both opacity (or something
              else that creates a RenderLayer), and transform by ensuring that
              setHasTransform() is only called for non-inline or replaced elements.
              We also have to ensure that RenderReplicas will get transforms applied
              to them by lying about them being replaced.
      
              Tests: fast/transforms/transform-on-inline.html
                     fast/transforms/transform-table-row.html
      
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::styleDidChange):
              * rendering/RenderReplica.cpp:
              (WebCore::RenderReplica::RenderReplica):
              * rendering/RenderTableRow.h:
              (WebCore::RenderTableRow::requiresLayer):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40318 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      498c80f4
    • darin@chromium.org's avatar
      2009-01-28 Hironori Bono <hbono@chromium.org> · 83ea3134
      darin@chromium.org authored
              Reviewed by Justin Garcia.
      
              https://bugs.webkit.org/show_bug.cgi?id=18835
              Spelling underlines disappear when they shouldn't
      
              The WebCore::InsertLineBreakCommand::doApply() function splits a text node
              without copying existing markers. To fix this bug, change code which
              manually splits a text node into a CompositeEditCommand::splitTextNode() call.
      
              Test: editing/spelling/spelling-linebreak.html
      
              * editing/InsertLineBreakCommand.cpp:
              (WebCore::InsertLineBreakCommand::doApply):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40317 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83ea3134
    • hyatt@apple.com's avatar
      2009-01-28 David Hyatt <hyatt@apple.com> · 7c5bd581
      hyatt@apple.com authored
              Move the m_lineHeight member variable out of RenderFlow and down into RenderBlock and RenderInline.  Shift the line height computation into RenderStyle so
              that it isn't repeated in three places.
      
              Reviewed by Sam Weinig
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::RenderBlock):
              (WebCore::RenderBlock::lineHeight):
              * rendering/RenderBlock.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              (WebCore::RenderFlow::RenderFlow):
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::RenderInline):
              (WebCore::RenderInline::lineHeight):
              * rendering/RenderInline.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::lineHeight):
              * rendering/style/RenderStyle.h:
              (WebCore::InheritedFlags::computedLineHeight):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40316 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c5bd581
    • darin@chromium.org's avatar
      2009-01-28 Zachary Kuznia <zork@chromiuum.org> · 958c8f83
      darin@chromium.org authored
              Reviewed by Sam Weinig.
      
              https://bugs.webkit.org/show_bug.cgi?id=22070
              Add an option to allow scripts to close windows.
      
              * page/Settings.cpp:
              (WebCore::Settings::Settings):
              (WebCore::Settings::setAllowScriptsToCloseWindows):
              * page/Settings.h:
              (WebCore::Settings::allowScriptsToCloseWindows):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      958c8f83
    • darin@chromium.org's avatar
      2009-01-28 Adam Langley <agl@google.com> · aa60fb42
      darin@chromium.org authored
              Reviewed by Sam Weinig.
      
              https://bugs.webkit.org/show_bug.cgi?id=23573
              Make PlatformWidget on chromium an intptr_t to match changes made in Chromium
      
              * platform/chromium/PlatformWidget.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa60fb42
    • hyatt@apple.com's avatar
      2009-01-28 David Hyatt <hyatt@apple.com> · da3b0ec0
      hyatt@apple.com authored
              Fix for 
      
              <rdar://problem/6531287> REGRESSION: CrashTracer: [USER] 12 crashes in Safari at com.apple.WebCore • WebCore::RenderBlock::removeFloatingObject + 59
      
              My tightening up of markAllDescendantsWithFloatsForLayout exposed a buggy check in that code that could
              lead to a bad cast.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da3b0ec0
    • hyatt@apple.com's avatar
      2009-01-27 David Hyatt <hyatt@apple.com> · cd6f895e
      hyatt@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=23576
      
              Work towards eliminating RenderFlow from the tree.
              
              Move the m_continuation variable down from RenderFlow into RenderInline and RenderBlock.  Since a block can only have an inline continuation following it, the type
              of the member and methods reflect this (inlineContinuation() and m_inlineContinuation).  Since an inline can have either a block or an inline continuation following it,
              a base class of RenderBox* is used for the type of object returned (in anticipation of the removal of RenderFlow).
              
              Since moving the continuation variable down into the subclasses increased the size of RenderInline and RenderBlock by 4 bytes, this patch also moves all of the bitfield
              members of RenderFlow up to RenderObject.  Since they fit within the available bits on RenderObject, this patch actually results in a net savings of 4 bytes on RenderInlines
              and RenderBlocks!
              
              One bitfield member was eliminated rather than moved: m_firstLine.  This was really more of a state variable used during line layout only, so I removed it as a member
              and just passed firstLine down to various methods as needed.  Doing so uncovered some potential bugs where the first line state was not being respected when querying for
              line offsets.
      
              Continuations have been completely hidden from all files except for RenderFlow, RenderBlock and RenderInline.  All of the code that referenced continuations directly
              from base classes has been refactored to use virtual methods on RenderBlock and RenderInline instead.
              
              RenderFlow still has a common addChildWithContinuation method that is used by both blocks and inlines.  Since refactoring that method will be pretty tricky, I've held
              off on that for a later patch.
      
              Reviewed by Oliver Hunt
      
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::isKeyboardFocusable):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::anchorElement):
              (WebCore::AccessibilityRenderObject::boundingBoxRect):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
              (WebCore::InlineFlowBox::paint):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::RenderBlock):
              (WebCore::RenderBlock::~RenderBlock):
              (WebCore::RenderBlock::destroy):
              (WebCore::RenderBlock::addChildToFlow):
              (WebCore::RenderBlock::makeChildrenNonInline):
              (WebCore::RenderBlock::removeChild):
              (WebCore::RenderBlock::layoutBlock):
              (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
              (WebCore::RenderBlock::collapseMargins):
              (WebCore::RenderBlock::determineHorizontalPosition):
              (WebCore::RenderBlock::setCollapsedBottomMargin):
              (WebCore::RenderBlock::layoutOnlyPositionedObjects):
              (WebCore::RenderBlock::paintObject):
              (WebCore::RenderBlock::addContinuationWithOutline):
              (WebCore::RenderBlock::setSelectionState):
              (WebCore::RenderBlock::shouldPaintSelectionGaps):
              (WebCore::RenderBlock::fillSelectionGaps):
              (WebCore::RenderBlock::leftSelectionOffset):
              (WebCore::RenderBlock::rightSelectionOffset):
              (WebCore::RenderBlock::leftOffset):
              (WebCore::RenderBlock::leftRelOffset):
              (WebCore::RenderBlock::rightOffset):
              (WebCore::RenderBlock::rightRelOffset):
              (WebCore::RenderBlock::lineWidth):
              (WebCore::RenderBlock::lowestPosition):
              (WebCore::RenderBlock::rightmostPosition):
              (WebCore::RenderBlock::leftmostPosition):
              (WebCore::RenderBlock::getClearDelta):
              (WebCore::RenderBlock::nodeAtPoint):
              (WebCore::RenderBlock::offsetForContents):
              (WebCore::RenderBlock::availableWidth):
              (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
              (WebCore::RenderBlock::desiredColumnWidth):
              (WebCore::RenderBlock::desiredColumnCount):
              (WebCore::RenderBlock::columnRects):
              (WebCore::RenderBlock::layoutColumns):
              (WebCore::RenderBlock::adjustPointToColumnContents):
              (WebCore::RenderBlock::adjustRectForColumns):
              (WebCore::RenderBlock::absoluteRects):
              (WebCore::RenderBlock::absoluteQuads):
              (WebCore::RenderBlock::rectWithOutlineForRepaint):
              (WebCore::RenderBlock::hoverAncestor):
              (WebCore::RenderBlock::updateDragState):
              (WebCore::RenderBlock::outlineStyleForRepaint):
              (WebCore::RenderBlock::childBecameNonInline):
              (WebCore::RenderBlock::updateHitTestResult):
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::rightOffset):
              (WebCore::RenderBlock::leftOffset):
              (WebCore::RenderBlock::inlineContinuation):
              (WebCore::RenderBlock::setInlineContinuation):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::absoluteRects):
              (WebCore::RenderBox::absoluteQuads):
              (WebCore::RenderBox::addFocusRingRects):
              (WebCore::RenderBox::containingBlockWidth):
              * rendering/RenderBox.h:
              (WebCore::RenderBox::collapsedMarginBottom):
              (WebCore::RenderBox::childBecameNonInline):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
              (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
              * rendering/RenderFlexibleBox.cpp:
              (WebCore::RenderFlexibleBox::layoutVerticalBox):
              * rendering/RenderFlow.cpp:
              (WebCore::nextContinuation):
              (WebCore::RenderFlow::continuationBefore):
              (WebCore::RenderFlow::addChildWithContinuation):
              (WebCore::RenderFlow::addChild):
              (WebCore::RenderFlow::destroy):
              (WebCore::RenderFlow::addFocusRingRects):
              * rendering/RenderFlow.h:
              (WebCore::RenderFlow::RenderFlow):
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::RenderInline):
              (WebCore::RenderInline::destroy):
              (WebCore::RenderInline::inlineContinuation):
              (WebCore::RenderInline::styleDidChange):
              (WebCore::RenderInline::addChildToFlow):
              (WebCore::RenderInline::cloneInline):
              (WebCore::RenderInline::splitInlines):
              (WebCore::RenderInline::splitFlow):
              (WebCore::RenderInline::positionForCoordinates):
              (WebCore::RenderInline::rectWithOutlineForRepaint):
              (WebCore::RenderInline::updateDragState):
              (WebCore::RenderInline::childBecameNonInline):
              (WebCore::RenderInline::updateHitTestResult):
              * rendering/RenderInline.h:
              (WebCore::RenderInline::isRenderInline):
              (WebCore::RenderInline::continuation):
              (WebCore::RenderInline::setContinuation):
              * rendering/RenderListItem.cpp:
              (WebCore::RenderListItem::positionListMarker):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::RenderListMarker):
              (WebCore::RenderListMarker::setSelectionState):
              * rendering/RenderListMarker.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::RenderObject):
              (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
              (WebCore::RenderObject::rectWithOutlineForRepaint):
              (WebCore::RenderObject::handleDynamicFloatPositionChange):
              (WebCore::RenderObject::updateDragState):
              (WebCore::RenderObject::updateHitTestResult):
              (WebCore::RenderObject::getTextDecorationColors):
              (WebCore::RenderObject::adjustRectForOutlineAndShadow):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::isInlineBlockOrInlineTable):
              (WebCore::RenderObject::childrenInline):
              (WebCore::RenderObject::setChildrenInline):
              (WebCore::RenderObject::hasColumns):
              (WebCore::RenderObject::setHasColumns):
              (WebCore::RenderObject::cellWidthChanged):
              (WebCore::RenderObject::setCellWidthChanged):
              (WebCore::RenderObject::isInlineContinuation):
              (WebCore::RenderObject::hoverAncestor):
              (WebCore::RenderObject::outlineStyleForRepaint):
              (WebCore::RenderObject::setHasMarkupTruncation):
              (WebCore::RenderObject::hasMarkupTruncation):
              (WebCore::RenderObject::selectionState):
              (WebCore::RenderObject::setSelectionState):
              (WebCore::RenderObject::hasSelectedChildren):
              (WebCore::RenderObject::isTopMarginQuirk):
              (WebCore::RenderObject::isBottomMarginQuirk):
              (WebCore::RenderObject::setTopMarginQuirk):
              (WebCore::RenderObject::setBottomMarginQuirk):
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::RenderReplaced):
              (WebCore::RenderReplaced::setSelectionState):
              * rendering/RenderReplaced.h:
              (WebCore::RenderReplaced::canBeSelectionLeaf):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::calcWidth):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::updateWidth):
              (WebCore::RenderTableCell::layout):
              * rendering/RenderText.cpp:
              (WebCore::RenderText::RenderText):
              (WebCore::RenderText::localCaretRect):
              (WebCore::RenderText::setSelectionState):
              * rendering/RenderText.h:
              (WebCore::RenderText::canBeSelectionLeaf):
              * rendering/RenderView.cpp:
              (WebCore::RenderView::updateHitTestResult):
              * rendering/RenderView.h:
              * rendering/RootInlineBox.cpp:
              (WebCore::RootInlineBox::selectionTop):
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::createLineBoxes):
              (WebCore::RenderBlock::constructLine):
              (WebCore::RenderBlock::computeHorizontalPositionsForLine):
              (WebCore::RenderBlock::layoutInlineChildren):
              (WebCore::RenderBlock::determineStartPosition):
              (WebCore::RenderBlock::skipTrailingWhitespace):
              (WebCore::RenderBlock::skipLeadingWhitespace):
              (WebCore::RenderBlock::fitBelowFloats):
              (WebCore::RenderBlock::findNextLineBreak):
              (WebCore::RenderBlock::checkLinesForTextOverflow):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd6f895e
    • treat@webkit.org's avatar
      Reviewed by Nikolas Zimmermann and George Staikos. · 417f5402
      treat@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=23557
      Allow option of hit testing frame content without clipping to the visible
      viewport.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      417f5402
    • hausmann@webkit.org's avatar
      2009-01-28 Simon Hausmann <simon.hausmann@nokia.com> · e3e8c8f2
      hausmann@webkit.org authored
              Reviewed by Holger Freyther.
      
              Fix the build with Qt on Windows.
      
              Make sure that the QTWEBKIT_EXPORT macro becomes the Q_DECL_EXPORT macro
              instead of the import macro when building the dll, by defining
              QT_MAKEDLL.
      
              SystemTimeWin.cpp is needed on Windows for userIdleTime(), which for the
              other Qt platforms comes from TemporaryLinkStubs.cpp.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3e8c8f2
    • ariya@webkit.org's avatar
      2009-01-28 Ariya Hidayat <ariya.hidayat@trolltech.com> · 59a60261
      ariya@webkit.org authored
              Rubber-stamped by Simon Hausmann.
      
              Provide default implementations of JavaScript dialog boxes like in
              most web browsers, i.e. indicate that is from JavaScript and show the
              frame URL.
      
              * Api/qwebpage.cpp:
              (QWebPage::javaScriptAlert):
              (QWebPage::javaScriptConfirm):
              (QWebPage::javaScriptPrompt):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59a60261
    • ariya@webkit.org's avatar
      2009-01-28 Ariya Hidayat <ariya.hidayat@trolltech.com> · a8d184a2
      ariya@webkit.org authored
              Reviewed by Simon Hausmann.
      
              [Qt] Speed-up clipping: avoid calling expensive QPainter::clipRegion().
              Beside, the check is not necessary since QPainter::setClipRect() will
              work just fine if there is no clip region yet.
      
              * platform/graphics/qt/GraphicsContextQt.cpp:
              (WebCore::GraphicsContext::clip):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40308 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8d184a2
    • darin@chromium.org's avatar
      2009-01-28 Darin Fisher <darin@chromium.org> · da869c16
      darin@chromium.org authored
              Reviewed by Darin Adler.
      
              https://bugs.webkit.org/show_bug.cgi?id=23546
              Upstream GoogleURL implementation of KURL
      
              * platform/KURL.h:
              * platform/KURLGoogle.cpp: Added.
              * platform/KURLGooglePrivate.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40307 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da869c16
  2. 27 Jan, 2009 10 commits