ap [Fri, 5 May 2006 20:35:57 +0000 (20:35 +0000)]
Reviewed by Maciej.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8626
Strict mode erroneously triggered by a broken comment
Test: fast/parser/broken-comments-vs-parsing-mode.html
* page/Frame.cpp:
(WebCore::Frame::endIfNotLoading): Call determineParseMode() if needed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 20:30:56 +0000 (20:30 +0000)]
- fix the Windows build (this time for sure)
* platform/win/TemporaryLinkStubs.cpp:
(GraphicsContext::translate): Added.
(GraphicsContext::rotate): Ditto.
(GraphicsContext::scale): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 16:53:51 +0000 (16:53 +0000)]
- fix the Windows build
* bridge/win/FrameWin.h: Add Element* parameter to createPlugin.
* platform/win/TemporaryLinkStubs.cpp: (FrameWin::createPlugin): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 16:37:53 +0000 (16:37 +0000)]
- get the Window build a little closer to building again
* platform/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawRect): Call alpha to check if the color is transparent.
Call setColor directly instead of setColorFromPen.
(WebCore::GraphicsContext::drawLine): Ditto.
(WebCore::GraphicsContext::drawEllipse): Ditto.
(WebCore::GraphicsContext::drawArc): Ditto.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
* platform/win/TemporaryLinkStubs.cpp: (JavaAppletWidget::JavaAppletWidget): Updated parameter types.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 15:22:33 +0000 (15:22 +0000)]
Reviewed by Adele.
- fixed data structure used to save/restore form element state to remove the
O(n^2) algorithm and remove anomalies in how it works
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8683
REGRESSION: imdb search button has "Submit" overload after going back
* manual-tests/form-value-restore.html: Added.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge saveDocumentState]): Rewrote to call the new formElementsState
function on the document and also to convert null strings to NSNull instead of empty
NSString objects.
(-[WebCoreFrameBridge restoreDocumentState]): Ditto, with the setStateForNewFormElements
function.
* dom/Document.h: Added FormElementKey, FormElementKeyHash, and FormElementKeyHashTraits
for use in the hash map. Made readyState, inputEncoding, defaultCharset, charset,
characterSet, getElementByAccessKey, haveStylesheetsLoaded, usesDescendantRules,
usesSiblingRules, inCompatMode, inAlmostStrictMode, inStrictMode, preferredStylesheetSet,
selectedStylesheetSet, and getCSSTarget all const member functions. Removed the unused
nextState function. Renamed registerMaintainsState and deregisterMaintainsState to
registerFormElementWithState and HTMLGenericFormElement and changed them to use form
elements rather than arbitrary DOM nodes. Replaced docState with formElementsState and
setRestoreState and restoreState with setStateForNewFormElements, hasStateForNewFormElements,
and takeStateForFormElement. Replaced m_maintainsState with m_formElementsWithState,
m_state with m_stateForNewFormElements. Made m_elementsByAccessKey and m_accessKeyMapValid
mutable. Removed unused m_elementNames, m_elementNameAlloc, m_elementNameCount, m_attrNames,
m_attrNameAlloc, m_attrNameCount, m_namespaceURIs, m_namespaceURIAlloc, m_namespaceURICount.
* dom/Document.cpp:
(WebCore::Document::Document): Remove initialization of long-obsolete m_elementNames and
m_attrNames.
(WebCore::Document::~Document): Remove destruction of same.
(WebCore::Document::readyState): Made const.
(WebCore::Document::inputEncoding): Ditto.
(WebCore::Document::defaultCharset): Ditto.
(WebCore::Document::getElementByAccessKey): Ditto.
(WebCore::Document::preferredStylesheetSet): Ditto.
(WebCore::Document::selectedStylesheetSet): Ditto.
(WebCore::Document::getCSSTarget): Ditto.
(WebCore::Document::formElementsState): Added. Replaces the old docState function.
Builds a vector of strings, with 3 strings for each form element containing the
name, type, and state value.
(WebCore::Document::setStateForNewFormElements): Added. Converts the state vector
into a hash map, considering the scheme with 3 strings for form element used above.
(WebCore::Document::hasStateForNewFormElements): Added.
(WebCore::Document::takeStateForFormElement): Added. Given a name and type, looks
up the values in the hash map and "peels off" the last one.
(WebCore::FormElementKey::FormElementKey): Added.
(WebCore::FormElementKey::~FormElementKey): Added.
(WebCore::FormElementKey::operator=): Added.
(WebCore::FormElementKey::ref): Added.
(WebCore::FormElementKey::deref): Added.
(WebCore::FormElementKeyHash::hash): Added.
(WebCore::FormElementKeyHashTraits::deletedValue): Added.
* dom/Element.h: Removed state function.
* dom/Node.h: Removed maintainsState, state, and restoreState functions.
* dom/Node.cpp: Ditto.
* dom/QualifiedName.cpp: Reformatted.
(WebCore::hashComponents): Removed code to handle buffers that are not multiples
of 4 bytes, since a QualifiedName is guaranteed to be; also asserted that fact.
* html/HTMLParser.cpp:
(WebCore::HTMLParser::insertNode): Remove code to restore state; that's now handled
by closeRenderer.
(WebCore::HTMLParser::popOneBlock): Ditto.
* html/HTMLFormElement.cpp: Added include of HTMLInputElement.h.
* html/HTMLGenericFormElement.h: Changed form to be a const member function.
Changed type function to return a const AtomicString& instead of a String.
Added an override of closeRenderer. Removed state and findMatchingState functions.
Added stateValue and restoreState functions. Made m_form, m_disabled, and m_readOnly
be private instead of protected. Removed m_inited. Changed booleans to not use bit
fields since there are only two of them.
* html/HTMLGenericFormElement.cpp: Removed encodedElementName, state, and
findMatchingState functions.
(WebCore::HTMLGenericFormElement::stateValue): Added. No implementation. This will only be
called for subclasses that call registerFormElementWithState, and those will override and
implement it.
(WebCore::HTMLGenericFormElement::restoreState): Ditto.
(WebCore::HTMLGenericFormElement::closeRenderer): Added. Replaces code that was in the
HTML parser. Calls takeStateForFormElement, passing in the name and type, and if a
state is found, calls restoreState.
* html/HTMLButtonElement.h: Changed type to return a const AtomicString& instead
of a String.
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::type): Return a const AtomicString& instead of a
String.
(WebCore::HTMLButtonElement::defaultEventHandler): Use form() instead of m_form.
(WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Use disabled() instead of
m_disabled.
* html/HTMLInputElement.h: Changed type to return a const AtomicString& instead
of a String. Removed maintainsState, state, and restoreState functions, and added
new stateValue and restoreState functions. Added m_inited (moved here from the generic
form element base class).
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::init): Call registerFormElementWithState. This was
formerly done by the HTML parser.
(WebCore::HTMLInputElement::~HTMLInputElement): Call deregisterFormElementWithState
by its new name.
(WebCore::HTMLInputElement::isKeyboardFocusable): Use form() instead of m_form.
(WebCore::HTMLInputElement::setType): Ditto.
(WebCore::HTMLInputElement::setInputType): Ditto. Also call inputType() != PASSWORD
instead of maintainsState(), since this is the only function that needs to know
the rule and it's no longer a function in the base class. Also call register and
deregister functions by their new names.
(WebCore::HTMLInputElement::type): Changed to return const AtomicString& instead
of String.
(WebCore::HTMLInputElement::stateValue): Renamed from state and changed to no
longer include the name and type, formerly obtained by calling the base class's
HTMLGenericFormElement::state, and to no longer modify the value() string by
adding a ".", which gets in the way of distinguishing null and empty values
and is slower and unnecessary.
(WebCore::HTMLInputElement::restoreState): Changed because it takes a single
state and doesn't need to call findMatchingState, and also to no longer remove the last
character from the value when restoring state.
(WebCore::HTMLInputElement::parseMappedAttribute): Use form() instead of m_form.
(WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use disabled() instead of
m_disabled.
(WebCore::HTMLInputElement::setChecked): Use form() instead of m_form.
(WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
(WebCore::HTMLInputElement::defaultEventHandler): Ditto.
* html/HTMLSelectElement.h: Changed type to return a const AtomicString& instead
of a String.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::HTMLSelectElement): Call registerFormElementWithState.
This was formerly done by the HTML parser.
(WebCore::HTMLSelectElement::~HTMLSelectElement): Call deregisterFormElementWithState
by its new name.
(WebCore::HTMLSelectElement::type): Changed to return const AtomicString& instead
of String.
(WebCore::HTMLSelectElement::stateValue): Renamed from state and changed to no
longer include the name and type, formerly obtained by calling the base class's
HTMLGenericFormElement::state, and to build the string in a Vector<char> instead of
appending characters one at a time to a string.
(WebCore::HTMLSelectElement::restoreState): Changed because it takes a single
state and doesn't need to call findMatchingState.
(WebCore::HTMLSelectElement::defaultEventHandler): Use form() instead of m_form.
* html/HTMLTextAreaElement.h: Changed type to return a const AtomicString& instead
of a String. Removed maintainsState, state, and restoreState functions, and added
new stateValue and restoreState functions.
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Call registerFormElementWithState.
This was formerly done by the HTML parser. Also use member initialization instead of
assignment.
(WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Call deregisterFormElementWithState
by its new name.
(WebCore::HTMLTextAreaElement::type): Changed to return const AtomicString& instead
of String.
(WebCore::HTMLTextAreaElement::stateValue): Renamed from state and changed to no
longer include the name and type, formerly obtained by calling the base class's
HTMLGenericFormElement::state, and to no longer modify the value() string by
adding a ".", which is unnecessary.
(WebCore::HTMLTextAreaElement::restoreState): Changed because it takes a single
state and doesn't need to call findMatchingState, and also to no longer remove the last
character from the value when restoring state.
(WebCore::HTMLTextAreaElement::updateValue): Changed to const.
(WebCore::HTMLTextAreaElement::value): Ditto.
(WebCore::HTMLTextAreaElement::defaultValue): Ditto.
* html/HTMLFieldSetElement.h: Changed type to return a const AtomicString& instead
of a String.
* html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::type): Ditto.
* html/HTMLKeygenElement.h: Ditto.
* html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::type): Ditto.
* html/HTMLLegendElement.h: Ditto.
* html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::type):
* html/HTMLOptGroupElement.h: Ditto.
* html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::type): Ditto.
* html/HTMLOptionElement.h: Ditto.
* html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::type): Ditto.
* ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::closeRenderer):
Added missing call to base class.
* rendering/render_form.h: Removed element() functions that cast to the
appropriate derived element class. They do make some bits of code slightly
more readable, but they also require including too many headers. Removed
the includes of HTMLInputElement.h, HTMLSelectElement.h, HTMLTextAreaElement.h,
and KWQLineEdit.h, and added an include of GraphicsTypes.h.
* rendering/render_form.cpp:
(WebCore::RenderFormElement::updateFromElement): Changed use of element()
to instead use node() and cast.
(WebCore::RenderFormElement::clicked): Ditto.
(WebCore::RenderLineEdit::selectionChanged): Ditto.
(WebCore::RenderLineEdit::returnPressed): Ditto.
(WebCore::RenderLineEdit::performSearch): Ditto.
(WebCore::RenderLineEdit::addSearchResult): Ditto.
(WebCore::RenderLineEdit::calcMinMaxWidth): Ditto.
(WebCore::RenderLineEdit::setStyle): Ditto.
(WebCore::RenderLineEdit::updateFromElement): Ditto.
(WebCore::RenderLineEdit::valueChanged): Ditto.
(WebCore::RenderFileButton::calcMinMaxWidth): Ditto.
(WebCore::RenderFileButton::updateFromElement): Ditto.
(WebCore::RenderFileButton::returnPressed): Ditto.
(WebCore::RenderFileButton::valueChanged): Ditto.
(WebCore::RenderSelect::updateFromElement): Ditto.
(WebCore::RenderSelect::layout): Ditto.
(WebCore::RenderSelect::valueChanged): Ditto.
(WebCore::RenderSelect::selectionChanged): Ditto.
(WebCore::RenderSelect::updateSelection): Ditto.
(WebCore::RenderTextArea::destroy): Ditto.
(WebCore::RenderTextArea::calcMinMaxWidth): Ditto.
(WebCore::RenderTextArea::setStyle): Ditto.
(WebCore::RenderTextArea::updateFromElement): Ditto.
(WebCore::RenderTextArea::valueChanged): Ditto.
(WebCore::RenderTextArea::selectionChanged): Ditto.
(WebCore::RenderSlider::updateFromElement): Ditto.
(WebCore::RenderSlider::valueChanged): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14207
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 15:09:59 +0000 (15:09 +0000)]
JavaScriptCore:
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8722
IE compatibility fix in date parsing
* kjs/date_object.cpp: (KJS::parseDate): Merged change that George Staikos provided
from KDE 3.4.3 branch that allows day values of 0 and values that are > 1000.
LayoutTests:
- test update for http://bugzilla.opendarwin.org/show_bug.cgi?id=8722
IE compatibility fix in date parsing
* fast/js/kde/resources/Date.js: Added test cases that George Staikos provided
that test dates with day values of 0, 55, and 452.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 15:08:08 +0000 (15:08 +0000)]
Added name of test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14205
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 14:59:18 +0000 (14:59 +0000)]
LayoutTests:
Reviewed by Darin.
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8563>
Tests that the name, publicID and systemID are all read correctly
and that the doctype object preserves the case of the
components from the source html:
* fast/doctypes/005-case-preserving.html: Added.
* fast/doctypes/005-case-preserving-expected.txt: Added.
WebCore:
Reviewed by Darin.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8563
The doctype object in the DOM is now usable by client code
as opposed to always being exposed as nil. Now also ensures that
the 'name' of the component preserves the case of the original html source.
(i.e HtMl -> HtMl not HTML)
* dom/Document.h:
Changes comment by docType() to say it may return 0 for html
* html/HTMLDocument.cpp:
(WebCore::parseDocTypeDeclaration):
(WebCore::HTMLDocument::determineParseMode):
Preserves the case of the name component
(WebCore::HTMLDocument::doctype):removed
* html/HTMLDocument.h:
(WebCore::HTMLDocument::doctype):removed
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14204
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 14:49:27 +0000 (14:49 +0000)]
Reviewed by Darin.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8651:
[DOMHTMLSelectElement multiple] returns no when the select element is multiple
Correct the logic errors, which are clearly indicated by the changeset given
in the bug report.
* bindings/objc/DOMHTML.mm:
(-[DOMHTMLLinkElement disabled]):
(-[DOMHTMLSelectElement disabled]):
(-[DOMHTMLSelectElement multiple]):
(-[DOMHTMLOptGroupElement disabled]):
(-[DOMHTMLOptionElement defaultSelected]):
(-[DOMHTMLOptionElement disabled]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14203
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 04:30:51 +0000 (04:30 +0000)]
Reviewed by Tim Omernick.
- fix storage leak I introduced yesterday
* platform/cg/GraphicsContextCG.cpp:
(WebCore::setCGFillColor): Added.
(WebCore::setCGStrokeColor): Added.
(WebCore::GraphicsContext::drawRect): Use setCGFillColor to avoid allocating
a CGColorRef object.
(WebCore::GraphicsContext::drawLine): Use setCGStrokeColor and setCGFillColor
to avoid allocating a CGColorRef object.
(WebCore::GraphicsContext::drawEllipse): Ditto.
(WebCore::GraphicsContext::drawArc): Ditto.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
(WebCore::GraphicsContext::fillRect): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14202
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 5 May 2006 04:29:22 +0000 (04:29 +0000)]
LayoutTests:
Reviewed by Darin.
- test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
REGRESSION: Exception on closing a page containing (just) an mp3
* plugins/pluginDocumentView-deallocated-dataSource-expected.txt: Added.
* plugins/pluginDocumentView-deallocated-dataSource.html: Added.
* plugins/resources: Added.
* plugins/resources/orange.mov: Added.
WebKit:
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8594
REGRESSION: Exception on closing a page containing (just) an mp3
Test: plugins/pluginDocumentView-deallocated-dataSource.html
* Plugins/WebPluginDocumentView.m:
(-[WebPluginDocumentView dealloc]): Release the dataSource.
(-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14201
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Fri, 5 May 2006 04:19:11 +0000 (04:19 +0000)]
Build fix, warning: 'return' with a value, in function returning void.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14196
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Fri, 5 May 2006 01:43:26 +0000 (01:43 +0000)]
LayoutTests:
Reviewed by harrison
Pasted content would end up inside the block that contained the end of
the selection that was pasted into and not the block that contained
the start of the selection that was pasted into:
* editing/pasteboard/merge-end-5-expected.checksum: Added.
* editing/pasteboard/merge-end-5-expected.png: Added.
* editing/pasteboard/merge-end-5-expected.txt: Added.
* editing/pasteboard/merge-end-5.html: Added.
Inserting a paragraph separator was splitting and cloning the body element
if the html element was editable:
* editing/inserting/editable-html-element-expected.checksum: Added.
* editing/inserting/editable-html-element-expected.png: Added.
* editing/inserting/editable-html-element-expected.txt: Added.
* editing/inserting/editable-html-element.html: Added.
Since we now sometimes merge backward (from content already in the
document to just inserted content) during the end merge, the node that
contains the old caret is removed more often during paste. The editing
delegate notifications in these tests reflect this:
* editing/pasteboard/paste-line-endings-007-expected.txt:
* editing/pasteboard/paste-line-endings-008-expected.txt:
* editing/pasteboard/paste-line-endings-009-expected.txt:
Now demonstrates a bug where the html element is focused, but its contents
aren't selected:
* editing/selection/focus_editable_html-expected.checksum:
* editing/selection/focus_editable_html-expected.png:
* editing/selection/focus_editable_html-expected.txt:
* editing/selection/focus_editable_html.html:
WebCore:
Reviewed by harrison
* dom/Node.cpp:
(WebCore::Node::rootEditableElement):
Restored code to stop at the body tag. Editing shouldn't be allowed to
happen outside the body, so it needs to be the editable root even if the
html element is contentEditable.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldMergeEnd):
Now takes in more information so it can be "the decider".
(WebCore::ReplaceSelectionCommand::doApply):
Merging two paragraphs will destroy the moved one's block styles. Perform
the end merge backward (from content already in the document to just inserted
content) if moving forward would move the paragraph that contained the start of
the selection being pasted into, since we always want to preserve that paragraph's
block style.
Moving backward in this case is also helpful because otherwise it would be
difficult to remember the position where inserted content began (since merging
would remove m_firstNodeInserted). That position is needed in order to select
the replacement and to add smart replace whitespace.
(WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
If [br, 0] is at the end of a block, the br is not necessarily collapsed
in quirks mode. [br, 0] needs to also not be at the start of a block.
* editing/ReplaceSelectionCommand.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14195
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Fri, 5 May 2006 00:58:50 +0000 (00:58 +0000)]
WebCore:
Reviewed by Darin.
<rdar://problem/
4537606> Give Java WebKit plugin access to its own DOM element
* bridge/mac/WebCoreFrameBridge.h:
Added DOMElement parameter to -viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:.
* bridge/JavaAppletWidget.h:
Constructor now takes the applet's element instead of its containing frame.
* bridge/mac/JavaAppletWidget.mm:
(JavaAppletWidget::JavaAppletWidget):
Pass the applet's element to viewForJavaAppletWithFrame:.
* rendering/RenderApplet.cpp:
(WebCore::RenderApplet::createWidgetIfNecessary):
Pass the element along to JavaAppletWidget.
WebKit:
Reviewed by Darin.
<rdar://problem/
4537606> Give Java WebKit plugin access to its own DOM element
* WebCoreSupport/WebFrameBridge.m:
(-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
differently).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14194
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Thu, 4 May 2006 23:03:42 +0000 (23:03 +0000)]
WebCore:
Reviewed by John Sullivan.
<rdar://problem/
4480186> Give WebKit plugins access to their own DOM element
* bridge/mac/WebCoreFrameBridge.h:
Added DOMElement: parameter to -viewForPluginWithURL:attributeNames:attributueValues:MIMEType:
* bridge/mac/FrameMac.h:
* bridge/mac/FrameMac.mm:
(WebCore::FrameMac::createPlugin):
Added "element" parameter; wrap element in DOMElement and pass up to the bridge.
* page/Frame.h:
Added "element" parameter to createPlugin().
* page/Frame.cpp:
(WebCore::Frame::loadPlugin):
Get the plugin's DOM element and pass to createPlugin().
WebKit:
Reviewed by John Sullivan.
<rdar://problem/
4480186> Give WebKit plugins access to their own DOM element
This does not fix <rdar://problem/
4480187> Give Netscape plugins access to their own DOM element --
we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
* Plugins/WebPluginPackage.m:
Declared WebPlugInContainingElementKey. This is not a new plugin argument -- it's been in our public
headers since all along, but has never been concretely declared -- plugins that referenced it would not
link.
* WebCoreSupport/WebFrameBridge.m:
(-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
Added DOMElement parameter, which is now included in the plugin arguments dictionary.
(-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
ditto
* WebKit.exp:
Export WebPlugInContainingElementKey.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14185
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Thu, 4 May 2006 20:37:09 +0000 (20:37 +0000)]
2006-05-04 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8734
Would like a Vector::append that takes another Vector
* kxmlcore/Vector.h:
(KXMLCore::::append):
New function that takes another array.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Thu, 4 May 2006 18:26:27 +0000 (18:26 +0000)]
2006-05-04 Eric Seidel <eseidel@apple.com>
Reviewed by timo.
Add drag & drop support to <input type="file">
http://bugzilla.opendarwin.org/show_bug.cgi?id=8733
Test: manual/input-type-file-drag-drop.html
* kwq/KWQFileButton.mm:
(-[WebFileChooserButton initWithWidget::]):
(-[WebCoreFileButton initWithWidget:]):
(-[WebCoreFileButton drawRect:]):
(-[WebCoreFileButton updateLabel]):
(-[WebCoreFileButton setFilename:]):
(-[WebCoreFileButton changeFilename:]):
(-[WebCoreFileButton chooseFilename:]):
(validFilenameFromPasteboard):
(-[WebCoreFileButton draggingEntered:]):
(-[WebCoreFileButton draggingExited:]):
(-[WebCoreFileButton performDragOperation:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14182
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Thu, 4 May 2006 18:20:56 +0000 (18:20 +0000)]
--This
Reviewed by Hyatt.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8732
Backgrounds with background-size and background-origin do not
always lay out correctly
* platform/cairo/ImageCairo.cpp:
(WebCore::Image::drawTiled): We no longer need to scale the source
point since it will now come in with the scale already taken into
account.
* platform/mac/ImageMac.mm:
(WebCore::Image::drawTiled): Same as above.
* rendering/RenderBox.cpp:
(WebCore::cacluateBackgroundSize): Now calculate the background
size in a helper method.
(WebCore::RenderBox::paintBackgroundExtended): Calculate the
background size before calculating cx, cy, cw, ch, sx, and sy so
that they can all be calculated with the scaled image size taken
into account.
M LayoutTests/ChangeLog
M LayoutTests/fast/backgrounds/size/backgroundSize18-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize12-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize19-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize10-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize18-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize19-expected.png
M LayoutTests/fast/backgrounds/size/backgroundSize10-expected.checksum
M LayoutTests/fast/backgrounds/size/backgroundSize12-expected.checksum
M WebCore/platform/mac/ImageMac.mm
M WebCore/platform/cairo/ImageCairo.cpp
M WebCore/rendering/RenderBox.cpp
M WebCore/ChangeLog
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 4 May 2006 18:04:24 +0000 (18:04 +0000)]
Fix for 8693, crash when reloading PDF. Make sure to clear the truncator's
cached renderer.
Reviewed by beth
* bridge/mac/WebCoreStringTruncator.h:
* bridge/mac/WebCoreStringTruncator.mm:
(+[WebCoreStringTruncator clear]):
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory clearCaches]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 3 May 2006 21:15:33 +0000 (21:15 +0000)]
Reviewed by Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8696
another round of GraphicsContext improvements
* WebCore.xcodeproj/project.pbxproj: Added GraphicsContextCG.cpp.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::scale): Use new GraphicsContext function.
(WebCore::CanvasRenderingContext2D::rotate): Ditto.
(WebCore::CanvasRenderingContext2D::translate): Ditto.
* kwq/KWQComboBox.mm: Added include (not sure if this is needed for this patch,
but it's needed for one of my upcoming ones).
* platform/GraphicsContext.h: Changed fillColor and setFillColor to use Color
instead of RGBA32. Removed setColorFromFillColor and setColorFromPen. Added
scale, rotate, and translate functions.
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContext::setFillColor): Changed to use Color instead of RGBA32.
(WebCore::GraphicsContext::fillColor): Ditto.
* platform/GraphicsTypes.h: Moved HorizontalAlignment here.
* platform/Widget.h: Removed HorizontalAlignment from here.
* platform/cg/GraphicsContextCG.cpp: Added. Started as a copy of GraphicsContextMac.mm.
(WebCore::GraphicsContext::drawRect): Rewrote to not rely on [NSGraphicsContext currentContext].
(WebCore::GraphicsContext::drawLine): Ditto.
(WebCore::GraphicsContext::drawEllipse): Ditto.
(WebCore::GraphicsContext::drawArc): Ditto.
(WebCore::GraphicsContext::drawConvexPolygon): Ditto.
(WebCore::GraphicsContext::fillRect): Ditto.
(WebCore::GraphicsContext::setLineWidth): Added check of paintingDisabled().
(WebCore::GraphicsContext::setMiterLimit): Ditto.
(WebCore::GraphicsContext::setAlpha): Ditto.
(WebCore::GraphicsContext::clearRect): Ditto.
(WebCore::GraphicsContext::strokeRect): Ditto.
(WebCore::GraphicsContext::setLineCap): Ditto.
(WebCore::GraphicsContext::setLineJoin): Ditto.
(WebCore::GraphicsContext::clip): Ditto.
(WebCore::GraphicsContext::scale): Added.
(WebCore::GraphicsContext::rotate): Added.
(WebCore::GraphicsContext::translate): Added.
* platform/mac/GraphicsContextMac.mm: Moved most of this file into GraphicsContextCG.cpp.
(WebCore::GraphicsContext::setCompositeOperation): Added check of paintingDisabled().
* platform/mac/WebCoreSystemInterface.h: Added declarations so this header
stands alone.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 3 May 2006 19:32:21 +0000 (19:32 +0000)]
LayoutTests:
Reviewed by Justin.
- tests for http://bugzilla.opendarwin.org/show_bug.cgi?id=8159
REGRESSION: Clicking outside new text field focuses the field
* fast/forms/input-text-click-inside-expected.png: Added.
* fast/forms/input-text-click-inside-expected.txt: Added.
* fast/forms/input-text-click-inside-expected.checksum: Added.
* fast/forms/input-text-click-inside.html: Added.
* fast/forms/input-text-click-outside-expected.png: Added.
* fast/forms/input-text-click-outside-expected.txt: Added.
* fast/forms/input-text-click-outside-expected.checksum: Added.
* fast/forms/input-text-click-outside.html: Added.
Test clicks both inside and outside an input element.
* editing/selection/contenteditable-click-inside-expected.png: Added.
* editing/selection/contenteditable-click-inside-expected.txt: Added.
* editing/selection/contenteditable-click-inside-expected.checksum: Added.
* editing/selection/contenteditable-click-inside.html: Added.
* editing/selection/contenteditable-click-outside-expected.png: Added.
* editing/selection/contenteditable-click-outside-expected.txt: Added.
* editing/selection/contenteditable-click-outside-expected.checksum: Added.
* editing/selection/contenteditable-click-outside.html: Added.
Added a test for the same situation, but with a div element set
to have editable content.
* editing/inserting/insert-
3851164-fix-expected.txt:
* editing/inserting/insert-
3851164-fix.html:
* editing/inserting/insert-
3907422-fix-expected.txt:
* editing/inserting/insert-
3907422-fix.html:
* editing/pasteboard/paste-text-011-expected.txt:
* editing/pasteboard/paste-text-011.html:
Update some tests that were relying on a bug that would cause a
Select All in a document that contained a single content-editable
element select the contents of that element.
* fast/lists/drag-into-marker-expected.checksum:
* fast/lists/drag-into-marker-expected.png:
* fast/lists/drag-into-marker-expected.txt:
* fast/lists/drag-into-marker.html:
Changed test so that it no longer tests what happens when you drag to a marker
that is outside the content-editable element. We may still want to make that
case behave as before, but that's a separate issue.
* editing/pasteboard/drop-text-without-selection-expected.txt:
* editing/pasteboard/merge-start-blockquote-expected.txt:
* editing/pasteboard/merge-start-list-expected.txt:
* editing/selection/select-all-iframe-expected.txt:
* fast/events/div-focus-expected.txt:
* fast/events/drag-outside-window-expected.txt:
* fast/forms/focus-control-to-page-expected.txt:
* fast/forms/input-changing-value-expected.txt:
* fast/forms/input-maxlength-2-expected.txt:
* fast/forms/input-paste-undo-expected.txt:
* fast/forms/input-text-paste-maxlength-expected.txt:
* fast/forms/input-truncate-newline-expected.txt:
* fast/forms/plaintext-mode-2-expected.txt:
* fast/text/textIteratorNilRenderer-expected.txt:
Update tests where the DOM range endpoints passed to the delegate are slightly
different, but equivalent and still OK.
* editing/pasteboard/paste-
4039777-fix-expected.txt:
Updated tests where the resulting tree is slightly different, but still OK.
* editing/unsupported-content/list-delete-002-expected.checksum:
* editing/unsupported-content/list-delete-002-expected.png:
* editing/unsupported-content/list-delete-002-expected.txt:
Update test where the new code eliminates an unwanted extra space that we
got with the old code.
* editing/deleting/delete-
4038408-fix-expected.txt:
* editing/deleting/delete-
4038408-fix.html:
* editing/input/text-input-controller-expected.txt:
* editing/input/text-input-controller.html:
* fast/forms/attributed-strings-expected.txt:
* fast/forms/attributed-strings.html:
Update tests that were relying on the behavior of Select All putting the
selection inside a content-editable element if that element was the first
in the body; the patch breaks that behavior.
* fast/events/updateLayoutForHitTest-expected.checksum:
* fast/events/updateLayoutForHitTest-expected.png:
Update a test that no longer shows a visible selection.
* editing/selection/
3690703-2-expected.checksum:
* editing/selection/
3690703-2-expected.png:
* editing/selection/
3690703-2-expected.txt:
* editing/selection/
3690703-expected.checksum:
* editing/selection/
3690703-expected.png:
* editing/selection/
3690703-expected.txt:
Updated results for these tests, which have examples of form elements
inside a content-editable area. The old results were wrong; the new results
are not much better, but are OK.
- update some other misc. pixel-test results
* fast/inspector/style-expected.checksum:
* fast/inspector/style-expected.png:
Updated since the name changed to include "-webkit-".
* fast/overflow/childFocusRingClip-expected.checksum:
* fast/overflow/childFocusRingClip-expected.png:
Updated results that now seem to show correct clipping of the focus ring.
* fast/frames/empty-cols-attribute-expected.checksum:
* fast/frames/empty-cols-attribute-expected.png: Added.
Checksum was wrong, png was missing.
* fast/parser/001-expected.checksum:
* fast/parser/001-expected.png:
Checksum and png were incorrect -- changed a while back.
* plugins/embed-attributes-style-expected.checksum: Added.
* plugins/embed-attributes-style-expected.png: Added.
Added pixel-test results for tests that don't have them.
WebCore:
Reviewed by Justin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8159
REGRESSION: Clicking outside new text field focuses the field
This bug has always been present for "content editable" HTML, but
now affects <input type=text> as well. The problem is with the editing
concept of a "deep equivalent". When computing the deep equivalent,
the code can move from outside an editable area to inside. To fix this,
I removed all use of the "deep equivalent" concept.
* rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
Changed argument names from _x and _y to just x and y. When the element
is the editable root, changed things so that clicks that are not within
the element at all return positions before or after the element, rather than
always choosing the closest point within the element. This gets us off on
the right foot, by not choosing a position inside an editable root when you
click outside that editable root. This code handles shadowParentNode as well,
and also calls positionForCoordinates on children rather than calling
positionForRenderer (which I believe is now a function that can be removed).
* editing/VisiblePosition.h: Removed the deepEquivalent function.
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::previousVisiblePosition): Removed use of the
deepEquivalent function. Also, to make this function easier to understand
I separated out the case where the start point is "in rendered content"
and the case where it's not into two separate loops.
(WebCore::VisiblePosition::nextVisiblePosition): Ditto.
(WebCore::VisiblePosition::initDeepPosition): Removed use of the deepEquivalent
function. Also added code to make sure that this work never turns a position
outside an editable element into a position inside that editable element, or
vice versa. Reorganized the code a bit.
* dom/Position.cpp:
(WebCore::Position::upstream): Removed use of the deepEquivalent function.
(WebCore::Position::downstream): Ditto.
* editing/htmlediting.cpp:
(WebCore::editingIgnoresContent): Changed to use isReplaced instead of isWidget
and isImage to determine if editing should ignore content.
(WebCore::firstInSpecialElement): Rewrote isFirstVisiblePositionInSpecialElement
to have code to share with positionBeforeContainingSpecialElement. And changed
to allow both the position just before a table and the position just inside a
table to qualify. While this is slightly sloppy, the old code worked because
of the "deep equivalent" technique. This change is needed to get the desired
results even without that technique.
(WebCore::lastInSpecialElement): Ditto.
(WebCore::isFirstVisiblePositionInSpecialElement): Changed to use the new function.
(WebCore::positionBeforeContainingSpecialElement): Ditto.
(WebCore::isLastVisiblePositionInSpecialElement): Ditto.
(WebCore::positionAfterContainingSpecialElement): Ditto.
* dom/Node.cpp: (WebCore::Node::rootEditableElement): Rewrote to remove
special case for body tag.
- other changes
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setOuterHTML): Added a FIXME about the fact
that this won't merge neighboring text nodes the way setOuterText does.
(WebCore::HTMLElement::setInnerText): Added a FIXME about the fact that
this creates a text node even when setting to empty text.
(WebCore::HTMLElement::setOuterText): Ditto.
* editing/DeleteSelectionCommand.cpp: Removed some #if 1 and #if 0.
* editing/ReplaceSelectionCommand.cpp: A little reformatting.
* rendering/render_button.h: Tiny formatting tweak.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14172
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Wed, 3 May 2006 03:21:57 +0000 (03:21 +0000)]
Reviewed by Beth.
Fix for <rdar://problem/
4523671>
REGRESSION (NativeTextField): Auto-complete popup list doesn't appear at the correct location after scrolling page.
* bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _rectOnScreen]):
Use the documentView to compute the correct rect for the element when the view is scrolled.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14170
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 3 May 2006 03:17:55 +0000 (03:17 +0000)]
LayoutTests:
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8704>
Fix a few end merge bugs
<rdar://problem/
4424044>
REGRESSION: Extra line appears when typing
Added a function so that selection changes can participate in slow-motion-mode:
* editing/editing.js:
Extra newlines were added:
* editing/inserting/paragraph-separator-01-expected.checksum: Added.
* editing/inserting/paragraph-separator-01-expected.png: Added.
* editing/inserting/paragraph-separator-01-expected.txt: Added.
* editing/inserting/paragraph-separator-01.html: Added.
* editing/inserting/paragraph-separator-02-expected.checksum: Added.
* editing/inserting/paragraph-separator-02-expected.png: Added.
* editing/inserting/paragraph-separator-02-expected.txt: Added.
* editing/inserting/paragraph-separator-02.html: Added.
A preserved newline was turned into a nbsp:
* editing/inserting/paragraph-separator-03-expected.checksum: Added.
* editing/inserting/paragraph-separator-03-expected.png: Added.
* editing/inserting/paragraph-separator-03-expected.txt: Added.
* editing/inserting/paragraph-separator-03.html: Added.
End merge didn't happen:
* editing/pasteboard/merge-end-4-expected.checksum: Added.
* editing/pasteboard/merge-end-4-expected.png: Added.
* editing/pasteboard/merge-end-4-expected.txt: Added.
* editing/pasteboard/merge-end-4.html: Added.
Content was pulled out of these special elements:
* editing/pasteboard/merge-end-blockquote-expected.checksum: Added.
* editing/pasteboard/merge-end-blockquote-expected.png: Added.
* editing/pasteboard/merge-end-blockquote-expected.txt: Added.
* editing/pasteboard/merge-end-blockquote.html: Added.
* editing/pasteboard/merge-end-list-expected.checksum: Added.
* editing/pasteboard/merge-end-list-expected.png: Added.
* editing/pasteboard/merge-end-list-expected.txt: Added.
* editing/pasteboard/merge-end-list.html: Added.
* editing/pasteboard/merge-end-table-expected.checksum: Added.
* editing/pasteboard/merge-end-table-expected.png: Added.
* editing/pasteboard/merge-end-table-expected.txt: Added.
* editing/pasteboard/merge-end-table.html: Added.
WebCore:
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8704>
Fix a few end merge bugs
<rdar://problem/
4424044>
REGRESSION: Extra line appears when typing
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
Use renamed characterAfter.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
Regenerate a VisiblePosition that became stale during a text node split.
Don't rebalance whitespace after the operation, 1) it has a bug that turns preserved
newlines into nbsps, 2) I think it should only be done during serialization, not after
every command (since editable regions now always have -webkit-nbsp-mode:space on them).
Use a regular br for the placeholder as I think we can move away from -webkit-block-placeholders.
* editing/RebalanceWhitespaceCommand.cpp: Added FIXMEs.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldMergeStart): Removed FIXME.
(WebCore::ReplaceSelectionCommand::shouldMergeEnd): Can now use rendering information.
(WebCore::ReplaceSelectionCommand::doApply):
Call shouldMergeEnd after the insertion so that it can use rendering information.
Don't use positionAfterNode of the last node inserted to mark the position at the end
of inserted content because canonicalization can send it into content that was already
in the document.
* editing/ReplaceSelectionCommand.h:
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::characterAfter):
Renamed. When two candidates are visually equivalent, the rightmost candidate will be
the one inside the text node where the character will be.
* editing/VisiblePosition.h:
* editing/htmlediting.cpp:
(WebCore::enclosingTableCell): Added.
(WebCore::enclosingList):
* editing/htmlediting.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14169
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 3 May 2006 00:21:42 +0000 (00:21 +0000)]
Reviewed by Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8677
REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
I don't know how reproduce this without one of Rosyna's hacks installed, so I
did not include a test.
* Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
InitWebCoreSystemInterface.
* WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
so we will only do this one time.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 3 May 2006 00:02:38 +0000 (00:02 +0000)]
Partial fix for the crash in bugzilla bug 8088. There's a third crash
even after fixing this though.
Reviewed by darin
* platform/mac/WebTextRenderer.mm:
(WebCore::WidthMap::widths):
(WebCore::extendWidthMap):
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory clearCaches]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14167
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Tue, 2 May 2006 23:56:46 +0000 (23:56 +0000)]
Reviewed by Tim O.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6988
REGRESSION: Display correct context menus for new text fields
* WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
Don't let the UI delegate have control over the context menu for text fields.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14166
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Tue, 2 May 2006 22:54:04 +0000 (22:54 +0000)]
2006-05-02 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
WARNING: NO TEST CASES ADDED OR CHANGED
* WebCore.vcproj/WebCore/WebCore.vcproj: defined NDEBUG in release build
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::FrameWin): turned on javascript.
* kwq/KWQKHTMLSettings.h:
(KHTMLSettings::KHTMLSettings): initialized settings to 0
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14163
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Tue, 2 May 2006 22:48:58 +0000 (22:48 +0000)]
2006-05-02 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: set NDEBUG for release build
* kxmlcore/FastMalloc.cpp: Prevent USE_SYSTEM_MALLOC from being defined twice
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14162
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 2 May 2006 20:45:29 +0000 (20:45 +0000)]
Add layout test for scrollLeft/Top setting bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14160
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 2 May 2006 20:44:29 +0000 (20:44 +0000)]
Make sure to updateLayout on all scrolling functions (in particular when
setting scrollLeft/Top).
Reviewed by eric
fast/overflow/008,html added as a test case.
* dom/Element.cpp:
(WebCore::Element::scrollIntoView):
(WebCore::Element::scrollIntoViewIfNeeded):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14159
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 2 May 2006 16:23:54 +0000 (16:23 +0000)]
* ChangeLog: Added.
* <most files: Cleared the stray "executable" bit that was on most files.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14157
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 2 May 2006 09:30:41 +0000 (09:30 +0000)]
2006-05-02 Anders Carlsson <andersca@mac.com>
Reviewed by Maciej.
* kxmlcore/HashMap.h:
(KXMLCore::::operator):
Return *this
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14156
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca [Tue, 2 May 2006 07:25:09 +0000 (07:25 +0000)]
WebCore:
2006-05-02 Anders Carlsson <andersca@mac.com>
Reviewed by Dave Hyatt.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8688
file URLs aren't being serialized correctly when using window.location
* platform/KURL.cpp:
(KURL::prettyURL):
Append "//" for file URLs.
LayoutTests:
2006-05-02 Anders Carlsson <andersca@mac.com>
Reviewed by Dave Hyatt.
Test case for http://bugzilla.opendarwin.org/show_bug.cgi?id=8688
file URLs aren't being serialized correctly when using window.location
* fast/js/window-location-href-file-urls-expected.txt: Added.
* fast/js/window-location-href-file-urls.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14155
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Tue, 2 May 2006 00:48:15 +0000 (00:48 +0000)]
Reviewed by Tim Hatcher.
<rdar://problem/
4476875> Support printing for embedded Netscape plugins
* bindings/npapi.h:
Fixed struct alignment problem in our npapi.h. Structs must be 68k-aligned on both pre-Mac OS X
and Mac OS X systems, as this is what plugins expect.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14153
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 1 May 2006 23:02:18 +0000 (23:02 +0000)]
Convert WebTextRenderer to be a C++ class. Change the factory so
that it uses pointer-based hashmaps instead of NSMutableDictionaries.
Convert uses of malloc/free to new/delete so that they start using
the fastMalloc/fastFree code.
Reviewed by darin
* bridge/mac/WebCoreStringTruncator.mm:
(stringWidth):
(truncateString):
* kwq/KWQComboBox.mm:
(QComboBox::sizeHint):
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
* kwq/KWQListBox.mm:
(itemTextRenderer):
(groupLabelTextRenderer):
(QListBox::sizeForNumberOfLines):
(QListBox::clearCachedTextRenderers):
(-[KWQTableView drawRow:clipRect:]):
* platform/FontDataSet.h:
* platform/mac/FontMac.mm:
(WebCore::FontDataSet::~FontDataSet):
(WebCore::FontDataSet::getRenderer):
(WebCore::FontDataSet::invalidate):
(WebCore::Font::ascent):
(WebCore::Font::descent):
(WebCore::Font::lineSpacing):
(WebCore::Font::xHeight):
(WebCore::Font::selectionRectForText):
(WebCore::Font::drawText):
(WebCore::Font::drawHighlightForText):
(WebCore::Font::drawLineForText):
(WebCore::Font::drawLineForMisspelling):
(WebCore::Font::misspellingLineThickness):
(WebCore::Font::floatWidth):
(WebCore::Font::checkSelectionPoint):
* platform/mac/WebCoreTextRenderer.mm:
(WebCoreDrawTextAtPoint):
(WebCoreTextFloatWidth):
(WebCoreSetAlwaysUseATSU):
* platform/mac/WebTextRenderer.h:
(WebCore::WebTextRenderer::ascent):
(WebCore::WebTextRenderer::descent):
(WebCore::WebTextRenderer::lineSpacing):
(WebCore::WebTextRenderer::lineGap):
(WebCore::WebTextRenderer::misspellingLineThickness):
(WebCore::WebTextRenderer::misspellingLinePatternWidth):
(WebCore::WebTextRenderer::misspellingLinePatternGapWidth):
* platform/mac/WebTextRenderer.mm:
(WebCore::WebCoreInitializeFont):
(WebCore::WebCoreInitializeTextRun):
(WebCore::WebCoreInitializeEmptyTextStyle):
(WebCore::WebCoreInitializeEmptyTextGeometry):
(WebCore::widthForGlyph):
(WebCore::overrideLayoutOperation):
(WebCore::m_ATSUMirrors):
(WebCore::WebTextRenderer::~WebTextRenderer):
(WebCore::WebTextRenderer::xHeight):
(WebCore::WebTextRenderer::drawRun):
(WebCore::WebTextRenderer::floatWidthForRun):
(WebCore::WebTextRenderer::drawLineForCharacters):
(WebCore::WebTextRenderer::selectionRectForRun):
(WebCore::WebTextRenderer::drawHighlightForRun):
(WebCore::WebTextRenderer::drawLineForMisspelling):
(WebCore::WebTextRenderer::pointToOffset):
(WebCore::WebTextRenderer::setAlwaysUseATSU):
(WebCore::getSmallCapsRenderer):
(WebCore::findSubstituteFont):
(WebCore::rendererForAlternateFont):
(WebCore::computeWidthForSpace):
(WebCore::setUpFont):
(WebCore::CG_selectionRect):
(WebCore::CG_draw):
(WebCore::updateGlyphMapEntry):
(WebCore::extendGlyphMap):
(WebCore::extendWidthMap):
(WebCore::initializeATSUStyle):
(WebCore::createATSULayoutParameters):
(WebCore::disposeATSULayoutParameters):
(WebCore::addDirectionalOverride):
(WebCore::ATSU_selectionRect):
(WebCore::ATSU_draw):
(WebCore::ATSU_pointToOffset):
(WebCore::freeWidthMap):
(WebCore::freeGlyphMap):
(WebCore::glyphForCharacter):
(WebCore::advanceWidthIterator):
* platform/mac/WebTextRendererFactory.h:
* platform/mac/WebTextRendererFactory.mm:
(-[WebTextRendererFactory clearCaches]):
(-[WebTextRendererFactory init]):
(-[WebTextRendererFactory dealloc]):
(-[WebTextRendererFactory rendererWithFont:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14149
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Mon, 1 May 2006 22:28:30 +0000 (22:28 +0000)]
2006-05-01 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
Fix missing line ending.
* WebFramePrivate.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14146
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Mon, 1 May 2006 22:21:55 +0000 (22:21 +0000)]
2006-05-01 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
Spinneret now links against the new separate lib.
Removed WebFrame, WebView.
* Spinneret/Spinneret.sln:
* Spinneret/Spinneret/Spinneret.cpp:
(SpinneretWebHost::updateLocationBar):
(_tWinMain):
* Spinneret/Spinneret/Spinneret.h:
* Spinneret/Spinneret/Spinneret.vcproj:
* Spinneret/Spinneret/WebFrame.cpp: Removed.
* Spinneret/Spinneret/WebFrame.h: Removed.
* Spinneret/Spinneret/WebView.cpp: Removed.
* Spinneret/Spinneret/WebView.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14145
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Mon, 1 May 2006 22:10:06 +0000 (22:10 +0000)]
2006-05-01 Steve Falkenburg <sfalken@microsoft.com>
Reviewed by eric.
Moved WebKit-like code from Spinnaret into WebKitWin.
* .: Added.
* WebFrame.cpp: Added.
(WebKit::WebFrame::createWebFrame): Factory to create web frames.
* WebFramePrivate.cpp: Added.
(WebKit::WebFramePrivate::WebFrameData::WebFrameData):
(WebKit::WebFramePrivate::WebFrameData::~WebFrameData):
(WebKit::WebFramePrivate::WebFramePrivate):
(WebKit::WebFramePrivate::~WebFramePrivate):
(WebKit::WebFramePrivate::loadFilePath):
(WebKit::WebFramePrivate::loadHTMLString):
(WebKit::WebFramePrivate::openURL):
(WebKit::WebFramePrivate::submitForm):
(WebKit::WebFramePrivate::loadURL):
(WebKit::WebFramePrivate::getURL):
(WebKit::WebFramePrivate::reload):
(WebKit::WebFramePrivate::receivedData):
(WebKit::WebFramePrivate::receivedAllData):
(WebKit::WebFramePrivate::paint):
(WebKit::WebFramePrivate::impl):
(WebKit::WebFramePrivate::toPrivate):
* WebFramePrivate.h: Added.
* WebKitWin.vcproj: Added.
* WebKitWin.vcproj/WebKitWin: Added.
* WebKitWin.vcproj/WebKitWin.sln: Added.
* WebKitWin.vcproj/WebKitWin/WebKitWin.vcproj: Added.
* WebKitWin.vcproj/WebKitWin/stdafx.cpp: Added.
* WebKitWin.vcproj/WebKitWin/stdafx.h: Added.
* WebView.cpp: Added.
(WebKit::WebView::createWebView):
(WebKit::WebView::WebView):
(WebKit::WebView::mouseMoved):
(WebKit::WebView::mouseDown):
(WebKit::WebView::mouseUp):
(WebKit::WebView::mouseDoubleClick):
(WebKit::WebView::keyPress):
(WebKit::WebViewWndProc):
* public: Added.
* public/WebFrame.h: Added.
* public/WebHost.h: Added.
* public/WebView.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14144
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Mon, 1 May 2006 21:43:03 +0000 (21:43 +0000)]
LayoutTests:
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8653>
Remove a use of hasMoreThanOneBlock
Deleting didn't merge because of code that stopped the merge whenever
the end of the selection to delete was in a fully selected line.
* editing/deleting/merge-endOfParagraph-expected.checksum: Added.
* editing/deleting/merge-endOfParagraph-expected.png: Added.
* editing/deleting/merge-endOfParagraph-expected.txt: Added.
* editing/deleting/merge-endOfParagraph.html: Added.
Two testcases where paste did not request a merge from deletion, but should have.
* editing/pasteboard/merge-after-delete-1-expected.checksum: Added.
* editing/pasteboard/merge-after-delete-1-expected.png: Added.
* editing/pasteboard/merge-after-delete-1-expected.txt: Added.
* editing/pasteboard/merge-after-delete-1.html: Added.
* editing/pasteboard/merge-after-delete-2-expected.checksum: Added.
* editing/pasteboard/merge-after-delete-2-expected.png: Added.
* editing/pasteboard/merge-after-delete-2-expected.txt: Added.
* editing/pasteboard/merge-after-delete-2.html: Added.
Code that prevents nesting incoming blocks in the block being pasted into
could reverse the order of pasted paragraphs.
* editing/pasteboard/prevent-block-nesting-01-expected.checksum: Added.
* editing/pasteboard/prevent-block-nesting-01-expected.png: Added.
* editing/pasteboard/prevent-block-nesting-01-expected.txt: Added.
* editing/pasteboard/prevent-block-nesting-01.html: Added.
WebCore:
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8653>
Remove a use of hasMoreThanOneBlock, which uses info from the test rendering.
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializePositionData):
Removed code that stopped the merge if the end of the selection to delete
was in a fully selected line, which was nonsense.
(WebCore::DeleteSelectionCommand::mergeParagraphs):
Deletion does a bad job of updating the endpoints of the selection as it removes
content. If the endpoints have been flip flipped, bail.
If deletion has removed everything from the block that contained the
start of the selection to delete, we can't create a visible position inside
that block to serve as a destination for the merge. So, we insert a placeholder
at that position to prop the block open to let content in.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
Added an assert and two early returns for cases where we'll crash.
Removed a use of !fragment.hasMoreThanOneBlock, which uses test rendering info
and which was wrong.
If we've already inserted content during the start merge, insertionPos will be
the position just after that content, so inserting new content before insertionPos
will reverse its order.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14143
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Mon, 1 May 2006 21:24:04 +0000 (21:24 +0000)]
WebCore:
Reviewed by Darin.
- manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
(bridge is null) when clicking QuickTime object with href
* manual-tests/plugin-controller-datasource.html: Added.
* manual-tests/resources/orange.mov: Added.
WebKit:
Reviewed by Darin.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8658
Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
(bridge is null) when clicking QuickTime object with href
* WebView/WebHTMLView.m:
(-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14142
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Mon, 1 May 2006 20:58:54 +0000 (20:58 +0000)]
Reviewed by Maciej.
<rdar://problem/
4308243> 8F36 Regression: crash in malloc_consolidate if you use a .PAC file
The original fix missed the oversized cell case. Added a test for "currentThreadIsMainThread ||
imp->m_destructorIsThreadSafe" where we collect oversized cells.
We don't have a way to test PAC files yet, so there's no test attached.
* kjs/collector.cpp:
(KJS::Collector::collect): test the thread when we collect oversized cells
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14141
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Mon, 1 May 2006 20:49:48 +0000 (20:49 +0000)]
Reviewed by Adele.
<rdar://problem/
4526114> REGRESSION (two days ago): LOG() just prints @ for NSObject substitutions
* kxmlcore/Assertions.cpp:
Changed sense of strstr("%@") check. I already made the same fix to the WebBrowser assertions.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14140
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 1 May 2006 18:10:19 +0000 (18:10 +0000)]
- fix build
* WebKit.exp: Add symbol that the new Safari will need.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14129
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 1 May 2006 15:17:41 +0000 (15:17 +0000)]
Reviewed by Tim Omernick.
- fixed <rdar://problem/
3126419> history load enforces history limit, but deletes the newest instead of oldest items
- added notification reporting items discarded during load because the age limit or item count limit is exceeded
- a few other minor tweaks
* History/WebHistory.h:
fixed a typo and an incorrect method name
* History/WebHistoryPrivate.h:
Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:),
and added comments about which methods should become public API, WebKit-internal, or file-internal.
* History/WebHistory.m:
(-[WebHistoryPrivate arrayRepresentation]):
This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
either the age limit or the item count limit. Now all the items are included (and thus saved), and
all the pruning is done at load time, so clients can keep track of the pruned items by observing
the new WebHistoryItemsDiscardedWhileLoadingNotification
(-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
Now keeps track of all the items that violated the age limit or item count limit in the new
collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
reverse order to fix
3126419. Now uses compare: rather than _webkit_compareDay: to check against
age limit; this is faster and also more correct (most noticeable with small age limits).
(-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
(-[WebHistory loadFromURL:error:]):
Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
to age limit or item count limit.
* WebKit.exp:
exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14127
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Mon, 1 May 2006 08:34:40 +0000 (08:34 +0000)]
2006-04-30 Rob Buis <buis@kde.org>
Reviewed by eseidel. Landed by eseidel.
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8651:
CGContextSetLineDash: invalid dash array: emmited during WebKit tests
Properly discard invalid stroke-dasharray properties like in
invalid-css.svg. (Tests updated.)
* ksvg2/css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGStrokeDasharray):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14126
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thatcher [Sat, 29 Apr 2006 20:19:41 +0000 (20:19 +0000)]
Reviewed by Maciej.
Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
http://bugzilla.opendarwin.org/show_bug.cgi?id=8577
Added back _web_superviewOfClass:stoppingAtClass:.
This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
We should remove this method once Open Source users have a new version
to use with TOT WebKit.
* Misc/WebNSViewExtras.m:
(-[NSView _web_superviewOfClass:stoppingAtClass:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14125
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 06:15:27 +0000 (06:15 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by kdecker
Actually apply the change that was reviewed insted of checking it in with an #if 0 (oops).
* kjs/testkjs.cpp:
(main): Suppress C runtime alerts
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14124
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 05:45:11 +0000 (05:45 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by kdecker
Modify error reporting registry keys to disable Dr. Watson.
This allows Javascript test cases to complete without blocking UI.
* Scripts/install-win-extras:
- Use Perl Win32 registry functions to disable blocking UI
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14123
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 05:28:29 +0000 (05:28 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by kdecker
Suppress error reporting dialog that blocks Javascript tests from completing.
Real error is due to an overflow in the date/time handling functions that needs
to be addressed, but this will prevent the hang running the Javascript tests
on the build bot (along with the related changes).
* kjs/testkjs.cpp:
(main): Suppress C runtime alerts
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14122
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 01:03:54 +0000 (01:03 +0000)]
Make image buffer sizes in the loader more accurate, since we know we store
buffers with 4 bytes per pixel. Double sizes to account for this. Also
deal better with animated GIFs that may have thousands of frames by adding
in a heuristic that will use the data size instead of a single frame RGBA32
buffer size if it's larger.
Reviewed by darin
WARNING: NO TEST CASES ADDED OR CHANGED
* loader/Cache.cpp:
* loader/CachedImage.cpp:
(WebCore::CachedImage::data):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14121
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 00:59:54 +0000 (00:59 +0000)]
Double the cache size to account for our revised (more accurate)
measurement of the image buffers.
Reviewed by darin
* WebView/WebPreferences.m:
(+[WebPreferences initialize]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14120
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 00:50:02 +0000 (00:50 +0000)]
Fix build bustage for public builds.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14119
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 00:33:54 +0000 (00:33 +0000)]
fix build bustage.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14118
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 00:17:31 +0000 (00:17 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
Turned off C++ exceptions, fixed memory leaks
* DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj:
* Spinneret/Spinneret.sln:
* Spinneret/Spinneret/Spinneret.cpp:
(_tWinMain):
* Spinneret/Spinneret/Spinneret.vcproj:
* Spinneret/Spinneret/WebFrame.cpp:
(WebKit::WebFrame::WebFramePrivate::~WebFramePrivate):
(WebKit::WebFrame::WebFrame):
(WebKit::WebFrame::~WebFrame):
(WebKit::WebFrame::impl):
* Spinneret/Spinneret/WebFrame.h:
* Spinneret/Spinneret/WebView.cpp:
* Spinneret/Spinneret/stdafx.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14117
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Sat, 29 Apr 2006 00:12:18 +0000 (00:12 +0000)]
2006-04-28 Steve Falkenburg <sfalken@apple.com>
Reviewed by eric.
No test necessary - fixing Win32 build, turned off C++ exceptions, turned off RTTI
* WebCore.vcproj/WebCore/WebCore.vcproj:
* bridge/win/FrameWin.cpp:
(WebCore::FrameWin::~FrameWin):
* bridge/win/PageWin.cpp:
(WebCore::Page::Page):
* page/Page.h:
* platform/win/TemporaryLinkStubs.cpp:
(FrameWin::saveDocumentState):
(Path::contains):
(Path::boundingRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14116
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 29 Apr 2006 00:06:02 +0000 (00:06 +0000)]
Merge WebCoreTextRenderer into WebTextRenderer. Merge WebCoreTextRendererFactory
into WebTextRendererFactory. Change all callers to refer to the concrete classes
now. Change WebCoreTextRenderer.h to be the public API that WebKit uses when
it calls in to WebCore. Clean up the exports to remove things WebKit no longer
needs.
Reviewed by darin
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreStringTruncator.mm:
(stringWidth):
(truncateString):
(+[WebCoreStringTruncator widthOfString:font:]):
* kwq/KWQComboBox.mm:
(QComboBox::sizeHint):
* kwq/KWQLineEdit.mm:
(QLineEdit::sizeForCharacterWidth):
* kwq/KWQListBox.mm:
(itemTextRenderer):
(groupLabelTextRenderer):
(QListBox::sizeForNumberOfLines):
(-[KWQTableView drawRow:clipRect:]):
* platform/Font.h:
* platform/FontDataSet.h:
* platform/mac/FontMac.mm:
(WebCore::FontDataSet::getWebCoreFont):
(WebCore::FontDataSet::getRenderer):
(WebCore::FontDataSet::determinePitch):
* platform/mac/WebCoreTextRenderer.h:
* platform/mac/WebCoreTextRendererFactory.mm:
(-[WebCoreTextRendererFactory init]):
* platform/mac/WebTextRenderer.h:
* platform/mac/WebTextRenderer.mm:
* platform/mac/WebTextRendererFactory.h:
* platform/mac/WebTextRendererFactory.mm:
(WebCoreInitializeFont):
(WebCoreInitializeTextRun):
(WebCoreInitializeEmptyTextStyle):
(WebCoreInitializeEmptyTextGeometry):
(-[WebTextRendererFactory clearCaches]):
(+[WebTextRendererFactory createSharedFactory]):
(+[WebTextRendererFactory sharedFactory]):
(-[WebTextRendererFactory init]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14115
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 28 Apr 2006 22:25:03 +0000 (22:25 +0000)]
Fix for 8586, move WebTextRenderer into WebCore.
Reviewed by darin
* Misc/WebKitNSStringExtras.m:
(-[NSString _web_drawAtPoint:font:textColor:]):
(-[NSString _web_widthWithFont:]):
* Misc/WebStringTruncator.m:
(+[WebStringTruncator centerTruncateString:toWidth:]):
(+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
(+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
(+[WebStringTruncator widthOfString:font:]):
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface):
* WebCoreSupport/WebTextRenderer.h: Removed.
* WebCoreSupport/WebTextRenderer.m: Removed.
* WebCoreSupport/WebTextRendererFactory.h: Removed.
* WebCoreSupport/WebTextRendererFactory.m: Removed.
* WebKit.xcodeproj/project.pbxproj:
* WebView/WebFrameView.m:
(-[WebFrameView initWithFrame:]):
* WebView/WebHTMLView.m:
(-[NSArray _addToStyle:fontA:fontB:]):
* WebView/WebTextView.m:
(-[WebTextView setFixedWidthFont]):
* WebView/WebView.m:
(+[WebView _setAlwaysUseATSU:]):
(+[WebView _setShouldUseFontSmoothing:]):
(+[WebView _shouldUseFontSmoothing]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14113
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 28 Apr 2006 22:24:09 +0000 (22:24 +0000)]
Fix for 8586, move WebTextRenderer into WebCore.
Reviewed by darin
* WebCore.exp:
* WebCore.xcodeproj/project.pbxproj:
* bridge/mac/WebCoreStringTruncator.mm:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/mac/WebCoreTextRenderer.h:
* platform/mac/WebCoreTextRendererFactory.mm:
(+[WebCoreTextRendererFactory sharedFactory]):
* platform/mac/WebTextRenderer.h: Added.
* platform/mac/WebTextRenderer.mm: Added.
(widthForGlyph):
(-[WebTextRenderer initWithFont:]):
(destroy):
(-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
(-[WebTextRenderer drawLineForMisspelling:withWidth:]):
(findSubstituteFont):
(setUpFont):
(pathFromFont):
(drawGlyphs):
(CG_draw):
(extendGlyphMap):
(extendWidthMap):
(initializeATSUStyle):
(createATSULayoutParameters):
(getTextBounds):
(addDirectionalOverride):
(ATSU_draw):
(normalizeVoicingMarks):
(advanceWidthIterator):
(fillStyleWithAttributes):
* platform/mac/WebTextRendererFactory.h: Added.
* platform/mac/WebTextRendererFactory.mm: Added.
(getAppDefaultValue):
(getUserDefaultValue):
(getLCDScaleParameters):
(fontsChanged):
(+[WebTextRendererFactory createSharedFactory]):
(-[WebTextRendererFactory isFontFixedPitch:]):
(-[WebTextRendererFactory fontWithFamily:traits:size:]):
(FontCacheKeyCopy):
(-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14112
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 22:03:18 +0000 (22:03 +0000)]
2006-04-28 Eric Seidel <eseidel@apple.com>
Fix by beth. Reviewed by darin. Landed by eseidel.
Make hackish fix to avoid crash in Xcode and Filemaker.
<rdar://problem/
4059059> Crash in RenderFlow::detach (XCode Documentation Window)
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14110
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Fri, 28 Apr 2006 20:05:26 +0000 (20:05 +0000)]
Reviewed by hyatt.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=5855
REGRESSION: revert SGML comment parsing fix (comment parsing causes most of usbank.com page to be missing)
WebCore:
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::parseComment): Revert one change made for acid2,
<http://weblogs.mozillazine.org/hyatt/acid6.txt>.
LayoutTests:
* fast/css/acid2.html: Updated to the current version of the test, which no longer includes
SGML comment parsing.
* fast/css/acid2-pixel.html: Ditto.
* http/tests/misc/acid2-pixel.html: Ditto.
* http/tests/misc/acid2.html: Ditto.
* fast/parser/comments-expected.checksum: The results of this test now match WinIE.
* fast/parser/comments-expected.png:
* fast/parser/comments-expected.txt:
* fast/parser/comments.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14106
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 19:51:57 +0000 (19:51 +0000)]
2006-04-28 Eric Seidel <eseidel@apple.com>
Reviewed by darin.
Misc. style cleanup.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8643
* Misc/WebIconDatabase.m:
(-[NSMutableDictionary iconForURL:withSize:cache:]):
(-[NSMutableDictionary iconURLForURL:]):
(-[NSMutableDictionary retainIconForURL:]):
(-[NSMutableDictionary releaseIconForURL:]):
(-[WebIconDatabase _setIcon:forIconURL:]):
(-[WebIconDatabase _iconsForIconURLString:]):
(-[WebIconDatabase _forgetIconForIconURLString:]):
(-[WebIconDatabase _releaseIconForIconURLString:]):
(-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
* Plugins/WebBasePluginPackage.m:
(+[WebBasePluginPackage pluginWithPath:]):
(-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
(-[WebBasePluginPackage initWithPath:]):
(-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
(-[WebBasePluginPackage pListForPath:createFile:]):
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage load]):
(-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
(-[WebBasePluginPackage isNativeLibraryData:]):
(-[NSArray _web_lowercaseStrings]):
* Plugins/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage openResourceFile]):
(-[WebNetscapePluginPackage closeResourceFile:]):
(-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
(-[WebNetscapePluginPackage getPluginInfoFromResources]):
(-[WebNetscapePluginPackage initWithPath:]):
(-[WebNetscapePluginPackage executableType]):
(-[WebNetscapePluginPackage unloadWithoutShutdown]):
(-[WebNetscapePluginPackage load]):
(-[WebNetscapePluginPackage unload]):
* Plugins/WebNetscapePluginRepresentation.m:
(-[WebNetscapePluginRepresentation redeliverStream]):
* Plugins/WebPluginDatabase.m:
(+[WebPluginDatabase installedPlugins]):
(-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
(-[WebPluginDatabase pluginForExtension:]):
(pluginLocations):
(-[WebPluginDatabase init]):
(-[WebPluginDatabase refresh]):
* Plugins/npapi.m:
(NPN_MemAlloc):
(NPN_MemFree):
(pluginViewForInstance):
* WebCoreSupport/WebSubresourceLoader.m:
(+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
(-[WebSubresourceLoader willSendRequest:redirectResponse:]):
* WebView/WebDataSource.m:
(-[WebDataSource isLoading]):
* WebView/WebFrame.m:
(-[WebFrame _loadDataSource:withLoadType:formState:]):
(-[WebFrame _subframeIsLoading]):
* WebView/WebView.m:
(-[WebView initWithFrame:]):
(-[WebView initWithFrame:frameName:groupName:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14105
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 28 Apr 2006 17:05:49 +0000 (17:05 +0000)]
Reviewed by Eric.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8608
make GraphicsContext more suitable for cross-platform use, step 2
- Changed GraphicsContext to use NSGraphicsContext as little as possible.
- Removed the printing flag from GraphicsContext.
- Changed GraphicsContext to assume the NSGraphicsContext is always flipped,
and got rid of parameters to pass the flipped boolean around.
* WebCore.vcproj/WebCore/WebCore.vcproj: Add GraphicsTypes.h/cpp and remove
CompositeOperator.h/cpp.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes):
* bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
* html/CanvasPattern.cpp: (WebCore::patternCallback):
* html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createDrawingContext):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceContextQuartz::createGraphicsContext):
* platform/mac/WidgetMac.mm: (WebCore::Widget::lockDrawingFocus):
Update for changes to GraphicsContext constructor (no flipped or printing boolean).
* html/CanvasRenderingContext2D.h: Added a Path to the context state. Changed the
LineCap and LineJoin types to use the new ones in GraphicsTypes.h instead of defining
types here in this class. Changed m_platformContextStrokeStyleIsPattern and
m_platformContextFillStyleIsPattern to be named m_appliedStrokePattern and
m_appliedFillPattern and moved them outside the __APPLE__ ifdefs. Removed the
platformContext() function. Moved applyStrokePattern and applyFillPattern out of
the __APPLE__ ifdef.
* html/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::State::State): Moved the stroke pattern
booleans out of Mac-specific ifdef.
(WebCore::CanvasRenderingContext2D::save): Changed to use GraphicsContext instead
of using CGContext directly.
(WebCore::CanvasRenderingContext2D::restore): Ditto.
(WebCore::CanvasRenderingContext2D::setStrokeStyle): Ditto.
(WebCore::CanvasRenderingContext2D::setFillStyle): Ditto.
(WebCore::CanvasRenderingContext2D::setLineWidth): Ditto.
(WebCore::CanvasRenderingContext2D::lineCap): Ditto.
(WebCore::CanvasRenderingContext2D::setLineCap): Ditto.
(WebCore::CanvasRenderingContext2D::lineJoin): Ditto.
(WebCore::CanvasRenderingContext2D::setLineJoin): Ditto.
(WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto.
(WebCore::CanvasRenderingContext2D::shadowColor): Ditto.
(WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto.
(WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto.
(WebCore::CanvasRenderingContext2D::scale): Update since platformContext() function
no longer exists.
(WebCore::CanvasRenderingContext2D::rotate): Ditto.
(WebCore::CanvasRenderingContext2D::translate): Ditto.
(WebCore::CanvasRenderingContext2D::beginPath): Changed to use GraphicsContext instead
of using CGContext directly.
(WebCore::CanvasRenderingContext2D::closePath): Ditto.
(WebCore::CanvasRenderingContext2D::moveTo): Ditto.
(WebCore::CanvasRenderingContext2D::lineTo): Ditto.
(WebCore::CanvasRenderingContext2D::quadraticCurveTo): Ditto.
(WebCore::CanvasRenderingContext2D::bezierCurveTo): Ditto.
(WebCore::CanvasRenderingContext2D::arcTo): Ditto.
(WebCore::CanvasRenderingContext2D::arc): Ditto.
(WebCore::CanvasRenderingContext2D::rect): Ditto.
(WebCore::CanvasRenderingContext2D::fill): Changed to use the current path from this class
instead of relying on the CGContext's current path.
(WebCore::CanvasRenderingContext2D::stroke): Ditto.
(WebCore::CanvasRenderingContext2D::clip): Changed to use the current path and use the
GraphicsContext instead of using CGContext directly.
(WebCore::CanvasRenderingContext2D::clearRect): Changed to use GraphicsContext instead
of using CGContext directly.
(WebCore::CanvasRenderingContext2D::fillRect): Update since platformContext() function
no longer exists.
(WebCore::CanvasRenderingContext2D::strokeRect): Ditto.
(WebCore::CanvasRenderingContext2D::setShadow): Ditto.
(WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
(WebCore::CanvasRenderingContext2D::drawImage): Ditto.
(WebCore::CanvasRenderingContext2D::drawImageFromRect): Ditto.
(WebCore::CanvasRenderingContext2D::createPattern): Ditto.
(WebCore::CanvasRenderingContext2D::applyStrokePattern): Made a tiny bit of this function
cross-platform. The bulk is still Mac-specific.
(WebCore::CanvasRenderingContext2D::applyFillPattern): Ditto.
* html/CanvasStyle.h: Changed to use GraphicsContext instead of CGContext. Now the
platform-specific stuff is in the implementation, not the header.
* html/CanvasStyle.cpp:
(WebCore::CanvasStyle::applyStrokeColor): Moved the ifdefs inside the function, getting
us one step closer to platform independence.
(WebCore::CanvasStyle::applyFillColor): Ditto.
* html/html_imageimpl.cpp:
(WebCore::HTMLAreaElement::getRect): Update for changes to the Path class.
(WebCore::HTMLAreaElement::getRegion): Ditto.
* page/Frame.cpp:
(WebCore::Frame::paint): Change to check printing flag on the document, rather than on
the GraphicsContext, since there is no printing flag for GraphicsContext any more.
(WebCore::Frame::adjustPageHeight): Update for change to GraphicsContext constructor.
* platform/GraphicsContext.h: Define a type called PlatformGraphicsContext so the
platform-specific getter and constructor don't have to be ifdef'd. Added clearRect,
strokeRect, setLineWidth, setLineCap, setLineJoin, setMiterLimit, setAlpha, setCompositeOperation,
and clip functions. Removed the isForPrinting parameter from createGraphicsContextPrivate.
* platform/GraphicsContext.cpp:
(WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed isForPrinting.
(WebCore::GraphicsContext::createGraphicsContextPrivate): Ditto.
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
Removed NSGraphicsContext.
(WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
Ditto.
(WebCore::GraphicsContext::GraphicsContext): Removed constructor that
takes an NSGraphicsContext. Removed the flipText and forPrinting parameters
to the other constructor.
(WebCore::GraphicsContext::savePlatformState): Removed NSGraphicsContext code.
(WebCore::GraphicsContext::restorePlatformState): Ditto.
(WebCore::GraphicsContext::drawRect): Updated assertion to more-precisely
reflect the limitation of the current version of this function.
(WebCore::GraphicsContext::setColorFromFillColor): Ditto.
(WebCore::GraphicsContext::setColorFromPen): Ditto.
(WebCore::GraphicsContext::drawLine): Updated assertion to more-precisely
reflect the limitation of the current version of this function.
(WebCore::setCompositeOperation):
(WebCore::GraphicsContext::fillRect): Ditto.
(WebCore::GraphicsContext::setLineWidth): Added.
(WebCore::GraphicsContext::setMiterLimit): Added.
(WebCore::GraphicsContext::setAlpha): Added.
(WebCore::GraphicsContext::setCompositeOperation): Added.
(WebCore::GraphicsContext::clearRect): Added.
(WebCore::GraphicsContext::strokeRect): Added.
(WebCore::GraphicsContext::setLineCap): Added.
(WebCore::GraphicsContext::setLineJoin): Added.
(WebCore::GraphicsContext::clip): Added.
* platform/CompositeOperator.cpp: Removed.
* platform/CompositeOperator.h: Removed.
* platform/GraphicsTypes.cpp: Added. Includes CompositeOperator, LineCap, and LineJoin.
* platform/GraphicsTypes.h: Added.
* platform/Image.h: Changed include to GraphicsTypes.h from CompositeOperator.h.
* platform/Path.h: Removed constructors that take a Rect and an array of points. Made
the Path mutable. Changed the types for contains and boundingRect to be float-based
instead of int-based. Changed translate to take a FloatSize instead of two integers.
Added clear, moveTo, addLineTo, addQuadCurveTo, addBezierCurveTo, addArcTo, closeSubpath,
addArc, addRect, addEllipse, and platformPath functions. Defined a PlatformPath type
so we don't have to ifdef the header so much.
* platform/cg/PathCG.cpp:
(WebCore::Path::Path): Changed class to always have a mutable path.
(WebCore::Path::operator=): Changed to make a mutable copy.
(WebCore::Path::contains): Changed to take a FloatPoint instead of IntPoint.
(WebCore::Path::translate): Changed to use a FloatSize instead of two ints.
(WebCore::Path::boundingRect): Changed to return a FloatRect.
(WebCore::Path::moveTo): Added.
(WebCore::Path::addLineTo): Added.
(WebCore::Path::addQuadCurveTo): Added.
(WebCore::Path::addBezierCurveTo): Added.
(WebCore::Path::addArcTo): Added.
(WebCore::Path::closeSubpath): Added.
(WebCore::Path::addArc): Added.
(WebCore::Path::addRect): Added.
(WebCore::Path::addEllipse): Added.
(WebCore::Path::clear): Added.
* platform/mac/ImageMac.mm:
(WebCore::fillSolidColorInRect): Changed to take a GraphicsContext instead of
a CGContext.
(WebCore::Image::checkForSolidColor): Changed to use the new setCompositeOperation
in GraphicsContex.
(WebCore::Image::draw): Changed to use the new PDF image and fillSolidColorInRect
function that take GraphicsContext instead of CGContext.
(WebCore::Image::drawTiled): Ditto.
* platform/mac/PDFDocumentImage.h: Made most functions private. Changed to
use GraphicsContext and FloatRect instead of CGContext and NSRect. Also
removed the unused alpha and flipped booleans.
* platform/mac/PDFDocumentImage.mm:
(WebCore::PDFDocumentImage::bounds): Update for change in types.
(WebCore::PDFDocumentImage::adjustCTM): Ditto.
(WebCore::PDFDocumentImage::setCurrentPage): Ditto.
(WebCore::PDFDocumentImage::draw): Ditto.
* platform/win/TemporaryLinkStubs.cpp: Added lots of new stubs.
* rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Changed to get
printing boolean from document instead graphics context.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintChildren): Ditto.
(WebCore::RenderBlock::paintObject): Ditto.
* rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Ditto.
* rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paint): Ditto.
* rendering/RenderImage.cpp: (WebCore::RenderImage::paint): Ditto.
* rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintButton): Ditto.
* rendering/render_list.cpp: (WebCore::RenderListMarker::paint): Ditto.
* rendering/render_replaced.cpp: (WebCore::RenderWidget::paint): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14102
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Fri, 28 Apr 2006 16:02:45 +0000 (16:02 +0000)]
2006-04-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt, landed by ap.
WebCore:
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6769
REGRESSION: Incomplete repaint when a cell's extra bottom margin grows
Test: fast/repaint/table-extra-bottom-grow.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::overflowRect): Changed to not add the top/left overflow twice and
allow the normal overflow height to overlap with the bottom extra height.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::layout): Removed the code that resets the extra heights.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layoutRows): If the top extra height changed or the
bottom extra height increased, just repaint the entire cell.
LayoutTests:
* fast/repaint/table-extra-bottom-grow-expected.checksum: Added.
* fast/repaint/table-extra-bottom-grow-expected.png: Added.
* fast/repaint/table-extra-bottom-grow-expected.txt: Added.
* fast/repaint/table-extra-bottom-grow.html: Added.
* fast/repaint/table-cell-moved-expected.checksum: Removed excessive painting.
* fast/repaint/table-cell-moved-expected.png: Ditto.
* fast/repaint/bugzilla-6278-expected.checksum: Ditto.
* fast/repaint/bugzilla-6278-expected.png: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14101
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap [Fri, 28 Apr 2006 15:37:15 +0000 (15:37 +0000)]
Reviewed by Darin.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8633
DumpRenderTree should reset the URL cache
* DumpRenderTree/DumpRenderTree.m:
(main): Call [[NSURLCache sharedURLCache] removeAllCachedResponses].
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14100
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 12:49:20 +0000 (12:49 +0000)]
2006-04-28 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
* projects/svg/status.xml: Update to reflect current status.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14099
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 12:30:12 +0000 (12:30 +0000)]
2006-04-28 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
* Scripts/do-webcore-rename: rename KCanvasContainer too
* Scripts/run-webkit-tests: output total time
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14098
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 11:50:03 +0000 (11:50 +0000)]
2006-04-28 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Remove KCanvasContainerQuartz, pushing all logic into KCanvasContainer.
* kcanvas/KCanvasContainer.cpp:
(WebCore::KCanvasContainer::canHaveChildren):
(WebCore::KCanvasContainer::requiresLayer):
(WebCore::KCanvasContainer::lineHeight):
(WebCore::KCanvasContainer::baselinePosition):
(WebCore::KCanvasContainer::calcMinMaxWidth):
(WebCore::KCanvasContainer::layout):
(WebCore::KCanvasContainer::paint):
(WebCore::KCanvasContainer::setViewport):
(WebCore::KCanvasContainer::viewport):
(WebCore::KCanvasContainer::setViewBox):
(WebCore::KCanvasContainer::viewBox):
(WebCore::KCanvasContainer::setAlign):
(WebCore::KCanvasContainer::align):
(WebCore::KCanvasContainer::viewportTransform):
(WebCore::KCanvasContainer::getAbsoluteRepaintRect):
(WebCore::KCanvasContainer::absoluteTransform):
(WebCore::KCanvasContainer::getAspectRatio):
* kcanvas/KCanvasContainer.h:
(WebCore::KCanvasContainer::renderName):
* kcanvas/device/KRenderingDevice.h:
* kcanvas/device/quartz/KCanvasResourcesQuartz.h:
* kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
* kcanvas/device/quartz/KRenderingDeviceQuartz.h:
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceQuartz::createPaintServer):
* ksvg2/svg/SVGAElement.cpp:
(WebCore::SVGAElement::createRenderer):
* ksvg2/svg/SVGGElement.cpp:
(SVGGElement::createRenderer):
* ksvg2/svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::createRenderer):
* ksvg2/svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::createRenderer):
* ksvg2/svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::createRenderer):
* ksvg2/svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::createRenderer):
* ksvg2/svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::createRenderer):
* ksvg2/svg/SVGUseElement.cpp:
(SVGUseElement::createRenderer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14097
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 10:57:28 +0000 (10:57 +0000)]
2006-04-27 Eric Seidel <eseidel@apple.com>
Reviewed by andersca.
Make WebCore accept any */*+xml type as XML.
http://bugzilla.opendarwin.org/show_bug.cgi?id=5998
<rdar://problem/
4031511> XmlHttpRequest doesn't allow responses with Content-Type: application/soap+xml
Test: http/tests/xmlhttprequest/supported-xml-content-types.html
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::isXMLMIMEType):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14096
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Fri, 28 Apr 2006 03:49:32 +0000 (03:49 +0000)]
2006-04-27 Eric Seidel <eseidel@apple.com>
* WebCore.vcproj/WebCore/WebCore.vcproj: Fix break from last checkin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14095
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Fri, 28 Apr 2006 01:00:04 +0000 (01:00 +0000)]
JavaScriptCore:
Reviewed by Maciej
- Minor fixups I discovered while working on the autogenerator.
* kjs/lookup.cpp:
(findEntry): ASSERT that size is not 0, because otherwise we'll % by 0,
compute a garbage address, and possibly crash.
* kjs/lookup.h:
(cacheGlobalObject): Don't enumerate cached objects -- ideally, they
would be hidden entirely.
LayoutTests:
- Updated to remove diff shmutz:
* fast/dom/Window/window-special-properties-expected.txt:
* fast/dom/Window/window-special-properties.html:
- Test for global window properties like window.HTMLDocument:
* fast/dom/global-constructors-expected.txt: Added.
* fast/dom/global-constructors.html: Added.
WebCore:
Reviewed by Maciej.
- Added global constructor autogeneration for the following,
many of which are required by *.live.com: Node, Element, Range,
CSSRule, CSSValue, CSSPrimitiveValue, CSSStyleDeclaration, Event,
MutationEvent, NodeFilter
It works like so:
- The autogenerator knows about the "Constructor" data type, which
gets special treatment because it exists purely in the
bindings. It also knows about the "GenerateConstructor" interface
attribute, which does just that.
- The window interface has many Constructor attributes
- The hash table generator swizzles empty tables to tables with one
empty bucket, to prevent crashes in Lookup::findEntry. (The old
generator used to work this way, too.)
- Window object property lookup gets special treatment to allow
shadowing of its built-in global constructor properties. We'll
need to expand this mechanism in the future and make it more
flexible, but it works for now.
* DerivedSources.make:
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_css.cpp:
(KJS::toJS):
* bindings/js/kjs_css.h:
* bindings/js/kjs_window.cpp: Removed 'namedFrameGetter' and its use
because they were bogus; added FIXME describing what they were
attempting to do.
(KJS::Window::getValueProperty):
(KJS::Window::getOverridePropertySlot):
(KJS::Window::getOwnPropertySlot):
* bindings/js/kjs_window.h:
(KJS::Window::):
* bindings/scripts/CodeGeneratorJS.pm:
* css/CSSPrimitiveValue.idl:
* css/CSSRule.idl:
* css/CSSStyleDeclaration.idl: Added.
* css/CSSValue.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/MutationEvent.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/Range.idl:
* page/DOMWindow.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14094
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Thu, 27 Apr 2006 23:24:08 +0000 (23:24 +0000)]
Give credit where credit is due.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14090
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Thu, 27 Apr 2006 23:00:41 +0000 (23:00 +0000)]
LayoutTests:
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8607>
Automate repaint tests
* fast/repaint/backgroundSizeRepaint-expected.checksum: Added.
* fast/repaint/backgroundSizeRepaint-expected.png: Added.
* fast/repaint/backgroundSizeRepaint-expected.txt: Added.
* fast/repaint/backgroundSizeRepaint.html: Added.
* fast/repaint/border-repaint-glitch-expected.checksum: Added.
* fast/repaint/border-repaint-glitch-expected.png: Added.
* fast/repaint/border-repaint-glitch-expected.txt: Added.
* fast/repaint/border-repaint-glitch.html: Added.
* fast/repaint/bugzilla-3509-expected.checksum: Added.
* fast/repaint/bugzilla-3509-expected.png: Added.
* fast/repaint/bugzilla-3509-expected.txt: Added.
* fast/repaint/bugzilla-3509.html: Added.
* fast/repaint/bugzilla-5699-expected.checksum: Added.
* fast/repaint/bugzilla-5699-expected.png: Added.
* fast/repaint/bugzilla-5699-expected.txt: Added.
* fast/repaint/bugzilla-5699.html: Added.
* fast/repaint/bugzilla-6278-expected.checksum: Added.
* fast/repaint/bugzilla-6278-expected.png: Added.
* fast/repaint/bugzilla-6278-expected.txt: Added.
* fast/repaint/bugzilla-6278.html: Added.
* fast/repaint/bugzilla-6388-expected.checksum: Added.
* fast/repaint/bugzilla-6388-expected.png: Added.
* fast/repaint/bugzilla-6388-expected.txt: Added.
* fast/repaint/bugzilla-6388.html: Added.
* fast/repaint/bugzilla-6473-expected.checksum: Added.
* fast/repaint/bugzilla-6473-expected.png: Added.
* fast/repaint/bugzilla-6473-expected.txt: Added.
* fast/repaint/bugzilla-6473.html: Added.
* fast/repaint/bugzilla-7235-expected.checksum: Added.
* fast/repaint/bugzilla-7235-expected.png: Added.
* fast/repaint/bugzilla-7235-expected.txt: Added.
* fast/repaint/bugzilla-7235.html: Added.
* fast/repaint/inline-outline-repaint-expected.checksum: Added.
* fast/repaint/inline-outline-repaint-expected.png: Added.
* fast/repaint/inline-outline-repaint-expected.txt: Added.
* fast/repaint/inline-outline-repaint.html: Added.
* fast/repaint/outline-repaint-glitch-expected.checksum: Added.
* fast/repaint/outline-repaint-glitch-expected.png: Added.
* fast/repaint/outline-repaint-glitch-expected.txt: Added.
* fast/repaint/outline-repaint-glitch.html: Added.
* fast/repaint/repaint-resized-overflow-expected.checksum: Added.
* fast/repaint/repaint-resized-overflow-expected.png: Added.
* fast/repaint/repaint-resized-overflow-expected.txt: Added.
* fast/repaint/repaint-resized-overflow.html: Added.
* fast/repaint/repaint.js: Added.
* fast/repaint/resources: Added.
* fast/repaint/resources/apple.jpg: Added.
* fast/repaint/table-cell-move-expected.checksum: Added.
* fast/repaint/table-cell-move-expected.png: Added.
* fast/repaint/table-cell-move-expected.txt: Added.
* fast/repaint/table-cell-move.html: Added.
WebCore:
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8607>
Automate repaint tests
* manual-tests/backgroundSizeRepaint.html: Removed.
* manual-tests/border-repaint-glitch.html: Removed.
* manual-tests/bugzilla-3509.html: Removed.
* manual-tests/bugzilla-5699.html: Removed.
* manual-tests/bugzilla-6278.html: Removed.
* manual-tests/bugzilla-6388.html: Removed.
* manual-tests/bugzilla-6473.html: Removed.
* manual-tests/bugzilla-7235.html: Removed.
* manual-tests/inline-outline-repaint.html: Removed.
* manual-tests/outline-repaint-glitch.html: Removed.
* manual-tests/repaint-resized-overflow.html: Removed.
* manual-tests/table-cell-move.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14089
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Thu, 27 Apr 2006 20:11:45 +0000 (20:11 +0000)]
LayoutTests:
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8624>
Placeholders aren't always removed during paste
<rdar://problem/
4059807>
Seed: Mail: pasting quoted content sometimes adds a phantom newline
If a webkit-block-placeholder has been introduced by a bug in deletion,
we shouldn't remove it during paste if it is now acting as a linebreak.
* editing/pasteboard/bad-placeholder-expected.checksum: Added.
* editing/pasteboard/bad-placeholder-expected.png: Added.
* editing/pasteboard/bad-placeholder-expected.txt: Added.
* editing/pasteboard/bad-placeholder.html: Added.
Generic placeholder brs should be removed if they are displaced by pasted content.
* editing/pasteboard/displaced-generic-placeholder-expected.checksum: Added.
* editing/pasteboard/displaced-generic-placeholder-expected.png: Added.
* editing/pasteboard/displaced-generic-placeholder-expected.txt: Added.
* editing/pasteboard/displaced-generic-placeholder.html: Added.
So should placeholder brs with our special class on them.
* editing/pasteboard/displaced-placeholder-expected.checksum: Added.
* editing/pasteboard/displaced-placeholder-expected.png: Added.
* editing/pasteboard/displaced-placeholder-expected.txt: Added.
* editing/pasteboard/displaced-placeholder.html: Added.
Removed an unnecessary collapsed br.
* editing/pasteboard/paste-text-010-expected.txt:
Two fixes, an extra line was present after pasting with an interchange newline.
* editing/pasteboard/paste-text-016-expected.checksum: Added.
* editing/pasteboard/paste-text-016-expected.png: Added.
* editing/pasteboard/paste-text-016-expected.txt: Added.
* editing/pasteboard/paste-text-017-expected.checksum: Added.
* editing/pasteboard/paste-text-017-expected.png: Added.
* editing/pasteboard/paste-text-017-expected.txt: Added.
The code that interprets the incoming br as a br in strict mode had a bug.
* editing/pasteboard/quirks-mode-br-1-expected.checksum: Added.
* editing/pasteboard/quirks-mode-br-1-expected.png: Added.
* editing/pasteboard/quirks-mode-br-1-expected.txt: Added.
* editing/pasteboard/quirks-mode-br-1.html: Added.
The linePlaceholder removal was negating the work to interpret the last
incoming br as a br in strict mode.
* editing/pasteboard/quirks-mode-br-2-expected.checksum: Added.
* editing/pasteboard/quirks-mode-br-2-expected.png: Added.
* editing/pasteboard/quirks-mode-br-2-expected.txt: Added.
* editing/pasteboard/quirks-mode-br-2.html: Added.
Don't let collapsed brs become rendered as a result of the paste operation.
* editing/pasteboard/unrendered-br-expected.checksum: Added.
* editing/pasteboard/unrendered-br-expected.png: Added.
* editing/pasteboard/unrendered-br-expected.txt: Added.
* editing/pasteboard/unrendered-br.html: Added.
WebCore:
Reviewed by darin
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8624>
Placeholders aren't always removed during paste
<rdar://problem/
4059807>
Seed: Mail: pasting quoted content sometimes adds a phantom newline
* editing/CompositeEditCommand.cpp: Added a FIXME.
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
Removed two no-op setEndingSelection calls.
Store away a br at the position where we'll start inserting content in case the
br a) is made unnecessary by the insertion (it's collapsed away) b) was acting
as a placeholder and should therefore be displaced by inserted content or c) was
acting as a line break and, as a result of the insertion, is now acting as a
placeholder.
Don't only store away brs that have the webkit-block-placeholder class on them.
Any br that does any of the three things just mentioned should be removed.
The linePlaceholder removal was run after the code that makes sure to interpret
incoming brs strictly, and was negating that work in certain cases.
(WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded): Described above.
* editing/ReplaceSelectionCommand.h:
* editing/VisiblePosition.cpp:
(WebCore::isEqualIgnoringAffinity):
Added a workaround for 8622. We want this function to return true even if one of
the two visible positions has been incorrectly canonicalized.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14086
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Thu, 27 Apr 2006 16:57:15 +0000 (16:57 +0000)]
speculative fix for windows build
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14083
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Thu, 27 Apr 2006 00:57:29 +0000 (00:57 +0000)]
LayoutTests:
Reviewed by Hyatt.
Test case for <rdar://problem/
4068375> Flash inserted via innerHTML Fails to Show when
CSS Display Style is Toggled via Javascript
* plugins/inner-html-display-none.html: Added.
* plugins/inner-html-display-none-expected.txt: Added.
WebCore:
Reviewed by Hyatt.
<rdar://problem/
4068375> Flash inserted via innerHTML Fails to Show when CSS Display
Style is Toggled via Javascript
* html/html_objectimpl.cpp:
(WebCore::HTMLObjectElement::setComplete):
Set needWidgetUpdate when finished parsing, even if the object element is not in
a document. That way, when the element attaches to a document, it will update its
widget (creating the plug-in view if necessary). This is important when the object
is being inserted via setInnerHTML, since the parsed nodes are not added to the
document until the whole HTML string is parsed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14082
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 26 Apr 2006 22:31:55 +0000 (22:31 +0000)]
Reviewed by Hyatt.
- Fixed http://bugzilla.opendarwin.org/post_bug.cgi
REGRESSION (r14048): Google calendar not parsing
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError): Rolling out grandparent NULL check
because it caused this regression and there's no test case
justifying it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14081
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 26 Apr 2006 21:10:06 +0000 (21:10 +0000)]
LayoutTests:
Reviewed by hyatt
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8459>
REGRESSION: Content lost during a delete/merge of whitespace:pre text
Updated to mention the bug that this testcase still demonstrates.
Leaving it disabled until the bug (8592) is fixed:
* editing/deleting/merge-whitespace-pre.html-disabled:
Illustrates why prune should ascend using the render tree:
* editing/deleting/pruning-after-merge-1-expected.checksum: Added.
* editing/deleting/pruning-after-merge-1-expected.png: Added.
* editing/deleting/pruning-after-merge-1-expected.txt: Added.
* editing/deleting/pruning-after-merge-1.html: Added.
WebCore:
Reviewed by hyatt
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8459>
REGRESSION: Content lost during a delete/merge of whitespace:pre text
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::prune):
The function would prune a rendered leaf because it assumed that the
first node passed to it would be a container.
The old code ascended using the DOM tree, and would remove the <b> when
pruning the <div> in <b><div></div>foo</b>. Now ascends using the render tree.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 26 Apr 2006 20:42:02 +0000 (20:42 +0000)]
This time for sure. Fixed Windows build too.
* WebCore.vcproj/WebCore/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14077
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 26 Apr 2006 20:29:38 +0000 (20:29 +0000)]
Reviewed by TimO.
Build fix.
* bindings/js/kjs_dom.cpp:
* bindings/js/kjs_domnode.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14076
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Wed, 26 Apr 2006 20:18:03 +0000 (20:18 +0000)]
Reviewed by Geoff.
<rdar://problem/
4525105> Repro TOT crash in [WebBaseNetscapePluginView dealloc] at coachella.com
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8564> crashed when closing a tab
* WebView/WebFrame.m:
(-[WebFramePrivate dealloc]):
Assert that plugInViews has been released.
(-[WebFrame _addPlugInView:]):
New method. Adds the plug-in view to the plugInViews set and calls -setWebFrame: on it.
(-[WebFrame _removeAllPlugInViews]):
New method. Calls -setWebFrame:nil on all plug-in views and releases the plugInViews set.
(-[WebFrame _willCloseURL]):
New method. Dispose of plug-in views when leaving a page (or closing the WebView).
* WebView/WebFrameInternal.h:
Declared -_addPlugInView:, -_removeAllPlugInViews, -_willCloseURL
* WebCoreSupport/WebFrameBridge.m:
(-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
Call -[WebFrame _addPlugInView:] instead of directly setting plug-in views' frames. This
allows us to keep track of them so that we can explicitly dispose of them when leaving the page.
(-[WebFrameBridge closeURL]):
Override -[WebCoreFrameBridge closeURL] so that we can perform our own teardown when leaving
a page or closing the WebView.
* Plugins/WebBaseNetscapePluginView.h:
Declared -stop so that subclass WebNetscapePluginEmbeddedView can call it.
* Plugins/WebNetscapePluginEmbeddedView.m:
(-[WebNetscapePluginEmbeddedView setWebFrame:]):
Stop the plug-in when it is removed from its WebFrame.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14075
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 26 Apr 2006 20:02:01 +0000 (20:02 +0000)]
LayoutTests:
Reviewed by OMG DETHBAKIN.
* fast/dom/prototype-chain-expected.txt: Fix up prototype chain now
that Node is autogenerated.
WebCore:
Reviewed by OMG DETHBAKIN.
- Start autogenerating Node. This fixes many missing attributes in our
DOM by making prototypes hold their relevant constants as properties.
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_dom.cpp:
(KJS::DOMEventTargetNode::DOMEventTargetNode):
(KJS::toJS):
* bindings/js/kjs_dom.h:
(KJS::DOMEventTargetNode::):
* bindings/js/kjs_domnode.h: Had to break DOMNode into a separate
header to avoid circular dependency in header includes. Gave it an
old-school file name to keep distinguishing beteween old school and
news school files easy.
(KJS::DOMNode::impl):
(KJS::DOMNode::classInfo):
(KJS::DOMNode::):
* bindings/js/kjs_window.cpp:
(KJS::Window::getValueProperty):
* bindings/scripts/CodeGeneratorJS.pm:
* dom/DocumentType.idl:
* dom/Entity.idl:
* dom/Node.idl: Added.
* dom/Notation.idl:
* dom/ProcessingInstruction.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14074
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Wed, 26 Apr 2006 19:52:28 +0000 (19:52 +0000)]
Reviewed by John Sullivan.
<rdar://problem/
4472035> SPI that checks for URL policy fails in plugin documents
* Plugins/WebPluginController.h:
* Plugins/WebPluginController.m:
(-[WebPluginController URLPolicyCheckReferrer]):
New method. Get the referrer from the frame's data source's NSURLResponse. Note that for
document types loaded by WebCore, this URL is the same as -[WebCorePageBridge referrer],
since the response URL is what we pass to -[WebCorePageBridge openURL:].
* Plugins/WebPluginContainerCheck.m:
(-[WebPluginContainerCheck _isForbiddenFileLoad]):
Use the WebPluginController's -URLPolicyCheckReferrer instead of assuming that the bridge's
-referrer is valid. -[WebCorePageBridge referrer] is only set during the normal WebCore page
load process, which has nothing to do with loading standalone plugin documents.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14073
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Wed, 26 Apr 2006 19:09:12 +0000 (19:09 +0000)]
Reviewed by Darin.
Committing the project file change jhaygood suggesed in
http://bugzilla.opendarwin.org/show_bug.cgi?id=8044
WebKit Visual Studio 2005 project shouldn't use the SolutionDir
Instead of his patch, I used the following commands:
sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g' Image\ Viewer/Image\
Viewer.vcproj > Image\ Viewer/Image\ Viewer.vcproj_ && mv Image\
Viewer/Image\ Viewer.vcproj_ Image\ Viewer/Image\ Viewer.vcproj
sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g'
WebCore/WebCore.vcproj > WebCore/WebCore.vcproj_ && mv
WebCore/WebCore.vcproj_ WebCore/WebCore.vcproj
* Viewer.vcproj:
* WebCore.vcproj/WebCore/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14072
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justing [Wed, 26 Apr 2006 04:33:43 +0000 (04:33 +0000)]
LayoutTests:
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8583>
Moving paste code around and some small fixes
Disabling until the bug it illustrates is fixed (8459):
* editing/deleting/merge-whitespace-pre.html: Removed.
* editing/deleting/merge-whitespace-pre.html-disabled: Added.
This illustrates the need to do mergeEnd in the opposite direction:
* editing/pasteboard/merge-end-borders-expected.checksum: Added.
* editing/pasteboard/merge-end-borders-expected.png: Added.
* editing/pasteboard/merge-end-borders-expected.txt: Added.
* editing/pasteboard/merge-end-borders.html: Added.
These illustrate the need to do the special case checks for list content and Mail
blockquote content at the top of shouldMergeStart:
* editing/pasteboard/merge-start-blockquote-expected.checksum: Added.
* editing/pasteboard/merge-start-blockquote-expected.png: Added.
* editing/pasteboard/merge-start-blockquote-expected.txt: Added.
* editing/pasteboard/merge-start-blockquote.html: Added.
* editing/pasteboard/merge-start-list-expected.checksum: Added.
* editing/pasteboard/merge-start-list-expected.png: Added.
* editing/pasteboard/merge-start-list-expected.txt: Added.
* editing/pasteboard/merge-start-list.html: Added.
In these tests, the caret was blown away because it was in content that
participated in the end merge. Now the end merge happens in the opposite
direction (incoming content is what is moved when merging paragraphs), so
the caret is no longer blown away:
* editing/pasteboard/paste-line-endings-007-expected.txt:
* editing/pasteboard/paste-line-endings-008-expected.txt:
* editing/pasteboard/paste-line-endings-009-expected.txt:
* editing/pasteboard/paste-text-002-expected.txt:
Acceptable change to a complicated paste-a-selection-over-itself:
* editing/pasteboard/paste-text-003-expected.checksum:
* editing/pasteboard/paste-text-003-expected.png:
* editing/pasteboard/paste-text-003-expected.txt:
WebCore:
Reviewed by harrison
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8583>
Moving paste code around and some small fixes
Moved code to make it easier to do the start merge after the fact,
with moveParagraph, instead of in the middle of the paste operation.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraph):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::shouldMergeStart):
Moved code to make this decision to its own function. Moved special case
checks to the top. Added m_forceMergeStart to override the special cases
because moveParagraph uses ReplaceSelectionCommand and expects a merge.
(WebCore::ReplaceSelectionCommand::shouldMergeEnd):
No functional changes, just moved code here.
(WebCore::ReplaceSelectionCommand::doApply):
Do the end merge in the opposite direction. Merging two paragraphs destroys
the moved one's block level styles, and we prefer to use the styles of the
one that was in the document, not the one that's being pasted.
* editing/ReplaceSelectionCommand.h:
* editing/Selection.h:
(WebCore::Selection::visibleStart): Added.
(WebCore::Selection::visibleEnd): Added.
* editing/htmlediting.cpp:
(WebCore::enclosingList): Added.
(WebCore::isMailBlockquote):
Don't require a renderer so that this can be used on nodes in fragments.
* editing/htmlediting.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14071
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Tue, 25 Apr 2006 23:12:54 +0000 (23:12 +0000)]
Reviewed by Eric.
<rdar://problem/
4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc]
running layout tests
* Plugins/WebPluginPackage.m:
(-[WebPluginPackage unload]):
Clear isLoaded here. It turns out that only WebNetscapePluginPackage cleared its isLoaded
flag in -unload. We need to also do it here, because the superclass (WebBasePluginPackage)
asserts in -dealloc that -unload has been called.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14070
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Tue, 25 Apr 2006 22:58:56 +0000 (22:58 +0000)]
LayoutTests:
Reviewed by Maciej.
Test for the DOM properties supported by object, embed, attribute:
* fast/dom/plugin-attributes-enumeration-expected.txt: Added.
* fast/dom/plugin-attributes-enumeration.html: Added.
Test for setting attributes through DOM properties:
* plugins/embed-attributes-setting-expected.txt: Added.
* plugins/embed-attributes-setting.html: Added.
Test for the special attribute-to-style mappings on embed.
* plugins/embed-attributes-style-expected.txt: Added.
* plugins/embed-attributes-style.html: Added.
WebCore:
Reviewed by Maciej.
- Removed special handling of attributes in the DOM. To match
WinIE, we used to make all attributes available as properties of
their elements in the DOM, but that has caused us more
compatibility woes than it has solved, so, after talking with Darin
and Maciej, I'm taking it out. (Firefox does not support it.)
A layout test regression caused by this change led me to do the
following as well:
- Implemented DOM properties missing on EMBED elements: align, height,
name, width, src, type. Since align, height, name, and width are
common to all plugin elements, I factored them and some other common
functionality out into a new abstract base class, HTMLPlugInElement.
- Removed extraneous attribute-to-style mappings on EMBED elements:
valign, border. Why they were there in the first place is a question
for the ages. Neither FF nor IE supports them.
* bindings/js/kjs_dom.cpp:
(KJS::getRuntimeObject):
* bindings/js/kjs_html.cpp:
(KJS::):
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
(KJS::JSHTMLElement::embedGetter):
(KJS::JSHTMLElement::embedSetter):
* bindings/js/kjs_html.h:
(KJS::JSHTMLElement::):
* bindings/scripts/CodeGeneratorJS.pm:
* dom/Element.idl:
* html/html_objectimpl.cpp:
(WebCore::HTMLPlugInElement::HTMLPlugInElement):
(WebCore::HTMLPlugInElement::align):
(WebCore::HTMLPlugInElement::setAlign):
(WebCore::HTMLPlugInElement::height):
(WebCore::HTMLPlugInElement::setHeight):
(WebCore::HTMLPlugInElement::name):
(WebCore::HTMLPlugInElement::setName):
(WebCore::HTMLPlugInElement::width):
(WebCore::HTMLPlugInElement::setWidth):
(WebCore::HTMLPlugInElement::mapToEntry):
(WebCore::HTMLPlugInElement::parseMappedAttribute):
(WebCore::HTMLPlugInElement::checkDTD):
(WebCore::HTMLAppletElement::HTMLAppletElement):
(WebCore::HTMLAppletElement::~HTMLAppletElement):
(WebCore::HTMLAppletElement::parseMappedAttribute):
(WebCore::HTMLAppletElement::insertedIntoDocument):
(WebCore::HTMLAppletElement::removedFromDocument):
(WebCore::HTMLAppletElement::getInstance):
(WebCore::HTMLAppletElement::closeRenderer):
(WebCore::HTMLAppletElement::detach):
(WebCore::HTMLEmbedElement::HTMLEmbedElement):
(WebCore::HTMLEmbedElement::~HTMLEmbedElement):
(WebCore::HTMLEmbedElement::getInstance):
(WebCore::HTMLEmbedElement::mapToEntry):
(WebCore::HTMLEmbedElement::parseMappedAttribute):
(WebCore::HTMLEmbedElement::attach):
(WebCore::HTMLEmbedElement::detach):
(WebCore::HTMLEmbedElement::insertedIntoDocument):
(WebCore::HTMLEmbedElement::removedFromDocument):
(WebCore::HTMLEmbedElement::src):
(WebCore::HTMLEmbedElement::setSrc):
(WebCore::HTMLEmbedElement::type):
(WebCore::HTMLEmbedElement::setType):
(WebCore::HTMLObjectElement::HTMLObjectElement):
(WebCore::HTMLObjectElement::~HTMLObjectElement):
(WebCore::HTMLObjectElement::getInstance):
(WebCore::HTMLObjectElement::parseMappedAttribute):
(WebCore::HTMLObjectElement::rendererIsNeeded):
(WebCore::HTMLObjectElement::attach):
(WebCore::HTMLObjectElement::closeRenderer):
(WebCore::HTMLObjectElement::detach):
(WebCore::HTMLObjectElement::insertedIntoDocument):
(WebCore::HTMLObjectElement::removedFromDocument):
(WebCore::HTMLObjectElement::recalcStyle):
* html/html_objectimpl.h:
(WebCore::HTMLPlugInElement::endTagRequirement):
(WebCore::HTMLAppletElement::tagPriority):
(WebCore::HTMLEmbedElement::tagPriority):
(WebCore::HTMLObjectElement::tagPriority):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14069
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Tue, 25 Apr 2006 22:42:04 +0000 (22:42 +0000)]
Reviewed by Eric.
<rdar://problem/
4526120> -[WebBasePluginPackage finalize] leaks the CFBundle (under GC only)
* Plugins/WebBasePluginPackage.m:
(-[WebBasePluginPackage finalize]):
Release the CFBundle here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14068
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin [Tue, 25 Apr 2006 22:35:33 +0000 (22:35 +0000)]
Reviewed by Maciej.
Fix for <rdar://problem/
4518632> getComputedStyle returns 'auto'
for dimensions like 'margin-left'
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): For
margin and padding, to match Firefox we now go to the renderer to
get the property value instead of calling valueForLength() on the
style attribute. valueForLength() will return the string 'auto' if
that was what was specified in the CSS, or a percentage if it was
specified as a percent. But to match Firefox, we always want to
return a pixel value for margin and padding.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14067
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Tue, 25 Apr 2006 21:26:50 +0000 (21:26 +0000)]
2006-04-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by hyatt. Landed by eseidel.
- http://bugzilla.opendarwin.org/show_bug.cgi?id=8549
Enable detection of excessive repainting with DumpRenderTree
* DumpRenderTree/DumpRenderTree.m:
(-[LayoutTestController display]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14061
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tomernic [Tue, 25 Apr 2006 21:24:57 +0000 (21:24 +0000)]
Reviewed by Geoff.
<rdar://problem/
4472037>
Private extensions to the WebPlugin interface. A plugin may implement these methods to receive loading callbacks
for its main resource. Plug-ins that implement this SPI show better loading progress in the browser, can be saved
to disk, and are more efficient by avoiding making duplicate GET or POST requests for the plug-in's main resource.
I want to provide a solid API for plug-in networking, but time constraints require that I first provide this simple
SPI for internal clients.
* Plugins/WebPluginViewFactoryPrivate.h:
Added a new plugin argument, WebPlugInShouldLoadMainResourceKey. If YES, the plugin is responsible
for loading its own content. If NO, the plugin should wait for WebKit to send it the data via the
new request-sharing SPI.
* Plugins/WebPluginPrivate.h: Added.
Request-sharing SPI. See comments in code.
* Plugins/WebPluginDocumentView.h:
Hang onto the plugin view as an ivar so we can call the new resource loading methods on it.
* Plugins/WebPluginDocumentView.m:
(-[WebPluginDocumentView dealloc]):
Release pluginView ivar.
(-[WebPluginDocumentView setDataSource:]):
Pass NO for WebPlugInShouldLoadMainResourceKey to indicate to the plugin that it should not
load its own main resource -- the data will come from WebKit. This is only necessary for plugin
documents. By the time we create the view for a plugin document, we already have fetched some
of its main resource's data. Embedded plugins do not have this issue because WebKit is not
involved in loading their content.
Call -webPlugInMainResourceDidReceivResponse: on the plugin if necessary. This lets the plugin
know how much and what kind of data is going to be received.
(-[WebPluginDocumentView dataSourceUpdated:]):
If the plugin implements the new request-sharing SPI, don't cancel the in-progress request.
(-[WebPluginDocumentView receivedData:withDataSource:]):
Forward to the plugin via the new request-sharing SPI.
(-[WebPluginDocumentView receivedError:withDataSource:]):
ditto
(-[WebPluginDocumentView finishedLoadingWithDataSource:]):
ditto
* Plugins/WebPluginPackage.m:
Added WebPlugInShouldLoadMainResourceKey, tweaked some style a bit.
* WebCoreSupport/WebFrameBridge.m:
(-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
Pass YES for WebPlugInShouldLoadMainResourceKey. Embedded plugins must load their own data.
(-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
ditto
* WebKit.xcodeproj/project.pbxproj:
Added WebPluginPrivate.h
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14060
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Tue, 25 Apr 2006 21:23:53 +0000 (21:23 +0000)]
2006-04-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
Reviewed by darin. Landed by eseidel.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8452
mangleme(0x58c22e11): Random crashes
Test: fast/frames/empty-cols-attribute.html
* platform/StringImpl.cpp:
(WebCore::StringImpl::toLengthArray): If the string is empty, return 0
but set len to 1. This gives the same behavior you get if you don't specify
the attribute at all, matching WinIE and Firefox. Previously, the empty
string resulted in len being set to 0 (and a memory smasher in
RenderFrameSet::layout()).
* rendering/render_frames.cpp:
(WebCore::RenderFrameSet::layout): Added an assert.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14059
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Tue, 25 Apr 2006 21:22:40 +0000 (21:22 +0000)]
2006-04-26 Oliver Hunt <ojh16@student.canterbury.ac.nz>
Reviewed by eseidel. Landed by eseidel.
* WebCore.xcodeproj/project.pbxproj:
* kcanvas/KCanvasFilters.cpp:
(WebCore::operator<<):
* kcanvas/KCanvasFilters.h:
(WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
* kcanvas/device/quartz/KCanvasFilterQuartz.h:
* kcanvas/device/quartz/KCanvasFilterQuartz.mm:
(WebCore::getVectorForChannel):
(WebCore::genImageFromTable):
(WebCore::filterForComponentFunc):
(WebCore::setParametersForComponentFunc):
(WebCore::getFilterForFunc):
(WebCore::KCanvasFEComponentTransferQuartz::getFunctionFilter):
(WebCore::KCanvasFEComponentTransferQuartz::getCIFilter):
* kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
(WebCore::KRenderingDeviceQuartz::createFilterEffect):
* kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Added.
* kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Added.
* kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Added.
(+[WKComponentMergeFilter initialize]):
(+[WKComponentMergeFilter filterWithName:]):
(-[WKComponentMergeFilter init]):
(-[WKComponentMergeFilter outputImage]):
* kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Added.
* kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Added.
* kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Added.
(+[WKDiscreteTransferFilter initialize]):
(+[WKDiscreteTransferFilter filterWithName:]):
(-[WKDiscreteTransferFilter init]):
(-[WKDiscreteTransferFilter outputImage]):
* kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Added.
* kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Added.
* kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Added.
(+[WKGammaTransferFilter initialize]):
(+[WKGammaTransferFilter filterWithName:]):
(-[WKGammaTransferFilter init]):
(-[WKGammaTransferFilter outputImage]):
* kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Added.
* kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Added.
(+[WKIdentityTransferFilter initialize]):
(+[WKIdentityTransferFilter filterWithName:]):
(-[WKIdentityTransferFilter init]):
(-[WKIdentityTransferFilter outputImage]):
* kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Added.
* kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Added.
* kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Added.
(+[WKLinearTransferFilter initialize]):
(+[WKLinearTransferFilter filterWithName:]):
(-[WKLinearTransferFilter init]):
(-[WKLinearTransferFilter outputImage]):
* kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Added.
* kcanvas/device/quartz/filters/WKTableTransferFilter.h: Added.
* kcanvas/device/quartz/filters/WKTableTransferFilter.m: Added.
(+[WKTableTransferFilter initialize]):
(+[WKTableTransferFilter filterWithName:]):
(-[WKTableTransferFilter init]):
(-[WKTableTransferFilter outputImage]):
* ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
(SVGComponentTransferFunctionElement::parseMappedAttribute):
(SVGComponentTransferFunctionElement::transferFunction):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14058
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Tue, 25 Apr 2006 19:32:34 +0000 (19:32 +0000)]
2006-04-25 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
Fixes for our 3rd and 5th most common crashtracers:
<rdar://problem/
4233435> CrashTracer: 2698 crashes in Safari at com.apple.WebCore: khtml::RenderBlock::addChildToFlow + 156
<rdar://problem/
4129744> [REGRESSION]CrashTracer: ..400 crashes at com.apple.WebCore: DOM::NodeImpl::createRendererIfNeeded + 44
Test case landed on trunk but not on branch.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::setFocusNode): use m_inDetach bool copied from trunk
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::NodeImpl):
(NodeImpl::detach): set m_inDetach
(NodeImpl::createRendererIfNeeded):
(NodeBaseImpl::removeChildren): remove node from tree before calling detach.
* khtml/xml/dom_nodeimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14054
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren [Tue, 25 Apr 2006 18:53:06 +0000 (18:53 +0000)]
changelog fixup
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14052
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 25 Apr 2006 18:38:34 +0000 (18:38 +0000)]
Reviewed by Adele.
- don't have a fini method, since trying to call it will actually call the subclass method
and mess up the bridge count.
* bridge/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge dealloc]):
(-[WebCoreFrameBridge finalize]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14051
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken [Tue, 25 Apr 2006 17:59:35 +0000 (17:59 +0000)]
2006-04-25 Steve Falkenburg <sfalkenburg@apple.com>
Reviewed by eseidel.
No test case needed
* platform/win/TemporaryLinkStubs.cpp:
(KWQFileButton::setFrameGeometry):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14049
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Tue, 25 Apr 2006 08:51:32 +0000 (08:51 +0000)]
2006-04-25 Eric Seidel <eseidel@apple.com>
Reviewed by mjs.
Fix reproducible crash in html parser code.
http://bugzilla.opendarwin.org/show_bug.cgi?id=7137
Test: fast/parser/remove-current-node-parent.html
* html/HTMLParser.cpp:
(WebCore::HTMLParser::handleError):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14048
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 25 Apr 2006 08:11:15 +0000 (08:11 +0000)]
Reviewed by Eric.
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=8575
New KWQFileButton leaks reported by buildbot
* kwq/KWQFileButton.mm:
(KWQFileButton::KWQFileButton): Add a missing release
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14047
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 25 Apr 2006 07:18:25 +0000 (07:18 +0000)]
Fix for 8336, focus ring redrawing on top of itself. Make sure
not to include empty rects when doing the focus ring drawing, since
that results in a draw with no clip set.
Reviewed by adele
* platform/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawFocusRing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14046
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eseidel [Tue, 25 Apr 2006 05:24:21 +0000 (05:24 +0000)]
2006-04-24 Eric Seidel <eseidel@apple.com>
Reviewed by ggaren.
Fix for 5th worst unresolved crasher:
<rdar://problem/
4129744> [REGRESSION]CrashTracer: ..400 crashes at com.apple.WebCore: DOM::NodeImpl::createRendererIfNeeded + 44
Test: fast/dom/remove-style-element.html
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChildren):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14045
268f45cc-cd09-0410-ab3c-
d52691b4dbfc