⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Apr 11, 2007:

11:42 PM Changeset in webkit [20858] by oliver
  • 13 edits in trunk

2007-04-11 Oliver Hunt <oliver@apple.com>

Reviewed by Maciej.

WebCore:

Adding RetainPtr to the many global obj-c pointers we use in
C/C++ methods. This is necessary to prevent GC from collecting
globals we want to keep around.

We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure
obj-c.

Also made the Pasteboard::m_pasteboard a RetainPtr although it
shouldn't be necessary as the only NSPasteboard instances that
should ever be inserted are the system clipboard and dragging
pasteboard. Neither of which should ever be collected.

  • page/mac/WebCoreFrameBridge.mm: (_getPreSmartSet): (_getPostSmartSet):
  • platform/Pasteboard.h:
  • platform/graphics/mac/ColorMac.mm: (WebCore::nsColor):
  • platform/graphics/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
  • platform/mac/FontDataMac.mm: (WebCore::webFallbackFontFamily):
  • platform/mac/PasteboardMac.mm: (WebCore::writableTypesForURL): (WebCore::writableTypesForImage): (WebCore::Pasteboard::clear): (WebCore::Pasteboard::writeSelection): (WebCore::Pasteboard::writeURL): (WebCore::Pasteboard::writeFileWrapperAsRTFDAttachment): (WebCore::Pasteboard::writeImage): (WebCore::Pasteboard::canSmartReplace): (WebCore::Pasteboard::plainText): (WebCore::Pasteboard::documentFragment):

WebKit:

Adding RetainPtr to the many global obj-c pointers we use in
C/C++ methods. This is necessary to prevent GC from collecting
globals we want to keep around.

We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure
obj-c.

This fixes <rdar://problem/5058731> -- Crash in
WebCore::DragData::containsCompatibleContent due to early release
of types array

9:45 PM Changeset in webkit [20857] by bdash
  • 5 edits
    4 adds in trunk

2007-04-11 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/forms/menulist-option-wrap.html

  • css/html4.css: Added white-space declaration for select[size="0"] and select[size="1"]. Added border-radius declaration for select.

2007-04-11 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/forms/menulist-option-wrap-expected.checksum: Added.
  • fast/forms/menulist-option-wrap-expected.png: Added.
  • fast/forms/menulist-option-wrap-expected.txt: Added.
  • fast/forms/menulist-option-wrap.html: Added.
  • fast/forms/select-empty-option-height-expected.checksum:
  • fast/forms/select-empty-option-height-expected.png:
9:28 PM Changeset in webkit [23263] by bdash
  • 3 edits in branches/WindowsMerge/WebKitWin

2007-04-12 Mark Rowe <mrowe@apple.com>

Not reviewed. Internal counterpart to open-source r20856.

  • WebChromeClient.cpp: (WebChromeClient::createWindow): (WebChromeClient::createModalDialog):
  • WebChromeClient.h:
9:21 PM Changeset in webkit [20856] by bdash
  • 15 edits in trunk

2007-04-11 MorganL <morganl.webkit@yahoo.com>

Reviewed by Maciej.

Add a Frame pointer to ChromeClient methods:
http://bugs.webkit.org/show_bug.cgi?id=13127

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow):
  • page/Chrome.cpp: (WebCore::Chrome::createWindow): (WebCore::Chrome::createModalDialog):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/ContextMenuController.cpp: (WebCore::openNewWindow):
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyChromeClient::createWindow): (WebCore::SVGEmptyChromeClient::createModalDialog):

2007-04-11 MorganL <morganl.webkit@yahoo.com>

Reviewed by Maciej.

Add a Frame pointer to ChromeClient methods:
http://bugs.webkit.org/show_bug.cgi?id=13127

  • COM/ChromeClientWin.cpp: (ChromeClientWin::createWindow): (ChromeClientWin::createModalDialog):
  • COM/ChromeClientWin.h:
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::createWindow): (WebChromeClient::createModalDialog):

2007-04-11 MorganL <morganl.webkit@yahoo.com>

Reviewed by Maciej.

Add a Frame pointer to ChromeClient methods:
http://bugs.webkit.org/show_bug.cgi?id=13127

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::createWindow): (WebCore::ChromeClientQt::createModalDialog):
  • WebCoreSupport/ChromeClientQt.h:
6:38 PM Changeset in webkit [20855] by beidson
  • 2 edits in trunk/WebCore

Reviewed by Ada

<rdar://problem/5080987> - Crash in DocumentLoader::frameLoader() const

This was free nil checking lost during the ObjC -> C++ conversion

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Null check the DocumentLoader
6:25 PM Changeset in webkit [20854] by justing
  • 6 edits
    4 adds in trunk

LayoutTests:

Reviewed by harrison


<rdar://problem/5126166>
Deleting selection starting at before ToDo checkbox to end of line, inserts a BR in the subsequent ToDo

  • editing/deleting/5126166-expected.checksum: Added.
  • editing/deleting/5126166-expected.png: Added.
  • editing/deleting/5126166-expected.txt: Added.
  • editing/deleting/5126166.html: Added.

WebCore:

Reviewed by harrison

<rdar://problem/5126166>
Deleting selection starting at before ToDo checkbox to end of line, inserts a BR in the subsequent ToDo


If a selection ends in a table cell, we shouldn't perform
a merge after deleting that selection. We have code in
place to prevent those merges, but it failed here.


It fails because the end of the selection was [tableCell, 0],
(normally not a valid VisiblePosition, but valid here
because the table cell is empty). We prevent the merge
if the node of the position at the end of the selection
has an enclosingTableCell. Even though [tableCell, 0] has
an enclosing table cell, the node tableCell doesn't, so
the check fails.


Fixed this by changing enclosingTableCell to take in
a position, instead of a node. The other enclosing element
getters should be changed in this way as well.

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData): Call the new enclosingTableCell.
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMerge): Ditto.
  • editing/htmlediting.cpp: (WebCore::enclosingTableCell): Take in a position instead of a node.
  • editing/htmlediting.h:
5:37 PM Changeset in webkit [23262] by aroben
  • 3 edits
    1 move
    1 add
    1 delete in branches/WindowsMerge

LayoutTestsWin:

Reviewed by Tim.

Moved the Skipped file into win/Skipped in anticipation of the opensource merge.

  • Skipped: Removed.

WebCoreWin:

Reviewed by Tim.

Get rid of FrameViewWin.cpp, since it's empty.

  • WebCore.vcproj/WebCore.vcproj:
  • bridge/win/FrameViewWin.cpp: Removed.
5:33 PM Changeset in webkit [20853] by bdash
  • 1 edit in tags/WebKit-5522.6.1/WebKit/Configurations/Version.xcconfig

Versioning.

5:32 PM Changeset in webkit [20852] by bdash
  • 1 edit in tags/WebKit-5522.6.1/WebKit/Plugins/WebBaseNetscapePluginView.mm

Merge in r20765.

5:30 PM Changeset in webkit [20851] by bdash
  • 1 copy in tags/WebKit-5522.6.1/WebKit

New tag (part 2).

5:29 PM Changeset in webkit [20850] by bdash
  • 1 add in tags/WebKit-5522.6.1

New tag (part 1).

5:11 PM Changeset in webkit [23261] by adachan
  • 2 edits in branches/WindowsMerge/WebKitWin

2007-04-11 Ada Chan <adachan@apple.com>

Reviewed by Steve.


<rdar://4919560> Implement reopen last window, last session

WebKitWin:

Implemented WebHistoryItem::originalURLString(). Added parameter checks to other methods.

  • WebHistoryItem.cpp: (WebHistoryItem::originalURLString): (WebHistoryItem::URLString): (WebHistoryItem::title): (WebHistoryItem::lastVisitedTimeInterval):
2:30 PM Changeset in webkit [20849] by bdash
  • 3 edits in trunk/WebKitQt

2007-04-12 Mark Rowe <mrowe@apple.com>

Second part of Qt build fix.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::loadedFromCachedPage): (WebCore::FrameLoaderClientQt::setDocumentViewFromCachedPage): (WebCore::FrameLoaderClientQt::saveDocumentViewToCachedPage):
  • WebCoreSupport/FrameLoaderClientQt.h:
1:58 PM Changeset in webkit [20848] by bdash
  • 3 edits
    1 move in trunk/WebCore

2007-04-12 Mark Rowe <mrowe@apple.com>

Qt build fix.

  • WebCore.pro:
  • editing/qt/EditorQt.cpp: (WebCore::Editor::markBadGrammar):
  • history/qt/CachedPageQt.cpp: Added. (WebCore::CachedPage::close):
  • history/qt/PageCacheQt.cpp: Removed.
11:22 AM Changeset in webkit [20847] by beidson
  • 2 edits in trunk/WebCore

Reviewed by Antti

<rdar://problem/5125648> and http://bugs.webkit.org/show_bug.cgi?id=13326

Crash opening a link in a new window from Gmail

Problem here is that the currentHistoryItem in the new window is null. This *shouldn't* be the case,
and is the cause of a very long standing bug -
http://bugs.webkit.org/show_bug.cgi?id=3546 - Can't go back to first page in new window opened from gmail

For now, adding a null check prevents this crash and restores the original, long standing regression


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::updateHistoryForInternalLoad): NULL check
10:58 AM Changeset in webkit [23260] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Anders.

Update for changes to Pasteboard.

  • platform/win/PasteboardWin.cpp: (WebCore::Pasteboard::writeImage):
10:51 AM Changeset in webkit [20846] by aroben
  • 6 edits in trunk/WebCore

Reviewed by Anders.

Made image document copying more cross-platform.

All layout tests pass.

  • editing/Editor.cpp: (WebCore::imageNodeFromImageDocument): Added. (WebCore::Editor::canCopy): Called imageNodeFromImageDocument. (WebCore::Editor::copy): Ditto. (WebCore::Editor::copyImage): Updated for changes to Pasteboard.
  • platform/Pasteboard.h: Made writeImage more general, which allowed getting rid of its second incarnation.
  • platform/gdk/TemporaryLinkStubs.cpp:
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeImage): Collapsed logic from the two writeImage methods into one. (Pasteboard::writeImage): Updated for Pasteboard changes.
  • platform/qt/PasteboardQt.cpp: (WebCore::Pasteboard::writeImage): Ditto.
7:31 AM Changeset in webkit [20845] by thatcher
  • 1 edit in branches/WebInspectorRefresh/WebKit/WebInspector/webInspector/inspector.js

Properly reveal and select the focused node when the tree is updated.

6:54 AM Changeset in webkit [20844] by thatcher
  • 1 edit in branches/WebInspectorRefresh/WebKit/WebInspector/webInspector/inspector.js

Update the disabled state of the traverse buttons when selection changes.

6:28 AM Changeset in webkit [20843] by thatcher
  • 4 edits in branches/WebInspectorRefresh/WebKit/WebInspector/webInspector

Use the script equality operator in almost all cases. Other various cleanup.

5:59 AM Changeset in webkit [20842] by thatcher
  • 2 edits
    1 add in branches/WebInspectorRefresh/WebKit/WebInspector/webInspector

Move DOM and String prototype additions to utilities.js.

12:50 AM Changeset in webkit [20841] by darin
  • 2 edits in trunk/WebCore
  • css/CSSValueKeywords.in: Fix a comment.
12:28 AM Changeset in webkit [23259] by aroben
  • 2 edits in branches/WindowsMerge/LayoutTests
  • Skipped: Consolidated some failures that have the same underlying cause, and removed some tests that were duplicated in this file.
12:16 AM Changeset in webkit [20840] by thatcher
  • 2 edits
    1 add in branches/WebInspectorRefresh/WebKit/WebInspector/webInspector

Factored out the tree outline control into a generic JavaScript class. This fixed a couple of issues with the previous implementation.

Apr 10, 2007:

7:43 PM Changeset in webkit [20839] by justing
  • 5 edits
    14 adds in trunk

LayoutTests:

Reviewed by harrison


<rdar://problem/4932260>
Invalid attributed string for attachment range obtained via AXPreviousWordStartTextMarkerForTextMarker

Forgot to check these in in my previous checkin:

  • editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.checksum: Added.
  • editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png: Added.


Tests for a bug where replaced elements would act
as sentence boundaries:

  • editing/selection/4932260-1-expected.checksum: Added.
  • editing/selection/4932260-1-expected.png: Added.
  • editing/selection/4932260-1-expected.txt: Added.
  • editing/selection/4932260-1.html: Added.


Tests to see that replaced elements do not act as word
boundaries when moving forward through the document:

  • editing/selection/4932260-2-expected.checksum: Added.
  • editing/selection/4932260-2-expected.png: Added.
  • editing/selection/4932260-2-expected.txt: Added.
  • editing/selection/4932260-2.html: Added.


Ditto but tests moving backward:

  • editing/selection/4932260-3-expected.checksum: Added.
  • editing/selection/4932260-3-expected.png: Added.
  • editing/selection/4932260-3-expected.txt: Added.
  • editing/selection/4932260-3.html: Added.


No way to test accessibility APIs atm, and had trouble
making a test for selection creation with double-click
and drag.

WebCore:

Reviewed by harrison


<rdar://problem/4932260>
Invalid attributed string for attachment range obtained via AXPreviousWordStartTextMarkerForTextMarker


By default, text iterators don't emit anything for replaced
elements. Boundary finding code works around this but has
bugs: replaced elements act as sentence boundaries and the
above bug, where previousBoundary moves past the start of a
word if there is a replaced element just before it. This
patch fixes these issues by treating replaced elements as
punctuation for boundary finding.

  • editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Set m_pastStartNode, the node after (in a reverse pre-order traversal) the last one that should be processed. (WebCore::SimplifiedBackwardsTextIterator::advance): Stop at m_pastStartNode. Iterate over nodes in reverse pre-order (TextIterator traverses in pre-orer). This makes knowing when to emit characters after nodes vs. when to emit characters before nodes easier. Remove the special case for entering a new block, emitting characters after nodes can now be handled generally, in handleNonTextNode(), because of the way we traverse. Set m_handledChildren to false every iteration since we now do traverse in reverse pre-order. (WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Emit a comma for replaced elements. We only use this kind of iterator for finding boundaries, so we can do this unconditionally. (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Don't use emitNewline, instead specify where the newline should be positioned. A node is handled before its children, so characters emitted here should be positioned after the node, not before it. (WebCore::SimplifiedBackwardsTextIterator::exitNode): Don't use emitNewline, instead specify where the newline should be positioned. (WebCore::CharacterIterator::CharacterIterator): Create a TextIterator that emits content for replaced elements, if requested.
  • editing/TextIterator.h:
  • editing/visible_units.cpp: (WebCore::previousBoundary): Removed replaced element handling code. If the start of the chunk that contained the boundary was in a non-text node, then the boundary is not necessarily in that node. Particularly because it is only the end of the chunk that is guaranteed to be a valid position in those cases. We must iterate backwards by character from the end of the chunk to find the boundary. (WebCore::nextBoundary): Removed replaced element handling code.
6:46 PM Changeset in webkit [23258] by kmccullo
  • 2 edits in branches/WindowsMerge/LayoutTests
  • Skipped: Added last tests to make build bot green.
6:00 PM Changeset in webkit [20838] by sfalken
  • 1 copy in tags/Safari-522.5.6b

New tag.

5:02 PM Changeset in webkit [23257] by beidson
  • 6 edits in branches/WindowsMerge

WebCoreWin:

Reviewed by Darin

<rdar://problem/4887095> - PageCache and PageState should be combined

Changed a TemporaryLinkStub and updated the project file

  • WebCore.vcproj/WebCore.vcproj:
  • platform/win/TemporaryLinkStubs.cpp: (CachedPage::close):

WebKitWin:

Reviewed by Darin

<rdar://problem/4887095> - PageCache and PageState should be combined

Basically updated client methods for the new names and signatures

  • WebFrame.cpp: (WebFrame::loadedFromCachedPage): (WebFrame::setDocumentViewFromCachedPage): (WebFrame::saveDocumentViewToCachedPage):
  • WebFrame.h:
4:55 PM Changeset in webkit [20837] by beidson
  • 22 edits
    3 moves
    2 deletes in trunk

WebCore:

Reviewed by Darin

<rdar://problem/4887095> - PageCache and PageState should be combined

These two objects are a relic of when the PageCache was split between WebCore and WebKit
It just makes good sense to combine them now, and the new object is more appropriately
called "CachedPage"

This patch is vast in scope, but simple in depth - anywhere a PageCache or PageState object
was used has been adjusted to use a CachedPage object instead. The most notable change is
that HistoryItem - which always used to have a PageCache object which may or may not have
had a PageState - now may or may not have a CachedPage. This actually simplifies the
HistoryItem code a bit while making the role of CachedPage much more clear.

  • WebCore.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • history/BackForwardList.cpp: (WebCore::BackForwardList::addItem): (WebCore::BackForwardList::setCapacity): (WebCore::BackForwardList::setPageCacheSize): (WebCore::BackForwardList::clearPageCache): (WebCore::BackForwardList::close):
  • history/PageCache.cpp: Removed.
  • history/PageCache.h: Removed.
  • page/PageState.cpp: Removed.
  • page/PageState.h: Removed.
  • history/CachedPage.cpp: Added. (WebCore::CachedPage::create): (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::~CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear): (WebCore::CachedPage::setDocumentLoader): (WebCore::CachedPage::documentLoader): (WebCore::CachedPage::setTimeStamp): (WebCore::CachedPage::setTimeStampToNow): (WebCore::CachedPage::timeStamp):
  • history/CachedPage.h: Added. (WebCore::CachedPage::document): (WebCore::CachedPage::mousePressNode): (WebCore::CachedPage::URL):
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::setCachedPage): (WebCore::HistoryItem::setURL): (WebCore::HistoryItem::alwaysAttemptToUseCachedPage): (WebCore::HistoryItem::setAlwaysAttemptToUseCachedPage): (WebCore::HistoryItem::cachedPage): (WebCore::cachedPagesPendingRelease): (WebCore::HistoryItem::releaseCachedPagesOrReschedule): (WebCore::HistoryItem::releaseAllPendingCachedPages): (WebCore::HistoryItem::scheduleCachedPageForRelease):
  • history/HistoryItem.h:
  • history/mac/HistoryItemMac.mm:
  • history/HistoryItemTimer.cpp: (WebCore::HistoryItemTimer::HistoryItemTimer): (WebCore::HistoryItemTimer::callReleaseCachedPagesOrReschedule):
  • history/HistoryItemTimer.h:
  • history/mac/PageCacheMac.mm: Removed.
  • history/mac/CachedPageMac.mm: Added. (WebCore::CachedPage::close): (WebCore::CachedPage::setDocumentView): (WebCore::CachedPage::documentView):
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::DocumentLoader): (WebCore::DocumentLoader::loadFromCachedPage): (WebCore::DocumentLoader::setLoadingFromCachedPage): (WebCore::DocumentLoader::isLoadingFromCachedPage):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::provisionalLoadStarted): (WebCore::FrameLoader::commitProvisionalLoad): (WebCore::FrameLoader::transitionToCommitted): (WebCore::FrameLoader::open): (WebCore::FrameLoader::startLoading): (WebCore::FrameLoader::receivedMainResourceError): (WebCore::FrameLoader::opened): (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): (WebCore::FrameLoader::loadProvisionalItemFromCachedPage): (WebCore::FrameLoader::cachePageToHistoryItem): (WebCore::FrameLoader::createHistoryItem): (WebCore::FrameLoader::purgePageCache): (WebCore::FrameLoader::invalidateCurrentItemCachedPage): (WebCore::FrameLoader::loadItem): (WebCore::FrameLoader::updateHistoryForStandardLoad): (WebCore::FrameLoader::updateHistoryForClientRedirect): (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): (WebCore::FrameLoader::updateHistoryForReload): (WebCore::FrameLoader::updateHistoryForInternalLoad): (WebCore::FrameLoader::updateHistoryForCommit):
  • loader/FrameLoader.h:
  • loader/FrameLoaderClient.h:
  • page/mac/WebCoreFrameBridge.h: Got rid of unused WebCorePageCacheStateKey
  • page/mac/WebCoreFrameBridge.mm: Ditto
  • platform/graphics/svg/SVGImage.cpp:
  • platform/graphics/svg/SVGImageEmptyClients.h: Update to reflect the new names (WebCore::SVGEmptyFrameLoaderClient::loadProvisionalItemFromCachedPage): (WebCore::SVGEmptyFrameLoaderClient::invalidateCurrentItemCachedPage): (WebCore::SVGEmptyFrameLoaderClient::loadedFromCachedPage): (WebCore::SVGEmptyFrameLoaderClient::clearLoadingFromCachedPage): (WebCore::SVGEmptyFrameLoaderClient::isLoadingFromCachedPage): (WebCore::SVGEmptyFrameLoaderClient::setDocumentViewFromCachedPage): (WebCore::SVGEmptyFrameLoaderClient::saveDocumentViewToCachedPage):

WebKit:

Reviewed by Darin

<rdar://problem/4887095> - PageCache and PageState should be combined

WebKit side of the change to reflect the new object name of CachedPage and new Client method names

  • History/WebHistoryItem.mm: (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]): (+[WebHistoryItem _releaseAllPendingPageCaches]): (-[WebWindowWatcher windowWillClose:]):
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setDocumentViewFromCachedPage): (WebFrameLoaderClient::loadedFromCachedPage): (WebFrameLoaderClient::saveDocumentViewToCachedPage):
3:40 PM Changeset in webkit [20836] by ggaren
  • 2 edits in trunk/JavaScriptCore

Reviewed by Mark Rowe.


Fixed last check-in to print in release builds, too.

  • kjs/collector.cpp: (KJS::getPlatformThreadRegisters):
3:28 PM Changeset in webkit [23256] by kmccullo
  • 2 edits in branches/WindowsMerge/LayoutTests
  • Skipped: Re-enabled some tests that no longer crash and added other failures, for which radars will be filed, so that the build bot will be green, and will be usefull in identifying new breakages. Currently it is not.
3:27 PM Changeset in webkit [20835] by ggaren
  • 3 edits in trunk/JavaScriptCore

Reviewed by John Sullivan, Darin Adler.


Fixed <rdar://problem/5121899> JavaScript garbage collection leads to
later crash under Rosetta (should abort or leak instead?)


Log an error message and crash if the kernel reports failure during GC.
We decided to do this instead of just leaking because we don't want people
to get the mistaken impression that running in Rosetta is a supported
configurtion.


The CRASH macro will also hook into CrashReporter, which will tell us if
many (any?) users run into this issue.

  • kjs/collector.cpp: (KJS::getPlatformThreadRegisters):
2:44 PM Changeset in webkit [20834] by antti
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.


Layout test for <rdar://5057686>
Flex box layout example hangs in WebCore::RenderFlexibleBox::allowedChildFlex

  • fast/flexbox/flex-hang-expected.checksum: Added.
  • fast/flexbox/flex-hang-expected.png: Added.
  • fast/flexbox/flex-hang-expected.txt: Added.
  • fast/flexbox/flex-hang.html: Added.

WebCore:

Reviewed by Hyatt.

Fix <rdar://5057686>
Flex box layout example hangs in WebCore::RenderFlexibleBox::allowedChildFlex


Forcibly distribute remaining pixels if the algorithm is not advancing.

  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox):
2:37 PM Changeset in webkit [20833] by bdash
  • 2 edits in trunk/WebCore

2007-04-11 Mark Rowe <mrowe@apple.com>

Build fix.

  • bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityDescription]):
2:21 PM Changeset in webkit [20832] by sfalken
  • 3 edits in branches/Safari-522/WebCore

Merged fix from r20685

2:19 PM Changeset in webkit [20831] by sfalken
  • 2 edits in branches/Safari-522/WebCore

Merged fix from r20675

2:14 PM Changeset in webkit [20830] by sfalken
  • 7 edits
    3 copies in branches/Safari-522

Merge fix from r20813

2:14 PM Changeset in webkit [20829] by brmorris
  • 2 edits in S60/trunk/WebKit

bradley, reviewed by SuperMario

DESC: remove Rendundant include to save a warning :)


  • BrowserView/src/WebKitControl.cpp:
2:14 PM Changeset in webkit [20828] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-04-10 spadma

Reviewed by Zalan.
DESC: browser fails to properly render the <cr> <lf> special characters when a text file displayed
http://bugs.webkit.org/show_bug.cgi?id=13324
TSW ID : JKRL-6ZSH8Q

  • ResourceLoader/src/ContentDispatcher.cpp: (CContentDispatcher::ConstructL):
2:11 PM Changeset in webkit [20827] by spadma
  • 2 edits in S60/trunk/WebKit

2007-04-10 spadma

Reviewed by Zalan.
DESC: browser fails to properly render the <cr> <lf> special characters when a text file displayed
http://bugs.webkit.org/show_bug.cgi?id=13324
TSW ID : JKRL-6ZSH8Q

  • ResourceLoader/src/ContentDispatcher.cpp: (CContentDispatcher::ConstructL):
2:08 PM Changeset in webkit [20826] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-04-10 spadma

Reviewed by Zalan.
DESC: Browser control hangs when accesing a secure (HTTPS) page
http://bugs.webkit.org/show_bug.cgi?id=13322
TSW ID: EBRE-6ZQFKV

  • BrowserControl/src/BrCtl.cpp: (CBrCtl::ConstructL): (CBrCtl::~CBrCtl):
2:04 PM Changeset in webkit [20825] by spadma
  • 2 edits in S60/trunk/WebKit

2007-04-10 spadma

Reviewed by Zalan.
DESC: Browser control hangs when accesing a secure (HTTPS) page
http://bugs.webkit.org/show_bug.cgi?id=13322
TSW ID: EBRE-6ZQFKV

  • BrowserControl/src/BrCtl.cpp: (CBrCtl::ConstructL): (CBrCtl::~CBrCtl):
2:00 PM Changeset in webkit [20824] by pyeh
  • 3 edits in trunk/WebCore

<rdar://problem/5122276> Allow focused frame to fire off notification
Improve accessibility support for Mail WebView embedded Notes.

  • bridge/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postNotification):
The focused document with the selection change should fire the selection changed notification, not the top level document

  • bridge/mac/WebCoreAXObject.mm:

(-[WebCoreAXObject accessibilityDescription]):
Allow the name attribute of the html body to be used as the accessibility description

1:26 PM Changeset in webkit [20823] by brmorris
  • 3 edits in S60/trunk/WebKit

bradley, reviewed by nobody (build fix)

DESC: flagged out some includes.


  • BrowserView/src/WebKitControl.cpp:
  • ResourceLoader/src/HttpLoaderAcceptHeader.cpp:


1:12 PM Changeset in webkit [20822] by yongjzha
  • 2 edits in S60/branches/3.1m/WebCore

w3liu, reviewed by <yongjun.zhang@nokia.com>

DESC: [S60] LXUU-6Z4HBB: GCF-AE-Browsing-S60-SPPR50.31: Fail in GCF test case: 45.15.30 Encoding Priority 1
http://bugs.webkit.org/show_bug.cgi?id=13321

WARNING: NO TEST CASES ADDED OR CHANGED

  • khtml/css/cssparser.cpp: (CSSParser::parseSheet):
1:11 PM Changeset in webkit [20821] by yongjzha
  • 2 edits in S60/trunk/WebCore

w3liu, reviewed by <yongjun.zhang@nokia.com>

DESC: [S60] LXUU-6Z4HBB: GCF-AE-Browsing-S60-SPPR50.31: Fail in GCF test case: 45.15.30 Encoding Priority 1
http://bugs.webkit.org/show_bug.cgi?id=13321

WARNING: NO TEST CASES ADDED OR CHANGED

  • khtml/css/cssparser.cpp: (CSSParser::parseSheet):
11:19 AM Changeset in webkit [20820] by ggaren
  • 16 edits in trunk

WebCore:

Reviewed by Maciej Stachowiak.


Support for fixing fast/forms/textarea-paste-newline.html.


Changed clients to use new preference specifying whether a Page should
allow pasting through the DOM API, instead of a global flag.

Removed old behavior of always allowing DOM paste in debug builds. In
light of the new preference-based API, that behavior makes no sense anymore.
Instead, developers who want to test paste inside Safari can set the
preference for themselves.

  • WebCore.exp:
  • editing/CommandByName.cpp: Removed crazy hack to keep an identically named but invalid copy of the global "pate allowed" flag in this file. (WebCore::Frame::enabledPaste):
  • editing/JSEditor.cpp: Removed "always allow" behavior for debug builds. (WebCore::JSEditor::queryCommandSupported):
  • editing/JSEditor.h:
  • page/Settings.cpp: (WebCore::Settings::setDOMPasteAllowed):
  • page/Settings.h: (WebCore::Settings::isDOMPasteAllowed):
  • rendering/RenderTreeAsText.cpp: (WebCore::externalRepresentation): Removed crazy hack to allow DOM paste after this function has been called.

WebKit:

Reviewed by Maciej Stachowiak.


Support for fixing fast/forms/textarea-paste-newline.html.


Added SPI for specifying whether a WebView should allow pasting through the
DOM API.

  • ChangeLog:
  • WebKit.xcodeproj/project.pbxproj:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.m: (+[WebPreferences standardPreferences]): (-[WebPreferences isDOMPasteAllowed]): (-[WebPreferences setDOMPasteAllowed:]):
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _updateWebCoreSettingsFromPreferences:]):

WebKitTools:

Reviewed by Maciej Stachowiak.


Fixed fast/forms/textarea-paste-newline.html.


This failure was pretty funny. run-webkit-tests kills and respawns
DumpRenderTree once every 1000 runs. Adding a few tests caused
textarea-paste-newline.html to run right at the beginning of DumpRenderTree's
lifetime, before any render tree dumps had occurred. However, WebCore
used a render tree dump as the hook that set a global flag to allow
pasting through the DOM API, so running before any render tree dumps had
occurred caused this test to fail.

  • DumpRenderTree/DumpRenderTree.m: (dumpRenderTree): Explicitly tell WebKit to allow pasting through the DOM API, instead of hoping it will read the tea leaves.
9:36 AM Changeset in webkit [23255] by sullivan
  • 2 edits in branches/WindowsMerge/WebCore
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::Editor::markBadGrammar): Keep build going: added stub for this new method
9:28 AM Changeset in webkit [20819] by sullivan
  • 4 edits in trunk/WebCore

Reviewed by Tim Hatcher

  • fixed <rdar://problem/4859132> Grammar must always be checked in entire-sentence chunks, and shouldn't show markers for current sentence
  • editing/Editor.h: add markBadGrammar, now distinct from markMisspellings
  • editing/mac/EditorMac.mm: (WebCore::Editor::markMisspellingsAfterTypingToPosition): call markMisspellings on one word, and markBadGrammar on entire sentence (WebCore::markMisspellingsOrBadGrammar): new static function, extracted from markMisspellings (WebCore::Editor::markMisspellings): now calls extracted function (WebCore::Editor::markBadGrammar): new method, calls extracted function
  • page/Frame.cpp: (WebCore::Frame::respondToChangedSelection): update grammar markers for entire new and old sentences
2:35 AM Changeset in webkit [23254] by aroben
  • 3 edits in branches/WindowsMerge/WebKitWin

Reviewed by Anders.

Fix <rdar://problem/5119803> Web Inspector has no options menu

  • WebInspector/WebInspector.cpp: (interpreterForFrame): Added. (WebInspector::showOptionsMenu): Implemented. (WebInspector::onCommand): Added. (WebInspector::toggleIgnoreWhitespace): Implemented. (WebInspector::toggleShowUserAgentStyles): Implemented. (WebInspectorWndProc): Added case for WM_COMMAND.
  • WebInspector/WebInspector.h:
2:23 AM Changeset in webkit [23253] by andersca
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Adam.

<rdar://problem/5056988>
Can not open player on http://radioalice.com

Fix scriptStringIfJavaScriptURL to not use the path of the URL. This would ignore any characters past
a '?' character because that would be parsed as the query part of the URL.


  • plugins/win/PluginViewWin.cpp: (WebCore::scriptStringIfJavaScriptURL): Make this be more like the mac, chopping off the first 12 characters ("javascript:") and then decoding the remaining characters.
1:59 AM Changeset in webkit [23252] by andersca
  • 2 edits in branches/WindowsMerge/WebCore
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::PluginViewWin): Initialize m_status.
12:54 AM Changeset in webkit [20818] by mjs
  • 2 edits in branches/js-collector-tweaks/JavaScriptCore

Not reviewed, experimental change.

  • raise ALLOCATIONS_PER_COLLECTION to 4000, for 3.7% iBench speed improvement


Now that the cell size is smaller and the block size is bigger, we can fit 4000 objects in
the two spare cells the collector is willing to keep around, so collect a bit less often.


  • kjs/collector.cpp:
12:52 AM Changeset in webkit [20817] by mjs
  • 4 edits in branches/js-collector-tweaks/JavaScriptCore

Not reviewed, experimental change.


  • move mark and collectOnMainThreadOnly bits into separate bitmaps


This saves 4 bytes per word, allowing shrink of cell size 32,
which leads to a .8% speed improvement on iBench.


This is only feasible because of all the previous changes on the branch.

  • kjs/collector.cpp: (KJS::allocateBlock): Adjust for some renames of constants. (KJS::Collector::markStackObjectsConservatively): Now that cells are 32 bytes (64 bytes on 64-bit) the cell alignment check can be made much more strict, and also obsoletes the need for a % sizeof(CollectorCell) check. Also, we can mask off the low bits of the pointer to have a potential block pointer to look for. (KJS::Collector::collectOnMainThreadOnly): Use bitmap. (KJS::Collector::markMainThreadOnlyObjects): Use bitmap. (KJS::Collector::collect): When sweeping, use bitmaps directly to find mark bits.
  • kjs/collector.h: (KJS::): Move needed constants and type declarations here. (KJS::CollectorBitmap::get): Bit twiddling to get a bitmap value. (KJS::CollectorBitmap::set): Bit twiddling to set a bitmap bit to true. (KJS::CollectorBitmap::clear): Bit twiddling to set a bitmap bit to false. (KJS::CollectorBitmap::clearAll): Clear whole bitmap at one go. (KJS::Collector::cellBlock): New operation, compute the block pointer for a cell by masking off low bits. (KJS::Collector::cellOffset): New operation, compute the cell offset for a cell by masking off high bits and dividing (actually a shift). (KJS::Collector::isCellMarked): Check mark bit in bitmap (KJS::Collector::markCell): Set mark bit in bitmap.
  • kjs/value.h: (KJS::JSCell::JSCell): No more bits. (KJS::JSCell::marked): Let collector handle it. (KJS::JSCell::mark): Let collector handle it.
12:49 AM Changeset in webkit [23251] by andersca
  • 11 edits in branches/WindowsMerge

WebCoreWin:

Reviewed by Adam.

<rdar://problem/5062624>
No prompt to install QT for pages with uninstalled QT plug-in.


Add a status() accessor to PluginViewWin. This can be used by WebKit to find out if the plug-in
loaded successfully or not.


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::PluginViewWin): (WebCore::PluginViewWin::init):
  • plugins/win/PluginViewWin.h: (WebCore::): (WebCore::PluginViewWin::status):

WebKitWin:

Reviewed by Adam.

<rdar://problem/5062624>
No prompt to install QT for pages with uninstalled QT plug-in.


  • CFDictionaryPropertyBag.cpp: (CFDictionaryPropertyBag::Read): (CFDictionaryPropertyBag::Write): Use LPCOLESTRToCFStringRef here since the property names aren't BSTRs.


  • Interfaces/IWebError.idl: Add user info keys.


  • MarshallingHelpers.cpp: (MarshallingHelpers::LPCOLESTRToCFStringRef):
  • MarshallingHelpers.h: New function.


  • WebError.cpp: (WebError::WebError): (WebError::createInstance): Take a property bag.


(WebError::userInfo):
Return the property bag.


  • WebFrame.cpp: (WebFrame::createPlugin): If the plug-in wasn't found or failed to load, create a WebError with the right user info and call IWebResourceLoadDelegate::plugInFailedWithError.
12:37 AM Changeset in webkit [20816] by mjs
  • 6 edits in branches/js-collector-tweaks/JavaScriptCore

Not reviewed, experimental change.


  • shrink FunctionImp / DeclaredFunctionImp by 4 bytes, by moving parameter list to function body


I reconciled this with a similar change in KDE kjs by Maks Orlovich <maksim@kde.org>.

  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): (KJS::FunctionImp::passInParameters): (KJS::FunctionImp::lengthGetter): (KJS::FunctionImp::getParameterName):
  • kjs/function.h:
  • kjs/function_object.cpp: (FunctionProtoFunc::callAsFunction): (FunctionObjectImp::construct):
  • kjs/nodes.cpp: (FunctionBodyNode::addParam): (FunctionBodyNode::paramString): (FuncDeclNode::addParams): (FuncDeclNode::processFuncDecl): (FuncExprNode::addParams): (FuncExprNode::evaluate):
  • kjs/nodes.h: (KJS::Parameter::Parameter): (KJS::FunctionBodyNode::numParams): (KJS::FunctionBodyNode::paramName): (KJS::FunctionBodyNode::parameters): (KJS::FuncExprNode::FuncExprNode): (KJS::FuncDeclNode::FuncDeclNode):
Note: See TracTimeline for information about the timeline view.