Timeline



Aug 19, 2007:

5:04 PM Changeset in webkit [25153] by aroben
  • 2 edits in trunk/WebCore

Gtk+ build fix.

  • platform/gdk/TemporaryLinkStubs.cpp: Removed const.
3:07 PM Changeset in webkit [25152] by aroben
  • 7 edits in trunk/WebCore

Fix <rdar://5395835> REGRESSION (r24527): Context menu for edit fields is missing "Font & Writing Direction"

The problem was that ContextMenuItem::setSubMenu was just copying the
HMENU from the ContextMenu passed in on Windows, but that HMENU was
later getting destroyed when the ContextMenu went out of scope.

I added a new ContextMenu::releasePlatformDescription method that is
used in setSubMenu instead. I think an ultimately better design would
be for setSubMenu to take ownership of the ContextMenu that's passed in
(as should insertItem and appendItem), but I decided to be conservative
and just make the changes needed to fix the bug.

Reviewed by Darin.

No test possible.

  • platform/ContextMenu.h: Added releasePlatformDescription.
  • platform/gdk/TemporaryLinkStubs.cpp: Added stub implementation.
  • platform/mac/ContextMenuMac.mm: (WebCore::ContextMenu::releasePlatformDescription): Implemented, though it's never called on this platform.
  • platform/qt/ContextMenuQt.cpp: (WebCore::ContextMenu::releasePlatformDescription): Ditto.
  • platform/win/ContextMenuItemWin.cpp: (WebCore::ContextMenuItem::setSubMenu): Call releasePlatformDescription since we need to take ownership of the HMENU.
  • platform/win/ContextMenuWin.cpp: (WebCore::ContextMenu::releasePlatformDescription): Implemented.
2:40 PM Changeset in webkit [25151] by mjs
  • 11 edits in trunk

LayoutTests:

Reviewed by Darin.

  • update for fix to <rdar://problem/5198272> REGRESSION: PLT 1.5% slower due to r21367 (change to start frames with empty documents)


No longer expect windowScriptObject delegate method in frames that never
use script.

  • http/tests/loading/bad-scheme-subframe-expected.txt:
  • http/tests/loading/bad-server-subframe-expected.txt:
  • http/tests/loading/empty-subframe-expected.txt:
  • http/tests/loading/slow-parsing-subframe-expected.txt:

WebCore:

Reviewed by Darin.

  • fixed <rdar://problem/5198272> REGRESSION: PLT 1.5% slower due to r21367 (change to start frames with empty documents)


There were three main cuases of extra time due to creating the initial empty document:


1) Creating an extra WebHTMLView and swapping it for a new one for each frame created.
2) Parsing the minimal markup for the initial document's contents.
3) Clearing the Window object an extra time and dispatching the corresponding delegate method.


The WebCore part of the fixes addresses 2 and 3.


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Don't parse "<html><body>" for the initial empty document; it turns out not to be needed. (WebCore::FrameLoader::dispatchWindowObjectAvailable): Don't dispatch the delegate if we haven't created a ScriptInterpreter yet.
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::initScriptIfNeeded): Dispatch the window object delegate when we first create the interpreter, since that is now done lazily.
  • loader/FrameLoader.h: (WebCore::FrameLoader::committingFirstRealLoad): Helper for WebKit to know when to reuse a WebHTMLView.

WebKit:

Reviewed by Darin.


  • fixed <rdar://problem/5198272> REGRESSION: PLT 1.5% slower due to r21367 (change to start frames with empty documents)

There were three main cuases of extra time due to creating the initial empty document:


1) Creating an extra WebHTMLView and swapping it for a new one for each frame created.
2) Parsing the minimal markup for the initial document's contents.
3) Clearing the Window object an extra time and dispatching the corresponding delegate method.


The WebKit part of the fixes addresses 1.

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::makeDocumentView): When switching from the initial empty document to the first real document, reuse the WebHTMLView.


It might actually be a significant performance improvement to always
reuse the WebHTMLView, but that is a much riskier change and not
needed to fix the regression right now.

11:26 AM Changeset in webkit [25150] by pewtermoose
  • 3 edits
    2 adds in trunk

LayoutTests:

2007-08-19 Mitz Pettel <mitz@webkit.org>

Reviewed by Adam Roben.

  • fast/images/text-content-crash-2-expected.txt: Added.
  • fast/images/text-content-crash-2.html: Added.

WebCore:

2007-08-19 Mitz Pettel <mitz@webkit.org>

Reviewed by Adam Roben.

Test: fast/images/text-content-crash-2.html

  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::setImage): Added a check that the renderer is an image. (WebCore::HTMLImageLoader::updateFromElement): Ditto. (WebCore::HTMLImageLoader::notifyFinished): Ditto.
10:10 AM Changeset in webkit [25149] by staikos
  • 2 edits in trunk/WebKitQt

Don't export ICO symbols

9:51 AM Changeset in webkit [25148] by ddkilzer
  • 1 edit
    2 adds in trunk/LayoutTests

LayoutTests:

Reviewed by Adam and Geoff within one minute of each other.

Tests that the '-apple-opacity', '-khtml-opacity' and '-webkit-opacity' styles
all map to the 'opacity' style.

  • fast/css/legacy-opacity-styles-expected.txt: Added.
  • fast/css/legacy-opacity-styles.html: Added.
5:07 AM Changeset in webkit [25147] by bdash
  • 2 edits in trunk/LayoutTests

2007-08-19 Mark Rowe <mrowe@apple.com>

Update expected results. The results that were landed with the test did not match the wording
in the test that was landed.

  • fast/encoding/namespace-tolerance-expected.txt:
4:13 AM Changeset in webkit [25146] by zecke
  • 2 edits in trunk/WebKitTools

2007-08-19 Oleg Sukhodolsky <son.two@gmail.com>

Reviewed by Mark.

-fixes http://bugs.webkit.org/show_bug.cgi?id=14632

  • Scripts/webkitdirs.pm: qt and gtk ports now explicitly pass debug (or release) mode to qmake.
1:05 AM Changeset in webkit [25145] by rwlbuis
  • 33 edits
    4 adds in branches/feature-branch

Reviewed by Nikolas.

http://bugs.webkit.org/show_bug.cgi?id=14926
WebKit has 'em' length handling problems related to CSS properties

Parse the properties in inline style attributes non-strict for SVG.

Aug 18, 2007:

10:15 PM Changeset in webkit [25144] by staikos
  • 3 edits in trunk/WebKitQt

Fix compilation

11:20 AM Changeset in webkit [25143] by zecke
  • 2 edits in trunk/WebKit/gtk

2007-08-18 Holger Hans Peter Freyther <zecke@selfish.org>

Build fix. Add const to the first parameter of createPlugin

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

Aug 17, 2007:

8:48 PM Changeset in webkit [25142] by mjs
  • 4 edits in trunk

WebCore:

Reviewed by Darin.

  • WebCore part of fix to scrollbar suppression hack for Leopard
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::transitionToCommitted): Suppress scrollbars earlier, so it happens before any potential view swap.

WebKit:

Reviewed by Darin.

  • WebKit part of fix to scrollbar suppression hack for Leopard
  • WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't call the superclass method when scrollbars are suppressed. (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): Instead call it here, when unsuppressing.
7:41 PM Changeset in webkit [25141] by bdash
  • 1 copy in tags/Safari-4523.1

New tag.

7:00 PM Changeset in webkit [25140] by aroben
  • 8 edits
    1 add in trunk/WebKit/win

Fix <rdar://5192578> Inspect Element should not appear in context menu in non-debug mode

We now follow the same logic as Mac WebKit for displaying the Inspect Element item:

1) If DisableWebKitDeveloperExtras is set to true, don't display it
2) If not, and we're in a debug build, display it
3) If not, and we're in a release build, display it if

WebKitDeveloperExtras is set to true

Reviewed by Ada.

  • Interfaces/IWebPreferencesPrivate.idl: Added.
  • WebKit.vcproj/Interfaces.vcproj: Add new IWebPreferencesPrivate.idl file to project.
  • WebKit.vcproj/WebKitGUID.vcproj: Added generated .c file for IWebPreferencesPrivate to project.
  • WebPreferenceKeysPrivate.h: Added new keys.
  • WebPreferences.cpp: Added IID_WebPreferences. (WebPreferences::postPreferencesChangesNotification): Added an explicit cast needed now that WebPreferences implements two interfaces. (WebPreferences::QueryInterface): Added new cases. (WebPreferences::setDeveloperExtrasEnabled): Added. (WebPreferences::developerExtrasEnabled): Added. (WebPreferences::developerExtrasDisabledByOverride): Added.
  • WebPreferences.h: Now implements IWebPreferencesPrivate.
  • WebView.cpp: (WebView::updateWebCoreSettingsFromPreferences): Call developerExtrasEnabled. (WebView::developerExtrasEnabled): Ported from -[WebView _developerExtrasEnabled].
  • WebView.h:
7:00 PM Changeset in webkit [25139] by aroben
  • 6 edits in trunk/WebKit/win

Add WebPreferences::sharedStandardPreferences

This is a convenience method to get the standard preferences object so
that within WebKit we don't have to deal with the fact that COM doesn't
support static methods.

Reviewed by Ada.

  • WebHistory.cpp: (WebHistory::WebHistory): Use sharedStandardPreferences.
  • WebIconDatabase.cpp: (WebIconDatabase::init): Ditto.
  • WebPreferences.cpp: (WebPreferences::sharedStandardPreferences): Added. (WebPreferences::getInstanceForIdentifier): Use sharedStandardPreferences. (WebPreferences::standardPreferences): Ditto.
  • WebPreferences.h:
  • WebView.cpp: (WebView::preferences): Ditto.
6:23 PM Changeset in webkit [25138] by darin
  • 3 edits in trunk/WebKitTools

Reviewed by Oliver Hunt.

  • don't look for Apple-style localizable strings in the GTK version of WebKit
  • Scripts/extract-localizable-strings: Add a feature where you can pass in the name of subdirectories to skip.
  • Scripts/update-webkit-localizable-strings: Pass WebKit/gtk as a subdirectory to skip.
6:08 PM Changeset in webkit [25137] by darin
  • 3 edits in trunk/WebKit

Reviewed by Maciej.

  • fix <rdar://problem/5414518> Use root URL as origin URL when quarantining downloads
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setOriginalURLForDownload): Extract only the scheme and host name and make the originating URL from that.
  • WebKit/StringsNotToBeLocalized.txt: Updated for recent changes.
5:04 PM Changeset in webkit [25136] by andersca
  • 3 edits in trunk/WebKit/gtk

Build fix.


  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::createPlugin):
  • WebCoreSupport/FrameLoaderClientGtk.h:
5:01 PM Changeset in webkit [25135] by thatcher
  • 1 edit in trunk/WebKit/WebView/WebHTMLView.mm

Fix a spelling mistake.

4:53 PM Changeset in webkit [25134] by thatcher
  • 3 edits in trunk/WebKit

Reviewed by Darin.

<rdar://problem/5398301> Xcode threw mutation exception while enumerating subviews (GC only)

I was never able to reproduce this exception. But there can be cases where layout will
trigger JavaScript or plugin code that can modify the WebView view hierarchy during a
recursive enumeration of all the subviews.

This patch does two things:
1) Adds a check in debug builds that will LOG when any view is added or removed during layout.
Noting that added views will not recieve layout this round and might paint without first recieving layout.

2) Recursivly builds up an array of descendant WebHTMLViews before calling layout on them.
This matches the behavior of makeObjectsPerformSelector: in the non-GC case (making a copy
before enumerating.)

  • WebView/WebHTMLView.mm: (-[WebHTMLView _web_setPrintingModeRecursive]): Use _web_addDescendantWebHTMLViewsToArray to build up an array of WebHTMLViews to enumerate. (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto. (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto. (-[WebHTMLView _web_layoutIfNeededRecursive]): Ditto. (-[WebHTMLView _layoutIfNeeded]): Moved to WebHTMLViewFileInternal category. (-[WebHTMLView didAddSubview:]): LOG in debug builds. (-[WebHTMLView willRemoveSubview:]): Ditto. (-[NSView _web_addDescendantWebHTMLViewsToArray:]): Recursivly build an array of descendant WebHTMLViews.
  • WebView/WebHTMLViewInternal.h: Added a BOOL in WebHTMLViewPrivate to track subview changes (debug only.)
4:45 PM Changeset in webkit [25133] by andersca
  • 2 edits in trunk/WebKitTools

Build fix.


  • DumpRenderTree/TestNetscapePlugIn.subproj/main.c: (NPP_SetWindow):
4:29 PM Changeset in webkit [25132] by antti
  • 7 edits
    2 adds in trunk

LayoutTests:

Reviewed by Hyatt.

Test for <rdar://problem/5403773>
CrashTracer: [USER] 88 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 846


Changed results for fast/dynamic/containing-block-change.html are progression
(even though new results don't match Firefox and old ones did!)

  • fast/dynamic/ancestor-to-absolute-expected.txt: Added.
  • fast/dynamic/ancestor-to-absolute.html: Added.
  • fast/dynamic/containing-block-change-expected.checksum:
  • fast/dynamic/containing-block-change-expected.png:
  • fast/dynamic/containing-block-change-expected.txt:

WebCore:

Reviewed by Hyatt.


Fix <rdar://problem/5403773>
CrashTracer: [USER] 88 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 846

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::removePositionedObjects):


Fix crash in http://www.infobae.com/interior/home.html
Positioned objects removed from m_positionedObjects would in some cases not get added back to any
positioned objects list. Adding objects happens in block layout but since layout was not invalidated
correctly in removePositionedObjects() it would not get invoked. As a result some positioned objects
would stay in layout dirty state leading to crashes and other bad things.


  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paint):


Add needLayout() guard to eliminate this class of crashes from release builds.
Assert commented out for now since one existing layout test can't handle it.

3:58 PM Changeset in webkit [25131] by andersca
  • 3 edits in trunk/WebKit/win

Build fix.


  • WebFrame.cpp: (WebFrame::createPlugin):
  • WebFrame.h:
3:48 PM Changeset in webkit [25130] by kdecker
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Darin.

<rdar://problem/5252836> Adobe Help Viewer: Japanese characters in the Help Tree structure are shown as garbage
This test ensures a UTF-8 encoding is properly set. The code tests compatibility of documents which:

(1) use namespace prefixes on HTML elements
(2) specify a non-latin charset
(3) contain non-latin characters


If this test passes, the UTF-8 character below should exactly match the character the character in namespace-tolerance-expected.txt.

  • fast/encoding/namespace-tolerance-expected.txt: Added.
  • fast/encoding/namespace-tolerance.html: Added.
3:45 PM Changeset in webkit [25129] by kdecker
  • 2 edits in trunk/WebCore

2007-08-17 Kevin Decker <kdecker@apple.com>

Code change by Darin, landed and reviewed by me.

Fixed: <rdar://problem/5252836> Adobe Help Viewer: Japanese characters in the Help Tree structure are shown as garbage
Added fast/encoding/namespace-tolerance.html test.

  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForHeadCharset): Slightly loosen the charset decoder heuristic by tweaking it to ignore namespaces. This restores compatibility to documents which (1) use namespace prefixes on HTML elements (2) specify a non-latin charset and (3) contain non-latin characters.


Added fast/encoding/namespace-tolerance.html test.

3:12 PM Changeset in webkit [25128] by andersca
  • 21 edits
    2 adds in trunk

LayoutTests:

Reviewed by Dave Hyatt.

<rdar://problem/5379040>
REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes


Add test.


  • plugins/netscape-plugin-setwindow-size-expected.txt: Added.
  • plugins/netscape-plugin-setwindow-size.html: Added.

WebCore:

Reviewed by Dave Hyatt.


<rdar://problem/5379040>
REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes

Instantiate plug-ins during the first layout instead of doing so when creating the renderer.
This ensures that the plug-in widget will have a correct initial size.


  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::getInstance): Force a layout if the plug-in doesn't have an instance.


(WebCore::HTMLEmbedElement::attach):
Pass true to updateWidget, causing it to only create a widget if it won't be a plug-in.


  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::attach): Pass false to updateWidget, this will only create subframes anyway.


  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::getInstance): Force a layout if the plug-in doesn't have an instance.


(WebCore::HTMLObjectElement::attach):
Pass true to updateWidget, causing it to only create a widget if it won't be a plug-in.


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadPlugin): Get the size from the renderer and pass it to the client.


  • loader/FrameLoaderClient.h:
  • page/mac/WebCoreFrameBridge.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::createPlugin): Update declarations.


  • rendering/RenderPart.cpp: (WebCore::RenderPart::setWidget): No need to mark the renderer as dirty here.


  • rendering/RenderPartObject.h:
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Add a parameter, onlyCreateNonPlugins. If this is true the widget will only be created if it's not a plug-in.


(WebCore::RenderPartObject::layout):
Call updateWidget here if m_widget is 0, causing the plug-in to be instantiated.

WebKit:

Reviewed by Dave Hyatt.

<rdar://problem/5379040>
REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes


Pass the right size when creating the views.


  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin):

WebKitTools:

Reviewed by Dave Hyatt.

<rdar://problem/5379040>
REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes

Add a way for the plug-in to dump the width and height when it gets its NPP_SetWindow call.


  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.c: (pluginAllocate):
  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.h:
  • DumpRenderTree/TestNetscapePlugIn.subproj/main.c: (NPP_New): (NPP_SetWindow):
1:50 PM Changeset in webkit [25127] by zbujtas
  • 3 edits in S60/trunk/WebCore

rathnasa, reviewed by Zbujtas

DESC: TSW Id SJUN-73XBVC document.write does not work in onload, onclick events
http://bugs.webkit.org/show_bug.cgi?id=14915

WARNING: NO TEST CASES ADDED OR CHANGED

1:48 PM Changeset in webkit [25126] by zbujtas
  • 3 edits in S60/branches/3.1m/WebCore

2007-08-09 rathnasa <sornalatha.rathnasamy@nokia.com>

Reviewed by zbujtas
DESC: TSW Id SJUN-73XBVC document.write does not work in onload, onclick events

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

1:10 PM Changeset in webkit [25125] by oliver
  • 1 edit in trunk/WebCore/ChangeLog

Correct ChangeLog to reference correct person

1:42 AM Changeset in webkit [25124] by oliver
  • 4 edits
    2 adds in trunk

LayoutTests:

Reviewed by Maciej.

Simple test to ensure we don't crash when creating a pattern

  • fast/canvas/create-pattern-does-not-crash-expected.txt: Added.
  • fast/canvas/create-pattern-does-not-crash.html: Added.

WebCore:

Reviewed by Maciej.

http://bugs.webkit.org/show_bug.cgi?id=14189
<rdar://problem/5319511> REPRODUCIBLE CRASH: Canvas createPattern(canvas, ...) crashes on Windows (14189)

Ensure that we actually retain the CG pattern correctly.

Credit to Philip Taylor <excors@gmail.com> for finding the cause of this.

  • html/CanvasPattern.cpp: (WebCore::CanvasPattern::~CanvasPattern): (WebCore::CanvasPattern::createPattern):
  • html/CanvasPattern.h: (WebCore::CanvasPattern::platformImage):

Aug 16, 2007:

11:49 PM Changeset in webkit [25123] by rwlbuis
  • 4 edits
    4 adds in branches/feature-branch

Reviewed by Oliver.

http://bugs.webkit.org/show_bug.cgi?id=14927
use element in SVG does not render after parent is displayed off and on

Also detach the shadow tree when detaching the <use>.

10:29 PM Changeset in webkit [25122] by bdash
  • 4 edits in trunk

Versioning.

10:20 PM Changeset in webkit [25121] by bdash
  • 2 edits in tags/Safari-5523.1/JavaScriptCore

Merge r25078.

Reviewed by Sam.

  • fix <rdar://problem/5410570> Global initializer introduced by use of std::numeric_limits in r24919
  • kjs/ustring.cpp: (KJS::overflowIndicator): Turned into a function. (KJS::maxUChars): Ditto. (KJS::allocChars): Use the functions. (KJS::reallocChars): Ditto. (KJS::UString::expandedSize): Ditto.
10:20 PM Changeset in webkit [25120] by bdash
  • 5 edits
    4 adds in tags/Safari-5523.1

Merge r25076.

LayoutTests:

Reviewed by Tim.

<rdar://problem/5408255> REGRESSION: In Mail, clicking the containing element's UI closebox doesn't delete element

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

WebCore:

Reviewed by Tim.

<rdar://problem/5408255> REGRESSION: In Mail, clicking the containing element's UI closebox doesn't delete element

  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::show): Use -webkit-user-select:ignore for the deletion UI.

WebKitTools:

Reviewed by Tim.

<rdar://problem/5408255> REGRESSION: In Mail, clicking the containing element's UI closebox doesn't delete element

  • DumpRenderTree/EditingDelegate.m: (-[EditingDelegate webView:shouldShowDeleteInterfaceForElement:]): Added, return YES only for elements with the class needsDeletionUI.
10:19 PM Changeset in webkit [25119] by bdash
  • 27 edits in tags/Safari-5523.1/WebCore

Merge r25098.

Reviewed by Hyatt.

Rolling back in. I made a silly mistake in XMLTokenizer that caused
this patch to crash SVG tests. It's fixed now!

Refactor of change for <rdar://problem/5404899> REGRESSION: Mail
crash in WebCore::FontFallbackList::fontDataAt() after dragging
image into text multiple times

The original fix that I made last night prevents the pending style
sheet count from being incremented until the element is in the
document. This fix prevents the style sheet from loading at all
until it is in the document.

Here is the fix.

  • dom/StyleElement.cpp: (WebCore::StyleElement::insertedIntoDocument): Call process. (WebCore::StyleElement::removedFromDocument): This can be reverted to its original state before my patch last night. (WebCore::StyleElement::process): childrenChanged is now called process. Return early if your not in the document. (WebCore::StyleElement::createSheet): Revert change from last night. The inDocument check is now in caller childrenChanged.
  • dom/StyleElement.h: insertedIntoDocument() must now accept an element in addition to a document.

This is an optimization to prevent calling updateStyleSelector()
too frequently.

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::startElementNs):
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement): (WebCore::HTMLStyleElement::finishedParsing): (WebCore::HTMLStyleElement::insertedIntoDocument): (WebCore::HTMLStyleElement::childrenChanged): (WebCore::HTMLStyleElement::sheetLoaded):
  • html/HTMLStyleElement.h:
  • ksvg2/svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::SVGStyleElement): (WebCore::SVGStyleElement::finishedParsing): (WebCore::SVGStyleElement::insertedIntoDocument): (WebCore::SVGStyleElement::childrenChanged): (WebCore::SVGStyleElement::sheetLoaded):
  • ksvg2/svg/SVGStyleElement.h: (WebCore::SVGStyleElement::setCreatedByParser):

This is a name change. Document::stylesheetLoaded()
is now Document::removePendingSheet()

  • dom/Document.cpp: (WebCore::Document::removePendingSheet):
  • dom/Document.h:
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::sheetLoaded):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::~HTMLLinkElement): (WebCore::HTMLLinkElement::setDisabledState): (WebCore::HTMLLinkElement::process): (WebCore::HTMLLinkElement::sheetLoaded):
  • page/Frame.cpp: (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): (WebCore::UserStyleSheetLoader::setCSSStyleSheet):

This is another name change. closeRenderer() is now
finishedParsing()

  • dom/Node.h: (WebCore::Node::finishedParsing):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::endElementNs): (WebCore::):
  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::finishedParsing):
  • html/HTMLAppletElement.h:
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLFormControlElementWithState::finishedParsing):
  • html/HTMLGenericFormElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::finishedParsing):
  • html/HTMLObjectElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode): (WebCore::HTMLParser::popOneBlockCommon):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::finishedParsing):
  • html/HTMLScriptElement.h: (WebCore::HTMLStyleElement::setCreatedByParser):
  • ksvg2/svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::finishedParsing):
  • ksvg2/svg/SVGAnimationElement.h:
  • ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::finishedParsing):
  • ksvg2/svg/SVGElement.h:
10:19 PM Changeset in webkit [25118] by bdash
  • 4 edits in tags/Safari-5523.1/WebCore

Merge r25068.

Reviewed by Maciej.

Fix for <rdar://problem/5404899> REGRESSION: Mail crash in
WebCore::FontFallbackList::fontDataAt() after dragging image into
text multiple times

We were crashing because style information was not up-to-date. This
patch fixes the problem in two ways:

Style information was not up to date at the time of the crash
because the document thought there was still a pending style sheet.
The pending style sheet counter was incremented when a call to
cloneNode from Mail cloned a style node with an imported style
sheet. Because Mail disables the cache, the style sheet did not
load immediately for the cloned node, and we do not check again to
see if it has loaded in time to decrement the pending style sheet
counter before the crash point. The fix here is only to increment
the pending style sheet counter for elements that are already in
the document.

  • dom/StyleElement.cpp: (WebCore::StyleElement::insertedIntoDocument): If we have a CSS style sheet that is currently loading, increment the pending style sheet counter. This should keep the counter accurate in the case where a style node is cloned and then immediately inserted into the document. (WebCore::StyleElement::removedFromDocument): If we have a CSS style sheet that is currently loading, decrement the pending style sheet count. This is required to keep the correct balance, given the change above. (WebCore::StyleElement::createSheet): Only addPendingSheet() and checkLoaded() if we are in the document.

Here is Darin's original fix. It seems worth keeping this fix too.
Font style information should not cause a crash if there are still
pending style sheets. This is good belt-and-suspenders in case
there is another way to run into this bug with a wacky timing
issue.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement): Update the font.
10:08 PM Changeset in webkit [25117] by bdash
  • 1 copy in tags/Safari-5523.1

New tag.

8:10 PM Changeset in webkit [25116] by ggaren
  • 2 edits in trunk/WebCore

Build fix. (Maybe?)


  • loader/Cache.cpp: (WebCore::Cache::pruneLiveResources): (WebCore::Cache::pruneDeadResources):
5:29 PM Changeset in webkit [25115] by justing
  • 5 edits
    6 adds in trunk

LayoutTests:

Reviewed by Harrison.


<rdar://problem/5378473> Undoing a deletion that is part of an open typing command fails to reinsert the caret

  • editing/undo/5378473.html: Added.
  • platform/mac/editing: Added.
  • platform/mac/editing/undo: Added.
  • platform/mac/editing/undo/5378473-expected.checksum: Added.
  • platform/mac/editing/undo/5378473-expected.png: Added.
  • platform/mac/editing/undo/5378473-expected.txt: Added.

WebCore:

Reviewed by Harrison.

<rdar://problem/5378473>
REGRESSION: Undoing a deletion that is part of an open typing command fails to reinsert the caret


We recently made Undo of a series of deletes select all of the
characters that were deleted, not just the most recently deleted
character. But the code that did this set a new starting selection
after every delete, even those that were part of an open typing
command that started with character insertions or forward deletes,
operations that when undone, remove the starting selection being
set from the document.


After this change we only set a new starting selection if the open typing
command was opened by a backward delete. The new behavior matches TextEdit.
We don't do something similar or forward deletes because TextEdit opens
and closes a new typing command on forward delete (added a FIXME about this).

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::TypingCommand): Initialize m_openedByBackwardDelete. (WebCore::TypingCommand::forwardDeleteKeyPressed): Added a FIXME about how in TextEdit, forward deletes open and close a new typing command. (WebCore::TypingCommand::doApply): Set m_openedByBackwardDelete appropriately. (WebCore::TypingCommand::deleteKeyPressed): Only set the starting selection if this delete is the first one in an open typing command or one in a series of deletes that opened the typing command.
  • editing/TypingCommand.h: Added m_openedByBackwardDelete.
4:43 PM Changeset in webkit [25114] by ggaren
  • 12 edits in trunk

WebCore:

Reviewed by Dave Hyatt.


Tweaked the cache eviction model to better balance between live and
dead resources.


For the sake of avoiding evictions during the PLT, the old model
required the sum of dead and live resources to grow to twice the cache
capacity before evicting, and would then evict dead or live down to 0
if necessary. This was a too-high high water mark, which would nullify
much of the value of eviction, and a too-low low water mark, which
would nullify much of the value of the LRU-SP strategy.


This patch changes the model in 3 ways.


  1. The new model for dead resources is a flexible window with a fixed minimum and maximum. The dead resource window is big when live resource pressure is small, and vice versa. This has the immediate advantage of cutting the high water mark by up to 50%. It also enables the following tunable optimizations in future patches:
    1. A dead resource limit of 0 for clients who want that. (Just set the fixed maximum to 0.)
    2. A much higher low water mark. (Just set the fixed minimum to, say, 25% of the cache's capacity.)
    3. A much lower high water mark for users who browse simple pages in one tab. (Just set the fixed maximum to, say, 50% of the cache's capacity.)


I plan to make the changes that actually take advantage of these
tunable optimizations in another check-in.

The new model won't hurt the PLT because it will notice the PLT's low
live resource size, and up the dead resource capacity in response. For
the same reason, the new model should establish a good balance in
real-world use.


  1. Live resource eviction is now based on size(), not encodedSize(). So, a page with lots of large, encoded images will start evicting resources, if necessary, even before all the images paint. This allows you to more accurately stipulate an exact high water mark.


  1. When pruning, prune to a small percentage below capacity, to avoid just having to prune again immediately.

Layout tests pass. PLT shows no regression.

  • history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow): Updated for rename.
  • loader/Cache.cpp: Implemented the algorithm explained above.
  • loader/Cache.h: Removed explicit tracking of decoded data size, since it was unused.
  • loader/CachedResource.cpp: ditto on tracking of decoded data size

WebKit:

Reviewed by Dave Hyatt.


WebKit changes to support new cache eviction model in WebCore.

  • WebView/WebPreferences.m: (+[WebPreferences initialize]): Modified to reflect new API in WebCore.
  • WebView/WebView.mm: (+[WebView _initializeCacheSizesIfNecessary]): Slightly increased cache size on low memory systems to avoid affecting the PLT for now.

win:

Reviewed by Dave Hyatt.

WebKit changes to support new cache eviction model in WebCore.

  • WebPreferences.cpp: (WebPreferences::initialize):
  • WebView/WebPreferences.m: Modified to reflect new API in WebCore.
  • WebView.cpp: (WebView::initializeCacheSizesIfNecessary): Slightly increased cache size on low memory systems to avoid affecting the PLT for now.
4:12 PM Changeset in webkit [25113] by aliceli1
  • 2 edits in trunk/LayoutTests

Removed a fixed test from the skip list. r25112 fixed this test.

  • platform/mac-leopard/Skipped:
4:09 PM Changeset in webkit [25112] by aliceli1
  • 2 edits in trunk/WebKitTools

Reviewed by Maciej.

Fix <rdar://problem/5360135> REGRESSION (Leopard only): editing/selection/5354455-1.html is causing subsequent tests to fail

  • DumpRenderTree/DumpRenderTree.m: (createWebView): Create a DumpRenderTreeWindow instead of a NSWindow, now that a DumpRenderTreeWindow no longer poses as a NSWindow. (dumpRenderTree): Don't pose as a NSWindow, since when the spelling panel gets created, it creates an NSWindow which ends up creating a DumpRenderTreeWindow.
1:50 PM Changeset in webkit [25111] by bdakin
  • 2 edits in trunk/LayoutTests

Reviewed by Hyatt.

Changing this test to get it to pass again after http://
trac.webkit.org/projects/webkit/changeset/25098

The test is changing because our new behavior seems correct, though
not completely consistent. http://bugs.webkit.org/show_bug.cgi?
id=14979 is tracking the fact that the behavior is not consistent
regarding style elements that are not in the document.

  • fast/css/css-selector-text.html:
12:05 PM Changeset in webkit [25110] by kmccullo
  • 3 edits
    5 adds in trunk

LayoutTests:

Reviewed by Adam.

  • Added tests for regressions in other components. In this case we also need to add a skipped list for Tiger since this functionality didn't exist in 10.4.
  • fast/cookies: Added.
  • fast/cookies/local-file-can-set-cookies-expected.txt: Added.
  • fast/cookies/local-file-can-set-cookies.html: Added.
  • platform/mac-tiger: Added.
  • platform/mac-tiger/Skipped: Added.

WebKitTools:

Reviewed by Adam.

  • Added tests for regressions in other components. In this case we also need to add a skipped list for Tiger since this functionality didn't exist in 10.4.
  • Scripts/run-webkit-tests:
11:52 AM Changeset in webkit [25109] by darin
  • 3 edits in trunk/WebCore

Reviewed by Tim Hatcher.

  • fix <rdar://problem/5415029> In Mail, a crash occurs at WebCore::Node::isDescendantOf() when attempting to delete a selection in a table

The bug was caused by createMarkup trying to operate on a range that
has an endpoint in the delete button DOM, because it removes that DOM
during its operation! Still working on a regression test -- it's hard
to make the kind of bad selection that's needed with the DOM, so I might
have to use the eventSender.

  • editing/DeleteButtonController.h: Made some of the identifiers private. We can make them public if we need to use them. Added a getter function for the container element so we can figure out if a given node is inside the DOM added for the delete button.
  • editing/markup.cpp: (WebCore::moveEndpointsBeforeNode): Added. General purpose helper function that moves endpoints of a range to before a given node -- we do this before removing the delete button, so the endpoint is where the delete button was, rather than having an endpoint that's not in the document. (WebCore::createMarkup): Always return empty string, not null string. Get the document by calling ownerDocument on the range rather than getting the document of the commonAncestorContainer. That's because we need to get at the delete button before calling commonAncestorContainer. Call moveEndpointsBeforeNode to move the range endpoints out of the delete button interface before calling disable() which will remove it from the DOM if it's in there. Added an early return for the case where commonAncestor is non-0. If this happens, we would crash later because pastEndNode would not be in the tree. This change alone would prevent the crash, but we'd get bad markup, so we need the moveEndpointsBeforeNode fix. Added null checks for the frame to the range version as in the single-node version so this won't crash immediately on documents that are not in a frame. For the single-node version, added a check if a ndoe of 0 and a node inside the delete button user interface, and return the empty string for those cases.
11:51 AM Changeset in webkit [25108] by justing
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Maciej.


<rdar://problem/5378847>
After creating and removing a ToDo, the caret disappears as soon as I start to type

  • editing/inserting/5378847-expected.txt: Added.
  • editing/inserting/5378847.html: Added.

WebCore:

Reviewed by Maciej.


<rdar://problem/5378847> After creating and removing a ToDo, the caret disappears as soon as I start to type


  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input): A whitespace text node inserted by Mail when a ToDo is removed is completely removed by deleteInsignificantWhitespace, and since it contains the text insertion position, insertion fails. Save the position before the node where text insertion will occur, and if that node is removed, use the saved position for insertion.
9:29 AM Changeset in webkit [25107] by darin
  • 11 edits in trunk/WebCore

Reviewed by Adele.

  • fix <rdar://problem/5413488> REGRESSION: every DOM element is about 40 bytes bigger because it has a Timer

Moved the timer to the document from the element.

  • dom/Document.h: Made frame() inline. Added updateFocusApperanceSoon(), cancelFocusAppearanceUpdate(), m_updateFocusAppearanceTimer, clearXMLVersion(), and updateFocusAppearanceTimerFired(). Also made everything that was previously protected be private instead.
  • dom/Document.cpp: (WebCore::Document::Document): Initialize m_updateFocusAppearanceTimer. (WebCore::Document::updateFocusAppearanceSoon): Added. Starts timer. (WebCore::Document::cancelFocusAppearanceUpdate): Added. Stops timer. (WebCore::Document::updateFocusAppearanceTimerFired): Added. If the focused node is a focusable element, then calls updateFocusAppearance(false) on it.
  • dom/Element.h: Removed default value of the boolean parameter to updateFocusAppareance. Removed needsFocusAppearanceUpdate(), setNeedsFocusAppearanceUpdate(), updateFocusAppearanceTimerFired(), stopUpdateFocusAppearanceTimer(), m_updateFocusAppearanceTimer, and m_needsFocusAppearanceUpdate. Added updateFocusAppearanceSoonAfterAttach() and cancelFocusAppearanceUpdate().
  • dom/Element.cpp: (WebCore::ElementRareData::ElementRareData): Added initializer for m_needsFocusAppearanceUpdateSoonAfterAttach. (WebCore::Element::Element): Removed initializers for m_updateFocusAppearanceTimer and m_needsFocusAppearanceUpdate. (WebCore::Element::attach): Updated code that starts the focus appearance timer to instead call updateFocusAppearanceSoon() on the document. (WebCore::Element::detach): Replaced call to stopUpdateFocusAppearanceTimer with call to cancelFocusAppearanceUpdate. (WebCore::Element::focus): Added check for node that's already focused, to match the logic that's in the derived classes. This makes it safe for us to remove the override in the derived classes. Also replaced the code that called setNeedsFocusAppearanceUpdate(true) with code to set the rare data flag m_needsFocusAppearanceUpdateSoonAfterAttach and added a call to cancelFocusAppearanceUpdate() in the case where there's no focus appearance update. (WebCore::Element::blur): Replaced call to stopUpdateFocusAppearanceTimer with call to cancelFocusAppearanceUpdate. (WebCore::Element::cancelFocusAppearanceUpdate): Added. Sets m_needsFocusAppearanceUpdateSoonAfterAttach to false, and then calls cancelFocusAppearanceUpdate() on the document, but only if the element is the focused node of the document.
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::HTMLDocument): Replaced code that sets m_xmlVersion directly with a call to a new inline clearXMLVersion() function. (WebCore::HTMLDocument::setCookie): Replaced use of m_policyBaseURL with policyBaseURL(). (WebCore::HTMLDocument::createTokenizer): Replaced uses of m_frame with frame(). (WebCore::HTMLDocument::determineParseMode): Replaced code that sets pMode and hMode directly with calls to setParseMode and setHTMLMode. Replaced use of m_styleSelector with styleSelector().
  • html/HTMLInputElement.h: Removed now-unneed override of focus(). Removed default value of the boolean parameter to updateFocusAppareance.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::updateFocusAppearance): Pass the restorePreviousSelection boolean through -- while it's ignored, it no longer has a default value.
  • html/HTMLTextAreaElement.h: Removed now-unneed override of focus(). Removed default value of the boolean parameter to updateFocusAppareance.
  • html/HTMLTextAreaElement.cpp: Ditto.
  • WebCore.exp: Removed the Document::frame() symbol, since it's now inline.
9:13 AM Changeset in webkit [25106] by antti
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Maciej.


Test for <rdar://problem/5388936>
Crash while setting display:none for a table cell with selection

  • fast/table/destroy-cell-with-selection-crash-expected.txt: Added.
  • fast/table/destroy-cell-with-selection-crash.html: Added.

WebCore:

Reviewed by Maciej.


Fix <rdar://problem/5388936>
Crash while setting display:none for a table cell with selection


Super class destroy() could (through some selection code in removeChild()) trigger section recalc
in middle of RenderTableCell::destroy(), cleaning section dirty bit. This would later crash in
layout since cell grid would still have refence to the dead cell.


Ensure table sections are dirty when leaving destroy method.


I can't figure out tests for row and section changes but they look like
they could crash in similar way as cell.

  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::destroy):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::destroy):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::destroy):

Aug 15, 2007:

10:17 PM BuildingOnWindows edited by kevino@theolliviers.com
Added note about copying dlls to get tests running. (diff)
9:34 PM Changeset in webkit [25105] by mjs
  • 2 edits in trunk/WebCore/platform/graphics

2007-08-15 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.

<rdar://problem/5389696> leak of 32-byte NSData object (and more?) in WebIconDatabase code path with each refresh of http://www.apple.com


  • platform/graphics/BitmapImage.h: Use RetainPtr for m_nsImage and m_tiffRep
  • platform/graphics/mac/ImageMac.mm: (WebCore::BitmapImage::initPlatformData): No need to do anything now (WebCore::BitmapImage::invalidatePlatformData): Simplify (WebCore::BitmapImage::getTIFFRepresentation): Use RetainPtr to avoid leaks (WebCore::BitmapImage::getNSImage): Use RetainPtr to avoid leaks
8:56 PM Changeset in webkit [25104] by mjs
  • 1 edit in trunk/WebCore/ChangeLog

Reviewed by Geoff.

<rdar://problem/5389696> leak of 32-byte NSData object (and more?) in WebIconDatabase code path with each refresh of http://www.apple.com


  • platform/graphics/BitmapImage.h: Use RetainPtr for m_nsImage and m_tiffRep
  • platform/graphics/mac/ImageMac.mm: (WebCore::BitmapImage::initPlatformData): No need to do anything now (WebCore::BitmapImage::invalidatePlatformData): Simplify (WebCore::BitmapImage::getTIFFRepresentation): Use RetainPtr to avoid leaks (WebCore::BitmapImage::getNSImage): Use RetainPtr to avoid leaks
8:10 PM Changeset in webkit [25103] by darin
  • 7 edits in trunk/WebCore

Reviewed by Anders.

  • fix <rdar://problem/5094895> REGRESSION (r19094): JavaScript timers don't work inside showModalDialog; caret also doesn't blink
  • platform/Timer.h: Added fireTimersInNestedEventLoop.
  • platform/Timer.cpp: (WebCore::TimerBase::fireTimers): Added code to exit if the timersReadyToFire is cleared. This indicates that someone fired the timers in the nested event loop, so we should not fire any more timers ourselves. (WebCore::TimerBase::fireTimersInNestedEventLoop): Added. Sets timersReadyToFire to 0 so we won't return early and do nothing if the shared timer first. Then calls updateSharedTimer() so the shared timer will get scheduled as needed based on any pending timers.
  • page/Chrome.cpp: (WebCore::Chrome::runModal): Call fireTimersInNestedEventLoop before calling runModal on the client.
  • manual-tests/modal-dialog.html: Added a test that uses a timeout.
  • manual-tests/show-modal-dialog-test.html: Fixed a typo.
4:27 PM Changeset in webkit [25102] by thatcher
  • 12 edits in trunk/WebKit

Reviewed by Darin.

<rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized

HIWebViewCreate now just returns a HIViewRef created with HICocoaViewCreate. This eliminates lots of old code and
makes HIWebView a better citizen starting with Leopard. The old code paths are still needed for Tiger, so now
most of the files in the WebKit/Carbon directory are #ifdef BUILDING_ON_TIGER.

The Tiger code is unchanged and dosen't exhibit the invalidation problem when the window resizes.

  • Carbon/CarbonUtils.m: (WebInitForCarbon): #ifdef BUILDING_ON_TIGER portions of this code that is not needed on Leopard.
  • Carbon/CarbonWindowAdapter.h: #ifdef BUILDING_ON_TIGER
  • Carbon/CarbonWindowAdapter.m: Ditto.
  • Carbon/CarbonWindowContentView.h: Ditto.
  • Carbon/CarbonWindowContentView.m: Ditto.
  • Carbon/CarbonWindowFrame.h: Ditto.
  • Carbon/CarbonWindowFrame.m: Ditto.
  • Carbon/HIViewAdapter.h: Ditto.
  • Carbon/HIViewAdapter.m: Ditto.
  • Carbon/HIWebView.h: Consolidate two #ifdef OBJC blocks into one.
  • Carbon/HIWebView.m: Implement Leopard specific HIWebViewCreate, HIWebViewCreateWithClass and HIWebViewGetWebView. (HIWebViewCreate): Call HIWebViewCreateWithClass passing [WebView class]. (HIWebViewCreateWithClass): Call HICocoaViewCreate with an instance of the class passed in. (HIWebViewGetWebView): Call HICocoaViewGetView.
2:29 PM Changeset in webkit [25101] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.


http://bugs.webkit.org/show_bug.cgi?id=14971
REGRESSION: cannot select reporter's e-mail in bugzilla


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

WebCore:

Reviewed by Darin.


http://bugs.webkit.org/show_bug.cgi?id=14971
REGRESSION: cannot select reporter's e-mail in bugzilla

  • page/EventHandler.cpp: (WebCore::EventHandler::canMouseDragExtendSelect): Allow drag-selecting inside a -webkit-user-select:ignore region.
1:47 PM Changeset in webkit [25100] by darin
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore.make

Clear a stray executable bit.

1:10 PM Changeset in webkit [25099] by bdakin
  • 1 edit
    2 adds in trunk/LayoutTests

Test for new support of empty style sheets.

  • fast/css/emptyStyleTag-expected.txt: Added.
  • fast/css/emptyStyleTag.html: Added.
1:04 PM Changeset in webkit [25098] by bdakin
  • 27 edits in trunk/WebCore

Reviewed by Hyatt.

Rolling back in. I made a silly mistake in XMLTokenizer that caused
this patch to crash SVG tests. It's fixed now!

Refactor of change for <rdar://problem/5404899> REGRESSION: Mail
crash in WebCore::FontFallbackList::fontDataAt() after dragging
image into text multiple times

The original fix that I made last night prevents the pending style
sheet count from being incremented until the element is in the
document. This fix prevents the style sheet from loading at all
until it is in the document.

Here is the fix.

  • dom/StyleElement.cpp: (WebCore::StyleElement::insertedIntoDocument): Call process. (WebCore::StyleElement::removedFromDocument): This can be reverted to its original state before my patch last night. (WebCore::StyleElement::process): childrenChanged is now called process. Return early if your not in the document. (WebCore::StyleElement::createSheet): Revert change from last night. The inDocument check is now in caller childrenChanged.
  • dom/StyleElement.h: insertedIntoDocument() must now accept an element in addition to a document.

This is an optimization to prevent calling updateStyleSelector()
too frequently.

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::startElementNs):
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement): (WebCore::HTMLStyleElement::finishedParsing): (WebCore::HTMLStyleElement::insertedIntoDocument): (WebCore::HTMLStyleElement::childrenChanged): (WebCore::HTMLStyleElement::sheetLoaded):
  • html/HTMLStyleElement.h:
  • ksvg2/svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::SVGStyleElement): (WebCore::SVGStyleElement::finishedParsing): (WebCore::SVGStyleElement::insertedIntoDocument): (WebCore::SVGStyleElement::childrenChanged): (WebCore::SVGStyleElement::sheetLoaded):
  • ksvg2/svg/SVGStyleElement.h: (WebCore::SVGStyleElement::setCreatedByParser):

This is a name change. Document::stylesheetLoaded()
is now Document::removePendingSheet()

  • dom/Document.cpp: (WebCore::Document::removePendingSheet):
  • dom/Document.h:
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::sheetLoaded):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::~HTMLLinkElement): (WebCore::HTMLLinkElement::setDisabledState): (WebCore::HTMLLinkElement::process): (WebCore::HTMLLinkElement::sheetLoaded):
  • page/Frame.cpp: (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): (WebCore::UserStyleSheetLoader::setCSSStyleSheet):

This is another name change. closeRenderer() is now
finishedParsing()

  • dom/Node.h: (WebCore::Node::finishedParsing):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::endElementNs): (WebCore::):
  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::finishedParsing):
  • html/HTMLAppletElement.h:
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLFormControlElementWithState::finishedParsing):
  • html/HTMLGenericFormElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::finishedParsing):
  • html/HTMLObjectElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode): (WebCore::HTMLParser::popOneBlockCommon):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::finishedParsing):
  • html/HTMLScriptElement.h: (WebCore::HTMLStyleElement::setCreatedByParser):
  • ksvg2/svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::finishedParsing):
  • ksvg2/svg/SVGAnimationElement.h:
  • ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::finishedParsing):
  • ksvg2/svg/SVGElement.h:
11:45 AM Changeset in webkit [25097] by thatcher
  • 2 edits in trunk/WebKitTools

Look for the new Xcode 3 preference key (PBXApplicationwideBuildSettings) for the global build locations.
The value of PBXApplicationwideBuildSettings is a dictionary, so we have to pull the SYMROOT out of it.

Also pass xcodebuild OBJROOT with the same value as SYMROOT if we fallback to the default WebKitBuild,
this prevents making "build" directories in each project folder.

  • Scripts/webkitdirs.pm:
11:41 AM Changeset in webkit [25096] by darin
  • 2 edits in trunk

Add trailing newlines.

11:37 AM Changeset in webkit [25095] by darin
  • 2 adds in trunk

Add a copy of the ICU license to the copy of ICU headers that's there for
building on Mac OS X 10.4, for clarity. We might want to move these icu
directories inside a "mac/tiger" subdirectory at some point to make sure
people don't get confused about why these are here.

8:06 AM Changeset in webkit [25094] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Antti Koivisto.

<rdar://problem/5411803> Bumpercar crashes when loading a partial URL (FrameLoader::receivedMainResourceError())

  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::receivedError): Nil check for the FrameLoader.
7:11 AM Changeset in webkit [25093] by spadma
  • 3 edits in S60/branches/3.1m/WebKit

2007-08-13 yadavall <sriram.yadavalli@nokia.com>

Reviewed by Sachin (sachin.padma@nokia.com).
DESC: Fast display mode must be turned OFF for widgets
http://bugs.webkit.org/show_bug.cgi?id=14966

  • BrowserView/src/WebKitControl.cpp: (CWebKitControl::CreateWidgetExtensionL):
  • BrowserView/src/webkitbridge.cpp: (CWebKitBridge::CreateChildFrameNamed):
7:07 AM Changeset in webkit [25092] by spadma
  • 3 edits in S60/branches/3.1m/WebKit

2007-08-03 asong

Reviewed by sachin.
DESC: [S60]: Title area displayed in Security Confirmation querries even though there is no title TSWID: ELTA-75H9ZB
http://bugs.webkit.org/show_bug.cgi?id=14870

  • BrowserView/src/FormDataLoginStore.cpp: Add KEmtpyTitle Literal

(CFormDataLoginStore::SaveDialogL): Pass the new literal to DialogConfirm method

  • BrowserView/src/HttpLoaderEventToUiListener.cpp:Add KEmtpyTitle Literal

(CHttpLoaderEventToUiListener::AboutToLoadPage): Pass the new literal to DialogConfirm method
(CHttpLoaderEventToUiListener::GetUserAuthenticationDataL): Pass the new literal to DialogConfirm method

  • ResourceLoader/src/AboutTransaction.cpp: (CAboutTransaction::DoSubmitL):
7:06 AM Changeset in webkit [25091] by spadma
  • 3 edits in S60/trunk/WebKit

asong, reviewed by sachin

DESC: [S60]: Title area displayed in Security Confirmation querries even though there is no title TSWID: ELTA-75H9ZB
http://bugs.webkit.org/show_bug.cgi?id=14870

  • BrowserView/src/FormDataLoginStore.cpp: Add KEmtpyTitle Literal

(CFormDataLoginStore::SaveDialogL): Pass the new literal to DialogConfirm method

  • BrowserView/src/HttpLoaderEventToUiListener.cpp: Add KEmtpyTitle Literal

(CHttpLoaderEventToUiListener::AboutToLoadPage): Pass the new literal to DialogConfirm me
(CHttpLoaderEventToUiListener::GetUserAuthenticationDataL): Pass the new literal to DialogConfirm me

  • ChangeLog: Using _L(" ") as an argument to DialogConfirm was incorrect. _L is deprecated and _LIT should be used instead. _L does not contain length information necessary to determine whether or not the descriptor passed in as a title is empty or not.
12:48 AM Changeset in webkit [25090] by bdash
  • 28 edits
    2 deletes in trunk

Roll out r25082 and the associated tests in r25083 as it introduced crashes in the SVG layout tests.

Aug 14, 2007:

7:50 PM Changeset in webkit [25089] by kmccullo
  • 2 edits in trunk/LayoutTests

Reviewed by Adam.

  • Updated Skipped list to reflect recent fixes.
  • platform/win/Skipped:
7:04 PM Changeset in webkit [25088] by sfalken
  • 5 edits
    1 add in trunk

<rdar://problem/5411482> Windows user agent language always returns "en"

Reviewed by Oliver.

6:23 PM Changeset in webkit [25087] by weinig
  • 4 edits
    2 adds in trunk

LayoutTests:

Reviewed by Geoff and Oliver.

Add test for <rdar://problem/5267870>
Mangleme: Reproducible assertion failure in -[WebCoreFrameBridge installInFrame:]

  • http/tests/misc/embedCrasher-expected.txt: Added.
  • http/tests/misc/embedCrasher.html: Added.

WebCore:

Reviewed by Geoff and Oliver.

Fix for <rdar://problem/5267870>
Mangleme: Reproducible assertion failure in -[WebCoreFrameBridge installInFrame:]

  • Change embed/plugin code path to detach the frame on willRemove instead of detach. This matches what frame and iframe do.

Test: http/tests/misc/embedCrasher.html

  • html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::willRemove):
  • html/HTMLPlugInElement.h:
6:17 PM Changeset in webkit [25086] by adele
  • 9 edits
    2 adds in trunk

LayoutTests:

Reviewed by Maciej.

Test for <rdar://problem/5370059> REGRESSION: Cannot type into edit fields on a form (sccsheriff.org)

  • editing/selection/user-select-text-inside-user-select-ignore-expected.txt: Added.
  • editing/selection/user-select-text-inside-user-select-ignore.html: Added.
  • fast/css/computed-style-expected.txt: Updated now that we've eliminated the auto value.
  • fast/css/computed-style-without-renderer-expected.txt: ditto.

WebCore:

Reviewed by Maciej.

Fix for <rdar://problem/5370059> REGRESSION: Cannot type into edit fields on a form (sccsheriff.org)

This change makes -webkit-user-select an inherited css property. For "user-select: none" we were already
acting like it was an inheritable property, where we let user-select:text on the children override its parent's user-select:none.
By making user-select really inherited (instead of inherited for some values), we eliminate the need for crawling up the tree to see
if an ancestor has user-select ignore set.

  • page/EventHandler.cpp: (WebCore::EventHandler::canMouseDownStartSelect): Now that user-select is inherited, you don't need to walk up the render tree looking for ancestors with user-select:ignore set.
  • css/CSSStyleSelector.cpp: Eliminate SELECT_AUTO. (WebCore::CSSStyleSelector::adjustRenderStyle): (WebCore::CSSStyleSelector::applyProperty):
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • rendering/RenderStyle.h: (WebCore::): Eliminate SELECT_AUTO. Make userSelect inherited. (WebCore::RenderStyle::userSelect): (WebCore::RenderStyle::setUserSelect): (WebCore::RenderStyle::initialUserSelect):
  • rendering/RenderStyle.cpp: (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareNonInheritedData::operator==): (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleRareInheritedData::operator==): (WebCore::RenderStyle::diff):
6:07 PM Changeset in webkit [25085] by andrew
  • 15 edits in trunk

JavaScriptCore:

Reviewed by Darin.


http://bugs.webkit.org/show_bug.cgi?id=14967 part 1 - Eliminate most implicit
conversions of wtf::Vector<T> to T* by explicitly calling .data()

  • API/JSCallbackConstructor.cpp: (KJS::JSCallbackConstructor::construct):
  • API/JSCallbackFunction.cpp: (KJS::JSCallbackFunction::callAsFunction):
  • API/JSCallbackObject.cpp: (KJS::JSCallbackObject::construct): (KJS::JSCallbackObject::callAsFunction):
  • bindings/c/c_instance.cpp: (KJS::Bindings::CInstance::invokeMethod): (KJS::Bindings::CInstance::invokeDefaultMethod):
  • kjs/number_object.cpp: (integer_part_noexp): (char_sequence):
  • kjs/ustring.cpp: (KJS::UString::UTF8String):

WebCore:

Reviewed by Darin.


http://bugs.webkit.org/show_bug.cgi?id=14967 part 1 - Eliminate most implicit
conversions of wtf::Vector<T> to T* by explicitly calling .data()

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::saveState):
  • platform/KURL.cpp: (WebCore::KURL::KURL): (WebCore::KURL::init): (WebCore::KURL::decode_string): (WebCore::KURL::parse): (WebCore::KURL::encode_string):
  • platform/cf/KURLCFNet.cpp: (WebCore::KURL::KURL):
  • platform/mac/KURLMac.mm: (WebCore::KURL::KURL):
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::layOutAxis):

win:

Reviewed by Darin.


http://bugs.webkit.org/show_bug.cgi?id=14967 part 1 - Eliminate most implicit
conversions of wtf::Vector<T> to T* by explicitly calling .data()

  • WebView.cpp: (getCompositionString):
5:23 PM Changeset in webkit [25084] by darin
  • 2 edits in trunk/WebCore

Reviewed by Darin, Hyatt.

  • fix <rdar://problem/5407795> -apple-line-clamp should never display less than one line
  • rendering/RenderFlexibleBox.cpp:(WebCore::RenderFlexibleBox::layoutVerticalBox): Use max to make sure it never computes a minimum of less than one line.
4:46 PM Changeset in webkit [25083] by bdakin
  • 1 edit
    2 adds in trunk/LayoutTests

Test for new support of empty style sheets.

  • fast/css/emptyStyleTag-expected.txt: Added.
  • fast/css/emptyStyleTag.html: Added.
4:30 PM Changeset in webkit [25082] by bdakin
  • 27 edits in trunk/WebCore

Reviewed by Hyatt.

Refactor of change for <rdar://problem/5404899> REGRESSION: Mail
crash in WebCore::FontFallbackList::fontDataAt() after dragging
image into text multiple times

The original fix that I made last night prevents the pending style
sheet count from being incremented until the element is in the
document. This fix prevents the style sheet from loading at all
until it is in the document.

Here is the fix.

  • dom/StyleElement.cpp: (WebCore::StyleElement::insertedIntoDocument): Call process. (WebCore::StyleElement::removedFromDocument): This can be reverted to its original state before my patch last night. (WebCore::StyleElement::process): childrenChanged is now called process. Return early if your not in the document. (WebCore::StyleElement::createSheet): Revert change from last night. The inDocument check is now in caller childrenChanged.
  • dom/StyleElement.h: insertedIntoDocument() must now accept an element in addition to a document.

This is an optimization to prevent calling updateStyleSelector()
too frequently.

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::startElementNs):
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::HTMLStyleElement): (WebCore::HTMLStyleElement::finishedParsing): (WebCore::HTMLStyleElement::insertedIntoDocument): (WebCore::HTMLStyleElement::childrenChanged): (WebCore::HTMLStyleElement::sheetLoaded):
  • html/HTMLStyleElement.h:
  • ksvg2/svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::SVGStyleElement): (WebCore::SVGStyleElement::finishedParsing): (WebCore::SVGStyleElement::insertedIntoDocument): (WebCore::SVGStyleElement::childrenChanged): (WebCore::SVGStyleElement::sheetLoaded):
  • ksvg2/svg/SVGStyleElement.h: (WebCore::SVGStyleElement::setCreatedByParser):

This is a name change. Document::stylesheetLoaded()
is now Document::removePendingSheet()

  • dom/Document.cpp: (WebCore::Document::removePendingSheet):
  • dom/Document.h:
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::sheetLoaded):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::~HTMLLinkElement): (WebCore::HTMLLinkElement::setDisabledState): (WebCore::HTMLLinkElement::process): (WebCore::HTMLLinkElement::sheetLoaded):
  • page/Frame.cpp: (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): (WebCore::UserStyleSheetLoader::setCSSStyleSheet):

This is another name change. closeRenderer() is now
finishedParsing()

  • dom/Node.h: (WebCore::Node::finishedParsing):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::endElementNs): (WebCore::):
  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::finishedParsing):
  • html/HTMLAppletElement.h:
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLFormControlElementWithState::finishedParsing):
  • html/HTMLGenericFormElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::finishedParsing):
  • html/HTMLObjectElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode): (WebCore::HTMLParser::popOneBlockCommon):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::finishedParsing):
  • html/HTMLScriptElement.h: (WebCore::HTMLStyleElement::setCreatedByParser):
  • ksvg2/svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::finishedParsing):
  • ksvg2/svg/SVGAnimationElement.h:
  • ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::finishedParsing):
  • ksvg2/svg/SVGElement.h:
4:08 PM Changeset in webkit [25081] by beidson
  • 13 edits
    2 adds in trunk

WebCore:

Reviewed by Darin, John, Maciej, Oliver, and Tim

<rdar://problem/5394708> - Crash on launch with corrupt icon database

The main part of the fix is to not disable SQLite's default level of protection - to leave the sync options at their normal,
mostly safe levels.

But in case lightning strikes at the exact right moment and someone ends up with a corrupt database, add some support code to
detect that condition and recover from it.

This is mainly accomplished by exposing the "PRAGMA integrity_check;" facilities of sqlite through IconDatabase SPI as well as
running that integrity check if a journal file is detected at launch (a strong indication that the last quit was not clean).
There's also a method exposed to allow clients to tell the icon database "I suspect something bad happened, please check integrity"

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::checkIntegrityBeforeOpening): Allow clients to suggest an integrity check (WebCore::IconDatabase::open): Add a check to see if the journal file for the database exists. If it does, run the integrity check. Also run the check if a client has suggested it to be necessary. If the integrity-check fails, we sadly have to destroy the database and recreate from scratch. Also - quite importantly - do not adjust the default sync preferences for the SQLDatabase. They were an optimization that might have been valid at one time but no longer affects any benchmarks we care about. (WebCore::IconDatabase::checkIntegrity): Perform the SQLite integrity_check pragma
  • loader/icon/IconDatabase.h:
  • loader/icon/IconDatabaseNone.cpp: (WebCore::IconDatabase::checkIntegrity): Keep IconDatabaseNone users building (WebCore::IconDatabase::checkIntegrityBeforeOpening): Ditto
  • loader/icon/SQLDatabase.cpp: (WebCore::SQLDatabase::open): Make a copy of the path string so we don't accidentally mutate anyone else's string on ::close()
  • platform/FileSystem.h: Added. Begin a long-needed platform file system abstraction
  • platform/mac/FileSystemMac.mm: Added. (WebCore::fileExists): Check if a file exists (WebCore::deleteFile): Delete a file
  • platform/gdk/TemporaryLinkStubs.cpp: (WebCore::fileExists): (WebCore::deleteFile):
  • platform/qt/TemporaryLinkStubs.cpp: (WebCore::fileExists): (WebCore::deleteFile):
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::fileExists): (WebCore::deleteFile):
  • WebCore.exp:
  • WebCore.xcodeproj/project.pbxproj:

WebKit:

Reviewed by Darin, John, Maciej, Oliver, and Tim

<rdar://problem/5394708> - Crash on launch with corrupt icon database

Expose some new SPI to help recover from this case should it happen again

  • Misc/WebIconDatabase.mm: (-[WebIconDatabase init]): Use the new _databaseDirectory to determine where to open the database on disk (+[WebIconDatabase _checkIntegrityBeforeOpening]): Tell the icon database to check integrity when it opens (-[WebIconDatabase _databaseDirectory]): Moved the database-directory-determining logic here as it's now used in two places
  • Misc/WebIconDatabasePrivate.h: Added _checkIntegrityBeforeOpening SPI for clients to give hints about when the integrity check should run
4:00 PM Changeset in webkit [25080] by honeycutt
  • 2 edits in trunk/WebCore

2007-08-14 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Steve.

Build fix for Windows.

  • html/HTMLFormElement.cpp:
3:37 PM Changeset in webkit [25079] by staikos
  • 2 edits in trunk/WebCore

One-line obvious fix for context menus: don't connect the signal once for each
action, only once for the menu.

3:19 PM Changeset in webkit [25078] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Sam.

  • fix <rdar://problem/5410570> Global initializer introduced by use of std::numeric_limits in r24919
  • kjs/ustring.cpp: (KJS::overflowIndicator): Turned into a function. (KJS::maxUChars): Ditto. (KJS::allocChars): Use the functions. (KJS::reallocChars): Ditto. (KJS::UString::expandedSize): Ditto.
3:10 PM Changeset in webkit [25077] by ggaren
  • 2 edits in trunk/WebKitTools

Reviewed by Kevin Mccullough.


Removed special case that didn't belong. (It would allow a global
initializer to sneak into production builds, which would cause a
system-wide performance regression on Mac OS X.)

  • Scripts/check-for-global-initializers:
3:05 PM Changeset in webkit [25076] by justing
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by Tim.


<rdar://problem/5408255> REGRESSION: In Mail, clicking the containing element's UI closebox doesn't delete element

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

WebCore:

Reviewed by Tim.

<rdar://problem/5408255> REGRESSION: In Mail, clicking the containing element's UI closebox doesn't delete element

  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::show): Use -webkit-user-select:ignore for the deletion UI.

WebKitTools:

Reviewed by Tim.


<rdar://problem/5408255> REGRESSION: In Mail, clicking the containing element's UI closebox doesn't delete element

  • DumpRenderTree/EditingDelegate.m: (-[EditingDelegate webView:shouldShowDeleteInterfaceForElement:]): Added, return YES only for elements with the class needsDeletionUI.
2:24 PM Changeset in webkit [25075] by aroben
  • 3 edits in trunk/WebKit/win

Store user defaults in a non-mutable CFDictionaryRef

Also renamed WebPreferences' static members:

m_standardPreferences -> s_standardPreferences
m_standardUserDefaults -> s_defaultSettings

Reviewed by Darin and John.

  • WebPreferences.cpp: (WebPreferences::getInstanceForIdentifier): (WebPreferences::initializeUserDefaults): Construct the dictionary as a local CFMutableDictionaryRef, then assign it to the non-mutable static member. (WebPreferences::valueForKey): (WebPreferences::removeDefaultsIfNeeded): (WebPreferences::standardPreferences):
  • WebPreferences.h:
2:24 PM Changeset in webkit [25074] by aroben
  • 4 edits in trunk/WebKit/win

Fix <rdar://problem/5214504> No way to change WebPreferences defaults (all preferences get written to disk)

We now only write to disk values that have been explicitly set, and
never write any default values.

This is not enough, however, as anyone who has used WebKit prior to
this change will have the default values sitting in their preferences
plist on disk. To remedy this, we perform a one-time removal of any
key-value pairs that match a pair in the defaults dictionary.

Reviewed by Steve, John, Ada, and Darin.

  • WebPreferenceKeysPrivate.h: Added new key to ensure we only remove the defaults once.
  • WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): Renamed from initialize, and made sure we only set up the defaults dictionary once. Now that the defaults dictionary is never modified after creation, we don't need to check whether the keys are already present. (WebPreferences::setStringValue): Don't modify the defaults dictionary. (WebPreferences::setIntegerValue): Ditto. (WebPreferences::setBoolValue): Ditto. (WebPreferences::save): Write out the user's preferences, not the defaults. (WebPreferences::load):
    • Removed gotos and early declarations now that we're using RetainPtr everywhere.
    • Initialize m_privatePrefs with an empty dictionary if we didn't read in a plist.
    • Call migrateDefaultSettingsFromSafari3Beta after loading.

(WebPreferences::migrateDefaultSettingsFromSafari3Beta): Added.
(WebPreferences::removeValuesMatchingDefaultSettings): Added.
(WebPreferences::initWithIdentifier): Don't initialize m_privatePrefs
-- load() does this now.

  • WebPreferences.h: Updated/added declarations.
2:24 PM Changeset in webkit [25073] by aroben
  • 3 edits in trunk/WebKit/win

Use RetainPtr to store WebPreferences::m_privatePrefs

Reviewed by Darin.

  • WebPreferences.cpp: (WebPreferences::setStringValue): (WebPreferences::setIntegerValue): (WebPreferences::setBoolValue): (WebPreferences::initWithIdentifier):
  • WebPreferences.h:
1:20 PM Changeset in webkit [25072] by adele
  • 1 edit
    3 adds in trunk/LayoutTests

Reviewed by Brady.

Test for http://bugs.webkit.org/show_bug.cgi?id=14746
<rdar://problem/5401041> REGRESSION: Form state not saved for forms that submit via HTTPS even if they do not contain a password field

  • http/tests/navigation/resources/restore-form-state-https-1.html: Added.
  • http/tests/navigation/restore-form-state-https-expected.txt: Added.
  • http/tests/navigation/restore-form-state-https.html: Added.
12:18 PM Changeset in webkit [25071] by antti
  • 7 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.


Add test for <rdar://problem/5143183>
Air Mail postmark shows up wrong in Firefox due to use of CSS background-position-x/y


Also update a few tests to expect background-position instead of background-position-x/y

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

WebCore:

Reviewed by Darin.


Fix <rdar://problem/5143183>
Air Mail postmark shows up wrong in Firefox due to use of CSS background-position-x/y


Safari was using non-standard background-position-x/y properties when serializing style, both normal
and computed. As a result Safari generated CSS would not render correctly in Firefox.


Use standard background-position property instead.

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::):
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::cssText):
11:07 AM Changeset in webkit [25070] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Darin.

  • Scripts/svn-create-patch: Use 'tail -n +3' instead of 'tail +3'.
10:36 AM Changeset in webkit [25069] by weinig
  • 2 edits in trunk/WebCore

Reviewed by Brady and Dr. Harrison.

Fix typo. 'whitespace' property is spelled 'white-space'.

  • page/inspector/inspector.css:

Aug 13, 2007:

10:41 PM Changeset in webkit [25068] by bdakin
  • 4 edits in trunk/WebCore

Reviewed by Maciej.

Fix for <rdar://problem/5404899> REGRESSION: Mail crash in
WebCore::FontFallbackList::fontDataAt() after dragging image into
text multiple times

We were crashing because style information was not up-to-date. This
patch fixes the problem in two ways:

Style information was not up to date at the time of the crash
because the document thought there was still a pending style sheet.
The pending style sheet counter was incremented when a call to
cloneNode from Mail cloned a style node with an imported style
sheet. Because Mail disables the cache, the style sheet did not
load immediately for the cloned node, and we do not check again to
see if it has loaded in time to decrement the pending style sheet
counter before the crash point. The fix here is only to increment
the pending style sheet counter for elements that are already in
the document.

  • dom/StyleElement.cpp: (WebCore::StyleElement::insertedIntoDocument): If we have a CSS style sheet that is currently loading, increment the pending style sheet counter. This should keep the counter accurate in the case where a style node is cloned and then immediately inserted into the document. (WebCore::StyleElement::removedFromDocument): If we have a CSS style sheet that is currently loading, decrement the pending style sheet count. This is required to keep the correct balance, given the change above. (WebCore::StyleElement::createSheet): Only addPendingSheet() and checkLoaded() if we are in the document.

Here is Darin's original fix. It seems worth keeping this fix too.
Font style information should not cause a crash if there are still
pending style sheets. This is good belt-and-suspenders in case
there is another way to run into this bug with a wacky timing
issue.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement): Update the font.
10:39 PM Changeset in webkit [25067] by ap
  • 2 edits in trunk/WebCore

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=14635
rdar://problem/5340188
Uploading file with non-ASCII character in path fails

File upload cannot be tested in DumpRenderTree.

  • html/HTMLFormElement.cpp: (WebCore::pathGetFilename): A cross-platform helper that extracts a file name from a path. (WebCore::HTMLFormElement::formData): Use the above helper instead of code that doesn't work on Windows.
10:24 PM Changeset in webkit [25066] by ap
  • 3 edits
    2 adds in trunk

http://bugs.webkit.org/show_bug.cgi?id=14951
REGRESSION: page interpreted as UTF-8 because of stray <?xml> after <head>

Test: fast/encoding/misplaced-xml-declaration.html

  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForHeadCharset): Only honor XML declaration at the very beginning of the file.
7:04 PM Changeset in webkit [25065] by oliver
  • 2 edits in trunk/WebCore

rs=sam

Correct accidentally modified code.

  • platform/mac/FontDataMac.mm: (WebCore::FontData::platformInit):
6:52 PM Changeset in webkit [25064] by adele
  • 5 edits in trunk/WebCore

Reviewed by Brady.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14746
<rdar://problem/5401041> REGRESSION: Form state not saved for forms that submit via HTTPS even if they do not contain a password field

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::saveDocumentState): Restore our old behavior that will save form state for secure forms. This will also match Firefox behavior.
  • dom/Document.cpp: Removed secureFormAdded(), secureFormRemoved(), hasSecureForm() which are no longer used.
  • dom/Document.h:
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::attach): (WebCore::HTMLFormElement::parseMappedAttribute):
6:44 PM Changeset in webkit [25063] by oliver
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/5386183> REGRESSION (9A504-9A508): Underline of inline hole is too thin
on Japanese DotMac page


Hack the line metrics for the Hiragino font families so that they always allow space for
the marked text underline.


  • platform/mac/FontDataMac.mm: (WebCore::FontData::platformInit):
5:19 PM Changeset in webkit [25062] by weinig
  • 3 edits in trunk/LayoutTests

Reviewed by Kevin McCullough.

Another attempt at getting these to pass reliably.

  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html:
5:13 PM Changeset in webkit [25061] by hyatt
  • 2 edits in trunk/WebCore

Reviewed by aroben


<rdar://problem/5400446> messed up content on calendar.yahoo.com and my.yahoo.com

Fix some more bad assumptions about <html> being the first child of the document now that we
properly support HTML5's model (where a comment node preceding <html> will in fact be its sibling).

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): (WebCore::HTMLParser::createHead):
3:41 PM Changeset in webkit [25060] by weinig
  • 5 edits in trunk/LayoutTests

Reviewed by Geoff.

Ensure that these tests don't fail intermittently.

  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html:
2:24 PM Changeset in webkit [25059] by sfalken
  • 1 copy in tags/Safari-523.1b

New tag.

2:24 PM Changeset in webkit [25058] by sfalken
  • 1 edit in trunk/WebKit/win/WebKit.vcproj/VERSION

Bump version for submit

12:14 PM Changeset in webkit [25057] by justing
  • 8 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.


<rdar://problem/5333725> -webkit-user-select: none makes selection difficult

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


Added a workaround for a bug where -webkit-user-select:none
has no effect on the body if placed on the html element:

  • editing/selection/select-all-user-select-none.html:

WebCore:

Reviewed by Darin.


<rdar://problem/5333725> -webkit-user-select: none makes selection difficult


Let users create selections if they mouse down in a -webkit-user-select:none
region, just (continue to) disallow selection endpoints in those regions, and
don't paint those regions as selected if they are fully enclosed by a selection.
For example, in xxyyyxx where x is -webkit-user-select:none, a user can mouse down
between the first two xs and drag across yyy to the second two xs to create a
selection xxyyyxx.


  • editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Allow selectAll inside a root that has -webkit-user-select:none, because it may contain content that is selectable (VisiblePosition and Selection creation will keep Selection endpoints out of -webkit-user-select:none regions).
  • page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordFromMouseEvent): Use canMouseDownStartSelect instead of the ambiguously named shouldSelect(). (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto. (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto. (WebCore::EventHandler::updateSelectionForMouseDrag): Use canMouseDragExtendSelect. (WebCore::EventHandler::selectCursor): Paint an ibeam in -webkit-user-select:none regions, because you can click in those regions to create a selection. (WebCore::EventHandler::canMouseDownStartSelect): Now fires the selectStart event, and returns true in -webkit-user-select: none regions. (WebCore::EventHandler::canMouseDragExtendSelect): This is identical to canMouseDownStartSelect because of 12823, even though it seems strange that we would fire the selectStart event here.
  • page/EventHandler.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::draggableNode): Only -webkit-user-select:ignore regions will prevent selection creation.
  • rendering/RenderObject.h:
12:02 PM Changeset in webkit [25056] by andersca
  • 5 edits in trunk

LayoutTests:

Reviewed by Maciej.

<rdar://problem/5360748>
REGRESSION (r21002-r21003): Flash widget sniffer doesn't work (affects iWeb)


Update test case to handle the case where the node list is accessed after
the document has finished loading.


  • fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt:
  • fast/dom/NodeList/invalidate-node-lists-when-parsing.html:

WebCore:

Reviewed by Maciej.

<rdar://problem/5360748>
REGRESSION (r21002-r21003): Flash widget sniffer doesn't work (affects iWeb)

Don't check whether the document is being parsed or not, because the node list
could be accessed after the document has finished parsing.


  • dom/Node.cpp: (WebCore::Node::registerNodeList):
11:02 AM Changeset in webkit [25055] by weinig
  • 2 edits in trunk/WebKitTools

Reviewed by Adam Roben.

Use the cygwin specific Apache config file under cygwin.

  • Scripts/run-webkit-httpd:
5:06 AM Changeset in webkit [25054] by lars
  • 2 edits in trunk/WebCore

no need to update regions that are not visible on the webpage.

Aug 12, 2007:

10:37 PM Changeset in webkit [25053] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-007/WebKit

Tag for WebKit for Security Update 2007-007 (WebKit-419.3).

10:37 PM Changeset in webkit [25052] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-007/WebCore

Tag for WebCore for Security Update 2007-007 (WebCore-418.23).

10:37 PM Changeset in webkit [25051] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-007/JavaScriptGlue

Tag for JavaScriptGlue for Security Update 2007-007 (unchanged from 10.4.10).

10:37 PM Changeset in webkit [25050] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-007/JavaScriptCore

Tag for JavaScriptCore for Security Update 2007-007 (JavaScriptCore-418.6.1).

10:36 PM Changeset in webkit [25049] by bdash
  • 1 add in releases/Apple/Tiger/Security Update 2007-007

New release tag.

10:36 PM Changeset in webkit [25048] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-006/WebKit

Tag for WebKit for Security Update 2007-006 (WebKit-419.2.1).

10:35 PM Changeset in webkit [25047] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-006/WebCore

Tag for WebCore for Security Update 2007-006 (WebCore-418.22.2).

10:35 PM Changeset in webkit [25046] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-006/JavaScriptGlue

Tag for JavaScriptGlue for Security Update 2007-006 (unchanged from 10.4.10).

10:35 PM Changeset in webkit [25045] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-006/JavaScriptCore

Tag for JavaScriptCore for Security Update 2007-006 (unchanged from 10.4.10).

10:35 PM Changeset in webkit [25044] by bdash
  • 1 add in releases/Apple/Tiger/Security Update 2007-006

New release tag.

10:34 PM Changeset in webkit [25043] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.10/WebKit

Tag for WebKit for Mac OS X Update 10.4.10 (WebKit-419.2).

10:34 PM Changeset in webkit [25042] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.10/WebCore

Tag for WebCore for Mac OS X Update 10.4.10 (WebCore-418.22).

10:34 PM Changeset in webkit [25041] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.10/JavaScriptGlue

Tag for JavaScriptGlue for Mac OS X Update 10.4.10 (unchanged from 10.4.9).

10:33 PM Changeset in webkit [25040] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.10/JavaScriptCore

Tag for JavaScriptCore for Mac OS X Update 10.4.10 (JavaScriptCore-418.5).

10:33 PM Changeset in webkit [25039] by bdash
  • 1 add in releases/Apple/Tiger/Mac OS X Update 10.4.10

New release tag.

10:33 PM Changeset in webkit [25038] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.9/WebKit

Tag for WebKit for Mac OS X Update 10.4.9 (WebKit-419).

10:32 PM Changeset in webkit [25037] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.9/WebCore

Tag for WebCore for Mac OS X Update 10.4.9 (unchanged from 10.4.8).

10:32 PM Changeset in webkit [25036] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.9/JavaScriptGlue

Tag for JavaScriptGlue for Mac OS X Update 10.4.9 (unchanged from 10.4.8).

10:32 PM Changeset in webkit [25035] by bdash
  • 1 copy in releases/Apple/Tiger/Mac OS X Update 10.4.9/JavaScriptCore

Tag for JavaScriptCore for Mac OS X Update 10.4.9 (unchanged from 10.4.8).

10:32 PM Changeset in webkit [25034] by bdash
  • 1 add in releases/Apple/Tiger/Mac OS X Update 10.4.9

New release tag.

10:31 PM Changeset in webkit [25033] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-002/WebKit

Tag for WebKit for Security Update 2007-002 (WebKit-418.9.1).

10:31 PM Changeset in webkit [25032] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-002/WebCore

Tag for WebCore for Security Update 2007-002 (unchanged from 10.4.8).

10:31 PM Changeset in webkit [25031] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-002/JavaScriptGlue

Tag for JavaScriptGlue for Security Update 2007-002 (unchanged from 10.4.8).

10:31 PM Changeset in webkit [25030] by bdash
  • 1 copy in releases/Apple/Tiger/Security Update 2007-002/JavaScriptCore

Tag for JavaScriptCore for Security Update 2007-002 (unchanged from 10.4.8).

10:30 PM Changeset in webkit [25029] by bdash
  • 1 add in releases/Apple/Tiger/Security Update 2007-002

New release tag.

8:25 PM Changeset in webkit [25028] by mjs
  • 4 edits
    28 adds in trunk

LayoutTests:

Reviewed by Darin and Sam.


  • test cases for <rdar://problem/5395213> cross-domain access to individual components of location object should be denied.
  • http/tests/security/cross-frame-access-location-expected.txt: This test's results changed, there are more debug messages due to access being legitimately denied.


The remainder are new tests and support:

  • http/tests/security/resources/xss-DENIED-assign-location-hash-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-host-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-host-failure.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-hostname-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-hostname-failure.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-nonstandardProperty-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-pathname-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-pathname-failure.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-protocol-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-protocol-failure.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-reload-attacker.html: Added.
  • http/tests/security/resources/xss-DENIED-assign-location-search-attacker.html: Added.
  • http/tests/security/xss-DENIED-assign-location-hash-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-hash.html: Added.
  • http/tests/security/xss-DENIED-assign-location-host-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-host.html: Added.
  • http/tests/security/xss-DENIED-assign-location-hostname-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-hostname.html: Added.
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty.html: Added.
  • http/tests/security/xss-DENIED-assign-location-pathname-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-pathname.html: Added.
  • http/tests/security/xss-DENIED-assign-location-protocol-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-protocol.html: Added.
  • http/tests/security/xss-DENIED-assign-location-reload-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-reload.html: Added.
  • http/tests/security/xss-DENIED-assign-location-search-expected.txt: Added.
  • http/tests/security/xss-DENIED-assign-location-search.html: Added.

WebCore:

Reviewed by Darin and Sam.


<rdar://problem/5395213> cross-domain access to individual components of location object should be denied.

  • bindings/js/kjs_window.cpp: (KJS::Location::put): Add the appropriate cross-domain access checks.
8:06 PM Changeset in webkit [25027] by darin
  • 4 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fix <rdar://problem/5403724> REGRESSION: text inputs are not scrolled to make inline input visible (14912)
  • editing/Editor.h: Made setIgnoreMarkedTextSelectionChange no longer inline. It now has a side effect of revealing the selection when you set it to false. Added private revealSelectionAfterEditingOperation helper.
  • editing/Editor.cpp: (WebCore::Editor::deleteRange): Calls revealSelectionAfterEditingOperation instead of calling m_frame->revealSelection directly. (WebCore::Editor::replaceSelectionWithFragment): Ditto. (WebCore::Editor::insertOrderedList): Ditto. (WebCore::Editor::insertUnorderedList): Ditto. (WebCore::Editor::increaseSelectionListLevel): Ditto. (WebCore::Editor::increaseSelectionListLevelOrdered): Ditto. (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto. (WebCore::Editor::decreaseSelectionListLevel): Ditto. (WebCore::Editor::insertLineBreak): Ditto. (WebCore::Editor::insertParagraphSeparator): Ditto. (WebCore::Editor::replaceMarkedText): Ditto. (WebCore::Editor::revealSelectionAfterEditingOperation): Added. Calls revealSelection, unless we are in the ignoreMarkedTextSelectionChange state. If we are in that state, we're in the middle of a composite editing operation and we shouldn't try to scroll to reveal the selection until the operation is done. (WebCore::Editor::setIgnoreMarkedTextSelectionChange): Made no longer inline. If changing the state from true to false, then calls revealSelectionAfterEditingOperation.
  • WebCore.exp: Add new entry point for no-longer-inline setter function.
7:42 PM Changeset in webkit [25026] by darin
  • 11 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Maciej.

Test: fast/js/regexp-non-capturing-groups.html

  • kjs/string_object.cpp: (KJS::replace): Add missing code to handle undefined backreferences; before we'd get the empty string instead of a JavaScript "undefined" value. (KJS::StringProtoFunc::callAsFunction): Implemented backreference support for split.
  • pcre/pcre_exec.c: (match): Made backreferences to undefined groups match the empty string instead of always failing. Only in JAVASCRIPT mode.
  • tests/mozilla/expected.html: Add a new expected test success, since this fixed one test result.

LayoutTests:

Reviewed by Maciej.

  • fast/js/regexp-non-capturing-groups-expected.txt: Added.
  • fast/js/regexp-non-capturing-groups.html: Added.
  • fast/js/resources/regexp-non-capturing-groups.js: Added.
  • fast/js/resources/js-test-pre.js: Updated to add a special case for array results, since there are some array results in the test. Also cut down on the verbosity of failures when the type of the actual result is the same as the type of the expected result. And get rid of the special case function just for NaN.
  • fast/js/regexp-unicode-overflow.html: Let the make-js-test-wrappers script regenerate this file (it removed one of the trailing newlines).
  • fast/js/kde/encode_decode_uri-expected.txt: This test now passes. I'm not sure why it was failing before.
  • fast/js/char-at-expected.txt: Removed all the periods at the end of NaN test PASS messages; they are now consistent with all the other tests.
  • fast/js/date-parse-comments-test-expected.txt: Ditto.
  • fast/js/date-parse-test-expected.txt: Ditto.
7:41 PM Changeset in webkit [25025] by ggaren
  • 8 edits in trunk/WebCore

Reviewed by Maciej Stachowiak, Dave Hyatt.


Changed the dead resource LRU-SP algorithm to measure an object's
total size, not just its encoded size. This will allow us to make
better decisions about what data to evict when the cache is small. For
example, the PLT can now run with a 16MB cache without fully evicting
any resources.


(Previously, we had assumed that decoded size would be an OK estimate
of encoded size, but that is not true of GIF, whose decoded size can be
orders of magnitude greater than its encoded size.)


Subtly, destroying a resource's decoded data now increases its recency
by moving it to the head of a smaller LRU list. This is slightly odd,
but, since all resources get the same treatment, it shouldn't hurt
the eviction algorithm.

  • history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow): Make sure that a dead resource eviction doesn't happen until we've released all of our dead pages. Otherwise, the cache will make terrible decisions about what to evict because all of our dead resources will seem live.
  • loader/Cache.cpp: (WebCore::Cache::Cache): (WebCore::Cache::pruneLiveResources): (WebCore::Cache::pruneDeadResources): Removed call to removeFromLiveDecodedResourcesList because this happens automatically now as a part of the process of changing the resource's decoded size. (WebCore::Cache::lruListFor): * The key change. * Compute the appropriate LRU list based on total size, not encoded size. (WebCore::Cache::dumpLRULists): Added debug logging function to help visualize the cache.
  • loader/Cache.h: (WebCore::Cache::setDeadResourcePruneEnabled): (WebCore::Cache::deadResourcePruneEnabled):
  • loader/CachedImage.cpp: Moved decoded size tracking code from here up into the base class. Currently, only CachedImage has a use for that functionality, but other subclasses might need it in the future, and the base class is already responsible for similar code related to encoded size tracking. (WebCore::CachedImage::decodedSizeChanged):
  • loader/CachedImage.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::setDecodedSize): Move us in the LRU-SP list just like setEncodedSize does, since decoded size counts now, too. (WebCore::CachedResource::setEncodedSize): Changed slightly to match the style of setDecodedSize.
  • loader/CachedResource.h: (WebCore::CachedResource::decodedSize):
12:20 PM Changeset in webkit [25024] by ap
  • 2 edits in trunk/WebKit

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=4648
Shockwave unable to load GZip'd text resources when server sends Content-Length header

  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream startStreamWithResponse:]): Don't trust -[NSURLResponse expectedContentLength] if Content-Encoding is not identity.
4:31 AM Changeset in webkit [25023] by aroben
  • 2 edits in trunk/WebKitTools

Generate results for new tests in a more logical location

New platform-specific tests always have their results generated right
next to the test. New cross-platform tests will have their results
generated a) in the cross-platform directory, if they are text-only,
or b) in the least-specific platform directory, if they are render
tree dumps.

Reviewed by Lars.

  • Scripts/run-webkit-tests:
4:31 AM Changeset in webkit [25022] by aroben
  • 2 edits in trunk/WebKitTools

Print the actual directory where new results are generated.

Before, we were printing an unpredictable, context-specific substring
of the directory.

Reviewed by Lars.

  • Scripts/run-webkit-tests:
4:31 AM Changeset in webkit [25021] by aroben
  • 2 edits in trunk/WebKitTools

Factor some common code into a stripExtension() subroutine.

Reviewed by Lars.

  • Scripts/run-webkit-tests: Also removed some debugging output.
3:08 AM Changeset in webkit [25020] by antti
  • 1 edit in trunk/LayoutTests/ChangeLog

Correct wrong URL in ChangeLog entry

3:05 AM Changeset in webkit [25019] by antti
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Darin.


Add test for http://bugs.webkit.org/attachment.cgi?id=15818&action=edit which
Mitz fixed in r24973.


I had a fix for <rdar://problem/5267021>
REGRESSION: Loading Slashdot Firehose is 9X slower on Safari 3.0 than Safari 2.0
which turned out to be a dublicate.


At least we can use the layout test I did.

  • http/tests/local/style-access-before-stylesheet-loaded-expected.txt: Added.
  • http/tests/local/style-access-before-stylesheet-loaded.html: Added.
2:18 AM Changeset in webkit [25018] by aroben
  • 2 edits in trunk/WebKit/win

Fix <rdar://problem/5278790> Hole for find-on-page match in subframe isn't clipped by frame bounds

Reviewed by Maciej.

  • WebView.cpp: (WebView::rectsForTextMatches): Ported fix from r23586.
2:18 AM Changeset in webkit [25017] by aroben
  • 2 edits in trunk/WebKit/win

Prevent an ASSERT on launch by initializing AtomicString in WebKitGraphics

Reviewed by Maciej.

  • WebKitGraphics.cpp: (makeFont):

Aug 11, 2007:

1:55 PM Changeset in webkit [25016] by pewtermoose
  • 1 delete in trunk/LayoutTests/mac

Forgot to remove this directory

1:37 PM Changeset in webkit [25015] by pewtermoose
  • 3 edits
    3 moves
    2 adds in trunk

LayoutTests:

Reviewed over and over and over by Adam Roben.

Bug 14740: Hierarchical layout tests and platform organization
http://bugs.webkit.org/show_bug.cgi?id=14740

Add support for platform-specific layout tests and results.
New platform structure is as follows:

  • platform: Added.
  • platform/mac: Added.
  • mac/leopard/ -> platform/mac-leopard
  • win/ -> platform/win
  • qt/ -> platform/qt

WebKitTools:

Reviewed over and over and over by Adam Roben.

Bug 14740: Hierarchical layout tests and platform organization
http://bugs.webkit.org/show_bug.cgi?id=14740

Add support for platform-specific layout tests and results.

  • Scripts/run-webkit-tests:
12:40 PM Changeset in webkit [25014] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Adam.

Refactored svn-create-path to use a hash-of-hashes data structure to keep
track of changed files. In the top level hash, keys are paths to files and
values are 'fileData' hashes with the following keys and values:

  • isBinary: boolean value (set to true for non-text files like images, etc.)
  • isTestFile: boolean value (set to true if file exists within a known test directory)
  • modificationType: string equal to one of 'addition', 'additionWithHistory', 'modification' or 'deletion'
  • path: string equal to the path to the file (this may seem redundant, but it is required to use the second-level 'fileData' hash independent of the top-level hash)
  • sourceFile: [optional] string equal to the path of the original file that was copied or moved
  • sourceRevision: [optional] string equal to the revision of the original file that was copied or moved
  • Scripts/svn-create-patch: Moved call to GetOptions() to its own statement that saves the return value in $result, then checks it before printing help. Combined sourceFiles, %testFiles, and %binaryFiles into single %diffFiles hash and eliminated two for() loops. (binarycmp): Added. Used with sort() to order non-binary files before binary files. (findBaseUrl): Added. Extracted from findSourceFileAndRevision(). (findMimeType): Added optional second argument that takes a revision number. (generateDiff): Updated to take one fileData argument instead of three ($file, $modificationType, $isBinary). (generateFileList): Updated to take one hash ref argument (%diffFiles) instead of three (%sourceFiles, %testFiles, %binaryFiles). Populates %diffFiles using paths for keys and fileData hashes for values. (manufacturePatchForAdditionWithHistory): Updated to take one fileData argument. (pathcmp): Updated to take two fileData arguments instead of two strings. (testfilecmp): Added. Used with sort() to order non-test files before test files.
11:27 AM Changeset in webkit [25013] by darin
  • 2 edits in trunk/WebKitTools
  • Scripts/run-webkit-tests: Give a different message when only the pixel test failed.
11:13 AM Changeset in webkit [25012] by zecke
  • 2 edits in trunk/WebCore

2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Anders.

Implement passing events to a subframe. The code is copied from
the windows port and passSubframeEventToSubframe was removed as it
is not called and it is not avilable in the windows port as well.

  • page/gdk/EventHandlerGdk.cpp: (WebCore::EventHandler::passMousePressEventToSubframe): (WebCore::EventHandler::passMouseMoveEventToSubframe): (WebCore::EventHandler::passMouseReleaseEventToSubframe):
11:01 AM Changeset in webkit [25011] by darin
  • 15 edits
    34 adds in trunk

LayoutTests:

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

Reviewed by Darin.

  • fast/table/100-percent-cell-width-expected.checksum: Added.
  • fast/table/100-percent-cell-width-expected.png: Added.
  • fast/table/100-percent-cell-width-expected.txt: Added.
  • fast/table/100-percent-cell-width.html: Added.
  • fast/table/percent-widths-stretch-expected.checksum: Added.
  • fast/table/percent-widths-stretch-expected.png: Added.
  • fast/table/percent-widths-stretch-expected.txt: Added.
  • fast/table/percent-widths-stretch.html: Added.
  • fast/text/whitespace/026-expected.checksum:
  • fast/text/whitespace/026-expected.png:
  • fast/text/whitespace/026-expected.txt:
  • tables/mozilla/bugs/bug35662-expected.checksum:
  • tables/mozilla/bugs/bug35662-expected.png:
  • tables/mozilla/bugs/bug35662-expected.txt:
  • tables/mozilla/bugs/bug5799-expected.checksum:
  • tables/mozilla/bugs/bug5799-expected.png:
  • tables/mozilla/bugs/bug5799-expected.txt:
  • tables/mozilla/core/col_span-expected.checksum:
  • tables/mozilla/core/col_span-expected.png:
  • tables/mozilla/core/col_span-expected.txt:

2007-08-11 Darin Adler <Darin Adler>

  • added a bunch of missing layout test results
  • editing/style/font-family-with-space-expected.checksum: Added.
  • editing/style/font-family-with-space-expected.png: Added.
  • fast/dom/frame-loading-via-document-write-expected.checksum: Added.
  • fast/dom/frame-loading-via-document-write-expected.png: Added.
  • fast/encoding/xmacroman-encoding-test-expected.checksum: Added.
  • fast/encoding/xmacroman-encoding-test-expected.png: Added.
  • fast/frames/frame-navigation-expected.checksum: Added.
  • fast/frames/frame-navigation-expected.png: Added.
  • fast/frames/frame-set-whitespace-attributes-expected.checksum: Added.
  • fast/frames/frame-set-whitespace-attributes-expected.png: Added.
  • fast/frames/inline-object-inside-frameset-expected.checksum: Added.
  • fast/frames/inline-object-inside-frameset-expected.png: Added.
  • fast/html/keygen-expected.checksum: Added.
  • fast/html/keygen-expected.png: Added.
  • fast/images/pdf-as-image-landscape-expected.checksum: Added.
  • fast/images/pdf-as-image-landscape-expected.png: Added.
  • fast/inline-block/14498-positionForCoordinates-expected.checksum: Added.
  • fast/inline-block/14498-positionForCoordinates-expected.png: Added.

WebCore:

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

Reviewed by Darin.

Tests: fast/table/100-percent-cell-width.html

fast/table/percent-widths-stretch.html

  • rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::calcPrefWidths): Changed the value used instead of 0% to avoid division by zero from 1% to less than 0.01%. Removed code that added 0.5px to non-percent widths when calculating the scaling factor. The latter change is covered by the percent-widths-stretch test, where the new results match both WinIE 7 and Firefox 3.
10:18 AM Changeset in webkit [25010] by darin
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Antti.

  • test for <rdar://problem/5266535> REGRESSION: <img> inside <map> no longer allowed in strict mode (breaks chemicalelements.com)
  • fast/parser/strict-img-in-map-expected.txt: Added.
  • fast/parser/strict-img-in-map.html: Added.

WebCore:

Reviewed by Antti.

  • fix <rdar://problem/5266535> REGRESSION: <img> inside <map> no longer allowed in strict mode (breaks chemicalelements.com)

Test: fast/parser/strict-img-in-map.html

  • html/HTMLMapElement.cpp: (WebCore::HTMLMapElement::checkDTD): Removed FIXME saying this code is strange, since this code matches the HTML 4 specification almost exactly. Made <img> elements allowed even in strict mode and added small comments to clarify what comes from the DTD and what is non-standard.
6:53 AM Changeset in webkit [25009] by zecke
  • 2 edits in trunk/WebCore

2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Lars.

GdkEventKey::string is not supposed to be used. The length
of this string is zero for non ascii charachters. Use the
gdk_unicode_to_keyval to convert the keyval to a UChar and construct
a String. This change makes it possible to input non ascii
charachters.

  • platform/gdk/KeyEventGdk.cpp: (WebCore::keyIdentifierForGdkKeyCode): (WebCore::singleCharacterString): (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
4:52 AM Changeset in webkit [25008] by andrew
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Mark Rowe.


Fix http://bugs.webkit.org/show_bug.cgi?id=14645
getPropertyValue should be case insensitive


Test for getPropertyValue, setProperty, removeProperty being case-insensitive

  • fast/css/css-properties-case-insensitive-expected.txt: Added.
  • fast/css/css-properties-case-insensitive.html: Added.

WebCore:

Reviewed by Mark Rowe.


Fix http://bugs.webkit.org/show_bug.cgi?id=14645
getPropertyValue should be case insensitive


When we get the propertyID for a given string we convert to lowercase.


This also applies to setProperty, removeProperty and others.


  • css/CSSStyleDeclaration.cpp: (WebCore::propertyID):

Aug 10, 2007:

7:31 PM Changeset in webkit [25007] by bdash
  • 3 edits in trunk/WebCore

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

Build fix. Change "#ifdef PLATFORM(GDK)" to "#if PLATFORM(GDK)".

  • page/FrameView.cpp:
  • page/FrameView.h:
6:27 PM Changeset in webkit [25006] by zecke
  • 7 edits in trunk

WebCore:
2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Copy the WebFrame::layoutIfNeededRecursive method of the windows port
to FrameView to be used by the Gtk+ port. Simplify the implementation due
moving it to the FrameView class.

Implement the ScrollView::children() method for the Gtk+ port and make it
available to the FrameView as children() is used within the layoutIfNeededRecursive method.

  • page/FrameView.cpp: (WebCore::FrameView::layoutIfNeededRecursive):
  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/gdk/ScrollViewGdk.cpp:

WebKit/gtk:
2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

To not hit the needsLayout() assert of Frame::paint for subframes we need to
make sure they are layed out. Use the newly created FrameView::layoutIfNeededRecursive
method to do this.

  • Api/webkitgtkpage.cpp:
5:43 PM Changeset in webkit [25005] by zecke
  • 5 edits
    2 adds in trunk

WebCore:

2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

To fix text selection make the PlatformMouseEvent set the pressed
button even when moving the mouse.

Add building of the WebKit::DragClient stubs as they are needed to
make text selection work.

  • WebCore.pro:
  • platform/gdk/MouseEventGdk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent):

WebKit/gtk:
2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Fix text selection by setting a DragClient when creating the Page. Now
that we have a DragClient we can free the Page when WebKitGtkPage gets
destructed.

  • Api/webkitgtkpage.cpp:
  • WebCoreSupport/DragClientGtk.cpp: Added. (WebKit::DragClient::willPerformDragDestinationAction): (WebKit::DragClient::willPerformDragSourceAction): (WebKit::DragClient::actionMaskForDrag): (WebKit::DragClient::dragSourceActionMaskForPoint): (WebKit::DragClient::startDrag): (WebKit::DragClient::createDragImageForLink):
  • WebCoreSupport/DragClientGtk.h: Added.
5:09 PM Changeset in webkit [25004] by thatcher
  • 3 edits in trunk/WebKit

Reviewed by Mark Rowe.

<rdar://problem/5403302> HIWebView.h should be #ifdefed out for 64-bit

  • Carbon/HIWebView.h: #ifdef out the header in 64-bit. Adds a comment about 32-bit only.
  • Carbon/CarbonUtils.h: Ditto.
5:05 PM Changeset in webkit [25003] by adachan
  • 2 edits in trunk/WebKit/win

2007-08-10 Ada Chan <adachan@apple.com>

Reviewed by Adam and Darin.


<rdar://problem/5403095> Crash in WebViewWndProc after closing a window
We are seeing another case where WM_SETFOCUS is sent after WM_DESTROY has been handled in WebView.
Bail early in the wndProc if WebView is set to be destroyed.

  • WebView.cpp: (WebViewWndProc):
4:49 PM Changeset in webkit [25002] by andersca
  • 7 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin and Maciej.

<rdar://problem/5360748>
REGRESSION(r21002-r21003) Flash widget sniffer doesn't work (affects iWeb)


Add test case by Kurt Revis.


  • fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt: Added.
  • fast/dom/NodeList/invalidate-node-lists-when-parsing.html: Added.

WebCore:

Reviewed by Darin and Maciej.

<rdar://problem/5360748>
REGRESSION(r21002-r21003) Flash widget sniffer doesn't work


Add a per-document NodeList counter. When parsing, only call notifyNodeListsChildrenChanged
if the document has node lists. Also, make sure to reset the cache when the node list count has
been 0 and a new node list is registered to avoid any stale cache information.


  • dom/ContainerNode.cpp: (WebCore::ContainerNode::addChild):
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h: (WebCore::Document::addNodeList): (WebCore::Document::removeNodeList): (WebCore::Document::hasNodeLists):
  • dom/Node.cpp: (WebCore::Node::registerNodeList): (WebCore::Node::unregisterNodeList):
4:47 PM Changeset in webkit [25001] by oliver
  • 3 edits in trunk/LayoutTests

Reviewed by Mark.

Update layout test to avoid problems caused by differences in whitespace
for NSAttributedString descriptions on Tiger and Leopard

  • fast/text/attributed-substring-from-range-expected.txt:
  • fast/text/attributed-substring-from-range.html:
4:24 PM Changeset in webkit [25000] by thatcher
  • 35 edits
    1 delete in trunk

JavaScriptCore:

Reviewed by Adam.

<rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit

Disable the NPAPI for 64-bit on Mac OS X.

  • Configurations/JavaScriptCore.xcconfig: Use the 64-bit export file.
  • JavaScriptCore.xcodeproj/project.pbxproj: Create a 64-bit export file that filters out the NPN fnctions.
  • bindings/NP_jsobject.cpp: #ifdef out this for 64-bit on Mac OS X
  • bindings/NP_jsobject.h: Ditto.
  • bindings/c/c_class.cpp: Ditto.
  • bindings/c/c_class.h: Ditto.
  • bindings/c/c_instance.cpp: Ditto.
  • bindings/c/c_instance.h: Ditto.
  • bindings/c/c_runtime.cpp: Ditto.
  • bindings/c/c_runtime.h: Ditto.
  • bindings/c/c_utility.cpp: Ditto.
  • bindings/c/c_utility.h: Ditto.
  • bindings/npapi.h: Ditto.
  • bindings/npruntime.cpp: Ditto.
  • bindings/npruntime.h: Ditto.
  • bindings/npruntime_impl.h: Ditto.
  • bindings/npruntime_priv.h: Ditto.
  • bindings/runtime.cpp: (KJS::Bindings::Instance::createBindingForLanguageInstance): don't creat an NPObject on Mac OS X in 64-bit.

WebCore:

Reviewed by Adam.

<rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit

Disable NPObject use in 64-bit on Mac OS X.

  • Configurations/WebCore.xcconfig: Add a framework search path to the sub-framworks of Carbon.
  • WebCore.xcodeproj/project.pbxproj: Filter out the Frame::windowScriptNPObject() symbol in 64-bit.
  • bindings/objc/DOM.mm: (-[DOMElement _NPObject]): Return null in 64-bit.
  • config.h: Set WTF_USE_NPOBJECT to 0 in 64-bit Mac OS X.
  • page/Frame.cpp: (WebCore::Frame::cleanupScriptObjects): Add more #if USE(NPOBJECT) blocks where needed.
  • page/Frame.h: Ditto.
  • page/mac/FrameMac.mm: (WebCore::Frame::createScriptInstanceForWidget): Ditto.
  • page/mac/WebCoreFrameBridge.h: Ditto.
  • page/mac/WebCoreFrameBridge.mm: Ditto.

WebKit:

Reviewed by Adam.

<rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit

Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file.

  • Configurations/WebKit.xcconfig: Point to the generated 64-bit export file.
  • Plugins/WebBasePluginPackage.h:
  • Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X.
  • WebKit.LP64.exp: Removed.
  • WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file.
  • WebKitPrefix.h: Define WTF_USE_NPOBJECT.
3:20 PM Changeset in webkit [24999] by adele
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Justin.

  • editing/selection/inline-closest-leaf-child-expected.checksum: Added.
  • editing/selection/inline-closest-leaf-child-expected.png: Added.
  • editing/selection/inline-closest-leaf-child-expected.txt: Added.
  • editing/selection/inline-closest-leaf-child.html: Added.

WebCore:

Reviewed by Justin.

Test: editing/selection/inline-closest-leaf-child.html

  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::closestLeafChildForXPos): Return the last leaf if it's the closest match, or if no other leaf matches (for example if all leaves are list markers or non-editable where editable is required).
1:57 PM Changeset in webkit [24998] by andersca
  • 4 edits in trunk

WebCore:

Reviewed by Geoff.

<rdar://problem/5390568>
REGRESSION: –[WebFrame loadHTMLString:baseURL:] leaks the data source.


Revert the fix for <rdar://problem/5133420> which caused us to not cancel
substitute data loads. It's better to remove the assertion in the WebKit layer.


  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didCancel):

WebKit:

Reviewed by Geoff.

<rdar://problem/5390568>
REGRESSION: –[WebFrame loadHTMLString:baseURL:] leaks the data source


If the identifier is not in the map, just bail out instead of asserting. This is a better fix for
<rdar://problem/5133420> because WebCore shouldn't have to worry about the lifetime of WebKit objects.


  • WebView/WebDocumentLoaderMac.mm: (WebDocumentLoaderMac::decreaseLoadCount):
12:39 PM Changeset in webkit [24997] by oliver
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

Added new layout test to validate fix for <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM

Corrected fast/text/attributed-substring-from-range to account for additional whitespace, and to be correct.

  • fast/text/attributed-substring-from-range-expected.txt:
  • fast/text/attributed-substring-from-range-in-textfield-expected.txt: Added.
  • fast/text/attributed-substring-from-range-in-textfield.html: Added.
  • fast/text/attributed-substring-from-range.html:

WebKit:

Reviewed by Darin.

Fixed <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM by working around <rdar://problem/5400551> [NSAttributedString(WebKitExtras) _web_attributedStringFromRange:] adds whitespace to the requested range

We truncate the returned string to the expected length.

  • WebView/WebHTMLView.mm: (-[WebHTMLView attributedSubstringFromRange:]):
11:59 AM Changeset in webkit [24996] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-10-08 Mahesh Kulkarni <mahesh.kulkarni>

Reviewed by Sachin.
DESC: Buildbreak for the fix of Problem with CPluginSkin::PluginScriptableObject
http://bugs.webkit.org/show_bug.cgi?id=14383

  • WebKit\Plugin\src\PluginSkin.cpp: Added "err" variable and defined KPluginScriptabilityAllowed in xls
11:45 AM Changeset in webkit [24995] by weinig
  • 3 edits in trunk/WebCore

Rubber-stamped by Adam Roben.

Fix Windows, Qt and Gtk build.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
11:10 AM Changeset in webkit [24994] by weinig
  • 8 edits
    30 adds in trunk

LayoutTests:

Reviewed by Maciej.

Tests for <rdar://problem/5395618>

  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode.html: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt: Added.
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS.html: Added.

WebCore:

Reviewed by Maciej.

Fix for <rdar://problem/5395618>

Use checkNodeSecurity when setting the 'src' or 'location' attribute of an
iframe or frame element.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSAttrCustom.cpp: Added. (WebCore::JSAttr::setValue): Call checkNodeSecurity for attributes with a current iframe or frame ownerElement when setting src to a javascript: URL.
  • bindings/js/JSElementCustom.cpp: Added. (WebCore::allowSettingSrcToJavascriptURL): (WebCore::JSElement::setAttribute): Call checkNodeSecurity when element is a frame or iframe and setting he src attribute to a javascript: URL. (WebCore::JSElement::setAttributeNode): Ditto. (WebCore::JSElement::setAttributeNS): Ditto. (WebCore::JSElement::setAttributeNodeNS): Ditto.
  • bindings/js/JSHTMLFrameElementCustom.cpp: Added. (WebCore::allowSettingJavascriptURL): (WebCore::JSHTMLFrameElement::setSrc): Call checkNodeSecurity when setting to a javascript: URL. (WebCore::JSHTMLFrameElement::setLocation): Ditto.
  • bindings/js/JSHTMLIFrameElementCustom.cpp: Added. (WebCore::JSHTMLIFrameElement::setSrc): Call checkNodeSecurity when setting to a javascript: URL.
  • bindings/scripts/CodeGeneratorJS.pm: Add support for [CustomGetter] and [CustomSetter]
  • dom/Attr.idl:
  • dom/Element.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLIFrameElement.idl:
10:22 AM Changeset in webkit [24993] by zecke
  • 11 edits in trunk

WebCore:

2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Anders.

Make the containingWindow a GtkContainer and make use of the
GtkWidget::window instead of the GtkLayout::bin_window.

  • platform/Widget.h:
  • platform/gdk/PlatformScreenGdk.cpp: (WebCore::screenDepth):
  • platform/gdk/ScrollViewGdk.cpp: (WebCore::ScrollView::updateContents): (WebCore::ScrollView::update):
  • platform/gdk/WidgetGdk.cpp: (WebCore::Widget::setContainingWindow): (WebCore::Widget::setCursor):

WebKit/gtk:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Anders.

Make WebKitGtkPage a GtkContainer to avoid a size_allocate
race of GtkScrollBar and GtkLayout.

  • Api/webkitgtk-marshal.list:
  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • Api/webkitgtkprivate.h:
8:21 AM Changeset in webkit [24992] by zecke
  • 3 edits in trunk/WebKit/gtk

2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Minor changes to the WebKit::EditorClient to allow removing
of text from TextFields. Remove the selectWordBeforeMenuEvent method
which is not used and not within WebCore::EditorClient.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::shouldDeleteRange): (WebKit::EditorClient::shouldBeginEditing): (WebKit::EditorClient::shouldEndEditing): (WebKit::EditorClient::shouldApplyStyle): (WebKit::EditorClient::shouldInsertNode):
  • WebCoreSupport/EditorClientGtk.h:
7:36 AM Changeset in webkit [24991] by zimmermann
  • 67 edits
    2 adds in branches/feature-branch

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

Final, long-awaited RenderSVGContainer split. Make RenderSVGContainer really a simple
container without special cases for inner <svg> elements or <marker>. Create a new
RenderSVGViewportContainer class handling these cases now.

7:25 AM Changeset in webkit [24990] by hausmann
  • 2 edits in trunk/WebKitQt

Limit the set of properties from the computed style to apply to Qt
plugin widgets, as only a few of them make sense.

7:25 AM Changeset in webkit [24989] by hausmann
  • 3 edits in trunk/WebCore

Revert r24699 as it broke timers. The precision of QTime::toTime_t() is just seconds, which is not good enough. Revert back
to the old implementation and use the simple implementation of currentTime() from win/ for the Qt/Windows build (fingers crossed :)

6:21 AM Changeset in webkit [24988] by zimmermann
  • 50 edits
    8 adds in branches/feature-branch

Reviewed by Oliver & Rob.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=12501 (SVG Text fails to respect opacity, fill-opacity and stroke-opacity)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=14045 (Incorrect support for opacity, fill-opacity and stroke-opacity)

Based on an older patch from Rob, this fixes SVG text opacity as well as group opacity for solid fills & gradients.
The pattern changes are still missing a testcase (need to wait for Antoine Quint for that).

6:21 AM Changeset in webkit [24987] by hausmann
  • 2 edits in trunk/WebCore

Recognize .htm as valid extension for text/html.

5:56 AM Changeset in webkit [24986] by lars
  • 4 edits in trunk/WebKitQt

Use <object>'s classid attribute for creation of plugins through QWebPage::createPlugin.

5:56 AM Changeset in webkit [24985] by lars
  • 2 edits in trunk/WebCore

remove an assertion that leads to crashes. The whole design of WidgetQt and ScrollViewQt needs to be reevaluated soon anyways.

4:33 AM Changeset in webkit [24984] by bdash
  • 1 edit
    1 add in trunk/WebCore

2007-08-10 Mark Rowe <mrowe@apple.com>

Fix the Mac build.

  • ForwardingHeaders/bindings/runtime_object.h: Added.
4:08 AM Changeset in webkit [24983] by hausmann
  • 2 edits in trunk/WebKitQt

Added support for network jobs from Qt resources using the qrc protocol.

4:08 AM Changeset in webkit [24982] by hausmann
  • 2 edits in trunk/WebKitQt

Added support for "application/x-qt-styled-widget" that is treated like "application/x-qt-plugin" but also
gets a Qt widget stylesheet set from the CSS computed style and the element style attribute.

4:08 AM Changeset in webkit [24981] by hausmann
  • 2 edits in trunk/WebCore

Make sure -fno-strict-aliasing is also added for mkspecs like linux-g++-64.

4:08 AM Changeset in webkit [24980] by hausmann
  • 6 edits in trunk/WebCore

Enable JavaScript bindings for HTML Object/Applet elements in the Qt port.

4:07 AM Changeset in webkit [24979] by hausmann
  • 4 edits in trunk/WebKitQt

Added virtual QWebPage::createPlugin that is called for embedded objects with the mime type "application/x-qt-plugin"
and fixed widget embedding by setting the right QWidget parent.

2:58 AM Changeset in webkit [24978] by zecke
  • 15 edits in trunk/WebKit/gtk

2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Mark.

Rename the namespace from WebKitGtk to WebKit. Move the various *Client
classes into the WebKit namespace. Change the class names to not contain Gtk.
The file names have to contain the Gtk suffix to not clash with files in WebCore (e.g.
bridge/EditorClient.h).

  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkprivate.cpp:
  • Api/webkitgtkprivate.h:
  • ChangeLog:
  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::ChromeClient): (WebKit::ChromeClient::chromeDestroyed): (WebKit::ChromeClient::windowRect): (WebKit::ChromeClient::setWindowRect): (WebKit::ChromeClient::pageRect): (WebKit::ChromeClient::scaleFactor): (WebKit::ChromeClient::focus): (WebKit::ChromeClient::unfocus): (WebKit::ChromeClient::createWindow): (WebKit::ChromeClient::createModalDialog): (WebKit::ChromeClient::show): (WebKit::ChromeClient::canRunModal): (WebKit::ChromeClient::runModal): (WebKit::ChromeClient::setToolbarsVisible): (WebKit::ChromeClient::toolbarsVisible): (WebKit::ChromeClient::setStatusbarVisible): (WebKit::ChromeClient::statusbarVisible): (WebKit::ChromeClient::setScrollbarsVisible): (WebKit::ChromeClient::scrollbarsVisible): (WebKit::ChromeClient::setMenubarVisible): (WebKit::ChromeClient::menubarVisible): (WebKit::ChromeClient::setResizable): (WebKit::ChromeClient::closeWindowSoon): (WebKit::ChromeClient::canTakeFocus): (WebKit::ChromeClient::takeFocus): (WebKit::ChromeClient::canRunBeforeUnloadConfirmPanel): (WebKit::ChromeClient::runBeforeUnloadConfirmPanel): (WebKit::ChromeClient::runJavaScriptAlert): (WebKit::ChromeClient::runJavaScriptConfirm): (WebKit::ChromeClient::setStatusbarText): (WebKit::ChromeClient::shouldInterruptJavaScript): (WebKit::ChromeClient::tabsToLinks): (WebKit::ChromeClient::windowResizerRect): (WebKit::ChromeClient::addToDirtyRegion): (WebKit::ChromeClient::scrollBackingStore): (WebKit::ChromeClient::updateBackingStore): (WebKit::ChromeClient::mouseDidMoveOverElement): (WebKit::ChromeClient::setToolTip):
  • WebCoreSupport/ChromeClientGtk.h:
  • WebCoreSupport/ContextMenuClientGtk.cpp: (WebKit::ContextMenuClient::contextMenuDestroyed): (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems): (WebKit::ContextMenuClient::contextMenuItemSelected): (WebKit::ContextMenuClient::downloadURL): (WebKit::ContextMenuClient::copyImageToClipboard): (WebKit::ContextMenuClient::searchWithGoogle): (WebKit::ContextMenuClient::lookUpInDictionary): (WebKit::ContextMenuClient::speak):
  • WebCoreSupport/ContextMenuClientGtk.h:
  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::shouldDeleteRange): (WebKit::EditorClient::shouldShowDeleteInterface): (WebKit::EditorClient::isContinuousSpellCheckingEnabled): (WebKit::EditorClient::isGrammarCheckingEnabled): (WebKit::EditorClient::spellCheckerDocumentTag): (WebKit::EditorClient::shouldBeginEditing): (WebKit::EditorClient::shouldEndEditing): (WebKit::EditorClient::shouldInsertText): (WebKit::EditorClient::shouldChangeSelectedRange): (WebKit::EditorClient::shouldApplyStyle): (WebKit::EditorClient::shouldMoveRangeAfterDelete): (WebKit::EditorClient::didBeginEditing): (WebKit::EditorClient::respondToChangedContents): (WebKit::EditorClient::respondToChangedSelection): (WebKit::EditorClient::didEndEditing): (WebKit::EditorClient::didWriteSelectionToPasteboard): (WebKit::EditorClient::didSetSelectionTypesForPasteboard): (WebKit::EditorClient::selectWordBeforeMenuEvent): (WebKit::EditorClient::isEditable): (WebKit::EditorClient::registerCommandForUndo): (WebKit::EditorClient::registerCommandForRedo): (WebKit::EditorClient::clearUndoRedoOperations): (WebKit::EditorClient::canUndo): (WebKit::EditorClient::canRedo): (WebKit::EditorClient::undo): (WebKit::EditorClient::redo): (WebKit::EditorClient::shouldInsertNode): (WebKit::EditorClient::pageDestroyed): (WebKit::EditorClient::smartInsertDeleteEnabled): (WebKit::EditorClient::toggleContinuousSpellChecking): (WebKit::EditorClient::toggleGrammarChecking): (WebKit::EditorClient::handleInputMethodKeypress): (WebKit::EditorClient::EditorClient): (WebKit::EditorClient::textFieldDidBeginEditing): (WebKit::EditorClient::textFieldDidEndEditing): (WebKit::EditorClient::textDidChangeInTextField): (WebKit::EditorClient::doTextFieldCommandFromEvent): (WebKit::EditorClient::textWillBeDeletedInTextField): (WebKit::EditorClient::textDidChangeInTextArea): (WebKit::EditorClient::ignoreWordInSpellDocument): (WebKit::EditorClient::learnWord): (WebKit::EditorClient::checkSpellingOfString): (WebKit::EditorClient::checkGrammarOfString): (WebKit::EditorClient::updateSpellingUIWithGrammarString): (WebKit::EditorClient::updateSpellingUIWithMisspelledWord): (WebKit::EditorClient::showSpellingUI): (WebKit::EditorClient::spellingUIIsShowing):
  • WebCoreSupport/EditorClientGtk.h:
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::FrameLoaderClient): (WebKit::FrameLoaderClient::userAgent): (WebKit::FrameLoaderClient::createDocumentLoader): (WebKit::FrameLoaderClient::committedLoad): (WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): (WebKit::FrameLoaderClient::dispatchDidCancelAuthenticationChallenge): (WebKit::FrameLoaderClient::dispatchWillSendRequest): (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest): (WebKit::FrameLoaderClient::postProgressStartedNotification): (WebKit::FrameLoaderClient::postProgressFinishedNotification): (WebKit::FrameLoaderClient::frameLoaderDestroyed): (WebKit::FrameLoaderClient::dispatchDidReceiveResponse): (WebKit::FrameLoaderClient::createPlugin): (WebKit::FrameLoaderClient::redirectDataToPlugin): (WebKit::FrameLoaderClient::createJavaAppletWidget): (WebKit::FrameLoaderClient::overrideMediaType): (WebKit::FrameLoaderClient::windowObjectCleared): (WebKit::FrameLoaderClient::setMainFrameDocumentReady): (WebKit::FrameLoaderClient::hasWebView): (WebKit::FrameLoaderClient::hasFrameView): (WebKit::FrameLoaderClient::dispatchDidFinishLoad): (WebKit::FrameLoaderClient::frameLoadCompleted): (WebKit::FrameLoaderClient::saveViewStateToItem): (WebKit::FrameLoaderClient::restoreViewState): (WebKit::FrameLoaderClient::privateBrowsingEnabled): (WebKit::FrameLoaderClient::makeDocumentView): (WebKit::FrameLoaderClient::makeRepresentation): (WebKit::FrameLoaderClient::forceLayout): (WebKit::FrameLoaderClient::forceLayoutForNonHTML): (WebKit::FrameLoaderClient::setCopiesOnScroll): (WebKit::FrameLoaderClient::detachedFromParent1): (WebKit::FrameLoaderClient::detachedFromParent2): (WebKit::FrameLoaderClient::detachedFromParent3): (WebKit::FrameLoaderClient::detachedFromParent4): (WebKit::FrameLoaderClient::loadedFromCachedPage): (WebKit::FrameLoaderClient::dispatchDidHandleOnloadEvents): (WebKit::FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidCancelClientRedirect): (WebKit::FrameLoaderClient::dispatchWillPerformClientRedirect): (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage): (WebKit::FrameLoaderClient::dispatchWillClose): (WebKit::FrameLoaderClient::dispatchDidReceiveIcon): (WebKit::FrameLoaderClient::dispatchDidStartProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidReceiveTitle): (WebKit::FrameLoaderClient::dispatchDidCommitLoad): (WebKit::FrameLoaderClient::dispatchDidFinishDocumentLoad): (WebKit::FrameLoaderClient::dispatchDidFirstLayout): (WebKit::FrameLoaderClient::dispatchShow): (WebKit::FrameLoaderClient::cancelPolicyCheck): (WebKit::FrameLoaderClient::dispatchDidLoadMainResource): (WebKit::FrameLoaderClient::revertToProvisionalState): (WebKit::FrameLoaderClient::clearUnarchivingState): (WebKit::FrameLoaderClient::willChangeTitle): (WebKit::FrameLoaderClient::didChangeTitle): (WebKit::FrameLoaderClient::finishedLoading): (WebKit::FrameLoaderClient::finalSetupForReplace): (WebKit::FrameLoaderClient::setDefersLoading): (WebKit::FrameLoaderClient::isArchiveLoadPending): (WebKit::FrameLoaderClient::cancelPendingArchiveLoad): (WebKit::FrameLoaderClient::clearArchivedResources): (WebKit::FrameLoaderClient::canHandleRequest): (WebKit::FrameLoaderClient::canShowMIMEType): (WebKit::FrameLoaderClient::representationExistsForURLScheme): (WebKit::FrameLoaderClient::generatedMIMETypeForURLScheme): (WebKit::FrameLoaderClient::provisionalLoadStarted): (WebKit::FrameLoaderClient::didFinishLoad): (WebKit::FrameLoaderClient::setDocumentViewFromCachedPage): (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength): (WebKit::FrameLoaderClient::dispatchDidFinishLoading): (WebKit::FrameLoaderClient::dispatchDidFailLoading): (WebKit::FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad): (WebKit::FrameLoaderClient::dispatchDidFailLoad): (WebKit::FrameLoaderClient::download): (WebKit::FrameLoaderClient::cancelledError): (WebKit::FrameLoaderClient::blockedError): (WebKit::FrameLoaderClient::cannotShowURLError): (WebKit::FrameLoaderClient::interruptForPolicyChangeError): (WebKit::FrameLoaderClient::cannotShowMIMETypeError): (WebKit::FrameLoaderClient::fileDoesNotExistError): (WebKit::FrameLoaderClient::shouldFallBack): (WebKit::FrameLoaderClient::willUseArchive): (WebKit::FrameLoaderClient::saveDocumentViewToCachedPage): (WebKit::FrameLoaderClient::canCachePage): (WebKit::FrameLoaderClient::dispatchCreatePage): (WebKit::FrameLoaderClient::dispatchUnableToImplementPolicy):
  • WebCoreSupport/FrameLoaderClientGtk.h:
  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::inspectorDestroyed): (WebKit::InspectorClient::createPage): (WebKit::InspectorClient::showWindow): (WebKit::InspectorClient::closeWindow): (WebKit::InspectorClient::attachWindow): (WebKit::InspectorClient::detachWindow): (WebKit::InspectorClient::highlight): (WebKit::InspectorClient::hideHighlight):
  • WebCoreSupport/InspectorClientGtk.h:
12:50 AM Changeset in webkit [24977] by bdash
  • 5 edits
    4 adds in trunk

2007-08-10 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/text/international/bidi-neutral-run.html

Fixed several bugs in resolving the embedding level of runs of neutral
characters. Changed the logic to rely on the eor direction only for
the number types, and otherwise consider the last strong type.

  • platform/BidiContext.h: (WebCore::BidiContext::BidiContext): Added an ASSERT.
  • platform/BidiResolver.h: (WebCore::::embed): (WebCore::::createBidiRunsForLine):
  • platform/graphics/GraphicsContext.cpp: (WebCore::TextRunIterator::atEnd): Changed to return true instead of crashing when called on the empty iterator.

2007-08-10 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/text/international/bidi-neutral-run-expected.checksum: Added.
  • fast/text/international/bidi-neutral-run-expected.png: Added.
  • fast/text/international/bidi-neutral-run-expected.txt: Added.
  • fast/text/international/bidi-neutral-run.html: Added.

Aug 9, 2007:

11:08 PM Changeset in webkit [24976] by bdash
  • 12 edits in trunk

2007-08-09 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

<rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

  • Configurations/Version.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

<rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

  • Configurations/Version.xcconfig:
  • JavaScriptGlue.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

<rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

  • Configurations/Version.xcconfig:
  • WebCore.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between Version.xcconfig and Info.plist explicit to Xcode.

2007-08-09 Mark Rowe <mrowe@apple.com>

Reviewed by Antti.

<rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +

  • Configurations/Version.xcconfig:
  • WebKit.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between Version.xcconfig and Info.plist explicit to Xcode.
9:12 PM Changeset in webkit [24975] by weinig
  • 4 edits in trunk/LayoutTests

Reviewed by Mark Rowe.

Use index-getter instead of name-getter to better ensure
that the frame has finished loading.

  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open.html:
8:56 PM Changeset in webkit [24974] by bdash
  • 3 edits
    4 adds in trunk

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Justin Garcia.

Test: editing/selection/contains-boundaries.html

  • editing/SelectionController.cpp: (WebCore::SelectionController::contains): Changed to return true for the selection boundaries too.

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Justin Garcia.

  • editing/selection/contains-boundaries-expected.checksum: Added.
  • editing/selection/contains-boundaries-expected.png: Added.
  • editing/selection/contains-boundaries-expected.txt: Added.
  • editing/selection/contains-boundaries.html: Added.
8:52 PM Changeset in webkit [24973] by bdash
  • 2 edits in trunk/WebCore

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

updateStyleSelector() is normally called when something changes that factors
into the style selector. However, updateLayoutIgnorePendingStylesheets() calls it for
a different reason, namely to account for all the preceding changes that were ignored
because of the early return in updateStyleSelector(). After that, the early return
can no longer occur, so changes are accounted for as they happen, and
updateLayoutIgnorePendingStylesheets() does not need to call updateStyleSelector()
again.

  • dom/Document.cpp: (WebCore::Document::updateLayoutIgnorePendingStylesheets): Call updateStyleSelector() only before the first layout.
8:49 PM Changeset in webkit [24972] by bdash
  • 2 edits in trunk/WebCore

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Adam Roben.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupWndProc): Track the mouse only inside the popup.
8:46 PM Changeset in webkit [24971] by bdash
  • 3 edits
    4 adds in trunk

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/layers/scroll-rect-to-visible.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Account for borders and scroll bars.

2007-08-09 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/layers/scroll-rect-to-visible-expected.checksum: Added.
  • fast/layers/scroll-rect-to-visible-expected.png: Added.
  • fast/layers/scroll-rect-to-visible-expected.txt: Added.
  • fast/layers/scroll-rect-to-visible.html: Added.
7:30 PM Changeset in webkit [24970] by ggaren
  • 16 edits in trunk/WebCore

Reviewed by Dave Hyatt.


Refactored live decoded resource eviction to be more modular /
encapsulated.


This fixes one known place where we forgot to hook into the live
decoded eviction mechanism -- canvas. There might be other, unknown
places. In a canvas test page, which I broke off from the Safari
pageout test, I saw an RPRVT reduction of ~10MB.


A few renames:

  • "m_lastLiveAccessTime" => "m_lastDecodedAccessTime" because the data point we're recording is access to the resource in decoded form.


  • "liveResourceAccessed" => "didAccessDecodedData" for the same reason.
  • "pruneAllResources" => "pruneDeadResources" because this function does not prune live resources.


And the fix:
Instead of updating cache metadata at the call site whenver drawing an
image, just have an image notify its observer whenever it draws. The
observer, which is a CachedResource, can then update the metadata.


  • loader/Cache.cpp: Renames
  • loader/Cache.h: Removed stale declarations, updated comments
  • loader/CachedImage.cpp: (WebCore::CachedImage::didDraw): Implemented didDraw to update cache metadata whenever our image draws.
  • loader/CachedImage.h: Grouped parts of the ImageObserver interface.
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::deref): (WebCore::CachedResource::didAccessDecodedData): Made this function slightly more modular by allowing the caller to provide a time stamp. In theory, not all CachedResources will necessarily want to use the current paint time stamp.
  • platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw): Notify our observer that we drew. (WebCore::Image::drawPattern): ditto
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::draw): ditto
  • platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::draw): ditto


Removed old code at image drawing call sites:


  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintBackgroundExtended):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::paint):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintBorderImage):
6:53 PM Changeset in webkit [24969] by zecke
  • 8 edits
    10 moves in trunk

WebCore:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Move the various *ClientGdk.{h,cpp} away from the WebCore directory as
of http://bugs.webkit.org/show_bug.cgi?id=14727.

  • WebCore.pro:
  • platform/gdk/TemporaryLinkStubs.cpp:

WebKit/gtk:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

As of http://bugs.webkit.org/show_bug.cgi?id=14727 move the
various *ClientGdk.{cpp,h} files from WebCore to WebKit/gtk/WebCoreSupport and
rename it from Gdk to Gtk.

  • Api/webkitgtkdefines.h:
  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkframe.h:
  • Api/webkitgtkglobal.cpp:
  • Api/webkitgtkglobal.h:
  • Api/webkitgtknetworkrequest.cpp:
  • Api/webkitgtknetworkrequest.h:
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • Api/webkitgtkprivate.cpp:
  • Api/webkitgtkprivate.h:
  • Api/webkitgtksettings.cpp:
  • Api/webkitgtksettings.h:
  • WebCoreSupport/ChromeClientGtk.cpp: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.cpp. (WebKitGtk::ChromeClientGtk::ChromeClientGtk): (WebKitGtk::ChromeClientGtk::chromeDestroyed): (WebKitGtk::ChromeClientGtk::windowRect): (WebKitGtk::ChromeClientGtk::setWindowRect): (WebKitGtk::ChromeClientGtk::pageRect): (WebKitGtk::ChromeClientGtk::scaleFactor): (WebKitGtk::ChromeClientGtk::focus): (WebKitGtk::ChromeClientGtk::unfocus): (WebKitGtk::ChromeClientGtk::createWindow): (WebKitGtk::ChromeClientGtk::createModalDialog): (WebKitGtk::ChromeClientGtk::show): (WebKitGtk::ChromeClientGtk::canRunModal): (WebKitGtk::ChromeClientGtk::runModal): (WebKitGtk::ChromeClientGtk::setToolbarsVisible): (WebKitGtk::ChromeClientGtk::toolbarsVisible): (WebKitGtk::ChromeClientGtk::setStatusbarVisible): (WebKitGtk::ChromeClientGtk::statusbarVisible): (WebKitGtk::ChromeClientGtk::setScrollbarsVisible): (WebKitGtk::ChromeClientGtk::scrollbarsVisible): (WebKitGtk::ChromeClientGtk::setMenubarVisible): (WebKitGtk::ChromeClientGtk::menubarVisible): (WebKitGtk::ChromeClientGtk::setResizable): (WebKitGtk::ChromeClientGtk::closeWindowSoon): (WebKitGtk::ChromeClientGtk::canTakeFocus): (WebKitGtk::ChromeClientGtk::takeFocus): (WebKitGtk::ChromeClientGtk::canRunBeforeUnloadConfirmPanel): (WebKitGtk::ChromeClientGtk::runBeforeUnloadConfirmPanel): (WebKitGtk::ChromeClientGtk::addMessageToConsole): (WebKitGtk::ChromeClientGtk::runJavaScriptAlert): (WebKitGtk::ChromeClientGtk::runJavaScriptConfirm): (WebKitGtk::ChromeClientGtk::runJavaScriptPrompt): (WebKitGtk::ChromeClientGtk::setStatusbarText): (WebKitGtk::ChromeClientGtk::shouldInterruptJavaScript): (WebKitGtk::ChromeClientGtk::tabsToLinks): (WebKitGtk::ChromeClientGtk::windowResizerRect): (WebKitGtk::ChromeClientGtk::addToDirtyRegion): (WebKitGtk::ChromeClientGtk::scrollBackingStore): (WebKitGtk::ChromeClientGtk::updateBackingStore): (WebKitGtk::ChromeClientGtk::mouseDidMoveOverElement): (WebKitGtk::ChromeClientGtk::setToolTip):
  • WebCoreSupport/ChromeClientGtk.h: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.h. (WebKitGtk::ChromeClientGtk::webPage):
  • WebCoreSupport/ContextMenuClientGtk.cpp: Renamed from WebCore/page/gdk/ContextMenuClientGdk.cpp. (WebCore::ContextMenuClientGtk::contextMenuDestroyed): (WebCore::ContextMenuClientGtk::getCustomMenuFromDefaultItems): (WebCore::ContextMenuClientGtk::contextMenuItemSelected): (WebCore::ContextMenuClientGtk::downloadURL): (WebCore::ContextMenuClientGtk::copyImageToClipboard): (WebCore::ContextMenuClientGtk::searchWithGoogle): (WebCore::ContextMenuClientGtk::lookUpInDictionary): (WebCore::ContextMenuClientGtk::speak): (WebCore::ContextMenuClientGtk::stopSpeaking):
  • WebCoreSupport/ContextMenuClientGtk.h: Renamed from WebCore/page/gdk/ContextMenuClientGdk.h.
  • WebCoreSupport/EditorClientGtk.cpp: Renamed from WebCore/platform/gdk/EditorClientGdk.cpp. (WebCore::EditorClientGtk::shouldDeleteRange): (WebCore::EditorClientGtk::shouldShowDeleteInterface): (WebCore::EditorClientGtk::isContinuousSpellCheckingEnabled): (WebCore::EditorClientGtk::isGrammarCheckingEnabled): (WebCore::EditorClientGtk::spellCheckerDocumentTag): (WebCore::EditorClientGtk::shouldBeginEditing): (WebCore::EditorClientGtk::shouldEndEditing): (WebCore::EditorClientGtk::shouldInsertText): (WebCore::EditorClientGtk::shouldChangeSelectedRange): (WebCore::EditorClientGtk::shouldApplyStyle): (WebCore::EditorClientGtk::shouldMoveRangeAfterDelete): (WebCore::EditorClientGtk::didBeginEditing): (WebCore::EditorClientGtk::respondToChangedContents): (WebCore::EditorClientGtk::respondToChangedSelection): (WebCore::EditorClientGtk::didEndEditing): (WebCore::EditorClientGtk::didWriteSelectionToPasteboard): (WebCore::EditorClientGtk::didSetSelectionTypesForPasteboard): (WebCore::EditorClientGtk::selectWordBeforeMenuEvent): (WebCore::EditorClientGtk::isEditable): (WebCore::EditorClientGtk::registerCommandForUndo): (WebCore::EditorClientGtk::registerCommandForRedo): (WebCore::EditorClientGtk::clearUndoRedoOperations): (WebCore::EditorClientGtk::canUndo): (WebCore::EditorClientGtk::canRedo): (WebCore::EditorClientGtk::undo): (WebCore::EditorClientGtk::redo): (WebCore::EditorClientGtk::shouldInsertNode): (WebCore::EditorClientGtk::pageDestroyed): (WebCore::EditorClientGtk::smartInsertDeleteEnabled): (WebCore::EditorClientGtk::toggleContinuousSpellChecking): (WebCore::EditorClientGtk::toggleGrammarChecking): (WebCore::EditorClientGtk::handleKeypress): (WebCore::EditorClientGtk::handleInputMethodKeypress): (WebCore::EditorClientGtk::EditorClientGtk): (WebCore::EditorClientGtk::textFieldDidBeginEditing): (WebCore::EditorClientGtk::textFieldDidEndEditing): (WebCore::EditorClientGtk::textDidChangeInTextField): (WebCore::EditorClientGtk::doTextFieldCommandFromEvent): (WebCore::EditorClientGtk::textWillBeDeletedInTextField): (WebCore::EditorClientGtk::textDidChangeInTextArea): (WebCore::EditorClientGtk::ignoreWordInSpellDocument): (WebCore::EditorClientGtk::learnWord): (WebCore::EditorClientGtk::checkSpellingOfString): (WebCore::EditorClientGtk::checkGrammarOfString): (WebCore::EditorClientGtk::updateSpellingUIWithGrammarString): (WebCore::EditorClientGtk::updateSpellingUIWithMisspelledWord): (WebCore::EditorClientGtk::showSpellingUI): (WebCore::EditorClientGtk::spellingUIIsShowing): (WebCore::EditorClientGtk::getGuessesForWord):
  • WebCoreSupport/EditorClientGtk.h: Renamed from WebCore/platform/gdk/EditorClientGdk.h.
  • WebCoreSupport/FrameLoaderClientGtk.cpp: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.cpp. (WebCore::FrameLoaderClientGtk::FrameLoaderClientGtk): (WebCore::FrameLoaderClientGtk::userAgent): (WebCore::FrameLoaderClientGtk::createDocumentLoader): (WebCore::FrameLoaderClientGtk::dispatchWillSubmitForm): (WebCore::FrameLoaderClientGtk::committedLoad): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveAuthenticationChallenge): (WebCore::FrameLoaderClientGtk::dispatchDidCancelAuthenticationChallenge): (WebCore::FrameLoaderClientGtk::dispatchWillSendRequest): (WebCore::FrameLoaderClientGtk::assignIdentifierToInitialRequest): (WebCore::FrameLoaderClientGtk::postProgressStartedNotification): (WebCore::FrameLoaderClientGtk::postProgressEstimateChangedNotification): (WebCore::FrameLoaderClientGtk::postProgressFinishedNotification): (WebCore::FrameLoaderClientGtk::frameLoaderDestroyed): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveResponse): (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForMIMEType): (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNewWindowAction): (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNavigationAction): (WebCore::FrameLoaderClientGtk::createPlugin): (WebCore::FrameLoaderClientGtk::createFrame): (WebCore::FrameLoaderClientGtk::redirectDataToPlugin): (WebCore::FrameLoaderClientGtk::createJavaAppletWidget): (WebCore::FrameLoaderClientGtk::objectContentType): (WebCore::FrameLoaderClientGtk::overrideMediaType): (WebCore::FrameLoaderClientGtk::windowObjectCleared): (WebCore::FrameLoaderClientGtk::setMainFrameDocumentReady): (WebCore::FrameLoaderClientGtk::hasWebView): (WebCore::FrameLoaderClientGtk::hasFrameView): (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoad): (WebCore::FrameLoaderClientGtk::frameLoadCompleted): (WebCore::FrameLoaderClientGtk::saveViewStateToItem): (WebCore::FrameLoaderClientGtk::restoreViewState): (WebCore::FrameLoaderClientGtk::shouldGoToHistoryItem): (WebCore::FrameLoaderClientGtk::privateBrowsingEnabled): (WebCore::FrameLoaderClientGtk::makeDocumentView): (WebCore::FrameLoaderClientGtk::makeRepresentation): (WebCore::FrameLoaderClientGtk::forceLayout): (WebCore::FrameLoaderClientGtk::forceLayoutForNonHTML): (WebCore::FrameLoaderClientGtk::setCopiesOnScroll): (WebCore::FrameLoaderClientGtk::detachedFromParent1): (WebCore::FrameLoaderClientGtk::detachedFromParent2): (WebCore::FrameLoaderClientGtk::detachedFromParent3): (WebCore::FrameLoaderClientGtk::detachedFromParent4): (WebCore::FrameLoaderClientGtk::loadedFromCachedPage): (WebCore::FrameLoaderClientGtk::dispatchDidHandleOnloadEvents): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveServerRedirectForProvisionalLoad): (WebCore::FrameLoaderClientGtk::dispatchDidCancelClientRedirect): (WebCore::FrameLoaderClientGtk::dispatchWillPerformClientRedirect): (WebCore::FrameLoaderClientGtk::dispatchDidChangeLocationWithinPage): (WebCore::FrameLoaderClientGtk::dispatchWillClose): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveIcon): (WebCore::FrameLoaderClientGtk::dispatchDidStartProvisionalLoad): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveTitle): (WebCore::FrameLoaderClientGtk::dispatchDidCommitLoad): (WebCore::FrameLoaderClientGtk::dispatchDidFinishDocumentLoad): (WebCore::FrameLoaderClientGtk::dispatchDidFirstLayout): (WebCore::FrameLoaderClientGtk::dispatchShow): (WebCore::FrameLoaderClientGtk::cancelPolicyCheck): (WebCore::FrameLoaderClientGtk::dispatchDidLoadMainResource): (WebCore::FrameLoaderClientGtk::revertToProvisionalState): (WebCore::FrameLoaderClientGtk::clearUnarchivingState): (WebCore::FrameLoaderClientGtk::willChangeTitle): (WebCore::FrameLoaderClientGtk::didChangeTitle): (WebCore::FrameLoaderClientGtk::finishedLoading): (WebCore::FrameLoaderClientGtk::finalSetupForReplace): (WebCore::FrameLoaderClientGtk::setDefersLoading): (WebCore::FrameLoaderClientGtk::isArchiveLoadPending): (WebCore::FrameLoaderClientGtk::cancelPendingArchiveLoad): (WebCore::FrameLoaderClientGtk::clearArchivedResources): (WebCore::FrameLoaderClientGtk::canHandleRequest): (WebCore::FrameLoaderClientGtk::canShowMIMEType): (WebCore::FrameLoaderClientGtk::representationExistsForURLScheme): (WebCore::FrameLoaderClientGtk::generatedMIMETypeForURLScheme): (WebCore::FrameLoaderClientGtk::provisionalLoadStarted): (WebCore::FrameLoaderClientGtk::didFinishLoad): (WebCore::FrameLoaderClientGtk::prepareForDataSourceReplacement): (WebCore::FrameLoaderClientGtk::setTitle): (WebCore::FrameLoaderClientGtk::setDocumentViewFromCachedPage): (WebCore::FrameLoaderClientGtk::dispatchDidReceiveContentLength): (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoading): (WebCore::FrameLoaderClientGtk::dispatchDidFailLoading): (WebCore::FrameLoaderClientGtk::dispatchDidLoadResourceFromMemoryCache): (WebCore::FrameLoaderClientGtk::dispatchDidFailProvisionalLoad): (WebCore::FrameLoaderClientGtk::dispatchDidFailLoad): (WebCore::FrameLoaderClientGtk::download): (WebCore::FrameLoaderClientGtk::cancelledError): (WebCore::FrameLoaderClientGtk::blockedError): (WebCore::FrameLoaderClientGtk::cannotShowURLError): (WebCore::FrameLoaderClientGtk::interruptForPolicyChangeError): (WebCore::FrameLoaderClientGtk::cannotShowMIMETypeError): (WebCore::FrameLoaderClientGtk::fileDoesNotExistError): (WebCore::FrameLoaderClientGtk::shouldFallBack): (WebCore::FrameLoaderClientGtk::willUseArchive): (WebCore::FrameLoaderClientGtk::saveDocumentViewToCachedPage): (WebCore::FrameLoaderClientGtk::canCachePage): (WebCore::FrameLoaderClientGtk::dispatchCreatePage): (WebCore::FrameLoaderClientGtk::dispatchUnableToImplementPolicy):
  • WebCoreSupport/FrameLoaderClientGtk.h: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.h. (WebCore::FrameLoaderClientGtk::~FrameLoaderClientGtk): (WebCore::FrameLoaderClientGtk::webFrame):
  • WebCoreSupport/InspectorClientGtk.cpp: Renamed from WebCore/page/gdk/InspectorClientGdk.cpp. (WebCore::InspectorClientGtk::inspectorDestroyed): (WebCore::InspectorClientGtk::createPage): (WebCore::InspectorClientGtk::showWindow): (WebCore::InspectorClientGtk::closeWindow): (WebCore::InspectorClientGtk::attachWindow): (WebCore::InspectorClientGtk::detachWindow): (WebCore::InspectorClientGtk::highlight): (WebCore::InspectorClientGtk::hideHighlight): (WebCore::InspectorClientGtk::inspectedURLChanged):
  • WebCoreSupport/InspectorClientGtk.h: Renamed from WebCore/page/gdk/InspectorClientGdk.h.
6:28 PM Changeset in webkit [24968] by andersca
  • 2 edits in trunk/LayoutTests

Reviewed by Oliver.

<rdar://problem/5313534> REGRESSION(Leopard): Some fast/xsl tests sometimes fail on Leopard

These tests no longer fail for me, so let's try removing them from the skipped file
and see what happens.


  • mac/leopard/Skipped:
6:04 PM Changeset in webkit [24967] by andersca
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/5400029> iframes with an image src rarely load image


Don't try to shrink standalone images in subframes. The resize event is not
sent for subframes which screws up the shrink-to-fit logic.


  • loader/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure): (WebCore::ImageDocument::imageChanged): (WebCore::ImageDocument::shouldShrinkToFit):
  • loader/ImageDocument.h:
5:33 PM Changeset in webkit [24966] by zecke
  • 2 edits in trunk/WebKit

Moved Gtk changelog entries from WebKit/ChangeLog to WebKit/gtk/ChangeLog.

Rubberstamped by Adam.

5:25 PM Changeset in webkit [24965] by zecke
  • 2 edits in trunk/WebKit/gtk

2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Build fix.

  • Api/webkitgtkframe.cpp:
5:19 PM Changeset in webkit [24964] by zecke
  • 8 edits
    2 deletes in trunk

WebCore:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Implement FrameLoaderClientGdk::createFrame mostly by copying
the windows implementation. A method similiar to WebFrame::loadURLIntoChild
was not introduced instead we have a simplified version similiar to the
one of the Qt port.

Remove building of WebKit/gtk/webkitgtkframedata.{cpp,h}.

  • WebCore.pro:
  • loader/gdk/FrameLoaderClientGdk.cpp: (WebCore::FrameLoaderClientGdk::createFrame):

WebKit/gtk:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Remove the create_frame virtual method of WebKitGtkPage. This method was inspired
by the Qt port but to be useful for reimplementations WebKitGtkFrameData would need
to export/expose WebCore types. WebView doesn't offer such a method so I decided to
remove it.
Add a internal constructor to WebKitGtkFrame to be used for constructing Sub-Frames. This
is currently used by FrameLoaderClientGdk::createFrame.

  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkframedata.cpp: Removed.
  • Api/webkitgtkframedata.h: Removed.
  • Api/webkitgtkpage.cpp:
  • Api/webkitgtkpage.h:
  • Api/webkitgtkprivate.h:
4:44 PM Changeset in webkit [24963] by zecke
  • 10 edits
    1 add in trunk

WebCore:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Use the ScrollView/Widget design of the Windows port to only use one
native window for the whole page. This will make it possible to implement
FrameLoaderClientGdk::createFrame.

In contrast to the windows port the ScrollBars are GtkWidgets. To paint them
at the right position we need to position them correctly. To not scroll the
ScrollBar's belonging to the ScrollView a ScrollViewScrollbar is introduced with
a different geometryChanged method.

To allow the Gtk+ way of scrolling the ScrollView allows to get GtkAdjustments
set. In this case no ScrollViewScrollbar will be created.

  • platform/ScrollView.h:
  • platform/Widget.h:
  • platform/gdk/PlatformScreenGdk.cpp: (WebCore::screenDepth):
  • platform/gdk/PlatformScrollBar.h:
  • platform/gdk/PlatformScrollBarGdk.cpp: (PlatformScrollbar::PlatformScrollbar): (PlatformScrollbar::~PlatformScrollbar): (PlatformScrollbar::setRect): (PlatformScrollbar::geometryChanged):
  • platform/gdk/ScrollViewGdk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate): (WebCore::ScrollViewScrollbar::ScrollViewScrollbar): (WebCore::ScrollViewScrollbar::geometryChanged): (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::ScrollViewPrivate::windowClipRect): (WebCore::ScrollView::setGtkAdjustments): (WebCore::ScrollView::updateContents): (WebCore::ScrollView::update): (WebCore::ScrollView::visibleWidth): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::contentsX): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::suppressScrollbars): (WebCore::ScrollView::setHScrollbarMode): (WebCore::ScrollView::setVScrollbarMode): (WebCore::ScrollView::setScrollbarsMode): (WebCore::ScrollView::setFrameGeometry): (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild): (WebCore::ScrollView::scrollRectIntoViewRecursively): (WebCore::ScrollView::wheelEvent): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::windowToContents): (WebCore::ScrollView::contentsToWindow): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::convertChildToSelf): (WebCore::ScrollView::convertSelfToChild): (WebCore::ScrollView::paint): (WebCore::ScrollView::geometryChanged): (WebCore::ScrollView::scroll): (WebCore::ScrollView::addToDirtyRegion): (WebCore::ScrollView::scrollBackingStore): (WebCore::ScrollView::updateBackingStore):
  • platform/gdk/WidgetGdk.cpp: (WebCore::WidgetPrivate::gdkDrawable): (WebCore::Widget::Widget): (WebCore::Widget::setContainingWindow): (WebCore::Widget::containingWindow): (WebCore::Widget::frameGeometry): (WebCore::Widget::setFrameGeometry): (WebCore::Widget::setParent): (WebCore::Widget::parent): (WebCore::Widget::setCursor): (WebCore::Widget::show): (WebCore::Widget::hide): (WebCore::Widget::removeFromParent): (WebCore::Widget::paint): (WebCore::Widget::invalidate): (WebCore::Widget::invalidateRect): (WebCore::Widget::convertToContainingWindow): (WebCore::Widget::convertFromContainingWindow): (WebCore::Widget::convertChildToSelf): (WebCore::Widget::convertSelfToChild): (WebCore::Widget::suppressInvalidation): (WebCore::Widget::setSuppressInvalidation):

WebKit/gtk:
2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Follow the changes of ScrollView in WebCore and call setContainingWindow, set the
GtkAdjustment of the GtkLayout and reimplement the set_scroll_adjustments method and pass
the GtkAdjustments to ScrollView.
This makes having one GdkWindow for the complete FrameTree possible.

  • gtk/Api/webkitgtkframe.cpp:
  • gtk/Api/webkitgtkpage.cpp:
3:53 PM Changeset in webkit [24962] by adele
  • 2 edits in trunk/WebCore

Fix by Brady, reviewed by me.

Fix for <rdar://problem/5380697> connection:willSendRequest:redirectResponse: is called on every NSURLConnection

  • platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Work around a behavior change in CFNetwork where willSendRequest gets called more often by returning early.
2:37 PM Changeset in webkit [24961] by spadma
  • 2 edits in S60/trunk/WebKit

2007-08-03 yadavall <sriram.yadavalli@nokia.com>

Reviewed by Sachin Padma (sachin.padma@nokia.com).
DESC: Widget related Browser control "reserved" APIs need to be extensible
http://bugs.webkit.org/show_bug.cgi?id=14874

  • BrowserControl/inc/BrCtlInterface.h:
2:37 PM Changeset in webkit [24960] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-08-03 yadavall <sriram.yadavalli@nokia.com>

Reviewed by Sachin Padma (sachin.padma@nokia.com).
DESC: Widget related Browser control "reserved" APIs need to be extensible
http://bugs.webkit.org/show_bug.cgi?id=14874

  • BrowserControl/inc/BrCtlInterface.h:
2:32 PM Changeset in webkit [24959] by spadma
  • 6 edits in S60/trunk/WebKit

2007-07-27 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>

Reviewed by Sachin Padma.
DESC: Scroll support for plugins.
http://waplabdc.nokia-boston.com/browser/users/MaheshKK/geturl.html

  • WebKit/Plugin/inc/npapi.h: (NPPVariable): Added variable NPPVPluginFocusPosition
  • WebKit/Plugin/inc/PluginWin.h (class CPluginWin ): Added memeber function MoveWindow
  • WebKit/Plugin/inc/PluginAdapterInterface.h: (class MPluginNotifier:TNotificationType): Added two enum's EPluginActivated and EPluginDeactivated
  • WebKit/Plugin/src/NpnImplementation.cpp: (NpnSetValue()): Handled case for NPPVPluginFocusPosition
  • WebKit/Plugin/src/PluginWin.cpp: (CPluginWin::ProcessEventL): Send EPluginActivated and EPluginDeactivated notification when activating and deactivating plugin (CPluginWin::MoveWindow) : New function added to Move/scroll window by aOffset and also sets the current cursor position
2:29 PM Changeset in webkit [24958] by spadma
  • 6 edits in S60/branches/3.1m/WebKit

2007-07-27 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>

Reviewed by Sachin Padma.
DESC: Scroll support for plugins.
http://waplabdc.nokia-boston.com/browser/users/MaheshKK/geturl.html

  • WebKit/Plugin/inc/npapi.h: (NPPVariable): Added variable NPPVPluginFocusPosition
  • WebKit/Plugin/inc/PluginWin.h (class CPluginWin ): Added memeber function MoveWindow
  • WebKit/Plugin/inc/PluginAdapterInterface.h: (class MPluginNotifier:TNotificationType): Added two enum's EPluginActivated and EPluginDeactivated
  • WebKit/Plugin/src/NpnImplementation.cpp: (NpnSetValue()): Handled case for NPPVPluginFocusPosition
  • WebKit/Plugin/src/PluginWin.cpp: (CPluginWin::ProcessEventL): Send EPluginActivated and EPluginDeactivated notification when activating and deactivating plugin (CPluginWin::MoveWindow) : New function added to Move/scroll window by aOffset and also sets the current cursor position


10:51 AM Changeset in webkit [24957] by darin
  • 4 edits
    1 add in trunk/WebCore

Reviewed by Antti.

  • fix <rdar://problem/4889753> REGRESSION: Selection doesn't continue with drag selecting when autoscrolling vertically (in Notes as well as Safari)

The bug doesn't happen inside DumpRenderTree, so I was unable to make an automated
regression test.

  • manual-tests/autoscroll-when-outside-window.html: Added.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::autoscroll): Removed unneeded null check for the layer's renderer and the document, neither of which can be null. Call the new updateSelectionForMouseDrag instead of doing selection updating here.
  • page/EventHandler.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDraggedEvent): Refactored most of the logic about updating the selection into updateSelectionForMouseDrag. (WebCore::EventHandler::updateSelectionForMouseDrag): Added. The public version of this function takes no parameters, and is for use from auto-scrolling code. The private version of this function takes node and point parameters and contains the shared code, including everything from updateSelectionForMouseDragOverPosition. Aside from the code motion, variable name changes, and sharing more code, this differs from the old code in RenderLayer::autoscroll in the following ways:

1) The old code did hit testing only in the layer that was auto-scrolling,

and the new code instead starts the hit testing at the root layer, which is
better because it's the same thing we do for mouse moved events. Further,
the code to do this by calling convertToLayerCoords had a bug because the
x and y variables were uninitialized.

2) The old code passed false for active to HitTestRequest, which was wrong.

The new code passes true. This flag needs to be true for hit testing done
while the mouse is down and false for hit testing done while the mouse is up.

3) The old code did not have the SVG-specific logic to match the mouse moved case.
4) The old code wouldn't do any selection updating if the return value from hitTest

was false, which is incorrect. The new code ignores the return value as it should.

8:49 AM Changeset in webkit [24956] by thatcher
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Don't copy character-sets.txt and make-charset-table.pl to WebCore's resources.

8:28 AM Changeset in webkit [24955] by spadma
  • 8 edits in S60/branches/3.1m

2007-08-09 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>

Reviewed by Sachin.
DESC: [S60] Problem with CPluginSkin::PluginScriptableObject
http://bugs.webkit.org/show_bug.cgi?id=14383

  • WebKit\Plugin\inc\PluginWin.h: Added CPluginWin::GetPluginUid()
  • WebKit\Plugin\inc\PluginHandler.h: Added CPluginInfo::Uid()
  • WebKit\Plugin\inc\PluginSkin.h: Added CPluginSkin::IsPluginScriptableL()
  • WebKit\Plugin\src\PluginSkin.cpp: (CPluginSkin::IsPluginScriptableL())
  • WebKit\Plugin\src\PluginWin.cpp: (CPluginWin::GetPluginUid())

Aug 8, 2007:

11:37 PM Changeset in webkit [24954] by bdash
  • 1 copy in tags/Safari-4523

New tag.

10:19 PM Changeset in webkit [24953] by bdakin
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by Geoff Garen.

Test for <rdar://problem/5286443>, http://bugs.webkit.org/
show_bug.cgi?id=14268 REGRESSION: Radio buttons don't stay selected
due to unclosed <label> tags

  • fast/forms/radio-nested-labels-expected.checksum: Added.
  • fast/forms/radio-nested-labels-expected.png: Added.
  • fast/forms/radio-nested-labels-expected.txt: Added.
  • fast/forms/radio-nested-labels.html: Added.

WebCore:

Reviewed by Geoff Garen.

Fx for <rdar://problem/5286443>, http://bugs.webkit.org/
show_bug.cgi?id=14268 REGRESSION: Radio buttons don't stay selected
due to unclosed <label> tags

This patch maintains the behavior that allows <label> tags to nest.
This matches WinIE, and appears to match the spec, since the spec
does not explicitly say that they cannot nest. It fixes the bug
instead by calling setDefaultHandled() in two places it should have
been called anyway. This keeps the appropriate button checked as
the event bubbles.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::postDispatchEventHandler):
  • html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::defaultEventHandler):
9:15 PM Changeset in webkit [24952] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Oliver.


<rdar://problem/5387578> Crash at ReplaceSelectionCommand::doApply() when pasting just after table cell content

  • editing/pasteboard/5387578-expected.checksum: Added.
  • editing/pasteboard/5387578-expected.png: Added.
  • editing/pasteboard/5387578-expected.txt: Added.
  • editing/pasteboard/5387578.html: Added.

WebCore:

Reviewed by Oliver.

<rdar://problem/5387578> Crash at ReplaceSelectionCommand::doApply() when pasting just after table cell content


ReplaceSelectionCommand::doApply() inserts a line break before insertion
to prevent block nesting. InsertLineBreakCommand::doApply was accidently
destroying a text node when it removed insignificant whitespace and then
setting a nil endingSelection().

  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply): If insignificant whitespace removal removes textNode from the document, insert a text node containing the non-breaking space we were attempting to insert and then insert it at the position that the removed textNode occupied.
8:59 PM Changeset in webkit [24951] by ggaren
  • 6 edits in trunk/WebCore

Reviewed by Maciej Stachowiak.

Added a thrash check to live decoded resource eviction.


Here's the strategy: Stamp every image with its paint time. Don't evict
a live decoded resource until another resource paints with a reasonably
(1 second) larger time stamp.


If no other resource paints, or another resource paints, but very soon
after the resource in question, the resource in question is very likely
to paint again soon. In fact, it's probably still on screen. So we
leave it alone. (Previously, we evicted it on a timer, but that would
evict a resource that was still on screen, hurting speed without
helping memory use.)

In theory, this algorithm allows a single large resource or closely
related set of resources to linger in the live decoded cache even
though the cache is over its limit. However, that can only happen as
long as no other resource ever paints again, which guarantees an
absolute cap on cache memory usage from then on. Also, the resources
will only linger as long as they remain live. Upon going dead, they
will flush. Also, these circumstances are so rare that they are almost
impossible to encounter in the wild. So don't sweat it.


Stop evicting if the next resource painted too recently:


  • loader/Cache.cpp: (WebCore::Cache::pruneLiveResources):
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::liveResourceAccessed):
  • loader/CachedResource.h:

Track the paint time stamp in Frame. We do this to give a consistent
stamp to all resources painted in a single paint operation (in case the
operation takes a significant amount of time), and to avoid excessive
calls to system time functions, which hurt the PLT:

  • page/Frame.cpp: (WebCore::Frame::paint):
  • page/Frame.h: (WebCore::Frame::currentPaintTimeStamp):
8:16 PM Changeset in webkit [24950] by weinig
  • 2 edits in trunk/WebCore

Reviewed by Adam Roben.

Update project file to reflect the moving of character-sets.txt
and make-charset-table.pl to platform/mac a while ago.

  • WebCore.xcodeproj/project.pbxproj:
6:56 PM Changeset in webkit [24949] by kdecker
  • 1 edit in trunk/WebKit/ChangeLog

Tweaked ChangeLog entry

6:53 PM Changeset in webkit [24948] by justing
  • 7 edits
    4 adds in trunk

LayoutTests:

Reviewed by Harrison.


<rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click

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


Added a FIXME about an extraneous newline:

  • editing/deleting/5390681-expected.checksum:
  • editing/deleting/5390681-expected.png:
  • editing/deleting/5390681-expected.txt:
  • editing/deleting/5390681.html:ada

WebCore:

Reviewed by Harrison.

<rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click


  • dom/Position.cpp: (WebCore::Position::trailingWhitespacePosition): Use VisiblePosition::characterAfter to look for a trailing space. The old code would incorrectly return a position before a non-editable space if it had a collapsed space before it.
6:49 PM Changeset in webkit [24947] by kdecker
  • 21 edits in trunk/WebKit

Reviewed by Anders Carlsson.

Fixed: <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit


#ifdef'd out Netscape style plug-ins on 64-bit because Mac OS X doesn't support for 64-bit Carbon.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm:
  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (+[WebBaseNetscapePluginView getCarbonEvent:]): (TSMEventHandler):
  • Plugins/WebBaseNetscapePluginViewInternal.h:
  • Plugins/WebBaseNetscapePluginViewPrivate.h:
  • Plugins/WebBasePluginPackage.m: (+[WebBasePluginPackage pluginWithPath:]):
  • Plugins/WebNetscapePluginEmbeddedView.h:
  • Plugins/WebNetscapePluginEmbeddedView.mm:
  • Plugins/WebNetscapePluginPackage.h:
  • Plugins/WebNetscapePluginPackage.m:
  • Plugins/WebNetscapePluginStream.h:
  • Plugins/WebNetscapePluginStream.mm:
  • Plugins/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
  • Plugins/npapi.m:
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
  • WebView/WebFrame.mm:
  • WebView/WebFramePrivate.h:
  • WebView/WebHTMLView.mm: (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
  • WebView/WebHTMLViewInternal.h:
5:56 PM Changeset in webkit [24946] by weinig
  • 9 edits
    7 adds in trunk

LayoutTests:

Reviewed by Brady.

Test that protocol and host compares are case-insensitive.

  • http/tests/security/cross-frame-access-port-expected.txt:
  • http/tests/security/cross-frame-access-protocol-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase.html: Added.
  • http/tests/security/host-compare-case-insensitive-expected.txt: Added.
  • http/tests/security/host-compare-case-insensitive.html: Added.
  • http/tests/security/protocol-compare-case-insensitive-expected.txt: Added.
  • http/tests/security/protocol-compare-case-insensitive.html: Added.
  • http/tests/security/resources/cross-frame-iframe.html:
  • http/tests/security/resources/localhost-accesssor.html: Added.

WebCore:

Reviewed by Brady.

Make protocol and host compares case-insensitive.

  • bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript):
  • dom/Document.cpp: (WebCore::Document::initSecurityPolicyURL):
  • platform/DeprecatedString.cpp: (WebCore::equalIgnoringCase):
  • platform/DeprecatedString.h: (WebCore::equalIgnoringCase):
4:42 PM Changeset in webkit [24945] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Harrison.


<rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click

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

WebCore:

Reviewed by Harrison.

<rdar://problem/5390681> WebKit asserts when deleting To Do content selected with a double-click

  • dom/Position.cpp: (WebCore::Position::leadingWhitespacePosition): Added checks to prevent expansion across editable an boundary. (WebCore::Position::trailingWhitespacePosition): Ditto.
4:00 PM Changeset in webkit [24944] by bdash
  • 4 edits in trunk

Versioning.

3:55 PM Changeset in webkit [24943] by bdash
  • 1 copy in tags/Safari-5523

New tag.

3:11 PM Changeset in webkit [24942] by adele
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by John.

Test for for <rdar://problem/5393798> 100% reproducible crash in WebCore::Scrollbar::setValue

  • fast/events/mousedown_in_scrollbar-expected.txt: Added.
  • fast/events/mousedown_in_scrollbar.html: Added.

WebCore:

Reviewed by John.

Fix for <rdar://problem/5393798> 100% reproducible crash in WebCore::Scrollbar::setValue

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): If the hit testing originally determined the event was in a scrollbar, refetch the MouseEventWithHitTestResults in case the scrollbar widget was destroyed when the mouse event was handled.
3:01 PM Changeset in webkit [24941] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-08-08 yadavall <sriram.yadavalli>

Reviewed by Sachin (sachin.padma@nokia.com).
DESC: CRAS-757S3Q:Center key press event not being sent to webcore
http://bugs.webkit.org/show_bug.cgi?id=14593

  • BrowserView/src/KeyEventHandler.cpp: (CKeyEventHandler::HandleOfferKeyEventL):
2:51 PM Changeset in webkit [24940] by spadma
  • 3 edits in S60/branches/3.1m/WebKit

2007-08-06 vmalaiya, <vikram.malaiya@nokia.com>

Reviewed by Sachin
DESC: VMAA-75EP3L - Browser plugin does not implement memory collection on an out-of-memory condition
http://bugs.webkit.org/show_bug.cgi?id=14753


  • Plugin/inc/PluginSkin.h: (CPluginSkin::Frame):
  • Plugin/src/PluginSkin.cpp: (COOMPluginCollector::COOMPluginCollector): (COOMPluginCollector::~COOMPluginCollector): (COOMPluginCollector::Collect): (COOMPluginCollector::Restore): (COOMPluginCollector::Priority): (COOMPluginCollector::IsCollecting): (CPluginSkin::ConstructL): (CPluginSkin::~CPluginSkin): (CPluginSkin::RemovePluginWin):
2:49 PM Changeset in webkit [24939] by spadma
  • 2 edits in S60/branches/3.1m/WebKit

2007-08-08 yadavall <sriram.yadavalli@nokia.com>

Reviewed by NOBODY (sachin.padma@nokia.com).
DESC: SWIP-75QJJN - BrCtl ContentSize returning SizeHint and not ContentSize
http://bugs.webkit.org/show_bug.cgi?id=14871

  • BrowserControl/src/BrCtl.cpp: (CBrCtl::ContentSize):
1:46 PM Changeset in webkit [24938] by weinig
  • 4 edits
    35 adds in trunk

LayoutTests:

Reviewed by Geoff Garen.

Tests for <rdar://problem/5354635>

  • http/tests/security/dataURL: Added.
  • http/tests/security/dataURL/resources: Added.
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-iframe.html: Added.
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-opened-frame.html: Added.
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-iframe.html: Added.
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html: Added.
  • http/tests/security/dataURL/resources/foreign-domain-data-url-window-location.html: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-subframe-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-subframe.html: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foriegn-domain-window-open.html: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level.html: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame.html: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame.html: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url.html: Added.
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open.html: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe-location-change.html: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-subframe.html: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foriegn-domain-window-open.html: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level.html: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame.html: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt: Added.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open.html: Added.

WebCore:

Reviewed by Geoff Garen.

Fix for <rdar://problem/5354635>

Match Firefox's model for data: URLs by not allowing them script access
to any frames other then itself.

  • bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript):
  • dom/Document.cpp: (WebCore::Document::initSecurityPolicyURL):
12:19 PM Changeset in webkit [24937] by darin
  • 2 edits in trunk/WebCore

Reviewed by Kevin Decker.

  • fix for <rdar://problem/5390708> CrashTracer: [USER] 27 crashes in Safari at com.apple.WebCore: WTF::HashMap<etc>::set + 68, beneath pruneUnretainedIconsAtStartup
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Eliminate an unnecessary HashMap from the implementation; we can just use the m_pageURLToRetainCount map directly. This simplifies the code and allows us to handle the empty string, which otherwise poses a problem for HashMap.
10:37 AM Changeset in webkit [24936] by antti
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.


Test for <rdar://problem/5391576>
Malformed table innerHTML causes Safari to crash in HTMLParser::handleError (14894)

  • fast/table/incomplete-table-in-fragment-2-expected.txt: Added.
  • fast/table/incomplete-table-in-fragment-2.html: Added.

WebCore:

Reviewed by Darin.


Fix for <rdar://problem/5391576>
Malformed table innerHTML causes Safari to crash in HTMLParser::handleError (14894)


Add null checks to protect against


e.innerHTML = "<tr>text</tr>";


type cases. Normal assumptions about document tree structure don't hold when parsing
fragments. Results don't match Firefox in all cases. It seems to have some sort of
anything-goes fragment parsing mode.


  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError):
10:14 AM Changeset in webkit [24935] by kmccullo
  • 9 edits
    6 adds in trunk

LayoutTests:

Reviewed by Maciej and Hyatt.

  • <rdar://problem/4976879> REGRESSION: Safari doesn't work with Zimbra enhanced login.
    • Reverting a previous change, and modifying how documents are created so that we better match other browsers behavior with respect to namespaceURIs.
  • dom/xhtml/level1/core/hc_documentcreateelementcasesensitive-expected.txt:
  • fast/dom/Document/replace-child-expected.txt:
  • http/tests/misc/createElementNamespace1-expected.txt: Added.
  • http/tests/misc/createElementNamespace1.xml: Added.
  • http/tests/misc/createElementNamespace2-expected.txt: Added.
  • http/tests/misc/createElementNamespace2.xhtml: Added.
  • http/tests/misc/createElementNamespace3-expected.txt: Added.
  • http/tests/misc/createElementNamespace3.html: Added.

WebCore:

Reviewed by Maciej and Hyatt.

  • <rdar://problem/4976879> REGRESSION: Safari doesn't work with Zimbra enhanced login.
  • Reverting a previous change, and modifying how documents are created so that we better match other browsers behavior with respect to namespaceURIs.
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::createElement):
  • dom/Document.h:
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement):
  • html/HTMLDocument.h:
9:37 AM Changeset in webkit [24934] by beidson
  • 4 edits in trunk

LayoutTests:

Reviewed and landed by Brady

Updated test case because of fix for <http://bugs.webkit.org/show_bug.cgi?id=13422>

Bug 13422: REGRESSION: Page reload loses page position

  • http/tests/navigation/success200-reload-expected.txt:

WebCore:

Reviewed and landed by Brady

Fixes <http://bugs.webkit.org/show_bug.cgi?id=13422>

Bug 13422: REGRESSION: Page reload loses page position

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::updateHistoryForReload):
9:24 AM Changeset in webkit [24933] by staikos
  • 2 edits in trunk/JavaScriptCore

Make it compile with Qt4 unicode

9:20 AM Changeset in webkit [24932] by rwlbuis
  • 21 edits
    8 adds in branches/feature-branch

Reviewed by Nikolas.

http://bugs.webkit.org/show_bug.cgi?id=11909
Regression: large SVG from Illustrator comes out blank

Fix last issue with the Illustrator file by making relativeBBox
calculation take into account viewBox.

9:17 AM Changeset in webkit [24931] by zecke
  • 3 edits in trunk/WebKit

2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

We only need to set the Settings of the Page once so do it in
WebKitGtkPage instead of WebKitGtkFrame.

  • gtk/Api/webkitgtkframe.cpp:
  • gtk/Api/webkitgtkpage.cpp:
8:57 AM Changeset in webkit [24930] by zecke
  • 2 edits in trunk/WebCore

2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Be paranoid and disconnect from the signal before going away.

  • platform/gdk/PlatformScrollBarGdk.cpp: (PlatformScrollbar::~PlatformScrollbar):
8:18 AM Changeset in webkit [24929] by zecke
  • 3 edits in trunk/WebKit

2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Instead of reimplementing the general event method, reimplement
the specific mouse, expose, keyboard event methods.

Call the finalize implementation of the base class from WebKitGtkPage
and WebKitGtkFrame.

  • gtk/Api/webkitgtkframe.cpp:
  • gtk/Api/webkitgtkpage.cpp:
3:44 AM Changeset in webkit [24928] by zecke
  • 2 edits in trunk/WebCore

2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Use GraphicsContext::translatePoint in RenderThemeGdk to paint at the
right position.
This is needed as the Gtk+ theming code does not know about the translation
of the GraphicsContext.

  • platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::paintCheckbox): (WebCore::RenderThemeGdk::paintRadio): (WebCore::RenderThemeGdk::paintButton):
3:28 AM Changeset in webkit [24927] by zecke
  • 6 edits in trunk

WebCore:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Implement Widget::paint for the Gtk port. This is needed to paint
Widgets in z-order. The original GdkEventExpose is stored within the
GraphicsContext and then used to draw the children. This is similiar
to gtk_container_propagate_expose but we try to honor the GraphicsConntext
translation.

  • platform/gdk/WidgetGdk.cpp: (WebCore::Widget::paint):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): (WebCore::GraphicsContext::setGdkExposeEvent): (WebCore::GraphicsContext::gdkExposeEvent): (WebCore::GraphicsContext::gdkDrawable): (WebCore::GraphicsContext::translatePoint):

WebKit:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Remove the custom painting in favor of the Widget::paint
implementation.

  • gtk/Api/webkitgtkpage.cpp:
1:02 AM Changeset in webkit [24926] by zecke
  • 3 edits in trunk/WebCore

2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Oliver Hunt.

Implement PlatformScrollbar by calling ScrollBar::setValue from
gtkValueChange connected to the value-changed signal of the
GtkAdjustment.
Update 'value' of the GtkAdjustment in updateThumbPosition and
set upper, page-increment, step-increment and page_size in
updateThumbProportion.

This is from bug http://bugs.webkit.org/show_bug.cgi?id=14795.

  • platform/gdk/PlatformScrollBar.h:
  • platform/gdk/PlatformScrollBarGdk.cpp: (PlatformScrollbar::PlatformScrollbar): (PlatformScrollbar::updateThumbPosition): (PlatformScrollbar::updateThumbProportion): (PlatformScrollbar::gtkValueChanged):
12:01 AM Changeset in webkit [24925] by ggaren
  • 10 edits in trunk/WebCore

Reviewed by Maciej Stachowiak. Based on earlier review from Dave Hyatt.

First chunk of work for <rdar://problem/5326009> Make non-browser
WebKit clients have no memory cache, or a very tiny one


Layout tests pass.


Removed decodedSizeWillChange mechanism because my last patch to
change the live resources list to a strict LRU model made that code
vestigial.


Renamed "liveResourcesList" and related stuff =>
"liveDecodedResourcesList" because only live resources with decoded
data are kept in the list.

  • loader/CachedImage.cpp: (WebCore::CachedImage::decodedSizeChanged): Only add ourselves to the list if we're live, our decoded size has grown, and we're not in the list already. (Otherwise, either we're not live, we're not decoded, or we're already in the list.)
  • loader/CachedResource.cpp: (WebCore::CachedResource::liveResourceAccessed): Only re-insert ourselves into the list if we're already there. (In theory, this should be always, but it's a little more clear to check.)

Aug 7, 2007:

10:43 PM Changeset in webkit [24924] by weinig
  • 3 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Oliver.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14897
Decompilation of double negation fails and produces invalid or incorrect code

Test: fast/js/function-decompilation-operators.html

  • kjs/nodes2string.cpp: (UnaryPlusNode::streamTo): Put space after unary operator. Matches Firefox. (NegateNode::streamTo): Diito. (MultNode::streamTo): Put spaces around binary operator. Matches Firefox. (AddNode::streamTo): Ditto.

LayoutTests:

Reviewed by Oliver.

Test for http://bugs.webkit.org/show_bug.cgi?id=14897
Decompilation of double negation fails and produces invalid or incorrect code

  • fast/js/function-decompilation-operators-expected.txt: Added.
  • fast/js/function-decompilation-operators.html: Added.
7:06 PM Changeset in webkit [24923] by zecke
  • 9 edits
    1 move
    1 delete in trunk

WebCore:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Kill class FrameGdk and move the stubs to page/gdk/FrameGdk.cpp and the
remainings into WebKitGtkFrame.
The DRT functionality of class FrameGdk is currently lost.

  • WebCore.pro:
  • loader/gdk/FrameLoaderClientGdk.cpp:
  • loader/gdk/FrameLoaderClientGdk.h:
  • page/gdk/FrameGdk.cpp: Renamed from WebCore/platform/gdk/FrameGdk.cpp. (WebCore::Frame::issueTransposeCommand): (WebCore::Frame::cleanupPlatformScriptObjects): (WebCore::Frame::dragImageForSelection): (WebCore::Frame::dashboardRegionsChanged):
  • platform/gdk/FrameGdk.h: Removed.
  • platform/gdk/TemporaryLinkStubs.cpp: Removed Frame stub, added the loadResourceIntoArray stub
  • platform/gdk/WidgetGdk.cpp:

WebKit:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Moved code from class FrameGdk into WebKitGtkFrame. Update the
webkitgrkprivate.h header file to not include FrameGdk.h.

  • gtk/Api/webkitgtkframe.cpp:
  • gtk/Api/webkitgtkprivate.h:
6:40 PM Changeset in webkit [24922] by ddkilzer
  • 2 edits
    1 move in trunk/LayoutTests

LayoutTests:

Reviewed by Oliver.

Move plain-text-document.txt to the resources subdirectory.

  • fast/loader/plain-text-document.html: Updated URL to plain-text-document.txt.
  • fast/loader/plain-text-document.txt: Removed.
  • fast/loader/resources/plain-text-document.txt: Copied from fast/loader/plain-text-document.txt.
5:59 PM Changeset in webkit [24921] by weinig
  • 17 edits
    19 adds in trunk/LayoutTests

Reviewed by Geoff Garen.

Make tests not depend on data: URLs in preparation of
data: URL policy change.

  • editing/pasteboard/drag-image-to-contenteditable-in-iframe.html:
  • editing/pasteboard/resources: Added.
  • editing/pasteboard/resources/drag-image-to-contenteditable-iframe.html: Added.
  • fast/dom/HTMLDocument/frameless-location-bugzilla10837.html:
  • fast/dom/HTMLDocument/resources: Added.
  • fast/dom/HTMLDocument/resources/frameless-location-bugzilla10837-iframe.html: Added.
  • fast/dom/exception-no-frame-inline-script-crash.html:
  • fast/dom/exception-no-frame-timeout-crash.html:
  • fast/dom/null-document-location-assign-crash.html:
  • fast/dom/null-document-location-href-put-crash.html:
  • fast/dom/null-document-location-put-crash.html:
  • fast/dom/null-document-location-replace-crash.html:
  • fast/dom/null-document-window-open-crash.html:
  • fast/dom/resources/exception-no-frame-inline-script-crash-iframe.html: Added.
  • fast/dom/resources/exception-no-frame-timeout-crash-iframe.html: Added.
  • fast/events/frame-programmatic-focus.html:
  • fast/events/iframe-object-onload.html:
  • fast/events/mouseover-mouseout.html:
  • fast/events/mouseover-mouseout2.html:
  • fast/events/resources/iframe-object-onload-iframe-1.html: Added.
  • fast/events/resources/iframe-object-onload-iframe-2.html: Added.
  • fast/events/resources/iframe-object-onload-iframe-3.html: Added.
  • fast/events/resources/iframe-object-onload-object-1.html: Added.
  • fast/events/resources/iframe-object-onload-object-2.html: Added.
  • fast/events/resources/iframe-object-onload-object-3.html: Added.
  • fast/events/resources/mouseover-mouseout-iframe.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-1.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-2.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-3.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-4.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-5.html: Added.
  • fast/loader/opaque-base-url-expected.txt:
  • fast/loader/opaque-base-url.html:
  • plugins/plugin-remove-subframe.html:
  • plugins/resources/plugin-remove-subframe-iframe.html: Added.
5:54 PM Changeset in webkit [24920] by zecke
  • 4 edits in trunk/WebKit

2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Change variable names to follow the Coding-Style. Replace occurences
of a_b with aB and place the '*' correctly.

  • gtk/Api/webkitgtkframe.cpp:
  • gtk/Api/webkitgtkpage.cpp:
  • gtk/Api/webkitgtkprivate.h:
5:45 PM Changeset in webkit [24919] by darin
  • 6 edits in trunk/JavaScriptCore

Reviewed by Adele.

  • fix <rdar://problem/5383104> REGRESSION: XHR.responseText is null instead of empty string in http/tests/xmlhttprequest/zero-length-response.html

The new code to handle out of memory conditions was turning a "" into a null string.

  • kjs/ustring.h: Removed UCharReference, which has long been obsolete and unused. Removed copyForWriting, which was only used for the upper/lowercasing code and for UCharReference.
  • kjs/ustring.cpp: (KJS::allocChars): Removed special case that made this fail (return 0) when passed 0. Instead assert that we're not passed 0. Also added an overflow check for two reasons: 1) for sizes that aren't checked this prevents us from allocating a buffer that's too small, and 2) for sizes where we overflowed in the expandedSize function and returned overflowIndicator, it guarantees we fail. (KJS::reallocChars): Ditto. (KJS::UString::expandedSize): Return a large number, overflowIndicator, rather than 0 for cases where we overflow. (KJS::UString::spliceSubstringsWithSeparators): Added a special case for empty string so we don't call allocChars with a length of 0. (KJS::UString::operator=): Added special characters for both 0 and empty string so we match the behavior of the constructor. This avoids calling allocChars with a length of 0 and making a null string rather than an empty string in that case, and also matches the pattern used in the rest of the functions. (KJS::UString::operator[]): Made the return value const so code that tries to use the operator to modify the string will fail.
  • kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction): Rewrote uppercasing and lowercasing functions so they don't need copyForWriting any more -- it wasn't really doing any good for optimization purposes. Instead use a Vector and releaseBuffer.
  • wtf/unicode/icu/UnicodeIcu.h: Eliminate one of the versions of toLower/toUpper -- we now only need the version where both a source and destination buffer is passed in, not the one that works in place.
  • wtf/unicode/qt4/UnicodeQt4.h: Ditto.
5:27 PM Changeset in webkit [24918] by zimmermann
  • 128 edits in branches/feature-branch

Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=14896 (SVG InlineText/Flow box sizes don't take rotated glyphs into account)

Introduce new helper function calculateGlyphBoundaries, which takes into account any per-character transformation.
This fixes box size calculations in svg/W3C-SVG-1.1/text-text-07-t.svg, svg/batik/text/textEffect3.svg (rotated glyphs)
-> These strings can be properly selected now, just as well as text path elements.

5:17 PM Changeset in webkit [24917] by zecke
  • 5 edits in trunk

WebCore:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Remove the event handling code and move it to WebKit/gtk/Api/webkitgtkpage.cpp

  • platform/gdk/FrameGdk.cpp:
  • platform/gdk/FrameGdk.h:

WebKit:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Reimplement GtkWidget::event and handle the keyboard and mouse
events inside WebKitGtkPage.

  • gtk/Api/webkitgtkpage.cpp: (FrameGdkExposeData::frame_gdk_expose_child): (FrameGdkExposeData::webkit_gtk_page_rendering_area_handle_gdk_event): (FrameGdkExposeData::webkit_gtk_page_register_rendering_area_events): (FrameGdkExposeData::webkit_gtk_page_class_init):
4:09 PM Changeset in webkit [24916] by zimmermann
  • 95 edits in branches/feature-branch

Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=13909 (SVG text selection doesn't work with RTL text)

Use drawHighlightForText() to draw the selection, instead of my home-brewn solution.
Affected code in SVGRootInlineBox::paintSelectionForTextBox. Removed not anymore needed
helper function cummulatedWidthOfSelectionRange.

Dump all contained InlineTextBox(es) in SVGRenderTreeAsText, take into account multiple
child text boxes in ie. a RenderSVGInlineText objects (which happens for RTL text and
LTR text cases where newlines were involved - see changed testcase results.)
This affects a lot of LTR tests which actually had more than one child text box, that
wasn't taken properly into account before (in terms of selection, not rendering.)

Fix selection for RTL text by taking box start offsets into account in closestCharacterToPosition()
and by offering RTL text selection special cases in svgCharacterHitsPosition().

Centralized the creation of a TextStyle object for text selection/painting in a new helper function
svgTextStyleForInlineTextBox. Add new helper functions calculateGlyphWidth/calculateGlyphHeight to
centralize these calculations -> use these new helpers everywhere to avoid code duplication.

A single fix in bidi.cpp was needed to fix SVG's unicode-bidi/direction handling, to fix text-intro-02-b.svg.
SVG didacts that the 'direction' attribute is ignored if unicode-bidi is set to 'normal' (default).
Discussed with Mitz.

4:06 PM Changeset in webkit [24915] by hyatt
  • 3 edits in trunk/WebKit

Fix a botched backout of the Quicktime plugin clipping fix that broke Java. The plugin view should not
be set to autosize with the parent view. Also, cleanup of script objects was removed accidentally as
well.

Reviewed by olliej

  • Plugins/WebPluginController.mm: (-[WebPluginController destroyPlugin:]): (-[WebPluginController destroyAllPlugins]):
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
3:04 PM Changeset in webkit [24914] by zecke
  • 8 edits in trunk/WebCore

2007-08-07 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Switch from the generic union GdkEvent to the specific struct GdkEvent*. This is needed
to make WebKitGtkPage handle the events by reimplementing the default handlers in the near
future.

  • platform/PlatformKeyboardEvent.h:
  • platform/PlatformMouseEvent.h:
  • platform/PlatformWheelEvent.h:
  • platform/gdk/FrameGdk.cpp: (WebCore::FrameGdk::handleGdkEvent):
  • platform/gdk/KeyEventGdk.cpp: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  • platform/gdk/MouseEventGdk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  • platform/gdk/WheelEventGdk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2:39 PM Changeset in webkit [24913] by antti
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove a test that was a bit too slow on older hardware.


  • fast/block/basic/stress-shallow-nested-expected.txt: Removed.
  • fast/block/basic/stress-shallow-nested.html: Removed.
11:19 AM Changeset in webkit [24912] by alp
  • 1 edit in trunk/WebKit/gtk/Api/webkitgtkpage.cpp

Supplemental whitespace fix

11:11 AM Changeset in webkit [24911] by alp
  • 3 edits in trunk/WebKit

2007-08-07 Xan Lopez <xan@gnome.org>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=14815
[gtk] API implementation: reload

  • gtk/Api/webkitgtkpage.cpp: Implement the webkit_gtk_page_reload() function.
10:17 AM Changeset in webkit [24910] by staikos
  • 2 edits in trunk/WebCore

Some QStyles don't handle negative maximum very well

7:29 AM Changeset in webkit [24909] by zbujtas
  • 2 edits in S60/branches/3.1m/WebCore

w3liu, reviewed by <zbujtas@gmail.com>

DESC: [S60] SLON-75MAFV: <<OTC>> OTC - BTT - 6.800.5620 WCSS TABLE ROW HEIGHT
http://bugs.webkit.org/show_bug.cgi?id=14872

7:26 AM Changeset in webkit [24908] by zbujtas
  • 2 edits in S60/trunk/WebCore

w3liu, reviewed by <zbujtas@gmail.com>

DESC: [S60] SLON-75MAFV: <<OTC>> OTC - BTT - 6.800.5620 WCSS TABLE ROW HEIGHT
http://bugs.webkit.org/show_bug.cgi?id=14872

4:15 AM Changeset in webkit [24907] by antti
  • 9 edits
    6 adds in trunk

LayoutTests:

Reviewed by Hyatt.


Tests for <rdar://problem/5102553>
Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::...


  • added performance test. With debug build on MBP this takes about 1.5s to run.
  • added test case that shows some additional progression from the patch (less leftover anonymous boxes).


  • fast/block/basic/stress-shallow-nested-expected.txt: Added.
  • fast/block/basic/stress-shallow-nested.html: Added.
  • fast/block/float/nestedAnonymousBlocks2-expected.checksum: Added.
  • fast/block/float/nestedAnonymousBlocks2-expected.png: Added.
  • fast/block/float/nestedAnonymousBlocks2-expected.txt: Added.
  • fast/block/float/nestedAnonymousBlocks2.html: Added.

WebCore:

Reviewed by Hyatt.

Fix <rdar://problem/5102553>
Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::...

Calling removeLeftoverAnonymousBoxes() from RenderBlock::addChildToFlow() made adding children
O(n2) in simple cases (repeated <div><div></div></div> for example).


I couldn't find any limited fix so here is a more complete one. It removes iterating/recursing
removeLeftoverAnonymousBoxes() method altogether. Instead of hunting around wildly, just get
rid of anonymous boxes with block children when they occur.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildToFlow):
  • rendering/RenderButton.h: (WebCore::RenderButton::removeLeftoverAnonymousBlock):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
  • rendering/RenderContainer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::handleDynamicFloatPositionChange): (WebCore::RenderObject::removeLeftoverAnonymousBlock):
  • rendering/RenderObject.h:
  • rendering/RenderTextControl.h: (WebCore::RenderTextControl::removeLeftoverAnonymousBlock):
12:50 AM Changeset in webkit [24906] by rwlbuis
  • 2 edits in branches/feature-branch/WebCore

Reviewed by Oliver.

Do not export some symbols for internal functions, saves some bytes.

Aug 6, 2007:

11:25 PM Changeset in webkit [24905] by weinig
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fix changelog

11:21 PM Changeset in webkit [24904] by weinig
  • 3 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Oliver.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14891
Decompilation of try block immediately following "else" fails

Test: fast/js/toString-try-else.html

  • kjs/nodes2string.cpp: (TryNode::streamTo): Add newline before else.

LayoutTests:

Reviewed by Oliver.

Test for http://bugs.webkit.org/show_bug.cgi?id=14891
Decompilation of try block immediately following "else" fails

  • fast/js/toString-try-else-expected.txt: Added.
  • fast/js/toString-try-else.html: Added.
10:41 PM Changeset in webkit [24903] by bdash
  • 1 edit in tags/Safari-5522.13.1/WebKit/Configurations/Version.xcconfig

Versioning.

10:41 PM Changeset in webkit [24902] by bdash
  • 3 edits in tags/Safari-5522.13.1/WebKit

Merge r24811.

Reviewed by Anders Carlsson and Kevin Decker.

  • fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build

The trick was to ifdef out more of the code that's only needed to support CFM, which exists
only for 32-bit PowerPC.

  • Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16.
  • Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector functions when SUPPORT_CFM is on. (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM ifdef, since all non-CFM plug-ins are bundles. (-[WebNetscapePluginPackage closeResourceFile:]): Ditto. (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM. (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM. (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM. There was a bit of dead code here. (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside SUPPORT_CFM.
8:24 PM Changeset in webkit [24901] by weinig
  • 3 edits in trunk/LayoutTests

Reviewed by Oliver.

Update test to not timeout.

  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:
8:08 PM Changeset in webkit [24900] by weinig
  • 7 edits
    32 adds in trunk

LayoutTests:

Reviewed by Maciej.

Tests for <rdar://problem/5354689>

  • http/tests/security/javascriptURL: Added.
  • http/tests/security/javascriptURL/resources: Added.
  • http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessee-iframe.html: Added.
  • http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessee-opened-frame.html: Added.
  • http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessor-iframe.html: Added.
  • http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessor-opened-frame.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-to-javascript-url-sub-frame-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-to-javascript-url-sub-frame.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open.html: Added.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe.html: Added.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open.html: Added.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe.html: Added.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open-expected.txt: Added.
  • http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open.html: Added.
  • http/tests/security/resources/cross-frame-access.js:

WebCore:

Reviewed by Maciej.

Fix for <rdar://problem/5354689>

  • Use document variable to determine permissions instead of traversing the frame tree.
  • bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::initSecurityPolicyURL):
  • dom/Document.h: (WebCore::Document::securityPolicyURL):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::setOpener): We must re-initialize the safeScript URL when setting the opener because the opener was not known at Document construction.
7:31 PM Changeset in webkit [24899] by bdash
  • 4 edits in trunk

Versioning.

7:22 PM Changeset in webkit [24898] by bdash
  • 6 edits
    2 deletes in trunk

Roll out r24889.

6:45 PM Changeset in webkit [24897] by bdash
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Maciej.

<rdar://problem/5388774> REGRESSION: Hang occurs after clicking "Attach a file " link in a new .Mac message

Attempting to acquire the JSLock inside CollectorHeap::forceLock can lead to a deadlock if the thread currently
holding the lock is waiting on the thread that is forking. It is not considered safe to use system frameworks
after a fork without first execing[*] so it is not particularly important to ensure that the collector and
fastMalloc allocators are unlocked in the child process. If the child process wishes to use JavaScriptCore it
should exec after forking like it would to use any other system framework.
[*]: <http://lists.apple.com/archives/Cocoa-dev/2005/Jan/msg00676.html>

  • kjs/CollectorHeapIntrospector.cpp: Remove forceLock and forceUnlock implementations.
  • kjs/CollectorHeapIntrospector.h: Stub out forceLock and forceUnlock methods.
  • wtf/FastMalloc.cpp: Ditto.
5:10 PM Changeset in webkit [24896] by hyatt
  • 2 edits in trunk/WebCore

Make sure to clear out the parent of the ellipsis box so that it doesn't
trigger the consistency check for line boxes.

Reviewed by darin

  • ChangeLog:
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::detachEllipsisBox):
5:09 PM Changeset in webkit [24895] by bdash
  • 1 edit in tags/Safari-5522.13.1/JavaScriptCore/Configurations/Version.xcconfig

Versioning.

5:09 PM Changeset in webkit [24894] by bdash
  • 2 edits in tags/Safari-5522.13.1/JavaScriptCore

Merge r24884.

Reviewed by Anders.

  • fix <rdar://problem/5387589> 9A514: Quartz Composer crash on launch in KJS::jsString
  • API/JSBase.cpp: (JSEvaluateScript): Turn NULL for sourceURL into UString::null(), just as JSObjectMakeFunction already does. (JSCheckScriptSyntax): Ditto.
3:33 PM Changeset in webkit [24893] by bdash
  • 1 copy in tags/Safari-5522.13.1

New tag.

2:50 PM Changeset in webkit [24892] by hyatt
  • 4 edits in trunk/WebCore

Back out fix for <rdar://problem/5366582> and replace it with the correct
fix. Make sure to delete the line box tree before splitting an inline flow
into a continuation. The added layout test for the original checkin covers
the problem.

Reviewed by beth

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline): Back out fix.
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy): Back out fix.
  • rendering/RenderInline.cpp: (WebCore::RenderInline::splitFlow): Here's the new fix.
2:43 PM Changeset in webkit [24891] by ggaren
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.


Touching a file to force a re-build.

1:53 PM Changeset in webkit [24890] by darin
  • 2 edits in trunk/WebCore
  • fix release build
  • rendering/RenderText.h: (WebCore::RenderText::checkConsistency): Add missing const.
1:10 PM Changeset in webkit [24889] by andersca
  • 6 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

<rdar://problem/5360748>
REGRESSION(r21002-r21003) Flash widget sniffer doesn't work (affects iWeb)


Add test case by Kurt Revis.


  • fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt: Added.
  • fast/dom/NodeList/invalidate-node-lists-when-parsing.html: Added.

WebCore:

Reviewed by Darin.

<rdar://problem/5360748>
REGRESSION(r21002-r21003) Flash widget sniffer doesn't work


Add a per-document NodeList counter. When parsing, only call notifyNodeListsChildrenChanged
if the document has node lists.


  • dom/ContainerNode.cpp: (WebCore::ContainerNode::addChild):
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h: (WebCore::Document::addNodeList): (WebCore::Document::removeNodeList): (WebCore::Document::hasNodeLists):
  • dom/Node.cpp: (WebCore::Node::registerNodeList): (WebCore::Node::unregisterNodeList):
1:02 PM Changeset in webkit [24888] by sfalken
  • 1 edit in trunk/WebKit/win/WebKit.vcproj/PRODUCTVERSION

Bump version.

12:51 PM Changeset in webkit [24887] by darin
  • 14 edits
    2 adds in trunk

LayoutTests:

Beth made this reduction/test, Geoff and I both helped refine it.

  • test for <rdar://problem/5366582> crash on it.eurosport.yahoo.com page
  • fast/dynamic/inline-to-block-crash-expected.txt: Added.
  • fast/dynamic/inline-to-block-crash.html: Added.

WebCore:

Reviewed by Maciej.

  • fix <rdar://problem/5366582> crash on it.eurosport.yahoo.com page

Test: fast/dynamic/inline-to-block-crash.html

I added some consistency checks for the line box tree, which helped me figure out
what was going on with this bug pretty quickly.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline): This is the actual fix. If the block needs layout, then don't try to delete the line box tree because it's going to be rebuilt as part of layout. More importantly, the child list in the tree is no good, so we will crash if we try to delete here.
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy): Here's a second fix. We have the same issue in the code that handles anonymous blocks -- if it's already running as part of layout, we can't walk through the already partly destroyed line box tree. This crashed in one of the layout tests.
  • rendering/InlineBox.h: Made more fields private, since I wanted to do a bit more work in setters. Made setNextOnLine() and setPrevOnLine() assert that the box has a parent. Made parent() assert that the parent is good. Also removed the unused isChildOfParent() function.
  • rendering/InlineBox.cpp: (WebCore::InlineBox::~InlineBox): At destruction time, if we are still attached to a parent, tag that parent as having a "bad" child list.
  • rendering/InlineFlowBox.h: Added m_reasonForBadChildList, checkConsistency(), setHasBadChildList(), and hasBadChildList(). Also changed firstChild() and lastChild() so they call checkConsistency() and made all the fields private instead of protected.
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addToLine): Added consistency checks before and after adding a box to the line. Also checked that next and prev start out as 0. Changed manipulation of next and prev to use accessor functions. (WebCore::InlineFlowBox::removeChild): Added consistency checks before and after removing the box from the line. (WebCore::InlineFlowBox::deleteLine): Use firstChild() instead of getting at m_firstChild directly so we get a consistency check. Also set the parent to 0 before destroying so that the assertion in ~InlineBox will work properly. (WebCore::InlineFlowBox::extractLine): Ditto. (WebCore::InlineFlowBox::attachLine): Ditto. (WebCore::InlineFlowBox::adjustPosition): Ditto. (WebCore::InlineFlowBox::checkConsistency): Added. Checks consistency of the child list by looking at the parent, next, and prev pointers. Also asserts that we are not yet in the "bad" child list state, which happens if one of our children is destroyed without removing it from our list; that's normal, but once it happens we can't look at our child list again.
  • rendering/InlineTextBox.h:
  • rendering/InlineTextBox.cpp: Remove unnneeded destroy/new/delete functions -- these are inherited from the InlineBox base class and don't need to be defined again.
  • rendering/RenderFlow.h:
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::~RenderFlow): Assert that there are no children to confirm that we didn't leak something. (WebCore::RenderFlow::extractLineBox): Added consistency checks before and after removing a run of boxes from the list. (WebCore::RenderFlow::attachLineBox): Added consistency checks before and after adding a box to the list. (WebCore::RenderFlow::removeLineBox): Added consistency checks before and after removing a box from the list. (WebCore::RenderFlow::createInlineBox): Added consistency checks before and after adding a box to the list. (WebCore::RenderFlow::checkConsistency): Added.
  • rendering/RenderText.h:
  • rendering/RenderText.cpp: (WebCore::RenderText::~RenderText): Assert that there are no children to confirm that we didn't leak something. (WebCore::RenderText::extractTextBox): Added consistency checks before and after removing a run of boxes from the list. (WebCore::RenderText::attachTextBox): Added consistency checks before and after adding a box to the list. (WebCore::RenderText::removeTextBox): Added consistency checks before and after removing a box from the list. (WebCore::RenderText::deleteTextBoxes): Added code to call setHasBadChildList since this destroys line boxes without informing the parent. (WebCore::RenderText::checkConsistency): Added.
12:49 PM Changeset in webkit [24886] by adele
  • 4 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

Test for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified

  • fast/forms/menulist-restrict-line-height-expected.checksum: Added.
  • fast/forms/menulist-restrict-line-height-expected.png: Added.
  • fast/forms/menulist-restrict-line-height-expected.txt: Added.
  • fast/forms/menulist-restrict-line-height.html: Added.

WebCore:

Reviewed by Darin.

Fix for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified

Don't honor line-height for styled popup buttons. We already don't honor line-height for unstyled popups
and since IE and FF don't honor it at all for popups, we shouldn't either.

  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
12:34 PM Changeset in webkit [24885] by darin
  • 2 edits in trunk/JavaScriptCore

Rubber stamped by Geoff.

  • kjs/ustring.h: Added an assertion which would have helped us find the previous bug more easily.
12:00 PM Changeset in webkit [24884] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Anders.

  • fix <rdar://problem/5387589> 9A514: Quartz Composer crash on launch in KJS::jsString
  • API/JSBase.cpp: (JSEvaluateScript): Turn NULL for sourceURL into UString::null(), just as JSObjectMakeFunction already does. (JSCheckScriptSyntax): Ditto.
11:08 AM Changeset in webkit [24883] by ddkilzer
  • 2 edits in trunk/WebKitTools

2007-08-06 Nigel Tao <nigeltao@gnome.org>

Reviewed by David Kilzer.

Fix bug 14745: WebKitTools/Scripts/run-launcher doesn't speak --gdk
http://bugs.webkit.org/show_bug.cgi?id=14745

  • Scripts/run-launcher: Scrub the "--gdk" out of the command line args, if given, so that GdkLauncher doesn't try to interpret it as a URL.
11:07 AM Changeset in webkit [24882] by sfalken
  • 3 edits in trunk

Build fix

9:30 AM BuildingGdk edited by alp@atoker.com
Update curl backend/theming notes (diff)
9:23 AM BuildingGdk edited by alp@atoker.com
Add note about not being Gtk+WebCore, and update build deps (diff)

Aug 5, 2007:

10:48 PM Changeset in webkit [24881] by pewtermoose
  • 2 edits in trunk/JavaScriptCore

Not reviewed, build fix.

  • kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction):
7:23 PM Changeset in webkit [24880] by darin
  • 3 edits in trunk/LayoutTests
  • mac/leopard/Skipped: Removed 3 non-platform-specific failing tests.
  • win/Skipped: Ditto.
7:07 PM Changeset in webkit [24879] by darin
  • 1 edit in trunk/LayoutTests/ChangeLog

Change log entry to mention that my fix was an attempt (that didn't work).

7:05 PM Changeset in webkit [24878] by antti
  • 6 edits in trunk/WebCore

Reviewed by Darin.

Fix <rdar://problem/5378214>
Mail crashes at RenderLayer::paintLayer() when dragging a selection over To Do text


ObjC interface does not guarantee that Document::updateRendering() gets called after
modification are made to document. This can lead to situation where paint()
is invoked with document still dirty which can then crash in number of interesting ways.


  • add hasChangedChild() as needsLayout() condition. layout() will then call recalcStyle() catching most cases and making sure document is not dirty when entering painting.
  • protect recalcStyle() and layout() from being executed during painting. There are some cases needsLayout() protection does not cover.


No layout test, these states are very hard or impossible to reach using Javascript interface
(which generally guarantees that updateRendering() is done right after execution).

  • dom/Document.cpp: (WebCore::Document::recalcStyle):
  • page/Frame.cpp: (WebCore::Frame::paint): (WebCore::Frame::setPaintRestriction): (WebCore::Frame::isPainting): (WebCore::FramePrivate::FramePrivate):
  • page/Frame.h:
  • page/FramePrivate.h:
  • page/FrameView.cpp: (WebCore::FrameView::layout): (WebCore::FrameView::needsLayout):
6:03 PM Changeset in webkit [24877] by darin
  • 2 edits in trunk/LayoutTests
  • fix <rdar://problem/5383382> Drag/drop of image is failing in fast/events/standalone-image-drag-to-editable.html
  • fast/events/standalone-image-drag-to-editable.html: Fixed race condition in test by using a frame counter rather than running the test after a particular frame loads.
5:58 PM Changeset in webkit [24876] by darin
  • 2 edits in trunk/LayoutTests
  • fast/dom/delete-contents-expected.txt: Updated results, which changed due to r24831, which allows comments as children of <html>.
3:52 AM Changeset in webkit [24875] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin Adler.


<rdar://problem/5369110> CrashTracer: [USER] reproducible crash opening particular mail messages

  • platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Make sure to retain self for the body of this method. Otherwise, the willSendRequest could trigger events which will cancel the connection, and we access ivars after this point. (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): retain and release in the right order.
3:16 AM Changeset in webkit [24874] by darin
  • 4 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fix <rdar://problem/5371862> crash in Dashcode due to Quartz Composer JavaScript garbage collector reentrancy
  • API/JSBase.cpp: (JSGarbageCollect): Don't call collector() if isBusy() returns true.
  • kjs/collector.h: Added isBusy(), removed the unused return value from collect()
  • kjs/collector.cpp: Added an "operation in progress" flag to the allocator. (KJS::Collector::allocate): Call abort() if an operation is already in progress. Set the new flag instead of using the debug-only GCLock. (KJS::Collector::collect): Ditto. (KJS::Collector::isBusy): Added.
Note: See TracTimeline for information about the timeline view.