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

Timeline



Jul 20, 2007:

11:46 PM Changeset in webkit [24505] by oliver
  • 3 edits in trunk/WebKit

Reviewed by Adele.

<rdar://problem/5319438> REGRESSION: Cannot paste into an active inline input area (14522)
http://bugs.webkit.org/show_bug.cgi?id=14522

AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event,
we now check this as it is necessary to work around some IMs that do send messages
(such as insertText: rather than unmarkText: to confirm a composition)

  • WebView/WebHTMLView.mm: (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): (-[WebHTMLView doCommandBySelector:]):
  • WebView/WebHTMLViewInternal.h:
8:25 PM Changeset in webkit [24504] by staikos
  • 5 edits in trunk/WebKitQt

Patch from Adam Treat to add the rest of the policy information (action type)
and a signal for initial layout

7:29 PM Changeset in webkit [24503] by beidson
  • 5 edits in trunk

WebCore:

Reviewed by Adele and Andersca

<rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)

  • WebCore.exp: Export the BackForwardList c'tor so WebKit can create one explicitly

WebKit:

Reviewed by Adele and Andersca

<rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)

  • History/WebBackForwardList.mm: (-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page.
  • WebView/WebFrame.mm: (kit): For clarity's sake, this should return nil, not 0
7:26 PM Changeset in webkit [24502] by weinig
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Beth Dakin.

Tests for <rdar://problem/5351901>
Computed value of border-position should return a CSSValueList, not a CSSPrimitiveValue

  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle-background-position-expected.txt: Added.
  • fast/css/getComputedStyle-background-position.html: Added.

WebCore:

Reviewed by Beth Dakin.

Fix for <rdar://problem/5351901>
Computed value of border-position should return a CSSValueList, not a CSSPrimitiveValue

  • Return a space separated CSSValueList for background-position instead of a CSSPrimitiveValue (string type).
  • Remove the "else if (renderer)" case as it never returns a different value than just calling length.value().
  • Make background-position-x and background-position-y behave like background-position. Fix case of initial value return 'auto' instead of 0.

Test: fast/css/getComputedStyle-background-position.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
6:38 PM Changeset in webkit [24501] by ggaren
  • 2 edits in trunk/WebCore

Build fix for non-Mac platforms.


  • bindings/js/GCController.cpp:
6:23 PM Changeset in webkit [24500] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Darin.

If the style sheet requested is a user style sheet, don't store it in the DocLoader's resource map;
user style sheets can outlive their doc loaders.

  • loader/DocLoader.cpp: (WebCore::DocLoader::requestCSSStyleSheet):
5:38 PM Changeset in webkit [24499] by justing
  • 14 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.


<rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it

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

WebCore:

Reviewed by Darin.

<rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it


  • bridge/EditorClient.h: Removed a client method for enabling/disabling word selection on right clicks.
  • editing/Editor.cpp: Ditto.
  • editing/Editor.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::sendContextMenuEvent): Select the word underneath the mouse regardless of whether its editable.

WebKit:

Reviewed by Darin.


<rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: Removed the method for enabling/disabling word selection on right click.
  • WebView/WebView.mm: Ditto.
  • WebView/WebViewPrivate.h: Removed the getter/setter entirely, it was in a private Category for Mail, but wasn't used by Mail on Tiger or Leopard, they apparently implement word selection on their own.

win:

Reviewed by Darin.


<rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it

  • WebEditorClient.cpp: Removed the now unused selectWordBeforeMenuEvent().
  • WebEditorClient.h:
4:35 PM Changeset in webkit [24498] by adachan
  • 2 edits in trunk/WebCore

2007-07-20 Ada Chan <adachan@apple.com>

Reviewed by Darin and Adam.

<rdar://problem/5338385> Fixed infinite loop in ScrollView::scrollRectIntoViewRecursively().
Also removed an unused local variable.

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::scrollRectIntoViewRecursively):
4:26 PM Changeset in webkit [24497] by antti
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.


HTTP test for <rdar://problem/5305788>
REGRESSION: Safari sometimes loads IE-specific stylesheet on www.apaema.org


Test that order style sheets arrive has no impact to selection of preferred style sheet set.

  • http/tests/local/fail.css: Added.
  • http/tests/local/link-stylesheet-preferred-expected.txt: Added.
  • http/tests/local/link-stylesheet-preferred.html: Added.
  • http/tests/local/slow-css-pass.cgi: Added.

WebCore:

Reviewed by Darin.


Fix <rdar://problem/5305788>
REGRESSION: Safari sometimes loads IE-specific stylesheet on www.apaema.org


Pick the preferred style sheet set based on document order even if the sheet is still loading. Previously
the set was chosen based on which stylesheet happened to arrive first. Just fix the problem at hand
and resist urge to start refactoring this function.

  • dom/Document.cpp: (WebCore::Document::recalcStyleSelector):
4:19 PM Changeset in webkit [24496] by weinig
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

Add tests for <rdar://problem/5351252>
Computed value for -webkit-background-size and border-spacing
should be space separated CSSValueLists.

  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle-background-size-expected.txt: Added.
  • fast/css/getComputedStyle-background-size.html: Added.
  • fast/css/getComputedStyle-border-spacing-expected.txt: Added.
  • fast/css/getComputedStyle-border-spacing.html: Added.

WebCore:

Reviewed by Darin.

Fix for <rdar://problem/5351252>
Computed value for -webkit-background-size and border-spacing
should be space separated CSSValueLists.

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4:14 PM Changeset in webkit [24495] by ggaren
  • 6 edits in trunk/WebCore

Suggested by Darin Adler.


Slight tweak to my last commit: changed gcController() to return a
reference instead of a pointer.

3:59 PM Changeset in webkit [24494] by adachan
  • 2 edits in trunk/WebKit/win

2007-07-20 Ada Chan <adachan@apple.com>

Reviewed by Steve.


<rdar://problem/5350832> History item's visitedCount wasn't updated correctly

The call to setLastVisitedTimeInterval() in WebHistory::addItemForURL() does not
really increment the visitedCount of the HistoryItem - because we only increment the count
if the last visited time is different. We should initialize the HistoryItem with
lastVisited time = 0 so when we call setLastVisitedTimeInterval() later, it'll update
the last visited time AND the visitedCount.


  • WebHistory.cpp: (WebHistory::addItemForURL):
3:58 PM Changeset in webkit [24493] by ggaren
  • 9 edits
    2 adds in trunk/WebCore

Reviewed by Darin Adler.


Fixed http://bugs.webkit.org/show_bug.cgi?id=12900 Page tear-down
forces garbage collection once per frame

Also fixed <rdar://problem/5286989> GC on window close does not always
bring the JS object count down to 0


Implemented a 0-delay GC timer in WebCore. Instead of forcing GC
immediately, code that thinks it has created a lot of garbage starts
the timer. This has two advantages:

1) Multiple GCs can coalesce. In my pathological test case, this
improves performance by an order of magnitude.


2) Conservative marking is less likely to keep alive important dead
objects, like the window object, because the stack is small and free of
JS processing when the timer fires.

Added GCController.h/.cpp, sometimes blindly:

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:

Added singleton that implements GC on a 0-delay timer:

  • bindings/js/GCController.h: Added.
  • bindings/js/GCController.cpp: Added.


Changed Collector::collect() calls below to call to the singleton:

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy):
  • bindings/js/kjs_window.cpp: (KJS::Window::clear):
  • history/CachedPage.cpp: (WebCore::CachedPage::clear):


  • page/Frame.cpp: (WebCore::Frame::~Frame): Removed previous slightly hackish attempt to avoid conservative marking of the window object.
3:52 PM Changeset in webkit [24492] by andersca
  • 5 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/5298816> Crash redirecting message, in -[SharedBufferData initWithSharedBuffer:]


Have cached resources keep track of what DocLoader they belong to. This is so that they can remove themselves
from the DocLoader's resource map when they're destroyed when the cache is disabled.


  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
  • loader/Cache.cpp: (WebCore::Cache::requestResource):
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::~CachedResource):
  • loader/CachedResource.h: (WebCore::CachedResource::setDocLoader):
3:42 PM Changeset in webkit [24491] by beidson
  • 3 edits
    3 adds in trunk

LayoutTests:

Reviewed by Darin

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

  • fast/frames/frame-base-url-expected.txt: Added.
  • fast/frames/frame-base-url.html: Added.
  • fast/frames/resources/subframe-base-url.html: Added.

WebCore:

Reviewed by Darin

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

The issue here was that if a document in a subframe was loaded from a URL, but then a script did
document.open or document.write during parsing, we would overwrite the document's url and baseurl
with the parent frame's url. WRONG!

  • dom/Document.cpp: (WebCore::Document::open): Only set the url and baseURL in document.open if they are still empty or about:blank
3:35 PM Changeset in webkit [24490] by mjs
  • 5 edits
    3 adds in trunk

LayoutTests:

Reviewed by Oliver.

  • test case for <rdar://problem/5326303> REGRESSION: blur event fires upon navigating away from a page with focused element


(Test mostly by Alice.)

  • fast/events/no-blur-on-page-leave-expected.txt: Added.
  • fast/events/no-blur-on-page-leave.html: Added.
  • fast/events/resources/no-blur-result.html: Added.

WebCore:

Reviewed by Oliver.

<rdar://problem/5326303> REGRESSION: blur event fires upon navigating away from a page with focused element


The proximate cause was the recent change to keep focus on the
WebHTMLView when switching views. But the reason this happend was
that didCommitLoadForFrame got called at a time when the new view
was in place, but the old document was still there. This was a
longstanding problem with the delegate, and fixing it cleans it
up.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Don't send dispatchWindowObjectAvailable if caller asked not to (this is to allow order of delegates to be the same). (WebCore::FrameLoader::transitionToCommitted): Don't emit didCommitLoadForFrame here. (WebCore::FrameLoader::receivedFirstData): Instead do it here, after calling begin(), so the new document is set up.
  • loader/FrameLoader.h: Add new optional parameter to begin().
2:38 PM Changeset in webkit [24489] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Darin.

<rdar://problem/5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors)
<rdar://problem/5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling

On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects
underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them,
causing rendering to happen in two steps instead of one as WebCore expected.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw. (-[WebHTMLView _isTopHTMLView]): Ditto. (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only. (-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView. (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]): Don't do layout here on Leopard since viewWillDraw handled it. (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
2:31 PM Changeset in webkit [24488] by bdakin
  • 2 edits in trunk/WebKit

Reviewed by Tim and Geoff.

Fix for <rdar://problem/5346855> Mail crashes at
WebCore::RenderTableSection:paint + 846 when attempting to display
a HTML based message

After reapplying styles, the RenderView needs layout. However,
layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to
return early if the WebHTMLView itself does not need layout.
Because the WebHTMLView is not necessarily in synch with the
RenderTree, returning early here can get us into a bad situation
where we paint before laying out the Render Tree. This patch checks
both the WebHTMLView and the bridge (which checks the RenderView,
etc), so that we do not return early without laying out the Render
Tree.

Some day, we should phase out WebHTMLView keeping track of
needsLayout at all. But that is a bit beyond the scope of this fix.

  • WebView/WebHTMLView.mm: (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
1:56 PM Changeset in webkit [24487] by weinig
  • 3 edits in trunk/LayoutTests

Reviewed by Mitz.

Update test to reduce code duplication.

  • fast/css/getComputedStyle-borderRadius-expected.txt:
  • fast/css/getComputedStyle-borderRadius.html:
1:35 PM Changeset in webkit [24486] by weinig
  • 7 edits
    2 moves in trunk

LayoutTests:

Reviewed by Beth Dakin.

Computed style for border radii should return a CSSValueList instead
of CSSPrimitiveValue (with a Pair type) when the radii are not the same.

  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle-borderRadius-expected.txt: Copied from LayoutTests/fast/dom/getComputedStyle-borderRadius-expected.txt.
  • fast/css/getComputedStyle-borderRadius.html: Copied from LayoutTests/fast/dom/getComputedStyle-borderRadius.html.
  • fast/dom/getComputedStyle-borderRadius-expected.txt: Removed.
  • fast/dom/getComputedStyle-borderRadius.html: Removed.

WebCore:

Reviewed by Beth Dakin.

Update for fix for http://bugs.webkit.org/show_bug.cgi?id=14646
<rdar://problem/5340449>

  • Return a CSSValueList instead of CSSValue (with a Pair type) for computed values of border radii.
  • Add ability to CSSValueList to print out a space separated list instead of a comma.
  • Add border radii to list of computed styles that we create and can iterate over.
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::getBorderRadiusCornerValue):
  • css/CSSValueList.cpp: (WebCore::CSSValueList::CSSValueList): (WebCore::CSSValueList::cssText):
  • css/CSSValueList.h:
12:01 PM Changeset in webkit [24485] by pewtermoose
  • 13 edits
    5 adds in trunk/WebCore

2007-07-20 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

No layout test possible because there is no change in functionality.

This patch generalizes RenderBlock's implementation of the Unicode Bidi Algorithm
in the form of the BidiResolver class template. An instance of a BidiResolver class
can generate a sequence of runs with corresponding level and override attributes,
given a range specified by start and end iterators. The iterators can optionally
call back to the BidiResolver instance to push or pop explicit embedding levels.

The patch replaces BidiState with a specialization of BidiResolver that uses
BidiIterators and generates BidiRuns. It also eliminates some of the file statics
in bidi.cpp, instead relying on BidiResolver data members.

The patch makes the BidiContext part of BidiStatus, thus making BidiStatus the
entire state that needs to be saved and restored in order to restart the bidi
algorithm at a given point. Previously, you had to keep and pass around two
separate structures, namely the BidiContext and the BidiStatus.

bidiReorderCharacters is implemented without relying on render objects, using
a BidiResolver specialization that uses simple character buffer iterators and
simple run structures.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • platform/BidiContext.cpp: Added. (WebCore::operator==):
  • platform/BidiContext.h: Added. (WebCore::BidiContext::BidiContext): (WebCore::BidiContext::ref): (WebCore::BidiContext::deref): (WebCore::BidiContext::parent): (WebCore::BidiContext::level): (WebCore::BidiContext::dir): (WebCore::BidiContext::override):
  • platform/BidiReorderCharacters.cpp: Added. (WebCore::CharacterBufferIterator::CharacterBufferIterator): (WebCore::CharacterBufferIterator::offset): (WebCore::CharacterBufferIterator::increment): (WebCore::CharacterBufferIterator::atEnd): (WebCore::CharacterBufferIterator::current): (WebCore::CharacterBufferIterator::direction): (WebCore::CharacterBufferIterator::operator==): (WebCore::CharacterBufferIterator::operator!=): (WebCore::::appendRun): (WebCore::bidiReorderCharacters):
  • platform/BidiReorderCharacters.h: Added.
  • platform/BidiResolver.h: Added. (WebCore::BidiStatus::BidiStatus): (WebCore::operator==): (WebCore::operator!=): (WebCore::BidiCharacterRun::BidiCharacterRun): (WebCore::BidiCharacterRun::reversed): (WebCore::BidiCharacterRun::dirOverride): (WebCore::BidiCharacterRun::next): (WebCore::BidiResolver::): (WebCore::BidiResolver::context): (WebCore::BidiResolver::setContext): (WebCore::BidiResolver::setLastDir): (WebCore::BidiResolver::setLastStrongDir): (WebCore::BidiResolver::setEorDir): (WebCore::BidiResolver::dir): (WebCore::BidiResolver::setDir): (WebCore::BidiResolver::status): (WebCore::BidiResolver::setStatus): (WebCore::BidiResolver::adjustEmbedding): (WebCore::BidiResolver::setAdjustEmbedding): (WebCore::BidiResolver::firstRun): (WebCore::BidiResolver::lastRun): (WebCore::BidiResolver::runCount): (WebCore::::embed): (WebCore::::deleteRuns): (WebCore::::reverseRuns): (WebCore::::createBidiRunsForLine):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::paint):
  • rendering/RenderBlock.h:
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject):
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground):
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::childRemoved): (WebCore::RootInlineBox::lineBreakBidiStatus): (WebCore::RootInlineBox::setLineBreakInfo):
  • rendering/RootInlineBox.h: (WebCore::RootInlineBox::RootInlineBox):
  • rendering/bidi.cpp: (WebCore::BidiIterator::BidiIterator): (WebCore::BidiState::deleteRuns): (WebCore::operator==): (WebCore::operator!=): (WebCore::bidiNext): (WebCore::bidiFirst): (WebCore::BidiState::addRun): (WebCore::appendRunsForObject): (WebCore::BidiState::appendRun): (WebCore::RenderBlock::constructLine): (WebCore::RenderBlock::computeHorizontalPositionsForLine): (WebCore::RenderBlock::computeVerticalPositionsForLine): (WebCore::RenderBlock::bidiReorderLine): (WebCore::buildCompactRuns): (WebCore::RenderBlock::layoutInlineChildren): (WebCore::RenderBlock::determineStartPosition): (WebCore::RenderBlock::determineEndPosition): (WebCore::RenderBlock::matchedEndLine): (WebCore::RenderBlock::skipWhitespace):
  • rendering/bidi.h: (WebCore::BidiRun::BidiRun): (WebCore::BidiRun::next):
11:37 AM Changeset in webkit [24484] by darin
  • 3 edits
    3 adds in trunk

LayoutTests:

Reviewed by John Sullivan.

  • test for <rdar://problem/5331723> <rdar://problem/5331723> Safari gives error 103 for URLs that Adobe Lightroom's Preview feature produces, with ":1" in the hostname
  • fast/loader/file-URL-with-port-number-expected.txt: Added.
  • fast/loader/file-URL-with-port-number.html: Added.
  • fast/loader/resources/empty-subframe.html: Added.

WebCore:

Reviewed by John Sullivan.

  • fix for <rdar://problem/5331723> <rdar://problem/5331723> Safari gives error 103 for URLs that Adobe Lightroom's Preview feature produces, with ":1" in the hostname

Test: fast/loader/file-URL-with-port-number.html

  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::portAllowed): Don't do any port blocking for file URLs.
11:11 AM Applications using WebKit edited by itod@apple.com
(diff)
10:50 AM Changeset in webkit [24483] by sullivan
  • 3 edits in trunk/WebKit

Reviewed by Darin Adler and David Harrison


  • fixed <rdar://problem/5307075> REGRESSION: Bottom of some printed pages are truncated


The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger
height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me!

  • WebView/WebHTMLViewInternal.h: added avoidingPrintOrphan boolean
  • WebView/WebHTMLView.mm: (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): clear _private->avoidingPrintOrphan when clearing _private->printing (-[WebHTMLView _scaleFactorForPrintOperation:]): take _private->avoidingPrintOrphan into account when computing the scale factor (-[WebHTMLView knowsPageRange:]): set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan
9:52 AM Changeset in webkit [24482] by zbujtas
  • 4 edits in S60/trunk/WebCore

raalexan, reviewed by Zalan

DESC: AJPA-74XD84 Some input format doesn't work properly.
http://bugs.webkit.org/show_bug.cgi?id=14661

9:41 AM Changeset in webkit [24481] by pewtermoose
  • 9 edits
    1 add in trunk/WebCore

2007-07-20 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • manual-tests/item-background.html: Added.
  • platform/PopupMenuClient.h:
  • platform/graphics/Color.cpp: (WebCore::blendComponent): Renamed the static method blend() to this. (WebCore::Color::blend): Added. Compositing (in "normal" or "source over" blend mode) B.blend(C) over A is equivalent to compositing C over the result of compositing B over A. (WebCore::Color::blendWithWhite): Changed for the above rename.
  • platform/graphics/Color.h:
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::paint): Changed to use itemBackgroundColor().
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::itemBackgroundColor): Added. Returns the color that would result from overlaying the item's background color over the menu's background color over solid white. Note that clientStyle() cannot be used for the menu's background color, since background color is not inherited by the inner block (the regression resulted from changing clientStyle() to return the inner block's style), and that the color returned from this method is guaranteed to be opaque.
  • rendering/RenderMenuList.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::itemBackgroundColor): Added.
  • rendering/RenderTextControl.h:
9:35 AM Changeset in webkit [24480] by rwlbuis
  • 3 edits
    4 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=14642
REGRESSION(r24064-24096): Reflection type effect in canvas tag broke

Do not stop the fill/stroke operation when encountering an empty path.

4:07 AM Changeset in webkit [24479] by bdash
  • 1 add in trunk/WebKitSite/blog/wp-content/advanced-cache.php

... and now the non-symlink file, in a separate commit as SVN is also special about symlinks :-/

4:06 AM Changeset in webkit [24478] by bdash
  • 1 edit
    1 delete in trunk/WebKitSite

2007-07-20 Mark Rowe <mrowe@apple.com>

Replace symlink with a PHP-level include to allow use of git on Windows without cygwin.
WordPress will replace the file with a symlink when it's first accessed, and the PHP-level
include is functionally identical for our purposes on the first use.

  • blog/wp-content/advanced-cache.php:
4:00 AM Changeset in webkit [24477] by lars
  • 2 edits
    5 deletes in trunk/WebCore

Remove some files that are not used anymore.

3:40 AM Changeset in webkit [24476] by lars
  • 2 edits in trunk/WebCore

use the correct font for spaces.

3:39 AM Changeset in webkit [24475] by lars
  • 2 edits in trunk/WebCore

spaces where not correctly taken into account for both offsetForPosition and selectionRectForText. Because of that selections sort of worked in LTR text, but completely failed in RTL.

3:39 AM Changeset in webkit [24474] by lars
  • 2 edits in trunk/WebCore

fix up some smaller issues in selection handling. It's still not perfect and selections in mixed rtl/ltr text are still broken, but it's getting there.

3:39 AM Changeset in webkit [24473] by lars
  • 2 edits in trunk/WebCore

make offsetForPosition and selectionRectForText work correctly with small caps.

3:39 AM Changeset in webkit [24472] by lars
  • 2 edits in trunk/WebCore

clip the drawn text correctly when needed.

3:38 AM Changeset in webkit [24471] by lars
  • 2 edits in trunk/WebCore

Fix offsetForPosition and selectionRectForText methods.

3:38 AM Changeset in webkit [24470] by lars
  • 2 edits in trunk/WebCore

fix BiDi text rendering.

3:01 AM Changeset in webkit [24469] by oliver
  • 4 edits in trunk/WebKit/win

Reviewed by Maciej.

<rdar://problem/5349668> WebKit/Win needs to send same key events during IME composition as it does on mac

Removed guards against sending key events during composition, and added a flag
to indicate a key event is IME related. This is needed to prevent the first
keydown from firing a keypress event, and makes WebEditorClient::handleInputMethodKeypress
somewhat cleaner.

  • WebEditorClient.cpp: (WebEditorClient::handleInputMethodKeypress):
  • WebView.cpp: (WebView::keyUp): (WebView::keyDown):
  • WebView.h: (WebView::inIMEKeyDown):
2:23 AM Changeset in webkit [24468] by bdash
  • 2 edits in trunk/WebCore

2007-07-20 Mark Rowe <mrowe@apple.com>

Reviewed by Maciej.

Move FTPDirectoryTokenizer::m_templateDocumentData to be a function-scoped static
to avoid creating a global initializer. This fixes the build for x86_64.

  • loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
12:11 AM Changeset in webkit [24467] by aroben
  • 2 edits in trunk/WebKitTools
  • Scripts/commit-log-editor: Small fix to make an all-whitespace log message not count as an existing log.

Jul 19, 2007:

10:54 PM Changeset in webkit [24466] by ggaren
  • 5 edits in trunk/WebCore

Reviewed by Maciej Stachowiak.


Fixed <rdar://problem/5347849> Cache eviction of live decoded data is
thrash-y


The solution here is to evict live decoded data based on a strict LRU
model. This should work well as a "scrolling window."

With this patch, I see a substantial reduction in CPU while scrolling
through a page with large images on a low memory system. Layout tests
pass.

  • loader/Cache.h: Changed from a size-based vector of LRU lists to a single LRU list in order to implement strict LRU.


  • loader/CachedResource.h: Removed tracking of access count, since that was the old cache eviction model.
10:13 PM Changeset in webkit [24465] by oliver
  • 4 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
<rdar://problem/5346167> DOM key events triggered during IME composition differ in webkit/mac vs all windows browsers

We now basically match the behaviour of IE/Windows. This means that during composition keydown and autorepeat
keys generate keydown events with a keyCode of 229, which correlates to the windows VK_PROCESSKEY message.
keyup events are generated with the keyCode of the actual key that was pressed.

The only difference is on the first keydown of a composition, in which IE will use keyCode == 229, and we will
send an event with the keyCode for the actual key that was pressed.

  • page/EventHandler.cpp: (WebCore::EventHandler::keyEvent):
  • platform/PlatformKeyboardEvent.h: (WebCore::PlatformKeyboardEvent::setWindowsKeyCode):
10:04 PM Changeset in webkit [24464] by sfalken
  • 1 copy in tags/Safari-522.15.2b

New tag.

9:09 PM Changeset in webkit [24463] by mjs
  • 5 edits in trunk/WebKit/win

Reviewed by Adam.


  • WebKit part of fix for <rdar://problem/5262230> Crash while loading a popup in addictinggames.com


Made closeWindowSoon fire on a timer instead of happening synchronously.

  • WebChromeClient.cpp: (WebChromeClient::closeWindowSoon): Actually close the window on a timer, not immediately.
  • WebKit.vcproj/WebKit.vcproj:
  • WebView.cpp: (WebView::WebView): (WebView::closeWindowSoon): (WebView::closeWindowTimerFired):
  • WebView.h:
8:47 PM Changeset in webkit [24462] by beidson
  • 5 edits
    1 add in trunk/WebCore

Reviewed by Sam

<rdar://problem/5134929> REGRESSION: Colon detected as delimiting an empty port is stripped

The fix for this was in KURL::parse() which had a slightly changed rule that would strip the colon if there
was no port.

An additional canonicalization fix was made in window.location.host to match the expected behavior of leaving
the colon in place - before this fix, if the colon was there but no port was there, we'd see the port as 0.

  • bindings/js/kjs_window.cpp: (KJS::Location::put): Call setHostAndPort instead of setHost and setPort seperately
  • manual-tests/location-host-canonicalization.html: Added.
  • platform/KURL.cpp: (WebCore::KURL::setHostAndPort): Set the host and port as one string component then reparse the URL (WebCore::KURL::parse): Change one line to consider the empty colon as part of the host name
  • platform/KURL.h:
8:33 PM Changeset in webkit [24461] by andersca
  • 3 edits in branches/Safari-522-2/WebCore

Merge 24559

8:15 PM Changeset in webkit [24460] by andersca
  • 1 edit in trunk/WebCore/ChangeLog

Use the right radar number

7:59 PM Changeset in webkit [24459] by andersca
  • 5 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/5334742>
Windows Beta: Crash playing a very large QuickTime movie in Safari


<rdar://problem/5271174>
http://bugs.webkit.org/show_bug.cgi?id=14148
LEAK: Serious memory consumption and leak when loading QT movies.


Don't keep plugin stream data in memory since some plugin resources (like QT movies)
can be really big. If a plug-in wants data in a file, create a file and write data to it
as it's coming from the wire, instead of using a big buffer.


  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader): (WebCore::ResourceLoader::addData): (WebCore::ResourceLoader::willStopBufferingData):
  • loader/ResourceLoader.h: (WebCore::ResourceLoader::setShouldBufferData):
  • plugins/win/PluginStreamWin.cpp: (WebCore::PluginStreamWin::PluginStreamWin): (WebCore::PluginStreamWin::start): (WebCore::PluginStreamWin::startStream): (WebCore::PluginStreamWin::destroyStream): (WebCore::PluginStreamWin::didReceiveData): (WebCore::PluginStreamWin::didFinishLoading):
  • plugins/win/PluginStreamWin.h:
7:55 PM Changeset in webkit [24458] by adachan
  • 3 edits in trunk/WebKitLibraries

2007-07-19 Ada Chan <adachan@apple.com>

Rubber-stamped by Adam.


Update libraries.

  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
7:12 PM Changeset in webkit [24457] by ggaren
  • 4 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Darin Adler.


Fixed http://bugs.webkit.org/show_bug.cgi?id=10880 | <rdar://problem/5335694>
REGRESSION: JavaScript menu doesn't appear on pricepoint.com (14595)


Though the ECMA spec says auto-semicolon insertion should not occur
without a newline or '}', Firefox treats do-while specially, and the
library used by pricepoint.com requires that special treatment.


LayoutTests:

Reviewed by Darin Adler.


Test for http://bugs.webkit.org/show_bug.cgi?id=10880 | <rdar://problem/5335694>
REGRESSION: JavaScript menu doesn't appear on pricepoint.com (14595)


  • fast/js/do-while-without-semicolon-expected.txt: Added.
  • fast/js/do-while-without-semicolon.html: Added.
7:07 PM Changeset in webkit [24456] by ggaren
  • 6 edits in trunk

WebCore:

Reviewed by Darin Adler.


Fixed <rdar://problem/5348384> Restore old return value behavior of
stringByEvaluatingJavaScriptFromString


Return an empty string unless you have a string, boolean, or number
result.

  • WebCore.xcodeproj/project.pbxproj:
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):

WebKitTools:

Reviewed by Darin Adler.


Updated DumpRenderTree for <rdar://problem/5348384> Restore old return
value behavior of stringByEvaluatingJavaScriptFromString

  • DumpRenderTree/DumpRenderTree.m: (testStringByEvaluatingJavaScriptFromString):
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
4:48 PM Changeset in webkit [24455] by treat
  • 3 edits in trunk/WebKitQt

Do a recursive layout on frame's children.

3:22 PM Changeset in webkit [24454] by darin
  • 7 edits
    2 moves
    3 deletes in trunk/WebCore

Reviewed by Alexey.

  • platform/gdk/gdk-encodings.txt: Removed.
  • platform/win/win-encodings.txt: Removed.
  • platform/wx/wx-encodings.txt: Removed.
  • platform/character-sets.txt: Moved into mac subdirectory since it's only used for Mac; at some point I hope to remove it completely.
  • platform/make-charset-table.pl: Ditto.
  • platform/mac/character-sets.txt: Copied from platform/character-sets.txt.
  • platform/mac/make-charset-table.pl: Copied from platform/make-charset-table.pl.
  • DerivedSources.make: Moved CharsetData.cpp into the MACOS section. Changed the build rule to use Mac-specific paths for everything and got rid of make variables.
  • WebCore.vcproj/build-generated-files.sh: Removed code to set ENCODINGS_FILE and ENCODINGS_PREFIX.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • make-generated-sources.sh: Ditto.
  • Projects/gdk/webcore-gdk.bkl: Removed code to pass gdk-encodings.txt to make-generated-sources.sh.
  • Projects/wx/webcore-wx.bkl: Ditto, but for wx-encodings.txt.
2:43 PM RunWebKitTestsDesign edited by Adam Roben
(diff)
2:36 PM RunWebKitTestsDesign edited by Adam Roben
(diff)
2:29 PM RunWebKitTestsDesign edited by Adam Roben
(diff)
2:21 PM RunWebKitTestsDesign created by Adam Roben
2:12 PM WikiStart edited by Adam Roben
(diff)
2:10 PM Changeset in webkit [24453] by darin
  • 7 edits in trunk/JavaScriptCore

Reviewed by Geoff.

  • fix <rdar://problem/5345440> PCRE computes wrong length for expressions with quantifiers on named recursion or subexpressions

It's challenging to implement proper preflighting for compiling these advanced features.
But we don't want them in the JavaScript engine anyway.

Turned off the following features of PCRE (some of these are simply parsed and not implemented):

\C \E \G \L \N \P \Q \U \X \Z
\e \l \p \u \z
[::] .. [==]
(?#) (?<=) (?<!) (?>)
(?C) (?P) (?R)
(?0) (and 1-9)
(?imsxUX)

Added the following:

\u \v

Because of \v, the js1_2/regexp/special_characters.js test now passes.

To be conservative, I left some features that JavaScript doesn't want, such as
\012 and \x{2013}, in place. We can revisit these later; they're not directly-enough
related to avoiding the incorrect preflighting.

I also didn't try to remove unused opcodes and remove code from the execution engine.
That could save code size and speed things up a bit, but it would require more changes.

  • kjs/regexp.h:
  • kjs/regexp.cpp: (KJS::RegExp::RegExp): Remove the sanitizePattern workaround for lack of \u support, since the PCRE code now has \u support.
  • pcre/pcre-config.h: Set JAVASCRIPT to 1.
  • pcre/pcre_internal.h: Added ESC_v.
  • pcre/pcre_compile.c: Added a different escape table for when JAVASCRIPT is set that omits all the escapes we don't want interpreted and includes '\v'. (check_escape): Put !JAVASCRIPT around the code for '\l', '\L', '\N', '\u', and '\U', and added code to handle '\u2013' inside JAVASCRIPT. (compile_branch): Put !JAVASCRIPT if around all the code implementing the features we don't want. (pcre_compile2): Ditto.
  • tests/mozilla/expected.html: Updated since js1_2/regexp/special_characters.js now passes.
1:09 PM Changeset in webkit [24452] by antti
  • 4 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.


Test for <rdar://problem/5257371>
Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator

  • fast/flexbox/inline-children-crash-expected.txt: Added.
  • fast/flexbox/inline-children-crash.html: Added.

WebCore:

Reviewed by Darin.

Fix <rdar://problem/5257371>
Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator


FlexibleBoxes should never have inline children. Don't move children out from last remaining anonymous block.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild): real fix
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox): just to be sure, this is checked elsewhere too
1:04 PM Changeset in webkit [24451] by andersca
  • 3 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/5322268>
Safari Crash at http://www.exlibrisgroup.com/sfx_openurl.htm


Add a real copy constructor and assignment operator for CollectionInfo
so that the vectors in the cache maps will be copied correctly.


  • html/HTMLCollection.cpp: (WebCore::HTMLCollection::CollectionInfo::CollectionInfo): (WebCore::HTMLCollection::CollectionInfo::swap):
  • html/HTMLCollection.h: (WebCore::HTMLCollection::CollectionInfo::operator=): (WebCore::HTMLCollection::CollectionInfo::copyCacheMap):
1:01 PM Changeset in webkit [24450] by hyatt
  • 2 edits in trunk/WebCore

Fix for 5237574, Colloquy main view does not size correctly. Make
sure to reset the baseilne when calculating a row's height/baseline, so
that old values don't stick around.

Reviewed by Tim Hatcher

  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight):
10:24 AM Changeset in webkit [24449] by aroben
  • 2 edits in trunk/WebKitTools

Make commit-log-editor work with git

Reviewed by Sam.

  • Scripts/commit-log-editor: Use VCSUtils and accept a git-style commit message template. Also removed the unused $breakPoint variable.
10:23 AM Changeset in webkit [24448] by aroben
  • 2 edits
    1 add in trunk/WebKitTools

Move generally-useful VCS code into a new VCSUtils.pm module

This is in preparation for making commit-log-editor git-friendly.

Reviewed by Sam.

  • Scripts/VCSUtils.pm: Added. Code moved here from prepare-ChangeLog.
  • Scripts/prepare-ChangeLog: Use VCSUtils.
9:58 AM Changeset in webkit [24447] by antti
  • 7 edits in trunk

LayoutTests:

Reviewed by John.


Update test case to work better as a pixel test.

  • fast/layers/layer-visibility-expected.checksum:
  • fast/layers/layer-visibility-expected.png:
  • fast/layers/layer-visibility-expected.txt:
  • fast/layers/layer-visibility.html:

WebCore:

Reviewed by John.


Fix <rdar://problem/5346697>
REGRESSION(r23773): Visibile children on invisible layer are not painted (fast/layers/layer-visibility.html fails)


Test m_hasVisibleContent instead of renderer()->style()->visibility().
This takes children into account too.

Regression spotted by Mitz.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer):
8:39 AM Changeset in webkit [24446] by spadma
  • 8 edits in S60/branches/3.1m/WebKit

2007-07-19 hongzhao <hong.a.zhao@nokia.com>

Reviewed by Sachin.
DESC: [S60] RSS-links does not work anymore if some article was downloaded from web feeds in 3.1m.
http://bugs.webkit.org/show_bug.cgi?id=14613

  • BrowserView/src/WebKitLoader.cpp: (CWebKitLoader::ConstructL):
  • ResourceLoader/inc/ContentDispatcher.h:
  • ResourceLoader/inc/DefaultContentHandler.h:
  • ResourceLoader/inc/LoaderContainer.h:
  • ResourceLoader/src/ContentDispatcher.cpp: (CContentDispatcher::ConstructL): (CContentDispatcher::NewL):
  • ResourceLoader/src/DefaultContentHandler.cpp: (:iSpecialLoadObserver): (CDefaultContentHandler::NewL): (CDefaultContentHandler::ResponseCompleteL):
  • ResourceLoader/src/LoaderContainer.cpp: (CLoaderContainer::~CLoaderContainer): (CLoaderContainer::SetSelfDownloadContentTypes):
8:27 AM Changeset in webkit [24445] by spadma
  • 8 edits in S60/trunk/WebKit

hongzhao, reviewed by <Sachin>

DESC: [S60] RSS-links does not work anymore if some article was downloaded from web feeds.
http://bugs.webkit.org/show_bug.cgi?id=14613

  • BrowserView/src/WebKitLoader.cpp: (CWebKitLoader::ConstructL):
  • ResourceLoader/inc/ContentDispatcher.h:
  • ResourceLoader/inc/DefaultContentHandler.h:
  • ResourceLoader/inc/LoaderContainer.h:
  • ResourceLoader/src/ContentDispatcher.cpp: (CContentDispatcher::ConstructL): (CContentDispatcher::NewL):
  • ResourceLoader/src/DefaultContentHandler.cpp: (:iSpecialLoadObserver): (CDefaultContentHandler::NewL): (CDefaultContentHandler::ResponseCompleteL):
  • ResourceLoader/src/LoaderContainer.cpp: (CLoaderContainer::~CLoaderContainer): (CLoaderContainer::SetSelfDownloadContentTypes):
7:58 AM Changeset in webkit [24444] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-07-19 vmalaiya, <vikram.malaiya@nokia.com>

Reviewed by Sachin
DESC: RLEA-74LEMT - Cannot insert Chinese characters in the input / search box of OSS browser

Merged fixes MLEN-6YKFQM from 3.2

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

  • BrowserCore/Formcontrols/src/FControlInputSkin.cpp: (CFormInputSkin::SelectedLanguage):
6:19 AM Changeset in webkit [24443] by lars
  • 2 edits in trunk/WebKitTools

Fix a crash on exit when running DRT against a current
Qt 4.4 snapshot.

3:05 AM WebKit Team edited by oliver@apple.com
(diff)
1:40 AM Changeset in webkit [24442] by aroben
  • 2 edits in trunk/WebKit

Fix <rdar://problem/5344972> REGRESSION: A error dialog occurs when attempting to ctrl-click in a iChat message window (webview)

Reviewed by Oliver.

  • WebCoreSupport/WebContextMenuClient.mm:

(fixMenusToSendToOldClients): Don't check for the Inspect Element item
if we have fewer than 2 items.

Note: See TracTimeline for information about the timeline view.