Timeline



Sep 1, 2007:

9:44 PM Changeset in webkit [25346] by darin
  • 3 edits
    1 delete in trunk

WebCore:

  • rolled out fix for bug 12988 because it broke getElementById in a layout test I'm working on a new fix.
  • dom/Document.cpp: Rolled out.

LayoutTests:

  • rolled out the test case for 12988 until we re-fix it
  • fast/dom/duplicate-ids-document-order.html: Removed.
4:04 PM Changeset in webkit [25345] by oliver
  • 24 edits in trunk

gtk:

Reviewed by Sam.

<rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions


EditorClient::setInputMethodState stub

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::setInputMethodState):
  • WebCoreSupport/EditorClientGtk.h:

WebCore:

Reviewed by Sam.

<rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions

Adding a new EditorClient method so it is possible to inform WebKit of focus changes.
Also added new virtual method Node::shouldUseInputMethod to allow us to trivially check
whether an input method should be used when processing input for the currently focused
Node.

  • bridge/EditorClient.h:
  • dom/Node.cpp: (WebCore::Node::shouldUseInputMethod):
  • dom/Node.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::shouldUseInputMethod):
  • html/HTMLInputElement.h:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::shouldUseInputMethod):
  • html/HTMLTextAreaElement.h:
  • page/FocusController.cpp: (WebCore::FocusController::setFocusedNode):
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::setInputMethodState):

WebKit:

Reviewed by Sam.

<rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions

EditorClient::setInputMethodState stub

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::setInputMethodState):

WebKitQt:

Reviewed by Sam.

<rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions


EditorClient::setInputMethodState stub

  • WebCoreSupport/EditorClientQt.cpp: (WebCore::EditorClientQt::setInputMethodState):
  • WebCoreSupport/EditorClientQt.h:

win:

Reviewed by Sam.

<rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions


When focusing a password field or a non-editable element we disassociate any IME that may have
been active, and reassociate should a non-password editable element is focused.

This makes password input with an IME active simpler, and brings our IME behaviour in line with
IE.

  • WebEditorClient.cpp: (WebEditorClient::setInputMethodState):
  • WebEditorClient.h:
  • WebView.cpp: (IMMDict::IMMDict): (WebView::setInputMethodState):
  • WebView.h:
7:05 AM Changeset in webkit [25344] by bdash
  • 1 edit in tags/Safari-5523.3.1/WebKit/Configurations/Version.xcconfig

Versioning.

7:05 AM Changeset in webkit [25343] by bdash
  • 2 edits in tags/Safari-5523.3.1/WebKit

Merge r25300.

2007-08-29 Anders Carlsson <andersca@apple.com>

Fix 64-bit build.

  • WebCoreSupport/WebFrameBridge.mm:
6:55 AM Changeset in webkit [25342] by bdash
  • 1 copy in tags/Safari-5523.3.1

New tag.

1:08 AM Changeset in webkit [25341] by rwlbuis
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=12988
First element (in document order) is not returned when other duplicate ID-ed elements were created first

Reset the element id cache when id's are added or removed and there
are duplicates for that id.

12:43 AM Changeset in webkit [25340] by rwlbuis
  • 9 edits in trunk/WebCore

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15083
Some symbols in WebKit do not need to be exported

Do not export these symbols.

Aug 31, 2007:

10:44 PM Changeset in webkit [25339] by sfalken
  • 2 edits in trunk/WebKit/win

<rdar://problem/5432594> Safari quits when hovering over mailto links on a webpage


In addition to substituting %@ with %s, we also need to substitute %{1-9}$@ with %{1-9}$s.

7:11 PM Changeset in webkit [25338] by bdash
  • 1 copy in tags/Safari-4523.3

New tag.

5:56 PM Changeset in webkit [25337] by sfalken
  • 1 copy in tags/Safari-523.3b

New tag.

5:56 PM Changeset in webkit [25336] by sfalken
  • 1 edit in trunk/WebKit/win/WebKit.vcproj/VERSION

Bump version for submit

4:02 PM Changeset in webkit [25335] by aliceli1
  • 5 edits
    4 adds in trunk

WebCore:

Reviewed by Tim Hatcher.

Fixed <rdar://problem/5420682> Mail crashes at WebCore::InsertLineBreakCommand::doApply() after dropping a selected image over container's close box

  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::show): Factored out the code in ::show() that created and styled the elements of the Deletion UI

(WebCore::DeleteButtonController::createDeletionUI):
Neglecting to move the append of the deletionUI elements into the same clause that handles the creation
of them ended up creating multiple elements at were repeatedly appended to the target, resulting in a
bloated table deletion UI which was slow to show and hide.

  • editing/DeleteButtonController.h: (WebCore::DeleteButtonController::enabled): Restore this function to how it used to be pre-r25305, sans asserts
  • editing/EditCommand.cpp: Add disable/enable sandwich when undoing/redoing commands too (WebCore::EditCommand::unapply): (WebCore::EditCommand::reapply):

LayoutTests:

Reviewed by Tim Hatcher.

Test for <rdar://problem/5420682> Mail crashes at WebCore::InsertLineBreakCommand::doApply() after dropping a selected image over container's close box

  • editing/deleting/deletionUI-single-instance.html: Added.
  • platform/mac/editing/deleting/deletionUI-single-instance-expected.checksum: Added.
  • platform/mac/editing/deleting/deletionUI-single-instance-expected.png: Added.
  • platform/mac/editing/deleting/deletionUI-single-instance-expected.txt: Added.
3:09 PM Changeset in webkit [25334] by antti
  • 3 edits in trunk/WebCore

Reviewed by Anders.

Fix <rdar://problem/5452943>
REGRESSION (r25283): Reproducible crash in HTMLObjectElement::getInstance under guard malloc


Calling updateLayoutIgnorePendingStylesheets() may do arbitrary things to render tree so
no RenderObjects can be cached over it.

  • html/HTMLEmbedElement.cpp: (WebCore::findWidgetRenderer): (WebCore::HTMLEmbedElement::getInstance):
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::getInstance):
2:57 PM Changeset in webkit [25333] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Mitz.

<rdar://problem/5443936>
Crash after QT movie completes playback at apple.com/imac


If the plug-in or one of its children have focus, set it to NULL to prevent the web view window from getting the focus,
which can cause a layout to happen while in HTMLObjectElement::detach. (This is what we do on the Mac).


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::setParent):
11:51 AM Changeset in webkit [25332] by adele
  • 4 edits
    2 adds in trunk

WebCore:

Reviewed by Justin.

Fix for <rdar://problem/5450600> REGRESSION: can't paste in textfield if its in a body that has user-select:none set (affects widgets)

Test: editing/pasteboard/paste-plaintext-user-select-none.html

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the user-select style from the current selection node and apply it so it is considered during the test rendering. This is important since we recently changed user-select to be inherited. When we consider valid VisiblePositions for the test rendering, we need to have the correct user-select value that will actually be used for the real insertion.

LayoutTests:

Reviewed by Justin.

Test for <rdar://problem/5450600> REGRESSION: can't paste in textfield if its in a body that has user-select:none set (affects widgets)

  • editing/pasteboard/paste-plaintext-user-select-none-expected.txt: Added.
  • editing/pasteboard/paste-plaintext-user-select-none.html: Added.
  • fast/forms/textarea-paste-newline.html: Updated to escape '\n' in failure description.
11:16 AM Changeset in webkit [25331] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

<rdar://problem/5423939>
http://bugs.webkit.org/show_bug.cgi?id=15013
ASSERTION FAILED !m_inDestructor in WebCore::Shared<WebCore::PluginStreamWin>::ref() on Windows


Protect the stream in case it's destroyed by the plug-in.


  • plugins/win/PluginStreamWin.cpp: (WebCore::PluginStreamWin::didReceiveData):
9:13 AM Changeset in webkit [25330] by darin
  • 2 edits in trunk/WebCore

Reviewed by Anders.

  • editing/htmlediting.cpp: (WebCore::avoidIntersectionWithNode): Change assertion so that it only fires when actually modifying the selection. This isn't nearly as helpful, because the old assertion could catch potential problems in more cases, but it's not obvious how to do better.

Aug 30, 2007:

9:33 PM Changeset in webkit [25329] by oliver
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Adam.


<rdar://problem/5430772> REGRESSION(303-310A5) list items do not show with mouse over on istweb.apple.com/quack.apple.com


VC++ treats bitfields as signed members, so Node::m_styleChange would be
sign extended if it was assigned the value FullStyleChange. This caused
style recalculation to stop propagating.


We work around this VC++ oddity by storing the enum as an unsigned, and
casting back to StyleChangeType in the getter.


Test: fast/css/hover-affects-child.html

  • dom/Node.h: (WebCore::Node::styleChangeType):

LayoutTests:

Reviewed by Adam.


Simple test case to ensure that hover affects are correctly propagated

  • fast/css/hover-affects-child-expected.txt: Added.
  • fast/css/hover-affects-child.html: Added.
6:40 PM Changeset in webkit [25328] by justing
  • 1 edit in trunk/WebCore/editing/InsertParagraphSeparatorCommand.cpp

Fixing comma placement.

6:36 PM Changeset in webkit [25327] by justing
  • 9 edits
    14 adds
    11 deletes in trunk

WebCore:

Reviewed by Darin.

<rdar://problem/5368833>
REGRESSION: Pasting a triple-clicked line of quoted text at the top of a message adds an extra, quoted line

  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::insertParagraphSeparator): Added an option for using a plain div to hold the new paragraph, instead of a clone of the previous block.
  • editing/CompositeEditCommand.h:
  • editing/InsertParagraphSeparatorCommand.cpp: Ditto. (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand): Ditto. (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
  • editing/InsertParagraphSeparatorCommand.h:
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Use a default block element when creating new paragraphs, so that empty paragraphs don't contain the block style of the previous one. Don't expand collapsed brs at the end of inserted content, this was the root of the bug. We'd copy <blockquote>hello<br></blockquote><br class="Apple-interchange-newline"> and get an extra paragraph. The removed code used to make sure that if the copied selection ends with a paragraph break that is represented in the copied markup by a regular br (not an interchange newline br), that that paragraph break appears in the pasted content, but shouldMergeEnd, which was introduced after this code was written, now takes care of that. (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Inserted content should always displace placeholder brs, even if that inserted content ends with a br.
  • editing/markup.cpp: (WebCore::needInterchangeNewlineAfter): This code failed to add an interchange newline if the user copied <div>hello</div><br>, only don't add an interchange newline when copying hello<br><br>, because then the copied paragraph break will already be represented in the copied markup by a br. (WebCore::createMarkup):

LayoutTests:

Reviewed by Darin.


<rdar://problem/5368833>
REGRESSION: Pasting a triple-clicked line of quoted text at the top of a message adds an extra, quoted line


Tested for behavior that we no longer want to have:

  • editing/pasteboard/quirks-mode-br-2-expected.checksum: Removed.
  • editing/pasteboard/quirks-mode-br-2-expected.png: Removed.
  • editing/pasteboard/quirks-mode-br-2-expected.txt: Removed.
  • editing/pasteboard/quirks-mode-br-2.html: Removed.


  • platform/mac/editing/pasteboard: Added.


Demonstrates bug:

  • editing/pasteboard/5368833.html: Added.
  • platform/mac/editing/pasteboard/5368833-expected.checksum: Added.
  • platform/mac/editing/pasteboard/5368833-expected.png: Added.
  • platform/mac/editing/pasteboard/5368833-expected.txt: Added.


Regenerated these expected results to reflect new behavior:

  • editing/pasteboard/paste-text-012-expected.checksum: Removed.
  • editing/pasteboard/paste-text-012-expected.png: Removed.
  • editing/pasteboard/paste-text-012-expected.txt: Removed.
  • editing/pasteboard/paste-text-013-expected.checksum: Removed.
  • editing/pasteboard/paste-text-016-expected.checksum: Removed.
  • editing/pasteboard/paste-text-016-expected.png: Removed.
  • editing/pasteboard/paste-text-016-expected.txt: Removed.
  • platform/mac/editing/pasteboard/paste-text-012-expected.checksum: Added.
  • platform/mac/editing/pasteboard/paste-text-012-expected.png: Added.
  • platform/mac/editing/pasteboard/paste-text-012-expected.txt: Added.
  • platform/mac/editing/pasteboard/paste-text-013-expected.checksum: Added.
  • platform/mac/editing/pasteboard/paste-text-013-expected.png: Added.
  • platform/mac/editing/pasteboard/paste-text-013-expected.txt: Added.
  • platform/mac/editing/pasteboard/paste-text-016-expected.checksum: Added.
  • platform/mac/editing/pasteboard/paste-text-016-expected.png: Added.
  • platform/mac/editing/pasteboard/paste-text-016-expected.txt: Added.
6:04 PM Changeset in webkit [25326] by bdash
  • 10 edits in tags/Safari-5523.3

Merge r25283.

WebCore:

Reviewed by Darin.

<rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent

Restore the previous behavior, creating plug-ins on attach, for WebKit plug-ins. Netscape plug-ins
are still created during the first layout.

  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::getInstance): Only call layout if the renderer doesn't have a widget.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::getInstance): Likewise.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldUsePlugin): Update for enum change.
  • loader/FrameLoaderTypes.h: Add ObjectContentNetscapePlugin and ObjectContentOtherPlugin.
  • page/mac/WebCoreFrameBridge.h: Get rid of the enum here, we can use the one in FrameLoaderTypes.h
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Only create the plug-in if it's not a Netscape plug-in.

(WebCore::RenderPartObject::layout):
Fix indentation.

WebKit:

Reviewed by Darin.

<rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent

  • WebCoreSupport/WebFrameBridge.mm: Use the enum from FrameLoaderTypes.h.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): Return ObjectContentNetscapePlugin and ObjectContentOtherPlugin depending on the plug-in type.
5:58 PM Changeset in webkit [25325] by bdash
  • 4 edits in trunk

Versioning.

5:56 PM Changeset in webkit [25324] by bdash
  • 1 copy in tags/Safari-5523.3

New tag.

5:10 PM Changeset in webkit [25323] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/5423900> Seed: safari crashes on submit feedback page in -[WebCoreAXObject isAttachment]

  • bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject isAttachment]): Add nil check since element could be detached.
3:38 PM Changeset in webkit [25322] by bdash
  • 110 edits in trunk

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

Reviewed by Dave Hyatt.

  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateOptionsWidth): When measuring option text, use the same WebCore run rounding behavior that is used to draw it in the popup button.

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

Reviewed by Dave Hyatt.

  • editing/pasteboard/4641033-expected.checksum:
  • editing/pasteboard/4641033-expected.png:
  • editing/pasteboard/4641033-expected.txt:
  • fast/forms/HTMLOptionElement_label02-expected.checksum:
  • fast/forms/HTMLOptionElement_label02-expected.png:
  • fast/forms/HTMLOptionElement_label02-expected.txt:
  • fast/forms/HTMLOptionElement_label03-expected.checksum:
  • fast/forms/HTMLOptionElement_label03-expected.png:
  • fast/forms/HTMLOptionElement_label03-expected.txt:
  • fast/forms/control-restrict-line-height-expected.checksum:
  • fast/forms/control-restrict-line-height-expected.png:
  • fast/forms/control-restrict-line-height-expected.txt:
  • fast/forms/menulist-restrict-line-height-expected.checksum:
  • fast/forms/menulist-restrict-line-height-expected.png:
  • fast/forms/menulist-restrict-line-height-expected.txt:
  • fast/forms/menulist-width-change-expected.checksum:
  • fast/forms/menulist-width-change-expected.png:
  • fast/forms/menulist-width-change-expected.txt:
  • fast/forms/select-change-listbox-to-popup-expected.checksum:
  • fast/forms/select-change-listbox-to-popup-expected.png:
  • fast/forms/select-change-listbox-to-popup-expected.txt:
  • fast/forms/select-disabled-appearance-expected.checksum:
  • fast/forms/select-disabled-appearance-expected.png:
  • fast/forms/select-disabled-appearance-expected.txt:
  • fast/forms/stuff-on-my-optgroup-expected.checksum:
  • fast/forms/stuff-on-my-optgroup-expected.png:
  • fast/forms/stuff-on-my-optgroup-expected.txt:
  • fast/parser/document-write-option-expected.checksum:
  • fast/parser/document-write-option-expected.png:
  • fast/parser/document-write-option-expected.txt:
  • http/tests/navigation/anchor-basic-expected.txt:
  • http/tests/navigation/anchor-frames-expected.txt:
  • http/tests/navigation/anchor-goback-expected.checksum:
  • http/tests/navigation/anchor-goback-expected.png:
  • http/tests/navigation/anchor-goback-expected.txt:
  • http/tests/navigation/anchor-subframeload-expected.txt:
  • http/tests/navigation/javascriptlink-basic-expected.checksum:
  • http/tests/navigation/javascriptlink-basic-expected.png:
  • http/tests/navigation/javascriptlink-basic-expected.txt:
  • http/tests/navigation/javascriptlink-frames-expected.txt:
  • http/tests/navigation/javascriptlink-goback-expected.checksum:
  • http/tests/navigation/javascriptlink-goback-expected.png:
  • http/tests/navigation/javascriptlink-goback-expected.txt:
  • http/tests/navigation/javascriptlink-subframeload-expected.txt:
  • http/tests/navigation/metaredirect-basic-expected.checksum:
  • http/tests/navigation/metaredirect-basic-expected.png:
  • http/tests/navigation/metaredirect-basic-expected.txt:
  • http/tests/navigation/metaredirect-frames-expected.txt:
  • http/tests/navigation/metaredirect-goback-expected.checksum:
  • http/tests/navigation/metaredirect-goback-expected.png:
  • http/tests/navigation/metaredirect-goback-expected.txt:
  • http/tests/navigation/metaredirect-subframeload-expected.txt:
  • http/tests/navigation/post-goback2-expected.checksum:
  • http/tests/navigation/post-goback2-expected.png:
  • http/tests/navigation/post-goback2-expected.txt:
  • http/tests/navigation/postredirect-goback2-expected.checksum:
  • http/tests/navigation/postredirect-goback2-expected.png:
  • http/tests/navigation/postredirect-goback2-expected.txt:
  • http/tests/navigation/redirect302-basic-expected.checksum:
  • http/tests/navigation/redirect302-basic-expected.png:
  • http/tests/navigation/redirect302-basic-expected.txt:
  • http/tests/navigation/redirect302-frames-expected.txt:
  • http/tests/navigation/redirect302-goback-expected.checksum:
  • http/tests/navigation/redirect302-goback-expected.png:
  • http/tests/navigation/redirect302-goback-expected.txt:
  • http/tests/navigation/redirect302-subframeload-expected.txt:
  • http/tests/navigation/relativeanchor-basic-expected.txt:
  • http/tests/navigation/relativeanchor-frames-expected.txt:
  • http/tests/navigation/relativeanchor-goback-expected.txt:
  • http/tests/navigation/slowmetaredirect-basic-expected.checksum:
  • http/tests/navigation/slowmetaredirect-basic-expected.png:
  • http/tests/navigation/slowmetaredirect-basic-expected.txt:
  • http/tests/navigation/slowtimerredirect-basic-expected.checksum:
  • http/tests/navigation/slowtimerredirect-basic-expected.png:
  • http/tests/navigation/slowtimerredirect-basic-expected.txt:
  • http/tests/navigation/success200-basic-expected.checksum:
  • http/tests/navigation/success200-basic-expected.png:
  • http/tests/navigation/success200-basic-expected.txt:
  • http/tests/navigation/success200-frames-expected.txt:
  • http/tests/navigation/success200-frames-loadsame-expected.txt:
  • http/tests/navigation/success200-goback-expected.checksum:
  • http/tests/navigation/success200-goback-expected.png:
  • http/tests/navigation/success200-goback-expected.txt:
  • http/tests/navigation/success200-loadsame-expected.checksum:
  • http/tests/navigation/success200-loadsame-expected.png:
  • http/tests/navigation/success200-loadsame-expected.txt:
  • http/tests/navigation/success200-reload-expected.checksum:
  • http/tests/navigation/success200-reload-expected.png:
  • http/tests/navigation/success200-reload-expected.txt:
  • http/tests/navigation/success200-subframeload-expected.txt:
  • http/tests/navigation/timerredirect-basic-expected.checksum:
  • http/tests/navigation/timerredirect-basic-expected.png:
  • http/tests/navigation/timerredirect-basic-expected.txt:
  • http/tests/navigation/timerredirect-frames-expected.txt:
  • http/tests/navigation/timerredirect-goback-expected.checksum:
  • http/tests/navigation/timerredirect-goback-expected.png:
  • http/tests/navigation/timerredirect-goback-expected.txt:
  • http/tests/navigation/timerredirect-subframeload-expected.txt:
  • tables/mozilla/bugs/bug33855-expected.checksum:
  • tables/mozilla/bugs/bug33855-expected.png:
  • tables/mozilla/bugs/bug33855-expected.txt:
  • tables/mozilla/dom/tableDom-expected.checksum:
  • tables/mozilla/dom/tableDom-expected.png:
  • tables/mozilla/dom/tableDom-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug2479-5-expected.checksum:
  • tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
  • tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
3:33 PM Changeset in webkit [25321] by bdash
  • 5 edits in trunk

2007-08-30 Riku Voipio <riku.voipio@iki.fi>

Reviewed by Dave Kilzer.

Better ARM defines.

  • kjs/ustring.h: Update comments to reflect the change and update test to fit changes to Platform.h.
  • wtf/Platform.h: Forced packing is only needed on oldabi ARM. Set middle-endian floats only for little-endian oldabi ARM. Set big-endian define for big-endian ARM.

2007-08-30 Riku Voipio <riku.voipio@iki.fi>

Reviewed by Dave Kilzer.

Better ARM defines.

  • platform/DeprecatedString.h: Update comments to reflect the change and update test to fit changes to Platform.h.
2:14 PM Changeset in webkit [25320] by mjs
  • 2 edits in trunk/WebKit

Reviewed by Tim.


<rdar://problem/5439953> REGRESSION: Cannot load feeds in widgets in Dashcode due to change in WebKit delegate methods

  • WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't create the debugger object if the frame has not yet created its script interpreter, to avoid premature dispatch of windowScriptObjectAvailable/Cleared delegate methods. The script debugger will be created in any case when the window object does appear.
11:06 AM Changeset in webkit [25319] by darin
  • 5 edits in trunk/WebCore

Reviewed by Tim Hatcher.

  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::checkConsistency):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::checkConsistency):
  • rendering/RenderText.cpp: (WebCore::RenderText::checkConsistency): Put the actual consistency check inside an ifdef. If you need it you can turn it on. There's still some function call overhead in builds that don't have NDEBUG defined, but that's worth it so we can turn this on and off without recompiling the world.
  • small code style improvement to recently changed function
  • editing/TextIterator.cpp: (WebCore::plainTextToMallocAllocatedBuffer): Use a typedef and make_pair to make the code dealing with the pair simpler to read.
7:44 AM Changeset in webkit [25318] by hausmann
  • 2 edits in trunk/WebKitQt

Use QKeySequence::StandardKey for the page wise scrolling shortcuts.

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

When scrolling with the keyboard don't call update() on the entire widget.
The scrollbar/scrollview implementation is already smart enough to scroll with bitblt
on a value change.

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

Fix scrolling with the keyboard if only one of the two scrollbars is visible.

7:26 AM Changeset in webkit [25315] by hausmann
  • 2 edits in trunk/WebCore

Fix Qt/Gdk build.

6:12 AM Changeset in webkit [25314] by antti
  • 2 edits in trunk/WebCore

Reviewed by Antti.


  • fix <rdar://problem/5423270> CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::plainTextToMallocAllocatedBuffer + 762
  • editing/TextIterator.cpp: (WebCore::plainTextToMallocAllocatedBuffer): Check for a malloc failure and exit the function if it failed.

Aug 29, 2007:

6:32 PM Changeset in webkit [25313] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

<rdar://problem/5404329>
Plugin content starves WM_TIMER events on UI thread (affects idle behavior of app) on http://www.vincent-vella.com/, http://www.sagmeister.com/


Add a tiny delay to invalidation timer to prevent it from starving other timers.


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::invalidateRect):
5:45 PM Changeset in webkit [25312] by darin
  • 7 edits in trunk/WebKit

Reviewed by Tim Hatcher.

  • Misc/WebNSPasteboardExtras.h: Got rid of the global data objects and replaced them with global functions.
  • Misc/WebNSPasteboardExtras.mm: (initializePasteboardTypes): Changed the initialize method to be this function. (WebURLPasteboardType): Added, calls the initialize function and then returns the value of the global. (WebURLNamePasteboardType): Ditto. (+[NSPasteboard _web_writableTypesForURL]): Changed to call the new function instead of getting at the global directly. (+[NSPasteboard _web_dragTypesForURL]): Ditto. (-[NSPasteboard _web_writeURL:andTitle:types:]): Ditto.
  • WebCoreSupport/WebPasteboardHelper.mm: (WebPasteboardHelper::urlFromPasteboard): Ditto.
  • WebView/WebHTMLView.mm: (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
  • WebView/WebView.mm: (+[WebView initialize]): Added a call to one of the functions to take advantage of the side effect that initializes the globals; this is to help out old versions of Safari. (+[WebView URLTitleFromPasteboard:]): Changed to call the new function instead of getting at the global directly.
  • WebKit.exp: Add exports of the new functions.
5:32 PM Changeset in webkit [25311] by darin
  • 2 edits in trunk/WebCore

Reviewed by Adele.

  • editing/htmlediting.cpp: (WebCore::avoidIntersectionWithNode): Fix an assert that was firing for me all the time when doing editing operations.
5:23 PM Changeset in webkit [25310] by andersca
  • 3 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/5386098>
Repro hang with some Flash plugin content (http://dougmccune.com/blog/2007/07/25/coming-to-flexcamp-at-adobe/)


In some cases, Flash ends up starving the main loop by sending a lot of WM_USER + 1 messages. Throttle these
messages so they won't end up hanging the web browser.


  • plugins/win/PluginViewWin.cpp: (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): (WebCore::PluginMessageThrottlerWin::~PluginMessageThrottlerWin): (WebCore::PluginMessageThrottlerWin::appendMessage): (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): (WebCore::PluginMessageThrottlerWin::allocateMessage): (WebCore::PluginMessageThrottlerWin::isInlineMessage): (WebCore::PluginMessageThrottlerWin::freeMessage): (WebCore::PluginViewWndProc): (WebCore::PluginViewWin::wndProc): (WebCore::PluginViewWin::determineQuirks):
  • plugins/win/PluginViewWin.h: (WebCore::): (WebCore::PluginViewWin::pluginWndProc):
4:15 PM Changeset in webkit [25309] by bdakin
  • 2 edits in trunk/WebCore

Reviewed by Hyatt.

Fix for <rdar://problem/5436800> REGRESSION: PLT is 1.5% slower due
to r24593 and r25098

In r25098, we only called setCreatedByParser for XML! This patch
calls it for HTML too, and takes care of the performance
regression.

  • html/HTMLElementFactory.cpp: (WebCore::styleConstructor):
3:46 PM Changeset in webkit [25308] by antti
  • 5 edits
    2 adds in trunk

WebCore:

Reviewed by Mitz.


Fix <rdar://problem/5425951>
REGRESSION: change to updateLayoutIgnorePendingStylesheets causes SAP Portal page to render wrong


If new nodes have been added or style recalc has been done with style sheets still pending, some nodes
may not have had their real style calculated yet. Normally this state gets cleaned when style sheets arrive
but in updateLayoutIgnorePendingStylesheets() we need to do full style recalc to get up-to-date style immediatly.


Added a document flag to track if there are any nodes that did not have their real style calculated due to
pending stylesheets.

Test: fast/dynamic/style-access-late-stylesheet-load.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement):
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::recalcStyle): (WebCore::Document::updateLayoutIgnorePendingStylesheets):
  • dom/Document.h: (WebCore::Document::setHasNodesWithPlaceholderStyle):

LayoutTests:

Reviewed by Mitz.


Test for <rdar://problem/5425951>
REGRESSION: change to updateLayoutIgnorePendingStylesheets causes SAP Portal page to render wrong

  • fast/dynamic/style-access-late-stylesheet-load-expected.txt: Added.
  • fast/dynamic/style-access-late-stylesheet-load.html: Added.
3:05 PM Changeset in webkit [25307] by adele
  • 5 edits in trunk/WebKit

Reviewed by Darin.

Fix for http://bugs.webkit.org/show_bug.cgi?id=15098
<rdar://problem/5440319> REGRESSION (9A530-9A534): Double scroll bar on pdfs

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::makeDocumentView): Don't suppress scrollbars before the view creation if we're making the view for a non-html view
  • WebView/WebFrameViewInternal.h: Make _scrollView return a WebDynamicScrollBarsView since so many clients were relying on it being that type anyway.
  • WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): (-[WebFrameView _scrollView]): (-[WebFrameView setAllowsScrolling:]): (-[WebFrameView allowsScrolling]):
  • WebView/WebView.mm: (-[WebView setAlwaysShowVerticalScroller:]): (-[WebView alwaysShowVerticalScroller]): (-[WebView setAlwaysShowHorizontalScroller:]): (-[WebView alwaysShowHorizontalScroller]):
2:29 PM Changeset in webkit [25306] by aliceli1
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

We disable the DeleteButton UI before applying any editing commands.
This patch simply moves those disable/enable calls to a more correct place, closer to the actual application of the editing command.

  • editing/EditCommand.cpp: (WebCore::EditCommand::apply): (WebCore::applyCommand):
2:27 PM Changeset in webkit [25305] by aliceli1
  • 8 edits in trunk/WebCore

fixed <rdar://problem/5420682> Mail crashes at WebCore::InsertLineBreakCommand::doApply()

after dropping a selected image over container's close box

Reviewed by Darin and Maciej.

  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::show): (WebCore::DeleteButtonController::hide):
  • editing/DeleteButtonController.h: (WebCore::DeleteButtonController::enabled): General changes made to DeleteButtonController: when hiding, it's not necessary to clear out the m_containerElement and m_target, especially since to fix this bug we need to keep their values around. It's sufficient to just detach the container from target.
  • editing/EditCommand.cpp: (WebCore::EditCommand::EditCommand): Move the selection out of the deletion UI since we don't want to expose the deletion UI to any editing.
  • editing/Editor.cpp: (WebCore::Editor::rangeForPoint): Move the range out of the deletion UI since we don't want to expose the deletion UI to any editing.
  • editing/htmlediting.cpp:
  • editing/htmlediting.h: (WebCore::avoidIntersectionWithNode): Moved function that operates on Range from markup.cpp to here Added new implementation for function that operates on Selection
  • editing/markup.cpp: (WebCore::createMarkup): Moved function out of this file to htmlediting.cpp, and renamed to avoidIntersectionWithNode
2:27 PM Changeset in webkit [25304] by hyatt
  • 1 edit in trunk/WebKit/WebView/WebHTMLView.mm

Tiger build fix.

2:25 PM Changeset in webkit [25303] by hyatt
  • 1 edit in trunk/WebKit/WebView/WebHTMLView.mm

Tiger build fix.

2:25 PM Changeset in webkit [25302] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Adam.

Added case-insensitivity to checks for adding regression tests.

  • Scripts/prepare-ChangeLog: (generateFileList):
2:17 PM Changeset in webkit [25301] by hyatt
  • 2 edits in trunk/WebKit

The method that was swizzled to fix 5441281 does not exist on Tiger.
Tiger has to do a double swizzle instead (of resetCursorRects and NSCursor's
set method) in order to roughly achieve the same effect.

Reviewed by darin

  • WebView/WebHTMLView.mm: (resetCursorRects): (setCursor): (+[WebHTMLViewPrivate initialize]):
1:39 PM Changeset in webkit [25300] by andersca
  • 2 edits in trunk/WebKit

Fix 64-bit build.


  • WebCoreSupport/WebFrameBridge.mm:
12:58 PM Changeset in webkit [25299] by adachan
  • 5 edits in trunk/WebKit/win

<rdar://problem/5074612> Added SPI to retrieve certificate info from a WebError.

Reviewed by Steve.

  • Interfaces/IWebErrorPrivate.idl: Added IWebErrorPrivate
  • WebError.cpp: (WebError::QueryInterface): WebError now also implements IWebErrorPrivate (WebError::sslPeerCertificate): retrieves certificate info from CFError's user info.
  • WebError.h:
  • WebKit.vcproj/WebKitGUID.vcproj: Added IWebErrorPrivate_i.c
12:48 PM Changeset in webkit [25298] by hyatt
  • 7 edits in trunk

WebCore:

Fix for 5441281, remove our dependency on cursor rects and drag margins
in AppKit for a large performance boost on the PLT and iBench.

Reviewed by darin

  • platform/mac/WidgetMac.mm: (WebCore::safeRemoveFromSuperview): (WebCore::Widget::addToSuperview): Suppress the resetting of drag margins when views are added and removed.

(WebCore::Widget::setCursor):
Just use NSCursor's set method to immediately set the cursor. We no longer
rely on NSScrollView/NSClipView setDocumentCursor, since that is implemented
using cursor rects.

WebKit:

Fix for 5441281, remove our dependency on cursor rects and drag margins
in AppKit for a large performance boost on the PLT and iBench.

Reviewed by darin

  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView sendNullEvent]): (-[WebBaseNetscapePluginView mouseEntered:]): (-[WebBaseNetscapePluginView mouseExited:]): (-[WebBaseNetscapePluginView stop]): Clean up cursor setting from Netscape plugins. Don't unconditionally mutate the cursor when a plugin stops.
  • WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): Suppress the resetting of drag margins while the new document view is being added to the view hierarchy.
  • WebView/WebHTMLView.mm: (-[NSWindow _web_borderView]): Expose the border view of the NSWindow so that it can be hit tested.

(setCursorForMouseLocation):
Apply a method swizzle to override the private AppKit method, _setCursorForMouseLocation.
We have to do this to suppress the cursor rect invalidation handling from resetting
the cursor for no reason.

The swizzle will do a hit test and allow the cursor set to occur if the mouse ends up
being over a plugin or over a view other than a WebHTMLView.

(+[WebHTMLViewPrivate initialize]):
The swizzle for setCursorForMouseLocation is set up here.

(-[WebHTMLView _frameOrBoundsChanged]):
Add a 100ms delay to the fake mouse moved event that fires when the view moves
under the mouse (without the mouse moving). This happens on iBench when the
pages get scrolled. By adding a delay we ensure that even with the mouse inside
the window, we don't experience cursor thrashing when pages are updating and
scrolling rapidly.

10:39 AM Changeset in webkit [25297] by bdash
  • 2 edits in trunk/WebCore

2007-08-29 Rick <rick@writhe.org.uk>

Reviewed by Tim Hatcher.

Fix http://bugs.webkit.org/show_bug.cgi?id=14853
Bug 14853: Incorrect implementation of ArrayImpl's equality operator

  • platform/ArrayImpl.cpp: (WebCore::ArrayImpl::operator==): Fixed typo so that correct variable is used in equality comparison.
10:35 AM Changeset in webkit [25296] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-08-29 Ryan Leavengood <leavengood@gmail.com>

Reviewed by Maciej.

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

  • posix_memalign takes a void as its first parameter. My port makes use of this function call.
  • kjs/collector.cpp: (KJS::allocateBlock):
10:34 AM Changeset in webkit [25295] by bdash
  • 4 edits in trunk/WebCore

2007-08-29 Peter Kasting <zerodpx@gmail.com>

Reviewed by Maciej.

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::frameDurationAtIndex):
  • platform/graphics/qt/ImageSourceQt.cpp: (WebCore::ImageSource::frameDurationAtIndex):
  • platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read):
10:31 AM Changeset in webkit [25294] by bdash
  • 2 edits in trunk/WebCore

2007-08-29 Peter Kasting <zerodpx@gmail.com>

Reviewed by Maciej.

  • platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::PNGImageDecoder): (WebCore::PNGImageDecoder::frameBufferAtIndex): (WebCore::PNGImageDecoder::decode): (WebCore::PNGImageDecoder::rowAvailable): (WebCore::PNGImageDecoder::pngComplete):
10:29 AM Changeset in webkit [25293] by bdash
  • 2 edits in trunk/WebCore

2007-08-29 Peter Kasting <zerodpx@gmail.com>

Reviewed by Maciej.

  • fix http://bugs.webkit.org/show_bug.cgi?id=15104 Don't double-compensate for sizeof(unsigned) when making a buffer overflow check in the GIF decoder. Now interlaced GIFs don't sometimes get nothing/garbage in some of the bottom rows.
  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::haveDecodedRow):
8:53 AM Changeset in webkit [25292] by sfalken
  • 1 copy in tags/Safari-523.2b

New tag.

8:53 AM Changeset in webkit [25291] by sfalken
  • 1 edit in trunk/WebKit/win/WebKit.vcproj/VERSION

Bump version for submit

6:41 AM QtWebKitTodo edited by Simon Hausmann
(diff)
6:27 AM QtWebKitTodo edited by Simon Hausmann
(diff)
1:32 AM Changeset in webkit [25290] by sfalken
  • 1 edit in trunk/WebKit/win/WebFrame.cpp

Fix build.

1:27 AM JavaScript performance improvement ideas created by mjs@apple.com
12:56 AM Changeset in webkit [25289] by hausmann
  • 2 edits in trunk/WebKitQt

Fix compilation

12:46 AM Changeset in webkit [25288] by sfalken
  • 4 edits in trunk/WebKit/win

<rdar://problem/5079253> Cannot set different margins for the page


Added support for setting margins via page setup for Windows printing.


Reviewed by Adam.

12:04 AM Changeset in webkit [25287] by bdash
  • 2 edits in trunk/WebKit

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

Reviewed by Maciej Stachowiak.

Fix fallout from the fix for <rdar://problem/5437983> (Loading history containing 100,000 entries adds 20s to Safari's startup)
in r25275. The array of entries for each day was being maintained in the reverse of the order that was expected.

  • History/WebHistory.mm: (-[WebHistoryPrivate insertItem:forDateKey:]): Maintain the array of entries in descending order.

Aug 28, 2007:

7:51 PM Changeset in webkit [25286] by ddkilzer
  • 1 edit in trunk/WebCore/ChangeLog

Removed test files in /resources/ subdirectories.

7:49 PM Changeset in webkit [25285] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Maciej.

Ignore files in /resources/ subdirectories when creating a list of added tests.

  • Scripts/prepare-ChangeLog: (generateFileList):
5:32 PM Changeset in webkit [25284] by weinig
  • 4 edits
    7 adds in trunk

WebCore:

Reviewed by Darin.

Update fix landed in r25249 to account for XMLHttpRequest, which can also be EventTargets.

Tests: http/tests/security/listener/resources/childWithXMLHttpRequest.html

http/tests/security/listener/resources/targetChild-XMLHttpRequest-addEventListener.html
http/tests/security/listener/resources/targetChild-XMLHttpRequest-shortcut.html
http/tests/security/listener/xss-XMLHttpRequest-addEventListener.html
http/tests/security/listener/xss-XMLHttpRequest-shortcut.html

  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::putValueProperty): Use the Window object associated with document's frame, not the active Window. (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): ditto
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::document): Expose Document member so bindings can access the correct frame.

LayoutTests:

Reviewed by Darin.

Additional tests for <rdar://problem/5426142>

  • http/tests/security/listener/resources/childWithXMLHttpRequest.html: Added.
  • http/tests/security/listener/resources/targetChild-XMLHttpRequest-addEventListener.html: Added.
  • http/tests/security/listener/resources/targetChild-XMLHttpRequest-shortcut.html: Added.
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt: Added.
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener.html: Added.
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt: Added.
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut.html: Added.
5:15 PM Changeset in webkit [25283] by andersca
  • 10 edits in trunk

WebCore:

Reviewed by Darin.

<rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent

Restore the previous behavior, creating plug-ins on attach, for WebKit plug-ins. Netscape plug-ins
are still created during the first layout.


  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::getInstance): Only call layout if the renderer doesn't have a widget.


  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::getInstance): Likewise.


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::shouldUsePlugin): Update for enum change.


  • loader/FrameLoaderTypes.h: Add ObjectContentNetscapePlugin and ObjectContentOtherPlugin.


  • page/mac/WebCoreFrameBridge.h: Get rid of the enum here, we can use the one in FrameLoaderTypes.h


  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Only create the plug-in if it's not a Netscape plug-in.


(WebCore::RenderPartObject::layout):
Fix indentation.

WebKit:

Reviewed by Darin.

<rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent


  • WebCoreSupport/WebFrameBridge.mm: Use the enum from FrameLoaderTypes.h.


  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): Return ObjectContentNetscapePlugin and ObjectContentOtherPlugin depending on the plug-in type.
4:36 PM Changeset in webkit [25282] by honeycutt
  • 2 edits in trunk/WebKit/win

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

Reviewed by Adam.

<rdar://problem/5444457>: Content is cut when page orientation changed
in print preview
Fix: Don't return WebFrame::m_pageRects if it exists; let
computePageRectsForFrame clear and rewrite it.

  • WebFrame.cpp: (WebFrame::computePageRects): Removed an early-return case. Added a space.
3:08 PM Changeset in webkit [25281] by harrison
  • 1 edit
    9 adds in trunk/LayoutTests

Reviewed by Darin.

<rdar://problem/5415006> Command Left in a To Do causes caret to disappear

  • editing/selection/mixed-editability-8.html: Added.
  • editing/selection/mixed-editability-9.html: Added.
  • platform/mac/editing/selection: Added.
  • platform/mac/editing/selection/mixed-editability-8-expected.checksum: Added.
  • platform/mac/editing/selection/mixed-editability-8-expected.png: Added.
  • platform/mac/editing/selection/mixed-editability-8-expected.txt: Added.
  • platform/mac/editing/selection/mixed-editability-9-expected.checksum: Added.
  • platform/mac/editing/selection/mixed-editability-9-expected.png: Added.
  • platform/mac/editing/selection/mixed-editability-9-expected.txt: Added.
3:06 PM Changeset in webkit [25280] by harrison
  • 5 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/5415006> Command Left in a To Do causes caret to disappear

The selection was ending up inside non-editable content at the To Do Options
arrow image, rather then at the editable position just to the left of that image.
The problem was that startPositionForLine looked only at line boxes, and there
is no linebox for the editable position at the far left of a To Do, which is
a table. Addressed by having startPositionForLine use table offset 0 instead
of the first VisiblePosition inside the table.


Found and fixed the similar case with option-left (move by word position).


Test cases:

  • editing/selection/mixed-editability-8.html: Added.
  • editing/selection/mixed-editability-9.html: Added.

Source changes:

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


  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::next): (WebCore::VisiblePosition::previous): (WebCore::VisiblePosition::stayInEditableContentLeft): (WebCore::VisiblePosition::stayInEditableContentRight): Factored stayInEditableContentLeft() and stayInEditableContentRight() out of previous() and next().


  • editing/VisiblePosition.h: Declare stayInEditableContentLeft() and stayInEditableContentRight().
  • editing/visible_units.cpp: (WebCore::previousWordPosition): (WebCore::nextWordPosition): (WebCore::startOfLine): (WebCore::endOfLine): (WebCore::previousSentencePosition): (WebCore::nextSentencePosition): Call stayInEditableContentLeft() or stayInEditableContentRight(), as appropriate, so prevent crossing from editable content into uneditable content.


(WebCore::startPositionForLine):
Use table offset 0 instead of the first VisiblePosition in the table.

1:24 PM Changeset in webkit [25279] by bdash
  • 2 edits in trunk/WebKit

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

Fix the buildbot build.

  • History/WebHistory.mm: (timeIntervalForBeginningOfDay): Explicitly cast to silence compiler warning.
1:12 PM Changeset in webkit [25278] by bdash
  • 2 edits in trunk/WebCore

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

Reviewed by Darin Adler.

<rdar://problem/5443453> Decreasing history expiration time from 1 year to 1 week can lead to long hang while icon database syncs

Perform the sync inside a SQLite transaction. This drops the time taken for the sync from over 90s to under half a second in the
extreme case of over 90,000 URLs being pruned.

  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::syncDatabase):
1:06 PM Changeset in webkit [25277] by andersca
  • 3 edits in trunk/LayoutTests

Use the correct test paths.


  • platform/mac-leopard/Skipped:
  • platform/mac-tiger/Skipped:
12:55 PM Changeset in webkit [25276] by bdash
  • 1 edit in trunk/WebCore/ChangeLog

Put ChangeLog back to UTF-8 after FileMerge went and mangled it for my last commit.

12:48 PM Changeset in webkit [25275] by bdash
  • 10 edits
    2 deletes in trunk

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

Reviewed by Darin Adler.

<rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup

Move WebHistoryItemPrivate from using a sorted array of NSCalendarDate's that map to a sorted array of arrays
of WebHistoryItem's over to using a HashMap of NSTimeIntervals and arrays of WebHistoryItems. NSTimeInterval
uses less memory and is substantially cheaper during comparisons than NSCalendarDate. The use of the HashMap
avoids the needs to repeatedly search within an array to locate the array that corresponds to the given days
history items.

The result of these changes is that loading 100,000 history items drops from around 25s to 1.6s. Loading
100 items drops from 0.003s to 0.002s.

  • History/WebHistory.mm: (-[WebHistoryPrivate init]): (-[WebHistoryPrivate dealloc]): (timeIntervalForBeginningOfDay): Return the NSTimeInterval representing the beginning of the specified day. (-[WebHistoryPrivate findKey:forDay:]): (-[WebHistoryPrivate insertItem:forDateKey:]): Perform a binary search within the day's history items rather than a linear search. (-[WebHistoryPrivate _removeItemFromDateCaches:]): (-[WebHistoryPrivate _addItemToDateCaches:]): (-[WebHistoryPrivate removeAllItems]): (-[WebHistoryPrivate orderedLastVisitedDays]): Generate and cache the sorted NSArray of NSCalendarDate's exposed in the API. This cache is invalidated by _removeItemFromDateCaches: and _addItemToDateCaches: when needed. (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]): (-[WebHistoryPrivate arrayRepresentation]): (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Use an autorelease pool to keep the number of live autoreleased objects generated to a reasonable level.
  • History/WebHistoryItem.mm: (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]): (-[WebHistoryItem initFromDictionaryRepresentation:]): Use the new HistoryItem constructor that accepts the alternate title rather than setting it after construction. This prevents a modification notification from being sent for each WebHistoryItem that is loaded.
  • History/WebHistoryItemInternal.h:
  • History/WebHistoryPrivate.h:
  • Misc/WebNSCalendarDateExtras.h: Removed as _webkit_compareDay: is no longer used.
  • Misc/WebNSCalendarDateExtras.m: Removed.
  • WebKit.xcodeproj/project.pbxproj:

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

Reviewed by Darin Adler.

<rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup

Add a new constructor for HistoryItem that initializes the alternate title. This prevents WebHistoryItem
in WebKit from having explicitly set the display title, which triggers a history item changed notification
to be posted, for each history item loaded.

  • WebCore.exp:
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem):
  • history/HistoryItem.h:
12:05 PM Changeset in webkit [25274] by andersca
  • 20 edits
    3 adds in trunk

WebCore:

Reviewed by Darin.

<rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues


Add a shouldContentSniff flag to ResourceLoader and ResourceHandle and have XMLHttpRequest
pass in false when creating its subresource loader.


  • WebCore.exp:
  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::MainResourceLoader): (WebCore::MainResourceLoader::loadNow):
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader): (WebCore::ResourceLoader::load):
  • loader/ResourceLoader.h:
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::SubresourceLoader): (WebCore::SubresourceLoader::create):
  • loader/SubresourceLoader.h:
  • loader/mac/NetscapePlugInStreamLoaderMac.mm: (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::ResourceHandle): (WebCore::ResourceHandle::create):
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send):

WebKit:

Reviewed by Darin.

<rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues


Expose WKSetNSURLRequestShouldContentSniff to WebCore.


  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):

LayoutTests:

Reviewed by Darin.

<rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues


  • http/tests/xmlhttprequest/resources/small-chunks.cgi: Added.
  • http/tests/xmlhttprequest/small-chunks-response-text-expected.txt: Added.
  • http/tests/xmlhttprequest/small-chunks-response-text.html: Added.
  • platform/mac-leopard/Skipped:
  • platform/mac-tiger/Skipped:
12:03 PM Changeset in webkit [25273] by andersca
  • 3 edits in trunk/WebKitLibraries

Add WKSetNSURLRequestShouldContentSniff.


  • WebKitSystemInterface.h:
  • libWebKitSystemInterface.a:
10:23 AM Changeset in webkit [25272] by adachan
  • 5 edits
    1 add in trunk/WebKit/win

<rdar://problem/4876242> Added SPI to fetch SSL certificate information.

Reviewed by Adam and Steve.

  • Interfaces/IWebURLResponsePrivate.idl: Added.
  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:
  • WebURLResponse.cpp: (WebURLResponse::QueryInterface): (WebURLResponse::sslPeerCertificate): gets peer certificate context from CFNetwork (WebURLResponse::certificateDictionary): gets the dictionary that contains SSL certificate info from CFNetwork. We retain the dictionary to ensure the certificate context is valid throughout the lifetime of the WebURLResponse.
  • WebURLResponse.h:


10:20 AM Changeset in webkit [25271] by adachan
  • 4 edits in trunk/WebKitLibraries

<rdar://problem/4876242> Added SPI to fetch SSL certificate information.
Updated libraries.


Reviewed by Adam.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:


9:29 AM Changeset in webkit [25270] by sfalken
  • 4 edits in trunk

<rdar://problem/5424801> REGRESSION (r25151): Web page area of window doesn't redraw if page isn't loaded


Don't bypass WebView WM_PAINT if the WebView has never committed a page.
Added getter for committedFirstRealDocumentLoad.


Reviewed by Maciej.

  • WebView.cpp: (WebViewWndProc): Don't skip painting if we haven't committed any pages in this view.
  • loader/FrameLoader.h: Added committedFirstRealDocumentLoad. (WebCore::FrameLoader::committedFirstRealDocumentLoad): Added.
Note: See TracTimeline for information about the timeline view.