Timeline



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.

Note: See TracTimeline for information about the timeline view.