Timeline


and

09/17/07:

23:08 Changeset [25615] by weinig
  • 2 edits in trunk/WebKitTools

Build fix.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
22:56 Changeset [25614] by weinig
  • 4 edits
    3 moves
    1 delete in trunk/WebKitTools

Reviewed by Adam Roben.

Share more code between mac and windows DRT.

  • GCController is now shared.
  • Rename WaitUntilDoneDelegate to FrameLoadDelegate for consistency.
  • DumpRenderTree/GCController.cpp:
  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/FrameLoaderDelegate.cpp: Copied from DumpRenderTree/win/WaitUntilDoneDelegate.cpp. (FrameLoadDelegate::FrameLoadDelegate): (FrameLoadDelegate::~FrameLoadDelegate): (FrameLoadDelegate::windowScriptObjectAvailable):
  • DumpRenderTree/win/FrameLoaderDelegate.h: Copied from DumpRenderTree/win/WaitUntilDoneDelegate.h.
  • DumpRenderTree/win/GCController.cpp: Removed.
  • DumpRenderTree/win/GCController.h: Removed.
  • DumpRenderTree/win/GCControllerWin.cpp: Copied from DumpRenderTree/win/GCController.cpp. (GCController::collect): (GCController::collectOnAlternateThread): (GCController::getJSObjectCount):
  • DumpRenderTree/win/WaitUntilDoneDelegate.cpp: Removed.
  • DumpRenderTree/win/WaitUntilDoneDelegate.h: Removed.
19:44 Changeset [25613] by weinig
  • 7 edits
    3 moves
    4 deletes in trunk/WebKitTools

Reviewed by Adam Roben.

Begin sharing code between mac and windows DRT.

  • both now share LayoutTestController.h/cpp and implement platform dependant operations in LayoutTestControllerMac/Win.
  • DumpRenderTree.h is now shared.
  • WorkQueue and WorkQueueItem are also shared.
  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/LayoutTestController.cpp:
  • DumpRenderTree/win/DumpRenderTree.cpp: (displayWebView): (dumpFrameScrollPosition): (dumpFramesAsText): (dump): (runTest):
  • DumpRenderTree/win/DumpRenderTree.h: Removed.
  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/DumpRenderTreeWin.h: Copied from DumpRenderTree/win/DumpRenderTree.h.
  • DumpRenderTree/win/EditingDelegate.cpp: (EditingDelegate::shouldBeginEditingInDOMRange): (EditingDelegate::shouldEndEditingInDOMRange): (EditingDelegate::shouldInsertNode): (EditingDelegate::shouldInsertText): (EditingDelegate::shouldDeleteDOMRange): (EditingDelegate::shouldChangeSelectedDOMRange): (EditingDelegate::shouldApplyStyle): (EditingDelegate::shouldChangeTypingStyle): (EditingDelegate::doPlatformCommand): (EditingDelegate::webViewDidBeginEditing): (EditingDelegate::webViewDidChange): (EditingDelegate::webViewDidEndEditing): (EditingDelegate::webViewDidChangeTypingStyle): (EditingDelegate::webViewDidChangeSelection):
  • DumpRenderTree/win/LayoutTestController.cpp: Removed.
  • DumpRenderTree/win/LayoutTestController.h: Removed.
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: Copied from DumpRenderTree/win/LayoutTestController.cpp. (LayoutTestController::addDisallowedURL): (LayoutTestController::clearBackForwardList): (LayoutTestController::copyDecodedHostName): (LayoutTestController::copyEncodedHostName): (LayoutTestController::display): (LayoutTestController::keepWebHistory): (LayoutTestController::notifyDone): (LayoutTestController::queueBackNavigation): (LayoutTestController::queueForwardNavigation): (jsStringRefToWString): (LayoutTestController::queueLoad): (LayoutTestController::queueReload): (LayoutTestController::queueScript): (LayoutTestController::setAcceptsEditing): (LayoutTestController::setCustomPolicyDelegate): (LayoutTestController::setMainFrameIsFirstResponder): (LayoutTestController::setTabKeyCyclesThroughElements): (LayoutTestController::setUseDashboardCompatibilityMode): (LayoutTestController::setUserStyleSheetEnabled): (LayoutTestController::setUserStyleSheetLocation): (LayoutTestController::setWindowIsKey): (waitUntilDoneWatchdogFired): (LayoutTestController::setWaitToDump): (LayoutTestController::windowCount):
  • DumpRenderTree/win/WaitUntilDoneDelegate.cpp: (FrameLoadDelegate::didReceiveTitle): (FrameLoadDelegate::processWork): (FrameLoadDelegate::locationChangeDone): (FrameLoadDelegate::windowScriptObjectAvailable):
  • DumpRenderTree/win/WorkQueue.cpp: Removed.
  • DumpRenderTree/win/WorkQueue.h: Removed.
  • DumpRenderTree/win/WorkQueueItem.cpp: Removed.
  • DumpRenderTree/win/WorkQueueItem.h: Removed.
  • DumpRenderTree/win/WorkQueueItemWin.cpp: Copied from DumpRenderTree/win/WorkQueueItem.cpp. (jsStringRefToWString): (LoadItem::invoke): (ScriptItem::invoke):
19:11 Changeset [25612] by ggaren
  • 8 edits in trunk

WebCore:

Reviewed by Darin Adler.

Speculative fix for <rdar://problem/5479443> REGRESSION: Hang due to
infinite JS recursion on close @ engadget.com (onunload-based ad)


If page is NULL, shouldInterruptScript now returns true, so you can't
get stuck in a state in which a script executes forever without putting
up a UI to ask if it should stop.

  • bindings/js/kjs_binding.cpp: (KJS::ScriptInterpreter::shouldInterruptScript):

WebKit:

Reviewed by Darin Adler.

Fixed a hang due to an infinite script running in the window's unload
event handler, which may be the cause of <rdar://problem/5479443>
REGRESSION: Hang due to infinite JS recursion on close @ engadget.com
(onunload-based ad)

  • WebView/WebUIDelegatePrivate.h: Added FIXME.


  • WebView/WebView.h: Clarified headerdoc ambiguity about when delegate methods stop firing.
  • WebView/WebView.mm: (-[WebView _close]): The fix: don't nil out our delegates until after detaching the FrameLoader, because the act of detaching the FrameLoader might fire important delegate methods, like webViewShouldInterruptJavaScript:. Don't do other tear-down either, because the unload event handler needs to run in a fully constructed page.


This change is fairly low risk because niling out our delegates is a
very recent, never-shipped feature in WebKit, so it's unlikely that any
apps rely on it in a crazy way.

win:

Reviewed by Darin Adler.

Fixed a hang due to an infinite script running in the window's unload
event handler, which may be the cause of <rdar://problem/5479443>
REGRESSION: Hang due to infinite JS recursion on close @ engadget.com
(onunload-based ad)


Added a bunch of WebKitMac's close features, and reordered others to
match WebKitMac.

  • WebView.cpp: (WebView::close): (WebView::removeDragCaret):
17:36 Changeset [25611] by hyatt
  • 5 edits in trunk/WebCore

Fix for 14743, missing glyphs because of mlang's tiny font cache.

17:30 Changeset [25610] by aroben
  • 3 edits
    1 add in trunk/WebCore

Fix <rdar://5423441> Should get focus ring color from SafariTheme

Reviewed by Hyatt.

No regression test possible.

  • WebCore.vcproj/WebCore.vcproj: Added ColorSafari.cpp.
  • platform/graphics/win/ColorSafari.cpp: Added. (WebCore::makeRGBAFromCGColor): Added. (WebCore::focusRingColor): Added. Gets the focus ring color from SafariTheme if SafariTheme has support for it. (WebCore::setFocusRingColorChangeFunction): Added.
  • platform/win/TemporaryLinkStubs.cpp: Removed focus ring color functions.
17:27 Changeset [25609] by andersca
  • 3 edits in trunk/WebCore

Fix Windows build.

  • WebCore.vcproj/WebCore.vcproj:
  • loader/NetscapePlugInStreamLoader.h:
17:22 Changeset [25608] by andersca
  • 3 edits
    1 copy in trunk/WebCore

Fix Mac build.


  • loader/NetscapePlugInStreamLoader.cpp:
  • loader/NetscapePlugInStreamLoader.h:
  • loader/win/NetscapePlugInStreamLoaderWin.cpp: Copied from loader/NetscapePlugInStreamLoader.cpp.
17:11 Changeset [25607] by andersca
  • 6 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/5483346>
crash at vw.com WebCore::PluginViewWin::disconnectStream.


The following events would lead to this crash:


  1. a plug-in stream finishes loading and calls NPP_DestroyStream.
  2. the DestroyStream handler calls NPN_Evaluate, submitting a form through JavaScript.
  3. A new page is going to be loaded and DocumentLoader::stopLoading is called.
  4. DocumentLoader::stopLoading will stop all loader, including the one that is done loading!


The fix is to port NetscapePluginStreamLoader over from the Mac code and use it instead. This fixes the crash
because it disassociates the stream loader with the document loader _before_ calling NPP_DestroyStream, whereas
SubresourceLoader does this _after_ calling NPP_DestroyStream.


  • loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): (WebCore::NetscapePlugInStreamLoader::~NetscapePlugInStreamLoader): (WebCore::NetscapePlugInStreamLoader::create): (WebCore::NetscapePlugInStreamLoader::isDone): (WebCore::NetscapePlugInStreamLoader::releaseResources): (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): (WebCore::NetscapePlugInStreamLoader::didReceiveData): (WebCore::NetscapePlugInStreamLoader::didFinishLoading): (WebCore::NetscapePlugInStreamLoader::didFail): (WebCore::NetscapePlugInStreamLoader::didCancel):
  • loader/NetscapePlugInStreamLoader.h: (WebCore::NetscapePlugInStreamLoaderClient::didFinishLoading):
  • plugins/win/PluginStreamWin.cpp: (WebCore::PluginStreamWin::start): (WebCore::PluginStreamWin::didReceiveResponse): (WebCore::PluginStreamWin::didReceiveData): (WebCore::PluginStreamWin::didFail): (WebCore::PluginStreamWin::didFinishLoading):
  • plugins/win/PluginStreamWin.h:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::load):
17:06 Changeset [25606] by andersca
  • 3 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/5483839>
Crash loading http://www.microsoft.com if Silverlight 1.0 is installed.


Work around a problem in our NPRuntime implementation by never unloading the silverlight plug-in dll.


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::~PluginViewWin): (WebCore::PluginViewWin::determineQuirks):
  • plugins/win/PluginViewWin.h: (WebCore::):
16:41 Changeset [25605] by beidson
  • 1 edit in trunk/WebCore/ChangeLog

Having bad Changelog composition issues today

16:38 Changeset [25604] by beidson
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan

Fix for http://bugs.webkit.org/show_bug.cgi?id=15178
and
<rdar://problem/5474001>

The stress test proves that this was an overzealous ASSERT. It is very possible to mark and icon
for addition to the on-disk database and then mark it for removal before it is ever added. This
is not an error and was already handled gracefully

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::removeIconFromSQLDatabase): Don't ASSERT of log if the icon wasn't on disk
15:59 Changeset [25603] by beidson
  • 1 edit in trunk/WebCore/ChangeLog

Reviewed by Oliver

<rdar://problem/5487048> - ASSERT in stress test in IconDatabase

If a PageURLRecord went away, it never clears its URL from the IconRecord it retained.

  • loader/icon/PageURLRecord.cpp: (WebCore::PageURLRecord::~PageURLRecord): Set the icon record to 0, clearing the page url
  • loader/icon/PageURLRecord.h: Add the destructor
15:55 Changeset [25602] by beidson
  • 1 edit in trunk/WebCore/ChangeLog

That Changelog was HORRIBLE

15:54 Changeset [25601] by beidson
  • 3 edits in trunk/WebCore

Reviewed by Oliver

<rdar://problem/5487048> - ASSERT in stress test in IconDatabase

If a PageURLRecord went away, it never clear it's URL from the IconRecord it retained.

  • loader/icon/PageURLRecord.cpp: (WebCore::PageURLRecord::~PageURLRecord): Set the icon record to 0, clearing the page url
  • loader/icon/PageURLRecord.h: Add the destructor
14:34 Changeset [25600] by aroben
  • 2 edits in trunk/WebKit/win

Fix <rdar://4979801> overflow divs don't respond to keyboard scrolling (affects RSS pages)

Reviewed by Hyatt.

  • WebView.cpp: (WebView::keyDown): Attempt to scroll an overflow area before scrolling the whole frame.
13:43 Changeset [25599] by beidson
  • 1 edit in trunk/WebKit/win/WebKitDLL.cpp

Didn't save this line before checking in *sigh*

13:42 Changeset [25598] by antti
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin.


Fix <rdar://problem/5480050>
Leopard9A551 with Dashcode 112: Dashcode crash when dragging image into canvas.


If @import stylesheet was modified through CSS DOM style selector would not get updated. This
could lead to crashes.

Test: fast/css/import-style-update.html

  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::styleSheetChanged):

LayoutTests:

Reviewed by Darin.


Test for <rdar://problem/5480050>
Leopard9A551 with Dashcode 112: Dashcode crash when dragging image into canvas.


Non-crashing test case, but it demonstrates the same problem that would crash
under some circumstances.

  • fast/css/import-style-update-expected.txt: Added.
  • fast/css/import-style-update.html: Added.
13:41 Changeset [25597] by beidson
  • 2 edits in trunk/WebKit/win

Reviewed by Adam


<rdar://problem/5471308> - Get async Icon Database fully hooked up on Windows


Add a global "shut down WebKit" procedure to do cleanup at the engine level on quit.
Critical now for the IconDatabase and might be for other things in the future.

  • WebKitDLL.cpp: (shutDownWebKit): For now, just close the IconDatabase (DllMain): On DLL_PROCESS_DETACH, call shutDownWebKit
11:53 Changeset [25596] by weinig
  • 2 edits in trunk/WebKitTools/DumpRenderTree

Add svn:ignore for moved directories

11:48 Changeset [25595] by weinig
  • 3 edits
    25 copies
    1 add
    1 delete in trunk/WebKitTools

Reviewed by Adam Roben.

  • Move Windows DumpRenderTree and TestNetscapePlugin to WebCoreTools/DumpRenderTree/win
  • DumpRenderTree/DumpRenderTree.sln: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree.sln.
  • DumpRenderTree/DumpRenderTree.vcproj: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree.sln: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DraggingInfo.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EditingDelegate.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EditingDelegate.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EventSender.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EventSender.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/GCController.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/GCController.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/UIDelegate.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/UIDelegate.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WorkQueue.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WorkQueue.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WorkQueueItem.cpp: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WorkQueueItem.h: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/debug.vsprops: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/debug_internal.vsprops: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/release.vsprops: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/TestNetscapePlugin: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/TestNetscapePlugin/TestNetscapePlugin.def: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/TestNetscapePlugin/TestNetscapePlugin.rc: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/TestNetscapePlugin/TestNetscapePlugin.vcproj: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/TestNetscapePlugin/main.c: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/TestNetscapePlugin/resource.h: Removed.
  • DumpRenderTree/win: Added.
  • DumpRenderTree/win/DraggingInfo.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DraggingInfo.h.
  • DumpRenderTree/win/DumpRenderTree.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp.
  • DumpRenderTree/win/DumpRenderTree.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h.
  • DumpRenderTree/win/DumpRenderTree.vcproj: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj.
  • DumpRenderTree/win/EditingDelegate.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EditingDelegate.cpp.
  • DumpRenderTree/win/EditingDelegate.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EditingDelegate.h.
  • DumpRenderTree/win/EventSender.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EventSender.cpp.
  • DumpRenderTree/win/EventSender.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EventSender.h.
  • DumpRenderTree/win/GCController.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/GCController.cpp.
  • DumpRenderTree/win/GCController.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/GCController.h.
  • DumpRenderTree/win/LayoutTestController.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.cpp.
  • DumpRenderTree/win/LayoutTestController.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.h.
  • DumpRenderTree/win/TestNetscapePlugin: Copied from DumpRenderTree/DumpRenderTree.vcproj/TestNetscapePlugin.
  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
  • DumpRenderTree/win/UIDelegate.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/UIDelegate.cpp.
  • DumpRenderTree/win/UIDelegate.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/UIDelegate.h.
  • DumpRenderTree/win/WaitUntilDoneDelegate.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp.
  • DumpRenderTree/win/WaitUntilDoneDelegate.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h.
  • DumpRenderTree/win/WorkQueue.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WorkQueue.cpp.
  • DumpRenderTree/win/WorkQueue.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WorkQueue.h.
  • DumpRenderTree/win/WorkQueueItem.cpp: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WorkQueueItem.cpp.
  • DumpRenderTree/win/WorkQueueItem.h: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WorkQueueItem.h.
  • DumpRenderTree/win/debug.vsprops: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/debug.vsprops.
  • DumpRenderTree/win/debug_internal.vsprops: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/debug_internal.vsprops.
  • DumpRenderTree/win/release.vsprops: Copied from DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/release.vsprops.
  • Scripts/run-webkit-tests: Update to point to the new location of the sln.
11:01 Changeset [25594] by andersca
  • 9 edits in trunk

WebCore:

Reviewed by Adam.

<rdar://problem/5421997>
http://bugs.webkit.org/show_bug.cgi?id=14247
Display problem with Flash - image does not stop changing


Port the manual load code over from the Mac version.

  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabaseWin::createPluginView):
  • plugins/win/PluginDatabaseWin.h: Add load manually parameter.


  • plugins/win/PluginStreamWin.cpp: (WebCore::PluginStreamWin::stop): If we're loading manually, cancel the main resource load.


(WebCore::PluginStreamWin::destroyStream):
Don't disconnect the stream if we're loading manually.


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::setFrameGeometry): Always call updateWindow()


(WebCore::PluginViewWin::PluginViewWin):
Initialize loadManually.


(WebCore::PluginViewWin::init):
Don't set the width and height of the window here since it will make the plug-in HWND show briefly
before it's been positioned.


(WebCore::PluginViewWin::didReceiveResponse):
Create the manual stream.


(WebCore::PluginViewWin::didReceiveData):
(WebCore::PluginViewWin::didFinishLoading):
(WebCore::PluginViewWin::didFail):
Call through to the manual stream.


  • plugins/win/PluginViewWin.h:

win:

Reviewed by Adam.

<rdar://problem/5421997>
http://bugs.webkit.org/show_bug.cgi?id=14247
Display problem with Flash - image does not stop changing

Port the manual load code over from the Mac version.

  • WebFrame.cpp: (WebFrame::WebFramePrivate::WebFramePrivate): Initialize the plugin pointer.


(WebFrame::finishedLoading):
(WebFrame::setMainDocumentError):
(WebFrame::committedLoad):
Feed the data to the plug-in.


(WebFrame::redirectDataToPlugin):
Store the plug-in widget.

07:57 Changeset [25593] by zecke
  • 4 edits in trunk/WebKit/gtk

2007-09-17 Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>

Reviewed by Mark, some Coding Style changes by Holger.

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

Add title and location to WebKitGtkFramePrivate, add
webkit_gtk_frame_get_location to the WebKitGtkFrame API as well
as a title_changed callback, implement
webkit_gtk_frame_get_title and webkit_gtk_frame_get_location.

Initial patch by Diego Escalante Urrelo.

  • Api/webkitgtkframe.cpp:
  • Api/webkitgtkframe.h:
  • Api/webkitgtkprivate.h:
07:56 Changeset [25592] by zecke
  • 2 edits in trunk/WebCore

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

Reviewed by Mark.

Convert the filenames from WebCore::String to the filesystem encoding
and vice versa using g_filename_{from,to}_utf8 functions. Also add the needed NULL
checks for the return values where glib and gtk+ can return NULL.

  • platform/gdk/FileChooserGdk.cpp: (WebCore::convertToStringByAdoptingTheFilesystemRepresentation): (WebCore::FileChooser::openFileChooser): (WebCore::FileChooser::basenameForWidth):

09/16/07:

17:09 Changeset [25591] by weinig
  • 4 edits
    2 adds in trunk

WebCore:

Reviewed by Maciej.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14693
document.width/height doesn't force layout

Test: fast/dom/document-width-height-force-layout.html

  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::width): Force layout. (WebCore::HTMLDocument::height): ditto.
  • html/HTMLDocument.h:

LayoutTests:

Reviewed by Maciej.

Test for http://bugs.webkit.org/show_bug.cgi?id=14693

  • fast/dom/document-width-height-force-layout-expected.txt: Added.
  • fast/dom/document-width-height-force-layout.html: Added.
13:52 Changeset [25590] by zecke
  • 3 edits in trunk/WebCore

2007-09-14 Sven Herzberg <sven@imendio.com>

Reviewed by George.

Don't maintain obsolete code, fixes:
http://bugs.webkit.org/show_bug.cgi?id=15215

  • platform/gdk/FontPlatformData.cpp: remove static FontPlatformData::list() (isn't used at any place)
12:58 Changeset [25589] by zecke
  • 4 edits in trunk

WebCore:

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

Reviewed by Mark.

Use the new WebCore::String::fromUTF8 function to create
the labels.

  • platform/gdk/LocalizedStringsGdk.cpp: (WebCore::submitButtonDefaultLabel): (WebCore::inputElementAltText): (WebCore::resetButtonDefaultLabel): (WebCore::searchableIndexIntroduction): (WebCore::fileButtonChooseFileLabel): (WebCore::fileButtonNoFileSelectedLabel): (WebCore::contextMenuItemTagOpenLinkInNewWindow): (WebCore::contextMenuItemTagDownloadLinkToDisk): (WebCore::contextMenuItemTagCopyLinkToClipboard): (WebCore::contextMenuItemTagOpenImageInNewWindow): (WebCore::contextMenuItemTagDownloadImageToDisk): (WebCore::contextMenuItemTagCopyImageToClipboard): (WebCore::contextMenuItemTagOpenFrameInNewWindow): (WebCore::contextMenuItemTagCopy): (WebCore::contextMenuItemTagGoBack): (WebCore::contextMenuItemTagGoForward): (WebCore::contextMenuItemTagStop): (WebCore::contextMenuItemTagReload): (WebCore::contextMenuItemTagCut): (WebCore::contextMenuItemTagPaste): (WebCore::contextMenuItemTagNoGuessesFound): (WebCore::contextMenuItemTagIgnoreSpelling): (WebCore::contextMenuItemTagLearnSpelling): (WebCore::contextMenuItemTagSearchWeb): (WebCore::contextMenuItemTagLookUpInDictionary): (WebCore::contextMenuItemTagOpenLink): (WebCore::contextMenuItemTagIgnoreGrammar): (WebCore::contextMenuItemTagSpellingMenu): (WebCore::contextMenuItemTagShowSpellingPanel): (WebCore::contextMenuItemTagCheckSpelling): (WebCore::contextMenuItemTagCheckSpellingWhileTyping): (WebCore::contextMenuItemTagCheckGrammarWithSpelling): (WebCore::contextMenuItemTagFontMenu): (WebCore::contextMenuItemTagBold): (WebCore::contextMenuItemTagItalic): (WebCore::contextMenuItemTagUnderline): (WebCore::contextMenuItemTagOutline): (WebCore::contextMenuItemTagWritingDirectionMenu): (WebCore::contextMenuItemTagDefaultDirection): (WebCore::contextMenuItemTagLeftToRight): (WebCore::contextMenuItemTagRightToLeft): (WebCore::contextMenuItemTagInspectElement): (WebCore::searchMenuNoRecentSearchesText): (WebCore::searchMenuRecentSearchesText): (WebCore::searchMenuClearRecentSearchesText):

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

Reviewed by Mark.

Use the new WebCore::String::fromUTF8 function to convert
from the Gtk+ representation of a string to WebCore::String.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::runJavaScriptPrompt):
12:58 Changeset [25588] by zecke
  • 3 edits in trunk/WebCore

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

Reviewed by Mark.

Add WebCore::String::fromUTF8 to convert from UTF-8
to a WebCore::String. This is meant to be used by
the Gtk+ port and the signature and implementation
is similiar to the one of DeprecatedString.

  • platform/PlatformString.h:
  • platform/String.cpp: (WebCore::String::fromUTF8):
12:58 Changeset [25587] by zecke
  • 3 edits
    1 add in trunk/WebCore

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

Reviewed by Anders.

Implement the fileExists and deleteFile functions
using glib.

  • WebCore.pro:
  • platform/gdk/FileSystemGdk.cpp: Added. (WebCore::fileExists):
  • platform/gdk/TemporaryLinkStubs.cpp:
10:04 Changeset [25586] by harrison
  • 14 edits in trunk

WebCore:

Reviewed by Darin.

<rdar://problem/5472125> REGRESSION (9A535-9A548): No VO cursor shown when navigating in a mail message body

The problem was that the visible units code was mishandling non-editable content, generating null
VisiblePositions instead of the actual boundary VisiblePositions.


Updated tests:

  • fast/dom/Window/window-xy-properties-expected.txt:
  • fast/dom/plugin-attributes-enumeration-expected.txt:
  • fast/events/onerror-bubbling-expected.txt:
  • fast/events/related-target-expected.txt:
  • fast/forms/select-namedItem-expected.txt:
  • fast/table/incomplete-table-in-fragment-2-expected.txt:
  • fast/table/incomplete-table-in-fragment-hang-expected.txt:
  • fast/table/large-rowspan-crash-expected.txt:
  • plugins/embed-attributes-setting-expected.txt:


Source Changes:

  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::next): (WebCore::VisiblePosition::previous): (WebCore::VisiblePosition::honorEditableBoundaryAtOrBefore): (WebCore::VisiblePosition::honorEditableBoundaryAtOrAfter): Rename firstEditablePositionAtOrAfter to honorEditableBoundaryAtOrAfter. Rename firstEditablePositionAtOrBefore to honorEditableBoundaryAtOrBefore. Changed these two functions to handle non-editable positions.


  • editing/VisiblePosition.h:
  • editing/visible_units.cpp: (WebCore::previousWordPosition): (WebCore::nextWordPosition): (WebCore::positionAvoidingFirstPositionInTable): (WebCore::startPositionForLine): (WebCore::startOfLine): (WebCore::endOfLine): (WebCore::previousSentencePosition): (WebCore::nextSentencePosition): Rename firstEditablePositionAtOrAfter to honorEditableBoundaryAtOrAfter. Rename firstEditablePositionAtOrBefore to honorEditableBoundaryAtOrBefore. Also, startOfLine() now calls positionAvoidingFirstPositionInTable() in the empty block early return case. positionAvoidingFirstPositionInTable() was the logic startOfLine() used in the normal case. Now in a reusable function.

LayoutTests:

Reviewed by Darin.

Updated for
<rdar://problem/5472125> REGRESSION (9A535-9A548): No VO cursor shown when navigating in a mail message body


Newlines are now emitted when the first content of document is block element without text (like an empty table
or an HR), followed by text.


  • fast/dom/Window/window-xy-properties-expected.txt:
  • fast/dom/plugin-attributes-enumeration-expected.txt:
  • fast/events/onerror-bubbling-expected.txt:
  • fast/events/related-target-expected.txt:
  • fast/forms/select-namedItem-expected.txt:
  • fast/table/incomplete-table-in-fragment-2-expected.txt:
  • fast/table/incomplete-table-in-fragment-hang-expected.txt:
  • fast/table/large-rowspan-crash-expected.txt:
  • plugins/embed-attributes-setting-expected.txt:

09/15/07:

13:45 Changeset [25585] by darin
  • 2 edits in trunk/WebKit

Reviewed by John Sullivan.

  • fix <rdar://problem/5391540> REGRESSION: Can't drag images from Safari to applications in the dock (Tiger Preview, others in Leopard)
  • Misc/WebNSPasteboardExtras.mm: (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]): Re-implement code here that has been missing for the last couple of years since we did some image refactoring. Was pretty easy now that we can freely call C++ code in WebKit.
10:58 Changeset [25584] by darin
  • 2 edits in trunk/JavaScriptCore
  • fix Mac build
08:34 Changeset [25583] by bdash
  • 2 edits in trunk/WebKitTools

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

Build fix for DumpRenderTree.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Reinstate -Wno-deprecated-declarations on DumpRenderTree.mm.

09/14/07:

19:41 Changeset [25582] by oliver
  • 2 edits in trunk/WebCore

Reviewed by Adam.

Mac doesn't have any kind of not implemented macro, so we'll actually implement
fileSize.

  • platform/mac/FileSystemMac.mm: (WebCore::fileSize):
19:26 Changeset [25581] by weinig
  • 5 edits
    2 adds in trunk/WebKitTools

Rubber stamped by Adam Roben.

Split the WaitUntilDoneDelegate into a UIDelegate and a FrameLoadDelegate.

  • The UIDelegate was put into a new file while the FrameLoadDelegate was kept in the WaitUntilDoneDelegate file for the time being.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (main):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj:
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/UIDelegate.cpp: Added. (UIDelegate::QueryInterface): (UIDelegate::AddRef): (UIDelegate::Release): (UIDelegate::hasCustomMenuImplementation): (UIDelegate::setFrame): (UIDelegate::webViewFrame): (UIDelegate::runJavaScriptAlertPanelWithMessage): (UIDelegate::webViewAddMessageToConsole): (UIDelegate::doDragDrop): (UIDelegate::webViewGetDlgCode):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/UIDelegate.h: Added. (UIDelegate::UIDelegate): (UIDelegate::createWebViewWithRequest): (UIDelegate::webViewShow): (UIDelegate::webViewClose): (UIDelegate::webViewFocus): (UIDelegate::webViewUnfocus): (UIDelegate::webViewFirstResponder): (UIDelegate::makeFirstResponder): (UIDelegate::setStatusText): (UIDelegate::webViewStatusText): (UIDelegate::webViewAreToolbarsVisible): (UIDelegate::setToolbarsVisible): (UIDelegate::webViewIsStatusBarVisible): (UIDelegate::setStatusBarVisible): (UIDelegate::webViewIsResizable): (UIDelegate::setResizable): (UIDelegate::setContentRect): (UIDelegate::webViewContentRect): (UIDelegate::runJavaScriptConfirmPanelWithMessage): (UIDelegate::runJavaScriptTextInputPanelWithPrompt): (UIDelegate::runBeforeUnloadConfirmPanelWithMessage): (UIDelegate::runOpenPanelForFileButtonWithResultListener): (UIDelegate::mouseDidMoveOverElement): (UIDelegate::contextMenuItemsForElement): (UIDelegate::validateUserInterfaceItem): (UIDelegate::shouldPerformAction): (UIDelegate::dragDestinationActionMaskForDraggingInfo): (UIDelegate::willPerformDragDestinationAction): (UIDelegate::dragSourceActionMaskForPoint): (UIDelegate::willPerformDragSourceAction): (UIDelegate::contextMenuItemSelected): (UIDelegate::trackCustomPopupMenu): (UIDelegate::measureCustomMenuItem): (UIDelegate::drawCustomMenuItem): (UIDelegate::addCustomMenuDrawingData): (UIDelegate::cleanUpCustomMenuDrawingData): (UIDelegate::canTakeFocus): (UIDelegate::takeFocus): (UIDelegate::registerUndoWithTarget): (UIDelegate::removeAllActionsWithTarget): (UIDelegate::setActionTitle): (UIDelegate::undo): (UIDelegate::redo): (UIDelegate::canUndo): (UIDelegate::canRedo): (UIDelegate::webViewResizerRect): (UIDelegate::webViewDrawResizer): (UIDelegate::webViewScrolled): (UIDelegate::webViewShouldInterruptJavaScript): (UIDelegate::webViewReceivedFocus): (UIDelegate::webViewLostFocus):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp: (FrameLoadDelegate::QueryInterface): (FrameLoadDelegate::AddRef): (FrameLoadDelegate::Release): (FrameLoadDelegate::didStartProvisionalLoadForFrame): (FrameLoadDelegate::didCommitLoadForFrame): (FrameLoadDelegate::didReceiveTitle): (FrameLoadDelegate::processWork): (processWorkTimer): (FrameLoadDelegate::locationChangeDone): (FrameLoadDelegate::didFinishLoadForFrame): (FrameLoadDelegate::didFailLoadWithError): (FrameLoadDelegate::windowScriptObjectAvailable):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h: (FrameLoadDelegate::FrameLoadDelegate):
18:43 Changeset [25580] by thatcher
  • 2 edits in trunk/WebCore

Initialize m_dialogArguments to 0. Fixes the newly crashing layout tests.

  • bindings/js/kjs_window.cpp: (KJS::WindowPrivate::WindowPrivate):
18:25 Changeset [25579] by oliver
  • 3 edits in trunk/WebCore

<rdar://problem/5483632> File system operation wrappers are unimplemented on windows

Implement Windows versions of fileExists and deleteFile.
Also corrects fileSize to use a 64-bit version of stat.

  • platform/win/FileSystemWin.cpp: (WebCore::fileSize): Renamed argument to be more consistent with others. And converted to _stat32i64 to allow 64-bit filesizes (WebCore::fileExists): (WebCore::deleteFile):
  • platform/win/TemporaryLinkStubs.cpp:
18:01 Changeset [25578] by weinig
  • 3 edits
    1 move
    1 add in trunk/WebKitTools

Reviewed by Kevin McCullough.

Move mac specific globals in to mac/DumpRenderTreeMac.h

  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/DumpRenderTree.mm: Removed.
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/mac/DumpRenderTree.mm: Copied from DumpRenderTree/DumpRenderTree.mm.
  • DumpRenderTree/mac/DumpRenderTreeMac.h: Added.
17:10 Changeset [25577] by oliver
  • 7 edits
    1 copy in trunk/WebCore

Need to use _wstat instead of _stat to stat files on windows

_stat doesn't handle multibyte character sequences, unless (afaict)
the current codepage supports them, and then it uses the current
codepage. In order to correctly handle multibyte characters in a
file path we have to use _wstat.

In deference to the fact that the CF implementation may be used on
platforms other than windows i've added fileSize to the FileSystem
helper functions, and added a windows impl.

16:53 Changeset [25576] by thatcher
  • 6 edits
    4 adds in trunk

WebCore:

Reviewed by Sam.

<rdar://problem/5472970> REGRESSION (r24276): TinyMCE popups show an empty window with no content

Accessing the document of a window before the load finished would cause the window
object to hold onto the initial empty document, and never switch over to the real document
once the load finished. This regression was caused by r24276 which added a check to prevent
clearing the window object when the load finished. The absence of this clear allowed the
dialogArguments set with showModalDialog to persist on the window after the load. However,
not clearing the window would keep other properties (and the empty document object) around.

So the fix is to store away the dialog arguments that were passed to showModalDialog and
put them back on the window object in the dialogArguments property each time
the window is cleared.

  • bindings/js/kjs_window.cpp: (KJS::createWindow): No longer put dialogArguments on the window here. (KJS::showModalDialog): Put dialogArguments on the window and call setDialogArgumentsAndReturnValueSlot to remember the arguments. (KJS::Window::clear): Put m_dialogArguments back on the window as dialogArguments. (KJS::WindowFunc::callAsFunction): Call the new setDialogArgumentsAndReturnValue. (KJS::Window::setDialogArgumentsAndReturnValue): Store the arguments in m_dialogArguments.
  • bindings/js/kjs_window.h: Rename setReturnValueSlot to setDialogArgumentsAndReturnValueSlot.
  • manual-tests/modal-dialog-arguments.html: Confirmed that this test still passes.

Reverted r24276 which was all the changes in FrameLoader.cpp and FrameLoader.h.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): Remove m_shouldClearWindowProperties. (WebCore::FrameLoader::createWindow): Remove the call to setShouldClearWindowProperties. (WebCore::FrameLoader::clear): No longer check m_shouldClearWindowProperties, clear the window whenever clearWindowProperties is set. (WebCore::FrameLoader::begin): Remove m_shouldClearWindowProperties. (WebCore::FrameLoader::open): Ditto.
  • loader/FrameLoader.h: Remove m_shouldClearWindowProperties.

LayoutTests:

Reviewed by Sam.

<rdar://problem/5472970> REGRESSION (r24276): TinyMCE popups show an empty window with no content

  • fast/dom/Document/early-document-access.html: Added.
  • fast/dom/Document/resources: Added.
  • fast/dom/Document/resources/early-document-access-popup.html: Added.
15:48 Changeset [25575] by beidson
  • 2 edits in trunk/WebCore

Build fixes work best when they fix *all* platforms

15:40 Changeset [25574] by beidson
  • 3 edits in trunk/WebKitTools

Rubberstamped by Weinig

You know, Sam, some of us use case-sensitve filesystems...

  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/mac/UIDelegate.mm:
15:13 Changeset [25573] by kmccullo
  • 2 edits in trunk/JavaScriptCore

Reviewed by Sam.

  • Copy JSRetainPtr to include folder.
14:39 Changeset [25572] by beidson
  • 5 edits in trunk/WebCore

Roll out my previous build fix and just make the stupid thing inline
(I knew there was something easier but oh boy, no coffee yet... weinig?)

14:27 Changeset [25571] by bdash
  • 4 edits in trunk/WebKit

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

Build fix for Tiger.

  • WebView/WebArchive.m: (-[WebArchive initWithCoder:]): Use @catch(id) rather than @catch(...).
  • WebView/WebPreferences.m: (-[WebPreferences initWithCoder:]): Ditto.
  • WebView/WebResource.mm: (-[WebResource initWithCoder:]): Ditto. (-[WebResource _initWithPropertyList:]): Ditto.
14:09 Changeset [25570] by beidson
  • 2 edits in trunk/WebCore

Rubberstamped by Mark Rowe

Add the logging channel I just created to the initialize list on Mac

  • platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary):
14:04 Changeset [25569] by beidson
  • 5 edits in trunk/WebCore

Build fix

That method can't go in the header, apparently

  • platform/Threading.h:
  • platform/gdk/TemporaryLinkStubs.cpp: (WebCore::initializeThreading):
  • platform/mac/Threading.mm: (WebCore::initializeThreading):
  • platform/qt/TemporaryLinkStubs.cpp: (WebCore::initializeThreading):
13:43 Changeset [25568] by beidson
  • 7 edits
    1 add in trunk/WebCore

Reviewed by Darin

-Add callOnMainThread() implementation to Windows

  • WebCore.vcproj/WebCore.vcproj:


  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::open): Call initializeThreading() from the main thread before kicking off the secondary thread


  • platform/Logging.cpp: Added Threading logging channel (WebCore::):
  • platform/Logging.h: Ditto


  • platform/Threading.h: (WebCore::initializeThreading): Added - only needs Windows impl for now
  • platform/win/ThreadingWin.cpp: Added. (WebCore::callFunctionsOnMainThread): Calls each function currently in the main-thread queue (WebCore::ThreadingWindowWndProc): (WebCore::initializeThreading): Creates a message-only window to use for callOnMainThread() (WebCore::callOnMainThread): Queues the function to be called and posts a message to the threading window such that the function-call-queue can be addressed


  • platform/win/TemporaryLinkStubs.cpp: (WebCore::signedPublicKeyAndChallengeString):


13:42 Changeset [25567] by darin
  • 5 edits in trunk/WebKit

Reviewed by Geoff Garen and Tim Hatcher.

  • fixed <rdar://problem/5482745> initFromCoder: and initWithPropertyList: functions should guard against incorrect types
  • WebView/WebArchive.m: (isArrayOfClass): Added helper function. (-[WebArchive _initWithPropertyList:]): Tweaked function to remove the need for a type cast. (-[WebArchive initWithCoder:]): Added type checking for the main resource, subresources array, and subframe archives array. Also replaced NS_DURING with @try.
  • WebView/WebPreferences.m: (-[WebPreferences initWithCoder:]): Added type checking for the identifier and the values dictionary, including ensuring that it's a mutable dictionary.
  • WebView/WebResource.mm: (-[WebResource initWithCoder:]): Added type checking for all the fields. (-[WebResource _initWithPropertyList:]): Added type checking for the NSURLResponse.
  • WebKit.exp: Removed accidentally exported internal symbol; I checked and it's not used anywhere.
12:37 Changeset [25566] by weinig
  • 6 edits
    30 moves
    1 add in trunk/WebKitTools

Rubber stamped by Adam Roben.

  • Move dump state data to LayoutTestContoller and add getter/setters to accommodate.
  • Move mac specific DumpRenderTree files to DumpRenderTree/mac
  • DumpRenderTree/AppleScriptController.h: Removed.
  • DumpRenderTree/AppleScriptController.m: Removed.
  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/DumpRenderTree.mm: (startJavaScriptThreads): (stopJavaScriptThreads): (activateAhemFont): (setDefaultColorProfileToRGB): (makeLargeMallocFailSilently): (dumpFrameScrollPosition): (dumpFramesAsText): (dump): (runTest): (-[DumpRenderTreeWindow isKeyWindow]):
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/DumpRenderTreeDraggingInfo.h: Removed.
  • DumpRenderTree/DumpRenderTreeDraggingInfo.m: Removed.
  • DumpRenderTree/EditingDelegate.h: Removed.
  • DumpRenderTree/EditingDelegate.m: Removed.
  • DumpRenderTree/EventSendingController.h: Removed.
  • DumpRenderTree/EventSendingController.m: Removed.
  • DumpRenderTree/FrameLoadDelegate.h: Removed.
  • DumpRenderTree/FrameLoadDelegate.mm: Removed.
  • DumpRenderTree/GCController.mm: Removed.
  • DumpRenderTree/ImageDiff.m: Removed.
  • DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::LayoutTestController): (dumpAsTextCallback): (dumpBackForwardListCallback): (dumpChildFramesAsTextCallback): (dumpChildFrameScrollPositionsCallback): (dumpDOMAsWebArchiveCallback): (dumpEditingCallbacksCallback): (dumpFrameLoadCallbacksCallback): (dumpResourceLoadCallbacksCallback): (dumpSelectionRectCallback): (dumpSourceAsWebArchiveCallback): (dumpTitleChangesCallback): (repaintSweepHorizontallyCallback): (setCallCloseOnWebViewsCallback): (setCanOpenWindowsCallback): (setCloseRemainingWindowsWhenCompleteCallback): (testRepaintCallback): (addFileToPasteboardOnDragCallback): (waitUntilDoneCallback):
  • DumpRenderTree/LayoutTestController.h: (LayoutTestController::dumpAsText): (LayoutTestController::setDumpAsText): (LayoutTestController::dumpBackForwardList): (LayoutTestController::setDumpBackForwardList): (LayoutTestController::dumpChildFrameScrollPositions): (LayoutTestController::setDumpChildFrameScrollPositions): (LayoutTestController::dumpChildFramesAsText): (LayoutTestController::setDumpChildFramesAsText): (LayoutTestController::dumpDOMAsWebArchive): (LayoutTestController::setDumpDOMAsWebArchive): (LayoutTestController::dumpSelectionRect): (LayoutTestController::setDumpSelectionRect): (LayoutTestController::dumpSourceAsWebArchive): (LayoutTestController::setDumpSourceAsWebArchive): (LayoutTestController::dumpTitleChanges): (LayoutTestController::setDumpTitleChanges): (LayoutTestController::dumpEditingCallbacks): (LayoutTestController::setDumpEditingCallbacks): (LayoutTestController::dumpResourceLoadCallbacks): (LayoutTestController::setDumpResourceLoadCallbacks): (LayoutTestController::dumpFrameLoadCallbacks): (LayoutTestController::setDumpFrameLoadCallbacks): (LayoutTestController::addFileToPasteboardOnDrag): (LayoutTestController::setAddFileToPasteboardOnDrag): (LayoutTestController::callCloseOnWebViews): (LayoutTestController::setCallCloseOnWebViews): (LayoutTestController::canOpenWindows): (LayoutTestController::setCanOpenWindows): (LayoutTestController::closeRemainingWindowsWhenComplete): (LayoutTestController::setCloseRemainingWindowsWhenComplete): (LayoutTestController::testRepaint): (LayoutTestController::setTestRepaint): (LayoutTestController::testRepaintSweepHorizontally): (LayoutTestController::setTestRepaintSweepHorizontally): (LayoutTestController::waitToDump): (LayoutTestController::windowIsKey):
  • DumpRenderTree/LayoutTestControllerMac.mm: Removed.
  • DumpRenderTree/NavigationController.h: Removed.
  • DumpRenderTree/NavigationController.m: Removed.
  • DumpRenderTree/ObjCController.h: Removed.
  • DumpRenderTree/ObjCController.m: Removed.
  • DumpRenderTree/ObjCPlugin.h: Removed.
  • DumpRenderTree/ObjCPlugin.m: Removed.
  • DumpRenderTree/ObjCPluginFunction.h: Removed.
  • DumpRenderTree/ObjCPluginFunction.m: Removed.
  • DumpRenderTree/PolicyDelegate.h: Removed.
  • DumpRenderTree/PolicyDelegate.m: Removed.
  • DumpRenderTree/ResourceLoadDelegate.h: Removed.
  • DumpRenderTree/ResourceLoadDelegate.m: Removed.
  • DumpRenderTree/TextInputController.h: Removed.
  • DumpRenderTree/TextInputController.m: Removed.
  • DumpRenderTree/UIDelegate.h: Removed.
  • DumpRenderTree/UIDelegate.mm: Removed.
  • DumpRenderTree/WorkQueueItemMac.mm: Removed.
  • DumpRenderTree/mac: Added.
  • DumpRenderTree/mac/AppleScriptController.h: Copied from DumpRenderTree/AppleScriptController.h.
  • DumpRenderTree/mac/AppleScriptController.m: Copied from DumpRenderTree/AppleScriptController.m.
  • DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h: Copied from DumpRenderTree/DumpRenderTreeDraggingInfo.h.
  • DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm: Copied from DumpRenderTree/DumpRenderTreeDraggingInfo.m.
  • DumpRenderTree/mac/EditingDelegate.h: Copied from DumpRenderTree/EditingDelegate.h.
  • DumpRenderTree/mac/EditingDelegate.mm: Copied from DumpRenderTree/EditingDelegate.m. (-[EditingDelegate webView:shouldBeginEditingInDOMRange:]): (-[EditingDelegate webView:shouldEndEditingInDOMRange:]): (-[EditingDelegate webView:shouldInsertNode:replacingDOMRange:givenAction:]): (-[EditingDelegate webView:shouldInsertText:replacingDOMRange:givenAction:]): (-[EditingDelegate webView:shouldDeleteDOMRange:]): (-[EditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]): (-[EditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]): (-[EditingDelegate webView:shouldChangeTypingStyle:toStyle:]): (-[EditingDelegate webViewDidBeginEditing:]): (-[EditingDelegate webViewDidChange:]): (-[EditingDelegate webViewDidEndEditing:]): (-[EditingDelegate webViewDidChangeTypingStyle:]): (-[EditingDelegate webViewDidChangeSelection:]):
  • DumpRenderTree/mac/EventSendingController.h: Copied from DumpRenderTree/EventSendingController.h.
  • DumpRenderTree/mac/EventSendingController.mm: Copied from DumpRenderTree/EventSendingController.m.
  • DumpRenderTree/mac/FrameLoadDelegate.h: Copied from DumpRenderTree/FrameLoadDelegate.h.
  • DumpRenderTree/mac/FrameLoadDelegate.mm: Copied from DumpRenderTree/FrameLoadDelegate.mm. (-[FrameLoadDelegate init]): (-[FrameLoadDelegate dealloc]): (-[FrameLoadDelegate processWork:]): (-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): (-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]): (-[FrameLoadDelegate webView:didCommitLoadForFrame:]): (-[FrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]): (-[FrameLoadDelegate webView:didFinishLoadForFrame:]): (-[FrameLoadDelegate webView:didFailLoadWithError:forFrame:]): (-[FrameLoadDelegate webView:windowScriptObjectAvailable:]): (-[FrameLoadDelegate webView:didClearWindowObject:forFrame:]): (-[FrameLoadDelegate webView:didReceiveTitle:forFrame:]): (-[FrameLoadDelegate webView:didReceiveServerRedirectForProvisionalLoadForFrame:]): (-[FrameLoadDelegate webView:didReceiveIcon:forFrame:]): (-[FrameLoadDelegate webView:didChangeLocationWithinPageForFrame:]): (-[FrameLoadDelegate webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:]): (-[FrameLoadDelegate webView:didCancelClientRedirectForFrame:]): (-[FrameLoadDelegate webView:willCloseFrame:]): (-[FrameLoadDelegate webView:didFinishDocumentLoadForFrame:]): (-[FrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
  • DumpRenderTree/mac/GCControllerMac.mm: Copied from DumpRenderTree/GCController.mm.
  • DumpRenderTree/mac/ImageDiff.m: Copied from DumpRenderTree/ImageDiff.m.
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: Copied from DumpRenderTree/LayoutTestControllerMac.mm. (LayoutTestController::notifyDone): (LayoutTestController::setWindowIsKey): (LayoutTestController::setWaitToDump):
  • DumpRenderTree/mac/NavigationController.h: Copied from DumpRenderTree/NavigationController.h.
  • DumpRenderTree/mac/NavigationController.m: Copied from DumpRenderTree/NavigationController.m.
  • DumpRenderTree/mac/ObjCController.h: Copied from DumpRenderTree/ObjCController.h.
  • DumpRenderTree/mac/ObjCController.m: Copied from DumpRenderTree/ObjCController.m.
  • DumpRenderTree/mac/ObjCPlugin.h: Copied from DumpRenderTree/ObjCPlugin.h.
  • DumpRenderTree/mac/ObjCPlugin.m: Copied from DumpRenderTree/ObjCPlugin.m.
  • DumpRenderTree/mac/ObjCPluginFunction.h: Copied from DumpRenderTree/ObjCPluginFunction.h.
  • DumpRenderTree/mac/ObjCPluginFunction.m: Copied from DumpRenderTree/ObjCPluginFunction.m.
  • DumpRenderTree/mac/PolicyDelegate.h: Copied from DumpRenderTree/PolicyDelegate.h.
  • DumpRenderTree/mac/PolicyDelegate.mm: Copied from DumpRenderTree/PolicyDelegate.m.
  • DumpRenderTree/mac/ResourceLoadDelegate.h: Copied from DumpRenderTree/ResourceLoadDelegate.h.
  • DumpRenderTree/mac/ResourceLoadDelegate.mm: Copied from DumpRenderTree/ResourceLoadDelegate.m. (-[ResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]): (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]): (-[ResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]): (-[ResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]): (-[ResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]): (-[ResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]):
  • DumpRenderTree/mac/TextInputController.h: Copied from DumpRenderTree/TextInputController.h.
  • DumpRenderTree/mac/TextInputController.m: Copied from DumpRenderTree/TextInputController.m.
  • DumpRenderTree/mac/UIDelegate.h: Copied from DumpRenderTree/UIDelegate.h.
  • DumpRenderTree/mac/UIDelegate.mm: Copied from DumpRenderTree/UIDelegate.mm. (-[UIDelegate webView:dragImage:at:offset:event:pasteboard:source:slideBack:forView:]): (-[UIDelegate webViewFocus:]): (-[UIDelegate webView:createWebViewWithRequest:]): (-[UIDelegate webViewClose:]):
  • DumpRenderTree/mac/WorkQueueItemMac.mm: Copied from DumpRenderTree/WorkQueueItemMac.mm.
11:04 Changeset [25565] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/5316743>
Safari does not handle filename parameter of content-disposition


Use CFURLResponseCopySuggestedFilename instead of our own hand-rolled implementation.


While we do return the correct filename in all cases I've tried, using CFNetwork is better because
it might handle corner cases that we don't.


  • platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::doUpdateResourceResponse):
11:02 Changeset [25564] by kmccullo
  • 6 edits in trunk/WebKitTools

Reviewed by Adam.

  • Changing Win version of Drosera work with recent changes.
  • Drosera/DebuggerDocument.cpp:
  • Drosera/DebuggerDocument.h:
  • Drosera/mac/DebuggerDocumentPlatform.mm: (NSStringCreateWithJSStringRef): (JSValueRefCreateWithNSString):
  • Drosera/win/DebuggerClient.cpp: (DebuggerClient::stepInto):
  • Drosera/win/Drosera.vcproj/Drosera.vcproj:
10:06 Changeset [25563] by ggaren
  • 6 edits
    2 adds in trunk

WebCore:

Reviewed by Adam Roben.

Fixed http://bugs.webkit.org/show_bug.cgi?id=15209
Sometimes removing an iframe from the DOM does not remove its frame
from the page

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::requestFrame): Use the contentFrame pointer directly instead of searching for a frame by the frame element's name, because the frame element's name may have changed. (Another reason to do this is that it's just plain more straight-forward and efficient.)

LayoutTests:

Reviewed by Adam Roben.


Layout test for http://bugs.webkit.org/show_bug.cgi?id=15209
Sometimes removing an iframe from the DOM does not remove its frame
from the page.

  • fast/frames/iframe-remove-after-id-change-expected.txt: Added.
  • fast/frames/iframe-remove-after-id-change.html: Added.

Updated results in this test. New results indicate that the frame's
contents are preserved between removal and reinsertion, which matches
Firefox.

  • fast/frames/iframe-option-crash-expected.checksum:
  • fast/frames/iframe-option-crash-expected.png:
  • fast/frames/iframe-option-crash-expected.txt:
  • fast/frames/iframe-option-crash.xhtml:
08:38 Changeset [25562] by darin
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Mitz and Kevin Decker.

Test: fast/forms/textarea-rows-cols.html

  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Use constants for the default number of rows and columns. (WebCore::HTMLTextAreaElement::parseMappedAttribute): If rows/cols attribute has a value that's missing, non-numeric, or zero, then use the default value. Also check for the case where the effective value of the attribute isn't changing.

LayoutTests:

Reviewed by Mitz and Kevin Decker.

  • fast/forms/textarea-rows-cols.html: Added.
  • platform/mac/fast/forms/textarea-rows-cols-expected.checksum: Added.
  • platform/mac/fast/forms/textarea-rows-cols-expected.png: Added.
  • platform/mac/fast/forms/textarea-rows-cols-expected.txt: Added.
02:47 Changeset [25561] by bdash
  • 2 edits in trunk/WebCore

2007-09-14 Sven Herzberg <sven@imendio.com>

Reviewed by Adam Roben.

Don't use fontconfig types if necessary, fixes:
http://bugs.webkit.org/show_bug.cgi?id=15203

  • platform/gdk/FontPlatformData.cpp: don't use an FcBool to store the initialized state, use a plain c++ bool instead
01:20 Changeset [25560] by sfalken
  • 1 copy in tags/Safari-523.6b

New tag.

01:20 Changeset [25559] by sfalken
  • 1 edit in trunk/WebKit/win/WebKit.vcproj/VERSION

Bump version for submit

00:33 Changeset [25558] by sfalken
  • 2 edits in trunk/WebKit/win

Fix build.

09/13/07:

18:46 Changeset [25557] by beidson
  • 4 edits in trunk/WebCore

Reviewed by Maciej

<rdar://problem/5480437> - No site icon at launch and related error messages

The error message was actually indicative of a larger bug that might've resulted in icons getting
improperly pruned because they were never added to the set of retained page URLs.

To solve the no-icon-at-launch problem, we send the "didReceiveIcon:" delegate call for every page
load that has an icon, whether the icon comes in from network, from disk, or was already in ram

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::startIconLoader): Always send the didReceiveIcon delegate call when an icon's image data is known
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::retainIconForPageURL): Much more accurately track the set of retained pages by adding them when their retain count moves from 0 to 1
  • loader/icon/PageURLRecord.h: (WebCore::PageURLRecord::retain): Correctly distinguish the "retain count just went from 0 to 1" case in the return value
18:02 Changeset [25556] by bdash
  • 1 copy in tags/Safari-4523.6

New tag.

17:58 Changeset [25555] by bdash
  • 4 edits in trunk

Versioning.

17:57 Changeset [25554] by bdash
  • 1 copy in tags/Safari-5523.6

New tag.

17:35 Changeset [25553] by beidson
  • 4 edits in trunk/WebCore

Rubberstamped by Geoff and Maciej

Fix MSVC build warning due to out of range data in a char array

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::defaultIcon): The buffer is now unsigned data
  • platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): Add the "unsigned char*" c'tor
  • platform/SharedBuffer.h:
16:59 Changeset [25552] by kmccullo
  • 6 edits in trunk/WebKitTools

Reviewed by Tim.

  • Moved isPaused into the JS for efficiency and simplicity.
  • Drosera/DebuggerDocument.cpp: (DebuggerDocument::DebuggerDocument): (DebuggerDocument::pauseCallback): (DebuggerDocument::resumeCallback): (DebuggerDocument::isPaused): (DebuggerDocument::staticFunctions):
  • Drosera/DebuggerDocument.h:
  • Drosera/console.js:
  • Drosera/debugger.js:
  • Drosera/mac/DebuggerClient.mm: (-[DebuggerClient validateUserInterfaceItem:]):
16:05 Changeset [25551] by bdash
  • 3 edits in branches/Safari-2.0-dashboard/JavaScriptCore

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

Merge r23846 from trunk to Safari-2.0-dashboard.

2007-06-27 Kevin McCullough <kmccullough@apple.com>

Reviewed by Darin.

  • <rdar://problem/5271937> REGRESSION: Apparent WebKit JavaScript memory smasher when submitting comment to iWeb site (crashes in kjs_pcre_compile2)
  • Correctly evaluate the return value of _pcre_ucp_findchar.
  • pcre/pcre_compile.c: (compile_branch):
  • pcre/pcre_exec.c: (match):
16:05 Changeset [25550] by bdash
  • 2 edits in branches/Safari-2.0-dashboard/WebCore

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

Merge r12652 from trunk to Safari-2.0-dashboard.

2006-02-07 Adele Peterson <adele@apple.com>

Reviewed by Maciej.

  • Fixed <rdar://problem/3727939> Safari strips \0 characters from HTML tags making them valid

Test: fast/encoding/decoder-allow-null-chars.html

  • kwq/KWQTextCodec.cpp: (KWQTextDecoder::convertLatin1): Removed stripping of null characters (unwanted): ditto.
16:05 Changeset [25549] by bdash
  • 2 edits in branches/Safari-2.0-dashboard/WebCore

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

Merge r24181 from trunk to Safari-2.0-dashboard.

2007-07-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoff.

Fix for <rdar://problem/5326791> XSS vulnerability: ability to set window.defaultStatus,
window.defaultstatus and window.status cross domains

Test: http/tests/security/cross-frame-access-put.html

  • bindings/js/kjs_window.cpp: (KJS::Window::put): Adds isSafeScript check for defaultStatus, defaultstatus and status cases.
16:05 Changeset [25548] by bdash
  • 2 edits in branches/Safari-2.0-dashboard/WebKit

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

Merge r18562 from trunk to Safari-2.0-dashboard.

2007-01-03 John Sullivan <sullivan@apple.com>

Reviewed by Kevin Decker

  • fixed <rdar://problem/4145714> WebKit's PDFView's "Open in Preview" puts the PDF in /tmp, both group and world-readable
  • WebView/WebPDFView.mm: (-[WebPDFView _openWithFinder:]): Make the file only readable by the current user
16:03 Changeset [25547] by darin
  • 32 edits in trunk

WebCore:

Reviewed by Oliver.

  • fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text <input> elements with maxlength limit
  • editing/Editor.h: Moved MarkedTextUnderline here and renamed it CompositionUnderline. Moved the rest of the marked text API here and used the term that will be more familiar to those on platforms other than Macintosh, "composition". This helps prevent confusion with the other kinds of mark -- the emacs "mark" and spelling/grammar marks. Also cleaned up the conditionals a bit for the Macintosh-specific parts of this header.
  • editing/Editor.cpp: (WebCore::Editor::Editor): Updated for name change. (WebCore::Editor::clear): Added. To be called by FrameLoader::clear(). (WebCore::Editor::insertTextWithoutSendingTextEvent): Removed code to make inserted text replace the marked text range -- we now deal with this explicitly by not calling this function to replace marked text. Also removed unneeded code that was specific to the use of this to replace the marked text. (WebCore::Editor::selectComposition): Renamed from selectMarkedText. Updated since the composition range is not stored as a Range. (WebCore::Editor::confirmComposition): Added. To be called when changing a composition into actual text. Unlike the old code path, deletes the composition first, then inserts the text, triggering the normal insertion code path and events. This is helpful because it means the inserted text will be truncated by the <input> element, for example. (WebCore::Editor::confirmCompositionWithoutDisturbingSelection): Added. (WebCore::Editor::setComposition): Added. To be called when changing the composition. Takes parameters for the underlines and selection. Unlike the old code path, this passes a flag down that indicates the inserted text is part of a composition. This is helpful because we don't send the event that will cause the <input> element to do truncation. It's also a better API for future improvements to our input method handling. (WebCore::Editor::revealSelectionAfterEditingOperation): Updated for name change. (WebCore::Editor::setIgnoreCompositionSelectionChange): Ditto. (WebCore::Editor::compositionRange): Added. Needed now that the composition is not stored as a Range. (WebCore::Editor::getCompositionSelection): Added.
  • editing/TypingCommand.h:
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Added an insertedTextIsComposition parameter, and don't send the BeforeTextInsertedEvent if it's true.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Replaced the Macintosh-specific call to setMarkedTextRange with a call to the new Editor::clear().
  • page/Frame.h:
  • page/Frame.cpp:
  • page/FramePrivate.h:
  • page/mac/FrameMac.mm: Removed the marked text code. It was streamlined and moved to Editor, except for the Mac-specific code, which was moved into WebKit.
  • page/mac/WebCoreFrameBridge.h:
  • page/mac/WebCoreFrameBridge.mm: Removed some now-unneeded marked text code. (-[WebCoreFrameBridge markedTextNSRange]): Updated for name/API change.
  • rendering/InlineTextBox.h:
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Updated marked text code for name changes, and also streamlined the code a bit for the case where there is no composition. (WebCore::InlineTextBox::paintCompositionBackground): Name change. (WebCore::InlineTextBox::paintCompositionUnderline): Ditto.
  • rendering/RenderTextControl.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::finishText): Added. Helper function shared by the (WebCore::RenderTextControl::text): (WebCore::getNextSoftBreak): (WebCore::RenderTextControl::textWithHardLineBreaks):
  • platform/CharacterNames.h: Added newlineCharacter.
  • dom/Range.h: Remove the now-unneeded version of toString that converts <br> elements into newlines.
  • dom/Range.cpp: (WebCore::Range::toString): Changed this to use a Vector<UChar> instead of a String so it will not have pathological reallocation performance, and removed the <br> feature. (WebCore::Range::pastEndNode): Made this return 0 when there is no start node. This bit of extra robustness guarantees you can't do a null dereference if the start node is 0 and the end node is not. Not sure this case really exists.
  • page/ContextMenuController.cpp: (ContextMenuController::contextMenuItemSelected): Removed a semi-bogus use of Range::toString(true). The right function to use here is plainText().
  • bridge/EditorClient.h: Removed obsolete markedTextAbandoned function.
  • WebCore.exp: Updated for above changes.

WebKit:

Reviewed by Oliver.

  • fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text <input> elements with maxlength limit
  • WebView/WebHTMLView.mm: (-[WebHTMLView _selectionChanged]): Tweaked code a bit. (-[WebHTMLView markedRange]): Simplified logic, since markedTextNSRange works when there's no composition range. (-[WebHTMLView hasMarkedText]): Call directly to Editor instead of bridge. (-[WebHTMLView unmarkText]): Call new confirmComposition to make it clear that this is confirming text, not just unmarking it to discard it. (extractUnderlines): Added. Converts directly from an NSAttributedString to the CompositionUnderline vector that's used by WebCore. (-[WebHTMLView setMarkedText:selectedRange:]): Changed to use the new setComposition. (-[WebHTMLView insertText:]): Changed to use confirmComposition when appropriate, instead of relying on special behavior of Editor::insertText. (-[WebHTMLView _updateSelectionForInputManager]): Rewrote to use getCompositionSelection and confirmCompositionWithoutDisturbingSelection.
  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: Removed obsolete markedTextAbandoned function.

win:

Reviewed by Oliver.

  • fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text <input> elements with maxlength limit
  • WebView.cpp: (WebView::resetIME): Change to use confirmCompositionWithoutDisturbingSelection. (WebView::updateSelectionForIME): Update for name changes, and to use new functions in Editor. (WebView::onIMEStartComposition): Removed unneeded call to unmarkText. (compositionToUnderlines): Removed startOffset parameter, since setComposition now handles this. (WebView::onIMEComposition): Changed to use confirmComposition and setComposition. Logic gets a lot cleaner. (WebView::onIMEEndComposition): Removed unneeded calls to Editor. (WebView::onIMERequestCharPosition): Updated for name changes.

LayoutTests:

Reviewed by Oliver.

  • updated test results changed by change in input manager logic
  • platform/mac/editing/input/firstrectforcharacterrange-styled-expected.txt:
  • platform/mac/editing/input/text-input-controller-expected.txt:
  • platform/mac/editing/input/wrapped-line-char-rect-expected.txt: Updated. Small changes in which delegate methods are called.
15:20 Changeset [25546] by andersca
  • 5 edits in trunk/WebCore

Reviewed by Adam and Geoff.

<rdar://problem/5304000>
Windows Safari doesn't always call NPP_SetWindow() for NPAPI plugins.


This does two things:


  1. Makes sure that the plug-in get the correct initial size.


  1. Always updates the size of the HWND, even if the widget size didn't change. This is because the widget size can be different before the HWND has been created.


  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabaseWin::createPluginView):
  • plugins/win/PluginDatabaseWin.h:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::setFrameGeometry): (WebCore::PluginViewWin::PluginViewWin):
  • plugins/win/PluginViewWin.h:
15:01 Changeset [25545] by kmccullo
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Geof, Sam, Adam, Hyatt, Darin.

  • <rdar://problem/5480234> JS setTimeout function requires a second argument
  • Removed check for number of arguments in setTimeout to behave like other browsers.
  • Added layoutTest setTimeout-no-arguments.html
  • bindings/js/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):

LayoutTests:

Reviewed by Geof, Sam, Adam, Hyatt, Darin.

  • <rdar://problem/5480234> JS setTimeout function requires a second argument
  • Removed check for number of arguments in setTimeout to behave like other browsers.
  • fast/dom/Window/setTimeout-no-arguments-expected.txt: Added.
  • fast/dom/Window/setTimeout-no-arguments.html: Added.
13:51 Changeset [25544] by weinig
  • 13 edits
    1 add in trunk/WebKitTools

Rubber stamped by Darin.

Make DumpRenderTree more cross platform ready.

  • Convert GCController to use the JSCore API instead of the WebScriptObject.
  • Use CF types instead of NS objects.
  • General cleanup.
  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/DumpRenderTree.mm: (dumpRenderTree): (dump): (runTest):
  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/EditingDelegate.m:
  • DumpRenderTree/FrameLoadDelegate.h:
  • DumpRenderTree/FrameLoadDelegate.mm: (-[FrameLoadDelegate init]): (-[FrameLoadDelegate dealloc]): (-[FrameLoadDelegate webView:didClearWindowObject:forFrame:]):
  • DumpRenderTree/GCController.cpp: Added. (GCController::GCController): (GCController::~GCController): (collectCallback): (collectOnAlternateThreadCallback): (getJSObjectCountCallback): (GCController::makeWindowObject): (GCController::getJSClass): (GCController::staticFunctions):
  • DumpRenderTree/GCController.h:
  • DumpRenderTree/GCController.mm: (GCController::collect): (GCController::collectOnAlternateThread): (GCController::getJSObjectCount):
  • DumpRenderTree/LayoutTestController.cpp: (LayoutTestController::makeWindowObject): (LayoutTestController::getJSClass):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/LayoutTestControllerMac.mm: (LayoutTestController::addDisallowedURL): (waitUntilDoneWatchdogFired): (LayoutTestController::waitUntilDone):
  • DumpRenderTree/ResourceLoadDelegate.m: (-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
13:15 Changeset [25543] by hyatt
  • 4 edits in trunk/WebCore

Win32 font improvements.

12:07 Changeset [25542] by ggaren
  • 2 edits in trunk/JavaScriptCore

Try to fix GDK build.

  • wtf/MathExtras.h: (wtf_random_init):
11:52 Changeset [25541] by ggaren
  • 4 edits in trunk/JavaScriptCore

2007-09-12 Geoff Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Fixed <rdar://problem/5429064> 141885 Safari JavaScript: Math.random() slightly less randomly distributed than on Safari / Mac

Math.random was skewed slightly upward because it assumed that RAND_MAX was outside the range of
values that rand() might return. This problem was particularly pronounced on Windows because
the range of values returned by rand() on Windows is 216 smaller than the range of values
return by rand() on Mac.

Fixed by accounting for RAND_MAX return values. Also, switched Windows over to rand_s, which has
a range that's equal to rand()'s range on Mac.

  • kjs/config.h:
  • kjs/math_object.cpp: (MathFuncImp::callAsFunction): Use the new new thing.
  • wtf/MathExtras.h: Platform abstraction for random numbers, to cover over differences on Windows. (wtf_random_init): (wtf_random):
11:10 Changeset [25540] by andersca
  • 2 edits in trunk/WebCore

Reviewed, tweaked and landed by Anders.

<rdar://problem/5461153>
http://bugs.webkit.org/show_bug.cgi?id=15143
Crash seen on Windows


Null check frame before calling Frame::settings.


  • loader/PluginDocument.cpp: (WebCore::PluginTokenizer::writeRawData):
10:25 Changeset [25539] by kmccullo
  • 2 edits in trunk/WebKitTools

Reviewed by Stephanie.

Fix leaks in mac DumpRenderTree.

  • DumpRenderTree/FrameLoadDelegate.mm: (-[FrameLoadDelegate init]): Initalize in the correct order. (-[FrameLoadDelegate processWork:]): Delete WorkQueueItem's after dequeueing them.
  • DumpRenderTree/LayoutTestController.cpp: (decodeHostNameCallback): Put return value in a temporary JSRetainPtr to ensure it gets released. (encodeHostNameCallback): ditto.
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/LayoutTestControllerMac.mm: (LayoutTestController::copyDecodedHostName): Rename function to signal that it follows the Create rule. (LayoutTestController::copyEncodedHostName): ditto (LayoutTestController::queueLoad): Use a JSRetainPtr to ensure the url gets released.
10:06 Changeset [25538] by zecke
  • 3 edits
    1 add in trunk/WebCore

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

Reviewed by Mark.

Implement the FileChooser for the WebKit/Gtk+ port by using
the GtkFileChooserDialog and g_path_get_basename to get the
basename for the current filename.

  • WebCore.pro:
  • platform/gdk/FileChooserGdk.cpp: Added. (WebCore::FileChooser::FileChooser): (WebCore::FileChooser::~FileChooser): (WebCore::FileChooser::openFileChooser): (WebCore::FileChooser::basenameForWidth):
  • platform/gdk/TemporaryLinkStubs.cpp:
10:05 Changeset [25537] by zecke
  • 3 edits
    1 add in trunk/WebCore

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

Reviewed by Mark.

Move the "string" functions from the TemporaryLinkStubs.cpp
to LocalizedStringsGdk.cpp and implement them using the text
from the win port and glib-i18n (gettext).

  • platform/gdk/LocalizedStringsGdk.cpp: Added. (WebCore::submitButtonDefaultLabel): (WebCore::inputElementAltText): (WebCore::resetButtonDefaultLabel): (WebCore::searchableIndexIntroduction): (WebCore::fileButtonChooseFileLabel): (WebCore::fileButtonNoFileSelectedLabel): (WebCore::contextMenuItemTagOpenLinkInNewWindow): (WebCore::contextMenuItemTagDownloadLinkToDisk): (WebCore::contextMenuItemTagCopyLinkToClipboard): (WebCore::contextMenuItemTagOpenImageInNewWindow): (WebCore::contextMenuItemTagDownloadImageToDisk): (WebCore::contextMenuItemTagCopyImageToClipboard): (WebCore::contextMenuItemTagOpenFrameInNewWindow): (WebCore::contextMenuItemTagCopy): (WebCore::contextMenuItemTagGoBack): (WebCore::contextMenuItemTagGoForward): (WebCore::contextMenuItemTagStop): (WebCore::contextMenuItemTagReload): (WebCore::contextMenuItemTagCut): (WebCore::contextMenuItemTagPaste): (WebCore::contextMenuItemTagNoGuessesFound): (WebCore::contextMenuItemTagIgnoreSpelling): (WebCore::contextMenuItemTagLearnSpelling): (WebCore::contextMenuItemTagSearchWeb): (WebCore::contextMenuItemTagLookUpInDictionary): (WebCore::contextMenuItemTagOpenLink): (WebCore::contextMenuItemTagIgnoreGrammar): (WebCore::contextMenuItemTagSpellingMenu): (WebCore::contextMenuItemTagShowSpellingPanel): (WebCore::contextMenuItemTagCheckSpelling): (WebCore::contextMenuItemTagCheckSpellingWhileTyping): (WebCore::contextMenuItemTagCheckGrammarWithSpelling): (WebCore::contextMenuItemTagFontMenu): (WebCore::contextMenuItemTagBold): (WebCore::contextMenuItemTagItalic): (WebCore::contextMenuItemTagUnderline): (WebCore::contextMenuItemTagOutline): (WebCore::contextMenuItemTagWritingDirectionMenu): (WebCore::contextMenuItemTagDefaultDirection): (WebCore::contextMenuItemTagLeftToRight): (WebCore::contextMenuItemTagRightToLeft): (WebCore::contextMenuItemTagInspectElement): (WebCore::searchMenuNoRecentSearchesText): (WebCore::searchMenuRecentSearchesText): (WebCore::searchMenuClearRecentSearchesText): (WebCore::unknownFileSizeText):
  • platform/gdk/TemporaryLinkStubs.cpp:
10:05 Changeset [25536] by zecke
  • 3 edits
    2 adds in trunk/WebCore

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

Reviewed by Mark.

EventHandlerGdk::createDraggingClipboard must succeed otherwise an
ASSERT is hit. Add Clipboard stubs for the Gdk/Gtk+ port and
instantiate ClipboardGdk from the EventHandlerGdk to make the ASSERT
go away. In contrast to the Windows and Mac port this clipboard is not
inheriting CachedResourceClient. This was proposed by Oliver.

  • WebCore.pro:
  • page/gdk/EventHandlerGdk.cpp:
  • platform/gdk/ClipboardGdk.cpp: Added. (WebCore::ClipboardGdk::ClipboardGdk): (WebCore::ClipboardGdk::~ClipboardGdk): (WebCore::ClipboardGdk::clearData): (WebCore::ClipboardGdk::clearAllData): (WebCore::ClipboardGdk::getData): (WebCore::ClipboardGdk::setData): (WebCore::ClipboardGdk::types): (WebCore::ClipboardGdk::dragLocation): (WebCore::ClipboardGdk::dragImage): (WebCore::ClipboardGdk::setDragImage): (WebCore::ClipboardGdk::dragImageElement): (WebCore::ClipboardGdk::setDragImageElement): (WebCore::ClipboardGdk::createDragImage): (WebCore::ClipboardGdk::declareAndWriteDragImage): (WebCore::ClipboardGdk::writeURL): (WebCore::ClipboardGdk::writeRange): (WebCore::ClipboardGdk::hasData):
  • platform/gdk/ClipboardGdk.h: Added.
07:50 Changeset [25535] by antti
  • 5 edits in trunk

JavaScriptCore:

Reviewed by Maciej.


Small addition to previous path to cover
http://bugs.webkit.org/show_bug.cgi?id=11399
window.eval runs in the global scope of the calling window


Switch variable scope as well.

  • kjs/function.cpp: (KJS::GlobalFuncImp::callAsFunction):

LayoutTests:

Reviewed by Maciej.


Change test case to cover
http://bugs.webkit.org/show_bug.cgi?id=11399
too.

  • fast/js/window-eval-context-expected.txt:
  • fast/js/window-eval-context.html:
06:54 Changeset [25534] by antti
  • 5 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Geoff, Maciej.


Fix <rdar://problem/5445058>
REGRESSION: Unable to upload picture to eBay auction due to domain security check


eBay uses window.eval() between windows. In Firefox window.eval() switches execution
and security context to the target window, something WebKit did not do. With WebKit
security tightening in r24781, this broke picture uploads.


Fix by making WebKit switch context in window.eval().


  • kjs/Context.cpp: (KJS::Context::Context): (KJS::Context::~Context):
  • kjs/context.h: Save and restore interpreter context independently from calling context.


  • kjs/function.cpp: (KJS::GlobalFuncImp::callAsFunction): If eval is called for global object different than current one, switch execution context to that object and push it to scope.

LayoutTests:

Reviewed by Geoff, Maciej.


Test for <rdar://problem/5445058>
REGRESSION: Unable to upload picture to eBay auction due to domain security check

  • fast/js/window-eval-context-expected.txt: Added.
  • fast/js/window-eval-context.html: Added.
01:03 Changeset [25533] by justing
  • 1 edit in trunk/LayoutTests/editing/execCommand/5144139-1-expected.txt

Forgot to check in this new expected result which reflect corrected selection endpoints.

Note: See TracTimeline for information about the timeline view.