adachan [Tue, 24 Jul 2007 00:37:05 +0000 (00:37 +0000)]
2007-07-23 Ada Chan <adachan@apple.com>
Reviewed by Steve.
Update WebKitSystemInterface.{h,lib}.
* win/include/WebKitSystemInterface/WebKitSystemInterface.h:
* win/lib/WebKitSystemInterface.lib:
* win/lib/WebKitSystemInterface_debug.lib:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24552
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Tue, 24 Jul 2007 00:04:32 +0000 (00:04 +0000)]
Reviewed by Hyatt.
<rdar://problem/
5242145> REGRESSION: Clicking on symbol in documentation often doesn't scroll to symbol
A renderer for the anchor wasn't always available at the time parsing finished. So we need
to bail out of gotoAnchor if stylesheets are pending and remember to call gotoAnchor later
once all of the pending stylesheets load.
* dom/Document.cpp:
(WebCore::Document::Document): Initialize m_gotoAnchorNeededAfterStylesheetsLoad to false.
(WebCore::Document::stylesheetLoaded): If we have no more pending stylesheets, call gotoAnchor if needed.
* dom/Document.h:
(WebCore::Document::gotoAnchorNeededAfterStylesheetsLoad): New method.
(WebCore::Document::setGotoAnchorNeededAfterStylesheetsLoad): Ditto.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::gotoAnchor): Bail early if the document still has pending stylesheets.
* loader/FrameLoader.h: Make gotoAnchor() public.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24550
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 23 Jul 2007 23:16:47 +0000 (23:16 +0000)]
Reviewed by Darin
- fixed <rdar://problem/
5327887> Printing Mail note (or Safari page) with misspelled word prints red underline
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
When printing, bail out without doing any work. Also moved a couple of lines down below another early
bailout since they were pointless above it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24549
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
treat [Mon, 23 Jul 2007 21:58:25 +0000 (21:58 +0000)]
Fix qt DRT to suppress js popup alerts and log instead.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24547
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 23 Jul 2007 21:35:44 +0000 (21:35 +0000)]
* pcre/pcre_compile.c: Roll back a tiny accidental change in the unused !JAVASCRIPT
side of an #ifdef. This has no effect when using PCRE in JAVASCRIPT mode as we do,
but seems worth rolling back.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24546
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Mon, 23 Jul 2007 21:29:06 +0000 (21:29 +0000)]
Build fix, newer Leopard builds expect GCC_ENABLE_OBJC_GC to have a value of 'supported'.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Mon, 23 Jul 2007 21:03:14 +0000 (21:03 +0000)]
LayoutTests:
Reviewed by Darin.
Added initial pseudo-hangul IM, and tests for behaviour of hangul (<rdar://problem/
5352152>)
Updated keydown-keypress-preventDefault to be correct, and to have an demonstrate that keys have been inserted.
Updated kotoeri test to perform more validation and check against updated behaviour
* editing/input/mac/hangul-enter-confirms-and-sends-keypress-expected.txt: Added.
* editing/input/mac/hangul-enter-confirms-and-sends-keypress.html: Added.
* editing/input/mac/hangul.js: Added.
* editing/input/mac/kotoeri-enter-to-confirm-and-newline.html:
* fast/events/keydown-keypress-preventDefault-expected.txt:
* fast/events/keydown-keypress-preventDefault.html:
WebCore:
Reviewed by Darin.
<rdar://problem/
5353577> WebKit key event behaviour needs to better match other browsers keyevent behaviour
<rdar://problem/
5352152> REGRESSION (24399-24479): Pressing Enter in a search field at apple.com no longer starts a search with Korean IM
<rdar://problem/
5352649> WebKit should send keyDown event on autorepeat keyDowns
http://bugs.webkit.org/show_bug.cgi?id=14690
Perform Input Method call first so that our behaviour is determined by whether or not
the input method has actually handle the event, rather than by making guesses based
on the existences of marked text. This fixes issues with IMs that have side effects
even on events they do not handle.
Refactored the code in order to improve clarity given the hoisting required by performing
the IM call earlier.
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
WebKit:
Reviewed by Darin.
We have to be able to support insertText: followed by doCommandBySelector: in
order to support the 2- and 3-Set Korean and RuSwitcher IMs at least.
* WebView/WebHTMLView.mm:
(-[WebHTMLView insertText:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Mon, 23 Jul 2007 20:27:19 +0000 (20:27 +0000)]
LayoutTests:
Reviewed by Darin.
<rdar://problem/
5045711>
http://bugs.webkit.org/show_bug.cgi?id=12938
Google calendar settings page crashes
* fast/dom/destroy-selected-radio-button-crash-expected.txt: Added.
* fast/dom/destroy-selected-radio-button-crash.html: Added.
WebCore:
Reviewed by Darin.
<rdar://problem/
5045711>
http://bugs.webkit.org/show_bug.cgi?id=12938
Google calendar settings page crashes
Move handling of checked radio buttons to a new class, HTMLFormElement::CheckedRadioButtons.
Each <form> element has an instance of this class. For radio buttons without a containing
form, the document has an instance of HTMLFormElement::CheckedRadioButtons where the
state of those radio buttons will be stored.
be stored.
This also fixes another bug where removing a checked radio button that does not have a
containing form would not remove the radio button from the checked radio buttons map,
which could lead to a crash due to a dangling pointer.
* dom/Document.cpp:
(WebCore::Document::~Document):
* dom/Document.h:
(WebCore::Document::checkedRadioButtons):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::registerFormElement):
(WebCore::HTMLFormElement::removeFormElement):
(WebCore::HTMLFormElement::CheckedRadioButtons::didCheckButton):
(WebCore::HTMLFormElement::CheckedRadioButtons::checkedButtonForGroup):
(WebCore::HTMLFormElement::CheckedRadioButtons::removeButtonIfChecked):
* html/HTMLFormElement.h:
(WebCore::HTMLFormElement::checkedRadioButtons):
* html/HTMLGenericFormElement.cpp:
(WebCore::HTMLGenericFormElement::insertedIntoTree):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::~HTMLInputElement):
(WebCore::checkedRadioButtons):
(WebCore::HTMLInputElement::isKeyboardFocusable):
(WebCore::HTMLInputElement::setInputType):
(WebCore::HTMLInputElement::parseMappedAttribute):
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::preDispatchEventHandler):
(WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
* manual-tests/remove-form-node-with-radio-buttons-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aliceli1 [Mon, 23 Jul 2007 20:23:12 +0000 (20:23 +0000)]
Reverting change 24535 now that a solution has been found that doesn't
involve exposing an interface unnecessarily.
* WebView/WebHTMLView.mm:
* WebView/WebHTMLViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 23 Jul 2007 18:51:02 +0000 (18:51 +0000)]
Add layout test for continuation hang.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 23 Jul 2007 18:50:20 +0000 (18:50 +0000)]
Fix for
5350587, hang in iExploder text 8101. The code that painted outlines for continuations was buggy
in that it assumed the chain was always inline-block-inline, but this is only true for the innermost chained
continuation. To make this more robust, we always just use the inline's containing block's containing block,
which should be guaranteed to enclose all renderers in the continuation chain. In addition, there is now a
null check (to guarantee no more hangs) and an assert (to check if we hit this situation again where the block
used to paint does not properly enclose the continuation chain).
Reviewed by beth
fast/inline/outline-continuation.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintContinuationOutlines):
* rendering/InlineFlowBox.cpp:
(WebCore::RenderInline::paint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke [Mon, 23 Jul 2007 18:16:02 +0000 (18:16 +0000)]
2007-07-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Adam.
Add WebKit/gtk/Api and WebCoreSupport API to the INCLUDEPATH to allow GdkLauncher to be
build against it.
* WebKit.pri:
WebCore:
2007-07-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Adam.
WARNING: NO TEST CASES ADDED OR CHANGED
Add the WebKit/Gtk API to the buildsystem, ask qmake to create a
pkg-config file and install headers and libraries.
Start to emit signals from FrameLoaderClientGdk, hide the kit Frame
inside the the FrameLoaderClientGdk.
Move ChromeClientGdk to WebKit/gtk/WebCoreSupport
* WebCore.pro:
* loader/gdk/FrameLoaderClientGdk.cpp:
* loader/gdk/FrameLoaderClientGdk.h:
* platform/gdk/ChromeClientGdk.h: Removed.
* platform/gdk/FrameGdk.cpp: Remove code not belonging here
* platform/gdk/FrameGdk.h:
* platform/gdk/ScrollViewGdk.cpp: The gdkDrawable won't exist at that time and it is fine
* platform/gdk/TemporaryLinkStubs.cpp: Removed ChromeClientGdk stubs
WebKit:
2007-07-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Adam.
Add the first API and partial implementation of the WebKit/Gtk port as
of http://bugs.webkit.org/show_bug.cgi?id=14678.
The delegates of WebView will be modeled as signals. Delegates like the
WebPolicyDelegate will be implemented as signals with default handlers.
Start moving files to WebKit/gtk/WebCoreSupport.
* gtk: Added.
* gtk/Api: Added.
* gtk/Api/headers.pri: Added.
* gtk/Api/webkitgtk-marshal.list: Added.
* gtk/Api/webkitgtkdefines.h: Added.
* gtk/Api/webkitgtkframe.cpp: Added.
* gtk/Api/webkitgtkframe.h: Added.
* gtk/Api/webkitgtkframedata.cpp: Added.
* gtk/Api/webkitgtkframedata.h: Added.
* gtk/Api/webkitgtkglobal.cpp: Added.
* gtk/Api/webkitgtkglobal.h: Added.
* gtk/Api/webkitgtknetworkrequest.cpp: Added.
* gtk/Api/webkitgtknetworkrequest.h: Added.
* gtk/Api/webkitgtkpage.cpp: Added.
* gtk/Api/webkitgtkpage.h: Added.
* gtk/Api/webkitgtkprivate.cpp: Added.
* gtk/Api/webkitgtkprivate.h: Added.
* gtk/Api/webkitgtksettings.cpp: Added.
* gtk/Api/webkitgtksettings.h: Added.
* gtk/WebCoreSupport: Added.
* gtk/WebCoreSupport/ChromeClientGdk.cpp: Added.
(WebCore::ChromeClientGdk::ChromeClientGdk):
(WebCore::ChromeClientGdk::chromeDestroyed):
(WebCore::ChromeClientGdk::windowRect):
(WebCore::ChromeClientGdk::setWindowRect):
(WebCore::ChromeClientGdk::pageRect):
(WebCore::ChromeClientGdk::scaleFactor):
(WebCore::ChromeClientGdk::focus):
(WebCore::ChromeClientGdk::unfocus):
(WebCore::ChromeClientGdk::createWindow):
(WebCore::ChromeClientGdk::createModalDialog):
(WebCore::ChromeClientGdk::show):
(WebCore::ChromeClientGdk::canRunModal):
(WebCore::ChromeClientGdk::runModal):
(WebCore::ChromeClientGdk::setToolbarsVisible):
(WebCore::ChromeClientGdk::toolbarsVisible):
(WebCore::ChromeClientGdk::setStatusbarVisible):
(WebCore::ChromeClientGdk::statusbarVisible):
(WebCore::ChromeClientGdk::setScrollbarsVisible):
(WebCore::ChromeClientGdk::scrollbarsVisible):
(WebCore::ChromeClientGdk::setMenubarVisible):
(WebCore::ChromeClientGdk::menubarVisible):
(WebCore::ChromeClientGdk::setResizable):
(WebCore::ChromeClientGdk::closeWindowSoon):
(WebCore::ChromeClientGdk::canTakeFocus):
(WebCore::ChromeClientGdk::takeFocus):
(WebCore::ChromeClientGdk::canRunBeforeUnloadConfirmPanel):
(WebCore::ChromeClientGdk::runBeforeUnloadConfirmPanel):
(WebCore::ChromeClientGdk::addMessageToConsole):
(WebCore::ChromeClientGdk::runJavaScriptAlert):
(WebCore::ChromeClientGdk::runJavaScriptConfirm):
(WebCore::ChromeClientGdk::runJavaScriptPrompt):
(WebCore::ChromeClientGdk::setStatusbarText):
(WebCore::ChromeClientGdk::shouldInterruptJavaScript):
(WebCore::ChromeClientGdk::tabsToLinks):
(WebCore::ChromeClientGdk::windowResizerRect):
(WebCore::ChromeClientGdk::addToDirtyRegion):
(WebCore::ChromeClientGdk::scrollBackingStore):
(WebCore::ChromeClientGdk::updateBackingStore):
(WebCore::ChromeClientGdk::mouseDidMoveOverElement):
(WebCore::ChromeClientGdk::setToolTip):
(WebCore::ChromeClientGdk::print):
* gtk/WebCoreSupport/ChromeClientGdk.h: Added.
WebKitTools:
2007-07-22 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Adam.
Make the GdkLauncher use the new WebKit/Gtk API. Change webkitdirs.pm to
honor --qmakearg for the Gdk/Gtk build as well.
* GdkLauncher/main.cpp: Switch to the new API
* Scripts/webkitdirs.pm: Allow to specify --qmakearg, e.g. to control the WEBKIT_{INC,LIB}_DIR
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Mon, 23 Jul 2007 17:16:37 +0000 (17:16 +0000)]
Implement IDOMElement::setAttribute
This method was mistakenly called "setResult" in DOMCore.idl, so I
fixed that as well.
Needed for <rdar://problem/
5314906>.
Reviewed by Ada.
* DOMCoreClasses.cpp:
(DOMElement::setAttribute): Implemented/renamed.
* DOMCoreClasses.h: Renamed setResult => setAttribute.
* DOMHTMLClasses.h: Ditto.
* Interfaces/DOMCore.idl: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aliceli1 [Mon, 23 Jul 2007 16:37:16 +0000 (16:37 +0000)]
Reviewed by Oliver Hunt.
Expose [WebHTMLView hasMarkedText] to
fix <rdar://problem/
4830074> autocomplete breaks Japanese typing
* WebView/WebHTMLView.mm:
* WebView/WebHTMLViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 23 Jul 2007 10:26:02 +0000 (10:26 +0000)]
Reviewed by Oliver.
- fix remaining problems with Window shadowing
* kjs/nodes.cpp:
(VarDeclNode::evaluate): Tweak the special case a little.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 23 Jul 2007 08:48:04 +0000 (08:48 +0000)]
Reviewed by Oliver.
- fix Window shadowing regressions caused by the previous commit.
* kjs/nodes.cpp:
(VarDeclNode::evaluate): Handle the case of global scope specially.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 23 Jul 2007 07:10:35 +0000 (07:10 +0000)]
Reviewed by Darin.
-fixed <rdar://problem/
5353293> REGRESSION (r24287): 1% i-Bench JS slowdown from JavaScript compatibility fix (14719)
http://bugs.webkit.org/show_bug.cgi?id=14719
My fix for this actually resulted in JS iBench being 1% faster than before the regression
and the Celtic Kane benchmark being 5% faster than before the regression.
* kjs/nodes.cpp:
(VarDeclNode::handleSlowCase): factored out the slow code path to be out of line.
(VarDeclNode::evaluate): I did a couple of things:
(1) Don't check if the variable is already declared by looking for the property in
the variable object, that code path was dead code.
(2) Special-case the common case where the top of the scope and the variable object
are the same; in that case the variable must always be in the variable object.
(3) Don't return a jsString() of the variable name, nothing uses the return value
from this node types evaluate method.
* kjs/nodes.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 23 Jul 2007 05:45:31 +0000 (05:45 +0000)]
Reviewed by Adam.
<rdar://problem/
5353174> REGRESSION: 1% JavaScript performance regression fro Window refactoring (14717)
http://bugs.webkit.org/show_bug.cgi?id=14717
* bindings/js/kjs_window.cpp:
* bindings/js/kjs_window.h:
(KJS::Window::impl): inlined
* page/DOMWindow.cpp:
* page/DOMWindow.h:
(WebCore::DOMWindow::frame): inlined
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Mon, 23 Jul 2007 05:42:46 +0000 (05:42 +0000)]
Fix typo.
* fast/dom/Window/window-function-name-getter-precedence.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 23 Jul 2007 05:30:22 +0000 (05:30 +0000)]
* platform/ContextMenu.cpp: Added missing include.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Mon, 23 Jul 2007 05:28:37 +0000 (05:28 +0000)]
LayoutTests:
Reviewed by Darin.
Test for http://bugs.webkit.org/show_bug.cgi?id=14682
REGRESSION(24285-24399): alerts do not appear at W3C RTL test page
* fast/dom/Window/window-function-name-getter-precedence-expected.txt: Added.
* fast/dom/Window/window-function-name-getter-precedence.html: Added.
WebCore:
Reviewed by Darin.
Fix for http://bugs.webkit.org/show_bug.cgi?id=14682
REGRESSION(24285-24399): alerts do not appear at W3C RTL test page
Test: fast/dom/Window/window-function-name-getter-precedence.html
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::customGetOwnPropertySlot): Make sure to return functions
before the custom name getter.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 23 Jul 2007 05:25:34 +0000 (05:25 +0000)]
Reviewed by Adam.
- fix <rdar://problem/
5353263> ContextMenuItem and ContextMenu objects leaking (seen on buildbot)
* platform/ContextMenu.cpp:
(WebCore::separatorItem): Return an auto_ptr instead of a raw pointer, since this function
creates an object that's the caller's responsibility to delete.
(WebCore::createAndAppendFontSubMenu): Create the context menu on the stack, not the heap,
since setSubMenu does not take ownership, and hence the objects were leaking.
(WebCore::createAndAppendSpellingAndGrammarSubMenu): Ditto.
(WebCore::createAndAppendSpellingSubMenu): Ditto.
(WebCore::createAndAppendSpeechSubMenu): Ditto.
(WebCore::createAndAppendWritingDirectionSubMenu): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose [Mon, 23 Jul 2007 05:00:34 +0000 (05:00 +0000)]
Reviewed by Adam Roben.
Add information on getting a useful crash log on Mac and Windows.
* nav.inc:
* quality/crashlogs.html: Added.
* quality/mac_reportbox.jpg: Added.
* quality/mac_viewtrace.jpg: Added.
* quality/win_installwatson.jpg: Added.
* quality/win_watsongui.jpg: Added.
* quality/win_watsoninstalled.jpg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 23 Jul 2007 04:38:50 +0000 (04:38 +0000)]
* DumpRenderTree/TextInputController.m: (-[TextInputController interpretKeyEvents:withSender:]):
Fix a leak by releasing the array used here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 22 Jul 2007 22:47:25 +0000 (22:47 +0000)]
JavaScriptCore:
Reviewed by Kevin Decker.
- fix <rdar://problem/
5126394> REGRESSION: Crash after clicking back button in test application (13250)
http://bugs.webkit.org/show_bug.cgi?id=13250
* bindings/objc/objc_utility.mm: (KJS::Bindings::convertObjcValueToValue):
If the object returns 0 for _imp, convert that to "undefined", since callers
can't cope with a JSValue of 0.
WebCore:
Reviewed by Kevin Decker.
- fix <rdar://problem/
5126394> REGRESSION: Crash after clicking back button in test application (13250)
http://bugs.webkit.org/show_bug.cgi?id=13250
* bindings/objc/WebScriptObject.mm:
(_didExecute): Removed unnecessary check for isValid() since the _rootObject method already
takes care of that check.
(-[WebScriptObject _imp]): Made this return 0 if there is not a valid rootObject.
(-[WebScriptObject _isSafeScript]): Made this always return false if there is not a valid
rootObject, eliminating the need to check _rootObject for nil if the code is checking _isSafeScript.
(-[WebScriptObject callWebScriptMethod:withArguments:]): Removed check of _rootObject, since it's
immediately followed by a check of _isSafeScript. Removed awkward conversion of name from NSString *
to KJS::Identifier and did it using WebCore::String instead -- makes it clear that there's no
arbitrary JavaScript execution after _isSafeScript and before _imp, so we don't need to null-check
the _imp pointer. Added a second check of _isSafeScript after calling get to get the function
object, since arbitrary changes could occur in there, including navigation to a new frame.
This also takes care of null checking the second call to _imp.
(-[WebScriptObject evaluateWebScript:]): Removed check of _rootObject, since it's
immediately followed by a check of _isSafeScript. Removed awkward conversion of script from NSString *
to KJS::Identifier and did it using WebCore::String instead -- makes it clear that there's no
arbitrary JavaScript execution after _isSafeScript and before _imp, so we don't need to null-check
the _imp pointer.
(-[WebScriptObject setValue:forKey:]): Removed check of _rootObject, since it's
immediately followed by a check of _isSafeScript. Removed awkward conversion of key from NSString *
to KJS::Identifier and did it using WebCore::String instead -- makes it clear that there's no
arbitrary JavaScript execution after _isSafeScript and before _imp, so we don't need to null-check
the _imp pointer.
(-[WebScriptObject valueForKey:]): Ditto.
(-[WebScriptObject removeWebScriptKey:]): Ditto.
(-[WebScriptObject stringRepresentation]): Removed check of _rootObject, since it's
immediately followed by a check of _isSafeScript. Removed unnecessary local variable
and const_cast from the call to the _imp method.
(-[WebScriptObject webScriptValueAtIndex:]): Removed check of _rootObject, since it's
immediately followed by a check of _isSafeScript.
(-[WebScriptObject setWebScriptValueAtIndex:value:]): Ditto.
(-[WebScriptObject JSObject]): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24524
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer [Sun, 22 Jul 2007 22:24:59 +0000 (22:24 +0000)]
WebKitTools:
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=14713
Script to update iExploder cssproperties.in file based on CSSPropertyNames.in
Added script to update WebKitTools/iExploder/htdocs/cssproperties.in based on the contents
of WebCore/css/CSSPropertyNames.in. Also updated cssproperties.in.
* Scripts/update-iexploder-cssproperties: Added.
* iExploder/htdocs/cssproperties.in: Updated by running update-iexploder-cssproperties script.
Added new CSS3 property section and Moved box-sizing property to it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24523
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sun, 22 Jul 2007 21:10:57 +0000 (21:10 +0000)]
LayoutTests:
Reviewed by Sam.
Moving input method tests to editing/input/mac
* editing/input/mac: Copied from fast/events/inputmethods.
* fast/events/inputmethods: Removed.
* fast/events/inputmethods/kotoeri-enter-to-confirm-and-newline-expected.txt: Removed.
* fast/events/inputmethods/kotoeri-enter-to-confirm-and-newline.html: Removed.
* fast/events/inputmethods/kotoeri.js: Removed.
* fast/events/inputmethods/logger.js: Removed.
* win/Skipped:
qt:
Reviewed by Sam.
Add Mac input methods to qt skip list
* Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24522
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 22 Jul 2007 20:32:11 +0000 (20:32 +0000)]
Updated reviewers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24521
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 22 Jul 2007 20:31:40 +0000 (20:31 +0000)]
Reviewed by Anders.
- speculative fix for <rdar://problem/
5337500> CrashTracer: [USER] 4 crashes in Mail
at WebCore::HTMLImageElement::isURLAttribute(WebCore::Attribute*) const
* editing/markup.cpp: Added AttributeChange class.
(WebCore::completeURLs): Changed function so that all the URL completion is done in
a separate pass after finding all the URL attributes. This is safer, since actually
applying an attribute change could have any arbitrary effect on the document; it's
tricky to iterate a document while it's being modified and we don't have the checks
here that would be needed to make that work in pathological cases.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24520
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sun, 22 Jul 2007 20:02:26 +0000 (20:02 +0000)]
Reviewed by Adam.
Add the input methods tests to the windows skip list
until we work to how to make them platform agnostic
* win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24519
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 22 Jul 2007 19:51:33 +0000 (19:51 +0000)]
Update Bugzilla bug number in Radar bug title based on feedback from Mitz.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24518
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sun, 22 Jul 2007 19:46:15 +0000 (19:46 +0000)]
LayoutTests:
Reviewed by Darin.
Initial input method test case, this tests the behaviour of the
enter key in our "kotoeri" engine.
* fast/events/inputmethods: Added.
* fast/events/inputmethods/kotoeri-enter-to-confirm-and-newline-expected.txt: Added.
* fast/events/inputmethods/kotoeri-enter-to-confirm-and-newline.html: Added.
* fast/events/inputmethods/kotoeri.js: Added.
* fast/events/inputmethods/logger.js: Added.
WebKitTools:
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=14710
Add preliminary support for testing Input Method/WebKit behaviour and interaction
in DRT. This provides the NSTextInput API which is most of what should be necessary
to mimic the event sequences Input Methods trigger.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/TextInputController.h:
* DumpRenderTree/TextInputController.m:
(-[WebHTMLView interpretKeyEvents:]):
(+[TextInputController isSelectorExcludedFromWebScript:]):
(+[TextInputController webScriptNameForSelector:]):
(-[TextInputController initWithWebView:]):
(-[TextInputController dealloc]):
(-[TextInputController textInput]):
(-[TextInputController setInputMethodHandler:]):
(-[TextInputController interpretKeyEvents:withSender:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 22 Jul 2007 19:43:43 +0000 (19:43 +0000)]
Reviewed by Adam.
- fix <rdar://problem/
5350604> REGRESSION: Crash in inspector controller code after
clicking back button in test application (13250)
* page/InspectorController.cpp: (WebCore::InspectorController::addScriptResource):
Replace an assertion that was firing with some code that at least doesn't immediately crash.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24516
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 22 Jul 2007 19:08:44 +0000 (19:08 +0000)]
* StringsNotToBeLocalized.txt: Updated for recent changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24515
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 22 Jul 2007 18:43:49 +0000 (18:43 +0000)]
Reviewed by Anders.
- improve the fix for <rdar://problem/
5298816> Crash redirecting message,
in -[SharedBufferData initWithSharedBuffer:]; fixes a crash seen on the buildbot
* loader/DocLoader.cpp: (WebCore::DocLoader::~DocLoader): Call setDocLoader(0) on all
the resources so they don't try to use a stale DocLoader pointer later.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24514
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sat, 21 Jul 2007 22:29:46 +0000 (22:29 +0000)]
Reviewed by Sam Weinig.
- fixed typos and markup in the following manual tests
* manual-tests/accidental-strict-mode.html:
* manual-tests/caretScrolling.html:
* manual-tests/close-on-closedWindow.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sat, 21 Jul 2007 22:27:34 +0000 (22:27 +0000)]
LayoutTests:
Reviewed by Mitz.
Update tests for <rdar://problem/
5352013>
The computed style for background-position is wrong for the initial value
* fast/css/computed-style-expected.txt:
* fast/css/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle-background-position-expected.txt:
WebCore:
Reviewed by Mitz.
Patch for <rdar://problem/
5352013>
The computed style for background-position is wrong for the initial value
- Set the initial value for background-position-x and background-position-y (and
therefore background-position) to 0% instead of 0px.
* rendering/RenderStyle.cpp:
(WebCore::BackgroundLayer::BackgroundLayer):
* rendering/RenderStyle.h:
(WebCore::RenderStyle::initialBackgroundXPosition):
(WebCore::RenderStyle::initialBackgroundYPosition):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan [Sat, 21 Jul 2007 22:07:28 +0000 (22:07 +0000)]
2007-07-21 Ada Chan <adachan@apple.com>
Reviewed by Adam.
Fix bug 14706: http://bugs.webkit.org/show_bug.cgi?id=14706
Need to set the last visited time before calling WebHistory::addItem().
* WebHistory.cpp:
(WebHistory::addItemForURL):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24511
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Sat, 21 Jul 2007 21:38:09 +0000 (21:38 +0000)]
Fix REGRESSION: Right-click/control-click broken
http://bugs.webkit.org/show_bug.cgi?id=14658
<rdar://problem/
5346830>
Reviewed by Mitz.
* WebCoreSupport/WebContextMenuClient.mm:
(fixMenusToSendToOldClients): Update defaultItemsCount after removing
items from the defaultItems array.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Sat, 21 Jul 2007 11:10:27 +0000 (11:10 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24507
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Sat, 21 Jul 2007 06:46:13 +0000 (06:46 +0000)]
Reviewed by Adele.
<rdar://problem/
5319438> REGRESSION: Cannot paste into an active inline input area (14522)
http://bugs.webkit.org/show_bug.cgi?id=14522
AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event,
we now check this as it is necessary to work around some IMs that do send messages
(such as insertText: rather than unmarkText: to confirm a composition)
* WebView/WebHTMLView.mm:
(-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
(-[WebHTMLView doCommandBySelector:]):
* WebView/WebHTMLViewInternal.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24505
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
staikos [Sat, 21 Jul 2007 03:25:05 +0000 (03:25 +0000)]
Patch from Adam Treat to add the rest of the policy information (action type)
and a signal for initial layout
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24504
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Sat, 21 Jul 2007 02:29:07 +0000 (02:29 +0000)]
WebCore:
Reviewed by Adele and Andersca
<rdar://problem/
5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)
* WebCore.exp: Export the BackForwardList c'tor so WebKit can create one explicitly
WebKit:
Reviewed by Adele and Andersca
<rdar://problem/
5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)
* History/WebBackForwardList.mm:
(-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page.
* WebView/WebFrame.mm:
(kit): For clarity's sake, this should return nil, not 0
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Sat, 21 Jul 2007 02:26:24 +0000 (02:26 +0000)]
LayoutTests:
Reviewed by Beth Dakin.
Tests for <rdar://problem/
5351901>
Computed value of border-position should return a CSSValueList, not a CSSPrimitiveValue
* fast/css/computed-style-expected.txt:
* fast/css/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle-background-position-expected.txt: Added.
* fast/css/getComputedStyle-background-position.html: Added.
WebCore:
Reviewed by Beth Dakin.
Fix for <rdar://problem/
5351901>
Computed value of border-position should return a CSSValueList, not a CSSPrimitiveValue
- Return a space separated CSSValueList for background-position
instead of a CSSPrimitiveValue (string type).
- Remove the "else if (renderer)" case as it never returns a different
value than just calling length.value().
- Make background-position-x and background-position-y behave like
background-position. Fix case of initial value return 'auto' instead
of 0.
Test: fast/css/getComputedStyle-background-position.html
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Sat, 21 Jul 2007 01:38:16 +0000 (01:38 +0000)]
Build fix for non-Mac platforms.
* bindings/js/GCController.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Sat, 21 Jul 2007 01:23:51 +0000 (01:23 +0000)]
Reviewed by Darin.
If the style sheet requested is a user style sheet, don't store it in the DocLoader's resource map;
user style sheets can outlive their doc loaders.
* loader/DocLoader.cpp:
(WebCore::DocLoader::requestCSSStyleSheet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Sat, 21 Jul 2007 00:38:20 +0000 (00:38 +0000)]
LayoutTests:
Reviewed by Darin.
<rdar://problem/
5109817> Ctrl-click on word in non-editable text doesn't select it
* editing/selection/
5109817-expected.checksum: Added.
* editing/selection/
5109817-expected.png: Added.
* editing/selection/
5109817-expected.txt: Added.
* editing/selection/
5109817.html: Added.
WebCore:
Reviewed by Darin.
<rdar://problem/
5109817> Ctrl-click on word in non-editable text doesn't select it
* bridge/EditorClient.h: Removed a client method for enabling/disabling
word selection on right clicks.
* editing/Editor.cpp: Ditto.
* editing/Editor.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::sendContextMenuEvent): Select the
word underneath the mouse regardless of whether its editable.
WebKit:
Reviewed by Darin.
<rdar://problem/
5109817> Ctrl-click on word in non-editable text doesn't select it
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm: Removed the method
for enabling/disabling word selection on right click.
* WebView/WebView.mm: Ditto.
* WebView/WebViewPrivate.h: Removed the getter/setter entirely,
it was in a private Category for Mail, but wasn't used by Mail
on Tiger or Leopard, they apparently implement word selection on
their own.
win:
Reviewed by Darin.
<rdar://problem/
5109817> Ctrl-click on word in non-editable text doesn't select it
* WebEditorClient.cpp: Removed the now unused selectWordBeforeMenuEvent().
* WebEditorClient.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24499
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan [Fri, 20 Jul 2007 23:35:21 +0000 (23:35 +0000)]
2007-07-20 Ada Chan <adachan@apple.com>
Reviewed by Darin and Adam.
<rdar://problem/
5338385> Fixed infinite loop in ScrollView::scrollRectIntoViewRecursively().
Also removed an unused local variable.
* platform/win/ScrollViewWin.cpp:
(WebCore::ScrollView::scrollRectIntoViewRecursively):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24498
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti [Fri, 20 Jul 2007 23:26:48 +0000 (23:26 +0000)]
LayoutTests:
Reviewed by Darin.
HTTP test for <rdar://problem/
5305788>
REGRESSION: Safari sometimes loads IE-specific stylesheet on www.apaema.org
Test that order style sheets arrive has no impact to selection of preferred style sheet set.
* http/tests/local/fail.css: Added.
* http/tests/local/link-stylesheet-preferred-expected.txt: Added.
* http/tests/local/link-stylesheet-preferred.html: Added.
* http/tests/local/slow-css-pass.cgi: Added.
WebCore:
Reviewed by Darin.
Fix <rdar://problem/
5305788>
REGRESSION: Safari sometimes loads IE-specific stylesheet on www.apaema.org
Pick the preferred style sheet set based on document order even if the sheet is still loading. Previously
the set was chosen based on which stylesheet happened to arrive first. Just fix the problem at hand
and resist urge to start refactoring this function.
* dom/Document.cpp:
(WebCore::Document::recalcStyleSelector):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Fri, 20 Jul 2007 23:19:23 +0000 (23:19 +0000)]
LayoutTests:
Reviewed by Darin.
Add tests for <rdar://problem/
5351252>
Computed value for -webkit-background-size and border-spacing
should be space separated CSSValueLists.
* fast/css/computed-style-expected.txt:
* fast/css/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle-background-size-expected.txt: Added.
* fast/css/getComputedStyle-background-size.html: Added.
* fast/css/getComputedStyle-border-spacing-expected.txt: Added.
* fast/css/getComputedStyle-border-spacing.html: Added.
WebCore:
Reviewed by Darin.
Fix for <rdar://problem/
5351252>
Computed value for -webkit-background-size and border-spacing
should be space separated CSSValueLists.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24496
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 20 Jul 2007 23:14:03 +0000 (23:14 +0000)]
Suggested by Darin Adler.
Slight tweak to my last commit: changed gcController() to return a
reference instead of a pointer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24495
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan [Fri, 20 Jul 2007 22:59:23 +0000 (22:59 +0000)]
2007-07-20 Ada Chan <adachan@apple.com>
Reviewed by Steve.
<rdar://problem/
5350832> History item's visitedCount wasn't updated correctly
The call to setLastVisitedTimeInterval() in WebHistory::addItemForURL() does not
really increment the visitedCount of the HistoryItem - because we only increment the count
if the last visited time is different. We should initialize the HistoryItem with
lastVisited time = 0 so when we call setLastVisitedTimeInterval() later, it'll update
the last visited time AND the visitedCount.
* WebHistory.cpp:
(WebHistory::addItemForURL):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 20 Jul 2007 22:58:24 +0000 (22:58 +0000)]
Reviewed by Darin Adler.
Fixed http://bugs.webkit.org/show_bug.cgi?id=12900 Page tear-down
forces garbage collection once per frame
Also fixed <rdar://problem/
5286989> GC on window close does not always
bring the JS object count down to 0
Implemented a 0-delay GC timer in WebCore. Instead of forcing GC
immediately, code that thinks it has created a lot of garbage starts
the timer. This has two advantages:
1) Multiple GCs can coalesce. In my pathological test case, this
improves performance by an order of magnitude.
2) Conservative marking is less likely to keep alive important dead
objects, like the window object, because the stack is small and free of
JS processing when the timer fires.
Added GCController.h/.cpp, sometimes blindly:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
Added singleton that implements GC on a 0-delay timer:
* bindings/js/GCController.h: Added.
* bindings/js/GCController.cpp: Added.
Changed Collector::collect() calls below to call to the singleton:
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::~KJSProxy):
* bindings/js/kjs_window.cpp:
(KJS::Window::clear):
* history/CachedPage.cpp:
(WebCore::CachedPage::clear):
* page/Frame.cpp:
(WebCore::Frame::~Frame): Removed previous slightly hackish attempt to
avoid conservative marking of the window object.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Fri, 20 Jul 2007 22:52:25 +0000 (22:52 +0000)]
Reviewed by Darin.
<rdar://problem/
5298816> Crash redirecting message, in -[SharedBufferData initWithSharedBuffer:]
Have cached resources keep track of what DocLoader they belong to. This is so that they can remove themselves
from the DocLoader's resource map when they're destroyed when the cache is disabled.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::updateFromElement):
* loader/Cache.cpp:
(WebCore::Cache::requestResource):
* loader/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::~CachedResource):
* loader/CachedResource.h:
(WebCore::CachedResource::setDocLoader):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 20 Jul 2007 22:42:18 +0000 (22:42 +0000)]
LayoutTests:
Reviewed by Darin
<rdar://problem/
5153021> and http://bugs.webkit.org/show_bug.cgi?id=13364
* fast/frames/frame-base-url-expected.txt: Added.
* fast/frames/frame-base-url.html: Added.
* fast/frames/resources/subframe-base-url.html: Added.
WebCore:
Reviewed by Darin
<rdar://problem/
5153021> and http://bugs.webkit.org/show_bug.cgi?id=13364
The issue here was that if a document in a subframe was loaded from a URL, but then a script did
document.open or document.write during parsing, we would overwrite the document's url and baseurl
with the parent frame's url. WRONG!
* dom/Document.cpp:
(WebCore::Document::open): Only set the url and baseURL in document.open if they are still empty or about:blank
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24491
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 20 Jul 2007 22:35:50 +0000 (22:35 +0000)]
LayoutTests:
Reviewed by Oliver.
- test case for <rdar://problem/
5326303> REGRESSION: blur event fires upon navigating away from a page with focused element
(Test mostly by Alice.)
* fast/events/no-blur-on-page-leave-expected.txt: Added.
* fast/events/no-blur-on-page-leave.html: Added.
* fast/events/resources/no-blur-result.html: Added.
WebCore:
Reviewed by Oliver.
<rdar://problem/
5326303> REGRESSION: blur event fires upon navigating away from a page with focused element
The proximate cause was the recent change to keep focus on the
WebHTMLView when switching views. But the reason this happend was
that didCommitLoadForFrame got called at a time when the new view
was in place, but the old document was still there. This was a
longstanding problem with the delegate, and fixing it cleans it
up.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin): Don't send dispatchWindowObjectAvailable if
caller asked not to (this is to allow order of delegates to be the same).
(WebCore::FrameLoader::transitionToCommitted): Don't emit didCommitLoadForFrame here.
(WebCore::FrameLoader::receivedFirstData): Instead do it here, after calling begin(),
so the new document is set up.
* loader/FrameLoader.h: Add new optional parameter to begin().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Fri, 20 Jul 2007 21:38:36 +0000 (21:38 +0000)]
Reviewed by Darin.
<rdar://problem/
5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors)
<rdar://problem/
5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling
On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects
underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them,
causing rendering to happen in two steps instead of one as WebCore expected.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw.
(-[WebHTMLView _isTopHTMLView]): Ditto.
(-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only.
(-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView.
(-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
Don't do layout here on Leopard since viewWillDraw handled it.
(-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24489
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Fri, 20 Jul 2007 21:31:07 +0000 (21:31 +0000)]
Reviewed by Tim and Geoff.
Fix for <rdar://problem/
5346855> Mail crashes at
WebCore::RenderTableSection:paint + 846 when attempting to display
a HTML based message
After reapplying styles, the RenderView needs layout. However,
layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to
return early if the WebHTMLView itself does not need layout.
Because the WebHTMLView is not necessarily in synch with the
RenderTree, returning early here can get us into a bad situation
where we paint before laying out the Render Tree. This patch checks
both the WebHTMLView and the bridge (which checks the RenderView,
etc), so that we do not return early without laying out the Render
Tree.
Some day, we should phase out WebHTMLView keeping track of
needsLayout at all. But that is a bit beyond the scope of this fix.
* WebView/WebHTMLView.mm:
(-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Fri, 20 Jul 2007 20:56:53 +0000 (20:56 +0000)]
Reviewed by Mitz.
Update test to reduce code duplication.
* fast/css/getComputedStyle-borderRadius-expected.txt:
* fast/css/getComputedStyle-borderRadius.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24487
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig [Fri, 20 Jul 2007 20:35:04 +0000 (20:35 +0000)]
LayoutTests:
Reviewed by Beth Dakin.
Computed style for border radii should return a CSSValueList instead
of CSSPrimitiveValue (with a Pair type) when the radii are not the same.
* fast/css/computed-style-expected.txt:
* fast/css/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle-borderRadius-expected.txt: Copied from LayoutTests/fast/dom/getComputedStyle-borderRadius-expected.txt.
* fast/css/getComputedStyle-borderRadius.html: Copied from LayoutTests/fast/dom/getComputedStyle-borderRadius.html.
* fast/dom/getComputedStyle-borderRadius-expected.txt: Removed.
* fast/dom/getComputedStyle-borderRadius.html: Removed.
WebCore:
Reviewed by Beth Dakin.
Update for fix for http://bugs.webkit.org/show_bug.cgi?id=14646
<rdar://problem/
5340449>
- Return a CSSValueList instead of CSSValue (with a Pair type) for
computed values of border radii.
- Add ability to CSSValueList to print out a space separated list
instead of a comma.
- Add border radii to list of computed styles that we create and can
iterate over.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::):
(WebCore::getBorderRadiusCornerValue):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::CSSValueList):
(WebCore::CSSValueList::cssText):
* css/CSSValueList.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24486
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose [Fri, 20 Jul 2007 19:01:55 +0000 (19:01 +0000)]
2007-07-20 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- http://bugs.webkit.org/show_bug.cgi?id=14626
Make bidiReorderCharacters independent of RenderBlock
No layout test possible because there is no change in functionality.
This patch generalizes RenderBlock's implementation of the Unicode Bidi Algorithm
in the form of the BidiResolver class template. An instance of a BidiResolver class
can generate a sequence of runs with corresponding level and override attributes,
given a range specified by start and end iterators. The iterators can optionally
call back to the BidiResolver instance to push or pop explicit embedding levels.
The patch replaces BidiState with a specialization of BidiResolver that uses
BidiIterators and generates BidiRuns. It also eliminates some of the file statics
in bidi.cpp, instead relying on BidiResolver data members.
The patch makes the BidiContext part of BidiStatus, thus making BidiStatus the
entire state that needs to be saved and restored in order to restart the bidi
algorithm at a given point. Previously, you had to keep and pass around two
separate structures, namely the BidiContext and the BidiStatus.
bidiReorderCharacters is implemented without relying on render objects, using
a BidiResolver specialization that uses simple character buffer iterators and
simple run structures.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* platform/BidiContext.cpp: Added.
(WebCore::operator==):
* platform/BidiContext.h: Added.
(WebCore::BidiContext::BidiContext):
(WebCore::BidiContext::ref):
(WebCore::BidiContext::deref):
(WebCore::BidiContext::parent):
(WebCore::BidiContext::level):
(WebCore::BidiContext::dir):
(WebCore::BidiContext::override):
* platform/BidiReorderCharacters.cpp: Added.
(WebCore::CharacterBufferIterator::CharacterBufferIterator):
(WebCore::CharacterBufferIterator::offset):
(WebCore::CharacterBufferIterator::increment):
(WebCore::CharacterBufferIterator::atEnd):
(WebCore::CharacterBufferIterator::current):
(WebCore::CharacterBufferIterator::direction):
(WebCore::CharacterBufferIterator::operator==):
(WebCore::CharacterBufferIterator::operator!=):
(WebCore::::appendRun):
(WebCore::bidiReorderCharacters):
* platform/BidiReorderCharacters.h: Added.
* platform/BidiResolver.h: Added.
(WebCore::BidiStatus::BidiStatus):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::BidiCharacterRun::BidiCharacterRun):
(WebCore::BidiCharacterRun::reversed):
(WebCore::BidiCharacterRun::dirOverride):
(WebCore::BidiCharacterRun::next):
(WebCore::BidiResolver::):
(WebCore::BidiResolver::context):
(WebCore::BidiResolver::setContext):
(WebCore::BidiResolver::setLastDir):
(WebCore::BidiResolver::setLastStrongDir):
(WebCore::BidiResolver::setEorDir):
(WebCore::BidiResolver::dir):
(WebCore::BidiResolver::setDir):
(WebCore::BidiResolver::status):
(WebCore::BidiResolver::setStatus):
(WebCore::BidiResolver::adjustEmbedding):
(WebCore::BidiResolver::setAdjustEmbedding):
(WebCore::BidiResolver::firstRun):
(WebCore::BidiResolver::lastRun):
(WebCore::BidiResolver::runCount):
(WebCore::::embed):
(WebCore::::deleteRuns):
(WebCore::::reverseRuns):
(WebCore::::createBidiRunsForLine):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint):
* rendering/RenderBlock.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::paintItemForeground):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::childRemoved):
(WebCore::RootInlineBox::lineBreakBidiStatus):
(WebCore::RootInlineBox::setLineBreakInfo):
* rendering/RootInlineBox.h:
(WebCore::RootInlineBox::RootInlineBox):
* rendering/bidi.cpp:
(WebCore::BidiIterator::BidiIterator):
(WebCore::BidiState::deleteRuns):
(WebCore::operator==):
(WebCore::operator!=):
(WebCore::bidiNext):
(WebCore::bidiFirst):
(WebCore::BidiState::addRun):
(WebCore::appendRunsForObject):
(WebCore::BidiState::appendRun):
(WebCore::RenderBlock::constructLine):
(WebCore::RenderBlock::computeHorizontalPositionsForLine):
(WebCore::RenderBlock::computeVerticalPositionsForLine):
(WebCore::RenderBlock::bidiReorderLine):
(WebCore::buildCompactRuns):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::determineEndPosition):
(WebCore::RenderBlock::matchedEndLine):
(WebCore::RenderBlock::skipWhitespace):
* rendering/bidi.h:
(WebCore::BidiRun::BidiRun):
(WebCore::BidiRun::next):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24485
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 20 Jul 2007 18:37:09 +0000 (18:37 +0000)]
LayoutTests:
Reviewed by John Sullivan.
- test for <rdar://problem/
5331723> <rdar://problem/
5331723> Safari gives error
103 for URLs that Adobe Lightroom's Preview feature produces, with ":1" in the hostname
* fast/loader/file-URL-with-port-number-expected.txt: Added.
* fast/loader/file-URL-with-port-number.html: Added.
* fast/loader/resources/empty-subframe.html: Added.
WebCore:
Reviewed by John Sullivan.
- fix for <rdar://problem/
5331723> <rdar://problem/
5331723> Safari gives error
103 for URLs that Adobe Lightroom's Preview feature produces, with ":1" in the hostname
Test: fast/loader/file-URL-with-port-number.html
* platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::portAllowed):
Don't do any port blocking for file URLs.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24484
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 20 Jul 2007 17:50:15 +0000 (17:50 +0000)]
Reviewed by Darin Adler and David Harrison
- fixed <rdar://problem/
5307075> REGRESSION: Bottom of some printed pages are truncated
The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger
height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me!
* WebView/WebHTMLViewInternal.h:
added avoidingPrintOrphan boolean
* WebView/WebHTMLView.mm:
(-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
clear _private->avoidingPrintOrphan when clearing _private->printing
(-[WebHTMLView _scaleFactorForPrintOperation:]):
take _private->avoidingPrintOrphan into account when computing the scale factor
(-[WebHTMLView knowsPageRange:]):
set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24483
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose [Fri, 20 Jul 2007 16:41:24 +0000 (16:41 +0000)]
2007-07-20 Mitz Pettel <mitz@webkit.org>
Reviewed by Darin.
- fix http://bugs.webkit.org/show_bug.cgi?id=14689
REGRESSION (3.0.2-TOT): <select> menu items have incorrect background color
* manual-tests/item-background.html: Added.
* platform/PopupMenuClient.h:
* platform/graphics/Color.cpp:
(WebCore::blendComponent): Renamed the static method blend() to this.
(WebCore::Color::blend): Added. Compositing (in "normal" or "source over"
blend mode) B.blend(C) over A is equivalent to compositing C over the
result of compositing B over A.
(WebCore::Color::blendWithWhite): Changed for the above rename.
* platform/graphics/Color.h:
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::paint): Changed to use itemBackgroundColor().
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemBackgroundColor): Added. Returns the color
that would result from overlaying the item's background color over the
menu's background color over solid white. Note that clientStyle() cannot
be used for the menu's background color, since background color is not
inherited by the inner block (the regression resulted from changing
clientStyle() to return the inner block's style), and that the color
returned from this method is guaranteed to be opaque.
* rendering/RenderMenuList.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::itemBackgroundColor): Added.
* rendering/RenderTextControl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis [Fri, 20 Jul 2007 16:35:57 +0000 (16:35 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=14642
REGRESSION(r24064-24096): Reflection type effect in canvas tag broke
Do not stop the fill/stroke operation when encountering an empty path.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 20 Jul 2007 11:07:27 +0000 (11:07 +0000)]
... and now the non-symlink file, in a separate commit as SVN is also special about symlinks :-/
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 20 Jul 2007 11:06:31 +0000 (11:06 +0000)]
2007-07-20 Mark Rowe <mrowe@apple.com>
Replace symlink with a PHP-level include to allow use of git on Windows without cygwin.
WordPress will replace the file with a symlink when it's first accessed, and the PHP-level
include is functionally identical for our purposes on the first use.
* blog/wp-content/advanced-cache.php:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Fri, 20 Jul 2007 11:00:39 +0000 (11:00 +0000)]
Remove some files that are not used anymore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Fri, 20 Jul 2007 10:40:20 +0000 (10:40 +0000)]
use the correct font for spaces.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Fri, 20 Jul 2007 10:39:59 +0000 (10:39 +0000)]
spaces where not correctly taken into account for both offsetForPosition and selectionRectForText. Because of that selections sort of worked in LTR text, but completely failed in RTL.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24475
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Fri, 20 Jul 2007 10:39:44 +0000 (10:39 +0000)]
fix up some smaller issues in selection handling. It's still not perfect and selections in mixed rtl/ltr text are still broken, but it's getting there.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Fri, 20 Jul 2007 10:39:23 +0000 (10:39 +0000)]
make offsetForPosition and selectionRectForText work correctly with small caps.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Fri, 20 Jul 2007 10:39:05 +0000 (10:39 +0000)]
clip the drawn text correctly when needed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24472
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Fri, 20 Jul 2007 10:38:49 +0000 (10:38 +0000)]
Fix offsetForPosition and selectionRectForText methods.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Fri, 20 Jul 2007 10:38:28 +0000 (10:38 +0000)]
fix BiDi text rendering.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24470
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Fri, 20 Jul 2007 10:01:04 +0000 (10:01 +0000)]
Reviewed by Maciej.
<rdar://problem/
5349668> WebKit/Win needs to send same key events during IME composition as it does on mac
Removed guards against sending key events during composition, and added a flag
to indicate a key event is IME related. This is needed to prevent the first
keydown from firing a keypress event, and makes WebEditorClient::handleInputMethodKeypress
somewhat cleaner.
* WebEditorClient.cpp:
(WebEditorClient::handleInputMethodKeypress):
* WebView.cpp:
(WebView::keyUp):
(WebView::keyDown):
* WebView.h:
(WebView::inIMEKeyDown):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24469
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdash [Fri, 20 Jul 2007 09:23:44 +0000 (09:23 +0000)]
2007-07-20 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
Move FTPDirectoryTokenizer::m_templateDocumentData to be a function-scoped static
to avoid creating a global initializer. This fixes the build for x86_64.
* loader/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Fri, 20 Jul 2007 07:11:47 +0000 (07:11 +0000)]
* Scripts/commit-log-editor: Small fix to make an all-whitespace log
message not count as an existing log.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24467
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 20 Jul 2007 05:54:48 +0000 (05:54 +0000)]
Reviewed by Maciej Stachowiak.
Fixed <rdar://problem/
5347849> Cache eviction of live decoded data is
thrash-y
The solution here is to evict live decoded data based on a strict LRU
model. This should work well as a "scrolling window."
With this patch, I see a substantial reduction in CPU while scrolling
through a page with large images on a low memory system. Layout tests
pass.
* loader/Cache.h: Changed from a size-based vector of LRU lists to a
single LRU list in order to implement strict LRU.
* loader/CachedResource.h: Removed tracking of access count, since that
was the old cache eviction model.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24466
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Fri, 20 Jul 2007 05:13:33 +0000 (05:13 +0000)]
Reviewed by Maciej.
<rdar://problem/
5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
<rdar://problem/
5346167> DOM key events triggered during IME composition differ in webkit/mac vs all windows browsers
We now basically match the behaviour of IE/Windows. This means that during composition keydown and autorepeat
keys generate keydown events with a keyCode of 229, which correlates to the windows VK_PROCESSKEY message.
keyup events are generated with the keyCode of the actual key that was pressed.
The only difference is on the first keydown of a composition, in which IE will use keyCode == 229, and we will
send an event with the keyCode for the actual key that was pressed.
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
* platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::setWindowsKeyCode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24465
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 20 Jul 2007 04:09:11 +0000 (04:09 +0000)]
Reviewed by Adam.
- WebKit part of fix for <rdar://problem/
5262230> Crash while loading a popup in addictinggames.com
Made closeWindowSoon fire on a timer instead of happening synchronously.
* WebChromeClient.cpp:
(WebChromeClient::closeWindowSoon): Actually close the window on a timer, not immediately.
* WebKit.vcproj/WebKit.vcproj:
* WebView.cpp:
(WebView::WebView):
(WebView::closeWindowSoon):
(WebView::closeWindowTimerFired):
* WebView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24463
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson [Fri, 20 Jul 2007 03:47:26 +0000 (03:47 +0000)]
Reviewed by Sam
<rdar://problem/
5134929> REGRESSION: Colon detected as delimiting an empty port is stripped
The fix for this was in KURL::parse() which had a slightly changed rule that would strip the colon if there
was no port.
An additional canonicalization fix was made in window.location.host to match the expected behavior of leaving
the colon in place - before this fix, if the colon was there but no port was there, we'd see the port as 0.
* bindings/js/kjs_window.cpp:
(KJS::Location::put): Call setHostAndPort instead of setHost and setPort seperately
* manual-tests/location-host-canonicalization.html: Added.
* platform/KURL.cpp:
(WebCore::KURL::setHostAndPort): Set the host and port as one string component then reparse the URL
(WebCore::KURL::parse): Change one line to consider the empty colon as part of the host name
* platform/KURL.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24462
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Fri, 20 Jul 2007 03:15:30 +0000 (03:15 +0000)]
Use the right radar number
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24460
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Fri, 20 Jul 2007 02:59:04 +0000 (02:59 +0000)]
Reviewed by Adam.
<rdar://problem/
5334742>
Windows Beta: Crash playing a very large QuickTime movie in Safari
<rdar://problem/
5271174>
http://bugs.webkit.org/show_bug.cgi?id=14148
LEAK: Serious memory consumption and leak when loading QT movies.
Don't keep plugin stream data in memory since some plugin resources (like QT movies)
can be really big. If a plug-in wants data in a file, create a file and write data to it
as it's coming from the wire, instead of using a big buffer.
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::ResourceLoader):
(WebCore::ResourceLoader::addData):
(WebCore::ResourceLoader::willStopBufferingData):
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::setShouldBufferData):
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::PluginStreamWin):
(WebCore::PluginStreamWin::start):
(WebCore::PluginStreamWin::startStream):
(WebCore::PluginStreamWin::destroyStream):
(WebCore::PluginStreamWin::didReceiveData):
(WebCore::PluginStreamWin::didFinishLoading):
* plugins/win/PluginStreamWin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24459
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan [Fri, 20 Jul 2007 02:55:54 +0000 (02:55 +0000)]
2007-07-19 Ada Chan <adachan@apple.com>
Rubber-stamped by Adam.
Update libraries.
* win/lib/WebKitSystemInterface.lib:
* win/lib/WebKitSystemInterface_debug.lib:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24458
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 20 Jul 2007 02:12:54 +0000 (02:12 +0000)]
JavaScriptCore:
Reviewed by Darin Adler.
Fixed http://bugs.webkit.org/show_bug.cgi?id=10880 | <rdar://problem/
5335694>
REGRESSION: JavaScript menu doesn't appear on pricepoint.com (14595)
Though the ECMA spec says auto-semicolon insertion should not occur
without a newline or '}', Firefox treats do-while specially, and the
library used by pricepoint.com requires that special treatment.
* JavaScriptCore.xcodeproj/project.pbxproj:
* kjs/grammar.y:
LayoutTests:
Reviewed by Darin Adler.
Test for http://bugs.webkit.org/show_bug.cgi?id=10880 | <rdar://problem/
5335694>
REGRESSION: JavaScript menu doesn't appear on pricepoint.com (14595)
* fast/js/do-while-without-semicolon-expected.txt: Added.
* fast/js/do-while-without-semicolon.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24457
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 20 Jul 2007 02:07:37 +0000 (02:07 +0000)]
WebCore:
Reviewed by Darin Adler.
Fixed <rdar://problem/
5348384> Restore old return value behavior of
stringByEvaluatingJavaScriptFromString
Return an empty string unless you have a string, boolean, or number
result.
* WebCore.xcodeproj/project.pbxproj:
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
WebKitTools:
Reviewed by Darin Adler.
Updated DumpRenderTree for <rdar://problem/
5348384> Restore old return
value behavior of stringByEvaluatingJavaScriptFromString
* DumpRenderTree/DumpRenderTree.m:
(testStringByEvaluatingJavaScriptFromString):
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24456
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
treat [Thu, 19 Jul 2007 23:48:42 +0000 (23:48 +0000)]
Do a recursive layout on frame's children.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24455
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 19 Jul 2007 22:22:17 +0000 (22:22 +0000)]
Reviewed by Alexey.
- fix http://bugs.webkit.org/show_bug.cgi?id=14666
remove unused xxx-encodings.txt for all platforms other than Mac
* platform/gdk/gdk-encodings.txt: Removed.
* platform/win/win-encodings.txt: Removed.
* platform/wx/wx-encodings.txt: Removed.
* platform/character-sets.txt: Moved into mac subdirectory since it's only used for Mac; at some
point I hope to remove it completely.
* platform/make-charset-table.pl: Ditto.
* platform/mac/character-sets.txt: Copied from platform/character-sets.txt.
* platform/mac/make-charset-table.pl: Copied from platform/make-charset-table.pl.
* DerivedSources.make: Moved CharsetData.cpp into the MACOS section.
Changed the build rule to use Mac-specific paths for everything and got rid of
make variables.
* WebCore.vcproj/build-generated-files.sh: Removed code to set ENCODINGS_FILE and ENCODINGS_PREFIX.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* make-generated-sources.sh: Ditto.
* Projects/gdk/webcore-gdk.bkl: Removed code to pass gdk-encodings.txt to make-generated-sources.sh.
* Projects/wx/webcore-wx.bkl: Ditto, but for wx-encodings.txt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24454
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 19 Jul 2007 21:10:40 +0000 (21:10 +0000)]
Reviewed by Geoff.
- fix <rdar://problem/
5345440> PCRE computes wrong length for expressions with quantifiers
on named recursion or subexpressions
It's challenging to implement proper preflighting for compiling these advanced features.
But we don't want them in the JavaScript engine anyway.
Turned off the following features of PCRE (some of these are simply parsed and not implemented):
\C \E \G \L \N \P \Q \U \X \Z
\e \l \p \u \z
[::] [..] [==]
(?#) (?<=) (?<!) (?>)
(?C) (?P) (?R)
(?0) (and 1-9)
(?imsxUX)
Added the following:
\u \v
Because of \v, the js1_2/regexp/special_characters.js test now passes.
To be conservative, I left some features that JavaScript doesn't want, such as
\012 and \x{2013}, in place. We can revisit these later; they're not directly-enough
related to avoiding the incorrect preflighting.
I also didn't try to remove unused opcodes and remove code from the execution engine.
That could save code size and speed things up a bit, but it would require more changes.
* kjs/regexp.h:
* kjs/regexp.cpp: (KJS::RegExp::RegExp): Remove the sanitizePattern workaround for
lack of \u support, since the PCRE code now has \u support.
* pcre/pcre-config.h: Set JAVASCRIPT to 1.
* pcre/pcre_internal.h: Added ESC_v.
* pcre/pcre_compile.c: Added a different escape table for when JAVASCRIPT is set that
omits all the escapes we don't want interpreted and includes '\v'.
(check_escape): Put !JAVASCRIPT around the code for '\l', '\L', '\N', '\u', and '\U',
and added code to handle '\u2013' inside JAVASCRIPT.
(compile_branch): Put !JAVASCRIPT if around all the code implementing the features we
don't want.
(pcre_compile2): Ditto.
* tests/mozilla/expected.html: Updated since js1_2/regexp/special_characters.js now
passes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24453
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti [Thu, 19 Jul 2007 20:09:18 +0000 (20:09 +0000)]
LayoutTests:
Reviewed by Darin.
Test for <rdar://problem/
5257371>
Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator
* fast/flexbox/inline-children-crash-expected.txt: Added.
* fast/flexbox/inline-children-crash.html: Added.
WebCore:
Reviewed by Darin.
Fix <rdar://problem/
5257371>
Dashcode Client crash when clicking on placemarks in Maps widget in WebCore::DeprecatedPtrListImpl::addIterator
FlexibleBoxes should never have inline children. Don't move children out from last remaining anonymous block.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild): real fix
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutVerticalBox): just to be sure, this is checked elsewhere too
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24452
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 19 Jul 2007 20:04:46 +0000 (20:04 +0000)]
Reviewed by Darin.
<rdar://problem/
5322268>
Safari Crash at http://www.exlibrisgroup.com/sfx_openurl.htm
Add a real copy constructor and assignment operator for CollectionInfo
so that the vectors in the cache maps will be copied correctly.
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::CollectionInfo::CollectionInfo):
(WebCore::HTMLCollection::CollectionInfo::swap):
* html/HTMLCollection.h:
(WebCore::HTMLCollection::CollectionInfo::operator=):
(WebCore::HTMLCollection::CollectionInfo::copyCacheMap):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24451
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 19 Jul 2007 20:01:26 +0000 (20:01 +0000)]
Fix for
5237574, Colloquy main view does not size correctly. Make
sure to reset the baseilne when calculating a row's height/baseline, so
that old values don't stick around.
Reviewed by Tim Hatcher
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowHeight):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24450
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Thu, 19 Jul 2007 17:24:03 +0000 (17:24 +0000)]
Make commit-log-editor work with git
Reviewed by Sam.
* Scripts/commit-log-editor: Use VCSUtils and accept a git-style
commit message template. Also removed the unused $breakPoint variable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24449
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Thu, 19 Jul 2007 17:23:54 +0000 (17:23 +0000)]
Move generally-useful VCS code into a new VCSUtils.pm module
This is in preparation for making commit-log-editor git-friendly.
Reviewed by Sam.
* Scripts/VCSUtils.pm: Added. Code moved here from prepare-ChangeLog.
* Scripts/prepare-ChangeLog: Use VCSUtils.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24448
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti [Thu, 19 Jul 2007 16:58:01 +0000 (16:58 +0000)]
LayoutTests:
Reviewed by John.
Update test case to work better as a pixel test.
* fast/layers/layer-visibility-expected.checksum:
* fast/layers/layer-visibility-expected.png:
* fast/layers/layer-visibility-expected.txt:
* fast/layers/layer-visibility.html:
WebCore:
Reviewed by John.
Fix <rdar://problem/
5346697>
REGRESSION(r23773): Visibile children on invisible layer are not painted (fast/layers/layer-visibility.html fails)
Test m_hasVisibleContent instead of renderer()->style()->visibility().
This takes children into account too.
Regression spotted by Mitz.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lars [Thu, 19 Jul 2007 13:19:47 +0000 (13:19 +0000)]
Fix a crash on exit when running DRT against a current
Qt 4.4 snapshot.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben [Thu, 19 Jul 2007 08:40:58 +0000 (08:40 +0000)]
Fix <rdar://problem/
5344972> REGRESSION: A error dialog occurs when attempting to ctrl-click in a iChat message window (webview)
Reviewed by Oliver.
* WebCoreSupport/WebContextMenuClient.mm:
(fixMenusToSendToOldClients): Don't check for the Inspect Element item
if we have fewer than 2 items.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 19 Jul 2007 05:46:31 +0000 (05:46 +0000)]
Fix changelog to match reality
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver [Thu, 19 Jul 2007 05:42:10 +0000 (05:42 +0000)]
Rubber stamped by maciej
Rollout previous patch.
* page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@24440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc