Timeline



May 3, 2007:

11:59 PM Changeset in webkit [23342] by sfalken
  • 8 edits in branches/WindowsMerge

2007-05-03 Steve Falkenburg <sfalken@apple.com>

Reviewed by Ada, Oliver.

Checkpoint:
<rdar://problem/4602372> Spelling
<rdar://problem/4769763> Spell checking engine support

2007-05-03 Steve Falkenburg <sfalken@apple.com>

Reviewed by Ada, Oliver.

Checkpoint:
<rdar://problem/4602372> Spelling
<rdar://problem/4769763> Spell checking engine support


Spelling panel is now partially functional with this check-in.
Learn/Ignore not yet implemented, Find Next, Correct, language
selection, grammar toggle works.


Grammar checking is functional with this check-in.

2007-05-03 Steve Falkenburg <sfalken@apple.com>

Reviewed by Ada, Oliver.


Checkpoint:
<rdar://problem/4602372> Spelling
<rdar://problem/4769763> Spell checking engine support

  • Interfaces/IWebEditingDelegate.idl: Add userDescription parameter.
  • WebEditorClient.cpp: (WebEditorClient::updateSpellingUIWithGrammarString): Set user description for spelling errors.
  • WebEditorClient.h:
  • WebView.cpp: (WebView::replaceSelectionWithText): Implemented.

2007-05-03 Steve Falkenburg <sfalken@apple.com>

Reviewed by Ada, Oliver.

Checkpoint:
<rdar://problem/4602372> Spelling
<rdar://problem/4769763> Spell checking engine support

  • platform/win/EditorWin.cpp: (WebCore::findFirstBadGrammarInRange): Account for start offset when reporting bad grammar range (fixed my porting mistake). (WebCore::Editor::advanceToNextMisspelling): Include user description with spelling error. (WebCore::isRangeUngrammatical): Include user description with spelling error.
11:44 PM Changeset in webkit [21246] by sfalken
  • 10 edits in trunk

2007-05-03 Steve Falkenburg <sfalken@apple.com>

Reviewed by Oliver.

Add missing user description parameter to spelling-related editor client method.

  • WebCoreSupport/WebEditorClient.h: (WebEditorClient::updateSpellingUIWithGrammarString):

2007-05-03 Steve Falkenburg <sfalken@apple.com>

Reviewed by Oliver.

Add missing user description parameter to spelling-related editor client method.

  • bridge/EditorClient.h:
  • platform/gdk/EditorClientGdk.cpp: (WebCore::EditorClientGdk::updateSpellingUIWithGrammarString):
  • platform/gdk/EditorClientGdk.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::updateSpellingUIWithGrammarString):

2007-05-03 Steve Falkenburg <sfalken@apple.com>

Reviewed by Oliver.

Add missing user description parameter to spelling-related editor client method.

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::updateSpellingUIWithGrammarString):
  • WebCoreSupport/EditorClientQt.h:
11:14 PM Changeset in webkit [23341] by aliceli1
  • 3 edits in branches/WindowsMerge/WebCore

Reviewed by Oliver.

Fixed <rdar://5181466> HTML formatted clipboard data is not converted from UTF8 when pasted

  • platform/win/DragDataWin.cpp: (WebCore::fragmentFromHTML):
  • platform/win/PasteboardWin.cpp: (WebCore::fragmentFromCF_HTML): (WebCore::Pasteboard::documentFragment):
11:05 PM Changeset in webkit [23340] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

2007-05-03 Oliver Hunt <oliver@apple.com>

Reviewed by Steve

Fix misuse of GlobalLock.

  • platform/win/PasteboardWin.cpp: (WebCore::createGlobalData):
9:35 PM Changeset in webkit [21245] by beidson
  • 6 edits in trunk/WebCore

Reviewed by Oliver

Resolve an outstanding FIXME in Loader::numRequests()

Before, numRequests() would iterate through the list of requests pending load and the list of currently
loading requests and tally up a count matching the current DocLoader.

I noticed while studying and cleaning up the loader code that numRequests() is potentially very hot!
Indeed load a complex site with many resources and multiple frames, and this method gets called very often,
tallying up this number every time.

The FIXME was to keep a collection of Requests mapped to each DocLoader. In reality, since this map would
simply be used for retrieving a count, that was overkill. Keeping a request count in the DocLoader itself
along with maintaining that count in Loader as requests come and go is a much better way to do this.

  • loader/DocLoader.cpp: (WebCore::DocLoader::DocLoader): (WebCore::DocLoader::incrementRequestCount): (WebCore::DocLoader::decrementRequestCount): (WebCore::DocLoader::requestCount): Emulate the defunct Loader::numRequests()
  • loader/DocLoader.h:
  • loader/FrameLoader.cpp: (WebCore::numRequests): Call DocLoader::requestCount() directly (WebCore::FrameLoader::checkCompleted): Use numRequests()
  • loader/loader.cpp: (WebCore::Loader::load): Increment the DocLoader's request count (WebCore::Loader::servePendingRequests): If the SubresourceLoader failed to create, decrement the count (WebCore::Loader::didFinishLoading): If the Request is not Multipart, decrement the count (WebCore::Loader::didFail): If the Request is not Multipart, decrement the count (WebCore::Loader::didReceiveResponse): If the Request becomes Multipart, decrement the count (WebCore::Loader::cancelRequests): Decrement the count for the pending requests being tossed, and ASSERT the count is zero after all requests have been cancelled
  • loader/loader.h:
9:34 PM Changeset in webkit [23339] by oliver
  • 3 edits in branches/WindowsMerge/WebCore

2007-05-03 Oliver Hunt <oliver@apple.com>

Reviewed by Steve.

Add logic to draw underlines for grammar and spelling errors.
(rdar://problem/4769832)

  • platform/win/GraphicsContextWin.cpp: (WebCore::spellingPatternColor): (WebCore::grammarPatternColor): Can't define global const with constructor so use function scoped globals instead. (WebCore::setCGStrokeColor): Utility function pulled over from GraphicsContextCG (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):


  • platform/win/TemporaryLinkStubs.cpp: Remove old drawLineForMisspellingOrBadGrammar stub
8:55 PM Changeset in webkit [21244] by ggaren
  • 3 edits in trunk/WebCore

Reviewed by Brady Eidson.


Some cleanup in preparation for fixing <rdar://problem/5055182> The
back/forward cache has no global cap

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::provisionalLoadStarted): Moved "Can I cache this page?" logic to canCachePage(). Moved "I am caching this page" logic to cachePageToHistoryItem(). (WebCore::FrameLoader::canCachePage): Moved above logic here. (WebCore::FrameLoader::cachePageToHistoryItem): Removed bogus NULL check and failure return value. Moved above logic here. Don't call setCachedPage() until the CachedPage is fully constructed. (WebCore::FrameLoader::purgePageCache): Removed comment that duplicated the function name.
  • loader/FrameLoader.h:
6:54 PM Changeset in webkit [21243] by harrison
  • 2 edits in trunk/WebCore

Reviewed by harrison.

<rdar://problem/5120281> CrashTracer: [USER] 1 crash in Mail at WebCore::CSSComputedStyleDeclaration::copyInheritableProperties() const

Problem is that checkAncestor and lastClosed can be nil when createMarkup is called unrendered nodes, and that was not checked for.


  • editing/markup.cpp: (WebCore::createMarkup): Nil-check checkAncestor and lastClosed.
5:51 PM Changeset in webkit [21242] by bdash
  • 1 copy in tags/Safari-4522.7

New tag.

5:50 PM Changeset in webkit [21241] by bdash
  • 4 edits in branches/Safari-522

Versioning.

4:08 PM Changeset in webkit [21240] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Kevin.

<rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
is placed in input or textarea field

The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
If the application was linked against Tiger or earlier and the element is a text form control, just return the
default menu items and bypass the delegate call completely.

  • WebCoreSupport/WebContextMenuClient.mm: (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call (fixMenusToSendToOldClients): Call the new isPreVersion3Client() (fixMenusReceivedFromOldClients): Ditto. (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
3:50 PM Changeset in webkit [21239] by bdash
  • 2 edits in branches/Safari-522/WebKit

Merge r21238.

3:48 PM Changeset in webkit [21238] by bdash
  • 2 edits in trunk/WebKit

2007-05-03 Mark Rowe <mrowe@apple.com>

Reviewed by Geoff and Kevin.

<rdar://problem/5141290> WebAssertions.h is still needed by some internal clients

Second shot at fixing this error. Stub out the macros rather than forwarding to JavaScriptCore, which would
leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking. This
should only happen in production builds when assertions should be disabled anyway as anyone building a
development configuration should be in a position to move away from using this header.

  • Misc/WebAssertions.h:
3:23 PM Changeset in webkit [21237] by thatcher
  • 2 edits in trunk/WebCore

Reviewed by Kevin.

<rdar://problem/5016318> Contextual menu item for opening links is missing in compose windows but present in viewer

Add the Open Link, Open Link in New Window, Download Linked File and Copy Link menu
items to the content editable context menu.

  • platform/ContextMenu.cpp: (WebCore::ContextMenu::populate):
3:10 PM Changeset in webkit [21236] by brmorris
  • 2 edits in S60/trunk/WebKit

brmorris, reviewed by sachin

DESC: stub this out in SDK development environment:

  • BrowserCore/Formcontrols/src/FControlInputSkin.cpp: (CFormInputSkin::SelectedLanguage):
3:04 PM Changeset in webkit [21235] by hausmann
  • 14 edits
    1 add in trunk

Gdk build fixes using the Qt build's qmake tool from Holger Freyther, reviewed by Zack.

2:50 PM Changeset in webkit [21234] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Kevin.

<rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail

Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.

  • WebCoreSupport/WebContextMenuClient.mm: (fixMenusToSendToOldClients): (fixMenusReceivedFromOldClients):
2:37 PM Changeset in webkit [21233] by adele
  • 2 edits in trunk/WebCore

Use BUILDING_ON_TIGER.

  • page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry):
2:35 PM Changeset in webkit [21232] by beidson
  • 3 edits in trunk/WebCore

Reviewed by Darin

Some more minor cleanup that resolves a FIXME and ditches another pointless method

No change in functionality == no layout test

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad): Updated a comment (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Folded startLoading() into this method (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): continueAfterWillSubmitForm becomes continueLoadAfterWillSubmitForm
  • loader/FrameLoader.h: Removed startLoading()
2:30 PM Changeset in webkit [21231] by brmorris
  • 3 edits in S60/trunk/S60Internals

brmorris, reviewed by rasvcan

DESC: land some changes to wmlengine that i forgot to commit :(

  • S60DynamicLibs.zip: updated wmlengine.lib
  • S60Headers.zip: updated wmlengineinterface.h
2:29 PM Changeset in webkit [21230] by adele
  • 2 edits in trunk/WebCore

Reviewed by Tim Hatcher.

Fix for <rdar://problem/4727607> REGRESSION: KeyScript is deprecated, need a new solution for forcing Roman input for password fields on Leopard

  • page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Use TSMSetDocumentProperty and TSMRemoveDocumentProperty on Leopard disable and enable non-ascii input sources.
11:50 AM Changeset in webkit [21229] by beidson
  • 3 edits in trunk/WebCore

Reviewed by Anders

commitProvisionalLoad() was the name of two methods.
One of them was private and only called from one other private place.
This was driving me crazy. I had to change that.

No change in functionality == no layout test

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::transitionToCommitted): roll commitProvisionalLoad() into this method
  • loader/FrameLoader.h: Removed commitProvisionalLoad()
11:37 AM Changeset in webkit [21228] by ggaren
  • 2 edits in trunk/WebKitTools

Build fix: Add AllInOneFile.o to the ignore list, since it includes files
in the ignore list.


  • Scripts/check-for-global-initializers:
9:23 AM Changeset in webkit [21227] by darin
  • 6 edits in trunk/WebCore

Reviewed by Anders.

  • make ICU initialization lazy to speed up application start-up time (when it includes an initial webpage load)
  • platform/TextCodecICU.h: Replaced registerEncodingNames and registerCodecs with registerBaseEncodingNames, registerBaseCodecs, registerExtendedEncodingNames, and registerExtendedCodecs.
  • platform/TextCodecICU.cpp: (WebCore::newTextCodecICU): Moved up to the top of the file. (WebCore::TextCodecICU::registerBaseEncodingNames): Added. Registers just UTF-8. (WebCore::TextCodecICU::registerBaseCodecs): Ditto. (WebCore::TextCodecICU::registerExtendedEncodingNames): Renamed. (WebCore::TextCodecICU::registerExtendedCodecs): Ditto. (WebCore::TextCodecICU::createICUConverter): Compare with the name "GBK" in a way that does not require extending the maps.
  • platform/TextEncoding.cpp: (WebCore::TextEncoding::usesVisualOrdering): Added code so this will just return false if we haven't used any extended encoding names yet. The result will be correct, and we won't ask for an encoding name that will require registering the extended encoding names. (WebCore::TextEncoding::isJapanese): Ditto. (WebCore::TextEncoding::backslashAsCurrencySymbol): Ditto, but return a backslash instead of false.
  • platform/TextEncodingRegistry.h: Added a new function named noExtendedTextEncodingNameUsed.
  • platform/TextEncodingRegistry.cpp: (WebCore::buildBaseTextCodecMaps): Added. Registers the base encodings, including Latin-1 because it's the default, and the UTF encodings. (WebCore::extendTextCodecMaps): Added. Registers all the other encodings. (WebCore::newTextCodec): Removed the all to buildTextCodecMap because we always build the map when making the canonical encoding name. (WebCore::atomicCanonicalTextEncodingName): Changed code to build only the base maps at first, then extend the maps the first time we run into a name we don't know. (WebCore::noExtendedTextEncodingNameUsed): Added.

May 2, 2007:

9:39 PM Changeset in webkit [21226] by bdash
  • 2 edits in trunk/WebCore

2007-05-03 Mark Rowe <mrowe@apple.com>

Qt build fix. In r21185 the Qt version of WebCore::scaleDragImage was
updated to have the incorrect signature.

  • platform/qt/DragImageQt.cpp: (WebCore::scaleDragImage):
3:27 PM Changeset in webkit [21225] by bdakin
  • 2 edits in trunk/WebCore
  • dom/Node.h: Just fixing a variable name because it's driving me mad.
3:16 PM Changeset in webkit [21224] by bdakin
  • 15 edits in trunk/WebCore

Reviewed by Hyatt.

Fix for <rdar://problem/4513966> Never-ending identical repaint @
orbitz.com (Safari eating 85% CPU)

We need to be a little bit more savvy about when we do a FULL style
recalc since it can be unnecessary and expensive.

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::setChanged): Now takes a StyleChangeType as a parameter. (WebCore::CSSMutableStyleDeclaration::setProperty): Send InlineStyleChange as the paramter. This is the optimization!
  • css/CSSMutableStyleDeclaration.h: setChanged takes a StyleChangeType as a parameter.
  • dom/Document.cpp: setChanged now takes a StyleChangeType instead of a bool. (WebCore::Document::recalcStyle): Same.
  • dom/Element.cpp: (WebCore::Element::recalcStyle): This is the fix!! Only set change to Force is we use descendant rules AND it's a FullStyleChange.
  • dom/Node.cpp: m_hasStyle was an unused bit on Node, so this patch gets rid of it and uses that extra bit for m_changed to be a StyleChangeType instead of a bool. (WebCore::Node::Node): (WebCore::Node::setChanged): (WebCore::Node::dump):
  • dom/Node.h: Same. (WebCore::): Define the StyleChangeType enum. (WebCore::Node::hasClass): (WebCore::Node::changed): (WebCore::Node::styleChangeType): (WebCore::Node::setHasClass):
  • dom/StyledElement.cpp: (WebCore::StyledElement::parseMappedAttribute): Don't bother calling setHasStyle() since m_hasStyle is gone now. It was never used, and this was the only place it was set.
  • dom/Text.cpp: (WebCore::Text::recalcStyle): setChanged now takes a StyleChangeType instead of a bool.
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::recalcStyle): Same.
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::restoreState): Same. (WebCore::HTMLSelectElement::reset): Same.
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setValue): Same.
  • ksvg2/misc/SVGTimer.cpp: (WebCore::SVGTimer::applyAnimations): Same.
  • ksvg2/svg/SVGUseElement.cpp: (WebCore::SVGUseElement::recalcStyle): Same.
  • platform/graphics/svg/SVGResource.cpp: (WebCore::SVGResource::repaintClients): Same.
12:36 PM Changeset in webkit [21223] by andersca
  • 2 edits in trunk/WebKit

Reviewed by Brady.

<rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com


The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.


This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
7:54 AM Changeset in webkit [21222] by harrison
  • 3 edits in trunk/WebCore

Reviewed by Antti.

<rdar://problem/4859132> Grammar must always be checked in entire-sentence chunks, and shouldn't show markers for current sentence

Restore the remainder of the original fix now that blocking bug rdar://5174862 is addressed.

John made the original patch on 2007-04-10, but this fell prey to rdar://5157329.
Justin backed out the whole patch on 2007-04-30 to avoid the crash.
Justin then restored most of the original patch, but used word granularity instead, to keep the build working.
I just addressed the root cause of rdar://5157329 in rdar://5174862.
This patch switches the temp uses of word granularity back to sentence granularity.


  • editing/mac/EditorMac.mm: (WebCore::Editor::markMisspellingsAfterTypingToPosition):
  • page/Frame.cpp: (WebCore::Frame::respondToChangedSelection):
6:11 AM Changeset in webkit [21221] by harrison
  • 6 edits
    4 adds in trunk

JavaScriptCore:

Reviewed by Antti.

<rdar://problem/5174862> Crash resulting from DeprecatedString::insert()

Added insertion support for more than one value.


  • wtf/Vector.h: (WTF::::insert): Added support for inserting multiple values.


(WTF::::prepend):
New. Insert at the start of vectors. Convenient for vectors used as strings.

LayoutTests:

Reviewed by Antti.

  • test for <rdar://problem/5174862> Crash resulting from DeprecatedString::insert()


  • editing/selection/move-by-sentence-001-expected.checksum: Added.
  • editing/selection/move-by-sentence-001-expected.png: Added.
  • editing/selection/move-by-sentence-001-expected.txt: Added.
  • editing/selection/move-by-sentence-001.html: Added.

WebCore:

Reviewed by Antti.

<rdar://problem/5174862> Crash resulting from DeprecatedString::insert()


Test added: editing/selection/move-by-sentence-001.html

  • editing/visible_units.cpp: (WebCore::previousBoundary): (WebCore::nextBoundary): Use a UChar Vector instead of DeprecatedString. Avoid creating an extra string for secure bullet replacement unless it is actually needed.


  • platform/DeprecatedString.cpp: (WebCore::DeprecatedString::insert): Call forceUnicode() before setLength(), so that only the unicode buffer is resized.

(WebCore::DeprecatedString::setLength):

Adjust the unicode buffer even if the ascii buffer is valid.

2:21 AM Changeset in webkit [21220] by bdash
  • 3 edits in trunk/WebKitTools

2007-05-02 Holger Freyther <freyther@kde.org>

Reviewed by Mark Rowe.

  • Scripts/build-webkit: Remove the CMake call.
  • Scripts/webkitdirs.pm: Remove isQtWithQMake as QMake is now the only buildsystem for the Qt port.
2:20 AM Changeset in webkit [21219] by bdash
  • 6 edits in trunk/WebCore

2007-05-02 Mitz Pettel <mitz@webkit.org>

Reviewed by Brady.

No test added since there is no change in functionality.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): (WebCore::FrameLoader::begin): (WebCore::FrameLoader::open):
  • loader/FrameLoader.h: Made clear() private.
  • page/Frame.cpp: (WebCore::Frame::setDocument): Changed the argument into a PassRefPtr.
  • page/Frame.h:
  • xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource):
2:17 AM Changeset in webkit [21218] by bdash
  • 3 edits
    5 adds in trunk

2007-05-02 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/replaced/image-resize-width.html

  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged): Moved the call to dirtyPrefWidths() before the call to calcWidth().

2007-05-02 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/replaced/image-resize-width-expected.checksum: Added.
  • fast/replaced/image-resize-width-expected.png: Added.
  • fast/replaced/image-resize-width-expected.txt: Added.
  • fast/replaced/image-resize-width.html: Added.
  • fast/replaced/resources/rectangle-red-200x100.png: Added.
1:44 AM Changeset in webkit [21217] by hyatt
  • 4 adds in trunk/LayoutTests/fast/block/positioning

Add layout test for dashboard bug.

1:39 AM Changeset in webkit [21216] by hyatt
  • 2 edits in trunk/WebCore

Fix for bug 13566, broken Dashboard widgets. setPrefWidthsDirty did
the wrong thing for text children of a positioned element.

Reviewed by mitz

fast/block/positioning/pref-width-change.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::setPrefWidthsDirty):

May 1, 2007:

6:40 PM Changeset in webkit [21215] by darin
  • 2 edits in trunk/WebCore
  • rendering/RenderReplaced.cpp: Fix typo in a comment.
3:31 PM Changeset in webkit [21214] by hyatt
  • 4 adds in trunk/LayoutTests/fast/css-generated-content

Add layout test for 13558.

3:27 PM Changeset in webkit [21213] by hyatt
  • 2 edits in trunk/WebCore

Fix for 13558, crash when using absolutely positioned generated content
inside an inline.

Reviewed by darin

fast/css-generated-content/absolute-position-inside-inline.html

  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3:20 PM Changeset in webkit [21212] by justing
  • 12 edits
    4 adds in trunk

LayoutTests:

Reviewed by darin


<rdar://problem/5002441>
Pressing space key does nothing above quoted content or a signature

Demonstrates the bug:

  • editing/inserting/5002441-expected.checksum: Added.
  • editing/inserting/5002441-expected.png: Added.
  • editing/inserting/5002441-expected.txt: Added.
  • editing/inserting/5002441.html: Added.


Fixed. Spaces passed to execCommand("InsertText", ...)
are no longer collapsed:

  • editing/inserting/editable-html-element-expected.checksum:
  • editing/inserting/editable-html-element-expected.png:
  • editing/inserting/editable-html-element-expected.txt:
  • editing/pasteboard/4989774-expected.checksum:
  • editing/pasteboard/4989774-expected.png:
  • editing/pasteboard/4989774-expected.txt:
  • editing/selection/4983858-expected.checksum:
  • editing/selection/4983858-expected.png:
  • editing/selection/4983858-expected.txt:

WebCore:

Reviewed by darin

<rdar://problem/5002441>
Pressing space key does nothing above quoted content or a signature


Inserting a space under these circumstances inserts a single
text node containing a regular space and then does a layout.
That space isn't rendered (which is correct). Whitespace
rebalancing is supposed to correct it but failed. It replaces
the space with a non-breaking space, but that change doesn't
dirty line boxes (9441) and so the space isn't rendered.


This workaround turns all incoming spaces into non-breaking
spaces before they're inserted (they're rebalanced after
insertion and turned back into regular spaces if possible).

  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::prepareForTextInsertion): Removed an old irrelevant FIXME. (WebCore::InsertTextCommand::input): Turn incoming spaces into non breaking spaces before inserting them.
3:10 PM Changeset in webkit [21211] by darin
  • 14 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.

  • fast/canvas/canvas-size-change-after-layout-expected.checksum: Added.
  • fast/canvas/canvas-size-change-after-layout-expected.png: Added.
  • fast/canvas/canvas-size-change-after-layout-expected.txt: Added.
  • fast/canvas/canvas-size-change-after-layout.html: Added.

WebCore:

Reviewed by Hyatt.

  • remove intrinsicWidth/Height functions from RenderObject

Test: fast/canvas/canvas-size-change-after-layout.html

  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createRenderer): Removed code to set the intrinsic size, because the renderer now takes care of this in its constructor. (WebCore::HTMLCanvasElement::reset): Instead of calling the setIntrinsicWidth/Height functions, call canvasSizeChanged, which takes care of layout, but only if the size actually changed. Also call repaint if the contents of the canvas changed.
  • rendering/RenderApplet.h:
  • rendering/RenderApplet.cpp: (WebCore::RenderApplet::intrinsicSize): Override the new intrinsicSize function. This override still doesn't make sense, so left a FIXME in here.
  • rendering/RenderBox.h: Added an intrinsicSize function here to replace the intrinsicWidth/Height functions removed from RenderObject.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcReplacedWidthUsing): Use intrinsicSize instead of intrinsicWidth. (WebCore::RenderBox::calcReplacedHeightUsing): Ditto, but for height.
  • rendering/RenderHTMLCanvas.h: Changed the constructor parameter to be an HTMLCanvasElement* instead of Node*. Also added a canvasSizeChanged function.
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): Pass an initial intrinsic size based on the current size of the canvas element. This is now the responsibility of the renderer and the DOM element calls the canvasSizeChanged function when the size changes. (WebCore::RenderHTMLCanvas::paint): Removed checks of the type of the element, and used the node() function because we don't have to worry about the anonymous case in this class. (WebCore::RenderHTMLCanvas::canvasSizeChanged): Added. Changes the size and then calls setNeedsLayout and setPrefWidthsDirty as needed. I based the logic here on careful reading of RenderImage::imageChanged.
  • rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): Pass a default intrinsic size of 0,0 instead of calling setIntrinsicWidth/Height. (WebCore::RenderImage::setImageSizeForAltText): Call the new intrinsic size functions instead of the width/height ones. Simplifies the logic since we handle both dimensions at once. (WebCore::RenderImage::imageChanged): Ditto. (WebCore::RenderImage::layout): Ditto. (WebCore::RenderImage::calcAspectRatioWidth): Ditto. (WebCore::RenderImage::calcAspectRatioHeight): Ditto.
  • rendering/RenderObject.h: Removed intrinsicWidth/Height virtual functions.
  • rendering/RenderReplaced.h: Replaced intrinsicWidth, intrinsicHeight, setIntrinsicWidth, setIntrinsicHeight, m_intrinsicWidth, and m_intrinsicHeight with intrinsicSize, setIntrinsicSize, and m_intrinsicSize.
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): Added a second contructor that takes an intrinsic size parameter. Also updated constructor since the intrinsic size is now an IntSize instead of two integers. (WebCore::RenderReplaced::intrinsicSize): Added. No point in making this inline because it's a virtual function. (WebCore::RenderReplaced::setIntrinsicSize): Added. Didn't make this inline, partly because in the future we might want this to be more than just a simple setter function, factoring in common code used in both RenderImage and RenderHTMLCanvas.
  • rendering/RenderWidget.h: Removed a stray using declaration that wasn't needed.
2:37 PM Changeset in webkit [21210] by spadma
  • 2 edits in S60/trunk/WebKit

yadavall, reviewed by <sachin.padma@nokia.com>

DESC: Toolbar should be activated only on long keypress
http://bugs.webkit.org/show_bug.cgi?id=12816

  • BrowserView/src/KeyEventHandler.cpp: (CKeyEventHandler::HandleOfferKeyEventL): (CKeyEventHandler::HandleActivateKeysL):
1:44 PM Changeset in webkit [23338] by sfalken
  • 4 edits in branches/WindowsMerge

2007-05-01 Steve Falkenburg <sfalken@apple.com>

Reviewed by Oliver.


Fix usage errors in COM enumeration.

  • WebEditorClient.cpp: (WebEditorClient::checkGrammarOfString): Call Next correctly. (WebEditorClient::getGuessesForWord): Call Next correctly.


2007-05-01 Steve Falkenburg <sfalken@apple.com>

Reviewed by Oliver.

Fix crash when retrieving title of context menu after it has been selected.
Necessary to get spelling corrections code working.

  • platform/win/ContextMenuWin.cpp: (WebCore::ContextMenu::itemWithAction): menu item info fType is a set of flags, MFT_STRING is 0, so we need to or off flags before comparing.
1:11 PM Changeset in webkit [21209] by hyatt
  • 4 edits in trunk/WebCore

Fix for hang when incorrectly trying to add before/after content to
a <select>. Disallow generated content in all selects and also turn it
off for <input> buttons.

Reviewed by aroben

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::setStyle):
  • rendering/RenderButton.cpp: (WebCore::RenderButton::canHaveChildren):
  • rendering/RenderButton.h:
12:59 PM Changeset in webkit [21208] by darin
  • 114 edits
    2 adds in trunk

LayoutTests:

Reviewed by Hyatt.

  • added a test for <rdar://problem/5172596> HTML-parser-created tbody elements are being ignored when processing CSS child rules
  • fast/css/child-selector-implicit-tbody.html: Added.
  • fast/css/child-selector-implicit-tbody-expected.txt: Added.
  • updated test results for <rdar://problem/5172607> XML parser is creating implicit tbody elements; the only change is the tag name that's dumped
  • fast/table/037-expected.txt:
  • tables/mozilla/marvin/x_caption_align_bottom-expected.txt:
  • tables/mozilla/marvin/x_caption_align_top-expected.txt:
  • tables/mozilla/marvin/x_caption_class-expected.txt:
  • tables/mozilla/marvin/x_caption_id-expected.txt:
  • tables/mozilla/marvin/x_caption_style-expected.txt:
  • tables/mozilla/marvin/x_col_align_center-expected.txt:
  • tables/mozilla/marvin/x_col_align_char-expected.txt:
  • tables/mozilla/marvin/x_col_align_justify-expected.txt:
  • tables/mozilla/marvin/x_col_align_left-expected.txt:
  • tables/mozilla/marvin/x_col_align_right-expected.txt:
  • tables/mozilla/marvin/x_col_span-expected.txt:
  • tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_col_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_col_valign_top-expected.txt:
  • tables/mozilla/marvin/x_col_width_pct-expected.txt:
  • tables/mozilla/marvin/x_col_width_px-expected.txt:
  • tables/mozilla/marvin/x_col_width_rel-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_center-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_justify-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_left-expected.txt:
  • tables/mozilla/marvin/x_colgroup_align_right-expected.txt:
  • tables/mozilla/marvin/x_colgroup_span-expected.txt:
  • tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
  • tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
  • tables/mozilla/marvin/x_table_align_center-expected.txt:
  • tables/mozilla/marvin/x_table_align_left-expected.txt:
  • tables/mozilla/marvin/x_table_align_right-expected.txt:
  • tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
  • tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
  • tables/mozilla/marvin/x_table_cellpadding-expected.txt:
  • tables/mozilla/marvin/x_table_cellpadding_pct-expected.txt:
  • tables/mozilla/marvin/x_table_cellspacing-expected.txt:
  • tables/mozilla/marvin/x_table_cellspacing_pct-expected.txt:
  • tables/mozilla/marvin/x_table_class-expected.txt:
  • tables/mozilla/marvin/x_table_id-expected.txt:
  • tables/mozilla/marvin/x_table_style-expected.txt:
  • tables/mozilla/marvin/x_table_width_pct-expected.txt:
  • tables/mozilla/marvin/x_table_width_px-expected.txt:
  • tables/mozilla/marvin/x_td_align_center-expected.txt:
  • tables/mozilla/marvin/x_td_align_char-expected.txt:
  • tables/mozilla/marvin/x_td_align_justify-expected.txt:
  • tables/mozilla/marvin/x_td_align_left-expected.txt:
  • tables/mozilla/marvin/x_td_align_right-expected.txt:
  • tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
  • tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
  • tables/mozilla/marvin/x_td_class-expected.txt:
  • tables/mozilla/marvin/x_td_colspan-expected.txt:
  • tables/mozilla/marvin/x_td_height-expected.txt:
  • tables/mozilla/marvin/x_td_id-expected.txt:
  • tables/mozilla/marvin/x_td_nowrap-expected.txt:
  • tables/mozilla/marvin/x_td_rowspan-expected.txt:
  • tables/mozilla/marvin/x_td_style-expected.txt:
  • tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_td_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_td_valign_top-expected.txt:
  • tables/mozilla/marvin/x_td_width-expected.txt:
  • tables/mozilla/marvin/x_th_align_center-expected.txt:
  • tables/mozilla/marvin/x_th_align_char-expected.txt:
  • tables/mozilla/marvin/x_th_align_justify-expected.txt:
  • tables/mozilla/marvin/x_th_align_left-expected.txt:
  • tables/mozilla/marvin/x_th_align_right-expected.txt:
  • tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
  • tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
  • tables/mozilla/marvin/x_th_class-expected.txt:
  • tables/mozilla/marvin/x_th_colspan-expected.txt:
  • tables/mozilla/marvin/x_th_height-expected.txt:
  • tables/mozilla/marvin/x_th_id-expected.txt:
  • tables/mozilla/marvin/x_th_nowrap-expected.txt:
  • tables/mozilla/marvin/x_th_rowspan-expected.txt:
  • tables/mozilla/marvin/x_th_style-expected.txt:
  • tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_th_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_th_valign_top-expected.txt:
  • tables/mozilla/marvin/x_th_width-expected.txt:
  • tables/mozilla/marvin/x_tr_align_center-expected.txt:
  • tables/mozilla/marvin/x_tr_align_char-expected.txt:
  • tables/mozilla/marvin/x_tr_align_justify-expected.txt:
  • tables/mozilla/marvin/x_tr_align_left-expected.txt:
  • tables/mozilla/marvin/x_tr_align_right-expected.txt:
  • tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
  • tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
  • tables/mozilla/marvin/x_tr_class-expected.txt:
  • tables/mozilla/marvin/x_tr_id-expected.txt:
  • tables/mozilla/marvin/x_tr_style-expected.txt:
  • tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
  • tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
  • tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
  • tables/mozilla/marvin/x_tr_valign_top-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug178855-expected.txt:
  • tables/mozilla_expected_failures/marvin/x_caption_align_left-expected.txt:
  • tables/mozilla_expected_failures/marvin/x_caption_align_right-expected.txt:
  • tables/mozilla_expected_failures/marvin/x_colgroup_width_pct-expected.txt:
  • tables/mozilla_expected_failures/marvin/x_colgroup_width_px-expected.txt:

WebCore:

Reviewed by Hyatt.

  • removed the m_implicit bit from Node, freeing up a bit
  • fixed <rdar://problem/5172607> XML parser is creating implicit tbody elements
  • fixed <rdar://problem/5172596> HTML-parser-created tbody elements are being ignored when processing CSS child rules

Test: fast/css/child-selector-implicit-tbody.html

  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkSelector): Removed code that used to look at implicitNode(), which no longer exists.
  • css/html4.css: Added a style rule to handle cases where we have a tr inside a table with no intervening table section.
  • dom/Node.h: Removed the bit.
  • dom/Node.cpp: (WebCore::Node::Node): Don't initialize the bit. (WebCore::Node::dump): Don't dump the bit.
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::startElementNs): Remove the code that made a table body element. This is handled in the render tree, the DOM tree should not be mangled. (WebCore::XMLTokenizer::endElementNs): Removed code that used to look at implicitNode(), which no longer exists.
  • html/HTMLElementFactory.cpp: (WebCore::tableSectionConstructor): Removed boolean parameter that was passed to the HTMLTableSectionElement constructor.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Ditto.
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::createTHead): Ditto. (WebCore::HTMLTableElement::createTFoot): Ditto. (WebCore::HTMLTableElement::insertRow): Changed to return a PassRefPtr, because it's possible the row could be removed from the table by JavaScript code responding to DOM mutation events before the function returns. Just something I noticed by code inspection.
  • html/HTMLTableSectionElement.cpp: (WebCore::HTMLTableSectionElement::HTMLTableSectionElement): Removed boolean "implicit" parameter to the constructor. (WebCore::HTMLTableSectionElement::insertRow): Changed to return a PassRefPtr for the same reason cited above.
  • html/HTMLTableElement.h: Changed the return value of insertRow to be a PassRefPtr.
  • html/HTMLTableSectionElement.h: Ditto.
12:04 PM Changeset in webkit [21207] by sfalken
  • 1 copy in tags/Safari-522.6.4b

New tag.

10:21 AM Changeset in webkit [21206] by bdash
  • 1 edit in tags/WebKit-419.1/WebKit/Info.plist

Versioning.

10:20 AM Changeset in webkit [21205] by bdash
  • 1 edit in tags/WebKit-419.1/WebKit/Plugins.subproj/WebBaseNetscapePluginView.m

Reinstate a small portion of r20042 that was lost during the merge in r21111.

6:48 AM Changeset in webkit [21204] by bdash
  • 10 edits
    4 copies in branches/Safari-522

Merge r20923.

6:38 AM Changeset in webkit [21203] by bdash
  • 3 edits
    4 copies in branches/Safari-522

Merge r21062.

6:22 AM Changeset in webkit [21202] by bdash
  • 3 edits
    4 copies in branches/Safari-522

Merge r20490.

6:04 AM Changeset in webkit [21201] by bdash
  • 3 edits
    2 copies in branches/Safari-522

Merge r21175.

2:03 AM Changeset in webkit [21200] by ap
  • 3 edits in trunk/JavaScriptCore

2007-05-01 Jungshik Shin <jungshik.shin@gmail.com>

Reviewed by Alexey.


  • kjs/testkjs.cpp:
  • pcre/pcre_compile.c:

Apr 30, 2007:

11:05 PM Changeset in webkit [23337] by aliceli1
  • 7 edits in branches/WindowsMerge

WebKitToolsWin:

Reviewed by Adam.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (main): As a consequence of <rdar://5126201>, removed call to webView->close() and patched leak resulting from that change.

WebKitWin:

Reviewed by Adam.

Fixed <rdar://5126201> crash closing tab when the two following tabs are empty.
Basically this fix involved one thing, which lead to another thing. First, the crash
was fixed by moving the call to webView->close from SearchableWebView::onDestroy to
WebViewWndProc when WM_DESTROY message is processed. We now want only WebKit handling
the closure of a WebView, so all calls to WebView::close have been removed, save for
the one call in WebViewWndProc.

  • Interfaces/IWebView.idl: removed close() from public interface
  • WebInspector/WebInspector.cpp: (WebInspector::onDestroy): removed call to close()
  • WebView.cpp: (WebView::~WebView): move the deleting of m_page down a bit to avoid a crash (WebView::close): changed from public API to just a public function (WebViewWndProc): webView->close() was moved here from SearchableWebView::onDestroy
  • WebView.h: changed close() to a public function not exposed in the WebKit interface
9:57 PM Changeset in webkit [21199] by hyatt
  • 38 edits
    4 adds in trunk

LayoutTests:

Fix for bug 12691, generated content and display: table-cell duplicates
content on a size change. Make sure that the code to update before/after
content is smart enough to drill into anonymous containers to find the
old child.

Reviewed by olliej

  • fast/css-generated-content/table-cell-before-content-expected.checksum: Added.
  • fast/css-generated-content/table-cell-before-content-expected.png: Added.
  • fast/css-generated-content/table-cell-before-content-expected.txt: Added.
  • fast/css-generated-content/table-cell-before-content.html: Added.

WebCore:

Fix for bug 12691, generated content and display: table-cell duplicates
content on a size change. Make sure that the code to update before/after
content is smart enough to drill into anonymous containers to find the
old child.

Reviewed by olliej

Added fast/css-generated-content/table-cell-before-content.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::setStyle):
  • rendering/RenderButton.cpp: (WebCore::RenderButton::updateBeforeAfterContent):
  • rendering/RenderButton.h:
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::beforeAfterContainer): (WebCore::RenderContainer::updateBeforeAfterContent): (WebCore::RenderContainer::updateBeforeAfterContentForObject):
  • rendering/RenderContainer.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::setStyle): (WebCore::RenderInline::addChildToFlow): (WebCore::RenderInline::splitInlines):
9:32 PM Changeset in webkit [21198] by justing
  • 2 edits in trunk/WebCore

Reviewed by justin


<http://bugs.webkit.org/show_bug.cgi?id=13552>
comment to Range::comparePoint in dom/Range.cpp has
'0xD0' in place of '-': leading to a compiler warning

  • dom/Range.cpp: (WebCore::Range::comparePoint):
4:45 PM Changeset in webkit [21197] by justing
  • 7 edits
    8 adds in trunk

LayoutTests:

Reviewed by darin


<rdar://problem/4875189> List gets deleted when replacing contents

Replacing the contents of a list:

  • editing/inserting/4875189-1-expected.checksum: Added.
  • editing/inserting/4875189-1-expected.png: Added.
  • editing/inserting/4875189-1-expected.txt: Added.
  • editing/inserting/4875189-1.html: Added. Of a floating div:
  • editing/inserting/4875189-2-expected.checksum: Added.
  • editing/inserting/4875189-2-expected.png: Added.
  • editing/inserting/4875189-2-expected.txt: Added.
  • editing/inserting/4875189-2.html: Added. Pasting a list on top of itself now creates a nested list:
  • editing/pasteboard/paste-4039777-fix-expected.checksum:
  • editing/pasteboard/paste-4039777-fix-expected.png:
  • editing/pasteboard/paste-4039777-fix-expected.txt:

WebCore:

Reviewed by darin

<rdar://problem/4875189> List gets deleted when replacing contents

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Don't expand to include elements, like lists, when deleting a selection to replace it.
3:06 PM Changeset in webkit [21196] by justing
  • 4 edits in trunk/WebCore

Reviewed by ggaren


Buildfix. Leave in grammar checking machinery to
keep WebKit building on other platforms but don't
operate on sentence sized chunks so that we don't
re-introduce 5157329.

  • editing/Editor.h:
  • editing/mac/EditorMac.mm: (WebCore::Editor::markMisspellingsAfterTypingToPosition): (WebCore::markMisspellingsOrBadGrammar): (WebCore::Editor::markMisspellings): (WebCore::Editor::markBadGrammar):
  • page/Frame.cpp: (WebCore::Frame::respondToChangedSelection):
2:14 PM Changeset in webkit [21195] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by darin


<rdar://problem/5168598> Crash when deleting a link inside an input field

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

WebCore:

Reviewed by darin

<rdar://problem/5168598>
Crash when deleting a link inside an input field


Deletion code tries to update one of its positions to keep
it valid and nullifies it. Later in mergeParagraphs we try
to find out if it's valid by checking to see if it's still in
the document and crash.


The fix is just to not bother keeping the position,
m_upstreamStart, valid, since after the point in the code
under examination, it doesn't need to be valid anymore.
Besides, code to update DeleteSelectionCommand's positions
should go in the functions that handle the content removal
that might invalid them (there are already FIXMEs about this).


Also, users shouldn't be able to insert links (or any rich content)
into plaintext-only regions like text fields, even if those
text fields are inside richly editable regions. This is a
separate bug and is filed as 5171552.

  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::handleGeneralDelete): Don't bother updating m_upstreamStart.
2:03 PM Changeset in webkit [21194] by pyeh
  • 7 edits
    1 add in trunk/WebCore

<rdar://problem/5108546> REGRESSION: Zoom follows keyboard focus does not work

  • WebCore.xcodeproj/project.pbxproj: Add new file SelectionControllerMac.mm
  • dom/Document.cpp: (WebCore::Document::updateSelection): Move the code to fire off AXSelectedTextChanged notification to a new method notifyAccessibilityForSelectionChange in SelectionControllerMac.mm
  • editing/SelectionController.cpp: (WebCore::SelectionController::setSelection): call notifyAccessibilityForSelectionChange to handle firing of accessibility notification and zoomFocusChange
  • editing/SelectionController.h: Add notifyAccessibilityForSelectionChange method for Mac platform
  • platform/Widget.h:
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertToScreenCoordinate): Add a helper routine that takes IntPoint in local coordinate and convert that to screen coordinate
12:43 PM Changeset in webkit [21193] by justing
  • 4 edits in trunk/WebCore

Reviewed by harrison

<rdar://problem/5157329>
REGRESSION: Crash at WTF::fastFree() when arrowing or deleting backward through editable text (13493)


Backing out the changes for 4859132.

  • editing/Editor.h:
  • editing/mac/EditorMac.mm: (WebCore::Editor::markMisspellingsAfterTypingToPosition): (WebCore::Editor::markMisspellings):
  • page/Frame.cpp: (WebCore::Frame::respondToChangedSelection):
10:43 AM Changeset in webkit [21192] by kmccullo
  • 2 edits in trunk/WebKitTools
  • Removed debugging statements and took out the removal of the deletion of the symlink. This is because multiple instances of run-webkit-tests can be running at the same time.
  • Scripts/run-webkit-tests:
7:40 AM Changeset in webkit [21191] by spadma
  • 2 edits in S60/trunk/WebKit

raalexan, reviewed by <sachin.padma@nokia.com>

DESC: Browser crashes while loading www.cnn.com
http://bugs.webkit.org/show_bug.cgi?id=13488

TSW ID : AKUR-6UED6S

  • ResourceLoader/src/AboutTransaction.cpp:
7:40 AM Changeset in webkit [21190] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

raalexan, reviewed by <sachin.padma@nokia.com>

DESC: Browser crashes while loading www.cnn.com
http://bugs.webkit.org/show_bug.cgi?id=13488

TSW ID : AKUR-6UED6S

  • ResourceLoader/src/AboutTransaction.cpp:
7:35 AM Changeset in webkit [21189] by yongjzha
  • 4 edits in S60/trunk/WebKit

raalexan, reviewed by Yongjun

DESC: can't do the chinese keyword searching on the brower
http://bugs.webkit.org/show_bug.cgi?id=13418
TSW ID: RLEA-6ZFCBF

  • BrowserCore/Formcontrols/inc/FControlInputSkin.h:
  • BrowserCore/Formcontrols/src/FControlInputSkin.cpp: (CFormInputSkin::SelectedLanguage):
  • BrowserCore/Formcontrols/src/FControlInputWidget.cpp: (CControlInputWidget::OfferKeyEventL):
3:44 AM Changeset in webkit [21188] by antti
  • 4 edits in trunk/WebCore

Reviewed by Oliver.

Fix <rdar://problem/5169261>
REGRESSION: Google Maps zooming too sensitive when using two fingers on trackpad


Use line based delta values when generating DOM wheel events, use pixel deltas
for scrolling only.


No test case, requires user interaction and specific hardware.

  • page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent):
  • platform/PlatformWheelEvent.h: (WebCore::PlatformWheelEvent::continuousDeltaX): (WebCore::PlatformWheelEvent::continuousDeltaY):
  • platform/mac/WheelEventMac.mm: (WebCore::PlatformWheelEvent::PlatformWheelEvent):

Apr 29, 2007:

11:27 PM Changeset in webkit [21187] by oliver
  • 2 edits in trunk/WebCore

Reviewed by Brady.

Build fix for experimental features build

  • rendering/RenderForeignObject.cpp:
8:29 PM Changeset in webkit [21186] by bdash
  • 3 edits
    4 adds in trunk

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

Reviewed by Dave Hyatt.

Test: fast/repaint/layer-hide-when-needs-layout.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::setStyle): If we get a layout hint, we count on layout() or updateLayerPositions() to repaint. In the case of a layer going invisible, however, we need to repaint here since neither of the above will do it.

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

Reviewed by Dave Hyatt.

  • fast/repaint/layer-hide-when-needs-layout-expected.checksum: Added.
  • fast/repaint/layer-hide-when-needs-layout-expected.png: Added.
  • fast/repaint/layer-hide-when-needs-layout-expected.txt: Added.
  • fast/repaint/layer-hide-when-needs-layout.html: Added.
5:24 PM Changeset in webkit [23336] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Build fix after r21183.

  • WebCore.vcproj/WebCore.vcproj: Added LayoutState.(h|cpp).
3:40 PM Changeset in webkit [23335] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Steve.

Fix for <rdar://problem/5126393> REGRESSION (r19672-19697): Safari drag image drags at original size (13261)


Prevent build bustage from opensource changes, correct scaling

  • platform/win/DragImageWin.cpp: (WebCore::scaleDragImage):
3:31 PM Changeset in webkit [21185] by oliver
  • 7 edits in trunk/WebCore

Reviewed by Steve.

Fix for <rdar://problem/5126393> REGRESSION (r19672-19697): Safari drag image drags at original size (13261)

Added logic to ensure that when we create the drag image
we're looking at the rendered image size.

  • page/DragController.cpp: (WebCore::DragController::doImageDrag): Pass the rendered image size to fitDragImageToMaxSize
  • platform/DragImage.cpp: (WebCore::fitDragImageToMaxSize):

Need to do scaling relative to rendered image size

  • platform/DragImage.h:

scaleDragImage needs x and y scales to allow for them to be
scaled seperately on a page

  • platform/gdk/DragImageGdk.cpp: (WebCore::scaleDragImage):

Prevent build bustage

  • platform/mac/DragImageMac.mm: (WebCore::scaleDragImage):

scale width and height independently

  • platform/qt/DragImageQt.cpp: (WebCore::scaleDragImage):

Prevent build bustage

1:32 PM Changeset in webkit [21184] by darin
  • 18 edits in trunk/WebCore

Reviewed by Adele.

This patch changes things so that resizing can make things larger than their
initial size, but not smaller. I believe this resolves the problem for Gmail,
but you can still get strange behavior if you have a small right-aligned <textarea>.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::resize): Rewrote to use more IntPoint and IntSize and add in a new minimum-size algorithm. This function now has the side effect of storing a new minimumSizeForResizing in the element being resized, and respects any existing minimum as well. (WebCore::RenderLayer::offsetFromResizeCorner): Reversed this so it converts the point into coordinates relative to the resize corner, hence negative numbers mean the point is above and to the left. This is used only in the algorithm above.
  • dom/Element.h: Removed unneeded include of Attr.h, and added forward declarations as needed. Removed all friend declarations; there was no need for any of them. Tweaked formatting of various declarations and removed unneeded parameter names. Made as much as possible private, and a couple things public to avoid the need for friend classes. Added minimumSizeForResizing, setMinimumSizeForResizing, rareData, and createRareData functions.
  • dom/Element.cpp: (WebCore::rareDataMap): Added. Function to return the single global map. (WebCore::rareDataFromMap): Added. For use by inlined functions to get the data from the map in the case where it's present. (WebCore::ElementRareData::ElementRareData): Added. (WebCore::Element::~Element): Added code to delete the element from the rare data map when appropriate. (WebCore::Element::rareData): Added. (WebCore::Element::createRareData): Added. (WebCore::Element::setAttributeNodeNS): Got rid of the old inline version of this, since it was the sole reason we had to include Attr.h in Element.h. (WebCore::Element::minimumSizeForResizing): Added. Accesses rare data. (WebCore::Element::setMinimumSizeForResizing): Ditto.
  • dom/Node.h: Renamed the m_specified bit since it's now used for two purposes. Its new long name is m_attrWasSpecifiedOrElementHasRareData.
  • dom/Attr.cpp: (WebCore::Attr::Attr): Updated for bit name change.
  • dom/Attr.h: (WebCore::Attr::specified): Ditto. (WebCore::Attr::setSpecified): Added, since setting the bit directly is pretty ugly now.
  • dom/Document.cpp: (WebCore::Document::adoptNode): Updated for bit name change.
  • dom/Node.cpp: (WebCore::Node::Node): Ditto. (WebCore::Node::dump): Ditto.
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::isReadOnlyNode): Moved out of line, since this was the sole reason we had to include Element.h in NamedAttrMap.h.
  • html/HTMLElement.cpp: (WebCore::HTMLElement::nodeName): Changed to use tagQName() since that's a public way to do something that's now private. (WebCore::HTMLElement::cloneNode): Ditto.
  • dom/Attribute.cpp:
  • dom/NamedAttrMap.h:
  • dom/NamedMappedAttrMap.cpp:
  • dom/StyledElement.h:
  • html/HTMLTokenizer.h:
  • xml/XPathFunctions.cpp:
  • xml/XPathStep.cpp: Updated includes, and other administrivia.
1:09 PM Changeset in webkit [21183] by weinig
  • 31 edits
    6 adds in trunk

LayoutTests:

Reviewed by Darin and Hyatt.

  • fast/repaint/bugzilla-3509-expected.checksum:
  • fast/repaint/bugzilla-3509-expected.png:
  • fast/repaint/intermediate-layout-position-clip-expected.checksum: Added.
  • fast/repaint/intermediate-layout-position-clip-expected.png: Added.
  • fast/repaint/intermediate-layout-position-clip-expected.txt: Added.
  • fast/repaint/intermediate-layout-position-clip.html: Added.
  • fast/repaint/intermediate-layout-position-expected.checksum:
  • fast/repaint/intermediate-layout-position-expected.png:

WebCore:

Reviewed by Darin and Hyatt.

Test for a bug fixed by this patch: fast/repaint/intermediate-layout-position-clip.html

By keeping track of the total translation and clip during layout, absolutePosition and
computeAbsoluteRepaintRect become O(1).

  • WebCore.pro: Added LayoutState.cpp
  • WebCore.vcproj/WebCore/WebCore.vcproj: Added LayoutState.{cpp,h}
  • WebCore.xcodeproj/project.pbxproj: Added LayoutState.{cpp,h}
  • WebCoreSources.bkl: Added LayoutState.cpp
  • page/FrameView.cpp: (WebCore::FrameView::layout): When doing subtree layout, push an initial layout state for the layout root.
  • rendering/LayoutState.cpp: Added. A LayoutState corresponding to a box consists of the origin of its coordinate system in view coordinates and possibly the clip rect, in view coordinates, which applies to its children. (WebCore::LayoutState::LayoutState): (WebCore::LayoutState::destroy): (WebCore::throw): (WebCore::LayoutState::operator delete):
  • rendering/LayoutState.h: Added. (WebCore::LayoutState::LayoutState):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Factored out the "only positioned objects" case into layoutOnlyPositionedObjects(). Added code to push/pop LayoutState, unless we have columns, in which case we disable/enable LayoutState. Removed the translation by the layout delta of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox(). (WebCore::RenderBlock::layoutOnlyPositionedObjects): Added this helper function that checks for and handles the case where only positioned objects need layout. Returns true in that case. (WebCore::RenderBlock::repaintOverhangingFloats): Disabled LayoutState when repainting floats, since they may belong to other containers. (WebCore::RenderBlock::updateFirstLetter): Disabled LayoutState when adding and removing from the first letter container, since it may be different than ourselves.
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle): Minor cleanup: changed element()->document() to the equivalent document(). (WebCore::RenderBox::offsetForPositionedInContainer): Added. Factored out common code from absolutePosition, computeAbsoluteRepaintRect and RenderLayer::updateLayerPosition into this function. (WebCore::RenderBox::absolutePosition): Added an O(1) code path when this function is called during layout (and LayoutState has not been disabled). Factored out some code into offsetForPositionedInContainer. (WebCore::RenderBox::absoluteClippedOverflowRect): Added the layout delta here, so callers don't need to. (WebCore::RenderBox::computeAbsoluteRepaintRect): Added an O(1) code path when this function is called during layout (and LayoutState has not been disabled). Factored out some code into offsetForPositionedInContainer.
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::layout): Added LayoutState push/pop.
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): Factored out the "only positioned objects" case into layoutOnlyPositionedObjects(). Added LayoutState push/pop. Removed the translation by the layout delta of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox().
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect): Added an ASSERT.
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::layout): Disabled LayoutState because it is incompatible with arbitrary affine transforms.
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::layout): Removed the translation by the layout delta of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox().
  • rendering/RenderImage.cpp: (WebCore::RenderImage::layout): Ditto.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): Added ASSERTs. Factored out some code into RenderBox::offsetForPositionedInContainer. (WebCore::RenderLayer::updateScrollInfoAfterLayout): Disabled LayoutState around the call to scrollToOffset.
  • rendering/RenderListItem.cpp: (WebCore::RenderListItem::updateMarkerLocation): Disabled LayoutState when moving the list marker, since it can trigger repainting in other containers.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::isRoot): Minor cleanup: changed element()->document() to the equivalent document(). (WebCore::RenderObject::computeAbsoluteRepaintRect): Removed 'return' at the end of the function. (WebCore::RenderObject::container): Reordered to avoid calling isText() twice. (WebCore::RenderObject::absoluteOutlineBox): Added the layout delta here, so callers don't need to.
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout): Disabled LayoutState because it is incompatible with arbitrary affine transforms.
  • rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Factored out the "only positioned objects" case into layoutOnlyPositionedObjects(). Added LayoutState push/pop. Removed the translation by the layout delta of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox().
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::absoluteClippedOverflowRect): Added the layout delta here, so callers don't need to. (WebCore::RenderTableCell::computeAbsoluteRepaintRect): For the O(1) code path, skipped the correction for the parent row, because RenderTableRow doesn't push a translation into LayoutState. (WebCore::RenderTableCell::absolutePosition): Ditto.
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): Added LayoutState push/pop.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::setCellWidths): Added LayoutState push/pop if cells are repainted or receive layout. (WebCore::RenderTableSection::calcRowHeight): Ditto. (WebCore::RenderTableSection::layoutRows): Added LayoutState push/pop.
  • rendering/RenderView.cpp: (WebCore::RenderView::RenderView): (WebCore::RenderView::layout): Added initial LayoutState setup for the layout. (WebCore::RenderView::paintBoxDecorations): Minor cleanup: changed element()->document() to the equivalent document(). (WebCore::RenderView::repaintViewRectangle): Ditto. (WebCore::RenderView::pushLayoutState): Added. Pushes initial layout state for subtree layout.
  • rendering/RenderView.h: (WebCore::RenderView::pushLayoutState): (WebCore::RenderView::popLayoutState): (WebCore::RenderView::layoutState): (WebCore::RenderView::disableLayoutState): (WebCore::RenderView::enableLayoutState):
3:33 AM Changeset in webkit [21182] by hyatt
  • 4 adds in trunk/LayoutTests/fast/block/positioning

Add layout test for previous checkin.

3:30 AM Changeset in webkit [21181] by hyatt
  • 2 edits in trunk/WebCore

Fix for bugzilla 13535, regression from positioning cleanup a while
back. Some code got added to compute available width for a relpositioned
inline, only the code meant to be used for inline flows and not inline blocks.

Reviewed by mjs

fast/block/positioning/inline-block-relposition.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::containingBlockWidthForPositioned):
3:17 AM Changeset in webkit [21180] by oliver
  • 12 edits in trunk

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

Drag and drop support for WebKit/Qt

WebCore:

Reviewed by Zack.

Implement basic drag and drop support for qt
this allows content and link dragging but does not
provide the DOM data access methods.

  • platform/DragData.h:
  • platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::ClipboardQt): (WebCore::ClipboardQt::~ClipboardQt): (WebCore::ClipboardQt::clearData): (WebCore::ClipboardQt::clearAllData): (WebCore::ClipboardQt::setData): (WebCore::ClipboardQt::declareAndWriteDragImage): (WebCore::ClipboardQt::writeURL): (WebCore::ClipboardQt::writeRange): (WebCore::ClipboardQt::hasData):
  • platform/qt/ClipboardQt.h: (WebCore::ClipboardQt::clipboardData): (WebCore::ClipboardQt::invalidateWritableData):
  • platform/qt/DragDataQt.cpp: (WebCore::DragData::canSmartReplace): (WebCore::DragData::containsPlainText): (WebCore::DragData::asPlainText): (WebCore::DragData::createClipboard): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asFragment):

WebKitQt:

Reviewed by Zack.

Tie QT drag events to the DragController logic
to allow drag and drop events to be handled by
webkit.

  • Api/qwebframe.cpp:
  • Api/qwebframe.h:
  • Api/qwebpage.cpp: (QWebPagePrivate::QWebPagePrivate): (QWebPage::QWebPage): (dropActionToDragOp): (dragOpToDropAction): (QWebPage::dragEnterEvent): (QWebPage::dragLeaveEvent): (QWebPage::dragMoveEvent): (QWebPage::dropEvent):
  • Api/qwebpage.h:
  • WebCoreSupport/DragClientQt.cpp: (WebCore::DragClientQt::startDrag):
  • WebCoreSupport/DragClientQt.h: (WebCore::DragClientQt::DragClientQt):
12:33 AM Changeset in webkit [21179] by mjs
  • 22 edits in trunk/WebCore

Reviewed by Darin and Oliver.

  • change Document to hold onto Frame* instead of FrameView*


This is an architectural cleanup and a prerequisite to fixing citibank login
in an architecturally sound way.

Some fixups for the page cache:


  • history/CachedPage.cpp: (WebCore::CachedPage::restore): Add an assert that the document's view matches the cached page's view - this needs to be true by the time this function is called. (WebCore::CachedPage::clear): Change assert to require frame matching, not view matching.
  • history/CachedPage.h: (WebCore::CachedPage::view): Add a way to get the view out.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): pass Frame, not FrameView, when creating document (WebCore::FrameLoader::open): restore view based on CachedPage, not Document.

Remaining changes are just straightforward updates based on which
pointer is held or passed:


  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): (WebCore::DOMImplementation::createHTMLDocument):
  • dom/DOMImplementation.h:
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::view): (WebCore::Document::frame): (WebCore::Document::recalcStyle): (WebCore::Document::updateLayout): (WebCore::Document::attach): (WebCore::Document::detach): (WebCore::Document::createTokenizer): (WebCore::Document::recalcStyleSelector): (WebCore::Document::setInPageCache): (WebCore::Document::applyXSLTransform):
  • dom/Document.h:
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::HTMLDocument):
  • html/HTMLDocument.h:
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
  • html/HTMLViewSourceDocument.h:
  • ksvg2/svg/SVGDocument.cpp: (WebCore::SVGDocument::SVGDocument):
  • ksvg2/svg/SVGDocument.h:
  • loader/ImageDocument.cpp: (WebCore::ImageDocument::ImageDocument):
  • loader/ImageDocument.h:
  • loader/PluginDocument.cpp: (WebCore::PluginDocument::PluginDocument):
  • loader/PluginDocument.h:
  • loader/TextDocument.cpp: (WebCore::TextDocument::TextDocument):
  • loader/TextDocument.h:
  • xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource): (WebCore::XSLTProcessor::transformToDocument):
  • xml/XSLTProcessor.h:
Note: See TracTimeline for information about the timeline view.