Timeline



Jan 30, 2008:

9:39 PM Changeset in webkit [29884] by mitz@apple.com
  • 9 edits
    4 adds in trunk

WebCore:

Reviewed by Sam Weinig.

  • change the interpretation of unicode-range values in "from-to" form to include the "to" character.

Test: fast/css/font-face-unicode-range.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseFontFaceUnicodeRange):
  • css/CSSSegmentedFontFace.cpp: (WebCore::CSSSegmentedFontFace::overlayRange):
  • platform/graphics/GlyphPageTreeNode.cpp: (WebCore::GlyphPageTreeNode::initializePage):
  • platform/graphics/SegmentedFontData.cpp: (WebCore::SegmentedFontData::fontDataForCharacter): (WebCore::SegmentedFontData::containsCharacters):

LayoutTests:

Reviewed by Sam Weinig.

  • add a test for the unicode-range @font-face property
  • update @font-face rules in existing tests after changing unicode-range values in "from-to" form to include the "to" character
  • fast/css/font-face-unicode-range.html: Added.
  • fast/css/rtl-ordering.html:
  • fast/text/international/resources/Mac-compatible-font-fallback.css:
  • platform/mac-leopard/fast/css/font-face-unicode-range-expected.checksum: Added.
  • platform/mac-leopard/fast/css/font-face-unicode-range-expected.png: Added.
  • platform/mac/fast/css/font-face-unicode-range-expected.txt: Added.
  • platform/win/css2.1/resources/Mac-compatible-font-fallback.css:
9:36 PM Changeset in webkit [29883] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

  • prune references to custom fonts' SimpleFontData from the glyph page tree when they are destroyed
  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::pruneTable):
6:45 PM Changeset in webkit [29882] by justin.garcia@apple.com
  • 1 add
    1 delete in trunk/LayoutTests/editing/style

This test started failed with my last checkin. The new results are *correct* but I don't know why my changes would have fixed the test, so I want to investigate a bit before I check in new results.

5:45 PM Changeset in webkit [29881] by timothy@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Tim Hatcher.

New fix for <rdar://problem/5688428> Reproducible assertion failure
in SQLTransaction::performNextStep() (16876)

Fixes a deadlock that was happening for all Database use. All
storage layout tests pass.

  • storage/Database.cpp: (WebCore::CurrentThreadSetter::CurrentThreadSetter): New helper class to set the current thread and zero it on destruction. (WebCore::CurrentThreadSetter::~CurrentThreadSetter): Set threadIdentifierStorage to 0. (WebCore::Database::Database): Set m_transactionStepThread to 0. (WebCore::Database::performTransactionStep): Set m_transactionStepThread to currentThread(). (WebCore::Database::scheduleTransactionCallback): Assert m_transactionStepThread is currentThread().
  • storage/Database.h: Add m_transactionStepThread for debug builds to track which thread performTransactionStep() was called on.
5:23 PM Changeset in webkit [29880] by Stephanie Lewis
  • 2 edits in trunk/WebKitTools

2008-01-30 Stephanie <Stephanie Lewis>

Reviewed by Geoff.

Add an option to run-webkit-tests to merge leaks results and print the number of unique leaks found under a certain call depth. This should make it easier for the buildbots to track new leaks.

  • Scripts/run-webkit-tests:
4:55 PM Changeset in webkit [29879] by timothy@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

ASSERTION FAILED: JSLock::lockCount() > 0 when opening the
Web Inspector on a page with a Database.

Fix the ASSERT by taking a JSLock before calling toJS().

  • page/InspectorController.cpp: (WebCore::InspectorController::addDatabaseScriptResource):
4:43 PM Changeset in webkit [29878] by Beth Dakin
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Fix for <rdar://problem/5598609> CrashTracer: [USER] 626 crashes in
Safari at com.apple.WebCore: WebCore::FrameView::needsFullRepaint
const + 6

The real problem here is tracked by rdar://5598072, which is that
frames can lose sync between their view and their document when a
non-HTML view is loaded (such as bookmarks view or a PDF). That can
cause this crash if the layout timer fires before things have fixed
themselves. This fix turns an ASSERT in FrameView::layout() into an
early return to cause graceful failure until the root of the
problem is addressed.

  • page/FrameView.cpp: (WebCore::FrameView::layout):
4:16 PM Changeset in webkit [29877] by justin.garcia@apple.com
  • 3 edits
    8 adds in trunk

WebCore:

Reviewed by Darin Adler.

<rdar://problem/5700414> REGRESSION (Adama-ToT): Selecting "Header 1" style in Leopard Server wiki inserts newline

  • editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::doApply): If the selected paragraph was empty, we may still need to call moveParagrah to remove the line break that holds that paragraph open because the new block of the requested type needs to to replace it.

LayoutTests:

Reviewed by Darin Adler.


<rdar://problem/5700414> REGRESSION (Adama-ToT): Selecting "Header 1" style in Leopard Server wiki inserts newline

  • editing/execCommand/5700414-1.html: Added.
  • editing/execCommand/5700414-2.html: Added.
  • platform/mac/editing/execCommand/5700414-1-expected.checksum: Added.
  • platform/mac/editing/execCommand/5700414-1-expected.png: Added.
  • platform/mac/editing/execCommand/5700414-1-expected.txt: Added.
  • platform/mac/editing/execCommand/5700414-2-expected.checksum: Added.
  • platform/mac/editing/execCommand/5700414-2-expected.png: Added.
  • platform/mac/editing/execCommand/5700414-2-expected.txt: Added.
2:26 PM Changeset in webkit [29876] by timothy@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.

<rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876)

Revised fix to use the globalCallbackMutex() mutex and hold the mutex
for the entire function scope.

  • storage/Database.cpp: (WebCore::Database::performTransactionStep):
2:06 PM Changeset in webkit [29875] by timothy@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Adam Roben.

Make ResourceTreeElement inherit the prototype of TreeElement.

  • page/inspector/Resource.js:
2:01 PM Changeset in webkit [29874] by jess@apple.com
  • 2 edits in trunk/WebKitSite

Reviewed by Tim Hatcher.

  • coding/coding-style.html: Adding a note about avoiding explicit nil/NO initialization of Objective-C instance variables.
1:56 PM Changeset in webkit [29873] by weinig@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Adam Roben.

Don't include SecurityOrigin.h in Document.h so that we can avoid massive
recompilation when changing the SecurityOrigin.

  • dom/Document.cpp: (WebCore::Document::setSecurityOrigin):
  • dom/Document.h:
12:38 PM Changeset in webkit [29872] by timothy@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Tim Hatcher and Brady.

<rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876)

  • storage/Database.cpp: (WebCore::Database::performTransactionStep): Do not perform the next transaction if a global callback is already scheduled.
11:40 AM Changeset in webkit [29871] by jhoneycutt@apple.com
  • 4 edits in trunk/WebCore

2008-01-30 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Darin.

<rdar://problem/5669317> Crash closing pop up window with Real Player
content

Some RealPlayer versions hang on unload. To prevent this hang, don't
unload versions since the last known unloadable version.
<rdar://problem/5713147> tracks revisiting this when the bug in
RealPlayer is fixed and we can again unload the plug-in.

  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackageWin::compareFileVersion): Compare the plug-in's file version to the passed file version, returning -1, 0, or 1 if the plug-in's version is less than, equal to, or greater than the version passed. (WebCore::PluginPackageWin::isPluginBlacklisted): Use compareFileVersion()
  • plugins/win/PluginPackageWin.h:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::determineQuirks): If the plug-in version is newer than the last-known unloadable version, add the DontUnloadPlugin quirk
9:55 AM Changeset in webkit [29870] by ap@webkit.org
  • 2 edits in trunk/WebKitTools

Reviewed by Adam Roben.

One more debug (external) fix.

  • DumpRenderTree/win/DumpRenderTree.cpp: TestNetscapePlugin is built with a _debug suffix in both DebugInternal and Debug configurations.
4:14 AM Changeset in webkit [29869] by mrowe@apple.com
  • 2 edits in trunk/WebKit/mac

Move off deprecated NSTableView methods.

Reviewed by Oliver Hunt.

  • WebView/WebHTMLView.mm:

(-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
(-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
(-[WebTextCompleteController filterKeyDown:]): Ditto.

Jan 29, 2008:

9:26 PM Changeset in webkit [29868] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Look for headers relative to NEXT_ROOT so that build-root picks up the WebCoreSQLite version of sqlite3.h rather than the older system version.

Reviewed by Tim Hatcher.

9:10 PM Changeset in webkit [29867] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

Reviewed by Dave Hyatt.

  • try to make this test more robust on slower machines
  • fast/css/font-face-remote.html:
8:32 PM Changeset in webkit [29866] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • build fix
  • loader/CachedFont.cpp: (WebCore::CachedFont::CachedFont):
8:03 PM Changeset in webkit [29865] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Add the correct directory to the header search paths in Production builds. Reviewed by Brady Eidson.

7:50 PM Changeset in webkit [29864] by mitz@apple.com
  • 6 edits
    5 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

Test: fast/css/font-face-remote.html

Added an isSVGFont method to CachedFont and use it to decide how to
process the font data. Currently whether the data is SVG is determined
based on the format property in the @font-face rule, but in the future
the MIME type or other metadata may be used when the format is
unspecified.

  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): Changed to parse the data as SVG only if the CachedFont is an SVG font.
  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): Mark the CachedFont as an SVG font based on format.
  • loader/CachedFont.cpp: (WebCore::CachedFont::CachedFont): Initialize m_isSVGFont to false. (WebCore::CachedFont::ensureCustomFontData): (WebCore::CachedFont::ensureSVGFontData): (WebCore::CachedFont::getSVGFontById):
  • loader/CachedFont.h: (WebCore::CachedFont::isSVGFont): Added. (WebCore::CachedFont::setSVGFont): Added.

LayoutTests:

Reviewed by Dave Hyatt.

This is the first @font-face test that actually tests loading font data
from a URL.

  • fast/css/font-face-remote.html: Added.
  • fast/css/resources/Ahem.ttf: Added.
  • platform/mac/fast/css/font-face-remote-expected.checksum: Added.
  • platform/mac/fast/css/font-face-remote-expected.png: Added.
  • platform/mac/fast/css/font-face-remote-expected.txt: Added.
7:43 PM Changeset in webkit [29863] by Adam Roben
  • 2 edits in trunk/WebKit/win

Fix a crash when opening the Inspector

Reviewed by Anders.

  • WebInspectorClient.cpp: (WebInspectorClient::createPage): Call WebPreferences::initWithIdentifier so our custom WebPreferences will have all its members initialized.
6:45 PM Changeset in webkit [29862] by Adam Roben
  • 2 edits in trunk/WebKit/win

Fix Bug 16786: "Display images when page opens" preference affects Inspector

<http://bugs.webkit.org/show_bug.cgi?id=16786>
<rdar://5712914>

Reviewed by Anders and Darin.

  • WebInspectorClient.cpp: (WebInspectorClient::createPage): Create our own custom WebPreferences so that we won't be affected by global preference changes. This matches what Mac does.
6:38 PM Changeset in webkit [29861] by Antti Koivisto
  • 3 edits in trunk/WebCore

Some comment cleanup.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWin::load): (QTMovieWin::disableUnsupportedTracks):
6:00 PM Changeset in webkit [29860] by adele@apple.com
  • 1 edit
    108 deletes in trunk/LayoutTests

Reviewed by Oliver.

Remove pixel results for text-only tests that I mistakingly added.

  • platform/mac/media/audio-constructor-expected.checksum: Removed.
  • platform/mac/media/audio-constructor-expected.png: Removed.
  • platform/mac/media/audio-constructor-src-expected.checksum: Removed.
  • platform/mac/media/audio-constructor-src-expected.png: Removed.
  • platform/mac/media/broken-video-expected.checksum: Removed.
  • platform/mac/media/broken-video-expected.png: Removed.
  • platform/mac/media/constructors-expected.checksum: Removed.
  • platform/mac/media/constructors-expected.png: Removed.
  • platform/mac/media/fallback-expected.checksum: Removed.
  • platform/mac/media/fallback-expected.png: Removed.
  • platform/mac/media/progress-event-expected.checksum: Removed.
  • platform/mac/media/progress-event-expected.png: Removed.
  • platform/mac/media/remove-from-document-expected.checksum: Removed.
  • platform/mac/media/remove-from-document-expected.png: Removed.
  • platform/mac/media/unsupported-rtsp-expected.checksum: Removed.
  • platform/mac/media/unsupported-rtsp-expected.png: Removed.
  • platform/mac/media/unsupported-tracks-expected.checksum: Removed.
  • platform/mac/media/unsupported-tracks-expected.png: Removed.
  • platform/mac/media/video-append-source-expected.checksum: Removed.
  • platform/mac/media/video-append-source-expected.png: Removed.
  • platform/mac/media/video-autoplay-expected.checksum: Removed.
  • platform/mac/media/video-autoplay-expected.png: Removed.
  • platform/mac/media/video-buffered-expected.checksum: Removed.
  • platform/mac/media/video-buffered-expected.png: Removed.
  • platform/mac/media/video-controls-expected.checksum: Removed.
  • platform/mac/media/video-controls-expected.png: Removed.
  • platform/mac/media/video-currentTime-expected.checksum: Removed.
  • platform/mac/media/video-currentTime-expected.png: Removed.
  • platform/mac/media/video-currentTime-set-expected.checksum: Removed.
  • platform/mac/media/video-currentTime-set-expected.png: Removed.
  • platform/mac/media/video-currentTime-set2-expected.checksum: Removed.
  • platform/mac/media/video-currentTime-set2-expected.png: Removed.
  • platform/mac/media/video-dom-autoplay-expected.checksum: Removed.
  • platform/mac/media/video-dom-autoplay-expected.png: Removed.
  • platform/mac/media/video-dom-end-expected.checksum: Removed.
  • platform/mac/media/video-dom-end-expected.png: Removed.
  • platform/mac/media/video-dom-loopcount-expected.checksum: Removed.
  • platform/mac/media/video-dom-loopcount-expected.png: Removed.
  • platform/mac/media/video-dom-loopend-expected.checksum: Removed.
  • platform/mac/media/video-dom-loopend-expected.png: Removed.
  • platform/mac/media/video-dom-loopstart-expected.checksum: Removed.
  • platform/mac/media/video-dom-loopstart-expected.png: Removed.
  • platform/mac/media/video-dom-src-expected.checksum: Removed.
  • platform/mac/media/video-dom-src-expected.png: Removed.
  • platform/mac/media/video-dom-start-expected.checksum: Removed.
  • platform/mac/media/video-dom-start-expected.png: Removed.
  • platform/mac/media/video-end-expected.checksum: Removed.
  • platform/mac/media/video-end-expected.png: Removed.
  • platform/mac/media/video-error-abort-expected.checksum: Removed.
  • platform/mac/media/video-error-abort-expected.png: Removed.
  • platform/mac/media/video-error-does-not-exist-expected.checksum: Removed.
  • platform/mac/media/video-error-does-not-exist-expected.png: Removed.
  • platform/mac/media/video-load-networkState-expected.checksum: Removed.
  • platform/mac/media/video-load-networkState-expected.png: Removed.
  • platform/mac/media/video-load-readyState-expected.checksum: Removed.
  • platform/mac/media/video-load-readyState-expected.png: Removed.
  • platform/mac/media/video-loopcount-expected.checksum: Removed.
  • platform/mac/media/video-loopcount-expected.png: Removed.
  • platform/mac/media/video-loopend-expected.checksum: Removed.
  • platform/mac/media/video-loopend-expected.png: Removed.
  • platform/mac/media/video-loopstart-expected.checksum: Removed.
  • platform/mac/media/video-loopstart-expected.png: Removed.
  • platform/mac/media/video-muted-expected.checksum: Removed.
  • platform/mac/media/video-muted-expected.png: Removed.
  • platform/mac/media/video-no-autoplay-expected.checksum: Removed.
  • platform/mac/media/video-no-autoplay-expected.png: Removed.
  • platform/mac/media/video-pause-empty-events-expected.checksum: Removed.
  • platform/mac/media/video-pause-empty-events-expected.png: Removed.
  • platform/mac/media/video-play-empty-events-expected.checksum: Removed.
  • platform/mac/media/video-play-empty-events-expected.png: Removed.
  • platform/mac/media/video-play-pause-events-expected.checksum: Removed.
  • platform/mac/media/video-play-pause-events-expected.png: Removed.
  • platform/mac/media/video-play-pause-exception-expected.checksum: Removed.
  • platform/mac/media/video-play-pause-exception-expected.png: Removed.
  • platform/mac/media/video-poster-expected.checksum: Removed.
  • platform/mac/media/video-poster-expected.png: Removed.
  • platform/mac/media/video-seek-past-end-paused-expected.checksum: Removed.
  • platform/mac/media/video-seek-past-end-paused-expected.png: Removed.
  • platform/mac/media/video-seek-past-end-playing-expected.checksum: Removed.
  • platform/mac/media/video-seek-past-end-playing-expected.png: Removed.
  • platform/mac/media/video-seekable-expected.checksum: Removed.
  • platform/mac/media/video-seekable-expected.png: Removed.
  • platform/mac/media/video-seeking-expected.checksum: Removed.
  • platform/mac/media/video-seeking-expected.png: Removed.
  • platform/mac/media/video-size-expected.checksum: Removed.
  • platform/mac/media/video-size-expected.png: Removed.
  • platform/mac/media/video-source-expected.checksum: Removed.
  • platform/mac/media/video-source-expected.png: Removed.
  • platform/mac/media/video-source-media-expected.checksum: Removed.
  • platform/mac/media/video-source-media-expected.png: Removed.
  • platform/mac/media/video-source-type-expected.checksum: Removed.
  • platform/mac/media/video-source-type-expected.png: Removed.
  • platform/mac/media/video-src-change-expected.checksum: Removed.
  • platform/mac/media/video-src-change-expected.png: Removed.
  • platform/mac/media/video-src-expected.checksum: Removed.
  • platform/mac/media/video-src-expected.png: Removed.
  • platform/mac/media/video-src-remove-expected.checksum: Removed.
  • platform/mac/media/video-src-remove-expected.png: Removed.
  • platform/mac/media/video-src-set-expected.checksum: Removed.
  • platform/mac/media/video-src-set-expected.png: Removed.
  • platform/mac/media/video-src-source-expected.checksum: Removed.
  • platform/mac/media/video-src-source-expected.png: Removed.
  • platform/mac/media/video-start-expected.checksum: Removed.
  • platform/mac/media/video-start-expected.png: Removed.
  • platform/mac/media/video-volume-expected.checksum: Removed.
  • platform/mac/media/video-volume-expected.png: Removed.
  • platform/mac/media/video-width-height-expected.checksum: Removed.
  • platform/mac/media/video-width-height-expected.png: Removed.
5:40 PM Changeset in webkit [29859] by adele@apple.com
  • 4 edits in trunk

WebCore:

Reviewed by Antti.

Fix for <rdar://5683527> media/{audio,videocontrols-rendering.html failing


  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::isControlStyled): Don't treat all media controls as styled. This causes builds with an old version of SafariTheme to have different metrics for these controls.

LayoutTests:

Reviewed by Antti.

Removing test from Skipped list for <rdar://5683527> media/{audio,videocontrols-rendering.html failing


  • platform/win/Skipped:
4:52 PM Changeset in webkit [29858] by mitz@apple.com
  • 2 edits in trunk/LayoutTests
  • re-add a couple of tests that are still failing back to the list
  • platform/win/Skipped:
4:28 PM Changeset in webkit [29857] by mitz@apple.com
  • 4 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • make Font instances cache their primary font
  • WebCore.base.exp:
  • platform/graphics/Font.cpp: (WebCore::Font::Font): (WebCore::Font::operator=): (WebCore::Font::cachePrimaryFont): (WebCore::Font::update):
  • platform/graphics/Font.h: (WebCore::Font::primaryFont):
4:18 PM Changeset in webkit [29856] by ggaren@apple.com
  • 25 edits
    2 adds in trunk

WebKitTools:

Reviewed by Sam Weinig. Sam Weinig.


Fixed <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html
fails when run after fast/dom/Window/window-property-shadowing.html (16902)

Modified our policy delegates not to output window.name. Since a
previous test may have explicitly set window.name, we can't rely on its
implicit value in test results.

  • DumpRenderTree/mac/PolicyDelegate.mm: (-[PolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
  • DumpRenderTree/win/PolicyDelegate.cpp: (PolicyDelegate::decidePolicyForNavigationAction):

LayoutTests:

Reviewed by Sam Weinig. Sam Weinig.


Fixed <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html
fails when run after fast/dom/Window/window-property-shadowing.html (16902)

These layout tests demonstrate the expected behavior of window.name,
including the fact that one test can change the window.name value seen
by another test:

  • fast/dom/Window/window-property-shadowing-name-expected.txt: Added.
  • fast/dom/Window/window-property-shadowing-name.html: Added.
  • fast/dom/Window/window-property-clearing-expected.txt:
  • fast/dom/Window/window-property-clearing.html:


Modified these expected results not to depend on window.name. Since a
previous test may have explicitly set window.name, we can't rely on its
implicit value:

  • fast/encoding/mailto-always-utf-8-expected.txt:
  • fast/forms/mailto/advanced-get-expected.txt:
  • fast/forms/mailto/advanced-put-expected.txt:
  • fast/forms/mailto/get-multiple-items-expected.txt:
  • fast/forms/mailto/get-multiple-items-text-plain-expected.txt:
  • fast/forms/mailto/get-multiple-items-x-www-form-urlencoded-expected.txt:
  • fast/forms/mailto/get-non-ascii-always-utf-8-expected.txt:
  • fast/forms/mailto/get-non-ascii-expected.txt:
  • fast/forms/mailto/get-non-ascii-text-plain-expected.txt:
  • fast/forms/mailto/get-non-ascii-text-plain-latin-1-expected.txt:
  • fast/forms/mailto/get-overwrite-query-expected.txt:
  • fast/forms/mailto/post-append-query-expected.txt:
  • fast/forms/mailto/post-multiple-items-expected.txt:
  • fast/forms/mailto/post-multiple-items-multipart-form-data-expected.txt:
  • fast/forms/mailto/post-multiple-items-text-plain-expected.txt:
  • fast/forms/mailto/post-multiple-items-x-www-form-urlencoded-expected.txt:
  • fast/forms/mailto/post-text-plain-expected.txt:
  • fast/forms/mailto/post-text-plain-with-accept-charset-expected.txt:
  • http/tests/security/feed-urls-from-remote-expected.txt:
4:16 PM Changeset in webkit [29855] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Leopard build fix
  • platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData):
4:13 PM Changeset in webkit [29854] by mrowe@apple.com
  • 8 edits
    4 adds in trunk

<rdar://problem/5600926> WebCore on Tiger must link to its own copy of SQLite 3.4 or newer (so HTML database behavior will be correct).

Reviewed by Tim Hatcher.

3:03 PM Changeset in webkit [29853] by mitz@apple.com
  • 4 edits in trunk

WebCore:

Reviewed by Adam Roben and Oliver Hunt.

  • fix <rdar://problem/5713131> REGRESSION (r29246): Many SVG font tests are failing
  • platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::SimpleFontData): Use double instead of float for consistent rounding behavior between Mac OS X and Windows.

LayoutTests:

Reviewed by Adam Roben and Oliver Hunt.

  • remove skipped tests after fixing <rdar://problem/5713131> REGRESSION (r29246): Many SVG font tests are failing
  • platform/win/Skipped:
3:03 PM Changeset in webkit [29852] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitTools

Refactor ChangeLog path code

Reviewed by Adam.

  • Scripts/prepare-ChangeLog: Simplify code in one foreach() loop, and extract duplicate code in another foreach() loop.
2:33 PM Changeset in webkit [29851] by Adam Roben
  • 5 edits in trunk

Fix <rdar://5713302> Web Inspector on Windows is not using the localized strings

WebCore:

Fix <rdar://5713302> Web Inspector on Windows is not using the
localized strings

Reviewed by Steve.

  • WebCore.vcproj/WebCore.vcproj: Copy InspectorLocalizedStrings.js to $WebKitOutputDir.
  • page/InspectorController.cpp: Touch this to force the project to build.

WebKit/win:

Fix <rdar://5713302> Web Inspector on Windows is not using the
localized strings

Reviewed by Steve.

  • WebInspectorClient.cpp: (getWebKitBundle): Added. (WebInspectorClient::createPage): Call getWebKitBundle. (WebInspectorClient::localizedStringsURL): Implemented.
2:22 PM Changeset in webkit [29850] by eric@webkit.org
  • 4 edits
    2 adds in trunk

Reviewed by Nikolas.

Acid3 after double-attach
http://bugs.webkit.org/show_bug.cgi?id=17058

I believe SVGTextPathElement::buildPendingResource() was entirely
bogus, removing it did not cause any tests to fail.

Test: svg/custom/textPath-assert.svg

  • svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::insertedIntoDocument): remove buildPendingResource()
  • svg/SVGTextPathElement.h:
1:35 PM Changeset in webkit [29849] by Adam Roben
  • 2 edits in trunk/WebCore

Fix Bug 16234: Inspector should support searching for elements by CSS selectors

<http://bugs.webkit.org/show_bugs.cgi?id=16234>
<rdar://5712862>

Reviewed by Tim.

  • page/inspector/inspector.js: Use Document.querySelectorAll to search for elements by CSS selector. Also store a custom property on nodes being added to the search results to avoid showing the same node more than once.
12:20 PM Changeset in webkit [29848] by Adam Roben
  • 2 edits in trunk/LayoutTests
  • platform/win/Skipped: Added new failures.
11:55 AM Changeset in webkit [29847] by Adam Roben
  • 2 edits in trunk/WebCore

Fix <rdar://5711136> Full-screen Flash on 1up.com is unresponsive

Reviewed by Anders and Darin.

No test possible.

  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::wndProc): Set/release capture on mouse down/up, like Firefox does.
9:18 AM Changeset in webkit [29846] by ap@webkit.org
  • 6 edits in trunk

Reviewed by Darin.

<rdar://problem/5710692> All storage tests fail/crash

WebKit:

  • WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Clients that do not implement database quota callbacks should have no database support - but not crash.

WebKitTools:

  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]): Set an arbitrary quota of 5 megabytes.

(-[UIDelegate webView:frame:quotaForSecurityOrigin:toCreateDatabase:withEstimatedSize:]):
(-[UIDelegate webView:frame:quotaForSecurityOrigin:fromProposedQuota:database:]):
Removed unused (I think) code.


  • DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::QueryInterface): IWebUIDelegatePrivate3 is now supported. (UIDelegate::webViewPainted): A stub implementation. (UIDelegate::exceededDatabaseQuota): Set an arbitrary quota of 5 megabytes.
  • DumpRenderTree/win/UIDelegate.h:
3:47 AM Changeset in webkit [29845] by ap@webkit.org
  • 2 edits in trunk/WebKitLibraries

Debug (external) build fix.

Removed _DEBUG preprocessor definition, which indicates that debug libraries are used (while they aren't).
This preprocessor definition is automatically set by Visual Studio as needed anyway.

  • win/tools/vsprops/debug.vsprops:

Jan 28, 2008:

9:32 PM Changeset in webkit [29844] by mitz@apple.com
  • 5 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • make isSVGFont non-virtual
  • platform/graphics/FontData.h:
  • platform/graphics/SegmentedFontData.cpp:
  • platform/graphics/SegmentedFontData.h:
  • platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::isSVGFont):
6:05 PM Changeset in webkit [29843] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Adam Roben.

  • fix <rdar://problem/5700824> Chunky scrolling + scrolling artifacts @ netflix.com/Notebook
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::valueChanged): Send the scroll event before updating the window, thus giving event handlers a chance to update layout for the new scroll position, eliminating the jitter.
6:03 PM Changeset in webkit [29842] by eric@webkit.org
  • 2 edits
    1 copy
    4 adds in trunk/JavaScriptGlue

Reviewed by darin.


Add icu headers to JSG in preparation for depending on ::UChar.

  • Configurations/Base.xcconfig:
  • ForwardingHeaders/wtf/unicode: Added.
  • ForwardingHeaders/wtf/unicode/Unicode.h: Added.
  • ForwardingHeaders/wtf/unicode/icu: Added.
  • ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
  • icu: Copied from ../JavaScriptCore/icu.
5:55 PM Changeset in webkit [29841] by Adam Roben
  • 2 edits in trunk/WebCore

Fix <rdar://5555260> Gmail doesn't load when a user stylesheet is specified

Reviewed by Darin.

A null value exception was being thrown in Gmail's JS code because a
call to document.write failed. document.write failed because
Document::close had not yet been called. Document::close was not
called because the Document was considered to not be "complete" in
FrameLoader::checkComplete because the user stylesheet was in the
process of loading. The user stylesheet was loading because it had
previously been evicted from the cache and was loading fresh from
disk. It had been evicted from the cache because the calculation of
the expiration date was incorrectly casting/overflowing in
ResourceResponseCFNet.cpp.

We now calculate the expiration date in a way that does not cause us
to overflow a time_t, and we correctly clamp the value to the range of
a time_t. I also made the fix for the last modified date, though that
was not causing any bug I am aware of.

In the long-term it seems like whether or not Document::close is
called should not be dependent upon whether the user stylesheet has
finished loading or not.

  • platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::toTimeT): Added. Converts from CFAbsoluteTime to time_t and clamps to the range of time_t. (WebCore::ResourceResponse::doUpdateResourceResponse): Call toTimeT.
4:41 PM Changeset in webkit [29840] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Nikolas Zimmermann.

  • fix leaks introduced in r29838
  • svg/SVGFont.cpp: (WebCore::floatWidthMissingGlyphCallback): (WebCore::drawTextMissingGlyphCallback):
3:37 PM Changeset in webkit [29839] by Nikolas Zimmermann
  • 23 edits
    5 adds in trunk

Reviewed by Eric, Dan & Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=16980

Support external SVG Fonts, by reusing the custom font handling logic.
This enables us - as first engine - to render HTML pages using SVG Fonts.

Fixes fonts-elem-03-b.svg / fonts-elem-04-b.svg / fonts-elem-07-b.svg
Add new testcase svg-fonts-in-html.html.

2:47 PM Changeset in webkit [29838] by mitz@apple.com
  • 4 edits in trunk

WebCore:

Reviewed by Adam Roben.

  • fix svg/W3C-SVG-1.1/fonts-glyph-04-t.svg failure on Windows

The results differed between Mac OS X and Windows because the code was
using a 0-size font, which Mac OS X changes to 12pt.

  • svg/SVGFont.cpp: (WebCore::floatWidthMissingGlyphCallback): Use the font description of the primary font to initialize the fallback font. (WebCore::drawTextMissingGlyphCallback): Ditto.

LayoutTests:

Reviewed by Adam Roben.

  • updated results for a test that was failing on Windows
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt:
1:30 PM Changeset in webkit [29837] by eric@webkit.org
  • 6 edits in trunk/WebCore

Reviewed by Nikolas Zimmermann.

Use class instead of struct to appease MSVC.

  • history/HistoryItem.h:
  • loader/FrameLoaderClient.h:
  • page/InspectorController.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/mac/ResourceRequest.h:
12:50 PM Changeset in webkit [29836] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

Rubber-stamped by Darin Adler.

  • Fix whitespace in nodes.h/cpp and nodes2string.cpp.

(NOTE: Specific changed functions elided for space and clarity)

  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
12:04 PM Changeset in webkit [29835] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

<rdar://problem/5667017> storage/execute-sql-args.html failing -- openDatabase returning null on buildbot

  • platform/win/Skipped: Removed a passing test.
9:40 AM Changeset in webkit [29834] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: fast/dynamic/float-no-longer-overhanging.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addOverhangingFloats): If a child's float turns out not to be overhanging at this time, ensure that the child paints it.

LayoutTests:

Reviewed by Darin Adler.

  • fast/dynamic/float-no-longer-overhanging.html: Added.
  • platform/mac/fast/dynamic/float-no-longer-overhanging-expected.checksum: Added.
  • platform/mac/fast/dynamic/float-no-longer-overhanging-expected.png: Added.
  • platform/mac/fast/dynamic/float-no-longer-overhanging-expected.txt: Added.
3:19 AM Changeset in webkit [29833] by oliver@apple.com
  • 2 edits in trunk/WebCore

More wx fixes

2:43 AM Changeset in webkit [29832] by oliver@apple.com
  • 3 edits in trunk

And another Wx build fix

2:34 AM Changeset in webkit [29831] by oliver@apple.com
  • 3 edits in trunk/LayoutTests

Due to a difference between the collision bounds for paths
in different versions of CG these tests need modiifed to
pass on tiger and leopard.

RS=Mark

1:23 AM Changeset in webkit [29830] by oliver@apple.com
  • 2 edits in trunk/WebCore

Yet another Wx build fix

12:31 AM Changeset in webkit [29829] by oliver@apple.com
  • 2 edits in trunk/WebCore

Wx build fix

12:18 AM Changeset in webkit [29828] by oliver@apple.com
  • 2 edits in trunk/WebCore

Gtk build fix

Jan 27, 2008:

11:04 PM Changeset in webkit [29827] by oliver@apple.com
  • 11 edits
    3 adds in trunk

Bug 16629: <canvas> does not support isPointInPath()

Reviewed by Sam Weinig.

Relatively trivial change to implement pointInPath and add
it to the bindings. Most of this patch is the addition of
GraphicsContext::getCTM() by pulling the various platform
implementations from CanvasRenderingContext2D::willDraw

Test: fast/canvas/pointInPath.html

9:02 PM Changeset in webkit [29826] by ap@webkit.org
  • 6 edits in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=17014
REGRESSION: EUC-CN code A3A0 is mapped to U+E5E5 instead of U+3000

Test: fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decode): Added a workaround that we used to have in Mac code.
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::decode): Corrected a comment.
4:14 PM Changeset in webkit [29825] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

Reviewed by Oliver Hunt.

Patch for http://bugs.webkit.org/show_bug.cgi?id=17025
nodes.h/cpp has been rolling around in the mud - lets hose it down

  • Rename member variables to use the m_ prefix.

(NOTE: Specific changed functions elided for space and clarity)

  • kjs/grammar.y:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
4:04 PM Changeset in webkit [29824] by alp@webkit.org
  • 4 edits in trunk/WebCore

2008-01-27 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=17029
Use of deprecated class function but declares GTK_DISABLE_DEPRECATED

Sync gtkdrawing.h (1.51) and gtk2drawing.c (1.71) from Mozilla
upstream.

Adapt RenderThemeGtk.cpp to track minor changes.

3:24 PM Changeset in webkit [29823] by alp@webkit.org
  • 2 edits in trunk/WebKitTools

2008-01-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>

GTK+ DRT build fix for breakage introduced in r29822.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setPersistentUserStyleSheetLocation): (LayoutTestController::clearPersistentUserStyleSheet):
12:00 PM Changeset in webkit [29822] by mitz@apple.com
  • 12 edits
    5 adds in trunk

WebKitTools:

Reviewed by Darin Adler.

  • add support for directory prologues and epilogues to run-webkit-tests
  • allow setting a persistent user style sheet in DumpRenderTree
  • activate the WebKit Layout Tests font in Windows DumpRenderTree
  • DumpRenderTree/LayoutTestController.cpp: (clearPersistentUserStyleSheetCallback): Added. (setPersistentUserStyleSheetLocationCallback): Added. (LayoutTestController::staticFunctions): Added. clearPersistentUserStyleSheet and setPersistentUserStyleSheet.
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/DumpRenderTree.mm: (setPersistentUserStyleSheetLocation): Added. (resetWebViewToConsistentStateBeforeTesting): Added the user style sheet to the set of things this function resets. Now it either disables the user style sheet or sets it to the persistent user style sheet and enables it.
  • DumpRenderTree/mac/DumpRenderTreeMac.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setPersistentUserStyleSheetLocation): Added. (LayoutTestController::clearPersistentUserStyleSheet): Added.
  • DumpRenderTree/win/DumpRenderTree.cpp: (setPersistentUserStyleSheetLocation): Added. (initialize): Added the WebKit Layout Tests font to the set of fonts to install. (resetWebViewToConsistentStateBeforeTesting): See DumpRenderTree.mm.
  • DumpRenderTree/win/DumpRenderTreeWin.h:
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setPersistentUserStyleSheetLocation): Added. (LayoutTestController::clearPersistentUserStyleSheet): Added.
  • Scripts/run-webkit-tests: Changed to look for, and if found process in DumpRenderTree, files named run-webkit-tests-prologue.html and run-webkit-tests-epilogue.html in the resources subdirectory of any test directory and platform test results directory. The prologues are processed before the first test from the directory (and its subdirectories) is run, and the epilogues are processed after the last test from the directory is run. Platform-specific prologues and epilogues are processed in order of specificity.

LayoutTests:

Reviewed by Darin Adler.

  • make some CSS2.1 tests pass on Windows by using @font-face to force font fallback to match Mac OS X.
  • platform/win/Skipped:
  • platform/win/css2.1: Added.
  • platform/win/css2.1/resources: Added.
  • platform/win/css2.1/resources/Mac-compatible-font-fallback.css: Added.
  • platform/win/css2.1/resources/run-webkit-tests-epilogue.html: Added.
  • platform/win/css2.1/resources/run-webkit-tests-prologue.html: Added.
11:49 AM Changeset in webkit [29821] by alp@webkit.org
  • 11 edits
    4 adds in trunk

2008-01-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=14811
[gtk] [request] add a webkit_gtk_page_go_to_history_item function

2:17 AM Changeset in webkit [29820] by Darin Adler
  • 2 edits in trunk/LayoutTests
  • http/tests/security/cross-frame-access-put-expected.txt: Updated again. Not sure why, but I generated a different result the first time I tried. I suspect this test gives different results depending on what other tests are run with it.
1:55 AM Changeset in webkit [29819] by Darin Adler
  • 4 edits in trunk/LayoutTests
  • updated some test results I missed that were affected by my fix for bug 16498
  • fast/dom/xmlhttprequest-get-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
  • plugins/inner-html-display-none-expected.txt:
1:38 AM Changeset in webkit [29818] by Darin Adler
  • 11 edits in trunk

JavaScriptCore:

Reviewed by Oliver.

  • fix <rdar://problem/5657450> REGRESSION: const is broken

Test: fast/js/const.html

SunSpider said this was 0.3% slower. And I saw some Shark samples in
JSGlobalObject::put -- not a lot but a few. We may be able to regain the
speed, but for now we will take that small hit for correctness sake.

  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::put): Pass the checkReadOnly flag in to symbolTablePut instead of passing attributes.
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTablePut): Removed the code to set attributes here, since we only set attributes when creating a property. Added the code to check read-only here, since we need that to implement const!
  • kjs/function.cpp: (KJS::ActivationImp::put): Pass the checkReadOnly flag in to symbolTablePut instead of passing attributes.
  • kjs/nodes.cpp: (KJS::isConstant): Added. (KJS::PostIncResolveNode::optimizeVariableAccess): Create a PostIncConstNode if optimizing for a local variable and the variable is constant. (KJS::PostDecResolveNode::optimizeVariableAccess): Ditto. But PostDecConstNode. (KJS::PreIncResolveNode::optimizeVariableAccess): Ditto. But PreIncConstNode. (KJS::PreDecResolveNode::optimizeVariableAccess): Ditto. But PreDecConstNode. (KJS::PreIncConstNode::evaluate): Return the value + 1. (KJS::PreDecConstNode::evaluate): Return the value - 1. (KJS::PostIncConstNode::evaluate): Return the value converted to a number. (KJS::PostDecConstNode::evaluate): Ditto. (KJS::ReadModifyResolveNode::optimizeVariableAccess): Create a ReadModifyConstNode if optimizing for a local variable and the variable is constant. (KJS::AssignResolveNode::optimizeVariableAccess): Ditto. But AssignConstNode. (KJS::ScopeNode::optimizeVariableAccess): Pass the local storage to the node optimizeVariableAccess functions, since that's where we need to look to figure out if a variable is constant. (KJS::FunctionBodyNode::processDeclarations): Moved the call to optimizeVariableAccess until after localStorage is set up. (KJS::ProgramNode::processDeclarations): Ditto.
  • kjs/nodes.h: Fixed the IsConstant and HasInitializer values. They are used as flag masks, so a value of 0 will not work for IsConstant. Changed the first parameter to optimizeVariableAccess to be a const reference to a symbol table and added a const reference to local storage. Added classes for const versions of local variable access: PostIncConstNode, PostDecConstNode, PreIncConstNode, PreDecConstNode, ReadModifyConstNode, and AssignConstNode.
  • kjs/object.cpp: (KJS::JSObject::put): Tweaked comments a bit, and changed the checkReadOnly expression to match the form used at the two other call sites.

LayoutTests:

Reviewed by Oliver.

  • tests for <rdar://problem/5657450> REGRESSION: const is broken
  • fast/js/const-expected.txt: Updated with results that express success rather than failure, and to include the many new tests I added.
  • fast/js/kde/const-expected.txt: Ditto.
  • fast/js/resources/const.js: Added many new tests, covering the various cases of const in globals, function locals, the slow case inside eval, the different node types, and the values of the expressions.
12:54 AM Changeset in webkit [29817] by Darin Adler
  • 17 edits in trunk

JavaScriptCore:

Reviewed by Oliver.

Test: fast/js/function-names.html

  • kjs/array_object.cpp: (KJS::ArrayObjectImp::ArrayObjectImp): Use the class name as the constructor's function name.
  • kjs/bool_object.cpp: (KJS::BooleanObjectImp::BooleanObjectImp): Ditto.
  • kjs/date_object.cpp: (KJS::DateObjectImp::DateObjectImp): Ditto.
  • kjs/error_object.cpp: (KJS::ErrorPrototype::ErrorPrototype): Make the error object be an Error. (KJS::ErrorObjectImp::ErrorObjectImp): Use the class name as the constructor's function name. (KJS::NativeErrorPrototype::NativeErrorPrototype): Take const UString&. (KJS::NativeErrorImp::NativeErrorImp): Use the prototype's name as the constructor's function name.
  • kjs/error_object.h: Change ErrorPrototype to inherit from ErrorInstance. Change the NativeErrorImp constructor to take a NativeErrorPrototype pointer for its prototype.
  • kjs/function.h: Removed unneeded constructor for internal functions without names. We want to avoid those!
  • kjs/function_object.cpp: (KJS::functionProtoFuncToString): Removed code that writes out just [function] for functions that have no names. There's no reason to do that. (KJS::FunctionObjectImp::FunctionObjectImp): Use the class name as the constructor's function name.
  • kjs/internal.cpp: Removed the unused constructor.
  • kjs/number_object.cpp: (KJS::fractionalPartToString): Marked static for internal linkage. (KJS::exponentialPartToString): Ditto. (KJS::numberProtoFuncToPrecision): Removed an unneeded else. (KJS::NumberObjectImp::NumberObjectImp): Use the class name as the constructor's function name. (KJS::NumberObjectImp::getValueProperty): Tweaked formatting.
  • kjs/object_object.cpp: (KJS::ObjectObjectImp::ObjectObjectImp): Use "Object" for the function name.
  • kjs/regexp_object.cpp: (KJS::RegExpObjectImp::RegExpObjectImp): Use "RegExp" for the function name.
  • kjs/string_object.cpp: (KJS::StringObjectImp::StringObjectImp): Use the class name as the constructor's function name.

LayoutTests:

Reviewed by Oliver.

  • fast/js/function-names-expected.txt: Updated for new tests.
  • fast/js/kde/resources/function.js: Updated test to expect the format that Gecko uses for native code, which we now match character for character.
  • fast/js/resources/function-names.js: Added tests for the names of all the constructors.
12:48 AM Changeset in webkit [29816] by Darin Adler
  • 15 edits
    10 adds in trunk

WebCore:

Reviewed and tweaked quite a bit by Darin.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14959
No back forward entry added for pages created in javascript

A new HistoryItem is created for calls to Document::open. Calls to
Document::write save the written data to a SharedBuffer that is also
stored on the HistoryItem. When the user navigates back to a
HistoryItem that has a valid buffer, that data is used for the page
content.

Tests: http/tests/navigation/document-open-adds-history-item.html

http/tests/navigation/document-open-delayed-adds-history-item.html
http/tests/navigation/document-open-new-window-adds-history-item.html
http/tests/navigation/document-open-replace-no-history-item.html

  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open): Pass a MIME type of either "text/html" or "text/plain" and a boolean for "replace" in rather than always setting replace to true and the MIME type to "text/html".
  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createHTMLDocument): Pass in MIME type and replace boolean explicitly, since we don't want to rely on Document::open()'s default.
  • dom/Document.cpp: (WebCore::Document::open): Correctly determine the "replace" boolean. Pass along the MIME type, replace boolean, and shared buffer to the frame loader's didExplicitOpen function. (WebCore::Document::write): Pass MIME type and replace boolean explicitly to the open function so we don't do treat it as replace if you write without an open. Store text written by the script so it can be used later for history. (WebCore::Document::clear): Drop the text written byt he script.
  • dom/Document.h: Added MIME type and replace boolean parameters for open. Had to keep the old version for the sake of DOM bindings. Added the shared buffer used for text written by script.
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): Copy m_substituteData. (WebCore::HistoryItem::substituteData): Added. (WebCore::HistoryItem::setSubstituteData): Added.
  • history/HistoryItem.h: Added m_substituteData, getter, and setter.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::didExplicitOpen): Added code to create or update the history item, including attaching the shared buffer that will contain all the data written by script. (WebCore::FrameLoader::load): Added a SubstituteData parameter, passed through when creating the document loader. (WebCore::FrameLoader::reloadAllowingStaleData): Create the document loader with the substitute data from the current history item. (WebCore::FrameLoader::reload): Ditto. (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): If the current history item has substitute data, then consider the URL from the substitute data rather than the one in the history item itself. (WebCore::FrameLoader::loadItem): Pass in the history item's substitute data.
  • loader/FrameLoader.h: Added parameters to load and didExplicitOpen.
  • platform/text/CharacterNames.h: Added byteOrderMark, and also added it under its other official name, zeroWidthNoBreakSpace.
  • xml/DOMParser.cpp: (WebCore::DOMParser::parseFromString): Pass in MIME type and replace boolean explicitly, since we don't want to rely on Document::open()'s default.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::getResponseXML): Ditto.
  • xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.

LayoutTests:

Reviewed by Darin.

Test cases for fix to http://bugs.webkit.org/show_bug.cgi?id=14959
No back forward entry added for pages created in javascript.

  • http/tests/navigation/document-open-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-adds-history-item.html: Added.
  • http/tests/navigation/document-open-delayed-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-delayed-adds-history-item.html: Added.
  • http/tests/navigation/document-open-new-window-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-new-window-adds-history-item.html: Added.
  • http/tests/navigation/document-open-replace-no-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-replace-no-history-item.html: Added.

Jan 26, 2008:

8:21 PM Changeset in webkit [29815] by Darin Adler
  • 6 edits in trunk

JavaScriptCore:

Reviewed by Oliver.

Test: fast/js/function-toString-parentheses.html

The problem here was that a NumberNode with a negative number in it had the wrong
precedence. It's not a primary expression, it's a unary operator with a primary
expression after it.

Once the precedence of NumberNode was fixed, the cases from bug 17020 were also
fixed without trying to treat bracket nodes like dot nodes. That wasn't needed.
The reason we handle numbers before dot nodes specially is that the dot is a
legal character in a number. The same is not true of a bracket. Eventually we
could get smarter, and only add the parentheses when there is actual ambiguity.
There is none if the string form of the number already has a dot in it, or if
it's a number with a alphabetic name like infinity or NAN.

  • kjs/nodes.h: Renamed back from ObjectAccess to DotExpr. (KJS::NumberNode::precedence): Return PrecUnary for negative numbers, since they serialize as a unary operator, not a primary expression.
  • kjs/nodes2string.cpp: (KJS::SourceStream::operator<<): Clear m_numberNeedsParens if this adds parens; one set is enough. (KJS::bracketNodeStreamTo): Remove unneeded special flag here. Normal operator precedence suffices. (KJS::NewExprNode::streamTo): Ditto.

LayoutTests:

Reviewed by Oliver.

  • fast/js/function-toString-parentheses-expected.txt: Updated.
  • fast/js/resources/function-toString-parentheses.js: More test cases.
8:10 PM Changeset in webkit [29814] by mrowe@apple.com
  • 2 edits in trunk/WebKit/mac

Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.

Reviewed by Darin Adler.

  • Misc/WebNSDataExtras.m:

(-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
to the new CFString so that they will be freed when no longer needed.

6:16 PM Changeset in webkit [29813] by oliver@apple.com
  • 5 edits in trunk

Fix for http://bugs.webkit.org/show_bug.cgi?id=17020
Function.toString does not parenthesise numbers for the bracket accessor

Reviewed by Maciej and Darin.

It turns out that logic was there for all of the dot accessor nodes to make numbers be
parenthesised properly, so it was a trivial extension to extend that to the bracket nodes.
I renamed the enum type to reflect the fact that it is now used for both dot and bracket
accessors.

4:40 PM Changeset in webkit [29812] by oliver@apple.com
  • 5 edits in trunk

Fix Bug 17018: Incorrect code generated from Function.toString for get/setters in object literals

Reviewed by Darin.

Don't quote getter and setter names during output, as that is simply wrong.

4:17 PM Changeset in webkit [29811] by ddkilzer@apple.com
  • 4 edits
    1 delete in trunk/WebKit

WebKit:

<rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit

Reviewed by Darin.

  • WebKit.xcodeproj/project.pbxproj: Removed WebDashboardRegion.h.

WebKit/mac:

<rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit

Reviewed by Darin.

  • WebCoreSupport/WebDashboardRegion.h: Removed.
  • WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
10:55 AM Changeset in webkit [29810] by Darin Adler
  • 10 edits in trunk/JavaScriptCore

Reviewed by Eric Seidel.

  • JavaScriptCore.exp: Export the GlobalExecState constructor instead of the global flavor of the ExecState constructor. It'd probably be cleaner to not export either one, but JSGlobalObject inlines the code that constructs the ExecState. If we changed that, we could remove this export.
  • JavaScriptCore.xcodeproj/project.pbxproj: Re-sorted a few things and put the new source files into the kjs group rather than at the top level.
  • kjs/ExecState.cpp: (KJS::ExecState::ExecState): Marked inline and updated for data member name changes. This is now only for use for the derived classes. Also removed code that sets the unused m_savedExec data member for the global case. That data member is only used for the other two types. (KJS::ExecState::~ExecState): Marked inline and removed all the code. The derived class destructors now inclde the appropriate code. (KJS::ExecState::lexicalGlobalObject): Removed unneeded special case for an empty scope chain. The bottom function already returns 0 for that case, so the general case code handles it fine. Also changed to use data members directly rather than calling functions. (KJS::GlobalExecState::GlobalExecState): Added. Calls through to the base class constructor. (KJS::GlobalExecState::~GlobalExecState): Added. (KJS::InterpreterExecState::InterpreterExecState): Added. Moved code to manipulate activeExecStates here since we don't want to have to check for the special case of globalExec. (KJS::InterpreterExecState::~InterpreterExecState): Added. (KJS::EvalExecState::EvalExecState): Added. (KJS::EvalExecState::~EvalExecState): Added. (KJS::FunctionExecState::FunctionExecState): Added. (KJS::FunctionExecState::~FunctionExecState): Added.
  • kjs/ExecState.h: Tweaked the header, includes, and declarations a bit. Made ExecState inherit from Noncopyable. Reformatted some comments and made them a bit more brief. Rearranged declarations a little bit and removed unused savedExec function. Changed seenLabels function to return a reference rather than a pointer. Made constructors and destructor protected, and also did the same with all data members. Renamed m_thisVal to m_thisValue and ls to m_labelStack. Added three new derived classes for each of the types of ExecState. The primary goal here was to remove a branch from the code in the destructor, but it's also clearer than overloading the arguments to the ExecState constructor.
  • kjs/JSGlobalObject.cpp: (KJS::getCurrentTime): Fixed formatting. (KJS::JSGlobalObject::pushActivation): Removed parentheses that don't make the expression clearer -- other similar sites didn't have these parentheses, even the one a couple lines earlier that sets stackEntry. (KJS::JSGlobalObject::tearOffActivation): Got rid of unneeded static_cast (I think I mentioned this during patch review) and used an early exit so that the entire contents of the function aren't nested inside an if statement. Also removed the check of codeType, instead checking Activation for 0. For now, I kept the codeType check, but inside an assertion.
  • kjs/JSGlobalObject.h: Changed type of globalExec to GlobalExecState.
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): Changed type to FunctionExecState. (KJS::GlobalFuncImp::callAsFunction): Changed type to EvalExecState.
  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate): Changed type to GlobalExecState.
  • kjs/nodes.cpp: (KJS::ContinueNode::execute): Changed code since seenLabels() returns a reference now instead of a pointer. (KJS::BreakNode::execute): Ditto. (KJS::LabelNode::execute): Ditto.
10:27 AM Changeset in webkit [29809] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

Reviewed by Mark Rowe.

Cleanup node2string a little.

  • Remove some unnecessary branching.
  • Factor out bracket and dot streaming into static inline functions.
  • kjs/nodes.h:
  • kjs/nodes2string.cpp: (KJS::bracketNodeStreamTo): (KJS::dotNodeStreamTo): (KJS::FunctionCallBracketNode::streamTo): (KJS::FunctionCallDotNode::streamTo): (KJS::PostIncBracketNode::streamTo): (KJS::PostDecBracketNode::streamTo): (KJS::PostIncDotNode::streamTo): (KJS::PostDecDotNode::streamTo): (KJS::DeleteBracketNode::streamTo): (KJS::DeleteDotNode::streamTo): (KJS::PreIncBracketNode::streamTo): (KJS::PreDecBracketNode::streamTo): (KJS::PreIncDotNode::streamTo): (KJS::PreDecDotNode::streamTo): (KJS::ReadModifyBracketNode::streamTo): (KJS::AssignBracketNode::streamTo): (KJS::ReadModifyDotNode::streamTo): (KJS::AssignDotNode::streamTo): (KJS::WhileNode::streamTo):
9:58 AM Changeset in webkit [29808] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

<rdar://problem/5707607> REGRESSION: I hear a beep when selecting Alt-enter in address or search fields


Reviewed by Oliver.

  • WebView.cpp: (WebView::keyDown): Allow alt-return to be marked as handled by WebKit.
4:32 AM Changeset in webkit [29807] by mrowe@apple.com
  • 2 edits in trunk

Fix http://bugs.webkit.org/show_bug.cgi?id=17007 ([GTK] autogen.sh attempts to use "libtoolize" on the Mac).

Reviewed by Alp Toker.

libtoolize is installed as glibtoolize on Mac OS X to avoid naming conflicts
with other system commands. Check for the presence of glibtoolize if libtoolize
cannot be found.

  • autogen.sh:
2:01 AM Changeset in webkit [29806] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix http://bugs.webkit.org/show_bug.cgi?id=17001 (Build error with Gtk port on Mac OS X).

Reviewed by Darin Adler.

If both XP_MACOSX and XP_UNIX are defined then X11.h and Carbon.h will both be included.
These provide conflicting definitions for a type named 'Cursor'. As XP_UNIX is set by
the build system when targeting X11, it doesn't make sense for XP_MACOSX to also be set
in this instance.

  • bindings/npapi.h: Don't define XP_MACOSX if XP_UNIX is defined.
1:42 AM Changeset in webkit [29805] by eric@webkit.org
  • 23 edits in trunk/WebCore

Reviewed by Sam and Darin.

Fire a warning shot in DeprecatedChar's direction.

Remove DeprecatedChar::isSpace() usage, in preparation for removing DeprecatedChar
Remove a needless String -> DeprecatedString -> String conversion for <script> tags

  • css/MediaQueryEvaluator.cpp: (WebCore::parseAspectRatio):
  • css/SVGCSSParser.cpp:
  • dom/Position.cpp: (WebCore::Position::leadingWhitespacePosition): (WebCore::Position::trailingWhitespacePosition):
  • editing/TextIterator.cpp: (WebCore::WordAwareIterator::advance):
  • html/HTMLFontElement.cpp: (WebCore::parseFontSizeNumber):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h:
  • loader/CachedCSSStyleSheet.cpp:
  • loader/TextResourceDecoder.cpp:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::getData):
  • platform/network/HTTPParsers.cpp: (WebCore::extractMIMETypeFromMediaType):
  • platform/text/PlatformString.h:
  • platform/text/StringImpl.cpp: (WebCore::parseLength): (WebCore::StringImpl::stripWhiteSpace): (WebCore::StringImpl::simplifyWhiteSpace): (WebCore::StringImpl::toInt): (WebCore::StringImpl::toInt64): (WebCore::StringImpl::toUInt64):
  • platform/text/StringImpl.h: (WebCore::isSpaceOrNewline):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter):
  • rendering/bidi.cpp: (WebCore::RenderBlock::computeHorizontalPositionsForLine):
  • svg/SVGFontFaceElement.cpp: (WebCore::mapAttributeToCSSProperty):
  • svg/SVGLength.cpp:
  • svg/SVGStyledElement.cpp: (WebCore::mapAttributeToCSSProperty):
  • xml/XPathParser.cpp:
1:01 AM Changeset in webkit [29804] by Darin Adler
  • 6 edits in trunk

JavaScriptCore:

Reviewed by Oliver.

Test: fast/js/toString-for-var-decl.html

  • kjs/nodes.h: Added PlaceholderTrueNode so we can put nodes into for loops without injecting the word "true" into them (nice, but not the bug fix). Fixed ForNode constructor so expr1WasVarDecl is set only when there is an expression, since it's common for the actual variable declaration to be moved by the parser.
  • kjs/nodes2string.cpp: (KJS::PlaceholderTrueNode::streamTo): Added. Empty.

LayoutTests:

Reviewed by Oliver.

  • fast/js/resources/toString-for-var-decl.js: Streamlined the test a bit, with more of the execution within shouldBe so that exceptions are caught for us. Added a new test case reflecting the just-fixed bug.
  • fast/js/toString-for-var-decl-expected.txt: Updated.
Note: See TracTimeline for information about the timeline view.