Timeline



Mar 11, 2007:

10:49 PM Changeset in webkit [20111] by kjk
  • 5 edits in trunk/WebCore

Not reviewed - gdk build fixes.

  • platform/gdk/EditorClientGdk.cpp: (WebCore::EditorClientGdk::respondToChangedSelection): add stub
  • platform/gdk/EditorClientGdk.h:
  • platform/gdk/FrameGdk.cpp:
  • platform/gdk/TemporaryLinkStubs.cpp: (Editor::markMisspellings): add stub
10:39 PM Changeset in webkit [20110] by ap
  • 6 edits
    2 adds in trunk

Reviewed by Adele.

http://bugs.webkit.org/show_bug.cgi?id=12560
W3C XPath test Text_Nodes.svg fails

WebCore:

  • xml/XPathStep.cpp: (WebCore::XPath::Step::nodeTestMatches): Revert the fix, as the behavior doesn't appear all that desirable as it did at first glance.

LayoutTests:

  • dom/svg/level3/xpath/Text_Nodes-expected.txt: This fails again.
  • fast/xpath/4XPath/Borrowed/kd_20010423-expected.txt:
  • fast/xpath/4XPath/Borrowed/kd_20010423.html: Brought the test back to its original form (in which Firefox passes).
  • fast/xpath/text-nodes-expected.txt: Added.
  • fast/xpath/text-nodes.html: Added. A new test for text nodes, verifying some more arcane cases.
10:34 PM Changeset in webkit [20109] by oliver
  • 3 edits
    2 adds in trunk

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

Reviewed by hyatt.

Fix for <rdar://problem/5055690> ASSERTION failure on drop into
editable element with content changed on drop

After setting the selection for a drop into an editable region
we make sure the we succeeded. If we didn't we assume a focus handler
or similar altered the element contents and try again, if the second
attempt fails we bail out.

  • page/DragController.cpp: (WebCore::setSelectionToDragCaret): (WebCore::DragController::concludeDrag):

LayoutTests:

<rdar://problem/5055690> ASSERTION failure on drop into editable element with content changed on drop

  • fast/events/content-changed-during-drop-expected.txt: Added.
  • fast/events/content-changed-during-drop.html: Added.
9:46 PM Changeset in webkit [23058] by oliver
  • 5 edits in branches/WindowsMerge

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

Reviewed by Adele.

WebCoreWin:

Removed Frame::respondToChangedSelection stub
added Editor::markMisspellings stub

  • platform/win/TemporaryLinkStubs.cpp: (WebCore::Editor::markMisspellings):

WebKitWin:

Stubbed WebEditorClient::respondToChangedSelection

  • WebEditorClient.cpp: (WebEditorClient::respondToChangedSelection):
  • WebEditorClient.h:
9:41 PM Changeset in webkit [20108] by oliver
  • 16 edits in trunk

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

Reviewed by Adele.

WebCore:

Moving Frame{Mac}::respondToChangedSelection to Frame.cpp
Added new EditorClient method to handle old bridge function


  • bridge/EditorClient.h:

Added respondToChangedSelection to replace old bridge function

  • editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection):

Add client call to replace old bridge call from Frame::respondToChangedSelection

  • editing/SelectionController.cpp: (WebCore::SelectionController::setSelection):

No longer directly call Editor as Frame::respondToChangedSelection
makes the call

  • page/Frame.cpp: (WebCore::Frame::respondToChangedSelection):

Moved from FrameMac, replaced bridge call with call to Editor

  • page/mac/FrameMac.mm:

Moved respondToChangedSelection to Frame.cpp

  • page/mac/WebCoreFrameBridge.h:

Removed respondToChangedSelection from bridge

  • page/qt/FrameQt.cpp:

Remove stub method for respondToChangedSelection

WebKit:

Moved respondToChangedSelection from FrameBridge to EditorClient

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
  • WebCoreSupport/WebFrameBridge.mm: Removed respondToChangedSelection from bridge

WebKitQt:

Stub for EditorClientQt::respondToChangedSelection

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::respondToChangedSelection):
  • WebCoreSupport/EditorClientQt.h:
8:24 PM Changeset in webkit [20107] by darin
  • 2 edits in trunk/WebKit

Reviewed by Adele.

  • Plugins/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): At every place we call the plug-in, since it could destroy the stream, get pluginView into a local variable; it will be set to nil if the stream is destroyed. (-[WebBaseNetscapePluginStream _destroyStream]): Added calls to retain/release to handle the case where one of the calls to the plug-in destroys the stream. Added a call to cancelPreviousPerformRequestsWithTarget in case _deliverData has been scheduled but not yet delivered. Also get pluginView into a local variable as mentioned above, and check at strategic points and exit if the stream was already destroyed to avoid multiple calls to NPP_DestroyStream or NPP_URLNotify. (-[WebBaseNetscapePluginStream _deliverData]): Ditto.
6:32 PM Changeset in webkit [20106] by beidson
  • 2 edits in trunk

Fixed my name in the 2 ChangeLogs kjk just comitted

6:09 PM Changeset in webkit [20105] by kjk
  • 4 edits in trunk

WebCore:

Reviewed by Brady Edison.

Linux/gdk fix.

  • loader/gdk/FrameLoaderClientGdk.cpp: (WebCore::FrameLoaderClientGdk::shouldGoToHistoryItem): return true so that FrameLoader:goBackOrForwards() works.

WebKitTools:

Reviewed by Brady Edison.

Add forward/backward/quit menus for easier testing.

  • GdkLauncher/main.cpp: (menuMainBackCb): (menuMainForwardCb): (menuMainQuitCb): (main):
5:01 PM Changeset in webkit [23057] by ggaren
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Darin Adler.

Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
JSCore causes a hang @ www.panoramas.dk


See JavaScriptCore ChangeLog for details.


Stress test doesn't show any problems.


Drop the JSLock before making calls through the plug-in API from functions
that may have been called by JavaScript.


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::paint): (WebCore::PluginViewWin::handleKeyboardEvent): (WebCore::PluginViewWin::handleMouseEvent): (WebCore::PluginViewWin::setNPWindowRect): (WebCore::PluginViewWin::start): (WebCore::PluginViewWin::stop): (WebCore::PluginViewWin::performRequest): (WebCore::PluginViewWin::bindingInstance):
4:57 PM Changeset in webkit [20104] by ggaren
  • 23 edits in trunk

JavaScriptCore:

Reviewed by Darin Adler.

Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
JSCore causes a hang @ www.panoramas.dk


With a PAC file, run-webkit-tests --threaded passes, the reported site
works, and all the Quicktime/JavaScript and Flash/JavaScript examples
I found through Google work, too.


Any time JavaScript causes arbitrary non-JavaScript code to execute, it
risks deadlock, because that code may block, trying to acquire a lock
owned by a thread that is waiting to execute JavaScript. In this case,
the thread was a networking thread that was waiting to interpret a PAC file.


Because non-JavaScript code may execute in response to, well, anything,
a perfect solution to this problem is impossible. I've implemented an
optimistic solution, instead: JavaScript will drop its lock whenever it
makes a direct call to non-JavaScript code through a bridging/plug-in API,
but will blissfully ignore the indirect ways it may cause non-JavaScript
code to run (resizing a window, for example).


Unfortunately, this solution introduces significant locking overhead in
the bridging APIs. I don't see a way around that.

This patch includes some distinct bug fixes I saw along the way:


  • bindings/objc/objc_instance.mm: Fixed a bug where a nested begin() call would leak its autorelease pool, because it would NULL out _pool without draining it.
  • bindings/runtime_object.cpp: (RuntimeObjectImp::methodGetter): Don't copy an Identifier to ASCII only to turn around and make an Identifier from the ASCII. In an earlier version of this patch, the copy caused an assertion failure. Now it's just unnecessary work. (RuntimeObjectImp::getOwnPropertySlot): ditto
  • bindings/objc/objc_instance.h: Removed overrides of setVAlueOfField and getValueOfField, because they did exactly what the base class versions did. Removed overrides of Noncopyable declarations for the same reason.
  • bindings/runtime.h: Inherit from Noncopyable instead of rolling our own.
  • bindings/c/c_instance.h: ditto

And the actual patch:


  • API/JSCallbackConstructor.cpp: Drop all locks when calling out to C. (KJS::JSCallbackConstructor::construct):
  • API/JSCallbackFunction.cpp: ditto (KJS::JSCallbackFunction::callAsFunction):
  • API/JSCallbackObject.cpp: ditto (KJS::JSCallbackObject::init): (KJS::JSCallbackObject::~JSCallbackObject): (KJS::JSCallbackObject::getOwnPropertySlot): (KJS::JSCallbackObject::put): (KJS::JSCallbackObject::deleteProperty): (KJS::JSCallbackObject::construct): (KJS::JSCallbackObject::hasInstance): (KJS::JSCallbackObject::callAsFunction): (KJS::JSCallbackObject::getPropertyNames): (KJS::JSCallbackObject::toNumber): (KJS::JSCallbackObject::toString): (KJS::JSCallbackObject::staticValueGetter): (KJS::JSCallbackObject::callbackGetter):


  • bindings/c/c_instance.cpp: Drop all locks when calling out to C. (KJS::Bindings::CInstance::invokeMethod): (KJS::Bindings::CInstance::invokeDefaultMethod):
  • bindings/c/c_runtime.cpp: Drop all locks when calling out to C. (KJS::Bindings::CField::valueFromInstance): (KJS::Bindings::CField::setValueToInstance):
  • bindings/jni/jni_objc.mm: (KJS::Bindings::dispatchJNICall): Drop all locks when calling out to Java.
  • bindings/objc/objc_instance.mm: The changes here are to accomodate the fact that C++ unwinding of DropAllLocks goes crazy when you put it inside a @try block. I moved all JavaScript stuff outside of the @try blocks, and then prefixed the whole blocks with DropAllLocks objects. This required some supporting changes in other functions, which now acquire the JSLock for themselves, intead of relying on their callers to do so. (ObjcInstance::end): (ObjcInstance::invokeMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField):
  • bindings/objc/objc_runtime.mm: Same as above, except I didn't want to change throwError to acquire the JSLock for itself. (ObjcField::valueFromInstance): (ObjcField::setValueToInstance):
  • bindings/objc/objc_utility.mm: Supporting changes mentioned above. (KJS::Bindings::convertValueToObjcValue): (KJS::Bindings::convertObjcValueToValue):
  • kjs/JSLock.cpp: (1) Fixed DropAllLocks to behave as advertised, and drop the JSLock only if the current thread actually acquired it in the first place. This is important because WebKit needs to ensure that the JSLock has been dropped before it makes a plug-in call, even though it doesn't know if the current thread actually acquired the JSLock. (We don't want WebKit to accidentally drop a lock belonging to *another thread*.) (2) Used the new per-thread code written for (1) to make recursive calls to JSLock very cheap. JSLock now knows to call pthread_mutext_lock/ pthread_mutext_unlock only at nesting level 0. (KJS::createDidLockJSMutex): (KJS::JSLock::lock): (KJS::JSLock::unlock): (KJS::DropAllLocks::DropAllLocks): (KJS::DropAllLocks::~DropAllLocks): (KJS::JSLock::lockCount):
  • kjs/JSLock.h: Don't duplicate Noncopyable. (KJS::JSLock::~JSLock):
  • wtf/Assertions.h: Blind attempt at helping the Windows build.

WebCore:

Reviewed by Darin Adler.

Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
JSCore causes a hang @ www.panoramas.dk


See JavaScriptCore ChangeLog for details.


  • bindings/objc/WebScriptObject.mm: (_didExecute): Added helpful ASSERT. (+[WebScriptObject throwException:]): Added missing JSLock.

WebKit:

Reviewed by Darin Adler.

Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
JSCore causes a hang @ www.panoramas.dk


See JavaScriptCore ChangeLog for details.

Drop the JSLock before making calls through the plug-in API from functions
that may have been called by JavaScript.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView sendEvent:]): (-[WebBaseNetscapePluginView setWindowIfNecessary]): (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]): (-[WebBaseNetscapePluginView createPluginScriptableObject]): (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): (-[WebBaseNetscapePluginView loadPluginRequest:]): (-[WebBaseNetscapePluginView _printedPluginBitmap]):
  • Plugins/WebPluginController.mm: (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): (-[WebPluginController startAllPlugins]): (-[WebPluginController stopAllPlugins]): (-[WebPluginController addPlugin:]): (-[WebPluginController destroyPlugin:]): (-[WebPluginController destroyAllPlugins]):
4:14 AM Changeset in webkit [20103] by antti
  • 7 edits in trunk/WebCore

Reviewed by Hyatt.

Optimize linebox memory consumption:

  • move all bitfields to baseclass compacting them
  • make InlineTextBox::m_truncation unsigned short and make it relative to m_start
  • remove extremely rarely used EllipsisBox pointer from RootInlineBox and instead use a global hashmap to store it if needed
  • use minimum required number of bits to store BidiStatus enum variables in RootInlineBox
  • move overflow variables in RootInlineBox to a separate struct that is instantiated only if any of the variables is set to a value that can't trivially be derived from box x, y, width and height


As a result line box objects shrink:

InlineBox: 44 -> 44 bytes
InlineTextBox: 68 -> 60 bytes
InlineFlowBox: 68 -> 64 bytes
RootInlineBox: 128 -> 88 bytes


The optimizations possiblity was noticed when debugging http://bugs.webkit.org/show_bug.cgi?id=12833
Bug 12833: REGRESSION: Selecting text in 6.6MB txt file is sluggish as of the Feb 19th nightly
<rdar://problem/5028159>


On that page the patch saves 11.5MB or some 21% of linebox memory consumption. It also
actually improves selection performance somewhat by improving memory locality.

  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::InlineFlowBox):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::nodeAtPoint): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintMarkedTextUnderline):
  • rendering/InlineTextBox.h: (WebCore::InlineTextBox::InlineTextBox):
  • rendering/RootInlineBox.cpp: (WebCore::throw): (WebCore::RootInlineBox::Overflow::operator delete): (WebCore::RootInlineBox::Overflow::destroy): (WebCore::RootInlineBox::destroy): (WebCore::RootInlineBox::detachEllipsisBox): (WebCore::RootInlineBox::clearTruncation): (WebCore::RootInlineBox::placeEllipsis): (WebCore::RootInlineBox::paintEllipsisBox): (WebCore::RootInlineBox::addHighlightOverflow): (WebCore::RootInlineBox::nodeAtPoint): (WebCore::RootInlineBox::adjustPosition): (WebCore::RootInlineBox::selectionTop): (WebCore::RootInlineBox::setLineBreakInfo): (WebCore::RootInlineBox::ellipsisBox): (WebCore::RootInlineBox::setVerticalOverflowPositions): (WebCore::RootInlineBox::setHorizontalOverflowPositions): (WebCore::RootInlineBox::setVerticalSelectionPositions):
  • rendering/RootInlineBox.h: (WebCore::RootInlineBox::RootInlineBox): (WebCore::RootInlineBox::topOverflow): (WebCore::RootInlineBox::bottomOverflow): (WebCore::RootInlineBox::leftOverflow): (WebCore::RootInlineBox::rightOverflow): (WebCore::RootInlineBox::lineBreakBidiStatus): (WebCore::RootInlineBox::selectionBottom): (WebCore::RootInlineBox::Overflow::Overflow):
12:21 AM Changeset in webkit [20102] by ap
  • 16 edits in trunk

Reviewed by Darin.

A partial fix for http://bugs.webkit.org/show_bug.cgi?id=13021
XPath can be very slow

  • xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Cache evaluationContext in a local variable.
  • xml/XPathExpressionNode.cpp: (WebCore::XPath::Expression::evaluationContext):
  • xml/XPathExpressionNode.h: (WebCore::XPath::Expression::addSubExpression): (WebCore::XPath::Expression::subExprCount): (WebCore::XPath::Expression::subExpr):
  • xml/XPathFunctions.cpp:
  • xml/XPathFunctions.h: (WebCore::XPath::Function::setName): (WebCore::XPath::Function::arg): (WebCore::XPath::Function::argCount): (WebCore::XPath::Function::name): Made one-liners critical for performance inline.
  • xml/XPathGrammar.y: Fully parse NodeTests, so that strings are no longer passed for what is essentially an enum. Use LocationPath accessors to add steps, instead of directly manipulating internal data members.
  • xml/XPathParser.cpp: (WebCore::XPath::Parser::parseStatement): (WebCore::XPath::Parser::registerNodeTest): (WebCore::XPath::Parser::deleteNodeTest):
  • xml/XPathParser.h: Added support methods for changes in XPathGrammar.y.
  • xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Cache evaluationContext in a local variable. Use swap() to avoid performing vector assignments. (WebCore::XPath::LocationPath::evaluate): Use swap() to avoid performing vector assignments. (WebCore::XPath::LocationPath::optimizeStepPair): This new method is called during LocationPath construction, to simplify the path as it's being built. Currently, the only optimized case is "*" - it is a basis for important operations that cannot be efficiently written in XPath 1.0, but can be optimized with a little bit of XPath 2.0. (WebCore::XPath::LocationPath::appendStep): A new accessor that modifies m_steps and calls optimizeStepPair(). (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
  • xml/XPathPath.h: (WebCore::XPath::LocationPath::setAbsolute): A new accessor.
  • xml/XPathStep.h: (WebCore::XPath::Step::NodeTest::): (WebCore::XPath::Step::NodeTest::NodeTest): (WebCore::XPath::Step::NodeTest::kind): (WebCore::XPath::Step::NodeTest::data): Step::NodeTest is a new sub-class that represents a fully parsed NodeTest. (WebCore::XPath::Step::axis): (WebCore::XPath::Step::nodeTest): (WebCore::XPath::Step::nodeTestData): (WebCore::XPath::Step::namespaceURI): (WebCore::XPath::Step::predicates): (WebCore::XPath::Step::setAxis): (WebCore::XPath::Step::setNodeTest): (WebCore::XPath::Step::setNodeTestData): (WebCore::XPath::Step::setNamespaceURI): (WebCore::XPath::Step::setPredicates): New accessors that let optimizeStepPair() manipulate Step data.
  • xml/XPathStep.cpp: (WebCore::XPath::Step::Step): Use the new NodeTest class. (WebCore::XPath::Step::evaluate): Cache evaluationContext in a local variable. Use swap() to avoid performing unneeded vector assignments. (WebCore::XPath::Step::nodesInAxis): Cosmetic changes. (WebCore::XPath::Step::nodeTestMatches): Use NodeTest instead of parsing the test from string each time. Added a partial implementation of XPath 2.0 element() node test.
12:10 AM Changeset in webkit [20101] by ap
  • 4 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=12249
FCKeditor: <hr>, <ul> and <ol> have id="undefined"

This fixes the attached reduction, but not the original issue.

Test: editing/execCommand/default-parameters.html

  • dom/Document.h:
  • dom/Document.idl: Make second and third execCommand() parameters optional.

Mar 10, 2007:

3:37 PM Changeset in webkit [20100] by adele
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

Fix for http://bugs.webkit.org/show_bug.cgi?id=13028
REGRESSION: textField:doCommandBySelector:inFrame: not being called properly

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Before calling the base class defaultEventHandler, which will call handleKeypress, call doTextFieldCommandFromEvent.
2:46 PM Changeset in webkit [20099] by ddkilzer
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

  • fast/forms/listbox-typeahead-scroll-expected.txt: Added.
  • fast/forms/listbox-typeahead-scroll.html: Added.

WebCore:

Reviewed by Darin.

Test: fast/forms/listbox-typeahead-scroll.html

  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setSelectedIndex): Reordered to set the active selection's anchor and end before selecting the option, since the active selection is used to decide where to scroll when the selection is made. (WebCore::HTMLSelectElement::defaultEventHandler): Removed redundant check.
2:43 PM Changeset in webkit [20098] by ddkilzer
  • 7 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

  • fast/dom/css-cached-import-rule-expected.checksum: Added.
  • fast/dom/css-cached-import-rule-expected.png: Added.
  • fast/dom/css-cached-import-rule-expected.txt: Added.
  • fast/dom/css-cached-import-rule.html: Added.

WebCore:

Reviewed by Darin.

Test: fast/dom/css-cached-import-rule.html

Replaced some direct calls to document->stylesheetLoaded() with calls to
the sheet's checkLoaded(). The latter calls back to the element's sheetLoaded() --
which notifies the document of the load -- and then updates the sheet's
loadCompleted() flag, ensuring that it stays in sync with whether the stylesheet
is still considered pending by the document.

  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::parseStyleSheet):
  • dom/StyleElement.cpp: (WebCore::StyleElement::childrenChanged):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): (WebCore::HTMLLinkElement::setCSSStyleSheet):
  • ksvg2/svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::sheetLoaded):
  • ksvg2/svg/SVGStyleElement.h:
2:38 PM Changeset in webkit [20097] by ddkilzer
  • 4 edits in trunk

WebCore:

Reviewed by Darin.

  • WebCore.exp: Export WebCore::Image::loadPlatformResource(const char*) for use in [WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:].

WebKit:

Reviewed by Darin.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Use WebCore::Image::loadPlatformResource(const char*) to load the missingImage image.
12:17 AM Changeset in webkit [23056] by andersca
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Adam.

  • DOMCoreClasses.cpp: (DOMNode::textContent): Implement this.
12:08 AM Changeset in webkit [20096] by bdash
  • 2 edits in trunk/WebKit

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

Reviewed by John.

<rdar://problem/5051827> HIWebView handling of kEventControlGetData is broken in 64-bit

On Leopard the kEventParamControlDataBufferSize event parameter is of type typeByteCount.
The 32-bit implementation of GetEventParameter will coerce between integer types and
typeByteCount while the 64-bit version will return a failure. As typeByteCount is new
in Leopard we must continue using typeSInt32 when building for Tiger.

  • Carbon/HIWebView.m: (HIWebViewEventHandler):

Mar 9, 2007:

7:23 PM Changeset in webkit [23055] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

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

Reviewed by John.

Fix the doubled text in the image used to drag a link

  • platform/win/WebCoreTextRenderer.cpp: (WebCore::WebCoreDrawDoubledTextAtPoint):


5:06 PM Changeset in webkit [23054] by andersca
  • 5 edits in branches/WindowsMerge

WebCoreWin:

Reviewed by Adam.

Implement setting the suggested filename for a response.


  • platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::filenameFromHTTPContentDisposition): (WebCore::filenameHasSaneExtension): (WebCore::suggestedFilenameForResponse): (WebCore::ResourceResponse::doUpdateResourceResponse):
  • platform/win/MimeTypeRegistryWin.cpp: (WebCore::getMIMETypeForUTI):


(WebCore::mimeTypeForExtension):
Fix two bugs in this function.


(WebCore::MimeTypeRegistry::getPreferredExtensionForMIMEType):

WebKitWin:

Reviewed by Adam.

  • WebURLResponse.cpp: (WebURLResponse::suggestedFilename): Get the suggested filename from the ResourceResponse object.
4:41 PM Changeset in webkit [20095] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Darin.

Force diff to treat files that svn-create-patch thinks are text as text.

  • Scripts/svn-create-patch: Added -a switch to diff command.
4:07 PM Changeset in webkit [23053] by andersca
  • 2 edits in branches/WindowsMerge/WebKitTools

WebKitToolsWin:

Reviewed by Adam.

Fix build and do some general cleanup.


  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h: (WaitUntilDoneDelegate::didReceiveServerRedirectForProvisionalLoadForFrame): (WaitUntilDoneDelegate::didFailProvisionalLoadWithError): (WaitUntilDoneDelegate::didCommitLoadForFrame): (WaitUntilDoneDelegate::didReceiveIcon): (WaitUntilDoneDelegate::didFailLoadWithError): (WaitUntilDoneDelegate::didChangeLocationWithinPageForFrame): (WaitUntilDoneDelegate::willPerformClientRedirectToURL): (WaitUntilDoneDelegate::didCancelClientRedirectForFrame): (WaitUntilDoneDelegate::willCloseFrame): (WaitUntilDoneDelegate::createWebViewWithRequest): (WaitUntilDoneDelegate::webViewShow): (WaitUntilDoneDelegate::webViewClose): (WaitUntilDoneDelegate::webViewFocus): (WaitUntilDoneDelegate::webViewUnfocus): (WaitUntilDoneDelegate::webViewFirstResponder): (WaitUntilDoneDelegate::makeFirstResponder): (WaitUntilDoneDelegate::setStatusText): (WaitUntilDoneDelegate::webViewStatusText): (WaitUntilDoneDelegate::webViewAreToolbarsVisible): (WaitUntilDoneDelegate::setToolbarsVisible): (WaitUntilDoneDelegate::webViewIsStatusBarVisible): (WaitUntilDoneDelegate::setStatusBarVisible): (WaitUntilDoneDelegate::webViewIsResizable): (WaitUntilDoneDelegate::setResizable): (WaitUntilDoneDelegate::setFrame): (WaitUntilDoneDelegate::webViewFrame): (WaitUntilDoneDelegate::setContentRect): (WaitUntilDoneDelegate::webViewContentRect): (WaitUntilDoneDelegate::runJavaScriptConfirmPanelWithMessage): (WaitUntilDoneDelegate::runJavaScriptTextInputPanelWithPrompt): (WaitUntilDoneDelegate::runBeforeUnloadConfirmPanelWithMessage): (WaitUntilDoneDelegate::runOpenPanelForFileButtonWithResultListener): (WaitUntilDoneDelegate::mouseDidMoveOverElement): (WaitUntilDoneDelegate::contextMenuItemsForElement): (WaitUntilDoneDelegate::validateUserInterfaceItem): (WaitUntilDoneDelegate::shouldPerformAction): (WaitUntilDoneDelegate::dragDestinationActionMaskForDraggingInfo): (WaitUntilDoneDelegate::willPerformDragDestinationAction): (WaitUntilDoneDelegate::dragSourceActionMaskForPoint): (WaitUntilDoneDelegate::willPerformDragSourceAction): (WaitUntilDoneDelegate::contextMenuItemSelected): (WaitUntilDoneDelegate::trackCustomPopupMenu): (WaitUntilDoneDelegate::measureCustomMenuItem): (WaitUntilDoneDelegate::drawCustomMenuItem): (WaitUntilDoneDelegate::cleanUpCustomMenuDrawingData): (WaitUntilDoneDelegate::canTakeFocus): (WaitUntilDoneDelegate::takeFocus): (WaitUntilDoneDelegate::registerUndoWithTarget): (WaitUntilDoneDelegate::removeAllActionsWithTarget): (WaitUntilDoneDelegate::setActionTitle): (WaitUntilDoneDelegate::undo): (WaitUntilDoneDelegate::redo): (WaitUntilDoneDelegate::canUndo): (WaitUntilDoneDelegate::canRedo): (WaitUntilDoneDelegate::addCustomMenuDrawingData):
2:58 PM Changeset in webkit [20094] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Darin.

<rdar://problem/4976254> Please get off _NSSoftLinkingGetFrameworkFuncPtr

Use dlopen and dlsym to access the DCSShowDictionaryServiceWindow function.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
12:02 PM Changeset in webkit [23052] by aroben
  • 2 edits in branches/WindowsMerge/WebKitWin

Rubberstamped by Steve.

B&I build fix.

  • WebKit.vcproj/WebKit.vcproj: Removed all references to iconv.
11:45 AM Changeset in webkit [20093] by darin
  • 2 edits in trunk/WebKitSite
  • blog/wp-content/themes/webkit/style.css: Removed rule for code since we want it to match pre, and the default font looks fine -- no need to ask for "Courier New" explicitly.
10:54 AM Changeset in webkit [20092] by darin
  • 6 edits
    4 adds in trunk

LayoutTests:

Reviewed by Justin.

  • editing/pasteboard/paste-xml-expected.checksum: Added.
  • editing/pasteboard/paste-xml-expected.png: Added.
  • editing/pasteboard/paste-xml-expected.txt: Added.
  • editing/pasteboard/paste-xml.xhtml: Added.

WebCore:

Reviewed by Justin.

Test: editing/pasteboard/paste-xml.xhtml

  • editing/markup.cpp: (WebCore::createFragmentFromMarkup): Added a check for 0 here, since createContextualFragment can return 0 for XML documents that fail to parse. In my testing, callers all seem equipped to handle 0.

WebKit:

Reviewed by Justin.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _hasHTMLDocument]): Added. (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Don't call AppKit's conversion from the DOM to an attributed string if the document is not an HTML document, to work around an AppKit limitation (Radar 5052390).
8:32 AM Changeset in webkit [23051] by andersca
  • 2 edits in branches/WindowsMerge/WebCore
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::performRequest): Fixup comments and remove an obsolete FIXME.
8:19 AM Changeset in webkit [20091] by darin
  • 2 edits in trunk/WebKit
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
8:05 AM Changeset in webkit [20090] by weinig
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

  • http/tests/misc/onload-remove-iframe-crash-2-expected.txt: Added.
  • http/tests/misc/onload-remove-iframe-crash-2.html: Added.
  • http/tests/misc/resources/onload-remove-iframe-crash-2.html: Added.
  • http/tests/misc/resources/onload-remove-iframe.html: Added.

WebCore:

Reviewed by Darin.

Test: http/tests/misc/onload-remove-iframe-crash-2.html

The resulted from an iframe's load event handler removing the iframe
from the document.

  • dom/Document.cpp: (WebCore::Document::implicitClose): Bail out early if an event handler removed the frame.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::clear): (WebCore::FrameLoader::checkCompleted): Protect the frame from deletion by event handlers. (WebCore::FrameLoader::checkCompletedTimerFired): (WebCore::FrameLoader::scheduleCheckCompleted): (WebCore::FrameLoader::detachFromParent): Schedule a completion check on the parent (in case the child is what has been keeping it from completing).
  • loader/FrameLoader.h:
4:35 AM Changeset in webkit [20089] by rwlbuis
  • 1 edit in trunk/WebCore/ChangeLog

I forgot to commit my ChangeLog as part of r20028, sorry about that.

2:00 AM Changeset in webkit [20088] by bdash
  • 3 edits
    2 deletes in trunk

Roll out r20078 as it's causing a crash during layout tests.

1:23 AM Changeset in webkit [23050] by sfalken
  • 1 edit in branches/WindowsMerge/WebKitWin/WebKit.vcproj/VERSION

Bump version for submit

1:20 AM Changeset in webkit [20087] by sfalken
  • 1 copy in tags/Safari-521.35.7b

New tag.

1:08 AM Changeset in webkit [23049] by oliver
  • 1 edit in branches/WindowsMerge/WebCore/ChangeLog

Forgot to save changelog with reviewer name, correcting

1:01 AM Changeset in webkit [23048] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

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

Reviewed by Steve.

Executing a script for a plugin can cause cause this to be deleted
so we take a reference to our parent prior to executing the script

  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::performRequest):

Mar 8, 2007:

11:59 PM Changeset in webkit [23047] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

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

WebCoreWin:

Allow webloc files to be dropped onto the webview


<rdar://problem/4883564> Regression: cannot open webloc file by dnd to Boomer's window

  • platform/win/DragDataWin.cpp: (WebCore::cfHDropFormat):

Clipboard format for HDROP, non-static as i will need it elsewhere in the future

(WebCore::getWebLocData):

Extract a url from a webloc file

(WebCore::getURL):

Call getWebLocData


11:20 PM Changeset in webkit [23046] by sfalken
  • 2 edits in branches/WindowsMerge/WebCore

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

Fix B&I build more

  • WebCore.vcproj/WebCore.vcproj:
10:23 PM Changeset in webkit [20086] by bdash
  • 4 edits in tags/Safari-4522.4

Versioning.

10:18 PM Changeset in webkit [20085] by bdash
  • 1 copy in tags/Safari-4522.4

New tag.

10:05 PM Changeset in webkit [20084] by ddkilzer
  • 2 edits in trunk/WebCore

WebCore:

Reviewed by Beth.

No tests added since LayoutTests/fast/forms/document-write.html was timing out
and causing a layout test failure.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Removed stray code.
9:52 PM Changeset in webkit [23045] by sfalken
  • 2 edits in branches/WindowsMerge/WebCore

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

B&I build fix

  • WebCore.vcproj/WebCore.vcproj:
8:55 PM Changeset in webkit [20083] by kjk
  • 2 edits in trunk/WebCore

Not reviewed - gdk build fix.

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::frameIsCompleteAtIndex): add empty stub
8:23 PM Changeset in webkit [20082] by bdash
  • 2 edits in trunk/WebKit

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

Reviewed by Tim Hatcher.

<rdar://problem/5051616> Mouse clicks and movement are ignored in HIWebView on 64-bit

Mouse events are not being handled correctly as GetControlKind is returning an error
on 64-bit. The more modern HIObjectIsOfClass behaves correctly for this use.

  • Carbon/HIWebView.m: (HIWebViewDestructor): (WindowHandler): Use HIObjectIsOfClass in place of GetControlKind. (HIWebViewEventHandler): Don't leak the NSEvent.
8:06 PM Changeset in webkit [20081] by bdash
  • 2 edits in trunk/WebKitTools

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

Unreviewed. Use the new SVN URL on the buildbot.

  • BuildSlaveSupport/build.webkit.org-config/webkit/steps.py:
7:57 PM Changeset in webkit [20080] by bdash
  • 1 edit
    1 add in trunk/WebKitSite

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

Rubber-stamped by Tim Hatcher.

Sexy blog permalinks!

  • blog/.htaccess: Added.
7:11 PM Changeset in webkit [20079] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-03-08 MorganL <morganl.webkit@yahoo.com>

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13018
Bug 13018: allow embedders to override the definition of CRASH.

  • wtf/Assertions.h: make it possible to override CRASH.
7:08 PM Changeset in webkit [20078] by bdash
  • 3 edits
    2 adds in trunk

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

Reviewed by Brady.

Test: fast/loader/onunload-form-submit-crash-2.html

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::finishedLoading): Added null check.

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

Reviewed by Brady.

  • fast/loader/onunload-form-submit-crash-2-expected.txt: Added.
  • fast/loader/onunload-form-submit-crash-2.html: Added.
7:02 PM Changeset in webkit [20077] by bdash
  • 2 edits in trunk/WebKit

2007-03-08 Bruce Q Hammond <bruceq@apple.om>

Reviewed by Darin.

Fix for http://bugs.webkit.org/show_bug.cgi?id=13009
Console spews "CGContextGetType: invalid context" non-stop on web site

  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): (-[WebBaseNetscapePluginView restorePortState:]):
6:37 PM Changeset in webkit [20076] by bdash
  • 2 edits in trunk/WebKitSite

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

Reviewed by Adam.

  • building/checkout.html: Update repository URL.
6:37 PM Changeset in webkit [20075] by justing
  • 31 edits in trunk

LayoutTests:

Reviewed by harrison


<rdar://problem/4903193>
On particular page, Copy is so slow it seems like a hang

Less messy DOM trees:

  • editing/deleting/delete-3857753-fix-expected.txt:
  • editing/inserting/insert-3786362-fix-expected.txt:
  • editing/inserting/insert-3907422-fix-expected.txt:
  • editing/pasteboard/display-block-on-spans-expected.txt:
  • editing/pasteboard/paste-4035648-fix-expected.txt:
  • editing/pasteboard/paste-4039777-fix-expected.txt:
  • editing/pasteboard/paste-line-endings-001-expected.txt:
  • editing/pasteboard/paste-line-endings-006-expected.txt:
  • editing/pasteboard/paste-list-001-expected.txt:
  • editing/pasteboard/paste-pre-001-expected.txt:
  • editing/pasteboard/paste-pre-002-expected.txt:
  • editing/pasteboard/paste-table-001-expected.txt:
  • editing/pasteboard/paste-table-002-expected.txt:
  • editing/pasteboard/paste-text-003-expected.txt:
  • editing/pasteboard/paste-text-011-expected.txt:
  • editing/pasteboard/paste-text-015-expected.txt:
  • editing/pasteboard/paste-text-016-expected.txt:
  • editing/pasteboard/paste-text-017-expected.txt:
  • editing/pasteboard/styled-element-markup-expected.txt:
  • editing/pasteboard/testcase-9507-expected.txt:
  • editing/style/smoosh-styles-001-expected.txt:
  • editing/style/smoosh-styles-002-expected.txt:
  • fast/lists/drag-into-marker-expected.txt: Styles from style sheets are now inlined:
  • webarchive/test-duplicate-resources-expected.txt:
  • webarchive/test-frameset-expected.txt:
  • webarchive/test-link-href-expected.txt:\ Two levels of nesting are removed, but text nodes are no longer coalesced when they should be, investigating:
  • editing/pasteboard/block-wrappers-necessary-expected.txt:

WebCore:

Reviewed by harrison


<rdar://problem/4903193>
On particular page, Copy is so slow it seems like a hang


~2x speedup copying:
http://shakespeare.mit.edu/henryviii/full.html
Also produces less bloated markup.

  • editing/markup.cpp: (WebCore::startMarkup): Don't wrap text nodes in style spans. For Elements, don't inline styles inherited from ancestors. (WebCore::createMarkup): No longer necessary to find the root's default style and pass it to startMarkup. Add a wrapper span around the markup with the styles that all nodes in the markup inherit (the inheritable styles from the common ancestor container's computed style). Added a FIXME about unecessary markup for inline ancestors up to the commonAncestorBlock.
6:25 PM Changeset in webkit [20074] by darin
  • 3 edits in trunk/WebCore

Reviewed by Adele.

  • <rdar://problem/4470381> multipart/form-data boundary security vulnerability

By making the form data boundary a string with some random data in it, we reduce
the possibility that anyone could take advantage of it by creating a file that
intentionally has the boundary string in it.

  • html/HTMLFormElement.h: Removed boundary(), setBoundary(), and m_boundary. Marked a lot more stuff private.
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): Removed code to initialize m_boundary. (WebCore::randomNumber): Added. Function that returns a random number, including seeding the random number generator the first time it's called. For now, usees the more random function random() on Mac OS X and the more-standard rand() on other platforms. (WebCore::HTMLFormElement::formData): Take a parameter with the form boundary string, and use that instead of m_boundary. (WebCore::getUniqueBoundaryString): Added. Makes a boundary string using random numbers and base 64 encoding. (WebCore::HTMLFormElement::submit): Call getUniqueBoundaryString and pass the boundary string into formData for multipart form posts.
6:15 PM Changeset in webkit [20073] by bdash
  • 7 edits
    1 delete in trunk/WebKit

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

Reviewed by Tim Hatcher.

<rdar://problem/4561772> HIWebView does not exist for 64-bit

Update HIWebView and friends to work without QuickDraw.

Changes are gleaned from the 64-bit support inside HICocoaView. The main
fact of interest are that all Carbon windows must have compositing enabled
so the code paths that aren't accessible are #ifdef'd out. Conveniently
these are the exact code paths that make use of QuickDraw.

There are currently minor event-handling and invalidation issues running as
64-bit that are not present in 32-bit.

  • Carbon/CarbonUtils.m:
  • Carbon/CarbonWindowAdapter.m:
  • Carbon/CarbonWindowFrame.m:
  • Carbon/HIViewAdapter.m: (SetViewNeedsDisplay):
  • Carbon/HIWebView.m: (Draw): (Click): (SyncFrame): (StartUpdateObserver): (StopUpdateObserver): (UpdateObserver):
  • WebKit.LP64.exp: Removed.
  • WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp.
6:12 PM Changeset in webkit [20072] by mjs
  • 14 edits
    4 adds in trunk

LayoutTests:

Reviewed by Adele.

<rdar://problem/4646563> REGRESSION: Unable to send text message from Verizon text message website: vtext.com (12588)
http://bugs.webkit.org/show_bug.cgi?id=12588

Carefully revised which focus operations restore previous selection, which clear it, and which
select the whole control contents, these test cases cover every focus call I could find.


  • fast/forms/focus-selection-input-expected.txt: Added.
  • fast/forms/focus-selection-input.html: Added.
  • fast/forms/focus-selection-textarea-expected.txt: Added.
  • fast/forms/focus-selection-textarea.html: Added.
  • fast/forms/onselect-textfield-expected.txt:

WebCore:

Reviewed by Adele.


<rdar://problem/4646563> REGRESSION: Unable to send text message from Verizon text message website: vtext.com (12588)
http://bugs.webkit.org/show_bug.cgi?id=12588

Carefully revised which focus operations restore previous selection, which clear it, and which
select the whole control contents.


Tests:
fast/forms/focus-selection-input.html
fast/forms/focus-selection-textarea.html


  • dom/Element.cpp: (WebCore::Element::focus):
  • dom/Element.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::focus): (WebCore::HTMLInputElement::accessKeyAction):
  • html/HTMLInputElement.h:
  • html/HTMLLabelElement.cpp: (WebCore::HTMLLabelElement::focus): (WebCore::HTMLLabelElement::accessKeyAction):
  • html/HTMLLabelElement.h:
  • html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::focus):
  • html/HTMLLegendElement.h:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::focus):
  • html/HTMLTextAreaElement.h:
  • page/FocusController.cpp: (WebCore::FocusController::advanceFocus):
4:33 PM Changeset in webkit [20071] by justing
  • 6 edits
    2 adds in trunk

LayoutTests:

Reviewed by harrison


<http://bugs.webkit.org/show_bug.cgi?id=12244>
FCKeditor: Find dialog doesn't work

  • editing/execCommand/12244-expected.txt: Added.
  • editing/execCommand/12244.html: Added.
  • fast/dom/Window/window-properties-expected.txt:

WebCore:

Reviewed by harrison

<http://bugs.webkit.org/show_bug.cgi?id=12244>
FCKeditor: Find dialog doesn't work

  • bindings/js/kjs_window.cpp: (KJS::Window::find): Added. This function doesn't yet support whole word searches, searching in subframes, or opening the find dialog. (KJS::WindowFunc::callAsFunction):
  • bindings/js/kjs_window.h: (KJS::Window::):
3:58 PM Changeset in webkit [20070] by hyatt
  • 4 edits in trunk/WebCore

Fix regression from throwing away frames of large animated images. Alter
animated images so that they refuse to advance the animation until the
current displayed frame has been fully decoded.

Reviewed by ggaren

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::startAnimation): (WebCore::BitmapImage::advanceAnimation):
  • platform/graphics/ImageSource.h:
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::frameIsCompleteAtIndex):
3:45 PM Changeset in webkit [23044] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

WebCoreWin:

Reviewed by Steve.


Fix <rdar://problem/4969070> Failed error pages show "unknown error"
rather than specific error

Make ResourceError aware of kCFErrorDomainCFNetwork.

  • platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::ResourceError): Added case for kCFErrorDomainCFNetwork.
3:33 PM Changeset in webkit [20069] by hyatt
  • 2 edits in trunk/WebCore

Fix 2% performance regression on the PLT. Increase the large animated
image cutoff from 1MB to 5MB.

In addition when pruning we will aggressively discard image sources.

Reviewed by ggaren

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::destroyDecodedData):
2:42 PM Changeset in webkit [20068] by justing
  • 1 edit in trunk/LayoutTests/fast/dom/Range/13000-expected.txt
2:16 PM Changeset in webkit [20067] by thatcher
  • 12 edits in trunk

WebCore:

Reviewed by John.

<rdar://problem/4664697> highlighter SPI needs a node parameter to give more context

Pass the RenderObject's node to customHighlightLineRect and paintCustomHighlight.

  • page/Frame.h:
  • page/mac/FrameMac.mm: (WebCore::Frame::customHighlightLineRect): (WebCore::Frame::paintCustomHighlight):
  • page/mac/WebCoreFrameBridge.h:
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintCustomHighlight):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintCustomHighlight):
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::addHighlightOverflow): (WebCore::RootInlineBox::paintCustomHighlight):

WebKit:

Reviewed by John.

<rdar://problem/4664697> highlighter SPI needs a node parameter to give more context

Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.

  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]): (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
  • WebKit.xcodeproj/project.pbxproj:
  • WebView/WebHTMLViewPrivate.h:
2:00 PM Changeset in webkit [20066] by justing
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by harrison


<http://bugs.webkit.org/show_bug.cgi?id=13000>
Range.createContextualFragment is not supported

  • fast/dom/Range/13000-expected.txt: Added.
  • fast/dom/Range/13000.html: Added.

WebCore:

Reviewed by harrison


<http://bugs.webkit.org/show_bug.cgi?id=13000>
Range.createContextualFragment is not supported

  • dom/Range.cpp: (WebCore::Range::createContextualFragment): The "startContainer" may not be a container, if the range starts inside text. In that case, look to the parent of the start node for an HTMLElement.
12:49 PM Changeset in webkit [20065] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by harrison


<rdar::/problem/5049671>
Gmail Editor: With linked text, Remove Formatting doesn't always remove underline

  • editing/execCommand/5049671-expected.checksum: Added.
  • editing/execCommand/5049671-expected.png: Added.
  • editing/execCommand/5049671-expected.txt: Added.
  • editing/execCommand/5049671.html: Added.

WebCore:

Reviewed by harrison


<rdar://problem/5049671>
Gmail Editor: With linked text, Remove Formatting doesn't always remove underline

  • editing/Editor.cpp: (WebCore::Editor::removeFormattingAndStyle): Clear removed anchors after the deletion.
10:33 AM Changeset in webkit [20064] by thatcher
  • 1 edit in trunk/WebKit/Plugins/WebBaseNetscapePluginView.mm

Attempt to fix the build.

9:47 AM Changeset in webkit [20063] by brmorris
  • 3 edits in S60/trunk/S60Internals

brmorris, reviewed by nobody (bustage fix)

DESC: add some icons to fix build bustage caused by r20034

7:03 AM Changeset in webkit [20062] by ddkilzer
  • 1 edit
    1 add in trunk/WebCore

WebCore:

Reviewed by NOBODY (build fix).

Added missing file for r20059:
<rdar://problem/4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail.

File was taken from this svn repository which contained versions of ucnv.h and ucnv_err.h
that were identical to ours:
http://source.icu-project.org/repos/icu/icu/tags/release-3-2/source/common/unicode/ucnv_cb.h

  • icu/unicode/ucnv_cb.h: Added.
5:57 AM Changeset in webkit [20061] by bdash
  • 2 edits in trunk/WebCore

2007-03-09 Shrikant Gangoda <shrikant.gangoda@celunite.com>

Gdk build fix.

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear):
4:09 AM Changeset in webkit [20060] by bdash
  • 2 edits in trunk/WebKitTools

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

Reviewed by Antti.

Fix compiler warnings when building Drosera as 64-bit.

  • Drosera/DebuggerDocument.m: (-[DebuggerDocument breakpointEditorHTML]): Move away from deprecated NSString method. (-[DebuggerDocument scriptConfirmSheetDidEnd:returnCode:contextInfo:]): Update type. (-[DebuggerDocument webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]): Update type to accommodate constant.
3:08 AM Changeset in webkit [20059] by oliver
  • 6 edits in trunk

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

Reviewed by Adam.

WebCore:

To match old TEC behaviour when using ICU we need to use
a few manual fallback encodings for the GBK/EUC-CN charsets

<rdar://problem/4708689> -- REGRESSION: Some symbols with 2-byte display as garbage in Hotmail.

  • platform/TextCodecICU.cpp: (WebCore::TextCodecICU::TextCodecICU): (WebCore::TextCodecICU::createICUConverter): (WebCore::gbkEscapes): (WebCore::gbkCallbackEscape): (WebCore::gbkCallbackSubstitute): (WebCore::TextCodecICU::encode):
  • platform/TextCodecICU.h: (WebCore::TextCodecICU::needsGBKFallbacks): (WebCore::TextCodecICU::setNeedsGBKFallbacks):


LayoutTests:

Adding GBK character encoding tests

  • fast/encoding/char-encoding-expected.txt:
  • fast/encoding/char-encoding.html:


2:00 AM Changeset in webkit [23043] by andersca
  • 2 edits in branches/WindowsMerge/WebKitWin

Build fix.


  • WebView.cpp: (WebView::isLoading):
1:21 AM Changeset in webkit [23042] by andersca
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Adam.

Implement WebView::isLoading.


  • WebView.cpp: (WebView::isLoading):
1:12 AM Changeset in webkit [20058] by andersca
  • 2 edits in trunk/WebKit

Try fixing the buildbot build.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
12:48 AM Changeset in webkit [20057] by ap
  • 5 edits in trunk

WebCore:

Build fix.

  • xml/XPathUtil.cpp: (WebCore::XPath::stringValue):

LayoutTests:

Added a test for attribute node string-value.

  • fast/xpath/string-value-expected.txt:
  • fast/xpath/string-value.html:
12:43 AM Changeset in webkit [20056] by hyatt
  • 4 edits in trunk/WebCore

This patch dramatically reduces the memory consumed by animated images. For large animated GIFs (defined for
now as >1mb in terms of decoded frame buffer size), we will now aggressively flush previous frames of the
animated GIF and just re-decode them on the fly if the animation loops.

Whenever a large animated GIF has its animation reset, we will also just throw out everything and start
the animation over (in order to get rid of any cached detritus held in the ImageSource).

With this patch and the sample GIF used to test, WebKit's memory consumption went from 160MB down to 16MB.

Reviewed by mjs

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::resetAnimation): (WebCore::BitmapImage::advanceAnimation):
  • platform/graphics/ImageSource.h:
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::~ImageSource): (WebCore::ImageSource::clear):
12:16 AM Changeset in webkit [20055] by ap
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13006
XPath string-value is broken for some node types

Test: fast/xpath/string-value.html

  • xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Fix it :-)
12:02 AM Changeset in webkit [20054] by ddkilzer
  • 1 edit in trunk/WebKit/ChangeLog

Added bug number and fixed email address.

Mar 7, 2007:

11:15 PM Changeset in webkit [20053] by andersca
  • 3 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/4981000>
http://bugs.webkit.org/show_bug.cgi?id=12634
REGRESSION: crash loading web archive (12634)


The reason this bug wasn't always reproducible is that it involved sending an event to a plugin while
the page was loading. Before we send the event to the plugin we defer loads. The problem was that
MainResourceLoader::setDefersLoad would not work with data loads.


  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setRequest): Only set m_committed to false if we also have a valid unreachable URL.


  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::setDefersLoading): Make sure to stop and start data loads.
11:01 PM Changeset in webkit [20052] by kjk
  • 4 edits in trunk/WebCore

Not reviewed.

Gdk build fixes.

  • platform/gdk/EditorClientGdk.cpp: (WebCore::EditorClientGdk::handleKeypress): renamed (WebCore::EditorClientGdk::handleInputMethodKeypress): add a stub
  • platform/gdk/EditorClientGdk.h:
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::destroyFrameAtIndex): add a stub
10:52 PM Changeset in webkit [23041] by aroben
  • 2 edits in branches/WindowsMerge/WebKitWin

Rubberstamped by Anders.

Return E_POINTER for null parameters.

  • WebScrollBar.cpp: (WebScrollBar::value): (WebScrollBar::capturingMouse): (WebScrollBar::frameGeometry): (WebScrollBar::width): (WebScrollBar::height): (WebScrollBar::requestedWidth): (WebScrollBar::requestedHeight): (WebScrollBar::windowClipRect):
10:47 PM Changeset in webkit [23040] by aroben
  • 4 edits in branches/WindowsMerge/WebKitWin

WebKitWin:

Reviewed by Oliver.

Added requestedWidth and requestedHeight methods to WebScrollBar.

  • Interfaces/IWebScrollBarPrivate.idl: Added new declarations.
  • WebScrollBar.cpp: (WebScrollBar::requestedWidth): Implemented. (WebScrollBar::requestedHeight): Implemented.
  • WebScrollBar.h: Added method declarations.
9:36 PM Changeset in webkit [23039] by aroben
  • 2 edits in branches/WindowsMerge/WebKitWin

Rubberstamped by Anders.

  • WebFrame.cpp: (WebFrame::cancelledError): Use the WebURLErrorDomain constant. (WebFrame::interruptForPolicyChangeError): Use the WebKitErrorDomain constant.
7:47 PM Changeset in webkit [20051] by weinig
  • 14 edits
    2 adds in trunk

LayoutTests:

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13004
Repeatedly calling XPathExpression.evaluate() causes crashes or memory leaks

  • fast/xpath/evaluate-twice-expected.txt: Added.
  • fast/xpath/evaluate-twice.html: Added.

WebCore:

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13004
Repeatedly calling XPathExpression.evaluate() causes crashes or memory leaks

Removed XPath::Expression::optimize() and related methods, since they were buggy and almost useless.
Merged doEvaluate() into evaluate(), since this was all evaluate() was doing after the above changes.

Test: fast/xpath/evaluate-twice.html

  • xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate):
  • xml/XPathExpressionNode.cpp: (WebCore::XPath::Expression::Expression): (WebCore::XPath::Expression::~Expression):
  • xml/XPathExpressionNode.h:
  • xml/XPathFunctions.cpp: (WebCore::XPath::FunLast::evaluate): (WebCore::XPath::FunPosition::evaluate): (WebCore::XPath::FunId::evaluate): (WebCore::XPath::FunLocalName::evaluate): (WebCore::XPath::FunNamespaceURI::evaluate): (WebCore::XPath::FunName::evaluate): (WebCore::XPath::FunCount::evaluate): (WebCore::XPath::FunString::evaluate): (WebCore::XPath::FunConcat::evaluate): (WebCore::XPath::FunStartsWith::evaluate): (WebCore::XPath::FunContains::evaluate): (WebCore::XPath::FunSubstringBefore::evaluate): (WebCore::XPath::FunSubstringAfter::evaluate): (WebCore::XPath::FunSubstring::evaluate): (WebCore::XPath::FunStringLength::evaluate): (WebCore::XPath::FunNormalizeSpace::evaluate): (WebCore::XPath::FunTranslate::evaluate): (WebCore::XPath::FunBoolean::evaluate): (WebCore::XPath::FunNot::evaluate): (WebCore::XPath::FunTrue::evaluate): (WebCore::XPath::FunLang::evaluate): (WebCore::XPath::FunFalse::evaluate): (WebCore::XPath::FunNumber::evaluate): (WebCore::XPath::FunSum::evaluate): (WebCore::XPath::FunFloor::evaluate): (WebCore::XPath::FunCeiling::evaluate): (WebCore::XPath::FunRound::evaluate):
  • xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): (WebCore::XPath::LocationPath::evaluate): (WebCore::XPath::Path::evaluate):
  • xml/XPathPath.h:
  • xml/XPathPredicate.cpp: (WebCore::XPath::Number::evaluate): (WebCore::XPath::StringExpression::evaluate): (WebCore::XPath::Negative::evaluate): (WebCore::XPath::NumericOp::evaluate): (WebCore::XPath::EqTestOp::evaluate): (WebCore::XPath::LogicalOp::evaluate): (WebCore::XPath::Union::evaluate):
  • xml/XPathPredicate.h:
  • xml/XPathStep.cpp:
  • xml/XPathStep.h:
  • xml/XPathVariableReference.cpp: (WebCore::XPath::VariableReference::evaluate):
  • xml/XPathVariableReference.h:
7:31 PM Changeset in webkit [20050] by bdash
  • 1 edit in trunk/WebKit/Plugins/WebBaseNetscapePluginView.mm

The change to go along with Anders' ChangeLog entry.

7:18 PM Changeset in webkit [20049] by andersca
  • 1 edit in trunk/WebKit/ChangeLog

Leopard build fix.


  • Plugins/WebBaseNetscapePluginView.mm:
7:15 PM Changeset in webkit [20048] by weinig
  • 2 edits in trunk/WebCore

Reviewed by Tim H.

Remove unused #import from Objective-C bindings and cleanup the order of #imports.

  • bindings/scripts/CodeGeneratorObjC.pm:
6:43 PM Changeset in webkit [20047] by weinig
  • 2 edits in trunk/WebCore

Reviewed by Tim H.

Make sure the baseURI attribute generates for private Objective-C bindings.

  • dom/Node.idl:
6:35 PM Changeset in webkit [23038] by aroben
  • 2 edits in branches/WindowsMerge/WebKitWin

Rubberstamped by Anders.

Switch the definition of WebURLErrorDomain to "CFURLErrorDomain" so
that we will send the right errors once <rdar://problem/5034136> is
fixed.

  • Interfaces/IWebError.idl: Changed definition.
6:18 PM Changeset in webkit [20046] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/4874059>

REGRESSION: Painter IX:register - Crash in WebCore
ResourceLoader::willSendRequest()

If a load is done from inside of an error delegate method that is called because we cancel another load,
the first load should be ignored since this is what shipping WebKit does.


(Actually, it does load the page in the data source but doesn't do anything with it since the data source
won't have a web frame).


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::load): Just bail out if m_isStoppingLoad is true.
6:09 PM Changeset in webkit [20045] by hyatt
  • 3 edits in trunk/WebCore

Use CGImageRelease instead of CFRelease.

Reviewed by aroben

  • platform/graphics/cg/ImageCG.cpp: (WebCore::FrameData::clear):
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::destroyFrameAtIndex):
6:00 PM Changeset in webkit [20044] by hyatt
  • 6 edits in trunk/WebCore

Fix a regression where the cache size overflows because of a double
subtraction per resource when they got removed from the cache. Add an
assert to adjustSize to detect this case in the future.

Fix ImageSourceCG so that when we flush decoded data from our cache that
we also flush it from the ImageSource.

Reviewed by mjs

  • loader/Cache.cpp: (WebCore::Cache::adjustSize):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::~BitmapImage): (WebCore::BitmapImage::destroyDecodedData):
  • platform/graphics/Image.h:
  • platform/graphics/ImageSource.h:
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::setData): (WebCore::ImageSource::destroyFrameAtIndex):
5:42 PM Changeset in webkit [20043] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-03-07 Anrong Hu <huanr@yahoo.com>

Reviewed by Maciej.

Fix http://bugs.webkit.org/show_bug.cgi?id=12535
Bug 12535: Stack-optimizing compilers can trick GC into freeing in-use objects

  • kjs/internal.cpp: (KJS::StringImp::toObject): Copy val onto the stack so it is not subject to garbage collection.
5:34 PM Changeset in webkit [20042] by bdash
  • 2 edits in trunk/WebKit

2007-03-07 Bruce Q Hammond <bruceq@apple.om>

Reviewed by Darin.

This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs
being unable to render into offscreen bitmap contexts.

This patches both saveAndSetNewPortStateForUpdate: and restorePortState:
These methods now check the current context and see if appropriate setup/cleanup needs to be done
for offscreen rendering.

  • Plugins/WebBaseNetscapePluginView.mm: (QDPixelFormatFromCGBitmapInfo): (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): (-[WebBaseNetscapePluginView restorePortState:]):
5:29 PM Changeset in webkit [20041] by bdash
  • 3 edits
    4 adds in trunk

2007-03-07 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

Test: fast/repaint/outline-inset.html

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

2007-03-07 Mitz Pettel <mitz@webkit.org>

Reviewed by Darin.

  • fast/repaint/outline-inset-expected.checksum: Added.
  • fast/repaint/outline-inset-expected.png: Added.
  • fast/repaint/outline-inset-expected.txt: Added.
  • fast/repaint/outline-inset.html: Added.
5:16 PM Changeset in webkit [20040] by andersca
  • 2 edits in trunk/WebKit

Reviewed by Darin.

Use HardRetain/HardRelease.


  • WebView/WebDocumentLoaderMac.mm: (WebDocumentLoaderMac::setDataSource): (WebDocumentLoaderMac::attachToFrame): (WebDocumentLoaderMac::detachFromFrame): (WebDocumentLoaderMac::increaseLoadCount): (WebDocumentLoaderMac::decreaseLoadCount):
5:16 PM Changeset in webkit [23037] by adele
  • 2 edits in branches/WindowsMerge/WebKitWin

Build fix.

  • WebEditorClient.cpp: (WebEditorClient::handleInputMethodKeypress):
5:09 PM Changeset in webkit [20039] by andersca
  • 4 edits in trunk/WebKit

Reviewed by Maciej.

<rdar://problem/4961259>
REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address


(The crash was already fixed, this actually makes Bumper Car load the error page correctly.)


This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading.


  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchWillSendRequest): Increase the load counter.


(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
Decrease the load counter,


  • WebView/WebDocumentLoaderMac.h:
  • WebView/WebDocumentLoaderMac.mm: (WebDocumentLoaderMac::WebDocumentLoaderMac):


(WebDocumentLoaderMac::attachToFrame):
If the document loader has been detached, make sure to retain its data source here.


(WebDocumentLoaderMac::detachFromFrame):
Release the data source.


(WebDocumentLoaderMac::increaseLoadCount):
Retain the data source if load count was 0.


(WebDocumentLoaderMac::decreaseLoadCount):
Release the data source if load count becomes 0

5:07 PM Changeset in webkit [20038] by bdash
  • 2 edits in trunk/WebKitTools

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

Reviewed by Maciej.

Update check-for-global-initializers to ignore new debug initializers in bidi.o and kjs_events.o.

  • Scripts/check-for-global-initializers:
3:33 PM Changeset in webkit [20037] by thatcher
  • 1 edit in trunk/WebKit/English.lproj/Localizable.strings

Updating the localized strings.

3:32 PM Changeset in webkit [20036] by thatcher
  • 1 edit in trunk/WebCore/html/HTMLAnchorElement.cpp

Fixing a comment.

3:11 PM Changeset in webkit [20035] by brmorris
  • 3 edits in S60/trunk/WebKit

yinxcai, reviewed by Yongjun

DESC: Browser: page info not shown correctly after going back to secure page HMNN-6YNH7J
http://bugs.webkit.org/show_bug.cgi?id=12989

3:08 PM Changeset in webkit [20034] by brmorris
  • 5 edits in S60/trunk/WebKit

yaharon, reviewed by sachin, brad (for sdk build)

DESC: Take new graphics into use when displaying the url
http://bugs.webkit.org/show_bug.cgi?id=12977

3:05 PM Changeset in webkit [20033] by brmorris
  • 2 edits in S60/trunk/WebKit

vbradley, reviewed by Sachin

DESC: merge r20032 to s60/trunk. SLON-6VZ8Vu - Web Browser crashes when attempting to view a local file
http://bugs.webkit.org/show_bug.cgi?id=12927

3:04 PM Changeset in webkit [20032] by brmorris
  • 2 edits in S60/branches/3.1m/WebKit

vbradley, reviewed by Sachin

DESC: SLON-6VZ8Vu - Web Browser crashes when attempting to view a local file
http://bugs.webkit.org/show_bug.cgi?id=12927

3:03 PM Changeset in webkit [20031] by oliver
  • 2 edits in trunk/WebCore

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

Reviewed by Antti.

Reset mouse down/drag state variables on mouse button release


Fixes <rdar://problem/5044654>: Drag out of some QuickTime plug-ins converting into image drag

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseReleaseEvent):
2:53 PM Changeset in webkit [23036] by adele
  • 3 edits in branches/WindowsMerge/WebKitWin

Reviewed by Darin.

WebKitWin part of fix for:
http://bugs.webkit.org/show_bug.cgi?id=10871
http://bugs.webkit.org/show_bug.cgi?id=12677
<rdar://problem/4823129> REGRESSION: IME key events different in nightly
<rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri

  • WebEditorClient.cpp: (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress. (WebEditorClient::handleInputMethodKeypress): Added.
  • WebEditorClient.h:
2:49 PM Changeset in webkit [20030] by adele
  • 16 edits in trunk

WebCore:

Reviewed by Darin.

WebCore part of fix for:
http://bugs.webkit.org/show_bug.cgi?id=10871
http://bugs.webkit.org/show_bug.cgi?id=12677
<rdar://problem/4823129> REGRESSION: IME key events different in nightly
<rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri

  • page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): Call handleInputMethodKeypress before actually dispatching the keypress event so that input methods have a chance to handle the event. If the input method handles the event (by marking or unmarking text), then we don't need to send the keypress event. If an input method doesn't handle the event, then we'll save the data we need to perform the correct action (like what text to insert or what selector to use) when we dispatch the keypress event.
  • dom/KeyboardEvent.h: Added Mac-specific KeypressCommand struct, so we can store command info during handleInputMethodKeypress, and use it during handleKeypress. (WebCore::KeyboardEvent::keypressCommand): (WebCore::KeyboardEvent::setKeypressCommand):
  • bridge/EditorClient.h:
  • editing/Editor.cpp: (WebCore::Editor::handleKeypress): Changed handleKeyPress to handleKeypress. (WebCore::Editor::handleInputMethodKeypress): Added.
  • editing/Editor.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress. (WebCore::SVGEmptyEditorClient::handleInputMethodKeypress): Added.

WebKit:

Reviewed by Darin.

WebKit part of fix for:
http://bugs.webkit.org/show_bug.cgi?id=10871
http://bugs.webkit.org/show_bug.cgi?id=12677
<rdar://problem/4823129> REGRESSION: IME key events different in nightly
<rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri

  • WebView/WebHTMLView.mm: (-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters. When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action. When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly. If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument. This allows repeating keypress events to function normally. (-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then just save the selector information in the KeyboardEvent, and don't perform the action. (-[WebHTMLView insertText:]): ditto. insertText can be called from an input method or from normal key event processing If its from an input method, then we should go ahead and insert the text now. The only way we know if its from an input method is to check hasMarkedText. There might be a better way to do this.
  • WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument.
  • WebView/WebViewInternal.h: ditto.
  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress. Call _interceptEditingKeyEvent with shouldSaveCommand:NO. (WebEditorClient::handleInputMethodKeypress): Call _interceptEditingKeyEvent with shouldSaveCommand:YES.

WebKitQt:

Reviewed by Darin.

WebKitQT part of fix for:
http://bugs.webkit.org/show_bug.cgi?id=10871
http://bugs.webkit.org/show_bug.cgi?id=12677
<rdar://problem/4823129> REGRESSION: IME key events different in nightly
<rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::handleKeypress): Changed handleKeyPress to handleKeypress. (WebCore::EditorClientQt::handleInputMethodKeypress): Added.
  • WebCoreSupport/EditorClientQt.h:
2:30 PM Changeset in webkit [20029] by andersca
  • 2 edits in trunk/WebKitTools

Reviewed by Adam.

Add some assertions.

  • DumpRenderTree/DumpRenderTree.m: (-[WaitUntilDoneDelegate webView:didStartProvisionalLoadForFrame:]): (-[WaitUntilDoneDelegate webView:didCommitLoadForFrame:]): (-[WaitUntilDoneDelegate webView:didFailProvisionalLoadWithError:forFrame:]): (-[WaitUntilDoneDelegate webView:didFailLoadWithError:forFrame:]):
2:26 PM Changeset in webkit [23035] by andersca
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Adam.

  • WebFrame.cpp: (WebFrame::makeDocumentView): Assert that frame is not null.
1:25 PM Changeset in webkit [20028] by rwlbuis
  • 21 edits in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=12579
WebKit fails SVG xml:base test

Implement DOM3 properties baseURI and documentURI to fix
the testcase in bug 12579.

11:31 AM Changeset in webkit [20027] by andersca
  • 9 edits in trunk

WebCore:

Reviewed by Brady.

Remove some methods in FrameLoader that just calls down to the active document loader. Since each
resource loader now has a pointer to its document loader, we can just call directly to the
document loader.

  • WebCore.exp:
  • loader/FrameLoader.cpp:
  • loader/FrameLoader.h:
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::willSendRequest): (WebCore::MainResourceLoader::didReceiveResponse):
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::SubresourceLoader): (WebCore::SubresourceLoader::didFinishLoading): (WebCore::SubresourceLoader::didFail): (WebCore::SubresourceLoader::didCancel):
  • loader/mac/NetscapePlugInStreamLoaderMac.mm: (WebCore::NetscapePlugInStreamLoader::didFinishLoading): (WebCore::NetscapePlugInStreamLoader::didFail): (WebCore::NetscapePlugInStreamLoader::didCancel):

WebKit:

Reviewed by Brady.

Update to match WebCore.


  • Plugins/WebNetscapePluginStream.mm: (-[WebNetscapePluginStream start]):
11:25 AM Changeset in webkit [20026] by ggaren
  • 2 edits in trunk/JavaScriptCore

Build fix for non-multiple-thread folks.


Use a shared global in the non-multiple-thread case.

  • wtf/FastMalloc.cpp: (WTF::isForbidden): (WTF::fastMallocForbid): (WTF::fastMallocAllow):
11:10 AM Changeset in webkit [20025] by beidson
  • 2 edits in trunk/WebKitSite

Whoops, its actually prepare-ChangeLog

  • coding/contributing.html:
11:09 AM Changeset in webkit [20024] by beidson
  • 2 edits in trunk/WebKitSite

Reviewed by Anders

Explicitly mention the prepare-Changelog step for contributing patches

  • coding/contributing.html:
11:07 AM Changeset in webkit [20023] by darin
  • 7 edits in trunk/LayoutTests

Reviewed by Geoff.

  • change tests that depend on the order of iteration of built-in properties to sort explicitly so they don't depend on the order any more
  • fast/dom/Window/resources/window-appendages-cleared-results.html:
  • fast/dom/Window/window-appendages-cleared-expected.txt:
  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/Window/window-properties.html:
  • fast/js/regexp-caching-expected.txt:
  • fast/js/regexp-caching.html:
10:32 AM Changeset in webkit [20022] by ap
  • 1 edit
    9 adds in trunk/LayoutTests

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=12953
Import/convert 4XPath test suite

Import the rest of the converted suite. The only remaining failures are due to
incorrect node order, bug 12497.

  • fast/xpath/4XPath/Core/test_literal_expr.html: Added.
  • fast/xpath/4XPath/Core/test_location_path.html: Added.
  • fast/xpath/4XPath/Core/test_node_test.html: Added.
  • fast/xpath/4XPath/Core/test_nodeset_expr.html: Added.
  • fast/xpath/4XPath/Core/test_parser-expected.txt: Added.
  • fast/xpath/4XPath/Core/test_parser.html: Added.
  • fast/xpath/4XPath/Core/test_predicate_list.html: Added.
  • fast/xpath/4XPath/Core/test_step-expected.txt: Added.
  • fast/xpath/4XPath/Core/test_step.html: Added.
8:40 AM Changeset in webkit [20021] by darin
  • 2 edits in trunk/WebKitQt
  • WebCoreSupport/FrameLoaderClientQt.h: Oops, forgot the header.
8:34 AM Changeset in webkit [20020] by ggaren
  • 2 edits in trunk/JavaScriptCore

Reviewed by Darin Adler.


Fixed ASSERT failure I just introduced.


Made the fastMalloc isForbidden flag per thread. (Oops!) We expect that
other threads will malloc while we're marking -- we just want to prevent
our own marking from malloc'ing.

  • wtf/FastMalloc.cpp: (WTF::initializeIsForbiddenKey): (WTF::isForbidden): (WTF::fastMallocForbid): (WTF::fastMallocAllow): (WTF::fastMalloc): (WTF::fastCalloc): (WTF::fastFree): (WTF::fastRealloc): (WTF::do_malloc):
7:37 AM Changeset in webkit [20019] by ggaren
  • 9 edits in trunk

JavaScriptCore:

Reviewed by Maciej.

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

Wrap pthread-specific assertion in #if USE(MULTIPLE_THREADS).

  • kjs/collector.cpp: (KJS::Collector::markMainThreadOnlyObjects):

WebCore:

Reviewed by Maciej Stachowiak.


Fixed <rdar://problem/4576242> | http://bugs.webkit.org/show_bug.cgi?id=12586
PAC file: malloc deadlock sometimes causes a hang @ www.apple.com/pro/profiles/ (12586)


No test because this is very difficult to repro, and the new ASSERTs in
JavaScriptCore catch the underlying cause while running normal layout tests.


This is a modified version of r14752 on the branch.


The fix is to use a bit inside each node, instead of a hash table, to track
which node subtrees are in the process of being marked. This avoids a call
to malloc inside mark().


  • bindings/js/kjs_binding.cpp: (KJS::domObjects): (KJS::domNodesPerDocument):
  • bindings/js/kjs_dom.cpp: (KJS::DOMNode::mark):
  • dom/Node.cpp: (WebCore::Node::Node):
  • dom/Node.h:
7:01 AM Changeset in webkit [20018] by ddkilzer
  • 24 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

Tests using both dumpDOMAsWebArchive() and dumpSourceAsWebArchive() were added
for this bug since a similar fix was suggested for the DOM case which was not
needed. The remaining changes are related to renaming dumpAsWebArchive() to
dumpDOMAsWebArchive().

  • webarchive/archive-empty-frame-dom-expected.txt: Added.
  • webarchive/archive-empty-frame-dom.html: Added.
  • webarchive/archive-empty-frame-source-expected.txt: Added.
  • webarchive/archive-empty-frame-source.html: Added.
  • webarchive/resources/dump-webarchive.js: Renamed dumpAsWebArchive() to dumpDOMAsWebArchive().
  • webarchive/test-body-background-expected.txt: Ditto.
  • webarchive/test-body-background.html: Ditto.
  • webarchive/test-duplicate-resources-expected.txt: Ditto.
  • webarchive/test-frameset-expected.txt: Ditto.
  • webarchive/test-frameset.html: Ditto.
  • webarchive/test-img-src-expected.txt: Ditto.
  • webarchive/test-img-src.html: Ditto.
  • webarchive/test-input-src-expected.txt: Ditto.
  • webarchive/test-input-src.html: Ditto.
  • webarchive/test-link-href-expected.txt: Ditto.
  • webarchive/test-link-href.html: Ditto.
  • webarchive/test-object-data-expected.txt: Ditto.
  • webarchive/test-object-data.html: Ditto.
  • webarchive/test-script-src-expected.txt: Ditto.
  • webarchive/test-table-background-expected.txt: Ditto.
  • webarchive/test-table-background.html: Ditto.
  • webarchive/test-td-background-expected.txt: Ditto.
  • webarchive/test-td-background.html: Ditto.

WebKit:

Reviewed by Darin.

When dealing with an iframe element with no src attribute, the element contains
a src attribute in the DOM with a URL of "about:blank" and some HTML to implement
the blank page. In the original page source, however, the iframe element does
not include a src attribute, which caused a nil archive to be returned for the
childFrameArchive and thus caused the bug. The fix is a simple nil check.

Test: webarchive/archive-empty-frame-source.html

  • WebView/WebArchiver.mm: (+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive to the subframeArchives array if it is nil.

WebKitTools:

Reviewed by Darin.

The dumpDOMAsWebArchive() test method uses the DOMDocument as a basis for creating
a webarchive while the dumpSourceAsWebArchive() test method uses the original
dataSource (page source) to create a webarchive. Most tests currently use
dumpDOMAsWebArchive() since this is what Safari does when saving a web page as a
webarchive.

  • DumpRenderTree/DumpRenderTree.m: Renamed dumpAsWebArchive to dumpDOMAsWebArchive. Added dumpSourceAsWebArchive. (dump): (+[LayoutTestController isSelectorExcludedFromWebScript:]): (-[LayoutTestController dumpDOMAsWebArchive]): (-[LayoutTestController dumpSourceAsWebArchive]): (runTest):
6:25 AM Changeset in webkit [20017] by ddkilzer
  • 5 edits in trunk/LayoutTests

LayoutTests:

Reviewed by Mitz.

  • svg/custom/struct-use-09-b.svg: Changed to use Helvetica instead of 'Arial Black', Arial.
  • svg/custom/struct-use-09-b-expected.checksum: Update results.
  • svg/custom/struct-use-09-b-expected.png: Ditto.
  • svg/custom/struct-use-09-b-expected.txt: Ditto.
6:18 AM Changeset in webkit [20016] by darin
  • 2 edits in trunk/WebKitQt
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::userAgent): Try to fix the build by correcting the parameter here.
1:46 AM Changeset in webkit [20015] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-03-07 Shrikant Gangoda <shrikant.gangoda@celunite.com>

Reviewed by Maciej.

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

Wrap pthread-specific assertion in #if USE(MULTIPLE_THREADS).

  • kjs/collector.cpp: (KJS::Collector::markMainThreadOnlyObjects):
1:05 AM Changeset in webkit [20014] by justing
  • 4 edits
    1 add
    1 delete in trunk/LayoutTests

Reviewed by mjs

<http://bugs.webkit.org/show_bug.cgi?id=8592>
Extra line left after deleting whitespace:pre text

Re-enabled the test and removed a FIXME:

  • editing/deleting/merge-whitespace-pre-expected.checksum:
  • editing/deleting/merge-whitespace-pre-expected.png:
  • editing/deleting/merge-whitespace-pre-expected.txt:
  • editing/deleting/merge-whitespace-pre.html: Added.
  • editing/deleting/merge-whitespace-pre.html-disabled: Removed.
12:49 AM Changeset in webkit [20013] by bdash
  • 3 edits in tags/Safari-5522.3

Versioning.

12:43 AM Changeset in webkit [20012] by bdash
  • 2 edits in trunk

Fix an oversight in the spelling over oversight.

12:40 AM Changeset in webkit [20011] by bdash
  • 10 edits in tags/Safari-5522.3/WebCore

Merge in r19977.

2007-03-05 Kevin McCullough <kmccullough@apple.com>

Reviewed by Mark and Dave H.

  • rdar://problem/5038491 An oversite of the security fix that prevented remote from loading local is that it prevents user style sheets when the site is remote. This fixes that.
  • loader/Cache.cpp: Propogate and check user style sheet flag. (WebCore::createResource): (WebCore::Cache::requestResource):
  • loader/Cache.h: Propogate user style sheet flag.
  • loader/CachedCSSStyleSheet.cpp: Propogate user style sheet flag. (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
  • loader/CachedCSSStyleSheet.h: Propogate user style sheet flag.
  • loader/DocLoader.cpp: Propogate user style sheet flag. (WebCore::DocLoader::requestResource):
  • loader/SubresourceLoader.cpp: Propogate and check user style sheet flag. (WebCore::SubresourceLoader::create):
  • loader/SubresourceLoader.h: Add check for user style sheet flag.
  • loader/loader.cpp: Propogate user style sheet flag. (WebCore::Loader::load): (WebCore::Loader::servePendingRequests):
  • loader/loader.h: Propogate user style sheet flag.
12:34 AM Changeset in webkit [20010] by bdash
  • 1 copy in tags/Safari-5522.3

New tag.

Note: See TracTimeline for information about the timeline view.