1 2008-09-27 Anders Carlsson <andersca@apple.com>
3 Reviewed by Sam Weinig.
5 https://bugs.webkit.org/show_bug.cgi?id=21178
6 <rdar://problem/6248651>
8 Check if the plug-in is allowed to load the resource. This matches Firefox.
10 Test: http/tests/plugins/local-geturl-from-remote.html
12 * plugins/PluginView.cpp:
13 (WebCore::PluginView::load):
15 2008-09-22 Dirk Schulze <vbs85@gmx.de>
17 Reviewed by Eric Seidel.
19 Added SVG pattern support to Qt.
21 [Qt] SVG patterns are missing
22 https://bugs.webkit.org/show_bug.cgi?id=20973
24 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
25 (WebCore::SVGPaintServerPattern::setup):
27 2008-09-27 Keishi Hattori <casey.hattori@gmail.com>
29 Fixed a bug in the JS syntax highlighter with multiple line tokens.
31 https://bugs.webkit.org/show_bug.cgi?id=21171
33 Reviewed by Tim Hatcher.
35 * page/inspector/SourceFrame.js:
36 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
38 2008-09-27 Timothy Hatcher <timothy@apple.com>
40 Change searching in the Profiles panel to not match the
41 Self and Total columns when there are no units. The only
42 column that is matched for unitless number searches is
45 https://bugs.webkit.org/show_bug.cgi?id=21169
47 Reviewed by Sam Weinig.
49 * page/inspector/ProfileView.js:
50 (WebInspector.ProfileView.prototype.performSearch):
52 2008-09-27 David Hyatt <hyatt@apple.com>
54 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
56 Reviewed by Sam Weinig
58 * platform/ScrollView.h:
60 (WebCore::Widget::boundsRect):
61 (WebCore::Widget::invalidate):
62 (WebCore::Widget::frameRectsChanged):
63 * platform/gtk/ScrollViewGtk.cpp:
64 (WebCore::ScrollViewScrollbar::frameRectsChanged):
65 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
66 (WebCore::ScrollView::setFrameRect):
67 (WebCore::ScrollView::updateScrollbars):
68 (WebCore::ScrollView::frameRectsChanged):
69 * platform/gtk/ScrollbarGtk.cpp:
70 (ScrollbarGtk::setFrameRect):
71 (ScrollbarGtk::frameRectsChanged):
72 * platform/gtk/ScrollbarGtk.h:
73 * platform/gtk/WidgetGtk.cpp:
74 * platform/qt/ScrollViewQt.cpp:
75 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
76 (WebCore::ScrollView::setFrameRect):
77 (WebCore::ScrollView::frameRectsChanged):
78 (WebCore::ScrollView::updateScrollbars):
79 * platform/win/ScrollViewWin.cpp:
80 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
81 (WebCore::ScrollView::setFrameRect):
82 (WebCore::ScrollView::updateScrollbars):
83 (WebCore::ScrollView::frameRectsChanged):
84 * plugins/PluginView.cpp:
85 (WebCore::PluginView::frameRectsChanged):
86 * plugins/PluginView.h:
88 2008-09-27 Simon Hausmann <hausmann@webkit.org>
90 Refix the previous build fix to compile on non-Qt platforms, too.
92 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
93 WebCore to generate the PrototypeTable in the WebCore namespace
94 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
95 table remains in the Webcore namespace
96 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
98 2008-09-27 Simon Hausmann <hausmann@webkit.org>
100 Fix compilation with gcc 4.3 (probably > 4.0)
102 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
103 get/put functions inside the WebCore namespace.
104 * bindings/js/JSEventTargetBase.cpp: Ditto.
105 * bindings/js/JSEventTargetNode.cpp: Ditto.
106 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
107 * bindings/js/JSEventTargetBase.h: Forward declare
108 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
109 defines it in the JSC namespace.
110 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
111 prefix for PrototypeTable symbol.
113 2008-09-27 David Hyatt <hyatt@apple.com>
115 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
117 Reviewed by Dan Bernstein
120 * page/FrameView.cpp:
121 (WebCore::FrameView::FrameView):
122 (WebCore::FrameView::updateControlTints):
123 * platform/ScrollView.h:
124 * platform/Scrollbar.cpp:
125 (WebCore::Scrollbar::Scrollbar):
126 (WebCore::Scrollbar::paint):
127 (WebCore::Scrollbar::setFrameRect):
128 * platform/Scrollbar.h:
129 * platform/ScrollbarThemeComposite.cpp:
130 (WebCore::ScrollbarThemeComposite::paint):
132 (WebCore::Widget::x):
133 (WebCore::Widget::y):
134 (WebCore::Widget::width):
135 (WebCore::Widget::height):
136 (WebCore::Widget::size):
137 (WebCore::Widget::pos):
138 (WebCore::Widget::resize):
139 (WebCore::Widget::move):
140 * platform/gtk/ScrollViewGtk.cpp:
141 (WebCore::ScrollViewScrollbar::geometryChanged):
142 (WebCore::ScrollView::update):
143 (WebCore::ScrollView::setFrameRect):
144 (WebCore::ScrollView::updateScrollbars):
145 (WebCore::ScrollView::scrollbarUnderMouse):
146 (WebCore::ScrollView::paint):
147 * platform/gtk/ScrollbarGtk.cpp:
148 (ScrollbarGtk::setFrameRect):
149 (ScrollbarGtk::geometryChanged):
150 * platform/gtk/ScrollbarGtk.h:
151 * platform/gtk/WidgetGtk.cpp:
152 (WebCore::Widget::frameRect):
153 (WebCore::Widget::setFrameRect):
154 * platform/mac/ScrollbarThemeMac.mm:
155 (WebCore::ScrollbarThemeMac::trackRect):
156 (WebCore::ScrollbarThemeMac::paint):
157 * platform/mac/WidgetMac.mm:
158 (WebCore::Widget::frameRect):
159 (WebCore::Widget::setFrameRect):
160 * platform/qt/ScrollViewQt.cpp:
161 (WebCore::ScrollView::setFrameRect):
162 (WebCore::ScrollView::updateScrollbars):
163 (WebCore::ScrollView::scrollbarUnderMouse):
164 (WebCore::ScrollView::paint):
165 * platform/qt/ScrollbarThemeQt.cpp:
166 (WebCore::styleOptionSlider):
167 * platform/qt/WidgetQt.cpp:
168 (WebCore::Widget::frameRect):
169 (WebCore::Widget::setFrameRect):
170 * platform/win/PopupMenuWin.cpp:
171 (WebCore::PopupMenu::invalidateItem):
172 (WebCore::PopupMenu::valueChanged):
173 (WebCore::PopupWndProc):
174 * platform/win/ScrollViewWin.cpp:
175 (WebCore::ScrollView::setFrameRect):
176 (WebCore::ScrollView::updateScrollbars):
177 (WebCore::ScrollView::scrollbarUnderMouse):
178 (WebCore::ScrollView::paint):
179 * platform/win/ScrollbarThemeSafari.cpp:
180 (WebCore::ScrollbarThemeSafari::trackRect):
181 * platform/win/WidgetWin.cpp:
182 (WebCore::Widget::frameRect):
183 (WebCore::Widget::setFrameRect):
184 * platform/wx/WidgetWx.cpp:
185 (WebCore::Widget::frameRect):
186 (WebCore::Widget::setFrameRect):
187 * plugins/PluginView.cpp:
188 (WebCore::PluginView::setFrameRect):
189 * plugins/PluginView.h:
190 * plugins/gtk/PluginViewGtk.cpp:
191 (WebCore::PluginView::updatePluginWidget):
192 (WebCore::PluginView::paint):
193 (WebCore::PluginView::init):
194 * plugins/qt/PluginViewQt.cpp:
195 (WebCore::PluginView::updatePluginWidget):
196 (WebCore::PluginView::init):
197 * plugins/win/PluginViewWin.cpp:
198 (WebCore::PluginView::updatePluginWidget):
199 (WebCore::PluginView::paintMissingPluginIcon):
200 (WebCore::PluginView::paint):
201 (WebCore::PluginView::init):
202 * rendering/RenderLayer.cpp:
203 (WebCore::RenderLayer::positionOverflowControls):
204 * rendering/RenderListBox.cpp:
205 (WebCore::RenderListBox::paintScrollbar):
206 * rendering/RenderPart.cpp:
207 (WebCore::RenderPart::updateWidgetPosition):
208 * rendering/RenderWidget.cpp:
209 (WebCore::RenderWidget::setWidgetGeometry):
210 (WebCore::RenderWidget::updateWidgetPosition):
212 2008-09-27 David Hyatt <hyatt@apple.com>
214 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
216 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
217 access an actual member variable.
219 Reviewed by Dan Bernstein
221 * page/FocusController.cpp:
222 (WebCore::FocusController::setFocusedFrame):
224 2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
226 Attempt to fix QT Build. Not reviewed.
228 * WebCore.pro: add -n WebCore parameter to create_hash_table
230 2008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
232 Reviewed by Eric Seidel.
234 http://bugs.webkit.org/show_bug.cgi?id=18905
235 [GTK] Fix build with older pango (1.14.8)
237 * platform/graphics/gtk/FontGtk.cpp:
238 * platform/gtk/Language.cpp:
239 (_pango_get_lc_ctype):
240 (pango_language_get_default):
242 2008-09-26 David Hyatt <hyatt@apple.com>
244 https://bugs.webkit.org/show_bug.cgi?id=21168
246 Make contentsToWindow/windowToContents cross-platform.
248 Reviewed by Oliver Hunt
250 * platform/ScrollView.cpp:
251 (WebCore::ScrollView::windowToContents):
252 (WebCore::ScrollView::contentsToWindow):
253 * platform/ScrollView.h:
254 * platform/gtk/ScrollViewGtk.cpp:
255 * platform/mac/ScrollViewMac.mm:
256 * platform/qt/ScrollViewQt.cpp:
257 * platform/win/ScrollViewWin.cpp:
258 * platform/wx/ScrollViewWx.cpp:
260 2008-09-26 Sam Weinig <sam@webkit.org>
266 2008-09-26 David Hyatt <hyatt@apple.com>
268 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
269 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
270 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
272 Reviewed by Oliver Hunt
274 * page/FrameView.cpp:
275 (WebCore::FrameView::repaintContentRectangle):
277 * platform/ScrollView.h:
278 * platform/gtk/ScrollViewGtk.cpp:
279 (WebCore::ScrollView::isOffscreen):
280 * platform/mac/ScrollViewMac.mm:
281 (WebCore::ScrollView::updateContents):
282 (WebCore::ScrollView::isOffscreen):
283 * platform/qt/ScrollViewQt.cpp:
284 (WebCore::ScrollView::isOffscreen):
285 * platform/win/ScrollViewWin.cpp:
286 (WebCore::ScrollView::isOffscreen):
287 * platform/wx/ScrollViewWx.cpp:
288 (WebCore::ScrollView::isOffscreen):
289 * rendering/RenderObject.cpp:
290 (WebCore::RenderObject::willRenderImage):
292 2008-09-26 David Hyatt <hyatt@apple.com>
294 https://bugs.webkit.org/show_bug.cgi?id=21164
296 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
298 Reviewed by Sam Weinig
301 * page/FrameView.cpp:
302 (WebCore::FrameView::setAllowsScrolling):
304 * platform/ScrollView.cpp:
305 (WebCore::ScrollView::setAllowsScrolling):
306 * platform/ScrollView.h:
307 (WebCore::ScrollView::allowsScrolling):
308 * platform/win/ScrollViewWin.cpp:
309 (WebCore::ScrollView::wheelEvent):
311 2008-09-26 Kevin Ollivier <kevino@theolliviers.com>
313 wx build fixes after Widget/ScrollView changes.
315 * platform/wx/PopupMenuWx.cpp:
316 (WebCore::PopupMenu::show):
317 * platform/wx/ScrollViewWx.cpp:
318 (WebCore::ScrollView::platformSetContentsSize):
319 (WebCore::ScrollView::platformSetScrollbarModes):
320 (WebCore::ScrollView::wheelEvent):
321 * platform/wx/TemporaryLinkStubs.cpp:
322 * platform/wx/WidgetWx.cpp:
323 (WebCore::Widget::containingWindow):
325 2008-09-26 Timothy Hatcher <timothy@apple.com>
327 Allow searching for paths by always performing the
328 three search methods in the Elements panel and not
329 assume a search with a "/" is a XPath query.
331 https://bugs.webkit.org/show_bug.cgi?id=21159
333 Reviewed by Geoff Garen.
335 * page/inspector/ElementsPanel.js:
336 (WebInspector.ElementsPanel.prototype.performSearch):
338 2008-09-26 Sam Weinig <sam@webkit.org>
340 Reviewed by Darin Adler.
342 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
343 Speedup static property get/put
345 * DerivedSources.make:
348 * WebCore.vcproj/WebCore.vcproj:
349 * WebCore.xcodeproj/project.pbxproj:
350 * bindings/js/JSDOMBinding.cpp:
351 * bindings/js/JSDOMBinding.h:
352 * bindings/js/JSDOMWindowBase.cpp:
353 (WebCore::getDOMConstructor):
354 (WebCore::jsDOMWindowBaseCrypto):
355 (WebCore::jsDOMWindowBaseEvent):
356 (WebCore::jsDOMWindowBaseImage):
357 (WebCore::jsDOMWindowBaseMessageChannel):
358 (WebCore::jsDOMWindowBaseOption):
359 (WebCore::jsDOMWindowBaseXMLHttpRequest):
360 (WebCore::jsDOMWindowBaseAudio):
361 (WebCore::jsDOMWindowBaseXSLTProcessor):
362 (WebCore::jsDOMWindowBaseOnabort):
363 (WebCore::jsDOMWindowBaseOnblur):
364 (WebCore::jsDOMWindowBaseOnchange):
365 (WebCore::jsDOMWindowBaseOnclick):
366 (WebCore::jsDOMWindowBaseOndblclick):
367 (WebCore::jsDOMWindowBaseOnerror):
368 (WebCore::jsDOMWindowBaseOnfocus):
369 (WebCore::jsDOMWindowBaseOnkeydown):
370 (WebCore::jsDOMWindowBaseOnkeypress):
371 (WebCore::jsDOMWindowBaseOnkeyup):
372 (WebCore::jsDOMWindowBaseOnload):
373 (WebCore::jsDOMWindowBaseOnmousedown):
374 (WebCore::jsDOMWindowBaseOnmousemove):
375 (WebCore::jsDOMWindowBaseOnmouseout):
376 (WebCore::jsDOMWindowBaseOnmouseover):
377 (WebCore::jsDOMWindowBaseOnmouseup):
378 (WebCore::jsDOMWindowBaseOnMouseWheel):
379 (WebCore::jsDOMWindowBaseOnreset):
380 (WebCore::jsDOMWindowBaseOnresize):
381 (WebCore::jsDOMWindowBaseOnscroll):
382 (WebCore::jsDOMWindowBaseOnsearch):
383 (WebCore::jsDOMWindowBaseOnselect):
384 (WebCore::jsDOMWindowBaseOnsubmit):
385 (WebCore::jsDOMWindowBaseOnbeforeunload):
386 (WebCore::jsDOMWindowBaseOnunload):
387 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
388 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
389 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
390 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
391 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
392 (WebCore::JSDOMWindowBase::put):
393 (WebCore::setJSDOMWindowBaseOnabort):
394 (WebCore::setJSDOMWindowBaseOnblur):
395 (WebCore::setJSDOMWindowBaseOnchange):
396 (WebCore::setJSDOMWindowBaseOnclick):
397 (WebCore::setJSDOMWindowBaseOndblclick):
398 (WebCore::setJSDOMWindowBaseOnerror):
399 (WebCore::setJSDOMWindowBaseOnfocus):
400 (WebCore::setJSDOMWindowBaseOnkeydown):
401 (WebCore::setJSDOMWindowBaseOnkeypress):
402 (WebCore::setJSDOMWindowBaseOnkeyup):
403 (WebCore::setJSDOMWindowBaseOnload):
404 (WebCore::setJSDOMWindowBaseOnmousedown):
405 (WebCore::setJSDOMWindowBaseOnmousemove):
406 (WebCore::setJSDOMWindowBaseOnmouseout):
407 (WebCore::setJSDOMWindowBaseOnmouseover):
408 (WebCore::setJSDOMWindowBaseOnmouseup):
409 (WebCore::setJSDOMWindowBaseOnMouseWheel):
410 (WebCore::setJSDOMWindowBaseOnreset):
411 (WebCore::setJSDOMWindowBaseOnresize):
412 (WebCore::setJSDOMWindowBaseOnscroll):
413 (WebCore::setJSDOMWindowBaseOnsearch):
414 (WebCore::setJSDOMWindowBaseOnselect):
415 (WebCore::setJSDOMWindowBaseOnsubmit):
416 (WebCore::setJSDOMWindowBaseOnbeforeunload):
417 (WebCore::setJSDOMWindowBaseOnunload):
418 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
419 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
420 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
421 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
422 (WebCore::setJSDOMWindowBaseEvent):
423 (WebCore::setJSDOMWindowBaseAudio):
424 (WebCore::setJSDOMWindowBaseImage):
425 (WebCore::setJSDOMWindowBaseMessageChannel):
426 (WebCore::setJSDOMWindowBaseOption):
427 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
428 (WebCore::setJSDOMWindowBaseXSLTProcessor):
429 * bindings/js/JSDOMWindowBase.h:
430 * bindings/js/JSDOMWindowCustom.cpp:
431 (WebCore::nonCachingStaticCloseFunctionGetter):
432 (WebCore::nonCachingStaticBlurFunctionGetter):
433 (WebCore::nonCachingStaticFocusFunctionGetter):
434 (WebCore::nonCachingStaticPostMessageFunctionGetter):
435 * bindings/js/JSDOMWindowCustom.h:
436 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
437 * bindings/js/JSEventTargetBase.cpp:
438 * bindings/js/JSEventTargetBase.h:
439 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
440 (WebCore::JSEventTargetBasePrototype::classInfo):
441 * bindings/js/JSEventTargetNode.cpp:
443 (WebCore::JSEventTargetNode::getOwnPropertySlot):
444 (WebCore::JSEventTargetNode::put):
445 * bindings/js/JSEventTargetNode.h:
446 (WebCore::JSEventTargetNode::classInfo):
447 (WebCore::JSEventTargetNode::prototypeClassName):
448 * bindings/js/JSEventTargetSVGElementInstance.cpp:
450 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
451 (WebCore::JSEventTargetSVGElementInstance::put):
452 * bindings/js/JSEventTargetSVGElementInstance.h:
453 (WebCore::JSEventTargetSVGElementInstance::classInfo):
454 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
455 * bindings/js/JSHTMLInputElementCustom.cpp:
456 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
457 * bindings/js/JSHistoryCustom.cpp:
458 (WebCore::nonCachingStaticBackFunctionGetter):
459 (WebCore::nonCachingStaticForwardFunctionGetter):
460 (WebCore::nonCachingStaticGoFunctionGetter):
461 (WebCore::JSHistory::customGetOwnPropertySlot):
462 * bindings/js/JSLocationCustom.cpp:
463 (WebCore::nonCachingStaticReplaceFunctionGetter):
464 (WebCore::nonCachingStaticReloadFunctionGetter):
465 (WebCore::nonCachingStaticAssignFunctionGetter):
466 (WebCore::JSLocation::customGetOwnPropertySlot):
467 (WebCore::JSLocation::customPut):
468 * bindings/scripts/CodeGeneratorJS.pm:
470 2008-09-26 David Hyatt <hyatt@apple.com>
472 https://bugs.webkit.org/show_bug.cgi?id=21149
474 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
475 Eliminate the unused isScrollable() method.
477 Reviewed by Sam Weinig
480 * page/FrameView.cpp:
481 (WebCore::FrameView::resetScrollbars):
482 (WebCore::FrameView::initScrollbars):
483 (WebCore::FrameView::layout):
485 * page/mac/WebCoreFrameView.h:
486 * platform/ScrollView.cpp:
487 (WebCore::ScrollView::init):
488 (WebCore::ScrollView::setScrollbarModes):
489 (WebCore::ScrollView::scrollbarModes):
490 (WebCore::ScrollView::platformSetScrollbarModes):
491 (WebCore::ScrollView::platformScrollbarModes):
492 * platform/ScrollView.h:
493 (WebCore::ScrollView::horizontalScrollbar):
494 (WebCore::ScrollView::verticalScrollbar):
495 (WebCore::ScrollView::isScrollViewScrollbar):
496 (WebCore::ScrollView::setHorizontalScrollbarMode):
497 (WebCore::ScrollView::setVerticalScrollbarMode):
498 (WebCore::ScrollView::horizontalScrollbarMode):
499 (WebCore::ScrollView::verticalScrollbarMode):
500 (WebCore::ScrollView::convertSelfToChild):
501 * platform/gtk/ScrollViewGtk.cpp:
502 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
503 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
504 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
505 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
506 (WebCore::ScrollView::updateScrollbars):
507 (WebCore::ScrollView::scrollbarUnderMouse):
508 (WebCore::ScrollView::isScrollViewScrollbar):
509 (WebCore::ScrollView::paint):
510 (WebCore::ScrollView::scroll):
511 * platform/mac/ScrollViewMac.mm:
512 (WebCore::ScrollView::platformSetScrollbarModes):
513 (WebCore::ScrollView::platformScrollbarModes):
514 * platform/qt/ScrollViewQt.cpp:
515 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
516 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
517 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
518 (WebCore::ScrollView::horizontalScrollbar):
519 (WebCore::ScrollView::verticalScrollbar):
520 (WebCore::ScrollView::invalidateScrollbars):
521 (WebCore::ScrollView::updateScrollbars):
522 (WebCore::ScrollView::scrollbarUnderMouse):
523 (WebCore::ScrollView::paint):
524 (WebCore::ScrollView::scroll):
525 * platform/win/ScrollViewWin.cpp:
526 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
527 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
528 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
529 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
530 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
531 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
532 (WebCore::ScrollView::suppressScrollbars):
533 (WebCore::ScrollView::updateScrollbars):
534 (WebCore::ScrollView::scrollbarUnderMouse):
535 (WebCore::ScrollView::paint):
536 (WebCore::ScrollView::scroll):
537 * platform/wx/ScrollViewWx.cpp:
538 (WebCore::ScrollView::platformSetScrollbarModes):
539 (WebCore::ScrollView::platformScrollbarModes):
541 2008-09-26 David Kilzer <ddkilzer@apple.com>
543 Fix Mac build with XPATH and XSLT disabled
547 * bindings/objc/DOMUtility.mm:
548 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
549 * dom/XMLTokenizerLibxml2.cpp:
550 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
551 prevent an unused code warning.
553 2008-09-26 Kevin McCullough <kmccullough@apple.com>
555 Rubber stamped by Tim Hatcher.
557 Bug 21098: Crashing under Console::log
558 - Speculative ASSERT to help find the problem.
560 * page/InspectorController.cpp:
561 (WebCore::ConsoleMessage::isEqual):
563 2008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
565 [gtk+] Build fix for the latest ScrollView changes
567 * platform/gtk/ScrollViewGtk.cpp:
568 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
569 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
571 2008-09-26 Timothy Hatcher <timothy@apple.com>
573 Fixes a bug where the console message repeat count would be wrong
574 when typing commands in between repeated messages.
576 https://bugs.webkit.org/show_bug.cgi?id=21145
578 Reviewed by Kevin McCullough.
580 * page/InspectorController.cpp:
581 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
582 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
583 * page/inspector/Console.js:
584 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
585 for each message as totalRepeatCount, since we now modify repeatCount to mean
586 repeats since previous console command. If repeatCountBeforeCommand is a number,
587 subtract that value from the repeatCount.
588 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
589 and commandSincePreviousMessage properties.
591 2008-09-26 Eric Carlson <eric.carlson@apple.com>
595 https://bugs.webkit.org/show_bug.cgi?id=21116
596 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
597 back to page with <video>, then closing tab
599 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
600 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
604 (WebCore::Document::documentWillBecomeInactive):
605 (WebCore::Document::documentDidBecomeActive):
606 (WebCore::Document::registerForDocumentActivationCallbacks):
607 (WebCore::Document::unregisterForDocumentActivationCallbacks):
610 (WebCore::Element::documentWillBecomeInactive):
611 (WebCore::Element::documentDidBecomeActive):
612 * history/CachedPage.cpp:
613 (WebCore::CachedPage::CachedPage):
614 * html/HTMLFormElement.cpp:
615 (WebCore::HTMLFormElement::~HTMLFormElement):
616 (WebCore::HTMLFormElement::parseMappedAttribute):
617 (WebCore::HTMLFormElement::documentDidBecomeActive):
618 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
619 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
620 * html/HTMLFormElement.h:
621 * html/HTMLInputElement.cpp:
622 (WebCore::HTMLInputElement::~HTMLInputElement):
623 (WebCore::HTMLInputElement::setInputType):
624 (WebCore::HTMLInputElement::parseMappedAttribute):
625 (WebCore::HTMLInputElement::needsActivationCallback):
626 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
627 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
628 (WebCore::HTMLInputElement::documentDidBecomeActive):
629 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
630 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
631 * html/HTMLInputElement.h:
632 * html/HTMLMediaElement.cpp:
633 (WebCore::HTMLMediaElement::HTMLMediaElement):
634 (WebCore::HTMLMediaElement::~HTMLMediaElement):
635 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
636 (WebCore::HTMLMediaElement::documentDidBecomeActive):
637 * html/HTMLMediaElement.h:
638 (WebCore::HTMLMediaElement::inActiveDocument):
639 * loader/FrameLoader.cpp:
640 (WebCore::FrameLoader::opened):
642 (WebCore::Page::~Page):
643 * rendering/RenderMedia.cpp:
644 (WebCore::RenderMedia::updateControls):
645 * rendering/RenderVideo.cpp:
646 (WebCore::RenderVideo::updatePlayer):
647 * svg/SVGSVGElement.cpp:
648 (WebCore::SVGSVGElement::SVGSVGElement):
649 (WebCore::SVGSVGElement::~SVGSVGElement):
650 (WebCore::SVGSVGElement::documentWillBecomeInactive):
651 (WebCore::SVGSVGElement::documentDidBecomeActive):
652 * svg/SVGSVGElement.h:
654 2008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
658 Fix the build inside Qt, don't create faulty prl files for now.
662 2008-09-26 Simon Hausmann <hausmann@webkit.org>
664 Fix compilation on Qt/Windows
666 * Add WebCore/ to the include path so that config.h is found that enables JSC
667 * Link against winmm for the multimedia timer functions
668 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
670 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
671 but set m_window directly as setPlatformWidget takes a QWidget*.
674 * platform/win/SystemTimeWin.cpp:
675 * plugins/win/PluginViewWin.cpp:
676 (WebCore::PluginView::init):
678 2008-09-26 Oliver Hunt <oliver@apple.com>
680 Reviewed by Maciej Stachowiak.
682 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
683 <https://bugs.webkit.org/show_bug.cgi?id=21054>
685 This performance regression is actually just a symptom of a correctness
686 bug. The constructor objects for a number of properties that have security
687 checks on access were returning new objects each time. The most obvious
688 symptom of this bug is that window.Image != window.Image, etc.
690 The solution to this is to make sure we cache these constructors
691 in the same way as all the other DOM constructors. To achieve this
692 without causing any refcount cycles it is necessary to replace the
693 refcounted document pointer in the Image, MessageChannel, Option,
694 XMLHttpRequest, and Audio constructor objects with a reference to
695 the document's JS wrapper.
697 Tests: fast/dom/constructors-cached-navigate.html
698 fast/dom/constructors-cached.html
700 * WebCore.xcodeproj/project.pbxproj:
701 * bindings/js/JSAudioConstructor.cpp:
702 (WebCore::JSAudioConstructor::mark):
703 * bindings/js/JSAudioConstructor.h:
704 (WebCore::JSAudioConstructor::document):
705 * bindings/js/JSDOMWindowBase.cpp:
706 (WebCore::getDOMConstructor):
707 (WebCore::JSDOMWindowBase::getValueProperty):
708 * bindings/js/JSDOMWindowBase.h:
709 * bindings/js/JSHTMLOptionElementConstructor.cpp:
710 (WebCore::JSHTMLOptionElementConstructor::mark):
711 * bindings/js/JSHTMLOptionElementConstructor.h:
712 (WebCore::JSHTMLOptionElementConstructor::document):
713 * bindings/js/JSImageConstructor.cpp:
714 (WebCore::JSImageConstructor::mark):
715 * bindings/js/JSImageConstructor.h:
716 (WebCore::JSImageConstructor::document):
717 * bindings/js/JSXMLHttpRequestConstructor.cpp:
718 (WebCore::JSXMLHttpRequestConstructor::mark):
719 * bindings/js/JSXMLHttpRequestConstructor.h:
720 (WebCore::JSXMLHttpRequestConstructor::document):
722 2008-09-26 Simon Hausmann <hausmann@webkit.org>
724 Unreviewed one-liner build fix for the Qt/Windows build.
726 The build requires NPAPI support to be enabled, fix the condition in
727 the .pro file for that.
731 2008-09-26 Trenton Schulz <twschulz@trolltech.com>
735 Fix compilation with the Qt/Cocoa port.
737 * platform/qt/ScrollViewQt.cpp:
738 (WebCore::ScrollView::updateScrollbars):
740 2008-09-26 Simon Hausmann <hausmann@webkit.org>
744 Fix compilation with VC9SP1, work around bug in TR1 library by
749 2008-09-26 Simon Hausmann <hausmann@webkit.org>
753 Fix an lupdate() warning.
755 Don't use tr() in a class that is not a QObject, use
756 QCoreApplication::translate() directly.
758 * platform/qt/ScrollbarQt.cpp:
759 (WebCore::Scrollbar::handleContextMenuEvent):
761 2008-09-25 David Hyatt <hyatt@apple.com>
763 Remove the scrollTo() method from FrameView, since it is not used by anyone.
765 Reviewed by Oliver Hunt
767 * page/FrameView.cpp:
770 2008-09-25 David Hyatt <hyatt@apple.com>
772 Make scrollRectIntoViewRecursively cross-platform.
774 Reviewed by Oliver Hunt
776 * platform/ScrollView.cpp:
777 (WebCore::ScrollView::scrollRectIntoViewRecursively):
778 * platform/gtk/ScrollViewGtk.cpp:
779 * platform/mac/ScrollViewMac.mm:
780 * platform/qt/ScrollViewQt.cpp:
781 * platform/win/ScrollViewWin.cpp:
782 * platform/wx/ScrollViewWx.cpp:
784 2008-09-25 David Hyatt <hyatt@apple.com>
786 https://bugs.webkit.org/show_bug.cgi?id=21133
788 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
791 Reviewed by Oliver Hunt
793 * loader/FrameLoader.cpp:
794 (WebCore::FrameLoader::begin):
795 * page/FrameView.cpp:
796 (WebCore::FrameView::adjustViewSize):
797 * platform/ScrollView.cpp:
798 (WebCore::ScrollView::setContentsSize):
799 * platform/ScrollView.h:
800 (WebCore::ScrollView::updateScrollbars):
801 * platform/gtk/ScrollViewGtk.cpp:
802 * platform/mac/ScrollViewMac.mm:
803 (WebCore::ScrollView::platformSetContentsSize):
804 * platform/qt/ScrollViewQt.cpp:
805 * platform/win/ScrollViewWin.cpp:
806 * platform/wx/ScrollViewWx.cpp:
807 (WebCore::ScrollView::platformSetContentsSize):
809 2008-09-25 David Hyatt <hyatt@apple.com>
811 https://bugs.webkit.org/show_bug.cgi?id=21132
813 Clean up the methods that actually do the scrolling in ScrollView.
815 Reviewed by Oliver Hunt
817 * html/HTMLBodyElement.cpp:
818 (WebCore::HTMLBodyElement::setScrollLeft):
819 (WebCore::HTMLBodyElement::setScrollTop):
820 * loader/FrameLoader.cpp:
821 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
822 * loader/ImageDocument.cpp:
823 (WebCore::ImageDocument::imageClicked):
824 * page/DOMWindow.cpp:
825 (WebCore::DOMWindow::scrollBy):
826 (WebCore::DOMWindow::scrollTo):
827 * page/FrameView.cpp:
828 (WebCore::FrameView::scrollTo):
829 (WebCore::FrameView::setScrollPosition):
831 * platform/ScrollView.cpp:
832 (WebCore::ScrollView::maximumScrollPosition):
833 * platform/ScrollView.h:
834 (WebCore::ScrollView::contentsWidth):
835 (WebCore::ScrollView::contentsHeight):
836 (WebCore::ScrollView::scrollBy):
837 * platform/gtk/ScrollViewGtk.cpp:
838 (WebCore::ScrollView::setScrollPosition):
839 * platform/mac/ScrollViewMac.mm:
840 (WebCore::ScrollView::setScrollPosition):
841 * platform/qt/ScrollViewQt.cpp:
842 (WebCore::ScrollView::setScrollPosition):
843 (WebCore::ScrollView::scrollRectIntoViewRecursively):
844 * platform/win/ScrollViewWin.cpp:
845 (WebCore::ScrollView::setScrollPosition):
846 (WebCore::ScrollView::scrollRectIntoViewRecursively):
847 * platform/wx/ScrollViewWx.cpp:
848 (WebCore::ScrollView::setScrollPosition):
849 * rendering/RenderLayer.cpp:
850 (WebCore::RenderLayer::scrollByRecursively):
851 (WebCore::RenderLayer::scrollRectToVisible):
853 2008-09-25 Dan Bernstein <mitz@apple.com>
855 - attempted Windows build fix
857 * platform/win/ScrollViewWin.cpp:
858 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
859 (WebCore::ScrollView::setContentsPos):
860 (WebCore::ScrollView::paint):
862 2008-09-25 Timothy Hatcher <timothy@apple.com>
864 Revert the padding changes done in r36905 to prevent the
865 scrollbar from overlapping the URLs in the Console.
867 https://bugs.webkit.org/show_bug.cgi?id=21126
869 * page/inspector/inspector.css:
871 2008-09-25 David Hyatt <hyatt@apple.com>
873 https://bugs.webkit.org/show_bug.cgi?id=21129
875 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
876 of platform-specific methods required of ScrollView implementations.
878 Reviewed by Tim Hatcher
880 * dom/MouseRelatedEvent.cpp:
881 (WebCore::contentsX):
882 (WebCore::contentsY):
883 * html/HTMLBodyElement.cpp:
884 (WebCore::HTMLBodyElement::scrollLeft):
885 (WebCore::HTMLBodyElement::setScrollLeft):
886 (WebCore::HTMLBodyElement::scrollTop):
887 (WebCore::HTMLBodyElement::setScrollTop):
888 * loader/FrameLoader.cpp:
889 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
890 * page/DOMWindow.cpp:
891 (WebCore::DOMWindow::scrollX):
892 (WebCore::DOMWindow::scrollY):
893 * page/EventHandler.cpp:
894 (WebCore::EventHandler::hitTestResultAtPoint):
895 * page/FrameView.cpp:
896 (WebCore::FrameView::scrollTo):
897 (WebCore::FrameView::windowClipRect):
898 * platform/ScrollView.cpp:
899 (WebCore::ScrollView::visibleContentRect):
900 (WebCore::ScrollView::contentsSize):
901 (WebCore::ScrollView::platformContentsSize):
902 * platform/ScrollView.h:
903 (WebCore::ScrollView::scrollPosition):
904 (WebCore::ScrollView::scrollOffset):
905 (WebCore::ScrollView::scrollX):
906 (WebCore::ScrollView::scrollY):
907 (WebCore::ScrollView::contentsWidth):
908 (WebCore::ScrollView::contentsHeight):
909 * platform/gtk/ScrollViewGtk.cpp:
910 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
911 (WebCore::ScrollView::setGtkAdjustments):
912 (WebCore::ScrollView::resizeContents):
913 (WebCore::ScrollView::contentsWidth):
914 (WebCore::ScrollView::contentsHeight):
915 (WebCore::ScrollView::scrollOffset):
916 (WebCore::ScrollView::maximumScroll):
917 (WebCore::ScrollView::scrollBy):
918 (WebCore::ScrollView::suppressScrollbars):
919 (WebCore::ScrollView::setHScrollbarMode):
920 (WebCore::ScrollView::setVScrollbarMode):
921 (WebCore::ScrollView::setScrollbarsMode):
922 (WebCore::ScrollView::setFrameGeometry):
923 (WebCore::ScrollView::updateScrollbars):
924 * platform/mac/ScrollViewMac.mm:
925 (WebCore::ScrollView::platformContentsSize):
926 (WebCore::ScrollView::scrollBy):
927 * platform/mac/WidgetMac.mm:
928 (WebCore::Widget::convertFromContainingWindow):
929 (WebCore::Widget::convertToContainingWindow):
930 * platform/qt/ScrollViewQt.cpp:
931 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
932 (WebCore::ScrollView::resizeContents):
933 (WebCore::ScrollView::setFrameGeometry):
934 (WebCore::ScrollView::scrollOffset):
935 (WebCore::ScrollView::maximumScroll):
936 (WebCore::ScrollView::scrollBy):
937 (WebCore::ScrollView::setHScrollbarMode):
938 (WebCore::ScrollView::setVScrollbarMode):
939 (WebCore::ScrollView::setScrollbarsMode):
940 (WebCore::ScrollView::updateScrollbars):
941 * platform/win/ScrollViewWin.cpp:
942 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
943 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
944 (WebCore::ScrollView::resizeContents):
945 (WebCore::ScrollView::setFrameGeometry):
946 (WebCore::ScrollView::scrollOffset):
947 (WebCore::ScrollView::maximumScroll):
948 (WebCore::ScrollView::scrollBy):
949 (WebCore::ScrollView::setHScrollbarMode):
950 (WebCore::ScrollView::setVScrollbarMode):
951 (WebCore::ScrollView::setScrollbarsMode):
952 (WebCore::ScrollView::updateScrollbars):
953 * platform/wx/ScrollViewWx.cpp:
954 (WebCore::ScrollView::platformVisibleContentRect):
955 (WebCore::ScrollView::platformContentsSize):
956 * rendering/RenderBlock.cpp:
957 (WebCore::RenderBlock::nodeAtPoint):
958 * rendering/RenderLayer.cpp:
959 (WebCore::RenderLayer::scrollRectToVisible):
960 (WebCore::RenderLayer::calculateClipRects):
961 (WebCore::RenderLayer::calculateRects):
962 * rendering/RenderView.cpp:
963 (WebCore::RenderView::absolutePosition):
964 (WebCore::RenderView::computeAbsoluteRepaintRect):
966 2008-09-25 David Smith <catfish.man@gmail.com>
968 Reviewed by Dave Hyatt.
970 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
973 (WebCore::Element::rareData):
976 (WebCore::Node::rareData):
979 2008-09-25 David Smith <catfish.man@gmail.com>
981 Reviewed by Darin Adler.
983 https://bugs.webkit.org/show_bug.cgi?id=20980
984 Split off uncommonly used data from Node similar to ElementRareData
986 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
987 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
988 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
991 * WebCore.xcodeproj/project.pbxproj:
992 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
993 * dom/ContainerNode.cpp: Set isContainer to true
994 (WebCore::ContainerNode::ContainerNode):
995 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
996 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
997 (WebCore::Node::containerChildNode): ditto
998 (WebCore::Node::containerFirstChild): ditto
999 (WebCore::Node::containerLastChild): ditto
1000 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
1001 (WebCore::Element::Element):
1002 (WebCore::Element::~Element):
1003 (WebCore::Element::rareData):
1004 (WebCore::Element::ensureRareData): Renamed from createRareData
1005 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
1006 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
1007 (WebCore::Element::detach): ditto
1008 (WebCore::Element::recalcStyle): ditto
1009 (WebCore::Element::focus):
1010 (WebCore::Element::minimumSizeForResizing): ditto
1011 (WebCore::Element::setMinimumSizeForResizing): ditto
1012 (WebCore::Element::computedStyle):
1013 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
1015 * dom/ElementRareData.h: Added; everything copied from Element.cpp
1016 (WebCore::defaultMinimumSizeForResizing):
1017 (WebCore::ElementRareData::ElementRareData):
1018 (WebCore::ElementRareData::resetComputedStyle):
1019 * dom/EventTargetNode.cpp:
1020 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
1021 * dom/EventTargetNode.h:
1023 (WebCore::Node::Node):
1024 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
1025 (WebCore::Node::rareData):
1026 (WebCore::Node::ensureRareData):
1027 (WebCore::Node::createRareData):
1028 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
1029 (WebCore::Node::setTabIndexExplicitly):
1030 (WebCore::Node::childNodes): NodeLists are now in rareData
1031 (WebCore::Node::setFocus):
1032 (WebCore::Node::rareDataFocused):
1033 (WebCore::Node::isFocusable):
1034 (WebCore::Node::isKeyboardFocusable):
1035 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
1036 (WebCore::Node::unregisterDynamicNodeList): ditto
1037 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
1038 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
1039 (WebCore::Node::getElementsByName): ditto
1040 (WebCore::Node::getElementsByClassName): ditto
1042 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
1043 (WebCore::Node::lastChild): ditto
1044 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
1045 (WebCore::Node::focused): focus is in rareData if set
1046 (WebCore::Node::childTypeAllowed):
1047 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
1048 (WebCore::Node::childNode): ditto
1049 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
1050 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
1051 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
1052 (WebCore::NodeRareData::NodeRareData):
1053 (WebCore::NodeRareData::rareDataMap):
1054 (WebCore::NodeRareData::rareDataFromMap):
1055 (WebCore::NodeRareData::clearNodeLists):
1056 (WebCore::NodeRareData::setNodeLists):
1057 (WebCore::NodeRareData::nodeLists):
1058 (WebCore::NodeRareData::tabIndex):
1059 (WebCore::NodeRareData::setTabIndex):
1060 (WebCore::NodeRareData::tabIndexSetExplicitly):
1061 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
1062 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
1064 2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
1066 Reviewed by Simon Hausmann.
1068 [qt] ImageBuffer::toDataURL implementation
1070 There needs to be a Qt specific test result for the above mentioned
1073 * platform/graphics/qt/ImageBufferQt.cpp:
1074 (WebCore::ImageBuffer::toDataURL):
1076 2008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
1078 Reviewed by Simon Hausmann.
1080 [qt] Implement SharedBuffer for Qt.
1083 * platform/qt/SharedBufferQt.cpp: Added.
1084 (WebCore::SharedBuffer::createWithContentsOfFile):
1085 * platform/qt/TemporaryLinkStubs.cpp:
1087 2008-09-25 Feng Qian <feng@chromium.org>
1089 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
1090 <rdar://problem/6243032>
1092 Reviewed by Dave Hyatt.
1094 Test: fast/dom/attribute-downcast-right.html
1096 Add isMappedAttribute function to Attribute for checking if an object
1097 is an instance of MappedAttribute. Removed attributeItem,
1098 getAttributeItem functions from NamedMappedAttrMap, and callers
1099 expecting MappedAttribute have to check isMappedAttribute before
1100 downcasting the return value to MappedAttribute.
1102 * css/CSSStyleSelector.cpp:
1103 (WebCore::CSSStyleSelector::styleForElement):
1105 (WebCore::Attribute::isMappedAttribute):
1106 * dom/MappedAttribute.h:
1107 (WebCore::MappedAttribute::isMappedAttribute):
1108 * dom/NamedMappedAttrMap.cpp:
1109 (WebCore::NamedMappedAttrMap::declCount):
1110 (WebCore::NamedMappedAttrMap::mapsEquivalent):
1111 * dom/NamedMappedAttrMap.h:
1112 * dom/StyledElement.cpp:
1113 (WebCore::StyledElement::attributeChanged):
1114 * html/HTMLInputElement.cpp:
1115 (WebCore::HTMLInputElement::setInputType):
1116 * svg/SVGForeignObjectElement.cpp:
1117 (WebCore::addCSSPropertyAndNotifyAttributeMap):
1118 * svg/SVGStyledElement.cpp:
1119 (WebCore::SVGStyledElement::getPresentationAttribute):
1121 2008-09-25 David Hyatt <hyatt@apple.com>
1123 https://bugs.webkit.org/show_bug.cgi?id=21120
1125 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
1126 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
1127 didn't want to mix that change in with this patch).
1129 Reviewed by Sam Weinig
1132 (WebCore::Frame::markAllMatchesForText):
1133 * page/FrameView.cpp:
1134 (WebCore::FrameView::repaintContentRectangle):
1135 (WebCore::FrameView::windowClipRect):
1136 (WebCore::FrameView::updateControlTints):
1137 * platform/ScrollView.cpp:
1138 (WebCore::ScrollView::visibleContentRect):
1139 (WebCore::ScrollView::platformVisibleContentRect):
1140 * platform/ScrollView.h:
1141 (WebCore::ScrollView::visibleWidth):
1142 (WebCore::ScrollView::visibleHeight):
1143 * platform/gtk/ScrollViewGtk.cpp:
1144 (WebCore::ScrollView::horizontalScrollbar):
1145 (WebCore::ScrollView::verticalScrollbar):
1146 * platform/mac/ScrollViewMac.mm:
1147 (WebCore::ScrollView::horizontalScrollbar):
1148 (WebCore::ScrollView::verticalScrollbar):
1149 (WebCore::ScrollView::platformVisibleContentRect):
1150 * platform/qt/ScrollViewQt.cpp:
1151 (WebCore::ScrollView::horizontalScrollbar):
1152 (WebCore::ScrollView::verticalScrollbar):
1153 * platform/win/ScrollViewWin.cpp:
1154 (WebCore::ScrollView::horizontalScrollbar):
1155 (WebCore::ScrollView::verticalScrollbar):
1156 * platform/wx/ScrollViewWx.cpp:
1157 (WebCore::ScrollView::platformVisibleContentRect):
1158 (WebCore::ScrollView::horizontalScrollbar):
1159 (WebCore::ScrollView::verticalScrollbar):
1160 * rendering/RenderLayer.cpp:
1161 (WebCore::RenderLayer::scrollRectToVisible):
1162 (WebCore::frameVisibleRect):
1163 * rendering/RenderView.cpp:
1164 (WebCore::RenderView::viewRect):
1166 2008-09-25 David Smith <catfish.man@gmail.com>
1168 Reviewed by Timothy Hatcher
1170 https://bugs.webkit.org/show_bug.cgi?id=21052
1171 Generalize id selector special case for querySelectorAll
1173 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
1174 Changes results on http://native.khan.mozilla.org
1186 (WebCore::Node::querySelector):
1187 * dom/SelectorNodeList.cpp:
1188 (WebCore::createSelectorNodeList):
1190 2008-09-25 David Hyatt <hyatt@apple.com>
1192 https://bugs.webkit.org/show_bug.cgi?id=21118
1194 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
1196 Reviewed by Sam Weinig
1198 * page/FrameView.cpp:
1199 (WebCore::FrameView::clear):
1200 (WebCore::FrameView::layout):
1201 (WebCore::FrameView::setUseSlowRepaints):
1202 (WebCore::FrameView::addSlowRepaintObject):
1203 (WebCore::FrameView::removeSlowRepaintObject):
1204 * platform/ScrollView.cpp:
1205 (WebCore::ScrollView::init):
1206 (WebCore::ScrollView::addChild):
1207 (WebCore::ScrollView::removeChild):
1208 (WebCore::ScrollView::setCanBlitOnScroll):
1209 * platform/ScrollView.h:
1210 (WebCore::ScrollView::canBlitOnScroll):
1211 * platform/gtk/ScrollViewGtk.cpp:
1212 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1213 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1214 (WebCore::ScrollView::ScrollView):
1215 * platform/mac/ScrollViewMac.mm:
1216 (WebCore::ScrollView::ScrollView):
1217 (WebCore::ScrollView::platformAddChild):
1218 (WebCore::ScrollView::platformRemoveChild):
1219 (WebCore::ScrollView::platformSetCanBlitOnScroll):
1220 * platform/qt/ScrollViewQt.cpp:
1221 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1222 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1223 (WebCore::ScrollView::ScrollView):
1224 * platform/win/ScrollViewWin.cpp:
1225 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1226 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1227 (WebCore::ScrollView::ScrollView):
1228 * platform/wx/ScrollViewWx.cpp:
1229 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1230 (WebCore::ScrollView::ScrollView):
1231 (WebCore::ScrollView::scrollBy):
1233 2008-09-25 Kevin McCullough <kmccullough@apple.com>
1235 Reviewed by Tim Hatcher.
1237 Bug 21109: Console should right-align urls
1239 * page/inspector/Console.js: Re-order the message elements so that when
1240 it overflows it doesn't get mixed in with the next message.
1241 * page/inspector/inspector.css:
1243 2008-09-25 David Hyatt <hyatt@apple.com>
1245 https://bugs.webkit.org/show_bug.cgi?id=21113
1247 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
1249 Reviewed by Darin Adler
1251 * css/CSSImportRule.cpp:
1252 (WebCore::CSSImportRule::insertedIntoParent):
1254 (WebCore::CSSRule::parentStyleSheet):
1255 (WebCore::CSSRule::parentRule):
1256 * css/CSSStyleSheet.cpp:
1257 (WebCore::CSSStyleSheet::CSSStyleSheet):
1258 * css/CSSStyleSheet.h:
1260 2008-09-25 Darin Adler <darin@apple.com>
1262 Reviewed by Adele Peterson.
1264 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
1265 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
1268 * html/HTMLFormElement.cpp:
1269 (WebCore::HTMLFormElement::formData): Use files() instead of value()
1270 to get the path, since value() now returns just the basename.
1272 2008-09-25 Brady Eidson <beidson@apple.com>
1274 Rubberstamped by Mark Rowe
1276 Roll out 36771 as it caused <rdar://problem/6246554>
1277 "nytimes.com doesn't display after returning to it with back/forward"
1279 * css/CSSImportRule.cpp:
1280 (WebCore::CSSImportRule::insertedIntoParent):
1282 (WebCore::CSSRule::parentStyleSheet):
1283 (WebCore::CSSRule::parentRule):
1284 * css/CSSStyleSheet.cpp:
1285 (WebCore::CSSStyleSheet::CSSStyleSheet):
1286 (WebCore::CSSStyleSheet::docLoader):
1287 * css/CSSStyleSheet.h:
1288 (WebCore::CSSStyleSheet::doc):
1290 2008-09-25 Adam Roben <aroben@apple.com>
1294 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
1296 2008-09-25 Dan Bernstein <mitz@apple.com>
1300 * platform/win/ScrollViewWin.cpp:
1301 (WebCore::ScrollView::addChildPlatformWidget):
1302 (WebCore::ScrollView::removeChildPlatformWidget):
1304 2008-09-25 Timothy Hatcher <timothy@apple.com>
1306 Fixes a leak of ConsoleMessage seen when repeated console
1309 Reviewed by Mark Rowe.
1311 * page/InspectorController.cpp:
1312 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
1313 since we don't add it to m_consoleMessages.
1315 2008-09-25 Kevin McCullough <kmccullough@apple.com>
1317 Reviewed by Dan Bernstein.
1319 Bug 21105: XHRs logged in the console may show the wrong URL for the
1321 - Get the url at the time of the send() and pass it on to the XHR.
1323 * bindings/js/JSXMLHttpRequestCustom.cpp:
1324 (WebCore::JSXMLHttpRequest::send):
1325 * xml/XMLHttpRequest.cpp:
1326 (WebCore::XMLHttpRequest::didFinishLoading):
1327 * xml/XMLHttpRequest.h:
1328 (WebCore::XMLHttpRequest::setLastSendURL):
1330 2008-09-25 Kevin McCullough <kmccullough@apple.com>
1332 Reviewed by Geoff and Tim.
1334 Bug 20322: XHRs logged in the console do not have line numbers
1335 - Get the line number at the time of the send and pass it on to the XHR.
1337 * bindings/js/JSXMLHttpRequestCustom.cpp:
1338 (WebCore::JSXMLHttpRequest::send):
1339 * xml/XMLHttpRequest.cpp:
1340 (WebCore::XMLHttpRequest::XMLHttpRequest):
1341 (WebCore::XMLHttpRequest::didFinishLoading):
1342 * xml/XMLHttpRequest.h:
1343 (WebCore::XMLHttpRequest::setLastSendLineNumber):
1345 2008-09-25 Eric Carlson <eric.carlson@apple.com>
1347 Reviewed by Eric Seidel.
1349 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
1350 https://bugs.webkit.org/show_bug.cgi?id=21003
1352 * dom/EventNames.h: remove "begin" event
1353 * html/HTMLMediaElement.cpp:
1354 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
1356 2008-09-25 Alexey Proskuryakov <ap@webkit.org>
1358 Reviewed by Eric Seidel.
1360 https://bugs.webkit.org/show_bug.cgi?id=21097
1361 Calling a MessageChannel constructor from a destroyed document results in a crash
1363 Test: fast/events/message-port-constructor-for-deleted-document.html
1365 * bindings/js/JSMessageChannelConstructor.cpp:
1366 (WebCore::JSMessageChannelConstructor::construct):
1367 * bindings/js/JSMessageChannelConstructor.h:
1368 Made m_document a RefPtr.
1370 2008-09-24 Alexey Proskuryakov <ap@webkit.org>
1372 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
1374 https://bugs.webkit.org/show_bug.cgi?id=20879
1375 Implement HTML5 channel messaging
1377 Tests: fast/events/message-channel-gc.html
1378 fast/events/message-port-deleted-document.html
1379 fast/events/message-port-deleted-frame.html
1380 fast/events/message-port-inactive-document.html
1381 fast/events/message-port.html
1382 http/tests/security/MessagePort/event-listener-context.html
1384 * Configurations/WebCore.xcconfig:
1385 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
1387 * DerivedSources.make:
1388 Added MessageChannel and MessagePort.
1390 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
1391 turmed off anyway. Added new files.
1395 * WebCore.vcproj/WebCore.vcproj:
1396 * WebCore.xcodeproj/project.pbxproj:
1397 * WebCoreSources.bkl:
1400 * bindings/js/JSDOMWindowBase.h:
1401 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
1402 Added suport for window.MessageChannel constructor.
1404 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
1405 * page/DOMWindow.cpp:
1406 (WebCore::DOMWindow::postMessage):
1408 * page/DOMWindow.idl:
1409 Added support for three-argument postMessage (that posts a MessagePort).
1411 * dom/EventTarget.cpp:
1412 (WebCore::EventTarget::toMessagePort):
1413 * dom/EventTarget.h:
1414 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
1415 EventTarget variant.
1417 * bindings/js/JSMessageChannelConstructor.h:
1418 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
1419 take a browsing context (document) parameter.
1421 * bindings/js/JSMessageChannelCustom.cpp: Added.
1422 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
1423 port1 and port2 that it owns.
1425 * bindings/js/JSMessagePortCustom.cpp: Added.
1426 (WebCore::JSMessagePort::startConversation):
1427 (WebCore::JSMessagePort::addEventListener):
1428 (WebCore::JSMessagePort::removeEventListener):
1429 (WebCore::JSMessagePort::dispatchEvent):
1430 (WebCore::JSMessagePort::setOnmessage):
1431 (WebCore::JSMessagePort::onmessage):
1432 (WebCore::JSMessagePort::setOnclose):
1433 (WebCore::JSMessagePort::onclose):
1434 (WebCore::JSMessagePort::mark):
1435 * dom/MessagePort.cpp: Added.
1436 * dom/MessagePort.h: Added.
1437 * dom/MessagePort.idl: Added.
1438 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
1439 with Documents as contexts, but in the future, it will be used for communication with worker
1442 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
1443 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
1444 needed for MessageEvent.
1446 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
1449 (WebCore::MessagePortTimer::MessagePortTimer):
1450 (WebCore::MessagePortTimer::fired):
1451 (WebCore::Document::processMessagePortMessagesSoon):
1452 (WebCore::Document::~Document):
1453 (WebCore::Document::dispatchMessagePortEvents):
1454 (WebCore::Document::createdMessagePort):
1455 (WebCore::Document::destroyedMessagePort):
1457 Document keeps track of all MessagePort objects that were created when it was fully active
1460 * dom/EventNames.h: Added closeEvent.
1462 * dom/MessageChannel.cpp: Added.
1463 (WebCore::MessageChannel::MessageChannel):
1464 (WebCore::MessageChannel::~MessageChannel):
1465 * dom/MessageChannel.h: Added.
1466 (WebCore::MessageChannel::create):
1467 (WebCore::MessageChannel::port1):
1468 (WebCore::MessageChannel::port2):
1469 * dom/MessageChannel.idl: Added.
1470 Addded JSMessageChannel implementation.
1472 * dom/MessageEvent.cpp:
1473 (WebCore::MessageEvent::MessageEvent):
1474 (WebCore::MessageEvent::initMessageEvent):
1475 * dom/MessageEvent.h:
1476 (WebCore::MessageEvent::create):
1477 (WebCore::MessageEvent::messagePort):
1478 * dom/MessageEvent.idl:
1479 MessageEvent has a MessagePort member now, making it possible to pass ports across
1482 2008-09-25 David Smith <catfish.man@gmail.com>
1484 Reviewed by Eric Seidel
1486 fix https://bugs.webkit.org/show_bug.cgi?id=21091
1487 Regression: querySelector matches tag names case sensitively
1489 Tests: fast/dom/SelectorAPI/caseTag.html
1490 fast/dom/SelectorAPI/caseTagX.xhtml
1492 * css/CSSParser.cpp:
1493 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
1496 (WebCore::Node::querySelector):
1497 (WebCore::Node::querySelectorAll):
1499 2008-09-24 David Hyatt <hyatt@apple.com>
1501 https://bugs.webkit.org/show_bug.cgi?id=21084
1503 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
1504 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
1506 Reviewed by Sam Weinig
1510 * WebCore.vcproj/WebCore.vcproj:
1511 * WebCore.xcodeproj/project.pbxproj:
1512 * WebCoreSources.bkl:
1513 * platform/ScrollView.h:
1514 (WebCore::ScrollView::children):
1515 * platform/Widget.h:
1516 * platform/gtk/ScrollViewGtk.cpp:
1517 (WebCore::ScrollView::addChildPlatformWidget):
1518 (WebCore::ScrollView::removeChildPlatformWidget):
1519 (WebCore::ScrollView::geometryChanged):
1520 * platform/mac/ScrollViewMac.mm:
1521 (WebCore::ScrollView::addChildPlatformWidget):
1522 (WebCore::ScrollView::removeChildPlatformWidget):
1523 * platform/qt/ScrollViewQt.cpp:
1524 (WebCore::ScrollView::geometryChanged):
1525 (WebCore::ScrollView::addChildPlatformWidget):
1526 (WebCore::ScrollView::removeChildPlatformWidget):
1527 * platform/win/ScrollViewWin.cpp:
1528 (WebCore::ScrollView::geometryChanged):
1529 (WebCore::ScrollView::setParentVisible):
1530 (WebCore::ScrollView::show):
1531 (WebCore::ScrollView::hide):
1532 * platform/wx/ScrollViewWx.cpp:
1533 (WebCore::ScrollView::addChildPlatformWidget):
1534 (WebCore::ScrollView::removeChildPlatformWidget):
1536 2008-09-25 Dan Bernstein <mitz@apple.com>
1538 Reviewed by Dave Hyatt.
1540 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
1541 <rdar://problem/6240821> Scrollbar not painted until hovered
1543 * rendering/RenderWidget.cpp:
1544 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
1545 this method, which sets both the location and the size.
1546 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
1547 with a call to the new method setWidgetGeometry. Positioning the
1548 widget correctly ensures that the scroll bars invalidate correctly when
1549 they are created and resized.
1550 * rendering/RenderWidget.h:
1552 2008-09-24 Dan Bernstein <mitz@apple.com>
1554 Rubber-stamped by Sam Weinig.
1556 - create a "style" subfolder under "rendering" and move style files to that folder
1558 * WebCore.vcproj/WebCore.vcproj:
1560 2008-09-24 Sam Weinig <sam@webkit.org>
1562 Reviewed by Maciej Stachowiak.
1564 Remove staticFunctionGetter. There is only one remaining user of
1565 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
1567 * bindings/js/JSDOMWindowBase.cpp:
1568 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
1570 2008-09-24 Jeremy Moskovich <jeremy@chromium.org>
1572 Reviewed by Dan Bernstein.
1574 Test: editing/spelling/inline_spelling_markers.html
1576 - https://bugs.webkit.org/show_bug.cgi?id=20092
1577 Spelling markers positioned incorrectly in RTL text
1579 Measure spelling markers with selectionRectForText() to fix RTL.
1581 This patch also fixes hit-testing for spelling marker tool tips,
1582 which used to work only on the first line.
1584 * rendering/InlineTextBox.cpp:
1585 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1587 2008-09-24 David Hyatt <hyatt@apple.com>
1589 https://bugs.webkit.org/show_bug.cgi?id=21074
1591 Make sure the viewless scrollbar knows how to paint properly when transformed.
1593 Reviewed by Sam Weinig
1595 * platform/mac/ScrollbarThemeMac.mm:
1596 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1597 (WebCore::ScrollbarThemeMac::paint):
1599 2008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
1601 Not reviewed. Try to fix win build.
1603 * bindings/js/JSSVGElementInstanceCustom.cpp:
1605 * dom/ContainerNodeAlgorithms.h:
1606 (WebCore::removeAllChildrenInContainer):
1607 (WebCore::appendChildToContainer):
1608 (WebCore::Private::addChildNodesToDeletionQueue):
1610 2008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
1614 Add ContainerNodeAlgorithms.h, as central place to share algorithms
1615 operating on TreeShared-derived classes with a Node-style interface.
1617 This allows SVGElementInstance & ContainerNode to share code.
1619 * dom/ContainerNode.cpp:
1620 (WebCore::ContainerNode::removeAllChildren):
1621 (WebCore::ContainerNode::addChild):
1622 * dom/ContainerNode.h:
1623 * dom/ContainerNodeAlgorithms.h: Added.
1624 (WebCore::removeAllChildrenInContainer):
1625 (WebCore::appendChildToContainer):
1626 (WebCore::Private::NodeRemovalDispatcher::dispatch):
1627 (WebCore::Private::addChildNodesToDeletionQueue):
1629 2008-09-24 Simon Fraser <simon.fraser@apple.com>
1631 Reviewed by Dave Hyatt
1633 Wrap up dirtying the z-order list of the stacking context
1634 RenderLayer into a method.
1635 https://bugs.webkit.org/show_bug.cgi?id=21072
1637 * rendering/RenderLayer.cpp:
1638 (WebCore::RenderLayer::setHasVisibleContent):
1639 (WebCore::RenderLayer::addChild):
1640 (WebCore::RenderLayer::removeChild):
1641 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
1642 (WebCore::RenderLayer::styleChanged):
1643 * rendering/RenderLayer.h:
1644 * rendering/RenderObject.cpp:
1645 (WebCore::RenderObject::setStyle):
1647 2008-09-24 Kevin McCullough <kmccullough@apple.com>
1651 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
1652 or displayed multiple times
1653 - The Insepctor Controller was comparing JSValue pointers so thought the
1654 message was not a repeat, but the JS of the inspector compared the
1655 strings and so knew it was the same message and so overwrote the old
1658 * page/InspectorController.cpp:
1659 (WebCore::ConsoleMessage::isEqual):
1660 (WebCore::InspectorController::addMessageToConsole):
1661 (WebCore::InspectorController::addConsoleMessage):
1662 (WebCore::InspectorController::startGroup):
1663 (WebCore::InspectorController::endGroup):
1664 * page/InspectorController.h:
1666 2008-09-24 David Hyatt <hyatt@apple.com>
1668 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
1669 arrow placement preference and the thumb jump preference).
1671 Reviewed by Adam Roben
1673 * platform/Scrollbar.cpp:
1674 (WebCore::Scrollbar::Scrollbar):
1675 (WebCore::Scrollbar::~Scrollbar):
1676 * platform/ScrollbarTheme.h:
1677 (WebCore::ScrollbarTheme::registerScrollbar):
1678 (WebCore::ScrollbarTheme::unregisterScrollbar):
1679 * platform/mac/ScrollbarThemeMac.h:
1680 * platform/mac/ScrollbarThemeMac.mm:
1681 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1682 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
1683 (+[ScrollbarPrefsObserver registerAsObserver]):
1684 (WebCore::ScrollbarThemeMac::registerScrollbar):
1685 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1686 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1687 (WebCore::ScrollbarThemeMac::preferencesChanged):
1689 2008-09-24 Rob Buis <buis@kde.org>
1693 https://bugs.webkit.org/show_bug.cgi?id=20557
1694 getScreenCTM() returns wrong values
1696 Use the absolute position of the svg root when
1697 determining the screen ctm.
1699 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
1701 * svg/SVGSVGElement.cpp:
1702 (WebCore::SVGSVGElement::getScreenCTM):
1704 2008-09-24 David Hyatt <hyatt@apple.com>
1706 Turn off support for CSS variables.
1709 * css/CSSParser.cpp:
1710 (WebCore::CSSParser::createVariablesRule):
1711 (WebCore::CSSParser::addVariable):
1712 (WebCore::CSSParser::addVariableDeclarationBlock):
1714 2008-09-24 David Hyatt <hyatt@apple.com>
1716 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
1719 * css/CSSParserValues.cpp:
1720 (WebCore::CSSParserValue::isVariable):
1721 * css/CSSPrimitiveValue.cpp:
1722 (WebCore::CSSPrimitiveValue::cleanup):
1723 (WebCore::CSSPrimitiveValue::getStringValue):
1724 (WebCore::CSSPrimitiveValue::cssText):
1725 (WebCore::CSSPrimitiveValue::parserValue):
1726 * css/CSSPrimitiveValue.h:
1727 (WebCore::CSSPrimitiveValue::):
1728 (WebCore::CSSPrimitiveValue::isVariable):
1730 2008-09-24 Timothy Hatcher <timothy@apple.com>
1732 Fixes a regression where the "incorrect MIME-type" warning would not
1733 show up correctly in the Console or the resources sidebar.
1735 Reviewed by Kevin McCullough.
1737 * page/inspector/Resource.js:
1738 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
1739 to the WebInspector.ConsoleMessage constructor call.
1740 (WebInspector.Resource.prototype._checkWarning): Ditto.
1742 2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
1746 Remove deprecated JS Qt bindings object call/construct code and fix autotests
1748 * bridge/qt/qt_instance.cpp:
1749 (JSC::Bindings::QtInstance::QtInstance):
1750 * bridge/qt/qt_instance.h:
1752 2008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
1754 Reviewed by Alp Toker. Landed by Jan Alonzo.
1756 Bug 20883: [CURL] Add deferred loading
1757 https://bugs.webkit.org/show_bug.cgi?id=20883
1759 Implement deferred loading for the libcURL backend using curl_easy_pause.
1760 As the method was introduced in version 7.18.0, all the code checks for libcURL
1763 * platform/network/curl/ResourceHandleCurl.cpp:
1764 (WebCore::ResourceHandle::setDefersLoading):
1765 * platform/network/curl/ResourceHandleManager.cpp:
1766 (WebCore::writeCallback): Add an assertion that deferred loading is not
1768 (WebCore::headerCallback): Ditto.
1769 (WebCore::readCallback): Ditto.
1770 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
1771 defersLoading to be false in order to avoid triggering an assertion.
1772 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
1773 activated, pause the easy handle.
1775 2008-09-23 Matt Lilek <webkit@mattlilek.com>
1777 Reviewed by Tim Hatcher.
1779 Inspector search field style tweaks.
1781 * page/inspector/inspector.css:
1783 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
1787 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
1789 Fix missing negation in EventTargetNode::insertedIntoDocument.
1790 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
1791 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
1793 * dom/EventTargetNode.cpp:
1794 (WebCore::EventTargetNode::insertedIntoDocument):
1795 (WebCore::EventTargetNode::dispatchGenericEvent):
1796 * dom/EventTargetNode.h:
1798 2008-09-23 Timothy Hatcher <timothy@apple.com>
1800 Adds search support to the Profiles panel.
1802 The Profiles panel supports a few types of queries:
1803 * Standard string matching for function names and file URLs.
1804 * Greater than and less than search for numeric columns.
1805 So a query of ">24" will match all rows that have calls
1806 greater than 24. Or "<=42" will match all 42 or less.
1807 * Percent and time units. Adding a unit of "s", "ms" or "%"
1808 is supported and will match only the Self and Total columns.
1809 So a query of ">1.25s" will match all rows that took longer
1812 Reviewed by Oliver Hunt.
1814 * page/inspector/ProfileView.js:
1815 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
1816 it will start at the first result.
1817 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
1818 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
1820 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
1821 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
1822 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
1823 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
1824 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
1825 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
1826 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
1827 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
1828 Expand all the ancestors first so the profile node will have a DataGridNode.
1829 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
1830 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
1831 have search matches.
1832 * page/inspector/ProfilesPanel.js:
1833 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1834 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
1835 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
1836 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
1837 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
1838 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
1839 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
1840 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
1841 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
1842 * page/inspector/inspector.css: New style rules for the cell highlight color.
1844 2008-09-23 Timothy Hatcher <timothy@apple.com>
1846 Adds search support to the Resources and Scripts panels.
1848 https://bugs.webkit.org/show_bug.cgi?id=21005
1850 Reviewed by Oliver Hunt.
1852 * page/inspector/Images/searchSmallBlue.png: Added.
1853 * page/inspector/Images/searchSmallBrightBlue.png: Added.
1854 * page/inspector/Images/searchSmallGray.png: Added.
1855 * page/inspector/Images/searchSmallWhite.png: Added.
1856 * page/inspector/ResourceView.js:
1857 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
1858 or "script-resource-views" since one might not be created yet.
1859 * page/inspector/ResourcesPanel.js:
1860 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
1861 are not this panel's current visible view. This can happen when a ResourceView is
1862 visible in the Scripts panel then switched to the this panel.
1863 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
1865 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
1866 that uses the current graph search function. So cycling through results will be in the order
1867 things appear in the sidebar.
1868 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
1869 resource's sidebar tree element.
1870 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
1871 in the sidebar. Calls the Panel prototype's searchCanceled.
1872 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
1873 in the sidebar. Calls the Panel prototype's performSearch.
1874 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1875 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
1876 if there is a current search query.
1877 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
1878 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
1879 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
1880 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
1881 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
1882 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
1883 * page/inspector/ScriptView.js:
1884 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
1885 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
1886 it will start at the first result.
1887 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
1888 highlighting complete".
1889 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
1890 * page/inspector/ScriptsPanel.js:
1891 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
1892 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
1893 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
1894 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1895 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
1896 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
1897 * page/inspector/SourceFrame.js:
1898 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
1899 * page/inspector/SourceView.js:
1900 (WebInspector.SourceView.prototype.hide):
1901 (WebInspector.SourceView.prototype.detach):
1902 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
1903 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
1904 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
1905 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
1906 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
1907 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
1908 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
1909 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
1910 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
1911 (WebInspector.SourceView.prototype.showingFirstSearchResult):
1912 (WebInspector.SourceView.prototype.showingLastSearchResult):
1913 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
1914 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
1915 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
1916 * page/inspector/inspector.css:
1918 2008-09-23 Timothy Hatcher <timothy@apple.com>
1920 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
1921 so future code can be shared.
1923 https://bugs.webkit.org/show_bug.cgi?id=21005
1925 Reviewed by Oliver Hunt.
1927 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
1928 And visibleResourceView to visibleView.
1929 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
1931 2008-09-23 Timothy Hatcher <timothy@apple.com>
1933 Highlight all matched search results in the Elements panel DOM tree.
1935 https://bugs.webkit.org/show_bug.cgi?id=21005
1937 Reviewed by Oliver Hunt.
1939 * page/inspector/ElementsPanel.js:
1940 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
1941 on all previous search results.
1942 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
1943 on all new search results.
1944 * page/inspector/ElementsTreeOutline.js:
1945 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
1946 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
1947 the highlighted class on the listItemElement.
1948 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
1949 if needed. Calls _updateTitle.
1950 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
1951 class so it can be styled when the highlighted class is present.
1952 * page/inspector/inspector.css: New style rules for the hihglight.
1954 2008-09-23 Timothy Hatcher <timothy@apple.com>
1956 Add search support to the Elements panel.
1958 https://bugs.webkit.org/show_bug.cgi?id=21005
1960 Reviewed by Oliver Hunt.
1962 * page/inspector/ElementsPanel.js:
1963 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
1964 with a 0 match count to rest. Reset the other search properties.
1965 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
1966 query and a CSS selector on all the Documents in the page. Remembers the found nodes
1967 and avoids duplicates. Focuses the first result.
1968 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
1969 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
1971 2008-09-23 Timothy Hatcher <timothy@apple.com>
1973 Add support to Panel that allows easy searching of sub-views.
1975 https://bugs.webkit.org/show_bug.cgi?id=21005
1977 Reviewed by Oliver Hunt.
1979 * page/inspector/Panel.js:
1980 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
1981 views in the search results and delete the currentQuery property. Call
1982 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
1983 other search properties.
1984 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
1985 reset everything we need before doing a new search. Get an array of searchableViews
1986 from the panel, implemented by sub-classes. Iterate over the views one-by-one
1987 with an interval to prevent blocking the UI for large lists of searchableViews.
1988 This keeps the interface really responsive. Pass a finishedCallback function to
1989 the performSearch on each view so it can notify the panel of results.
1990 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
1991 searchResults of the visibleView, so we know where in the results we are.
1992 This is done every time incase the user manually navigates to a new view.
1993 If the view is showing the last result, jump to the next view and show it's
1994 first result. Otherwise jump to the next result in the current view.
1995 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
1997 2008-09-23 Timothy Hatcher <timothy@apple.com>
1999 Add support for asking the current panel to perform a search, find next/previous and clear.
2000 A search is performed on the new new current panel when switching between panels. The search
2001 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
2002 be searched. The search field contents are selected when Command/Control-F or Enter/Return
2003 is pressed, so the user can easily type an entirely new query. The search match count shows
2004 up in the toolbar next to the search field.
2007 * Rename lastQuery to currentQuery since it better matches the truth.
2008 * Set the search field "results" attribute to zero since results arn't saved for
2009 how we use the search field.
2010 * Make repeated presses of the Return key jump to the next search result instead
2012 * Increased the search field width.
2014 https://bugs.webkit.org/show_bug.cgi?id=21005
2016 Reviewed by Oliver Hunt.
2018 * English.lproj/localizedStrings.js: New strings.
2019 * page/inspector/inspector.css: New styles.
2020 * page/inspector/inspector.html: Add the search-results-matches element. Add the
2021 incremental attribute to the search field and set the results attribute to zero.
2022 * page/inspector/inspector.js:
2023 (WebInspector.set currentPanel): perform the search on the new panel.
2024 (WebInspector.loaded): Change the event listeners and remove code that changes
2025 the search label text.
2026 (WebInspector.documentKeyDown): Add support for Command/Control-G and
2027 Command/Control-Shift-G. To jump to the next and previous search results.
2028 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
2029 This does different things depending on the attached state.
2030 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
2031 This prevents a "search" event from firing for key down. We handle the Enter key
2032 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
2033 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
2034 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
2035 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
2036 Call updateSearchMatchesCount to reset the matches count in the toolbar.
2037 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
2039 2008-09-23 Timothy Hatcher <timothy@apple.com>
2041 Remove the previous Inspector search code to make room for the new stuff.
2043 https://bugs.webkit.org/show_bug.cgi?id=21005
2045 Reviewed by Oliver Hunt.
2047 * page/inspector/inspector.css:
2048 * page/inspector/inspector.html:
2049 * page/inspector/inspector.js:
2050 (WebInspector.get/set showingSearchResults): Removed.
2051 (WebInspector.searchResultsKeyDown): Removed.
2052 (WebInspector.searchResultsResizerDragStart): Removed.
2053 (WebInspector.searchResultsResizerDragEnd): Removed.
2054 (WebInspector.searchResultsResizerDrag): Removed.
2055 (WebInspector.performSearch): Removed searching parts.
2057 2008-09-23 Timothy Hatcher <timothy@apple.com>
2059 Use the Array.remove helper function in more places.
2061 https://bugs.webkit.org/show_bug.cgi?id=21037
2063 Reviewed by Kevin McCullough.
2065 * page/inspector/ResourceCategory.js:
2066 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
2067 * page/inspector/ResourcesPanel.js:
2068 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
2069 * page/inspector/inspector.js:
2070 (WebInspector.removeResource): Ditto.
2072 2008-09-23 Timothy Hatcher <timothy@apple.com>
2074 Fixes a bug where inspecting a node after reloading the page
2075 would not reveal the node in the DOM tree. The TreeOutline
2076 was not being told to forget decendants of a removed child.
2077 So old TreeElements would be found that are not in the tree.
2079 https://bugs.webkit.org/show_bug.cgi?id=21036
2081 Reviewed by Kevin McCullough.
2083 * page/inspector/treeoutline.js:
2084 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
2085 in addition to _forgetTreeElement.
2086 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
2087 in addition to _forgetTreeElement.
2088 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
2089 search for known elements.
2090 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
2091 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
2092 descendants and call _forgetTreeElement.
2093 * page/inspector/utilities.js:
2094 (Array.prototype.remove): Speed up this function by using Array.indexOf
2095 when onlyFirst is true.
2097 2008-09-23 Timothy Hatcher <timothy@apple.com>
2099 Fixes a bug where inspecting some short text nodes does
2100 not reveal them in the Elements panel DOM tree.
2102 https://bugs.webkit.org/show_bug.cgi?id=21035
2104 Reviewed by Oliver Hunt.
2106 * page/inspector/ElementsTreeOutline.js:
2107 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2108 The revealAndSelectNode() method might find a different element
2109 if there is inlined text, and the select() call would change the
2110 focusedDOMNode and reenter this setter. So to avoid calling
2111 focusedNodeChanged() twice, first check if _focusedDOMNode is
2112 the same node as the one passed in.
2113 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
2114 this.treeOutline, since this is the TreeOutline.
2115 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
2116 Provides default functions for isAncestor, getParet and equal.
2117 Calls the base protoype's findTreeElement. If that returns null
2118 and the node is a text node, try finding it's parent.
2119 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
2120 Renamed to revealAndSelectNode.
2121 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
2122 Selects and reveals the node passed in. Use the simple findTreeElement.
2123 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
2124 Remove use of this.treeOutline, since this is the TreeOutline.
2126 2008-09-23 Timothy Hatcher <timothy@apple.com>
2128 Fixes an exception that happened when removing a Resource
2129 from the ResourcesPanel.
2131 https://bugs.webkit.org/show_bug.cgi?id=21034
2133 Reviewed by Kevin McCullough.
2135 * page/inspector/ResourcesPanel.js:
2136 (WebInspctor.ResourcesPanel.prototype.removeResource):
2137 Remove the graphElement.
2139 2008-09-23 Kevin McCullough <kmccullough@apple.com>
2141 Fixed "Time" to "Tim"
2145 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
2149 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
2150 from SVGDocumentExtensions to SVGElement. It's more useful to store
2151 the list of SVGElementInstances per SVGElement, instead of using
2152 a document-wide hash for this purpose.
2154 * svg/SVGAnimateMotionElement.cpp:
2155 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2156 * svg/SVGAnimateTransformElement.cpp:
2157 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2158 * svg/SVGAnimationElement.cpp:
2159 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2160 * svg/SVGDocumentExtensions.cpp:
2161 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
2162 * svg/SVGDocumentExtensions.h:
2163 * svg/SVGElement.cpp:
2164 (WebCore::SVGElement::mapInstanceToElement):
2165 (WebCore::SVGElement::removeInstanceMapping):
2166 (WebCore::SVGElement::instancesForElement):
2168 * svg/SVGElementInstance.cpp:
2169 (WebCore::SVGElementInstance::SVGElementInstance):
2170 (WebCore::SVGElementInstance::~SVGElementInstance):
2171 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
2172 * svg/SVGElementInstance.h:
2173 * svg/SVGStyledElement.cpp:
2174 (WebCore::SVGStyledElement::svgAttributeChanged):
2175 (WebCore::SVGStyledElement::childrenChanged):
2176 * svg/SVGStyledElement.h:
2178 2008-09-23 Kevin Ollivier <kevino@theolliviers.com>
2182 * WebCoreSources.bkl:
2184 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
2186 Rubber stamped by Sam.
2188 Move code from EventTarget to EventTargetNode.
2190 I refactored most parts to live in EventTarget, a year ago,
2191 though the implementation of EventTargetSVGElementInstance is
2192 done in another way, that obsoletes this.
2195 (WebCore::Document::addListenerTypeIfNeeded):
2197 * dom/EventTarget.cpp:
2198 * dom/EventTarget.h:
2199 (WebCore::allowEventDispatch):
2200 * dom/EventTargetNode.cpp:
2201 (WebCore::EventTargetNode::insertedIntoDocument):
2202 (WebCore::EventTargetNode::removedFromDocument):
2203 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
2204 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
2205 (WebCore::EventTargetNode::addEventListener):
2206 (WebCore::EventTargetNode::removeEventListener):
2207 (WebCore::EventTargetNode::removeAllEventListeners):
2208 (WebCore::EventTargetNode::handleLocalEvents):
2209 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
2210 (WebCore::EventTargetNode::dispatchEvent):
2211 (WebCore::EventTargetNode::dispatchGenericEvent):
2212 (WebCore::EventTargetNode::dispatchWindowEvent):
2213 (WebCore::EventTargetNode::removeEventListenerForType):
2214 * dom/EventTargetNode.h:
2215 * svg/EventTargetSVGElementInstance.cpp:
2216 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
2217 * svg/SVGElement.cpp:
2218 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2220 (WebCore::SVGElement::supplementalTransform):
2222 2008-09-23 Dave Hyatt <hyatt@apple.com>
2224 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
2225 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
2227 Reviewed by Sam Weinig
2229 * platform/mac/ScrollbarThemeMac.mm:
2230 (WebCore::ScrollbarThemeMac::trackRect):
2231 * platform/win/ScrollbarThemeSafari.cpp:
2232 (WebCore::ScrollbarTheme::nativeTheme):
2233 (WebCore::ScrollbarThemeSafari::trackRect):
2235 2008-09-23 Beth Dakin <bdakin@apple.com>
2237 Reviewed by Sam Weinig.
2239 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
2240 link at gmail does not support AXPress action
2241 and corresponding: <rdar://problem/6216178>
2243 I fixed this bug by making AccessibilityObject::anchorElement
2246 * page/AccessibilityImageMapLink.cpp:
2247 (WebCore::AccessibilityImageMapLink::anchorElement):
2248 * page/AccessibilityImageMapLink.h:
2249 * page/AccessibilityObject.cpp:
2250 (WebCore::AccessibilityObject::anchorElement):
2251 * page/AccessibilityObject.h:
2252 (WebCore::AccessibilityObject::isNativeAnchor):
2253 * page/AccessibilityRenderObject.cpp:
2254 (WebCore::AccessibilityRenderObject::isNativeAnchor):
2255 (WebCore::AccessibilityRenderObject::anchorElement):
2256 (WebCore::AccessibilityRenderObject::internalLinkElement):
2257 (WebCore::AccessibilityRenderObject::url):
2258 * page/AccessibilityRenderObject.h:
2259 * page/mac/AccessibilityObjectWrapper.mm:
2260 (AXLinkElementForNode):
2262 2008-09-23 Kevin McCullough <kmccullough@apple.com>
2264 Reviewed by Tim and Oliver.
2266 Bug 20949: Catch repeated messages in Inspector Controller to limit
2268 - Store the repeat count in the Console Message object, in the
2269 Inspector Controller and JS ConsoleMessage object.
2271 * page/InspectorController.cpp:
2272 (WebCore::ConsoleMessage::ConsoleMessage):
2273 (WebCore::ConsoleMessage::operator==):
2274 (WebCore::InspectorController::InspectorController):
2275 (WebCore::InspectorController::addConsoleMessage):
2276 (WebCore::InspectorController::addScriptConsoleMessage):
2277 * page/InspectorController.h:
2278 * page/inspector/Console.js:
2279 * page/inspector/Resource.js:
2280 * page/inspector/ResourcesPanel.js:
2281 * page/inspector/SourceFrame.js:
2283 2008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
2287 Working on proper EventTarget support for SVGElementInstance.
2289 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
2290 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
2292 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
2293 implementation. Let it use TreeShared directly.
2295 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
2296 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
2300 * WebCore.vcproj/WebCore.vcproj:
2301 * WebCore.xcodeproj/project.pbxproj:
2302 * bindings/js/JSEventTargetBase.cpp:
2303 (WebCore::retrieveEventTargetAndCorrespondingNode):
2305 * bindings/js/JSEventTargetBase.h:
2306 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
2308 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
2309 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
2310 (WebCore::JSEventTargetSVGElementInstance::setListener):
2311 (WebCore::JSEventTargetSVGElementInstance::getListener):
2312 (WebCore::toEventTargetSVGElementInstance):
2313 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
2314 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
2315 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
2316 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
2317 (WebCore::JSEventTargetSVGElementInstance::put):
2318 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
2319 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
2321 * bindings/objc/DOM.mm:
2322 (+[DOMNode _wrapEventTarget:WebCore::]):
2323 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
2324 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
2325 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
2326 (-[DOMSVGElementInstance WebCore::]):
2327 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
2328 (-[DOMSVGElementInstance addEventListener:::]):
2329 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
2330 (-[DOMSVGElementInstance removeEventListener:::]):
2331 (-[DOMSVGElementInstance dispatchEvent:]):
2332 * bindings/objc/DOMEvents.h:
2333 * bindings/scripts/CodeGeneratorJS.pm:
2334 * bindings/scripts/CodeGeneratorObjC.pm:
2335 * svg/EventTargetSVGElementInstance.cpp: Added.
2336 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
2337 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
2338 (WebCore::EventTargetSVGElementInstance::addEventListener):
2339 (WebCore::EventTargetSVGElementInstance::removeEventListener):
2340 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
2341 * svg/EventTargetSVGElementInstance.h: Added.
2342 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
2343 (WebCore::EventTargetSVGElementInstance::toNode):
2344 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
2345 (WebCore::EventTargetSVGElementInstance::refEventTarget):
2346 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
2347 (WebCore::EventTargetSVGElementInstanceCast):
2348 * svg/SVGElement.cpp:
2349 (WebCore::SVGElement::dispatchEvent):
2350 * svg/SVGElementInstance.cpp:
2351 (WebCore::SVGElementInstance::SVGElementInstance):
2352 (WebCore::SVGElementInstance::~SVGElementInstance):
2353 * svg/SVGElementInstance.h:
2354 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
2355 * svg/SVGElementInstance.idl:
2357 2008-09-23 Dan Bernstein <mitz@apple.com>
2359 Reviewed by Dave Hyatt.
2361 - https://bugs.webkit.org/show_bug.cgi?id=21040
2362 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
2364 * platform/graphics/mac/SimpleFontDataMac.mm:
2365 (WebCore::SimpleFontData::getCTFont):
2367 2008-09-23 David Hyatt <hyatt@apple.com>
2369 https://bugs.webkit.org/show_bug.cgi?id=21039
2371 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
2373 Reviewed by Sam Weinig
2375 * platform/ScrollView.h:
2376 * platform/Scrollbar.cpp:
2377 (WebCore::Scrollbar::setFrameGeometry):
2378 * platform/Scrollbar.h:
2379 * platform/Widget.cpp:
2380 (WebCore::Widget::convertFromContainingWindow):
2381 * platform/Widget.h:
2382 * platform/mac/ScrollViewMac.mm:
2383 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2384 (WebCore::ScrollView::ScrollView):
2385 (WebCore::ScrollView::~ScrollView):
2386 (WebCore::ScrollView::windowResizerRect):
2387 (WebCore::ScrollView::resizerOverlapsContent):
2388 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
2389 (WebCore::ScrollView::setParent):
2390 * platform/mac/WidgetMac.mm:
2391 (WebCore::Widget::convertFromContainingWindow):
2393 2008-09-23 Dirk Schulze <vbs85@gmx.de>
2395 Reviewed by Darin Adler. Landed by Jan Alonzo.
2397 Added support for getImageData() and putImageData()
2400 [CAIRO] needs getImageData and putImageData support
2401 https://bugs.webkit.org/show_bug.cgi?id=20838
2403 * platform/graphics/cairo/ImageBufferCairo.cpp:
2404 (WebCore::ImageBuffer::ImageBuffer):
2405 (WebCore::ImageBuffer::getImageData):
2406 (WebCore::ImageBuffer::putImageData):
2408 2008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
2410 Reviewed by Holger Freyther.
2412 http://bugs.webkit.org/show_bug.cgi?id=18987
2413 [GTK] Implement SharedBuffer::createWithContentsOfFile and
2414 KURL::fileSystemPath
2416 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
2417 * platform/gtk/KURLGtk.cpp: Added.
2418 (WebCore::KURL::fileSystemPath): Implemented.
2419 * platform/gtk/SharedBufferGtk.cpp: Added.
2420 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
2421 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
2423 2008-09-23 Alexey Proskuryakov <ap@webkit.org>
2425 Reviewed by Oliver Hunt, okayed by Darin Adler.
2427 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
2429 * rendering/InlineTextBox.cpp:
2430 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
2432 2008-09-23 Alexey Proskuryakov <ap@webkit.org>
2434 Reviewed by Darin Adler.
2436 https://bugs.webkit.org/show_bug.cgi?id=21023
2437 Don't use TEC for encodings supported by ICU
2439 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
2440 x-mac-greek, and x-mac-turkish.
2442 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
2443 Register aliases for these encodings that are not registered automatically; updated comments.
2445 2008-09-23 Maciej Stachowiak <mjs@apple.com>
2449 - speed up instanceof some more
2450 https://bugs.webkit.org/show_bug.cgi?id=20818
2452 ~2% speedup on EarleyBoyer
2456 * bindings/js/JSQuarantinedObjectWrapper.h:
2457 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
2459 2008-09-22 Darin Adler <darin@apple.com>
2461 Reviewed by Oliver Hunt.
2463 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
2464 getting pixels by index from CanvasPixelArray is unnecessarily slow
2466 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
2467 * WebCore.vcproj/WebCore.vcproj: Ditto.
2468 * WebCore.xcodeproj/project.pbxproj: Ditto.
2470 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
2471 indexSetter. These are now both inlined, so in the header.
2472 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
2473 function is what's used for HasCustomIndexGetter. Also moved the
2474 indexSetter function here.
2476 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
2477 to use a getByIndex member function rather than an indexGetter static
2478 member function in a property slot. This lets us avoid the property
2479 slot mechanism's rule where it turns numeric property names into
2480 strings in the identifier table, which is good because that's slow.
2481 Also added a new property CustomHeader that allows IDL files to
2482 introduce headers to be included -- useful when we have functions
2483 that we want to inline into the binding.
2485 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
2487 2008-09-23 Eric Seidel <eric@webkit.org>
2489 No review, build fix only.
2491 Another blind stab in the dark.
2493 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
2495 2008-09-23 Eric Seidel <eric@webkit.org>
2497 No review, build fix only.
2499 Third time's the charm, eh? My local build is sadly still not done...
2501 * platform/graphics/AffineTransform.cpp: remove extra &
2502 * platform/graphics/AffineTransform.h: remove extra &
2504 2008-09-22 Eric Seidel <eric@webkit.org>
2506 No review, build fix only.
2508 * platform/graphics/AffineTransform.cpp: remove extra ;
2510 2008-09-22 Eric Seidel <eric@webkit.org>
2512 No review, build fix only.
2514 Speculative fix for the build while I wait for my compile to finish.
2516 * platform/graphics/AffineTransform.cpp:
2518 2008-09-22 Dirk Schulze <vbs85@gmx.de>
2520 Reviewed by eseidel. Landed by eseidel.
2522 Moved makeMapBetweenRects from SVG/CG to AffineTransform
2523 Make SVGResourceClipper::applyClip more cross-platform
2525 * platform/graphics/AffineTransform.cpp:
2526 * platform/graphics/AffineTransform.h:
2527 * svg/graphics/cg/CgSupport.cpp:
2528 * svg/graphics/cg/CgSupport.h:
2529 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2530 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
2531 * svg/graphics/cg/SVGResourceClipperCg.cpp:
2532 (WebCore::SVGResourceClipper::applyClip):
2534 2008-09-22 Alp Toker <alp@nuanti.com>
2536 Reviewed by David Hyatt.
2538 https://bugs.webkit.org/show_bug.cgi?id=16331
2539 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
2541 Obey GTK+ focusing conventions for controls and anchor elements.
2543 It could be interesting to push these decisions up to Settings or
2544 ChromeClient some day but this gets things working.
2546 Right and middle click events still need some work to match GTK+
2549 * html/HTMLAnchorElement.cpp:
2550 (WebCore::HTMLAnchorElement::isMouseFocusable):
2551 * html/HTMLFormControlElement.cpp:
2552 (WebCore::HTMLFormControlElement::isMouseFocusable):
2553 * page/EventHandler.cpp:
2554 (WebCore::EventHandler::sendContextMenuEvent):
2556 2008-09-22 Darin Adler <darin@apple.com>
2558 * page/mac/FrameMac.mm:
2559 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
2561 2008-09-22 Sam Weinig <sam@webkit.org>
2563 Reviewed by Dan Bernstein.
2565 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
2566 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
2567 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
2570 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
2571 non-selectable input types, but return undefined when accessed.
2573 * DerivedSources.make:
2576 * WebCore.vcproj/WebCore.vcproj:
2577 * WebCore.xcodeproj/project.pbxproj:
2578 * WebCoreSources.bkl:
2579 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
2580 * bindings/js/JSHTMLInputElementBase.h: Removed.
2581 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
2582 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
2583 (WebCore::JSHTMLInputElement::selectionStart):
2584 (WebCore::JSHTMLInputElement::selectionEnd):
2585 * bindings/js/JSHTMLInputElementCustom.h: Added.
2586 * html/HTMLInputElement.idl:
2588 2008-09-22 Dan Bernstein <mitz@apple.com>
2590 Reviewed by Sam Weinig.
2592 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
2594 Not testable in DumpRenderTree or in Safari
2596 * page/mac/FrameMac.mm:
2597 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
2598 case that the selection start node is a block.
2600 2008-09-22 David Hyatt <hyatt@apple.com>
2602 https://bugs.webkit.org/show_bug.cgi?id=21007
2604 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
2606 Reviewed by Sam Weinig
2608 * page/EventHandler.cpp:
2609 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2611 2008-09-22 Eric Seidel <eric@webkit.org>
2613 No review, rollback only.
2615 Roll out Peter's change (per his request)
2616 http://trac.webkit.org/changeset/36069
2617 https://bugs.webkit.org/show_bug.cgi?id=19663
2618 This change has been the source of numerous regressions
2619 (several of which were latent bugs revealed by this change,
2620 others were bugs in this change)
2622 * platform/graphics/BitmapImage.cpp:
2623 (WebCore::BitmapImage::BitmapImage):
2624 (WebCore::BitmapImage::startAnimation):
2625 (WebCore::BitmapImage::advanceAnimation):
2626 * platform/graphics/BitmapImage.h:
2627 * platform/graphics/cairo/ImageCairo.cpp:
2628 (WebCore::BitmapImage::draw):
2629 * platform/graphics/cg/ImageCG.cpp:
2630 (WebCore::BitmapImage::draw):
2631 * platform/graphics/qt/ImageQt.cpp:
2632 (WebCore::BitmapImage::draw):
2633 * platform/graphics/wx/ImageWx.cpp:
2634 (WebCore::BitmapImage::draw):
2636 2008-09-22 Dan Bernstein <mitz@apple.com>
2638 Reviewed by Sam Weinig.
2640 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
2642 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
2643 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
2645 * config.h: Use Core Text if not building for Leopard or Tiger.
2647 2008-09-22 David Hyatt <hyatt@apple.com>
2649 https://bugs.webkit.org/show_bug.cgi?id=21006
2651 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
2652 switched on. There are still a few more refinements to make to the rendering and behavior.
2654 Reviewed by Darin Adler
2656 * platform/ScrollbarThemeComposite.cpp:
2657 (WebCore::ScrollbarThemeComposite::paint):
2658 * platform/ScrollbarThemeComposite.h:
2659 (WebCore::ScrollbarThemeComposite::paintTrack):
2660 (WebCore::ScrollbarThemeComposite::paintButton):
2661 (WebCore::ScrollbarThemeComposite::paintThumb):
2662 * platform/mac/ScrollbarThemeMac.h:
2663 * platform/mac/ScrollbarThemeMac.mm:
2664 (WebCore::ScrollbarThemeMac::backButtonRect):
2665 (WebCore::ScrollbarThemeMac::forwardButtonRect):
2666 (WebCore::scrollbarPartToHIPressedState):
2667 (WebCore::ScrollbarThemeMac::paint):
2668 * platform/mac/WidgetMac.mm:
2669 (WebCore::Widget::invalidateRect):
2671 2008-09-22 Chris Marrin <cmarrin@apple.com>
2673 Reviewed by Sam Weinig
2675 transition end event when -webkit-transition-property: all puts wrong
2676 propertyName in event
2677 https://bugs.webkit.org/show_bug.cgi?id=20903
2679 * page/animation/ImplicitAnimation.cpp:
2680 (WebCore::ImplicitAnimation::sendTransitionEvent):
2682 2008-09-22 Chris Fleizach <cfleizach@apple.com>
2684 Reviewed by Darin Adler.
2686 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
2688 Test: accessibility/table-one-cell.html
2690 * page/AccessibilityTable.cpp:
2691 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2693 2008-09-22 Chris Fleizach <cfleizach@apple.com>
2695 Reviewed by Darin Adler.
2697 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
2699 Test: accessibility/textarea-selected-text-range.html
2701 * page/AccessibilityRenderObject.cpp:
2702 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2704 2008-09-22 David Hyatt <hyatt@apple.com>
2706 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
2707 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
2708 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
2711 Reviewed by Sam Weinig
2713 Added fast/css/nested-rule-parent-sheet.html
2715 * css/CSSImportRule.cpp:
2716 (WebCore::CSSImportRule::insertedIntoParent):
2718 (WebCore::CSSRule::parentStyleSheet):
2719 (WebCore::CSSRule::parentRule):
2720 * css/CSSStyleSheet.cpp:
2721 (WebCore::CSSStyleSheet::CSSStyleSheet):
2722 * css/CSSStyleSheet.h:
2724 2008-09-22 Dan Bernstein <mitz@apple.com>
2726 Reviewed by Sam Weinig.
2728 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
2729 Make the ATSUI code path respect spacingDisabled()
2731 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
2733 * platform/graphics/mac/FontMacATSUI.mm:
2734 (WebCore::overrideLayoutOperation):
2736 2008-09-22 Maciej Stachowiak <mjs@apple.com>
2738 Reviewed by Cameron Zwarich.
2740 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
2742 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
2744 2.2% speedup on EarleyBoyer benchmark.
2746 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2747 * bindings/js/JSQuarantinedObjectWrapper.h:
2748 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
2749 * bindings/scripts/CodeGeneratorJS.pm:
2751 2008-09-22 Adam Roben <aroben@apple.com>
2755 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
2757 2008-09-22 Maciej Stachowiak <mjs@apple.com>
2759 Reviewed by Dave Hyatt.
2761 Based on initial work by Darin Adler.
2763 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
2764 - use this to JIT inline code for eq_null and neq_null
2765 https://bugs.webkit.org/show_bug.cgi?id=20823
2767 * WebCore.xcodeproj/project.pbxproj:
2768 * WebCore.vcproj/WebCore.vcproj:
2769 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2770 (WebCore::JSCSSStyleDeclaration::nameGetter):
2771 * bindings/js/JSHTMLAllCollection.cpp: Added.
2773 * bindings/js/JSHTMLAllCollection.h:
2774 (WebCore::JSHTMLAllCollection::createStructureID):
2775 (WebCore::JSHTMLAllCollection::toBoolean):
2777 2008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
2781 Fix the QtWebKit build
2783 * bridge/qt/qt_instance.cpp:
2784 (JSC::Bindings::QtRuntimeObjectImp::construct):
2785 * bridge/qt/qt_runtime.cpp:
2787 2008-09-22 Alp Toker <alp@nuanti.com>
2789 Suggested by David Hyatt.
2791 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
2794 * platform/ScrollView.h:
2796 2008-09-22 David Hyatt <hyatt@apple.com>
2798 Fix a regression in Windows scrollbar painting. (Also fix the same
2799 bug in my new viewless Mac scrollbar painting code). The track rect
2800 was being improperly inflated when painting resulting in the scrollbar
2801 being too tall and painting in the border of overflow sections.
2803 Reviewed by Oliver Hunt
2805 * platform/mac/ScrollbarThemeMac.mm:
2806 (WebCore::ScrollbarThemeMac::trackRect):
2807 * platform/win/ScrollbarThemeSafari.cpp:
2808 (WebCore::ScrollbarThemeSafari::trackRect):
2810 2008-09-22 David Hyatt <hyatt@apple.com>
2812 Fix a hit testing bug where events are mistakenly passed to subframes
2813 if the mouse is over the border or padding area of the frame. Add
2814 a boolean flag, isOverWidget(), to hit test results so that EventHandler
2815 can check it to tell if the mouse is really over the content box of a
2816 RenderWidget and not just in the border/padding area.
2818 This is not testable, since the old code properly recovered when it detected
2819 that the mouse was outside the bounds of the view, but this prevents
2820 the extra passdown from even occurring (and is basically a nice cleanup).
2822 Reviewed by Oliver Hunt
2824 * page/EventHandler.cpp:
2825 (WebCore::EventHandler::handleMousePressEvent):
2826 (WebCore::EventHandler::hitTestResultAtPoint):
2827 (WebCore::subframeForHitTestResult):
2828 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2829 (WebCore::EventHandler::handleMouseMoveEvent):
2830 (WebCore::EventHandler::handleMouseReleaseEvent):
2831 (WebCore::EventHandler::handleWheelEvent):
2832 * page/MouseEventWithHitTestResults.h:
2833 (WebCore::MouseEventWithHitTestResults::isOverWidget):
2834 * rendering/HitTestResult.cpp:
2835 (WebCore::HitTestResult::HitTestResult):
2836 (WebCore::HitTestResult::operator=):
2837 * rendering/HitTestResult.h:
2838 (WebCore::HitTestResult::isOverWidget):
2839 (WebCore::HitTestResult::setIsOverWidget):
2840 * rendering/RenderWidget.cpp:
2841 (WebCore::RenderWidget::nodeAtPoint):
2842 * rendering/RenderWidget.h:
2844 2008-09-21 David Hyatt <hyatt@apple.com>
2846 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
2847 both it and ScrollView's updateContents method be off-limits to everyone in
2848 WebCore except for RenderView.
2850 Make repaintViewRectangle the only possible method for WebCore code to do
2851 an invalidation. This ensures that all invalidates triggered by WebCore
2852 cross-platform code that cross ownerElement() boundaries are transform-aware.
2854 Make sure that iframes/frames contained inside objects that have transforms
2855 or reflections are not allowed to blit (this was already true for transparency).
2857 It is not possible to make a test for any of this, since iframe scrolling
2858 still doesn't work on Mac (since the invalidates are not being done
2859 through WebCore's cross-platform invalidation code but are instead going
2860 through NSScrollView's setNeedsDisplay still).
2862 Reviewed by Oliver Hunt
2864 * editing/SelectionController.cpp:
2865 (WebCore::SelectionController::recomputeCaretRect):
2866 (WebCore::SelectionController::invalidateCaretRect):
2867 (WebCore::SelectionController::focusedOrActiveStateChanged):
2868 * page/FrameView.cpp:
2869 (WebCore::FrameView::repaintContentRectangle):
2870 (WebCore::FrameView::endDeferredRepaints):
2872 * platform/ScrollView.h:
2873 * rendering/RenderBox.cpp:
2874 (WebCore::RenderBox::paintFillLayerExtended):
2875 * rendering/RenderLayer.cpp:
2876 (WebCore::RenderLayer::enclosingPositionedAncestor):
2877 (WebCore::RenderLayer::requiresSlowRepaints):
2878 * rendering/RenderLayer.h:
2879 (WebCore::RenderLayer::hasTransform):
2880 * rendering/RenderView.cpp:
2881 (WebCore::RenderView::paintBoxDecorations):
2882 (WebCore::RenderView::repaintViewRectangle):
2883 (WebCore::RenderView::setSelection):
2885 2008-09-21 Maciej Stachowiak <mjs@apple.com>
2889 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
2890 https://bugs.webkit.org/show_bug.cgi?id=20981
2892 * bindings/js/JSAudioConstructor.cpp:
2893 (WebCore::JSAudioConstructor::JSAudioConstructor):
2894 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2895 (WebCore::JSCSSStyleDeclaration::nameGetter):
2896 * bindings/js/JSDOMBinding.cpp:
2897 (WebCore::createDOMStructure):
2898 * bindings/js/JSDOMBinding.h:
2899 (WebCore::getDOMStructure):
2900 * bindings/js/JSDOMWindowShell.cpp:
2901 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2902 (WebCore::JSDOMWindowShell::setWindow):
2903 * bindings/js/JSEventTargetNode.cpp:
2904 (WebCore::JSEventTargetNode::createPrototype):
2905 * bindings/js/JSHTMLOptionElementConstructor.cpp:
2906 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2907 * bindings/js/JSImageConstructor.cpp:
2908 (WebCore::JSImageConstructor::JSImageConstructor):
2909 * bindings/js/JSXMLHttpRequestConstructor.cpp:
2910 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2911 * bindings/js/JSXSLTProcessorConstructor.cpp:
2912 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2913 * bindings/scripts/CodeGeneratorJS.pm:
2915 2008-09-21 Darin Adler <darin@apple.com>
2917 Reviewed by Maciej Stachowiak.
2919 - fix problem Maciej noticed where every JSNamedNodesCollection
2920 gets its own StructureID
2922 * bindings/js/JSNamedNodesCollection.cpp:
2923 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
2924 getDOMStructure to get the structure.
2925 * bindings/js/JSNamedNodesCollection.h:
2926 (WebCore::JSNamedNodesCollection::createPrototype): Return the
2929 2008-09-20 David Hyatt <hyatt@apple.com>
2931 Make sure transformed scrollbars in overflow sections position
2932 properly. This patch mimics the same behavior that works for
2933 iframes, namely making sure that the same code that dynamically
2934 adjusts iframe widget positions at paint time for fixed positioning
2935 and transforms also applies to scrollbars. (This is as simple as passing
2936 in the current translation factor at paint time rather than crawling
2937 up the layer tree to compute a "false" absolute position.)
2939 An existing transform test covers this (although only a pixel result
2940 reveals the correct rendering).
2942 Reviewed by Darin Adler
2944 * rendering/RenderLayer.cpp:
2945 (WebCore::RenderLayer::updateLayerPositions):
2946 (WebCore::RenderLayer::positionOverflowControls):
2947 (WebCore::RenderLayer::paintOverflowControls):
2948 (WebCore::RenderLayer::paintLayer):
2949 * rendering/RenderLayer.h:
2951 2008-09-21 Steve Falkenburg <sfalken@apple.com>
2953 Removed unnecessary nested timer check.
2955 Rubber-stamped by Dan Bernstein.
2957 * platform/win/SharedTimerWin.cpp:
2958 (WebCore::TimerWindowWndProc):
2960 2008-09-21 Steve Falkenburg <sfalken@apple.com>
2962 Improve timer resolution on WinXP.
2963 https://bugs.webkit.org/show_bug.cgi?id=20979
2965 Removed last-chance timer. It should not be necessary.
2966 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
2967 Remove Vista checks. We now run the same code on both XP and Vista.
2969 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
2970 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
2972 Reviewed by Maciej Stachowiak.
2974 * platform/win/SharedTimerWin.cpp:
2976 (WebCore::TimerWindowWndProc):
2977 (WebCore::setSharedTimerFireTime):
2978 * platform/win/SystemTimeWin.cpp:
2979 (WebCore::currentTime):
2981 2008-09-21 Dirk Schulze <vbs85@gmx.de>
2983 Reviewed by eseidel. Landed by eseidel.
2985 All platforms use the DashArray in the GraphicsContext.
2987 * svg/graphics/SVGPaintServer.h:
2988 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
2989 (WebCore::SVGPaintServerGradient::setup):
2990 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
2991 (WebCore::SVGPaintServerPattern::setup):
2992 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
2993 (WebCore::SVGPaintServerSolid::setup):
2994 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
2995 (WebCore::SVGPaintServerGradient::setup):
2996 * svg/graphics/qt/SVGPaintServerQt.cpp:
2997 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
2998 (WebCore::SVGPaintServerSolid::setup):
3000 2008-09-21 Dirk Schulze <vbs85@gmx.de>
3002 Reviewed by eseidel. Landed by eseidel.
3004 Moved DashArray to GraphicsContext.
3007 * WebCore.vcproj/WebCore.vcproj:
3008 * WebCore.xcodeproj/project.pbxproj:
3009 * platform/graphics/DashArray.h: Added.
3010 * platform/graphics/GraphicsContext.h:
3011 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3012 (WebCore::GraphicsContext::setLineDash):
3013 * platform/graphics/cg/GraphicsContextCG.cpp:
3014 (WebCore::GraphicsContext::setLineDash):
3015 * platform/graphics/qt/GraphicsContextQt.cpp:
3016 (WebCore::GraphicsContext::setLineDash):
3017 * svg/graphics/SVGPaintServer.cpp:
3018 (WebCore::applyStrokeStyleToContext):
3019 * svg/graphics/SVGPaintServer.h:
3020 * svg/graphics/cg/CgSupport.cpp:
3021 * svg/graphics/cg/CgSupport.h:
3023 2008-09-21 Dan Bernstein <mitz@apple.com>
3025 Reviewed by Mark Rowe.
3027 - fix linker warnings
3031 2008-09-20 Darin Adler <darin@apple.com>
3033 - another try at fixing Qt
3035 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
3037 2008-09-20 Darin Adler <darin@apple.com>
3039 - blind attempt to fix Qt build
3041 * bridge/qt/qt_runtime.cpp:
3042 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
3043 of regExpPrototype to make a RegExpObject. There should really be
3044 some sort of public helper function for this. Same thing for
3045 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
3047 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
3048 It is not correct to do this inside the constructor because it could
3049 cause a garbage collect while the QtRuntimeMethod object is half-
3050 allocated, which could lead to a crash; note that RuntimeMethod,
3051 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
3052 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
3054 2008-09-20 Collin Jackson <collinj@webkit.org>
3056 Prefetch DNS for hyperlinks that the user mouses over.
3058 https://bugs.webkit.org/show_bug.cgi?id=20931
3060 Reviewed by Sam Weinig.
3063 (WebCore::Chrome::mouseDidMoveOverElement):
3065 2008-09-20 Darin Adler <darin@apple.com>
3067 Reviewed by Maciej Stachowiak.
3069 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
3070 make each distinct C++ class get a distinct JSC::Structure
3072 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3073 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
3074 ID. Note that this makes a new structure every time -- we could
3075 optimize this slightly be caching and reusing a single one.
3077 * bridge/runtime_method.cpp:
3078 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
3080 * bridge/runtime_method.h:
3081 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
3082 getDOMStructure will work.
3084 * bindings/js/JSDOMWindowShell.cpp:
3085 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
3086 0; needed in case garbage collection happens while creating the
3089 2008-09-20 Dan Bernstein <mitz@apple.com>
3091 Reviewed by Eric Seidel.
3093 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
3094 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
3096 * svg/SVGTextContentElement.cpp:
3097 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
3098 not include the first character in the extraCharsAvailable count.
3100 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
3102 Reviewed by Dan Bernstein.
3106 https://bugs.webkit.org/show_bug.cgi?id=20505
3108 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
3111 2008-09-20 Kevin Ollivier <kevino@theolliviers.com>
3113 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
3115 * WebCoreSources.bkl:
3116 * platform/ScrollView.h:
3117 * platform/wx/PopupMenuWx.cpp:
3118 (WebCore::PopupMenu::show):
3119 * platform/wx/RenderThemeWx.cpp:
3120 (WebCore::RenderThemeWx::paintButton):
3121 (WebCore::RenderThemeWx::paintTextField):
3122 (WebCore::RenderThemeWx::paintMenuList):
3123 (WebCore::RenderThemeWx::paintMenuListButton):
3124 * platform/wx/ScrollViewWx.cpp:
3125 (WebCore::ScrollView::setPlatformWidget):
3126 (WebCore::ScrollView::updateContents):
3127 (WebCore::ScrollView::update):
3128 (WebCore::ScrollView::visibleWidth):
3129 (WebCore::ScrollView::visibleHeight):
3130 (WebCore::ScrollView::scrollBy):
3131 (WebCore::ScrollView::resizeContents):
3132 (WebCore::ScrollView::contentsWidth):
3133 (WebCore::ScrollView::contentsHeight):
3134 (WebCore::ScrollView::isScrollViewScrollbar):
3135 (WebCore::ScrollView::adjustScrollbars):
3136 (WebCore::ScrollView::inWindow):
3137 (WebCore::ScrollView::removeChild):
3138 * platform/wx/WidgetWx.cpp:
3139 * plugins/wx/PluginViewWx.cpp:
3140 (WebCore::PluginView::setParentVisible):
3141 (WebCore::PluginView::updatePluginWidget):
3143 2008-09-20 Timothy Hatcher <timothy@apple.com>
3145 Fix the new Node Search button image to not be blurry.
3147 * page/inspector/Images/nodeSearchButtons.png:
3149 2008-09-20 Matt Lilek <webkit@mattlilek.com>
3151 Reviewed by Tim Hatcher.
3153 Cut down some of the inspector javascript -> InspectorController glue code
3154 with two new macros. Also rearrange the exposed function list to be grouped
3155 by implementation and to all explicitly use the WebCore namespace.
3157 * page/InspectorController.cpp:
3158 (WebCore::InspectorController::windowScriptObjectAvailable):
3160 2008-09-20 Matt Lilek <webkit@mattlilek.com>
3162 Reviewed by Tim Hatcher.
3164 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
3166 * page/inspector/inspector.css:
3168 2008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
3172 Refactor HTMLImageLoader/SVGImageLoader code.
3173 Move html/HTMLImageLoader.* to loader/ImageLoader.*
3175 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
3176 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
3180 * WebCore.vcproj/WebCore.vcproj:
3181 * WebCore.xcodeproj/project.pbxproj:
3182 * WebCoreSources.bkl:
3184 (WebCore::Document::dispatchImageLoadEventSoon):
3185 (WebCore::Document::removeImage):
3186 (WebCore::Document::dispatchImageLoadEventsNow):
3188 * html/HTMLImageLoader.cpp:
3189 (WebCore::HTMLImageLoader::HTMLImageLoader):
3190 (WebCore::HTMLImageLoader::~HTMLImageLoader):
3191 (WebCore::HTMLImageLoader::sourceURI):
3192 (WebCore::HTMLImageLoader::notifyFinished):
3193 * html/HTMLImageLoader.h:
3194 * loader/DocLoader.h:
3195 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
3196 (WebCore::ImageLoader::ImageLoader):
3197 (WebCore::ImageLoader::~ImageLoader):
3198 (WebCore::ImageLoader::setImage):
3199 (WebCore::ImageLoader::setLoadingImage):
3200 (WebCore::ImageLoader::updateFromElement):
3201 (WebCore::ImageLoader::notifyFinished):
3202 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
3203 * svg/SVGImageElement.cpp:
3204 (WebCore::SVGImageElement::attach):
3205 (WebCore::SVGImageElement::insertedIntoDocument):
3206 (WebCore::SVGImageElement::imageSourceAttributeName):
3207 * svg/SVGImageElement.h:
3208 * svg/SVGImageLoader.cpp:
3209 (WebCore::SVGImageLoader::SVGImageLoader):
3210 (WebCore::SVGImageLoader::dispatchLoadEvent):
3211 (WebCore::SVGImageLoader::sourceURI):
3212 * svg/SVGImageLoader.h:
3214 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
3218 [qtwebkit] ScrollBar build fix after r36684.
3219 BackButtonPart was split into Start and End Part
3220 ForwardButtonPart was split into Start and End Part
3222 * platform/qt/ScrollbarThemeQt.cpp:
3224 (WebCore::scrollbarPart):
3225 (WebCore::styleOptionSlider):
3227 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
3231 [qtwebkit] Make qt_instance.cpp compile.
3232 Revision of 36675 introduced getDOMStructure to give unique
3233 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
3234 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
3236 * bridge/qt/qt_instance.cpp:
3237 (JSC::Bindings::QtInstance::getRuntimeObject):
3239 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
3241 Reviewed by Nikolas Zimmermann.
3243 [svg] Change SVGLocatable to deal with a plain SVGElement
3244 There is no requirement in the code that we have to have a
3245 SVGStyledElement. Remove that artificial limitation and compile
3248 * svg/SVGLocatable.cpp:
3249 * svg/SVGLocatable.h:
3251 2008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
3253 Reviewed by Nikolas Zimmermann.
3255 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
3259 (WebCore::Document::~Document):
3260 (WebCore::Document::svgExtensions):
3261 (WebCore::Document::accessSVGExtensions):
3264 2008-09-19 David Hyatt <hyatt@apple.com>
3266 Fix for crash in updateTransitions. Make sure to test for a style
3267 being null when comparing two RenderStyles.
3269 Reviewed by Oliver Hunt
3271 * page/animation/AnimationBase.cpp:
3272 (WebCore::PropertyWrapperGetter::equals):
3274 2008-09-19 David Hyatt <hyatt@apple.com>
3276 https://bugs.webkit.org/show_bug.cgi?id=20954
3278 Roll out r36628 since it has caused horrible regressions with
3279 animated GIF CPU usage.
3281 * platform/graphics/BitmapImage.cpp:
3282 (WebCore::BitmapImage::cacheFrame):
3283 (WebCore::BitmapImage::startAnimation):
3284 * platform/graphics/BitmapImage.h:
3285 (WebCore::FrameData::FrameData):
3286 * platform/graphics/cairo/ImageCairo.cpp:
3287 (WebCore::FrameData::clear):
3288 * platform/graphics/cg/ImageCG.cpp:
3289 (WebCore::FrameData::clear):
3290 * platform/graphics/qt/ImageQt.cpp:
3291 (WebCore::FrameData::clear):
3292 * platform/graphics/wx/ImageWx.cpp:
3293 (WebCore::FrameData::clear):
3295 2008-09-20 Alp Toker <alp@nuanti.com>
3297 Reviewed by Timothy Hatcher.
3299 https://bugs.webkit.org/show_bug.cgi?id=20913
3300 Avoid redudant includes
3302 Document.h is included excessively such that a modification to Document.h (or
3303 any of the header it includes itself) triggers a rebuild of many files
3304 including the whole of SVG and a lot of the JS bindings.
3306 Some of these includes can be avoided by only including Document.h where
3309 * bindings/js/JSAttrCustom.cpp:
3310 * bindings/js/JSElementCustom.cpp:
3311 * bindings/js/JSEventTargetBase.cpp:
3312 * bindings/js/JSEventTargetBase.h:
3313 * bindings/js/JSEventTargetNode.cpp:
3314 * bindings/js/JSHTMLFrameElementCustom.cpp:
3315 * bindings/js/JSHTMLIFrameElementCustom.cpp:
3316 * bindings/scripts/CodeGeneratorJS.pm:
3317 * css/CSSCursorImageValue.cpp:
3318 * css/SVGCSSStyleSelector.cpp:
3319 * dom/make_names.pl:
3320 * svg/SVGAnimateElement.h:
3321 * svg/SVGAnimatedProperty.h:
3322 (WebCore::::baseValue):
3323 (WebCore::::setBaseValue):
3324 (WebCore::::startAnimation):
3325 (WebCore::::stopAnimation):
3326 * svg/SVGElement.cpp:
3327 (WebCore::SVGElement::accessDocumentSVGExtensions):
3329 * svg/SVGElementInstance.cpp:
3330 * svg/SVGFitToViewBox.cpp:
3331 * svg/SVGFontElement.cpp:
3332 * svg/SVGFontFaceElement.cpp:
3333 * svg/SVGLinearGradientElement.cpp:
3334 * svg/SVGMPathElement.cpp:
3335 * svg/SVGViewSpec.cpp:
3337 2008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
3339 Reviewed by Antti & Eric.
3341 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
3343 Finish HTMLScriptElement / SVGScriptElement unification.
3344 SVG <script> support is complete now, full SVGLoad event
3345 respecting the influence of the externalResourcesRequired attribute
3346 as well as SVGError event support. All other features shared with HTML.
3348 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
3349 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
3350 svg/dom/SVGScriptElement/script-load-and-error-events.svg
3351 svg/dom/SVGScriptElement/script-reexecution.svg
3352 svg/dom/SVGScriptElement/script-set-href.svg
3354 * dom/ScriptElement.cpp:
3355 (WebCore::ScriptElementData::ScriptElementData):
3356 (WebCore::ScriptElementData::requestScript):
3357 * dom/ScriptElement.h:
3358 (WebCore::ScriptElementData::haveFiredLoadEvent):
3359 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
3360 * dom/XMLTokenizer.cpp:
3361 (WebCore::XMLTokenizer::notifyFinished):
3362 * html/HTMLScriptElement.cpp:
3363 (WebCore::HTMLScriptElement::dispatchLoadEvent):
3364 * svg/SVGScriptElement.cpp:
3365 (WebCore::SVGScriptElement::setCreatedByParser):
3366 (WebCore::SVGScriptElement::parseMappedAttribute):
3367 (WebCore::SVGScriptElement::svgAttributeChanged):
3368 (WebCore::SVGScriptElement::insertedIntoDocument):
3369 (WebCore::SVGScriptElement::removedFromDocument):
3370 (WebCore::SVGScriptElement::childrenChanged):
3371 (WebCore::SVGScriptElement::isURLAttribute):
3372 (WebCore::SVGScriptElement::finishParsingChildren):
3373 (WebCore::SVGScriptElement::type):
3374 (WebCore::SVGScriptElement::setType):
3375 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
3376 (WebCore::SVGScriptElement::dispatchLoadEvent):
3377 (WebCore::SVGScriptElement::dispatchErrorEvent):
3378 * svg/SVGScriptElement.h:
3380 2008-09-19 Dan Bernstein <mitz@apple.com>
3382 Reviewed by John Sullivan.
3384 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
3385 Typo in Position::getInlineBoxAndOffset()
3386 and add an assertion
3388 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
3391 (WebCore::Position::getInlineBoxAndOffset):
3392 * rendering/InlineTextBox.cpp:
3393 (WebCore::InlineTextBox::positionForOffset):
3395 2008-09-19 David Hyatt <hyatt@apple.com>
3397 Add support for hit testing of all five possible scrollbar button placements.
3399 Reviewed by Sam Weinig
3401 * platform/ScrollbarThemeComposite.cpp:
3402 (WebCore::ScrollbarThemeComposite::paint):
3403 * platform/mac/ScrollbarThemeMac.mm:
3405 (WebCore::ScrollbarThemeMac::backButtonRect):
3406 (WebCore::ScrollbarThemeMac::forwardButtonRect):
3407 (WebCore::ScrollbarThemeMac::trackRect):
3408 (WebCore::ScrollbarThemeMac::paintButton):
3410 2008-09-19 Darin Adler <darin@apple.com>
3412 - try to fix Qt build
3414 * bridge/qt/qt_instance.cpp:
3415 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
3416 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
3417 * bridge/runtime_object.cpp:
3418 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
3419 * bridge/runtime_object.h: Ditto.
3421 2008-09-19 Chris Marrin <cmarrin@apple.com>
3423 Reviewed by Dave Hyatt.
3425 Transition starts running when it shouldn't
3426 https://bugs.webkit.org/show_bug.cgi?id=20892
3428 When there is a transition and an animation on the
3429 same element, make sure the animation wins.
3431 The fix is to save the unanimated style when an animation is started.
3432 Then, when starting a transition, check to see if there is a current
3433 animation on the same prop. If so, use the unanimated style as the
3434 fromStyle rather than the current style.
3436 Test: animations/transition-and-animation-1.html
3438 * page/animation/CompositeAnimation.cpp:
3439 (WebCore::CompositeAnimation::updateTransitions):
3440 (WebCore::CompositeAnimation::updateKeyframeAnimations):
3441 (WebCore::CompositeAnimation::animate):
3442 (WebCore::CompositeAnimation::getAnimationForProperty):
3443 * page/animation/CompositeAnimation.h:
3444 * page/animation/ImplicitAnimation.cpp:
3445 (WebCore::ImplicitAnimation::reset):
3446 * page/animation/ImplicitAnimation.h:
3447 * page/animation/KeyframeAnimation.cpp:
3448 (WebCore::KeyframeAnimation::hasAnimationForProperty):
3449 * page/animation/KeyframeAnimation.h:
3450 (WebCore::KeyframeAnimation::KeyframeAnimation):
3451 (WebCore::KeyframeAnimation::unanimatedStyle):
3453 2008-09-19 David Hyatt <hyatt@apple.com>
3455 Add support for painting/hit testing of four possible scrollbar buttons.
3456 The Windows themes simply ignore the two parts that they will never
3457 show. The Mac theme also ignores the other two buttons for now.
3459 The cross-platform base for all three themes, ScrollbarThemeComposite,
3460 has all the proper support though.
3462 Reviewed by Sam Weinig
3464 * platform/ScrollbarThemeComposite.cpp:
3465 (WebCore::ScrollbarThemeComposite::hitTest):
3466 (WebCore::ScrollbarThemeComposite::invalidatePart):
3467 * platform/ScrollbarThemeComposite.h:
3468 * platform/mac/ScrollbarThemeMac.h:
3469 * platform/mac/ScrollbarThemeMac.mm:
3470 (WebCore::ScrollbarThemeMac::backButtonRect):
3471 (WebCore::ScrollbarThemeMac::forwardButtonRect):
3472 (WebCore::ScrollbarThemeMac::paintButton):
3473 * platform/win/ScrollbarThemeSafari.cpp:
3474 (WebCore::ScrollbarThemeSafari::backButtonRect):
3475 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
3476 (WebCore::ScrollbarThemeSafari::paintButton):
3477 * platform/win/ScrollbarThemeSafari.h:
3478 * platform/win/ScrollbarThemeWin.cpp:
3479 (WebCore::ScrollbarThemeWin::backButtonRect):
3480 (WebCore::ScrollbarThemeWin::forwardButtonRect):
3481 (WebCore::ScrollbarThemeWin::paintButton):
3482 * platform/win/ScrollbarThemeWin.h:
3484 2008-09-19 Matt Lilek <webkit@mattlilek.com>
3486 Reviewed by Tim Hatcher.
3488 Bug 17772: Inspector should support point-and-click to select a node to inspect
3489 https://bugs.webkit.org/show_bug.cgi?id=17772
3490 <rdar://problem/5792395>
3492 * English.lproj/localizedStrings.js:
3494 (WebCore::Chrome::mouseDidMoveOverElement):
3495 * page/EventHandler.cpp:
3496 (WebCore::EventHandler::handleMousePressEvent):
3497 * page/InspectorController.cpp:
3498 (WebCore::toggleNodeSearch):
3499 (WebCore::searchingForNode):
3500 (WebCore::InspectorController::InspectorController):
3501 (WebCore::InspectorController::toggleSearchForNodeInPage):
3502 (WebCore::InspectorController::mouseDidMoveOverElement):
3503 (WebCore::InspectorController::handleMousePressOnNode):
3504 (WebCore::InspectorController::windowScriptObjectAvailable):
3505 * page/InspectorController.h:
3506 (WebCore::InspectorController::searchingForNodeInPage):
3507 * page/inspector/ElementsPanel.js:
3508 * page/inspector/Images/nodeSearchButtons.png: Added.
3509 * page/inspector/inspector.css:
3511 2008-09-19 David Hyatt <hyatt@apple.com>
3513 Add new scrollbar parts to be able to represent back and forward buttons
3514 at either end of the scrollbar. The current scrollbar still just draws
3515 a single button at either end, but the parts now exist.
3517 Reviewed by Sam Weinig
3519 * platform/ScrollTypes.h:
3521 * platform/Scrollbar.cpp:
3522 (WebCore::Scrollbar::autoscrollTimerFired):
3523 (WebCore::Scrollbar::pressedPartScrollDirection):
3524 (WebCore::Scrollbar::pressedPartScrollGranularity):
3525 (WebCore::Scrollbar::handleMouseMoveEvent):
3526 * platform/ScrollbarTheme.h:
3527 (WebCore::ScrollbarTheme::buttonsPlacement):
3528 (WebCore::ScrollbarTheme::invalidateParts):
3529 * platform/ScrollbarThemeComposite.cpp:
3530 (WebCore::ScrollbarThemeComposite::paint):
3531 (WebCore::ScrollbarThemeComposite::hitTest):
3532 (WebCore::ScrollbarThemeComposite::invalidatePart):
3533 * platform/ScrollbarThemeComposite.h:
3535 2008-09-19 Beth Dakin <bdakin@apple.com>
3537 Reviewed by Dave Hyatt.
3539 Fix for <rdar://problem/6231308> crash in AutoTableLayout
3541 The code assumes later on that a TableSection's grid's row vector
3542 will never be empty. So make 1 the minimum number of columns.
3544 * rendering/RenderTableSection.cpp:
3545 (WebCore::RenderTableSection::ensureRows):
3547 2008-09-19 David Hyatt <hyatt@apple.com>
3549 Add a new ScrollbarButtonsPlacement type for specifying where
3550 the button arrows are in a scrollbar.
3552 Read in the placement settings for Mac. Nothing is done with the
3555 Add a new buttonsPlacement() method to ScrollbarTheme composite
3556 so that the arrow settings can be obtained.
3558 Reviewed by Sam Weinig
3560 * platform/ScrollTypes.h:
3562 * platform/ScrollbarThemeComposite.h:
3563 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
3564 * platform/mac/ScrollbarThemeMac.mm:
3565 (WebCore::updateArrowPlacement):
3566 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3568 2008-09-19 Steve Falkenburg <sfalken@apple.com>
3570 Roll out r36626. It is causing variance in SunSpider numbers on XP.
3572 Rubber stamped by Mark Rowe.
3574 * platform/win/SharedTimerWin.cpp:
3575 (WebCore::isRunningOnVistaOrLater):
3576 (WebCore::setSharedTimerFireTime):
3578 2008-09-19 Kevin McCullough <kmccullough@apple.com>
3582 https://bugs.webkit.org/show_bug.cgi?id=20942
3583 Bug 20942: Repeated messages in resources don't collapse
3584 - Now repeated messages in a resource's view are collapsed and a message
3585 says how many were repeated.
3587 * English.lproj/localizedStrings.js:
3588 * manual-tests/inspector/multiple-console-messages.html:
3589 * page/inspector/Console.js: Send all the messages to the resource's
3590 view before possibly returning early if the message is a repeat.
3591 * page/inspector/SourceFrame.js: Add the text about the message being
3592 repeated, if it is, and increment it when necessary.
3594 2008-09-19 Chris Fleizach <cfleizach@apple.com>
3596 Removed unnecessary #if
3598 * page/mac/AccessibilityObjectWrapper.mm:
3600 2008-09-19 David Hyatt <hyatt@apple.com>
3602 Read in prefs for the scroll delay repeat values for buttons. Also
3603 honor the option-click pref for jumping to the thumb when clicking in
3606 Reviewed by Sam Weinig
3608 * platform/mac/ScrollbarThemeMac.h:
3609 * platform/mac/ScrollbarThemeMac.mm:
3610 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3611 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
3612 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
3613 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
3615 2008-09-19 David Hyatt <hyatt@apple.com>
3617 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
3618 Set the initial button repeat delay to 0.5 for Mac.
3620 Reviewed by Sam Weinig
3622 * WebCore.xcodeproj/project.pbxproj:
3623 * platform/mac/ScrollbarThemeMac.cpp: Removed.
3624 * platform/mac/ScrollbarThemeMac.h:
3625 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
3626 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
3628 2008-09-19 Darin Adler <darin@apple.com>
3630 Reviewed by Sam Weinig.
3632 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
3633 make each distinct C++ class get a distinct JSC::Structure
3635 + Fixed all cases where we were using a shared structure for multiple
3636 C++ classes in WebCore. This still has to be done in JavaScriptCore.
3638 + Got rid of cacheGlobalObject.
3640 + Improved use of PassRefPtr in bindings code.
3642 + Removed a couple cases where we were potentially allocating prototypes
3643 inside a JSObject's construction process -- this can lead to trouble if
3644 we do a garbage collection while an object is only partly constructed.
3646 * bindings/js/JSAudioConstructor.cpp:
3647 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
3648 so we don't implicitly share the structure with other objects that use the object
3651 * bindings/js/JSDOMBinding.cpp:
3652 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
3653 don't need cacheGlobalObject any more.
3654 (WebCore::cacheDOMConstructor): Ditto.
3656 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
3657 Added functions and a function template for getting cached DOM constructors.
3658 Removed cacheGlobalObject function template.
3660 * bindings/js/JSDOMWindowBase.cpp:
3661 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
3662 we're taking ownership.
3663 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
3664 we're taking ownership. Added constructor map.
3665 * bindings/js/JSDOMWindowCustom.cpp:
3666 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
3668 * bindings/js/JSDOMWindowShell.cpp:
3669 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
3670 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
3671 this is now done in only that one place.
3672 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
3673 the passed-in DOMWindow. Code was moved here and changed to allocate unique
3674 structures for both the window prototype and the window.
3675 * bindings/js/JSDOMWindowShell.h: Ditto.
3677 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
3678 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
3679 private/friend in JSEventTargetBase. Removed comments referring to defunct
3680 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
3681 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
3682 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
3684 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
3685 for caching structures and prototypes.
3686 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
3687 (WebCore::JSEventTargetNode::createPrototype): Added.
3688 * bindings/js/JSEventTargetNode.h: Updated for above changes.
3690 * bindings/js/JSHTMLAllCollection.h:
3691 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
3692 * bindings/js/JSHTMLCollectionCustom.cpp:
3693 (WebCore::getNamedItems): Pass ExecState instead of prototype.
3694 * bindings/js/JSHTMLFormElementCustom.cpp:
3695 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
3696 * bindings/js/JSHTMLInputElementBase.cpp:
3697 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
3698 * bindings/js/JSHTMLInputElementBase.h: Ditto.
3699 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3700 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3701 Create a unique structure instead of sharing.
3702 * bindings/js/JSImageConstructor.cpp:
3703 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
3705 * bindings/js/JSInspectedObjectWrapper.cpp:
3706 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
3707 a prototype rather than a structure. Made the use of inheritorID() here
3709 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
3710 * bindings/js/JSInspectorCallbackWrapper.cpp:
3711 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
3712 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
3714 * bindings/js/JSNamedNodesCollection.cpp:
3715 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
3716 take an ExecState argument instead of a prototype. Create a unique
3717 StructureID instead of sharing.
3718 * bindings/js/JSNamedNodesCollection.h: Ditto.
3720 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
3721 constructor that takes a prototype instead of a structure.
3722 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
3724 * bindings/js/JSRGBColor.cpp:
3725 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
3726 prototype; create a unique structure.
3727 (WebCore::getJSRGBColor): Ditto.
3728 * bindings/js/JSRGBColor.h: Ditto.
3730 * bindings/js/JSSQLResultSetRowListCustom.cpp:
3731 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
3732 of explicit coding the idiom for making a new object.
3734 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3735 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3736 Create a unique structure instead of the shared one.
3737 * bindings/js/JSXSLTProcessorConstructor.cpp:
3738 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
3741 * bindings/js/ScriptController.cpp:
3742 (WebCore::ScriptController::clearWindowShell): Let the window shell's
3743 setWindow function create the JSDOMWindow instead of doing it here.
3745 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
3746 the structure and the wrapped object when creating wrappers.
3747 Simplified some of the special cases for DOMWindow so they are
3748 different only in ways the need to be. Eliminated the
3749 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
3750 functions. Moved responsibility for creating the structure and
3751 parent prototype out of the prototype constructor into the
3752 createPrototype function. Removed the unused "DoNotCache" flag for
3753 objects other than DOMWindow. Use getDOMConstructor instead of
3754 cacheGlobalObject for constructors. Make each constructor have
3755 a unique structure ID.
3757 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
3758 name of the info member to s_info so we can use the standard DOM
3759 binding macros to handl the prototype.
3760 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
3761 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3762 Create a unique structure using getDOMStructure.
3764 * bridge/runtime_array.cpp: Fixed namespacing a bit.
3765 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
3767 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
3770 * bridge/runtime_object.cpp:
3771 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
3773 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
3776 * history/CachedPage.cpp:
3777 (WebCore::CachedPage::restore): Let the window shell's
3778 setWindow function create the JSDOMWindow instead of doing it here.
3780 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
3782 2008-09-19 Dan Bernstein <mitz@apple.com>
3784 Reviewed by Dave Hyatt.
3786 This optimization was suggested by Daniel Fenwick
3788 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
3790 Specifying LTR paragraph directionality when measuring runs of RTL text
3791 resulted in typically two CTRuns being generated for every run instead
3792 of one, due to the leading space being reordered to the left.
3794 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
3795 getCFStringAttributes() and changed m_CFStringAttributes from an array
3797 * platform/graphics/mac/CoreTextController.cpp:
3798 (WebCore::CoreTextController::CoreTextController): Added a
3799 mayUseNaturalWritingDirection parameter.
3800 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
3801 to force the bidi embedding level whenever
3802 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
3803 case, made the typesetter options dictionaries static.
3804 * platform/graphics/mac/CoreTextController.h:
3805 * platform/graphics/mac/FontMacCoreText.cpp:
3806 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
3807 (WebCore::Font::floatWidthForComplexText): Changed to allow the
3808 CoreTextController to not set the writing direction.
3809 * platform/graphics/mac/SimpleFontDataMac.mm:
3810 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
3811 parameter and the paragraph style attribute.
3813 2008-09-19 David Hyatt <hyatt@apple.com>
3815 Reviewed by Sam Weinig
3817 https://bugs.webkit.org/show_bug.cgi?id=20941
3819 Incorrect height calculation for replaced element inside nested
3820 positioned elements (where the inner has a percentage height and
3821 the outer implicitly has a fixed height because of explicit top/bottom
3824 Added fast/block/positioning/replaced-inside-top-bottom.html
3826 * rendering/RenderBox.cpp:
3827 (WebCore::RenderBox::availableHeightUsing):
3829 2008-09-19 Chris Fleizach <cfleizach@apple.com>
3833 * page/mac/AccessibilityObjectWrapper.mm:
3835 2008-09-18 Chris Fleizach <cfleizach@apple.com>
3837 Reviewed by Darin Adler.
3839 <rdar://problem/6211041> Expose legend tag in accessibility
3841 Exposes the legend tag as the titleUIElement of a fieldset
3843 Test: accessibility/legend.html
3845 * page/AccessibilityObject.h:
3846 (WebCore::AccessibilityObject::isFieldset):
3847 * page/AccessibilityRenderObject.cpp:
3848 (WebCore::AccessibilityRenderObject::isFieldset):
3849 (WebCore::AccessibilityRenderObject::titleUIElement):
3850 * page/AccessibilityRenderObject.h:
3851 * rendering/RenderFieldset.h:
3853 2008-09-19 Chris Fleizach <cfleizach@apple.com>
3855 Reviewed by Darin Adler.
3857 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
3859 Implement a few AX API methods that will be called by AppKit, which will
3860 speed up access to accessibility objects
3862 * page/mac/AccessibilityObjectWrapper.mm:
3863 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
3864 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
3865 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
3867 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
3869 Reviewed by Simon Hausmann.
3871 [qtwebkit] Set the m_should* flags to their proper value on entry
3872 With plugins it was possible that we finished a job twice. This was
3873 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
3874 setting the flag to (m_loadMode == LoadDeferred) they will always have
3875 the right value and we will not send responses twice.
3877 * platform/network/qt/QNetworkReplyHandler.cpp:
3879 2008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
3881 Reviewed by Simon Hausmann.
3883 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
3884 Handle text decoding errors before instructing the parser to parse. We
3885 have converted the text to QString and all encoding errors are gone and
3886 the parser will not be able to detect them. So handle them before parsing.
3888 * dom/XMLTokenizerQt.cpp:
3889 (WebCore::XMLTokenizer::doWrite):
3891 2008-09-18 Darin Adler <darin@apple.com>
3893 Reviewed by Maciej Stachowiak.
3895 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
3896 make each distinct C++ class get a distinct JSC::Structure
3898 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3899 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
3900 instead of DOMExceptionTranslator.
3902 * bindings/js/JSDOMBinding.cpp:
3903 (WebCore::getCachedDOMObjectWrapper): Updated function name.
3904 (WebCore::cacheDOMObjectWrapper): Ditto.
3905 (WebCore::forgetDOMObject): Ditto.
3906 (WebCore::getCachedDOMNodeWrapper): Ditto.
3907 (WebCore::forgetDOMNode): Ditto.
3908 (WebCore::cacheDOMNodeWrapper): Ditto.
3909 (WebCore::forgetAllDOMNodesForDocument): Ditto.
3910 (WebCore::markDOMNodesForDocument): Ditto.
3911 (WebCore::updateDOMNodeDocument): Ditto.
3912 (WebCore::getCachedDOMStructure): Added.
3913 (WebCore::createDOMStructure): Ditto.
3915 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
3916 class and replace the static member functions with non-member
3917 functions. Added many other functions for getting at structures,
3918 prototypes, wrappers, and creating them. Also moved the
3919 cacheGlobalObject function here from JavaScriptCore; eventually
3920 I'll remove that once I get rid of the remaining callers. Also
3921 removed the DOMExceptionTranslator class.
3923 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
3924 and put one of those maps in each window.
3926 * bindings/js/JSDOMWindowCustom.cpp:
3927 (WebCore::markDOMObjectWrapper): Updated for function name change.
3928 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
3929 in the structure map.
3931 * bindings/js/JSEventTargetNode.cpp:
3932 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
3933 a structure instead of a prototype.
3934 * bindings/js/JSEventTargetNode.h: Ditto.
3935 * bindings/js/JSHTMLAllCollection.h:
3936 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
3938 * bindings/js/JSHTMLInputElementBase.cpp:
3939 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
3940 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
3941 structure instead of a prototype.
3942 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
3943 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
3944 to take a structure instead of a prototype. Created a dummy prototype
3945 class that causes the HTMLInputElement prototype to have the
3946 HTMLElement prototype.
3948 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
3949 structures instead of prototypes. Changed the prototype self function
3950 to use the getDOMPrototype function -- later we can eliminate it and
3951 have callers invoke getDOMPrototype directly instead. Updated other
3952 functions that have name changes. Added code to generate the
3953 createPrototype member function. Changed use of cacheGlobalObject to
3954 get it from the WebCore namespace instead of the JSC namespace.
3955 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
3958 (WebCore::Document::~Document): Updated for name change and also
3959 removed unnecessary JSLock use -- there's no need to lock around this.
3961 (WebCore::Node::setDocument): Ditto.
3963 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
3964 instead of calling new directly.
3966 * bindings/js/JSCSSRuleCustom.cpp:
3967 (WebCore::toJS): Updated for function name changes and used the
3968 CREATE_DOM_OBJECT_WRAPPER macro.
3969 * bindings/js/JSCSSValueCustom.cpp:
3970 (WebCore::toJS): Ditto.
3971 * bindings/js/JSCanvasPixelArrayCustom.cpp:
3972 (WebCore::toJS): Ditto.
3973 * bindings/js/JSDocumentCustom.cpp:
3974 (WebCore::JSDocument::mark): Ditto.
3975 (WebCore::toJS): Ditto.
3976 * bindings/js/JSElementCustom.cpp:
3977 (WebCore::toJSNewlyCreated): Ditto.
3978 * bindings/js/JSEventCustom.cpp:
3979 (WebCore::toJS): Ditto.
3980 * bindings/js/JSEventTargetBase.cpp:
3981 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
3982 of DOMExceptionTranslator.
3983 (WebCore::toJS): Updated for function name changes and used the
3984 CREATE_DOM_OBJECT_WRAPPER macro.
3985 * bindings/js/JSHTMLCollectionCustom.cpp:
3986 (WebCore::toJS): Ditto.
3987 * bindings/js/JSNodeCustom.cpp:
3988 (WebCore::JSNode::mark): Ditto.
3989 (WebCore::createWrapper): Ditto.
3990 (WebCore::toJS): Ditto.
3991 * bindings/js/JSSVGPathSegCustom.cpp:
3992 (WebCore::toJS): Ditto.
3993 * bindings/js/JSStyleSheetCustom.cpp:
3994 (WebCore::toJS): Ditto.
3995 (WebCore::JSStyleSheet::mark): Ditto.
3996 * bindings/js/JSTextCustom.cpp:
3997 (WebCore::toJSNewlyCreated): Ditto.
3998 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3999 (WebCore::constructXMLHttpRequest): Ditto.
4000 * bindings/js/JSXMLHttpRequestCustom.cpp:
4001 (WebCore::JSXMLHttpRequest::mark): Ditto.
4002 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4003 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
4004 * bindings/js/JSXSLTProcessorConstructor.cpp:
4005 (WebCore::constructXSLTProcessor): Ditto.
4006 * bindings/js/ScriptController.cpp:
4007 (WebCore::ScriptController::finishedWithEvent): Ditto.
4008 * xml/XMLHttpRequest.cpp:
4009 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
4010 (WebCore::XMLHttpRequest::dropProtection): Ditto.
4012 2008-09-18 David Hyatt <hyatt@apple.com>
4014 This patch gets a viewless scrollbar working on Mac. It is turned off
4015 by default. Hit testing works. For now the scrollbar just paints ugly
4016 debug rects in the place of the buttons, track and thumb. It does match
4017 Aqua metrics though.
4019 Reviewed by Sam Weinig
4021 * WebCore.xcodeproj/project.pbxproj:
4022 * page/mac/EventHandlerMac.mm:
4023 (WebCore::EventHandler::passMousePressEventToScrollbar):
4024 * platform/ScrollbarThemeComposite.cpp:
4025 (WebCore::ScrollbarThemeComposite::paint):
4026 (WebCore::ScrollbarThemeComposite::trackPosition):
4027 * platform/ScrollbarThemeComposite.h:
4028 * platform/mac/ScrollViewMac.mm:
4029 (WebCore::ScrollView::addChild):
4030 * platform/mac/ScrollbarThemeMac.cpp:
4032 (WebCore::ScrollbarThemeMac::hasButtons):
4033 (WebCore::ScrollbarThemeMac::hasThumb):
4034 (WebCore::buttonRepaintRect):
4035 (WebCore::ScrollbarThemeMac::backButtonRect):
4036 (WebCore::ScrollbarThemeMac::forwardButtonRect):
4037 (WebCore::trackRepaintRect):
4038 (WebCore::ScrollbarThemeMac::trackRect):
4039 (WebCore::ScrollbarThemeMac::minimumThumbLength):
4040 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
4041 (WebCore::ScrollbarThemeMac::paintTrack):
4042 (WebCore::ScrollbarThemeMac::paintButton):
4043 (WebCore::ScrollbarThemeMac::paintThumb):
4044 * platform/mac/ScrollbarThemeMac.h:
4045 (WebCore::ScrollbarThemeMac::supportsControlTints):
4046 * platform/qt/ScrollbarThemeQt.cpp:
4047 (WebCore::ScrollbarThemeQt::trackPosition):
4049 2008-09-18 Collin Jackson <collinj@webkit.org>
4051 Build fix; added missing header file to GNUmakefile.am
4055 2008-09-18 Sam Weinig <sam@webkit.org>
4057 Reviewed by David "the Hair" Hyatt.
4059 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
4063 * WebCore.vcproj/WebCore.vcproj:
4064 * WebCore.xcodeproj/project.pbxproj:
4065 * rendering/DataRef.h: Removed.
4066 * rendering/SVGRenderStyle.cpp: Removed.
4067 * rendering/SVGRenderStyle.h: Removed.
4068 * rendering/SVGRenderStyleDefs.cpp: Removed.
4069 * rendering/SVGRenderStyleDefs.h: Removed.
4070 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
4071 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
4072 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
4073 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
4074 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
4076 2008-09-18 Mark Rowe <mrowe@apple.com>
4078 Reviewed by Dan Bernstein.
4080 Add a means of clearing a FrameTree's name.
4083 * page/FrameTree.cpp:
4084 (WebCore::FrameTree::clearName):
4087 2008-09-18 David Hyatt <hyatt@apple.com>
4089 Eliminate addToSuperview from Widget, since it was only called
4090 by ScrollViewMac's addChild method. Just shift the original body
4091 of addToSuperView into addChild.
4093 Reviewed by Sam Weinig
4095 * platform/Widget.h:
4096 * platform/mac/ScrollViewMac.mm:
4097 (WebCore::ScrollView::addChild):
4098 * platform/mac/WidgetMac.mm:
4100 2008-09-18 Collin Jackson <collinj@webkit.org>
4102 Reviewed by Antti Koivisto and Mark Rowe.
4104 Test: http/tests/misc/dns-prefetch-control.html
4106 https://bugs.webkit.org/show_bug.cgi?id=20690
4108 Invoke WebCore::prefetchDNS() on host names that appear in
4109 in the href of hyperlinks and <link rel="dns-prefetch">. This
4110 can be used to implement DNS prefetching.
4112 * WebCore.vcproj/WebCore.vcproj:
4113 * WebCore.xcodeproj/project.pbxproj:
4115 (WebCore::Document::Document):
4116 (WebCore::Document::processHttpEquiv):
4117 (WebCore::Document::setSecurityOrigin):
4118 (WebCore::Document::initDNSPrefetch):
4119 (WebCore::Document::parseDNSPrefetchControlHeader):
4121 (WebCore::Document::isDNSPrefetchEnabled):
4122 * html/HTMLAnchorElement.cpp:
4123 (WebCore::HTMLAnchorElement::parseMappedAttribute):
4124 * html/HTMLLinkElement.cpp:
4125 (WebCore::HTMLLinkElement::HTMLLinkElement):
4126 (WebCore::HTMLLinkElement::parseMappedAttribute):
4127 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
4128 (WebCore::HTMLLinkElement::process):
4129 * html/HTMLLinkElement.h:
4130 * html/PreloadScanner.cpp:
4131 (WebCore::PreloadScanner::processAttribute):
4132 * loader/FrameLoader.cpp:
4133 (WebCore::FrameLoader::begin):
4134 * platform/gtk/TemporaryLinkStubs.cpp:
4135 (WebCore::prefetchDNS):
4136 * platform/network/DNS.h: Added.
4137 * platform/network/cf/DNSCFNet.cpp: Added.
4138 (WebCore::prefetchDNS):
4139 * platform/qt/TemporaryLinkStubs.cpp:
4140 (WebCore::prefetchDNS):
4141 * platform/wx/TemporaryLinkStubs.cpp:
4142 (WebCore::prefetchDNS):
4144 2008-09-18 David Hyatt <hyatt@apple.com>
4146 Eliminate the convertToScreenCoordinate method on Widget, since
4147 ScrollView has redundant methods that already do the same thing.
4149 Reviewed by Sam Weinig
4151 * editing/mac/SelectionControllerMac.mm:
4152 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
4153 * platform/Widget.h:
4154 * platform/mac/WidgetMac.mm:
4155 (WebCore::Widget::containingWindow):
4157 2008-09-18 David Hyatt <hyatt@apple.com>
4159 Move to only one constructor for Widgets. Rename data to m_data and make
4160 it have an #ifdef only for platforms that have platform-specific data (Mac
4163 Reviewed by Sam Weinig
4166 * platform/Widget.cpp:
4167 (WebCore::Widget::init):
4168 * platform/Widget.h:
4169 * platform/gtk/WidgetGtk.cpp:
4170 (WebCore::Widget::Widget):
4171 (WebCore::Widget::~Widget):
4172 (WebCore::Widget::cursor):
4173 (WebCore::Widget::setCursor):
4174 * platform/mac/WidgetMac.mm:
4175 (WebCore::Widget::Widget):
4176 (WebCore::Widget::~Widget):
4177 (WebCore::Widget::addToSuperview):
4178 (WebCore::Widget::removeFromSuperview):
4179 (WebCore::Widget::beforeMouseDown):
4180 (WebCore::Widget::afterMouseDown):
4181 * platform/qt/WidgetQt.cpp:
4182 (WebCore::Widget::Widget):
4183 * platform/win/WidgetWin.cpp:
4184 (WebCore::Widget::Widget):
4185 * platform/wx/WidgetWx.cpp:
4186 (WebCore::Widget::Widget):
4188 2008-09-18 David Hyatt <hyatt@apple.com>
4190 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
4191 was no reason for it to be on Widget. This change eliminates Qt ifdefs
4194 Reviewed by Sam Weinig
4196 * bindings/js/ScriptControllerQt.cpp:
4197 (WebCore::ScriptController::createScriptInstanceForWidget):
4198 * platform/qt/WidgetQt.cpp:
4199 (WebCore::WidgetPrivate::WidgetPrivate):
4200 (WebCore::WidgetPrivate::~WidgetPrivate):
4201 (WebCore::Widget::Widget):
4202 (WebCore::Widget::~Widget):
4203 * plugins/PluginView.cpp:
4204 (WebCore::PluginView::PluginView):
4205 * plugins/PluginView.h:
4206 (WebCore::PluginView::isNPAPIPlugin):
4207 (WebCore::PluginView::setIsNPAPIPlugin):
4209 2008-09-18 David Hyatt <hyatt@apple.com>
4211 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
4212 ifdefs are now gone from Widget!
4214 Reviewed by Sam Weinig
4216 * platform/Widget.h:
4217 (WebCore::Widget::geometryChanged):
4218 * platform/gtk/WidgetGtk.cpp:
4219 * platform/qt/WidgetQt.cpp:
4221 2008-09-18 David Hyatt <hyatt@apple.com>
4223 Consolidate convertTo/FromContainingWindow methods so that all platforms
4224 but Mac share the same code.
4226 Move convertSelfToChild and convertChildToSelf to ScrollView, since
4227 Widget should know nothing about children. Make the methods cross-platform
4230 Reviewed by Sam Weinig
4232 * platform/ScrollView.h:
4233 (WebCore::ScrollView::convertChildToSelf):
4234 (WebCore::ScrollView::convertSelfToChild):
4235 * platform/Widget.cpp:
4236 (WebCore::Widget::convertToContainingWindow):
4237 (WebCore::Widget::convertFromContainingWindow):
4238 * platform/Widget.h:
4239 (WebCore::Widget::geometryChanged):
4240 * platform/gtk/ScrollViewGtk.cpp:
4241 (WebCore::ScrollView::isScrollViewScrollbar):
4242 * platform/gtk/WidgetGtk.cpp:
4243 * platform/mac/ScrollViewMac.mm:
4244 (WebCore::ScrollView::isScrollViewScrollbar):
4245 * platform/mac/WidgetMac.mm:
4246 * platform/qt/ScrollViewQt.cpp:
4247 (WebCore::ScrollView::isScrollViewScrollbar):
4248 * platform/qt/WidgetQt.cpp:
4249 * platform/win/ScrollViewWin.cpp:
4250 (WebCore::ScrollView::isScrollViewScrollbar):
4251 * platform/win/WidgetWin.cpp:
4253 2008-09-18 David Hyatt <hyatt@apple.com>
4255 Make the conversion methods that go to and from some containingWindow
4256 cross-platform. Implement them on Mac.
4258 Reviewed by Sam Weinig
4260 * platform/Widget.h:
4261 (WebCore::Widget::setContainingWindow):
4262 * platform/mac/WidgetMac.mm:
4263 (WebCore::Widget::convertFromContainingWindow):
4264 (WebCore::Widget::convertToContainingWindow):
4266 2008-09-18 Sam Weinig <sam@webkit.org>
4268 Rubber-stamped by David "Yeah-yeah" Hyatt.
4270 Cleanup RenderStyle.
4272 * WebCore.xcodeproj/project.pbxproj:
4273 * rendering/style/CounterContent.h:
4274 * rendering/style/RenderStyle.cpp:
4275 * rendering/style/RenderStyle.h:
4277 2008-09-18 Chris Marrin <cmarrin@apple.com>
4279 Reviewed by Sam Weinig
4281 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
4282 Now TransformOperations and AnimationList no longer
4283 inherit from Vector<> but rather have API to access.
4285 * css/CSSComputedStyleDeclaration.cpp:
4286 (WebCore::computedTransform):
4287 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4288 * css/CSSStyleSelector.cpp:
4289 (WebCore::CSSStyleSelector::createTransformOperations):
4290 * page/animation/AnimationBase.cpp:
4291 (WebCore::blendFunc):
4292 * page/animation/CompositeAnimation.cpp:
4293 (WebCore::CompositeAnimation::updateTransitions):
4294 (WebCore::CompositeAnimation::updateKeyframeAnimations):
4295 (WebCore::CompositeAnimation::animate):
4296 * page/animation/ImplicitAnimation.cpp:
4297 (WebCore::ImplicitAnimation::validateTransformFunctionList):
4298 * page/animation/KeyframeAnimation.cpp:
4299 (WebCore::KeyframeAnimation::validateTransformFunctionList):
4300 * rendering/RenderLayer.cpp:
4301 (WebCore::RenderLayer::updateReflectionStyle):
4302 * rendering/style/AnimationList.cpp:
4303 (WebCore::AnimationList::operator==):
4304 * rendering/style/AnimationList.h:
4305 (WebCore::AnimationList::operator!=):
4306 (WebCore::AnimationList::size):
4307 (WebCore::AnimationList::isEmpty):
4308 (WebCore::AnimationList::resize):
4309 (WebCore::AnimationList::remove):
4310 (WebCore::AnimationList::append):
4311 (WebCore::AnimationList::animation):
4312 * rendering/style/RenderStyle.cpp:
4313 (WebCore::StyleRareNonInheritedData::updateKeyframes):
4314 (WebCore::RenderStyle::applyTransform):
4315 (WebCore::RenderStyle::adjustAnimations):
4316 (WebCore::RenderStyle::adjustTransitions):
4317 (WebCore::RenderStyle::transitionForProperty):
4318 * rendering/style/RenderStyle.h:
4319 (WebCore::RenderStyle::hasTransform):
4320 * rendering/style/TransformOperations.cpp:
4321 (WebCore::TransformOperations::TransformOperations):
4322 (WebCore::TransformOperations::operator==):
4323 * rendering/style/TransformOperations.h:
4324 (WebCore::TransformOperations::apply):
4325 (WebCore::TransformOperations::operations):
4327 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
4331 [qt] Build fixes after the Widget/ScrollView cleanup
4332 topLevel() is now root()
4335 * platform/qt/ScrollViewQt.cpp:
4336 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4337 (WebCore::ScrollView::addChild):
4338 (WebCore::ScrollView::removeChild):
4340 2008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
4342 Reviewed by Mark Rowe.
4344 https://bugs.webkit.org/show_bug.cgi?id=20437
4346 XMLTokenizer.cpp used to contain two different implementations. One was using
4347 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
4348 separating the two implementations from each other.
4349 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
4350 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
4351 XMLTokenizerLibxml2.cpp. There should be no functional changes.
4353 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
4358 * WebCore.vcproj/WebCore.vcproj:
4359 * WebCore.xcodeproj/project.pbxproj:
4360 * WebCoreSources.bkl:
4361 * dom/XMLTokenizer.cpp:
4362 (WebCore::isScriptElement):
4363 (WebCore::castToScriptElement):
4364 (WebCore::XMLTokenizer::setCurrentNode):
4365 (WebCore::XMLTokenizer::write):
4366 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
4367 (WebCore::XMLTokenizer::enterText):
4368 (WebCore::toString):
4369 (WebCore::XMLTokenizer::exitText):
4370 (WebCore::XMLTokenizer::end):
4371 (WebCore::XMLTokenizer::insertErrorMessageBlock):
4372 * dom/XMLTokenizer.h:
4373 (WebCore::XMLTokenizer::wellFormed):
4374 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
4375 (WebCore::createMemoryParser):
4376 (WebCore::XMLTokenizer::XMLTokenizer):
4377 (WebCore::XMLTokenizer::~XMLTokenizer):
4378 (WebCore::XMLTokenizer::doWrite):
4379 (WebCore::ignorableWhitespaceHandler):
4380 (WebCore::XMLTokenizer::initializeParserContext):
4381 (WebCore::XMLTokenizer::doEnd):
4382 (WebCore::XMLTokenizer::lineNumber):
4383 (WebCore::XMLTokenizer::columnNumber):
4384 (WebCore::XMLTokenizer::stopParsing):
4385 (WebCore::XMLTokenizer::resumeParsing):
4386 (WebCore::parseXMLDocumentFragment):
4387 (WebCore::attributesStartElementNsHandler):
4388 (WebCore::parseAttributes):
4389 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
4390 (WebCore::EntityResolver::resolveUndeclaredEntity):
4391 (WebCore::XMLTokenizer::XMLTokenizer):
4392 (WebCore::XMLTokenizer::~XMLTokenizer):
4393 (WebCore::XMLTokenizer::doWrite):
4394 (WebCore::XMLTokenizer::initializeParserContext):
4395 (WebCore::XMLTokenizer::doEnd):
4396 (WebCore::XMLTokenizer::lineNumber):
4397 (WebCore::XMLTokenizer::columnNumber):
4398 (WebCore::XMLTokenizer::stopParsing):
4399 (WebCore::XMLTokenizer::resumeParsing):
4400 (WebCore::parseXMLDocumentFragment):
4401 (WebCore::attributesStartElementNsHandler):
4402 (WebCore::parseAttributes):
4405 2008-09-18 Beth Dakin <bdakin@apple.com>
4407 Reviewed by Geoff Garen.
4409 Build fix for non-Mac builds.
4411 * css/CSSPrimitiveValue.cpp:
4412 (WebCore::CSSPrimitiveValue::cssText):
4414 2008-09-18 Peter Kasting <pkasting@google.com>
4416 Reviewed by hyatt. Landed by eseidel.
4418 https://bugs.webkit.org/show_bug.cgi?id=20745
4419 Animated GIFs do not animate properly with (at least) CG.
4421 * WebCore\platform\graphics\BitmapImage.cpp:
4422 * WebCore\platform\graphics\BitmapImage.h:
4423 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
4424 * WebCore\platform\graphics\cg\ImageCG.cpp:
4425 * WebCore\platform\graphics\qt\ImageQt.cpp:
4426 * WebCore\platform\graphics\wx\ImageWx.cpp:
4428 2008-09-18 Chris Fleizach <cfleizach@apple.com>
4430 Reviewed by Beth Dakin
4432 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
4433 role specifies otherwise
4435 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
4437 Test: accessibility/table-with-aria-role.html
4439 * page/AccessibilityTable.cpp:
4440 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
4441 (WebCore::AccessibilityTable::addChildren):
4442 (WebCore::AccessibilityTable::roleValue):
4443 (WebCore::AccessibilityTable::accessibilityIsIgnored):
4444 (WebCore::AccessibilityTable::title):
4445 * page/AccessibilityTableCell.cpp:
4446 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
4447 (WebCore::AccessibilityTableCell::isTableCell):
4448 (WebCore::AccessibilityTableCell::roleValue):
4449 * page/AccessibilityTableCell.h:
4450 * page/AccessibilityTableRow.cpp:
4451 (WebCore::AccessibilityTableRow::roleValue):
4452 (WebCore::AccessibilityTableRow::isTableRow):
4453 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
4454 * page/AccessibilityTableRow.h:
4456 2008-09-18 Steve Falkenburg <sfalken@apple.com>
4458 Use higher-resolution timers on all variants of Windows.
4460 Reviewed by Darin Adler.
4462 * platform/win/SharedTimerWin.cpp:
4463 (WebCore::setSharedTimerFireTime):
4466 2008-09-18 David Hyatt <hyatt@apple.com>
4468 Make containingWindow() and setContainingWindow() cross-platform.
4469 Add a root() function cross-platform so Qt doesn't have to
4472 Reviewed by Darin Adler
4474 * platform/Widget.cpp:
4475 (WebCore::Widget::root):
4476 * platform/Widget.h:
4477 (WebCore::Widget::setContainingWindow):
4478 * platform/gtk/WidgetGtk.cpp:
4479 (WebCore::Widget::Widget):
4480 (WebCore::Widget::containingWindow):
4481 * platform/mac/ScrollViewMac.mm:
4482 (WebCore::ScrollView::addChild):
4483 (WebCore::ScrollView::removeChild):
4484 * platform/mac/WidgetMac.mm:
4485 (WebCore::Widget::containingWindow):
4486 * platform/qt/WidgetQt.cpp:
4487 (WebCore::Widget::invalidateRect):
4488 (WebCore::Widget::containingWindow):
4489 * platform/win/WidgetWin.cpp:
4490 (WebCore::Widget::Widget):
4491 (WebCore::Widget::~Widget):
4492 (WebCore::Widget::containingWindow):
4494 2008-09-18 Beth Dakin <bdakin@apple.com>
4496 Reviewed by Dave Hyatt.
4498 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
4499 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
4501 and corresponding: <rdar://problem/6174100>
4503 This patch makes CSSParserValue::createCSSValue handle unknown
4506 * css/CSSParserValues.cpp:
4507 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
4508 with no id (an unknown identifier) create a CSSPrimitiveValue of
4509 type CSS_PARSER_IDENTIFIER
4510 * css/CSSPrimitiveValue.cpp:
4511 (WebCore::CSSPrimitiveValue::cssText):
4512 (WebCore::CSSPrimitiveValue::parserValue):
4513 * css/CSSPrimitiveValue.h:
4514 (WebCore::CSSPrimitiveValue::):
4516 2008-09-18 Sam Weinig <sam@webkit.org>
4518 Rubber-stamped by David "I'd prefer not" Hyatt.
4520 More the remaining class out of RenderStyle.h/cpp
4524 * WebCore.vcproj/WebCore.vcproj:
4525 * WebCore.xcodeproj/project.pbxproj:
4526 * WebCoreSources.bkl:
4527 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
4528 (WebCore::CursorData::CursorData):
4529 (WebCore::CursorData::operator==):
4530 (WebCore::CursorData::operator!=):
4531 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
4532 (WebCore::CursorList::operator[]):
4533 (WebCore::CursorList::CursorList):
4534 * rendering/style/RenderStyle.cpp:
4535 * rendering/style/RenderStyle.h:
4536 (WebCore::RenderStyle::deref):
4537 (WebCore::RenderStyle::hasOneRef):
4538 (WebCore::RenderStyle::InheritedFlags::operator!=):
4539 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
4540 (WebCore::RenderStyle::hasBackground):
4541 (WebCore::RenderStyle::outlineWidth):
4542 (WebCore::RenderStyle::autoWrap):
4543 (WebCore::RenderStyle::preserveNewline):
4544 (WebCore::RenderStyle::collapseWhiteSpace):
4545 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
4546 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
4547 (WebCore::RenderStyle::breakWords):
4548 (WebCore::RenderStyle::outlineOffset):
4549 (WebCore::RenderStyle::setLeft):
4550 (WebCore::RenderStyle::setRight):
4551 (WebCore::RenderStyle::setTop):
4552 (WebCore::RenderStyle::setBottom):
4553 (WebCore::RenderStyle::setDashboardRegion):
4554 (WebCore::RenderStyle::setBackgroundColor):
4555 (WebCore::RenderStyle::setBorderImage):
4556 (WebCore::RenderStyle::setBorderRadius):
4557 (WebCore::RenderStyle::setFontDescription):
4558 (WebCore::RenderStyle::adjustBackgroundLayers):
4559 (WebCore::RenderStyle::adjustMaskLayers):
4560 (WebCore::RenderStyle::deleteBindingURIs):
4561 (WebCore::RenderStyle::inheritBindingURIs):
4562 (WebCore::RenderStyle::isDisplayReplacedType):
4563 (WebCore::RenderStyle::isDisplayInlineType):
4564 (WebCore::RenderStyle::isOriginalDisplayInlineType):
4565 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4566 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
4567 (WebCore::StyleInheritedData::operator!=):
4568 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4569 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
4570 (WebCore::StyleRareInheritedData::operator!=):
4571 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4572 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
4573 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
4575 2008-09-18 David Hyatt <hyatt@apple.com>
4577 Move the concept of suppression invalidation on Widgets to Scrollbar
4578 instead. Since this is only used by Scrollbars, there is no need for
4581 Reviewed by Sam Weinig
4583 * platform/Scrollbar.cpp:
4584 (WebCore::Scrollbar::Scrollbar):
4585 (WebCore::Scrollbar::invalidateRect):
4586 * platform/Scrollbar.h:
4587 (WebCore::Scrollbar::suppressInvalidation):
4588 (WebCore::Scrollbar::setSuppressInvalidation):
4589 * platform/Widget.h:
4590 * platform/gtk/WidgetGtk.cpp:
4591 (WebCore::Widget::Widget):
4592 (WebCore::Widget::invalidateRect):
4593 * platform/qt/WidgetQt.cpp:
4594 (WebCore::WidgetPrivate::WidgetPrivate):
4595 (WebCore::Widget::invalidateRect):
4596 * platform/win/WidgetWin.cpp:
4597 (WebCore::Widget::Widget):
4598 (WebCore::Widget::invalidateRect):
4600 2008-09-18 David Hyatt <hyatt@apple.com>
4602 Make invalidate() on Widget non-virtual and make it just call
4603 invalidateRect() on the boundsGeometry() of the Widget.
4605 Reviewed by Dan Bernstein
4607 * platform/Widget.h:
4608 (WebCore::Widget::boundsGeometry):
4609 (WebCore::Widget::invalidate):
4610 * platform/gtk/WidgetGtk.cpp:
4611 * platform/mac/WidgetMac.mm:
4612 * platform/qt/WidgetQt.cpp:
4613 * platform/win/WidgetWin.cpp:
4614 * platform/wx/WidgetWx.cpp:
4616 2008-09-18 Sam Weinig <sam@webkit.org>
4618 Rubber-stamped in exile by David Hyatt.
4620 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
4621 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
4626 * WebCore.vcproj/WebCore.vcproj:
4627 * WebCore.xcodeproj/project.pbxproj:
4628 * WebCoreSources.bkl:
4629 * css/CSSStyleSelector.cpp:
4630 * css/CSSStyleSelector.h:
4631 * page/animation/CompositeAnimation.cpp:
4632 * page/animation/KeyframeAnimation.cpp:
4633 * page/animation/KeyframeAnimation.h:
4634 * rendering/RenderCounter.h:
4635 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
4636 (WebCore::Animation::~Animation):
4637 (WebCore::Animation::animationsMatch):
4638 (WebCore::Animation::keyframeList):
4639 (WebCore::Animation::setAnimationKeyframe):
4640 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
4641 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
4642 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
4643 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
4644 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
4645 (WebCore::BindingURI::operator!=):
4646 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
4647 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
4648 (WebCore::ContentData::ContentData):
4649 (WebCore::ContentData::~ContentData):
4650 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
4651 (WebCore::CounterContent::CounterContent):
4652 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
4653 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
4654 (WebCore::CounterDirectives::CounterDirectives):
4655 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
4656 (WebCore::KeyframeList::insert):
4657 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
4658 (WebCore::KeyframeValue::KeyframeValue):
4659 (WebCore::KeyframeList::create):
4660 (WebCore::KeyframeList::KeyframeList):
4661 * rendering/style/RenderStyle.cpp:
4662 * rendering/style/RenderStyle.h:
4663 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
4664 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
4665 (WebCore::ShadowData::ShadowData):
4666 (WebCore::ShadowData::~ShadowData):
4667 (WebCore::ShadowData::operator!=):
4668 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
4669 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
4670 (WebCore::StyleFlexibleBoxData::operator!=):
4671 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
4672 (WebCore::TimingFunction::TimingFunction):
4673 (WebCore::TimingFunction::operator==):
4675 2008-09-18 Adele Peterson <adele@apple.com>
4677 Reviewed by Dan Bernstein.
4679 Fix RenderStyle leaks.
4681 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
4683 2008-09-18 Kevin McCullough <kmccullough@apple.com>
4685 Accidentally checked in code.
4687 * html/HTMLElementFactory.cpp:
4688 (WebCore::frameConstructor):
4689 (WebCore::iframeConstructor):
4691 2008-09-18 Kevin McCullough <kmccullough@apple.com>
4695 <rdar://problem/5722310> gracefully handle too many console messages
4697 - Keep track of the most previous message and then compare it to the
4698 subsequent messages as they come in. If there are multiple of the same
4699 message create a count that indicates the current number.
4701 * manual-tests/inspector/multiple-console-messages.html: Added.
4702 * page/inspector/Console.js:
4703 * page/inspector/inspector.css:
4705 2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
4707 Reviewed by Alp Toker
4709 https://bugs.webkit.org/show_bug.cgi?id=20830
4710 [GTK] Don't use deprecated pango API
4712 Replace deprecated pango functions with non-deprecated ones for newer
4715 * platform/graphics/gtk/FontGtk.cpp:
4716 (WebCore::getDefaultPangoLayout):
4717 * platform/graphics/gtk/FontPlatformDataPango.cpp:
4718 (WebCore::FontPlatformData::FontPlatformData):
4720 2008-09-18 Alp Toker <alp@nuanti.com>
4722 Build fix for r36587. Add new sources (and sort the lists).
4726 2008-09-17 Sam Weinig <sam@webkit.org>
4730 * WebCore.vcproj/WebCore.vcproj:
4732 2008-09-17 David Hyatt <hyatt@apple.com>
4734 Switch back to having frameGeometry be virtual in order to keep Mac
4735 the way it used to be.
4737 Reviewed by Sam Weinig
4740 * platform/Widget.cpp:
4741 (WebCore::Widget::setParent):
4742 * platform/Widget.h:
4743 * platform/gtk/WidgetGtk.cpp:
4744 (WebCore::Widget::frameGeometry):
4745 (WebCore::Widget::setFrameGeometry):
4746 * platform/mac/WidgetMac.mm:
4747 (WebCore::Widget::frameGeometry):
4748 (WebCore::Widget::setFrameGeometry):
4749 * platform/qt/WidgetQt.cpp:
4750 (WebCore::Widget::frameGeometry):
4751 (WebCore::Widget::setFrameGeometry):
4752 * platform/win/WidgetWin.cpp:
4753 (WebCore::Widget::frameGeometry):
4754 (WebCore::Widget::setFrameGeometry):
4755 * platform/wx/WidgetWx.cpp:
4756 (WebCore::Widget::frameGeometry):
4757 (WebCore::Widget::setFrameGeometry):
4758 * plugins/PluginView.cpp:
4759 (WebCore::PluginView::setFrameGeometry):
4760 (WebCore::PluginView::geometryChanged):
4761 * plugins/PluginView.h:
4762 * plugins/gtk/PluginViewGtk.cpp:
4763 (WebCore::PluginView::updatePluginWidget):
4764 * plugins/qt/PluginViewQt.cpp:
4765 (WebCore::PluginView::updatePluginWidget):
4766 * plugins/win/PluginViewWin.cpp:
4767 (WebCore::PluginView::updatePluginWidget):
4769 2008-09-17 Sam Weinig <sam@webkit.org>
4771 Reviewed by Mark Rowe.
4773 Fix assertion in DOMWindow::adjustWindowRect where we were passing
4774 in garbage values and were getting lucky that they were a not Nan.
4776 * bindings/js/JSDOMWindowBase.cpp:
4777 (WebCore::windowProtoFuncOpen):
4779 2008-09-17 Sam Weinig <sam@webkit.org>
4783 * rendering/style/MatrixTransformOperation.cpp:
4785 2008-09-17 Sam Weinig <sam@webkit.org>
4787 Rubber-stamped with love by David Hyatt.
4789 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
4790 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
4791 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
4795 * WebCore.vcproj/WebCore.vcproj:
4796 * WebCore.xcodeproj/project.pbxproj:
4797 * WebCoreSources.bkl:
4798 * css/CSSStyleSelector.cpp:
4799 * page/animation/AnimationBase.cpp:
4800 (WebCore::solveEpsilon):
4801 * rendering/RenderLayer.cpp:
4802 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4803 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4804 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4805 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
4806 * rendering/style/RenderStyle.cpp:
4807 * rendering/style/RenderStyle.h:
4808 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4809 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4810 (WebCore::RotateTransformOperation::RotateTransformOperation):
4811 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4812 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4813 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
4814 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4815 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4816 (WebCore::SkewTransformOperation::SkewTransformOperation):
4817 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
4818 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
4819 (WebCore::StyleTransformData::operator!=):
4820 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
4821 (WebCore::TransformOperation::):
4822 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
4823 (WebCore::TransformOperations::TransformOperations):
4824 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
4825 (WebCore::TransformOperations::operator!=):
4826 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4827 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4828 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
4830 2008-09-17 Mark Rowe <mrowe@apple.com>
4834 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
4836 2008-09-17 David Hyatt <hyatt@apple.com>
4838 (1) Inline a bunch of methods for accessing frame geometry.
4839 (2) Make sure frameGeometry() works even when you have no underlying
4841 (3) Cache a frame geometry rect cross-platform (even for widgets that
4842 have underlying native widgets.
4843 (4) PluginView's updateWindow call is now a virtual function on Widget.
4845 Reviewed by Sam Weinig
4849 * platform/Widget.cpp:
4850 (WebCore::Widget::setFrameGeometry):
4851 * platform/Widget.h:
4852 (WebCore::Widget::x):
4853 (WebCore::Widget::y):
4854 (WebCore::Widget::width):
4855 (WebCore::Widget::height):
4856 (WebCore::Widget::size):
4857 (WebCore::Widget::pos):
4858 (WebCore::Widget::frameGeometry):
4859 (WebCore::Widget::resize):
4860 (WebCore::Widget::move):
4861 (WebCore::Widget::isFrameView):
4862 (WebCore::Widget::windowClipRect):
4863 * platform/mac/WidgetMac.mm:
4864 (WebCore::Widget::~Widget):
4865 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
4866 * platform/win/WidgetWin.cpp:
4867 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
4868 * plugins/PluginView.cpp:
4869 (WebCore::PluginView::setFrameGeometry):
4870 (WebCore::PluginView::geometryChanged):
4871 * plugins/PluginView.h:
4872 * plugins/gtk/PluginViewGtk.cpp:
4873 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4874 * plugins/qt/PluginViewQt.cpp:
4875 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4876 * plugins/win/PluginViewWin.cpp:
4877 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4878 * plugins/wx/PluginViewWx.cpp:
4880 2008-09-17 Sam Weinig <sam@webkit.org>
4882 Reviewed by David "Waterman" Hyatt.
4884 Fix a leak of NSViews in WidgetMac.mm.
4886 * platform/mac/WidgetMac.mm:
4887 (WebCore::Widget::~Widget):
4889 2008-09-17 Sam Weinig <sam@webkit.org>
4891 Rubber-stamped by David Waterman Hyatt.
4893 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
4894 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
4898 * WebCore.vcproj/WebCore.vcproj:
4899 * WebCore.xcodeproj/project.pbxproj:
4900 * WebCoreSources.bkl:
4901 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
4902 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
4903 (WebCore::FillLayer::operator!=):
4904 (WebCore::FillLayer::hasImage):
4905 (WebCore::FillLayer::hasFixedImage):
4906 * rendering/style/RenderStyle.cpp:
4907 * rendering/style/RenderStyle.h:
4908 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
4909 (WebCore::StyleBackgroundData::StyleBackgroundData):
4910 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
4911 (WebCore::StyleBackgroundData::~StyleBackgroundData):
4912 (WebCore::StyleBackgroundData::operator!=):
4913 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
4914 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
4915 (WebCore::StyleBoxData::operator!=):
4916 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
4917 (WebCore::StyleDashboardRegion::operator!=):
4918 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
4919 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
4920 (WebCore::StyleMarqueeData::operator!=):
4921 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
4922 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
4923 (WebCore::StyleMultiColData::operator!=):
4924 (WebCore::StyleMultiColData::ruleWidth):
4925 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
4926 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
4927 (WebCore::StyleVisualData::operator==):
4929 2008-09-17 David Hyatt <hyatt@apple.com>
4931 Remove WidgetClient from Widget.
4933 Reviewed by Sam Weinig
4935 * WebCore.xcodeproj/project.pbxproj:
4936 * platform/Widget.h:
4937 (WebCore::Widget::setClient):
4938 (WebCore::Widget::client):
4939 * platform/WidgetClient.h: Removed.
4940 * platform/gtk/WidgetGtk.cpp:
4941 * platform/mac/WidgetMac.mm:
4942 (WebCore::Widget::Widget):
4943 (WebCore::Widget::show):
4944 (WebCore::Widget::hide):
4945 * platform/qt/WidgetQt.cpp:
4946 (WebCore::WidgetPrivate::WidgetPrivate):
4947 * platform/win/WidgetWin.cpp:
4948 (WebCore::Widget::Widget):
4949 * platform/wx/WidgetWx.cpp:
4950 (WebCore::Widget::Widget):
4952 2008-09-17 David Hyatt <hyatt@apple.com>
4954 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
4955 only applies to Scrollbars so the method has been moved there and made
4956 cross-platform. Scrollbar subclasses that have a corresponding native
4957 widget can subclass setEnabled to change the enabled state of the native
4960 Reviewed by Sam Weinig & Darin Adler
4963 * platform/Scrollbar.cpp:
4964 (WebCore::Scrollbar::Scrollbar):
4965 * platform/Scrollbar.h:
4966 (WebCore::Scrollbar::enabled):
4967 (WebCore::Scrollbar::setEnabled):
4968 * platform/Widget.h:
4969 * platform/gtk/ScrollbarGtk.cpp:
4970 (ScrollbarGtk::setEnabled):
4971 * platform/gtk/ScrollbarGtk.h:
4972 * platform/gtk/WidgetGtk.cpp:
4973 * platform/mac/ScrollbarMac.h:
4974 * platform/mac/ScrollbarMac.mm:
4975 (WebCore::ScrollbarMac::scrollbarHit):
4976 (WebCore::ScrollbarMac::setEnabled):
4977 * platform/mac/WidgetMac.mm:
4978 * platform/qt/WidgetQt.cpp:
4979 (WebCore::WidgetPrivate::WidgetPrivate):
4980 * platform/win/WidgetWin.cpp:
4981 (WebCore::Widget::Widget):
4982 * platform/wx/WidgetWx.cpp:
4984 2008-09-17 Sam Weinig <sam@webkit.org>
4986 Rubber-stamped by David Hyatt.
4988 Split all RenderStyle enums into their own file.
4991 * WebCore.vcproj/WebCore.vcproj:
4992 * WebCore.xcodeproj/project.pbxproj:
4993 * rendering/style/BorderValue.h:
4994 * rendering/style/CollapsedBorderValue.h:
4995 * rendering/style/RenderStyle.h:
4996 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
4998 * rendering/style/StyleCachedImage.h:
4999 * rendering/style/StyleGeneratedImage.h:
5000 * rendering/style/StyleImage.h:
5002 2008-09-17 Steve Falkenburg <sfalken@apple.com>
5004 Add back isFrameView check to fix failed assertion during scroll bar teardown.
5006 Reviewed by Dave Hyatt.
5008 * platform/Scrollbar.cpp:
5009 (WebCore::Scrollbar::setParent):
5011 2008-09-17 Brady Eidson <beidson@apple.com>
5013 Reviewed by Mac build fix
5015 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
5017 2008-09-17 Steve Falkenburg <sfalken@apple.com>
5021 * platform/win/ScrollViewWin.cpp:
5022 (WebCore::ScrollView::setParentVisible):
5023 * plugins/win/PluginViewWin.cpp:
5024 (WebCore::PluginView::init):
5026 2008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
5030 [QtWebKit] Implement error handling in TextCodecQt::decode
5031 Use the QTextCodec parsing state to set the sawError out variable. This
5032 is needed to pass Test 70 of acid3. The test case for this bug is
5033 fast/encoding/invalid-xml.html that is now partially passed. To pass
5034 it completely the Qt text codecs need to be adjusted to have proper
5037 * platform/text/qt/TextCodecQt.cpp:
5038 (WebCore::TextCodecQt::decode):
5040 2008-09-17 Sam Weinig <sam@webkit.org>
5042 Rubber-stamped by Dave Hyatt.
5044 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
5045 out of RenderStyle.h/cpp
5049 * WebCore.vcproj/WebCore.vcproj:
5050 * WebCore.xcodeproj/project.pbxproj:
5051 * WebCoreSources.bkl:
5052 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
5053 (WebCore::BorderData::hasBorderRadius):
5054 (WebCore::BorderData::borderLeftWidth):
5055 (WebCore::BorderData::borderRightWidth):
5056 (WebCore::BorderData::borderTopWidth):
5057 (WebCore::BorderData::borderBottomWidth):
5058 (WebCore::BorderData::operator!=):
5059 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
5061 (WebCore::BorderValue::BorderValue):
5062 (WebCore::BorderValue::nonZero):
5063 (WebCore::BorderValue::isTransparent):
5064 (WebCore::BorderValue::isVisible):
5065 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
5067 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
5068 (WebCore::CollapsedBorderValue::operator==):
5069 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
5070 (WebCore::OutlineValue::OutlineValue):
5071 * rendering/style/RenderStyle.cpp:
5072 * rendering/style/RenderStyle.h:
5073 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
5074 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
5075 (WebCore::StyleSurroundData::operator!=):
5077 2008-09-17 Beth Dakin <bdakin@apple.com>
5079 Reviewed by Darin Adler.
5081 This is a better fix for: Invalid CSS code crashes Safari
5082 https://bugs.webkit.org/show_bug.cgi?id=20512
5084 The spec indicates that the only valid input for a counter is a
5085 number or an identifier. So that is exactly what we allow.
5087 * css/CSSParser.cpp:
5088 (WebCore::CSSParser::parseCounterContent):
5090 2008-09-17 Alp Toker <alp@nuanti.com>
5092 GTK+ build fix. Adapt to use PlatformWidget functions.
5094 * platform/gtk/ScrollViewGtk.cpp:
5095 (WebCore::ScrollViewScrollbar::geometryChanged):
5096 (WebCore::ScrollView::addChild):
5097 (WebCore::ScrollView::removeChild):
5098 * platform/gtk/ScrollbarGtk.cpp:
5099 (ScrollbarGtk::ScrollbarGtk):
5100 (ScrollbarGtk::~ScrollbarGtk):
5101 (ScrollbarGtk::geometryChanged):
5103 2008-09-17 Sam Weinig <sam@webkit.org>
5105 Reviewed by Adele Peterson.
5107 Patch for <rdar://problem/6133884>
5108 Calling window.resizeTo() on a subframe shouldn't change the window size
5110 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
5112 * page/DOMWindow.cpp:
5113 (WebCore::DOMWindow::moveBy):
5114 (WebCore::DOMWindow::moveTo):
5115 (WebCore::DOMWindow::resizeBy):
5116 (WebCore::DOMWindow::resizeTo):
5118 2008-09-17 Beth Dakin <bdakin@apple.com>
5120 Reviewed by Adam Roben.
5122 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
5124 and corresponding: <rdar://problem/6173832>
5126 Reading through the spec, it seems like a function is not valid
5127 input for a counter. So this patch checks for that and bails in the
5128 case of invalid input.
5130 * css/CSSParser.cpp:
5131 (WebCore::CSSParser::parseCounterContent):
5133 2008-09-17 Greg Bolsinga <bolsinga@apple.com>
5135 Reviewed by Antti Koivisto.
5137 Fix <rdar://problem/6227089>
5138 Crash in WebCore::Frame::setNeedsReapplyStyles()
5140 View is null checked elsewhere too.
5143 (WebCore::Frame::setNeedsReapplyStyles):
5145 2008-09-17 David Hyatt <hyatt@apple.com>
5147 Make the notion of having a native widget backing a Widget cross-platform.
5148 The PlatformWidget abstraction (which already existed) is used for this.
5155 There are new cross-platform methods that replace all of the unique
5156 platform-specific methods.
5160 For plugins, on every platform except Qt on Windows, the plugin's native
5161 widget is now stored in the Widget base class. Since Qt on Windows uses
5162 HWNDs for plugins instead of QWidget, it is the only platform to keep the
5163 m_window variable in PluginView.
5165 Reviewed by Sam Weinig
5168 * bindings/js/ScriptControllerMac.mm:
5169 (WebCore::ScriptController::createScriptInstanceForWidget):
5170 * page/mac/AccessibilityObjectWrapper.mm:
5171 (-[AccessibilityObjectWrapper attachmentView]):
5172 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
5173 * page/mac/EventHandlerMac.mm:
5174 (WebCore::EventHandler::passMouseDownEventToWidget):
5175 (WebCore::EventHandler::mouseDownViewIfStillGood):
5176 (WebCore::EventHandler::passWheelEventToWidget):
5177 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
5178 * platform/Widget.cpp:
5179 (WebCore::Widget::init):
5180 (WebCore::Widget::setParent):
5181 (WebCore::Widget::releasePlatformWidget):
5182 (WebCore::Widget::retainPlatformWidget):
5183 * platform/Widget.h:
5184 (WebCore::Widget::platformWidget):
5185 (WebCore::Widget::setPlatformWidget):
5186 * platform/gtk/WidgetGtk.cpp:
5187 (WebCore::Widget::Widget):
5188 (WebCore::Widget::setFocus):
5189 (WebCore::gdkDrawable):
5190 (WebCore::Widget::setCursor):
5191 (WebCore::Widget::show):
5192 (WebCore::Widget::hide):
5193 (WebCore::Widget::setEnabled):
5194 (WebCore::Widget::isEnabled):
5195 (WebCore::Widget::paint):
5196 * platform/mac/PlatformScreenMac.mm:
5197 (WebCore::screenRect):
5198 (WebCore::screenAvailableRect):
5199 * platform/mac/ScrollViewMac.mm:
5200 (WebCore::ScrollView::scrollView):
5201 (WebCore::ScrollView::update):
5202 (WebCore::ScrollView::inWindow):
5203 * platform/mac/ScrollbarMac.mm:
5204 (WebCore::ScrollbarMac::ScrollbarMac):
5205 (WebCore::ScrollbarMac::~ScrollbarMac):
5206 (WebCore::ScrollbarMac::updateThumbPosition):
5207 (WebCore::ScrollbarMac::updateThumbProportion):
5208 (WebCore::ScrollbarMac::scrollbarHit):
5209 * platform/mac/WidgetMac.mm:
5210 (WebCore::Widget::Widget):
5211 (WebCore::Widget::setEnabled):
5212 (WebCore::Widget::isEnabled):
5213 (WebCore::Widget::setFocus):
5214 (WebCore::Widget::getOuterView):
5215 (WebCore::Widget::paint):
5216 (WebCore::Widget::invalidate):
5217 (WebCore::Widget::invalidateRect):
5218 (WebCore::Widget::setIsSelected):
5219 (WebCore::Widget::releasePlatformWidget):
5220 (WebCore::Widget::retainPlatformWidget):
5221 * platform/qt/WidgetQt.cpp:
5222 (WebCore::WidgetPrivate::WidgetPrivate):
5223 (WebCore::Widget::Widget):
5224 (WebCore::Widget::setFrameGeometry):
5225 (WebCore::Widget::show):
5226 (WebCore::Widget::hide):
5227 (WebCore::Widget::isEnabled):
5228 (WebCore::Widget::setEnabled):
5229 (WebCore::Widget::invalidateRect):
5230 (WebCore::Widget::containingWindow):
5231 * platform/win/WidgetWin.cpp:
5232 (WebCore::Widget::Widget):
5233 * platform/wx/WidgetWx.cpp:
5234 (WebCore::Widget::Widget):
5235 (WebCore::Widget::frameGeometry):
5236 (WebCore::Widget::setFocus):
5237 (WebCore::Widget::setCursor):
5238 (WebCore::Widget::show):
5239 (WebCore::Widget::hide):
5240 (WebCore::Widget::setFrameGeometry):
5241 (WebCore::Widget::setEnabled):
5242 (WebCore::Widget::isEnabled):
5243 (WebCore::Widget::invalidate):
5244 (WebCore::Widget::invalidateRect):
5245 (WebCore::Widget::paint):
5246 * plugins/PluginView.cpp:
5247 (WebCore::PluginView::PluginView):
5248 * plugins/PluginView.h:
5249 (WebCore::PluginView::platformPluginWidget):
5250 * plugins/gtk/PluginViewGtk.cpp:
5251 (WebCore::PluginView::updateWindow):
5252 (WebCore::PluginView::setFocus):
5253 (WebCore::PluginView::show):
5254 (WebCore::PluginView::hide):
5255 (WebCore::PluginView::setParent):
5256 (WebCore::PluginView::setNPWindowRect):
5257 (WebCore::PluginView::setParentVisible):
5258 (WebCore::PluginView::getValue):
5259 (WebCore::PluginView::forceRedraw):
5260 (WebCore::PluginView::init):
5261 * plugins/qt/PluginViewQt.cpp:
5262 (WebCore::PluginView::updateWindow):
5263 (WebCore::PluginView::setFocus):
5264 (WebCore::PluginView::show):
5265 (WebCore::PluginView::hide):
5266 (WebCore::PluginView::setParent):
5267 (WebCore::PluginView::setNPWindowRect):
5268 (WebCore::PluginView::setParentVisible):
5269 (WebCore::PluginView::getValue):
5270 (WebCore::PluginView::~PluginView):
5271 (WebCore::PluginView::init):
5272 * plugins/win/PluginViewWin.cpp:
5273 (WebCore::PluginView::updateWindow):
5274 (WebCore::PluginView::setFocus):
5275 (WebCore::PluginView::show):
5276 (WebCore::PluginView::hide):
5277 (WebCore::PluginView::paint):
5278 (WebCore::PluginView::setParent):
5279 (WebCore::PluginView::setParentVisible):
5280 (WebCore::PluginView::setNPWindowRect):
5281 (WebCore::PluginView::stop):
5282 (WebCore::PluginView::invalidateRect):
5283 (WebCore::PluginView::forceRedraw):
5284 (WebCore::PluginView::~PluginView):
5285 (WebCore::PluginView::init):
5287 2008-09-17 Sam Weinig <sam@webkit.org>
5291 * platform/Widget.cpp:
5292 (WebCore::Widget::setParent):
5294 2008-09-17 David Hyatt <hyatt@apple.com>
5296 Beginnings of Widget refactoring (in order to make the mixing of
5297 widgets with and without corresponding native widgets more cross-platform).
5299 This first patch makes the concept of a parent ScrollView cross-platform.
5301 Note the similarity of the show/hide methods on the three PluginViews. This
5302 will be refactored better in a later patch so that they can all share
5303 a base class Widget show/hide method. For now the changes were made
5304 simply to be able to bring WidgetWin's setParent method up into Widget.
5306 Reviewed by Sam Weinig
5309 * platform/ScrollView.h:
5310 * platform/Widget.cpp:
5311 (WebCore::Widget::init):
5312 (WebCore::Widget::setParent):
5313 * platform/Widget.h:
5314 (WebCore::Widget::isSelfVisible):
5315 (WebCore::Widget::isParentVisible):
5316 (WebCore::Widget::isVisible):
5317 (WebCore::Widget::setParentVisible):
5318 (WebCore::Widget::isPluginView):
5319 (WebCore::Widget::parent):
5320 (WebCore::Widget::handleEvent):
5321 (WebCore::Widget::geometryChanged):
5322 * platform/gtk/WidgetGtk.cpp:
5323 (WebCore::Widget::Widget):
5324 * platform/mac/ScrollViewMac.mm:
5325 (WebCore::ScrollView::addChild):
5326 (WebCore::ScrollView::removeChild):
5327 * platform/mac/ScrollbarMac.mm:
5328 (WebCore::ScrollbarMac::~ScrollbarMac):
5329 * platform/mac/WidgetMac.mm:
5330 (WebCore::Widget::Widget):
5331 (WebCore::Widget::~Widget):
5332 * platform/qt/WidgetQt.cpp:
5333 (WebCore::WidgetPrivate::WidgetPrivate):
5334 (WebCore::Widget::Widget):
5335 (WebCore::Widget::topLevel):
5336 * platform/win/ScrollViewWin.cpp:
5337 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5338 (WebCore::ScrollView::setAncestorVisible):
5339 (WebCore::ScrollView::show):
5340 (WebCore::ScrollView::hide):
5341 * platform/win/WidgetWin.cpp:
5342 (WebCore::Widget::Widget):
5343 (WebCore::Widget::setParent):
5344 * platform/wx/WidgetWx.cpp:
5345 (WebCore::Widget::Widget):
5346 * plugins/PluginView.cpp:
5347 (WebCore::PluginView::PluginView):
5348 * plugins/PluginView.h:
5349 * plugins/gtk/PluginViewGtk.cpp:
5350 (WebCore::PluginView::show):
5351 (WebCore::PluginView::hide):
5352 (WebCore::PluginView::setParentVisible):
5353 * plugins/qt/PluginViewQt.cpp:
5354 (WebCore::PluginView::show):
5355 (WebCore::PluginView::hide):
5356 (WebCore::PluginView::setParentVisible):
5357 * plugins/win/PluginViewWin.cpp:
5358 (WebCore::PluginView::show):
5359 (WebCore::PluginView::hide):
5360 (WebCore::PluginView::setParentVisible):
5362 2008-09-17 Alexey Proskuryakov <ap@webkit.org>
5364 Reviewed by Adam Roben.
5366 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
5368 * platform/text/TextCodecICU.cpp:
5369 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
5371 2008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
5373 Fix the QtWebKit/Mac build
5375 * platform/qt/ScrollViewQt.cpp: add include
5377 2008-09-17 David Hyatt <hyatt@apple.com>
5379 Add a #define to control whether or not to use an NSScroller on Mac.
5380 This ifdef will allow the new NSView-less NSScroller on Mac to be
5381 developed side by side with the current one.
5383 The new scroller paints a debug red if turned on (although due to
5384 Widget issues you won't see anything paint yet).
5388 * platform/Scrollbar.cpp:
5389 * platform/Scrollbar.h:
5390 * platform/mac/ScrollbarMac.h:
5391 * platform/mac/ScrollbarMac.mm:
5392 * platform/mac/ScrollbarThemeMac.cpp:
5393 (WebCore::ScrollbarThemeMac::paint):
5394 * platform/mac/ScrollbarThemeMac.h:
5396 2008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
5398 Reviewed by Alp Toker.
5400 http://bugs.webkit.org/show_bug.cgi?id=20854
5401 [GTK] Windows can be not realized in ScrollView::update
5403 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
5405 * platform/gtk/ScrollViewGtk.cpp:
5406 (WebCore::ScrollView::update):
5408 2008-09-16 Alp Toker <alp@nuanti.com>
5410 Suggested by Dave Hyatt.
5412 Build fix and cleanup. Rename ScrollBar to Scrollbar.
5416 * WebCore.vcproj/WebCore.vcproj:
5417 * WebCore.xcodeproj/project.pbxproj:
5418 * WebCoreSources.bkl:
5419 * editing/EditorCommand.cpp:
5420 * page/EventHandler.cpp:
5421 * page/gtk/EventHandlerGtk.cpp:
5422 * page/mac/EventHandlerMac.mm:
5423 * page/mac/FrameMac.mm:
5424 * page/qt/EventHandlerQt.cpp:
5425 * page/wx/EventHandlerWx.cpp:
5426 * platform/PopupMenu.h:
5427 * platform/ScrollBar.cpp: Removed.
5428 * platform/ScrollBar.h: Removed.
5429 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
5430 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
5431 * platform/gtk/ScrollbarGtk.cpp:
5432 (ScrollbarGtk::ScrollbarGtk):
5433 * platform/gtk/ScrollbarGtk.h:
5434 * platform/mac/ScrollbarMac.h:
5435 * platform/qt/ScrollViewQt.cpp:
5436 * platform/qt/ScrollbarQt.cpp:
5437 * platform/qt/ScrollbarThemeQt.cpp:
5438 * platform/win/PlatformScrollBar.h:
5439 * platform/win/PopupMenuWin.cpp:
5440 * platform/win/ScrollViewWin.cpp:
5441 * platform/win/ScrollbarThemeWin.cpp:
5442 * platform/wx/ScrollViewWx.cpp:
5443 * platform/wx/TemporaryLinkStubs.cpp:
5444 * rendering/HitTestResult.cpp:
5445 * rendering/RenderLayer.cpp:
5446 * rendering/RenderTextControl.cpp:
5448 2008-09-16 David Hyatt <hyatt@apple.com>
5450 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
5451 it can be called from ScrollbarQt.
5453 * platform/ScrollBar.cpp:
5454 (WebCore::Scrollbar::moveThumb):
5455 (WebCore::Scrollbar::handleMouseMoveEvent):
5456 (WebCore::Scrollbar::handleMousePressEvent):
5457 * platform/ScrollBar.h:
5458 * platform/qt/ScrollViewQt.cpp:
5459 * platform/qt/ScrollbarQt.cpp:
5460 (WebCore::Scrollbar::handleContextMenuEvent):
5462 2008-09-16 David Hyatt <hyatt@apple.com>
5464 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
5465 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
5466 now just use Scrollbar.
5468 Reviewed by Sam Weinig
5472 * WebCore.vcproj/WebCore.vcproj:
5473 * WebCore.xcodeproj/project.pbxproj:
5474 * page/mac/FrameMac.mm:
5475 * platform/PopupMenu.h:
5476 (WebCore::PopupMenu::scrollbar):
5477 * platform/ScrollBar.cpp:
5478 (WebCore::createNativeScrollbar):
5479 * platform/ScrollBar.h:
5480 * platform/gtk/PlatformScrollBar.h: Removed.
5481 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
5482 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
5483 (gtkScrollEventCallback):
5484 (ScrollbarGtk::ScrollbarGtk):
5485 (ScrollbarGtk::~ScrollbarGtk):
5486 (ScrollbarGtk::updateThumbPosition):
5487 (ScrollbarGtk::updateThumbProportion):
5488 (ScrollbarGtk::setFrameGeometry):
5489 (ScrollbarGtk::geometryChanged):
5490 (ScrollbarGtk::gtkValueChanged):
5491 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
5492 * platform/mac/PlatformScrollBar.h: Removed.
5493 * platform/mac/PlatformScrollBarMac.mm: Removed.
5494 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
5495 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
5496 (-[WebCoreScrollBar initWithScrollbarMac:]):
5497 (-[WebCoreScrollBar detachScrollbarMac]):
5498 (WebCore::Scrollbar::createNativeScrollbar):
5499 (WebCore::ScrollbarMac::ScrollbarMac):
5500 (WebCore::ScrollbarMac::~ScrollbarMac):
5501 (WebCore::ScrollbarMac::updateThumbPosition):
5502 (WebCore::ScrollbarMac::updateThumbProportion):
5503 (WebCore::ScrollbarMac::scrollbarHit):
5504 * platform/qt/PlatformScrollBar.h: Removed.
5505 * platform/qt/PlatformScrollBarQt.cpp: Removed.
5506 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
5507 (WebCore::Scrollbar::handleContextMenuEvent):
5508 * rendering/HitTestResult.cpp:
5509 * rendering/RenderLayer.cpp:
5510 (WebCore::RenderLayer::createScrollbar):
5511 (WebCore::RenderLayer::destroyScrollbar):
5512 * rendering/RenderLayer.h:
5513 * rendering/RenderListBox.cpp:
5514 (WebCore::RenderListBox::~RenderListBox):
5515 (WebCore::RenderListBox::updateFromElement):
5516 (WebCore::RenderListBox::isPointInOverflowControl):
5517 * rendering/RenderObject.h:
5518 * rendering/RenderTextControl.cpp:
5520 2008-09-16 David Hyatt <hyatt@apple.com>
5522 Make the scrollbar resizer-dodging logic cross-platform in the
5525 Reviewed by Sam Weinig
5527 * platform/ScrollBar.cpp:
5528 (WebCore::Scrollbar::setFrameGeometry):
5529 (WebCore::Scrollbar::setParent):
5530 (WebCore::Scrollbar::windowClipRect):
5531 * platform/ScrollBar.h:
5532 * platform/ScrollView.h:
5533 (WebCore::ScrollView::windowResizerRect):
5534 (WebCore::ScrollView::resizerOverlapsContent):
5535 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
5536 * platform/Widget.h:
5537 (WebCore::Widget::setParent):
5538 * platform/mac/WidgetMac.mm:
5539 (WebCore::Widget::convertToContainingWindow):
5540 * platform/win/PlatformScrollBar.h:
5541 * platform/win/PlatformScrollBarWin.cpp:
5543 2008-09-16 Dan Bernstein <mitz@apple.com>
5545 Reviewed by Darin Adler.
5547 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
5548 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
5550 Covered by fast/repaint/4776765.html
5552 * rendering/RenderBlock.cpp:
5553 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
5554 did not have layout in the beginning.
5555 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
5556 layout in the beginning, repaint it in its new position, to compensate
5557 for the above (regardless of whether it "moved").
5558 * rendering/RenderObject.cpp:
5559 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
5560 about generalizing this fix in the future.
5562 2008-09-16 Dan Bernstein <mitz@apple.com>
5564 Reviewed by Dave Hyatt.
5566 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
5567 Div does not notice when grandparent changes height
5569 Test: fast/block/basic/quirk-percent-height-grandchild.html
5571 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
5572 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
5574 Test: fast/replaced/percent-height-in-anonymous-block.html
5576 Added a two-way mapping between boxes with percentage heights and
5577 their non-parent ancestors up to the one the height is computed relative
5578 to. In quirks mode (the first bug), this can be any number of containing
5579 block with auto height. In strict mode (the second bug) this can be
5580 the containing block of an anonymous block containing a replaced
5583 * rendering/RenderBlock.cpp:
5584 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
5585 mapping to/from this block to percentage-height descendants.
5586 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
5587 percentage-height descendants (and their containing block ancestry chain
5588 up to this block) for layout. This ensures that those descendants whose
5589 height depends on the height of this block (or an ancestor) are updated.
5590 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
5591 a two-way mapping between this block and the given box.
5592 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
5593 all the mapping to/from this box.
5594 * rendering/RenderBlock.h:
5595 * rendering/RenderBox.cpp:
5596 (WebCore::RenderBox::setStyle): Added calls to
5597 removePercentHeightDescendant() when style changes and the box
5598 previously had a percentage height. An exception is when the style
5599 change does not require layout, in which case the box still has
5600 a percentage height and the mappings are valid. In all other cases,
5601 any required mappings will be (re-)established during layout.
5602 (WebCore::RenderBox::destroy): Added a call to
5603 removePercentHeightDescendant.
5604 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
5605 mode, if a higher-than-parent containing block is affecting the box's
5606 height, creates a mapping between the box and that block.
5607 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
5608 anonymous containing blocks, if any, and when that happens, use
5609 addPercentHeightDescendant() to ensure that the non-anonymous block
5610 is aware of the dependent percent-height box.
5612 2008-09-16 Dirk Schulze <vbs85@gmx.de>
5614 Reviewed by Oliver Hunt and Alp Toker.
5616 Implemented toDataURL in Cairo. Only PNG support
5619 Qt, Cairo and wx require toDataURL implementations
5620 https://bugs.webkit.org/show_bug.cgi?id=17719
5622 * platform/MIMETypeRegistry.cpp:
5623 (WebCore::initializeSupportedImageMIMETypesForEncoding):
5624 * platform/graphics/cairo/ImageBufferCairo.cpp:
5625 (WebCore::ImageBuffer::ImageBuffer):
5626 (WebCore::writeFunction):
5627 (WebCore::ImageBuffer::toDataURL):
5629 2008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
5633 Hide unused media element controls in the QtWebKit port
5635 * platform/qt/html4-adjustments-qt.css
5637 2008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
5641 Fix compilation of the Qt scrollbar code.
5643 * platform/qt/PlatformScrollBarQt.cpp:
5645 (WebCore::styleOptionSlider):
5646 (WebCore::thumbLength):
5647 (WebCore::pixelPosToRangeValue):
5648 (WebCore::PlatformScrollbar::handleContextMenuEvent):
5650 2008-09-16 Adam Treat <treat@kde.org>
5652 Reviewed by Anders Carlsson.
5654 Prevent accesses off of the end of the buffer introduced in r36450
5655 and when checking for descriptions of mime. Also, coding style fix.
5657 * plugins/qt/PluginPackageQt.cpp:
5658 (WebCore::PluginPackage::fetchInfo):
5660 2008-09-15 Rob Buis <buis@kde.org>
5664 https://bugs.webkit.org/show_bug.cgi?id=20634
5665 SVG transform attribute is ignored by <use> in <clipPath>
5667 Transform the paths with the local transform when part
5670 Test: svg/custom/use-clipped-transform.svg
5672 * svg/SVGClipPathElement.cpp:
5673 (WebCore::SVGClipPathElement::canvasResource):
5674 * svg/SVGStyledTransformableElement.cpp:
5675 (WebCore::SVGStyledTransformableElement::toClipPath):
5676 * svg/SVGStyledTransformableElement.h:
5678 2008-09-15 Dave Hyatt <hyatt@apple.com>
5680 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
5681 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
5683 Reviewed by Sam Weinig
5685 * platform/ScrollBar.cpp:
5686 (WebCore::thumbUnderMouse):
5687 (WebCore::Scrollbar::autoscrollPressedPart):
5688 (WebCore::Scrollbar::startTimerIfNeeded):
5689 (WebCore::moveThumb):
5690 (WebCore::Scrollbar::handleMouseMoveEvent):
5691 (WebCore::Scrollbar::handleMousePressEvent):
5692 * platform/ScrollBar.h:
5693 (WebCore::Scrollbar::pressedPos):
5694 (WebCore::Scrollbar::pixelStep):
5695 (WebCore::Scrollbar::setPressedPos):
5696 * platform/ScrollbarTheme.h:
5697 (WebCore::ScrollbarTheme::thumbPosition):
5698 (WebCore::ScrollbarTheme::thumbLength):
5699 (WebCore::ScrollbarTheme::trackPosition):
5700 (WebCore::ScrollbarTheme::trackLength):
5701 * platform/ScrollbarThemeComposite.cpp:
5702 (WebCore::ScrollbarThemeComposite::trackPosition):
5703 * platform/ScrollbarThemeComposite.h:
5704 * platform/qt/PlatformScrollBarQt.cpp:
5705 (WebCore::PlatformScrollbar::PlatformScrollbar):
5707 * platform/qt/ScrollbarThemeQt.cpp:
5708 (WebCore::styleOptionSlider):
5709 (WebCore::ScrollbarThemeQt::hitTest):
5710 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
5711 (WebCore::ScrollbarThemeQt::invalidatePart):
5712 (WebCore::ScrollbarThemeQt::thumbPosition):
5714 * platform/qt/ScrollbarThemeQt.h:
5715 * platform/win/ScrollbarThemeSafari.cpp:
5716 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
5717 * platform/win/ScrollbarThemeSafari.h:
5718 * platform/win/ScrollbarThemeWin.cpp:
5719 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
5720 * platform/win/ScrollbarThemeWin.h:
5722 2008-09-15 David Smith <catfish.man@gmail.com>
5724 Reviewed by Sam Weinig.
5726 https://bugs.webkit.org/show_bug.cgi?id=20180
5728 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
5730 * GNUmakefile.am: Add CSSNthSelector
5731 * WebCore.pro: Add CSSNthSelector
5732 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
5733 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
5734 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
5735 * css/CSSNthSelector.cpp: Added.
5736 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
5737 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
5738 * css/CSSNthSelector.h: Added.
5739 (WebCore::CSSNthSelector::CSSNthSelector):
5740 (WebCore::CSSNthSelector::~CSSNthSelector):
5741 * css/CSSParser.cpp:
5742 (WebCore::CSSParser::createFloatingNthSelector):
5744 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
5745 (WebCore::CSSSelector::CSSSelector):
5746 * css/CSSStyleSelector.cpp:
5747 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
5749 2008-09-15 Matt Lilek <webkit@mattlilek.com>
5751 Reviewed by Tim Hatcher.
5753 Clean up some inspector JS callbacks to remove an extra return.
5755 * page/InspectorController.cpp:
5756 (WebCore::hideDOMNodeHighlight):
5758 (WebCore::unloading):
5761 (WebCore::startDebuggingAndReloadInspectedPage):
5762 (WebCore::stopDebugging):
5763 (WebCore::debuggerAttached):
5764 (WebCore::pauseOnExceptions):
5765 (WebCore::pauseInDebugger):
5766 (WebCore::resumeDebugger):
5767 (WebCore::stepOverStatementInDebugger):
5768 (WebCore::stepIntoStatementInDebugger):
5769 (WebCore::stepOutOfFunctionInDebugger):
5770 (WebCore::isWindowVisible):
5771 (WebCore::closeWindow):
5773 2008-09-15 Dave Hyatt <hyatt@apple.com>
5775 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
5776 now share most of their code.
5778 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
5779 also is never used in our code anyway.
5781 Reviewed by Sam Weinig
5783 * WebCore.vcproj/WebCore.vcproj:
5784 * platform/ScrollTypes.h:
5786 * platform/ScrollbarThemeComposite.cpp:
5787 (WebCore::ScrollbarThemeComposite::splitTrack):
5788 (WebCore::ScrollbarThemeComposite::thumbLength):
5789 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
5790 * platform/ScrollbarThemeComposite.h:
5791 * platform/mac/PlatformScrollBarMac.mm:
5792 (NSControlSizeForScrollBarControlSize):
5793 * platform/win/PlatformScrollBar.h:
5794 * platform/win/PlatformScrollBarSafari.cpp: Removed.
5795 * platform/win/PlatformScrollBarWin.cpp:
5796 (WebCore::PlatformScrollbar::PlatformScrollbar):
5797 * platform/win/ScrollbarThemeSafari.cpp:
5798 (WebCore::ScrollbarTheme::nativeTheme):
5800 (WebCore::scrollbarControlStateFromThemeState):
5801 (WebCore::ScrollbarThemeSafari::hasButtons):
5802 (WebCore::ScrollbarThemeSafari::hasThumb):
5803 (WebCore::buttonRepaintRect):
5804 (WebCore::ScrollbarThemeSafari::backButtonRect):
5805 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
5806 (WebCore::trackRepaintRect):
5807 (WebCore::ScrollbarThemeSafari::trackRect):
5808 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
5809 (WebCore::ScrollbarThemeSafari::paintTrack):
5810 (WebCore::ScrollbarThemeSafari::paintButton):
5811 (WebCore::ScrollbarThemeSafari::paintThumb):
5812 * platform/win/ScrollbarThemeSafari.h:
5813 * platform/win/ScrollbarThemeWin.cpp:
5814 * platform/win/ScrollbarThemeWin.h:
5816 2008-09-15 Chris Fleizach <cfleizach@apple.com>
5818 Reviewed by Darin Adler, Beth Dakin
5820 <rdar://problem/4003789> Expose lists as AXList
5821 <rdar://problem/5707399> VO: Definition lists not announced in Safari
5823 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
5824 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
5825 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
5826 as does each <dd> tag ("definition")
5828 Test: accessibility/lists.html
5832 * WebCore.vcproj/WebCore.vcproj:
5833 * WebCore.xcodeproj/project.pbxproj:
5834 * WebCoreSources.bkl:
5835 * page/AXObjectCache.cpp:
5836 * page/AccessibilityList.cpp: Added.
5837 * page/AccessibilityList.h: Added.
5838 * page/AccessibilityObject.h:
5839 * page/AccessibilityRenderObject.cpp:
5840 * page/AccessibilityTable.cpp:
5841 * page/mac/AccessibilityObjectWrapper.mm:
5842 * page/mac/WebCoreViewFactory.h:
5843 * platform/LocalizedStrings.h:
5844 * platform/mac/LocalizedStringsMac.mm:
5845 * platform/qt/Localizations.cpp:
5847 2008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
5851 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
5852 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
5855 dispatchHTMLEvent -> dispatchEventForType
5856 setHTMLEventListener -> setEventListenerForType
5857 getHTMLEventListener -> eventListenerForType
5858 removeHTMLEventListener -> removeEventListenerForType
5859 isHTMLEventListener -> isAttachedToEventTargetNode
5862 Similar renames for the dispatch/get/set/*Window*Event functions.
5863 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
5865 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
5866 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
5868 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
5869 SVG is able to use the code as well now. This affects most files in html/.
5871 No functional changes.
5875 * WebCore.vcproj/WebCore.vcproj:
5876 * WebCore.xcodeproj/project.pbxproj:
5877 * bindings/js/JSDOMWindowBase.cpp:
5878 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
5879 (WebCore::JSDOMWindowBase::setListener):
5880 (WebCore::JSDOMWindowBase::getListener):
5881 (WebCore::JSDOMWindowBase::findJSEventListener):
5882 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
5883 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
5884 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
5885 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
5886 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
5887 * bindings/js/JSDOMWindowBase.h:
5888 * bindings/js/JSEventListener.cpp:
5889 (WebCore::JSAbstractEventListener::handleEvent):
5890 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
5891 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
5892 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
5893 (WebCore::JSEventListener::JSEventListener):
5894 (WebCore::JSEventListener::~JSEventListener):
5895 (WebCore::JSLazyEventListener::JSLazyEventListener):
5896 (WebCore::eventParameterName):
5897 (WebCore::JSLazyEventListener::parseCode):
5898 (WebCore::getNodeEventListener):
5899 * bindings/js/JSEventListener.h:
5900 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
5901 (WebCore::JSUnprotectedEventListener::create):
5902 (WebCore::JSEventListener::create):
5903 (WebCore::JSLazyEventListener::):
5904 (WebCore::JSLazyEventListener::create):
5905 * bindings/js/JSEventTargetNode.cpp:
5906 (WebCore::JSEventTargetNode::setListener):
5907 (WebCore::JSEventTargetNode::getListener):
5908 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
5909 * bindings/js/JSSVGLazyEventListener.h: Removed.
5910 * bindings/js/ScriptController.cpp:
5911 (WebCore::ScriptController::createHTMLEventHandler):
5912 (WebCore::ScriptController::createSVGEventHandler):
5914 (WebCore::Document::setFocusedNode):
5915 (WebCore::Document::handleWindowEvent):
5916 (WebCore::Document::setWindowEventListenerForType):
5917 (WebCore::Document::windowEventListenerForType):
5918 (WebCore::Document::removeWindowEventListenerForType):
5919 (WebCore::Document::addWindowEventListener):
5920 (WebCore::Document::hasWindowEventListener):
5921 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
5922 (WebCore::Document::createEventListener):
5923 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
5925 * dom/EventListener.h:
5926 (WebCore::EventListener::isAttachedToEventTargetNode):
5927 * dom/EventTargetNode.cpp:
5928 (WebCore::EventTargetNode::dispatchFocusEvent):
5929 (WebCore::EventTargetNode::dispatchBlurEvent):
5930 (WebCore::EventTargetNode::dispatchEventForType):
5931 (WebCore::EventTargetNode::removeEventListenerForType):
5932 (WebCore::EventTargetNode::setEventListenerForType):
5933 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
5934 (WebCore::EventTargetNode::eventListenerForType):
5935 * dom/EventTargetNode.h:
5936 * dom/XMLTokenizer.cpp:
5937 (WebCore::XMLTokenizer::notifyFinished):
5938 * editing/ReplaceSelectionCommand.cpp:
5939 (WebCore::ReplacementFragment::ReplacementFragment):
5940 * html/HTMLBodyElement.cpp:
5941 (WebCore::HTMLBodyElement::parseMappedAttribute):
5942 * html/HTMLButtonElement.cpp:
5943 (WebCore::HTMLButtonElement::parseMappedAttribute):
5944 * html/HTMLElement.cpp:
5945 (WebCore::HTMLElement::parseMappedAttribute):
5946 (WebCore::HTMLElement::checkDTD):
5947 * html/HTMLElement.h:
5948 * html/HTMLFormControlElement.cpp:
5949 (WebCore::HTMLFormControlElement::onChange):
5950 * html/HTMLFormElement.cpp:
5951 (WebCore::HTMLFormElement::prepareSubmit):
5952 (WebCore::HTMLFormElement::reset):
5953 (WebCore::HTMLFormElement::parseMappedAttribute):
5954 * html/HTMLFrameElementBase.cpp:
5955 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
5956 * html/HTMLFrameSetElement.cpp:
5957 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
5958 * html/HTMLImageElement.cpp:
5959 (WebCore::HTMLImageElement::parseMappedAttribute):
5960 * html/HTMLImageLoader.cpp:
5961 (WebCore::HTMLImageLoader::dispatchLoadEvent):
5962 * html/HTMLInputElement.cpp:
5963 (WebCore::HTMLInputElement::parseMappedAttribute):
5964 (WebCore::HTMLInputElement::setValueFromRenderer):
5965 (WebCore::HTMLInputElement::onSearch):
5966 * html/HTMLMediaElement.cpp:
5967 (WebCore::HTMLMediaElement::asyncEventTimerFired):
5968 (WebCore::HTMLMediaElement::load):
5969 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
5970 (WebCore::HTMLMediaElement::setReadyState):
5971 (WebCore::HTMLMediaElement::seek):
5972 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
5973 (WebCore::HTMLMediaElement::willSaveToCache):
5974 * html/HTMLObjectElement.cpp:
5975 (WebCore::HTMLObjectElement::parseMappedAttribute):
5976 * html/HTMLScriptElement.cpp:
5977 (WebCore::HTMLScriptElement::parseMappedAttribute):
5978 (WebCore::HTMLScriptElement::dispatchLoadEvent):
5979 (WebCore::HTMLScriptElement::dispatchErrorEvent):
5980 * html/HTMLSelectElement.cpp:
5981 (WebCore::HTMLSelectElement::parseMappedAttribute):
5982 * html/HTMLTextAreaElement.cpp:
5983 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
5984 * html/HTMLTokenizer.cpp:
5985 (WebCore::HTMLTokenizer::notifyFinished):
5986 * page/AccessibilityRenderObject.cpp:
5987 (WebCore::AccessibilityRenderObject::mouseButtonListener):
5988 * page/EventHandler.cpp:
5989 (WebCore::EventHandler::canMouseDownStartSelect):
5990 (WebCore::EventHandler::canMouseDragExtendSelect):
5992 (WebCore::Frame::sendScrollEvent):
5994 (WebCore::networkStateChanged):
5995 * rendering/RenderListBox.cpp:
5996 (WebCore::RenderListBox::valueChanged):
5997 * rendering/RenderTextControl.cpp:
5998 (WebCore::RenderTextControl::selectionChanged):
5999 * svg/SVGDocumentExtensions.cpp:
6000 * svg/SVGDocumentExtensions.h:
6001 * svg/SVGElement.cpp:
6002 (WebCore::SVGElement::parseMappedAttribute):
6003 (WebCore::SVGElement::finishParsingChildren):
6005 * svg/SVGSVGElement.cpp:
6006 (WebCore::SVGSVGElement::parseMappedAttribute):
6007 * svg/SVGSVGElement.h:
6009 2008-09-15 Dave Hyatt <hyatt@apple.com>
6011 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
6012 need to be converted.
6014 Reviewed by Sam Weinig
6016 * platform/ScrollBar.cpp:
6017 (WebCore::Scrollbar::Scrollbar):
6018 (WebCore::Scrollbar::updateThumbPosition):
6019 (WebCore::Scrollbar::updateThumbProportion):
6020 (WebCore::Scrollbar::autoscrollPressedPart):
6021 (WebCore::Scrollbar::startTimerIfNeeded):
6022 * platform/ScrollBar.h:
6023 * platform/ScrollbarTheme.h:
6024 (WebCore::ScrollbarTheme::invalidateParts):
6025 * platform/ScrollbarThemeComposite.cpp:
6026 (WebCore::ScrollbarThemeComposite::hitTest):
6027 (WebCore::ScrollbarThemeComposite::invalidatePart):
6028 (WebCore::ScrollbarThemeComposite::thumbPosition):
6029 (WebCore::ScrollbarThemeComposite::thumbLength):
6030 (WebCore::ScrollbarThemeComposite::trackLength):
6031 * platform/ScrollbarThemeComposite.h:
6032 * platform/win/PlatformScrollBarSafari.cpp:
6033 (WebCore::PlatformScrollbar::PlatformScrollbar):
6034 * platform/win/PlatformScrollBarWin.cpp:
6035 (WebCore::PlatformScrollbar::PlatformScrollbar):
6037 2008-09-15 David Smith <catfish.man@gmail.com>
6039 "Just do it"'d by Mark Rowe
6041 https://bugs.webkit.org/show_bug.cgi?id=20856
6042 Add missing license header
6044 * dom/NodeRenderStyle.h:
6046 2008-09-15 Dean Jackson <dino@apple.com>
6048 Reviewed by Tim Hatcher.
6050 Add default constructor for ShadowData
6051 https://bugs.webkit.org/show_bug.cgi?id=20757
6053 Test: transitions/shadow.html
6055 * rendering/style/RenderStyle.h:
6057 2008-09-15 Dean Jackson <dino@apple.com>
6059 Reviewed by Tim Hatcher.
6061 RenderStyle should update keyframes.
6062 http://bugs.webkit.org/show_bug.cgi?id=20756
6064 * rendering/style/RenderStyle.cpp:
6065 (WebCore::StyleRareNonInheritedData::updateKeyframes):
6067 2008-09-15 Dean Jackson <dino@apple.com>
6069 Reviewed by Tim Hatcher.
6071 Unnecessary ASSERT in ImplicitAnimation destructor.
6072 https://bugs.webkit.org/show_bug.cgi?id=20817
6074 * page/animation/ImplicitAnimation.cpp:
6075 (WebCore::ImplicitAnimation::~ImplicitAnimation):
6077 2008-09-15 Adam Treat <treat@kde.org>
6081 Fix plugin extension info. It was returning the mimetype where the
6082 extension was given.
6084 * plugins/qt/PluginPackageQt.cpp:
6085 (WebCore::PluginPackage::fetchInfo):
6087 2008-09-15 Dean Jackson <dino@apple.com>
6089 Reviewed by Tim Hatcher
6091 Coding style violation!!!! Cleanup AnimationBase.cpp
6093 * page/animation/AnimationBase.cpp:
6094 (WebCore::blendFunc):
6096 2008-09-15 David Hyatt <hyatt@apple.com>
6098 Move all hit testing code for scrollbars into the base class. Refactor
6099 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
6102 No platform is using this code yet. Although it has been moved and compiles
6103 (even on Mac), it is not being used on any platform.
6105 Reviewed by Sam Weinig
6107 * platform/ScrollBar.cpp:
6108 (WebCore::Scrollbar::autoscrollPressedPart):
6109 (WebCore::Scrollbar::startTimerIfNeeded):
6110 (WebCore::Scrollbar::handleMouseMoveEvent):
6111 (WebCore::Scrollbar::handleMouseOutEvent):
6112 (WebCore::Scrollbar::handleMouseReleaseEvent):
6113 (WebCore::Scrollbar::handleMousePressEvent):
6114 * platform/ScrollBar.h:
6115 (WebCore::Scrollbar::handleContextMenuEvent):
6116 * platform/ScrollbarTheme.h:
6117 (WebCore::ScrollbarTheme::hitTest):
6118 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
6119 (WebCore::ScrollbarTheme::invalidatePart):
6120 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
6121 (WebCore::ScrollbarTheme::centerOnThumb):
6122 (WebCore::ScrollbarTheme::thumbPosition):
6123 (WebCore::ScrollbarTheme::thumbLength):
6124 (WebCore::ScrollbarTheme::trackLength):
6125 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
6126 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
6127 * platform/Widget.h:
6128 (WebCore::Widget::parent):
6129 * platform/mac/PlatformScrollBar.h:
6130 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
6131 (WebCore::PlatformScrollbar::handleMouseOutEvent):
6132 (WebCore::PlatformScrollbar::handleMousePressEvent):
6133 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
6134 * platform/mac/WidgetMac.mm:
6135 (WebCore::Widget::convertFromContainingWindow):
6136 * platform/win/ScrollbarThemeWin.cpp:
6137 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
6138 * platform/win/ScrollbarThemeWin.h:
6140 2008-09-15 Dan Bernstein <mitz@apple.com>
6142 Reviewed by Sam Weinig.
6144 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
6146 Cache the next breakable position for text nodes in InlineIterator.
6148 * rendering/bidi.cpp:
6149 (WebCore::InlineIterator::InlineIterator):
6150 (WebCore::InlineIterator::increment):
6151 (WebCore::RenderBlock::findNextLineBreak):
6153 2008-09-15 Simon Fraser <simon.fraser@apple.com>
6155 Reviewed by Dan Bernstein
6157 Fix assertion and integral pixel issue when creating subimages.
6158 https://bugs.webkit.org/show_bug.cgi?id=20786
6160 * platform/graphics/cg/ImageCG.cpp:
6161 (WebCore::BitmapImage::draw):
6163 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
6167 Implment seek() and clean up and improve debugging output
6169 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6171 (WebCore::MediaPlayerPrivate::seek):
6172 (WebCore::MediaPlayerPrivate::setVolume):
6173 (WebCore::MediaPlayerPrivate::setMuted):
6174 (WebCore::MediaPlayerPrivate::updateStates):
6175 (WebCore::MediaPlayerPrivate::naturalSize):
6176 (WebCore::MediaPlayerPrivate::paint):
6177 (WebCore::MediaPlayerPrivate::stateChanged):
6178 (WebCore::MediaPlayerPrivate::tick):
6180 2008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
6184 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
6186 m_mediaObject, m_audioOutput, m_videoWidget get created in the
6187 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
6188 only check if we use the MediaPlayerPrivate after it has been deleted.
6190 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
6192 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6193 (WebCore::MediaPlayerPrivate::play):
6194 (WebCore::MediaPlayerPrivate::setVolume):
6195 (WebCore::MediaPlayerPrivate::updateStates):
6197 2008-09-15 Anders Carlsson <andersca@apple.com>
6201 <rdar://problem/6163988>
6202 https://bugs.webkit.org/show_bug.cgi?id=20457
6203 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
6205 Check the width and height and throw an exception if any of them are 0.
6207 * html/CanvasRenderingContext2D.cpp:
6208 (WebCore::CanvasRenderingContext2D::createPattern):
6210 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
6214 Render media element controls with antialiasing enabled
6216 * platform/qt/RenderThemeQt.cpp:
6217 (WebCore::RenderThemeQt::paintMediaMuteButton):
6218 (WebCore::RenderThemeQt::paintMediaPlayButton):
6219 (WebCore::RenderThemeQt::paintMediaSliderTrack):
6220 (WebCore::RenderThemeQt::paintMediaSliderThumb):
6222 2008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
6226 Upon non fatal error, switch to the pause state (so that playback can continue)
6228 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6229 (WebCore::MediaPlayerPrivate::updateStates):
6231 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
6235 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
6239 2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
6243 Make QtInstance::create() private and fix caching
6245 * bindings/js/ScriptControllerQt.cpp:
6246 (WebCore::ScriptController::createScriptInstanceForWidget):
6247 * bridge/qt/qt_instance.cpp:
6248 (JSC::Bindings::QtInstance::getQtInstance):
6249 (JSC::Bindings::QtInstance::getRuntimeObject):
6250 * bridge/qt/qt_instance.h:
6251 (JSC::Bindings::QtInstance::create):
6252 * bridge/qt/qt_runtime.cpp:
6253 (JSC::Bindings::convertQVariantToValue):
6254 (JSC::Bindings::QtConnectionObject::execute):
6256 2008-09-15 David Smith <catfish.man@gmail.com>
6258 Reviewed by Dave Hyatt.
6260 https://bugs.webkit.org/show_bug.cgi?id=20180
6262 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
6263 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
6264 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
6266 * css/CSSStyleSelector.cpp:
6267 (WebCore::CSSStyleSelector::CSSStyleSelector):
6268 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
6269 * css/CSSStyleSelector.h:
6271 2008-09-14 Dave Hyatt <hyatt@apple.com>
6273 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
6274 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
6276 Reviewed by Sam Weinig
6278 * platform/ScrollBar.h:
6279 (WebCore::Scrollbar::client):
6280 (WebCore::Scrollbar::currentPos):
6281 (WebCore::Scrollbar::totalSize):
6282 * platform/ScrollbarTheme.h:
6283 * platform/ScrollbarThemeComposite.cpp:
6284 (WebCore::pageForScrollView):
6285 (WebCore::ScrollbarThemeComposite::paint):
6286 * platform/ScrollbarThemeComposite.h:
6287 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
6288 * platform/win/PlatformScrollBar.h:
6289 * platform/win/PlatformScrollBarSafari.cpp:
6290 * platform/win/PlatformScrollBarWin.cpp:
6291 * platform/win/ScrollbarThemeSafari.h:
6292 (WebCore::ScrollbarThemeSafari::hasButtons):
6293 (WebCore::ScrollbarThemeSafari::hasThumb):
6294 (WebCore::ScrollbarThemeSafari::backButtonRect):
6295 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
6296 (WebCore::ScrollbarThemeSafari::trackRect):
6297 (WebCore::ScrollbarThemeSafari::splitTrack):
6298 (WebCore::ScrollbarThemeSafari::paintTrack):
6299 (WebCore::ScrollbarThemeSafari::paintButton):
6300 (WebCore::ScrollbarThemeSafari::paintThumb):
6301 * platform/win/ScrollbarThemeWin.cpp:
6302 (WebCore::isRunningOnVistaOrLater):
6303 (WebCore::checkAndInitScrollbarTheme):
6304 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
6305 (WebCore::ScrollbarThemeWin::themeChanged):
6306 (WebCore::ScrollbarThemeWin::hasThumb):
6307 (WebCore::ScrollbarThemeWin::backButtonRect):
6308 (WebCore::ScrollbarThemeWin::forwardButtonRect):
6309 (WebCore::ScrollbarThemeWin::trackRect):
6310 (WebCore::ScrollbarThemeWin::splitTrack):
6311 (WebCore::ScrollbarThemeWin::paintTrack):
6312 (WebCore::ScrollbarThemeWin::paintButton):
6313 (WebCore::gripperRect):
6314 (WebCore::paintGripper):
6315 (WebCore::ScrollbarThemeWin::paintThumb):
6316 (WebCore::ScrollbarThemeWin::thumbPosition):
6317 (WebCore::ScrollbarThemeWin::thumbLength):
6318 (WebCore::ScrollbarThemeWin::trackLength):
6319 * platform/win/ScrollbarThemeWin.h:
6320 (WebCore::ScrollbarThemeWin::hasButtons):
6321 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
6323 2008-09-14 Anthony Ricaud <rik24d@gmail.com>
6325 Moving all resource graphs under the same container for future scalable feature.
6326 This is a speedup on resize but maybe a loss on changing the sorting function.
6328 https://bugs.webkit.org/show_bug.cgi?id=20555
6330 Reviewed by Timothy Hatcher.
6332 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
6333 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
6334 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
6336 2008-09-14 Alexey Proskuryakov <ap@webkit.org>
6338 Reviewed by Maciej Stachowiak.
6340 https://bugs.webkit.org/show_bug.cgi?id=20738
6341 compareBoundaryPoints gives incorrect results
6343 Test: fast/dom/Range/compareBoundaryPoints-2.html
6345 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
6347 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
6349 2008-09-14 Maciej Stachowiak <mjs@apple.com>
6351 Unreviewed build fix.
6355 * bindings/js/JSQuarantinedObjectWrapper.cpp:
6356 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
6358 2008-09-14 Maciej Stachowiak <mjs@apple.com>
6360 Unreviewed build fix.
6362 Blind attempt to fix build. Correct parameters for hasInstance.
6364 * bindings/js/JSQuarantinedObjectWrapper.cpp:
6365 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
6366 * bindings/js/JSQuarantinedObjectWrapper.h:
6368 2008-09-14 Dan Bernstein <mitz@apple.com>
6370 Rubber-stamped by Sam Weinig.
6372 - revert <http://trac.webkit.org/changeset/36382> because it exposed
6373 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
6376 * platform/graphics/mac/FontCacheMac.mm:
6377 (WebCore::FontCache::getFontDataForCharacters):
6378 (WebCore::FontCache::getLastResortFallbackFont):
6380 2008-09-14 Dave Hyatt <hyatt@apple.com>
6382 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
6383 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
6386 Reviewed by Sam Weinig
6388 * WebCore.vcproj/WebCore.vcproj:
6389 * platform/win/ScrollbarThemeSafari.h:
6390 * platform/win/ScrollbarThemeWin.h:
6392 2008-09-14 Alp Toker <alp@nuanti.com>
6394 https://bugs.webkit.org/show_bug.cgi?id=20320
6395 [GTK] A white rectangle is visible behind widgets with rounded corners
6397 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
6400 Requested by Michael Monreal.
6402 * platform/gtk/RenderThemeGtk.cpp:
6403 (WebCore::RenderThemeGtk::RenderThemeGtk):
6404 * platform/gtk/gtk2drawing.c:
6405 (moz_gtk_set_widget_name):
6406 (ensure_window_widget):
6407 (setup_widget_prototype):
6408 (ensure_button_arrow_widget):
6409 (moz_gtk_get_combo_box_inner_button):
6410 (moz_gtk_get_combo_box_button_inner_widgets):
6411 (ensure_combo_box_widgets):
6412 (moz_gtk_get_combo_box_entry_inner_widgets):
6413 (moz_gtk_get_combo_box_entry_arrow):
6414 (ensure_combo_box_entry_widgets):
6415 (ensure_toolbar_widget):
6416 (ensure_tooltip_widget):
6417 (ensure_menu_bar_widget):
6418 (ensure_menu_bar_item_widget):
6419 (ensure_menu_popup_widget):
6420 (ensure_menu_item_widget):
6421 (ensure_image_menu_item_widget):
6422 (ensure_menu_separator_widget):
6423 (ensure_check_menu_item_widget):
6424 (ensure_tree_header_cell_widget):
6425 (ensure_scrolled_window_widget):
6426 (moz_gtk_button_paint):
6428 (moz_gtk_button_get_inner_border):
6429 (moz_gtk_toggle_paint):
6430 (calculate_button_inner_rect):
6431 (calculate_arrow_rect):
6432 (moz_gtk_scrollbar_button_paint):
6433 (moz_gtk_scrollbar_thumb_paint):
6434 (moz_gtk_caret_paint):
6435 (moz_gtk_entry_paint):
6436 (moz_gtk_treeview_paint):
6437 (moz_gtk_tree_header_cell_paint):
6438 (moz_gtk_combo_box_paint):
6439 (moz_gtk_downarrow_paint):
6440 (moz_gtk_combo_box_entry_button_paint):
6441 (moz_gtk_toolbar_paint):
6442 (moz_gtk_tab_scroll_arrow_paint):
6443 (moz_gtk_menu_bar_paint):
6444 (moz_gtk_menu_item_paint):
6445 (moz_gtk_get_widget_border):
6446 (moz_gtk_get_combo_box_entry_button_size):
6447 (moz_gtk_get_tab_scroll_arrow_size):
6448 (moz_gtk_get_downarrow_size):
6449 (moz_gtk_images_in_menus):
6450 (moz_gtk_widget_paint):
6452 * platform/gtk/gtkdrawing.h:
6454 2008-09-14 David Hyatt <hyatt@apple.com>
6456 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
6457 painting. Mac and Gtk themes don't do anything and just let the
6458 underlying widget paint. Qt now uses the theme to paint. wx doesn't
6461 Reviewed by Sam Weinig
6463 * platform/ScrollBar.cpp:
6464 (WebCore::Scrollbar::paint):
6465 * platform/ScrollBar.h:
6466 (WebCore::Scrollbar::value):
6467 (WebCore::Scrollbar::visibleSize):
6468 (WebCore::Scrollbar::maximum):
6469 (WebCore::Scrollbar::lineStep):
6470 (WebCore::Scrollbar::pageStep):
6471 (WebCore::Scrollbar::pixelStep):
6472 (WebCore::Scrollbar::pressedPart):
6473 (WebCore::Scrollbar::hoveredPart):
6474 (WebCore::Scrollbar::theme):
6475 * platform/ScrollbarTheme.h:
6476 (WebCore::ScrollbarTheme::paint):
6477 (WebCore::ScrollbarTheme::scrollbarThickness):
6478 (WebCore::ScrollbarTheme::supportsControlTints):
6479 (WebCore::ScrollbarTheme::themeChanged):
6480 * platform/gtk/PlatformScrollBar.h:
6481 * platform/gtk/PlatformScrollBarGtk.cpp:
6482 * platform/mac/PlatformScrollBar.h:
6483 * platform/mac/PlatformScrollBarMac.mm:
6484 * platform/qt/PlatformScrollBar.h:
6485 * platform/qt/PlatformScrollBarQt.cpp:
6486 * platform/qt/ScrollbarThemeQt.cpp:
6487 (WebCore::styleOptionSlider):
6488 * platform/qt/ScrollbarThemeQt.h:
6489 (WebCore::ScrollbarThemeQt::paint):
6490 * platform/win/PlatformScrollBarSafari.cpp:
6491 (WebCore::PlatformScrollbar::paint):
6492 * platform/win/ScrollbarThemeSafari.h:
6493 (WebCore::ScrollbarThemeSafari::supportsControlTints):
6494 * platform/wx/PlatformScrollBar.h:
6495 * platform/wx/TemporaryLinkStubs.cpp:
6496 (PlatformScrollbar::~PlatformScrollbar):
6498 2008-09-14 Sam Weinig <sam@webkit.org>
6502 * platform/qt/PlatformScrollBarQt.cpp:
6504 2008-09-14 Sam Weinig <sam@webkit.org>
6506 Reviewed by Mark Rowe.
6508 Remove extraneous semicolons.
6510 * bindings/scripts/CodeGeneratorObjC.pm:
6511 * html/HTMLLinkElement.cpp:
6512 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
6513 * html/HTMLScriptElement.cpp:
6514 (WebCore::HTMLScriptElement::charsetAttributeValue):
6515 (WebCore::HTMLScriptElement::typeAttributeValue):
6516 * platform/graphics/qt/GradientQt.cpp:
6517 (WebCore::Gradient::platformGradient):
6518 * platform/qt/ScrollViewQt.cpp:
6519 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
6520 * platform/win/ScrollViewWin.cpp:
6521 (WebCore::ScrollView::updateScrollbars):
6522 * rendering/RenderBlock.cpp:
6523 (WebCore::RenderBlock::paintEllipsisBoxes):
6524 * svg/SVGPathSegList.cpp:
6525 (WebCore::SVGPathSegList::toPathData):
6527 2008-09-14 Sam Weinig <sam@webkit.org>
6531 * platform/qt/ScrollViewQt.cpp:
6532 (WebCore::ScrollView::updateScrollbars):
6534 2008-09-14 Sam Weinig <sam@webkit.org>
6538 * platform/qt/PlatformScrollBarQt.cpp:
6539 (WebCore::PlatformScrollbar::PlatformScrollbar):
6540 (WebCore::PlatformScrollbar::paint):
6542 2008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
6544 Gtk build fix, not reviewed.
6546 * platform/gtk/PlatformScrollBarGtk.cpp:
6547 (PlatformScrollbar::PlatformScrollbar):
6548 * platform/gtk/ScrollViewGtk.cpp:
6549 (WebCore::ScrollView::updateScrollbars):
6551 2008-09-13 Dave Hyatt <hyatt@apple.com>
6553 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
6554 to set the dimensions of a scrollbar.
6556 Reviewed by Sam Weinig
6558 * platform/ScrollBar.h:
6559 * platform/gtk/PlatformScrollBar.h:
6560 * platform/gtk/PlatformScrollBarGtk.cpp:
6561 (PlatformScrollbar::setFrameGeometry):
6562 * platform/gtk/ScrollViewGtk.cpp:
6563 (WebCore::ScrollView::updateScrollbars):
6564 * platform/mac/PlatformScrollBarMac.mm:
6565 * platform/qt/PlatformScrollBarQt.cpp:
6566 * platform/qt/ScrollViewQt.cpp:
6567 (WebCore::ScrollView::updateScrollbars):
6568 * platform/win/PlatformScrollBar.h:
6569 * platform/win/PlatformScrollBarSafari.cpp:
6570 (WebCore::PlatformScrollbar::PlatformScrollbar):
6571 (WebCore::PlatformScrollbar::setFrameGeometry):
6572 * platform/win/PlatformScrollBarWin.cpp:
6573 (WebCore::PlatformScrollbar::PlatformScrollbar):
6574 (WebCore::PlatformScrollbar::setFrameGeometry):
6575 * platform/win/PopupMenuWin.cpp:
6576 (WebCore::PopupWndProc):
6577 * platform/win/ScrollViewWin.cpp:
6578 (WebCore::ScrollView::updateScrollbars):
6579 * platform/wx/PlatformScrollBar.h:
6580 * platform/wx/TemporaryLinkStubs.cpp:
6581 (PlatformScrollbar::updateThumbProportion):
6582 * rendering/RenderLayer.cpp:
6583 (WebCore::RenderLayer::positionOverflowControls):
6584 * rendering/RenderListBox.cpp:
6585 (WebCore::RenderListBox::paintScrollbar):
6587 2008-09-13 Dave Hyatt <hyatt@apple.com>
6589 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
6591 Reviewed by Sam Weinig
6593 * platform/ScrollBar.h:
6594 * platform/gtk/PlatformScrollBar.h:
6595 * platform/gtk/PlatformScrollBarGtk.cpp:
6596 * platform/mac/PlatformScrollBar.h:
6597 * platform/mac/PlatformScrollBarMac.mm:
6598 * platform/win/PlatformScrollBar.h:
6599 * platform/win/PlatformScrollBarSafari.cpp:
6600 * platform/win/PlatformScrollBarWin.cpp:
6601 * platform/wx/PlatformScrollBar.h:
6602 * platform/wx/TemporaryLinkStubs.cpp:
6603 (PlatformScrollbar::~PlatformScrollbar):
6605 2008-09-13 Dave Hyatt <hyatt@apple.com>
6607 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
6608 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
6610 Reviewed by Sam Weinig
6612 * platform/ScrollBar.h:
6613 * platform/gtk/PlatformScrollBar.h:
6614 * platform/gtk/PlatformScrollBarGtk.cpp:
6615 * platform/mac/PlatformScrollBar.h:
6616 * platform/mac/PlatformScrollBarMac.mm:
6617 * platform/win/PlatformScrollBarSafari.cpp:
6618 * platform/win/PlatformScrollBarWin.cpp:
6619 * platform/wx/PlatformScrollBar.h:
6620 * platform/wx/TemporaryLinkStubs.cpp:
6621 (PlatformScrollbar::~PlatformScrollbar):
6623 2008-09-13 Dave Hyatt <hyatt@apple.com>
6625 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
6627 Reviewed by Sam Weinig
6629 * platform/ScrollBar.cpp:
6630 (WebCore::Scrollbar::~Scrollbar):
6631 * platform/ScrollBar.h:
6632 * platform/qt/PlatformScrollBarQt.cpp:
6633 (WebCore::PlatformScrollbar::~PlatformScrollbar):
6634 * platform/win/PlatformScrollBarSafari.cpp:
6635 (WebCore::PlatformScrollbar::~PlatformScrollbar):
6636 * platform/win/PlatformScrollBarWin.cpp:
6637 (WebCore::PlatformScrollbar::~PlatformScrollbar):
6639 2008-09-13 David Hyatt <hyatt@apple.com>
6641 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
6642 function on Scrollbar. Fixes Qt build bustage.
6644 Reviewed by Sam Weinig
6646 * platform/ScrollBar.h:
6647 (WebCore::Scrollbar::orientation):
6648 (WebCore::Scrollbar::value):
6649 (WebCore::Scrollbar::maximum):
6650 * platform/qt/PlatformScrollBar.h:
6652 2008-09-13 Dan Bernstein <mitz@apple.com>
6654 Reviewed by Sam Weinig.
6656 - use the LastResort font for missing glyphs instead of showing the
6657 primary font's missing glyph
6659 Test: platform/mac/fast/text/last-resort-font.html
6661 * platform/graphics/mac/FontCacheMac.mm:
6662 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
6663 last resort font if a substitute font cannot be found.
6664 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
6665 comment (the user's preferred standard font is included in the search
6666 thanks to code in FontCache::getFontData()) and changed to return the
6669 2008-09-13 Dave Hyatt <hyatt@apple.com>
6671 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
6672 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
6673 patches will move rendering and hit testing functionality into this class.
6675 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
6676 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
6678 Reviewed by Sam Weinig
6682 * WebCore.vcproj/WebCore.vcproj:
6683 * platform/ScrollBar.cpp:
6684 (WebCore::Scrollbar::Scrollbar):
6685 * platform/ScrollBar.h:
6686 * platform/ScrollbarTheme.h: Added.
6687 (WebCore::ScrollbarTheme::~ScrollbarTheme):
6688 (WebCore::ScrollbarTheme::scrollbarThickness):
6689 (WebCore::ScrollbarTheme::themeChanged):
6690 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
6691 (WebCore::ScrollbarTheme::nativeTheme):
6692 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
6693 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
6694 * platform/gtk/ScrollbarThemeGtk.h: Added.
6695 * platform/mac/PlatformScrollBar.h:
6696 * platform/mac/ScrollbarThemeMac.cpp: Added.
6697 (WebCore::ScrollbarTheme::nativeTheme):
6699 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
6700 (WebCore::ScrollbarThemeMac::scrollbarThickness):
6701 * platform/mac/ScrollbarThemeMac.h: Added.
6702 * platform/qt/PlatformScrollBarQt.cpp:
6703 * platform/qt/ScrollbarThemeQt.cpp: Added.
6704 (WebCore::ScrollbarTheme::nativeTheme):
6705 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
6706 (WebCore::ScrollbarThemeQt::scrollbarThickness):
6707 * platform/qt/ScrollbarThemeQt.h: Added.
6708 * platform/win/PlatformScrollBar.h:
6709 * platform/win/PlatformScrollBarSafari.cpp:
6710 * platform/win/PlatformScrollBarWin.cpp:
6711 * platform/win/PopupMenuWin.cpp:
6712 (WebCore::PopupMenu::calculatePositionAndSize):
6713 * platform/win/ScrollViewWin.cpp:
6714 (WebCore::ScrollView::updateScrollbars):
6715 (WebCore::ScrollView::themeChanged):
6716 * platform/win/ScrollbarThemeSafari.cpp: Added.
6717 (WebCore::ScrollbarTheme::nativeTheme):
6719 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
6720 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
6721 * platform/win/ScrollbarThemeSafari.h: Added.
6722 * platform/win/ScrollbarThemeWin.cpp: Added.
6723 (WebCore::ScrollbarTheme::nativeTheme):
6724 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
6725 (WebCore::ScrollbarThemeWin::scrollbarThickness):
6726 (WebCore::ScrollbarThemeWin::themeChanged):
6727 * platform/win/ScrollbarThemeWin.h: Added.
6728 * platform/wx/TemporaryLinkStubs.cpp:
6729 (ScrollbarTheme::nativeTheme):
6730 * rendering/RenderLayer.cpp:
6731 (WebCore::scrollCornerRect):
6732 * rendering/RenderTextControl.cpp:
6733 (WebCore::RenderTextControl::calcHeight):
6734 (WebCore::RenderTextControl::calcPrefWidths):
6736 2008-09-13 Chris Fleizach <cfleizach@apple.com>
6738 Reviewed by Timothy Hatcher.
6740 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
6742 * page/mac/AccessibilityObjectWrapper.mm:
6743 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
6745 2008-09-13 Dan Bernstein <mitz@apple.com>
6747 Reviewed by Timothy Hatcher.
6749 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
6751 No regression test because the back/forward cache is disabled in DumpRenderTree
6753 * rendering/RenderContainer.cpp:
6754 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
6757 2008-09-13 Kevin Ollivier <kevino@theolliviers.com>
6759 wx build fixes for new methods recently introduced.
6761 * platform/graphics/wx/AffineTransformWx.cpp:
6762 (WebCore::AffineTransform::AffineTransform):
6763 (WebCore::AffineTransform::setMatrix):
6764 (WebCore::AffineTransform::setA):
6765 (WebCore::AffineTransform::setB):
6766 (WebCore::AffineTransform::setC):
6767 (WebCore::AffineTransform::setD):
6768 (WebCore::AffineTransform::setE):
6769 (WebCore::AffineTransform::setF):
6770 * platform/wx/LocalizedStringsWx.cpp:
6771 (WebCore::AXDefinitionListTermText):
6772 (WebCore::AXDefinitionListDefinitionText):
6774 2008-09-12 Dave Hyatt <hyatt@apple.com>
6776 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
6777 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
6778 "PlatformScrollbar."
6780 Reviewed by Sam Weinig
6782 * WebCore.vcproj/WebCore.vcproj:
6783 * editing/EditorCommand.cpp:
6784 * page/EventHandler.cpp:
6785 (WebCore::EventHandler::selectCursor):
6786 (WebCore::EventHandler::handleMousePressEvent):
6787 (WebCore::EventHandler::handleMouseMoveEvent):
6788 * page/EventHandler.h:
6789 * page/MouseEventWithHitTestResults.cpp:
6790 (WebCore::MouseEventWithHitTestResults::scrollbar):
6791 * page/MouseEventWithHitTestResults.h:
6792 * page/gtk/EventHandlerGtk.cpp:
6793 (WebCore::EventHandler::passMousePressEventToScrollbar):
6794 * page/mac/EventHandlerMac.mm:
6795 (WebCore::EventHandler::passMousePressEventToScrollbar):
6796 * page/qt/EventHandlerQt.cpp:
6797 (WebCore::EventHandler::passMousePressEventToScrollbar):
6798 * page/win/EventHandlerWin.cpp:
6799 (WebCore::EventHandler::passMousePressEventToScrollbar):
6800 * page/wx/EventHandlerWx.cpp:
6801 (WebCore::EventHandler::passMousePressEventToScrollbar):
6802 * platform/PopupMenu.h:
6803 * platform/ScrollBar.cpp:
6804 (WebCore::Scrollbar::Scrollbar):
6805 (WebCore::Scrollbar::autoscrollTimerFired):
6806 (WebCore::Scrollbar::autoscrollPressedPart):
6807 (WebCore::Scrollbar::startTimerIfNeeded):
6808 (WebCore::Scrollbar::stopTimerIfNeeded):
6809 (WebCore::Scrollbar::pressedPartScrollDirection):
6810 (WebCore::Scrollbar::pressedPartScrollGranularity):
6811 * platform/ScrollBar.h:
6812 (WebCore::Scrollbar::handleMousePressEvent):
6813 (WebCore::Scrollbar::invalidatePart):
6814 (WebCore::Scrollbar::thumbUnderMouse):
6815 * platform/ScrollView.h:
6816 * platform/ScrollbarClient.h: Added.
6817 (WebCore::ScrollbarClient::~ScrollbarClient):
6818 * platform/gtk/ScrollViewGtk.cpp:
6819 (WebCore::ScrollView::scrollbarUnderMouse):
6820 * platform/qt/PlatformScrollBar.h:
6821 * platform/qt/PlatformScrollBarQt.cpp:
6822 (WebCore::PlatformScrollbar::PlatformScrollbar):
6823 (WebCore::scrollbarPart):
6824 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
6825 (WebCore::PlatformScrollbar::handleMouseOutEvent):
6826 (WebCore::PlatformScrollbar::handleMousePressEvent):
6827 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
6828 * platform/qt/ScrollViewQt.cpp:
6829 (WebCore::ScrollView::scrollbarUnderMouse):
6830 (WebCore::ScrollView::wheelEvent):
6831 * platform/win/PlatformScrollBar.h:
6832 * platform/win/PlatformScrollBarSafari.cpp:
6833 (WebCore::PlatformScrollbar::PlatformScrollbar):
6834 * platform/win/PlatformScrollBarWin.cpp:
6835 (WebCore::PlatformScrollbar::PlatformScrollbar):
6836 * platform/win/ScrollViewWin.cpp:
6837 (WebCore::ScrollView::scrollbarUnderMouse):
6838 * rendering/HitTestResult.cpp:
6839 (WebCore::HitTestResult::setScrollbar):
6840 * rendering/HitTestResult.h:
6841 (WebCore::HitTestResult::scrollbar):
6842 * rendering/RenderLayer.cpp:
6843 (WebCore::RenderLayer::hitTestOverflowControls):
6844 * rendering/RenderLayer.h:
6845 * rendering/RenderListBox.h:
6847 2008-09-12 Steve Falkenburg <sfalken@apple.com>
6851 * css/CSSStyleSelector.cpp:
6852 (WebCore::getTransformOperationType):
6854 2008-09-12 Chris Marrin <cmarrin@apple.com>
6856 Reviewed by Dave Hyatt.
6858 Make transform animation behavior match spec
6859 https://bugs.webkit.org/show_bug.cgi?id=20770
6861 Tests: transitions/transform-op-list-match.html
6862 transitions/transform-op-list-no-match.html
6864 * css/CSSStyleSelector.cpp:
6865 * css/CSSStyleSelector.h:
6866 * page/animation/AnimationBase.cpp:
6867 * page/animation/AnimationBase.h:
6868 * page/animation/ImplicitAnimation.cpp:
6869 * page/animation/ImplicitAnimation.h:
6870 * page/animation/KeyframeAnimation.cpp:
6871 * page/animation/KeyframeAnimation.h:
6872 * rendering/RenderLayer.cpp:
6873 * rendering/style/RenderStyle.cpp:
6874 * rendering/style/RenderStyle.h:
6876 2008-09-12 Ojan Vafai <ojan@chromium.org>
6878 Properly escape contents of links added to the inspector.
6879 For now, just build the link with the DOM and get the
6880 outerHTML. Eventually, we probably just want to do
6881 this entirely with the DOM.
6883 Reviewed by Timothy Hatcher.
6885 https://bugs.webkit.org/show_bug.cgi?id=20684
6887 * manual-tests/inspector/escape-links.html: Added.
6888 * page/inspector/StylesSidebarPane.js:
6889 * page/inspector/inspector.js:
6890 * page/inspector/utilities.js:
6892 2008-09-12 Adele Peterson <adele@apple.com>
6894 Reviewed by John Sullivan and Kevin McCullough.
6896 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
6898 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
6899 Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will
6900 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
6902 2008-09-12 Kevin McCullough <kmccullough@apple.com>
6906 Re-introducing the code since it was not the cause of the crash.
6909 * rendering/RenderObject.cpp:
6910 (WebCore::RenderObject::canBeProgramaticallyScrolled):
6911 * rendering/RenderObject.h:
6913 2008-09-12 Chris Marrin <cmarrin@apple.com>
6915 Reviewed by Dave Hyatt.
6917 When changing one animation in a list, don't reset other animations
6918 https://bugs.webkit.org/show_bug.cgi?id=20675
6920 Test: animations/change-one-anim.html
6922 * page/animation/AnimationBase.cpp:
6923 (WebCore::AnimationBase::getNumProperties):
6924 * page/animation/AnimationBase.h:
6925 * page/animation/AnimationController.cpp:
6926 * page/animation/CompositeAnimation.cpp:
6927 (WebCore::CompositeAnimation::updateKeyframeAnimations):
6928 * page/animation/CompositeAnimation.h:
6929 * page/animation/ImplicitAnimation.cpp:
6930 * page/animation/KeyframeAnimation.cpp:
6931 * page/animation/KeyframeAnimation.h:
6932 (WebCore::KeyframeAnimation::setIndex):
6934 2008-09-12 Brady Eidson <beidson@apple.com>
6936 Reviewed by Mitz Pettel
6938 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
6940 * loader/DocumentLoader.cpp:
6941 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
6942 Subresources can never be created from nil data, but there is always a MainResource, whether
6943 or not there's any data. So in the case where the main resource has no data, fake it for the
6944 sake of creating the ArchiveResource.
6946 2008-09-12 Dave Hyatt <hyatt@apple.com>
6948 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
6949 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
6950 Remove all the isWidget and hasPlatformScrollbars guards.
6952 Reviewed by Tim Hatcher
6954 * platform/ScrollBar.h:
6955 * platform/gtk/PlatformScrollBar.h:
6956 * platform/mac/PlatformScrollBar.h:
6957 * platform/qt/PlatformScrollBar.h:
6958 * platform/win/PlatformScrollBar.h:
6959 * platform/win/ScrollViewWin.cpp:
6960 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
6961 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
6962 * platform/wx/PlatformScrollBar.h:
6963 * rendering/RenderLayer.cpp:
6964 (WebCore::RenderLayer::horizontalScrollbarWidget):
6965 (WebCore::RenderLayer::verticalScrollbarWidget):
6966 (WebCore::RenderLayer::createScrollbar):
6967 (WebCore::RenderLayer::destroyScrollbar):
6968 * rendering/RenderListBox.cpp:
6969 (WebCore::RenderListBox::~RenderListBox):
6970 (WebCore::RenderListBox::updateFromElement):
6971 (WebCore::RenderListBox::isPointInOverflowControl):
6973 2008-09-12 Dan Bernstein <mitz@apple.com>
6975 Reviewed by Sam Weinig.
6977 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
6979 * page/animation/AnimationController.cpp:
6980 * page/animation/AnimationController.h:
6981 * page/animation/CompositeAnimation.cpp:
6982 * page/animation/CompositeAnimation.h:
6983 * page/animation/ImplicitAnimation.cpp:
6984 * page/animation/ImplicitAnimation.h:
6985 * page/animation/KeyframeAnimation.cpp:
6986 * page/animation/KeyframeAnimation.h:
6988 2008-09-11 Timothy Hatcher <timothy@apple.com>
6990 Add a renderedImage method to DOMNode to get an image
6991 of the rendering for the node and it's descendants.
6993 <rdar://problem/5849349> Would like API to create
6994 an image for a DOM node
6996 Reviewed by Oliver Hunt.
6998 * bindings/objc/DOM.mm:
6999 (-[DOMNode renderedImage]): Call Frame::nodeImage.
7000 * bindings/objc/DOMPrivate.h:
7002 * page/mac/FrameMac.mm:
7003 (WebCore::Frame::nodeImage):
7005 2008-09-08 Chris Marrin <cmarrin@apple.com>
7007 Reviewed by Dave Hyatt
7009 Need to support comma separated list of key times in keyframes selectors
7010 https://bugs.webkit.org/show_bug.cgi?id=20680
7012 Test: animations/keyframes-comma-separated.html
7015 * css/CSSParser.cpp:
7016 (WebCore::CSSParser::createKeyframeRule):
7018 * css/CSSStyleSelector.cpp:
7019 (WebCore::CSSStyleSelector::addKeyframeStyle):
7020 * css/WebKitCSSKeyframeRule.cpp:
7021 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
7022 (WebCore::WebKitCSSKeyframeRule::cssText):
7023 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
7024 * css/WebKitCSSKeyframeRule.h:
7025 (WebCore::WebKitCSSKeyframeRule::keyText):
7026 (WebCore::WebKitCSSKeyframeRule::setKeyText):
7027 (WebCore::WebKitCSSKeyframeRule::getKeys):
7028 * css/WebKitCSSKeyframesRule.cpp:
7029 (WebCore::WebKitCSSKeyframesRule::append):
7030 (WebCore::WebKitCSSKeyframesRule::insertRule):
7031 (WebCore::WebKitCSSKeyframesRule::deleteRule):
7032 (WebCore::WebKitCSSKeyframesRule::findRule):
7033 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
7034 * css/WebKitCSSKeyframesRule.h:
7035 * page/animation/AnimationBase.cpp:
7036 (WebCore::AnimationBase::blendProperties):
7038 2008-09-11 Kevin McCullough <kmccullough@apple.com>
7042 Reverting because this caused a crash.
7044 * rendering/RenderObject.cpp:
7045 (WebCore::RenderObject::canBeProgramaticallyScrolled):
7046 (WebCore::RenderObject::hasScrollableView):
7047 * rendering/RenderObject.h:
7049 2008-09-11 Dean Jackson <dino@apple.com>
7051 Reviewed by Dan Bernstein.
7053 Fix assertion on transition property "none"
7054 https://bugs.webkit.org/show_bug.cgi?id=20751
7056 Test: transitions/transition-end-event-set-none.html
7058 * page/animation/CompositeAnimation.cpp:
7059 (WebCore::CompositeAnimation::updateTransitions):
7061 2008-09-11 David Smith <catfish.man@gmail.com>
7063 Rubber-stamped by mitzpettel.
7065 Remove an accidentally added extra file.
7069 2008-09-11 David Smith <catfish.man@gmail.com>
7073 https://bugs.webkit.org/show_bug.cgi?id=20180
7075 This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help.
7077 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
7078 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
7079 * dom/Element.cpp: include NodeRenderStyle.h
7080 * dom/Node.cpp: Remove the definition of renderStyle()
7081 (WebCore::Node::nonRendererRenderStyle):
7082 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
7083 * dom/NodeRenderStyle.h: Added.
7084 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
7085 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
7086 * html/HTMLOptGroupElement.h:
7087 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
7088 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
7089 * html/HTMLOptionElement.h:
7090 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
7091 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
7092 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
7093 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
7095 2008-09-11 Kevin McCullough <kmccullough@apple.com>
7097 Reviewed by Adele and Tim.
7099 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
7100 Inspector does not scroll to the line of the results (20167)
7101 - This was put in by Max to fix auto scrolling but is not correct for
7102 the whole web: rdar://problem/6213098
7104 * rendering/RenderObject.cpp:
7105 (WebCore::RenderObject::canBeProgramaticallyScrolled):
7106 * rendering/RenderObject.h:
7108 2008-09-11 Chris Fleizach <cfleizach@apple.com>
7110 Reviewed by Beth Dakin
7112 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
7114 Test: accessibility/frame-with-title.html
7116 * page/AccessibilityRenderObject.cpp:
7117 (WebCore::AccessibilityRenderObject::accessibilityDescription):
7119 2008-09-11 Dirk Schulze <vbs85@gmx.de>
7123 Fixed stroke() and strokeRect() to support gradients
7126 [Qt] Canvas stroke don't work for gradients and patterns
7127 [https://bugs.webkit.org/show_bug.cgi?id=20749]
7129 * platform/graphics/qt/GraphicsContextQt.cpp:
7130 (WebCore::GraphicsContext::strokePath):
7131 (WebCore::GraphicsContext::strokeRect):
7133 2008-09-11 Dirk Schulze <vbs85@gmx.de>
7137 https://bugs.webkit.org/show_bug.cgi?id=20729
7139 Fixed canvas gradients for Qt
7141 [Qt] Canvas gradients don't work as expected
7142 [https://bugs.webkit.org/show_bug.cgi?id=20729]
7144 * platform/graphics/qt/GradientQt.cpp:
7145 (WebCore::Gradient::platformGradient):
7147 2008-09-11 Dirk Schulze <vbs85@gmx.de>
7151 https://bugs.webkit.org/show_bug.cgi?id=20568
7153 Add support for patterns to Qt.
7155 * platform/graphics/qt/PatternQt.cpp:
7156 (WebCore::Pattern::createPlatformPattern):
7158 2008-09-10 Dan Bernstein <mitz@apple.com>
7160 Reviewed by Sam Weinig.
7162 - clean up AnimationBase
7164 * page/animation/AnimationBase.cpp:
7165 * page/animation/AnimationBase.h:
7166 * page/animation/CompositeAnimation.cpp:
7167 * page/animation/ImplicitAnimation.cpp:
7168 * page/animation/ImplicitAnimation.h:
7169 * page/animation/KeyframeAnimation.cpp:
7170 * page/animation/KeyframeAnimation.h:
7172 2008-09-10 Alexey Proskuryakov <ap@webkit.org>
7174 Reviewed by Darin Adler.
7176 https://bugs.webkit.org/show_bug.cgi?id=20741
7177 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
7179 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
7180 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
7181 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
7183 I also found and fixed a potential crasher for non-Mac ports.
7185 Tests: fast/encoding/hebrew/8859-8-e.html
7186 fast/encoding/hebrew/8859-8-i.html
7187 fast/encoding/hebrew/8859-8.html
7188 fast/encoding/hebrew/csISO88598I.html
7189 fast/encoding/hebrew/hebrew.html
7190 fast/encoding/hebrew/iso-ir-138.html
7191 fast/encoding/hebrew/logical.html
7193 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
7194 (case-insensitively, because different versions of ICU report this MIME name in different
7197 * platform/text/TextCodecICU.cpp:
7198 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
7199 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
7200 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
7201 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
7202 we also support these via TEC (which we should stop doing), but on Windows, this would
7205 2008-09-09 Dave Hyatt <hyatt@apple.com
7207 Resurrect PlatformScrollbarWin.
7209 Reviewed by Adam Roben
7211 * WebCore.vcproj/WebCore.vcproj:
7212 * platform/win/PlatformScrollBarWin.cpp:
7213 (WebCore::isRunningOnVistaOrLater):
7214 (WebCore::checkAndInitScrollbarTheme):
7215 (WebCore::PlatformScrollbar::PlatformScrollbar):
7216 (WebCore::PlatformScrollbar::invalidateTrack):
7217 (WebCore::PlatformScrollbar::invalidatePart):
7218 (WebCore::PlatformScrollbar::paint):
7219 (WebCore::PlatformScrollbar::hasButtons):
7220 (WebCore::PlatformScrollbar::hasThumb):
7221 (WebCore::PlatformScrollbar::backButtonRect):
7222 (WebCore::PlatformScrollbar::forwardButtonRect):
7223 (WebCore::PlatformScrollbar::trackRect):
7224 (WebCore::PlatformScrollbar::gripperRect):
7225 (WebCore::PlatformScrollbar::thumbLength):
7226 (WebCore::PlatformScrollbar::paintButton):
7227 (WebCore::PlatformScrollbar::paintTrack):
7228 (WebCore::PlatformScrollbar::paintThumb):
7229 (WebCore::PlatformScrollbar::paintGripper):
7230 (WebCore::PlatformScrollbar::hitTest):
7231 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
7232 (WebCore::PlatformScrollbar::handleMouseOutEvent):
7233 (WebCore::PlatformScrollbar::themeChanged):
7235 2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
7237 Reviewed by Maciej Stachowiak.
7239 Bug 20759: Remove MacroAssembler
7240 <https://bugs.webkit.org/show_bug.cgi?id=20759>
7242 Make the necessary changes to ForwardingHeaders to remove
7245 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
7246 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
7247 * ForwardingHeaders/masm/X86Assembler.h: Added.
7249 2008-09-09 Alp Toker <alp@nuanti.com>
7251 Reviewed by Dave Hyatt.
7253 https://bugs.webkit.org/show_bug.cgi?id=16792
7254 [GTK] Fails to render Japanese/Chinese text with simple path
7256 https://bugs.webkit.org/show_bug.cgi?id=16942
7257 [GTK] Oddities in font selection and fall back
7259 https://bugs.webkit.org/show_bug.cgi?id=16862
7260 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
7262 GTK+ font fixes and enhancements.
7264 Implement font fallback for the simple FontConfig-based text path and
7265 improve the Pango-based complex text path to make use of requested
7266 font properties and available font selection.
7268 Add text shadow support to the complex path.
7270 * platform/graphics/gtk/FontCacheGtk.cpp:
7271 (WebCore::FontCache::getFontDataForCharacters):
7272 (WebCore::FontCache::getSimilarFontPlatformData):
7273 * platform/graphics/gtk/FontGtk.cpp:
7274 (WebCore::setPangoAttributes):
7275 (WebCore::Font::drawComplexText):
7276 (WebCore::getDefaultPangoLayout):
7277 (WebCore::Font::floatWidthForComplexText):
7278 (WebCore::Font::offsetForPositionForComplexText):
7279 (WebCore::Font::selectionRectForComplexText):
7280 * platform/graphics/gtk/FontPlatformData.h:
7281 (WebCore::FontPlatformData::FontPlatformData):
7282 (WebCore::FontPlatformData::hash):
7283 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
7284 (WebCore::FontPlatformData::FontPlatformData):
7285 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
7286 (WebCore::SimpleFontData::platformDestroy):
7288 2008-09-09 Dave Hyatt <hyatt@apple.com>
7290 Make the Windows classic case work again. Overlap in slider constants and other constants broke
7291 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
7292 value to make sure it's really a slider thumb to resolve this conflict.
7294 Reviewed by Adam Roben
7296 * rendering/RenderThemeWin.cpp:
7297 (WebCore::drawControl):
7299 2008-09-05 Chris Marrin <cmarrin@apple.com>
7301 Reviewed by Sam Weinig.
7303 Need to handle the case when 0% or 100% keyframe is omitted
7304 https://bugs.webkit.org/show_bug.cgi?id=20679
7306 Tests: animations/keyframes-from-missing.html
7307 animations/keyframes-to-missing.html
7309 * css/CSSStyleSelector.cpp:
7310 (WebCore::CSSStyleSelector::addKeyframeStyle):
7312 2008-09-09 Dave Hyatt <hyatt@apple.com>
7314 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
7315 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
7316 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
7317 what changes have been made as compared with the old RenderThemeWin).
7319 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
7320 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
7321 vs. printer advancement rounding).
7323 Reviewed by Adam/Sam
7325 * css/CSSStyleSelector.cpp:
7326 (WebCore::CSSStyleSelector::applyProperty):
7327 * platform/graphics/Icon.h:
7328 (WebCore::Icon::create):
7329 * rendering/RenderThemeWin.cpp:
7330 (WebCore::RenderThemeWin::RenderThemeWin):
7331 (WebCore::RenderThemeWin::~RenderThemeWin):
7332 (WebCore::RenderThemeWin::buttonTheme):
7333 (WebCore::RenderThemeWin::textFieldTheme):
7334 (WebCore::RenderThemeWin::menuListTheme):
7335 (WebCore::RenderThemeWin::sliderTheme):
7336 (WebCore::RenderThemeWin::close):
7337 (WebCore::RenderThemeWin::themeChanged):
7338 (WebCore::RenderThemeWin::supportsHover):
7339 (WebCore::fillFontDescription):
7340 (WebCore::RenderThemeWin::systemFont):
7341 (WebCore::RenderThemeWin::supportsFocus):
7342 (WebCore::RenderThemeWin::determineClassicState):
7343 (WebCore::RenderThemeWin::determineState):
7344 (WebCore::RenderThemeWin::determineSliderThumbState):
7345 (WebCore::RenderThemeWin::getClassicThemeData):
7346 (WebCore::RenderThemeWin::getThemeData):
7347 (WebCore::drawControl):
7348 (WebCore::RenderThemeWin::paintButton):
7349 (WebCore::RenderThemeWin::paintTextField):
7350 (WebCore::RenderThemeWin::paintMenuList):
7351 (WebCore::RenderThemeWin::adjustMenuListStyle):
7352 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
7353 (WebCore::RenderThemeWin::paintMenuListButton):
7354 (WebCore::RenderThemeWin::paintSliderTrack):
7355 (WebCore::RenderThemeWin::paintSliderThumb):
7356 (WebCore::RenderThemeWin::adjustSliderThumbSize):
7357 (WebCore::RenderThemeWin::paintSearchField):
7358 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
7359 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
7360 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
7361 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
7362 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
7363 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
7364 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
7365 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
7366 * rendering/RenderThemeWin.h:
7367 (WebCore::ThemeData::ThemeData):
7368 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
7369 (WebCore::RenderThemeWin::adjustButtonStyle):
7370 (WebCore::RenderThemeWin::adjustTextFieldStyle):
7371 (WebCore::RenderThemeWin::adjustTextAreaStyle):
7373 2008-09-09 Dean Jackson <dino@apple.com>
7375 Reviewed by Sam Weinig.
7377 Document::createEvent missing cases for animation and
7379 https://bugs.webkit.org/show_bug.cgi?id=20734
7381 Test: transitions/transition-end-event-create.html
7382 Test: animations/animation-events-create.html
7385 (WebCore::Document::createEvent):
7388 2008-09-09 Dan Bernstein <mitz@apple.com>
7392 * WebCore.Tiger.exp:
7394 * platform/mac/WebCoreSystemInterface.h:
7395 * platform/mac/WebCoreSystemInterface.mm:
7397 2008-09-09 Dan Bernstein <mitz@apple.com>
7399 Reviewed by Darin Adler.
7401 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
7403 * WebCore.Tiger.exp:
7405 * platform/graphics/SimpleFontData.h:
7406 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
7407 (WebCore::GlyphPage::fill):
7408 * platform/graphics/mac/SimpleFontDataMac.mm:
7409 (WebCore::initFontData):
7410 (WebCore::SimpleFontData::platformInit):
7411 (WebCore::SimpleFontData::platformDestroy):
7412 * platform/mac/WebCoreSystemInterface.h:
7413 * platform/mac/WebCoreSystemInterface.mm:
7415 2008-09-09 Kevin McCullough <kmccullough@apple.com>
7419 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
7420 breakpoints inside eval.
7422 * page/inspector/inspector.js:
7424 2008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
7428 Fix compilation of the Qt port with disabled plugins on Windows
7431 * plugins/PluginView.cpp:
7432 (WebCore::PluginView::PluginView):
7433 * plugins/PluginView.h:
7435 2008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
7437 Reviewed by Alexey Proskuryakov.
7439 Try MIME charset names before trying IANA names
7440 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
7442 With this change, shorter and more widely used names (preferred MIME
7443 names) are returned by document.charset, document.characterSet,
7444 document.inputEncoding rather than IANA names. This helps
7445 fixing bug 18085 in addition to web developers who are more familiar
7446 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
7447 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
7448 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
7449 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
7450 used, the former is still recognized as aliases to the latter so that
7451 there's very little, if any, to worry about.
7453 * platform/text/TextCodecICU.cpp:
7454 (WebCore::TextCodecICU::registerExtendedEncodingNames):
7456 2008-09-08 Sam Weinig <sam@webkit.org>
7458 Reviewed by Maciej Stachowiak and Oliver Hunt.
7460 Add forwarding headers.
7462 * ForwardingHeaders/wtf/HashFunctions.h: Added.
7464 2008-09-05 Dean Jackson <dino@apple.com>
7466 Reviewed by Dan Bernstein.
7468 Update grammar so that we can add a keyframe rule via the DOM.
7469 https://bugs.webkit.org/show_bug.cgi?id=20613
7472 * css/tokenizer.flex:
7474 2008-09-08 Antti Koivisto <antti@apple.com>
7476 Reviewed by Dan Bernstein.
7478 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
7479 actually show up in any of the default stylesheets.
7481 * css/CSSStyleSelector.cpp:
7482 (WebCore::elementCanUseSimpleDefaultStyle):
7484 2008-09-08 Dimitri Glazkov <dglazkov@google.com>
7486 Reviewed by Dan Bernstein.
7488 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
7489 Zero width and space characters are displayed incorrectly if not contained in a fallback font
7491 Adds an extra check for Object Replacement Character (U+FFFC) to address
7492 the issue with fast/text/zero-width-characters.html test when run
7493 with Windows system default fonts.
7495 * platform/graphics/Font.h:
7496 (WebCore::Font::treatAsZeroWidthSpace):
7498 2008-09-08 Dean Jackson <dino@apple.com>
7500 Reviewed by Sam Weinig.
7502 Code style issue I forgot to fix from previous commit.
7504 * platform/graphics/AffineTransform.cpp:
7505 (WebCore::AffineTransform::blend):
7507 2008-09-08 Chris Marrin <cmarrin@apple.com>
7509 Reviewed by Sam Weinig
7511 - Animation of -webkit-transform matrix() function should not do linear interpolation
7512 https://bugs.webkit.org/show_bug.cgi?id=20667
7514 Test: animations/matrix-anim.html
7517 * platform/graphics/AffineTransform.cpp:
7518 (WebCore::affineTransformDecompose):
7519 (WebCore::affineTransformCompose):
7520 (WebCore::AffineTransform::blend):
7521 * platform/graphics/AffineTransform.h:
7522 * rendering/style/RenderStyle.cpp:
7523 (WebCore::MatrixTransformOperation::blend):
7525 2008-09-08 Alexey Proskuryakov <ap@webkit.org>
7527 Reviewed by Darin Adler.
7529 https://bugs.webkit.org/show_bug.cgi?id=20668
7530 multipart/form-data does not always include Content-type for submitted files
7532 Cannot be tested with DRT or manual tests.
7534 * platform/MIMETypeRegistry.cpp:
7535 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
7536 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
7537 unknown extensions, not just missing ones.
7539 2008-09-08 Simon Hausmann <hausmann@webkit.org>
7541 Build fix for the Qt/Windows build, define USE_JSC to
7542 enable the WebCore::String -> JSC::UString operator that
7543 MSVC insists on seeing
7547 2008-09-08 Anders Carlsson <andersca@apple.com>
7551 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
7553 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
7554 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
7556 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
7558 * bindings/js/JSDOMWindowBase.h:
7559 * loader/FrameLoader.cpp:
7560 (WebCore::FrameLoader::commitProvisionalLoad):
7562 2008-09-07 Antti Koivisto <antti@apple.com>
7564 Reviewed by Dave Hyatt.
7566 Don't leak the simple stylesheet.
7567 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
7569 * css/CSSStyleSelector.cpp:
7570 (WebCore::loadFullDefaultStyle):
7571 (WebCore::loadSimpleDefaultStyle):
7572 (WebCore::CSSStyleSelector::styleForElement):
7574 2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
7576 Reviewed by Oliver Hunt.
7578 Bug 20711: Change KJS prefix on preprocessor macros to JSC
7579 <https://bugs.webkit.org/show_bug.cgi?id=20711>
7581 * bindings/js/JSEventTargetBase.h:
7582 * bindings/js/JSHTMLInputElementBase.cpp:
7583 * bindings/js/JSHTMLInputElementBase.h:
7584 * bindings/scripts/CodeGeneratorJS.pm:
7586 2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
7588 Reviewed by Maciej Stachowiak.
7590 Bug 20704: Replace the KJS namespace
7591 <https://bugs.webkit.org/show_bug.cgi?id=20704>
7593 Rename the KJS namespace to JSC. There are still some uses of KJS in the
7594 names of JNI functions, and I will check if these are safe to change
7598 * bindings/js/GCController.cpp:
7599 * bindings/js/JSAttrCustom.cpp:
7600 * bindings/js/JSAudioConstructor.cpp:
7601 * bindings/js/JSAudioConstructor.h:
7602 (WebCore::JSAudioConstructor::classInfo):
7603 * bindings/js/JSCSSRuleCustom.cpp:
7604 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7605 * bindings/js/JSCSSValueCustom.cpp:
7606 * bindings/js/JSCanvasPixelArrayCustom.cpp:
7607 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
7608 * bindings/js/JSClipboardCustom.cpp:
7609 * bindings/js/JSConsoleCustom.cpp:
7610 * bindings/js/JSCustomSQLStatementCallback.cpp:
7611 (WebCore::JSCustomSQLStatementCallback::handleEvent):
7612 * bindings/js/JSCustomSQLStatementCallback.h:
7613 (WebCore::JSCustomSQLStatementCallback::create):
7614 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7615 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
7616 * bindings/js/JSCustomSQLStatementErrorCallback.h:
7617 (WebCore::JSCustomSQLStatementErrorCallback::create):
7618 * bindings/js/JSCustomSQLTransactionCallback.cpp:
7619 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
7620 * bindings/js/JSCustomSQLTransactionCallback.h:
7621 (WebCore::JSCustomSQLTransactionCallback::create):
7622 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7623 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
7624 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
7625 (WebCore::JSCustomSQLTransactionErrorCallback::create):
7626 * bindings/js/JSCustomVoidCallback.cpp:
7627 (WebCore::JSCustomVoidCallback::handleEvent):
7628 * bindings/js/JSCustomVoidCallback.h:
7629 (WebCore::JSCustomVoidCallback::create):
7630 * bindings/js/JSCustomXPathNSResolver.cpp:
7631 (WebCore::JSCustomXPathNSResolver::create):
7632 * bindings/js/JSCustomXPathNSResolver.h:
7633 * bindings/js/JSDOMApplicationCacheCustom.cpp:
7634 (WebCore::JSDOMApplicationCache::dispatchEvent):
7635 * bindings/js/JSDOMBinding.cpp:
7636 (WebCore::jsOwnedStringOrNull):
7637 * bindings/js/JSDOMBinding.h:
7638 (WebCore::DOMObject::DOMObject):
7639 (WebCore::cacheDOMObject):
7640 (WebCore::cacheSVGDOMObject):
7641 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
7643 * bindings/js/JSDOMWindowBase.cpp:
7644 * bindings/js/JSDOMWindowBase.h:
7645 (WebCore::JSDOMWindowBase::classInfo):
7646 (WebCore::JSDOMWindowBase::d):
7647 * bindings/js/JSDOMWindowCustom.cpp:
7648 (WebCore::JSDOMWindow::getPropertyAttributes):
7649 * bindings/js/JSDOMWindowCustom.h:
7650 (WebCore::asJSDOMWindow):
7651 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
7652 (WebCore::JSDOMWindow::customPut):
7653 (WebCore::JSDOMWindowBase::allowsAccessFrom):
7654 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
7655 * bindings/js/JSDOMWindowShell.cpp:
7656 (WebCore::JSDOMWindowShell::getPropertyAttributes):
7657 * bindings/js/JSDOMWindowShell.h:
7658 (WebCore::JSDOMWindowShell::classInfo):
7659 * bindings/js/JSDatabaseCustom.cpp:
7660 * bindings/js/JSDocumentCustom.cpp:
7661 * bindings/js/JSDocumentFragmentCustom.cpp:
7662 * bindings/js/JSElementCustom.cpp:
7663 * bindings/js/JSEventCustom.cpp:
7664 * bindings/js/JSEventListener.cpp:
7665 * bindings/js/JSEventListener.h:
7666 (WebCore::JSUnprotectedEventListener::create):
7667 (WebCore::JSEventListener::create):
7668 * bindings/js/JSEventTargetBase.cpp:
7669 * bindings/js/JSEventTargetBase.h:
7670 (WebCore::JSEventTargetBase::getValueProperty):
7671 (WebCore::JSEventTargetBase::putValueProperty):
7672 (WebCore::JSEventTargetBase::getOwnPropertySlot):
7673 (WebCore::JSEventTargetBase::put):
7674 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
7675 (WebCore::JSEventTargetPrototype::self):
7676 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
7677 (WebCore::JSEventTargetPrototype::classInfo):
7678 * bindings/js/JSEventTargetNode.cpp:
7679 * bindings/js/JSEventTargetNode.h:
7680 (WebCore::JSEventTargetNode::getOwnPropertySlot):
7681 (WebCore::JSEventTargetNode::getValueProperty):
7682 (WebCore::JSEventTargetNode::put):
7683 (WebCore::JSEventTargetNode::putValueProperty):
7684 * bindings/js/JSHTMLAllCollection.h:
7685 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
7686 (WebCore::JSHTMLAllCollection::toBoolean):
7687 * bindings/js/JSHTMLAppletElementCustom.cpp:
7688 * bindings/js/JSHTMLCollectionCustom.cpp:
7689 * bindings/js/JSHTMLDocumentCustom.cpp:
7690 * bindings/js/JSHTMLElementCustom.cpp:
7691 * bindings/js/JSHTMLEmbedElementCustom.cpp:
7692 * bindings/js/JSHTMLFormElementCustom.cpp:
7693 * bindings/js/JSHTMLFrameElementCustom.cpp:
7694 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
7695 * bindings/js/JSHTMLIFrameElementCustom.cpp:
7696 * bindings/js/JSHTMLInputElementBase.cpp:
7697 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
7698 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
7699 * bindings/js/JSHTMLInputElementBase.h:
7700 (WebCore::JSHTMLInputElementBase::classInfo):
7701 * bindings/js/JSHTMLObjectElementCustom.cpp:
7702 * bindings/js/JSHTMLOptionElementConstructor.cpp:
7703 * bindings/js/JSHTMLOptionElementConstructor.h:
7704 (WebCore::JSHTMLOptionElementConstructor::classInfo):
7705 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
7706 * bindings/js/JSHTMLSelectElementCustom.cpp:
7707 (WebCore::selectIndexSetter):
7708 (WebCore::JSHTMLSelectElement::indexSetter):
7709 * bindings/js/JSHTMLSelectElementCustom.h:
7710 * bindings/js/JSHistoryCustom.cpp:
7711 * bindings/js/JSImageConstructor.cpp:
7712 * bindings/js/JSImageConstructor.h:
7713 (WebCore::JSImageConstructor::classInfo):
7714 * bindings/js/JSInspectedObjectWrapper.cpp:
7715 * bindings/js/JSInspectedObjectWrapper.h:
7716 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
7717 (WebCore::JSInspectedObjectWrapper::classInfo):
7718 * bindings/js/JSInspectorCallbackWrapper.cpp:
7719 * bindings/js/JSInspectorCallbackWrapper.h:
7720 (WebCore::JSInspectorCallbackWrapper::classInfo):
7721 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
7722 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
7723 * bindings/js/JSLocationCustom.cpp:
7724 * bindings/js/JSMimeTypeArrayCustom.cpp:
7725 * bindings/js/JSNSResolver.cpp:
7726 * bindings/js/JSNSResolver.h:
7727 (WebCore::JSNSResolver::create):
7728 * bindings/js/JSNamedNodeMapCustom.cpp:
7729 * bindings/js/JSNamedNodesCollection.cpp:
7730 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
7731 * bindings/js/JSNamedNodesCollection.h:
7732 (WebCore::JSNamedNodesCollection::classInfo):
7733 * bindings/js/JSNavigatorCustom.cpp:
7734 * bindings/js/JSNodeCustom.cpp:
7735 * bindings/js/JSNodeFilterCondition.cpp:
7736 (WebCore::JSNodeFilterCondition::acceptNode):
7737 * bindings/js/JSNodeFilterCondition.h:
7738 (WebCore::JSNodeFilterCondition::create):
7739 * bindings/js/JSNodeFilterCustom.cpp:
7740 * bindings/js/JSNodeIteratorCustom.cpp:
7741 * bindings/js/JSNodeListCustom.cpp:
7742 * bindings/js/JSPluginArrayCustom.cpp:
7743 * bindings/js/JSPluginCustom.cpp:
7744 * bindings/js/JSPluginElementFunctions.cpp:
7745 (WebCore::getRuntimeObject):
7746 * bindings/js/JSPluginElementFunctions.h:
7747 * bindings/js/JSQuarantinedObjectWrapper.cpp:
7748 (WebCore::JSQuarantinedObjectWrapper::construct):
7749 (WebCore::JSQuarantinedObjectWrapper::call):
7750 * bindings/js/JSQuarantinedObjectWrapper.h:
7751 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
7752 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
7753 (WebCore::JSQuarantinedObjectWrapper::className):
7754 * bindings/js/JSRGBColor.cpp:
7755 * bindings/js/JSRGBColor.h:
7756 (WebCore::JSRGBColor::classInfo):
7757 * bindings/js/JSSQLResultSetRowListCustom.cpp:
7758 * bindings/js/JSSQLTransactionCustom.cpp:
7759 * bindings/js/JSSVGLazyEventListener.cpp:
7760 * bindings/js/JSSVGLazyEventListener.h:
7761 * bindings/js/JSSVGLengthCustom.cpp:
7762 * bindings/js/JSSVGMatrixCustom.cpp:
7763 (WebCore::JSSVGMatrix::inverse):
7764 (WebCore::JSSVGMatrix::rotateFromVector):
7765 * bindings/js/JSSVGPathSegCustom.cpp:
7766 * bindings/js/JSSVGPathSegListCustom.cpp:
7767 (WebCore::JSSVGPathSegList::initialize):
7768 (WebCore::JSSVGPathSegList::getItem):
7769 (WebCore::JSSVGPathSegList::insertItemBefore):
7770 (WebCore::JSSVGPathSegList::replaceItem):
7771 (WebCore::JSSVGPathSegList::removeItem):
7772 (WebCore::JSSVGPathSegList::appendItem):
7773 * bindings/js/JSSVGPointListCustom.cpp:
7774 * bindings/js/JSSVGTransformListCustom.cpp:
7775 * bindings/js/JSStorageCustom.cpp:
7776 * bindings/js/JSStyleSheetCustom.cpp:
7777 * bindings/js/JSStyleSheetListCustom.cpp:
7778 * bindings/js/JSTextCustom.cpp:
7779 * bindings/js/JSTreeWalkerCustom.cpp:
7780 * bindings/js/JSXMLHttpRequestConstructor.cpp:
7781 * bindings/js/JSXMLHttpRequestConstructor.h:
7782 (WebCore::JSXMLHttpRequestConstructor::classInfo):
7783 * bindings/js/JSXMLHttpRequestCustom.cpp:
7784 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7785 * bindings/js/JSXSLTProcessorConstructor.cpp:
7786 * bindings/js/JSXSLTProcessorConstructor.h:
7787 (WebCore::JSXSLTProcessorConstructor::classInfo):
7788 * bindings/js/JSXSLTProcessorCustom.cpp:
7789 * bindings/js/ScheduledAction.cpp:
7790 * bindings/js/ScheduledAction.h:
7791 * bindings/js/ScriptController.cpp:
7792 (WebCore::ScriptController::attachDebugger):
7793 (WebCore::ScriptController::windowScriptNPObject):
7794 * bindings/js/ScriptController.h:
7795 * bindings/js/ScriptControllerGtk.cpp:
7796 (WebCore::ScriptController::createScriptInstanceForWidget):
7797 * bindings/js/ScriptControllerMac.mm:
7798 (WebCore::ScriptController::createScriptInstanceForWidget):
7799 (WebCore::ScriptController::windowScriptObject):
7800 (WebCore::ScriptController::clearPlatformScriptObjects):
7801 (WebCore::updateRenderingForBindings):
7802 (WebCore::ScriptController::initJavaJSBindings):
7803 * bindings/js/ScriptControllerQt.cpp:
7804 (WebCore::ScriptController::createScriptInstanceForWidget):
7805 * bindings/js/ScriptControllerWin.cpp:
7806 (WebCore::ScriptController::createScriptInstanceForWidget):
7807 * bindings/js/ScriptControllerWx.cpp:
7808 (WebCore::ScriptController::createScriptInstanceForWidget):
7809 * bindings/js/StringSourceProvider.h:
7810 (WebCore::StringSourceProvider::getRange):
7811 * bindings/objc/DOM.mm:
7812 (-[DOMNode JSC::Bindings::]):
7813 * bindings/objc/DOMInternal.h:
7814 * bindings/objc/DOMInternal.mm:
7815 (-[WebScriptObject _initializeScriptDOMNodeImp]):
7816 * bindings/objc/DOMUtility.mm:
7817 (JSC::createDOMWrapper):
7818 (WebCore::createDOMWrapper):
7819 * bindings/objc/WebScriptObject.mm:
7820 (WebCore::createJSWrapper):
7821 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
7822 * bindings/objc/WebScriptObjectPrivate.h:
7823 * bindings/scripts/CodeGeneratorJS.pm:
7824 * bridge/NP_jsobject.cpp:
7825 * bridge/NP_jsobject.h:
7826 * bridge/c/c_class.cpp:
7827 * bridge/c/c_class.h:
7828 * bridge/c/c_instance.cpp:
7829 * bridge/c/c_instance.h:
7830 * bridge/c/c_runtime.cpp:
7831 * bridge/c/c_runtime.h:
7832 * bridge/c/c_utility.cpp:
7833 * bridge/c/c_utility.h:
7834 * bridge/jni/jni_class.cpp:
7835 * bridge/jni/jni_class.h:
7836 * bridge/jni/jni_instance.cpp:
7837 * bridge/jni/jni_instance.h:
7838 * bridge/jni/jni_jsobject.h:
7839 * bridge/jni/jni_jsobject.mm:
7840 (JavaJSObject::call):
7841 (JavaJSObject::convertJObjectToValue):
7842 * bridge/jni/jni_objc.mm:
7843 (JSC::Bindings::dispatchJNICall):
7844 * bridge/jni/jni_runtime.cpp:
7845 * bridge/jni/jni_runtime.h:
7846 * bridge/jni/jni_utility.cpp:
7847 * bridge/jni/jni_utility.h:
7848 * bridge/npruntime.cpp:
7849 (_NPN_GetStringIdentifier):
7850 * bridge/objc/WebScriptObject.h:
7851 * bridge/objc/objc_class.h:
7852 * bridge/objc/objc_class.mm:
7853 * bridge/objc/objc_instance.h:
7854 * bridge/objc/objc_instance.mm:
7855 * bridge/objc/objc_runtime.h:
7856 * bridge/objc/objc_runtime.mm:
7857 * bridge/objc/objc_utility.h:
7858 * bridge/objc/objc_utility.mm:
7859 * bridge/qt/qt_class.cpp:
7860 * bridge/qt/qt_class.h:
7861 * bridge/qt/qt_instance.cpp:
7862 * bridge/qt/qt_instance.h:
7863 * bridge/qt/qt_runtime.cpp:
7864 (JSC::Bindings::convertQVariantToValue):
7866 * bridge/qt/qt_runtime.h:
7867 * bridge/runtime.cpp:
7869 * bridge/runtime_array.cpp:
7870 * bridge/runtime_array.h:
7871 * bridge/runtime_method.cpp:
7872 * bridge/runtime_method.h:
7873 * bridge/runtime_object.cpp:
7874 * bridge/runtime_object.h:
7875 * bridge/runtime_root.cpp:
7876 (JSC::Bindings::RootObject::invalidate):
7877 (JSC::Bindings::RootObject::gcProtect):
7878 (JSC::Bindings::RootObject::gcUnprotect):
7879 * bridge/runtime_root.h:
7880 * bridge/testbindings.cpp:
7881 * bridge/testbindings.mm:
7882 * bridge/testqtbindings.cpp:
7884 (WebCore::Document::~Document):
7887 (WebCore::Node::setDocument):
7888 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
7889 (WebCore::resolveNamespacesForSelector):
7890 (WebCore::Node::querySelector):
7891 (WebCore::Node::querySelectorAll):
7893 * dom/NodeFilter.cpp:
7895 * dom/NodeFilterCondition.cpp:
7896 * dom/NodeFilterCondition.h:
7897 * dom/NodeIterator.cpp:
7898 * dom/NodeIterator.h:
7899 * dom/Traversal.cpp:
7901 * dom/TreeWalker.cpp:
7903 * dom/make_names.pl:
7904 * history/CachedPage.cpp:
7905 * history/CachedPage.h:
7906 * html/HTMLPlugInElement.cpp:
7907 (WebCore::HTMLPlugInElement::getInstance):
7908 * html/HTMLPlugInElement.h:
7909 * loader/FrameLoader.cpp:
7910 * loader/FrameLoader.h:
7911 * loader/icon/IconDatabase.cpp:
7912 (WebCore::iconDatabase):
7915 * page/InspectorController.cpp:
7916 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
7917 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
7918 (WebCore::InspectorResource::setXMLHttpRequestProperties):
7919 (WebCore::InspectorResource::sourceString):
7920 (WebCore::getResourceDocumentNode):
7922 (WebCore::InspectorController::focusNode):
7923 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
7924 (WebCore::InspectorController::addDatabaseScriptResource):
7925 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
7926 * page/InspectorController.h:
7927 (WebCore::InspectorController::profiles):
7928 * page/JavaScriptCallFrame.cpp:
7929 (WebCore::JavaScriptCallFrame::scopeChain):
7930 * page/JavaScriptCallFrame.h:
7931 (WebCore::JavaScriptCallFrame::create):
7932 (WebCore::JavaScriptCallFrame::update):
7933 * page/JavaScriptDebugListener.h:
7934 * page/JavaScriptDebugServer.cpp:
7935 (WebCore::dispatchDidParseSource):
7936 * page/JavaScriptDebugServer.h:
7937 * page/JavaScriptProfile.cpp:
7938 * page/JavaScriptProfile.h:
7939 * page/JavaScriptProfileNode.cpp:
7940 (WebCore::getTotalTime):
7941 (WebCore::getSelfTime):
7942 (WebCore::getTotalPercent):
7943 (WebCore::getSelfPercent):
7944 (WebCore::getNumberOfCalls):
7945 (WebCore::getChildren):
7946 (WebCore::getVisible):
7947 * page/JavaScriptProfileNode.h:
7949 (WebCore::Page::setDebuggerForAllPages):
7950 (WebCore::Page::setDebugger):
7952 (WebCore::Page::debugger):
7953 * page/mac/FrameMac.mm:
7955 (WebCore::KURL::operator JSC::UString):
7956 * platform/text/AtomicString.cpp:
7957 (WebCore::AtomicString::add):
7958 (WebCore::AtomicString::find):
7959 * platform/text/AtomicString.h:
7960 (WebCore::AtomicString::AtomicString):
7961 * platform/text/PlatformString.h:
7962 * platform/text/String.cpp:
7963 (WebCore::charactersToDouble):
7964 * platform/win/BString.cpp:
7965 * platform/win/BString.h:
7966 * plugins/MimeTypeArray.h:
7968 * plugins/PluginArray.h:
7969 * plugins/PluginView.cpp:
7970 (WebCore::PluginView::start):
7971 (WebCore::PluginView::performRequest):
7972 (WebCore::PluginView::bindingInstance):
7973 * plugins/PluginView.h:
7974 * plugins/gtk/PluginViewGtk.cpp:
7975 (WebCore::PluginView::paint):
7976 (WebCore::PluginView::handleKeyboardEvent):
7977 (WebCore::PluginView::handleMouseEvent):
7978 (WebCore::PluginView::setNPWindowRect):
7979 (WebCore::PluginView::stop):
7980 (WebCore::PluginView::init):
7981 * plugins/qt/PluginViewQt.cpp:
7982 (WebCore::PluginView::setNPWindowRect):
7983 (WebCore::PluginView::stop):
7984 (WebCore::PluginView::init):
7985 * plugins/win/PluginViewWin.cpp:
7986 (WebCore::PluginView::dispatchNPEvent):
7987 (WebCore::PluginView::handleKeyboardEvent):
7988 (WebCore::PluginView::handleMouseEvent):
7989 (WebCore::PluginView::setNPWindowRect):
7990 (WebCore::PluginView::stop):
7991 * storage/Database.cpp:
7992 (WebCore::Database::Database):
7993 * xml/XMLHttpRequest.cpp:
7994 (WebCore::XMLHttpRequest::responseText):
7995 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
7996 (WebCore::XMLHttpRequest::clearResponse):
7997 (WebCore::XMLHttpRequest::dropProtection):
7998 (WebCore::XMLHttpRequest::didFinishLoading):
7999 (WebCore::XMLHttpRequest::didReceiveData):
8000 * xml/XMLHttpRequest.h:
8002 2008-09-07 Adam Barth <abarth@webkit.org>
8004 Reviewed by Sam Weinig.
8006 Adopt opener restriction on frame navigation.
8007 https://bugs.webkit.org/show_bug.cgi?id=20642
8009 This restriction helps prevent an attacker from navigating top-level
8010 windows that were created by another web site.
8012 Tests: http/tests/security/frameNavigation/not-opener.html
8013 http/tests/security/frameNavigation/opener.html
8015 * loader/FrameLoader.cpp:
8016 (WebCore::canAccessAncestor):
8017 (WebCore::FrameLoader::shouldAllowNavigation):
8019 2008-09-07 Dan Bernstein <mitz@apple.com>
8021 Reviewed by Maciej Stachowiak.
8023 - use the correct sign for vertical offsets of combining marks
8025 * platform/graphics/win/UniscribeController.cpp:
8026 (WebCore::UniscribeController::shapeAndPlaceItem):
8028 2008-09-07 Dan Bernstein <mitz@apple.com>
8030 Reviewed by Dave Hyatt.
8032 - add the combining mark offsets in two places where I forgot them
8034 * platform/graphics/win/FontCGWin.cpp:
8035 (WebCore::Font::drawGlyphs):
8037 2008-09-07 Dan Bernstein <mitz@apple.com>
8039 Reviewed by Dave Hyatt.
8041 - correct glyph advances in complex text using web fonts rendered with
8044 * platform/graphics/win/FontCustomPlatformData.cpp:
8045 (WebCore::FontCustomPlatformData::fontPlatformData):
8047 2008-09-07 Keishi Hattori <casey.hattori@gmail.com>
8049 Adds console.dirxml support to the Web Inspector.
8051 https://bugs.webkit.org/show_bug.cgi?id=19156
8053 Reviewed by Timothy Hatcher.
8055 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
8056 * bindings/js/JSConsoleCustom.cpp:
8057 (WebCore::JSConsole::dirxml):
8059 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
8061 (WebCore::): Added NodeMessageLevel.
8062 * page/Console.idl: Added console.dirxml.
8063 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
8064 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
8065 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
8066 * page/inspector/ElementsTreeOutline.js: Added.
8067 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
8068 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
8069 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
8070 * page/inspector/inspector.css:
8071 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
8072 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
8073 (WebInspector.altKeyDown):
8074 (WebInspector.forceHoverHighlight):
8075 (WebInspector.hoveredDOMNode):
8076 (WebInspector._updateHoverHighlightSoon):
8077 (WebInspector._updateHoverHighlight):
8078 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
8079 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
8080 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
8081 isAncestorIncludingParentFrames.
8083 2008-09-06 Mark Rowe <mrowe@apple.com>
8087 * bridge/qt/qt_runtime.cpp:
8088 (KJS::Bindings::convertQVariantToValue):
8090 === End merge of squirrelfish-extreme ===
8092 2008-09-05 Oliver Hunt <oliver@apple.com>
8094 Start bringing up SFX on windows.
8096 Reviewed by Mark Rowe and Sam Weinig
8098 Start doing the work to bring up SFX on windows. Initially
8099 just working on WREC, as it does not make any calls so reduces
8100 the amount of code that needs to be corrected.
8102 Add forwarding headers
8105 * ForwardingHeaders/masm/MacroAssembler.h: Added.
8106 * WebCore.vcproj/WebCore.vcproj:
8108 2008-08-27 Mark Rowe <mrowe@apple.com>
8110 Reviewed by Oliver Hunt.
8112 Fix the build of the full WebKit stack.
8114 Add forwarding headers.
8116 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
8117 * ForwardingHeaders/wrec/WREC.h: Added.
8119 === Start merge of squirrelfish-extreme ===
8121 2008-09-06 Antti Koivisto <antti@apple.com>
8123 Reviewed by Dave Hyatt.
8125 <rdar://problem/6187043>
8126 Don't parse full HTML user agent style sheet unless it is actually needed
8127 <rdar://problem/6131889>
8128 WebView is significantly more expensive to create recently
8130 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
8131 startup. Some clients may never use most of the rules.
8133 With this patch we use simplified UA stylesheet until we hit something it can't handle.
8134 This avoids full stylesheet parsing on application startup (due to empty document construction)
8135 and also makes it possible for clients with very simple demands (divs and spans only) never to load
8138 It also delays view source style parsing until it is used.
8140 * css/CSSStyleSelector.cpp:
8141 (WebCore::elementCanUseSimpleDefaultStyle):
8142 (WebCore::CSSStyleSelector::CSSStyleSelector):
8143 (WebCore::loadFullDefaultStyle):
8144 (WebCore::loadSimpleDefaultStyle):
8145 (WebCore::loadViewSourceStyle):
8146 (WebCore::CSSStyleSelector::matchUARules):
8147 (WebCore::CSSStyleSelector::styleForElement):
8149 2008-09-06 Kevin Ollivier <kevino@theolliviers.com>
8153 * WebCoreSources.bkl:
8155 2008-09-06 Antti Koivisto <antti@apple.com>
8157 Reverting r35953 which was causing problems on Windows which relies on
8158 WebCore timers in nested event loops. r36132 did alternative fix.
8161 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
8162 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
8164 2008-09-06 Antti Koivisto <antti@apple.com>
8166 Reviewed by Dan Bernstein.
8168 Fix <rdar://problem/6201644>
8169 https://bugs.webkit.org/show_bug.cgi?id=20493
8170 Crash after OK in dialog box and reloading page in secure mode
8172 Limited loader only fix since the general timer fix is causing problems on Windows.
8174 * loader/loader.cpp:
8175 (WebCore::Loader::servePendingRequests):
8176 (WebCore::Loader::Host::Host):
8177 (WebCore::Loader::Host::didFinishLoading):
8178 (WebCore::Loader::Host::didFail):
8179 (WebCore::Loader::Host::didReceiveData):
8181 (WebCore::Loader::Host::processingResource):
8183 2008-09-06 Dan Bernstein <mitz@apple.com>
8185 Reviewed by Dave Hyatt.
8187 The initial Core Text adoption prototype was made by Daniel Fenwick.
8189 - <rdar://problem/5158514> Add a Core Text-based complex text code path
8191 Currently the Core Text code path is not used in any configuration.
8193 * WebCore.xcodeproj/project.pbxproj: Added files.
8194 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
8195 * platform/graphics/Font.cpp:
8196 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
8198 * platform/graphics/GlyphBuffer.h:
8199 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
8200 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
8201 Added getCTFont() and getCFStringAttributes() and corresponding data
8202 members for Core Text.
8203 * platform/graphics/mac/CoreTextController.cpp: Added.
8204 (WebCore::roundCGFloat): Helper function.
8205 (WebCore::ceilCGFloat): Helper function.
8206 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
8207 (WebCore::CoreTextController::CoreTextController):
8208 (WebCore::CoreTextController::offsetForPosition):
8209 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
8210 run into subruns as necessary such that each subrun can be rendered with
8211 a single font. Also separates out soft hyphens and replaces them with
8212 real hyphens, because Core Text does not emit a glyph for soft hyphens.
8213 Then calls collectCoreTextRunsForCharacters() on each subrun.
8214 (WebCore::CoreTextController::advance):
8215 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
8216 a CTLine from the given subrun and collects its CoreTextRuns.
8217 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
8218 rounding hacks, letter- and word-spacing and glyph substitutions and
8219 stores the resulting adjusted glyphs and advances.
8220 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
8221 (WebCore::CoreTextController::totalWidth):
8222 (WebCore::CoreTextController::finalRoundingWidth):
8223 (WebCore::CoreTextController::CoreTextRun::ctRun):
8224 (WebCore::CoreTextController::CoreTextRun::glyphCount):
8225 (WebCore::CoreTextController::CoreTextRun::fontData):
8226 (WebCore::CoreTextController::CoreTextRun::characters):
8227 (WebCore::CoreTextController::CoreTextRun::stringLocation):
8228 (WebCore::CoreTextController::CoreTextRun::stringLength):
8229 (WebCore::CoreTextController::CoreTextRun::indexAt):
8230 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
8232 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
8233 (WebCore::disableLigatures): Changed to call
8234 FontPlatformData::allowsLigatures().
8235 (WebCore::overrideLayoutOperation): Changed to call
8236 FontPlatformData::roundsGlyphAdvances().
8237 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
8238 (WebCore::Font::selectionRectForComplexText): Changed to use
8239 totalWidth() instead of advancing to the end and using runWidthSoFar().
8240 (WebCore::Font::drawComplexText):
8241 (WebCore::Font::floatWidthForComplexText): Ditto.
8242 (WebCore::Font::offsetForPositionForComplexText):
8243 * platform/graphics/mac/FontPlatformData.h:
8244 * platform/graphics/mac/FontPlatformDataMac.mm:
8245 (WebCore::FontPlatformData::setFont):
8246 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
8247 AppKit rendering mode.
8248 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
8249 heuristic that allows ligatures in fonts that do not have a glyph for
8250 'a', based on the assumption that such fonts are only used in complex
8252 * platform/graphics/mac/SimpleFontDataMac.mm:
8253 (WebCore::SimpleFontData::platformInit):
8254 (WebCore::SimpleFontData::platformDestroy):
8255 (WebCore::SimpleFontData::getCTFont): Added.
8256 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
8257 returns an attributes dictionary.
8258 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
8259 * platform/text/mac/ShapeArabic.h: Ditto.
8261 2008-09-06 Dan Bernstein <mitz@apple.com>
8263 Reviewed by Dave Hyatt.
8265 - make combining mark offsets work in CG text on Windows
8267 * platform/graphics/win/FontCGWin.cpp:
8268 (WebCore::Font::drawGlyphs): The old code tried to translate the text
8269 matrix, but failed for two reasons: it did not actually change the
8270 matrix, and even if it did, CGContextSetTextPosition overwrites the
8271 translation values in the text matrix. Instead, just added the
8272 translation to the anchor point.
8274 2008-09-05 Gustavo Noronha Silva <gns@gnome.org>
8276 Reviewed by Alp Toker.
8278 https://bugs.webkit.org/show_bug.cgi?id=18346
8279 [GTK] Remove build warnings
8281 Applied some casts, and removed an unused typedef to make the
8282 compiler happy, printing less warnings when building.
8284 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
8285 * platform/graphics/gtk/SimpleFontDataPango.cpp:
8286 (WebCore::SimpleFontData::containsCharacters):
8287 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
8288 (webkit_video_sink_set_caps):
8289 * platform/network/soup/ResourceHandleSoup.cpp:
8291 2008-09-05 Eric Seidel <eric@webkit.org>
8293 Reviewed by Adam Roben.
8295 Build fix for WebKitWin and Chromium
8297 * platform/FileSystem.h:
8299 2008-09-05 Eric Seidel <eric@webkit.org>
8301 Reviewed by Darin Adler.
8303 Try to make Chromium compile with ToT:
8304 - Wrap a few places which depend on KJS:: in #if USE(JSC)
8305 - Include some windows forward declarations
8309 * page/animation/CompositeAnimation.h:
8310 * platform/FileSystem.h:
8311 * platform/graphics/Image.h:
8312 * platform/text/AtomicString.h:
8313 * platform/text/String.cpp:
8314 * rendering/style/RenderStyle.h:
8316 2008-09-05 Dave Hyatt <hyatt@apple.com>
8318 Add support for runtime switchability of the Aqua look and the native look on Windows.
8319 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
8321 Reviewed by Adam Roben
8323 * WebCore.vcproj/WebCore.vcproj:
8324 * page/Settings.cpp:
8325 (WebCore::Settings::setShouldPaintNativeControls):
8327 (WebCore::Settings::shouldPaintNativeControls):
8328 * rendering/RenderThemeSafari.cpp:
8330 * rendering/RenderThemeWin.cpp:
8332 2008-09-05 Antti Koivisto <antti@apple.com>
8336 * svg/SVGFEImageElement.cpp:
8337 (WebCore::SVGFEImageElement::build):
8339 2008-09-05 Dirk Schulze <vbs85@gmx.de>
8345 2008-09-05 Antti Koivisto <antti@apple.com>
8349 * svg/SVGFEImageElement.cpp:
8350 (WebCore::SVGFEImageElement::notifyFinished):
8352 2008-09-05 Antti Koivisto <antti@apple.com>
8356 * WebCore.xcodeproj/project.pbxproj:
8357 * svg/graphics/filters/SVGFEImage.cpp:
8358 (WebCore::FEImage::cachedImage):
8360 2008-09-05 Antti Koivisto <antti@apple.com>
8362 Reviewed by Darin Adler.
8364 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
8365 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
8367 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
8368 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
8369 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
8370 we avoid re-decoding resources, especially images.
8372 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
8373 CacheControl: max-age=0 header. That would be added in reload case.
8375 The approach for revalidation is to kick the original resource out from the memory cache
8376 and create a new CachedResource that represents the revalidation request. In case
8377 we get 304 back for the request we put the original resource back to the cache, update
8378 its expiration date and switch the clients registered to revalidation resource to be
8379 clients of the original resource.
8381 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
8382 This allows updating the handles to point to the original resource when the revalidation succeeds. It
8383 also acts as refcounting smart pointer.
8386 * WebCore.vcproj/WebCore.vcproj:
8387 * WebCore.xcodeproj/project.pbxproj:
8388 * css/CSSFontFaceSource.h:
8389 * css/CSSImportRule.h:
8391 (WebCore::Clipboard::dragImage):
8392 * dom/ProcessingInstruction.h:
8393 * dom/ScriptElement.h:
8394 * dom/XMLTokenizer.cpp:
8395 (WebCore::XMLTokenizer::isWaitingForScripts):
8396 * dom/XMLTokenizer.h:
8397 * html/HTMLImageLoader.cpp:
8398 (WebCore::HTMLImageLoader::setImage):
8399 (WebCore::HTMLImageLoader::updateFromElement):
8400 (WebCore::HTMLImageLoader::notifyFinished):
8401 * html/HTMLImageLoader.h:
8402 (WebCore::HTMLImageLoader::image):
8403 * html/HTMLLinkElement.h:
8404 * html/HTMLTokenizer.cpp:
8405 (WebCore::HTMLTokenizer::reset):
8406 (WebCore::HTMLTokenizer::scriptHandler):
8407 (WebCore::HTMLTokenizer::notifyFinished):
8408 * html/HTMLTokenizer.h:
8410 (WebCore::Cache::revalidateResource):
8411 (WebCore::Cache::revalidationSucceeded):
8412 (WebCore::Cache::revalidationFailed):
8414 * loader/CachedResource.cpp:
8415 (WebCore::CachedResource::CachedResource):
8416 (WebCore::CachedResource::~CachedResource):
8417 (WebCore::CachedResource::isExpired):
8418 (WebCore::CachedResource::setResponse):
8419 (WebCore::CachedResource::deleteIfPossible):
8420 (WebCore::CachedResource::setResourceToRevalidate):
8421 (WebCore::CachedResource::clearResourceToRevalidate):
8422 (WebCore::CachedResource::switchClientsToRevalidatedResource):
8423 (WebCore::CachedResource::canUseCacheValidator):
8424 (WebCore::CachedResource::mustRevalidate):
8425 * loader/CachedResource.h:
8426 (WebCore::CachedResource::canDelete):
8427 (WebCore::CachedResource::registerHandle):
8428 (WebCore::CachedResource::unregisterHandle):
8429 (WebCore::CachedResource::isCacheValidator):
8430 (WebCore::CachedResource::resourceToRevalidate):
8431 (WebCore::CachedResource::setExpirationDate):
8432 * loader/CachedResourceHandle.cpp: Added.
8433 (WebCore::CachedResourceHandleBase::setResource):
8434 * loader/CachedResourceHandle.h: Added.
8435 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
8436 (WebCore::CachedResourceHandleBase::get):
8437 (WebCore::CachedResourceHandleBase::operator!):
8438 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
8439 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
8440 (WebCore::CachedResourceHandleBase::operator=):
8441 (WebCore::CachedResourceHandle::CachedResourceHandle):
8442 (WebCore::CachedResourceHandle::get):
8443 (WebCore::CachedResourceHandle::operator->):
8444 (WebCore::CachedResourceHandle::operator=):
8445 (WebCore::CachedResourceHandle::operator==):
8446 (WebCore::CachedResourceHandle::operator!=):
8447 (WebCore::operator==):
8448 (WebCore::operator!=):
8449 * loader/DocLoader.cpp:
8450 (WebCore::DocLoader::checkForReload):
8451 * loader/UserStyleSheetLoader.h:
8452 * loader/loader.cpp:
8453 (WebCore::Loader::Host::servePendingRequests):
8454 (WebCore::Loader::Host::didFinishLoading):
8455 (WebCore::Loader::Host::didFail):
8456 (WebCore::Loader::Host::didReceiveResponse):
8457 (WebCore::Loader::Host::didReceiveData):
8458 * page/EventHandler.cpp:
8459 (WebCore::EventHandler::selectCursor):
8460 * rendering/RenderImage.cpp:
8461 (WebCore::RenderImage::setCachedImage):
8462 (WebCore::RenderImage::imageChanged):
8463 * rendering/RenderImage.h:
8464 (WebCore::RenderImage::cachedImage):
8465 (WebCore::RenderImage::imagePtr):
8466 * rendering/style/RenderStyle.h:
8467 * rendering/style/StyleCachedImage.h:
8468 (WebCore::StyleCachedImage::data):
8469 (WebCore::StyleCachedImage::cachedImage):
8470 * svg/SVGFEImageElement.h:
8471 * svg/graphics/filters/SVGFEImage.h:
8472 * xml/XSLImportRule.h:
8474 2008-09-04 Brady Eidson <beidson@apple.com>
8478 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
8480 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
8481 to model default NSURLRequest behavior in a cross-platform manner.
8483 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
8484 client that wished to enforce a much larger default timeout using NSURLRequest API.
8486 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
8487 behavior on the web and this restores previous Safari/WebKit behavior.
8489 It would be easy to write a layout test for this, but to be effective it would have
8490 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
8492 * manual-tests/timeout-test.html: Added.
8493 * manual-tests/timeout-test.php: Added.
8495 * platform/network/ResourceRequestBase.h:
8496 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
8497 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
8498 * platform/network/mac/ResourceRequestMac.mm:
8499 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
8500 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
8501 WebKit applications to enforce their own default timeout.
8503 2008-09-04 Dan Bernstein <mitz@apple.com>
8505 Reviewed by Beth Dakin.
8507 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
8509 Test: fast/repaint/button-spurious-layout-hint.html
8511 * rendering/RenderButton.cpp:
8512 (WebCore::RenderButton::setStyle): Reset the inner block's style box
8513 flex to 0 to avoid getting a spurious layout hint.
8515 2008-09-04 Kevin Ollivier <kevino@theolliviers.com>
8519 * WebCoreSources.bkl:
8520 * bindings/js/ScriptControllerWx.cpp: Added.
8521 (WebCore::ScriptController::createScriptInstanceForWidget):
8522 * page/wx/AccessibilityObjectWx.cpp: Added.
8523 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
8524 * platform/graphics/wx/GraphicsContextWx.cpp:
8528 2008-09-04 Dan Bernstein <mitz@apple.com>
8530 Reviewed by Mark Rowe.
8532 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
8533 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
8534 require a different approach
8538 2008-09-04 Mark Rowe <mrowe@apple.com>
8540 Reviewed by Eric Seidel.
8542 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
8543 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
8545 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
8546 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
8547 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
8549 2008-09-04 Mark Rowe <mrowe@apple.com>
8553 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
8555 2008-09-04 Eric Seidel <eric@webkit.org>
8557 Build fix only, no review.
8559 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
8561 2008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
8563 Reviewed by Eric Seidel.
8565 http://bugs.webkit.org/show_bug.cgi?id=20380
8566 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
8568 * config.h: Include the configuration header generated by autotools if
8571 2008-09-04 Dan Bernstein <mitz@apple.com>
8573 Rubber-stamped by Dave Hyatt.
8575 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
8577 * loader/CachedFont.cpp:
8578 (WebCore::CachedFont::allClientsRemoved):
8579 * loader/CachedFont.h:
8580 * loader/CachedImage.cpp:
8581 (WebCore::CachedImage::allClientsRemoved):
8582 * loader/CachedImage.h:
8583 * loader/CachedResource.cpp:
8584 (WebCore::CachedResource::removeClient):
8585 * loader/CachedResource.h:
8586 (WebCore::CachedResource::allClientsRemoved):
8588 2008-09-04 Adam Roben <aroben@apple.com>
8590 Windows build fix after r36071
8592 We were getting these errors:
8594 error C2356: initialization segment must not change during translation
8597 This was happening because multiple files #included by
8598 DerivedSources.cpp were themselves #including StaticConstructors.h. I
8599 fixed the error by adding header guards to StaticConstructors.h so its
8600 contents will only be included once.
8602 But it's also not a good idea for StaticConstructors.h to end up in
8603 DerivedSources.cpp, since it ends up "polluting" all the source files
8604 we have in there. So I removed all the files that include
8605 StaticConstructors.h and added some preprocessor directives to
8606 DerivedSources.cpp to catch this error in the future.
8608 * DerivedSources.cpp: Removed the *Names.cpp files, which include
8609 StaticConstructors.h, and added some preprocessor directives to make
8610 sure we don't end up accidentally including StaticConstructors.h in
8612 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
8613 * platform/StaticConstructors.h: Added header guards.
8615 2008-09-04 Adam Roben <aroben@apple.com>
8619 * platform/graphics/win/FontPlatformData.h: Added a missing #include
8620 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
8621 * platform/text/PlatformString.h: Added a missing #include of
8624 2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
8628 Fix the QtWebKit build to match changes in r36016
8631 * bridge/qt/qt_instance.cpp:
8632 (KJS::Bindings::QtInstance::getRuntimeObject):
8633 * bridge/qt/qt_runtime.cpp:
8634 (KJS::Bindings::convertQVariantToValue):
8635 (KJS::Bindings::QtConnectionObject::execute):
8637 2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
8641 Re-enable support for user stylesheets in QtWebKit
8643 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
8644 code path, which allows us to keep API support for
8645 loading user style sheets from remote URLs.
8647 As part of the change UserStyleSheetLoader.cpp/h was
8648 moved from WebCore/loader/mac to WebCore/loader.
8651 * WebCore.xcodeproj/project.pbxproj:
8653 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
8654 (UserStyleSheetLoader::UserStyleSheetLoader):
8655 (UserStyleSheetLoader::~UserStyleSheetLoader):
8656 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
8657 * page/qt/FrameQt.cpp:
8658 (WebCore::Frame::setUserStyleSheetLocation):
8659 (WebCore::Frame::setUserStyleSheet):
8661 2008-09-04 Alp Toker <alp@nuanti.com>
8665 Remove left-over QT and CAIRO platform checks.
8667 * html/CanvasRenderingContext2D.cpp:
8669 2008-09-04 Eric Seidel <eric@webkit.org>
8671 Reviewed by Mark Rowe.
8673 Fix leak of TextMetrics due to over-ref as see on buildbot.
8675 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
8677 2008-09-04 Dan Bernstein <mitz@apple.com>
8679 Reviewed by Dave Hyatt.
8681 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
8682 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
8684 * rendering/RenderBlock.cpp:
8685 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
8686 positioned movement only case, call
8687 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
8688 layout if that fails.
8689 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
8690 * rendering/RenderBox.h:
8691 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
8692 layoutDoingPositionedMovementOnly to this, and made this function
8693 check if the width changed. If it did, return, leaving the object
8694 dirty. The caller can then call layout(). The width can change even
8695 in the "positioned movement only" case if the object is shrink-to-fit
8696 and the available width constraint is met. (This was the case in the
8698 * rendering/RenderObject.h:
8699 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
8700 Renamed layoutDoingPositionedMovementOnly() to this.
8702 2008-09-03 Eric Seidel <eric@webkit.org>
8704 No review, build fix only.
8706 Attempt to fix the Qt build.
8708 * WebCore.pro: add page/animation to include path
8710 2008-09-03 Mark Rowe <mrowe@apple.com>
8712 Mac build fix. Correctly detect whether dashboard support is enabled.
8714 * DerivedSources.make:
8716 2008-09-03 Eric Seidel <eric@webkit.org>
8720 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
8722 * Configurations/WebCore.xcconfig: add missing ENABLE_*
8723 * config.h: add rules for V8_BINDINGS
8725 2008-09-03 Eric Seidel <eric@webkit.org>
8729 https://bugs.webkit.org/show_bug.cgi?id=20620
8731 Add #if USE(JSC) around KJS dependencies
8732 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
8733 1. Most platforms have it on anyway
8734 2. V8 is going to want to share some of that code
8735 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
8737 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
8738 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
8739 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8740 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8741 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8742 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8743 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8744 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8745 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
8746 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
8747 * platform/text/AtomicString.cpp: add USE(JSC)
8748 * platform/text/AtomicString.h: add USE(JSC)
8749 * platform/text/PlatformString.h: add USE(JSC)
8750 * platform/text/String.cpp: add USE(JSC)
8751 * platform/text/StringImpl.cpp: add USE(JSC)
8752 * platform/text/StringImpl.h: add USE(JSC)
8754 2008-09-03 Dean McNamee <deanm@chromium.org>
8756 Reviewed by Darin Adler.
8758 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
8759 Bug 20511: Remove static initializers on Windows
8761 Avoid static initializers on Windows by forcing Visual C++ to put
8762 all static initializers in a code segment that is never executed.
8765 * css/MediaFeatureNames.cpp:
8766 * dom/EventNames.cpp:
8767 * dom/QualifiedName.cpp:
8768 * dom/make_names.pl:
8769 * platform/StaticConstructors.h:
8770 * platform/text/AtomicString.cpp:
8772 2008-09-03 Dirk Schulze <vbs85@gmx.de>
8774 Reviewed by Dave Hyatt.
8776 Make FontCairo draw TextStroke and TextFill separately.
8778 [CAIRO] draw TextFill and TextStroke separately.
8779 [https://bugs.webkit.org/show_bug.cgi?id=20631]
8781 * platform/graphics/cairo/FontCairo.cpp:
8782 (WebCore::Font::drawGlyphs):
8784 2008-09-03 Peter Kasting <pkasting@google.com>
8786 Reviewed by Dave Hyatt.
8788 https://bugs.webkit.org/show_bug.cgi?id=19663
8789 Account for paint and timer lag when animating images. Also pretend
8790 that images whose animations were paused (by becoming invisible)
8791 continued to animate, by "catching up" to the correct frame when they're
8794 * platform/graphics/BitmapImage.cpp:
8795 (WebCore::BitmapImage::BitmapImage):
8796 (WebCore::BitmapImage::startAnimation):
8797 (WebCore::BitmapImage::advanceAnimation):
8798 (WebCore::BitmapImage::internalAdvanceAnimation):
8799 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
8800 * platform/graphics/BitmapImage.h:
8801 * platform/graphics/cairo/ImageCairo.cpp:
8802 (WebCore::BitmapImage::draw):
8803 * platform/graphics/cg/ImageCG.cpp:
8804 (WebCore::BitmapImage::draw):
8805 * platform/graphics/qt/ImageQt.cpp:
8806 (WebCore::BitmapImage::draw):
8807 * platform/graphics/wx/ImageWx.cpp:
8808 (WebCore::BitmapImage::draw):
8810 2008-09-03 Kevin McCullough <kmccullough@apple.com>
8814 Remove the rest of the "zombie" code from the profiler.
8815 - There is no longer a need for the ProfilerClient callback mechanism.
8818 (WebCore::Console::Console):
8819 (WebCore::Console::profile):
8820 (WebCore::Console::profileEnd): Move the variables from the header to
8821 here since we don't have to wait for a callback to use them.
8823 * page/InspectorController.cpp:
8824 (WebCore::InspectorController::startUserInitiatedProfiling):
8825 (WebCore::InspectorController::stopUserInitiatedProfiling):
8826 * page/InspectorController.h:
8828 2008-09-03 Ada Chan <adachan@apple.com>
8832 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
8834 2008-09-01 Dean Jackson <dino@apple.com>
8836 Reviewed by Dave Hyatt.
8838 https://bugs.webkit.org/show_bug.cgi?id=20594
8839 Add DOM interfaces for WebKitCSSKeyframeRule
8840 and WebKitCSSKeyframesRule.
8842 TEST: LayoutTests/css3/keyframes-rule.html
8844 * css/WebKitCSSKeyframeRule.idl: Added
8845 * css/WebKitCSSKeyframesRule.idl: Added
8847 * bindings/js/JSCSSRuleCustom.cpp:
8849 Add return of new JS Keyframe rules
8850 * bindings/objc/DOMInternal.h:
8851 Include new internal header
8853 * DerivedSources.make:
8856 * WebCore.vcproj/WebCore.vcproj:
8857 * WebCore.xcodeproj/project.pbxproj:
8858 * WebCoreSources.bkl:
8859 Build configs for new files
8861 2008-09-03 Adam Roben <aroben@apple.com>
8865 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
8866 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
8867 convenience/consistency.
8869 2008-09-03 Adele Peterson <adele@apple.com>
8873 * WebCore.vcproj/WebCore.vcproj:
8875 2008-09-03 David Hyatt <hyatt@apple.com>
8877 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
8879 Reviewed by Darin (ages ago)
8881 Added fast/block/float/clamped-right-float.html
8883 * rendering/RenderBlock.cpp:
8884 (WebCore::RenderBlock::positionNewFloats):
8886 2008-09-02 David Hyatt <hyatt@apple.com>
8888 Add support for canvas text drawing APIs.
8892 Tests added as fast/canvas/canvas-text-*.html
8894 * DerivedSources.make:
8895 * WebCore.xcodeproj/project.pbxproj:
8896 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
8897 (WebCore::JSCanvasRenderingContext2D::fillText):
8898 (WebCore::JSCanvasRenderingContext2D::strokeText):
8899 * css/CSSStyleSelector.cpp:
8900 (WebCore::CSSStyleSelector::initForStyleResolve):
8901 (WebCore::CSSStyleSelector::applyPropertyToStyle):
8902 * css/CSSStyleSelector.h:
8903 * html/CanvasRenderingContext2D.cpp:
8904 (WebCore::CanvasRenderingContext2D::State::State):
8905 (WebCore::CanvasRenderingContext2D::font):
8906 (WebCore::CanvasRenderingContext2D::setFont):
8907 (WebCore::CanvasRenderingContext2D::textAlign):
8908 (WebCore::CanvasRenderingContext2D::setTextAlign):
8909 (WebCore::CanvasRenderingContext2D::textBaseline):
8910 (WebCore::CanvasRenderingContext2D::setTextBaseline):
8911 (WebCore::CanvasRenderingContext2D::fillText):
8912 (WebCore::CanvasRenderingContext2D::strokeText):
8913 (WebCore::CanvasRenderingContext2D::measureText):
8914 (WebCore::CanvasRenderingContext2D::drawTextInternal):
8915 (WebCore::CanvasRenderingContext2D::accessFont):
8916 * html/CanvasRenderingContext2D.h:
8917 * html/CanvasRenderingContext2D.idl:
8918 * html/TextMetrics.h: Added.
8919 (WebCore::TextMetrics::create):
8920 (WebCore::TextMetrics::width):
8921 (WebCore::TextMetrics::setWidth):
8922 (WebCore::TextMetrics::TextMetrics):
8923 * html/TextMetrics.idl: Added.
8924 * platform/graphics/Font.cpp:
8925 (WebCore::Font::lineGap):
8926 * platform/graphics/Font.h:
8927 * platform/graphics/GraphicsContext.cpp:
8928 (WebCore::GraphicsContext::drawBidiText):
8929 * platform/graphics/GraphicsContext.h:
8930 * platform/graphics/GraphicsTypes.cpp:
8931 (WebCore::textAlignName):
8932 (WebCore::parseTextAlign):
8933 (WebCore::textBaselineName):
8934 (WebCore::parseTextBaseline):
8935 * platform/graphics/GraphicsTypes.h:
8938 2008-09-03 John Sullivan <sullivan@apple.com>
8940 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
8942 Fixed by Darin, reviewed by me
8944 * page/animation/AnimationBase.cpp:
8945 (WebCore::AnimationBase::propertiesEqual):
8946 added ensurePropertyMap() to this static function
8947 (WebCore::AnimationBase::getPropertyAtIndex):
8949 (WebCore::AnimationBase::getNumProperties):
8952 2008-09-03 Kevin McCullough <kmccullough@apple.com>
8954 Reviewed by Darin and Tim.
8956 Remove most of the "zombie" mode from the profiler. Next we will need
8957 to remove the client callback mechanism in profiles.
8958 - These changes are a result of changes to JSCore.
8960 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
8962 (WebCore::retrieveLastCaller):
8963 (WebCore::Console::profileEnd):
8964 * page/InspectorController.cpp:
8965 (WebCore::InspectorController::stopUserInitiatedProfiling):
8967 2008-09-03 Adele Peterson <adele@apple.com>
8969 Reviewed by Darin Adler.
8971 Test: fast/forms/search-display-none-cancel-button.html
8973 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
8975 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
8977 * rendering/RenderTextControl.cpp:
8978 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
8979 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
8980 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
8981 (WebCore::RenderTextControl::createSubtreeIfNeeded):
8982 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
8983 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
8984 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
8985 (WebCore::RenderTextControl::calcHeight): ditto.
8986 (WebCore::RenderTextControl::nodeAtPoint): ditto.
8987 (WebCore::RenderTextControl::layout): ditto.
8988 (WebCore::RenderTextControl::calcPrefWidths): ditto.
8989 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
8990 (WebCore::RenderTextControl::clientPaddingRight): ditto.
8992 * rendering/TextControlInnerElements.cpp:
8993 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
8994 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
8995 (WebCore::TextControlInnerElement::attachInnerElement): Added.
8996 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
8997 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
8998 * rendering/TextControlInnerElements.h:
9000 2008-08-28 Alexey Proskuryakov <ap@webkit.org>
9004 Elminate SQLiteAuthorizer class.
9006 * WebCore.xcodeproj/project.pbxproj:
9007 * WebCore.vcproj/WebCore.vcproj:
9009 Removed SQLiteAuthorizer.h.
9011 * platform/sql/SQLiteAuthorizer.cpp:
9012 * platform/sql/SQLiteAuthorizer.h: Removed.
9013 * platform/sql/SQLiteDatabase.cpp:
9014 (WebCore::SQLiteDatabase::authorizerFunction):
9015 (WebCore::SQLiteDatabase::setAuthorizer):
9016 * platform/sql/SQLiteDatabase.h:
9017 * storage/DatabaseAuthorizer.h:
9018 (WebCore::DatabaseAuthorizer::create):
9019 (WebCore::DatabaseAuthorizer::createView):
9020 (WebCore::DatabaseAuthorizer::createTempView):
9021 (WebCore::DatabaseAuthorizer::dropView):
9022 (WebCore::DatabaseAuthorizer::dropTempView):
9023 (WebCore::DatabaseAuthorizer::allowSelect):
9024 (WebCore::DatabaseAuthorizer::allowReindex):
9025 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
9027 2008-09-03 Dirk Schulze <vbs85@gmx.de>
9029 Reviewed by Mark Rowe.
9031 WebKitGtk build fix.
9034 * page/animation/AnimationController.h:
9036 2008-09-02 Robert Blaut <webkit@blaut.biz>
9038 Reviewed by Geoff Garen.
9040 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
9041 Misplaced elements should not close DL lists.
9043 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
9045 * html/HTMLParser.cpp:
9046 (WebCore::HTMLParser::handleError):
9048 2008-09-02 Glenn Wilson <wilsong@gmail.com>
9050 Reviewed by Darin Adler.
9052 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
9053 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
9055 We would inappropriately interpret and apply an invalid CSS "color" property
9056 when the value is a predefined color preceded by a '#' symbol. For example,
9057 style="color:#gray;" would apply the color gray when it should not.
9059 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
9060 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
9061 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
9064 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
9065 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
9066 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
9068 Test: css1/color_and_background/invalid_color.html
9072 2008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
9074 Reviewed by Darin Adler.
9076 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
9077 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
9079 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
9081 Test: css3/khtml-background-size-0x0-bmp.html
9083 * rendering/RenderBox.cpp:
9084 (WebCore::RenderBox::repaintLayerRectsForImage):
9086 2008-09-02 Glenn Wilson <wilsong@gmail.com>
9088 Reviewed by Eric Seidel.
9090 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
9091 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
9093 The function checkForOrphanedUnits() would change the length of a list whose size was
9094 was already determined before the call to checkForOrphanedUnits was made. Later in
9095 the caller, the old size was being used for boundary management.
9097 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
9098 calling function, before the size of the list is determined.
9100 Test: fast/css/orphaned_units_crash.html
9102 * css/CSSParser.cpp:
9103 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
9105 2008-09-02 Dirk Schulze <vbs85@gmx.de>
9107 Reviewed by Darin Adler.
9109 Fallback on invalid fill or stroke styles in Canvas was
9110 transparent black. Changed it to last valid style.
9112 Canvas fillStyle() and strokeStyle() needs fallback
9113 https://bugs.webkit.org/show_bug.cgi?id=20474
9115 Tests: fast/canvas/canvas-invalid-fillstyle.html
9116 fast/canvas/canvas-invalid-strokestyle.html
9118 * html/CanvasStyle.cpp:
9119 (WebCore::CanvasStyle::applyStrokeColor):
9120 (WebCore::CanvasStyle::applyFillColor):
9122 2008-09-02 Dirk Schulze <vbs85@gmx.de>
9124 Reviewed by Darin Adler.
9126 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
9127 Updated drawImage() in canvas to match the current specification.
9129 Test: fast/canvas/drawImage-with-negative-source-destination.html
9131 * html/CanvasRenderingContext2D.cpp:
9132 (WebCore::normalizeRect):
9133 (WebCore::CanvasRenderingContext2D::drawImage):
9135 2008-08-26 Mark Rowe <mrowe@apple.com>
9137 Reviewed by Darin Adler.
9139 <rdar://problem/5768210> Switch back to the system version of SQLite
9141 Use the system version of SQLite when it is new enough to provide the functionality
9142 that WebCore requires.
9144 * Configurations/Base.xcconfig:
9145 * Configurations/DebugRelease.xcconfig:
9146 * Configurations/WebCore.xcconfig:
9148 2008-09-02 Dan Bernstein <mitz@apple.com>
9152 * page/animation/AnimationBase.h:
9154 2008-09-02 Chris Marrin <cmarrin@apple.com>
9156 Reviewed by Dave Hyatt.
9158 AnimationController.cpp should be split into separate files
9159 https://bugs.webkit.org/show_bug.cgi?id=20604
9161 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
9162 recommendation of Dave Hyatt.
9166 * WebCore.vcproj/WebCore.vcproj:
9167 * WebCore.xcodeproj/project.pbxproj:
9168 * WebCoreSources.bkl:
9171 * page/AnimationController.cpp: Removed.
9172 * page/AnimationController.h: Removed.
9173 * page/animation: Added.
9174 * page/animation/AnimationBase.cpp: Added.
9175 * page/animation/AnimationBase.h: Added.
9176 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
9177 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
9178 * page/animation/CompositeAnimation.cpp: Added.
9179 * page/animation/CompositeAnimation.h: Added.
9180 * page/animation/ImplicitAnimation.cpp: Added.
9181 * page/animation/ImplicitAnimation.h: Added.
9182 * page/animation/KeyframeAnimation.cpp: Added.
9183 * page/animation/KeyframeAnimation.h: Added.
9185 2008-09-02 Dan Bernstein <mitz@apple.com>
9189 * platform/graphics/cg/GraphicsContextCG.cpp:
9190 (WebCore::calculateDrawingMode):
9192 2008-09-02 Timothy Hatcher <timothy@apple.com>
9194 Make console functions log the correct resource URL and
9195 line number for where the call originated.
9197 https://bugs.webkit.org/show_bug.cgi?id=17234
9198 <rdar://problem/5732837>
9200 Reviewed by Kevin McCullough.
9202 Test: manual-tests/inspector/console-call-line-numbers.html
9204 * bindings/js/JSConsoleCustom.cpp:
9205 (WebCore::JSConsole::count): Call the impl.
9206 (WebCore::JSConsole::timeEnd): Ditto.
9207 * manual-tests/inspector/console-call-line-numbers.html: Added.
9208 * manual-tests/inspector/resources/script-console-calls.js: Added.
9210 (WebCore::retrieveLastCaller): Helper to get the URL and line.
9211 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
9212 line number to pass to addMessageToConsole.
9213 (WebCore::Console::info): Ditto.
9214 (WebCore::Console::log): Ditto.
9215 (WebCore::Console::assertCondition): Ditto.
9216 (WebCore::Console::count): Ditto.
9217 (WebCore::Console::timeEnd): Ditto.
9218 (WebCore::Console::warn): Ditto.
9220 * page/Console.idl: Make count and timeEnd custom.
9222 2008-09-02 Timothy Hatcher <timothy@apple.com>
9224 Removed IDL files from WebCore's framework resources.
9226 * WebCore.xcodeproj/project.pbxproj:
9228 2008-09-02 Dan Bernstein <mitz@apple.com>
9230 Reviewed by Dave Hyatt.
9232 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
9234 * html/HTMLParser.cpp:
9235 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
9236 cap on the number of consecutive identical residual style tags to
9238 (WebCore::HTMLParser::popBlock): Ditto.
9240 2008-09-02 Alexey Proskuryakov <ap@webkit.org>
9242 Reviewed by Adam Roben.
9244 A little database quota management cleanup.
9246 * storage/OriginQuotaManager.cpp:
9247 (WebCore::OriginQuotaManager::OriginQuotaManager):
9248 (WebCore::OriginQuotaManager::lock):
9249 (WebCore::OriginQuotaManager::unlock):
9250 (WebCore::OriginQuotaManager::trackOrigin):
9251 (WebCore::OriginQuotaManager::tracksOrigin):
9252 (WebCore::OriginQuotaManager::addDatabase):
9253 (WebCore::OriginQuotaManager::removeDatabase):
9254 (WebCore::OriginQuotaManager::removeOrigin):
9255 (WebCore::OriginQuotaManager::markDatabase):
9256 (WebCore::OriginQuotaManager::diskUsage):
9257 * storage/OriginQuotaManager.h:
9258 Changed to assert that a lock is taken more directly and reliably. Removed comments about
9259 main/background threads, as this is likely to stop being true with synchronous Database calls
9260 being made on worker threads.
9262 * storage/OriginUsageRecord.cpp:
9263 (WebCore::OriginUsageRecord::OriginUsageRecord):
9264 (WebCore::OriginUsageRecord::addDatabase):
9265 (WebCore::OriginUsageRecord::removeDatabase):
9266 (WebCore::OriginUsageRecord::markDatabase):
9267 (WebCore::OriginUsageRecord::diskUsage):
9268 * storage/OriginUsageRecord.h:
9269 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
9270 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
9271 can be replaced with a single boolean for OriginUsageRecord.
9272 Added assertions for string parameters being unshared.
9275 2008-09-01 Adam Barth <abarth@webkit.org>
9277 Reviewed by Sam Weinig.
9279 https://bugs.webkit.org/show_bug.cgi?id=19760
9281 Make granting LoadLocalResources conditional on a policy.
9285 (WebCore::Document::initSecurityContext):
9286 * loader/FrameLoader.cpp:
9287 (WebCore::FrameLoader::setLocalLoadPolicy):
9288 (WebCore::FrameLoader::restrictAccessToLocal):
9289 * loader/FrameLoader.h:
9290 (WebCore::FrameLoader::):
9291 * platform/SecurityOrigin.cpp:
9292 (WebCore::SecurityOrigin::grantLoadLocalResources):
9293 * platform/SecurityOrigin.h:
9295 2008-09-01 Dean Jackson <dino@apple.com>
9297 Reviewed by Sam Weinig.
9299 https://bugs.webkit.org/show_bug.cgi?id=20571
9300 Make sure Window object can assign Animation/Transition event
9301 listeners via attributes.
9303 Also added a bunch of transition event tests, although
9304 only transition-end-event-window is directly relevant to this patch.
9306 (WebCore::JSDOMWindowBase::put):
9308 Tests: transitions/transition-end-event-all-properties.html
9309 transitions/transition-end-event-attributes.html
9310 transitions/transition-end-event-container.html
9311 transitions/transition-end-event-left.html
9312 transitions/transition-end-event-multiple-01.html
9313 transitions/transition-end-event-multiple-02.html
9314 transitions/transition-end-event-multiple-03.html
9315 transitions/transition-end-event-multiple-04.html
9316 transitions/transition-end-event-nested.html
9317 transitions/transition-end-event-transform.html
9318 transitions/transition-end-event-window.html
9320 2008-09-01 Dean Jackson <dino@apple.com>
9322 Reviewed by Sam Weinig
9324 Code styling cleanup.
9326 * bindings/js/JSDOMWindowBase.cpp:
9327 (WebCore::JSDOMWindowBase::getValueProperty):
9328 (WebCore::JSDOMWindowBase::put):
9330 2008-09-01 Geoffrey Garen <ggaren@apple.com>
9332 Reviewed by Darin Adler.
9334 First cut at inline caching for access to vanilla JavaScript properties.
9336 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
9337 to WebCore classes, and PutPropertySlot& arguments to put functions.
9339 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
9340 inline caching for global properties, so global assignment can be optimized.
9342 * ForwardingHeaders/kjs/StructureID.h: Added.
9343 * bindings/js/JSDOMBinding.h:
9344 (WebCore::DOMObject::DOMObject):
9345 * bindings/js/JSDOMWindowBase.cpp:
9346 (WebCore::JSDOMWindowBase::put):
9347 * bindings/js/JSDOMWindowBase.h:
9348 * bindings/js/JSDOMWindowCustom.h:
9349 (WebCore::JSDOMWindow::customPut):
9350 * bindings/js/JSDOMWindowShell.cpp:
9351 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
9352 (WebCore::JSDOMWindowShell::put):
9353 * bindings/js/JSDOMWindowShell.h:
9354 * bindings/js/JSEventTargetBase.h:
9355 (WebCore::JSEventTargetBase::put):
9356 * bindings/js/JSEventTargetNode.h:
9357 (WebCore::JSEventTargetNode::put):
9358 * bindings/js/JSHTMLAppletElementCustom.cpp:
9359 (WebCore::JSHTMLAppletElement::customPut):
9360 * bindings/js/JSHTMLEmbedElementCustom.cpp:
9361 (WebCore::JSHTMLEmbedElement::customPut):
9362 * bindings/js/JSHTMLInputElementBase.cpp:
9363 (WebCore::JSHTMLInputElementBase::put):
9364 * bindings/js/JSHTMLInputElementBase.h:
9365 * bindings/js/JSHTMLObjectElementCustom.cpp:
9366 (WebCore::JSHTMLObjectElement::customPut):
9367 * bindings/js/JSHistoryCustom.cpp:
9368 (WebCore::JSHistory::customPut):
9369 * bindings/js/JSInspectedObjectWrapper.cpp:
9370 (WebCore::JSInspectedObjectWrapper::wrap):
9371 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
9372 * bindings/js/JSInspectedObjectWrapper.h:
9373 * bindings/js/JSInspectorCallbackWrapper.cpp:
9374 (WebCore::JSInspectorCallbackWrapper::wrap):
9375 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
9376 * bindings/js/JSInspectorCallbackWrapper.h:
9377 * bindings/js/JSLocationCustom.cpp:
9378 (WebCore::JSLocation::customPut):
9379 * bindings/js/JSPluginElementFunctions.cpp:
9380 (WebCore::runtimeObjectCustomPut):
9381 * bindings/js/JSPluginElementFunctions.h:
9382 * bindings/js/JSQuarantinedObjectWrapper.cpp:
9383 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
9384 (WebCore::JSQuarantinedObjectWrapper::put):
9385 * bindings/js/JSQuarantinedObjectWrapper.h:
9386 * bindings/js/JSStorageCustom.cpp:
9387 (WebCore::JSStorage::customPut):
9388 * bindings/objc/WebScriptObject.mm:
9389 (-[WebScriptObject setValue:forKey:]):
9390 * bindings/scripts/CodeGeneratorJS.pm:
9391 * bridge/NP_jsobject.cpp:
9393 * bridge/jni/jni_jsobject.mm:
9394 (JavaJSObject::setMember):
9395 * bridge/objc/objc_class.mm:
9396 (KJS::Bindings::ObjcClass::fallbackObject):
9397 * bridge/objc/objc_runtime.h:
9398 * bridge/objc/objc_runtime.mm:
9399 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
9400 (ObjcFallbackObjectImp::put):
9401 * bridge/runtime.cpp:
9402 (KJS::Bindings::Instance::createRuntimeObject):
9403 * bridge/runtime_array.cpp:
9404 (RuntimeArray::put):
9405 * bridge/runtime_array.h:
9406 * bridge/runtime_object.cpp:
9407 (RuntimeObjectImp::RuntimeObjectImp):
9408 (RuntimeObjectImp::put):
9409 * bridge/runtime_object.h:
9411 2008-09-01 Dirk Schulze <vbs85@gmx.de>
9413 Reviewed by Eric Seidel.
9415 Fixed border-radius for Cairo.
9417 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9418 (WebCore::GraphicsContext::strokeArc):
9420 2008-09-01 Dirk Schulze <vbs85@gmx.de>
9422 Reviewed by Eric Seidel.
9424 Added canvas's globalAlpha to cairo.
9426 * platform/graphics/GraphicsContext.h:
9427 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9428 (WebCore::GraphicsContext::fillPath):
9429 (WebCore::GraphicsContext::strokePath):
9430 (WebCore::GraphicsContext::setAlpha):
9431 (WebCore::GraphicsContext::getAlpha):
9432 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
9433 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
9434 * platform/graphics/cairo/ImageCairo.cpp:
9435 (WebCore::BitmapImage::draw):
9437 2008-08-31 Simon Hausmann <hausmann@webkit.org>
9439 Unreviewed Qt build fix.
9441 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
9444 2008-08-30 Darin Adler <darin@apple.com>
9448 - adopt some new JavaScriptCore functions where appropriate
9450 * bindings/js/JSDOMWindowBase.cpp:
9451 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
9452 (WebCore::windowProtoFuncBToA): Ditto.
9453 * bindings/js/JSEventListener.cpp:
9454 (WebCore::JSLazyEventListener::eventParameterName): Adopted
9456 * bindings/js/JSSVGLazyEventListener.cpp:
9457 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
9459 2008-08-29 Brady Eidson <beidson@apple.com>
9461 Reviewed by Anders' rubberstamp
9463 Style cleanup to match MediaTokenizer::writeRawData()
9465 * loader/PluginDocument.cpp:
9466 (WebCore::PluginTokenizer::writeRawData):
9468 2008-08-29 Brady Eidson <beidson@apple.com>
9472 https://bugs.webkit.org/show_bug.cgi?id=20556
9473 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
9475 Fix regression I introducted in 35946
9476 Already covered by media/video-click-dlbclick-standalone.html
9478 * loader/MediaDocument.cpp:
9479 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
9480 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
9481 an ASSERT signifying that this method should only be called once, to more closely follow the
9482 PluginDocument case.
9484 2008-08-29 Beth Dakin <bdakin@apple.com>
9486 Reviewed by Sam Weinig.
9488 Fix for <rdar://problem/6181588>
9490 This patch makes hit testing take into account the new concept of a
9491 disconnected frame, in which some of the content may not be
9492 visible. The current hit testing mechanism starts at a target frame
9493 and drills down for a HitTestResult. In some cases, drilling down
9494 will find a non-visible result. When this happens, we need to try
9495 again, starting at a higher level -- namely, starting at the main
9498 * editing/Editor.cpp:
9499 (WebCore::Editor::insideVisibleArea): New function that tests if a
9500 point is inside the visible area for a disconnected frame.
9502 * page/EventHandler.cpp:
9503 (WebCore::EventHandler::hitTestResultAtPoint):
9505 2008-08-29 Adele Peterson <adele@apple.com>
9507 Reviewed by Adam Roben.
9509 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
9513 * WebCore.vcproj/WebCore.vcproj:
9514 * WebCore.xcodeproj/project.pbxproj:
9515 * WebCoreSources.bkl:
9516 * html/HTMLTextFieldInnerElement.cpp: Removed.
9517 * html/HTMLTextFieldInnerElement.h: Removed.
9518 * rendering/RenderTextControl.cpp:
9519 (WebCore::RenderTextControl::createSubtreeIfNeeded):
9520 * rendering/RenderTextControl.h:
9521 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
9522 (WebCore::TextControlInnerElement::TextControlInnerElement):
9523 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
9524 (WebCore::TextControlInnerTextElement::defaultEventHandler):
9525 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
9526 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
9527 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
9528 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
9529 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
9531 2008-08-29 Eric Seidel <eric@webkit.org>
9533 Rubber-stamped by aroben.
9535 Add GraphicsContext.h include to GraphcisContextPrivate.h
9537 GraphicsContextPrivate uses StrokeStyle which is defined
9538 in GraphicsContext.h but it doesn't include that header.
9539 CoreGraphics build doesn't fail here due to the order
9540 it happens to include files.
9542 * platform/graphics/GraphicsContextPrivate.h:
9544 2008-08-29 Eric Seidel <eric@webkit.org>
9548 Fix GeneratedImage to respect Image's refcounting
9549 Fixing potential crashers (future if not current)
9550 https://bugs.webkit.org/show_bug.cgi?id=20567
9552 I don't know if it's possible to make the current code
9553 crash, thus I've not made a test.
9555 * css/CSSGradientValue.cpp:
9556 (WebCore::CSSGradientValue::image):
9557 * css/CSSImageGeneratorValue.cpp:
9558 (WebCore::CSSImageGeneratorValue::removeClient):
9559 (WebCore::CSSImageGeneratorValue::getImage):
9560 * css/CSSImageGeneratorValue.h:
9561 * platform/graphics/GeneratedImage.h:
9562 (WebCore::GeneratedImage::GeneratedImage):
9563 * rendering/style/RenderStyle.cpp:
9564 (WebCore::RenderStyle::setContent):
9565 * rendering/style/RenderStyle.h:
9567 2008-08-29 Eric Carlson <eric.carlson@apple.com>
9571 Fix for <rdar://problem/6093767>
9572 https://bugs.webkit.org/show_bug.cgi?id=20526
9574 Don't allow video to render until unsupported track types have been disabled.
9576 * platform/graphics/win/QTMovieWin.cpp:
9577 (QTMovieWinPrivate::task):
9578 (QTMovieWinPrivate::drawingComplete):
9579 (QTMovieWinPrivate::clearGWorld):
9581 2008-08-29 Eric Carlson <eric.carlson@apple.com>
9585 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
9586 <rdar://problem/6169301>
9588 Return the size of the movie data instead of 1000.
9590 Test: media/progress-event-total.html
9592 * platform/graphics/win/QTMovieWin.cpp:
9593 (QTMovieWin::dataSize):
9595 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
9597 Reviewed by Eric Seidel.
9599 [janitor/qt] Start replacing port specific getters with the generic native getter
9600 To get the native presentation of an image we currently have platform
9601 specific #ifdef's and a generic getter using NativeImagePtr. This patch
9602 extends this to the ImageBuffer and updates the Qt platform to get rid
9603 of the special #ifdefs.
9605 https://bugs.webkit.org/attachment.cgi?id=22861
9607 * platform/graphics/BitmapImage.h:
9608 * platform/graphics/Image.h:
9609 * platform/graphics/qt/ImageQt.cpp:
9610 * platform/graphics/qt/StillImageQt.cpp:
9611 * platform/graphics/qt/StillImageQt.h:
9612 * platform/qt/ClipboardQt.cpp:
9613 (WebCore::ClipboardQt::createDragImage):
9614 (WebCore::ClipboardQt::declareAndWriteDragImage):
9615 * platform/qt/CursorQt.cpp:
9616 * platform/qt/PasteboardQt.cpp:
9617 (WebCore::Pasteboard::writeImage):
9619 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
9623 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
9625 * svg/graphics/qt/SVGPaintServerQt.cpp:
9626 (WebCore::SVGPaintServer::renderPath):
9627 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
9628 (WebCore::SVGPaintServerSolid::setup):
9630 2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
9634 [network/qt] Implement defering of loading ResourceHandle's
9635 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
9636 implementation is simply not forwarding anything to the
9637 ResourceHandleClient until we are allowed to. This might lead to a deadlock
9638 in Qt as we do not empty the QNetworkReply input buffer and wait until we
9639 are allowed to read. If that happens we are forced to buffer the data
9640 within QNetworkReplyHandler, for now this is not done.
9643 - Open http://acid3.acidtests.org
9644 - Wait for the test to complete
9645 - Click on the Reference Rendering link
9646 - Be fast and see the results of acid3
9649 * platform/network/qt/QNetworkReplyHandler.cpp:
9650 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
9651 (WebCore::QNetworkReplyHandler::setLoadMode):
9652 (WebCore::QNetworkReplyHandler::finish):
9653 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
9654 (WebCore::QNetworkReplyHandler::forwardData):
9655 (WebCore::QNetworkReplyHandler::start):
9656 (WebCore::QNetworkReplyHandler::resetState):
9657 (WebCore::QNetworkReplyHandler::sendQueuedItems):
9658 * platform/network/qt/QNetworkReplyHandler.h:
9659 (WebCore::QNetworkReplyHandler::):
9660 * platform/network/qt/ResourceHandleQt.cpp:
9661 (WebCore::ResourceHandle::start):
9662 (WebCore::ResourceHandle::loadResourceSynchronously):
9663 (WebCore::ResourceHandle::setDefersLoading):
9665 2008-08-29 Simon Hausmann <hausmann@webkit.org>
9669 Don't crash when drawing patterns with the HTML canvas. Patterns
9670 remain unimplemented but at least they don't crash anymore. This is
9671 done by changing the PlatformPatternPtr to be a brush for the Qt
9674 * platform/graphics/Pattern.h:
9675 * platform/graphics/qt/GraphicsContextQt.cpp:
9676 (WebCore::GraphicsContext::fillPath):
9677 (WebCore::GraphicsContext::strokePath):
9678 (WebCore::GraphicsContext::fillRect):
9679 * platform/graphics/qt/PatternQt.cpp:
9680 (WebCore::Pattern::createPlatformPattern):
9682 2008-08-29 Simon Hausmann <hausmann@webkit.org>
9684 Fix the Qt build, fontSelector() is not used by the Qt port yet
9685 and we just return 0 in Font::fontSelector().
9687 * platform/graphics/Font.h:
9689 2008-08-28 Alp Toker <alp@nuanti.com>
9691 GTK+ dist/build fix. List newly added header files.
9695 2008-08-28 Simon Fraser <simon.fraser@apple.com>
9697 Reviewed by Dave Hyatt
9699 Various WebKitCSSTransformValue-related fixes
9700 https://bugs.webkit.org/show_bug.cgi?id=20562
9702 Test: css3/transform-value-types.html
9704 * bindings/js/JSCSSValueCustom.cpp:
9707 * css/WebKitCSSTransformValue.cpp:
9708 (WebCore::WebKitCSSTransformValue::cssText):
9709 * css/WebKitCSSTransformValue.h:
9710 (WebCore::WebKitCSSTransformValue::):
9711 * css/WebKitCSSTransformValue.idl:
9713 2008-08-28 Dan Bernstein <mitz@apple.com>
9715 Reviewed by Steve Falkenburg.
9717 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
9719 * platform/win/SharedTimerWin.cpp:
9720 (WebCore::TimerWindowWndProc):
9722 2008-08-28 David Hyatt <hyatt@apple.com>
9724 RenderStyle cleanup.
9726 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
9730 * css/CSSImageGeneratorValue.cpp:
9731 * css/CSSImageValue.cpp:
9732 * css/CSSStyleSelector.cpp:
9733 * rendering/RenderImageGeneratedContent.cpp:
9734 * rendering/style/NinePieceImage.cpp: Added.
9735 * rendering/style/NinePieceImage.h: Added.
9736 * rendering/style/RenderStyle.cpp:
9737 (WebCore::FillLayer::operator==):
9738 (WebCore::FillLayer::containsImage):
9739 (WebCore::StyleInheritedData::operator==):
9740 (WebCore::RenderStyle::contentDataEquivalent):
9741 * rendering/style/RenderStyle.h:
9742 * rendering/style/StyleCachedImage.cpp: Added.
9743 * rendering/style/StyleCachedImage.h: Added.
9744 * rendering/style/StyleGeneratedImage.cpp: Added.
9745 * rendering/style/StyleGeneratedImage.h: Added.
9746 * rendering/style/StyleImage.h: Added.
9748 2008-08-28 Simon Fraser <simon.fraser@apple.com>
9750 Reviewed by Dave Hyatt
9752 Make all the 'isFoo()' methods on CSSValue const,
9753 and fix the subclasses.
9755 https://bugs.webkit.org/show_bug.cgi?id=20561
9757 * css/CSSTimingFunctionValue.h:
9759 (WebCore::CSSValue::isFontValue):
9760 (WebCore::CSSValue::isImageGeneratorValue):
9761 (WebCore::CSSValue::isImageValue):
9762 (WebCore::CSSValue::isImplicitInitialValue):
9763 * css/CSSValueList.h:
9766 2008-08-28 David Hyatt <hyatt@apple.com>
9768 The great RenderStyle cleanup begins!
9770 Move LengthBox and LengthSize out of RenderStyle and into Length.
9774 * rendering/Length.h:
9776 (WebCore::Length::Length):
9777 (WebCore::Length::operator==):
9778 (WebCore::Length::operator!=):
9779 (WebCore::Length::value):
9780 (WebCore::Length::rawValue):
9781 (WebCore::Length::percent):
9782 (WebCore::Length::type):
9783 (WebCore::Length::quirk):
9784 (WebCore::Length::setValue):
9785 (WebCore::Length::setRawValue):
9786 (WebCore::Length::calcValue):
9787 (WebCore::Length::calcMinValue):
9788 (WebCore::Length::calcFloatValue):
9789 (WebCore::Length::isUndefined):
9790 (WebCore::Length::isZero):
9791 (WebCore::Length::isPositive):
9792 (WebCore::Length::isNegative):
9793 (WebCore::Length::isAuto):
9794 (WebCore::Length::isRelative):
9795 (WebCore::Length::isPercent):
9796 (WebCore::Length::isFixed):
9797 (WebCore::Length::isStatic):
9798 (WebCore::Length::isIntrinsicOrAuto):
9799 (WebCore::Length::blend):
9800 (WebCore::LengthBox::LengthBox):
9801 (WebCore::LengthBox::operator=):
9802 (WebCore::LengthBox::operator==):
9803 (WebCore::LengthBox::operator!=):
9804 (WebCore::LengthBox::nonZero):
9805 (WebCore::LengthSize::LengthSize):
9806 * rendering/style/RenderStyle.h:
9808 2008-08-28 David Hyatt <hyatt@apple.com>
9812 https://bugs.webkit.org/show_bug.cgi?id=18091
9814 font-size should be animatable using -webkit-transition.
9816 * page/AnimationController.cpp:
9817 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
9818 * rendering/style/RenderStyle.h:
9819 (WebCore::RenderStyle::setFontSize):
9821 2008-08-28 Brad Garcia <bgarcia@google.com>
9823 Reviewed by Dan Bernstein.
9825 https://bugs.webkit.org/show_bug.cgi?id=20549
9826 Correctly determine when cursor is over a resizable border within
9829 * rendering/RenderFrameSet.cpp:
9830 (WebCore::RenderFrameSet::canResizeRow):
9831 (WebCore::RenderFrameSet::canResizeColumn):
9833 2008-08-28 Simon Fraser <simon.fraser@apple.com>
9835 Reviewed by Eric Seidel
9837 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
9838 https://bugs.webkit.org/show_bug.cgi?id=20552
9840 Test: animations/animation-css-rule-types.html
9844 2008-08-28 Anders Carlsson <andersca@apple.com>
9846 Reviewed by Kevin and Darin.
9848 <rdar://problem/6182541>
9849 https://bugs.webkit.org/show_bug.cgi?id=20202
9850 Missing http status line from the http headers.
9852 Add a status line to the header string.
9854 * plugins/PluginStream.cpp:
9855 (WebCore::PluginStream::startStream):
9857 2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
9859 Rubber-stamped by Darin Adler.
9861 https://bugs.webkit.org/show_bug.cgi?id=17261
9863 Make it possible to theme the default Url icon and enable this for
9864 the Qt port. To have a minimal usage of #ifdef in the code the setting
9865 of the icon was moved to a new method which comes in two flavors.
9867 * loader/icon/IconDatabase.cpp:
9868 (WebCore::loadDefaultIconRecord): Load or set the default icon
9869 (WebCore::IconDatabase::defaultIcon):
9871 2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
9873 Unreviewed compile fix
9875 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
9877 2008-08-28 Adam Roben <aroben@apple.com>
9879 Windows (and others?) build fix
9881 * page/Chrome.cpp: Added a missing #include.
9882 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
9884 2008-08-27 Eric Seidel <eric@webkit.org>
9886 Reviewed by Oliver Hunt.
9888 Qt and Cairo support from krit (and blind stab @ wx compile support)
9889 https://bugs.webkit.org/show_bug.cgi?id=20373
9891 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9892 (WebCore::GraphicsContext::fillPath):
9893 (WebCore::GraphicsContext::strokePath):
9894 (WebCore::GraphicsContext::drawPath):
9895 (WebCore::GraphicsContext::fillRect):
9896 (WebCore::GraphicsContext::setPlatformFillColor):
9897 (WebCore::GraphicsContext::setPlatformStrokeColor):
9898 (WebCore::GraphicsContext::setPlatformStrokeStyle):
9899 (WebCore::GraphicsContext::strokeRect):
9900 (WebCore::GraphicsContext::setImageInterpolationQuality):
9901 (WebCore::GraphicsContext::imageInterpolationQuality):
9902 (WebCore::GraphicsContext::setPlatformFillPattern):
9903 (WebCore::GraphicsContext::setPlatformStrokePattern):
9904 (WebCore::GraphicsContext::setPlatformFillGradient):
9905 (WebCore::GraphicsContext::setPlatformStrokeGradient):
9906 * platform/graphics/qt/GraphicsContextQt.cpp:
9907 (WebCore::GraphicsContext::fillPath):
9908 (WebCore::GraphicsContext::strokePath):
9909 (WebCore::GraphicsContext::fillRect):
9910 (WebCore::GraphicsContext::strokeRect):
9911 (WebCore::GraphicsContext::clipToImageBuffer):
9912 (WebCore::GraphicsContext::setPlatformFillPattern):
9913 (WebCore::GraphicsContext::setPlatformStrokePattern):
9914 (WebCore::GraphicsContext::setPlatformFillGradient):
9915 (WebCore::GraphicsContext::setPlatformStrokeGradient):
9916 (WebCore::GraphicsContext::setImageInterpolationQuality):
9917 (WebCore::GraphicsContext::imageInterpolationQuality):
9918 * platform/graphics/wx/GraphicsContextWx.cpp:
9919 (WebCore::GraphicsContext::clipToImageBuffer):
9920 (WebCore::GraphicsContext::setImageInterpolationQuality):
9921 (WebCore::GraphicsContext::imageInterpolationQuality):
9922 (WebCore::GraphicsContext::fillPath):
9923 (WebCore::GraphicsContext::strokePath):
9924 (WebCore::GraphicsContext::drawPath):
9925 (WebCore::GraphicsContext::fillRect):
9926 (WebCore::GraphicsContext::setPlatformFillPattern):
9927 (WebCore::GraphicsContext::setPlatformStrokePattern):
9928 (WebCore::GraphicsContext::setPlatformFillGradient):
9930 2008-08-27 Eric Seidel <eric@webkit.org>
9932 Reviewed by Oliver Hunt.
9934 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
9935 https://bugs.webkit.org/show_bug.cgi?id=20373
9937 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
9939 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
9940 have to store large Gradient objects in the GraphicsContextState
9942 Made Pattern RefCounted for the same reason.
9944 Many updates to GraphicsContext to support easier drawing with
9945 Patterns and Gradients.
9947 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
9948 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
9950 * css/CSSGradientValue.cpp:
9951 (WebCore::CSSGradientValue::createGradient):
9952 * css/CSSGradientValue.h:
9953 * html/CanvasGradient.cpp:
9954 (WebCore::CanvasGradient::CanvasGradient):
9955 * html/CanvasGradient.h:
9956 (WebCore::CanvasGradient::gradient):
9957 (WebCore::CanvasGradient::addColorStop):
9958 (WebCore::CanvasGradient::getColor):
9959 * html/CanvasPattern.cpp:
9960 * html/CanvasPattern.h:
9961 (WebCore::CanvasPattern::pattern):
9962 (WebCore::CanvasPattern::originClean):
9963 * html/CanvasRenderingContext2D.cpp:
9964 (WebCore::CanvasRenderingContext2D::State::State):
9965 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
9966 (WebCore::CanvasRenderingContext2D::setFillStyle):
9967 (WebCore::CanvasRenderingContext2D::fill):
9968 (WebCore::CanvasRenderingContext2D::stroke):
9969 (WebCore::CanvasRenderingContext2D::fillRect):
9970 (WebCore::CanvasRenderingContext2D::strokeRect):
9971 * html/CanvasRenderingContext2D.h:
9972 * html/CanvasStyle.cpp:
9973 (WebCore::CanvasStyle::applyStrokeColor):
9974 (WebCore::CanvasStyle::applyFillColor):
9975 * html/CanvasStyle.h:
9976 * platform/graphics/GeneratedImage.h:
9977 (WebCore::GeneratedImage::GeneratedImage):
9978 * platform/graphics/Generator.h:
9979 * platform/graphics/Gradient.h:
9980 (WebCore::Gradient::create):
9981 * platform/graphics/GraphicsContext.cpp:
9982 (WebCore::GraphicsContext::fillRule):
9983 (WebCore::GraphicsContext::setFillRule):
9984 (WebCore::GraphicsContext::setStrokePattern):
9985 (WebCore::GraphicsContext::setFillPattern):
9986 (WebCore::GraphicsContext::setStrokeGradient):
9987 (WebCore::GraphicsContext::setFillGradient):
9988 * platform/graphics/GraphicsContext.h:
9989 * platform/graphics/GraphicsContextPrivate.h:
9991 (WebCore::GraphicsContextState::GraphicsContextState):
9992 * platform/graphics/GraphicsTypes.h:
9993 * platform/graphics/Path.h:
9994 * platform/graphics/Pattern.h:
9995 (WebCore::Pattern::create):
9996 (WebCore::Pattern::tileImage):
9997 * platform/graphics/cg/GraphicsContextCG.cpp:
9998 (WebCore::GraphicsContext::drawRect):
9999 (WebCore::GraphicsContext::drawEllipse):
10000 (WebCore::GraphicsContext::drawConvexPolygon):
10001 (WebCore::calculateDrawingMode):
10002 (WebCore::GraphicsContext::drawPath):
10003 (WebCore::fillPathWithFillRule):
10004 (WebCore::GraphicsContext::fillPath):
10005 (WebCore::GraphicsContext::strokePath):
10006 (WebCore::GraphicsContext::fillRect):
10007 (WebCore::GraphicsContext::fillRoundedRect):
10008 (WebCore::GraphicsContext::setPlatformStrokePattern):
10009 (WebCore::GraphicsContext::setPlatformFillPattern):
10010 (WebCore::GraphicsContext::setPlatformStrokeGradient):
10011 (WebCore::GraphicsContext::setPlatformFillGradient):
10013 2008-08-20 Eric Seidel <eric@webkit.org>
10015 Reviewed by Darin and Alexey.
10017 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
10018 with timeouts paused.
10019 https://bugs.webkit.org/show_bug.cgi?id=20469
10021 I attempted to clean up the memory management of PausedTimeouts, I'm not
10022 sure the solution I came up with is "cleaner", but it's in some ways
10023 "safer", since it no longer uses raw pointers and manual new/delete.
10025 This also now prevents CachedPage from needlessly creating Window
10026 objects when caching pages which didn't already have one. :)
10028 I also made Chrome.cpp no longer depend on the JavaScript bindings
10029 (aka JSDOMWindowBase.h), since there was no real reason for it to.
10031 * bindings/js/JSDOMWindowBase.cpp:
10032 (WebCore::JSDOMWindowBase::pauseTimeouts):
10033 (WebCore::JSDOMWindowBase::resumeTimeouts):
10034 * bindings/js/JSDOMWindowBase.h:
10035 * bindings/js/ScriptController.cpp:
10036 (WebCore::ScriptController::pauseTimeouts):
10037 (WebCore::ScriptController::resumeTimeouts):
10038 * bindings/js/ScriptController.h:
10039 * history/CachedPage.cpp:
10040 (WebCore::CachedPage::CachedPage):
10041 (WebCore::CachedPage::restore):
10043 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
10044 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
10045 * page/JavaScriptDebugServer.cpp:
10046 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
10047 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
10049 2008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
10051 Unreviewed compile fix
10053 Add the stub for the Qt port.
10056 * page/qt/AccessibilityObjectQt.cpp: Added.
10057 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10059 2008-08-27 Alp Toker <alp@nuanti.com>
10063 https://bugs.webkit.org/show_bug.cgi?id=20551
10064 [GTK] search popup crash
10066 * platform/gtk/SearchPopupMenuGtk.cpp:
10067 (WebCore::SearchPopupMenu::enabled):
10068 Fix a search popup crasher by disabling the history popup since we
10069 don't support this feature yet in the GTK+ port.
10071 2008-08-27 Alp Toker <alp@nuanti.com>
10075 https://bugs.webkit.org/show_bug.cgi?id=20551
10076 [GTK] curl crashers
10078 * platform/network/curl/ResourceHandleManager.cpp:
10079 (WebCore::ResourceHandleManager::startScheduledJobs):
10080 Remove the resource handle from the pending list before starting the
10081 job, not afterwards. Fixes crashers in the test suite.
10083 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
10084 Test: fast/encoding/char-encoding.html
10086 2008-08-27 Dirk Schulze <vbs85@gmx.de>
10088 Reviewed by eseidel.
10090 Fix canvas drawImage to support composite operations.
10091 Composite had no effect on canvas elements like these:
10092 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
10094 [CAIRO] Canvas composite don't work on canvas-elements.
10095 https://bugs.webkit.org/show_bug.cgi?id=20548
10097 * html/CanvasRenderingContext2D.cpp:
10098 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
10100 2008-08-27 Mario Bensi <mbensi@pleyo.com>
10102 Reviewed by Eric Seidel.
10104 Fix the data content of an image with a base64.
10106 * platform/network/curl/ResourceHandleManager.cpp:
10107 (WebCore::parseDataUrl): Remove the String and use only the data
10108 Vector because the data.latin1().data() convert the data content and
10109 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
10110 not drawn correctly.
10112 2008-08-27 Antti Koivisto <antti@apple.com>
10114 Reviewed by Eric Seidel.
10116 Crash after OK in dialog box and reloading page in secure mode
10117 https://bugs.webkit.org/show_bug.cgi?id=20493
10119 The new run loop spawned by a modal dialog causes a timer in the loader to run
10120 synchronously inside didFinishLoading() deleting "this" object.
10122 Defer all WebCore timers when a modal dialog is up. They are not
10126 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
10127 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
10129 2008-08-27 Chris Marrin <cmarrin@apple.com>
10131 Reviewed by Dave Hyatt
10133 Memory leaks when animating transforms
10134 https://bugs.webkit.org/show_bug.cgi?id=20532
10136 * rendering/style/RenderStyle.cpp:
10137 (WebCore::ScaleTransformOperation::blend):
10138 (WebCore::RotateTransformOperation::blend):
10139 (WebCore::SkewTransformOperation::blend):
10140 (WebCore::TranslateTransformOperation::blend):
10141 (WebCore::MatrixTransformOperation::blend):
10142 * rendering/style/RenderStyle.h:
10144 2008-08-27 Timothy Hatcher <timothy@apple.com>
10146 Add support for support for -webkit-appearance: default-button on the Mac platform.
10148 <rdar://problem/6173530>
10150 Reviewed by Dave Hyatt.
10152 * WebCore.base.exp: Export new symbols.
10153 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
10154 * platform/mac/WebCoreSystemInterface.mm: Ditto.
10155 * rendering/RenderButton.cpp:
10156 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
10157 (WebCore::RenderButton::setStyle): Ditto.
10158 * rendering/RenderButton.h: Ditto.
10159 * rendering/RenderThemeMac.mm:
10160 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
10161 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
10162 key if the button is default, otherwise reset the key equivalent.
10163 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
10164 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
10165 the window's previous default button cell when finished.
10167 2008-08-26 David Hyatt <hyatt@apple.com>
10169 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
10173 Added fast/forms/zoomed-controls.html
10175 * css/CSSStyleSelector.cpp:
10176 (WebCore::addIntrinsicMargins):
10177 * rendering/RenderSlider.cpp:
10178 (WebCore::RenderSlider::calcPrefWidths):
10179 * rendering/RenderThemeMac.h:
10180 * rendering/RenderThemeMac.mm:
10181 (WebCore::RenderThemeMac::adjustRepaintRect):
10182 (WebCore::RenderThemeMac::inflateRect):
10183 (WebCore::RenderThemeMac::baselinePosition):
10184 (WebCore::RenderThemeMac::setControlSize):
10185 (WebCore::RenderThemeMac::sizeForFont):
10186 (WebCore::RenderThemeMac::sizeForSystemFont):
10187 (WebCore::RenderThemeMac::setFontFromControlSize):
10188 (WebCore::RenderThemeMac::paintCheckbox):
10189 (WebCore::RenderThemeMac::setCheckboxCellState):
10190 (WebCore::RenderThemeMac::paintRadio):
10191 (WebCore::RenderThemeMac::setRadioCellState):
10192 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
10193 (WebCore::RenderThemeMac::adjustButtonStyle):
10194 (WebCore::RenderThemeMac::setButtonCellState):
10195 (WebCore::RenderThemeMac::paintButton):
10196 (WebCore::RenderThemeMac::paintMenuList):
10197 (WebCore::RenderThemeMac::paintMenuListButton):
10198 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
10199 (WebCore::RenderThemeMac::popupInternalPaddingRight):
10200 (WebCore::RenderThemeMac::popupInternalPaddingTop):
10201 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
10202 (WebCore::RenderThemeMac::setPopupButtonCellState):
10203 (WebCore::RenderThemeMac::paintSliderTrack):
10204 (WebCore::RenderThemeMac::paintSliderThumb):
10205 (WebCore::RenderThemeMac::adjustSliderThumbSize):
10206 (WebCore::RenderThemeMac::paintSearchField):
10207 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
10208 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
10209 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
10211 2008-08-27 Brady Eidson <beidson@apple.com>
10215 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
10217 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
10218 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
10219 away the virtual address space and a crash.
10221 * loader/EmptyClients.h:
10222 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
10223 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
10224 "plugin will handle load"
10226 * loader/MediaDocument.cpp:
10227 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
10228 and cancel the WebCore-managed load
10229 (WebCore::MediaTokenizer::writeRawData):
10230 (WebCore::MediaTokenizer::finish):
10232 2008-08-26 Simon Fraser <simon.fraser@apple.com>
10234 Reviewed by Eric Seidel
10236 Linear timing functions should have control points 0, 0, 1, 1.
10237 https://bugs.webkit.org/show_bug.cgi?id=20535
10239 * css/CSSStyleSelector.cpp:
10240 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
10241 * rendering/style/RenderStyle.h:
10243 2008-08-27 Adam Roben <aroben@apple.com>
10247 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
10249 2008-08-26 Chris Fleizach <cfleizach@apple.com>
10251 Reviewed by Beth Dakin.
10253 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
10255 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
10256 to determine if an attachment is ignored through accessibility. Added equivalent
10257 methods in Gtk, Win and Mac
10259 Test: accessibility/plugin.html
10262 * WebCore.vcproj/WebCore.vcproj:
10263 * WebCore.xcodeproj/project.pbxproj:
10264 * page/AccessibilityObject.h:
10265 * page/AccessibilityRenderObject.cpp:
10266 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
10267 * page/gtk/AccessibilityObjectAtk.cpp: Added.
10268 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10269 * page/mac/AccessibilityObjectMac.mm: Added.
10270 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10271 * page/mac/AccessibilityObjectWrapper.h:
10272 * page/win/AccessibilityObjectWin.cpp: Added.
10273 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10275 2008-08-26 Chris Fleizach <cfleizach@apple.com>
10277 Reviewed by Beth Dakin.
10279 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
10281 * page/mac/AccessibilityObjectWrapper.mm:
10282 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
10283 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
10285 2008-08-26 Chris Fleizach <cfleizach@apple.com>
10287 Reviewed by Darin Adler.
10289 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
10291 Tests: accessibility/table-notbody.html
10293 * page/AccessibilityTable.cpp:
10294 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
10296 2008-08-26 Sam Weinig <sam@webkit.org>
10298 Reviewed by Beth Dakin.
10302 * dom/DOMCoreException.h:
10304 2008-08-26 Sam Weinig <sam@webkit.org>
10306 Reviewed by Oliver Hunt.
10308 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
10309 <rdar://problem/6167660>
10310 Take image redirects into account when tainting the canvas.
10312 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
10314 * html/CanvasRenderingContext2D.cpp:
10315 (WebCore::CanvasRenderingContext2D::drawImage):
10316 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10318 2008-08-26 Sam Weinig <sam@webkit.org>
10320 Reviewed by Darin Adler.
10322 Change canvas tainting logic to ask the image if it contains
10323 any resources outside of its own origin. Since there is no
10324 way to determine if SVG images contain any resources outside its
10325 origin, we always assume it does.
10327 * html/CanvasRenderingContext2D.cpp:
10328 (WebCore::CanvasRenderingContext2D::drawImage):
10329 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10330 * platform/graphics/BitmapImage.h:
10331 (WebCore::BitmapImage::hasSingleSecurityOrigin):
10332 * platform/graphics/GeneratedImage.h:
10333 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
10334 * platform/graphics/Image.h:
10335 (WebCore::Image::hasSingleSecurityOrigin):
10336 * platform/graphics/cg/PDFDocumentImage.h:
10337 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
10338 * svg/graphics/SVGImage.h:
10340 2008-08-26 Maxime Britto <britto@apple.com>
10344 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
10345 This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
10346 This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
10348 * page/EventHandler.cpp:
10349 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
10350 * page/EventHandler.h:
10351 * rendering/RenderLayer.cpp:
10352 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
10353 (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
10354 * rendering/RenderLayer.h:
10355 * rendering/RenderObject.cpp:
10356 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
10357 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
10358 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
10360 2008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
10362 Reviewed by Darin Adler.
10364 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
10365 https://bugs.webkit.org/show_bug.cgi?id=20247
10367 <rdar://problem/6118218>
10369 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
10370 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
10371 (case insensitive for HTML elements).
10373 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
10376 (WebCore::Element::getAttribute):
10377 * dom/NamedAttrMap.cpp:
10378 (WebCore::NamedAttrMap::getNamedItem):
10379 (WebCore::NamedAttrMap::getAttributeItem):
10380 * dom/NamedAttrMap.h:
10382 2008-08-25 Sam Weinig <sam@webkit.org>
10384 Reviewed by Oliver Hunt.
10386 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
10387 <rdar://problem/6174096>
10388 Treat SVG images as dirty when drawing to a canvas.
10390 Test: http/tests/security/canvas-remote-read-svg-image.html
10392 * html/CanvasRenderingContext2D.cpp:
10393 (WebCore::CanvasRenderingContext2D::drawImage):
10394 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10395 * platform/graphics/Image.h:
10396 (WebCore::Image::isSVGImage):
10397 * svg/graphics/SVGImage.h:
10398 (WebCore::SVGImage::isSVGImage):
10400 2008-08-25 Sam Weinig <sam@webkit.org>
10402 Reviewed by Mark Rowe.
10404 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
10405 Leak in XMLHttpRequest.
10407 * xml/XMLHttpRequest.cpp:
10408 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
10410 2008-08-25 Brady Eidson <beidson@apple.com>
10414 Speculative fix for <rdar://problem/6173217>
10416 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
10417 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
10418 the first null check invalid.
10420 * loader/FrameLoader.cpp:
10421 (WebCore::FrameLoader::stopAllLoaders):
10424 2008-08-25 Kevin McCullough <kmccullough@apple.com>
10428 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
10429 there is no profile, can cause crash
10431 * page/inspector/ProfilesPanel.js:
10433 2008-08-25 Dean Jackson <dino@apple.com>
10435 Reviewed by Dave Hyatt
10437 Make sure 'inherit' is handled by transition property.
10438 https://bugs.webkit.org/show_bug.cgi?id=20513
10440 Test: transitions/inherit.html
10441 Test: transitions/inherit-other-props.html
10443 * css/CSSStyleSelector.cpp:
10444 fix macro to check existence of list before getting size
10446 2008-08-25 Anders Carlsson <andersca@apple.com>
10450 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
10452 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
10453 (safely) that any class that needs finalization on the main thread will also need to be deallocated
10454 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
10455 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
10457 * platform/mac/WebCoreObjCExtras.c:
10458 (WebCoreObjCFinalizeOnMainThread):
10460 2008-08-25 Antti Koivisto <antti@apple.com>
10462 Reviewed by Dan Bernstein.
10464 Rename CachedResource::referenced() to CachedResource::hasClients() to
10465 match previous ref() -> addClient() rename.
10467 * loader/Cache.cpp:
10468 (WebCore::Cache::pruneLiveResources):
10469 (WebCore::Cache::pruneDeadResources):
10470 (WebCore::Cache::remove):
10471 (WebCore::Cache::getStatistics):
10472 (WebCore::Cache::dumpLRULists):
10473 * loader/CachedResource.cpp:
10474 (WebCore::CachedResource::addClient):
10475 (WebCore::CachedResource::removeClient):
10476 (WebCore::CachedResource::setDecodedSize):
10477 (WebCore::CachedResource::setEncodedSize):
10478 * loader/CachedResource.h:
10479 (WebCore::CachedResource::hasClients):
10480 (WebCore::CachedResource::canDelete):
10482 2008-08-25 Anthony Ricaud <rik24d@gmail.com>
10484 Add a missing Inspector localized string for "other".
10486 https://bugs.webkit.org/show_bug.cgi?id=20509
10488 Reviewed by Tim Hatcher.
10490 * English.lproj/localizedStrings.js:
10492 2008-08-22 Kevin McCullough <kmccullough@apple.com>
10494 Reviewed by Geoff, Mark and Tim.
10496 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
10497 in the console said what file and line number they came from
10498 - Lay the foundation for getting line numbers and other data from the
10501 * ForwardingHeaders/VM: Added.
10502 * ForwardingHeaders/VM/Machine.h: Added.
10503 * page/Console.cpp: Gather the line number and file information when
10504 profileEnd has been called, but don't use it until didFinishProfiling is
10505 called. We won't need to wait once we remove the profiler "zombie" mode
10506 which this patch helps pave the foundation for.
10507 (WebCore::Console::Console):
10508 (WebCore::Console::profileEnd):
10509 (WebCore::Console::finishedProfiling):
10511 * page/InspectorController.cpp: Modify calls to
10512 addProfileMessageToConsole to satisfy the new arguments it takes.
10513 (WebCore::InspectorController::finishedProfiling):
10514 (WebCore::InspectorController::addProfile):
10515 (WebCore::InspectorController::addProfileMessageToConsole):
10516 (WebCore::InspectorController::finishedProfiling):
10517 * page/InspectorController.h:
10519 2008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
10523 [inspector] Update the WebKit.qrc Qt resources file
10524 Catchup with the changes in the directory.
10526 * page/inspector/WebKit.qrc:
10528 2008-08-25 Dirk Schulze <vbs85@gmx.de>
10532 Transformed the radian to degree, to get rotate()
10533 in canvas work as expected.
10535 [Qt] Canvas.rotate() doesn't work
10536 https://bugs.webkit.org/show_bug.cgi?id=20496
10538 * platform/graphics/qt/GraphicsContextQt.cpp:
10539 (WebCore::GraphicsContext::rotate):
10541 2008-08-24 Steve Falkenburg <sfalken@apple.com>
10543 Add a "last chance" WM_TIMER to the Windows shared timer.
10545 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
10546 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
10547 timers if a timer with an earlier expiration is already pending. This results in no timers
10548 firing from that point on.
10550 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
10551 buggy window message hook.
10553 This timer will start when the first WM_TIMER is scheduled, and will
10554 fire every 5 seconds thereafter, causing any lost timers to be fired.
10556 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
10557 and prevents the WebFrame leak.
10559 Reviewed by Darin Adler, Geoff Garen.
10561 * platform/win/SharedTimerWin.cpp:
10563 (WebCore::TimerWindowWndProc):
10564 (WebCore::setSharedTimerFireTime):
10566 2008-08-24 Dan Bernstein <mitz@apple.com>
10568 Reviewed by Darin Adler.
10570 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
10572 Test: fast/css/font-property-priority.html
10574 * css/CSSParser.cpp:
10575 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
10576 to the font-property-parsing functions.
10577 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
10578 changed to use it rather than the m_important member.
10579 (WebCore::CSSParser::parseFontVariant): Ditto.
10580 (WebCore::CSSParser::parseFontWeight): Ditto.
10583 2008-08-24 Timothy Hatcher <timothy@apple.com>
10585 Fixes a bug where the Inspector's UI would not animate or
10586 fully function because JavaScript timeouts, intervals and
10587 CSS animation timers where not firing while paused at a
10588 a breakpoint in the inspected page.
10590 https://bugs.webkit.org/show_bug.cgi?id=20042
10592 Reviewed by Darin Adler.
10594 Test: manual-tests/inspector/forzen-ui-while-paused.html
10596 * page/JavaScriptDebugServer.cpp:
10597 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
10598 Add a call to TimerBase::fireTimersInNestedEventLoop before
10599 spinning the EventLoop.
10601 2008-08-24 Rob Buis <buis@kde.org>
10603 Reviewed by Sam Weinig.
10605 https://bugs.webkit.org/show_bug.cgi?id=20324
10606 A change in SVG Glyph wont show up
10608 Invalidate the glyph cache when the d attribute is set.
10610 Test: svg/custom/glyph-setting-d-attribute.svg
10612 * svg/SVGGlyphElement.cpp:
10613 (WebCore::SVGGlyphElement::invalidateGlyphCache):
10614 (WebCore::SVGGlyphElement::parseMappedAttribute):
10615 (WebCore::SVGGlyphElement::insertedIntoDocument):
10616 (WebCore::SVGGlyphElement::removedFromDocument):
10617 * svg/SVGGlyphElement.h:
10619 2008-08-24 Dan Bernstein <mitz@apple.com>
10621 Reviewed by Sam Weinig.
10623 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
10624 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
10626 * rendering/RenderText.cpp:
10627 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
10628 beginWS and endWS before the early return to ensure that they are
10629 initialized in that case.
10631 2008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
10633 Rubber-stamped by Mark Rowe.
10638 * bridge/testbindings.cpp:
10640 * loader/SubstituteData.h:
10643 * page/ChromeClient.h:
10645 * page/FrameLoadRequest.h:
10646 * page/FrameTree.cpp:
10647 * page/FrameTree.h:
10649 * page/mac/ChromeMac.mm:
10650 * platform/network/HTTPHeaderMap.h:
10651 * platform/network/ResourceErrorBase.cpp:
10652 * platform/network/ResourceErrorBase.h:
10653 * platform/network/ResourceHandleInternal.h:
10654 * platform/network/ResourceRequestBase.cpp:
10655 * platform/network/ResourceRequestBase.h:
10656 * platform/network/ResourceResponseBase.cpp:
10657 * platform/network/ResourceResponseBase.h:
10658 * platform/network/cf/ResourceError.h:
10659 * platform/network/cf/ResourceRequest.h:
10660 * platform/network/cf/ResourceRequestCFNet.h:
10661 * platform/network/cf/ResourceResponse.h:
10662 * platform/network/cf/ResourceResponseCFNet.h:
10663 * platform/network/curl/ResourceError.h:
10664 * platform/network/curl/ResourceRequest.h:
10665 * platform/network/curl/ResourceResponse.h:
10666 * platform/network/mac/ResourceError.h:
10667 * platform/network/mac/ResourceErrorMac.mm:
10668 * platform/network/mac/ResourceRequest.h:
10669 * platform/network/mac/ResourceRequestMac.mm:
10670 * platform/network/mac/ResourceResponse.h:
10671 * platform/network/mac/ResourceResponseMac.mm:
10672 * platform/network/qt/ResourceError.h:
10673 * platform/network/qt/ResourceRequest.h:
10674 * platform/network/qt/ResourceResponse.h:
10675 * platform/network/soup/CookieJarSoup.cpp:
10676 * platform/network/soup/ResourceError.h:
10677 * platform/network/soup/ResourceRequest.h:
10678 * platform/network/soup/ResourceResponse.h:
10680 2008-08-23 Dan Bernstein <mitz@apple.com>
10682 Reviewed by Dave Hyatt.
10684 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
10686 Test: fast/table/vertical-align-baseline.html
10688 * rendering/RenderTable.cpp:
10689 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
10690 baseline of the first table row, if there is one, -1 otherwise.
10691 * rendering/RenderTable.h:
10692 * rendering/RenderTableCell.cpp:
10693 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
10694 CSS2.1 definition of the baseline of a table cell.
10695 * rendering/RenderTableSection.cpp:
10696 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
10697 the baseline of the first row in the section.
10698 * rendering/RenderTableSection.h:
10700 2008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
10702 Add SPI to make a Windows WebView transparent.
10704 Reviewed by Dan Bernstein.
10706 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
10707 determines whether the created context has an alpha channel.
10708 * platform/graphics/win/GraphicsContextCGWin.cpp:
10709 (WebCore::CGContextWithHDC):
10711 2008-08-22 Timothy Hatcher <timothy@apple.com>
10713 Rolls out r35834 because it caused a regression in the Inspector's
10714 Console where some expressions always threw a syntax error.
10716 https://bugs.webkit.org/show_bug.cgi?id=20487
10718 * page/inspector/Console.js:
10719 (Console.prototype._evalInInspectedWindow): Removes parenthesis
10720 around the expression.
10722 2008-08-22 Timothy Hatcher <timothy@apple.com>
10724 Makes getStyleProperty return a value for the overflow property
10725 when overflow-x and overflow-y are equal.
10727 https://bugs.webkit.org/show_bug.cgi?id=20485
10729 Reviewed by Dan Bernstein.
10731 Test: fast/css/overflow-property.html
10733 * css/CSSMutableStyleDeclaration.cpp:
10734 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
10736 2008-08-22 Timothy Hatcher <timothy@apple.com>
10738 Fixes a bug where while editing in the Inspector the
10739 sidebar scroll position would jump to the top.
10741 https://bugs.webkit.org/show_bug.cgi?id=20484
10743 Reviewed by Darin Adler.
10745 * page/inspector/treeoutline.js:
10746 (TreeOutline._removeChildren): Remove the offsetTop call that
10747 was forcing a layout, since layout causes scroll positions
10748 to be clamped to the new scrollHeight/Width. Layout will happen
10749 normally when needed.
10751 2008-08-22 Kevin Ollivier <kevino@theolliviers.com>
10753 wx build fix. Add AccessibilityTable sources.
10755 * WebCoreSources.bkl:
10757 2008-08-21 Dan Bernstein <mitz@apple.com>
10759 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
10761 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
10763 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
10765 * platform/graphics/mac/SimpleFontDataMac.mm:
10766 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
10767 ascent and 100% to its reported descent.
10769 2008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
10771 Reviewed by Darin Adler.
10773 https://bugs.webkit.org/show_bug.cgi?id=20267
10774 [GTK] Crash on some pages due to a plugin
10776 Fix handling of badly formatted and empty plugin mime descriptions
10778 * plugins/gtk/PluginPackageGtk.cpp:
10779 (WebCore::PluginPackage::fetchInfo):
10781 2008-08-21 Kevin Watters <kevinwatters@gmail.com>
10783 Reviewed by Darin Adler.
10785 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
10786 animated GIF frame duration of less than 50ms.
10788 * platform/graphics/wx/ImageSourceWx.cpp:
10789 (WebCore::ImageSource::frameDurationAtIndex):
10791 2008-08-21 Maxime Britto <britto@apple.com>
10793 Reviewed by Kevin McCullough.
10795 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
10796 https://bugs.webkit.org/show_bug.cgi?id=20451
10798 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
10799 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
10800 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
10802 * page/EventHandler.cpp:
10803 (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
10805 (WebCore::EventHandler::handleMousePressEvent): ditto
10807 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
10809 Small optimization for when the dividers in the Inspector's
10810 Resources panel are updated.
10812 Reviewed by Tim Hatcher.
10814 * page/inspector/ResourcesPanel.js:
10815 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
10816 Combind a for loop and clone the divider element.
10818 2008-08-21 Chris Marrin <cmarrin@apple.com>
10820 Allow 0 (without units) for Time eg. duration
10821 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
10823 Reviewed by Dave Hyatt.
10825 Test: css1/units/zero-duration-without-units.html
10827 * css/CSSParser.cpp:
10828 (WebCore::CSSParser::validUnit):
10830 2008-08-21 Timothy Hatcher <timothy@apple.com>
10832 Make deleting all text while editing a DOM attribute in
10833 the Inspector delete the attribute. This also fixes
10834 an exception that would happen before.
10836 https://bugs.webkit.org/show_bug.cgi?id=20472
10838 Reviewed by Kevin McCullough.
10840 * page/inspector/ElementsPanel.js:
10841 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
10842 Don't check for hasAttributes on the parseElement, continuing
10843 through the function will correctly remove the attribute.
10844 If the parseElement is null, call _editingCancelled not
10845 editingCancelled, this fixes an exception.
10847 2008-08-21 Timothy Hatcher <timothy@apple.com>
10849 Update the Inspector's Metrics pane when editing in
10850 the Styles pane. This makes sure the metrics shown
10851 always match what the Styles pane shows.
10853 https://bugs.webkit.org/show_bug.cgi?id=20470
10855 Reviewed by Kevin McCullough.
10857 * page/inspector/ElementsPanel.js:
10858 (WebInspector.ElementsPanel): Add event listeners for
10859 the "style edited" and "style property toggled" events,
10860 so the Metrics pane is updated.
10861 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
10862 Update the Metrics pane.
10863 * page/inspector/StylesSidebarPane.js:
10864 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
10865 Dispatch the "style property toggled" event.
10866 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
10867 Dispatch the "style edited" event when the CSS text is restored.
10868 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
10869 Dispatch the "style edited" event.
10871 2008-08-21 Timothy Hatcher <timothy@apple.com>
10873 Make the Inspector's Metrics sidebar pane editable.
10875 https://bugs.webkit.org/show_bug.cgi?id=17218
10876 rdar://problem/5732818
10878 Reviewed by Kevin McCullough.
10880 * page/inspector/ElementsPanel.js:
10881 (WebInspector.ElementsPanel): Add an event listener for
10882 the "metrics edited" event, so the Styles pane is updated.
10883 * page/inspector/MetricsSidebarPane.js:
10884 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
10885 so future updates work. Add a double click event listener for the
10886 metric values to start editing.
10887 (WebInspector.MetricsSidebarPane.prototype.startEditing):
10888 Call WebInspector.startEditing with some context.
10889 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
10890 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
10891 Set the user input on the elements inline style. Fire the
10892 "metrics edited" event.
10894 2008-08-21 Steve Falkenburg <sfalken@apple.com>
10896 Fix a race condition in Windows timer code.
10897 Timer function could end up being called with a 0 timer, leading to a Windows exception.
10899 Don't post a timer message if one is already pending.
10901 Reviewed by Ada Chan.
10903 * platform/win/SharedTimerWin.cpp:
10904 (WebCore::TimerWindowWndProc):
10905 (WebCore::clearTimer):
10906 (WebCore::queueTimerProc):
10907 (WebCore::setSharedTimerFireTime):
10909 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
10911 After trying to add the expression, try again with quotes for
10914 https://bugs.webkit.org/show_bug.cgi?id=20466
10916 Reviewed by Tim Hatcher.
10918 * page/inspector/ObjectPropertiesSection.js: Added an
10919 evaluateExpression function.
10921 2008-08-21 Anthony Ricaud <rik24d@gmail.com>
10923 Perform Inspector searches on search event to clear results when
10924 clicking the cross to empty it. Delete the lastQuery when the field
10925 is emptied in order to perform the search if exactly the same query
10928 https://bugs.webkit.org/show_bug.cgi?id=20462
10930 Reviewed by Tim Hatcher.
10932 * page/inspector/inspector.js:
10934 2008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
10936 Reviewed by Mark Rowe.
10938 http://bugs.webkit.org/show_bug.cgi?id=19656
10939 [SOUP] The gio code should call didFail() instead of
10940 didFinishLoading() in case of error
10942 In case of error call didFail() instead of didReceiveResponse() and
10943 didFinishLoading().
10945 * platform/network/soup/ResourceHandleSoup.cpp:
10946 (WebCore::networkErrorForFile):
10947 (WebCore::readCallback):
10948 (WebCore::openCallback):
10949 (WebCore::queryInfoCallback):
10951 2008-08-20 Mark Rowe <mrowe@apple.com>
10953 Reviewed by Jon Honeycutt.
10957 * bridge/c/c_instance.cpp:
10958 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
10959 as that is what NPEnumerationFunctionPtr is declared as accepting.
10961 2008-08-20 Mark Rowe <mrowe@apple.com>
10963 Reviewed by Dan Bernstein.
10965 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
10967 * platform/graphics/GraphicsContext.h:
10969 * platform/graphics/cg/GraphicsContextCG.cpp:
10970 (WebCore::GraphicsContext::setImageInterpolationQuality):
10971 (WebCore::GraphicsContext::imageInterpolationQuality):
10973 2008-08-20 Dan Bernstein <mitz@apple.com>
10975 Rubber-stamped by John Sullivan.
10977 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
10978 rename related methods and variables accordingly.
10980 * WebCore.base.exp:
10981 * page/FrameView.cpp:
10982 (WebCore::FrameViewPrivate::FrameViewPrivate):
10983 (WebCore::FrameView::shouldUpdateWhileOffscreen):
10984 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
10985 * page/FrameView.h:
10986 * platform/ScrollView.h:
10987 * platform/mac/ScrollViewMac.mm:
10988 (WebCore::ScrollView::updateContents):
10990 2008-08-20 Brady Eidson <beidson@apple.com>
10992 Reviewed by Mitzpettel
10994 <rdar://problem/6163636> - Many images broken in Mail
10996 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
10997 sooner than before and confuse the WebArchive machinery.
10999 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
11000 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
11001 machinery and nothing is known about where the data will eventually come from.
11003 * loader/DocumentLoader.cpp:
11004 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
11005 CachedResource::PreloadReferenced.
11007 2008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
11009 Unreviewed compile fix
11011 Catch up with the JSValue::type elimination.
11013 * bridge/qt/qt_instance.cpp:
11014 (KJS::Bindings::QtRuntimeObjectImp::construct):
11015 (KJS::Bindings::QtInstance::defaultValue):
11016 * bridge/qt/qt_runtime.cpp:
11017 (KJS::Bindings::QtRuntimeConnectionMethod::call):
11019 2008-08-20 Chris Teague <chris.teague@gmail.com>
11021 Reviewed by Mark Rowe.
11023 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
11024 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
11027 * loader/FrameLoader.cpp:
11028 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
11030 2008-08-20 Simon Fraser <simon.fraser@apple.com>
11032 Reviewed by Dave Hyatt
11034 getComputedStyle() for webkitTransform should return a transform
11035 that does not have the transform origin baked into it.
11036 https://bugs.webkit.org/show_bug.cgi?id=20464
11038 Test: fast/css/getComputedStyle-transform.html
11040 * css/CSSComputedStyleDeclaration.cpp:
11041 (WebCore::computedTransform):
11042 * rendering/style/RenderStyle.cpp:
11043 (WebCore::RenderStyle::applyTransform):
11044 * rendering/style/RenderStyle.h:
11046 2008-08-20 Josh Aas <joshmoz@gmail.com>
11048 Reviewed and landed by Anders.
11050 <rdar://problem/6163636>
11051 rename NPCocoaEvent's "event" struct to "data" (20446)
11056 2008-08-20 Beth Dakin <bdakin@apple.com>
11058 Reviewed by Darin Adler.
11060 Fix for <rdar://problem/6145626>
11061 This patch fixes a number of remaining problems getting
11062 disconnected frames to work correctly with markAllMatchesForText()
11063 and findString(). Details inline.
11065 This was a static helper function in Frame, but this patch requires
11066 the same functionality in Editor, so I just added it as a function
11069 (WebCore::Node::isInShadowTree):
11072 * editing/Editor.cpp:
11073 (WebCore::Editor::insideVisibleArea): Returns false if
11074 excludeFromTextSearch() is true.
11076 In a normal (non-disconnected) frame, findString returns a range of
11077 the document node if the text is not found in the frame. I changed
11078 firstVisibleRange and lastVisibleRange to match that behavior when
11079 the text is not found
11080 (WebCore::Editor::firstVisibleRange):
11081 (WebCore::Editor::lastVisibleRange):
11083 Here are the bulk of the changes in the patch. A lot of text was
11084 not being found in disconnected frames because I failed to account
11085 for all of the possible problems associated with shadow trees. That
11087 (WebCore::Editor::nextVisibleRange):
11088 * editing/Editor.h:
11090 excludeFromTextSearch() is new. It allows a WebKit client to mark a
11091 frame as not-text-searchable through SPI.
11092 * WebCore.base.exp:
11094 (WebCore::Frame::excludeFromTextSearch):
11095 (WebCore::Frame::setExcludeFromTextSearch):
11096 (WebCore::FramePrivate::FramePrivate):
11098 * page/FramePrivate.h:
11100 (WebCore::Frame::findString):
11101 (WebCore::Frame::markAllMatchesForText): I kept running into an
11102 assertion failure in paining code because of the forced paint on
11103 empty visible rects.
11105 2008-08-20 Timothy Hatcher <timothy@apple.com>
11107 Adds a positon box to the Inspector's Metrics sidebar
11108 pane. When an element is not statically positioned, there
11109 is now a position box that show top, right, bottom and
11110 left computed values.
11112 Reviewed by Kevin McCullough.
11114 * English.lproj/localizedStrings.js: Updated the strings.
11115 * page/inspector/MetricsSidebarPane.js:
11116 (WebInspector.MetricsSidebarPane.prototype.update):
11117 Renamed the boxPartValue function to createBoxPartElement
11118 and made it create the entire element. Made it understand
11119 how to get position style properties. Don't use the figure dash
11120 when 0px is used for positions, since the 0 is meaningful there.
11121 Instead use the figure dash when a position is auto.
11122 * page/inspector/inspector.css: Added a new rule for position.
11124 2008-08-20 Chris Fleizach <cfleizach@apple.com>
11126 Reviewed by Beth Dakin
11132 2008-08-20 Dan Bernstein <mitz@apple.com>
11134 Reviewed by Anders Carlsson.
11136 - avoid using a deprecated NSScroller method on Leopard
11138 * platform/mac/PlatformScrollBarMac.mm:
11139 (WebCore::PlatformScrollbar::updateThumbPosition):
11140 (WebCore::PlatformScrollbar::updateThumbProportion):
11142 2008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
11144 Reviewed by Oliver Hunt.
11149 * page/AccessibilityTable.cpp: Change nil to 0
11150 (WebCore::AccessibilityTable::cellForColumnAndRow):
11152 2008-08-19 Alexey Proskuryakov <ap@webkit.org>
11154 Reviewed by Geoff Garen.
11156 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
11158 * ForwardingHeaders/kjs/JSLock.h: Added.
11159 * WebCore.vcproj/WebCore.vcproj:
11160 * bindings/js/GCController.cpp:
11161 (WebCore::collect):
11162 (WebCore::GCController::gcTimerFired):
11163 (WebCore::GCController::garbageCollectNow):
11164 * bindings/js/JSCustomSQLStatementCallback.cpp:
11165 (WebCore::JSCustomSQLStatementCallback::handleEvent):
11166 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
11167 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
11168 * bindings/js/JSCustomSQLTransactionCallback.cpp:
11169 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
11170 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
11171 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
11172 * bindings/js/JSCustomVoidCallback.cpp:
11173 (WebCore::JSCustomVoidCallback::handleEvent):
11174 * bindings/js/JSCustomXPathNSResolver.cpp:
11175 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
11176 * bindings/js/JSDOMWindowBase.cpp:
11177 (WebCore::DOMWindowTimer::~DOMWindowTimer):
11178 (WebCore::JSDOMWindowBase::clear):
11179 (WebCore::JSDOMWindowBase::timerFired):
11180 * bindings/js/JSEventCustom.cpp:
11182 * bindings/js/JSEventListener.cpp:
11183 (WebCore::JSAbstractEventListener::handleEvent):
11184 * bindings/js/JSNSResolver.cpp:
11185 (WebCore::JSNSResolver::lookupNamespaceURI):
11186 * bindings/js/JSNodeFilterCondition.cpp:
11187 (WebCore::JSNodeFilterCondition::acceptNode):
11188 * bindings/js/ScheduledAction.cpp:
11189 (WebCore::ScheduledAction::execute):
11190 * bindings/js/ScriptController.cpp:
11191 (WebCore::ScriptController::evaluate):
11192 (WebCore::ScriptController::clearWindowShell):
11193 (WebCore::ScriptController::createHTMLEventHandler):
11194 (WebCore::ScriptController::createSVGEventHandler):
11195 (WebCore::ScriptController::initScript):
11196 (WebCore::ScriptController::updateDocument):
11197 (WebCore::ScriptController::bindingRootObject):
11198 (WebCore::ScriptController::windowScriptNPObject):
11199 (WebCore::ScriptController::createScriptObjectForPluginElement):
11200 (WebCore::ScriptController::clearScriptObjects):
11201 * bindings/js/ScriptControllerMac.mm:
11202 (WebCore::ScriptController::windowScriptObject):
11203 * bindings/objc/WebScriptObject.mm:
11205 (-[WebScriptObject callWebScriptMethod:withArguments:]):
11206 (-[WebScriptObject evaluateWebScript:]):
11207 (-[WebScriptObject setValue:forKey:]):
11208 (-[WebScriptObject valueForKey:]):
11209 (-[WebScriptObject removeWebScriptKey:]):
11210 (-[WebScriptObject stringRepresentation]):
11211 (-[WebScriptObject webScriptValueAtIndex:]):
11212 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
11213 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
11214 * bridge/NP_jsobject.cpp:
11215 (_NPN_InvokeDefault):
11218 (_NPN_GetProperty):
11219 (_NPN_SetProperty):
11220 (_NPN_RemoveProperty):
11221 (_NPN_HasProperty):
11224 * bridge/c/c_class.cpp:
11225 (KJS::Bindings::CClass::~CClass):
11226 (KJS::Bindings::CClass::methodsNamed):
11227 (KJS::Bindings::CClass::fieldNamed):
11228 * bridge/c/c_instance.cpp:
11229 (KJS::Bindings::CInstance::invokeMethod):
11230 (KJS::Bindings::CInstance::invokeDefaultMethod):
11231 (KJS::Bindings::CInstance::getPropertyNames):
11232 * bridge/c/c_runtime.cpp:
11233 (KJS::Bindings::CField::valueFromInstance):
11234 (KJS::Bindings::CField::setValueToInstance):
11235 * bridge/c/c_utility.cpp:
11236 (KJS::Bindings::convertValueToNPVariant):
11237 (KJS::Bindings::convertNPVariantToValue):
11238 * bridge/jni/jni_class.cpp:
11239 (JavaClass::JavaClass):
11240 (JavaClass::~JavaClass):
11241 * bridge/jni/jni_instance.cpp:
11242 (JavaInstance::stringValue):
11243 * bridge/jni/jni_jsobject.mm:
11244 (JavaJSObject::call):
11245 (JavaJSObject::eval):
11246 (JavaJSObject::getMember):
11247 (JavaJSObject::setMember):
11248 (JavaJSObject::removeMember):
11249 (JavaJSObject::getSlot):
11250 (JavaJSObject::setSlot):
11251 (JavaJSObject::toString):
11252 (JavaJSObject::convertValueToJObject):
11253 (JavaJSObject::convertJObjectToValue):
11254 * bridge/jni/jni_objc.mm:
11255 (KJS::Bindings::dispatchJNICall):
11256 * bridge/jni/jni_runtime.cpp:
11258 (JavaMethod::signature):
11259 * bridge/jni/jni_runtime.h:
11260 (KJS::Bindings::JavaString::JavaString):
11261 (KJS::Bindings::JavaString::_commonInit):
11262 (KJS::Bindings::JavaString::~JavaString):
11263 (KJS::Bindings::JavaString::UTF8String):
11264 * bridge/jni/jni_utility.cpp:
11265 (KJS::Bindings::convertValueToJValue):
11266 * bridge/npruntime.cpp:
11267 (_NPN_GetStringIdentifier):
11268 * bridge/objc/objc_instance.mm:
11269 (ObjcInstance::moveGlobalExceptionToExecState):
11270 (ObjcInstance::invokeMethod):
11271 (ObjcInstance::invokeDefaultMethod):
11272 (ObjcInstance::setValueOfUndefinedField):
11273 (ObjcInstance::getValueOfUndefinedField):
11274 * bridge/objc/objc_runtime.mm:
11275 (ObjcField::valueFromInstance):
11276 (ObjcField::setValueToInstance):
11277 * bridge/objc/objc_utility.mm:
11278 (KJS::Bindings::convertValueToObjcValue):
11279 (KJS::Bindings::convertNSStringToString):
11280 (KJS::Bindings::convertObjcValueToValue):
11281 * bridge/qt/qt_instance.cpp:
11282 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
11283 (KJS::Bindings::QtInstance::~QtInstance):
11284 (KJS::Bindings::QtInstance::getQtInstance):
11285 (KJS::Bindings::QtInstance::getRuntimeObject):
11286 * bridge/qt/qt_runtime.cpp:
11287 (KJS::Bindings::convertValueToQVariant):
11288 (KJS::Bindings::convertQVariantToValue):
11289 (KJS::Bindings::QtRuntimeMetaMethod::call):
11290 (KJS::Bindings::QtRuntimeConnectionMethod::call):
11291 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
11292 (KJS::Bindings::QtConnectionObject::execute):
11293 * bridge/runtime.cpp:
11294 (KJS::Bindings::Instance::createRuntimeObject):
11295 * bridge/testbindings.cpp:
11297 * bridge/testbindings.mm:
11299 * bridge/testqtbindings.cpp:
11301 * dom/Document.cpp:
11302 (WebCore::Document::~Document):
11304 (WebCore::Node::setDocument):
11305 * history/CachedPage.cpp:
11306 (WebCore::CachedPage::CachedPage):
11307 (WebCore::CachedPage::restore):
11308 (WebCore::CachedPage::clear):
11309 * loader/FrameLoader.cpp:
11310 (WebCore::getString):
11311 * page/InspectorController.cpp:
11312 (WebCore::ConsoleMessage::ConsoleMessage):
11313 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
11314 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
11315 (WebCore::getResourceDocumentNode):
11317 (WebCore::inspectedWindow):
11318 (WebCore::wrapCallback):
11319 (WebCore::currentCallFrame):
11320 (WebCore::profiles):
11321 (WebCore::InspectorController::focusNode):
11322 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
11323 (WebCore::InspectorController::addDatabaseScriptResource):
11324 (WebCore::InspectorController::addScriptProfile):
11325 * page/JavaScriptCallFrame.cpp:
11326 (WebCore::JavaScriptCallFrame::evaluate):
11327 * page/JavaScriptProfileNode.cpp:
11328 (WebCore::getTotalTime):
11329 (WebCore::getSelfTime):
11330 (WebCore::getTotalPercent):
11331 (WebCore::getSelfPercent):
11332 (WebCore::getNumberOfCalls):
11333 (WebCore::getChildren):
11334 (WebCore::getVisible):
11336 * page/mac/FrameMac.mm:
11337 * plugins/PluginView.cpp:
11338 (WebCore::PluginView::start):
11339 (WebCore::getString):
11340 (WebCore::PluginView::performRequest):
11341 (WebCore::PluginView::bindingInstance):
11342 * plugins/gtk/PluginViewGtk.cpp:
11343 (WebCore::PluginView::paint):
11344 (WebCore::PluginView::handleKeyboardEvent):
11345 (WebCore::PluginView::handleMouseEvent):
11346 (WebCore::PluginView::setNPWindowRect):
11347 (WebCore::PluginView::stop):
11348 (WebCore::PluginView::init):
11349 * plugins/qt/PluginViewQt.cpp:
11350 (WebCore::PluginView::setNPWindowRect):
11351 (WebCore::PluginView::stop):
11352 (WebCore::PluginView::init):
11353 * plugins/win/PluginViewWin.cpp:
11354 (WebCore::PluginView::dispatchNPEvent):
11355 (WebCore::PluginView::handleKeyboardEvent):
11356 (WebCore::PluginView::handleMouseEvent):
11357 (WebCore::PluginView::setNPWindowRect):
11358 (WebCore::PluginView::stop):
11359 * xml/XMLHttpRequest.cpp:
11360 (WebCore::XMLHttpRequest::clearResponse):
11361 (WebCore::XMLHttpRequest::didFinishLoading):
11362 (WebCore::XMLHttpRequest::didReceiveData):
11364 2008-08-19 Eric Seidel <eric@webkit.org>
11366 Reviewed by Geoff Garen.
11368 Add the beginnings of Skia graphics support to WebCore
11369 as I try to begin the long process of un-forking the changes
11370 needed to WebCore to make Andriod's WebCore build.
11372 I'll follow this up with actual *Skia.cpp files in a separate patch.
11374 * platform/graphics/AffineTransform.h:
11375 * platform/graphics/FloatPoint.h:
11376 * platform/graphics/FloatRect.h:
11377 * platform/graphics/Gradient.h:
11378 * platform/graphics/GraphicsContext.h:
11379 * platform/graphics/Image.h:
11380 * platform/graphics/ImageBuffer.h:
11381 * platform/graphics/ImageSource.h:
11382 * platform/graphics/IntPoint.h:
11383 * platform/graphics/IntRect.h:
11384 * platform/graphics/Path.h:
11385 * platform/graphics/Pattern.h:
11386 * svg/graphics/SVGPaintServerPattern.h:
11387 * svg/graphics/SVGPaintServerSolid.h:
11389 2008-08-19 Steve Falkenburg <sfalken@apple.com>
11391 Fix Windows build more.
11393 * WebCore.vcproj/WebCore.vcproj:
11395 2008-08-19 Steve Falkenburg <sfalken@apple.com>
11399 * page/AccessibilityRenderObject.cpp:
11400 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
11402 2008-08-19 Chris Fleizach <cfleizach@apple.com>
11404 Reviewed by Beth Dakin.
11406 <rdar://problem/4003764> Expose tables as AXTables
11408 Tests: accessibility/table-attributes.html
11409 accessibility/table-cell-spans.html
11410 accessibility/table-cells.html
11411 accessibility/table-detection.html
11412 accessibility/table-sections.html
11413 accessibility/table-with-rules.html
11415 * WebCore.xcodeproj/project.pbxproj:
11416 * page/AXObjectCache.cpp:
11417 (WebCore::AXObjectCache::get):
11418 * page/AccessibilityObject.h:
11420 (WebCore::AccessibilityObject::isDataTable):
11421 (WebCore::AccessibilityObject::isTableRow):
11422 (WebCore::AccessibilityObject::isTableColumn):
11423 (WebCore::AccessibilityObject::isTableCell):
11424 * page/AccessibilityRenderObject.cpp:
11425 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
11426 * page/AccessibilityTable.cpp: Added.
11427 (WebCore::AccessibilityTable::AccessibilityTable):
11428 (WebCore::AccessibilityTable::~AccessibilityTable):
11429 (WebCore::AccessibilityTable::create):
11430 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
11431 (WebCore::AccessibilityTable::clearChildren):
11432 (WebCore::AccessibilityTable::addChildren):
11433 (WebCore::AccessibilityTable::headerContainer):
11434 (WebCore::AccessibilityTable::columns):
11435 (WebCore::AccessibilityTable::rows):
11436 (WebCore::AccessibilityTable::rowHeaders):
11437 (WebCore::AccessibilityTable::columnHeaders):
11438 (WebCore::AccessibilityTable::cells):
11439 (WebCore::AccessibilityTable::columnCount):
11440 (WebCore::AccessibilityTable::rowCount):
11441 (WebCore::AccessibilityTable::cellForColumnAndRow):
11442 (WebCore::AccessibilityTable::roleValue):
11443 (WebCore::AccessibilityTable::accessibilityIsIgnored):
11444 (WebCore::AccessibilityTable::title):
11445 (WebCore::AccessibilityTable::isDataTable):
11446 * page/AccessibilityTable.h: Added.
11447 * page/AccessibilityTableCell.cpp: Added.
11448 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
11449 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
11450 (WebCore::AccessibilityTableCell::create):
11451 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
11452 (WebCore::AccessibilityTableCell::rowIndexRange):
11453 (WebCore::AccessibilityTableCell::columnIndexRange):
11454 * page/AccessibilityTableCell.h: Added.
11455 (WebCore::AccessibilityTableCell::isTableCell):
11456 (WebCore::AccessibilityTableCell::roleValue):
11457 * page/AccessibilityTableColumn.cpp: Added.
11458 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
11459 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
11460 (WebCore::AccessibilityTableColumn::create):
11461 (WebCore::AccessibilityTableColumn::setParentTable):
11462 (WebCore::AccessibilityTableColumn::elementRect):
11463 (WebCore::AccessibilityTableColumn::size):
11464 (WebCore::AccessibilityTableColumn::children):
11465 (WebCore::AccessibilityTableColumn::headerObject):
11466 (WebCore::AccessibilityTableColumn::headerObjectForSection):
11467 (WebCore::AccessibilityTableColumn::addChildren):
11468 * page/AccessibilityTableColumn.h: Added.
11469 (WebCore::AccessibilityTableColumn::parentObject):
11470 (WebCore::AccessibilityTableColumn::roleValue):
11471 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
11472 (WebCore::AccessibilityTableColumn::isTableColumn):
11473 (WebCore::AccessibilityTableColumn::setColumnIndex):
11474 (WebCore::AccessibilityTableColumn::columnIndex):
11475 * page/AccessibilityTableHeaderContainer.cpp: Added.
11476 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
11477 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
11478 (WebCore::AccessibilityTableHeaderContainer::create):
11479 (WebCore::AccessibilityTableHeaderContainer::children):
11480 (WebCore::AccessibilityTableHeaderContainer::elementRect):
11481 (WebCore::AccessibilityTableHeaderContainer::size):
11482 (WebCore::AccessibilityTableHeaderContainer::addChildren):
11483 * page/AccessibilityTableHeaderContainer.h: Added.
11484 (WebCore::AccessibilityTableHeaderContainer::roleValue):
11485 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
11486 (WebCore::AccessibilityTableHeaderContainer::parentObject):
11487 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
11488 * page/AccessibilityTableRow.cpp: Added.
11489 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
11490 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
11491 (WebCore::AccessibilityTableRow::create):
11492 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
11493 (WebCore::AccessibilityTableRow::headerObject):
11494 * page/AccessibilityTableRow.h: Added.
11495 (WebCore::AccessibilityTableRow::isTableRow):
11496 (WebCore::AccessibilityTableRow::roleValue):
11497 (WebCore::AccessibilityTableRow::setRowIndex):
11498 (WebCore::AccessibilityTableRow::rowIndex):
11499 * page/mac/AccessibilityObjectWrapper.mm:
11500 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
11502 (-[AccessibilityObjectWrapper roleDescription]):
11503 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
11504 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
11505 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
11507 2008-08-19 Steve Falkenburg <sfalken@apple.com>
11510 Add buildfailed support to stop builds early (preventing inaccurate error messages).
11511 Add missing post-build rule to Release.
11513 * WebCore.vcproj/QTMovieWin.vcproj:
11515 2008-08-19 Keishi Hattori <casey.hattori@gmail.com>
11517 Added support for console.count in the inspector.
11519 Reviewed by Geoff Garen.
11521 * page/Console.cpp:
11522 (WebCore::Console::count):
11524 * page/Console.idl: Added console.count.
11525 * page/InspectorController.cpp:
11526 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
11527 (WebCore::InspectorController::count): Updates the count number
11528 sing "title@source:line" as the identifier, and adds a
11529 message to the console.
11530 * page/InspectorController.h: Added m_counts.
11532 2008-08-19 Keishi Hattori <casey.hattori@gmail.com>
11534 Clear console.time timers when changing page.
11536 Reviewed by Geoff Garen.
11538 * page/InspectorController.cpp:
11539 (WebCore::InspectorController::didCommitLoad):
11541 2008-08-19 Eric Carlson <eric.carlson@apple.com>
11545 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
11546 https://bugs.webkit.org/show_bug.cgi?id=20404
11548 Ignore setVisible() when visibility doesn't change.
11550 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
11551 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
11552 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
11553 (WebCore::MediaPlayerPrivate::setVisible):
11555 2008-08-19 Timothy Hatcher <timothy@apple.com>
11557 Fixes a bug in the Profile view where switching sort order, then
11558 switching from heavy to tree mode would show the tree in the
11559 previous sort order.
11561 https://bugs.webkit.org/show_bug.cgi?id=20441
11563 Reviewed by Kevin McCullough.
11565 * page/inspector/ProfileView.js:
11566 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
11567 on the next profile before assigning it to this.profile.
11568 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
11569 (WebInspector.ProfileView.prototype._sortProfile): Moves from
11570 _sortData and takes a profile argument. If the profile passed in
11571 matches the this.profile, then call refresh.
11573 2008-08-18 Timothy Hatcher <timothy@apple.com>
11575 Changed the default sort order now that heavy view is the default.
11576 Also fixes a bug where the heavy profile was not sorted at first.
11578 https://bugs.webkit.org/show_bug.cgi?id=20440
11580 Reviewed by Kevin McCullough.
11582 * page/inspector/ProfileView.js:
11583 (WebInspector.ProfileView): Changed the default sort column. Also assign
11584 heavyProfile to profile, so the sortSelfTimeDescending call happens
11585 on the heavy profile before assigning to this.profile.
11587 2008-08-18 Timothy Hatcher <timothy@apple.com>
11589 Add support for editing DOM properties and scope variables by double
11590 clicking a property to enter edit mode.
11592 https://bugs.webkit.org/show_bug.cgi?id=20415
11594 Reviewed by Kevin McCullough.
11596 * page/inspector/ObjectPropertiesSection.js:
11597 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
11598 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
11599 Factored out code into update, and calls update.
11600 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
11601 Call removeChildren since this method can be called multiple times now.
11602 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
11603 gets made later in onattach.
11604 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
11605 if shouldRefreshChildren is true. Call removeChildren since this method can be
11606 called multiple times now.
11607 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
11608 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
11609 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
11610 this element (code moved from the constructor.)
11611 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
11612 sibling property elements.
11613 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
11614 WebInspector.startEditing after rememebring some context.
11615 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
11616 for the list element, since it might have scrolled during editing.
11617 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
11618 then restore the state from the context. Then call update to restore the title.
11619 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
11620 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
11621 to commit the user input.
11622 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
11623 and stores the result on the object for the property name of this element. If the expression is
11624 empty, delete the property and remove the tree element.
11625 * page/inspector/ScopeChainSidebarPane.js:
11626 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
11627 property on each ObjectPropertiesSection.
11628 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
11629 since it is now implemented.
11630 * page/inspector/ScriptsPanel.js:
11631 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
11632 that defaults to true if omitted. It specifies whether to call update on the scope chain.
11633 * page/inspector/inspector.css: New styles.
11634 * page/inspector/treeoutline.js:
11635 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
11636 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
11638 2008-08-18 Timothy Hatcher <timothy@apple.com>
11640 Surround the expression to be evaluated in parenthesis so the
11641 result of the eval is the result of the whole expression not
11642 the last potential sub-expression. So evaluating {x: 123}
11643 will show the Object not 123.
11645 https://bugs.webkit.org/show_bug.cgi?id=20428
11647 Reviewed by Kevin McCullough.
11649 * page/inspector/Console.js:
11650 (Console.prototype._evalInInspectedWindow): Add parenthesis
11651 around the expression. And add couple comments.
11653 2008-08-19 Kevin McCullough <kmccullough@apple.com>
11657 -Implement a page() function to extract a common code pattern.
11659 * WebCore.xcodeproj/project.pbxproj:
11660 * page/Console.cpp:
11661 (WebCore::Console::addMessage):
11662 (WebCore::Console::error):
11663 (WebCore::Console::info):
11664 (WebCore::Console::log):
11665 (WebCore::Console::dir):
11666 (WebCore::Console::assertCondition):
11667 (WebCore::Console::time):
11668 (WebCore::Console::timeEnd):
11669 (WebCore::Console::group):
11670 (WebCore::Console::groupEnd):
11671 (WebCore::Console::finishedProfiling):
11672 (WebCore::Console::warn):
11673 (WebCore::Console::framePage):
11676 2008-08-12 Darin Adler <darin@apple.com>
11680 - eliminate JSValue::type()
11682 * bridge/c/c_instance.cpp:
11683 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
11684 argument instead of JSType argument. Removed unneeded code to handle
11685 boolean, since that's never passed.
11686 * bridge/c/c_instance.h: Ditto.
11688 * bridge/c/c_utility.cpp:
11689 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
11690 instead of JSValue::type(). Removed unneeded code to handle
11693 * bridge/jni/jni_instance.cpp:
11694 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
11695 instead of JSType argument. Removed unneeded code to handle boolean.
11696 * bridge/jni/jni_instance.h: Ditto.
11698 * bridge/jni/jni_jsobject.mm:
11699 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
11700 instead of JSValue::type().
11702 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
11703 instead of JSType argument. Removed unused argument.
11704 * bridge/objc/objc_instance.mm:
11705 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
11706 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
11707 instead of JSType argument. Removed unneeded code to handle boolean
11708 and another dead code path for unknown types.
11710 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
11711 instead of JSType argument. Removed override of type() that caused
11712 the fallback object to return "UndefinedType" when there is no
11713 invokeUndefinedMethodFromWebScript:withArguments: method defined.
11714 That didn't accomplish much, since most checks for undefined don't
11716 * bridge/objc/objc_runtime.mm:
11717 (ObjcFallbackObjectImp::defaultValue): Ditto.
11719 * bridge/qt/qt_instance.cpp:
11720 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
11721 argument instead of JSType argument. Removed unneeded code to handle
11723 * bridge/qt/qt_instance.h: Ditto.
11725 * bridge/runtime.h:
11726 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
11728 * bridge/runtime_object.cpp:
11729 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
11730 argument instead of JSType argument.
11731 * bridge/runtime_object.h: Ditto.
11733 2008-08-18 Maxime Britto <britto@apple.com>
11737 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
11738 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
11739 We shouldn't be able to create another window while we are in pan scrolling.
11740 Other browsers behaviors :
11741 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
11742 IE7 : Keys are not disabled but stops immediately the panning.
11743 This patch matches FF3 behavior by disabling every key but the esc key.
11745 * page/EventHandler.cpp:
11746 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
11747 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
11749 2008-08-18 Dan Bernstein <mitz@apple.com>
11751 Reviewed by Dave Hyatt.
11753 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
11755 Test: fast/replaced/max-width-percent.html
11757 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
11758 When false, max-width is not factored into the
11760 Changed RenderReplaced and subclasses' calcPrefWidths() to call
11761 calcReplacedWidth(false) and then apply max-width only if it has a
11762 fixed, positive value.
11764 * rendering/RenderBox.cpp:
11765 (WebCore::RenderBox::calcReplacedWidth):
11766 * rendering/RenderBox.h:
11767 * rendering/RenderImage.cpp:
11768 (WebCore::RenderImage::calcReplacedWidth):
11769 (WebCore::RenderImage::calcPrefWidths):
11770 * rendering/RenderImage.h:
11771 * rendering/RenderReplaced.cpp:
11772 (WebCore::RenderReplaced::calcPrefWidths):
11773 * rendering/RenderSVGRoot.cpp:
11774 (WebCore::RenderSVGRoot::calcPrefWidths):
11775 * rendering/RenderVideo.cpp:
11776 (WebCore::RenderVideo::calcReplacedWidth):
11777 (WebCore::RenderVideo::calcPrefWidths):
11778 * rendering/RenderVideo.h:
11780 2008-08-18 Daniel Macks <dmacks@netspace.org>
11782 Reviewed by Mark Rowe.
11784 https://bugs.webkit.org/show_bug.cgi?id=20410
11785 More portable/self-documenting replacement for SIZE_MAX.
11787 * platform/network/curl/FormDataStreamCurl.cpp:
11788 (WebCore::FormDataStream::read):
11790 2008-08-18 Simon Fraser <simon.fraser@apple.com>
11792 Reviewed by Dave Hyatt
11794 Need to make sure we have an Animation in the AnimationList
11795 before setting the initial value.
11796 https://bugs.webkit.org/show_bug.cgi?id=20408
11798 Test: fast/css/transition_shorthand_parsing.html
11800 * css/CSSStyleSelector.cpp:
11802 2008-08-18 Kevin McCullough <kmccullough@apple.com>
11806 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
11807 is another profile.
11809 * page/inspector/ProfilesPanel.js:
11811 2008-08-18 Kevin McCullough <kmccullough@apple.com>
11815 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
11816 all console messages
11818 * page/inspector/Console.js:
11820 2008-08-18 Dirk Schulze <vbs85@gmx.de>
11822 Reviewed by Eric Seidel.
11824 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
11825 the canvas clean up.
11827 https://bugs.webkit.org/show_bug.cgi?id=20405
11829 * html/CanvasRenderingContext2D.cpp:
11830 (WebCore::CanvasRenderingContext2D::fill):
11831 (WebCore::CanvasRenderingContext2D::stroke):
11832 (WebCore::CanvasRenderingContext2D::fillRect):
11834 2008-08-17 Timothy Hatcher <timothy@apple.com>
11836 Complete in scope variables in the Console when paused.
11838 https://bugs.webkit.org/show_bug.cgi?id=19115
11840 Reviewed by Geoffrey Garen.
11842 * page/inspector/Console.js:
11843 (WebInspector.Console.prototype.completions): If the expressionString
11844 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
11845 to get an object that declares all the in scope variables. That way
11846 "top level" expressions are completed.
11847 * page/inspector/ScriptsPanel.js:
11848 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
11849 Return an object that has all the variables that are in scope for the
11850 selected call frame. The value of each property is just true.
11851 The return object is useful for quick lookups or auto completion.
11853 2008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
11857 Speculative Qt build fix.
11859 * bridge/qt/qt_runtime.cpp:
11860 (KJS::Bindings::convertValueToQVariant):
11861 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
11863 2008-08-17 Geoffrey Garen <ggaren@apple.com>
11865 Reviewed by Cameron Zwarich.
11867 Updated project files to XCode 3.1.
11869 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
11871 2008-08-17 Geoffrey Garen <ggaren@apple.com>
11873 Reviewed by Cameron Zwarich.
11875 Made room for a free word in JSCell.
11877 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
11878 JSGlobalData, so the two could share a pointer.
11880 Added a bunch of ASSERTs, to help catch over-sized objects.
11882 2008-08-15 Mark Rowe <mrowe@apple.com>
11884 Reviewed by Dan Bernstein.
11886 Disable dead code stripping in debug builds.
11888 * Configurations/Base.xcconfig:
11889 * WebCore.xcodeproj/project.pbxproj:
11891 2008-08-15 Mark Rowe <mrowe@apple.com>
11893 Rubber-stamped by Geoff Garen.
11895 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
11897 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
11898 between the Debug configuration and debug Production variant.
11899 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
11901 2008-08-15 Antti Koivisto <antti@apple.com>
11903 Reviewed by Anders.
11905 Don't start preloading body resources before the head is complete. This prevents
11906 body preloads from slowing down initial display when there is limited amount
11907 of bandwidth available.
11909 Works by queuing up found body preloads to DocLoader and only issuing them
11910 after document has rendering.
11912 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
11913 without affecting complete load time.
11915 * html/PreloadScanner.cpp:
11916 (WebCore::PreloadScanner::PreloadScanner):
11917 (WebCore::PreloadScanner::scanningBody):
11918 (WebCore::PreloadScanner::emitTag):
11919 (WebCore::PreloadScanner::emitCSSRule):
11920 * html/PreloadScanner.h:
11921 * loader/DocLoader.cpp:
11922 (WebCore::DocLoader::preload):
11923 (WebCore::DocLoader::checkForPendingPreloads):
11924 (WebCore::DocLoader::requestPreload):
11925 * loader/DocLoader.h:
11926 * loader/loader.cpp:
11927 (WebCore::Loader::Host::didFinishLoading):
11928 (WebCore::Loader::Host::didFail):
11930 2008-08-15 Ada Chan <adachan@apple.com>
11932 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
11933 This way style set on an <hr> within a <select> will be honored.
11935 Reviewed by Dave Hyatt and Dan Bernstein.
11937 * rendering/RenderMenuList.cpp:
11938 (WebCore::RenderMenuList::itemStyle):
11940 2008-08-15 Antti Koivisto <antti@apple.com>
11942 Reviewed by Oliver.
11944 Some loader performance tweaks:
11945 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
11946 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
11947 to not delay rendering.
11948 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
11949 can take long time when latency is high so it is good to get started early.
11950 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
11951 load queues. Issue remaining loads to the network layer.
11953 * loader/loader.cpp:
11954 (WebCore::Loader::determinePriority):
11955 (WebCore::Loader::load):
11956 (WebCore::Loader::Host::servePendingRequests):
11959 2008-08-15 Timothy Hatcher <timothy@apple.com>
11961 Detach the script debugger when the Web Inspector's window closes.
11962 This has always been the intended design, but never fully implemented.
11964 https://bugs.webkit.org/show_bug.cgi?id=20402
11966 Reviewed by Adam Roben.
11968 * page/InspectorController.cpp:
11969 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
11970 if the window is no longer visible.
11972 2008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
11976 Fixes: compile with QT_NO_CONTEXTMENU
11978 * platform/qt/PlatformMouseEventQt.cpp:
11979 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
11980 * platform/qt/PlatformScrollBarQt.cpp:
11981 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
11982 (WebCore::PlatformScrollbar::handleContextMenuEvent):
11984 2008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
11988 Fixes: compile with QT_NO_WHEELEVENT
11990 * platform/qt/WheelEventQt.cpp:
11991 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
11993 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
11995 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
11997 https://bugs.webkit.org/show_bug.cgi?id=20210
11999 Reviewed by Tim Hatcher.
12001 * page/Console.cpp:
12002 (WebCore::Console::group):
12003 (WebCore::Console::groupEnd):
12005 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
12006 * page/InspectorController.cpp:
12007 (WebCore::InspectorController::startGroup): Increments group level by
12008 one and adds console message with StartGroupMessaageLevel.
12009 (WebCore::InspectorController::endGroup): Decrements group level by one
12010 and adds console message with EndGroupMessaageLevel.
12011 * page/InspectorController.h:
12012 * page/inspector/Console.js:
12013 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
12014 if the message is StartGroupMessaageLevel.
12015 (WebInspector.ConsoleMessage.prototype.toMessageElement):
12016 (WebInspector.ConsoleGroup.prototype.addMessage):
12017 * page/inspector/inspector.js:
12019 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
12021 Adds support for console.dir to the Inspector
12023 https://bugs.webkit.org/show_bug.cgi?id=19155
12025 Reviewed by Tim Hatcher.
12027 * bindings/js/JSConsoleCustom.cpp:
12028 (WebCore::JSConsole::dir):
12029 * page/Console.cpp:
12030 (WebCore::Console::dir):
12031 * page/Console.h: Added ObjectMessageLevel.
12032 * page/Console.idl: Added console.dir.
12033 * page/inspector/Console.js:
12034 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
12035 ObjectPropertiesSection if the MessageLevel is Object.
12036 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
12037 used on primitive data types.
12038 * page/inspector/inspector.css:
12040 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
12042 Adds support for clear() in the Inspector console.
12044 https://bugs.webkit.org/show_bug.cgi?id=19873
12046 Reviewed by Tim Hatcher.
12048 * page/inspector/Console.js:
12050 2008-08-15 Anthony Ricaud <rik24d@gmail.com>
12052 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
12054 Platform distinction and modifier key matching adjusted
12055 by Daniel Jalkut <jalkut@red-sweater.com>
12057 Bug 16313: text search (find) keybindings should work in the Web Inspector
12058 https://bugs.webkit.org/show_bug.cgi?id=16313
12060 Reviewed by Tim Hatcher.
12062 * page/inspector/inspector.js: Added a case for the F key
12064 2008-08-15 Keishi Hattori <casey.hattori@gmail.com>
12066 Fix for error when the string doesn't contain a webkit-profile link.
12068 https://bugs.webkit.org/show_bug.cgi?id=20399
12070 Reviewed by Tim Hatcher.
12072 * page/inspector/inspector.js:
12074 2008-08-15 Timothy Hatcher <timothy@apple.com>
12076 Fixes two bugs where JavaScript could be executed from the page
12077 while the debugger is paused.
12079 The first issue was JSLazyEventListener not checking the paused
12080 state before parsing the code.
12082 The second issue was with the PageGroup version of
12083 JavaScriptDebugServer::setJavaScriptPaused always passing false
12084 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
12085 and not the paused argument.
12087 https://bugs.webkit.org/show_bug.cgi?id=20284
12089 Reviewed by Adam Roben.
12091 * bindings/js/JSEventListener.cpp:
12092 (WebCore::JSLazyEventListener::parseCode): Check the paused
12093 state of the ScriptController. Return early if paused.
12094 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
12095 * page/JavaScriptDebugServer.cpp:
12096 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
12097 Pass the paused argument to the Page version of setJavaScriptPaused.
12099 2008-08-15 Alexey Proskuryakov <ap@webkit.org>
12101 Reviewed by Geoff Garen.
12103 JSStringRef is created context-free, but can get linked to one via an identifier table,
12104 breaking an implicit API contract.
12106 * page/InspectorController.cpp:
12107 (WebCore::jsStringRef):
12108 (WebCore::InspectorController::didParseSource):
12109 (WebCore::InspectorController::failedToParseSource):
12110 * page/JavaScriptProfile.cpp:
12111 (WebCore::getTitleCallback):
12112 Updated for JavaScriptCore changes.
12114 2008-08-14 Kevin Ollivier <kevino@theolliviers.com>
12116 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
12117 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
12119 * platform/graphics/AffineTransform.h:
12121 2008-08-14 Eric Carlson <eric.carlson@apple.com>
12125 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
12126 <video> elements on Windows never becomes visible when a page is restored from the cache
12128 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
12129 value is different from the cached value. Let the implementation decide when
12130 to avoid work because nothing has changed.
12132 * platform/graphics/MediaPlayer.cpp:
12133 (WebCore::MediaPlayer::setVolume):
12134 (WebCore::MediaPlayer::setRate):
12135 (WebCore::MediaPlayer::setRect):
12136 (WebCore::MediaPlayer::setVisible):
12138 2008-08-14 Keishi Hattori <casey.hattori@gmail.com>
12140 Make Firebug command line API respect predefined variables.
12142 https://bugs.webkit.org/show_bug.cgi?id=20385
12144 Reviewed by Tim Hatcher.
12146 * page/inspector/Console.js:
12148 2008-08-14 Sam Weinig <sam@webkit.org>
12150 Reviewed by Geoffrey Garen and Timothy Hatcher.
12152 Allow programatically setting the HTMLTokenizers time delay and chunk size
12153 which are used for determining how aggressively we yield.
12155 * WebCore.base.exp:
12156 * html/HTMLTokenizer.cpp:
12157 (WebCore::HTMLTokenizer::begin):
12158 (WebCore::HTMLTokenizer::continueProcessing):
12159 * html/HTMLTokenizer.h:
12161 (WebCore::Page::Page):
12162 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
12163 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
12165 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
12166 (WebCore::Page::customHTMLTokenizerTimeDelay):
12167 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
12168 (WebCore::Page::customHTMLTokenizerChunkSize):
12170 2008-08-14 Eric Seidel <eric@webkit.org>
12174 Move us one step closer to cross-platform svg/graphics code
12176 * WebCore.xcodeproj/project.pbxproj:
12177 * html/CanvasStyle.cpp:
12178 * platform/graphics/Color.cpp:
12179 (WebCore::colorWithOverrideAlpha):
12180 * platform/graphics/Color.h:
12181 * svg/graphics/cg/CgSupport.cpp:
12182 (WebCore::applyStrokeStyleToContext):
12183 (WebCore::strokeBoundingBox):
12184 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
12185 (WebCore::SVGPaintServerSolid::setup):
12187 2008-08-14 Eric Seidel <eric@webkit.org>
12189 Reviewed by Alexey.
12191 Remove un-need includes from HTMLCanvas and use the
12192 Gradient platform abstraction in one place in CanvasStyle
12194 * html/CanvasRenderingContext2D.cpp:
12195 (WebCore::CanvasRenderingContext2D::fillRect):
12196 * html/CanvasStyle.cpp:
12197 * html/HTMLCanvasElement.cpp:
12199 2008-08-14 Eric Seidel <eric@webkit.org>
12201 Reviewed by Alexey.
12203 Clean up GlyphBuffer.h, removing more #ifdefs
12205 * platform/graphics/GlyphBuffer.h:
12206 (WebCore::GlyphBuffer::glyphAt):
12207 (WebCore::GlyphBuffer::advanceAt):
12208 (WebCore::GlyphBuffer::add):
12210 2008-08-14 Eric Seidel <eric@webkit.org>
12214 Clean up AffineTransform.h, removing #ifdefs
12216 * platform/graphics/AffineTransform.h:
12217 * platform/graphics/cairo/AffineTransformCairo.cpp:
12218 * platform/graphics/cg/AffineTransformCG.cpp:
12219 * platform/graphics/qt/AffineTransformQt.cpp:
12220 * platform/graphics/wx/AffineTransformWx.cpp:
12222 2008-08-14 Dan Bernstein <mitz@apple.com>
12224 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
12226 * platform/graphics/cairo/ImageSourceCairo.cpp:
12227 (WebCore::ImageSource::frameSizeAtIndex):
12228 * platform/graphics/qt/ImageSourceQt.cpp:
12229 (WebCore::ImageSource::frameSizeAtIndex):
12230 * platform/graphics/wx/ImageSourceWx.cpp:
12231 (WebCore::ImageSource::frameSizeAtIndex):
12233 2008-08-14 Dan Bernstein <mitz@apple.com>
12235 Reviewed by Brady Eidson.
12237 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
12239 * platform/graphics/BitmapImage.cpp:
12240 (WebCore::BitmapImage::BitmapImage): Added initialization of
12241 m_hasUniformFrameSize.
12242 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
12243 cached frame for use in decoded size computation and for setting
12244 m_hasUniformFrameSize.
12245 (WebCore::BitmapImage::currentFrameSize): Added.
12246 (WebCore::BitmapImage::dataChanged): Added code to reset
12247 m_hasUniformFrameSize.
12248 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
12249 m_hasUniformFrameSize.
12250 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
12251 * platform/graphics/cg/ImageCG.cpp:
12252 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
12253 fixes the bug, which resulted from assuming that the frame being drawn
12254 was the same size as the first frame.
12255 * platform/graphics/cg/ImageSourceCG.cpp:
12256 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
12257 changed to get the size of the frame at the given index.
12258 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
12260 2008-08-13 Simon Fraser <simon.fraser@apple.com>
12262 Reviewed by Eric Seidel
12264 Fix @font-face inside @media rule crash.
12265 https://bugs.webkit.org/show_bug.cgi?id=20367
12267 Test: fast/css/font-face-in-media-rule.html
12269 * css/CSSStyleSelector.cpp:
12270 (WebCore::CSSRuleSet::addRulesFromSheet):
12272 2008-08-14 Kevin Ollivier <kevino@theolliviers.com>
12274 wx build fixes after recent changes to Canvas and Image classes.
12276 * platform/graphics/Pattern.h:
12277 * platform/graphics/wx/GradientWx.cpp:
12278 (WebCore::Gradient::fill):
12279 * platform/graphics/wx/GraphicsContextWx.cpp:
12280 (WebCore::GraphicsContext::applyFillPattern):
12281 (WebCore::GraphicsContext::applyStrokePattern):
12282 * platform/graphics/wx/ImageBufferWx.cpp:
12283 (WebCore::ImageBuffer::image):
12284 * platform/graphics/wx/ImageWx.cpp:
12285 (WebCore::Image::loadPlatformResource):
12287 2008-08-14 Maxime Britto <britto@apple.com>
12289 Reviewed by Sam Weinig.
12292 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
12293 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
12294 Some differences exist between them concerning the kind of key which is pressed :
12295 IE7 : every key leads to a stop of the panning
12296 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
12297 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
12299 * page/EventHandler.cpp:
12300 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
12302 2008-08-14 Christian Dywan <christian@twotoasts.de>
12304 Gtk+/ Cairo build fix, patch by Dirk Schulze.
12306 * html/CanvasStyle.cpp:
12307 * platform/graphics/cairo/PatternCairo.cpp:
12308 (WebCore::Pattern::createPlatformPattern):
12309 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
12311 2008-08-14 Kevin McCullough <kmccullough@apple.com>
12315 <rdar://problem/6115819> Notify of profile in console
12317 * page/InspectorController.cpp:
12318 (WebCore::InspectorController::addProfile):
12319 (WebCore::InspectorController::addProfileMessageToConsole): Called by
12320 addProfile this is the function that adds a message to the console that
12321 a profile finished.
12322 * page/InspectorController.h:
12323 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
12324 the console log to the profile in the web inspector.
12325 (WebCore::getUniqueIdCallback):
12326 (WebCore::ProfileClass):
12327 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
12328 Id to bring up the requested profile. Also select and reveal the
12329 profile in the profile panel. And created displayTitleForProfileLink()
12330 which formats a title taking into account if it's user initiated or if
12331 there are multiples. Lasty, I put the user initiated profile in a
12333 * page/inspector/inspector.js: Make the profile title be a clickable
12334 link that will take the user to the identified profile. Also expose
12335 the count of user initiated profiles so they can be displayed in the
12336 console with the correct count.
12338 2008-08-14 Timothy Hatcher <timothy@apple.com>
12340 Avoid formating ConsoleMessages twice unless the message will be
12341 displayed in bubbles of a SourceFrame.
12343 Reviewed by Kevin McCullough.
12345 * page/inspector/Console.js:
12346 (WebInspector.ConsoleMessage): Only format the plain text message
12347 if the URL and line are valid and the level is error or warning.
12348 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
12349 Helper to test for error or warning level.
12350 * page/inspector/SourceFrame.js:
12351 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
12352 message if there is no message or valid line or if the msg
12353 isn't an error or warning.
12355 2008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
12357 partial Gtk build fix, not reviewed
12359 * platform/graphics/cairo/PatternCairo.cpp:
12361 2008-08-13 Sam Weinig <sam@webkit.org>
12363 Reviewed by Anders Carlson.
12367 * html/HTMLMediaElement.cpp:
12368 (WebCore::HTMLMediaElement::pickMedia):
12370 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
12372 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
12373 Continue Erics build fixes, after the Image cleanup.
12375 * platform/graphics/cairo/ImageBufferCairo.cpp:
12376 (WebCore::ImageBuffer::image):
12378 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
12380 Build fix for Qt, not reviewed.
12381 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
12383 * dom/XMLTokenizer.cpp:
12384 (WebCore::eventuallyMarkAsParserCreated): Was erre
12386 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
12388 Build fix, not reviewed.
12389 Add ScriptElement.cpp to Gtk build.
12393 2008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
12397 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
12399 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
12400 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
12402 This resolves code duplications and allows us to completly replace the old
12403 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
12405 As ScriptElement, doesn't actually inherit from Element, we may want to rename
12406 it, though StyleElement uses the same naming convention, so I left it as is for now.
12407 Eventually we'll rename both files in future.
12409 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
12411 * WebCore.pro: Add new ScriptElement.cpp to build.
12412 * WebCore.vcproj/WebCore.vcproj: Ditto.
12413 * WebCore.xcodeproj/project.pbxproj: Ditto.
12414 * WebCoreSources.bkl: Dutto.
12415 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
12416 (WebCore::ScriptElement::insertedIntoDocument):
12417 (WebCore::ScriptElement::removedFromDocument):
12418 (WebCore::ScriptElement::childrenChanged):
12419 (WebCore::ScriptElement::finishParsingChildren):
12420 (WebCore::ScriptElement::handleSourceAttribute):
12421 (WebCore::isSupportedJavaScriptLanguage):
12422 (WebCore::ScriptElementData::ScriptElementData):
12423 (WebCore::ScriptElementData::~ScriptElementData):
12424 (WebCore::ScriptElementData::requestScript):
12425 (WebCore::ScriptElementData::evaluateScript):
12426 (WebCore::ScriptElementData::stopLoadRequest):
12427 (WebCore::ScriptElementData::notifyFinished):
12428 (WebCore::ScriptElementData::ignoresLoadRequest):
12429 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
12430 (WebCore::ScriptElementData::scriptCharset):
12431 (WebCore::ScriptElementData::scriptContent):
12432 * dom/ScriptElement.h: Added.
12433 (WebCore::ScriptElement::ScriptElement):
12434 (WebCore::ScriptElement::~ScriptElement):
12435 (WebCore::ScriptElementData::element):
12436 (WebCore::ScriptElementData::createdByParser):
12437 (WebCore::ScriptElementData::setCreatedByParser):
12438 * dom/XMLTokenizer.cpp:
12439 (WebCore::isScriptElement):
12440 (WebCore::castToScriptElement):
12441 (WebCore::eventuallyMarkAsParserCreated):
12442 (WebCore::XMLTokenizer::startElementNs):
12443 (WebCore::XMLTokenizer::endElementNs):
12444 (WebCore::createXHTMLParserErrorHeader):
12445 (WebCore::XMLTokenizer::insertErrorMessageBlock):
12446 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
12447 (WebCore::HTMLScriptElement::HTMLScriptElement):
12448 (WebCore::HTMLScriptElement::~HTMLScriptElement):
12449 (WebCore::HTMLScriptElement::isURLAttribute):
12450 (WebCore::HTMLScriptElement::setCreatedByParser):
12451 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
12452 (WebCore::HTMLScriptElement::childrenChanged):
12453 (WebCore::HTMLScriptElement::parseMappedAttribute):
12454 (WebCore::HTMLScriptElement::finishParsingChildren):
12455 (WebCore::HTMLScriptElement::insertedIntoDocument):
12456 (WebCore::HTMLScriptElement::removedFromDocument):
12457 (WebCore::HTMLScriptElement::text):
12458 (WebCore::HTMLScriptElement::setText):
12459 (WebCore::HTMLScriptElement::setHtmlFor):
12460 (WebCore::HTMLScriptElement::setEvent):
12461 (WebCore::HTMLScriptElement::charset):
12462 (WebCore::HTMLScriptElement::src):
12463 (WebCore::HTMLScriptElement::type):
12464 (WebCore::HTMLScriptElement::scriptCharset):
12465 (WebCore::HTMLScriptElement::scriptContent):
12466 (WebCore::HTMLScriptElement::sourceAttributeValue):
12467 (WebCore::HTMLScriptElement::charsetAttributeValue):
12468 (WebCore::HTMLScriptElement::typeAttributeValue):
12469 (WebCore::HTMLScriptElement::languageAttributeValue):
12470 (WebCore::HTMLScriptElement::dispatchLoadEvent):
12471 (WebCore::HTMLScriptElement::dispatchErrorEvent):
12472 * html/HTMLScriptElement.h:
12473 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
12474 * svg/SVGScriptElement.cpp:
12475 (WebCore::SVGScriptElement::SVGScriptElement):
12476 (WebCore::SVGScriptElement::scriptContent):
12477 (WebCore::SVGScriptElement::sourceAttributeValue):
12478 (WebCore::SVGScriptElement::charsetAttributeValue):
12479 (WebCore::SVGScriptElement::typeAttributeValue):
12480 (WebCore::SVGScriptElement::languageAttributeValue):
12481 (WebCore::SVGScriptElement::dispatchLoadEvent):
12482 (WebCore::SVGScriptElement::dispatchErrorEvent):
12483 * svg/SVGScriptElement.h:
12484 (WebCore::SVGScriptElement::setCreatedByParser):
12486 2008-08-13 Eric Seidel <eric@webkit.org>
12488 Attempt to fix the Gtk build, no review.
12490 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
12492 * platform/graphics/GraphicsContext.h:
12493 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12494 * platform/graphics/qt/GradientQt.cpp:
12495 * platform/graphics/qt/GraphicsContextQt.cpp:
12496 * platform/gtk/RenderThemeGtk.cpp:
12497 (WebCore::paintMozWidget):
12499 2008-08-13 Eric Seidel <eric@webkit.org>
12501 Yet another attempt to fix the Qt build, no review.
12503 * platform/graphics/qt/GradientQt.cpp:
12504 * platform/graphics/qt/GraphicsContextQt.cpp:
12505 (WebCore::GraphicsContext::applyStrokePattern):
12506 (WebCore::GraphicsContext::applyFillPattern):
12508 2008-08-13 Eric Seidel <eric@webkit.org>
12510 Attempt to fix the Windows build, no review.
12512 * platform/win/CursorWin.cpp:
12513 (WebCore::loadCursorByName):
12514 * platform/win/ScrollViewWin.cpp:
12515 (WebCore::ScrollView::paint):
12517 2008-08-13 Eric Seidel <eric@webkit.org>
12519 Attempt to fix the Windows build, no review.
12521 * platform/win/CursorWin.cpp:
12522 (WebCore::loadCursorByName):
12523 * platform/win/ScrollViewWin.cpp:
12524 (WebCore::ScrollView::paint):
12526 2008-08-13 Eric Seidel <eric@webkit.org>
12528 Attempt to fix the Qt build, no review.
12530 * platform/graphics/qt/ImageBufferQt.cpp:
12531 (WebCore::ImageBuffer::image):
12533 2008-08-13 Eric Seidel <eric@webkit.org>
12535 Attempt to fix the Windows build, no review.
12537 * platform/graphics/win/ImageWin.cpp:
12538 (WebCore::Image::loadPlatformResource):
12539 * plugins/win/PluginViewWin.cpp:
12540 (WebCore::PluginView::paintMissingPluginIcon):
12542 2008-08-13 Eric Seidel <eric@webkit.org>
12544 Another attempt to fix the Qt build, no review.
12546 * platform/graphics/qt/ImageQt.cpp:
12547 * platform/graphics/qt/StillImageQt.h:
12549 2008-08-13 Eric Seidel <eric@webkit.org>
12551 No review, build fix only.
12553 Fix mac build, due to change in new code since my patch was written.
12555 * svg/graphics/cg/SVGResourceMaskerCg.mm:
12556 (WebCore::SVGResourceMasker::applyMask):
12558 2008-08-13 Eric Seidel <eric@webkit.org>
12560 Build fix only, no review.
12562 Attempt to fix the Qt build.
12564 * platform/graphics/qt/ImageBufferQt.cpp:
12565 * platform/graphics/qt/StillImageQt.h:
12566 (WebCore::StillImage::create):
12567 (WebCore::StillImage::destroyDecodedData):
12568 (WebCore::StillImage::decodedSize):
12570 2008-08-13 Eric Seidel <eric@webkit.org>
12572 Build fix only, no review.
12574 Attempt to fix the Qt build.
12576 * html/CanvasStyle.cpp:
12577 (WebCore::CanvasStyle::applyStrokeColor):
12578 (WebCore::CanvasStyle::applyFillColor):
12580 2008-08-13 Eric Seidel <eric@webkit.org>
12584 Match HTML5 spec by throwing INVALID_STATE_ERR when
12585 createPattern is called and the HTMLImageElement is not
12586 yet done loading the image (!isComplete)
12587 https://bugs.webkit.org/show_bug.cgi?id=20351
12589 Test: http/misc/canvas-pattern-from-incremental-image.html
12591 * html/CanvasRenderingContext2D.cpp:
12592 (WebCore::CanvasRenderingContext2D::createPattern):
12594 2008-08-13 Eric Seidel <eric@webkit.org>
12598 Split out a Pattern class from CanvasPattern
12599 and remove all the Pattern-related #ifdefs
12600 (This will break non-mac platforms! I will fix them.)
12601 https://bugs.webkit.org/show_bug.cgi?id=20351
12605 * WebCore.vcproj/WebCore.vcproj:
12606 * WebCore.xcodeproj/project.pbxproj:
12607 * WebCoreSources.bkl:
12608 * html/CanvasPattern.cpp:
12609 (WebCore::CanvasPattern::parseRepetitionType):
12610 (WebCore::CanvasPattern::CanvasPattern):
12611 * html/CanvasPattern.h:
12612 (WebCore::CanvasPattern::create):
12613 (WebCore::CanvasPattern::pattern):
12614 (WebCore::CanvasPattern::originClean):
12615 * html/CanvasRenderingContext2D.cpp:
12616 (WebCore::CanvasRenderingContext2D::createPattern):
12617 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
12618 (WebCore::CanvasRenderingContext2D::applyFillPattern):
12619 * html/CanvasRenderingContext2D.h:
12620 * html/HTMLCanvasElement.cpp:
12621 * html/HTMLCanvasElement.h:
12622 * loader/FrameLoader.cpp:
12623 (WebCore::FrameLoader::createHistoryItem):
12624 * platform/graphics/GraphicsContext.h:
12625 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12626 (WebCore::GraphicsContext::applyStrokePattern):
12627 (WebCore::GraphicsContext::applyFillPattern):
12628 * platform/graphics/cg/GraphicsContextCG.cpp:
12629 (WebCore::GraphicsContext::clipToImageBuffer):
12630 (WebCore::GraphicsContext::applyStrokePattern):
12631 (WebCore::GraphicsContext::applyFillPattern):
12633 2008-08-13 Eric Seidel <eric@webkit.org>
12637 Make Images RefCounted (and clean up callers)
12638 https://bugs.webkit.org/show_bug.cgi?id=20351
12640 * editing/DeleteButtonController.cpp:
12641 (WebCore::DeleteButtonController::createDeletionUI):
12642 * loader/CachedImage.cpp:
12643 (WebCore::CachedImage::CachedImage):
12644 (WebCore::brokenImage):
12645 (WebCore::nullImage):
12646 (WebCore::CachedImage::image):
12647 (WebCore::CachedImage::notifyObservers):
12648 (WebCore::CachedImage::createImage):
12649 * loader/CachedImage.h:
12650 * loader/icon/IconRecord.cpp:
12651 (WebCore::IconRecord::setImageData):
12652 (WebCore::IconRecord::loadImageFromResource):
12653 * loader/icon/IconRecord.h:
12654 * platform/graphics/BitmapImage.h:
12655 (WebCore::BitmapImage::create):
12656 * platform/graphics/GeneratedImage.h:
12657 * platform/graphics/Gradient.cpp:
12658 * platform/graphics/Gradient.h:
12659 * platform/graphics/Image.cpp:
12660 (WebCore::Image::nullImage):
12661 * platform/graphics/Image.h:
12662 * platform/graphics/ImageBuffer.h:
12663 * platform/graphics/cairo/ImageBufferCairo.cpp:
12664 (WebCore::ImageBuffer::image):
12665 * platform/graphics/cg/ImageBufferCG.cpp:
12666 (WebCore::ImageBuffer::image):
12667 (WebCore::ImageBuffer::getImageData):
12668 (WebCore::ImageBuffer::putImageData):
12669 * platform/graphics/cg/PDFDocumentImage.h:
12670 (WebCore::PDFDocumentImage::create):
12671 (WebCore::PDFDocumentImage::destroyDecodedData):
12672 (WebCore::PDFDocumentImage::decodedSize):
12673 * platform/graphics/gtk/ImageGtk.cpp:
12674 (WebCore::Image::loadPlatformResource):
12675 * platform/graphics/mac/ImageMac.mm:
12676 (WebCore::Image::loadPlatformResource):
12677 * rendering/RenderImage.cpp:
12678 * rendering/RenderLayer.cpp:
12679 (WebCore::RenderLayer::paintOverflowControls):
12680 * svg/graphics/SVGImage.cpp:
12681 (WebCore::SVGImage::nativeImageForCurrentFrame):
12682 * svg/graphics/SVGImage.h:
12683 (WebCore::SVGImage::create):
12684 (WebCore::SVGImage::destroyDecodedData):
12685 (WebCore::SVGImage::decodedSize):
12686 (WebCore::SVGImage::frameAtIndex):
12687 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
12688 (WebCore::SVGPaintServerPattern::setup):
12689 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
12690 (WebCore::SVGResourceMasker::applyMask):
12691 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
12692 (WebCore::patternCallback):
12693 * svg/graphics/cg/SVGResourceMaskerCg.mm:
12694 (WebCore::SVGResourceMasker::applyMask):
12696 2008-08-13 Eric Seidel <eric@webkit.org>
12700 Remove #ifdefs from CanvasStyle by using platform/Color.h
12701 https://bugs.webkit.org/show_bug.cgi?id=20351
12703 There are some down-sides to this commit.
12704 This commit limits us to 255 levels of grey for calls like:
12705 context.setStrokeStyle(.37, 1.0)
12706 previously CG might have used up to 32bits to store the grey level
12707 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
12709 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
12710 to RGBA32 (like all the rest of colors in WebCore), thus:
12711 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
12712 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
12714 If this is a problem for Dashboard, we can either roll out this commit
12715 or add a beefier Color abstraction, which can be used internally by GraphicsContext
12716 when keeping state, and then GraphicsContext can grow some additional set* routines
12717 for setting the a grey/float/whatever fill and stroke.
12719 * html/CanvasRenderingContext2D.cpp:
12720 (WebCore::CanvasRenderingContext2D::setFillStyle):
12721 * html/CanvasStyle.cpp:
12722 (WebCore::CanvasStyle::CanvasStyle):
12723 (WebCore::colorWithOverrideAlpha):
12724 (WebCore::CanvasStyle::applyStrokeColor):
12725 (WebCore::CanvasStyle::applyFillColor):
12726 * html/CanvasStyle.h:
12727 * platform/graphics/Color.cpp:
12728 (WebCore::colorFloatToRGBAByte):
12729 (WebCore::makeRGBA32FromFloats):
12730 * platform/graphics/Color.h:
12732 2008-08-13 Eric Carlson <eric.carlson@apple.com>
12734 Reviewed by Adele Peterson.
12736 Fix for <rdar://problem/6137931>
12737 https://bugs.webkit.org/show_bug.cgi?id=20360
12738 Remove all parameters from the MIME type before checking with the MIME type registry
12740 Tests: media/video-source-type-params.html
12742 * html/HTMLMediaElement.cpp:
12743 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
12744 to isSupportedMediaMIMEType()
12746 2008-08-13 Beth Dakin <bdakin@apple.com>
12748 Reviewed by Sam Weinig.
12750 Fix for <rdar://problem/6141345>
12752 This patch refines findString and markAllMatchesForText functions'
12753 interactions with disconnected frames. They no longer rely on
12754 knowing where a range is relative to the visible region and work
12755 with disconnected frames that contain frames.
12757 * editing/Editor.cpp:
12758 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
12759 the visiblity enum.
12760 (WebCore::Editor::firstVisibleRange): This now returns the very
12761 first visible range in the document. It's no longer dependent on
12763 (WebCore::Editor::lastVisibleRange): This now returns the very last
12764 visible range in the document. It's no longer dependent on
12765 searching backwards.
12766 (WebCore::Editor::nextVisibleRange): This returns the next visible
12767 range in the appropriate direction from the current range.
12768 * editing/Editor.h:
12770 (WebCore::Frame::findString):
12771 (WebCore::Frame::markAllMatchesForText):
12773 2008-08-13 Kevin Ollivier <kevino@theolliviers.com>
12775 wx build fix for case-sensitive platforms, like Linux.
12777 * WebCoreSources.bkl:
12779 2008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
12781 Reviewed by Holger Freyther.
12783 http://bugs.webkit.org/show_bug.cgi?id=16881
12784 [GTK] PlatformScreenGtk is unimplemented
12786 Original patch by Christian Dywan.
12788 * platform/gtk/PlatformScreenGtk.cpp:
12789 (WebCore::screenDepth):
12790 (WebCore::screenDepthPerComponent):
12791 (WebCore::screenIsMonochrome):
12792 (WebCore::screenRect):
12793 (WebCore::screenAvailableRect):
12795 2008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
12797 Reviewed by Holger Freyther.
12799 http://bugs.webkit.org/show_bug.cgi?id=20318
12800 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
12802 g_idle_add is the same as g_idle_add_full with a priority of
12803 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
12805 * platform/gtk/SharedTimerGtk.cpp:
12806 (WebCore::setSharedTimerFireTime):
12808 2008-08-13 Timothy Hatcher <timothy@apple.com>
12810 Changed the InspectorController so it can be notified when the
12811 attached state of the Inspector changes in WebKit.
12813 Reviewed by Kevin McCullough.
12815 * WebCore.base.exp: Updated the symbol for setWindowVisible.
12816 * page/InspectorController.cpp:
12817 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
12818 that defaults to false.Call setAttachedWindow with the attached argument.
12819 (WebCore::InspectorController::setAttachedWindow): Call the script version
12820 of setAttachedWindow.
12821 * page/InspectorController.h:
12822 * page/inspector/inspector.js:
12823 (WebInspector.setAttachedWindow): Set the attached property.
12825 2008-08-12 Timothy Hatcher <timothy@apple.com>
12827 Added a close button to the Inspector's toolbar when docked.
12829 https://bugs.webkit.org/show_bug.cgi?id=14270
12831 Reviewed by Kevin McCullough.
12833 * page/InspectorController.cpp:
12834 (WebCore::closeWindow): Call InspectorController::closeWindow.
12835 (WebCore::InspectorController::windowScriptObjectAvailable):
12836 Added closeWindow to the script class.
12837 * page/InspectorController.h:
12838 * page/inspector/Images/closeButtons.png: Added.
12839 * page/inspector/inspector.css: Added and changed styles.
12840 * page/inspector/inspector.html: Added the close button.
12841 * page/inspector/inspector.js:
12842 (WebInspector.loaded): Added click event listener to the close button.
12843 (WebInspector.close): Call InspectorController.closeWindow.
12845 2008-08-12 Timothy Hatcher <timothy@apple.com>
12847 Make the docked Web Inspector resizable. This is the cross platform
12848 portion of the code. Each InspectorClient needs to implement the
12851 https://bugs.webkit.org/show_bug.cgi?id=14282
12853 Reviewed by Kevin McCullough.
12855 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
12856 * page/InspectorClient.h: Added setAttachedWindowHeight.
12857 * page/InspectorController.cpp:
12858 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
12859 on the InspectorController.
12860 (WebCore::InspectorController::setAttachedWindowHeight): Call
12861 setAttachedWindowHeight on the client.
12862 (WebCore::InspectorController::windowScriptObjectAvailable):
12863 Added setAttachedWindowHeight to the script class.
12864 * page/InspectorController.h:
12865 * page/inspector/inspector.css: Make the cursor on the toolbar be
12866 row-resize when docked.
12867 * page/inspector/inspector.js:
12868 (WebInspector.loaded): Always add the toolbarDragStart event listener.
12869 (WebInspector.toolbarDragStart): Return early if we are not attached
12870 and not on Leopard. Call WebInspector.elementDragStart.
12871 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
12872 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
12873 otherwise call moveByUnrestricted.
12875 2008-08-13 Simon Hausmann <hausmann@webkit.org>
12877 Reviewed by Holger.
12879 Initialize m_zoomsTextOnly in the Settings constructor.
12881 * page/Settings.cpp:
12882 (WebCore::Settings::Settings):
12884 2008-08-13 Brad Hughes <bhughes@trolltech.com>
12888 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
12890 The latest upgrade of the intel compiler allows us to compile all of
12891 Qt with optimizations enabled (yay!).
12895 2008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
12899 Fix QtWebKit not displaying content on 403 HTTP responses
12901 Just like with 404 responses also display content with 403, as
12902 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
12904 * platform/network/qt/QNetworkReplyHandler.cpp:
12905 (WebCore::QNetworkReplyHandler::finish):
12907 2008-08-13 Simon Hausmann <hausmann@webkit.org>
12909 Reviewed by Holger.
12911 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
12913 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
12915 * platform/text/String.cpp:
12916 (WebCore::String::format):
12918 2008-08-13 Simon Hausmann <hausmann@webkit.org>
12922 Fix QWebFrame::setHtml() not setting the new contents immediately.
12924 Added a setter to the DocumentLoader to toggle the deferred loading of the main
12925 resource when it comes from substitute data.
12927 Disable deferred loading of the main resource when we have valid substitute data,
12928 as used by QWebFrame::setHtml.
12930 * loader/DocumentLoader.h:
12932 2008-08-13 Mark Rowe <mrowe@apple.com>
12934 Speculative GTK build fix.
12936 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
12938 2008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
12942 Fix encoding of [ and ] in the host part of the URL
12944 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
12945 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
12946 doesn't encode [ and ] when they are found in the host part. That is, the
12949 is valid and should not be reencoded to:
12952 * platform/qt/KURLQt.cpp:
12953 (WebCore::KURL::operator QUrl):
12955 2008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
12957 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
12958 Broken HTML object elements cause de-reference of pointer to freed memory.
12959 If we fail to load an image for an object tag and we no longer believe the object tag points at
12960 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
12963 Reviewed by Dave Hyatt and Alexey Proskuryakov.
12965 Test: http/tests/misc/object-image-error-with-onload.html
12967 * html/HTMLObjectElement.cpp:
12968 (WebCore::HTMLObjectElement::renderFallbackContent):
12970 (WebCore::Frame::Frame):
12972 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
12976 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
12977 Masks are translated, and the mask images are swapped on the y-axis.
12979 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
12980 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
12982 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
12983 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
12985 * svg/graphics/cg/SVGResourceMaskerCg.mm:
12986 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
12988 2008-08-12 Dan Bernstein <mitz@apple.com>
12990 - WebCore part of <rdar://problem/6121636>
12991 Make fast*alloc() abort() on failure and add "try" variants that
12992 return NULL on failure.
12994 Reviewed by Darin Adler.
12996 * platform/Arena.cpp:
12997 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
12999 * platform/graphics/cg/ImageBufferCG.cpp:
13000 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
13002 2008-08-12 Dan Bernstein <mitz@apple.com>
13004 Reviewed by Darin Adler.
13006 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
13007 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
13009 Test: fast/frames/frameset-style-recalc.html
13011 * html/HTMLFrameSetElement.cpp:
13012 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
13013 class implementation after marking for layout.
13015 2008-08-12 Dan Bernstein <mitz@apple.com>
13017 Reviewed by John Sullivan.
13019 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
13021 * WebCore.base.exp:
13022 * page/FrameView.cpp:
13023 (WebCore::FrameViewPrivate::FrameViewPrivate):
13024 (WebCore::FrameView::shouldUpdateWhileHidden):
13025 (WebCore::FrameView::setShouldUpdateWhileHidden):
13026 * page/FrameView.h:
13027 * page/Settings.cpp:
13030 2008-08-12 Adam Roben <aroben@apple.com>
13034 * bindings/js/JSSVGPODTypeWrapper.h: Align
13035 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
13036 members on 16-byte boundaries to avoid an alignment warning.
13038 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
13040 Reviewed by Oliver.
13042 Add new dynamice-update layout tests covering SVGMarkerElement.
13043 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
13044 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
13046 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
13047 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
13048 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
13049 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
13050 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
13051 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
13052 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
13053 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
13054 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
13055 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
13056 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
13057 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
13058 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
13059 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
13060 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
13062 * svg/SVGMarkerElement.cpp:
13063 (WebCore::SVGMarkerElement::SVGMarkerElement):
13064 (WebCore::SVGMarkerElement::parseMappedAttribute):
13065 (WebCore::SVGMarkerElement::svgAttributeChanged):
13066 (WebCore::SVGMarkerElement::childrenChanged):
13067 (WebCore::SVGMarkerElement::setOrientToAuto):
13068 (WebCore::SVGMarkerElement::setOrientToAngle):
13069 (WebCore::SVGMarkerElement::canvasResource):
13071 2008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
13073 Reviewed by Oliver.
13075 Add new dynamic-update layout tests covering SVGImageElement.
13076 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
13078 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
13079 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
13080 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
13081 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
13082 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
13083 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
13084 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
13085 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
13086 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
13087 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
13089 * svg/SVGImageElement.cpp:
13090 (WebCore::SVGImageElement::svgAttributeChanged):
13092 2008-08-11 Anthony Ricaud <rik24d@gmail.com>
13094 Changed Option/Alt-Up or Down in CSS editing when the value is
13095 near zero to jump to the next integer.
13097 Reviewed by Tim Hatcher.
13099 https://bugs.webkit.org/show_bug.cgi?id=20326
13101 * page/inspector/StylesSidebarPane.js:
13103 2008-08-11 Anthony Ricaud <rik24d@gmail.com>
13105 Changed the line highlight transition for an easier animation.
13107 Reviewed by Tim Hatcher.
13109 * page/inspector/SourceFrame.js:
13111 2008-08-11 Keishi Hattori <casey.hattori@gmail.com>
13113 Added support for some Firebug Command Line APIs.
13115 Reviewed by Tim Hatcher.
13117 https://bugs.webkit.org/show_bug.cgi?id=19867
13118 https://bugs.webkit.org/show_bug.cgi?id=19868
13119 https://bugs.webkit.org/show_bug.cgi?id=19869
13120 https://bugs.webkit.org/show_bug.cgi?id=19875
13121 https://bugs.webkit.org/show_bug.cgi?id=19876
13122 https://bugs.webkit.org/show_bug.cgi?id=19880
13124 * page/inspector/Console.js:
13125 (WebInspector.Console.prototype._evalInInspectedWindow):
13126 Create an object on the inspected window that holds the console
13127 command line API functions. This object is used in a with statement
13128 around the typed expression.
13130 2008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
13134 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
13136 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
13137 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
13139 Added tests: svg/custom/svg-modify-currentTranslate.html
13140 svg/custom/tearoffs-with-tearoffs.html
13141 svg/custom/immutable-properties.html
13143 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
13145 * bindings/js/JSSVGPODTypeWrapper.h:
13146 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
13147 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
13148 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
13149 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
13150 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
13151 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
13152 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
13153 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
13154 * bindings/scripts/CodeGenerator.pm:
13155 * bindings/scripts/CodeGeneratorJS.pm:
13156 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
13157 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
13159 2008-08-11 Brady Eidson <beidson@apple.com>
13161 Reviewed by John and Anders
13163 Fix for <rdar://problem/6141797>
13165 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
13166 would never have nil data.
13168 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
13169 semantics with some WebKit applications.
13171 The guarantee was a good one and should be restored.
13173 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
13174 creates an empty data object in the case of null data for its own purposes.
13176 * loader/SubstituteResource.h:
13177 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
13178 well help any future subclassers not make this mistake.
13180 * loader/archive/ArchiveResource.cpp:
13181 (WebCore::ArchiveResource::create): Return 0 if the data is null.
13183 2008-08-11 Simon Fraser <simon.fraser@apple.com>
13185 Reviewed by Dave Hyatt
13187 https://bugs.webkit.org/show_bug.cgi?id=20328
13188 Fix a problem when an 'all' transition transition with more than
13189 one property changing is interrupted, and did some AnimationController
13192 Test: transitions/interrupted-all-transition.html
13194 * page/AnimationController.cpp:
13195 (WebCore::ImplicitAnimation::ImplicitAnimation):
13196 (WebCore::AnimationControllerPrivate::blendProperties):
13197 (WebCore::CompositeAnimation::updateTransitions):
13198 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
13199 (WebCore::CompositeAnimation::setTransitionStartTime):
13200 (WebCore::CompositeAnimation::overrideImplicitAnimations):
13201 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
13202 (WebCore::ImplicitAnimation::animate):
13203 (WebCore::ImplicitAnimation::onAnimationEnd):
13204 (WebCore::ImplicitAnimation::sendTransitionEvent):
13205 (WebCore::ImplicitAnimation::affectsProperty):
13206 (WebCore::KeyframeAnimation::endAnimation):
13207 (WebCore::KeyframeAnimation::onAnimationEnd):
13209 2008-08-11 Kevin McCullough <kmccullough@apple.com>
13213 - Because console messages have group levels now, newly created messages
13214 that do not specify the level lose their message since the number of
13215 arguments is wrong.
13217 * page/inspector/Console.js:
13218 * page/inspector/Resource.js:
13220 2008-08-11 Alp Toker <alp@nuanti.com>
13222 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
13223 the opportunity to sort the sources lists.
13227 2008-08-11 Timothy Hatcher <timothy@apple.com>
13229 Speed up the the JavaScript syntax highlighter by generating
13230 the finders only once per script instead of per line.
13232 https://bugs.webkit.org/show_bug.cgi?id=20346
13234 Reviewed by Adam Roben.
13236 * page/inspector/SourceFrame.js:
13237 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
13238 Removed, factored into syntaxHighlightJavascript as an inline function.
13239 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
13240 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
13241 Generate the finders before iterating the lines.
13243 2008-08-11 Adam Roben <aroben@apple.com>
13247 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
13248 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
13251 2008-08-11 Dan Bernstein <mitz@apple.com>
13253 Reviewed by Darin Adler.
13255 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
13257 Test: fast/css/counters/invalidate-cached-counter-node.html
13259 * rendering/RenderContainer.cpp:
13260 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
13261 RenderCounters in :before and :after content.
13262 * rendering/RenderContainer.h:
13263 * rendering/RenderCounter.cpp:
13264 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
13265 to match the RenderObject method.
13266 (WebCore::RenderCounter::invalidate): Added. Resets the cached
13267 CounterNode and invalidates the object's layout and preferred widths.
13268 (WebCore::destroyCounterNodeChildren): Added a call to
13269 invalidateCounters().
13270 * rendering/RenderCounter.h:
13271 * rendering/RenderObject.h:
13272 (WebCore::RenderObject::invalidateCounters):
13274 2008-08-11 Dean Jackson <dino@apple.com>
13276 Implement CSS Animation and Transition Events
13277 https://bugs.webkit.org/show_bug.cgi?id=20337
13279 Implement the events defined in the CSS Animations
13280 and Transitions specifications so code can react
13281 to animations and transitions.
13283 Reviewed by Tim Hatcher and Dave Hyatt.
13285 * DerivedSources.make:
13288 * WebCore.vcproj/WebCore.vcproj:
13289 * WebCore.xcodeproj/project.pbxproj:
13290 * WebCoreSources.bkl:
13291 Build configs for new files
13293 * bindings/js/JSDOMWindowBase.cpp:
13294 * bindings/js/JSDOMWindowBase.h:
13295 * bindings/js/JSEventCustom.cpp:
13299 * dom/EventTarget.cpp:
13300 * dom/EventTargetNode.cpp:
13301 * dom/EventTargetNode.h:
13302 * html/HTMLElement.cpp:
13303 * page/AnimationController.cpp:
13304 do all the new event stuff
13306 * html/HTMLAttributeNames.in:
13307 the onwebkitanimation* and onwebkittransitionend attrs
13309 * dom/WebKitAnimationEvent.cpp: Added.
13310 * dom/WebKitAnimationEvent.h: Added.
13311 * dom/WebKitAnimationEvent.idl: Added.
13312 * dom/WebKitTransitionEvent.cpp: Added.
13313 * dom/WebKitTransitionEvent.h: Added.
13314 * dom/WebKitTransitionEvent.idl: Added.
13315 New files for the events
13317 * manual-tests/transition-events.html: Added.
13320 2008-08-11 Adam Roben <aroben@apple.com>
13322 Add a ForwardingHeader for wtf/NotFound.h
13324 Rubberstamped by Darin Adler.
13326 * ForwardingHeaders/wtf/NotFound.h: Added.
13328 2008-08-11 Timothy Hatcher <timothy@apple.com>
13330 Fixes a bug where error bubbles in JavaScript resources would
13331 be clobbered by the syntax highlighter.
13333 https://bugs.webkit.org/show_bug.cgi?id=20345
13335 Reviewed by Adam Roben.
13337 * manual-tests/inspector/resources/script-error.js: Added.
13338 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
13339 * page/inspector/SourceFrame.js:
13340 (WebInspector.SourceFrame.prototype._addMessageToSource):
13341 Check the nodeType and not the nodeName, this is less fragile.
13342 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
13343 Check if the lastChild is an error bubble, if so remove it before
13344 getting the line's textContent. Add the error bubble back at the end.
13346 == Rolled over to ChangeLog-2008-08-10 ==