1 2007-07-13 Matt Lilek <pewtermoose@gmail.com>
3 Reviewed by Tim Hatcher.
5 Bug 14401: Semi-regression: Can no longer copy anything from the inspector
6 http://bugs.webkit.org/show_bug.cgi?id=14401
8 * page/inspector/inspector.css:
10 2007-07-13 Beth Dakin <bdakin@apple.com>
14 Fix for <rdar://problem/5304742> A hang occurs when attempting to
15 display web clip banner at http://www.signonsandiego.com/sports/
18 Here is the actual fix.
19 * rendering/RenderInline.cpp:
20 (WebCore::RenderInline::absoluteRects): Set topLevel to
21 false when we recurse to get our children's absoluteRects.
22 * rendering/RenderInline.h: New boolean parameter
23 topLevel that defaults to true.
24 * rendering/RenderObject.cpp:
25 (WebCore::RenderObject::absoluteRects):
26 * rendering/RenderObject.h:
28 And these are just other implementations/declarations of this
29 (virtual) function that have to add the parameter. No behavior
31 * rendering/RenderPath.cpp:
32 (WebCore::RenderPath::absoluteRects):
33 * rendering/RenderPath.h:
34 * rendering/RenderSVGContainer.cpp:
35 (WebCore::RenderSVGContainer::absoluteRects):
36 * rendering/RenderSVGContainer.h:
37 * rendering/RenderSVGHiddenContainer.cpp:
38 (WebCore::RenderSVGHiddenContainer::absoluteRects):
39 * rendering/RenderSVGHiddenContainer.h:
40 * rendering/RenderSVGImage.cpp:
41 (WebCore::RenderSVGImage::absoluteRects):
42 * rendering/RenderSVGImage.h:
43 * rendering/RenderSVGInlineText.cpp:
44 (WebCore::RenderSVGInlineText::absoluteRects):
45 * rendering/RenderSVGInlineText.h:
46 * rendering/RenderSVGTSpan.cpp:
47 (WebCore::RenderSVGTSpan::absoluteRects):
48 * rendering/RenderSVGTSpan.h:
49 * rendering/RenderSVGText.cpp:
50 (WebCore::RenderSVGText::absoluteRects):
51 * rendering/RenderSVGText.h:
52 * rendering/RenderText.cpp:
53 (WebCore::RenderText::absoluteRects):
54 * rendering/RenderText.h:
55 * rendering/RenderView.cpp:
56 (WebCore::RenderView::absoluteRects):
57 * rendering/RenderView.h:
59 2007-07-13 Mitz Pettel <mitz@webkit.org>
63 - fix http://bugs.webkit.org/show_bug.cgi?id=13438 <rdar://problem/5153030>
64 Run rounding makes word-break:break-all/word not functional
66 Test: fast/text/word-break-run-rounding.html
68 * rendering/RenderText.cpp:
69 (WebCore::RenderText::calcPrefWidths): Update the maximum width only on word
70 boundaries to avoid rounding errors.
72 (WebCore::RenderBlock::findNextLineBreak): Integrated breakAll with the
73 midWordBreak/wrapW mechanism. Also made the wrapW upper bound more accurate
74 by resetting it when tmpW is committed.
76 2007-07-13 Sam Weinig <sam@webkit.org>
78 Reviewed by Geoff Garen.
80 Patch for <rdar://problem/5318394>
81 http site can read/write content of https site in same domain
83 Add protocol and port checks in isSafeScript.
85 * bindings/js/kjs_window.cpp:
86 (KJS::Window::isSafeScript):
88 2007-07-13 Anders Carlsson <andersca@apple.com>
90 Reviewed by Mitz Pettel.
92 <rdar://problem/5298870>
93 REGRESSION: In Yahoo Mail modal dialog, OK and Cancel buttons do not work, and descriptive text is missing (14327)
95 http://bugs.webkit.org/show_bug.cgi?id=14327
96 REGRESSION (r21367): dialogArguments not set in window generated by showModalDialog
98 When creating popup windows/dialogs, prevent the window properties from being cleared by the initial frame load.
100 * loader/FrameLoader.cpp:
101 (WebCore::FrameLoader::FrameLoader):
102 (WebCore::FrameLoader::createWindow):
103 (WebCore::FrameLoader::clear):
104 (WebCore::FrameLoader::begin):
105 (WebCore::FrameLoader::open):
106 * loader/FrameLoader.h:
107 (WebCore::FrameLoader::setShouldClearWindowProperties):
108 * manual-tests/modal-dialog-arguments.html: Added.
110 2007-07-13 Steve Falkenburg <sfalken@apple.com>
112 Update ResourceError related code to account for changes in CF interfaces.
114 Reviewed by Darin, Ada.
116 * platform/network/ResourceError.h: Change Mac conditionals to CF to share more code.
117 * platform/network/cf/ResourceErrorCF.cpp:
118 (WebCore::ResourceError::ResourceError): Modified based on CFErrorRef changes
119 (WebCore::ResourceError::unpackPlatformError): Ported from ResourceErrorMac.mm.
120 (WebCore::ResourceError::operator CFErrorRef): Ported from ResourceErrorMac.mm.
121 (WebCore::ResourceError::operator CFStreamError): Modified based on CFErrorRef changes.
123 2007-07-13 Antti Koivisto <antti@apple.com>
127 Fix <rdar://problem/5192256>
128 click() in onchange handler causes another change event (causes hang at http://forums.whirlpool.net.au/)
130 Guard against generating a simulated event from within a simulated event in the same node. Try to
131 match Firefox behavior.
133 * dom/EventTargetNode.cpp:
134 (WebCore::EventTargetNode::dispatchSimulatedMouseEvent):
135 (WebCore::EventTargetNode::dispatchSimulatedClick):
137 (WebCore::Node::Node):
140 2007-07-13 Antti Koivisto <antti@apple.com>
144 Fix <rdar://problem/5333387>
145 Combination of selection and click() on checkbox crashes
147 Ensure there is no pending style update before doing synchronous paint. Under certain
148 circumstances this ends up doing style recalc in middle of paint() which may
149 for example tear down the rendering tree being painted, with bad results.
151 * dom/ContainerNode.cpp:
152 (WebCore::ContainerNode::setActive):
154 2007-07-13 Antti Koivisto <antti@apple.com>
158 Fix <rdar://problem/5333365>
159 Calling click() is very slow
161 There is a 100ms delay in ContainerNode::setActive() to do an activation effect. It is used for
162 simulated mouse activations (using keyboard for example). However, it shouldn't be done when calling from javascript
163 (through click() interface) since it hangs script execution.
165 * html/HTMLElement.cpp:
166 (WebCore::HTMLElement::click):
168 2007-07-13 Mitz Pettel <mitz@webkit.org>
170 Reviewed by Dave Hyatt.
172 - fix http://bugs.webkit.org/show_bug.cgi?id=13873
173 Incomplete repaint of replaced element's box shadow
175 Tests: fast/repaint/box-shadow-h.html
176 fast/repaint/box-shadow-v.html
178 * rendering/RenderHTMLCanvas.cpp:
179 (WebCore::RenderHTMLCanvas::layout): Added a call to adjustOverflowForBoxShadow().
180 * rendering/RenderImage.cpp:
181 (WebCore::RenderImage::layout): Ditto.
182 * rendering/RenderPartObject.cpp:
183 (WebCore::RenderPartObject::layout): Ditto.
184 * rendering/RenderReplaced.cpp:
185 (WebCore::RenderReplaced::RenderReplaced): Initialize m_hasOverflow.
186 (WebCore::RenderReplaced::~RenderReplaced): Added. Removes this object from the
187 overflow rect map if it has overflow.
188 (WebCore::RenderReplaced::shouldPaint): Account for overflow.
189 (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Added. Creates or
190 removes an entry for this object in the global overflow rect map.
191 (WebCore::RenderReplaced::overflowHeight): Added.
192 (WebCore::RenderReplaced::overflowWidth): Added.
193 (WebCore::RenderReplaced::overflowLeft): Added.
194 (WebCore::RenderReplaced::overflowTop): Added.
195 (WebCore::RenderReplaced::overflowRect): Added.
196 * rendering/RenderReplaced.h:
198 2007-07-13 Mitz Pettel <mitz@webkit.org>
200 Reviewed by Dave Hyatt.
202 - fix http://bugs.webkit.org/show_bug.cgi?id=14395
203 When a <p> is inside <li> two <BR>s are rendered
205 Test: fast/lists/marker-before-empty-inline.html
207 * rendering/RenderBlock.h:
208 * rendering/RenderListItem.cpp:
209 (WebCore::getParentOfFirstLineBox): Changed to skip empty inline flows that
210 do not actually generate any line boxes. Limited the nested lists quirk to
211 the case where the list is a child of the list item, to match Firefox.
212 * rendering/bidi.cpp:
213 (WebCore::requiresLineBox): Added. Factored out of skipWhitespace.
214 (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Added. Checkes
215 whether the child or any of its siblings following it will generate a line
217 (WebCore::RenderBlock::skipWhitespace):
219 2007-07-13 Holger Hans Peter Freyther <zecke@selfish.org>
223 Move HTTP methods to parse Content-Type from xmlhttprequest.cpp
224 which is LGPL to HTTPParsers.cpp. As both files were written by the
225 same author and the advice to move them came from him I think this move
226 is what is meant to be done.
228 Move filenameFromHTTPContentDisposition to HTTPParsers as well. This parse
229 function uses Vector<String>::split and doesn't honor quoting. This needs
230 to be fixed in later versions.
232 http://bugs.webkit.org/show_bug.cgi?id=5954 and http://bugs.webkit.org/show_bug.cgi?id=14059
233 benefit from this change.
235 * platform/network/HTTPParsers.cpp:
236 (WebCore::filenameFromHTTPContentDisposition):
237 (WebCore::extractMIMETypeFromMediaType):
238 (WebCore::extractCharsetFromMediaType):
239 * platform/network/HTTPParsers.h:
240 * platform/network/cf/ResourceResponseCFNet.cpp:
241 * xml/xmlhttprequest.cpp:
242 (WebCore::XMLHttpRequest::responseMIMEType):
243 (WebCore::XMLHttpRequest::didReceiveResponse):
245 2007-07-13 Mark Rowe <mrowe@apple.com>
249 Build fix. Stub out ChromeClientGdk::print and SVGEmptyChromeClient::print.
251 * platform/gdk/ChromeClientGdk.h:
252 * platform/gdk/TemporaryLinkStubs.cpp:
253 (ChromeClientGdk::print):
254 * platform/graphics/svg/SVGImageEmptyClients.h:
255 (WebCore::SVGEmptyChromeClient::print):
257 2007-07-12 Alice Liu <alice.liu@apple.com>
259 Reviewed by Maciej and Steve.
261 fixed <rdar://4982432> window.print() needs to be implemented
263 * bridge/win/FrameWin.cpp:
264 (WebCore::Frame::print):
266 (WebCore::Chrome::print):
268 * page/ChromeClient.h:
269 * platform/win/TemporaryLinkStubs.cpp:
271 2007-07-11 Justin Garcia <justin.garcia@apple.com>
273 Reviewed by Harrison.
275 <rdar://problem/5300379> Mail hung on option-delete
277 We were starting backward iteration at [container, 0] and
278 emitting for container over and over.
280 * editing/TextIterator.cpp:
281 (WebCore::SimplifiedBackwardsTextIterator::advance): Don't
282 emit characters for a node if we're starting iteration at
283 [container, 0]. Don't emit characters for exiting containers
284 if we've already done so.
286 2007-07-12 Kevin Decker <kdecker@apple.com>
288 Reviewed by Mark Rowe.
290 <rdar://problem/5039463> find a good gray that works well for full frame plug-ins; consistent look for plugins
292 * loader/PluginDocument.cpp:
293 (WebCore::PluginTokenizer::createDocumentStructure): Changed values to a darker gray, per request from the HI team.
295 2007-07-11 Sam Weinig <sam@webkit.org>
299 Patch for <rdar://problem/5329841>
300 Calling window.closed on a closed window causes Safari to crash
302 - Replaces the Frame member variable in KJS::Window for more appropriate DOMWindow
303 - Adds additional new null checks as necessary
304 - Removes bogus toBoolean method
305 - Removes unused scheduleClose method
307 Test: fast/dom/Window/window-closed-crash.html
309 * bindings/js/JSCustomXPathNSResolver.cpp:
310 (WebCore::JSCustomXPathNSResolver::create):
311 * bindings/js/JSDOMWindowCustom.cpp:
312 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
313 (WebCore::JSDOMWindow::customPut):
314 * bindings/js/JSXMLHttpRequest.cpp:
315 (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
316 * bindings/js/kjs_events.cpp:
317 (WebCore::JSAbstractEventListener::handleEvent):
318 (WebCore::JSLazyEventListener::parseCode):
319 * bindings/js/kjs_window.cpp:
320 (KJS::Window::Window):
322 (KJS::Window::interpreter):
323 (KJS::Window::location):
327 (KJS::canShowModalDialog):
328 (KJS::canShowModalDialogNow):
329 (KJS::showModalDialog):
330 (KJS::Window::getValueProperty):
331 (KJS::Window::childFrameGetter):
332 (KJS::Window::indexGetter):
333 (KJS::Window::namedItemGetter):
334 (KJS::Window::getOwnPropertySlot):
336 (KJS::Window::isSafeScript):
337 (KJS::Window::setListener):
338 (KJS::Window::getListener):
339 (KJS::Window::clear):
340 (KJS::WindowFunc::callAsFunction):
341 (KJS::Window::updateLayout):
342 (KJS::ScheduledAction::execute):
343 (KJS::Window::disconnectFrame):
344 (KJS::Location::put):
345 (KJS::LocationFunc::callAsFunction):
346 * bindings/js/kjs_window.h:
347 * page/mac/WebCoreFrameBridge.mm:
348 (updateRenderingForBindings):
350 2007-07-12 Mark Rowe <mrowe@apple.com>
354 <rdar://problem/5329877> REGRESSION: Document::setTransformSource leaks an xmlDocPtr if called more than once per document
357 (WebCore::Document::setTransformSource): Free any existing m_transformSource before overwriting it, rather than simply leaking it.
360 2007-07-12 Holger Hans Peter Freyther <zecke@selfish.org>
362 Reviewed by Mark Rowe.
364 Fix compilation of the CURL backend after the removing of accessors from ResourceHandle in r24202
366 * platform/network/curl/ResourceHandleManager.cpp:
367 (WebCore::ResourceHandleManager::setupPOST):
368 (WebCore::ResourceHandleManager::startJob):
370 2007-07-12 Mark Rowe <mrowe@apple.com>
374 <rdar://problem/5327189> Logic error in DeprecatedString::to{,U}Int{,64} can lead to reading past end of buffer
376 The fix for reading past the end of the buffer is to verify we are not at the end of the string before checking
377 for a leading '+' character. Rather than fixing the logic error in four nearly-identical functions I chose to
378 extract the common functionality into the toIntegralType helper function which the four functions call through to.
380 * platform/DeprecatedString.cpp:
381 (WebCore::isCharacterAllowedInBase):
382 (WebCore::toIntegralType):
383 (WebCore::DeprecatedString::toInt):
384 (WebCore::DeprecatedString::toInt64):
385 (WebCore::DeprecatedString::toUInt):
386 (WebCore::DeprecatedString::toUInt64):
388 2007-07-12 George Staikos <staikos@kde.org>
392 Remove unused variables and fix rendering of comoboxes.
394 * platform/graphics/qt/ImageQt.cpp:
395 (WebCore::BitmapImage::draw):
396 * platform/qt/RenderThemeQt.cpp:
397 (WebCore::RenderThemeQt::paintMenuList):
399 2007-07-11 Oliver Hunt <oliver@apple.com>
403 Fix for <rdar://problem/5329712> GMail crash when trying to compose new message
405 * platform/win/FontDataWin.cpp:
406 (WebCore::FontData::containsCharacters):
408 2007-07-11 Alexey Proskuryakov <ap@webkit.org>
412 http://bugs.webkit.org/show_bug.cgi?id=14584
413 XMLHttpRequest treats null login/password incorrectly
415 Test: http/tests/xmlhttprequest/null-auth.php
417 * xml/xmlhttprequest.cpp:
418 (WebCore::XMLHttpRequest::open):
419 * xml/xmlhttprequest.h:
420 Split the open() method into three to distinguish between missing and null credentials.
422 * bindings/js/JSXMLHttpRequest.cpp:
423 (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): Call the appropriate open().
425 2007-07-11 Oliver Hunt <oliver@apple.com>
427 Build fix for windows
430 (WebCore::Frame::firstRectForRange):
432 2007-07-11 Oliver Hunt <oliver@apple.com>
436 Fix <rdar://problem/5329481> Character range rect code for IME support needs to be crossplatform
438 Move -[WebCoreFrameBridge firstRectForDOMRange:] to Frame::firstRectForRange
441 (WebCore::Frame::firstRectForRange):
443 * page/mac/WebCoreFrameBridge.mm:
444 (-[WebCoreFrameBridge firstRectForDOMRange:]):
446 2007-07-11 Steve Falkenburg <sfalken@apple.com>
448 Static analysis build fix.
450 Only specify /analyze (PREfast) if it is available.
451 Prevents entire project from rebuilding each time.
455 * WebCore.vcproj/WebCore.vcproj:
457 2007-07-11 George Staikos <staikos@kde.org>
461 Make comboboxes update when the current item is changed.
463 * platform/qt/PopupMenuQt.cpp:
464 (WebCore::PopupMenu::updateFromElement):
465 * platform/qt/QWebPopup.cpp:
466 (WebCore::QWebPopup::activeChanged):
468 2007-07-11 George Staikos <staikos@kde.org>
472 Add a destructor to cleanup the SQL handle.
474 * loader/icon/SQLDatabase.h:
475 (WebCore::SQLDatabase::~SQLDatabase):
477 2007-07-11 Holger Hans Peter Freyther <zecke@selfish.org>
481 As of http://bugs.webkit.org/show_bug.cgi?id=14527 move the
482 WebCore/ForwardingHeader/JavaScriptCore to JavaScriptCore
484 * ForwardingHeaders/JavaScriptCore: Removed.
485 * ForwardingHeaders/JavaScriptCore/APICast.h: Removed.
486 * ForwardingHeaders/JavaScriptCore/JSBase.h: Removed.
487 * ForwardingHeaders/JavaScriptCore/JSContextRef.h: Removed.
488 * ForwardingHeaders/JavaScriptCore/JSLock.h: Removed.
489 * ForwardingHeaders/JavaScriptCore/JSObjectRef.h: Removed.
490 * ForwardingHeaders/JavaScriptCore/JSStringRef.h: Removed.
491 * ForwardingHeaders/JavaScriptCore/JSStringRefCF.h: Removed.
492 * ForwardingHeaders/JavaScriptCore/JSValueRef.h: Removed.
493 * ForwardingHeaders/JavaScriptCore/JavaScriptCore.h: Removed.
495 2007-07-11 Anders Carlsson <andersca@apple.com>
499 * platform/network/cf/ResourceHandleCFNet.cpp:
500 (WebCore::willSendRequest):
501 (WebCore::didReceiveResponse):
502 (WebCore::didReceiveData):
503 (WebCore::didFinishLoading):
505 (WebCore::didReceiveChallenge):
507 2007-07-11 George Staikos <staikos@kde.org>
511 * platform/network/qt/ResourceHandleQt.cpp:
512 (WebCore::ResourceHandle::start):
514 2007-07-11 Adele Peterson <adele@apple.com>
518 Fix for <rdar://problem/5230188> REGRESSION: Active/inactive marked text is not distinguished in textfields and textareas
520 We were previously trying to leave room for 1px of space between the text and the underline.
521 This change removes that requirement so that if we don't have room for the extra space, we still draw the thick underline
524 * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintMarkedTextUnderline):
526 2007-07-11 Anders Carlsson <andersca@apple.com>
528 Reviewed by Darin and Geoff.
530 <rdar://problem/5313508>
531 REGRESSION (Leopard): http/tests/xmlhttprequest/basic-auth.html hangs
533 Leopard Foundation now ignores credentials passed in as part of the URL so we need to pass them ourselves.
535 For the asynchronous case, we simply keep track of the URL and if it has a user name and password, we
536 pass those if we're asked to authenticate.
538 For the synchronous case, implement a new connection delegate and run it in a separate mode so
539 no other sources will fire.
541 * platform/network/mac/ResourceHandleMac.mm:
542 (WebCore::ResourceHandle::loadResourceSynchronously):
543 (-[WebCoreResourceHandleAsDelegate dealloc]):
544 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
545 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]):
546 (-[WebCoreSynchronousLoader _isDone]):
547 (-[WebCoreSynchronousLoader dealloc]):
548 (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]):
549 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
550 (-[WebCoreSynchronousLoader connection:didReceiveResponse:]):
551 (-[WebCoreSynchronousLoader connection:didReceiveData:]):
552 (-[WebCoreSynchronousLoader connectionDidFinishLoading:]):
553 (-[WebCoreSynchronousLoader connection:didFailWithError:]):
554 (-[WebCoreSynchronousLoader _data]):
555 (-[WebCoreSynchronousLoader _response]):
556 (-[WebCoreSynchronousLoader _error]):
557 (+[WebCoreSynchronousLoader loadRequest:returningResponse:error:]):
559 2007-07-11 Darin Adler <darin@apple.com>
561 Reviewed by Sam Weinig.
563 - fix <rdar://problem/5315265> REGRESSION: Leopard launch time -
564 there are about 190 stats of icudt36b files during launch
566 * platform/TextEncodingRegistry.cpp: (WebCore::atomicCanonicalTextEncodingName):
567 Add a special case for the empty string so we don't load the extended text
568 encodings just so we can return 0 for that case.
570 2007-07-11 Anders Carlsson <andersca@apple.com>
574 Remove a bunch of unneeded accessors from ResourceHandle.
576 * loader/icon/IconLoader.cpp:
577 (WebCore::IconLoader::didReceiveResponse):
578 (WebCore::IconLoader::didFail):
579 (WebCore::IconLoader::didFinishLoading):
580 * platform/network/ResourceHandle.cpp:
581 * platform/network/ResourceHandle.h:
583 2007-07-09 Justin Garcia <justin.garcia@apple.com>
587 <rdar://problem/5234383> REGRESSION: Sentence breaker method returning entire document length
589 The functions for moving the caret to the next/previous sentence boundary
590 were in many cases moving to the beginning/end of the document. The functions that
591 should move the caret to an equivalent position in the next/previous sentence behaved
592 like the aforementioned functions ought to. Put the code from the second two functions
593 in the first and made sure that the second two are properly FIXMEd. They're rarely
594 used (filed 5323691).
596 * editing/SelectionController.cpp:
597 (WebCore::SelectionController::modify): Added an option for sentenceBoundary granularity,
598 so that we can test the functions that were broken from JS.
599 * editing/visible_units.cpp:
600 (WebCore::startOfSentence): Removed the FIXME about 5234383.
601 (WebCore::endSentenceBoundary): Make this function do what nextSentencePositionBoundary
603 (WebCore::endOfSentence): Removed the FIXME about 5234383.
604 (WebCore::previousSentencePosition): Removed an incorrect FIXME.
605 (WebCore::nextSentencePositionBoundary): Tweaked FIXME. This function is
606 identical, not close to endSentenceBoundary.
607 (WebCore::nextSentencePosition): Removed an incorrect FIXME.
609 2007-07-11 Rob Buis <buis@kde.org>
613 http://bugs.webkit.org/show_bug.cgi?id=14453
614 REGRESSION: www.nzherald.co.nz almost all the formating is gone
616 Be less strict for the hex color definition.
620 (WebCore::CSSParser::lex):
621 (WebCore::CSSParser::text):
622 * css/tokenizer.flex:
624 2007-07-11 Rob Buis <buis@kde.org>
628 Forgot to commit this as part of commit r24146. Now we are sure
629 createElement creates elements in the xhtml namespace only.
631 * ksvg2/svg/SVGDocument.cpp:
632 * ksvg2/svg/SVGDocument.h:
634 2007-07-10 Sam Weinig <sam@webkit.org>
638 Move more attributes from the pure JS bindings in KJS::Window
639 to the implementation in DOMWindow and autogenerate the new bindings
641 Test: fast/dom/Window/get-set-properties.html
643 * bindings/js/JSDOMWindowCustom.cpp:
644 (WebCore::JSDOMWindow::customGetOwnPropertySlot): Change to use propHashTable in
645 JSDOMWindow instead of KJS::Window
646 * bindings/js/kjs_window.cpp:
647 (KJS::Window::getValueProperty):
649 * bindings/js/kjs_window.h:
651 * bindings/scripts/CodeGeneratorJS.pm: Cleanup getValueProperty and put generation
652 to reduce code duplication.
653 * page/DOMWindow.cpp:
654 (WebCore::DOMWindow::closed):
655 (WebCore::DOMWindow::length):
656 (WebCore::DOMWindow::name):
657 (WebCore::DOMWindow::setName):
658 (WebCore::DOMWindow::status):
659 (WebCore::DOMWindow::setStatus):
660 (WebCore::DOMWindow::defaultStatus):
661 (WebCore::DOMWindow::setDefaultStatus):
663 (WebCore::DOMWindow::defaultstatus):
664 (WebCore::DOMWindow::setDefaultstatus):
665 * page/DOMWindow.idl:
667 2007-07-10 Sam Weinig <sam@webkit.org>
671 Fix for <rdar://problem/5326791> XSS vulnerability: ability to set window.defaultStatus,
672 window.defaultstatus and window.status cross domains
674 Test: http/tests/security/cross-frame-access-put.html
676 * bindings/js/kjs_window.cpp:
677 (KJS::Window::put): Adds isSafeScript check for defaultStatus,
678 defaultstatus and status cases.
680 2007-07-10 Sam Weinig <sam@webkit.org>
682 Fix build for BuildBot.
684 * page/DOMWindow.cpp:
685 (WebCore::DOMWindow::outerHeight):
686 (WebCore::DOMWindow::outerWidth):
687 (WebCore::DOMWindow::screenX):
688 (WebCore::DOMWindow::screenY):
690 2007-07-10 Brady Eidson <beidson@apple.com>
694 <rdar://problem/5326653> - REGRESSION: [WebBackForwardList forwardListCount] might return incorrect result
696 No layout test because this is an API issue that can't be tested in DRT or the browser
698 * history/BackForwardList.cpp:
699 (WebCore::BackForwardList::forwardListCount): If the index is NoCurrentItemIndex, return 0
701 2007-07-10 Sam Weinig <sam@webkit.org>
705 Move more readonly attributes from pure JS bindings in KJS::Window
706 to the implementation in DOMWindow and autogenerate the new bindings.
708 * bindings/js/kjs_window.cpp:
709 (KJS::Window::getValueProperty): Sort the hashmap comment into categories
710 to make further migration easier.
711 * bindings/js/kjs_window.h: Sort the enum into categories to make further
714 * page/DOMWindow.cpp: Add new methods.
715 (WebCore::DOMWindow::focus):
716 (WebCore::DOMWindow::blur):
717 (WebCore::DOMWindow::offscreenBuffering):
718 (WebCore::DOMWindow::outerHeight):
719 (WebCore::DOMWindow::outerWidth):
720 (WebCore::DOMWindow::innerHeight):
721 (WebCore::DOMWindow::innerWidth):
722 (WebCore::DOMWindow::screenX):
723 (WebCore::DOMWindow::screenY):
724 (WebCore::DOMWindow::scrollX):
725 (WebCore::DOMWindow::scrollY):
726 (WebCore::DOMWindow::getComputedStyle):
727 (WebCore::DOMWindow::getMatchedCSSRules): Add null Document assertion.
728 (WebCore::DOMWindow::devicePixelRatio): Add null Frame and Page checks.
730 (WebCore::DOMWindow::screenLeft):
731 (WebCore::DOMWindow::screenTop):
732 (WebCore::DOMWindow::pageXOffset):
733 (WebCore::DOMWindow::pageYOffset):
734 * page/DOMWindow.idl:
736 2007-07-10 Oliver Hunt <oliver@apple.com>
740 Fix for <rdar://problem/5326417> Editor::unmarkText needs to be crossplatform
742 Missed this in earlier patch to make text marking platform independent.
744 * editing/Editor.cpp:
745 (WebCore::Editor::unmarkText):
746 Add platform independent impl
747 * editing/mac/EditorMac.mm:
748 Remove the old mac path.
750 2007-07-10 Geoffrey Garen <ggaren@apple.com>
752 Reviewed by Tim Hatcher.
754 Added a Page counter. This helped me while investigating
755 <rdar://problem/5314463> 40MB of WebKit memory still allocated after
756 closing large email in Mail
758 * WebCore.xcodeproj/project.pbxproj:
761 (WebCore::PageCounter::~PageCounter):
762 (WebCore::Page::Page):
763 (WebCore::Page::~Page):
765 2007-07-10 Timothy Hatcher <timothy@apple.com>
769 <rdar://problem/5326126> InspectorResource holds onto more data than it needs
771 Reduces the fixed size of InspectorResource from 630 bytes to 224 bytes. Now
772 selectively pick out parts of the ResourceRequest and ResourceResponse objects
773 for the info needed and store that directly in InspectorResource.
775 The ResourceRequest and ResourceResponse objects hold a reference to the original
776 NSURL object, so almost double the data was being kept around. So the struct size
777 reduction is just the tip of the ice burg on what this really saves.
779 In a test of 100,000 XMLHTTPRequests using a 85 byte long data URL, I see ~21 MB less
780 RSIZE compared to Safari running without this change.
782 * page/InspectorController.cpp:
783 (WebCore::InspectorResource::InspectorResource):
784 (WebCore::InspectorResource::type):
785 (WebCore::addSourceToFrame):
786 (WebCore::scriptObjectForRequest):
787 (WebCore::scriptObjectForResponse):
788 (WebCore::InspectorController::addScriptResource):
789 (WebCore::InspectorController::addAndUpdateScriptResource):
790 (WebCore::updateResourceRequest):
791 (WebCore::updateResourceResponse):
792 (WebCore::InspectorController::updateScriptResourceRequest):
793 (WebCore::InspectorController::updateScriptResourceResponse):
794 (WebCore::InspectorController::didLoadResourceFromMemoryCache):
795 (WebCore::InspectorController::identifierForInitialRequest):
796 (WebCore::InspectorController::willSendRequest):
797 (WebCore::InspectorController::didReceiveResponse):
798 (WebCore::InspectorController::didFailLoading):
799 * page/InspectorController.h:
801 2007-07-10 Darin Adler <darin@apple.com>
805 - fix crash introduced by my patch for 5318732, only seen in release builds
807 * page/Page.cpp: (WebCore::Page::~Page): Added a missing null check.
809 2007-07-10 Andrea Cavalli <amc82@cam.ac.uk>
811 Reviewed by George Staikos.
813 Fixed render theme for text field.
815 * platform/qt/RenderThemeQt.cpp:
816 (WebCore::RenderThemeQt::paintTextField):
818 2007-07-10 Qing Zhao <qing@staikos.net>
820 Reviewed by George Staikos.
822 Draw focus rings for nodes that are not rendered by QStyle.
824 * platform/graphics/qt/GraphicsContextQt.cpp:
825 (WebCore::focusRingColor):
826 (WebCore::GraphicsContext::drawFocusRing):
827 * platform/qt/RenderThemeQt.cpp:
828 (WebCore::RenderThemeQt::supportsFocusRing):
829 (WebCore::RenderThemeQt::supportsFocus):
831 2007-07-10 Nikolas Zimmermann <zimmermann@kde.org>
835 Fix 'unsigned int' overflow in CodeGeneratorJS.pm.
836 This fixes hashing of "SVG_FEBLEND_MODE_NORMAL". Its hashvalue exceeded 2^32, which
837 is no problem in perl but in the cpp code. Emulate C/C++ behaviour by using "% 2^32" in
838 the perl code. Testcase available in feature-branch soon (js-svg-constructors.svg).
840 * bindings/scripts/CodeGeneratorJS.pm:
842 2007-07-10 Geoffrey Garen <ggaren@apple.com>
844 Reviewed by Maciej Stachowiak.
846 Disabled Arena recycling in RenderArena. PLT shows no regression
847 (possibly a small speedup), and this can reduce allocated memory in
848 WebKit clients by about 120K (4K per Arena * 30 Arenas).
850 I happened upon this optimization while investigating
851 <rdar://problem/5314463> WebKit hangs on to 40MB RAM after closing
852 large email in Mail (appears to be render tree arena allocator),
853 although I don't think it will come close to fixing that bug
856 * rendering/RenderArena.cpp:
857 (WebCore::RenderArena::~RenderArena): Use FinishArenaPool, which frees
858 the ArenaPool's Arenas immediately.
860 2007-07-10 Mitz Pettel <mitz@webkit.org>
864 - fix http://bugs.webkit.org/show_bug.cgi?id=14449
865 REGRESSION (r14345-r14375): Absolutely positioned image does not scale to containing element's height
867 Test: fast/replaced/absolute-position-percentage-height.html
869 * rendering/RenderBox.cpp:
870 (WebCore::RenderBox::calcReplacedHeightUsing): For positioned elements, evaluate
871 the percentage with respect to the container's final height.
873 2007-07-10 Brady Eidson <beidson@apple.com>
875 Reviewed by Mark Rowe
877 Add 64-bit integer converters to our string classes for future work
879 * platform/DeprecatedString.cpp:
880 (WebCore::DeprecatedString::toInt64):
881 (WebCore::DeprecatedString::toUInt64):
882 * platform/DeprecatedString.h:
884 * platform/PlatformString.h:
885 * platform/String.cpp:
886 (WebCore::String::toInt64):
887 (WebCore::String::toUInt64):
889 * platform/StringImpl.cpp:
890 (WebCore::StringImpl::toInt64):
891 (WebCore::StringImpl::toUInt64):
892 * platform/StringImpl.h:
894 2007-07-10 Darin Adler <darin@apple.com>
898 - fix <rdar://problem/5318732> REGRESSION: In Mail, a crash occurs when attempting to send
899 a HTML based message (nytimes.com, washingtonpost.com, latimes.com)
901 Did an audit of calls to get the inspector and most other uses of Page* and added null
902 checks since Frame* can outlast its Page*.
904 * loader/FrameLoader.cpp:
905 (WebCore::FrameLoader::createWindow): Added null check.
906 (WebCore::FrameLoader::loadSubframe): Ditto.
907 (WebCore::FrameLoader::load): Ditto.
908 (WebCore::FrameLoader::transitionToCommitted): Ditto.
909 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
910 (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Ditto.
911 (WebCore::FrameLoader::addExtraFieldsToRequest): Ditto.
912 (WebCore::FrameLoader::loadResourceSynchronously): Ditto.
913 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto.
914 (WebCore::FrameLoader::requestFromDelegate): Ditto.
915 (WebCore::FrameLoader::canGoBackOrForward): Ditto.
916 (WebCore::FrameLoader::getHistoryLength): Ditto.
917 (WebCore::FrameLoader::historyURL): Ditto.
918 (WebCore::FrameLoader::cachePageForHistoryItem): Ditto.
919 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Ditto.
920 (WebCore::FrameLoader::goToItem): Ditto.
921 (WebCore::FrameLoader::dispatchWindowObjectAvailable): Ditto.
922 (WebCore::FrameLoader::dispatchDidCommitLoad): Ditto.
923 (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest): Ditto.
924 (WebCore::FrameLoader::dispatchWillSendRequest): Ditto.
925 (WebCore::FrameLoader::dispatchDidReceiveResponse): Ditto.
926 (WebCore::FrameLoader::dispatchDidReceiveContentLength): Ditto.
927 (WebCore::FrameLoader::dispatchDidFinishLoading): Ditto.
928 (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Ditto.
930 * page/ContextMenuController.h:
931 * page/ContextMenuController.cpp:
932 (WebCore::ContextMenuController::ContextMenuController): Removed unneeded and
933 unused Page* parameter.
934 (WebCore::openNewWindow): Added null check.
935 (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
937 * page/InspectorController.h:
938 (WebCore::InspectorController::pageDestroyed): Added. Since this object is
939 owned by the Page and has a back-pointer to it, it needs an explicit disconnect.
940 There's already a higher-level one, but this is more reliable than that.
941 * page/InspectorController.cpp:
942 (WebCore::InspectorController::windowScriptObjectAvailable): Added null check.
943 (WebCore::InspectorController::windowUnloading): Ditto.
946 (WebCore::Page::Page): Updated for change in parameters of ContextMenuController
948 (WebCore::Page::~Page): Added call to InspectorController pageDestroyed().
950 * page/Chrome.cpp: Updated includes.
951 * page/DragController.cpp: Ditto.
953 2007-07-10 Adam Treat <adam@staikos.net>
955 Reviewed by George Staikos.
957 Bring scroll wheel out of Ludicrous Speed.
959 * platform/qt/WheelEventQt.cpp:
960 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
962 2007-07-09 Geoffrey Garen <ggaren@apple.com>
964 Reviewed by Maciej Stachowiak.
966 Fixed http://bugs.webkit.org/show_bug.cgi?id=13241 | <rdar://problem/5126396>
967 onload fires before content is finished loading (woot.com)
970 (WebCore::Document::close): Try to go through the normal "Am I done loading?"
971 machinery before dispatching the load event. As the comment indicates,
972 we can't do this in all cases, so the fix isn't perfect. However, a perfect
973 solution would require much riskier sweeping changes to the loader, which
974 are best left for later, I think.
976 * xml/XSLTProcessor.cpp:
977 (WebCore::XSLTProcessor::createDocumentFromSource): Removed a slightly
978 worse solution to the same problem.
980 2007-07-10 Rob Buis <buis@kde.org>
984 http://bugs.webkit.org/show_bug.cgi?id=8007
985 createElement() and XHTML (A dynamically created table not rendered as such)
987 Follow the HTML5 rules of making the name lowercase and then
988 creating the element in the xhtml namespace.
991 (WebCore::Document::createElement):
993 * html/HTMLDocument.cpp:
994 * html/HTMLDocument.h:
996 2007-07-09 Qing Zhao <qing@staikos.net>
998 Reviewed by George Staikos.
1000 Add qt context menu support.
1003 * platform/ContextMenu.h:
1004 * platform/ContextMenuItem.h:
1005 (WebCore::PlatformMenuItemDescriptionType::PlatformMenuItemDescriptionType):
1006 * platform/qt/ContextMenuItemQt.cpp:
1007 (WebCore::ContextMenuItem::ContextMenuItem):
1008 (WebCore::ContextMenuItem::~ContextMenuItem):
1009 (WebCore::ContextMenuItem::releasePlatformDescription):
1010 (WebCore::ContextMenuItem::type):
1011 (WebCore::ContextMenuItem::setType):
1012 (WebCore::ContextMenuItem::action):
1013 (WebCore::ContextMenuItem::setAction):
1014 (WebCore::ContextMenuItem::title):
1015 (WebCore::ContextMenuItem::setTitle):
1016 (WebCore::ContextMenuItem::platformSubMenu):
1017 (WebCore::ContextMenuItem::setSubMenu):
1018 (WebCore::ContextMenuItem::setChecked):
1019 (WebCore::ContextMenuItem::setEnabled):
1020 (WebCore::ContextMenuItem::enabled):
1021 * platform/qt/ContextMenuQt.cpp:
1022 (WebCore::ContextMenu::ContextMenu):
1023 (WebCore::ContextMenu::~ContextMenu):
1024 (WebCore::ContextMenu::appendItem):
1025 (WebCore::ContextMenu::itemCount):
1026 (WebCore::ContextMenu::insertItem):
1027 (WebCore::ContextMenu::setPlatformDescription):
1028 (WebCore::ContextMenu::platformDescription):
1030 2007-07-09 Anders Carlsson <andersca@apple.com>
1034 * plugins/win/PluginViewWin.cpp:
1035 (WebCore::PluginViewWin::performRequest):
1037 2007-07-09 Anders Carlsson <andersca@apple.com>
1041 Get rid of the node argument in our various script execution functions.
1043 * bindings/js/kjs_proxy.cpp:
1044 (WebCore::KJSProxy::evaluate):
1045 * bindings/js/kjs_proxy.h:
1046 * bindings/js/kjs_window.cpp:
1047 (KJS::ScheduledAction::execute):
1048 * dom/XMLTokenizer.cpp:
1049 (WebCore::XMLTokenizer::endElementNs):
1050 (WebCore::XMLTokenizer::notifyFinished):
1051 * html/HTMLScriptElement.cpp:
1052 (WebCore::HTMLScriptElement::evaluateScript):
1053 * html/HTMLTokenizer.cpp:
1054 (WebCore::HTMLTokenizer::scriptExecution):
1055 * loader/FrameLoader.cpp:
1056 (WebCore::FrameLoader::changeLocation):
1057 (WebCore::FrameLoader::urlSelected):
1058 (WebCore::FrameLoader::submitForm):
1059 (WebCore::FrameLoader::replaceContentsWithScriptResult):
1060 (WebCore::FrameLoader::executeScript):
1061 * loader/FrameLoader.h:
1062 * page/mac/WebCoreFrameBridge.mm:
1063 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1064 (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
1066 2007-07-09 Justin Garcia <justin.garcia@apple.com>
1068 Rolling the fix for 5290534 back in now that 5310404 has been fixed in Mail.
1070 * editing/DeleteSelectionCommand.cpp:
1071 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1073 2007-07-09 Geoffrey Garen <ggaren@apple.com>
1075 Reviewed by Anders Carlsson.
1077 A little more FrameLoader cleanup while working on <rdar://problem/5126396>.
1079 Rename: "checkEmitLoadEvent" => "checkCallImplicitClose" because the function
1080 doesn't emit the load event; it just calls implicitClose.
1082 Rename: "m_wasLoadEventEmitted" => "m_didCallImplicitClose" because the variable
1083 tracks whether implicitClose was called.
1086 (WebCore::Document::implicitClose): Turned 12 lines of code into 6, adding ASSERT.
1087 * loader/FrameLoader.h: Removed bogus declaration of non-existent emitLoadEvent().
1089 2007-07-09 Justin Garcia <justin.garcia@apple.com>
1093 REGRESSION: Crash when deleting table content in Leopard Mail
1095 * editing/DeleteSelectionCommand.cpp:
1096 (WebCore::DeleteSelectionCommand::handleGeneralDelete): Use a RefPtr
1097 for the next node to delete, in case it is destroyed when the
1098 current node is deleted. In the crash reported in the radar, we
1099 crash because the next node is the div that holds the delete button
1100 and it's destroyed when the node that contains the selection is removed.
1102 2007-07-09 Adam Treat <adam@staikos.net>
1104 Reviewed by George Staikos.
1106 Convert QWebFrame from a QFrame to a pure QObject to eliminate all
1109 * page/qt/EventHandlerQt.cpp:
1110 (WebCore::EventHandler::passSubframeEventToSubframe):
1111 * platform/ScrollView.h:
1112 * platform/Widget.h:
1113 * platform/qt/PlatformScrollBarQt.cpp:
1114 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1115 (WebCore::PlatformScrollbar::handleMousePressEvent):
1116 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1117 * platform/qt/PopupMenuQt.cpp:
1118 (WebCore::PopupMenu::show):
1119 * platform/qt/ScrollViewQt.cpp:
1120 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1121 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1122 (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
1123 (WebCore::ScrollView::updateContents):
1124 (WebCore::ScrollView::update):
1125 (WebCore::ScrollView::geometryChanged):
1126 (WebCore::ScrollView::windowToContents):
1127 (WebCore::ScrollView::contentsToWindow):
1128 (WebCore::ScrollView::convertChildToSelf):
1129 (WebCore::ScrollView::convertSelfToChild):
1130 (WebCore::ScrollView::scrollbarUnderMouse):
1131 (WebCore::ScrollView::addChild):
1132 (WebCore::ScrollView::paint):
1133 * platform/qt/WidgetQt.cpp:
1134 (WebCore::WidgetPrivate::WidgetPrivate):
1135 (WebCore::WidgetPrivate::~WidgetPrivate):
1136 (WebCore::WidgetPrivate::setGeometry):
1137 (WebCore::WidgetPrivate::geometry):
1138 (WebCore::Widget::frameGeometry):
1139 (WebCore::Widget::setFocus):
1140 (WebCore::Widget::setCursor):
1141 (WebCore::Widget::show):
1142 (WebCore::Widget::hide):
1143 (WebCore::Widget::qwebframe):
1144 (WebCore::Widget::setQWebFrame):
1145 (WebCore::Widget::qwidget):
1146 (WebCore::Widget::setQWidget):
1147 (WebCore::Widget::setFrameGeometry):
1148 (WebCore::Widget::isEnabled):
1149 (WebCore::Widget::setEnabled):
1150 (WebCore::Widget::setIsSelected):
1151 (WebCore::Widget::invalidate):
1152 (WebCore::Widget::invalidateRect):
1153 (WebCore::Widget::removeFromParent):
1154 (WebCore::Widget::geometryChanged):
1155 (WebCore::Widget::convertToContainingWindow):
1156 (WebCore::Widget::convertFromContainingWindow):
1157 (WebCore::Widget::convertChildToSelf):
1158 (WebCore::Widget::convertSelfToChild):
1159 (WebCore::Widget::containingWindow):
1161 2007-07-09 Anders Carlsson <andersca@apple.com>
1165 Add DocumentLoader::isLoadingMainResource.
1169 2007-07-09 John Sullivan <sullivan@apple.com>
1174 * WebCore.xcodeproj/project.pbxproj:
1175 exported String::createCFString, needed for <rdar://problem/5320208>
1177 2007-07-09 Mitz Pettel <mitz@webkit.org>
1181 Test case for the bug below, which is http://bugs.webkit.org/show_bug.cgi?id=14207
1183 * manual-tests/flash-unload-tab.html: Added.
1185 2007-07-09 Maciej Stachowiak <mjs@apple.com>
1189 <rdar://problem/5295734> Repro crash closing tab/window @ maps.google.com in
1190 WTF::HashSet<KJS::RuntimeObjectImp*, WTF::PtrHash<KJS::RuntimeObjectImp*>,
1191 WTF::HashTraits<KJS::RuntimeObjectImp*> >::add + 11
1193 Automated test case is not possible. Did not bother with manual test this time.
1195 * bindings/js/kjs_dom.cpp:
1196 (WebCore::getRuntimeObject): Check that runtime root isn't null, as well as instance;
1197 this should cover the case where the plugin is already shut down and onunload time.
1199 2007-07-08 Maciej Stachowiak <mjs@apple.com>
1203 - fixed <rdar://problem/5220706> REGRESSION (TOT): repro crash in -[WebView(WebViewInternal) _addObject:forIdentifier:] [14425]
1204 http://bugs.webkit.org/show_bug.cgi?id=14425
1206 * bindings/js/kjs_window.cpp:
1207 (KJS::createWindow): No longer take an immediate argument - always do immediate loads
1208 on a newly created Window. Also, do a load of "" to make sure that the right info makes
1210 (KJS::showModalDialog): Updated for above.
1211 (KJS::WindowFunc::callAsFunction): Updated for above.
1213 (WebCore::Document::shouldBeAllowedToLoadLocalResources): If our URL is about:blank,
1214 we're allowed if our opener is (since the opener must have written the contents).
1215 * loader/FrameLoader.cpp:
1216 (WebCore::FrameLoader::changeLocation): Add a variant which takes a KURL, which it
1217 expects to be pre-completed. This is to avoid completing "" to the opener URL.
1218 (WebCore::FrameLoader::urlSelected): Allow loading empty URLs.
1219 * loader/FrameLoader.h:
1221 Test case is manual only, since it takes particular app behavior to reproduce:
1223 * manual-tests/new-window-subresource-crash.html: Added.
1225 2007-07-08 Mitz Pettel <mitz@webkit.org>
1229 - fix leaks introduced in r24099
1232 (WebCore::Element::~Element): Do not delete the cached computed style here.
1233 (WebCore::Element::detach): Delete the computed style here instead.
1234 (WebCore::Element::computedStyle): Removed a redundant ref() which was
1235 causing the leak. Changed to return 0 if the element is not attached,
1236 because in that case there is currently no way to tell when to delete the computed
1239 2007-07-08 Mitz Pettel <mitz@webkit.org>
1243 - fix http://bugs.webkit.org/show_bug.cgi?id=12384
1244 getComputedStyle with td.style.display='none' reports '' for all properties except display
1246 Test: fast/css/computed-style-without-renderer.html
1248 Implement rich computed style for elements that do not have a renderer.
1250 * css/CSSComputedStyleDeclaration.cpp:
1251 (WebCore::getPositionOffsetValue): Changed to take a RenderStyle instead of
1253 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to
1254 use the computed style returned by the node instead of going through the
1255 renderer. Changed properties that compute by measuring the renderer to
1256 fall back on returning the length from the RenderStyle if a renderer does
1258 (WebCore::CSSComputedStyleDeclaration::length): Changed to return the number
1259 of properties we can compute even if the element has no renderer.
1260 (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): Changed
1261 to use the computed style returned by the node instead of going through the
1264 (WebCore::ElementRareData::ElementRareData): Added a computed style member,
1265 used to cache computed style for elements that do not have a renderer.
1266 (WebCore::ElementRareData::resetComputedStyle): Added.
1267 (WebCore::Element::~Element): Delete the cached computed style.
1268 (WebCore::Element::recalcStyle): Added code to delete the cached computed
1269 style when necessary.
1270 (WebCore::Element::computedStyle): Added. Returns the style used in rendering
1271 the element, if available. Otherwise uses the style selector to compute style
1275 (WebCore::Node::computedStyle): Added. This method returns either the style
1276 used in rendering the node, or the style that would be used if the node
1280 2007-07-08 Mitz Pettel <mitz@webkit.org>
1284 - fix http://bugs.webkit.org/show_bug.cgi?id=14544
1285 Scroll wheel events are ignored when the cursor is over an iframe's border
1287 * page/mac/EventHandlerMac.mm:
1288 (WebCore::EventHandler::passWheelEventToWidget): Changed to return false if
1289 the event coordinates are not inside the widget's NSView hierarchy.
1291 2007-07-08 Rob Buis <buis@kde.org>
1295 http://bugs.webkit.org/show_bug.cgi?id=10752
1296 The inspector should not respond to Make Text Smaller/Bigger commands
1298 Use the -webkit-text-size-adjust property to ignore text sizing
1299 and do not take the zoom factor into account for line height when
1300 -webkit-text-size-adjust is set to none.
1302 * css/cssstyleselector.cpp:
1303 (WebCore::CSSStyleSelector::applyProperty):
1304 * page/inspector/inspector.css:
1306 2007-07-08 Darin Adler <darin@apple.com>
1310 - fix <rdar://problem/5318994> Integer overflow in WebCore's Base64.cpp:base64Encode
1312 * platform/Base64.cpp:
1313 (WebCore::base64Encode): Check against a maximum size.
1314 (WebCore::base64Decode): Ditto.
1316 2007-07-08 Darin Adler <darin@apple.com>
1320 - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
1322 * platform/ThreadCheck.h: Renamed _WebCoreThreadViolationCheck to reportThreadViolation
1323 since it's in the WebCore namespace and also we shouldn't use leading underscores since
1324 those are reserved for the compiler and standard library. Added a new function named
1325 setDefaultThreadViolationBehavior and an enum for the parameter. Removed the
1326 threadViolationIsException parameter from WebCoreReportThreadViolation since we use
1327 a global variable for it now. Got rid of the unnecessary use of do while (0) in the
1328 WebCoreThreadViolationCheck macro -- since it's only a single function call it's already
1329 a statement and doesn't need to be turned into one with the do while (0) trick.
1331 * platform/mac/ThreadCheck.mm:
1332 (WebCore::readThreadViolationBehaviorFromUserDefaults): Moved the code to read from
1333 NSUserDefaults into this helper function. Changed it to use stringForKey instead of
1334 objectForKey so we don't get a "method not found" if someone puts something other than
1335 a string in there. Updated to use the new globals.
1336 (WebCore::setDefaultThreadViolationBehavior): Added.
1337 (WebCore::reportThreadViolation): Simplified, now that most of the work is in the
1338 readThreadViolationBehaviorFromUserDefaults function.
1339 (WebCoreReportThreadViolation): Changed to use a global variable instead of parameter
1340 to determine how to report a violation. Added LogOnFirstThreadViolation, which will
1341 log only once for each function that violates.
1343 * WebCore.exp: Updated for above changes.
1345 2007-07-08 Mitz Pettel <mitz@webkit.org>
1349 - fix http://bugs.webkit.org/show_bug.cgi?id=14221
1350 Repro crash (ASSERTION FAILED: oldText in RenderBlock::updateFirstLetter() during relayout of :before content with first-letter style)
1352 Test: fast/css-generated-content/before-with-first-letter.html
1354 * rendering/RenderContainer.cpp:
1355 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): If a child
1356 of the existing 'before' container is not text, do not assume that it is an
1357 image, since it can also be an inline wrapping a first-letter. In that case,
1358 do not update its style (so in particular, keep it a FIRST_LETTER type style)
1359 and leave it to updateFirstLetter() to take care of.
1361 2007-07-07 Sam Weinig <sam@webkit.org>
1363 Reviewed by Oliver Hunt.
1365 Bailout early in Window::put() if attribute is readonly to avoid
1366 extra calls to isSafeScript().
1368 * bindings/js/kjs_window.cpp:
1371 2007-07-07 Darin Adler <darin@apple.com>
1373 Reviewed by Oliver Hunt.
1375 - fix <rdar://problem/5292364> REGRESSION: ZX Spectrum 3.0 widget - graphic anomalies in widget window frame
1377 Updated Dashboard quirk so it affects fill, stroke, and clip, rather than just stroke.
1379 Test: fast/canvas/fill-stroke-clip-reset-path.html
1381 * html/CanvasRenderingContext2D.h: Added clearPathForDashboardBackwardCompatibilityMode.
1382 * html/CanvasRenderingContext2D.cpp:
1383 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode): Added.
1384 (WebCore::CanvasRenderingContext2D::fill): Call the new function.
1385 (WebCore::CanvasRenderingContext2D::stroke): Replaced in-line code with a call to the new function.
1386 (WebCore::CanvasRenderingContext2D::clip): Call the new function.
1388 2007-07-07 Rob Buis <buis@kde.org>
1390 Reviewed and tweaked by Darin.
1392 http://bugs.webkit.org/show_bug.cgi?id=8994
1393 Canvas doesn't reset on resize
1395 Also reset the rendering context when resetting the canvas.
1397 * html/HTMLCanvasElement.cpp:
1398 (WebCore::HTMLCanvasElement::reset):
1399 (WebCore::HTMLCanvasElement::drawingContext):
1401 2007-07-07 Alexey Proskuryakov <ap@webkit.org>
1405 http://bugs.webkit.org/show_bug.cgi?id=14525
1406 Support exslt:node-set()
1408 Test: fast/xsl/exslt-node-set.xml
1410 * xml/XSLTExtensions.cpp: Added.
1411 (WebCore::exsltNodeSetFunction): A copy of exslt:node-set() implementation
1412 from libexslt 1.1.11 (shipped with Tiger).
1413 (WebCore::registerXSLTExtensions): This function registers any WebCore-provided
1414 extensions on a context. Currently, the only extension is exslt:node-set().
1415 * xml/XSLTExtensions.h: Added.
1417 * xml/XSLTProcessor.cpp:
1418 (WebCore::XSLTProcessor::transformToString):
1419 Register extensions when creating a context.
1422 * WebCore.vcproj/WebCore.vcproj:
1423 * WebCore.xcodeproj/project.pbxproj:
1424 * WebCoreSources.bkl:
1425 Add XSLTExtensions.{h,cpp} to projects.
1427 2007-07-06 Maciej Stachowiak <mjs@apple.com>
1431 - fixed <rdar://problem/5133420> ASSERT in WebDocumentLoaderMac::decreaseLoadCount() un-discarding Gmail message
1433 test case: fast/loader/early-load-cancel.html
1435 * loader/ResourceLoader.cpp:
1436 (WebCore::ResourceLoader::didCancel): Don't send cancel-related client callbacks
1437 if we never even sent willSendRequest because we were deferred.
1439 2007-07-06 Oliver Hunt <oliver@apple.com>
1443 Pulled a number of methods from WebKit and WebCoreFrameBridge into
1447 * WebCore.xcodeproj/project.pbxproj:
1448 * editing/Editor.cpp:
1449 (WebCore::Editor::replaceMarkedText):
1450 From -[WebCoreFrameBridge replaceMarkedTextWithText:]
1453 (WebCore::Frame::setMarkedTextRange):
1454 Pulled platform independent logic from Mac specific implementation
1455 (WebCore::Frame::selectRangeInMarkedText):
1456 Converted from -[WebHTMLView _selectRangeInMarkedText:]
1458 * page/mac/FrameMac.mm:
1459 (WebCore::Frame::setMarkedTextRange):
1460 Now only does Mac specific logic when manipulating initial
1462 * page/mac/WebCoreFrameBridge.h:
1463 * page/mac/WebCoreFrameBridge.mm:
1464 Removed -[WebCoreFrameBridge replaceMarkedTextWithText:]
1466 2007-07-06 Mitz Pettel <mitz@webkit.org>
1470 - fix http://bugs.webkit.org/show_bug.cgi?id=14545
1471 REGRESSION (r21854-r21869): Repro crash in RenderBlock::updateFirstLetter @ nola.com/rose/
1473 Test: fast/css/first-letter-capitalized.html
1475 * rendering/RenderBlock.cpp:
1476 (WebCore::RenderBlock::updateFirstLetter): Moved the call to setFirstLetter
1477 further down so that the first letter is not destroyed if a text transform
1478 is applied to the remaining text fragment when it is add to the render tree.
1479 * rendering/RenderText.cpp:
1480 (WebCore::RenderText::previousCharacter): Factored out of setTextInternal.
1481 (WebCore::RenderText::setTextInternal): Changed to call previousCharacter().
1482 * rendering/RenderText.h:
1483 * rendering/RenderTextFragment.cpp:
1484 (WebCore::RenderTextFragment::previousCharacter): Override to return the
1485 character in the original string before the start of the fragment.
1486 * rendering/RenderTextFragment.h:
1488 2007-07-06 Mitz Pettel <mitz@webkit.org>
1492 - fix http://bugs.webkit.org/show_bug.cgi?id=14536
1493 Unnecessary layout done when mousing down in text field
1495 No test possible because there is no change in functionality.
1497 * rendering/RenderTextControl.cpp:
1498 (WebCore::RenderTextControl::setStyle): Reset the height and the width in
1499 the old style to avoid getting a layout hint as a result of having mutated
1500 the old style during layout.
1501 (WebCore::RenderTextControl::layout): Update children's layout if an inner
1502 block's dimensions should change. This need for layout was previously masked
1505 2007-07-06 Brady Eidson <beidson@apple.com>
1507 Fix builds that use IconDatabaseNone.cpp - better, this time
1509 * loader/icon/IconDatabaseNone.cpp:
1510 (WebCore::IconDatabase::isOpen):
1512 2007-07-06 Brady Eidson <beidson@apple.com>
1514 Fix builds that use IconDatabaseNone.cpp
1516 * loader/icon/IconDatabaseNone.cpp:
1517 (WebCore::IconDatabase::databasePath):
1519 2007-07-06 John Sullivan <sullivan@apple.com>
1523 - WebCore part of fix for:
1524 <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
1526 * loader/icon/IconDatabase.h:
1527 * loader/icon/IconDatabase.cpp:
1528 (WebCore::IconDatabase::isOpen):
1529 made this method const (necessary to make IconDatabase::databasePath const)
1530 (WebCore::IconDatabase::databasePath):
1531 new method, returns SQLDatabase's path if open, otherwise empty string
1533 * loader/icon/SQLDatabase.cpp:
1534 (WebCore::SQLDatabase::open):
1535 don't append a null character to the m_path ivar. The appended null character was making the path()
1536 method return a String with a trailing null, which is bad. However, there were no callers to the
1537 path() method until now. Instead of appending a null character to the ivar, use charactersWithNullTermination()
1538 instead of characters() when opening the database.
1540 * loader/icon/SQLDatabase.h:
1541 (WebCore::SQLDatabase::isOpen):
1542 made this method const (necessary to make IconDatabase::databasePath const)
1543 (WebCore::SQLDatabase::path):
1544 made this method const (not required for these changes, but seemed worth doing at the same time)
1547 added symbol for IconDatabase::databasePath
1549 2007-07-06 George Staikos <staikos@kde.org>
1551 No real functional change - just move the localizations out and
1552 stick some placeholder text in.
1554 * platform/qt/Localizations.cpp: Added.
1555 (WebCore::submitButtonDefaultLabel):
1556 (WebCore::inputElementAltText):
1557 (WebCore::resetButtonDefaultLabel):
1558 (WebCore::defaultLanguage):
1559 (WebCore::searchableIndexIntroduction):
1560 (WebCore::fileButtonChooseFileLabel):
1561 (WebCore::fileButtonNoFileSelectedLabel):
1562 (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1563 (WebCore::contextMenuItemTagDownloadLinkToDisk):
1564 (WebCore::contextMenuItemTagCopyLinkToClipboard):
1565 (WebCore::contextMenuItemTagOpenImageInNewWindow):
1566 (WebCore::contextMenuItemTagDownloadImageToDisk):
1567 (WebCore::contextMenuItemTagCopyImageToClipboard):
1568 (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1569 (WebCore::contextMenuItemTagCopy):
1570 (WebCore::contextMenuItemTagGoBack):
1571 (WebCore::contextMenuItemTagGoForward):
1572 (WebCore::contextMenuItemTagStop):
1573 (WebCore::contextMenuItemTagReload):
1574 (WebCore::contextMenuItemTagCut):
1575 (WebCore::contextMenuItemTagPaste):
1576 (WebCore::contextMenuItemTagNoGuessesFound):
1577 (WebCore::contextMenuItemTagIgnoreSpelling):
1578 (WebCore::contextMenuItemTagLearnSpelling):
1579 (WebCore::contextMenuItemTagSearchWeb):
1580 (WebCore::contextMenuItemTagLookUpInDictionary):
1581 (WebCore::contextMenuItemTagOpenLink):
1582 (WebCore::contextMenuItemTagIgnoreGrammar):
1583 (WebCore::contextMenuItemTagSpellingMenu):
1584 (WebCore::contextMenuItemTagShowSpellingPanel):
1585 (WebCore::contextMenuItemTagCheckSpelling):
1586 (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1587 (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1588 (WebCore::contextMenuItemTagFontMenu):
1589 (WebCore::contextMenuItemTagBold):
1590 (WebCore::contextMenuItemTagItalic):
1591 (WebCore::contextMenuItemTagUnderline):
1592 (WebCore::contextMenuItemTagOutline):
1593 (WebCore::contextMenuItemTagWritingDirectionMenu):
1594 (WebCore::contextMenuItemTagDefaultDirection):
1595 (WebCore::contextMenuItemTagLeftToRight):
1596 (WebCore::contextMenuItemTagRightToLeft):
1597 (WebCore::contextMenuItemTagInspectElement):
1598 (WebCore::searchMenuNoRecentSearchesText):
1599 (WebCore::searchMenuRecentSearchesText):
1600 (WebCore::searchMenuClearRecentSearchesText):
1601 (WebCore::AXWebAreaText):
1602 (WebCore::AXLinkText):
1603 (WebCore::AXListMarkerText):
1604 (WebCore::AXImageMapText):
1605 (WebCore::AXHeadingText):
1606 * platform/qt/TemporaryLinkStubs.cpp:
1608 2007-07-06 Geoffrey Garen <ggaren@apple.com>
1610 Reviewed by Anders Carlsson.
1612 A little more FrameLoader cleanup while working on <rdar://problem/5126396>.
1614 Moved url() and URL() methods next to each other to highlight their subtlety.
1616 * loader/FrameLoader.cpp:
1617 (WebCore::FrameLoader::url):
1618 * loader/FrameLoader.h:
1620 2007-07-06 Geoffrey Garen <ggaren@apple.com>
1622 Reviewed by Anders Carlsson.
1624 A little FrameLoader cleanup while working on <rdar://problem/5126396>.
1626 Renamed endIfNotLoading() to endIfNotLoadingMainResource() because "loading"
1627 and "loadingMainResource" have distinct meanings and this function
1630 (WebCore::FrameLoader::endIfNotLoadingMainResource): Protect after the
1631 early return to avoid ref count churn.
1632 * loader/FrameLoader.h:
1633 (WebCore::FrameLoader::isLoadingMainResource): Inlined this function.
1635 2007-07-06 Adam Treat <adam@staikos.net>
1637 Reviewed by George Staikos.
1639 Convert QWebFrame to a QFrame from a scroll area.
1641 * page/qt/EventHandlerQt.cpp:
1642 (WebCore::EventHandler::passSubframeEventToSubframe):
1643 (WebCore::EventHandler::passWheelEventToWidget):
1644 (WebCore::EventHandler::createDraggingClipboard):
1645 (WebCore::EventHandler::passMousePressEventToScrollbar):
1646 * platform/ScrollView.h:
1647 * platform/Widget.h:
1648 * platform/qt/PlatformScrollBar.h:
1649 * platform/qt/PlatformScrollBarQt.cpp:
1650 (WebCore::PlatformScrollbar::setRect):
1651 (WebCore::PlatformScrollbar::frameGeometry):
1652 (WebCore::PlatformScrollbar::setFrameGeometry):
1653 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
1654 (WebCore::PlatformScrollbar::handleMousePressEvent):
1655 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
1656 * platform/qt/ScrollViewQt.cpp:
1657 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1658 (WebCore::ScrollView::ScrollViewPrivate::~ScrollViewPrivate):
1659 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
1660 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
1661 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
1662 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1663 (WebCore::ScrollView::ScrollViewPrivate::windowClipRect):
1664 (WebCore::ScrollView::ScrollView):
1665 (WebCore::ScrollView::~ScrollView):
1666 (WebCore::ScrollView::setScrollArea):
1667 (WebCore::ScrollView::horizontalScrollBar):
1668 (WebCore::ScrollView::verticalScrollBar):
1669 (WebCore::ScrollView::updateContents):
1670 (WebCore::ScrollView::update):
1671 (WebCore::ScrollView::visibleWidth):
1672 (WebCore::ScrollView::visibleHeight):
1673 (WebCore::ScrollView::visibleContentRect):
1674 (WebCore::ScrollView::setContentsPos):
1675 (WebCore::ScrollView::resizeContents):
1676 (WebCore::ScrollView::setFrameGeometry):
1677 (WebCore::ScrollView::geometryChanged):
1678 (WebCore::ScrollView::contentsX):
1679 (WebCore::ScrollView::contentsY):
1680 (WebCore::ScrollView::contentsWidth):
1681 (WebCore::ScrollView::contentsHeight):
1682 (WebCore::ScrollView::windowToContents):
1683 (WebCore::ScrollView::contentsToWindow):
1684 (WebCore::ScrollView::scrollOffset):
1685 (WebCore::ScrollView::maximumScroll):
1686 (WebCore::ScrollView::scrollBy):
1687 (WebCore::ScrollView::scrollRectIntoViewRecursively):
1688 (WebCore::ScrollView::hScrollbarMode):
1689 (WebCore::ScrollView::vScrollbarMode):
1690 (WebCore::ScrollView::suppressScrollbars):
1691 (WebCore::ScrollView::setHScrollbarMode):
1692 (WebCore::ScrollView::setVScrollbarMode):
1693 (WebCore::ScrollView::setScrollbarsMode):
1694 (WebCore::ScrollView::setStaticBackground):
1695 (WebCore::ScrollView::inWindow):
1696 (WebCore::ScrollView::updateScrollbars):
1697 (WebCore::ScrollView::scrollbarUnderMouse):
1698 (WebCore::ScrollView::addChild):
1699 (WebCore::ScrollView::removeChild):
1700 (WebCore::ScrollView::paint):
1701 (WebCore::ScrollView::wheelEvent):
1702 (WebCore::ScrollView::scroll):
1703 (WebCore::ScrollView::windowResizerRect):
1704 (WebCore::ScrollView::resizerOverlapsContent):
1705 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
1706 (WebCore::ScrollView::setParent):
1707 (WebCore::ScrollView::addToDirtyRegion):
1708 (WebCore::ScrollView::scrollBackingStore):
1709 (WebCore::ScrollView::updateBackingStore):
1710 * platform/qt/WidgetQt.cpp:
1711 (WebCore::WidgetPrivate::canvas):
1712 (WebCore::WidgetPrivate::setGeometry):
1713 (WebCore::WidgetPrivate::geometry):
1714 (WebCore::Widget::setQWidget):
1715 (WebCore::Widget::paint):
1716 (WebCore::Widget::originalGeometry):
1717 (WebCore::Widget::geometryChanged):
1719 2007-07-06 Anders Carlsson <andersca@apple.com>
1723 <rdar://problem/5280532>
1724 REGRESSION: Can't access nested embed by document.name if object is not immediate parent
1726 Traverse up the tree looking for an object element.
1728 * html/HTMLEmbedElement.cpp:
1729 (WebCore::HTMLEmbedElement::getInstance):
1731 2007-07-06 George Staikos <staikos@kde.org>
1733 Qt build fix: Don't clobber qmake variables that are already set.
1737 2007-07-05 Maciej Stachowiak <mjs@apple.com>
1741 - <rdar://problem/5311093> JavaScriptCore fails to build with strict-aliasing warnings
1743 * platform/StringHash.h:
1744 (WTF::): Adapt to newer way to do storage types.
1746 2007-07-06 Bernhard Rosenkraenzer <bero@arklinux.org>
1750 Fix for http://bugs.webkit.org/show_bug.cgi?id=13985
1751 Bug 13985: WebCore/rendering/RenderTable.cpp fails to compile with gcc 4.2.x
1753 * rendering/RenderTable.cpp:
1754 (WebKit::RenderTable::calcBorderLeft)
1755 (WebKit::RenderTable::calcBorderRight)
1757 2007-07-06 Maxime Britto <mbritto@pleyo.com>
1761 Fix http://bugs.webkit.org/show_bug.cgi?id=13038
1762 Bug 13038: ASSERTION FAILED: item->target().isEmpty() || m_mainFrame->tree()->find(item->target()) == m_mainFrame
1764 Modify an ASSERT in goToItem related to going back/forward in history. We don't need to check the frameset if the target is _blank.
1765 The attached test case is a manual one since it relies on having pages opened in tabs in Safari.
1767 * manual-tests/goBack-blank-tab-page.html: Added.
1768 * manual-tests/resources/before-go-back.html: Added.
1769 * manual-tests/resources/will-go-back.html: Added.
1771 (WebCore::Page::goToItem):
1773 2007-07-06 Mitz Pettel <mitz@webkit.org>
1777 - fix http://bugs.webkit.org/show_bug.cgi?id=14400
1778 Assertion failure (SHOULD NEVER BE REACHED) going back on YouTube
1780 Test: fast/forms/button-state-restore.html
1783 (WebCore::Document::isFormElementRegistered): Added.
1784 * html/HTMLGenericFormElement.cpp:
1785 (WebCore::HTMLGenericFormElement::closeRenderer): Restore saved form
1786 element state only if the element is registered with the document to
1787 have its state saved.
1789 2007-07-06 Mitz Pettel <mitz@webkit.org>
1793 - fix http://bugs.webkit.org/show_bug.cgi?id=14487
1794 Incomplete repaint of background and border of boxes with -webkit-border-fit:lines
1796 Test: fast/repaint/border-fit-lines.html
1798 * rendering/RenderObject.cpp:
1799 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Do a full repaint if
1800 -webkit-border-fit:lines was specified.
1802 2007-07-06 Tony Chang <idealisms@gmail.com>
1806 http://bugs.webkit.org/show_bug.cgi?id=14516
1807 Bug 14516: crash loading multipart/x-mixed-replace data on windows safari
1809 NULL check m_resourceData to prevent a crash in Safari on Windows.
1811 * loader/ResourceLoader.cpp:
1812 (WebCore::ResourceLoader::clearResourceData):
1814 2007-07-06 Jungshik Shin <jungshik.shin@gmail.com>
1818 - Add UTF-32 encoding support
1819 http://bugs.webkit.org/show_bug.cgi?id=13415
1822 - fast/encoding/utf-32-big-endian-bom.html
1823 - fast/encoding/utf-32-big-endian-nobom.xml
1824 - fast/encoding/utf-32-little-endian-bom.html
1825 - fast/encoding/utf-32-little-endian-nobom.xml
1827 * loader/TextResourceDecoder.cpp:
1828 (WebCore::TextResourceDecoder::checkForBOM):
1829 (WebCore::TextResourceDecoder::checkForHeadCharset):
1830 * platform/TextDecoder.cpp:
1831 (WebCore::TextDecoder::checkForBOM):
1832 * platform/TextDecoder.h:
1833 * platform/TextEncoding.cpp:
1834 (WebCore::UTF32BigEndianEncoding):
1835 (WebCore::UTF32LittleEndianEncoding):
1836 * platform/TextEncoding.h:
1838 2007-07-06 Holger Hans Peter Freyther <zecke@selfish.org>
1842 Start implementening RenderThemeGdk/Gtk using GtkStyle. The approach is
1843 to allocate one native control for each widget type. And use margins, spacing,
1844 style properties from the Widget. And for drawing use GtkStyle on the rect supplied.
1846 This should allow nice integration and be relative resource friendly. Mozilla is using
1847 a similiar approach. They seem to share the GdkPixmap among several operations and this
1848 will be an obvious candidate for improvements. Create a normally big enough GdkPixmap and
1849 use that for drawing and then set clip regions for cairo to make sure to not go beyond the
1852 The next steps will be to introduce states for the widgets, add more widgets, handle focus,
1853 and various other style attributes, honor the size and margin and use that to propagate this
1854 back to RenderStyle*.
1856 * platform/gdk/RenderThemeGdk.cpp:
1857 (WebCore::RenderThemeGdk::RenderThemeGdk):
1858 (WebCore::RenderThemeGdk::setCheckboxSize):
1859 (WebCore::RenderThemeGdk::paintCheckbox):
1860 (WebCore::RenderThemeGdk::setRadioSize):
1861 (WebCore::RenderThemeGdk::paintRadio):
1862 (WebCore::RenderThemeGdk::paintButton):
1863 (WebCore::RenderThemeGdk::copyToContext):
1864 (WebCore::RenderThemeGdk::gtkButton):
1865 (WebCore::RenderThemeGdk::gtkCheckbox):
1866 (WebCore::RenderThemeGdk::gtkRadioButton):
1867 (WebCore::RenderThemeGdk::gtkWindowContainer):
1868 * platform/gdk/RenderThemeGdk.h:
1870 2007-07-06 Rob Buis <buis@kde.org>
1874 http://bugs.webkit.org/show_bug.cgi?id=14442
1875 Adding a stop with value 1.0 to a gradient that has already been used has no effect
1877 Implement start and end stop handling differently so they are not
1878 in the color stop array.
1880 * html/CanvasGradient.cpp:
1881 (WebCore::compareStops):
1882 (WebCore::CanvasGradient::getColor):
1883 (WebCore::CanvasGradient::findStop):
1885 2007-07-06 Adam Roben <aroben@apple.com>
1887 Fix <rdar://problem/5301994> Garbled text still showing on some sites
1889 Replace calls to GetGlyphIndices with wkGetGlyphs.
1893 * platform/win/GlyphPageTreeNodeWin.cpp:
1894 (WebCore::GlyphPage::fill): Use wkGetGlyphs.
1895 * platform/win/FontDataWin.cpp:
1896 (WebCore::FontData::containsCharacters):
1898 2007-07-06 Matt Lilek <pewtermoose@gmail.com>
1900 Not reviewed - Windows build fix.
1902 * bridge/win/FrameWin.cpp:
1903 (WebCore::imageFromSelection):
1905 2007-07-06 George Staikos <staikos@kde.org>
1909 Switch USE(ICONDATABASE) to ENABLE(ICONDATABASE) and activate the
1910 flag via the .pro file
1913 * loader/icon/IconDatabase.h:
1915 2007-07-05 John Sullivan <sullivan@apple.com>
1919 - WebCore part of fix for <rdar://problem/5315033>
1921 * rendering/RenderObject.h:
1922 replaced PaintRestrictionSelectionOnlyWhiteText with PaintRestrictionSelectionOnlyBlackText
1923 (WebCore::RenderObject::PaintInfo::PaintInfo):
1924 replaced forceWhiteText with forceBlackText
1926 * rendering/RenderObject.cpp:
1927 (WebCore::RenderObject::addLineBoxRects):
1928 added a useSelectionHeight parameter, which defaults to false; this method is unimplemented
1929 at this level so this has no effect.
1931 * rendering/RenderText.h:
1932 * rendering/RenderText.cpp:
1933 (WebCore::RenderText::addLineBoxRects):
1934 added a useSelectionHeight parameter, which defaults to false. If true, use the vertical position
1935 and height returned by selectionRect rather than replacing it with the more tight-fitting position
1936 and height of the line box.
1940 (WebCore::Range::addLineBoxRects):
1941 added a useSelectionHeight parameter, which defaults to false. Passes this along to RenderObject.
1944 renamed parameter to selectionImage
1946 (WebCore::Frame::selectionTextRects):
1947 pass true for addLineBoxRects new useSelectionHeight parameter, so the rects returned by this new
1948 method will match the height that the selection would be painted here
1949 (WebCore::Frame::paint):
1950 updated for white->black name changes
1952 * page/mac/FrameMac.mm:
1953 (WebCore::Frame::selectionImage):
1954 updated for white->black name changes
1956 * rendering/InlineFlowBox.cpp:
1957 (WebCore::InlineFlowBox::paintTextDecorations):
1958 updated for white->black name changes
1960 * rendering/RenderLayer.cpp:
1961 (WebCore::RenderLayer::paintLayer):
1962 updated for white->black name changes
1964 * rendering/InlineTextBox.cpp:
1965 (WebCore::InlineTextBox::paint):
1966 updated for white->black name changes, and actually use black instead of white. This was the goal
1967 of all the name changes.
1969 2007-07-05 Anders Carlsson <andersca@apple.com>
1973 Fix layout test failures.
1975 * loader/FrameLoader.cpp:
1976 (WebCore::FrameLoader::commitProvisionalLoad):
1977 Don't make a representation if we're creating the initial document.
1979 2007-07-05 Alp Toker <alp.toker@collabora.co.uk>
1981 Fix Bug 14388: Input in text fields limited to 1024 characters
1982 http://bugs.webkit.org/show_bug.cgi?id=14388
1984 Slightly modified by Adam Roben.
1988 Tests: fast/forms/input-implicit-length-limit.html
1989 fast/forms/input-maxlength.html
1991 * html/HTMLInputElement.cpp: Bump limit to 524288.
1992 (WebCore::HTMLInputElement::init):
1993 (WebCore::HTMLInputElement::parseMappedAttribute):
1994 * html/HTMLInputElement.h:
1996 2007-07-05 Anders Carlsson <andersca@apple.com>
2000 * loader/FrameLoader.cpp:
2001 (WebCore::FrameLoader::init):
2003 2007-07-05 Sam Weinig <sam@webkit.org>
2007 Add focus, blur and close functions to DOMWindow implementation class
2008 and move bindings from Window to JSDOMWindow.
2010 * bindings/js/JSDOMWindowCustom.cpp:
2011 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2012 * bindings/js/kjs_window.cpp:
2013 (KJS::Window::getOwnPropertySlot):
2014 (KJS::WindowFunc::callAsFunction):
2015 * bindings/js/kjs_window.h:
2017 * bindings/scripts/CodeGeneratorJS.pm: Move prototype function declaration from
2018 the implementation to the header.
2019 * page/DOMWindow.cpp:
2020 (WebCore::DOMWindow::focus):
2021 (WebCore::DOMWindow::blur):
2022 (WebCore::DOMWindow::close):
2024 * page/DOMWindow.idl:
2026 2007-07-05 Justin Garcia <justin.garcia@apple.com>
2028 Reviewed by Harrison.
2030 <rdar://problem/5279521> REGRESSION: In Mail, a crash occurs at WebCore::Range::startPosition() when attempting to apply alignment to selected image/text in message body
2032 * editing/TextIterator.cpp:
2033 (WebCore::TextIterator::exitNode): Previously emitted content shouldn't have
2034 to come from a text node in order to emit a '\n' as we exit block containers.
2036 2007-07-05 Anders Carlsson <andersca@apple.com>
2040 <rdar://problem/5315284> REGRESSION: Leopard Launch Time - plugins are being accessed at startup.
2042 Set a response that has a MIME type of "text/html" on the document loader so WebKit won't refresh the
2043 plugin database looking for a plug-in that can handle the document's MIME type (which will be null anyway).
2045 * loader/FrameLoader.cpp:
2046 (WebCore::FrameLoader::init):
2048 2007-07-05 Anders Carlsson <andersca@apple.com>
2052 <rdar://problem/5106788>
2053 WebKit loads user style sheets too late as seen in Mail (breaks DataDetectors; Mail flashes wrong font)
2055 Let the document know when the user style sheet is loading so that it try not to display anything
2056 until the user style sheet has finished loading.
2059 (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
2060 (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader):
2061 (WebCore::UserStyleSheetLoader::setCSSStyleSheet):
2062 (WebCore::Frame::setUserStyleSheetLocation):
2064 2007-07-05 Sam Weinig <sam@webkit.org>
2068 Move JSDOMWindow overriding getOwnPropertySlot logic from KJS::Window
2069 up into JSDOMWindow. No change in functionality so no testcase required.
2071 * bindings/js/JSDOMWindowCustom.cpp:
2072 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2073 * bindings/js/kjs_window.cpp:
2074 (KJS::Window::getOwnPropertySlot):
2075 * bindings/js/kjs_window.h:
2077 2007-07-05 Mitz Pettel <mitz@webkit.org>
2079 Reviewed and Landed by Sam.
2081 - fix bug 14465 for window.showModalDialog
2083 * bindings/js/kjs_window.cpp:
2084 (KJS::parseModalDialogFeatures):
2085 (KJS::showModalDialog):
2087 2007-07-05 Sam Weinig <sam@webkit.org>
2091 Patch for http://bugs.webkit.org/show_bug.cgi?id=14465
2092 window.open() uses the literal "undefined" as the URL
2094 * bindings/js/kjs_window.cpp:
2095 (KJS::WindowFunc::callAsFunction): add checks for undefined and null values when setting the url.
2096 * manual-tests/open-url-undefined.html: Added.
2098 2007-07-05 Holger Hans Peter Freyther <zecke@selfish.org>
2100 Reviewed by Rob Buis.
2102 Rework FontData and FontPlatformData for the Gdk work to make valgrind
2105 Move destroying of FontConfig and Cairo objects held in FontPlatformData
2106 to FontData::platformDestroy. The ownership of these objects is held by
2107 FontData. This is following the Mac and Qt port at least.
2109 Currently it is possible that FontPlatformData will not create cairo resources
2110 in this case at least make sure the variables are initialized to 0.
2111 Initialize x,y of the cairo_glyph_t with zero to avoid extents.x_advance depending
2112 on subtracing with not defined values.
2114 FontPlatformData::hash. Using FontDescription is a bad idea as we don't have a clue
2115 about how it is packed, if holes are present, etc. The FcPattern and the m_fontMatrix
2116 should be good enough to describe the Font. All other objects are created using these
2119 Replace C-style casts with C++ casts, in this case reinterpret_cast.
2121 * platform/gdk/FontDataGdk.cpp:
2122 (WebCore::FontData::platformInit): Don't assert
2123 (WebCore::FontData::platformDestroy): Take over ownership
2124 (WebCore::FontData::platformWidthForGlyph): initialize
2125 (WebCore::FontData::setFont): be paranoid and assert
2126 * platform/gdk/FontPlatformData.h:
2127 (WebCore::FontPlatformData::FontPlatformData): Initialize everything
2128 (WebCore::FontPlatformData::hash): make valgrind happy and don't use m_fontDescription
2129 * platform/gdk/FontPlatformDataGdk.cpp:
2130 (WebCore::FontPlatformData::FontPlatformData):
2131 (WebCore::FontPlatformData::~FontPlatformData): FontData::platformDestroy will do this
2132 (WebCore::FontPlatformData::list): Don't use C-style casts.
2133 (WebCore::FontPlatformData::setFont): m_fontFace, m_fontMatrix, m_options might not be initialized
2134 (WebCore::FontPlatformData::operator==): Don't use C-style casts.
2136 2007-07-05 Alp Toker <alp.toker@collabora.co.uk>
2138 Reviewed by Mark Rowe.
2140 http://bugs.webkit.org/show_bug.cgi?id=14445
2141 GraphicsContextCairo code style cleanup
2143 Follow the cr naming convention for cairo_t*.
2144 Remove trailing whitespace.
2145 Replace C casts with C++ casts.
2146 Avoid needless casts.
2148 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2149 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2150 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2151 (WebCore::GraphicsContext::GraphicsContext):
2152 (WebCore::GraphicsContext::platformContext):
2153 (WebCore::GraphicsContext::savePlatformState):
2154 (WebCore::GraphicsContext::restorePlatformState):
2155 (WebCore::GraphicsContext::drawRect):
2156 (WebCore::adjustLineToPixelBoundaries):
2157 (WebCore::GraphicsContext::drawLine):
2158 (WebCore::GraphicsContext::drawEllipse):
2159 (WebCore::GraphicsContext::strokeArc): Save/restore the graphics state.
2160 (WebCore::GraphicsContext::drawConvexPolygon):
2161 (WebCore::GraphicsContext::fillRect):
2162 (WebCore::GraphicsContext::clip):
2163 (WebCore::GraphicsContext::drawFocusRing):
2164 (WebCore::GraphicsContext::roundToDevicePixels):
2165 (WebCore::GraphicsContext::translate):
2166 (WebCore::GraphicsContext::origin):
2167 (WebCore::GraphicsContext::setPlatformStrokeThickness):
2168 (WebCore::GraphicsContext::setPlatformStrokeStyle):
2169 (WebCore::GraphicsContext::setPlatformFont):
2170 (WebCore::GraphicsContext::concatCTM):
2171 (WebCore::GraphicsContext::addInnerRoundedRectClip):
2172 (WebCore::GraphicsContext::beginTransparencyLayer):
2173 (WebCore::GraphicsContext::endTransparencyLayer):
2174 (WebCore::GraphicsContext::clearRect):
2175 (WebCore::GraphicsContext::setLineCap):
2176 (WebCore::GraphicsContext::setLineJoin):
2177 (WebCore::GraphicsContext::setMiterLimit):
2178 (WebCore::GraphicsContext::setCompositeOperation):
2179 (WebCore::GraphicsContext::beginPath):
2180 (WebCore::GraphicsContext::addPath):
2181 (WebCore::GraphicsContext::rotate):
2182 (WebCore::GraphicsContext::scale):
2183 * platform/graphics/cairo/ImageBufferCairo.cpp:
2184 (WebCore::ImageBuffer::ImageBuffer):
2185 * platform/graphics/cairo/ImageCairo.cpp: Avoid the confusing ctxt/context naming scheme.
2186 (WebCore::BitmapImage::draw):
2187 (WebCore::Image::drawPattern):
2189 2007-07-05 Alp Toker <alp.toker@collabora.co.uk>
2191 Reviewed by Mark Rowe.
2193 http://bugs.webkit.org/show_bug.cgi?id=14531
2194 Cairo SVGImage::nativeImageForCurrentFrame() has no return
2196 Return the Cairo surface from the frame cache.
2198 Also add a fall-through else macro with notImplemented() so that future
2199 ports do not make the same mistake.
2201 * platform/graphics/svg/SVGImage.cpp:
2202 (WebCore::SVGImage::nativeImageForCurrentFrame):
2204 2007-07-05 Alp Toker <alp.toker@collabora.co.uk>
2206 Reviewed by Mark Rowe.
2208 http://bugs.webkit.org/show_bug.cgi?id=14513
2209 Cairo animated GIF support is broken
2211 Implement ImageSource::frameIsCompleteAtIndex() to enable animated GIFs.
2213 * platform/graphics/cairo/ImageSourceCairo.cpp:
2214 (WebCore::ImageSource::frameIsCompleteAtIndex):
2216 2007-07-04 Matt Perry <mpComplete@gmail.com>
2220 Fix for http://bugs.webkit.org/show_bug.cgi?id=13400
2221 Bug 13400: REGRESSION (r20809-20814): No back entry created for navigations created by assigning to document.location
2222 <rdar://problem/5153025>
2224 Treat userGesture as always true for setLocation, forcing a back/forward
2225 entry to be created.
2227 * bindings/js/JSHTMLDocumentCustom.cpp:
2228 (WebCore::JSHTMLDocument::setLocation):
2230 2007-07-04 Adam Roben <aroben@apple.com>
2232 Restore MouseEventWithHitTestResults::targetNode's old behavior
2236 Fixes fast/images/imagemap-case and fast/replace/image-map.
2238 * page/MouseEventWithHitTestResults.cpp:
2239 (WebCore::MouseEventWithHitTestResults::targetNode): Use the inner
2240 node, not the inner non-shared node.
2242 2007-07-04 Adam Roben <aroben@apple.com>
2244 Mac, Qt, and Gdk build fixes.
2246 * page/EventHandler.h:
2247 * page/gdk/EventHandlerGdk.cpp:
2248 * page/mac/EventHandlerMac.mm:
2249 (WebCore::EventHandler::passSubframeEventToSubframe):
2250 * page/qt/EventHandlerQt.cpp:
2252 2007-07-04 Adam Roben <aroben@apple.com>
2254 Fix the Qt/Gdk builds.
2256 * page/gdk/EventHandlerGdk.cpp:
2257 * page/qt/EventHandlerQt.cpp:
2259 2007-07-04 Adam Roben <aroben@apple.com>
2261 Move tooltip logic down into WebCore so that it can be shared cross-platform
2266 (WebCore::Chrome::setToolTip): Added.
2268 * page/ChromeClient.h:
2269 * page/EventHandler.cpp:
2270 (WebCore::EventHandler::mouseMoved): Call Chrome::setToolTip.
2271 * platform/graphics/svg/SVGImageEmptyClients.h:
2273 Added stubs for Gdk:
2275 * platform/gdk/ChromeClientGdk.h:
2276 * platform/gdk/TemporaryLinkStubs.cpp:
2277 (ChromeClientGdk::setToolTip):
2279 2007-07-04 Adam Roben <aroben@apple.com>
2281 Add Settings::showsURLsInToolTips
2286 * page/Settings.cpp:
2287 (WebCore::Settings::Settings):
2290 2007-07-04 Adam Roben <aroben@apple.com>
2292 Move logic for calling mouseDidMoveOverElement into WebCore
2296 * page/EventHandler.cpp:
2297 (WebCore::EventHandler::mouseMoved): Added. Calls Chrome::mouseDidMoveOverElement.
2298 (WebCore::EventHandler::handleMouseMoveEvent): Now takes an optional
2299 HitTestResult* parameter which is used to communicate to the caller the
2300 node the mouse is over.
2301 * page/EventHandler.h:
2302 * page/mac/EventHandlerMac.mm:
2303 (WebCore::EventHandler::mouseMoved): Changed to call the overloaded
2305 (WebCore::EventHandler::passMouseMoveEventToSubframe): Pass hoveredNode
2306 through to the subframe so we can get the deepest node hovered, not
2307 just the node's parent frame.
2308 * page/win/EventHandlerWin.cpp:
2309 (WebCore::EventHandler::passMouseMoveEventToSubframe): Ditto.
2311 2007-07-04 Adam Roben <aroben@apple.com>
2313 Add Chrome::mouseDidMoveOverElement
2315 This does the work of calling up to the ChromeClient (which will call
2321 (WebCore::Chrome::mouseDidMoveOverElement): Added.
2323 * page/ChromeClient.h:
2324 * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to
2326 * platform/gdk/ChromeClientGdk.h:
2327 * platform/gdk/TemporaryLinkStubs.cpp:
2328 (ChromeClientGdk::mouseDidMoveOverElement):
2330 2007-07-04 Adam Roben <aroben@apple.com>
2332 Changed PlatformMouseEvent to store the modifier flags of the event
2336 * platform/PlatformMouseEvent.h:
2337 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2338 * platform/mac/PlatformMouseEventMac.mm:
2339 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2340 * platform/win/PlatformMouseEventWin.cpp:
2341 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2343 2007-07-04 Adam Roben <aroben@apple.com>
2345 Add HitTestResult::setToNonShadowAncestor
2349 * page/EventHandler.cpp:
2350 (WebCore::EventHandler::hitTestResultAtPoint): Moved logic into
2351 HitTestResult::setToNonShadowAncestor.
2352 * rendering/HitTestResult.cpp:
2353 (WebCore::HitTestResult::setToNonShadowAncestor):
2354 * rendering/HitTestResult.h:
2356 2007-07-04 Adam Roben <aroben@apple.com>
2358 Change MouseEventWithHitTestResults to hold onto a HitTestResult
2363 (WebCore::Document::prepareMouseEvent):
2364 * page/MouseEventWithHitTestResults.cpp:
2365 (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
2366 (WebCore::MouseEventWithHitTestResults::targetNode):
2367 (WebCore::MouseEventWithHitTestResults::localPoint):
2368 (WebCore::MouseEventWithHitTestResults::scrollbar):
2369 * page/MouseEventWithHitTestResults.h:
2370 (WebCore::MouseEventWithHitTestResults::event):
2371 (WebCore::MouseEventWithHitTestResults::hitTestResult):
2373 2007-07-04 Matt Lilek <pewtermoose@gmail.com>
2375 Not reviewed, gdk build fix.
2377 * platform/gdk/FrameGdk.cpp:
2379 2007-07-05 Antti Koivisto <antti@apple.com>
2383 Fix Repro crash due to infinite recursion in HTMLParser::handleError @ youos.com
2384 <rdar://problem/5237811>
2386 It is possible to add table parts (thead etc) without table ancestor to a document fragment. If a new table element
2387 was added to such a part, as in
2389 div.innerHTML = '<tbody><table>';
2391 the parser error handling code would try to pop the previous table as normal. However since
2392 the table does not actually exist nothing would happen and parser would go to infinite recursion.
2394 Solution here is to pop table parts one by one when handling the error inside a fragment instead of trying to pop
2395 the table straight away (as it might not exist).
2397 * html/HTMLParser.cpp:
2398 (WebCore::HTMLParser::handleError):
2400 2007-07-04 Qing Zhao <qing@staikos.net>
2402 Reviewed by George Staikos.
2404 Draw menulist (comboboxes) without text overlap on the button.
2406 * platform/qt/RenderThemeQt.cpp:
2407 (WebCore::RenderThemeQt::setPopupPadding):
2409 2007-07-04 George Staikos <staikos@kde.org>
2413 * page/qt/FrameQt.cpp:
2416 2007-07-04 Sam Weinig <sam@webkit.org>
2420 Patch for http://bugs.webkit.org/show_bug.cgi?id=14504
2421 REGRESSION (r23573): Amazon Book Excerpt can not be viewed in recent nightly
2423 - Made it possible (again) to shadow window properties with local variable names.
2425 Test: fast/dom/Window/window-property-shadowing.html
2427 * bindings/js/JSDOMWindowCustom.cpp:
2428 (WebCore::JSDOMWindow::customPut):
2429 * bindings/js/kjs_window.cpp:
2431 * bindings/scripts/CodeGeneratorJS.pm:
2432 * page/DOMWindow.idl:
2434 2007-07-03 Alice Liu <alice.liu@apple.com>
2438 Fixed <rdar://problem/5225119> support smart pasting on Windows
2440 * WebCore.vcproj/WebCore.vcproj:
2441 * WebCore.xcodeproj/project.pbxproj:
2443 * editing/SmartReplace.cpp: Added.
2444 (WebCore::isCharacterSmartReplaceExempt):
2445 Added non-CF implementation placeholder
2446 * editing/SmartReplace.h: Added.
2447 * editing/SmartReplaceCF.cpp: Added.
2448 (WebCore::getSmartSet):
2449 (WebCore::isCharacterSmartReplaceExempt):
2450 Added new implementation
2452 * bridge/win/FrameWin.cpp:
2454 * page/mac/FrameMac.mm:
2455 Removed old declaration and implementation
2457 * editing/ReplaceSelectionCommand.cpp:
2458 (WebCore::ReplaceSelectionCommand::doApply):
2459 Changed to call the new function instead of old
2461 * page/mac/WebCoreFrameBridge.h:
2462 * page/mac/WebCoreFrameBridge.mm:
2463 Removed old declaration and implementation
2464 (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
2465 Changed to call the new function instead of old
2467 * platform/win/PasteboardWin.cpp:
2468 (WebCore::Pasteboard::Pasteboard):
2469 Register new clipboard format
2470 (WebCore::Pasteboard::writeSelection):
2471 Set data for smartpaste format on clipboard
2472 (WebCore::Pasteboard::canSmartReplace):
2473 Added non-stub implementation
2475 2007-07-04 Qing Zhao <qing@staikos.net>
2477 Reviewed by George Staikos.
2479 Similar to the PlatformScrollbar fixes, adjust the painter to make the
2480 styler draw all subcontrols, and in this case the focus rect, in the
2483 * platform/qt/RenderThemeQt.cpp:
2484 (WebCore::RenderThemeQt::paintMenuList):
2486 2007-07-04 Mitz Pettel <mitz@webkit.org>
2490 - fix http://bugs.webkit.org/show_bug.cgi?id=14495
2491 REGRESSION: Wrong cursor is displayed during drag and drop when text is selected
2492 <rdar://problem/5312384>
2494 No test possible because DumpRenderTree cannot query the current cursor.
2496 * page/EventHandler.cpp:
2497 (WebCore::EventHandler::selectCursor): Changed into a member function and
2498 added that if the last mouse down event could not have started a
2499 selection, then the cursor should not change to an I-beam unconditionally.
2500 (WebCore::EventHandler::handleMouseMoveEvent):
2501 * page/EventHandler.h:
2503 2007-07-04 Holger Hans Peter Freyther <zecke@selfish.org>
2505 Reviewed by Rob Buis.
2507 A little progress in tracking dependencies.
2509 * WebCore.pro: Add DEPENDPATH for the Gdk port.
2511 2007-07-03 Darin Adler <darin@apple.com>
2513 Reviewed by Tim Hatcher.
2515 - fix <rdar://problem/5221297> Font family name in the cssText for a DOMCSSStyleDeclaration needs quotes
2517 Test: editing/style/font-family-with-space.html
2519 * css/FontFamilyValue.cpp:
2520 (WebCore::isValidCSSIdentifier): Added. Implements the same rule that the CSS lexer does.
2521 (WebCore::quoteStringIfNeeded): Changed to call isValidCSSIdentifier instead of just
2522 checking for a leading "#" character.
2523 * editing/markup.cpp:
2524 (WebCore::escapeTextForMarkup): Changed to take a String parameter for better efficiency.
2525 (WebCore::renderedText): Changed to return a String for better efficiency.
2526 (WebCore::addNamespace): Updated to pass String to escapeTextForMarkup.
2527 (WebCore::startMarkup): Updated to pass String to escapeTextForMarkup. Added missing call
2528 to escapeTextForMarkup in the special case for the style property.
2529 (WebCore::createMarkup): Changed from single quotes to double quotes and also added missing
2530 call to escapeTextForMarkup in two special cases for the style property.
2532 2007-07-03 Sam Weinig <sam@webkit.org>
2536 Twelfth round of fixes for implicit 64-32 bit conversion errors.
2537 <rdar://problem/5292262>
2539 - Add casts and accompanying FIXMEs to avoid remaining compiler errors.
2541 * WebCore.xcodeproj/project.pbxproj:
2542 * loader/FrameLoader.cpp:
2543 (WebCore::FrameLoader::opened):
2544 (WebCore::FrameLoader::sendRemainingDelegateMessages):
2545 * loader/FrameLoader.h:
2546 * loader/ResourceLoader.cpp:
2547 (WebCore::ResourceLoader::didReceiveData):
2548 * platform/network/mac/ResourceHandleMac.mm:
2549 (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
2550 (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):
2551 * platform/network/mac/ResourceResponseMac.mm:
2552 (WebCore::ResourceResponse::nsURLResponse):
2554 2007-07-03 Anders Carlsson <andersca@apple.com>
2558 <rdar://problem/5093862>
2559 Nothing shown in plugin area when trying to play content using the DivX plugin
2561 Defer calling SetWindow for the DivX plugin, just like we do with the WMP plugin.
2563 * plugins/win/PluginViewWin.cpp:
2564 (WebCore::PluginViewWin::determineQuirks):
2566 2007-07-03 Sam Weinig <sam@webkit.org>
2568 Reviewed by Brady Eidson.
2570 Ninth round of fixes for implicit 64-32 bit conversion errors.
2571 <rdar://problem/5292262>
2573 - Fix function signature to use unsigned long instead of unsigned long long.
2575 * loader/ProgressTracker.cpp:
2576 (WebCore::ProgressTracker::completeProgress):
2577 * loader/ProgressTracker.h:
2579 2007-07-03 Sam Weinig <sam@webkit.org>
2583 Eighth round of fixes for implicit 64-32 bit conversion errors.
2584 <rdar://problem/5292262>
2586 - Convert SVG implementation files to use floats instead of doubles
2587 to match the spec/IDLs.
2589 * bindings/scripts/CodeGeneratorJS.pm:
2590 * ksvg2/svg/SVGAngle.cpp:
2591 * ksvg2/svg/SVGAnimatedTemplate.h:
2592 * ksvg2/svg/SVGAnimationElement.cpp:
2593 (WebCore::SVGAnimationElement::getEndTime):
2594 (WebCore::SVGAnimationElement::getStartTime):
2595 (WebCore::SVGAnimationElement::getCurrentTime):
2596 (WebCore::SVGAnimationElement::getSimpleDuration):
2597 * ksvg2/svg/SVGAnimationElement.h:
2598 * ksvg2/svg/SVGFitToViewBox.cpp:
2599 (WebCore::SVGFitToViewBox::parseViewBox):
2600 * ksvg2/svg/SVGLength.cpp:
2601 (WebCore::SVGLength::setValueAsString):
2602 * ksvg2/svg/SVGLinearGradientElement.cpp:
2603 (WebCore::SVGLinearGradientElement::buildGradient):
2604 * ksvg2/svg/SVGMatrix.idl:
2605 * ksvg2/svg/SVGNumber.idl:
2606 * ksvg2/svg/SVGParserUtilities.cpp:
2607 (WebCore::SVGPathParser::parseSVG):
2608 (WebCore::SVGPathParser::calculateArc):
2609 (WebCore::SVGPathParser::svgLineToHorizontal):
2610 (WebCore::SVGPathParser::svgLineToVertical):
2611 (WebCore::SVGPathParser::svgCurveToCubicSmooth):
2612 (WebCore::SVGPathParser::svgCurveToQuadratic):
2613 (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
2614 (WebCore::SVGPathParser::svgArcTo):
2615 * ksvg2/svg/SVGParserUtilities.h:
2616 * ksvg2/svg/SVGPathElement.cpp:
2617 (WebCore::SVGPathElement::SVGPathElement):
2618 (WebCore::SVGPathElement::getTotalLength):
2619 (WebCore::SVGPathElement::getPointAtLength):
2620 (WebCore::SVGPathElement::getPathSegAtLength):
2621 (WebCore::SVGPathElement::createSVGPathSegMovetoAbs):
2622 (WebCore::SVGPathElement::createSVGPathSegMovetoRel):
2623 (WebCore::SVGPathElement::createSVGPathSegLinetoAbs):
2624 (WebCore::SVGPathElement::createSVGPathSegLinetoRel):
2625 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicAbs):
2626 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicRel):
2627 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticAbs):
2628 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticRel):
2629 (WebCore::SVGPathElement::createSVGPathSegArcAbs):
2630 (WebCore::SVGPathElement::createSVGPathSegArcRel):
2631 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalAbs):
2632 (WebCore::SVGPathElement::createSVGPathSegLinetoHorizontalRel):
2633 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalAbs):
2634 (WebCore::SVGPathElement::createSVGPathSegLinetoVerticalRel):
2635 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothAbs):
2636 (WebCore::SVGPathElement::createSVGPathSegCurvetoCubicSmoothRel):
2637 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothAbs):
2638 (WebCore::SVGPathElement::createSVGPathSegCurvetoQuadraticSmoothRel):
2639 (WebCore::SVGPathElement::svgMoveTo):
2640 (WebCore::SVGPathElement::svgLineTo):
2641 (WebCore::SVGPathElement::svgLineToHorizontal):
2642 (WebCore::SVGPathElement::svgLineToVertical):
2643 (WebCore::SVGPathElement::svgCurveToCubic):
2644 (WebCore::SVGPathElement::svgCurveToCubicSmooth):
2645 (WebCore::SVGPathElement::svgCurveToQuadratic):
2646 (WebCore::SVGPathElement::svgCurveToQuadraticSmooth):
2647 (WebCore::SVGPathElement::svgArcTo):
2648 (WebCore::SVGPathElement::parseMappedAttribute):
2649 * ksvg2/svg/SVGPathElement.h:
2650 * ksvg2/svg/SVGPathSegArc.cpp:
2651 (WebCore::SVGPathSegArcAbs::SVGPathSegArcAbs):
2652 (WebCore::SVGPathSegArcAbs::setX):
2653 (WebCore::SVGPathSegArcAbs::x):
2654 (WebCore::SVGPathSegArcAbs::setY):
2655 (WebCore::SVGPathSegArcAbs::y):
2656 (WebCore::SVGPathSegArcAbs::setR1):
2657 (WebCore::SVGPathSegArcAbs::r1):
2658 (WebCore::SVGPathSegArcAbs::setR2):
2659 (WebCore::SVGPathSegArcAbs::r2):
2660 (WebCore::SVGPathSegArcAbs::setAngle):
2661 (WebCore::SVGPathSegArcAbs::angle):
2662 (WebCore::SVGPathSegArcRel::SVGPathSegArcRel):
2663 (WebCore::SVGPathSegArcRel::setX):
2664 (WebCore::SVGPathSegArcRel::x):
2665 (WebCore::SVGPathSegArcRel::setY):
2666 (WebCore::SVGPathSegArcRel::y):
2667 (WebCore::SVGPathSegArcRel::setR1):
2668 (WebCore::SVGPathSegArcRel::r1):
2669 (WebCore::SVGPathSegArcRel::setR2):
2670 (WebCore::SVGPathSegArcRel::r2):
2671 (WebCore::SVGPathSegArcRel::setAngle):
2672 (WebCore::SVGPathSegArcRel::angle):
2673 * ksvg2/svg/SVGPathSegArc.h:
2674 * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
2675 (WebCore::SVGPathSegCurvetoCubicAbs::SVGPathSegCurvetoCubicAbs):
2676 (WebCore::SVGPathSegCurvetoCubicAbs::setX):
2677 (WebCore::SVGPathSegCurvetoCubicAbs::x):
2678 (WebCore::SVGPathSegCurvetoCubicAbs::setY):
2679 (WebCore::SVGPathSegCurvetoCubicAbs::y):
2680 (WebCore::SVGPathSegCurvetoCubicAbs::setX1):
2681 (WebCore::SVGPathSegCurvetoCubicAbs::x1):
2682 (WebCore::SVGPathSegCurvetoCubicAbs::setY1):
2683 (WebCore::SVGPathSegCurvetoCubicAbs::y1):
2684 (WebCore::SVGPathSegCurvetoCubicAbs::setX2):
2685 (WebCore::SVGPathSegCurvetoCubicAbs::x2):
2686 (WebCore::SVGPathSegCurvetoCubicAbs::setY2):
2687 (WebCore::SVGPathSegCurvetoCubicAbs::y2):
2688 (WebCore::SVGPathSegCurvetoCubicRel::SVGPathSegCurvetoCubicRel):
2689 (WebCore::SVGPathSegCurvetoCubicRel::setX):
2690 (WebCore::SVGPathSegCurvetoCubicRel::x):
2691 (WebCore::SVGPathSegCurvetoCubicRel::setY):
2692 (WebCore::SVGPathSegCurvetoCubicRel::y):
2693 (WebCore::SVGPathSegCurvetoCubicRel::setX1):
2694 (WebCore::SVGPathSegCurvetoCubicRel::x1):
2695 (WebCore::SVGPathSegCurvetoCubicRel::setY1):
2696 (WebCore::SVGPathSegCurvetoCubicRel::y1):
2697 (WebCore::SVGPathSegCurvetoCubicRel::setX2):
2698 (WebCore::SVGPathSegCurvetoCubicRel::x2):
2699 (WebCore::SVGPathSegCurvetoCubicRel::setY2):
2700 (WebCore::SVGPathSegCurvetoCubicRel::y2):
2701 * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2702 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
2703 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::SVGPathSegCurvetoCubicSmoothAbs):
2704 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX):
2705 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x):
2706 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY):
2707 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y):
2708 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setX2):
2709 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::x2):
2710 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::setY2):
2711 (WebCore::SVGPathSegCurvetoCubicSmoothAbs::y2):
2712 (WebCore::SVGPathSegCurvetoCubicSmoothRel::SVGPathSegCurvetoCubicSmoothRel):
2713 (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX):
2714 (WebCore::SVGPathSegCurvetoCubicSmoothRel::x):
2715 (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY):
2716 (WebCore::SVGPathSegCurvetoCubicSmoothRel::y):
2717 (WebCore::SVGPathSegCurvetoCubicSmoothRel::setX2):
2718 (WebCore::SVGPathSegCurvetoCubicSmoothRel::x2):
2719 (WebCore::SVGPathSegCurvetoCubicSmoothRel::setY2):
2720 (WebCore::SVGPathSegCurvetoCubicSmoothRel::y2):
2721 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2722 * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
2723 (WebCore::SVGPathSegCurvetoQuadraticAbs::SVGPathSegCurvetoQuadraticAbs):
2724 (WebCore::SVGPathSegCurvetoQuadraticAbs::setX):
2725 (WebCore::SVGPathSegCurvetoQuadraticAbs::x):
2726 (WebCore::SVGPathSegCurvetoQuadraticAbs::setY):
2727 (WebCore::SVGPathSegCurvetoQuadraticAbs::y):
2728 (WebCore::SVGPathSegCurvetoQuadraticAbs::setX1):
2729 (WebCore::SVGPathSegCurvetoQuadraticAbs::x1):
2730 (WebCore::SVGPathSegCurvetoQuadraticAbs::setY1):
2731 (WebCore::SVGPathSegCurvetoQuadraticAbs::y1):
2732 (WebCore::SVGPathSegCurvetoQuadraticRel::SVGPathSegCurvetoQuadraticRel):
2733 (WebCore::SVGPathSegCurvetoQuadraticRel::setX):
2734 (WebCore::SVGPathSegCurvetoQuadraticRel::x):
2735 (WebCore::SVGPathSegCurvetoQuadraticRel::setY):
2736 (WebCore::SVGPathSegCurvetoQuadraticRel::y):
2737 (WebCore::SVGPathSegCurvetoQuadraticRel::setX1):
2738 (WebCore::SVGPathSegCurvetoQuadraticRel::x1):
2739 (WebCore::SVGPathSegCurvetoQuadraticRel::setY1):
2740 (WebCore::SVGPathSegCurvetoQuadraticRel::y1):
2741 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2742 (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
2743 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
2744 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::SVGPathSegCurvetoQuadraticSmoothAbs):
2745 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setX):
2746 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::x):
2747 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::setY):
2748 (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::y):
2749 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::SVGPathSegCurvetoQuadraticSmoothRel):
2750 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setX):
2751 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::x):
2752 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::setY):
2753 (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::y):
2754 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2755 * ksvg2/svg/SVGPathSegLineto.cpp:
2756 (WebCore::SVGPathSegLinetoAbs::SVGPathSegLinetoAbs):
2757 (WebCore::SVGPathSegLinetoAbs::setX):
2758 (WebCore::SVGPathSegLinetoAbs::x):
2759 (WebCore::SVGPathSegLinetoAbs::setY):
2760 (WebCore::SVGPathSegLinetoAbs::y):
2761 (WebCore::SVGPathSegLinetoRel::SVGPathSegLinetoRel):
2762 (WebCore::SVGPathSegLinetoRel::setX):
2763 (WebCore::SVGPathSegLinetoRel::x):
2764 (WebCore::SVGPathSegLinetoRel::setY):
2765 (WebCore::SVGPathSegLinetoRel::y):
2766 * ksvg2/svg/SVGPathSegLineto.h:
2767 * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
2768 (WebCore::SVGPathSegLinetoHorizontalAbs::SVGPathSegLinetoHorizontalAbs):
2769 (WebCore::SVGPathSegLinetoHorizontalAbs::setX):
2770 (WebCore::SVGPathSegLinetoHorizontalAbs::x):
2771 (WebCore::SVGPathSegLinetoHorizontalRel::SVGPathSegLinetoHorizontalRel):
2772 (WebCore::SVGPathSegLinetoHorizontalRel::setX):
2773 (WebCore::SVGPathSegLinetoHorizontalRel::x):
2774 * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2775 * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
2776 (WebCore::SVGPathSegLinetoVerticalAbs::SVGPathSegLinetoVerticalAbs):
2777 (WebCore::SVGPathSegLinetoVerticalAbs::setY):
2778 (WebCore::SVGPathSegLinetoVerticalAbs::y):
2779 (WebCore::SVGPathSegLinetoVerticalRel::SVGPathSegLinetoVerticalRel):
2780 (WebCore::SVGPathSegLinetoVerticalRel::setY):
2781 (WebCore::SVGPathSegLinetoVerticalRel::y):
2782 * ksvg2/svg/SVGPathSegLinetoVertical.h:
2783 * ksvg2/svg/SVGPathSegList.cpp:
2784 (WebCore::SVGPathSegList::getPathSegAtLength):
2785 * ksvg2/svg/SVGPathSegList.h:
2786 * ksvg2/svg/SVGPathSegMoveto.cpp:
2787 (WebCore::SVGPathSegMovetoAbs::SVGPathSegMovetoAbs):
2788 (WebCore::SVGPathSegMovetoAbs::setX):
2789 (WebCore::SVGPathSegMovetoAbs::x):
2790 (WebCore::SVGPathSegMovetoAbs::setY):
2791 (WebCore::SVGPathSegMovetoAbs::y):
2792 (WebCore::SVGPathSegMovetoRel::SVGPathSegMovetoRel):
2793 (WebCore::SVGPathSegMovetoRel::setX):
2794 (WebCore::SVGPathSegMovetoRel::x):
2795 (WebCore::SVGPathSegMovetoRel::setY):
2796 (WebCore::SVGPathSegMovetoRel::y):
2797 * ksvg2/svg/SVGPathSegMoveto.h:
2798 * ksvg2/svg/SVGPolyElement.cpp:
2799 (WebCore::SVGPolyElement::svgPolyTo):
2800 * ksvg2/svg/SVGRadialGradientElement.cpp:
2801 (WebCore::SVGRadialGradientElement::buildGradient):
2802 * ksvg2/svg/SVGSVGElement.cpp:
2803 (WebCore::SVGSVGElement::viewport):
2804 (WebCore::SVGSVGElement::getCurrentTime):
2805 * ksvg2/svg/SVGStopElement.cpp:
2806 (WebCore::SVGStopElement::SVGStopElement):
2807 (WebCore::SVGStopElement::parseMappedAttribute):
2808 * ksvg2/svg/SVGStopElement.h:
2809 * ksvg2/svg/SVGTransform.cpp:
2810 (SVGTransform::translate):
2811 (SVGTransform::scale):
2812 * ksvg2/svg/SVGTransformDistance.cpp:
2813 (WebCore::SVGTransformDistance::addToSVGTransform):
2814 (WebCore::SVGTransformDistance::distance):
2815 * ksvg2/svg/SVGTransformable.cpp:
2816 (WebCore::SVGTransformable::parseTransformAttribute):
2818 2007-07-03 Anders Carlsson <andersca@apple.com>
2822 <rdar://problem/5289718>
2823 http://bugs.webkit.org/show_bug.cgi?id=14437
2824 CrashTracer: [REGRESSION] 76 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 6 (14437)
2826 Based on a patch from Maxime Britto.
2828 * page/mac/WebCoreFrameBridge.mm:
2829 (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2830 If the script caused the frame to go away, return nil. This can only happen if a plugin in a subframe destroys
2833 (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
2834 ASSERT that this is only called on the main frame.
2836 2007-07-03 John Sullivan <sullivan@apple.com>
2838 Written by Darin, reviewed by me
2840 - fixed <rdar://problem/5249730> REGRESSION (Leopard, around 9A464): Safari opens the same local
2841 documents more than once due to canonicalization change
2843 * loader/mac/LoaderNSURLExtras.m:
2845 pass URL through KURL so we get KURL's version of canonicalization as well as
2846 NSURLProtocol's version of canonicalization
2848 2007-07-03 Sam Weinig <sam@webkit.org>
2852 Seventh round of fixes for implicit 64-32 bit conversion errors.
2853 <rdar://problem/5292262>
2855 - Adds more narrowPrecision functions to FloatPoint, FloatSize and FloatRect.
2856 - Changes over more implicit conversions to use new functions.
2858 * bindings/js/kjs_window.cpp:
2859 (KJS::WindowFunc::callAsFunction):
2860 * platform/graphics/FloatPoint.cpp:
2861 (WebCore::FloatPoint::matrixTransform):
2862 (WebCore::FloatPoint::narrowPrecision):
2863 * platform/graphics/FloatPoint.h:
2864 * platform/graphics/FloatRect.cpp:
2865 (WebCore::FloatRect::narrowPrecision):
2866 * platform/graphics/FloatRect.h:
2867 * platform/graphics/FloatSize.cpp:
2868 (WebCore::FloatSize::narrowPrecision):
2869 * platform/graphics/FloatSize.h:
2870 * platform/graphics/Path.cpp:
2871 (WebCore::Path::createRoundedRectangle):
2872 (WebCore::Path::createRectangle):
2873 (WebCore::Path::createEllipse):
2874 * platform/graphics/mac/ColorMac.mm:
2876 * platform/graphics/mac/IconMac.mm:
2877 (WebCore::Icon::paint):
2878 * platform/graphics/svg/cg/CgSupport.cpp:
2879 (WebCore::applyStrokeStyleToContext):
2880 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
2881 (WebCore::CGShadingRefForRadialGradient):
2882 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
2883 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
2884 * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
2885 (WebCore::applyLuminanceToAlphaFilter):
2886 (WebCore::applyExpandAlphatoGrayscaleFilter):
2887 (WebCore::transformImageIntoGrayscaleMask):
2888 * platform/mac/WebCoreTextRenderer.mm:
2889 (WebCoreDrawTextAtPoint):
2890 * rendering/RenderPath.cpp:
2891 (WebCore::RenderPath::mapAbsolutePointToLocal):
2892 * rendering/RenderSVGContainer.cpp:
2893 (WebCore::RenderSVGContainer::calcViewport):
2894 * rendering/RenderSVGImage.cpp:
2895 (WebCore::RenderSVGImage::nodeAtPoint):
2896 * rendering/RenderSVGText.cpp:
2897 (WebCore::RenderSVGText::relativeBBox):
2899 2007-07-03 Anders Carlsson <andersca@apple.com>
2903 <rdar://problem/5261523>
2904 Crash playing MP11 on cnbc.com
2906 The WMP Netscape plugin still creates a window even when windowless mode is turned on. Work around this by
2907 always removing the "windowlessvideo" parameter before passing it to the plugin.
2908 According to http://msdn2.microsoft.com/en-us/library/bb249373.aspx, "The windowlessVideo property is not
2909 supported for Netscape Navigator. Setting a value for this property in Navigator may yield unexpected results."
2911 * plugins/win/PluginViewWin.cpp:
2912 (WebCore::PluginViewWndProc):
2913 (WebCore::PluginViewWin::paint):
2914 (WebCore::PluginViewWin::invalidateRect):
2915 (WebCore::PluginViewWin::determineQuirks):
2916 (WebCore::PluginViewWin::setParameters):
2917 (WebCore::PluginViewWin::PluginViewWin):
2918 (WebCore::PluginViewWin::init):
2919 * plugins/win/PluginViewWin.h:
2922 2007-07-03 Qing Zhao <qing@staikos.net>
2924 Reviewed by George Staikos.
2926 Only draw sunken state for appropriate widgets. Not, for example, for
2929 * platform/qt/RenderThemeQt.cpp:
2930 (WebCore::RenderThemeQt::applyTheme):
2932 2007-07-03 Antti Koivisto <antti@apple.com>
2936 REGRESSION: misplaced selection ring remains after link is no longer focused.
2937 <rdar://problem/5205580>
2939 Fix placement of selection ring when part of the ring is in a different layer.
2941 * rendering/RenderFlow.cpp:
2942 (WebCore::RenderFlow::addFocusRingRects): Get coordinates right when moving to a different layer.
2943 * rendering/RenderObject.cpp:
2944 (WebCore::RenderObject::setStyle):
2945 Don't reset state variables when not necessary. When repaint() was called at the end of setSyle() it would
2946 get repaint rects wrong in some cases.
2948 2007-07-03 Antti Koivisto <antti@apple.com>
2952 Blind fix for CrashTracer: [USER] 25 crashes in Safari at com.apple.WebCore: WebCore::Frame::document const + 6
2953 <rdar://problem/5263939>
2955 No one has managed to reproduce this but it looks like null check is needed here. There are plausible ways
2956 m_frame could be null for a live FrameView object.
2958 * page/FrameView.cpp:
2959 (WebCore::FrameView::needsLayout):
2961 2007-07-02 Oliver Hunt <oliver@apple.com>
2965 Fix for <rdar://problem/5098378> single-pixel image optimization needs to be rewritten to not depend on floating point bitmap
2966 Tested by fast/replaced/image-solid-color-with-alpha.html
2968 Switch from float to byte based bitmap when pulling the color from 1x1 pixel images so
2969 that we can use the single pixel image optimisation in WebKit/win.
2971 * platform/graphics/cg/ImageCG.cpp:
2972 (WebCore::BitmapImage::checkForSolidColor):
2974 2007-07-02 Adam Roben <aroben@apple.com>
2976 Fix Bug 14498: RenderContainer::positionForCoordinates contains an order of operations error
2977 http://bugs.webkit.org/show_bug.cgi?id=14498
2979 There were two bugs:
2980 1) xPos/yPos were flipped
2981 2) + binds tighter than ?:, so the order of operations was incorrect
2985 Test: fast/inline-block/14498-positionForCoordinates.html
2987 * rendering/RenderContainer.cpp:
2988 (WebCore::RenderContainer::positionForCoordinates):
2990 2007-07-02 Darin Adler <darin@apple.com>
2992 Reviewed by Kevin Decker and Tim Hatcher.
2994 - fix <rdar://problem/5307906> some classes need finalize methods because
2995 of non-trivial work done in dealloc methods
2997 * bindings/objc/DOMRGBColor.mm:
2998 (+[DOMRGBColor initialize]): Added. Tells finalizer to run on main thread,
2999 which is needed because we are sharing a CFDictionary here with no locking.
3001 * bridge/mac/WebCoreAXObject.mm:
3002 (+[WebCoreAXObject initialize]): Added. Tells finalizer to run on main thread.
3003 (-[WebCoreAXObject finalize]): Added. Calls detach.
3005 * WebCore.xcodeproj/project.pbxproj: Let Xcode do what it wants to do.
3007 2007-07-02 Sam Weinig <sam@webkit.org>
3011 Sixth round of fixes for implicit 64-32 bit conversion errors.
3012 <rdar://problem/5292262>
3014 Use new narrowPrecisionToFloat() and narrowPrecisionToCGFloat() where
3017 * html/CanvasRenderingContext2D.cpp:
3018 (WebCore::CanvasRenderingContext2D::setShadow):
3019 (WebCore::CanvasRenderingContext2D::applyShadow):
3020 * html/CanvasStyle.cpp:
3021 (WebCore::CanvasStyle::applyStrokeColor):
3022 (WebCore::CanvasStyle::applyFillColor):
3023 * ksvg2/svg/SVGAngle.cpp:
3024 * ksvg2/svg/SVGAnimationElement.cpp:
3025 (WebCore::SVGAnimationElement::parseKeyNumbers):
3026 (WebCore::parseKeySplines):
3027 (WebCore::SVGAnimationElement::handleTimerEvent):
3028 (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds):
3029 * ksvg2/svg/SVGPatternElement.cpp:
3030 (WebCore::SVGPatternElement::buildPattern):
3031 * ksvg2/svg/SVGRadialGradientElement.cpp:
3032 (WebCore::SVGRadialGradientElement::buildGradient):
3033 * platform/graphics/cg/AffineTransformCG.cpp:
3034 (WebCore::AffineTransform::AffineTransform):
3035 (WebCore::AffineTransform::setMatrix):
3036 (WebCore::AffineTransform::map):
3037 (WebCore::AffineTransform::setA):
3038 (WebCore::AffineTransform::setB):
3039 (WebCore::AffineTransform::setC):
3040 (WebCore::AffineTransform::setD):
3041 (WebCore::AffineTransform::setE):
3042 (WebCore::AffineTransform::setF):
3043 (WebCore::AffineTransform::scale):
3044 (WebCore::AffineTransform::rotate):
3045 (WebCore::AffineTransform::translate):
3046 (WebCore::AffineTransform::shear):
3048 2007-07-02 John Sullivan <sullivan@apple.com>
3050 * page/mac/WebCoreFrameBridge.mm:
3051 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
3054 2007-07-02 Sam Weinig <sam@webkit.org>
3056 Rubberstamped by Darin.
3058 Rename FloatConversionUtilities.h to FloatConversion.h.
3061 * WebCore.vcproj/WebCore.vcproj:
3062 * WebCore.xcodeproj/project.pbxproj:
3063 * platform/DeprecatedString.cpp:
3064 * platform/FloatConversion.h: Copied from platform/FloatConversionUtilities.h.
3065 * platform/FloatConversionUtilities.h: Removed.
3066 * platform/StringImpl.cpp:
3068 2007-07-02 Sam Weinig <sam@webkit.org>
3072 Fifth round of fixes for implicit 64-32 bit conversion errors.
3073 <rdar://problem/5292262>
3075 Add toFloat() method to string classes and use it where appropriate.
3077 * WebCore.xcodeproj/project.pbxproj:
3078 * css/cssparser.cpp:
3079 (WebCore::CSSParser::lex):
3080 * ksvg2/svg/SVGAngle.cpp:
3081 (WebCore::SVGAngle::setValueAsString):
3082 * platform/AtomicString.h:
3083 (WebCore::AtomicString::toFloat):
3084 * platform/DeprecatedString.cpp:
3085 (WebCore::DeprecatedString::toFloat):
3086 * platform/DeprecatedString.h:
3087 * platform/FloatConversionUtilities.h: Added.
3088 (WebCore::narrowPrecisionToFloat):
3089 (WebCore::narrowPrecisionToCGFloat):
3090 * platform/PlatformString.h:
3091 * platform/String.cpp:
3092 (WebCore::String::toFloat):
3093 * platform/StringImpl.cpp:
3094 (WebCore::StringImpl::toFloat):
3095 * platform/StringImpl.h:
3097 2007-07-02 Sam Weinig <sam@webkit.org>
3099 Reviewed by Kevin McCullough.
3101 Fourth round of fixes for implicit 64-32 bit conversion errors.
3102 <rdar://problem/5292262>
3104 Use new piDouble and piFloat constants instead of M_PI.
3106 * html/CanvasRenderingContext2D.cpp:
3107 (WebCore::CanvasRenderingContext2D::rotate):
3108 * ksvg2/svg/SVGParserUtilities.cpp:
3109 (WebCore::SVGPathParser::calculateArc):
3110 * platform/graphics/Path.cpp:
3111 (WebCore::pathLengthApplierFunction):
3112 (WebCore::Path::createEllipse):
3113 * platform/graphics/cg/GraphicsContextCG.cpp:
3114 (WebCore::GraphicsContext::drawEllipse):
3115 (WebCore::GraphicsContext::strokeArc):
3116 * platform/graphics/cg/PDFDocumentImage.cpp:
3117 (WebCore::PDFDocumentImage::setCurrentPage):
3118 * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
3119 * rendering/RenderPath.cpp:
3120 (WebCore::drawMarkerWithData):
3122 2007-07-01 Adam Roben <aroben@apple.com>
3124 Clarify/fix {Shadow,BorderImage}ParseContext's memory management
3126 Prefast emitted warnings that drew my attention to
3127 {Shadow,BorderImage}ParseContext::failed(). It turned out that these
3128 methods were actually correct, but rather confusing. "failed" really
3129 meant "abort and clean up" rather than "did you fail?", which was
3130 unclear. However, once I figured that out, the "and clean up" part was
3131 still a bit confusing, because all failed() did was to set a flag that
3132 would later cause the ParseContext's members to be deleted in the
3133 destructor. To clear this up, I've gotten rid of the failed() method
3134 altogether. It always returned false, so I've replaced all calls to
3135 it with the value false.
3137 I also noticed that the lifetime management of the ParseContexts'
3138 members was in all cases confusing, and in some cases wrong. The
3139 m_border{Top,Right,Bottom,Left} members of BorderImageParseContext
3140 were leaked whenever a border-image property was successfully parsed.
3141 I fixed that by holding these members in OwnPtrs. The
3142 CSSPrimitiveValue members of {Shadow,BorderImage}ParseContext, which
3143 inherit from Shared, were being explicitly deleted, which is not a
3144 safe way to manage the lifetime of objects that inherit from Shared.
3145 To fix this, I put those members inside RefPtrs. These two changes
3146 allowed me to remove the destructors entirely.
3150 All regression tests pass.
3152 * css/cssparser.cpp:
3153 (WebCore::ShadowParseContext::commitValue): Use .release() to avoid
3155 (WebCore::ShadowParseContext::commitLength): Use a RefPtr for the new
3156 value to avoid a leak.
3157 (WebCore::CSSParser::parseShadow): Use 'false' instead of
3158 'context.failed()', and use .release() to avoid ref-count churn.
3159 (WebCore::BorderImageParseContext::commitWidth): Updated to use
3161 (WebCore::CSSParser::parseBorderImage): Use 'false' instead of
3164 2007-07-01 Anders Carlsson <andersca@apple.com>
3166 Reviewed by John Sullivan.
3168 <rdar://problem/5297146>
3169 Crash in Mail at WebCore::Frame::setUserStyleSheetLocation (reproducible w/ particular message)
3172 (WebCore::Cache::requestResource):
3173 Only insert the resource in the LRU list if the cache is enabled.
3175 (WebCore::Cache::insertInLRUList):
3176 (WebCore::Cache::resourceAccessed):
3177 Assert that the resource is in the cache.
3179 2007-07-01 Darin Adler <darin@apple.com>
3181 * css/tokenizer.flex: Rolled out the fix for 14453.
3182 The layout test wasn't passing. We'll try again.
3184 2007-07-01 Adam Roben <aroben@apple.com>
3186 Fix a crash in ~PluginViewWin()
3188 This crash was introduced in r23827.
3192 Fixes dom/html/level2/html/HTMLAnchorElement01.html
3194 * plugins/win/PluginViewWin.cpp:
3195 (WebCore::PluginViewWin::~PluginViewWin): Allow m_plugin to be null.
3197 2007-07-01 Rob Buis <buis@kde.org>
3201 http://bugs.webkit.org/show_bug.cgi?id=14453
3202 REGRESSION: www.nzherald.co.nz almost all the formating is gone
3204 * css/tokenizer.flex: Allow hex colors with 2, 4, or 5 hex digits.
3206 2007-07-01 Sam Weinig <sam@webkit.org>
3210 Third round of implicit 64-32 bit conversion errors fixes.
3211 <rdar://problem/5292262>
3213 - Use new CSSPrimitiveValue::getDoubleValue() and CSSPrimitiveValue::getIntValue()
3214 methods instead of CSSPrimitiveValue::getFloatValue() where appropriate.
3216 * css/CSSPrimitiveValue.cpp:
3217 (WebCore::CSSPrimitiveValue::computeLengthInt):
3218 (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
3219 (WebCore::CSSPrimitiveValue::computeLengthShort):
3220 (WebCore::CSSPrimitiveValue::computeLengthFloat):
3221 (WebCore::CSSPrimitiveValue::computeLengthDouble):
3222 (WebCore::CSSPrimitiveValue::getDoubleValue):
3223 * css/CSSPrimitiveValue.h:
3224 (WebCore::CSSPrimitiveValue::getDoubleValue):
3225 (WebCore::CSSPrimitiveValue::getFloatValue):
3226 (WebCore::CSSPrimitiveValue::getIntValue):
3228 (WebCore::Counter::listStyleNumber):
3229 * css/MediaQueryEvaluator.cpp:
3230 (WebCore::parseAspectRatio):
3231 * css/cssparser.cpp:
3232 (WebCore::BorderImageParseContext::commitBorderImage):
3233 * css/cssstyleselector.cpp:
3234 (WebCore::convertToLength):
3235 (WebCore::applyCounterList):
3236 (WebCore::CSSStyleSelector::applyProperty):
3237 (WebCore::CSSStyleSelector::mapBackgroundSize):
3238 (WebCore::CSSStyleSelector::mapBackgroundXPosition):
3239 (WebCore::CSSStyleSelector::mapBackgroundYPosition):
3240 * html/HTMLTableElement.cpp:
3241 (WebCore::HTMLTableElement::parseMappedAttribute):
3242 * ksvg2/css/SVGCSSStyleSelector.cpp:
3243 (WebCore::CSSStyleSelector::applySVGProperty):
3244 * ksvg2/misc/KCanvasRenderingStyle.cpp:
3245 (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
3246 (WebCore::KSVGPainterFactory::dashArrayFromRenderingStyle):
3248 2007-07-01 Pamela Greene <pamg.bugs@gmail.com>
3252 Fix for <http://bugs.webkit.org/show_bug.cgi?id=14320>
3253 Bug 14320: <canvas> gradient stops at identical offsets are applied in the wrong order
3254 <rdar://problem/5290084>
3256 Use std::stable_sort() instead of qsort() to sort gradient stops.
3257 Adjust the comparison function accordingly.
3259 * html/CanvasGradient.cpp:
3260 (WebCore::compareStops):
3261 (WebCore::CanvasGradient::findStop):
3263 2007-07-01 Holger Hans Peter Freyther <zecke@selfish.org>
3267 m_usesPageCache was not initialized. As the b/f cache is only
3268 implemented in the Mac port and WebView.mm is taking care of calling
3269 Settings::setUsesPageCache I decided to make it false by default.
3271 * page/Settings.cpp:
3272 (WebCore::Settings::Settings): m_usesPageCache was not initialized
3274 2007-07-01 Holger Hans Peter Freyther <zecke@selfish.org>
3278 Inherited- and NonInheritedFlags is a bit field. But for comparsion
3279 the other part of the union _iflags/_niflags is used for comparions.
3280 This will compare 5 uninitialized bits of _iflags and 22 of _niflags.
3281 Make sure the unused bits have a specified value.
3283 * ksvg2/css/SVGRenderStyle.h:
3284 (WebCore::SVGRenderStyle::setBitDefaults): Make sure the unused bits
3285 have a value as well.
3287 2007-06-30 Adam Roben <aroben@apple.com>
3289 Compile WebCore with /W4 on Windows
3291 Some more warnings were disabled globally, including assignment within
3292 a conditional, unused variable, and various warnings related to
3293 inability to instantiate opaque structs.
3295 In addition, the "unreachable code" warning was turned off for
3296 CSSGrammar.cpp and XPathGrammar.cpp.
3300 * WebCore.vcproj/WebCore.vcproj:
3302 2007-06-29 Adam Roben <aroben@apple.com>
3304 Give CString an equality operator to fix a bug in HTMLFormElement::formData
3306 The bug was spotted by MSVC /W4. The problem was that we were comparing
3307 a CString to a char* using ==, but CString had no equality operator.
3308 The result was that the CString was being cast to a const char* and a
3309 pointer comparison was being done, which would (essentially) always
3312 There are two parts to the fix: get rid of CString's const char*
3313 casting operator, and add an equality operator. Previous uses of the
3314 casting operator have been changed to use CString::data().
3316 Test: http/misc/isindex-formdata.html
3320 * dom/XMLTokenizer.cpp:
3321 (WebCore::parseXMLDocumentFragment):
3322 * html/HTMLDocument.cpp:
3323 (WebCore::HTMLDocument::determineParseMode):
3324 * html/HTMLFormElement.cpp:
3325 (WebCore::HTMLFormElement::formData):
3326 * loader/TextResourceDecoder.cpp:
3327 (WebCore::TextResourceDecoder::checkForCSSCharset):
3328 * platform/CString.cpp:
3329 (WebCore::operator==):
3330 * platform/CString.h:
3331 * platform/KURL.cpp:
3332 (WebCore::encodeRelativeString):
3333 * platform/StringImpl.cpp:
3334 (WebCore::StringImpl::toDouble):
3335 * platform/network/cf/FormDataStreamCFNet.cpp:
3336 (WebCore::setHTTPBody):
3337 * platform/network/mac/FormDataStreamMac.mm:
3338 (WebCore::setHTTPBody):
3339 * platform/win/ClipboardUtilitiesWin.cpp:
3340 (WebCore::markupToCF_HTML):
3341 * plugins/win/PluginPackageWin.cpp:
3342 (WebCore::splitString):
3343 * plugins/win/PluginStreamWin.cpp:
3344 (WebCore::PluginStreamWin::startStream):
3345 (WebCore::PluginStreamWin::destroyStream):
3346 (WebCore::PluginStreamWin::sendJavaScriptStream):
3347 (WebCore::PluginStreamWin::didFinishLoading):
3348 * plugins/win/PluginViewWin.cpp:
3349 (WebCore::PluginViewWin::start):
3350 (WebCore::createUTF8String):
3351 (WebCore::PluginViewWin::userAgent):
3352 * xml/XSLStyleSheet.cpp:
3353 (WebCore::XSLStyleSheet::locateStylesheetSubResource):
3354 * xml/XSLTProcessor.cpp:
3355 (WebCore::xsltParamArrayFromParameterMap):
3357 2007-06-29 Adam Roben <aroben@apple.com>
3359 Initialize two variables that MSVC /W4 isn't smart enough to realize always get initialized
3363 * editing/Editor.cpp:
3364 (WebCore::Editor::advanceToNextMisspelling):
3365 * html/HTMLParser.cpp:
3367 2007-06-29 Adam Roben <aroben@apple.com>
3369 Fix some possibly unitialized variables found by MSVC /W4
3373 * rendering/bidi.cpp:
3374 (WebCore::RenderBlock::layoutInlineChildren):
3376 2007-06-29 Adam Roben <aroben@apple.com>
3378 Remove bogus cast found by MSVC /W4
3380 Reviewed by John and Oliver.
3382 * ksvg2/css/SVGCSSParser.cpp:
3383 (WebCore::CSSParser::parseSVGValue):
3385 2007-06-29 Adam Roben <aroben@apple.com>
3387 Remove unused local functions uncovered by MSVC /W4
3389 Reviewed by John and Oliver.
3391 * platform/win/SearchPopupMenuWin.cpp:
3392 * rendering/RenderText.cpp:
3394 2007-06-29 Adam Roben <aroben@apple.com>
3396 Don't take the address of temporary values to appease MSVC /W4
3400 No regression test possible.
3402 * platform/win/PopupMenuWin.cpp:
3403 (WebCore::PopupMenu::invalidateItem):
3404 (WebCore::PopupMenu::valueChanged):
3405 (WebCore::PopupWndProc):
3406 * platform/win/ScrollViewWin.cpp:
3407 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
3408 * platform/win/UniscribeController.cpp:
3409 (WebCore::UniscribeController::shapeAndPlaceItem):
3410 * platform/win/WidgetWin.cpp:
3411 (WebCore::Widget::invalidateRect):
3413 2007-06-29 Adam Roben <aroben@apple.com>
3415 Make an int -> UINT conversion explicit that MSVC /W4 complains about
3417 Reviewed by John and Oliver.
3419 No regression test possible.
3421 * platform/win/SoundWin.cpp:
3423 2007-06-29 Adam Roben <aroben@apple.com>
3425 Remove unreachable code uncovered by MSVC /W4
3429 No regression test possible.
3431 * html/CanvasRenderingContext2D.cpp:
3432 (WebCore::CanvasRenderingContext2D::createPattern):
3433 * html/HTMLAnchorElement.cpp:
3434 (WebCore::HTMLAnchorElement::isLiveLink):
3435 * html/HTMLElement.cpp:
3436 (WebCore::HTMLElement::contentEditable):
3437 * platform/DeprecatedString.cpp:
3438 (WebCore::allocateHandle):
3439 (WebCore::freeHandle):
3440 * plugins/win/npapi.cpp:
3441 (pluginViewForInstance):
3442 * rendering/RenderImage.cpp:
3443 (WebCore::RenderImage::isWidthSpecified):
3444 (WebCore::RenderImage::isHeightSpecified):
3445 * rendering/RenderTheme.cpp:
3446 (WebCore::RenderTheme::isControlStyled):
3448 2007-06-29 John Sullivan <sullivan@apple.com>
3450 Reviewed by Oliver Hunt.
3452 - WebCore support for accessing the set of rectangles that encompass the selected text
3456 (WebCore::Frame::selectionTextRects):
3457 new function, fills in a passed Vector with the line box rects that represent the selected range
3459 * rendering/RenderText.cpp:
3460 (WebCore::RenderText::addLineBoxRects):
3461 fixed off-by-one bug involving use of the confusing function InlineTextBox::end()
3464 exported symbol for this new function
3466 2007-06-29 Justin Garcia <justin.garcia@apple.com>
3468 Reviewed by Harrison.
3470 <rdar://problem/5299513> REGRESSION: In Mail, a crash occurs when attempting to undo a newly created To Do
3472 Rolled out a change made in r23787.
3474 * editing/DeleteSelectionCommand.cpp:
3475 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3477 2007-06-29 Geoffrey Garen <ggaren@apple.com>
3479 Reviewed by Darin Adler, Anders Carlsson.
3481 Fixed <rdar://problem/5303567> REGRESSION: XMLHttpRequest.responseXML
3482 returns NULL if response MIME type is not XML -- breaks Wikipedia widget
3484 The spec says that responseXML must return null for any HTTP response
3485 with a non-XML MIME type. Technically, that leaves non-HTTP responses
3486 free to do whatever they want.
3488 * xml/xmlhttprequest.cpp:
3489 (WebCore::XMLHttpRequest::getResponseXML): Only return null for non-XML
3490 MIME types if the response was HTTP.
3492 2007-06-29 Sam Weinig <sam@webkit.org>
3496 Second pass at fixing implicit 64-32 bit conversion errors.
3497 <rdar://problem/5292262>
3499 - Use new JSValue::toFloat() method instead of toNumber() where
3502 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3503 (WebCore::JSCanvasRenderingContext2D::setFillColor):
3504 (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
3505 (WebCore::JSCanvasRenderingContext2D::strokeRect):
3506 (WebCore::JSCanvasRenderingContext2D::drawImage):
3507 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
3508 (WebCore::JSCanvasRenderingContext2D::setShadow):
3509 * bindings/js/JSHTMLSelectElementCustom.cpp:
3510 (WebCore::JSHTMLSelectElement::remove):
3511 * bindings/js/JSSVGMatrixCustom.cpp:
3512 (WebCore::JSSVGMatrix::rotateFromVector):
3513 * bindings/js/kjs_events.cpp:
3514 (KJS::JSClipboardPrototypeFunction::callAsFunction):
3515 * bindings/scripts/CodeGeneratorJS.pm:
3516 * ksvg2/svg/SVGScriptElement.cpp:
3517 (WebCore::SVGScriptElement::executeScript):
3519 2007-06-29 Adele Peterson <adele@apple.com>
3521 Rolling out fix for <rdar://problem/5301322> since it broke layout tests.
3523 * html/HTMLInputElement.h:
3524 * html/HTMLTextAreaElement.h:
3526 2007-06-29 Geoffrey Garen <ggaren@apple.com>
3528 Reviewed by Oliver Hunt.
3530 Fixed <rdar://problem/4962298> REGRESSION: Synchronous XHR for missing
3531 local file throws exception -- breaks Wikipedia widget
3533 * WebCore.xcodeproj/project.pbxproj:
3534 * xml/xmlhttprequest.cpp:
3535 (WebCore::XMLHttpRequest::send): Don't throw exceptions for local files.
3537 2007-06-29 Ada Chan <adachan@apple.com>
3541 Fixed a previous fix to a signed/unsigned mismatch.
3543 * plugins/win/PluginPackageWin.cpp:
3544 (WebCore::splitString):
3546 2007-06-29 Adele Peterson <adele@apple.com>
3548 Reviewed by Ada and Kevin McCullough.
3550 Fix for <rdar://problem/5301322> REGRESSION: Select All selects the whole page when used in readonly textareas
3552 Implemented canSelectAll and selectAll for text fields and textareas, since they're special cases even when they're not editable.
3555 fast/forms/input-readonly-select-all.html
3556 fast/forms/textarea-readonly-select-all.html
3558 * html/HTMLInputElement.h:
3559 (WebCore::HTMLInputElement::canSelectAll):
3560 (WebCore::HTMLInputElement::selectAll):
3561 * html/HTMLTextAreaElement.h:
3562 (WebCore::HTMLTextAreaElement::canSelectAll):
3563 (WebCore::HTMLTextAreaElement::selectAll):
3565 2007-06-29 Adam Roben <aroben@apple.com>
3569 This is what happens when you test your patch on two OSs and then
3570 commit from the wrong one.
3572 * rendering/RenderTextControl.cpp:
3573 (WebCore::RenderTextControl::valueChanged):
3574 (WebCore::RenderTextControl::itemText):
3575 (WebCore::RenderTextControl::itemIsSeparator):
3577 2007-06-29 Adam Roben <aroben@apple.com>
3579 Start compiling WebCore with /W3 under MSVC
3581 One warning was globally disabled: implicit conversion of int to bool.
3585 * WebCore.vcproj/WebCore.vcproj:
3587 2007-06-29 Adam Roben <aroben@apple.com>
3589 Turn DeprecatedStringData's copy constructor into a static method to appease MSVC /W3
3591 DeprecatedStringData now has no public copy constructor. The single
3592 call to the old one has been replaced with a call to the new
3593 DeprecatedStringData::createAndAdopt static method.
3597 All regression tests pass.
3599 * platform/DeprecatedString.cpp:
3600 (WebCore::DeprecatedStringData::createAndAdopt):
3601 (WebCore::DeprecatedStringData::adopt):
3602 (WebCore::DeprecatedString::detachIfInternal):
3603 * platform/DeprecatedString.h:
3605 2007-06-29 Adam Roben <aroben@apple.com>
3607 Fix more signed/unsigned mismatches uncovered by MSVC /W3
3611 No regression tests possible.