Timeline



May 17, 2006:

11:21 PM Changeset in webkit [14461] by hyatt
  • 2 edits
    1 move in trunk/WebCore

Rename FontData.mm to FontData.cpp, since it has no obj-c in it.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/FontData.cpp: Added.
11:09 PM Changeset in webkit [14460] by hyatt
  • 4 edits
    1 add in trunk/WebCore

Split FontData.mm into platform-specific and cross-platform pieces.

Reviewed by andersca

  • WebCore.xcodeproj/project.pbxproj:
  • platform/FontData.h: (WebCore::FontData::xHeight):
  • platform/mac/FontData.mm: (WebCore::FontData::widthForGlyph): (WebCore::m_smallCapsFontData): (WebCore::FontData::~FontData): (WebCore::extendWidthMap):
10:02 PM Changeset in webkit [14459] by darin
  • 2 edits in trunk/WebKitTools
  • Scripts/do-webcore-rename: Some more future renames.
9:35 PM Changeset in webkit [14458] by ap
  • 3 edits in trunk/LayoutTests

Reviewed by Darin.

  • fast/js/date-constructor-expected.txt:
  • fast/js/resources/date-constructor.js: Disable the offending tests.
9:15 PM Changeset in webkit [14457] by staikos
  • 7 edits in trunk/JavaScriptCore

Reviewed by Maciej, Alexey, and Eric.

  • Use // in .c files to compile with non-C99 and non-GCC compilers.
  • Change include to <wtf/HashTraits.h> from "HashTraits.h" to avoid -I
  • Use correct parentheses and correct mask for utf-32 support.
8:36 PM Changeset in webkit [14456] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by Kevin Decker and John Sullivan.

<rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows

The window display throttle depended on windows being closed before they were deallocated; this is
not guaranteed by AppKit. Windows that were being released without being closed were getting stuck
in our NSWindow -> WindowDisplayInfo dictionary.


  • Misc/WebNSWindowExtras.m: (+[NSWindow _webkit_enableWindowDisplayThrottle]): Don't retain the NSWindow keys in the window display info dictionary. Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow -> WindowDisplayInfo mapping when a window deallocates. (+[NSWindow _webkit_disableWindowDisplayThrottle]): Restore -dealloc and -finalize. (clearWindowDisplayInfo): Factored the WindowDisplayInfo cleanup code out of the now-defunct replacementClose(). (replacementClose): Removed; no longer needed. (replacementDealloc): Clear the WindowDisplayInfo for the window after deallocation. (replacementFinalize): ditto (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]): Rewrote this method to be safe in the case where the firing display timer has the last reference to the window. Added comments.
6:02 PM Changeset in webkit [14455] by sullivan
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler


Improvement to my previous patch, suggested by Darin

  • dom/Document.cpp: (WebCore::Document::repaintMarkers): new method, similar in structure to removeMarkers but just repaints each node that has a marker of the specified type
  • dom/Document.h: declare new method, and tweak style in related method declarations


  • page/Frame.cpp: (WebCore::Frame::setMarkedTextMatchesAreHighlighted): if the value changes, call repaintMarkers
5:44 PM Changeset in webkit [14454] by eseidel
  • 6 adds in trunk/LayoutTests/fast/dom

2006-05-17 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Autogenerate button, optgroup, option, input and textarea js bindings
http://bugzilla.opendarwin.org/show_bug.cgi?id=8953

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createButtonWrapper): (WebCore::createInputWrapper): (WebCore::createOptGroupWrapper): (WebCore::createOptionWrapper): (WebCore::createTextAreaWrapper): (WebCore::createJSWrapper):
  • bindings/js/JSHTMLInputElementBase.cpp: Added. (WebCore::JSHTMLInputElementBaseProtoFunc::callAsFunction): (WebCore::): (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  • bindings/js/JSHTMLInputElementBase.h: Added. (WebCore::JSHTMLInputElementBase::classInfo): (WebCore::JSHTMLInputElementBase::): (WebCore::JSHTMLInputElementBase::impl):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: Added. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): (WebCore::JSHTMLOptionElementConstructor::implementsConstruct): (WebCore::JSHTMLOptionElementConstructor::construct):
  • bindings/js/JSHTMLOptionElementConstructor.h: Added.
  • bindings/js/kjs_domnode.h:
  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors): (KJS::JSHTMLElement::getOwnPropertySlot): (KJS::HTMLElementFunction::callAsFunction): (KJS::JSHTMLElement::put): (KJS::JSHTMLElement::htmlSetter):
  • bindings/js/kjs_html.h: (KJS::JSHTMLElement::):
  • bindings/js/kjs_window.cpp: (KJS::Window::getValueProperty):
  • bindings/scripts/CodeGeneratorJS.pm:
  • html/HTMLButtonElement.idl: Added.
  • html/HTMLInputElement.idl: Added.
  • html/HTMLOptGroupElement.idl: Added.
  • html/HTMLOptionElement.idl: Added.
  • html/HTMLTextAreaElement.idl: Added.
5:44 PM Changeset in webkit [14453] by eseidel
  • 10 edits
    9 adds in trunk

2006-05-17 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Autogenerate button, optgroup, option, input and textarea js bindings
http://bugzilla.opendarwin.org/show_bug.cgi?id=8953

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createButtonWrapper): (WebCore::createInputWrapper): (WebCore::createOptGroupWrapper): (WebCore::createOptionWrapper): (WebCore::createTextAreaWrapper): (WebCore::createJSWrapper):
  • bindings/js/JSHTMLInputElementBase.cpp: Added. (WebCore::JSHTMLInputElementBaseProtoFunc::callAsFunction): (WebCore::): (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  • bindings/js/JSHTMLInputElementBase.h: Added. (WebCore::JSHTMLInputElementBase::classInfo): (WebCore::JSHTMLInputElementBase::): (WebCore::JSHTMLInputElementBase::impl):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: Added. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): (WebCore::JSHTMLOptionElementConstructor::implementsConstruct): (WebCore::JSHTMLOptionElementConstructor::construct):
  • bindings/js/JSHTMLOptionElementConstructor.h: Added.
  • bindings/js/kjs_domnode.h:
  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors): (KJS::JSHTMLElement::getOwnPropertySlot): (KJS::HTMLElementFunction::callAsFunction): (KJS::JSHTMLElement::put): (KJS::JSHTMLElement::htmlSetter):
  • bindings/js/kjs_html.h: (KJS::JSHTMLElement::):
  • bindings/js/kjs_window.cpp: (KJS::Window::getValueProperty):
  • bindings/scripts/CodeGeneratorJS.pm:
  • html/HTMLButtonElement.idl: Added.
  • html/HTMLInputElement.idl: Added.
  • html/HTMLOptGroupElement.idl: Added.
  • html/HTMLOptionElement.idl: Added.
  • html/HTMLTextAreaElement.idl: Added.
4:45 PM Changeset in webkit [14452] by beidson
  • 4 edits
    2 deletes in trunk/WebKit

2006-05-17 bradeeoh <beidson@apple.com>

Reviewed by Tim Hatcher

Consolidated WebDatabase base class into WebFileDatabase as the inheritance relationship became
obsolete. This improves readability and sets the stage for a further in-depth rewrite of the
WebIcon* code.

  • Misc/WebDatabase.h: Removed.
  • Misc/WebDatabase.m: Removed.
  • Misc/WebFileDatabase.h:
  • Misc/WebFileDatabase.m: (-[WebFileDatabaseOp dealloc]): (-[WebFileDatabase dealloc]): (-[WebFileDatabase path]): (-[WebFileDatabase isOpen]): (-[WebFileDatabase sizeLimit]):
  • WebKit.xcodeproj/project.pbxproj:
4:32 PM Changeset in webkit [14451] by adele
  • 30 edits in trunk

LayoutTests:

Reviewed by Hyatt.

Updated test results for changes to prepare for
http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
Switch to use new text field implementation for <textarea>

  • fast/block/float/032-expected.txt:

WebCore:

Reviewed by Hyatt.

First step for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
Switch to use new text field implementation for <textarea>

New textareas can be turned on by setting -webkit-appearance:textarea.

Tests:

  • LayoutTests/fast/block/float/032.html - Updated results.
  • bridge/mac/FrameMac.h: Added textDidChangeinTextArea to send notification over the bridge to form delegate.
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::textDidChangeInTextArea): ditto.
  • page/Frame.cpp: (WebCore::Frame::textDidChangeInTextArea): ditto.
  • page/Frame.h: ditto.
  • css/CSSValueKeywords.in: Added textarea.
  • css/cssparser.cpp: (WebCore::CSSParser::parseValue): Updates to check for textarea.
  • css/html4.css: Added style for textarea. Leaved background-color and appearance values commented out.
  • rendering/render_style.h: (WebCore::): Added TextAreaAppearance.
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): Updated for textarea. (WebCore::RenderTheme::paint): ditto. (WebCore::RenderTheme::paintBorderOnly): ditto. (WebCore::RenderTheme::isControlStyled): ditto. (WebCore::RenderTheme::supportsFocusRing): ditto. (WebCore::RenderTheme::adjustTextFieldStyle): ditto. (WebCore::RenderTheme::adjustTextAreaStyle): ditto.
  • rendering/RenderTheme.h: (WebCore::RenderTheme::paintTextArea): Added.
  • rendering/RenderThemeMac.h: Added adjustTextAreaStyle. Note- I didn't add a paintTextArea function for RenderThemeMac, since we can just paint the border specified in html4.css to match the NSTextView border. Added a paintTextArea function to the Windows theme can override that border.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled): Updated for textarea. (WebCore::RenderThemeMac::adjustTextAreaStyle): ditto.
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::HTMLGenericFormElement): Moved m_valueMatchesRenderer and its setters and getters into this class so HTMLInputElement and HTMLTextArea can share.
  • html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::valueMatchesRenderer): Added. (WebCore::HTMLGenericFormElement::setValueMatchesRenderer): Added.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::init): Remove m_valueMatchesRenderer intialization. (WebCore::HTMLInputElement::isKeyboardFocusable): Updated spelling. (WebCore::HTMLInputElement::createRenderer): Pass multiLine bool to RenderTextField constructor. (WebCore::HTMLInputElement::parseMappedAttribute): Use setValueMatchesRenderer instead of m_valueMatchesRenderer. (WebCore::HTMLInputElement::detach): ditto. (WebCore::HTMLInputElement::setValue): ditto. (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
  • html/HTMLInputElement.h: Remove setValueMatchesRenderer and valueMatchesRenderer and m_valueMatchesRenderer.
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Calls setValueMatchesRenderer to intialize m_valueMatchesRenderer. (WebCore::HTMLTextAreaElement::selectionStart): Uses appearance to determine which renderer to use. (WebCore::HTMLTextAreaElement::selectionEnd): ditto. (WebCore::HTMLTextAreaElement::setSelectionStart): ditto. (WebCore::HTMLTextAreaElement::setSelectionEnd): ditto. (WebCore::HTMLTextAreaElement::select): ditto. (WebCore::HTMLTextAreaElement::setSelectionRange): ditto. (WebCore::HTMLTextAreaElement::createRenderer): ditto. (WebCore::HTMLTextAreaElement::appendFormData): ditto. (WebCore::HTMLTextAreaElement::updateValue): ditto. (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Added. (WebCore::HTMLTextAreaElement::isMouseFocusable): Added. (WebCore::HTMLTextAreaElement::focus): Added. (WebCore::HTMLTextAreaElement::defaultEventHandler): Added to forward events to the inner div. (WebCore::HTMLTextAreaElement::setValue): Calls setValueMatchesRenderer.
  • html/HTMLTextAreaElement.h: Added defaultEventHandler, isMouseFocusable, isKeyboardFocusable, and focus methods. Removed invalidateValue and m_valueMatchesRenderer since those are now handled in the base class.
  • html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Updated to handle textareas.
  • rendering/RenderTextArea.cpp: (WebCore::RenderTextArea::valueChanged): Calls setValueMatchesRenderer(false) instead of invalidateValue.
  • rendering/RenderTextField.h: Changed to be a RenderFlexibleBox instead of a RenderBlock. This was necessary to get the inner div's height to grow and shrink with the size of the textarea. Added m_multiLine bool, and calcHeight, canHaveChildren, baselinePosition, isTextArea, textWithHardLineBreaks, selectionChanged. (WebCore::RenderTextField::canHaveChildren): Returns false now so that no renderer gets created for the textarea's child text node for its initial contents. (WebCore::RenderTextField::isTextField): Returns true if m_multiLine is false. (WebCore::RenderTextField::isTextArea): Returns true if m_multiLine is true.
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::RenderTextField): Initializes m_multiLine. (WebCore::RenderTextField::~RenderTextField): Notifies HTMLTextAreaElement that the renderer is being destroyed so the value gets updated. (WebCore::RenderTextField::setStyle): Makes sure there's no overflow clip on the RenderTextField, since we're handling overflow on the inner div. (WebCore::RenderTextField::createDivStyle): Sets white-space, box-flex, overflow, word-wrap styles needed for text area. (WebCore::RenderTextField::updateFromElement): Updated for textarea elements. (WebCore::RenderTextField::setSelectionRange): Optimized caret case by checking to see if start is equal to end before calculating the same VisiblePosition twice. (WebCore::RenderTextField::subtreeHasChanged): Updated for textarea elements. (WebCore::RenderTextField::text): Use innerText so newlines are considered. (WebCore::RenderTextField::textWithHardLineBreaks): Added. Not implemented yet. Just calls text method. (WebCore::RenderTextField::calcHeight): Added. Sets initial height based on specified number of rows, and then calls the base class. (WebCore::RenderTextField::baselinePosition): Added. Unlike text fields, textareas align to the bottom. (WebCore::RenderTextField::calcMinMaxWidth): Updated for textareas. (WebCore::RenderTextField::selectionChanged): Added. Not implemented yet.

WebKit:

Reviewed by Hyatt.

WebKit part of initial checkin to prepare for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
Switch to use new text field implementation for <textarea>

  • WebView/WebHTMLView.m: (-[NSArray insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator. (-[NSArray insertParagraphSeparator:]): ditto.
  • WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]): Checks for textareas as well as textfields before allowing the delegate to control the context menu. This won't affect the old textareas because AppKit handles those context menus.

WebKitTools:

Reviewed by Hyatt.

  • Scripts/do-webcore-rename: Added RenderTextField => RenderTextControl and HTMLTextFieldInnerElement => HTMLTextControlInnerElement to list for future renames.
2:29 PM Changeset in webkit [14450] by hyatt
  • 6 edits
    3 adds in trunk/WebCore

Fix for 8954, separate the glyph map out into its own files and make it
cross-platform.

Reviewed by darin

  • WebCore.xcodeproj/project.pbxproj:
  • platform/Font.cpp: (WebCore::WidthIterator::advance):
  • platform/FontData.h: (WebCore::FontData::glyphDataForCharacter): (WebCore::FontData::setGlyphDataForCharacter):
  • platform/GlyphMap.cpp: Added. (WebCore::GlyphMap::glyphDataForCharacter): (WebCore::GlyphMap::setGlyphDataForCharacter): (WebCore::GlyphMap::locatePage):
  • platform/GlyphMap.h: Added. (WebCore::GlyphMap::GlyphMap): (WebCore::GlyphMap::~GlyphMap): (WebCore::GlyphMap::GlyphPage::glyphDataForCharacter): (WebCore::GlyphMap::GlyphPage::setGlyphDataForCharacter): (WebCore::GlyphMap::GlyphPage::setGlyphDataForIndex):
  • platform/mac/FontData.mm: (-[NSFont WebCore]): (WidthMap::m_ATSUMirrors): (WidthMap::FontData::~FontData): (WidthMap::FontData::xHeight): (WidthMap::FontData::platformInit): (WidthMap::extendWidthMap):
  • platform/mac/GlyphMapMac.cpp: Added. (WebCore::GlyphMap::fillPage):
  • platform/mac/WebCoreSystemInterface.h:
2:10 PM Changeset in webkit [14449] by andersca
  • 5 edits
    1 add
    2 deletes in trunk/WebCore

2006-05-17 Anders Carlsson <acarlsson@apple.com>

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8958
Should be able to have custom implementations for JS methods


  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCanvasRenderingContext2DBase.cpp: Removed.
  • bindings/js/JSCanvasRenderingContext2DBase.h: Removed.
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: Added. Remove JSCanvasRenderingContext2DBase and add JSCanvasRenderingContext2DCustom with custom implementations.


(WebCore::toJS):
(WebCore::toHTMLCanvasStyle):
(WebCore::JSCanvasRenderingContext2D::strokeStyle):
(WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
(WebCore::JSCanvasRenderingContext2D::fillStyle):
(WebCore::JSCanvasRenderingContext2D::setFillStyle):
(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
(WebCore::JSCanvasRenderingContext2D::strokeRect):
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
(WebCore::JSCanvasRenderingContext2D::createPattern):
Move implementations from JSCanvasRenderingContext2DBase.


  • bindings/scripts/CodeGeneratorJS.pm: Add new "Custom" extended attribute for functions and attributes. When a function or attribute has this attribute, a custom implementation is called instead of calling down to the DOM object.


  • html/CanvasRenderingContext2D.idl: Add bunch of custom attributes and functions.
2:05 PM Changeset in webkit [14448] by sullivan
  • 3 edits in trunk/WebKit

Reviewed by Maciej.

First step towards making text-matching mechanism more flexible; updated for changes
to WebCoreFrameBridge calls.

  • WebView/WebHTMLView.m: (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]): updated for name change in WebCoreFrameBridge, also now calls setMarkedTextMatchesAreHighlighted: (-[WebHTMLView clearHighlightedMatches]): updated for name change in WebCoreFrameBridge
2:04 PM Changeset in webkit [14447] by sullivan
  • 8 edits in trunk/WebCore

Reviewed by Maciej.


First step towards making text-matching mechanism more flexible; now caller can
control whether or not the matches are highlighted.

  • bridge/mac/WebCoreFrameBridge.h:
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:]): renamed from highlightAllMatchesForString: (-[WebCoreFrameBridge markedTextMatchesAreHighlighted]): new getter method (-[WebCoreFrameBridge setMarkedTextMatchesAreHighlighted:]): new setter method (-[WebCoreFrameBridge unmarkAllTextMatches]): renamed from clearHighlightedMatches


  • page/Frame.h:
  • page/Frame.cpp: (WebCore::Frame::markAllMatchesForText): renamed from highlightAllMatchesForString (WebCore::Frame::markedTextMatchesAreHighlighted): new getter method, uses boolean ivar in FramePrivate (WebCore::Frame::setMarkedTextMatchesAreHighlighted): new setter method, uses boolean ivar in FramePrivate


  • page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): added boolean ivar m_highlightTextMatches, initialized to 0


  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): respect markedTextMatchesAreHighlighted
  • WebCore.xcodeproj/project.pbxproj: newer Xcode removed some obsolete settings
2:01 PM Changeset in webkit [14446] by thatcher
  • 1 copy in tags/WebCore-418.7/WebCore

Tag for WebCore 418.7 (part 2 of 2.)

2:01 PM Changeset in webkit [14445] by thatcher
  • 1 add in tags/WebCore-418.7

Tag for WebCore 418.7 (part 1 of 2.)

2:01 PM Changeset in webkit [14444] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

Versioning

2:00 PM Changeset in webkit [14443] by thatcher
  • 3 edits in branches/Safari-2-0-branch/WebCore

Reviewed by Justin.


<rdar://problem/4542925> 10.4.7 regression: Mail: Using the delete key may cause application crash in DOM::NodeImpl::isBlockFlow() const from khtml::DeleteSelectionCommand::mergeParagraphs()


  • khtml/editing/htmlediting.cpp: (positionBeforeContainingSpecialElement): (positionAfterContainingSpecialElement): (positionOutsideContainingSpecialElement): (positionBeforePossibleContainingSpecialElement): (positionAfterPossibleContainingSpecialElement): (DeleteSelectionCommand::initializePositionData): Fix special element handling to not create selection that does not completely surround the element.


(DeleteSelectionCommand::mergeParagraphs):
Incorporate the remainder of the improved merge code.


  • xml/dom_position.cpp: (inRenderedContent): Allow br 0 unconditionally.
1:47 PM Changeset in webkit [14442] by thatcher
  • 1 copy in tags/WebKit-418.5/WebKit

Tag for WebKit 418.5 (part 2 of 2.)

1:47 PM Changeset in webkit [14441] by thatcher
  • 1 add in tags/WebKit-418.5

Tag for WebKit 418.5 (part 1 of 2.)

1:47 PM Changeset in webkit [14440] by thatcher
  • 1 copy in tags/WebCore-418.6/WebCore

Tag for WebCore 418.6 (part 2 of 2.)

1:47 PM Changeset in webkit [14439] by thatcher
  • 1 add in tags/WebCore-418.6

Tag for WebCore 418.6 (part 1 of 2.)

1:44 PM Changeset in webkit [14438] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Versioning

1:43 PM Changeset in webkit [14437] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

Versioning

11:19 AM Changeset in webkit [14436] by adele
  • 2 edits in trunk/WebCore

Reviewed by Beth.

  • editing/htmlediting.cpp: (WebCore::editingIgnoresContent): Reverting change that Darin made a few weeks ago. He was trying to make editingIgnoresContent return true for the new text fields, but the code actually didn't change that result. When the new text fields actually do return true for editingIgnoresContent, other editing problems are exposed. For example, moving the cursor around an editable area that contains a text field will cross the text field boundary and descend into the shadow tree. So for now, we'll revert this change.
10:19 AM Changeset in webkit [14435] by ap
  • 3 edits
    3 adds in trunk

Reviewed by Darin.

Test: fast/js/regexp-stack-overflow.html

  • pcre/pcre-config.h: Define NO_RECURSE.

May 16, 2006:

11:51 PM Changeset in webkit [14434] by darin
  • 4 edits
    2 adds in trunk

LayoutTests:

Reviewed by Maciej.

  • fast/encoding/high-bit-latin1-expected.txt: Added.
  • fast/encoding/high-bit-latin1.html: Added.

WebCore:

Reviewed by Maciej, tweaked by Darin.

Test: fast/encoding/high-bit-latin1.html

  • platform/AtomicString.cpp: (WebCore::CStringTranslator::equal): Use an unsigned char local.
  • platform/StringImpl.cpp: (WebCore::StringImpl::init): Ditto.
11:46 PM Changeset in webkit [14433] by darin
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by Maciej.

Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=7492
CSS attribute selectors fail when the setAttribute() method is used
to create an attribute and the attribute name is not Class or ID.

  • fast/css/selector-set-attribute.html: Added.
  • fast/css/selector-set-attribute-expected.txt: Added.
  • fast/css/selector-set-attribute-expected.checksum: Added.
  • fast/css/selector-set-attribute-expected.png: Added.

WebCore:

Reviewed by Maciej.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7492
CSS attribute selectors fail when the setAttribute() method is used
to create an attribute and the attribute name is not Class or ID.

Keep track of attributes used in attribute selectors to
check after setAttribute whether a style recalc is needed.

Test: fast/css/selector-set-attribute.html

  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): (WebCore::CSSStyleSelector::hasSelectorForAttribute):
  • css/cssstyleselector.h:
  • dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged):
11:36 PM Changeset in webkit [14432] by darin
  • 6 edits in trunk/WebKit

Reviewed by Geoff.


Ensured all the public headers have a newline at their end.

Client code can now have 'Missing Newline at end of File' warnings enabled without emitting
such warnings against any WebKit includes.

  • Misc/WebDownload.h:
  • Plugins/npfunctions.h:
  • WebView/WebResourceLoadDelegate.h:
  • WebView/WebUIDelegate.h:
  • WebView/WebView.h:
11:34 PM Changeset in webkit [14431] by darin
  • 2 edits in trunk

Correct bug number.

11:33 PM Changeset in webkit [14430] by darin
  • 8 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5624
document.createElementNS() should not allow to insert a second <html> element

  • dom/xhtml/level3/core/documentnormalizedocument10-expected.txt: Updated to show a different failure.
  • dom/xhtml/level3/core/nodeappendchild02-expected.txt:
  • dom/xhtml/level3/core/nodeinsertbefore06-expected.txt:
  • dom/xhtml/level3/core/nodereplacechild39-expected.txt: Updated to reflect success.
  • fast/dom/createDocumentType2.html: Added.
  • fast/dom/createDocumentType2-expected.txt: Added.
  • fast/dom/createElementNS.html: Added.
  • fast/dom/createElementNS-expected.txt: Added.

WebCore:

Reviewed by Darin.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5624
document.createElementNS() should not allow to insert a second <html> element

Do extra checks for document nodes to detect multiple document elements
and document types.

  • dom/Document.cpp: (WebCore::Document::childTypeAllowed):
  • dom/Document.h:
10:29 PM Changeset in webkit [14429] by staikos
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

Fix some warnings and strict compilation errors.

7:11 PM Changeset in webkit [14428] by aliceli1
  • 1 edit in trunk/WebKitSite/projects/compat/hitlist.html

added yahoo.com preview to the hit list, moved capitalone to alumni list

5:58 PM Changeset in webkit [14427] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by Tim Hatcher.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8945 (REGRESSION: Scrolling is very slow when dragging
the thumb)

Rolled out one of my tweaks to the window display throttle hack (remember the last flush time instead
of the last display time). While that was technically a better approach, we discovered a problem
with how it interacts with NSView scroll tracking. Rather than further complicate this already
crazy hack, I'm reverting back to the simple version. This should yield similar numbers on iBench,
but not exhibit the nasty scrolling problem.


  • Misc/WebNSWindowExtras.m: (+[NSWindow _webkit_enableWindowDisplayThrottle]): (+[NSWindow _webkit_disableWindowDisplayThrottle]): (getWindowDisplayInfo): (requestWindowDisplay):
5:07 PM Changeset in webkit [14426] by justing
  • 5 edits in branches/Safari-2-0-branch/WebCore

Reviewed by levi


<rdar://problem/4547278> 10.4.7 regression: Mail: Triple click, then drag, fails to select an empty line following a non-empty line


Merged in the fix for:
<rdar://problem/4364427> triple-click includes first item on next line (www.apple.com, but I think I've seen it elsewhere)

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
  • khtml/editing/selection.cpp: (khtml::Selection::validate):
  • khtml/editing/visible_units.cpp: (khtml::endOfLine): (khtml::isEndOfLine): (khtml::endOfParagraph): (khtml::isEndOfParagraph): (khtml::endOfBlock): (khtml::isEndOfBlock):
  • khtml/editing/visible_units.h: (khtml::):
5:01 PM Changeset in webkit [14425] by thatcher
  • 1 edit in trunk/WebCore/platform/FontPlatformData.h

64-bit build fix, use uintptr_t to cast from a pointer.

4:29 PM Changeset in webkit [14424] by andersca
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog

4:27 PM Changeset in webkit [14423] by andersca
  • 16 edits in trunk/WebCore

2006-05-17 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

  • DerivedSources.make: Conditionally generate the SVG and XPath related files based on the value of FEATURE_DEFINES. Also, pass FEATURE_DEFINES TO THE BINDINGS GENERATOR.


  • WebCore.xcodeproj/project.pbxproj: Add FEATURE_DEFINES as a toplevel build setting and set it to "SVG_SUPPORT XPATH_SUPPORT" to keep SVG and XPath support turned on. Add FEATURE_DEFINES to the CPP defines.


  • bindings/js/kjs_binding.cpp: (KJS::setDOMException): Add #ifdefs around the XPath code.


  • bindings/scripts/CodeGeneratorJS.pm: Add "Conditional" extended attribute for interfaces. If this is set, the generated code will be surrounded by an #if.


  • bindings/scripts/IDLParser.pm: Pass the define flags on to the preprocessor.


  • bindings/scripts/generate-bindings.pl: Add a --defines property and pass it on to the parser.


  • css/cssstyleselector.h: Add DeprecatedString.h include.


  • dom/Document.idl: Put back #if around the XPath functions


  • page/DOMWindow.idl: Put #if around the XPath constructors


  • xpath/XPathEvaluator.idl:
  • xpath/XPathExpression.idl:
  • xpath/XPathNSResolver.cpp:
  • xpath/XPathNSResolver.idl:
  • xpath/XPathNamespace.cpp:
  • xpath/XPathResult.idl: Add "Conditional=XPATH" to all interfaces.
4:13 PM Changeset in webkit [14422] by beidson
  • 2 edits in trunk/WebKit

2006-05-16 bradeeoh <beidson@apple.com>

Reviewed by Maciej Stachowiak

  • Fixed an old deprecated method in Misc/WebFileDatabase.m
  • Misc/WebFileDatabase.m: (UniqueFilePathForKey): changed lossyCString to UTF8String
3:28 PM Changeset in webkit [14421] by darin
  • 9 edits in trunk/WebKit

Reviewed by Anders.

  • did the name change from "ImageElement" to "ImageForElement" that I said I would (oops!)
  • DefaultDelegates/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]):
  • Misc/WebNSPasteboardExtras.h:
  • Misc/WebNSPasteboardExtras.m: (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
  • Misc/WebNSViewExtras.h:
  • Misc/WebNSViewExtras.m: (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
  • WebView/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  • WebView/WebView.m: (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]): (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
  • WebView/WebViewInternal.h:
3:25 PM Changeset in webkit [14420] by darin
  • 29 edits
    9 deletes in trunk

WebCore:

Reviewed by Anders.

  • WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRenderer.h.
  • platform/mac/WebCoreImageRenderer.h: Removed.
  • bridge/mac/WebCoreFrameBridge.h: Added supportedImageResourceMIMETypes. Like supportedImageMIMETypes, but includes PDF and PostScript.
  • bridge/mac/WebCoreFrameBridge.mm: (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): Added. Has code that came from -[WebImageRendererFactory supportedMIMETypes]. (+[WebCoreFrameBridge supportedImageMIMETypes]):
  • platform/mac/ImageMac.mm: (WebCore::Image::supportsType): Instead of calling the old -[WebCoreImageRendererFactory supportedMIMETypes], call the new +[WebCoreFrameBridge supportedImageResourceMIMETypes]. (WebCore::Image::drawTiled): Use wkSetPatternPhaseInUserSpace instead of the WebCoreImageRendererFactory.
  • platform/mac/ClipboardMac.mm: Removed an unneeded include of WebCoreImageRenderer.h.
  • platform/mac/WebCoreImageRendererFactory.h: Removed everything except for the one remaining method, imageDataForName:, which gets resources from the WebKit localized resources. We should figure out how to remove that one too later.
  • platform/mac/WebCoreImageRendererFactory.m: Ditto.
  • platform/mac/WebCoreSystemInterface.h: Added some new calls.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.
  • WebCore.exp: Ditto.
  • platform/cairo/ImageCairo.cpp: Moved a stub to the stubs file. If it's here it has to have a FIXME comment and also it contains a big commented-out pile of code. Better to have it in the stubs file with all the other stubs.
  • platform/win/TemporaryLinkStubs.cpp: (Image::drawTiled): Put stub here instead of having it in ImageCairo.cpp.

WebKit:

Reviewed by Anders.

  • English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
  • WebKit.xcodeproj/project.pbxproj: Removed files.
  • WebCoreSupport/WebImageData.h: Removed.
  • WebCoreSupport/WebImageData.m: Removed.
  • WebCoreSupport/WebImageDecodeItem.h: Removed.
  • WebCoreSupport/WebImageDecodeItem.m: Removed.
  • WebCoreSupport/WebImageDecoder.h: Removed.
  • WebCoreSupport/WebImageDecoder.m: Removed.
  • WebCoreSupport/WebImageRenderer.h: Removed.
  • WebCoreSupport/WebImageRenderer.m: Removed.
  • WebCoreSupport/WebImageRendererFactory.h:
  • WebCoreSupport/WebImageRendererFactory.m: Removed everything except for shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
  • Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
  • Misc/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to call +[WebFrameBridge supportedImageResourceMIMETypes] instead of -[WebImageRendererFactory supportedMIMETypes]. (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]): Removed WebImageRenderer parameter, and updated code since it was always nil.
  • Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from _web_dragImage and renamed _web_dragImageElement.
  • Misc/WebNSViewExtras.m: (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]): Removed WebImageRenderer parameter, and updated code since it was always nil.
  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new functions now used by WebCore.
  • WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]): Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of -[WebImageRendererFactory supportedMIMETypes].
  • WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
  • WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]): Removed call to +[WebImageRendererFactory createSharedFactory].
  • WebView/WebHTMLView.m: (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of -[WebImageRendererFactory supportedMIMETypes]. (-[WebHTMLView _documentFragmentWithPaths:]): Ditto. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to _web_dragImageElement. (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset. (-[WebHTMLView finalize]): Ditto. (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow boolean field.
  • WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
  • WebView/WebHTMLViewPrivate.h: Removed _reset method.
2:38 PM Changeset in webkit [14419] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Rolled out this earlier change. This change caused:
REGRESSION: Scrolling is very slow when dragging the thumb
http://bugzilla.opendarwin.org/show_bug.cgi?id=8945

2006-05-12 Tim Omernick <timo@apple.com>

Reviewed by John Sullivan.

<rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>

Improvement to my NSWindow display throttle hack. Remember the last flush time instead of the last display time.
Our goal is to never draw less than 1/60th of a second after the window is flushed in order to avoid blocking on
a CG coalesced update. Using the last display time is close, but this is much more accurate. I have verified that
this further improves our score on BenchJS Test 1 (by 9.8% with the status bar shown compared to the previous build),
as well as on our internal PLT scores by a smaller percentage.

  • Misc/WebNSWindowExtras.m: Renamed lastDisplayTime to lastFlushTime. (+[NSWindow _webkit_enableWindowDisplayThrottle]): Replace -[NSWindow flushWindow] with our own implementation. (+[NSWindow _webkit_disableWindowDisplayThrottle]): Restore -[NSWindow flushWindow]. (replacementFlushWindow): Use the last flush time instead of the last display time. (getWindowDisplayInfo): Renamed lastDisplayTime to lastFlushTime. (requestWindowDisplay): Moved some code to replacementFlushWindow().
1:26 PM Changeset in webkit [14418] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

Reviewed by Hyatt.

REGRESSION: revert SGML comment parsing fix (comment parsing causes most of usbank.com page to be missing)
http://bugzilla.opendarwin.org/show_bug.cgi?id=5855

This also fixes:
<rdar://problem/4543829> -[DOMComment nodeValue] and -[DOMComment data] returning too much

12:26 PM Changeset in webkit [14417] by andersca
  • 3 edits in trunk/WebCore

2006-05-16 Anders Carlsson <acarlsson@apple.com>

Reviewed by Dave Hyatt.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8941
document.cookie undefined for documents of type text/javascript


  • loader/TextDocument.cpp: (WebCore::TextDocument::TextDocument):
  • loader/TextDocument.h: Inherit from HTMLDocument.
8:13 AM Changeset in webkit [14416] by darin
  • 6 edits in trunk

WebCore:

Reviewed by Hyatt.

  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge domain]): Removed unneeded check of isHTMLDocument. (-[WebCoreFrameBridge getData:andResponse:forURL:]): Handle document() of 0. (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): Ditto.

WebKit:

Reviewed by Hyatt.

These fixes may become obsolete when Anders lands his standalone image viewer
patch, but in my tree they are needed to make Copy Image work after the fix
over on the WebCore side to avoid the crashes.

  • Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
  • Misc/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter to an NSImage instead of a WebImageRenderer. (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]): Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
  • WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
3:02 AM Changeset in webkit [14415] by eseidel
  • 6 edits
    5 adds in trunk/WebCore

2006-05-16 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.

Already covered by existing dom tests.

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createBaseWrapper): (WebCore::createHeadWrapper): (WebCore::createLinkWrapper): (WebCore::createStyleWrapper): (WebCore::createTitleWrapper): (WebCore::createJSWrapper):
  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors):
  • bindings/js/kjs_html.h:
  • html/HTMLBaseElement.idl: Added.
  • html/HTMLHeadElement.idl: Added.
  • html/HTMLLinkElement.idl: Added.
  • html/HTMLStyleElement.idl: Added.
  • html/HTMLTitleElement.idl: Added.
2:30 AM Changeset in webkit [14414] by andersca
  • 31 edits
    2 adds
    4 deletes in trunk

WebCore:

2006-05-16 Anders Carlsson <acarlsson@apple.com>

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images.

  • WebCore.xcodeproj/project.pbxproj: Add ImageDocument.


  • bridge/mac/WebCoreFrameBridge.h: Add mainResourceURLResponse and imageTitleForFilename.


  • bridge/mac/WebCoreFrameBridge.mm: (+[WebCoreFrameBridge supportedNonImageMIMETypes]): This used to be supportedMIMETypes but WebKit requires that we handle the image MIME types separately.


(+[WebCoreFrameBridge supportedImageMIMETypes]):
Add image types from WebCoreImageRendererFactory.


(-[WebCoreFrameBridge canProvideDocumentSource]):
Return no for image types.


  • dom/xml_tokenizer.h: (WebCore::Tokenizer::wantsRawData): (WebCore::Tokenizer::writeRawData): New virtual functions which tokenizers can override if they want to get raw data (which isn't fed through the decoder)


  • html/HTMLImageElement.h: (WebCore::HTMLImageElement::setLoadManually): New function which calls HTMLImageLoader::setLoadManually


  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::HTMLImageLoader): (WebCore::HTMLImageLoader::updateFromElement): Don't request the image from the loader if the load is set to be manual.


  • html/HTMLImageLoader.h: (WebCore::HTMLImageLoader::setLoadManually): New function which decides if the image data should be fed manually or loaded by the loader.


  • loader/DocLoader.h: Add HTMLImageLoader as a friend.


  • loader/ImageDocument.cpp: Added. (WebCore::ImageTokenizer::ImageTokenizer): (WebCore::ImageTokenizer::wantsRawData): (WebCore::ImageTokenizer::write): (WebCore::ImageTokenizer::writeRawData): (WebCore::ImageTokenizer::stopParsing): (WebCore::ImageTokenizer::finish): (WebCore::ImageTokenizer::isWaitingForScripts): (WebCore::ImageDocument::ImageDocument): (WebCore::ImageDocument::createTokenizer):
  • loader/ImageDocument.h: Added. Add new ImageDocument class which will feed its data to a created image element.
  • loader/TextDocument.h: Inherit from HTMLDocument here too, in case any broken web pages want to manipulate the DOM of any plain text documents.


  • page/Frame.cpp: (WebCore::Frame::begin): (WebCore::Frame::write): Don't create or use the decoder if the tokenizer is in "raw mode".


WebKit:

2006-05-16 Anders Carlsson <acarlsson@apple.com>

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images


  • WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge determineObjectFromMIMEType:URL:]): Remove WebImageView handling.


(-[WebFrameBridge mainResourceURLResponse]):
New function which returns the URL response for the main resource. This is used by the
manual loading of images.


(-[WebFrameBridge imageTitleForFilename:size:]):
New function which returns a correctly translated image title given a filename and a size.


  • WebCoreSupport/WebImageRenderer.m: (-[WebImageRenderer _startOrContinueAnimationIfNecessary]): Remove WebImageView handling.


  • WebKit.xcodeproj/project.pbxproj: Remove WebImageRepresentation and WebImageView.


  • WebView/WebArchiver.h:
  • WebView/WebArchiver.m: (+[WebArchiver archiveMainResourceForFrame:]): New functions which returns a WebArchive with just the main resource, ignoring any subresources.


  • WebView/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.


  • WebView/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.


(+[WebHTMLRepresentation supportedMIMETypes]):
Create an array of image and non-image MIME Types.


(+[WebHTMLRepresentation supportedNonImageMIMETypes]):
(+[WebHTMLRepresentation supportedImageMIMETypes]):
New functions, separating the list of MIME types into image and non-image ones.


  • WebView/WebHTMLView.m: (+[WebHTMLView supportedImageMIMETypes]): (+[WebHTMLView supportedNonImageMIMETypes]): New functions which call down to WebHTMLRepresentation.


(-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
If the image element comes from an ImageDocument, just use an archive of the main resource
instead of the generated HTML document.


  • WebView/WebHTMLViewPrivate.h: Declare new functions.


  • WebView/WebImageRepresentation.h: Removed.
  • WebView/WebImageRepresentation.m: Removed.
  • WebView/WebImageView.h: Removed.
  • WebView/WebImageView.m: Removed.


LayoutTests:

2006-05-16 Anders Carlsson <acarlsson@apple.com>

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images.

  • css2.1/t0801-c412-hz-box-00-b-a-expected.txt:
  • dom/xhtml/level2/html/frame-expected.checksum:
  • dom/xhtml/level2/html/frame-expected.png:
  • dom/xhtml/level2/html/frame-expected.txt:
  • dom/xhtml/level2/html/iframe-expected.checksum:
  • dom/xhtml/level2/html/iframe-expected.png:
  • dom/xhtml/level2/html/iframe-expected.txt:
  • tables/mozilla/bugs/bug50695-2-expected.txt: Update tests.
2:26 AM Changeset in webkit [14413] by eseidel
  • 8 edits
    4 adds in trunk

2006-05-16 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Autogenerate JSHTMLMetaElement.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8938

Test: fast/dom/HTMLMetaElement/meta-attributes.html

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createMetaWrapper): (WebCore::createJSWrapper):
  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors):
  • bindings/js/kjs_html.h:
  • html/HTMLMetaElement.h:
2:06 AM Changeset in webkit [14412] by hyatt
  • 17 edits
    3 adds
    3 deletes in trunk/WebCore

Bug 8936, eliminate WebTextRendererFactory and convert it over to the
new FontCache.

Reviewed by andersca

  • WebCore.xcodeproj/project.pbxproj:
  • bridge/mac/WebCoreStringTruncator.mm:
  • kwq/KWQComboBox.mm:
  • kwq/KWQLineEdit.mm:
  • kwq/KWQListBox.mm:
  • platform/Font.h: (WebCore::Font::bold):
  • platform/FontCache.cpp: Added. (WebCore::FontPlatformDataCacheKey::m_italic): (WebCore::FontPlatformDataCacheKey::operator==): (WebCore::computeHash): (WebCore::FontPlatformDataCacheKeyHash::hash): (WebCore::FontPlatformDataCacheKeyHash::equal): (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): (WebCore::FontCache::getCachedFontPlatformData): (WebCore::FontDataCacheKeyHash::hash): (WebCore::FontDataCacheKeyHash::equal): (WebCore::FontDataCacheKeyTraits::deletedValue): (WebCore::FontCache::getCachedFontData): (WebCore::FontCache::getFontData): (WebCore::FontCache::clearCommonCaches):
  • platform/FontCache.h:
  • platform/FontData.h:
  • platform/FontFamily.cpp: (WebCore::FontFamily::FontFamily): (WebCore::FontFamily::operator=): (WebCore::FontFamily::setFamily):
  • platform/FontFamily.h: (WebCore::FontFamily::familyIsEmpty):
  • platform/FontPlatformData.h: (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::operator==):
  • platform/mac/FontCacheMac.mm: (WebCore::getAppDefaultValue): (WebCore::getUserDefaultValue): (WebCore::getLCDScaleParameters): (WebCore::fontsChanged): (WebCore::FontCache::registerForFontChanges): (WebCore::FontCache::clearCaches): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::createFontPlatformData):
  • platform/mac/FontData.mm: (-[NSFont WebCore]): (WidthMap::FontData::xHeight): (WidthMap::FontData::smallCapsFontData): (WidthMap::computeWidthForSpace): (WidthMap::setUpFont): (WidthMap::fillStyleWithAttributes): (WidthMap::FontData::determinePitch):
  • platform/mac/FontFallbackListMac.mm: (WebCore::FontFallbackList::setPlatformFont):
  • platform/mac/FontFamilyMac.mm: Removed.
  • platform/mac/FontMac.mm:
  • platform/mac/WebCoreTextRenderer.mm: (WebCoreFindFont):
  • platform/mac/WebFontCache.h: Added.
  • platform/mac/WebFontCache.mm: Added. (acceptableChoice): (betterChoice): (+[WebFontCache fontWithFamily:traits:size:]):
  • platform/mac/WebTextRendererFactory.h: Removed.
  • platform/mac/WebTextRendererFactory.mm: Removed.
1:31 AM Changeset in webkit [14411] by hyatt
  • 8 edits in trunk/LayoutTests/fast/text

Update fast/text results.

1:20 AM Changeset in webkit [14410] by eseidel
  • 2 edits
    1 add in trunk/WebCore

2006-05-16 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Add Rect.idl, even though it can't be used quite yet due to generator limitations.

  • WebCore.xcodeproj/project.pbxproj:
  • css/Rect.idl: Added.
12:54 AM Changeset in webkit [14409] by eseidel
  • 2 edits in trunk/WebCore

2006-05-16 Sam Weinig <sam.weinig@gmail.com>

Reviewed by darin. Landed by eseidel.

Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8924>
Bug 8924: re-apply the 'disabled type=file' change
from bug 5882 to RenderFileButton


  • rendering/RenderFileButton.cpp: (WebCore::RenderFileButton::updateFromElement):
12:52 AM Changeset in webkit [14408] by eseidel
  • 42 edits
    5 copies
    2 moves in trunk/WebCore

2006-05-16 Eric Seidel <eseidel@apple.com>

Reviewed by hyatt.

Split css_base.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8935

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/kjs_css.cpp:
  • css/CSSBorderImageValue.cpp:
  • css/CSSBorderImageValue.h:
  • css/CSSCharsetRule.h:
  • css/CSSFontFaceRule.h:
  • css/CSSGrammar.y:
  • css/CSSImportRule.h:
  • css/CSSInheritedValue.cpp:
  • css/CSSInitialValue.cpp:
  • css/CSSMediaRule.h:
  • css/CSSMutableStyleDeclaration.h:
  • css/CSSNamespace.h: Added. (WebCore::CSSNamespace::CSSNamespace): (WebCore::CSSNamespace::namespaceForPrefix):
  • css/CSSPageRule.h:
  • css/CSSPrimitiveValue.h:
  • css/CSSProperty.cpp:
  • css/CSSProperty.h:
  • css/CSSRule.h:
  • css/CSSRuleList.cpp:
  • css/CSSSelector.cpp: Added.
  • css/CSSSelector.h: Added. (WebCore::CSSSelector::CSSSelector):
  • css/CSSStyleDeclaration.h:
  • css/CSSStyleRule.cpp:
  • css/CSSStyleRule.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::~CSSStyleSheet):
  • css/CSSStyleSheet.h:
  • css/CSSValue.h:
  • css/CSSValueList.cpp:
  • css/CSSValueList.h:
  • css/FontFamilyValue.cpp:
  • css/FontValue.cpp:
  • css/FontValue.h:
  • css/MediaList.h:
  • css/ShadowValue.cpp:
  • css/ShadowValue.h:
  • css/StyleBase.cpp: Added. (WebCore::StyleBase::stylesheet):
  • css/StyleBase.h: Added. (WebCore::StyleBase::StyleBase):
  • css/StyleList.cpp: Added.
  • css/StyleList.h: Added.
  • css/StyleSheet.h:
  • css/css_base.cpp: Removed.
  • css/css_base.h: Removed.
  • css/cssparser.cpp:
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::matchRulesForList):
  • css/cssstyleselector.h:
  • dom/CSSMappedAttributeDeclaration.h:
  • ksvg2/svg/SVGColor.cpp: (WebCore::SVGColor::SVGColor): (WebCore::SVGColor::setRGBColor): (WebCore::SVGColor::setRGBColorICCColor): (WebCore::SVGColor::setColor): (WebCore::SVGColor::cssText): (WebCore::SVGColor::color):
  • ksvg2/svg/SVGColor.h:
  • ksvg2/svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::SVGStyledElement): (WebCore::SVGStyledElement::className): (WebCore::SVGStyledElement::createRenderer): (WebCore::SVGStyledElement::parseMappedAttribute): (WebCore::SVGStyledElement::notifyAttributeChange): (WebCore::SVGStyledElement::attributeChanged): (WebCore::SVGStyledElement::canvas): (WebCore::SVGStyledElement::updateCanvasItem): (WebCore::SVGStyledElement::pushAttributeContext):

May 15, 2006:

10:33 PM Changeset in webkit [14407] by eseidel
  • 54 edits
    42 copies
    4 moves in trunk/WebCore

2006-05-15 Eric Seidel <eseidel@apple.com>

Reviewed by hyatt.

Split css_valueimpl.* and css_ruleimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8934

  • WebCore+SVG/RGBColor.cpp: (WebCore::RGBColor::RGBColor):
  • WebCore.vcproj/WebCore/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/kjs_css.cpp: (KJS::DOMCSSRule::classInfo):
  • bindings/js/kjs_css.h:
  • bindings/js/kjs_dom.cpp:
  • bindings/js/kjs_html.cpp:
  • bindings/js/kjs_window.cpp:
  • bindings/objc/DOMCSS.mm:
  • bindings/scripts/CodeGeneratorJS.pm:
  • css/CSSBorderImageValue.cpp: Added. (WebCore::CSSBorderImageValue::CSSBorderImageValue):
  • css/CSSBorderImageValue.h: Added.
  • css/CSSCharsetRule.h: Added. (WebCore::CSSCharsetRule::CSSCharsetRule):
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForShadow): (WebCore::):
  • css/CSSComputedStyleDeclaration.h:
  • css/CSSFontFaceRule.cpp: Added. (WebCore::CSSFontFaceRule::CSSFontFaceRule):
  • css/CSSFontFaceRule.h: Added. (WebCore::CSSFontFaceRule::isFontFaceRule):
  • css/CSSGrammar.y:
  • css/CSSImageValue.cpp: Added. (WebCore::CSSImageValue::CSSImageValue):
  • css/CSSImageValue.h: Added.
  • css/CSSImportRule.cpp: Added.
  • css/CSSImportRule.h: Added.
  • css/CSSInheritedValue.cpp: Added.
  • css/CSSInheritedValue.h: Added.
  • css/CSSInitialValue.cpp: Added.
  • css/CSSInitialValue.h: Added.
  • css/CSSMediaRule.cpp: Added. (WebCore::CSSMediaRule::CSSMediaRule): (WebCore::CSSMediaRule::~CSSMediaRule): (WebCore::CSSMediaRule::append): (WebCore::CSSMediaRule::deleteRule): (WebCore::CSSMediaRule::cssText):
  • css/CSSMediaRule.h: Added. (WebCore::CSSMediaRule::media): (WebCore::CSSMediaRule::cssRules):
  • css/CSSMutableStyleDeclaration.cpp: Added. (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::setChanged):
  • css/CSSMutableStyleDeclaration.h: Added.
  • css/CSSPageRule.cpp: Added. (WebCore::CSSPageRule::CSSPageRule):
  • css/CSSPageRule.h: Added. (WebCore::CSSPageRule::isPageRule):
  • css/CSSPrimitiveValue.cpp: Added.
  • css/CSSPrimitiveValue.h: Added.
  • css/CSSProperty.cpp: Added. (WebCore::CSSProperty::cssText):
  • css/CSSProperty.h: Added. (WebCore::CSSProperty::CSSProperty):
  • css/CSSQuirkPrimitiveValue.h: Added.
  • css/CSSRule.cpp: Added.
  • css/CSSRule.h: Added. (WebCore::CSSRule::CSSRule):
  • css/CSSRuleList.cpp: Added. (WebCore::CSSRuleList::CSSRuleList): (WebCore::CSSRuleList::~CSSRuleList): (WebCore::CSSRuleList::deleteRule): (WebCore::CSSRuleList::append): (WebCore::CSSRuleList::insertRule):
  • css/CSSRuleList.h: Added. (WebCore::CSSRuleList::item):
  • css/CSSStyleDeclaration.cpp: Added. (WebCore::CSSStyleDeclaration::CSSStyleDeclaration): (WebCore::CSSStyleDeclaration::diff):
  • css/CSSStyleDeclaration.h: Added.
  • css/CSSStyleRule.cpp: Added. (WebCore::CSSStyleRule::CSSStyleRule): (WebCore::CSSStyleRule::selectorText):
  • css/CSSStyleRule.h: Added.
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::ownerRule):
  • css/CSSUnknownRule.h: Added. (WebCore::CSSUnknownRule::CSSUnknownRule):
  • css/CSSValue.h: Added.
  • css/CSSValueList.cpp: Added.
  • css/CSSValueList.h: Added.
  • css/Counter.h: Added.
  • css/DashboardRegion.h: Added.
  • css/FontFamilyValue.cpp: Added.
  • css/FontFamilyValue.h: Added. (WebCore::FontFamilyValue::genericFamilyType):
  • css/FontValue.cpp: Added. (WebCore::FontValue::cssText):
  • css/FontValue.h: Added.
  • css/MediaList.cpp:
  • css/Pair.h: Added. (WebCore::Pair::~Pair):
  • css/RectImpl.h: Added. (WebCore::RectImpl::~RectImpl):
  • css/ShadowValue.cpp: Added. (WebCore::ShadowValue::ShadowValue):
  • css/ShadowValue.h: Added.
  • css/css_base.cpp:
  • css/css_ruleimpl.cpp: Removed.
  • css/css_ruleimpl.h: Removed.
  • css/css_valueimpl.cpp: Removed.
  • css/css_valueimpl.h: Removed.
  • css/cssparser.cpp: (WebCore::CSSParser::parseColor): (WebCore::CSSParser::parseFontFamily):
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::locateCousinList): (WebCore::CSSStyleSelector::checkSelector): (WebCore::CSSRuleSet::addRulesFromSheet): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapBackgroundImage):
  • css/cssstyleselector.h:
  • dom/CSSMappedAttributeDeclaration.h: (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
  • dom/Document.cpp:
  • editing/ApplyStyleCommand.cpp:
  • editing/CompositeEditCommand.h:
  • editing/EditCommand.cpp:
  • editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
  • editing/InsertLineBreakCommand.h:
  • editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
  • editing/RemoveCSSPropertyCommand.cpp: (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
  • editing/RemoveCSSPropertyCommand.h: (WebCore::RemoveCSSPropertyCommand::styleDeclaration):
  • html/HTMLBodyElement.cpp:
  • html/HTMLElement.cpp:
  • html/HTMLScriptElement.h:
  • html/HTMLTokenizer.h:
  • kcanvas/KCanvasFilters.h: (WebCore::KCanvasFEColorMatrix::values): (WebCore::KCanvasFEColorMatrix::setValues): (WebCore::KCanvasFEConvolveMatrix::kernel): (WebCore::KCanvasFEConvolveMatrix::setKernel):
  • kcanvas/KCanvasPath.h:
  • kcanvas/KCanvasTreeDebug.h: (WebCore::operator<<):
  • kcanvas/RenderPath.h:
  • ksvg2/css/SVGCSSParser.cpp: (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parseSVGStrokeDasharray): (WebCore::CSSParser::parseSVGPaint): (WebCore::CSSParser::parseSVGColor):
  • ksvg2/css/SVGCSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applySVGProperty):
  • ksvg2/css/SVGRenderStyleDefs.h:
  • ksvg2/ecma/Ecma.cpp:
  • ksvg2/misc/KCanvasRenderingStyle.cpp:
  • ksvg2/misc/KCanvasRenderingStyle.h:
  • ksvg2/svg/SVGAnimationElement.cpp:
  • ksvg2/svg/SVGColor.cpp:
  • ksvg2/svg/SVGColor.h:
  • ksvg2/svg/SVGCursorElement.h:
  • ksvg2/svg/SVGFEColorMatrixElement.cpp: (SVGFEColorMatrixElement::filterEffect):
  • page/DOMWindow.cpp:
  • page/Frame.cpp:
  • page/FramePrivate.h:
  • platform/DeprecatedValueList.h:
  • rendering/RenderTextField.cpp:
9:38 PM Changeset in webkit [14406] by ap
  • 5 edits in trunk

JavaScriptCore:

  • make-generated-sources.sh: Changed to be executable and removed text in the file generated by "svn diff".

WebKitTools:

  • Scripts/install-unix-extras: Changed to be executable and removed text in the file generated by "svn diff".
  • Scripts/regenerate-makefiles: Ditto.
9:30 PM Changeset in webkit [14405] by darin
  • 2 edits in trunk/WebCore
  • WebCore.xcodeproj/project.pbxproj: Removed duplicate files that were screwing up Xcode.
8:11 PM Changeset in webkit [14404] by eseidel
  • 1 edit in trunk/WebCore/bindings/js/kjs_css.h

Fix typo causing build failure.

7:54 PM Changeset in webkit [14403] by ggaren
  • 4 edits
    6 adds in trunk

JavaScriptCore:

Reviewed by Maciej.

  • Fixed <rdar://problem/4534904> please do not treat "debugger" as a reserved word while parsing JavaScript (and other ECMA reserved words)

AKA

http://bugzilla.opendarwin.org/show_bug.cgi?id=6179
We treat "char" as a reserved word in JavaScript and firefox/IE do
not

(1) I unreserved most of the spec's "future reserved words" because
they're not reserved in IE or FF. (Most, but not all, because IE
somewhat randomly *does* reserve a few of them.)
(2) I made 'debugger' a legitimate statement that acts like an empty
statement because FF and IE support it.


  • kjs/grammar.y:
  • kjs/keywords.table:

LayoutTests:

  • fast/js/debugger-expected.txt: Added.
  • fast/js/debugger.html: Added.
  • fast/js/reserved-words-expected.txt: Added.
  • fast/js/reserved-words.html: Added.
  • fast/js/resources/debugger.js: Added.
  • fast/js/resources/reserved-words.js: Added.
7:21 PM Changeset in webkit [14402] by eseidel
  • 1 edit in trunk/WebCore/bindings/js/kjs_css.h

A few more style cleanup changes I missed in my last commit.

7:08 PM Changeset in webkit [14401] by eseidel
  • 33 edits
    6 copies
    2 moves in trunk/WebCore

2006-05-15 Eric Seidel <eseidel@apple.com>

Reviewed by mjs.

Split css_stylesheetimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8933

  • WebCore.vcproj/WebCore/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSStyleSheet.cpp: Added. (WebCore::CSSStyleSheet::CSSStyleSheet): (WebCore::CSSStyleSheet::addRule): (WebCore::CSSStyleSheet::deleteRule): (WebCore::CSSStyleSheet::parseString): (WebCore::CSSStyleSheet::docLoader):
  • css/CSSStyleSheet.h: Added.
  • css/MediaList.cpp: Added. (WebCore::MediaList::MediaList): (WebCore::MediaList::contains): (WebCore::MediaList::parentStyleSheet): (WebCore::MediaList::parentRule): (WebCore::MediaList::deleteMedium): (WebCore::MediaList::setMediaText):
  • css/MediaList.h: Added.
  • css/StyleSheet.cpp: Added. (WebCore::StyleSheet::StyleSheet): (WebCore::StyleSheet::parentStyleSheet): (WebCore::StyleSheet::setMedia):
  • css/StyleSheet.h: Added. (WebCore::StyleSheet::ownerNode):
  • css/StyleSheetList.cpp: Added. (WebCore::StyleSheetList::~StyleSheetList): (WebCore::StyleSheetList::add): (WebCore::StyleSheetList::remove): (WebCore::StyleSheetList::item):
  • css/StyleSheetList.h: Added.
  • css/css_stylesheetimpl.cpp: Removed.
  • css/css_stylesheetimpl.h: Removed.
7:00 PM Changeset in webkit [14400] by darin
  • 3 edits in trunk/WebCore
  • make-generated-sources.sh: Changed to be executable and removed text in the file generated by "svn diff".
  • move-js-headers.sh: Ditto.
6:04 PM Changeset in webkit [14399] by bdakin
  • 121 edits in trunk/LayoutTests

Reviewed by Darin.

These tests have new expected results after the fix for
http://bugzilla.opendarwin.org/show_bug.cgi?id=6838 Incomplete
repaint of collapsed table borders

5:43 PM Changeset in webkit [14398] by thatcher
  • 3 edits in trunk/WebCore/platform/mac

64-bit build fixes.

5:04 PM Changeset in webkit [14397] by tomernic
  • 5 edits in trunk

JavaScriptCore:

Reviewed by John Sullivan.

Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API

Added to the Netscape Plugin API the concept of "plugin drawing models". The drawing model
determines the kind of graphics context created by the browser for the plugin, as well as
the Mac types of various Netscape Plugin API data structures.

There is a drawing model to represent the old QuickDraw-based API. It is used by default
if QuickDraw is available on the system, unless the plugin specifies another drawing model.

The big change is the addition of the CoreGraphics drawing model. A plugin may request this
drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.

  • bindings/npapi.h: Define NP_NO_QUICKDRAW when compiling 64-bit; there is no 64-bit QuickDraw. Added NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and NPNVsupportsCoreGraphicsBool variables. Added NPDrawingModel enumeration. Currently the only drawing models are QuickDraw and CoreGraphics. NPRegion's type now depends on the drawing model specified by the plugin. NP_Port is now only defined when QuickDraw is available. Added NP_CGContext, which is the type of the NPWindow's "window" member in CoreGraphics mode.

WebKit:

Reviewed by John Sullivan.

Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API

Added to the Netscape Plugin API the concept of "plugin drawing models". The drawing model
determines the kind of graphics context created by the browser for the plugin, as well as
the Mac types of various Netscape Plugin API data structures.

There is a drawing model to represent the old QuickDraw-based API. It is used by default
if QuickDraw is available on the system, unless the plugin specifies another drawing model.

The big change is the addition of the CoreGraphics drawing model. A plugin may request this
drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.

  • Plugins/WebBaseNetscapePluginView.h: Added PluginPort union, which wraps a NP_Port and a NP_CGContext. This is to make access to the nPort and lastSetPort ivars more convenient now that the port type differs based on the drawing model. Changed types of nPort and lastSetPort to PluginPort so they can be used with any drawing model. Added drawingModel ivar.
  • Plugins/WebBaseNetscapePluginView.m: Renamed PortState to PortState_QD. PortState is now an opaque pointer. PortState_QD cannot be used if QuickDraw is unavailable. (-[WebBaseNetscapePluginView fixWindowPort]): Cannot be used if QuickDraw is unavailable. (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Only fix window port if drawing model is QuickDraw. Re-ordered some code so I could group QuickDraw-specific stuff into switch and if blocks (that's why the diff here is so terrible). Now returns a malloc()'ed PortState that the caller is responsible for freeing. Renamed to better reflect this behavior. Support for the CoreGraphics drawing model -- fill PortState_CG struct, save CGContext state. (-[WebBaseNetscapePluginView restorePortState:]): Switch based on drawing model. Support for the CoreGraphics drawing model -- restore CGContext state saved earlier. (-[WebBaseNetscapePluginView sendEvent:]): Formatting. Don't set save/set port state or set the window in CoreGraphics mode unless the event being sent is an updateEvt. We can't provide the plugin with a CGContext outside of our view display cycle. Don't restore PortState if it's NULL (didn't used to be a pointer). Free when we're done with it. (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Formatting. Switch how we compare ports based on the drawing model. (-[WebBaseNetscapePluginView updateAndSetWindow]): Fixed for CoreGraphics by triggering a redisplay instead of sending an update event to the plugin outside of the view display cycle. Don't restore PortState if it's NULL (didn't used to be a pointer). Free when we're done with it. (-[WebBaseNetscapePluginView setWindowIfNecessary]): Assert that the window is only set when updating in CoreGraphics mode. Log differently depending on the drawing model. (-[WebBaseNetscapePluginView start]): Fall back on QuickDraw if the plugin does not specify a drawing model. (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Cannot be used if QuickDraw is unavailable. (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Only call -tellQuickTimeToChill in QuickDraw mode. (-[WebBaseNetscapePluginView viewHasMoved:]): ditto (-[WebBaseNetscapePluginView invalidateRegion:]): NPRegion is a CGPathRef in CoreGraphics mode. (-[WebBaseNetscapePluginView getVariable:value:]): Added support for retriveing the NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and NPNVsupportsCoreGraphicsBool browser variables. (-[WebBaseNetscapePluginView setVariable:value:]): Added support for setting the NPNVpluginDrawingModel variable.
5:04 PM Changeset in webkit [14396] by eseidel
  • 2 edits in trunk/WebCore

2006-05-15 Eric Seidel <eseidel@apple.com>

  • WebCore.xcodeproj/project.pbxproj: build fix.
4:53 PM Changeset in webkit [14395] by eseidel
  • 11 edits
    6 copies
    2 moves in trunk/WebCore

2006-05-15 Eric Seidel <eseidel@apple.com>

Reviewed by ggaren.

Split dom_xmlimpl.* into separate files (one per class).

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Entity.cpp: Added. (WebCore::Entity::Entity):
  • dom/Entity.h: Added.
  • dom/EntityReference.cpp: Added. (WebCore::EntityReference::EntityReference):
  • dom/EntityReference.h: Added.
  • dom/Notation.cpp: Added. (WebCore::Notation::Notation):
  • dom/Notation.h: Added.
  • dom/ProcessingInstruction.cpp: Added. (WebCore::ProcessingInstruction::ProcessingInstruction):
  • dom/ProcessingInstruction.h: Added.
  • dom/dom_xmlimpl.cpp: Removed.
  • dom/dom_xmlimpl.h: Removed.
4:30 PM Changeset in webkit [14394] by thatcher
  • 1 edit in trunk/WebCore/kwq/KWQListBox.mm

build fix

4:23 PM Changeset in webkit [14393] by eseidel
  • 24 edits
    6 copies
    2 moves in trunk/WebCore

2006-05-15 Eric Seidel <eseidel@apple.com>

Reviewed by Tim Hatcher.

Split html_imageimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8929

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCanvasRenderingContext2DBase.cpp:
  • bindings/js/kjs_events.cpp:
  • bindings/js/kjs_html.cpp:
  • bindings/objc/DOMHTML.mm:
  • bridge/mac/WebCoreFrameBridge.mm:
  • dom/Document.cpp:
  • editing/JSEditor.cpp:
  • html/CanvasRenderingContext2D.cpp:
  • html/HTMLAnchorElement.cpp:
  • html/HTMLAreaElement.cpp: Added. (WebCore::HTMLAreaElement::HTMLAreaElement): (WebCore::HTMLAreaElement::mapMouseEvent): (WebCore::HTMLAreaElement::getRect): (WebCore::HTMLAreaElement::getRegion):
  • html/HTMLAreaElement.h: Added.
  • html/HTMLCanvasElement.h:
  • html/HTMLDocument.cpp:
  • html/HTMLElementFactory.cpp:
  • html/HTMLFormCollection.cpp:
  • html/HTMLFormElement.cpp:
  • html/HTMLImageElement.cpp: Added. (WebCore::HTMLImageElement::HTMLImageElement):
  • html/HTMLImageElement.h: Added.
  • html/HTMLImageLoader.cpp: Added. (WebCore::HTMLImageLoader::HTMLImageLoader):
  • html/HTMLImageLoader.h: Added.
  • html/HTMLInputElement.cpp:
  • html/HTMLMapElement.cpp: Added. (WebCore::HTMLMapElement::mapMouseEvent): (WebCore::HTMLMapElement::parseMappedAttribute):
  • html/HTMLMapElement.h: Added.
  • html/HTMLObjectElement.cpp:
  • html/HTMLParser.cpp:
  • html/html_imageimpl.cpp: Removed.
  • html/html_imageimpl.h: Removed.
  • ksvg2/misc/SVGImageLoader.h:
  • kwq/WebCoreAXObject.mm: (-[WebCoreAXObject addChildrenToArray:]):
  • page/Frame.cpp:
  • rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): (WebCore::RenderImage::nodeAtPoint):
3:22 PM Changeset in webkit [14392] by tomernic
  • 3 edits in branches/Safari-2-0-branch/WebKit

Merged fix and follow-up fix from TOT to Safari-2-0-branch

2006-05-15 Tim Omernick <timo@apple.com>

Reviewed by Darin.

Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire
as frequently as they should. This is a general problem with the PLT -- because of this, it does not measure
work done in timer callbacks during/after the page load process.

Unfortunately, this aspect of the PLT interferes with our window display throttle hack. Because we throttle
display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.

I've added a new method that the PLT can call after each page load to force any starved display throttle timers
to fire. By doing this, Safari's PLT will be guaranteed to display each page at least once.

  • Misc/WebNSWindowExtras.h:
  • Misc/WebNSWindowExtras.m: Added a special internal runloop mode for the throttle timers. (+[NSWindow _webkit_displayThrottledWindows]): Run the runloop in our special internal mode until there are no more sources to handle. (requestWindowDisplay): Schedule the timer in the new mode as well as the standard modes.

2006-05-15 Tim Omernick <timo@apple.com>

Reviewed by Kevin Decker.

Follow-up to my previous PLT fix. I found upon further testing (by dramatically decreasing the
allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
necessary. The reason is that I was not giving a proper timeout to CFRunLoopRunInMode(). I was
passing 0, which was causing only "expired" timers to fire. This method is actually supposed to
block until all currently scheduled display timers fire.

I tested this change and found that it did not affect my PLT times when the display rate was
capped to 60 fps. It also behaves as expected when the display rate is set much lower (say, 1
display per second); my previous fix did not work well at such display rates.

  • Misc/WebNSWindowExtras.m: (+[NSWindow _webkit_displayThrottledWindows]): Run the runloop for an amount of time equal to the minimum allowed interval between displays. This ensures that we'll block until all currently scheduled display timers fire (but we won't block for future display timers).
3:18 PM Changeset in webkit [14391] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by Kevin Decker.

Follow-up to my previous PLT fix. I found upon further testing (by dramatically decreasing the
allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
necessary. The reason is that I was not giving a proper timeout to CFRunLoopRunInMode(). I was
passing 0, which was causing only "expired" timers to fire. This method is actually supposed to
block until all currently scheduled display timers fire.

I tested this change and found that it did not affect my PLT times when the display rate was
capped to 60 fps. It also behaves as expected when the display rate is set much lower (say, 1
display per second); my previous fix did not work well at such display rates.

  • Misc/WebNSWindowExtras.m: (+[NSWindow _webkit_displayThrottledWindows]): Run the runloop for an amount of time equal to the minimum allowed interval between displays. This ensures that we'll block until all currently scheduled display timers fire (but we won't block for future display timers).
2:57 PM Changeset in webkit [14390] by eseidel
  • 9 edits
    12 copies
    2 moves in trunk/WebCore

2006-05-15 Eric Seidel <eseidel@apple.com>

Reviewed by beth.

Split html_blockimpl.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8927

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/kjs_html.cpp:
  • bindings/objc/DOMHTML.mm:
  • html/HTMLBlockquoteElement.cpp: Added. (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
  • html/HTMLBlockquoteElement.h: Added.
  • html/HTMLDivElement.cpp: Added.
  • html/HTMLDivElement.h: Added.
  • html/HTMLElementFactory.cpp:
  • html/HTMLHRElement.cpp: Added.
  • html/HTMLHRElement.h: Added.
  • html/HTMLHeadingElement.cpp: Added.
  • html/HTMLHeadingElement.h: Added.
  • html/HTMLMarqueeElement.cpp: Added. (WebCore::HTMLMarqueeElement::HTMLMarqueeElement): (WebCore::HTMLMarqueeElement::parseMappedAttribute):
  • html/HTMLMarqueeElement.h: Added.
  • html/HTMLParagraphElement.cpp: Added.
  • html/HTMLParagraphElement.h: Added.
  • html/HTMLParser.cpp:
  • html/HTMLPreElement.cpp: Added. (WebCore::HTMLPreElement::HTMLPreElement): (WebCore::HTMLPreElement::setWrap):
  • html/HTMLPreElement.h: Added.
  • html/HTMLTextFieldInnerElement.h:
  • html/html_blockimpl.cpp: Removed.
  • html/html_blockimpl.h: Removed.
  • rendering/RenderLayer.cpp:
2:16 PM Changeset in webkit [14389] by eseidel
  • 16 edits
    14 copies
    4 moves in trunk/WebCore

2006-05-15 Eric Seidel <eseidel@apple.com>

Reviewed by ggaren.

Split render_list.* and html_listimpl.* into separate files (one per class).

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/kjs_html.cpp:
  • bindings/objc/DOMHTML.mm:
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString):
  • html/HTMLDListElement.cpp: Added. (WebCore::HTMLDListElement::HTMLDListElement):
  • html/HTMLDListElement.h: Added.
  • html/HTMLDirectoryElement.cpp: Added. (WebCore::HTMLDirectoryElement::HTMLDirectoryElement):
  • html/HTMLDirectoryElement.h: Added.
  • html/HTMLElementFactory.cpp:
  • html/HTMLKeygenElement.cpp:
  • html/HTMLLIElement.cpp: Added. (WebCore::HTMLLIElement::HTMLLIElement): (WebCore::HTMLLIElement::parseMappedAttribute): (WebCore::HTMLLIElement::attach): (WebCore::HTMLLIElement::setType):
  • html/HTMLLIElement.h: Added.
  • html/HTMLMenuElement.cpp: Added. (WebCore::HTMLMenuElement::HTMLMenuElement):
  • html/HTMLMenuElement.h: Added.
  • html/HTMLOListElement.cpp: Added. (WebCore::HTMLOListElement::HTMLOListElement): (WebCore::HTMLOListElement::parseMappedAttribute): (WebCore::HTMLOListElement::setType):
  • html/HTMLOListElement.h: Added. (WebCore::HTMLOListElement::start):
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::HTMLOptionElement): (WebCore::HTMLOptionElement::checkDTD): (WebCore::HTMLOptionElement::text): (WebCore::HTMLOptionElement::setText): (WebCore::HTMLOptionElement::getSelect): (WebCore::HTMLOptionElement::setLabel):
  • html/HTMLOptionElement.h:
  • html/HTMLParser.cpp:
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::HTMLSelectElement):
  • html/HTMLUListElement.cpp: Added. (WebCore::HTMLUListElement::HTMLUListElement):
  • html/HTMLUListElement.h: Added.
  • html/html_listimpl.cpp: Removed.
  • html/html_listimpl.h: Removed.
  • kwq/WebCoreAXObject.mm:
  • rendering/InlineFlowBox.cpp:
  • rendering/ListMarkerBox.cpp: Added. (WebCore::ListMarkerBox::ListMarkerBox): (WebCore::ListMarkerBox::isText):
  • rendering/ListMarkerBox.h: Added.
  • rendering/RenderContainer.cpp: (WebCore::updateListMarkerNumbers): (WebCore::RenderContainer::addChild): (WebCore::RenderContainer::removeChild): (WebCore::RenderContainer::layout): (WebCore::RenderContainer::removeLeftoverAnonymousBoxes): (WebCore::RenderContainer::positionForCoordinates): (WebCore::RenderContainer::lineBoxRects):
  • rendering/RenderListItem.cpp: Added. (WebCore::RenderListItem::RenderListItem): (WebCore::RenderListItem::setStyle): (WebCore::RenderListItem::calcValue): (WebCore::RenderListItem::markerStringValue):
  • rendering/RenderListItem.h: Added. (WebCore::RenderListItem::renderName): (WebCore::RenderListItem::setValue): (WebCore::RenderListItem::setNotInList): (WebCore::RenderListItem::notInList):
  • rendering/RenderListMarker.cpp: Added. (WebCore::RenderListMarker::RenderListMarker): (WebCore::RenderListMarker::setStyle): (WebCore::RenderListMarker::paint): (WebCore::RenderListMarker::layout): (WebCore::RenderListMarker::calcMinMaxWidth):
  • rendering/RenderListMarker.h: Added. (WebCore::RenderListMarker::renderName):
  • rendering/RenderObject.cpp:
  • rendering/render_list.cpp: Removed.
  • rendering/render_list.h: Removed.
2:12 PM Changeset in webkit [14388] by hyatt
  • 1 edit in trunk/LayoutTests/editing/input/attributed-substring-from-range-lines-expected.txt

Land updated results.

1:49 PM Changeset in webkit [14387] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Tim Omernick.


  • followup to previous fix; I hadn't tested quitting adequately
  • WebView/WebHTMLView.m: (-[WebHTMLView dealloc]): call removeAllToolTips before clearing _private so that removeTrackingRect: override can work properly. Normally removeAllToolTips would be called by super, but that's too late. (-[WebHTMLView finalize]): ditto
1:25 PM Changeset in webkit [14386] by thatcher
  • 1 copy in tags/WebKit-418.4/WebKit

Tag for WebKit 418.4 (part 2 of 2.)

1:25 PM Changeset in webkit [14385] by thatcher
  • 1 add in tags/WebKit-418.4

Tag for WebKit 418.4 (part 1 of 2.)

1:25 PM Changeset in webkit [14384] by thatcher
  • 1 delete in tags/WebCore-418.4/WebCore/WebCore

Removing a bad tag.

1:23 PM Changeset in webkit [14383] by sullivan
  • 4 edits in trunk/WebKit

Reviewed by Darin.


  • fixed <rdar://problem/4503016> TOT assertion failure in -[WebHTMLView(WebPrivate) removeTrackingRect:]


We have some tricky code to deal with tracking rects, which succumbed to a fix in AppKit. Updated our
tricky code to work with the AppKit fix.

  • WebView/WebHTMLViewInternal.h: new instance variable lastToolTipTag


  • WebView/WebHTMLView.m: (-[WebHTMLView removeTrackingRect:]): handle removing lastToolTipTag by calling super (-[WebHTMLView _setToolTip:]): save tool tip tag in lastToolTipTag; this apparently used to always return 0, so we formerly had no way to distinguish it from the no-tool-tips-yet case.
  • WebKit.xcodeproj/project.pbxproj: Xcode removed some old cruft
12:15 PM Changeset in webkit [14382] by eseidel
  • 17 edits
    18 copies
    2 moves in trunk/WebCore

2006-05-15 Sam Weinig <sam.weinig@gmail.com>

Reviewed by eseidel.

Split render_form.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8889

  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::HTMLButtonElement):
  • html/HTMLFieldSetElement.cpp:
  • html/HTMLFormElement.cpp:
  • html/HTMLInputElement.cpp:
  • html/HTMLLabelElement.cpp:
  • html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::createRenderer):
  • html/HTMLOptionElement.cpp:
  • html/HTMLSelectElement.cpp:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::selectionStart): (WebCore::HTMLTextAreaElement::selectionEnd): (WebCore::HTMLTextAreaElement::setSelectionStart): (WebCore::HTMLTextAreaElement::setSelectionEnd): (WebCore::HTMLTextAreaElement::setSelectionRange): (WebCore::HTMLTextAreaElement::parseMappedAttribute): (WebCore::HTMLTextAreaElement::createRenderer): (WebCore::HTMLTextAreaElement::setValue): (WebCore::HTMLTextAreaElement::setDefaultValue): (WebCore::HTMLTextAreaElement::setAccessKey):
  • kwq/KWQComboBox.mm:
  • kwq/KWQFileButton.mm:
  • kwq/KWQListBox.mm:
  • kwq/KWQSlider.mm:
  • platform/mac/WebCoreTextField.mm:
  • rendering/RenderFieldset.cpp: Added. (WebCore::RenderFieldset::RenderFieldset): (WebCore::RenderFieldset::findLegend): (WebCore::RenderFieldset::paintBorderMinusLegend): (WebCore::RenderFieldset::setStyle):
  • rendering/RenderFieldset.h: Added. (WebCore::RenderFieldset::renderName):
  • rendering/RenderFileButton.cpp: Added. (WebCore::RenderFileButton::RenderFileButton): (WebCore::RenderFileButton::calcMinMaxWidth): (WebCore::RenderFileButton::updateFromElement): (WebCore::RenderFileButton::click):
  • rendering/RenderFileButton.h: Added. (WebCore::RenderFileButton::renderName): (WebCore::RenderFileButton::calcReplacedHeight): (WebCore::RenderFileButton::isEditable):
  • rendering/RenderFormElement.cpp: Added. (WebCore::RenderFormElement::RenderFormElement): (WebCore::RenderFormElement::baselinePosition): (WebCore::RenderFormElement::layout):
  • rendering/RenderFormElement.h: Added. (WebCore::RenderFormElement::renderName): (WebCore::RenderFormElement::isFormElement): (WebCore::RenderFormElement::borderTop): (WebCore::RenderFormElement::borderBottom): (WebCore::RenderFormElement::borderLeft): (WebCore::RenderFormElement::borderRight): (WebCore::RenderFormElement::paddingTop): (WebCore::RenderFormElement::paddingBottom): (WebCore::RenderFormElement::paddingLeft): (WebCore::RenderFormElement::paddingRight): (WebCore::RenderFormElement::canHaveIntrinsicMargins): (WebCore::RenderFormElement::intrinsicMargin): (WebCore::RenderFormElement::isEditable):
  • rendering/RenderImageButton.cpp: Added. (WebCore::RenderImageButton::RenderImageButton):
  • rendering/RenderImageButton.h: Added. (WebCore::RenderImageButton::renderName): (WebCore::RenderImageButton::isImageButton):
  • rendering/RenderLabel.cpp: Added. (WebCore::RenderLabel::RenderLabel):
  • rendering/RenderLabel.h: Added. (WebCore::RenderLabel::renderName):
  • rendering/RenderLegend.cpp: Added. (WebCore::RenderLegend::RenderLegend):
  • rendering/RenderLegend.h: Added. (WebCore::RenderLegend::renderName):
  • rendering/RenderLineEdit.cpp: Added. (WebCore::RenderLineEdit::RenderLineEdit):
  • rendering/RenderLineEdit.h: Added. (WebCore::RenderLineEdit::renderName): (WebCore::RenderLineEdit::calcReplacedHeight): (WebCore::RenderLineEdit::canHaveIntrinsicMargins): (WebCore::RenderLineEdit::isTextField): (WebCore::RenderLineEdit::isEditable):
  • rendering/RenderSelect.cpp: Added. (WebCore::RenderSelect::RenderSelect): (WebCore::RenderSelect::setWidgetWritingDirection): (WebCore::RenderSelect::setStyle): (WebCore::RenderSelect::updateFromElement): (WebCore::RenderSelect::baselinePosition): (WebCore::RenderSelect::calcMinMaxWidth): (WebCore::RenderSelect::layout): (WebCore::RenderSelect::valueChanged): (WebCore::RenderSelect::selectionChanged): (WebCore::RenderSelect::updateSelection):
  • rendering/RenderSelect.h: Added. (WebCore::RenderSelect::renderName): (WebCore::RenderSelect::calcReplacedHeight): (WebCore::RenderSelect::canHaveIntrinsicMargins): (WebCore::RenderSelect::selectionChanged): (WebCore::RenderSelect::setSelectionChanged):
  • rendering/RenderSlider.cpp: Added. (WebCore::RenderSlider::calcMinMaxWidth): (WebCore::RenderSlider::updateFromElement):
  • rendering/RenderSlider.h: Added. (WebCore::RenderSlider::renderName): (WebCore::RenderSlider::canHaveIntrinsicMargins):
  • rendering/RenderTextArea.cpp: Added. (WebCore::RenderTextArea::RenderTextArea): (WebCore::RenderTextArea::calcMinMaxWidth): (WebCore::RenderTextArea::setStyle): (WebCore::RenderTextArea::updateFromElement): (WebCore::RenderTextArea::selectionStart): (WebCore::RenderTextArea::selectionEnd): (WebCore::RenderTextArea::setSelectionStart): (WebCore::RenderTextArea::setSelectionEnd): (WebCore::RenderTextArea::select): (WebCore::RenderTextArea::setSelectionRange):
  • rendering/RenderTextArea.h: Added. (WebCore::RenderTextArea::renderName): (WebCore::RenderTextArea::isTextArea): (WebCore::RenderTextArea::isEdited): (WebCore::RenderTextArea::canHaveIntrinsicMargins): (WebCore::RenderTextArea::isEditable):
  • rendering/render_form.cpp: Removed.
  • rendering/render_form.h: Removed.
12:10 PM Changeset in webkit [14381] by thatcher
  • 1 copy in tags/WebCore-418.4/WebCore/WebCore

Tag for WebCore 418.4 (part 2 of 2.)

12:08 PM Changeset in webkit [14380] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Versioning

12:05 PM Changeset in webkit [14379] by tomernic
  • 3 edits in trunk/WebKit

Reviewed by Darin.

Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire
as frequently as they should. This is a general problem with the PLT -- because of this, it does not measure
work done in timer callbacks during/after the page load process.

Unfortunately, this aspect of the PLT interferes with our window display throttle hack. Because we throttle
display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.

I've added a new method that the PLT can call after each page load to force any starved display throttle timers
to fire. By doing this, Safari's PLT will be guaranteed to display each page at least once.

  • Misc/WebNSWindowExtras.h:
  • Misc/WebNSWindowExtras.m: Added a special internal runloop mode for the throttle timers. (+[NSWindow _webkit_displayThrottledWindows]): Run the runloop in our special internal mode until there are no more sources to handle. (requestWindowDisplay): Schedule the timer in the new mode as well as the standard modes.
11:17 AM Changeset in webkit [14378] by andersca
  • 10 edits in trunk/WebCore

2006-05-15 Anders Carlsson <acarlsson@apple.com>

Reviewed by Eric.

Remove the XPath log calls. They were causing leaks and were never
really useful.


  • bridge/mac/WebCorePageBridge.mm: (initializeLoggingChannelsIfNecessary):
  • platform/Logging.cpp:
  • platform/Logging.h:
  • xpath/XPathResult.cpp: (WebCore::XPathResult::convertTo):
  • xpath/impl/XPathFunctions.cpp: (round): (WebCore::XPath::FunCount::doEvaluate): (WebCore::XPath::FunSum::doEvaluate): (WebCore::XPath::FunctionLibrary::createFunction):
  • xpath/impl/XPathPath.cpp: (WebCore::XPath::Filter::doEvaluate): (WebCore::XPath::LocationPath::doEvaluate):
  • xpath/impl/XPathPredicate.cpp: (WebCore::XPath::Negative::doEvaluate): (WebCore::XPath::NumericOp::doEvaluate): (WebCore::XPath::Union::doEvaluate):
  • xpath/impl/XPathStep.cpp: (WebCore::XPath::Step::evaluate): (WebCore::XPath::Step::nodesInAxis): (WebCore::XPath::Step::nodeTestMatches):
  • xpath/impl/XPathValue.cpp: (WebCore::XPath::Value::toNodeVector):
10:14 AM Changeset in webkit [14377] by eseidel
  • 2 edits in trunk/WebCore

2006-05-15 Eric Seidel <eseidel@apple.com>

Fix linux build.

  • html/HTMLBodyElement.cpp: Fix case of #include "cssstyleselector.h"
1:47 AM Changeset in webkit [14376] by andersca
  • 6 edits in trunk

WebCore:

2006-05-15 Anders Carlsson <acarlsson@apple.com>

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
REGRESSION: Can view source for text files


  • bridge/mac/WebCoreFrameBridge.h:
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge canProvideDocumentSource]): (-[WebCoreFrameBridge canSaveAsWebArchive]):

WebKit:

2006-05-15 Anders Carlsson <acarlsson@apple.com>

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8913
REGRESSION: Can view source for text files

  • WebView/WebDocumentPrivate.h: Add canSaveAsWebArchive.


  • WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation canProvideDocumentSource]): Call the bridge.


(-[WebHTMLRepresentation canSaveAsWebArchive]):
New function. This will be used in Safari ToT to determine if a page can be saved as an archive.

1:03 AM Changeset in webkit [14375] by hyatt
  • 10 edits in trunk/WebCore

Remove the .forPrinter boolean from FontPlatformData. After the initial
acquisition of an NSFont, the font is then adjusted to printer or screen
when put into a FontPlatformData. Then it can simply be used in the hash
lookup to get a FontData.

Reviewed by mjs

  • platform/Font.cpp: (WebCore::WidthIterator::advance):
  • platform/FontData.h:
  • platform/FontDescription.h: (WebCore::FontDescription::bold):
  • platform/FontPlatformData.h: (WebCore::FontPlatformData::syntheticOblique):
  • platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
  • platform/mac/FontData.mm: (WebCore::FontData::smallCapsFontData): (WebCore::getSmallCapsFontData): (WebCore::setUpFont):
  • platform/mac/FontMac.mm: (WebCore::ATSULayoutParameters::initialize):
  • platform/mac/WebTextRendererFactory.h:
  • platform/mac/WebTextRendererFactory.mm: (-[WebTextRendererFactory rendererWithFont:]): (-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):

May 14, 2006:

11:59 PM Changeset in webkit [14374] by andersca
  • 2 edits in trunk/WebCore

2006-05-15 Anders Carlsson <acarlsson@apple.com>

Reviewed by Maciej.

9:57 PM Changeset in webkit [14373] by hyatt
  • 246 edits in trunk/LayoutTests/svg/W3C-SVG-1.1

Update svg layout tests.

9:42 PM Changeset in webkit [14372] by darin
  • 8 edits
    4 adds in trunk

LayoutTests:

Reviewed by Hyatt.


  • fast/repaint/table-collapsed-border-expected.checksum: Added.
  • fast/repaint/table-collapsed-border-expected.png: Added.
  • fast/repaint/table-collapsed-border-expected.txt: Added.
  • fast/repaint/table-collapsed-border.html: Added.

WebCore:

Reviewed by Hyatt.


This patch updates the implementation of collapsing borders to match
the current spec.

Test: fast/repaint/table-collapsed-border.html

  • rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): (WebCore::RenderTable::layout): Calculate horizontal overflows. (WebCore::RenderTable::calcMinMaxWidth): Added call to recalcHorizontalBorders. (WebCore::RenderTable::colElement): Made const. (WebCore::RenderTable::calcBorderLeft): Calculates the left border. In the collapsing borders model, this is the left border of the leftmost cell of the first row. (WebCore::RenderTable::calcBorderRight): Ditto for the right border. (WebCore::RenderTable::recalcHorizontalBorders): Added. (WebCore::RenderTable::borderTop): Changed to return outerBorderTop in the collapsing case. (WebCore::RenderTable::borderBottom): Changed to return outerBorderBottom in the collapsing case. (WebCore::RenderTable::outerBorderTop): Added. Returns the table half of the top border, which is half the widest top border on the first row. (WebCore::RenderTable::outerBorderBottom): Added. Returns the table half of the bottom border, which is half the widest bottom border on the last row. (WebCore::RenderTable::outerBorderLeft): Added. Returns the table half of the left border, which is half the widest left border on the leftmost column. (WebCore::RenderTable::outerBorderRight): Added. Returns the table half of the right border, which is half the widest right border on the rightmost column. (WebCore::RenderTable::cellAbove): Return 0 if the cell is in the first row of the header. (WebCore::RenderTable::cellBelow): Return 0 if the cell is in the last row of the footer.
  • rendering/RenderTable.h: (WebCore::RenderTable::borderLeft): (WebCore::RenderTable::borderRight): (WebCore::RenderTable::overflowHeight):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::borderLeft): Removed unnecessary use of floats. (WebCore::RenderTableCell::borderTop): Ditto. (WebCore::RenderTableCell::paint): Account for the table half of the vertical borders. (WebCore::RenderTableCell::paintCollapsedBorder): Removed unnecessary use of floats.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): (WebCore::RenderTableSection::layoutRows): Added call to recalcOuterBorder. (WebCore::RenderTableSection::calcOuterBorderTop): Added. Calculates the outer half of the section's top border, which is half the widest top border on the first row. (WebCore::RenderTableSection::calcOuterBorderBottom): Ditto for the bottom border. (WebCore::RenderTableSection::calcOuterBorderLeft): Ditto for the left border. (WebCore::RenderTableSection::calcOuterBorderRight): Ditto for the right border. (WebCore::RenderTableSection::recalcOuterBorder): Added. (WebCore::RenderTableSection::paint): Account for the table half of the borders.
  • rendering/RenderTableSection.h: (WebCore::RenderTableSection::outerBorderTop): (WebCore::RenderTableSection::outerBorderBottom): (WebCore::RenderTableSection::outerBorderLeft): (WebCore::RenderTableSection::outerBorderRight):
  • rendering/render_style.cpp: (WebCore::RenderStyle::diff): Changed to return Layout if a border style changed from 'hidden' to 'none' or vice versa in the collapsing borders model, since 'hidden' suppresses other borders.
9:37 PM Changeset in webkit [14371] by darin
  • 5 edits
    1 add in trunk

WebCore:

Reviewed by Darin.

  • manual-tests/dom-manipulation-on-resize.html: Added.

WebKit:

Reviewed by Darin.

Manual test: manual-tests/dom-manipulation-on-resize.html

  • WebView/WebHTMLView.m: (-[NSArray layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Relayout if necessary after sending the resize event.
9:33 PM Changeset in webkit [14370] by darin
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=5882:
disabled type="file" element doesn't appear disabled

  • fast/forms/file-input-disabled.html: Added.
  • fast/forms/file-input-disabled-expected.txt: Added.
  • fast/forms/file-input-disabled-expected.png: Added.
  • fast/forms/file-input-disabled-expected.checksum: Added.

WebCore:

Reviewed by Darin.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5882:
disabled type="file" element doesn't appear disabled

Be sure to call setDisabled on the file button when in
RenderFileButton::updateFromElement.

  • kwq/KWQFileButton.h:
  • kwq/KWQFileButton.mm: (-[WebFileChooserButton setEnabled:]): (KWQFileButton::setDisabled):
  • rendering/render_form.cpp: (WebCore::RenderFileButton::updateFromElement):
3:12 PM Changeset in webkit [14369] by sfalken
  • 2 edits in trunk/WebCore

2006-05-14 Steve Falkenburg <sfalken@apple.com>

Fix Windows build.

  • platform/win/FontWin.cpp: (WebCore::FontFallbackList::fontDataAt): (WebCore::hackishExtentForString): (WebCore::Font::floatWidth): (WebCore::Font::drawText): (WebCore::Font::selectionRectForText): (WebCore::Font::offsetForPosition):
2:26 PM Changeset in webkit [14368] by hyatt
  • 1 edit in trunk/WebCore/platform/win/FontWin.cpp

Fix Win32 build bustage.

2:25 PM Changeset in webkit [14367] by hyatt
  • 1 edit in trunk/WebCore/platform/win/FontWin.cpp

Fix Win32 build bustage.

1:38 PM Changeset in webkit [14366] by hyatt
  • 100 edits
    8 adds in trunk

Bug 8895. Rework font substitution and fallback. Lift the concept of
substitution and fallback out of FontData and up into the FontFallbackList.
See the bug for details of issues fixed in the fallback code.

Reviewed by darin

  • WebCore.xcodeproj/project.pbxproj:
  • platform/Font.cpp: (WebCore::m_finalRoundingWidth): (WebCore::WidthIterator::advance): (WebCore::Font::primaryFont): (WebCore::Font::fontDataAt): (WebCore::Font::fontDataForCharacters): (WebCore::Font::ascent): (WebCore::Font::descent): (WebCore::Font::lineSpacing): (WebCore::Font::xHeight): (WebCore::Font::isFixedPitch):
  • platform/Font.h: (WebCore::Font::getNSFont):
  • platform/FontCache.h: Added.
  • platform/FontData.h: (WebCore::FontData::pitch): (WebCore::FontData::getNSFont): (WebCore::):
  • platform/FontFallbackList.cpp: Added. (WebCore::m_pitch): (WebCore::FontFallbackList::~FontFallbackList): (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::determinePitch): (WebCore::FontFallbackList::fontDataAt): (WebCore::FontFallbackList::fontDataForCharacters):
  • platform/FontFallbackList.h: (WebCore::FontFallbackList::isFixedPitch): (WebCore::FontFallbackList::primaryFont):
  • platform/FontFamily.h:
  • platform/mac/FontCacheMac.mm: Added. (WebCore::FontCache::getFontData): (WebCore::FontCache::getFontDataForCharacters):
  • platform/mac/FontData.mm: (WebCore::FontData::containsCharacters):
  • platform/mac/FontMac.mm: (WebCore::ATSULayoutParameters::initialize):
  • platform/mac/WebTextRendererFactory.h:
  • platform/mac/WebTextRendererFactory.mm: (-[WebTextRendererFactory fallbackFontWithTraits:size:]): (-[WebTextRendererFactory fontWithDescription:WebCore::familyIndex:]):
  • platform/win/FontWin.cpp: (WebCore::FontFallbackList::determinePitch): (WebCore::FontFallbackList::primaryFont): (WebCore::FontFallbackList::fontDataAt): (WebCore::FontFallbackList::fontDataForCharacters):
9:39 AM Changeset in webkit [14365] by ap
  • 3 edits
    4 adds in trunk

2006-05-14 Sam Weinig <sam.weinig@gmail.com>

Reviewed by Hyatt, landed by ap.

Fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8387>
"border-left/padding-Left do not show up on multiline rtl inline boxes"

Test: fast/inline/inline-borders-with-bidi-override.html: added

  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
12:12 AM Changeset in webkit [14364] by sfalken
  • 2 edits in trunk/WebCore

2006-05-14 Steve Falkenburg <sfalken@apple.com>

Fix the Windows build the rest of the way

  • WebCore.vcproj/WebCore/WebCore.vcproj:

May 13, 2006:

9:52 PM Changeset in webkit [14363] by sfalken
  • 2 edits in trunk/WebKitWin

2006-05-14 Steve Falkenburg <sfalken@apple.com>

Update to new file paths

  • WebFramePrivate.cpp:
9:42 PM Changeset in webkit [14362] by sfalken
  • 2 edits in trunk/WebCore

2006-05-14 Steve Falkenburg <sfalken@apple.com>

Get FontWin.cpp compiling.
WebCore and JSCore now build, but Spinneret still gets link errors.

  • platform/win/FontWin.cpp: (WebCore::Font::offsetForPosition):
8:58 PM Changeset in webkit [14361] by sfalken
  • 4 edits in trunk/WebCore

2006-05-14 Steve Falkenburg <sfalken@apple.com>

Reviewed by maciej.

Fix Windows build except for fontwin.cpp.

  • WebCore/platform/win/FontWin.cpp:
  • WebCore.vcproj/WebCore/WebCore.vcproj:
  • bridge/win/FrameWin.cpp:
9:58 AM Changeset in webkit [14360] by ap
  • 3 edits in trunk/LayoutTests/fast/block/positioning/auto

Commit the remaining updated results for bug 7604.

9:47 AM Changeset in webkit [14359] by ap
  • 3 edits
    22 adds in trunk

2006-05-13 Kevin M. Ollivier <kevino@theolliviers.com>

Reviewed by Darin, landed by ap.

JavaScriptCore:

  • make-generated-sources.sh: Added script to configure environment to run DerivedSources.make


  • JavaScriptCoreSources.bkl: Added JavaScriptCore sources list for Bakefile.


  • jscore.bkl: Bakefile used to generate JavaScriptCore project files (currently only used by wx and gdk ports)

WebCore:

  • make-generated-sources.sh: Added script to configure environment to run DerivedSources.make


  • move-js-headers.sh: Added script to copy JavaScriptCore includes into one dir so that Framework-style includes will work on all OSes. (written by Mike Emmel)


  • platform/wx: New dir, home for the wxWidgets port
  • platform/wx/wx-encodings.txt: Added temp. stub for wx encodings file.


  • Projects: New dir, for various project files for ports.


  • Projects/gdk: New dir, GDK port files.
  • Projects/webcore-gdk.bkl: Bakefile to generate GDK port project files


  • Projects/wx: New dir, wxWidgets port files.
  • Projects/webcore-wx.bkl: Bakefile to generate wxWidgets port project files

WebKitTools:

  • Scripts/install-unix-extras: Added.
  • Scripts/regenerate-makefiles: Added.
9:28 AM Changeset in webkit [14358] by ap
  • 3 edits
    4 adds in trunk

2006-05-13 Mitz Pettel <opendarwin.org@mitzpettel.com>

Reviewed by Darin, landed by ap.

Test: fast/text/midword-break-hang.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): If this is a mid-word break, ignore breakOnlyAfterWhiteSpace.
9:19 AM Changeset in webkit [14357] by ap
  • 2 edits in trunk/WebCore

Ok, now RenderBox.cpp actually compiles for me.

8:57 AM Changeset in webkit [14356] by ap
  • 2 edits in trunk/WebCore

Same fix for calcAbsoluteVerticalValues().

8:50 AM Changeset in webkit [14355] by ap
  • 2 edits in trunk/WebCore

Try to fix release build.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcAbsoluteHorizontalValues): Initialize leftValue. This value will never be used, because 'left' and 'right' cannot both be 'auto'.
8:28 AM Changeset in webkit [14354] by ap
  • 1 edit
    1 delete in trunk/WebCore/rendering

Re-applied the fix for bug 8835 (REGRESSION: Line moves but selection
highlight stays behind) to a correct file; removed the stale one.

  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::adjustPosition): Adjust m_selectionTop and m_selectionBottom.
  • rendering/render_line.cpp: Removed.
8:12 AM Changeset in webkit [14353] by ap
  • 1 edit in trunk/WebCore/ChangeLog

Corrected a path in ChangeLog.

8:11 AM Changeset in webkit [14352] by ap
  • 6 edits
    4 adds in trunk

2006-05-13 Rob Buis <buis@kde.org>

Reviewed by Darin, landed by ap.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8132
CSS parser sometimes accepts real number as integer

Add a boolean variable per css value to catch whether values
are specified as floats or integers.

Test: fast/css/rgb-float.html

  • css/CSSGrammar.y:
  • css/cssparser.cpp: (WebCore::CSSParser::validUnit): (WebCore::CSSParser::lex):
  • css/cssparser.h:
  • css/tokenizer.flex:
7:58 AM Changeset in webkit [14351] by ap
  • 7 edits
    8 adds in trunk

2006-05-13 Sam Weinig <sam.weinig@gmail.com>

Reviewed by Hyatt, landed by ap.

WebCore:

Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=7604
calcAbsoluteHorizontalValues() is being getting passed arguments
in the wrong order in calcAbsoluteHorizontal()

Cleans up the RenderBox code for absolutely positioned elements
and adds new functions for replaced absolutely positioned
elements. Now uses Length so that magic number -666666 for
auto lengths is no longer used.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcAbsoluteHorizontal): (WebCore::RenderBox::calcAbsoluteHorizontalValues): (WebCore::RenderBox::calcAbsoluteVertical): (WebCore::RenderBox::calcAbsoluteVerticalValues): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Handle replaced case separately. (WebCore::RenderBox::calcAbsoluteVerticalReplaced): ditto.
  • rendering/RenderBox.h:

LayoutTests:

  • fast/block/positioning/absolute-length-of-neg-666666.html: Added.
  • fast/block/positioning/absolute-positioned-overconstrained.html: Added.
  • fast/block/positioning/auto/006.html: Updated to reflect that the containing block's direction, not the parent's is used.
  • fast/css/absolute-poition-in-rtl-parent.html: Updated and cleaned up.
Note: See TracTimeline for information about the timeline view.