blob: af0df521fc2b31dd561f32f3c09e657b63272d88 [file] [log] [blame]
zecke@webkit.org47132852008-09-27 22:45:21 +000012008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
2
3 Reviewed by Simon Hausmann.
4
5 [qt] Clean the pattern code
6 - Use save/restore on the painter after manipulating the
7 pen/brush
8 - Make the context and object null checking consistent. CG is using
9 the object unconditionally so the Qt webkit platform can do the
10 same.
11 - Move code below the early exit. Only use the m_ownerElement before
12 the early exit as the CG code is doing it.
13
14 * svg/graphics/SVGPaintServerPattern.h:
15 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
16 (WebCore::SVGPaintServerPattern::setup):
17 (WebCore::SVGPaintServerPattern::teardown):
18
timothy@apple.com345f1af2008-09-27 22:18:35 +0000192008-09-27 Keishi Hattori <casey.hattori@gmail.com>
20
21 Added support for console.trace.
22
23 https://bugs.webkit.org/show_bug.cgi?id=19157
24
25 Reviewed by Kevin McCullough and Tim Hatcher.
26
27 * bindings/js/JSConsoleCustom.cpp:
28 (WebCore::JSConsole::trace):
29 * page/Console.cpp:
30 (WebCore::Console::trace): Calls Machine::retrieveCaller to
31 get a stack trace.
32 * page/Console.h:
33 (WebCore::): Added TraceMessageLevel.
34 * page/Console.idl: Added console.trace.
35 * page/inspector/Console.js:
36 (ConsoleMessage): Added case for TraceMessageLevel.
37
andersca@apple.com6b8e0a22008-09-27 21:28:40 +0000382008-09-27 Anders Carlsson <andersca@apple.com>
39
40 Reviewed by Sam Weinig.
41
42 https://bugs.webkit.org/show_bug.cgi?id=21178
43 <rdar://problem/6248651>
44
45 Check if the plug-in is allowed to load the resource. This matches Firefox.
46
47 Test: http/tests/plugins/local-geturl-from-remote.html
48
49 * plugins/PluginView.cpp:
50 (WebCore::PluginView::load):
51
zecke@webkit.org91ee65a2008-09-27 21:06:35 +0000522008-09-22 Dirk Schulze <vbs85@gmx.de>
53
54 Reviewed by Eric Seidel.
55
56 Added SVG pattern support to Qt.
57
58 [Qt] SVG patterns are missing
59 https://bugs.webkit.org/show_bug.cgi?id=20973
60
61 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
62 (WebCore::SVGPaintServerPattern::setup):
63
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +0000642008-09-27 Keishi Hattori <casey.hattori@gmail.com>
65
66 Fixed a bug in the JS syntax highlighter with multiple line tokens.
67
68 https://bugs.webkit.org/show_bug.cgi?id=21171
69
70 Reviewed by Tim Hatcher.
71
72 * page/inspector/SourceFrame.js:
73 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
74
timothy@apple.com5b4b3d02008-09-27 20:18:03 +0000752008-09-27 Timothy Hatcher <timothy@apple.com>
76
77 Change searching in the Profiles panel to not match the
78 Self and Total columns when there are no units. The only
79 column that is matched for unitless number searches is
80 now the Calls column.
81
82 https://bugs.webkit.org/show_bug.cgi?id=21169
83
84 Reviewed by Sam Weinig.
85
86 * page/inspector/ProfileView.js:
87 (WebInspector.ProfileView.prototype.performSearch):
88
hyatt@apple.com0fd13952008-09-27 19:56:56 +0000892008-09-27 David Hyatt <hyatt@apple.com>
90
91 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
92
93 Reviewed by Sam Weinig
94
95 * platform/ScrollView.h:
96 * platform/Widget.h:
97 (WebCore::Widget::boundsRect):
98 (WebCore::Widget::invalidate):
99 (WebCore::Widget::frameRectsChanged):
100 * platform/gtk/ScrollViewGtk.cpp:
101 (WebCore::ScrollViewScrollbar::frameRectsChanged):
102 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
103 (WebCore::ScrollView::setFrameRect):
104 (WebCore::ScrollView::updateScrollbars):
105 (WebCore::ScrollView::frameRectsChanged):
106 * platform/gtk/ScrollbarGtk.cpp:
107 (ScrollbarGtk::setFrameRect):
108 (ScrollbarGtk::frameRectsChanged):
109 * platform/gtk/ScrollbarGtk.h:
110 * platform/gtk/WidgetGtk.cpp:
111 * platform/qt/ScrollViewQt.cpp:
112 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
113 (WebCore::ScrollView::setFrameRect):
114 (WebCore::ScrollView::frameRectsChanged):
115 (WebCore::ScrollView::updateScrollbars):
116 * platform/win/ScrollViewWin.cpp:
117 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
118 (WebCore::ScrollView::setFrameRect):
119 (WebCore::ScrollView::updateScrollbars):
120 (WebCore::ScrollView::frameRectsChanged):
121 * plugins/PluginView.cpp:
122 (WebCore::PluginView::frameRectsChanged):
123 * plugins/PluginView.h:
124
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +00001252008-09-27 Simon Hausmann <hausmann@webkit.org>
126
hausmann@webkit.orge49722f2008-09-27 19:49:01 +0000127 Refix the previous build fix to compile on non-Qt platforms, too.
128
129 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
130 WebCore to generate the PrototypeTable in the WebCore namespace
131 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
132 table remains in the Webcore namespace
133 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
134
1352008-09-27 Simon Hausmann <hausmann@webkit.org>
136
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +0000137 Fix compilation with gcc 4.3 (probably > 4.0)
138
139 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
140 get/put functions inside the WebCore namespace.
141 * bindings/js/JSEventTargetBase.cpp: Ditto.
142 * bindings/js/JSEventTargetNode.cpp: Ditto.
143 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
144 * bindings/js/JSEventTargetBase.h: Forward declare
145 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
146 defines it in the JSC namespace.
147 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
148 prefix for PrototypeTable symbol.
149
hyatt@apple.come7c12342008-09-27 07:43:38 +00001502008-09-27 David Hyatt <hyatt@apple.com>
151
hyatt@apple.com53634ac2008-09-27 08:01:26 +0000152 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
153
154 Reviewed by Dan Bernstein
155
156 * WebCore.base.exp:
157 * page/FrameView.cpp:
158 (WebCore::FrameView::FrameView):
159 (WebCore::FrameView::updateControlTints):
160 * platform/ScrollView.h:
161 * platform/Scrollbar.cpp:
162 (WebCore::Scrollbar::Scrollbar):
163 (WebCore::Scrollbar::paint):
164 (WebCore::Scrollbar::setFrameRect):
165 * platform/Scrollbar.h:
166 * platform/ScrollbarThemeComposite.cpp:
167 (WebCore::ScrollbarThemeComposite::paint):
168 * platform/Widget.h:
169 (WebCore::Widget::x):
170 (WebCore::Widget::y):
171 (WebCore::Widget::width):
172 (WebCore::Widget::height):
173 (WebCore::Widget::size):
174 (WebCore::Widget::pos):
175 (WebCore::Widget::resize):
176 (WebCore::Widget::move):
177 * platform/gtk/ScrollViewGtk.cpp:
178 (WebCore::ScrollViewScrollbar::geometryChanged):
179 (WebCore::ScrollView::update):
180 (WebCore::ScrollView::setFrameRect):
181 (WebCore::ScrollView::updateScrollbars):
182 (WebCore::ScrollView::scrollbarUnderMouse):
183 (WebCore::ScrollView::paint):
184 * platform/gtk/ScrollbarGtk.cpp:
185 (ScrollbarGtk::setFrameRect):
186 (ScrollbarGtk::geometryChanged):
187 * platform/gtk/ScrollbarGtk.h:
188 * platform/gtk/WidgetGtk.cpp:
189 (WebCore::Widget::frameRect):
190 (WebCore::Widget::setFrameRect):
191 * platform/mac/ScrollbarThemeMac.mm:
192 (WebCore::ScrollbarThemeMac::trackRect):
193 (WebCore::ScrollbarThemeMac::paint):
194 * platform/mac/WidgetMac.mm:
195 (WebCore::Widget::frameRect):
196 (WebCore::Widget::setFrameRect):
197 * platform/qt/ScrollViewQt.cpp:
198 (WebCore::ScrollView::setFrameRect):
199 (WebCore::ScrollView::updateScrollbars):
200 (WebCore::ScrollView::scrollbarUnderMouse):
201 (WebCore::ScrollView::paint):
202 * platform/qt/ScrollbarThemeQt.cpp:
203 (WebCore::styleOptionSlider):
204 * platform/qt/WidgetQt.cpp:
205 (WebCore::Widget::frameRect):
206 (WebCore::Widget::setFrameRect):
207 * platform/win/PopupMenuWin.cpp:
208 (WebCore::PopupMenu::invalidateItem):
209 (WebCore::PopupMenu::valueChanged):
210 (WebCore::PopupWndProc):
211 * platform/win/ScrollViewWin.cpp:
212 (WebCore::ScrollView::setFrameRect):
213 (WebCore::ScrollView::updateScrollbars):
214 (WebCore::ScrollView::scrollbarUnderMouse):
215 (WebCore::ScrollView::paint):
216 * platform/win/ScrollbarThemeSafari.cpp:
217 (WebCore::ScrollbarThemeSafari::trackRect):
218 * platform/win/WidgetWin.cpp:
219 (WebCore::Widget::frameRect):
220 (WebCore::Widget::setFrameRect):
221 * platform/wx/WidgetWx.cpp:
222 (WebCore::Widget::frameRect):
223 (WebCore::Widget::setFrameRect):
224 * plugins/PluginView.cpp:
225 (WebCore::PluginView::setFrameRect):
226 * plugins/PluginView.h:
227 * plugins/gtk/PluginViewGtk.cpp:
228 (WebCore::PluginView::updatePluginWidget):
229 (WebCore::PluginView::paint):
230 (WebCore::PluginView::init):
231 * plugins/qt/PluginViewQt.cpp:
232 (WebCore::PluginView::updatePluginWidget):
233 (WebCore::PluginView::init):
234 * plugins/win/PluginViewWin.cpp:
235 (WebCore::PluginView::updatePluginWidget):
236 (WebCore::PluginView::paintMissingPluginIcon):
237 (WebCore::PluginView::paint):
238 (WebCore::PluginView::init):
239 * rendering/RenderLayer.cpp:
240 (WebCore::RenderLayer::positionOverflowControls):
241 * rendering/RenderListBox.cpp:
242 (WebCore::RenderListBox::paintScrollbar):
243 * rendering/RenderPart.cpp:
244 (WebCore::RenderPart::updateWidgetPosition):
245 * rendering/RenderWidget.cpp:
246 (WebCore::RenderWidget::setWidgetGeometry):
247 (WebCore::RenderWidget::updateWidgetPosition):
248
2492008-09-27 David Hyatt <hyatt@apple.com>
250
hyatt@apple.come7c12342008-09-27 07:43:38 +0000251 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
252
253 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
254 access an actual member variable.
255
256 Reviewed by Dan Bernstein
257
258 * page/FocusController.cpp:
259 (WebCore::FocusController::setFocusedFrame):
260
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +00002612008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
262
263 Attempt to fix QT Build. Not reviewed.
264
265 * WebCore.pro: add -n WebCore parameter to create_hash_table
266
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +00002672008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
268
269 Reviewed by Eric Seidel.
270
271 http://bugs.webkit.org/show_bug.cgi?id=18905
272 [GTK] Fix build with older pango (1.14.8)
273
274 * platform/graphics/gtk/FontGtk.cpp:
275 * platform/gtk/Language.cpp:
276 (_pango_get_lc_ctype):
277 (pango_language_get_default):
278
hyatt@apple.com0315e532008-09-27 06:23:58 +00002792008-09-26 David Hyatt <hyatt@apple.com>
280
281 https://bugs.webkit.org/show_bug.cgi?id=21168
282
283 Make contentsToWindow/windowToContents cross-platform.
284
285 Reviewed by Oliver Hunt
286
287 * platform/ScrollView.cpp:
288 (WebCore::ScrollView::windowToContents):
289 (WebCore::ScrollView::contentsToWindow):
290 * platform/ScrollView.h:
291 * platform/gtk/ScrollViewGtk.cpp:
292 * platform/mac/ScrollViewMac.mm:
293 * platform/qt/ScrollViewQt.cpp:
294 * platform/win/ScrollViewWin.cpp:
295 * platform/wx/ScrollViewWx.cpp:
296
weinig@apple.com0e6acf62008-09-27 06:15:45 +00002972008-09-26 Sam Weinig <sam@webkit.org>
298
299 GTK build fix.
300
301 * GNUmakefile.am:
302
hyatt@apple.comb37db692008-09-27 04:43:00 +00003032008-09-26 David Hyatt <hyatt@apple.com>
304
hyatt@apple.com8d329412008-09-27 05:26:38 +0000305 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
306 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
307 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
308
309 Reviewed by Oliver Hunt
310
311 * page/FrameView.cpp:
312 (WebCore::FrameView::repaintContentRectangle):
313 * page/FrameView.h:
314 * platform/ScrollView.h:
315 * platform/gtk/ScrollViewGtk.cpp:
316 (WebCore::ScrollView::isOffscreen):
317 * platform/mac/ScrollViewMac.mm:
318 (WebCore::ScrollView::updateContents):
319 (WebCore::ScrollView::isOffscreen):
320 * platform/qt/ScrollViewQt.cpp:
321 (WebCore::ScrollView::isOffscreen):
322 * platform/win/ScrollViewWin.cpp:
323 (WebCore::ScrollView::isOffscreen):
324 * platform/wx/ScrollViewWx.cpp:
325 (WebCore::ScrollView::isOffscreen):
326 * rendering/RenderObject.cpp:
327 (WebCore::RenderObject::willRenderImage):
328
3292008-09-26 David Hyatt <hyatt@apple.com>
330
hyatt@apple.comb37db692008-09-27 04:43:00 +0000331 https://bugs.webkit.org/show_bug.cgi?id=21164
332
333 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
334
335 Reviewed by Sam Weinig
336
337 * WebCore.base.exp:
338 * page/FrameView.cpp:
339 (WebCore::FrameView::setAllowsScrolling):
340 * page/FrameView.h:
341 * platform/ScrollView.cpp:
342 (WebCore::ScrollView::setAllowsScrolling):
343 * platform/ScrollView.h:
344 (WebCore::ScrollView::allowsScrolling):
345 * platform/win/ScrollViewWin.cpp:
346 (WebCore::ScrollView::wheelEvent):
347
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +00003482008-09-26 Kevin Ollivier <kevino@theolliviers.com>
349
350 wx build fixes after Widget/ScrollView changes.
351
352 * platform/wx/PopupMenuWx.cpp:
353 (WebCore::PopupMenu::show):
354 * platform/wx/ScrollViewWx.cpp:
355 (WebCore::ScrollView::platformSetContentsSize):
356 (WebCore::ScrollView::platformSetScrollbarModes):
357 (WebCore::ScrollView::wheelEvent):
358 * platform/wx/TemporaryLinkStubs.cpp:
359 * platform/wx/WidgetWx.cpp:
360 (WebCore::Widget::containingWindow):
361
timothy@apple.com9b486082008-09-27 02:44:05 +00003622008-09-26 Timothy Hatcher <timothy@apple.com>
363
364 Allow searching for paths by always performing the
365 three search methods in the Elements panel and not
366 assume a search with a "/" is a XPath query.
367
368 https://bugs.webkit.org/show_bug.cgi?id=21159
369
370 Reviewed by Geoff Garen.
371
372 * page/inspector/ElementsPanel.js:
373 (WebInspector.ElementsPanel.prototype.performSearch):
374
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +00003752008-09-26 Sam Weinig <sam@webkit.org>
376
377 Reviewed by Darin Adler.
378
379 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
380 Speedup static property get/put
381
382 * DerivedSources.make:
383 * GNUmakefile.am:
384 * WebCore.pro:
385 * WebCore.vcproj/WebCore.vcproj:
386 * WebCore.xcodeproj/project.pbxproj:
387 * bindings/js/JSDOMBinding.cpp:
388 * bindings/js/JSDOMBinding.h:
389 * bindings/js/JSDOMWindowBase.cpp:
390 (WebCore::getDOMConstructor):
391 (WebCore::jsDOMWindowBaseCrypto):
392 (WebCore::jsDOMWindowBaseEvent):
393 (WebCore::jsDOMWindowBaseImage):
394 (WebCore::jsDOMWindowBaseMessageChannel):
395 (WebCore::jsDOMWindowBaseOption):
396 (WebCore::jsDOMWindowBaseXMLHttpRequest):
397 (WebCore::jsDOMWindowBaseAudio):
398 (WebCore::jsDOMWindowBaseXSLTProcessor):
399 (WebCore::jsDOMWindowBaseOnabort):
400 (WebCore::jsDOMWindowBaseOnblur):
401 (WebCore::jsDOMWindowBaseOnchange):
402 (WebCore::jsDOMWindowBaseOnclick):
403 (WebCore::jsDOMWindowBaseOndblclick):
404 (WebCore::jsDOMWindowBaseOnerror):
405 (WebCore::jsDOMWindowBaseOnfocus):
406 (WebCore::jsDOMWindowBaseOnkeydown):
407 (WebCore::jsDOMWindowBaseOnkeypress):
408 (WebCore::jsDOMWindowBaseOnkeyup):
409 (WebCore::jsDOMWindowBaseOnload):
410 (WebCore::jsDOMWindowBaseOnmousedown):
411 (WebCore::jsDOMWindowBaseOnmousemove):
412 (WebCore::jsDOMWindowBaseOnmouseout):
413 (WebCore::jsDOMWindowBaseOnmouseover):
414 (WebCore::jsDOMWindowBaseOnmouseup):
415 (WebCore::jsDOMWindowBaseOnMouseWheel):
416 (WebCore::jsDOMWindowBaseOnreset):
417 (WebCore::jsDOMWindowBaseOnresize):
418 (WebCore::jsDOMWindowBaseOnscroll):
419 (WebCore::jsDOMWindowBaseOnsearch):
420 (WebCore::jsDOMWindowBaseOnselect):
421 (WebCore::jsDOMWindowBaseOnsubmit):
422 (WebCore::jsDOMWindowBaseOnbeforeunload):
423 (WebCore::jsDOMWindowBaseOnunload):
424 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
425 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
426 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
427 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
428 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
429 (WebCore::JSDOMWindowBase::put):
430 (WebCore::setJSDOMWindowBaseOnabort):
431 (WebCore::setJSDOMWindowBaseOnblur):
432 (WebCore::setJSDOMWindowBaseOnchange):
433 (WebCore::setJSDOMWindowBaseOnclick):
434 (WebCore::setJSDOMWindowBaseOndblclick):
435 (WebCore::setJSDOMWindowBaseOnerror):
436 (WebCore::setJSDOMWindowBaseOnfocus):
437 (WebCore::setJSDOMWindowBaseOnkeydown):
438 (WebCore::setJSDOMWindowBaseOnkeypress):
439 (WebCore::setJSDOMWindowBaseOnkeyup):
440 (WebCore::setJSDOMWindowBaseOnload):
441 (WebCore::setJSDOMWindowBaseOnmousedown):
442 (WebCore::setJSDOMWindowBaseOnmousemove):
443 (WebCore::setJSDOMWindowBaseOnmouseout):
444 (WebCore::setJSDOMWindowBaseOnmouseover):
445 (WebCore::setJSDOMWindowBaseOnmouseup):
446 (WebCore::setJSDOMWindowBaseOnMouseWheel):
447 (WebCore::setJSDOMWindowBaseOnreset):
448 (WebCore::setJSDOMWindowBaseOnresize):
449 (WebCore::setJSDOMWindowBaseOnscroll):
450 (WebCore::setJSDOMWindowBaseOnsearch):
451 (WebCore::setJSDOMWindowBaseOnselect):
452 (WebCore::setJSDOMWindowBaseOnsubmit):
453 (WebCore::setJSDOMWindowBaseOnbeforeunload):
454 (WebCore::setJSDOMWindowBaseOnunload):
455 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
456 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
457 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
458 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
459 (WebCore::setJSDOMWindowBaseEvent):
460 (WebCore::setJSDOMWindowBaseAudio):
461 (WebCore::setJSDOMWindowBaseImage):
462 (WebCore::setJSDOMWindowBaseMessageChannel):
463 (WebCore::setJSDOMWindowBaseOption):
464 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
465 (WebCore::setJSDOMWindowBaseXSLTProcessor):
466 * bindings/js/JSDOMWindowBase.h:
467 * bindings/js/JSDOMWindowCustom.cpp:
468 (WebCore::nonCachingStaticCloseFunctionGetter):
469 (WebCore::nonCachingStaticBlurFunctionGetter):
470 (WebCore::nonCachingStaticFocusFunctionGetter):
471 (WebCore::nonCachingStaticPostMessageFunctionGetter):
472 * bindings/js/JSDOMWindowCustom.h:
473 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
474 * bindings/js/JSEventTargetBase.cpp:
475 * bindings/js/JSEventTargetBase.h:
476 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
477 (WebCore::JSEventTargetBasePrototype::classInfo):
478 * bindings/js/JSEventTargetNode.cpp:
479 (WebCore::):
480 (WebCore::JSEventTargetNode::getOwnPropertySlot):
481 (WebCore::JSEventTargetNode::put):
482 * bindings/js/JSEventTargetNode.h:
483 (WebCore::JSEventTargetNode::classInfo):
484 (WebCore::JSEventTargetNode::prototypeClassName):
485 * bindings/js/JSEventTargetSVGElementInstance.cpp:
486 (WebCore::):
487 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
488 (WebCore::JSEventTargetSVGElementInstance::put):
489 * bindings/js/JSEventTargetSVGElementInstance.h:
490 (WebCore::JSEventTargetSVGElementInstance::classInfo):
491 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
492 * bindings/js/JSHTMLInputElementCustom.cpp:
493 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
494 * bindings/js/JSHistoryCustom.cpp:
495 (WebCore::nonCachingStaticBackFunctionGetter):
496 (WebCore::nonCachingStaticForwardFunctionGetter):
497 (WebCore::nonCachingStaticGoFunctionGetter):
498 (WebCore::JSHistory::customGetOwnPropertySlot):
499 * bindings/js/JSLocationCustom.cpp:
500 (WebCore::nonCachingStaticReplaceFunctionGetter):
501 (WebCore::nonCachingStaticReloadFunctionGetter):
502 (WebCore::nonCachingStaticAssignFunctionGetter):
503 (WebCore::JSLocation::customGetOwnPropertySlot):
504 (WebCore::JSLocation::customPut):
505 * bindings/scripts/CodeGeneratorJS.pm:
506
hyatt@apple.com01adde82008-09-26 20:49:34 +00005072008-09-26 David Hyatt <hyatt@apple.com>
508
509 https://bugs.webkit.org/show_bug.cgi?id=21149
510
511 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
512 Eliminate the unused isScrollable() method.
513
514 Reviewed by Sam Weinig
515
516 * WebCore.base.exp:
517 * page/FrameView.cpp:
518 (WebCore::FrameView::resetScrollbars):
519 (WebCore::FrameView::initScrollbars):
520 (WebCore::FrameView::layout):
521 * page/FrameView.h:
522 * page/mac/WebCoreFrameView.h:
523 * platform/ScrollView.cpp:
524 (WebCore::ScrollView::init):
525 (WebCore::ScrollView::setScrollbarModes):
526 (WebCore::ScrollView::scrollbarModes):
527 (WebCore::ScrollView::platformSetScrollbarModes):
528 (WebCore::ScrollView::platformScrollbarModes):
529 * platform/ScrollView.h:
530 (WebCore::ScrollView::horizontalScrollbar):
531 (WebCore::ScrollView::verticalScrollbar):
532 (WebCore::ScrollView::isScrollViewScrollbar):
533 (WebCore::ScrollView::setHorizontalScrollbarMode):
534 (WebCore::ScrollView::setVerticalScrollbarMode):
535 (WebCore::ScrollView::horizontalScrollbarMode):
536 (WebCore::ScrollView::verticalScrollbarMode):
537 (WebCore::ScrollView::convertSelfToChild):
538 * platform/gtk/ScrollViewGtk.cpp:
539 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
540 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
541 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
542 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
543 (WebCore::ScrollView::updateScrollbars):
544 (WebCore::ScrollView::scrollbarUnderMouse):
545 (WebCore::ScrollView::isScrollViewScrollbar):
546 (WebCore::ScrollView::paint):
547 (WebCore::ScrollView::scroll):
548 * platform/mac/ScrollViewMac.mm:
549 (WebCore::ScrollView::platformSetScrollbarModes):
550 (WebCore::ScrollView::platformScrollbarModes):
551 * platform/qt/ScrollViewQt.cpp:
552 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
553 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
554 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
555 (WebCore::ScrollView::horizontalScrollbar):
556 (WebCore::ScrollView::verticalScrollbar):
557 (WebCore::ScrollView::invalidateScrollbars):
558 (WebCore::ScrollView::updateScrollbars):
559 (WebCore::ScrollView::scrollbarUnderMouse):
560 (WebCore::ScrollView::paint):
561 (WebCore::ScrollView::scroll):
562 * platform/win/ScrollViewWin.cpp:
563 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
564 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
565 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
566 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
567 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
568 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
569 (WebCore::ScrollView::suppressScrollbars):
570 (WebCore::ScrollView::updateScrollbars):
571 (WebCore::ScrollView::scrollbarUnderMouse):
572 (WebCore::ScrollView::paint):
573 (WebCore::ScrollView::scroll):
574 * platform/wx/ScrollViewWx.cpp:
575 (WebCore::ScrollView::platformSetScrollbarModes):
576 (WebCore::ScrollView::platformScrollbarModes):
577
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +00005782008-09-26 David Kilzer <ddkilzer@apple.com>
579
580 Fix Mac build with XPATH and XSLT disabled
581
582 Reviewed by Alexey.
583
584 * bindings/objc/DOMUtility.mm:
585 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
586 * dom/XMLTokenizerLibxml2.cpp:
587 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
588 prevent an unused code warning.
589
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +00005902008-09-26 Kevin McCullough <kmccullough@apple.com>
591
592 Rubber stamped by Tim Hatcher.
593
594 Bug 21098: Crashing under Console::log
595 - Speculative ASSERT to help find the problem.
596
597 * page/InspectorController.cpp:
598 (WebCore::ConsoleMessage::isEqual):
599
zecke@webkit.org00c54bb2008-09-26 17:56:08 +00006002008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
601
602 [gtk+] Build fix for the latest ScrollView changes
603
604 * platform/gtk/ScrollViewGtk.cpp:
605 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
606 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
607
timothy@apple.comf49116e2008-09-26 17:27:52 +00006082008-09-26 Timothy Hatcher <timothy@apple.com>
609
610 Fixes a bug where the console message repeat count would be wrong
611 when typing commands in between repeated messages.
612
613 https://bugs.webkit.org/show_bug.cgi?id=21145
614
615 Reviewed by Kevin McCullough.
616
617 * page/InspectorController.cpp:
618 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
619 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
620 * page/inspector/Console.js:
621 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
622 for each message as totalRepeatCount, since we now modify repeatCount to mean
623 repeats since previous console command. If repeatCountBeforeCommand is a number,
624 subtract that value from the repeatCount.
625 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
626 and commandSincePreviousMessage properties.
627
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +00006282008-09-26 Eric Carlson <eric.carlson@apple.com>
629
630 Reviewed by Antti
631
632 https://bugs.webkit.org/show_bug.cgi?id=21116
633 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
634 back to page with <video>, then closing tab
635
636 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
637 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
638 deletion.
639
640 * dom/Document.cpp:
641 (WebCore::Document::documentWillBecomeInactive):
642 (WebCore::Document::documentDidBecomeActive):
643 (WebCore::Document::registerForDocumentActivationCallbacks):
644 (WebCore::Document::unregisterForDocumentActivationCallbacks):
645 * dom/Document.h:
646 * dom/Element.h:
647 (WebCore::Element::documentWillBecomeInactive):
648 (WebCore::Element::documentDidBecomeActive):
649 * history/CachedPage.cpp:
650 (WebCore::CachedPage::CachedPage):
651 * html/HTMLFormElement.cpp:
652 (WebCore::HTMLFormElement::~HTMLFormElement):
653 (WebCore::HTMLFormElement::parseMappedAttribute):
654 (WebCore::HTMLFormElement::documentDidBecomeActive):
655 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
656 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
657 * html/HTMLFormElement.h:
658 * html/HTMLInputElement.cpp:
659 (WebCore::HTMLInputElement::~HTMLInputElement):
660 (WebCore::HTMLInputElement::setInputType):
661 (WebCore::HTMLInputElement::parseMappedAttribute):
662 (WebCore::HTMLInputElement::needsActivationCallback):
663 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
664 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
665 (WebCore::HTMLInputElement::documentDidBecomeActive):
666 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
667 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
668 * html/HTMLInputElement.h:
669 * html/HTMLMediaElement.cpp:
670 (WebCore::HTMLMediaElement::HTMLMediaElement):
671 (WebCore::HTMLMediaElement::~HTMLMediaElement):
672 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
673 (WebCore::HTMLMediaElement::documentDidBecomeActive):
674 * html/HTMLMediaElement.h:
675 (WebCore::HTMLMediaElement::inActiveDocument):
676 * loader/FrameLoader.cpp:
677 (WebCore::FrameLoader::opened):
678 * page/Page.cpp:
679 (WebCore::Page::~Page):
680 * rendering/RenderMedia.cpp:
681 (WebCore::RenderMedia::updateControls):
682 * rendering/RenderVideo.cpp:
683 (WebCore::RenderVideo::updatePlayer):
684 * svg/SVGSVGElement.cpp:
685 (WebCore::SVGSVGElement::SVGSVGElement):
686 (WebCore::SVGSVGElement::~SVGSVGElement):
687 (WebCore::SVGSVGElement::documentWillBecomeInactive):
688 (WebCore::SVGSVGElement::documentDidBecomeActive):
689 * svg/SVGSVGElement.h:
690
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +00006912008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
692
693 Reviewed by Simon
694
695 Fix the build inside Qt, don't create faulty prl files for now.
696
697 * WebCore.pro:
698
hausmann@webkit.org809f4242008-09-26 13:17:31 +00006992008-09-26 Simon Hausmann <hausmann@webkit.org>
700
701 Fix compilation on Qt/Windows
702
703 * Add WebCore/ to the include path so that config.h is found that enables JSC
704 * Link against winmm for the multimedia timer functions
705 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
706 subdirectory
707 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
708 but set m_window directly as setPlatformWidget takes a QWidget*.
709
710 * WebCore.pro:
711 * platform/win/SystemTimeWin.cpp:
712 * plugins/win/PluginViewWin.cpp:
713 (WebCore::PluginView::init):
714
oliver@apple.com38feb8e2008-09-26 11:53:40 +00007152008-09-26 Oliver Hunt <oliver@apple.com>
716
717 Reviewed by Maciej Stachowiak.
718
719 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
720 <https://bugs.webkit.org/show_bug.cgi?id=21054>
721
722 This performance regression is actually just a symptom of a correctness
723 bug. The constructor objects for a number of properties that have security
724 checks on access were returning new objects each time. The most obvious
725 symptom of this bug is that window.Image != window.Image, etc.
726
727 The solution to this is to make sure we cache these constructors
728 in the same way as all the other DOM constructors. To achieve this
729 without causing any refcount cycles it is necessary to replace the
730 refcounted document pointer in the Image, MessageChannel, Option,
731 XMLHttpRequest, and Audio constructor objects with a reference to
732 the document's JS wrapper.
733
734 Tests: fast/dom/constructors-cached-navigate.html
735 fast/dom/constructors-cached.html
736
737 * WebCore.xcodeproj/project.pbxproj:
738 * bindings/js/JSAudioConstructor.cpp:
739 (WebCore::JSAudioConstructor::mark):
740 * bindings/js/JSAudioConstructor.h:
741 (WebCore::JSAudioConstructor::document):
742 * bindings/js/JSDOMWindowBase.cpp:
743 (WebCore::getDOMConstructor):
744 (WebCore::JSDOMWindowBase::getValueProperty):
745 * bindings/js/JSDOMWindowBase.h:
746 * bindings/js/JSHTMLOptionElementConstructor.cpp:
747 (WebCore::JSHTMLOptionElementConstructor::mark):
748 * bindings/js/JSHTMLOptionElementConstructor.h:
749 (WebCore::JSHTMLOptionElementConstructor::document):
750 * bindings/js/JSImageConstructor.cpp:
751 (WebCore::JSImageConstructor::mark):
752 * bindings/js/JSImageConstructor.h:
753 (WebCore::JSImageConstructor::document):
754 * bindings/js/JSXMLHttpRequestConstructor.cpp:
755 (WebCore::JSXMLHttpRequestConstructor::mark):
756 * bindings/js/JSXMLHttpRequestConstructor.h:
757 (WebCore::JSXMLHttpRequestConstructor::document):
758
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +00007592008-09-26 Simon Hausmann <hausmann@webkit.org>
760
761 Unreviewed one-liner build fix for the Qt/Windows build.
762
763 The build requires NPAPI support to be enabled, fix the condition in
764 the .pro file for that.
765
766 * WebCore.pro:
767
hausmann@webkit.org1ba35342008-09-26 10:51:33 +00007682008-09-26 Trenton Schulz <twschulz@trolltech.com>
769
770 Reviewed by Simon.
771
772 Fix compilation with the Qt/Cocoa port.
773
774 * platform/qt/ScrollViewQt.cpp:
775 (WebCore::ScrollView::updateScrollbars):
776
hausmann@webkit.orge359dd12008-09-26 09:37:09 +00007772008-09-26 Simon Hausmann <hausmann@webkit.org>
778
779 Reviewed by Holger.
780
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +0000781 Fix compilation with VC9SP1, work around bug in TR1 library by
782 disabling it.
783
784 * WebCore.pro:
785
7862008-09-26 Simon Hausmann <hausmann@webkit.org>
787
788 Reviewed by Holger.
789
hausmann@webkit.orge359dd12008-09-26 09:37:09 +0000790 Fix an lupdate() warning.
791
792 Don't use tr() in a class that is not a QObject, use
793 QCoreApplication::translate() directly.
794
795 * platform/qt/ScrollbarQt.cpp:
796 (WebCore::Scrollbar::handleContextMenuEvent):
797
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +00007982008-09-25 David Hyatt <hyatt@apple.com>
799
hyatt@apple.com4c833152008-09-26 06:21:22 +0000800 Remove the scrollTo() method from FrameView, since it is not used by anyone.
801
802 Reviewed by Oliver Hunt
803
804 * page/FrameView.cpp:
805 * page/FrameView.h:
806
8072008-09-25 David Hyatt <hyatt@apple.com>
808
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +0000809 Make scrollRectIntoViewRecursively cross-platform.
810
811 Reviewed by Oliver Hunt
812
813 * platform/ScrollView.cpp:
814 (WebCore::ScrollView::scrollRectIntoViewRecursively):
815 * platform/gtk/ScrollViewGtk.cpp:
816 * platform/mac/ScrollViewMac.mm:
817 * platform/qt/ScrollViewQt.cpp:
818 * platform/win/ScrollViewWin.cpp:
819 * platform/wx/ScrollViewWx.cpp:
820
8212008-09-25 David Hyatt <hyatt@apple.com>
822
hyatt@apple.com25cd25e2008-09-26 06:07:14 +0000823 https://bugs.webkit.org/show_bug.cgi?id=21133
824
825 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
826 cross-platform.
827
828 Reviewed by Oliver Hunt
829
830 * loader/FrameLoader.cpp:
831 (WebCore::FrameLoader::begin):
832 * page/FrameView.cpp:
833 (WebCore::FrameView::adjustViewSize):
834 * platform/ScrollView.cpp:
835 (WebCore::ScrollView::setContentsSize):
836 * platform/ScrollView.h:
837 (WebCore::ScrollView::updateScrollbars):
838 * platform/gtk/ScrollViewGtk.cpp:
839 * platform/mac/ScrollViewMac.mm:
840 (WebCore::ScrollView::platformSetContentsSize):
841 * platform/qt/ScrollViewQt.cpp:
842 * platform/win/ScrollViewWin.cpp:
843 * platform/wx/ScrollViewWx.cpp:
844 (WebCore::ScrollView::platformSetContentsSize):
845
8462008-09-25 David Hyatt <hyatt@apple.com>
847
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +0000848 https://bugs.webkit.org/show_bug.cgi?id=21132
849
850 Clean up the methods that actually do the scrolling in ScrollView.
851
852 Reviewed by Oliver Hunt
853
854 * html/HTMLBodyElement.cpp:
855 (WebCore::HTMLBodyElement::setScrollLeft):
856 (WebCore::HTMLBodyElement::setScrollTop):
857 * loader/FrameLoader.cpp:
858 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
859 * loader/ImageDocument.cpp:
860 (WebCore::ImageDocument::imageClicked):
861 * page/DOMWindow.cpp:
862 (WebCore::DOMWindow::scrollBy):
863 (WebCore::DOMWindow::scrollTo):
864 * page/FrameView.cpp:
865 (WebCore::FrameView::scrollTo):
866 (WebCore::FrameView::setScrollPosition):
867 * page/FrameView.h:
868 * platform/ScrollView.cpp:
869 (WebCore::ScrollView::maximumScrollPosition):
870 * platform/ScrollView.h:
871 (WebCore::ScrollView::contentsWidth):
872 (WebCore::ScrollView::contentsHeight):
873 (WebCore::ScrollView::scrollBy):
874 * platform/gtk/ScrollViewGtk.cpp:
875 (WebCore::ScrollView::setScrollPosition):
876 * platform/mac/ScrollViewMac.mm:
877 (WebCore::ScrollView::setScrollPosition):
878 * platform/qt/ScrollViewQt.cpp:
879 (WebCore::ScrollView::setScrollPosition):
880 (WebCore::ScrollView::scrollRectIntoViewRecursively):
881 * platform/win/ScrollViewWin.cpp:
882 (WebCore::ScrollView::setScrollPosition):
883 (WebCore::ScrollView::scrollRectIntoViewRecursively):
884 * platform/wx/ScrollViewWx.cpp:
885 (WebCore::ScrollView::setScrollPosition):
886 * rendering/RenderLayer.cpp:
887 (WebCore::RenderLayer::scrollByRecursively):
888 (WebCore::RenderLayer::scrollRectToVisible):
889
mitz@apple.com5c920f12008-09-26 05:25:41 +00008902008-09-25 Dan Bernstein <mitz@apple.com>
891
892 - attempted Windows build fix
893
894 * platform/win/ScrollViewWin.cpp:
895 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
896 (WebCore::ScrollView::setContentsPos):
897 (WebCore::ScrollView::paint):
898
timothy@apple.comd884aae2008-09-26 04:35:48 +00008992008-09-25 Timothy Hatcher <timothy@apple.com>
900
901 Revert the padding changes done in r36905 to prevent the
902 scrollbar from overlapping the URLs in the Console.
903
904 https://bugs.webkit.org/show_bug.cgi?id=21126
905
906 * page/inspector/inspector.css:
907
hyatt@apple.comc01fb232008-09-26 04:28:25 +00009082008-09-25 David Hyatt <hyatt@apple.com>
909
910 https://bugs.webkit.org/show_bug.cgi?id=21129
911
912 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
913 of platform-specific methods required of ScrollView implementations.
914
915 Reviewed by Tim Hatcher
916
917 * dom/MouseRelatedEvent.cpp:
918 (WebCore::contentsX):
919 (WebCore::contentsY):
920 * html/HTMLBodyElement.cpp:
921 (WebCore::HTMLBodyElement::scrollLeft):
922 (WebCore::HTMLBodyElement::setScrollLeft):
923 (WebCore::HTMLBodyElement::scrollTop):
924 (WebCore::HTMLBodyElement::setScrollTop):
925 * loader/FrameLoader.cpp:
926 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
927 * page/DOMWindow.cpp:
928 (WebCore::DOMWindow::scrollX):
929 (WebCore::DOMWindow::scrollY):
930 * page/EventHandler.cpp:
931 (WebCore::EventHandler::hitTestResultAtPoint):
932 * page/FrameView.cpp:
933 (WebCore::FrameView::scrollTo):
934 (WebCore::FrameView::windowClipRect):
935 * platform/ScrollView.cpp:
936 (WebCore::ScrollView::visibleContentRect):
937 (WebCore::ScrollView::contentsSize):
938 (WebCore::ScrollView::platformContentsSize):
939 * platform/ScrollView.h:
940 (WebCore::ScrollView::scrollPosition):
941 (WebCore::ScrollView::scrollOffset):
942 (WebCore::ScrollView::scrollX):
943 (WebCore::ScrollView::scrollY):
944 (WebCore::ScrollView::contentsWidth):
945 (WebCore::ScrollView::contentsHeight):
946 * platform/gtk/ScrollViewGtk.cpp:
947 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
948 (WebCore::ScrollView::setGtkAdjustments):
949 (WebCore::ScrollView::resizeContents):
950 (WebCore::ScrollView::contentsWidth):
951 (WebCore::ScrollView::contentsHeight):
952 (WebCore::ScrollView::scrollOffset):
953 (WebCore::ScrollView::maximumScroll):
954 (WebCore::ScrollView::scrollBy):
955 (WebCore::ScrollView::suppressScrollbars):
956 (WebCore::ScrollView::setHScrollbarMode):
957 (WebCore::ScrollView::setVScrollbarMode):
958 (WebCore::ScrollView::setScrollbarsMode):
959 (WebCore::ScrollView::setFrameGeometry):
960 (WebCore::ScrollView::updateScrollbars):
961 * platform/mac/ScrollViewMac.mm:
962 (WebCore::ScrollView::platformContentsSize):
963 (WebCore::ScrollView::scrollBy):
964 * platform/mac/WidgetMac.mm:
965 (WebCore::Widget::convertFromContainingWindow):
966 (WebCore::Widget::convertToContainingWindow):
967 * platform/qt/ScrollViewQt.cpp:
968 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
969 (WebCore::ScrollView::resizeContents):
970 (WebCore::ScrollView::setFrameGeometry):
971 (WebCore::ScrollView::scrollOffset):
972 (WebCore::ScrollView::maximumScroll):
973 (WebCore::ScrollView::scrollBy):
974 (WebCore::ScrollView::setHScrollbarMode):
975 (WebCore::ScrollView::setVScrollbarMode):
976 (WebCore::ScrollView::setScrollbarsMode):
977 (WebCore::ScrollView::updateScrollbars):
978 * platform/win/ScrollViewWin.cpp:
979 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
980 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
981 (WebCore::ScrollView::resizeContents):
982 (WebCore::ScrollView::setFrameGeometry):
983 (WebCore::ScrollView::scrollOffset):
984 (WebCore::ScrollView::maximumScroll):
985 (WebCore::ScrollView::scrollBy):
986 (WebCore::ScrollView::setHScrollbarMode):
987 (WebCore::ScrollView::setVScrollbarMode):
988 (WebCore::ScrollView::setScrollbarsMode):
989 (WebCore::ScrollView::updateScrollbars):
990 * platform/wx/ScrollViewWx.cpp:
991 (WebCore::ScrollView::platformVisibleContentRect):
992 (WebCore::ScrollView::platformContentsSize):
993 * rendering/RenderBlock.cpp:
994 (WebCore::RenderBlock::nodeAtPoint):
995 * rendering/RenderLayer.cpp:
996 (WebCore::RenderLayer::scrollRectToVisible):
997 (WebCore::RenderLayer::calculateClipRects):
998 (WebCore::RenderLayer::calculateRects):
999 * rendering/RenderView.cpp:
1000 (WebCore::RenderView::absolutePosition):
1001 (WebCore::RenderView::computeAbsoluteRepaintRect):
1002
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000010032008-09-25 David Smith <catfish.man@gmail.com>
1004
dsmith@webkit.org0fedb622008-09-26 04:05:57 +00001005 Reviewed by Dave Hyatt.
1006
1007 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
1008
1009 * dom/Element.cpp:
1010 (WebCore::Element::rareData):
1011 * dom/Element.h:
1012 * dom/Node.cpp:
1013 (WebCore::Node::rareData):
1014 * dom/Node.h:
1015
10162008-09-25 David Smith <catfish.man@gmail.com>
1017
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +00001018 Reviewed by Darin Adler.
1019
1020 https://bugs.webkit.org/show_bug.cgi?id=20980
1021 Split off uncommonly used data from Node similar to ElementRareData
1022
1023 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
1024 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
1025 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
1026
1027 * WebCore.base.exp:
1028 * WebCore.xcodeproj/project.pbxproj:
1029 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
1030 * dom/ContainerNode.cpp: Set isContainer to true
1031 (WebCore::ContainerNode::ContainerNode):
1032 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
1033 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
1034 (WebCore::Node::containerChildNode): ditto
1035 (WebCore::Node::containerFirstChild): ditto
1036 (WebCore::Node::containerLastChild): ditto
1037 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
1038 (WebCore::Element::Element):
1039 (WebCore::Element::~Element):
1040 (WebCore::Element::rareData):
1041 (WebCore::Element::ensureRareData): Renamed from createRareData
1042 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
1043 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
1044 (WebCore::Element::detach): ditto
1045 (WebCore::Element::recalcStyle): ditto
1046 (WebCore::Element::focus):
1047 (WebCore::Element::minimumSizeForResizing): ditto
1048 (WebCore::Element::setMinimumSizeForResizing): ditto
1049 (WebCore::Element::computedStyle):
1050 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
1051 * dom/Element.h:
1052 * dom/ElementRareData.h: Added; everything copied from Element.cpp
1053 (WebCore::defaultMinimumSizeForResizing):
1054 (WebCore::ElementRareData::ElementRareData):
1055 (WebCore::ElementRareData::resetComputedStyle):
1056 * dom/EventTargetNode.cpp:
1057 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
1058 * dom/EventTargetNode.h:
1059 * dom/Node.cpp:
1060 (WebCore::Node::Node):
1061 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
1062 (WebCore::Node::rareData):
1063 (WebCore::Node::ensureRareData):
1064 (WebCore::Node::createRareData):
1065 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
1066 (WebCore::Node::setTabIndexExplicitly):
1067 (WebCore::Node::childNodes): NodeLists are now in rareData
1068 (WebCore::Node::setFocus):
1069 (WebCore::Node::rareDataFocused):
1070 (WebCore::Node::isFocusable):
1071 (WebCore::Node::isKeyboardFocusable):
1072 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
1073 (WebCore::Node::unregisterDynamicNodeList): ditto
1074 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
1075 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
1076 (WebCore::Node::getElementsByName): ditto
1077 (WebCore::Node::getElementsByClassName): ditto
1078 * dom/Node.h:
1079 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
1080 (WebCore::Node::lastChild): ditto
1081 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
1082 (WebCore::Node::focused): focus is in rareData if set
1083 (WebCore::Node::childTypeAllowed):
1084 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
1085 (WebCore::Node::childNode): ditto
1086 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
1087 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
1088 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
1089 (WebCore::NodeRareData::NodeRareData):
1090 (WebCore::NodeRareData::rareDataMap):
1091 (WebCore::NodeRareData::rareDataFromMap):
1092 (WebCore::NodeRareData::clearNodeLists):
1093 (WebCore::NodeRareData::setNodeLists):
1094 (WebCore::NodeRareData::nodeLists):
1095 (WebCore::NodeRareData::tabIndex):
1096 (WebCore::NodeRareData::setTabIndex):
1097 (WebCore::NodeRareData::tabIndexSetExplicitly):
1098 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
1099 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
1100
zecke@webkit.orge1370432008-09-26 01:47:30 +000011012008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
1102
1103 Reviewed by Simon Hausmann.
1104
zecke@webkit.org9ea87f62008-09-26 01:54:04 +00001105 [qt] ImageBuffer::toDataURL implementation
1106
1107 There needs to be a Qt specific test result for the above mentioned
1108 implementation.
1109
1110 * platform/graphics/qt/ImageBufferQt.cpp:
1111 (WebCore::ImageBuffer::toDataURL):
1112
11132008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
1114
1115 Reviewed by Simon Hausmann.
1116
zecke@webkit.orge1370432008-09-26 01:47:30 +00001117 [qt] Implement SharedBuffer for Qt.
1118
1119 * WebCore.pro:
1120 * platform/qt/SharedBufferQt.cpp: Added.
1121 (WebCore::SharedBuffer::createWithContentsOfFile):
1122 * platform/qt/TemporaryLinkStubs.cpp:
1123
ddkilzer@apple.com91eae552008-09-26 00:53:18 +000011242008-09-25 Feng Qian <feng@chromium.org>
1125
1126 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
1127 <rdar://problem/6243032>
1128
1129 Reviewed by Dave Hyatt.
1130
1131 Test: fast/dom/attribute-downcast-right.html
1132
1133 Add isMappedAttribute function to Attribute for checking if an object
1134 is an instance of MappedAttribute. Removed attributeItem,
1135 getAttributeItem functions from NamedMappedAttrMap, and callers
1136 expecting MappedAttribute have to check isMappedAttribute before
1137 downcasting the return value to MappedAttribute.
1138
1139 * css/CSSStyleSelector.cpp:
1140 (WebCore::CSSStyleSelector::styleForElement):
1141 * dom/Attribute.h:
1142 (WebCore::Attribute::isMappedAttribute):
1143 * dom/MappedAttribute.h:
1144 (WebCore::MappedAttribute::isMappedAttribute):
1145 * dom/NamedMappedAttrMap.cpp:
1146 (WebCore::NamedMappedAttrMap::declCount):
1147 (WebCore::NamedMappedAttrMap::mapsEquivalent):
1148 * dom/NamedMappedAttrMap.h:
1149 * dom/StyledElement.cpp:
1150 (WebCore::StyledElement::attributeChanged):
1151 * html/HTMLInputElement.cpp:
1152 (WebCore::HTMLInputElement::setInputType):
1153 * svg/SVGForeignObjectElement.cpp:
1154 (WebCore::addCSSPropertyAndNotifyAttributeMap):
1155 * svg/SVGStyledElement.cpp:
1156 (WebCore::SVGStyledElement::getPresentationAttribute):
1157
hyatt@apple.com79be62c2008-09-25 22:25:22 +000011582008-09-25 David Hyatt <hyatt@apple.com>
1159
1160 https://bugs.webkit.org/show_bug.cgi?id=21120
1161
1162 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
1163 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
1164 didn't want to mix that change in with this patch).
1165
1166 Reviewed by Sam Weinig
1167
1168 * page/Frame.cpp:
1169 (WebCore::Frame::markAllMatchesForText):
1170 * page/FrameView.cpp:
1171 (WebCore::FrameView::repaintContentRectangle):
1172 (WebCore::FrameView::windowClipRect):
1173 (WebCore::FrameView::updateControlTints):
1174 * platform/ScrollView.cpp:
1175 (WebCore::ScrollView::visibleContentRect):
1176 (WebCore::ScrollView::platformVisibleContentRect):
1177 * platform/ScrollView.h:
1178 (WebCore::ScrollView::visibleWidth):
1179 (WebCore::ScrollView::visibleHeight):
1180 * platform/gtk/ScrollViewGtk.cpp:
1181 (WebCore::ScrollView::horizontalScrollbar):
1182 (WebCore::ScrollView::verticalScrollbar):
1183 * platform/mac/ScrollViewMac.mm:
1184 (WebCore::ScrollView::horizontalScrollbar):
1185 (WebCore::ScrollView::verticalScrollbar):
1186 (WebCore::ScrollView::platformVisibleContentRect):
1187 * platform/qt/ScrollViewQt.cpp:
1188 (WebCore::ScrollView::horizontalScrollbar):
1189 (WebCore::ScrollView::verticalScrollbar):
1190 * platform/win/ScrollViewWin.cpp:
1191 (WebCore::ScrollView::horizontalScrollbar):
1192 (WebCore::ScrollView::verticalScrollbar):
1193 * platform/wx/ScrollViewWx.cpp:
1194 (WebCore::ScrollView::platformVisibleContentRect):
1195 (WebCore::ScrollView::horizontalScrollbar):
1196 (WebCore::ScrollView::verticalScrollbar):
1197 * rendering/RenderLayer.cpp:
1198 (WebCore::RenderLayer::scrollRectToVisible):
1199 (WebCore::frameVisibleRect):
1200 * rendering/RenderView.cpp:
1201 (WebCore::RenderView::viewRect):
1202
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +000012032008-09-25 David Smith <catfish.man@gmail.com>
1204
1205 Reviewed by Timothy Hatcher
1206
1207 https://bugs.webkit.org/show_bug.cgi?id=21052
1208 Generalize id selector special case for querySelectorAll
1209
1210 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
1211 Changes results on http://native.khan.mozilla.org
1212 from
1213 #title: 2ms
1214 h1#title: 55ms
1215 div #title: 55ms
1216
1217 to:
1218 #title: 1ms
1219 h1#title: 2ms
1220 div #title: 5ms
1221
1222 * dom/Node.cpp:
1223 (WebCore::Node::querySelector):
1224 * dom/SelectorNodeList.cpp:
1225 (WebCore::createSelectorNodeList):
1226
hyatt@apple.com64a3be22008-09-25 20:49:17 +000012272008-09-25 David Hyatt <hyatt@apple.com>
1228
1229 https://bugs.webkit.org/show_bug.cgi?id=21118
1230
1231 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
1232
1233 Reviewed by Sam Weinig
1234
1235 * page/FrameView.cpp:
1236 (WebCore::FrameView::clear):
1237 (WebCore::FrameView::layout):
1238 (WebCore::FrameView::setUseSlowRepaints):
1239 (WebCore::FrameView::addSlowRepaintObject):
1240 (WebCore::FrameView::removeSlowRepaintObject):
1241 * platform/ScrollView.cpp:
1242 (WebCore::ScrollView::init):
1243 (WebCore::ScrollView::addChild):
1244 (WebCore::ScrollView::removeChild):
1245 (WebCore::ScrollView::setCanBlitOnScroll):
1246 * platform/ScrollView.h:
1247 (WebCore::ScrollView::canBlitOnScroll):
1248 * platform/gtk/ScrollViewGtk.cpp:
1249 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1250 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1251 (WebCore::ScrollView::ScrollView):
1252 * platform/mac/ScrollViewMac.mm:
1253 (WebCore::ScrollView::ScrollView):
1254 (WebCore::ScrollView::platformAddChild):
1255 (WebCore::ScrollView::platformRemoveChild):
1256 (WebCore::ScrollView::platformSetCanBlitOnScroll):
1257 * platform/qt/ScrollViewQt.cpp:
1258 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1259 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1260 (WebCore::ScrollView::ScrollView):
1261 * platform/win/ScrollViewWin.cpp:
1262 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1263 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
1264 (WebCore::ScrollView::ScrollView):
1265 * platform/wx/ScrollViewWx.cpp:
1266 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1267 (WebCore::ScrollView::ScrollView):
1268 (WebCore::ScrollView::scrollBy):
1269
kmccullough@apple.com03b515b2008-09-25 20:29:57 +000012702008-09-25 Kevin McCullough <kmccullough@apple.com>
1271
1272 Reviewed by Tim Hatcher.
1273
1274 Bug 21109: Console should right-align urls
1275
1276 * page/inspector/Console.js: Re-order the message elements so that when
1277 it overflows it doesn't get mixed in with the next message.
1278 * page/inspector/inspector.css:
1279
hyatt@apple.com95d18752008-09-25 20:15:44 +000012802008-09-25 David Hyatt <hyatt@apple.com>
1281
1282 https://bugs.webkit.org/show_bug.cgi?id=21113
1283
1284 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
1285
1286 Reviewed by Darin Adler
1287
1288 * css/CSSImportRule.cpp:
1289 (WebCore::CSSImportRule::insertedIntoParent):
1290 * css/CSSRule.cpp:
1291 (WebCore::CSSRule::parentStyleSheet):
1292 (WebCore::CSSRule::parentRule):
1293 * css/CSSStyleSheet.cpp:
1294 (WebCore::CSSStyleSheet::CSSStyleSheet):
1295 * css/CSSStyleSheet.h:
1296
darin@apple.com6ca04432008-09-25 20:02:11 +000012972008-09-25 Darin Adler <darin@apple.com>
1298
1299 Reviewed by Adele Peterson.
1300
1301 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
1302 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
1303 bundled documents
1304
1305 * html/HTMLFormElement.cpp:
1306 (WebCore::HTMLFormElement::formData): Use files() instead of value()
1307 to get the path, since value() now returns just the basename.
1308
beidson@apple.comb9a40052008-09-25 18:37:09 +000013092008-09-25 Brady Eidson <beidson@apple.com>
1310
1311 Rubberstamped by Mark Rowe
1312
1313 Roll out 36771 as it caused <rdar://problem/6246554>
1314 "nytimes.com doesn't display after returning to it with back/forward"
1315
1316 * css/CSSImportRule.cpp:
1317 (WebCore::CSSImportRule::insertedIntoParent):
1318 * css/CSSRule.cpp:
1319 (WebCore::CSSRule::parentStyleSheet):
1320 (WebCore::CSSRule::parentRule):
1321 * css/CSSStyleSheet.cpp:
1322 (WebCore::CSSStyleSheet::CSSStyleSheet):
1323 (WebCore::CSSStyleSheet::docLoader):
1324 * css/CSSStyleSheet.h:
1325 (WebCore::CSSStyleSheet::doc):
1326
aroben@apple.comdf5a7322008-09-25 17:47:15 +000013272008-09-25 Adam Roben <aroben@apple.com>
1328
1329 Windows build fix
1330
1331 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
1332
mitz@apple.com0565bc92008-09-25 17:27:37 +000013332008-09-25 Dan Bernstein <mitz@apple.com>
1334
1335 - Windows build fix
1336
1337 * platform/win/ScrollViewWin.cpp:
1338 (WebCore::ScrollView::addChildPlatformWidget):
1339 (WebCore::ScrollView::removeChildPlatformWidget):
1340
timothy@apple.com7a4bf192008-09-25 17:07:43 +000013412008-09-25 Timothy Hatcher <timothy@apple.com>
1342
1343 Fixes a leak of ConsoleMessage seen when repeated console
1344 messages occur.
1345
1346 Reviewed by Mark Rowe.
1347
1348 * page/InspectorController.cpp:
1349 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
1350 since we don't add it to m_consoleMessages.
1351
kmccullough@apple.com340e7272008-09-25 16:04:20 +000013522008-09-25 Kevin McCullough <kmccullough@apple.com>
1353
kmccullough@apple.com364f2992008-09-25 16:48:34 +00001354 Reviewed by Dan Bernstein.
1355
1356 Bug 21105: XHRs logged in the console may show the wrong URL for the
1357 source
1358 - Get the url at the time of the send() and pass it on to the XHR.
1359
1360 * bindings/js/JSXMLHttpRequestCustom.cpp:
1361 (WebCore::JSXMLHttpRequest::send):
1362 * xml/XMLHttpRequest.cpp:
1363 (WebCore::XMLHttpRequest::didFinishLoading):
1364 * xml/XMLHttpRequest.h:
1365 (WebCore::XMLHttpRequest::setLastSendURL):
1366
13672008-09-25 Kevin McCullough <kmccullough@apple.com>
1368
kmccullough@apple.com340e7272008-09-25 16:04:20 +00001369 Reviewed by Geoff and Tim.
1370
1371 Bug 20322: XHRs logged in the console do not have line numbers
1372 - Get the line number at the time of the send and pass it on to the XHR.
1373
1374 * bindings/js/JSXMLHttpRequestCustom.cpp:
1375 (WebCore::JSXMLHttpRequest::send):
1376 * xml/XMLHttpRequest.cpp:
1377 (WebCore::XMLHttpRequest::XMLHttpRequest):
1378 (WebCore::XMLHttpRequest::didFinishLoading):
1379 * xml/XMLHttpRequest.h:
1380 (WebCore::XMLHttpRequest::setLastSendLineNumber):
1381
eric.carlson@apple.comb9404142008-09-25 15:33:02 +000013822008-09-25 Eric Carlson <eric.carlson@apple.com>
1383
1384 Reviewed by Eric Seidel.
1385
1386 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
1387 https://bugs.webkit.org/show_bug.cgi?id=21003
1388
1389 * dom/EventNames.h: remove "begin" event
1390 * html/HTMLMediaElement.cpp:
1391 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
1392
ap@webkit.orgcdec56d2008-09-25 11:30:02 +000013932008-09-25 Alexey Proskuryakov <ap@webkit.org>
1394
1395 Reviewed by Eric Seidel.
1396
1397 https://bugs.webkit.org/show_bug.cgi?id=21097
1398 Calling a MessageChannel constructor from a destroyed document results in a crash
1399
1400 Test: fast/events/message-port-constructor-for-deleted-document.html
1401
1402 * bindings/js/JSMessageChannelConstructor.cpp:
1403 (WebCore::JSMessageChannelConstructor::construct):
1404 * bindings/js/JSMessageChannelConstructor.h:
1405 Made m_document a RefPtr.
1406
ap@webkit.org28b51752008-09-25 10:15:11 +000014072008-09-24 Alexey Proskuryakov <ap@webkit.org>
1408
1409 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
1410
1411 https://bugs.webkit.org/show_bug.cgi?id=20879
1412 Implement HTML5 channel messaging
1413
1414 Tests: fast/events/message-channel-gc.html
1415 fast/events/message-port-deleted-document.html
1416 fast/events/message-port-deleted-frame.html
1417 fast/events/message-port-inactive-document.html
1418 fast/events/message-port.html
1419 http/tests/security/MessagePort/event-listener-context.html
1420
1421 * Configurations/WebCore.xcconfig:
1422 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
1423
1424 * DerivedSources.make:
1425 Added MessageChannel and MessagePort.
1426
1427 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
1428 turmed off anyway. Added new files.
1429
1430 * GNUmakefile.am:
1431 * WebCore.pro:
1432 * WebCore.vcproj/WebCore.vcproj:
1433 * WebCore.xcodeproj/project.pbxproj:
1434 * WebCoreSources.bkl:
1435 Added new files.
1436
1437 * bindings/js/JSDOMWindowBase.h:
1438 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
1439 Added suport for window.MessageChannel constructor.
1440
1441 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
1442 * page/DOMWindow.cpp:
1443 (WebCore::DOMWindow::postMessage):
1444 * page/DOMWindow.h:
1445 * page/DOMWindow.idl:
1446 Added support for three-argument postMessage (that posts a MessagePort).
1447
1448 * dom/EventTarget.cpp:
1449 (WebCore::EventTarget::toMessagePort):
1450 * dom/EventTarget.h:
1451 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
1452 EventTarget variant.
1453
1454 * bindings/js/JSMessageChannelConstructor.h:
1455 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
1456 take a browsing context (document) parameter.
1457
1458 * bindings/js/JSMessageChannelCustom.cpp: Added.
1459 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
1460 port1 and port2 that it owns.
1461
1462 * bindings/js/JSMessagePortCustom.cpp: Added.
1463 (WebCore::JSMessagePort::startConversation):
1464 (WebCore::JSMessagePort::addEventListener):
1465 (WebCore::JSMessagePort::removeEventListener):
1466 (WebCore::JSMessagePort::dispatchEvent):
1467 (WebCore::JSMessagePort::setOnmessage):
1468 (WebCore::JSMessagePort::onmessage):
1469 (WebCore::JSMessagePort::setOnclose):
1470 (WebCore::JSMessagePort::onclose):
1471 (WebCore::JSMessagePort::mark):
1472 * dom/MessagePort.cpp: Added.
1473 * dom/MessagePort.h: Added.
1474 * dom/MessagePort.idl: Added.
1475 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
1476 with Documents as contexts, but in the future, it will be used for communication with worker
1477 threads.
1478
1479 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
1480 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
1481 needed for MessageEvent.
1482
1483 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
1484
1485 * dom/Document.cpp:
1486 (WebCore::MessagePortTimer::MessagePortTimer):
1487 (WebCore::MessagePortTimer::fired):
1488 (WebCore::Document::processMessagePortMessagesSoon):
1489 (WebCore::Document::~Document):
1490 (WebCore::Document::dispatchMessagePortEvents):
1491 (WebCore::Document::createdMessagePort):
1492 (WebCore::Document::destroyedMessagePort):
1493 * dom/Document.h:
1494 Document keeps track of all MessagePort objects that were created when it was fully active
1495 in its context.
1496
1497 * dom/EventNames.h: Added closeEvent.
1498
1499 * dom/MessageChannel.cpp: Added.
1500 (WebCore::MessageChannel::MessageChannel):
1501 (WebCore::MessageChannel::~MessageChannel):
1502 * dom/MessageChannel.h: Added.
1503 (WebCore::MessageChannel::create):
1504 (WebCore::MessageChannel::port1):
1505 (WebCore::MessageChannel::port2):
1506 * dom/MessageChannel.idl: Added.
1507 Addded JSMessageChannel implementation.
1508
1509 * dom/MessageEvent.cpp:
1510 (WebCore::MessageEvent::MessageEvent):
1511 (WebCore::MessageEvent::initMessageEvent):
1512 * dom/MessageEvent.h:
1513 (WebCore::MessageEvent::create):
1514 (WebCore::MessageEvent::messagePort):
1515 * dom/MessageEvent.idl:
1516 MessageEvent has a MessagePort member now, making it possible to pass ports across
1517 documents.
1518
dsmith@webkit.org3e32f422008-09-25 08:57:31 +000015192008-09-25 David Smith <catfish.man@gmail.com>
1520
1521 Reviewed by Eric Seidel
1522
1523 fix https://bugs.webkit.org/show_bug.cgi?id=21091
1524 Regression: querySelector matches tag names case sensitively
1525
1526 Tests: fast/dom/SelectorAPI/caseTag.html
1527 fast/dom/SelectorAPI/caseTagX.xhtml
1528
1529 * css/CSSParser.cpp:
1530 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
1531 * css/CSSParser.h:
1532 * dom/Node.cpp:
1533 (WebCore::Node::querySelector):
1534 (WebCore::Node::querySelectorAll):
1535
hyatt@apple.com912c1b12008-09-25 07:38:56 +000015362008-09-24 David Hyatt <hyatt@apple.com>
1537
1538 https://bugs.webkit.org/show_bug.cgi?id=21084
1539
1540 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
1541 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
1542
1543 Reviewed by Sam Weinig
1544
1545 * GNUmakefile.am:
1546 * WebCore.pro:
1547 * WebCore.vcproj/WebCore.vcproj:
1548 * WebCore.xcodeproj/project.pbxproj:
1549 * WebCoreSources.bkl:
1550 * platform/ScrollView.h:
1551 (WebCore::ScrollView::children):
1552 * platform/Widget.h:
1553 * platform/gtk/ScrollViewGtk.cpp:
1554 (WebCore::ScrollView::addChildPlatformWidget):
1555 (WebCore::ScrollView::removeChildPlatformWidget):
1556 (WebCore::ScrollView::geometryChanged):
1557 * platform/mac/ScrollViewMac.mm:
1558 (WebCore::ScrollView::addChildPlatformWidget):
1559 (WebCore::ScrollView::removeChildPlatformWidget):
1560 * platform/qt/ScrollViewQt.cpp:
1561 (WebCore::ScrollView::geometryChanged):
1562 (WebCore::ScrollView::addChildPlatformWidget):
1563 (WebCore::ScrollView::removeChildPlatformWidget):
1564 * platform/win/ScrollViewWin.cpp:
1565 (WebCore::ScrollView::geometryChanged):
1566 (WebCore::ScrollView::setParentVisible):
1567 (WebCore::ScrollView::show):
1568 (WebCore::ScrollView::hide):
1569 * platform/wx/ScrollViewWx.cpp:
1570 (WebCore::ScrollView::addChildPlatformWidget):
1571 (WebCore::ScrollView::removeChildPlatformWidget):
1572
mitz@apple.com982d2cc2008-09-25 07:16:05 +000015732008-09-25 Dan Bernstein <mitz@apple.com>
1574
1575 Reviewed by Dave Hyatt.
1576
1577 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
1578 <rdar://problem/6240821> Scrollbar not painted until hovered
1579
1580 * rendering/RenderWidget.cpp:
1581 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
1582 this method, which sets both the location and the size.
1583 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
1584 with a call to the new method setWidgetGeometry. Positioning the
1585 widget correctly ensures that the scroll bars invalidate correctly when
1586 they are created and resized.
1587 * rendering/RenderWidget.h:
1588
mitz@apple.com61969a62008-09-25 00:50:05 +000015892008-09-24 Dan Bernstein <mitz@apple.com>
1590
1591 Rubber-stamped by Sam Weinig.
1592
1593 - create a "style" subfolder under "rendering" and move style files to that folder
1594
1595 * WebCore.vcproj/WebCore.vcproj:
1596
weinig@apple.comacfb9e12008-09-25 00:39:11 +000015972008-09-24 Sam Weinig <sam@webkit.org>
1598
1599 Reviewed by Maciej Stachowiak.
1600
1601 Remove staticFunctionGetter. There is only one remaining user of
1602 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
1603
1604 * bindings/js/JSDOMWindowBase.cpp:
1605 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
1606
mitz@apple.com0cb3dff2008-09-24 23:40:29 +000016072008-09-24 Jeremy Moskovich <jeremy@chromium.org>
1608
1609 Reviewed by Dan Bernstein.
1610
1611 Test: editing/spelling/inline_spelling_markers.html
1612
1613 - https://bugs.webkit.org/show_bug.cgi?id=20092
1614 Spelling markers positioned incorrectly in RTL text
1615
1616 Measure spelling markers with selectionRectForText() to fix RTL.
1617
1618 This patch also fixes hit-testing for spelling marker tool tips,
1619 which used to work only on the first line.
1620
1621 * rendering/InlineTextBox.cpp:
1622 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1623
hyatt@apple.come5925322008-09-24 21:28:08 +000016242008-09-24 David Hyatt <hyatt@apple.com>
1625
hyatt@apple.com31cd6d62008-09-24 21:45:19 +00001626 https://bugs.webkit.org/show_bug.cgi?id=21074
1627
hyatt@apple.come5925322008-09-24 21:28:08 +00001628 Make sure the viewless scrollbar knows how to paint properly when transformed.
1629
1630 Reviewed by Sam Weinig
1631
1632 * platform/mac/ScrollbarThemeMac.mm:
1633 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1634 (WebCore::ScrollbarThemeMac::paint):
1635
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +000016362008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
1637
1638 Not reviewed. Try to fix win build.
1639
1640 * bindings/js/JSSVGElementInstanceCustom.cpp:
1641 (WebCore::toJS):
1642 * dom/ContainerNodeAlgorithms.h:
1643 (WebCore::removeAllChildrenInContainer):
1644 (WebCore::appendChildToContainer):
1645 (WebCore::Private::addChildNodesToDeletionQueue):
1646
16472008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
1648
1649 Reviewed by Oliver.
1650
1651 Add ContainerNodeAlgorithms.h, as central place to share algorithms
1652 operating on TreeShared-derived classes with a Node-style interface.
1653
1654 This allows SVGElementInstance & ContainerNode to share code.
1655
1656 * dom/ContainerNode.cpp:
1657 (WebCore::ContainerNode::removeAllChildren):
1658 (WebCore::ContainerNode::addChild):
1659 * dom/ContainerNode.h:
1660 * dom/ContainerNodeAlgorithms.h: Added.
1661 (WebCore::removeAllChildrenInContainer):
1662 (WebCore::appendChildToContainer):
1663 (WebCore::Private::NodeRemovalDispatcher::dispatch):
1664 (WebCore::Private::addChildNodesToDeletionQueue):
1665
simon.fraser@apple.com557a0472008-09-24 21:08:23 +000016662008-09-24 Simon Fraser <simon.fraser@apple.com>
1667
1668 Reviewed by Dave Hyatt
1669
1670 Wrap up dirtying the z-order list of the stacking context
1671 RenderLayer into a method.
1672 https://bugs.webkit.org/show_bug.cgi?id=21072
1673
1674 * rendering/RenderLayer.cpp:
1675 (WebCore::RenderLayer::setHasVisibleContent):
1676 (WebCore::RenderLayer::addChild):
1677 (WebCore::RenderLayer::removeChild):
1678 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
1679 (WebCore::RenderLayer::styleChanged):
1680 * rendering/RenderLayer.h:
1681 * rendering/RenderObject.cpp:
1682 (WebCore::RenderObject::setStyle):
1683
kmccullough@apple.comaf908e62008-09-24 20:22:23 +000016842008-09-24 Kevin McCullough <kmccullough@apple.com>
1685
1686 Reviewed by Tim.
1687
1688 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
1689 or displayed multiple times
1690 - The Insepctor Controller was comparing JSValue pointers so thought the
1691 message was not a repeat, but the JS of the inspector compared the
1692 strings and so knew it was the same message and so overwrote the old
1693 message.
1694
1695 * page/InspectorController.cpp:
1696 (WebCore::ConsoleMessage::isEqual):
1697 (WebCore::InspectorController::addMessageToConsole):
1698 (WebCore::InspectorController::addConsoleMessage):
1699 (WebCore::InspectorController::startGroup):
1700 (WebCore::InspectorController::endGroup):
1701 * page/InspectorController.h:
1702
hyatt@apple.comf4c8f172008-09-24 20:19:26 +000017032008-09-24 David Hyatt <hyatt@apple.com>
1704
1705 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
1706 arrow placement preference and the thumb jump preference).
1707
1708 Reviewed by Adam Roben
1709
1710 * platform/Scrollbar.cpp:
1711 (WebCore::Scrollbar::Scrollbar):
1712 (WebCore::Scrollbar::~Scrollbar):
1713 * platform/ScrollbarTheme.h:
1714 (WebCore::ScrollbarTheme::registerScrollbar):
1715 (WebCore::ScrollbarTheme::unregisterScrollbar):
1716 * platform/mac/ScrollbarThemeMac.h:
1717 * platform/mac/ScrollbarThemeMac.mm:
1718 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1719 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
1720 (+[ScrollbarPrefsObserver registerAsObserver]):
1721 (WebCore::ScrollbarThemeMac::registerScrollbar):
1722 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
1723 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
1724 (WebCore::ScrollbarThemeMac::preferencesChanged):
1725
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +000017262008-09-24 Rob Buis <buis@kde.org>
1727
1728 Reviewed by Darin.
1729
1730 https://bugs.webkit.org/show_bug.cgi?id=20557
1731 getScreenCTM() returns wrong values
1732
1733 Use the absolute position of the svg root when
1734 determining the screen ctm.
1735
1736 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
1737
1738 * svg/SVGSVGElement.cpp:
1739 (WebCore::SVGSVGElement::getScreenCTM):
1740
hyatt@apple.com40a73652008-09-24 18:15:15 +000017412008-09-24 David Hyatt <hyatt@apple.com>
1742
hyatt@apple.come77b7d42008-09-24 18:26:51 +00001743 Turn off support for CSS variables.
1744
1745 * ChangeLog:
1746 * css/CSSParser.cpp:
1747 (WebCore::CSSParser::createVariablesRule):
1748 (WebCore::CSSParser::addVariable):
1749 (WebCore::CSSParser::addVariableDeclarationBlock):
1750
17512008-09-24 David Hyatt <hyatt@apple.com>
1752
hyatt@apple.com40a73652008-09-24 18:15:15 +00001753 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
1754
1755 * css/CSSGrammar.y:
1756 * css/CSSParserValues.cpp:
1757 (WebCore::CSSParserValue::isVariable):
1758 * css/CSSPrimitiveValue.cpp:
1759 (WebCore::CSSPrimitiveValue::cleanup):
1760 (WebCore::CSSPrimitiveValue::getStringValue):
1761 (WebCore::CSSPrimitiveValue::cssText):
1762 (WebCore::CSSPrimitiveValue::parserValue):
1763 * css/CSSPrimitiveValue.h:
1764 (WebCore::CSSPrimitiveValue::):
1765 (WebCore::CSSPrimitiveValue::isVariable):
1766
timothy@apple.com0214f092008-09-24 16:23:17 +000017672008-09-24 Timothy Hatcher <timothy@apple.com>
1768
1769 Fixes a regression where the "incorrect MIME-type" warning would not
1770 show up correctly in the Console or the resources sidebar.
1771
1772 Reviewed by Kevin McCullough.
1773
1774 * page/inspector/Resource.js:
1775 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
1776 to the WebInspector.ConsoleMessage constructor call.
1777 (WebInspector.Resource.prototype._checkWarning): Ditto.
1778
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +000017792008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
1780
1781 Reviewed by Simon.
1782
1783 Remove deprecated JS Qt bindings object call/construct code and fix autotests
1784
1785 * bridge/qt/qt_instance.cpp:
1786 (JSC::Bindings::QtInstance::QtInstance):
1787 * bridge/qt/qt_instance.h:
1788
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +000017892008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
1790
1791 Reviewed by Alp Toker. Landed by Jan Alonzo.
1792
1793 Bug 20883: [CURL] Add deferred loading
1794 https://bugs.webkit.org/show_bug.cgi?id=20883
1795
1796 Implement deferred loading for the libcURL backend using curl_easy_pause.
1797 As the method was introduced in version 7.18.0, all the code checks for libcURL
1798 version.
1799
1800 * platform/network/curl/ResourceHandleCurl.cpp:
1801 (WebCore::ResourceHandle::setDefersLoading):
1802 * platform/network/curl/ResourceHandleManager.cpp:
1803 (WebCore::writeCallback): Add an assertion that deferred loading is not
1804 activated.
1805 (WebCore::headerCallback): Ditto.
1806 (WebCore::readCallback): Ditto.
1807 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
1808 defersLoading to be false in order to avoid triggering an assertion.
1809 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
1810 activated, pause the easy handle.
1811
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +000018122008-09-23 Matt Lilek <webkit@mattlilek.com>
1813
1814 Reviewed by Tim Hatcher.
1815
1816 Inspector search field style tweaks.
1817
1818 * page/inspector/inspector.css:
1819
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +000018202008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
1821
1822 Reviewed by Eric.
1823
1824 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
1825
1826 Fix missing negation in EventTargetNode::insertedIntoDocument.
1827 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
1828 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
1829
1830 * dom/EventTargetNode.cpp:
1831 (WebCore::EventTargetNode::insertedIntoDocument):
1832 (WebCore::EventTargetNode::dispatchGenericEvent):
1833 * dom/EventTargetNode.h:
1834
timothy@apple.combffde042008-09-24 02:07:39 +000018352008-09-23 Timothy Hatcher <timothy@apple.com>
1836
timothy@apple.com99c03532008-09-24 02:08:44 +00001837 Adds search support to the Profiles panel.
1838
1839 The Profiles panel supports a few types of queries:
1840 * Standard string matching for function names and file URLs.
1841 * Greater than and less than search for numeric columns.
1842 So a query of ">24" will match all rows that have calls
1843 greater than 24. Or "<=42" will match all 42 or less.
1844 * Percent and time units. Adding a unit of "s", "ms" or "%"
1845 is supported and will match only the Self and Total columns.
1846 So a query of ">1.25s" will match all rows that took longer
1847 than 1.25 seconds.
1848
1849 Reviewed by Oliver Hunt.
1850
1851 * page/inspector/ProfileView.js:
1852 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
1853 it will start at the first result.
1854 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
1855 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
1856 data grid nodes.
1857 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
1858 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
1859 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
1860 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
1861 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
1862 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
1863 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
1864 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
1865 Expand all the ancestors first so the profile node will have a DataGridNode.
1866 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
1867 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
1868 have search matches.
1869 * page/inspector/ProfilesPanel.js:
1870 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1871 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
1872 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
1873 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
1874 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
1875 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
1876 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
1877 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
1878 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
1879 * page/inspector/inspector.css: New style rules for the cell highlight color.
1880
18812008-09-23 Timothy Hatcher <timothy@apple.com>
1882
timothy@apple.com33c28442008-09-24 02:08:39 +00001883 Adds search support to the Resources and Scripts panels.
1884
1885 https://bugs.webkit.org/show_bug.cgi?id=21005
1886
1887 Reviewed by Oliver Hunt.
1888
1889 * page/inspector/Images/searchSmallBlue.png: Added.
1890 * page/inspector/Images/searchSmallBrightBlue.png: Added.
1891 * page/inspector/Images/searchSmallGray.png: Added.
1892 * page/inspector/Images/searchSmallWhite.png: Added.
1893 * page/inspector/ResourceView.js:
1894 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
1895 or "script-resource-views" since one might not be created yet.
1896 * page/inspector/ResourcesPanel.js:
1897 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
1898 are not this panel's current visible view. This can happen when a ResourceView is
1899 visible in the Scripts panel then switched to the this panel.
1900 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
1901 visibleView first.
1902 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
1903 that uses the current graph search function. So cycling through results will be in the order
1904 things appear in the sidebar.
1905 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
1906 resource's sidebar tree element.
1907 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
1908 in the sidebar. Calls the Panel prototype's searchCanceled.
1909 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
1910 in the sidebar. Calls the Panel prototype's performSearch.
1911 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1912 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
1913 if there is a current search query.
1914 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
1915 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
1916 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
1917 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
1918 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
1919 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
1920 * page/inspector/ScriptView.js:
1921 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
1922 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
1923 it will start at the first result.
1924 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
1925 highlighting complete".
1926 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
1927 * page/inspector/ScriptsPanel.js:
1928 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
1929 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
1930 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
1931 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
1932 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
1933 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
1934 * page/inspector/SourceFrame.js:
1935 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
1936 * page/inspector/SourceView.js:
1937 (WebInspector.SourceView.prototype.hide):
1938 (WebInspector.SourceView.prototype.detach):
1939 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
1940 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
1941 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
1942 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
1943 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
1944 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
1945 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
1946 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
1947 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
1948 (WebInspector.SourceView.prototype.showingFirstSearchResult):
1949 (WebInspector.SourceView.prototype.showingLastSearchResult):
1950 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
1951 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
1952 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
1953 * page/inspector/inspector.css:
1954
19552008-09-23 Timothy Hatcher <timothy@apple.com>
1956
timothy@apple.com18950ed2008-09-24 02:08:32 +00001957 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
1958 so future code can be shared.
1959
1960 https://bugs.webkit.org/show_bug.cgi?id=21005
1961
1962 Reviewed by Oliver Hunt.
1963
1964 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
1965 And visibleResourceView to visibleView.
1966 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
1967
19682008-09-23 Timothy Hatcher <timothy@apple.com>
1969
timothy@apple.comcb23f4a2008-09-24 02:08:27 +00001970 Highlight all matched search results in the Elements panel DOM tree.
1971
1972 https://bugs.webkit.org/show_bug.cgi?id=21005
1973
1974 Reviewed by Oliver Hunt.
1975
1976 * page/inspector/ElementsPanel.js:
1977 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
1978 on all previous search results.
1979 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
1980 on all new search results.
1981 * page/inspector/ElementsTreeOutline.js:
1982 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
1983 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
1984 the highlighted class on the listItemElement.
1985 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
1986 if needed. Calls _updateTitle.
1987 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
1988 class so it can be styled when the highlighted class is present.
1989 * page/inspector/inspector.css: New style rules for the hihglight.
1990
19912008-09-23 Timothy Hatcher <timothy@apple.com>
1992
timothy@apple.com574c0522008-09-24 02:08:19 +00001993 Add search support to the Elements panel.
1994
1995 https://bugs.webkit.org/show_bug.cgi?id=21005
1996
1997 Reviewed by Oliver Hunt.
1998
1999 * page/inspector/ElementsPanel.js:
2000 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
2001 with a 0 match count to rest. Reset the other search properties.
2002 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
2003 query and a CSS selector on all the Documents in the page. Remembers the found nodes
2004 and avoids duplicates. Focuses the first result.
2005 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
2006 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
2007
20082008-09-23 Timothy Hatcher <timothy@apple.com>
2009
timothy@apple.com82d233c2008-09-24 02:08:15 +00002010 Add support to Panel that allows easy searching of sub-views.
2011
2012 https://bugs.webkit.org/show_bug.cgi?id=21005
2013
2014 Reviewed by Oliver Hunt.
2015
2016 * page/inspector/Panel.js:
2017 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
2018 views in the search results and delete the currentQuery property. Call
2019 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
2020 other search properties.
2021 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
2022 reset everything we need before doing a new search. Get an array of searchableViews
2023 from the panel, implemented by sub-classes. Iterate over the views one-by-one
2024 with an interval to prevent blocking the UI for large lists of searchableViews.
2025 This keeps the interface really responsive. Pass a finishedCallback function to
2026 the performSearch on each view so it can notify the panel of results.
2027 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
2028 searchResults of the visibleView, so we know where in the results we are.
2029 This is done every time incase the user manually navigates to a new view.
2030 If the view is showing the last result, jump to the next view and show it's
2031 first result. Otherwise jump to the next result in the current view.
2032 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
2033
20342008-09-23 Timothy Hatcher <timothy@apple.com>
2035
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +00002036 Add support for asking the current panel to perform a search, find next/previous and clear.
2037 A search is performed on the new new current panel when switching between panels. The search
2038 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
2039 be searched. The search field contents are selected when Command/Control-F or Enter/Return
2040 is pressed, so the user can easily type an entirely new query. The search match count shows
2041 up in the toolbar next to the search field.
2042
2043 Also changed:
2044 * Rename lastQuery to currentQuery since it better matches the truth.
2045 * Set the search field "results" attribute to zero since results arn't saved for
2046 how we use the search field.
2047 * Make repeated presses of the Return key jump to the next search result instead
2048 of doing nothing.
2049 * Increased the search field width.
2050
2051 https://bugs.webkit.org/show_bug.cgi?id=21005
2052
2053 Reviewed by Oliver Hunt.
2054
2055 * English.lproj/localizedStrings.js: New strings.
2056 * page/inspector/inspector.css: New styles.
2057 * page/inspector/inspector.html: Add the search-results-matches element. Add the
2058 incremental attribute to the search field and set the results attribute to zero.
2059 * page/inspector/inspector.js:
2060 (WebInspector.set currentPanel): perform the search on the new panel.
2061 (WebInspector.loaded): Change the event listeners and remove code that changes
2062 the search label text.
2063 (WebInspector.documentKeyDown): Add support for Command/Control-G and
2064 Command/Control-Shift-G. To jump to the next and previous search results.
2065 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
2066 This does different things depending on the attached state.
2067 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
2068 This prevents a "search" event from firing for key down. We handle the Enter key
2069 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
2070 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
2071 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
2072 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
2073 Call updateSearchMatchesCount to reset the matches count in the toolbar.
2074 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
2075
20762008-09-23 Timothy Hatcher <timothy@apple.com>
2077
timothy@apple.com1d5227a2008-09-24 02:08:01 +00002078 Remove the previous Inspector search code to make room for the new stuff.
2079
2080 https://bugs.webkit.org/show_bug.cgi?id=21005
2081
2082 Reviewed by Oliver Hunt.
2083
2084 * page/inspector/inspector.css:
2085 * page/inspector/inspector.html:
2086 * page/inspector/inspector.js:
2087 (WebInspector.get/set showingSearchResults): Removed.
2088 (WebInspector.searchResultsKeyDown): Removed.
2089 (WebInspector.searchResultsResizerDragStart): Removed.
2090 (WebInspector.searchResultsResizerDragEnd): Removed.
2091 (WebInspector.searchResultsResizerDrag): Removed.
2092 (WebInspector.performSearch): Removed searching parts.
2093
20942008-09-23 Timothy Hatcher <timothy@apple.com>
2095
timothy@apple.com5e915b722008-09-24 02:07:56 +00002096 Use the Array.remove helper function in more places.
2097
2098 https://bugs.webkit.org/show_bug.cgi?id=21037
2099
2100 Reviewed by Kevin McCullough.
2101
2102 * page/inspector/ResourceCategory.js:
2103 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
2104 * page/inspector/ResourcesPanel.js:
2105 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
2106 * page/inspector/inspector.js:
2107 (WebInspector.removeResource): Ditto.
2108
21092008-09-23 Timothy Hatcher <timothy@apple.com>
2110
timothy@apple.com3e116f12008-09-24 02:07:50 +00002111 Fixes a bug where inspecting a node after reloading the page
2112 would not reveal the node in the DOM tree. The TreeOutline
2113 was not being told to forget decendants of a removed child.
2114 So old TreeElements would be found that are not in the tree.
2115
2116 https://bugs.webkit.org/show_bug.cgi?id=21036
2117
2118 Reviewed by Kevin McCullough.
2119
2120 * page/inspector/treeoutline.js:
2121 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
2122 in addition to _forgetTreeElement.
2123 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
2124 in addition to _forgetTreeElement.
2125 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
2126 search for known elements.
2127 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
2128 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
2129 descendants and call _forgetTreeElement.
2130 * page/inspector/utilities.js:
2131 (Array.prototype.remove): Speed up this function by using Array.indexOf
2132 when onlyFirst is true.
2133
21342008-09-23 Timothy Hatcher <timothy@apple.com>
2135
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +00002136 Fixes a bug where inspecting some short text nodes does
2137 not reveal them in the Elements panel DOM tree.
2138
2139 https://bugs.webkit.org/show_bug.cgi?id=21035
2140
2141 Reviewed by Oliver Hunt.
2142
2143 * page/inspector/ElementsTreeOutline.js:
2144 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
2145 The revealAndSelectNode() method might find a different element
2146 if there is inlined text, and the select() call would change the
2147 focusedDOMNode and reenter this setter. So to avoid calling
2148 focusedNodeChanged() twice, first check if _focusedDOMNode is
2149 the same node as the one passed in.
2150 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
2151 this.treeOutline, since this is the TreeOutline.
2152 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
2153 Provides default functions for isAncestor, getParet and equal.
2154 Calls the base protoype's findTreeElement. If that returns null
2155 and the node is a text node, try finding it's parent.
2156 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
2157 Renamed to revealAndSelectNode.
2158 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
2159 Selects and reveals the node passed in. Use the simple findTreeElement.
2160 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
2161 Remove use of this.treeOutline, since this is the TreeOutline.
2162
21632008-09-23 Timothy Hatcher <timothy@apple.com>
2164
timothy@apple.combffde042008-09-24 02:07:39 +00002165 Fixes an exception that happened when removing a Resource
2166 from the ResourcesPanel.
2167
2168 https://bugs.webkit.org/show_bug.cgi?id=21034
2169
2170 Reviewed by Kevin McCullough.
2171
2172 * page/inspector/ResourcesPanel.js:
2173 (WebInspctor.ResourcesPanel.prototype.removeResource):
2174 Remove the graphElement.
2175
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000021762008-09-23 Kevin McCullough <kmccullough@apple.com>
2177
2178 Fixed "Time" to "Tim"
2179
2180 * ChangeLog:
2181
zimmermann@webkit.org718a2232008-09-24 01:00:42 +000021822008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
2183
2184 Reviewed by Oliver.
2185
2186 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
2187 from SVGDocumentExtensions to SVGElement. It's more useful to store
2188 the list of SVGElementInstances per SVGElement, instead of using
2189 a document-wide hash for this purpose.
2190
2191 * svg/SVGAnimateMotionElement.cpp:
2192 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
2193 * svg/SVGAnimateTransformElement.cpp:
2194 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2195 * svg/SVGAnimationElement.cpp:
2196 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2197 * svg/SVGDocumentExtensions.cpp:
2198 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
2199 * svg/SVGDocumentExtensions.h:
2200 * svg/SVGElement.cpp:
2201 (WebCore::SVGElement::mapInstanceToElement):
2202 (WebCore::SVGElement::removeInstanceMapping):
2203 (WebCore::SVGElement::instancesForElement):
2204 * svg/SVGElement.h:
2205 * svg/SVGElementInstance.cpp:
2206 (WebCore::SVGElementInstance::SVGElementInstance):
2207 (WebCore::SVGElementInstance::~SVGElementInstance):
2208 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
2209 * svg/SVGElementInstance.h:
2210 * svg/SVGStyledElement.cpp:
2211 (WebCore::SVGStyledElement::svgAttributeChanged):
2212 (WebCore::SVGStyledElement::childrenChanged):
2213 * svg/SVGStyledElement.h:
2214
kevino@webkit.org706ea432008-09-24 00:53:56 +000022152008-09-23 Kevin Ollivier <kevino@theolliviers.com>
2216
2217 wx build fix.
2218
2219 * WebCoreSources.bkl:
2220
zimmermann@webkit.org97c71082008-09-24 00:23:28 +000022212008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
2222
2223 Rubber stamped by Sam.
2224
2225 Move code from EventTarget to EventTargetNode.
2226
2227 I refactored most parts to live in EventTarget, a year ago,
2228 though the implementation of EventTargetSVGElementInstance is
2229 done in another way, that obsoletes this.
2230
2231 * dom/Document.cpp:
2232 (WebCore::Document::addListenerTypeIfNeeded):
2233 * dom/Document.h:
2234 * dom/EventTarget.cpp:
2235 * dom/EventTarget.h:
2236 (WebCore::allowEventDispatch):
2237 * dom/EventTargetNode.cpp:
2238 (WebCore::EventTargetNode::insertedIntoDocument):
2239 (WebCore::EventTargetNode::removedFromDocument):
2240 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
2241 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
2242 (WebCore::EventTargetNode::addEventListener):
2243 (WebCore::EventTargetNode::removeEventListener):
2244 (WebCore::EventTargetNode::removeAllEventListeners):
2245 (WebCore::EventTargetNode::handleLocalEvents):
2246 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
2247 (WebCore::EventTargetNode::dispatchEvent):
2248 (WebCore::EventTargetNode::dispatchGenericEvent):
2249 (WebCore::EventTargetNode::dispatchWindowEvent):
2250 (WebCore::EventTargetNode::removeEventListenerForType):
2251 * dom/EventTargetNode.h:
2252 * svg/EventTargetSVGElementInstance.cpp:
2253 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
2254 * svg/SVGElement.cpp:
2255 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
2256 * svg/SVGElement.h:
2257 (WebCore::SVGElement::supplementalTransform):
2258
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +000022592008-09-23 Dave Hyatt <hyatt@apple.com>
2260
2261 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
2262 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
2263
2264 Reviewed by Sam Weinig
2265
2266 * platform/mac/ScrollbarThemeMac.mm:
2267 (WebCore::ScrollbarThemeMac::trackRect):
2268 * platform/win/ScrollbarThemeSafari.cpp:
2269 (WebCore::ScrollbarTheme::nativeTheme):
2270 (WebCore::ScrollbarThemeSafari::trackRect):
2271
bdakin@apple.comaab5d692008-09-24 00:09:33 +000022722008-09-23 Beth Dakin <bdakin@apple.com>
2273
2274 Reviewed by Sam Weinig.
2275
2276 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
2277 link at gmail does not support AXPress action
2278 and corresponding: <rdar://problem/6216178>
2279
2280 I fixed this bug by making AccessibilityObject::anchorElement
2281 support ARIA links.
2282
2283 * page/AccessibilityImageMapLink.cpp:
2284 (WebCore::AccessibilityImageMapLink::anchorElement):
2285 * page/AccessibilityImageMapLink.h:
2286 * page/AccessibilityObject.cpp:
2287 (WebCore::AccessibilityObject::anchorElement):
2288 * page/AccessibilityObject.h:
2289 (WebCore::AccessibilityObject::isNativeAnchor):
2290 * page/AccessibilityRenderObject.cpp:
2291 (WebCore::AccessibilityRenderObject::isNativeAnchor):
2292 (WebCore::AccessibilityRenderObject::anchorElement):
2293 (WebCore::AccessibilityRenderObject::internalLinkElement):
2294 (WebCore::AccessibilityRenderObject::url):
2295 * page/AccessibilityRenderObject.h:
2296 * page/mac/AccessibilityObjectWrapper.mm:
2297 (AXLinkElementForNode):
2298
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000022992008-09-23 Kevin McCullough <kmccullough@apple.com>
2300
kmccullough@apple.com70d32f22008-09-24 01:18:31 +00002301 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +00002302
2303 Bug 20949: Catch repeated messages in Inspector Controller to limit
2304 memory usage
2305 - Store the repeat count in the Console Message object, in the
2306 Inspector Controller and JS ConsoleMessage object.
2307
2308 * page/InspectorController.cpp:
2309 (WebCore::ConsoleMessage::ConsoleMessage):
2310 (WebCore::ConsoleMessage::operator==):
2311 (WebCore::InspectorController::InspectorController):
2312 (WebCore::InspectorController::addConsoleMessage):
2313 (WebCore::InspectorController::addScriptConsoleMessage):
2314 * page/InspectorController.h:
2315 * page/inspector/Console.js:
2316 * page/inspector/Resource.js:
2317 * page/inspector/ResourcesPanel.js:
2318 * page/inspector/SourceFrame.js:
2319
zimmermann@webkit.org29d22032008-09-23 23:44:20 +000023202008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
2321
2322 Reviewed by Eric.
2323
2324 Working on proper EventTarget support for SVGElementInstance.
2325
2326 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
2327 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
2328
2329 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
2330 implementation. Let it use TreeShared directly.
2331
2332 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
2333 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
2334
2335 * GNUmakefile.am:
2336 * WebCore.pro:
2337 * WebCore.vcproj/WebCore.vcproj:
2338 * WebCore.xcodeproj/project.pbxproj:
2339 * bindings/js/JSEventTargetBase.cpp:
2340 (WebCore::retrieveEventTargetAndCorrespondingNode):
2341 (WebCore::toJS):
2342 * bindings/js/JSEventTargetBase.h:
2343 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
2344 (WebCore::):
2345 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
2346 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
2347 (WebCore::JSEventTargetSVGElementInstance::setListener):
2348 (WebCore::JSEventTargetSVGElementInstance::getListener):
2349 (WebCore::toEventTargetSVGElementInstance):
2350 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
2351 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
2352 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
2353 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
2354 (WebCore::JSEventTargetSVGElementInstance::put):
2355 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
2356 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
2357 (WebCore::toJS):
2358 * bindings/objc/DOM.mm:
2359 (+[DOMNode _wrapEventTarget:WebCore::]):
2360 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
2361 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
2362 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
2363 (-[DOMSVGElementInstance WebCore::]):
2364 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
2365 (-[DOMSVGElementInstance addEventListener:::]):
2366 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
2367 (-[DOMSVGElementInstance removeEventListener:::]):
2368 (-[DOMSVGElementInstance dispatchEvent:]):
2369 * bindings/objc/DOMEvents.h:
2370 * bindings/scripts/CodeGeneratorJS.pm:
2371 * bindings/scripts/CodeGeneratorObjC.pm:
2372 * svg/EventTargetSVGElementInstance.cpp: Added.
2373 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
2374 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
2375 (WebCore::EventTargetSVGElementInstance::addEventListener):
2376 (WebCore::EventTargetSVGElementInstance::removeEventListener):
2377 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
2378 * svg/EventTargetSVGElementInstance.h: Added.
2379 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
2380 (WebCore::EventTargetSVGElementInstance::toNode):
2381 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
2382 (WebCore::EventTargetSVGElementInstance::refEventTarget):
2383 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
2384 (WebCore::EventTargetSVGElementInstanceCast):
2385 * svg/SVGElement.cpp:
2386 (WebCore::SVGElement::dispatchEvent):
2387 * svg/SVGElementInstance.cpp:
2388 (WebCore::SVGElementInstance::SVGElementInstance):
2389 (WebCore::SVGElementInstance::~SVGElementInstance):
2390 * svg/SVGElementInstance.h:
2391 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
2392 * svg/SVGElementInstance.idl:
2393
mitz@apple.come47c5af2008-09-23 21:47:54 +000023942008-09-23 Dan Bernstein <mitz@apple.com>
2395
2396 Reviewed by Dave Hyatt.
2397
2398 - https://bugs.webkit.org/show_bug.cgi?id=21040
2399 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
2400
2401 * platform/graphics/mac/SimpleFontDataMac.mm:
2402 (WebCore::SimpleFontData::getCTFont):
2403
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +000024042008-09-23 David Hyatt <hyatt@apple.com>
2405
2406 https://bugs.webkit.org/show_bug.cgi?id=21039
2407
2408 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
2409
2410 Reviewed by Sam Weinig
2411
2412 * platform/ScrollView.h:
2413 * platform/Scrollbar.cpp:
2414 (WebCore::Scrollbar::setFrameGeometry):
2415 * platform/Scrollbar.h:
2416 * platform/Widget.cpp:
2417 (WebCore::Widget::convertFromContainingWindow):
2418 * platform/Widget.h:
2419 * platform/mac/ScrollViewMac.mm:
2420 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
2421 (WebCore::ScrollView::ScrollView):
2422 (WebCore::ScrollView::~ScrollView):
2423 (WebCore::ScrollView::windowResizerRect):
2424 (WebCore::ScrollView::resizerOverlapsContent):
2425 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
2426 (WebCore::ScrollView::setParent):
2427 * platform/mac/WidgetMac.mm:
2428 (WebCore::Widget::convertFromContainingWindow):
2429
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +000024302008-09-23 Dirk Schulze <vbs85@gmx.de>
2431
2432 Reviewed by Darin Adler. Landed by Jan Alonzo.
2433
2434 Added support for getImageData() and putImageData()
2435 to Cairo.
2436
2437 [CAIRO] needs getImageData and putImageData support
2438 https://bugs.webkit.org/show_bug.cgi?id=20838
2439
2440 * platform/graphics/cairo/ImageBufferCairo.cpp:
2441 (WebCore::ImageBuffer::ImageBuffer):
2442 (WebCore::ImageBuffer::getImageData):
2443 (WebCore::ImageBuffer::putImageData):
2444
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +000024452008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
2446
2447 Reviewed by Holger Freyther.
2448
2449 http://bugs.webkit.org/show_bug.cgi?id=18987
2450 [GTK] Implement SharedBuffer::createWithContentsOfFile and
2451 KURL::fileSystemPath
2452
2453 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
2454 * platform/gtk/KURLGtk.cpp: Added.
2455 (WebCore::KURL::fileSystemPath): Implemented.
2456 * platform/gtk/SharedBufferGtk.cpp: Added.
2457 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
2458 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
2459
ap@webkit.org198304c2008-09-23 16:34:41 +000024602008-09-23 Alexey Proskuryakov <ap@webkit.org>
2461
ap@webkit.orgccfa60a2008-09-23 20:39:22 +00002462 Reviewed by Oliver Hunt, okayed by Darin Adler.
2463
2464 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
2465
2466 * rendering/InlineTextBox.cpp:
2467 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
2468
24692008-09-23 Alexey Proskuryakov <ap@webkit.org>
2470
ap@webkit.org198304c2008-09-23 16:34:41 +00002471 Reviewed by Darin Adler.
2472
2473 https://bugs.webkit.org/show_bug.cgi?id=21023
2474 Don't use TEC for encodings supported by ICU
2475
2476 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
2477 x-mac-greek, and x-mac-turkish.
2478
2479 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
2480 Register aliases for these encodings that are not registered automatically; updated comments.
2481
mjs@apple.coma6dc93d2008-09-23 07:46:55 +000024822008-09-23 Maciej Stachowiak <mjs@apple.com>
2483
2484 Reviewed by Darin.
2485
2486 - speed up instanceof some more
2487 https://bugs.webkit.org/show_bug.cgi?id=20818
2488
2489 ~2% speedup on EarleyBoyer
2490
2491 (WebCore updates.)
2492
2493 * bindings/js/JSQuarantinedObjectWrapper.h:
2494 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
2495
oliver@apple.combc10aae2008-09-23 07:40:49 +000024962008-09-22 Darin Adler <darin@apple.com>
2497
2498 Reviewed by Oliver Hunt.
2499
2500 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
2501 getting pixels by index from CanvasPixelArray is unnecessarily slow
2502
2503 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
2504 * WebCore.vcproj/WebCore.vcproj: Ditto.
2505 * WebCore.xcodeproj/project.pbxproj: Ditto.
2506
2507 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
2508 indexSetter. These are now both inlined, so in the header.
2509 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
2510 function is what's used for HasCustomIndexGetter. Also moved the
2511 indexSetter function here.
2512
2513 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
2514 to use a getByIndex member function rather than an indexGetter static
2515 member function in a property slot. This lets us avoid the property
2516 slot mechanism's rule where it turns numeric property names into
2517 strings in the identifier table, which is good because that's slow.
2518 Also added a new property CustomHeader that allows IDL files to
2519 introduce headers to be included -- useful when we have functions
2520 that we want to inline into the binding.
2521
2522 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
2523
eric@webkit.org924a2d32008-09-23 07:04:11 +000025242008-09-23 Eric Seidel <eric@webkit.org>
2525
2526 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +00002527
2528 Another blind stab in the dark.
2529
2530 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
2531
25322008-09-23 Eric Seidel <eric@webkit.org>
2533
2534 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +00002535
2536 Third time's the charm, eh? My local build is sadly still not done...
2537
2538 * platform/graphics/AffineTransform.cpp: remove extra &
2539 * platform/graphics/AffineTransform.h: remove extra &
2540
eric@webkit.orgf394f462008-09-23 06:38:10 +000025412008-09-22 Eric Seidel <eric@webkit.org>
2542
2543 No review, build fix only.
2544
eric@webkit.orgf9212312008-09-23 06:47:51 +00002545 * platform/graphics/AffineTransform.cpp: remove extra ;
2546
25472008-09-22 Eric Seidel <eric@webkit.org>
2548
2549 No review, build fix only.
2550
eric@webkit.orgf394f462008-09-23 06:38:10 +00002551 Speculative fix for the build while I wait for my compile to finish.
2552
2553 * platform/graphics/AffineTransform.cpp:
2554
eric@webkit.org10583212008-09-23 06:05:59 +000025552008-09-22 Dirk Schulze <vbs85@gmx.de>
2556
2557 Reviewed by eseidel. Landed by eseidel.
2558
2559 Moved makeMapBetweenRects from SVG/CG to AffineTransform
2560 Make SVGResourceClipper::applyClip more cross-platform
2561
2562 * platform/graphics/AffineTransform.cpp:
2563 * platform/graphics/AffineTransform.h:
2564 * svg/graphics/cg/CgSupport.cpp:
2565 * svg/graphics/cg/CgSupport.h:
2566 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
2567 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
2568 * svg/graphics/cg/SVGResourceClipperCg.cpp:
2569 (WebCore::SVGResourceClipper::applyClip):
2570
alp@webkit.orgfaa63e42008-09-23 03:08:57 +000025712008-09-22 Alp Toker <alp@nuanti.com>
2572
2573 Reviewed by David Hyatt.
2574
2575 https://bugs.webkit.org/show_bug.cgi?id=16331
2576 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
2577
2578 Obey GTK+ focusing conventions for controls and anchor elements.
2579
2580 It could be interesting to push these decisions up to Settings or
2581 ChromeClient some day but this gets things working.
2582
2583 Right and middle click events still need some work to match GTK+
2584 conventions.
2585
2586 * html/HTMLAnchorElement.cpp:
2587 (WebCore::HTMLAnchorElement::isMouseFocusable):
2588 * html/HTMLFormControlElement.cpp:
2589 (WebCore::HTMLFormControlElement::isMouseFocusable):
2590 * page/EventHandler.cpp:
2591 (WebCore::EventHandler::sendContextMenuEvent):
2592
darin@apple.com4a266462008-09-23 01:24:31 +000025932008-09-22 Darin Adler <darin@apple.com>
2594
2595 * page/mac/FrameMac.mm:
2596 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
2597
weinig@apple.comb6a39b72008-09-23 01:19:56 +000025982008-09-22 Sam Weinig <sam@webkit.org>
2599
2600 Reviewed by Dan Bernstein.
2601
2602 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
2603 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
2604 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
2605 class!
2606
2607 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
2608 non-selectable input types, but return undefined when accessed.
2609
2610 * DerivedSources.make:
2611 * GNUmakefile.am:
2612 * WebCore.pro:
2613 * WebCore.vcproj/WebCore.vcproj:
2614 * WebCore.xcodeproj/project.pbxproj:
2615 * WebCoreSources.bkl:
2616 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
2617 * bindings/js/JSHTMLInputElementBase.h: Removed.
2618 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
2619 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
2620 (WebCore::JSHTMLInputElement::selectionStart):
2621 (WebCore::JSHTMLInputElement::selectionEnd):
2622 * bindings/js/JSHTMLInputElementCustom.h: Added.
2623 * html/HTMLInputElement.idl:
2624
mitz@apple.com895c54c2008-09-23 00:48:17 +000026252008-09-22 Dan Bernstein <mitz@apple.com>
2626
2627 Reviewed by Sam Weinig.
2628
2629 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
2630
2631 Not testable in DumpRenderTree or in Safari
2632
2633 * page/mac/FrameMac.mm:
2634 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
2635 case that the selection start node is a block.
2636
hyatt@apple.com78083552008-09-22 22:17:40 +000026372008-09-22 David Hyatt <hyatt@apple.com>
2638
2639 https://bugs.webkit.org/show_bug.cgi?id=21007
2640
2641 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
2642
2643 Reviewed by Sam Weinig
2644
2645 * page/EventHandler.cpp:
2646 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2647
eric@webkit.orgb57170b2008-09-22 21:44:28 +000026482008-09-22 Eric Seidel <eric@webkit.org>
2649
2650 No review, rollback only.
2651
2652 Roll out Peter's change (per his request)
2653 http://trac.webkit.org/changeset/36069
2654 https://bugs.webkit.org/show_bug.cgi?id=19663
2655 This change has been the source of numerous regressions
2656 (several of which were latent bugs revealed by this change,
2657 others were bugs in this change)
2658
2659 * platform/graphics/BitmapImage.cpp:
2660 (WebCore::BitmapImage::BitmapImage):
2661 (WebCore::BitmapImage::startAnimation):
2662 (WebCore::BitmapImage::advanceAnimation):
2663 * platform/graphics/BitmapImage.h:
2664 * platform/graphics/cairo/ImageCairo.cpp:
2665 (WebCore::BitmapImage::draw):
2666 * platform/graphics/cg/ImageCG.cpp:
2667 (WebCore::BitmapImage::draw):
2668 * platform/graphics/qt/ImageQt.cpp:
2669 (WebCore::BitmapImage::draw):
2670 * platform/graphics/wx/ImageWx.cpp:
2671 (WebCore::BitmapImage::draw):
2672
mitz@apple.comdc318202008-09-22 21:32:14 +000026732008-09-22 Dan Bernstein <mitz@apple.com>
2674
2675 Reviewed by Sam Weinig.
2676
2677 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
2678
2679 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
2680 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
2681
2682 * config.h: Use Core Text if not building for Leopard or Tiger.
2683
hyatt@apple.com143e97c2008-09-22 21:03:02 +000026842008-09-22 David Hyatt <hyatt@apple.com>
2685
2686 https://bugs.webkit.org/show_bug.cgi?id=21006
2687
2688 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
2689 switched on. There are still a few more refinements to make to the rendering and behavior.
2690
2691 Reviewed by Darin Adler
2692
2693 * platform/ScrollbarThemeComposite.cpp:
2694 (WebCore::ScrollbarThemeComposite::paint):
2695 * platform/ScrollbarThemeComposite.h:
2696 (WebCore::ScrollbarThemeComposite::paintTrack):
2697 (WebCore::ScrollbarThemeComposite::paintButton):
2698 (WebCore::ScrollbarThemeComposite::paintThumb):
2699 * platform/mac/ScrollbarThemeMac.h:
2700 * platform/mac/ScrollbarThemeMac.mm:
2701 (WebCore::ScrollbarThemeMac::backButtonRect):
2702 (WebCore::ScrollbarThemeMac::forwardButtonRect):
2703 (WebCore::scrollbarPartToHIPressedState):
2704 (WebCore::ScrollbarThemeMac::paint):
2705 * platform/mac/WidgetMac.mm:
2706 (WebCore::Widget::invalidateRect):
2707
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +000027082008-09-22 Chris Marrin <cmarrin@apple.com>
2709
2710 Reviewed by Sam Weinig
2711
2712 transition end event when -webkit-transition-property: all puts wrong
2713 propertyName in event
2714 https://bugs.webkit.org/show_bug.cgi?id=20903
2715
2716 * page/animation/ImplicitAnimation.cpp:
2717 (WebCore::ImplicitAnimation::sendTransitionEvent):
2718
cfleizach@apple.com70013042008-09-22 18:30:36 +000027192008-09-22 Chris Fleizach <cfleizach@apple.com>
2720
2721 Reviewed by Darin Adler.
2722
cfleizach@apple.comdebb8722008-09-22 18:47:16 +00002723 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
2724
2725 Test: accessibility/table-one-cell.html
2726
2727 * page/AccessibilityTable.cpp:
2728 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2729
27302008-09-22 Chris Fleizach <cfleizach@apple.com>
2731
2732 Reviewed by Darin Adler.
2733
cfleizach@apple.com70013042008-09-22 18:30:36 +00002734 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
2735
2736 Test: accessibility/textarea-selected-text-range.html
2737
2738 * page/AccessibilityRenderObject.cpp:
2739 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
2740
hyatt@apple.com4139b152008-09-22 18:21:37 +000027412008-09-22 David Hyatt <hyatt@apple.com>
2742
2743 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
2744 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
2745 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
2746 rule.
2747
2748 Reviewed by Sam Weinig
2749
2750 Added fast/css/nested-rule-parent-sheet.html
2751
2752 * css/CSSImportRule.cpp:
2753 (WebCore::CSSImportRule::insertedIntoParent):
2754 * css/CSSRule.cpp:
2755 (WebCore::CSSRule::parentStyleSheet):
2756 (WebCore::CSSRule::parentRule):
2757 * css/CSSStyleSheet.cpp:
2758 (WebCore::CSSStyleSheet::CSSStyleSheet):
2759 * css/CSSStyleSheet.h:
2760
mitz@apple.comd409a262008-09-22 18:17:57 +000027612008-09-22 Dan Bernstein <mitz@apple.com>
2762
2763 Reviewed by Sam Weinig.
2764
2765 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
2766 Make the ATSUI code path respect spacingDisabled()
2767
2768 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
2769
2770 * platform/graphics/mac/FontMacATSUI.mm:
2771 (WebCore::overrideLayoutOperation):
2772
mjs@apple.com221b4752008-09-22 15:03:52 +000027732008-09-22 Maciej Stachowiak <mjs@apple.com>
2774
2775 Reviewed by Cameron Zwarich.
2776
2777 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
2778
2779 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
2780
2781 2.2% speedup on EarleyBoyer benchmark.
2782
2783 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2784 * bindings/js/JSQuarantinedObjectWrapper.h:
2785 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
2786 * bindings/scripts/CodeGeneratorJS.pm:
2787
aroben@apple.comd5cbddc2008-09-22 14:31:08 +000027882008-09-22 Adam Roben <aroben@apple.com>
2789
2790 Windows build fix
2791
2792 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
2793
mjs@apple.coma173abd2008-09-22 13:59:06 +000027942008-09-22 Maciej Stachowiak <mjs@apple.com>
2795
2796 Reviewed by Dave Hyatt.
2797
2798 Based on initial work by Darin Adler.
2799
2800 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
2801 - use this to JIT inline code for eq_null and neq_null
2802 https://bugs.webkit.org/show_bug.cgi?id=20823
2803
2804 * WebCore.xcodeproj/project.pbxproj:
2805 * WebCore.vcproj/WebCore.vcproj:
2806 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2807 (WebCore::JSCSSStyleDeclaration::nameGetter):
2808 * bindings/js/JSHTMLAllCollection.cpp: Added.
2809 (WebCore::):
2810 * bindings/js/JSHTMLAllCollection.h:
2811 (WebCore::JSHTMLAllCollection::createStructureID):
2812 (WebCore::JSHTMLAllCollection::toBoolean):
2813
vestbo@webkit.orgab848362008-09-22 13:27:06 +000028142008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
2815
2816 Reviewed by Simon.
2817
2818 Fix the QtWebKit build
2819
2820 * bridge/qt/qt_instance.cpp:
2821 (JSC::Bindings::QtRuntimeObjectImp::construct):
2822 * bridge/qt/qt_runtime.cpp:
2823
alp@webkit.orgcc9b0812008-09-22 08:53:06 +000028242008-09-22 Alp Toker <alp@nuanti.com>
2825
2826 Suggested by David Hyatt.
2827
2828 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
2829 so make it public.
2830
2831 * platform/ScrollView.h:
2832
hyatt@apple.com7cb18562008-09-22 07:57:52 +000028332008-09-22 David Hyatt <hyatt@apple.com>
2834
hyatt@apple.combac66582008-09-22 08:36:44 +00002835 Fix a regression in Windows scrollbar painting. (Also fix the same
2836 bug in my new viewless Mac scrollbar painting code). The track rect
2837 was being improperly inflated when painting resulting in the scrollbar
2838 being too tall and painting in the border of overflow sections.
2839
2840 Reviewed by Oliver Hunt
2841
2842 * platform/mac/ScrollbarThemeMac.mm:
2843 (WebCore::ScrollbarThemeMac::trackRect):
2844 * platform/win/ScrollbarThemeSafari.cpp:
2845 (WebCore::ScrollbarThemeSafari::trackRect):
2846
28472008-09-22 David Hyatt <hyatt@apple.com>
2848
hyatt@apple.com7cb18562008-09-22 07:57:52 +00002849 Fix a hit testing bug where events are mistakenly passed to subframes
2850 if the mouse is over the border or padding area of the frame. Add
2851 a boolean flag, isOverWidget(), to hit test results so that EventHandler
2852 can check it to tell if the mouse is really over the content box of a
2853 RenderWidget and not just in the border/padding area.
2854
2855 This is not testable, since the old code properly recovered when it detected
2856 that the mouse was outside the bounds of the view, but this prevents
2857 the extra passdown from even occurring (and is basically a nice cleanup).
2858
2859 Reviewed by Oliver Hunt
2860
2861 * page/EventHandler.cpp:
2862 (WebCore::EventHandler::handleMousePressEvent):
2863 (WebCore::EventHandler::hitTestResultAtPoint):
2864 (WebCore::subframeForHitTestResult):
2865 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2866 (WebCore::EventHandler::handleMouseMoveEvent):
2867 (WebCore::EventHandler::handleMouseReleaseEvent):
2868 (WebCore::EventHandler::handleWheelEvent):
2869 * page/MouseEventWithHitTestResults.h:
2870 (WebCore::MouseEventWithHitTestResults::isOverWidget):
2871 * rendering/HitTestResult.cpp:
2872 (WebCore::HitTestResult::HitTestResult):
2873 (WebCore::HitTestResult::operator=):
2874 * rendering/HitTestResult.h:
2875 (WebCore::HitTestResult::isOverWidget):
2876 (WebCore::HitTestResult::setIsOverWidget):
2877 * rendering/RenderWidget.cpp:
2878 (WebCore::RenderWidget::nodeAtPoint):
2879 * rendering/RenderWidget.h:
2880
hyatt@apple.comb2bf5272008-09-22 05:54:40 +000028812008-09-21 David Hyatt <hyatt@apple.com>
2882
2883 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
2884 both it and ScrollView's updateContents method be off-limits to everyone in
2885 WebCore except for RenderView.
2886
2887 Make repaintViewRectangle the only possible method for WebCore code to do
2888 an invalidation. This ensures that all invalidates triggered by WebCore
2889 cross-platform code that cross ownerElement() boundaries are transform-aware.
2890
2891 Make sure that iframes/frames contained inside objects that have transforms
2892 or reflections are not allowed to blit (this was already true for transparency).
2893
2894 It is not possible to make a test for any of this, since iframe scrolling
2895 still doesn't work on Mac (since the invalidates are not being done
2896 through WebCore's cross-platform invalidation code but are instead going
2897 through NSScrollView's setNeedsDisplay still).
2898
2899 Reviewed by Oliver Hunt
2900
2901 * editing/SelectionController.cpp:
2902 (WebCore::SelectionController::recomputeCaretRect):
2903 (WebCore::SelectionController::invalidateCaretRect):
2904 (WebCore::SelectionController::focusedOrActiveStateChanged):
2905 * page/FrameView.cpp:
2906 (WebCore::FrameView::repaintContentRectangle):
2907 (WebCore::FrameView::endDeferredRepaints):
2908 * page/FrameView.h:
2909 * platform/ScrollView.h:
2910 * rendering/RenderBox.cpp:
2911 (WebCore::RenderBox::paintFillLayerExtended):
2912 * rendering/RenderLayer.cpp:
2913 (WebCore::RenderLayer::enclosingPositionedAncestor):
2914 (WebCore::RenderLayer::requiresSlowRepaints):
2915 * rendering/RenderLayer.h:
2916 (WebCore::RenderLayer::hasTransform):
2917 * rendering/RenderView.cpp:
2918 (WebCore::RenderView::paintBoxDecorations):
2919 (WebCore::RenderView::repaintViewRectangle):
2920 (WebCore::RenderView::setSelection):
2921
mjs@apple.com52b67602008-09-22 03:15:52 +000029222008-09-21 Maciej Stachowiak <mjs@apple.com>
2923
2924 Reviewed by Darin.
2925
2926 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
2927 https://bugs.webkit.org/show_bug.cgi?id=20981
2928
2929 * bindings/js/JSAudioConstructor.cpp:
2930 (WebCore::JSAudioConstructor::JSAudioConstructor):
2931 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2932 (WebCore::JSCSSStyleDeclaration::nameGetter):
2933 * bindings/js/JSDOMBinding.cpp:
2934 (WebCore::createDOMStructure):
2935 * bindings/js/JSDOMBinding.h:
2936 (WebCore::getDOMStructure):
2937 * bindings/js/JSDOMWindowShell.cpp:
2938 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
2939 (WebCore::JSDOMWindowShell::setWindow):
2940 * bindings/js/JSEventTargetNode.cpp:
2941 (WebCore::JSEventTargetNode::createPrototype):
2942 * bindings/js/JSHTMLOptionElementConstructor.cpp:
2943 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
2944 * bindings/js/JSImageConstructor.cpp:
2945 (WebCore::JSImageConstructor::JSImageConstructor):
2946 * bindings/js/JSXMLHttpRequestConstructor.cpp:
2947 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
2948 * bindings/js/JSXSLTProcessorConstructor.cpp:
2949 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
2950 * bindings/scripts/CodeGeneratorJS.pm:
2951
darin@apple.comad89d662008-09-22 02:12:57 +000029522008-09-21 Darin Adler <darin@apple.com>
2953
2954 Reviewed by Maciej Stachowiak.
2955
2956 - fix problem Maciej noticed where every JSNamedNodesCollection
2957 gets its own StructureID
2958
2959 * bindings/js/JSNamedNodesCollection.cpp:
2960 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
2961 getDOMStructure to get the structure.
2962 * bindings/js/JSNamedNodesCollection.h:
2963 (WebCore::JSNamedNodesCollection::createPrototype): Return the
2964 object prototype.
2965
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +000029662008-09-20 David Hyatt <hyatt@apple.com>
2967
2968 Make sure transformed scrollbars in overflow sections position
2969 properly. This patch mimics the same behavior that works for
2970 iframes, namely making sure that the same code that dynamically
2971 adjusts iframe widget positions at paint time for fixed positioning
2972 and transforms also applies to scrollbars. (This is as simple as passing
2973 in the current translation factor at paint time rather than crawling
2974 up the layer tree to compute a "false" absolute position.)
2975
2976 An existing transform test covers this (although only a pixel result
2977 reveals the correct rendering).
2978
2979 Reviewed by Darin Adler
2980
2981 * rendering/RenderLayer.cpp:
2982 (WebCore::RenderLayer::updateLayerPositions):
2983 (WebCore::RenderLayer::positionOverflowControls):
2984 (WebCore::RenderLayer::paintOverflowControls):
2985 (WebCore::RenderLayer::paintLayer):
2986 * rendering/RenderLayer.h:
2987
sfalken@apple.comd0274692008-09-22 00:08:30 +000029882008-09-21 Steve Falkenburg <sfalken@apple.com>
2989
sfalken@apple.com4fe10f92008-09-22 00:12:28 +00002990 Removed unnecessary nested timer check.
2991
2992 Rubber-stamped by Dan Bernstein.
2993
2994 * platform/win/SharedTimerWin.cpp:
2995 (WebCore::TimerWindowWndProc):
2996
29972008-09-21 Steve Falkenburg <sfalken@apple.com>
2998
sfalken@apple.comd0274692008-09-22 00:08:30 +00002999 Improve timer resolution on WinXP.
3000 https://bugs.webkit.org/show_bug.cgi?id=20979
3001
3002 Removed last-chance timer. It should not be necessary.
3003 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
3004 Remove Vista checks. We now run the same code on both XP and Vista.
3005
3006 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
3007 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
3008
3009 Reviewed by Maciej Stachowiak.
3010
3011 * platform/win/SharedTimerWin.cpp:
3012 (WebCore::):
3013 (WebCore::TimerWindowWndProc):
3014 (WebCore::setSharedTimerFireTime):
3015 * platform/win/SystemTimeWin.cpp:
3016 (WebCore::currentTime):
3017
eric@webkit.org3e96c482008-09-21 07:59:58 +000030182008-09-21 Dirk Schulze <vbs85@gmx.de>
3019
3020 Reviewed by eseidel. Landed by eseidel.
3021
eric@webkit.orgc3431282008-09-21 10:37:37 +00003022 All platforms use the DashArray in the GraphicsContext.
3023
3024 * svg/graphics/SVGPaintServer.h:
3025 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
3026 (WebCore::SVGPaintServerGradient::setup):
3027 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
3028 (WebCore::SVGPaintServerPattern::setup):
3029 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
3030 (WebCore::SVGPaintServerSolid::setup):
3031 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
3032 (WebCore::SVGPaintServerGradient::setup):
3033 * svg/graphics/qt/SVGPaintServerQt.cpp:
3034 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
3035 (WebCore::SVGPaintServerSolid::setup):
3036
30372008-09-21 Dirk Schulze <vbs85@gmx.de>
3038
3039 Reviewed by eseidel. Landed by eseidel.
3040
eric@webkit.org3e96c482008-09-21 07:59:58 +00003041 Moved DashArray to GraphicsContext.
3042
3043 * GNUmakefile.am:
3044 * WebCore.vcproj/WebCore.vcproj:
3045 * WebCore.xcodeproj/project.pbxproj:
3046 * platform/graphics/DashArray.h: Added.
3047 * platform/graphics/GraphicsContext.h:
3048 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3049 (WebCore::GraphicsContext::setLineDash):
3050 * platform/graphics/cg/GraphicsContextCG.cpp:
3051 (WebCore::GraphicsContext::setLineDash):
3052 * platform/graphics/qt/GraphicsContextQt.cpp:
3053 (WebCore::GraphicsContext::setLineDash):
3054 * svg/graphics/SVGPaintServer.cpp:
3055 (WebCore::applyStrokeStyleToContext):
3056 * svg/graphics/SVGPaintServer.h:
3057 * svg/graphics/cg/CgSupport.cpp:
3058 * svg/graphics/cg/CgSupport.h:
3059
mitz@apple.com9138eca2008-09-21 07:16:29 +000030602008-09-21 Dan Bernstein <mitz@apple.com>
3061
3062 Reviewed by Mark Rowe.
3063
3064 - fix linker warnings
3065
3066 * WebCore.base.exp:
3067
darin@apple.comb1491772008-09-21 06:34:40 +000030682008-09-20 Darin Adler <darin@apple.com>
3069
darin@apple.comc3215132008-09-21 06:50:35 +00003070 - another try at fixing Qt
3071
3072 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
3073
30742008-09-20 Darin Adler <darin@apple.com>
3075
darin@apple.comb1491772008-09-21 06:34:40 +00003076 - blind attempt to fix Qt build
3077
3078 * bridge/qt/qt_runtime.cpp:
3079 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
3080 of regExpPrototype to make a RegExpObject. There should really be
3081 some sort of public helper function for this. Same thing for
3082 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
3083 (JSC::Bindings::):
3084 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
3085 It is not correct to do this inside the constructor because it could
3086 cause a garbage collect while the QtRuntimeMethod object is half-
3087 allocated, which could lead to a crash; note that RuntimeMethod,
3088 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
3089 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
3090
collinj@webkit.org8e01a432008-09-21 06:26:54 +000030912008-09-20 Collin Jackson <collinj@webkit.org>
3092
3093 Prefetch DNS for hyperlinks that the user mouses over.
3094
3095 https://bugs.webkit.org/show_bug.cgi?id=20931
3096
3097 Reviewed by Sam Weinig.
3098
3099 * page/Chrome.cpp:
3100 (WebCore::Chrome::mouseDidMoveOverElement):
3101
darin@apple.com8281d832008-09-21 02:29:12 +000031022008-09-20 Darin Adler <darin@apple.com>
3103
3104 Reviewed by Maciej Stachowiak.
3105
3106 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
3107 make each distinct C++ class get a distinct JSC::Structure
3108
3109 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3110 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
3111 ID. Note that this makes a new structure every time -- we could
3112 optimize this slightly be caching and reusing a single one.
3113
3114 * bridge/runtime_method.cpp:
3115 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
3116 getDOMStructure.
3117 * bridge/runtime_method.h:
3118 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
3119 getDOMStructure will work.
3120
3121 * bindings/js/JSDOMWindowShell.cpp:
3122 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
3123 0; needed in case garbage collection happens while creating the
3124 JSDOMWindow.
3125
mitz@apple.com9b3ac792008-09-21 00:42:30 +000031262008-09-20 Dan Bernstein <mitz@apple.com>
3127
mitz@apple.comf674f4f2008-09-21 00:49:49 +00003128 Reviewed by Eric Seidel.
3129
3130 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +00003131 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc
mitz@apple.comf674f4f2008-09-21 00:49:49 +00003132
3133 * svg/SVGTextContentElement.cpp:
3134 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
3135 not include the first character in the extraCharsAvailable count.
3136
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000031372008-09-20 Kevin Ollivier <kevino@theolliviers.com>
3138
kevino@webkit.orge66435f2008-09-20 23:39:25 +00003139 Reviewed by Dan Bernstein.
3140
3141 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +00003142
3143 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +00003144
3145 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
3146 (GetTextExtent):
3147
31482008-09-20 Kevin Ollivier <kevino@theolliviers.com>
3149
kevino@webkit.org2bc0d822008-09-20 22:31:24 +00003150 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
3151
3152 * WebCoreSources.bkl:
3153 * platform/ScrollView.h:
3154 * platform/wx/PopupMenuWx.cpp:
3155 (WebCore::PopupMenu::show):
3156 * platform/wx/RenderThemeWx.cpp:
3157 (WebCore::RenderThemeWx::paintButton):
3158 (WebCore::RenderThemeWx::paintTextField):
3159 (WebCore::RenderThemeWx::paintMenuList):
3160 (WebCore::RenderThemeWx::paintMenuListButton):
3161 * platform/wx/ScrollViewWx.cpp:
3162 (WebCore::ScrollView::setPlatformWidget):
3163 (WebCore::ScrollView::updateContents):
3164 (WebCore::ScrollView::update):
3165 (WebCore::ScrollView::visibleWidth):
3166 (WebCore::ScrollView::visibleHeight):
3167 (WebCore::ScrollView::scrollBy):
3168 (WebCore::ScrollView::resizeContents):
3169 (WebCore::ScrollView::contentsWidth):
3170 (WebCore::ScrollView::contentsHeight):
3171 (WebCore::ScrollView::isScrollViewScrollbar):
3172 (WebCore::ScrollView::adjustScrollbars):
3173 (WebCore::ScrollView::inWindow):
3174 (WebCore::ScrollView::removeChild):
3175 * platform/wx/WidgetWx.cpp:
3176 * plugins/wx/PluginViewWx.cpp:
3177 (WebCore::PluginView::setParentVisible):
3178 (WebCore::PluginView::updatePluginWidget):
3179
timothy@apple.comb697f272008-09-20 22:21:59 +000031802008-09-20 Timothy Hatcher <timothy@apple.com>
3181
3182 Fix the new Node Search button image to not be blurry.
3183
3184 * page/inspector/Images/nodeSearchButtons.png:
3185
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000031862008-09-20 Matt Lilek <webkit@mattlilek.com>
3187
3188 Reviewed by Tim Hatcher.
3189
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +00003190 Cut down some of the inspector javascript -> InspectorController glue code
3191 with two new macros. Also rearrange the exposed function list to be grouped
3192 by implementation and to all explicitly use the WebCore namespace.
3193
3194 * page/InspectorController.cpp:
3195 (WebCore::InspectorController::windowScriptObjectAvailable):
3196
31972008-09-20 Matt Lilek <webkit@mattlilek.com>
3198
3199 Reviewed by Tim Hatcher.
3200
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +00003201 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
3202
3203 * page/inspector/inspector.css:
3204
zimmermann@webkit.org953b7442008-09-20 20:19:45 +000032052008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
3206
3207 Reviewed by Eric.
3208
3209 Refactor HTMLImageLoader/SVGImageLoader code.
3210 Move html/HTMLImageLoader.* to loader/ImageLoader.*
3211
3212 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
3213 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
3214
3215 * GNUmakefile.am:
3216 * WebCore.pro:
3217 * WebCore.vcproj/WebCore.vcproj:
3218 * WebCore.xcodeproj/project.pbxproj:
3219 * WebCoreSources.bkl:
3220 * dom/Document.cpp:
3221 (WebCore::Document::dispatchImageLoadEventSoon):
3222 (WebCore::Document::removeImage):
3223 (WebCore::Document::dispatchImageLoadEventsNow):
3224 * dom/Document.h:
3225 * html/HTMLImageLoader.cpp:
3226 (WebCore::HTMLImageLoader::HTMLImageLoader):
3227 (WebCore::HTMLImageLoader::~HTMLImageLoader):
3228 (WebCore::HTMLImageLoader::sourceURI):
3229 (WebCore::HTMLImageLoader::notifyFinished):
3230 * html/HTMLImageLoader.h:
3231 * loader/DocLoader.h:
3232 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
3233 (WebCore::ImageLoader::ImageLoader):
3234 (WebCore::ImageLoader::~ImageLoader):
3235 (WebCore::ImageLoader::setImage):
3236 (WebCore::ImageLoader::setLoadingImage):
3237 (WebCore::ImageLoader::updateFromElement):
3238 (WebCore::ImageLoader::notifyFinished):
3239 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
3240 * svg/SVGImageElement.cpp:
3241 (WebCore::SVGImageElement::attach):
3242 (WebCore::SVGImageElement::insertedIntoDocument):
3243 (WebCore::SVGImageElement::imageSourceAttributeName):
3244 * svg/SVGImageElement.h:
3245 * svg/SVGImageLoader.cpp:
3246 (WebCore::SVGImageLoader::SVGImageLoader):
3247 (WebCore::SVGImageLoader::dispatchLoadEvent):
3248 (WebCore::SVGImageLoader::sourceURI):
3249 * svg/SVGImageLoader.h:
3250
zecke@webkit.orgf3834492008-09-20 14:23:55 +000032512008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
3252
zecke@webkit.org7a15a532008-09-20 14:24:27 +00003253 Build fix.
3254
zecke@webkit.orga832cca2008-09-20 14:24:45 +00003255 [qtwebkit] ScrollBar build fix after r36684.
3256 BackButtonPart was split into Start and End Part
3257 ForwardButtonPart was split into Start and End Part
3258
zecke@webkit.orga832cca2008-09-20 14:24:45 +00003259 * platform/qt/ScrollbarThemeQt.cpp:
3260 (WebCore::scPart):
3261 (WebCore::scrollbarPart):
3262 (WebCore::styleOptionSlider):
3263
32642008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
3265
3266 Build fix.
3267
zecke@webkit.org7a15a532008-09-20 14:24:27 +00003268 [qtwebkit] Make qt_instance.cpp compile.
3269 Revision of 36675 introduced getDOMStructure to give unique
3270 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
3271 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
3272
3273 * bridge/qt/qt_instance.cpp:
3274 (JSC::Bindings::QtInstance::getRuntimeObject):
3275
32762008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
3277
zecke@webkit.orgf3834492008-09-20 14:23:55 +00003278 Reviewed by Nikolas Zimmermann.
3279
zecke@webkit.org95ff1412008-09-20 14:24:10 +00003280 [svg] Change SVGLocatable to deal with a plain SVGElement
3281 There is no requirement in the code that we have to have a
3282 SVGStyledElement. Remove that artificial limitation and compile
3283 with SVGElement.
3284
3285 * svg/SVGLocatable.cpp:
3286 * svg/SVGLocatable.h:
3287
32882008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
3289
3290 Reviewed by Nikolas Zimmermann.
3291
zecke@webkit.orgf3834492008-09-20 14:23:55 +00003292 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
3293 management.
3294
3295 * dom/Document.cpp:
3296 (WebCore::Document::~Document):
3297 (WebCore::Document::svgExtensions):
3298 (WebCore::Document::accessSVGExtensions):
3299 * dom/Document.h:
3300
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000033012008-09-19 David Hyatt <hyatt@apple.com>
3302
hyatt@apple.com1fe09172008-09-20 05:09:44 +00003303 Fix for crash in updateTransitions. Make sure to test for a style
3304 being null when comparing two RenderStyles.
3305
3306 Reviewed by Oliver Hunt
3307
3308 * page/animation/AnimationBase.cpp:
3309 (WebCore::PropertyWrapperGetter::equals):
3310
33112008-09-19 David Hyatt <hyatt@apple.com>
3312
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +00003313 https://bugs.webkit.org/show_bug.cgi?id=20954
3314
3315 Roll out r36628 since it has caused horrible regressions with
3316 animated GIF CPU usage.
3317
3318 * platform/graphics/BitmapImage.cpp:
3319 (WebCore::BitmapImage::cacheFrame):
3320 (WebCore::BitmapImage::startAnimation):
3321 * platform/graphics/BitmapImage.h:
3322 (WebCore::FrameData::FrameData):
3323 * platform/graphics/cairo/ImageCairo.cpp:
3324 (WebCore::FrameData::clear):
3325 * platform/graphics/cg/ImageCG.cpp:
3326 (WebCore::FrameData::clear):
3327 * platform/graphics/qt/ImageQt.cpp:
3328 (WebCore::FrameData::clear):
3329 * platform/graphics/wx/ImageWx.cpp:
3330 (WebCore::FrameData::clear):
3331
alp@webkit.orgd1e860e2008-09-20 03:43:42 +000033322008-09-20 Alp Toker <alp@nuanti.com>
3333
3334 Reviewed by Timothy Hatcher.
3335
3336 https://bugs.webkit.org/show_bug.cgi?id=20913
3337 Avoid redudant includes
3338
3339 Document.h is included excessively such that a modification to Document.h (or
3340 any of the header it includes itself) triggers a rebuild of many files
3341 including the whole of SVG and a lot of the JS bindings.
3342
3343 Some of these includes can be avoided by only including Document.h where
3344 necessary.
3345
3346 * bindings/js/JSAttrCustom.cpp:
3347 * bindings/js/JSElementCustom.cpp:
3348 * bindings/js/JSEventTargetBase.cpp:
3349 * bindings/js/JSEventTargetBase.h:
3350 * bindings/js/JSEventTargetNode.cpp:
3351 * bindings/js/JSHTMLFrameElementCustom.cpp:
3352 * bindings/js/JSHTMLIFrameElementCustom.cpp:
3353 * bindings/scripts/CodeGeneratorJS.pm:
3354 * css/CSSCursorImageValue.cpp:
3355 * css/SVGCSSStyleSelector.cpp:
3356 * dom/make_names.pl:
3357 * svg/SVGAnimateElement.h:
3358 * svg/SVGAnimatedProperty.h:
3359 (WebCore::::baseValue):
3360 (WebCore::::setBaseValue):
3361 (WebCore::::startAnimation):
3362 (WebCore::::stopAnimation):
3363 * svg/SVGElement.cpp:
3364 (WebCore::SVGElement::accessDocumentSVGExtensions):
3365 * svg/SVGElement.h:
3366 * svg/SVGElementInstance.cpp:
3367 * svg/SVGFitToViewBox.cpp:
3368 * svg/SVGFontElement.cpp:
3369 * svg/SVGFontFaceElement.cpp:
3370 * svg/SVGLinearGradientElement.cpp:
3371 * svg/SVGMPathElement.cpp:
3372 * svg/SVGViewSpec.cpp:
3373
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +000033742008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
3375
3376 Reviewed by Antti & Eric.
3377
3378 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
3379
3380 Finish HTMLScriptElement / SVGScriptElement unification.
3381 SVG <script> support is complete now, full SVGLoad event
3382 respecting the influence of the externalResourcesRequired attribute
3383 as well as SVGError event support. All other features shared with HTML.
3384
3385 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
3386 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
3387 svg/dom/SVGScriptElement/script-load-and-error-events.svg
3388 svg/dom/SVGScriptElement/script-reexecution.svg
3389 svg/dom/SVGScriptElement/script-set-href.svg
3390
3391 * dom/ScriptElement.cpp:
3392 (WebCore::ScriptElementData::ScriptElementData):
3393 (WebCore::ScriptElementData::requestScript):
3394 * dom/ScriptElement.h:
3395 (WebCore::ScriptElementData::haveFiredLoadEvent):
3396 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
3397 * dom/XMLTokenizer.cpp:
3398 (WebCore::XMLTokenizer::notifyFinished):
3399 * html/HTMLScriptElement.cpp:
3400 (WebCore::HTMLScriptElement::dispatchLoadEvent):
3401 * svg/SVGScriptElement.cpp:
3402 (WebCore::SVGScriptElement::setCreatedByParser):
3403 (WebCore::SVGScriptElement::parseMappedAttribute):
3404 (WebCore::SVGScriptElement::svgAttributeChanged):
3405 (WebCore::SVGScriptElement::insertedIntoDocument):
3406 (WebCore::SVGScriptElement::removedFromDocument):
3407 (WebCore::SVGScriptElement::childrenChanged):
3408 (WebCore::SVGScriptElement::isURLAttribute):
3409 (WebCore::SVGScriptElement::finishParsingChildren):
3410 (WebCore::SVGScriptElement::type):
3411 (WebCore::SVGScriptElement::setType):
3412 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
3413 (WebCore::SVGScriptElement::dispatchLoadEvent):
3414 (WebCore::SVGScriptElement::dispatchErrorEvent):
3415 * svg/SVGScriptElement.h:
3416
mitz@apple.comc7b24ea2008-09-20 03:23:22 +000034172008-09-19 Dan Bernstein <mitz@apple.com>
3418
3419 Reviewed by John Sullivan.
3420
3421 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
3422 Typo in Position::getInlineBoxAndOffset()
3423 and add an assertion
3424
3425 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
3426
3427 * dom/Position.cpp:
3428 (WebCore::Position::getInlineBoxAndOffset):
3429 * rendering/InlineTextBox.cpp:
3430 (WebCore::InlineTextBox::positionForOffset):
3431
hyatt@apple.comd48dbf32008-09-20 03:21:14 +000034322008-09-19 David Hyatt <hyatt@apple.com>
3433
3434 Add support for hit testing of all five possible scrollbar button placements.
3435
3436 Reviewed by Sam Weinig
3437
3438 * platform/ScrollbarThemeComposite.cpp:
3439 (WebCore::ScrollbarThemeComposite::paint):
3440 * platform/mac/ScrollbarThemeMac.mm:
3441 (WebCore::):
3442 (WebCore::ScrollbarThemeMac::backButtonRect):
3443 (WebCore::ScrollbarThemeMac::forwardButtonRect):
3444 (WebCore::ScrollbarThemeMac::trackRect):
3445 (WebCore::ScrollbarThemeMac::paintButton):
3446
darin@apple.com1c4cd8f2008-09-20 01:05:35 +000034472008-09-19 Darin Adler <darin@apple.com>
3448
3449 - try to fix Qt build
3450
3451 * bridge/qt/qt_instance.cpp:
3452 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
3453 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
3454 * bridge/runtime_object.cpp:
3455 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
3456 * bridge/runtime_object.h: Ditto.
3457
dino@apple.com7c236592008-09-20 00:53:49 +000034582008-09-19 Chris Marrin <cmarrin@apple.com>
3459
3460 Reviewed by Dave Hyatt.
3461
3462 Transition starts running when it shouldn't
3463 https://bugs.webkit.org/show_bug.cgi?id=20892
3464
3465 When there is a transition and an animation on the
3466 same element, make sure the animation wins.
3467
3468 The fix is to save the unanimated style when an animation is started.
3469 Then, when starting a transition, check to see if there is a current
3470 animation on the same prop. If so, use the unanimated style as the
3471 fromStyle rather than the current style.
3472
3473 Test: animations/transition-and-animation-1.html
3474
3475 * page/animation/CompositeAnimation.cpp:
3476 (WebCore::CompositeAnimation::updateTransitions):
3477 (WebCore::CompositeAnimation::updateKeyframeAnimations):
3478 (WebCore::CompositeAnimation::animate):
3479 (WebCore::CompositeAnimation::getAnimationForProperty):
3480 * page/animation/CompositeAnimation.h:
3481 * page/animation/ImplicitAnimation.cpp:
3482 (WebCore::ImplicitAnimation::reset):
3483 * page/animation/ImplicitAnimation.h:
3484 * page/animation/KeyframeAnimation.cpp:
3485 (WebCore::KeyframeAnimation::hasAnimationForProperty):
3486 * page/animation/KeyframeAnimation.h:
3487 (WebCore::KeyframeAnimation::KeyframeAnimation):
3488 (WebCore::KeyframeAnimation::unanimatedStyle):
3489
hyatt@apple.comea254e22008-09-20 00:42:36 +000034902008-09-19 David Hyatt <hyatt@apple.com>
3491
3492 Add support for painting/hit testing of four possible scrollbar buttons.
3493 The Windows themes simply ignore the two parts that they will never
3494 show. The Mac theme also ignores the other two buttons for now.
3495
3496 The cross-platform base for all three themes, ScrollbarThemeComposite,
3497 has all the proper support though.
3498
3499 Reviewed by Sam Weinig
3500
3501 * platform/ScrollbarThemeComposite.cpp:
3502 (WebCore::ScrollbarThemeComposite::hitTest):
3503 (WebCore::ScrollbarThemeComposite::invalidatePart):
3504 * platform/ScrollbarThemeComposite.h:
3505 * platform/mac/ScrollbarThemeMac.h:
3506 * platform/mac/ScrollbarThemeMac.mm:
3507 (WebCore::ScrollbarThemeMac::backButtonRect):
3508 (WebCore::ScrollbarThemeMac::forwardButtonRect):
3509 (WebCore::ScrollbarThemeMac::paintButton):
3510 * platform/win/ScrollbarThemeSafari.cpp:
3511 (WebCore::ScrollbarThemeSafari::backButtonRect):
3512 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
3513 (WebCore::ScrollbarThemeSafari::paintButton):
3514 * platform/win/ScrollbarThemeSafari.h:
3515 * platform/win/ScrollbarThemeWin.cpp:
3516 (WebCore::ScrollbarThemeWin::backButtonRect):
3517 (WebCore::ScrollbarThemeWin::forwardButtonRect):
3518 (WebCore::ScrollbarThemeWin::paintButton):
3519 * platform/win/ScrollbarThemeWin.h:
3520
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +000035212008-09-19 Matt Lilek <webkit@mattlilek.com>
3522
3523 Reviewed by Tim Hatcher.
3524
3525 Bug 17772: Inspector should support point-and-click to select a node to inspect
3526 https://bugs.webkit.org/show_bug.cgi?id=17772
3527 <rdar://problem/5792395>
3528
3529 * English.lproj/localizedStrings.js:
3530 * page/Chrome.cpp:
3531 (WebCore::Chrome::mouseDidMoveOverElement):
3532 * page/EventHandler.cpp:
3533 (WebCore::EventHandler::handleMousePressEvent):
3534 * page/InspectorController.cpp:
3535 (WebCore::toggleNodeSearch):
3536 (WebCore::searchingForNode):
3537 (WebCore::InspectorController::InspectorController):
3538 (WebCore::InspectorController::toggleSearchForNodeInPage):
3539 (WebCore::InspectorController::mouseDidMoveOverElement):
3540 (WebCore::InspectorController::handleMousePressOnNode):
3541 (WebCore::InspectorController::windowScriptObjectAvailable):
3542 * page/InspectorController.h:
3543 (WebCore::InspectorController::searchingForNodeInPage):
3544 * page/inspector/ElementsPanel.js:
3545 * page/inspector/Images/nodeSearchButtons.png: Added.
3546 * page/inspector/inspector.css:
3547
hyatt@apple.com57b2d522008-09-19 23:39:26 +000035482008-09-19 David Hyatt <hyatt@apple.com>
3549
3550 Add new scrollbar parts to be able to represent back and forward buttons
3551 at either end of the scrollbar. The current scrollbar still just draws
3552 a single button at either end, but the parts now exist.
3553
3554 Reviewed by Sam Weinig
3555
3556 * platform/ScrollTypes.h:
3557 (WebCore::):
3558 * platform/Scrollbar.cpp:
3559 (WebCore::Scrollbar::autoscrollTimerFired):
3560 (WebCore::Scrollbar::pressedPartScrollDirection):
3561 (WebCore::Scrollbar::pressedPartScrollGranularity):
3562 (WebCore::Scrollbar::handleMouseMoveEvent):
3563 * platform/ScrollbarTheme.h:
3564 (WebCore::ScrollbarTheme::buttonsPlacement):
3565 (WebCore::ScrollbarTheme::invalidateParts):
3566 * platform/ScrollbarThemeComposite.cpp:
3567 (WebCore::ScrollbarThemeComposite::paint):
3568 (WebCore::ScrollbarThemeComposite::hitTest):
3569 (WebCore::ScrollbarThemeComposite::invalidatePart):
3570 * platform/ScrollbarThemeComposite.h:
3571
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +000035722008-09-19 Beth Dakin <bdakin@apple.com>
3573
3574 Reviewed by Dave Hyatt.
3575
3576 Fix for <rdar://problem/6231308> crash in AutoTableLayout
3577
3578 The code assumes later on that a TableSection's grid's row vector
3579 will never be empty. So make 1 the minimum number of columns.
3580
3581 * rendering/RenderTableSection.cpp:
3582 (WebCore::RenderTableSection::ensureRows):
3583
hyatt@apple.comaf711ec2008-09-19 22:55:56 +000035842008-09-19 David Hyatt <hyatt@apple.com>
3585
3586 Add a new ScrollbarButtonsPlacement type for specifying where
3587 the button arrows are in a scrollbar.
3588
3589 Read in the placement settings for Mac. Nothing is done with the
3590 setting yet.
3591
3592 Add a new buttonsPlacement() method to ScrollbarTheme composite
3593 so that the arrow settings can be obtained.
3594
3595 Reviewed by Sam Weinig
3596
3597 * platform/ScrollTypes.h:
3598 (WebCore::):
3599 * platform/ScrollbarThemeComposite.h:
3600 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
3601 * platform/mac/ScrollbarThemeMac.mm:
3602 (WebCore::updateArrowPlacement):
3603 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3604
sfalken@apple.com64602042008-09-19 22:47:45 +000036052008-09-19 Steve Falkenburg <sfalken@apple.com>
3606
3607 Roll out r36626. It is causing variance in SunSpider numbers on XP.
3608
3609 Rubber stamped by Mark Rowe.
3610
3611 * platform/win/SharedTimerWin.cpp:
3612 (WebCore::isRunningOnVistaOrLater):
3613 (WebCore::setSharedTimerFireTime):
3614
kmccullough@apple.comd203b242008-09-19 21:56:14 +000036152008-09-19 Kevin McCullough <kmccullough@apple.com>
3616
3617 Reviewed by Tim.
3618
3619 https://bugs.webkit.org/show_bug.cgi?id=20942
3620 Bug 20942: Repeated messages in resources don't collapse
3621 - Now repeated messages in a resource's view are collapsed and a message
3622 says how many were repeated.
3623
3624 * English.lproj/localizedStrings.js:
3625 * manual-tests/inspector/multiple-console-messages.html:
3626 * page/inspector/Console.js: Send all the messages to the resource's
3627 view before possibly returning early if the message is a repeat.
3628 * page/inspector/SourceFrame.js: Add the text about the message being
3629 repeated, if it is, and increment it when necessary.
3630
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +000036312008-09-19 Chris Fleizach <cfleizach@apple.com>
3632
3633 Removed unnecessary #if
3634
3635 * page/mac/AccessibilityObjectWrapper.mm:
3636
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000036372008-09-19 David Hyatt <hyatt@apple.com>
3638
hyatt@apple.comf658e502008-09-19 22:12:07 +00003639 Read in prefs for the scroll delay repeat values for buttons. Also
3640 honor the option-click pref for jumping to the thumb when clicking in
3641 the track.
3642
3643 Reviewed by Sam Weinig
3644
3645 * platform/mac/ScrollbarThemeMac.h:
3646 * platform/mac/ScrollbarThemeMac.mm:
3647 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
3648 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
3649 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
3650 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
3651
36522008-09-19 David Hyatt <hyatt@apple.com>
3653
hyatt@apple.comc9967ce92008-09-19 21:20:59 +00003654 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
3655 Set the initial button repeat delay to 0.5 for Mac.
3656
3657 Reviewed by Sam Weinig
3658
3659 * WebCore.xcodeproj/project.pbxproj:
3660 * platform/mac/ScrollbarThemeMac.cpp: Removed.
3661 * platform/mac/ScrollbarThemeMac.h:
3662 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
3663 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
3664
darin@apple.com39a180f2008-09-19 21:15:14 +000036652008-09-19 Darin Adler <darin@apple.com>
3666
3667 Reviewed by Sam Weinig.
3668
3669 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
3670 make each distinct C++ class get a distinct JSC::Structure
3671
3672 + Fixed all cases where we were using a shared structure for multiple
3673 C++ classes in WebCore. This still has to be done in JavaScriptCore.
3674
3675 + Got rid of cacheGlobalObject.
3676
3677 + Improved use of PassRefPtr in bindings code.
3678
3679 + Removed a couple cases where we were potentially allocating prototypes
3680 inside a JSObject's construction process -- this can lead to trouble if
3681 we do a garbage collection while an object is only partly constructed.
3682
3683 * bindings/js/JSAudioConstructor.cpp:
3684 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
3685 so we don't implicitly share the structure with other objects that use the object
3686 prototype.
3687
3688 * bindings/js/JSDOMBinding.cpp:
3689 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
3690 don't need cacheGlobalObject any more.
3691 (WebCore::cacheDOMConstructor): Ditto.
3692
3693 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
3694 Added functions and a function template for getting cached DOM constructors.
3695 Removed cacheGlobalObject function template.
3696
3697 * bindings/js/JSDOMWindowBase.cpp:
3698 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
3699 we're taking ownership.
3700 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
3701 we're taking ownership. Added constructor map.
3702 * bindings/js/JSDOMWindowCustom.cpp:
3703 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
3704
3705 * bindings/js/JSDOMWindowShell.cpp:
3706 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
3707 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
3708 this is now done in only that one place.
3709 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
3710 the passed-in DOMWindow. Code was moved here and changed to allocate unique
3711 structures for both the window prototype and the window.
3712 * bindings/js/JSDOMWindowShell.h: Ditto.
3713
3714 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
3715 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
3716 private/friend in JSEventTargetBase. Removed comments referring to defunct
3717 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
3718 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
3719 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
3720
3721 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
3722 for caching structures and prototypes.
3723 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
3724 (WebCore::JSEventTargetNode::createPrototype): Added.
3725 * bindings/js/JSEventTargetNode.h: Updated for above changes.
3726
3727 * bindings/js/JSHTMLAllCollection.h:
3728 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
3729 * bindings/js/JSHTMLCollectionCustom.cpp:
3730 (WebCore::getNamedItems): Pass ExecState instead of prototype.
3731 * bindings/js/JSHTMLFormElementCustom.cpp:
3732 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
3733 * bindings/js/JSHTMLInputElementBase.cpp:
3734 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
3735 * bindings/js/JSHTMLInputElementBase.h: Ditto.
3736 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3737 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3738 Create a unique structure instead of sharing.
3739 * bindings/js/JSImageConstructor.cpp:
3740 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
3741
3742 * bindings/js/JSInspectedObjectWrapper.cpp:
3743 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
3744 a prototype rather than a structure. Made the use of inheritorID() here
3745 explicit.
3746 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
3747 * bindings/js/JSInspectorCallbackWrapper.cpp:
3748 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
3749 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
3750
3751 * bindings/js/JSNamedNodesCollection.cpp:
3752 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
3753 take an ExecState argument instead of a prototype. Create a unique
3754 StructureID instead of sharing.
3755 * bindings/js/JSNamedNodesCollection.h: Ditto.
3756
3757 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
3758 constructor that takes a prototype instead of a structure.
3759 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
3760
3761 * bindings/js/JSRGBColor.cpp:
3762 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
3763 prototype; create a unique structure.
3764 (WebCore::getJSRGBColor): Ditto.
3765 * bindings/js/JSRGBColor.h: Ditto.
3766
3767 * bindings/js/JSSQLResultSetRowListCustom.cpp:
3768 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
3769 of explicit coding the idiom for making a new object.
3770
3771 * bindings/js/JSXMLHttpRequestConstructor.cpp:
3772 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3773 Create a unique structure instead of the shared one.
3774 * bindings/js/JSXSLTProcessorConstructor.cpp:
3775 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
3776 Ditto.
3777
3778 * bindings/js/ScriptController.cpp:
3779 (WebCore::ScriptController::clearWindowShell): Let the window shell's
3780 setWindow function create the JSDOMWindow instead of doing it here.
3781
3782 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
3783 the structure and the wrapped object when creating wrappers.
3784 Simplified some of the special cases for DOMWindow so they are
3785 different only in ways the need to be. Eliminated the
3786 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
3787 functions. Moved responsibility for creating the structure and
3788 parent prototype out of the prototype constructor into the
3789 createPrototype function. Removed the unused "DoNotCache" flag for
3790 objects other than DOMWindow. Use getDOMConstructor instead of
3791 cacheGlobalObject for constructors. Make each constructor have
3792 a unique structure ID.
3793
3794 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
3795 name of the info member to s_info so we can use the standard DOM
3796 binding macros to handl the prototype.
3797 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
3798 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
3799 Create a unique structure using getDOMStructure.
3800
3801 * bridge/runtime_array.cpp: Fixed namespacing a bit.
3802 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
3803 getDOMStructure.
3804 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
3805 will work.
3806
3807 * bridge/runtime_object.cpp:
3808 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
3809 getDOMStructure.
3810 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
3811 will work.
3812
3813 * history/CachedPage.cpp:
3814 (WebCore::CachedPage::restore): Let the window shell's
3815 setWindow function create the JSDOMWindow instead of doing it here.
3816
3817 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
3818
mitz@apple.comd6b74252008-09-19 21:02:55 +000038192008-09-19 Dan Bernstein <mitz@apple.com>
3820
3821 Reviewed by Dave Hyatt.
3822
3823 This optimization was suggested by Daniel Fenwick
3824
3825 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
3826
3827 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +00003828 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +00003829 of one, due to the leading space being reordered to the left.
3830
3831 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
3832 getCFStringAttributes() and changed m_CFStringAttributes from an array
3833 to a single value.
3834 * platform/graphics/mac/CoreTextController.cpp:
3835 (WebCore::CoreTextController::CoreTextController): Added a
3836 mayUseNaturalWritingDirection parameter.
3837 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
3838 to force the bidi embedding level whenever
3839 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
3840 case, made the typesetter options dictionaries static.
3841 * platform/graphics/mac/CoreTextController.h:
3842 * platform/graphics/mac/FontMacCoreText.cpp:
3843 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
3844 (WebCore::Font::floatWidthForComplexText): Changed to allow the
3845 CoreTextController to not set the writing direction.
3846 * platform/graphics/mac/SimpleFontDataMac.mm:
3847 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
3848 parameter and the paragraph style attribute.
3849
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +000038502008-09-19 David Hyatt <hyatt@apple.com>
3851
3852 Reviewed by Sam Weinig
3853
3854 https://bugs.webkit.org/show_bug.cgi?id=20941
3855
3856 Incorrect height calculation for replaced element inside nested
3857 positioned elements (where the inner has a percentage height and
3858 the outer implicitly has a fixed height because of explicit top/bottom
3859 values).
3860
3861 Added fast/block/positioning/replaced-inside-top-bottom.html
3862
3863 * rendering/RenderBox.cpp:
3864 (WebCore::RenderBox::availableHeightUsing):
3865
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +000038662008-09-19 Chris Fleizach <cfleizach@apple.com>
3867
3868 Fix Tiger bustage
3869
3870 * page/mac/AccessibilityObjectWrapper.mm:
3871
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +000038722008-09-18 Chris Fleizach <cfleizach@apple.com>
3873
3874 Reviewed by Darin Adler.
3875
3876 <rdar://problem/6211041> Expose legend tag in accessibility
3877
3878 Exposes the legend tag as the titleUIElement of a fieldset
3879
3880 Test: accessibility/legend.html
3881
3882 * page/AccessibilityObject.h:
3883 (WebCore::AccessibilityObject::isFieldset):
3884 * page/AccessibilityRenderObject.cpp:
3885 (WebCore::AccessibilityRenderObject::isFieldset):
3886 (WebCore::AccessibilityRenderObject::titleUIElement):
3887 * page/AccessibilityRenderObject.h:
3888 * rendering/RenderFieldset.h:
3889
cfleizach@apple.comcff26212008-09-19 20:04:13 +000038902008-09-19 Chris Fleizach <cfleizach@apple.com>
3891
3892 Reviewed by Darin Adler.
3893
3894 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
3895
3896 Implement a few AX API methods that will be called by AppKit, which will
3897 speed up access to accessibility objects
3898
3899 * page/mac/AccessibilityObjectWrapper.mm:
3900 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
3901 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
3902 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
3903
zecke@webkit.org7594eb62008-09-19 11:06:55 +000039042008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
3905
3906 Reviewed by Simon Hausmann.
3907
zecke@webkit.org3df68032008-09-19 11:43:27 +00003908 [qtwebkit] Set the m_should* flags to their proper value on entry
3909 With plugins it was possible that we finished a job twice. This was
3910 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
3911 setting the flag to (m_loadMode == LoadDeferred) they will always have
3912 the right value and we will not send responses twice.
3913
3914 * platform/network/qt/QNetworkReplyHandler.cpp:
3915
39162008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
3917
3918 Reviewed by Simon Hausmann.
3919
zecke@webkit.org7594eb62008-09-19 11:06:55 +00003920 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
3921 Handle text decoding errors before instructing the parser to parse. We
3922 have converted the text to QString and all encoding errors are gone and
3923 the parser will not be able to detect them. So handle them before parsing.
3924
3925 * dom/XMLTokenizerQt.cpp:
3926 (WebCore::XMLTokenizer::doWrite):
3927
darin@apple.comc9aea832008-09-19 06:49:35 +000039282008-09-18 Darin Adler <darin@apple.com>
3929
3930 Reviewed by Maciej Stachowiak.
3931
3932 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
3933 make each distinct C++ class get a distinct JSC::Structure
3934
3935 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3936 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
3937 instead of DOMExceptionTranslator.
3938
3939 * bindings/js/JSDOMBinding.cpp:
3940 (WebCore::getCachedDOMObjectWrapper): Updated function name.
3941 (WebCore::cacheDOMObjectWrapper): Ditto.
3942 (WebCore::forgetDOMObject): Ditto.
3943 (WebCore::getCachedDOMNodeWrapper): Ditto.
3944 (WebCore::forgetDOMNode): Ditto.
3945 (WebCore::cacheDOMNodeWrapper): Ditto.
3946 (WebCore::forgetAllDOMNodesForDocument): Ditto.
3947 (WebCore::markDOMNodesForDocument): Ditto.
3948 (WebCore::updateDOMNodeDocument): Ditto.
3949 (WebCore::getCachedDOMStructure): Added.
3950 (WebCore::createDOMStructure): Ditto.
3951
3952 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
3953 class and replace the static member functions with non-member
3954 functions. Added many other functions for getting at structures,
3955 prototypes, wrappers, and creating them. Also moved the
3956 cacheGlobalObject function here from JavaScriptCore; eventually
3957 I'll remove that once I get rid of the remaining callers. Also
3958 removed the DOMExceptionTranslator class.
3959
3960 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
3961 and put one of those maps in each window.
3962
3963 * bindings/js/JSDOMWindowCustom.cpp:
3964 (WebCore::markDOMObjectWrapper): Updated for function name change.
3965 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
3966 in the structure map.
3967
3968 * bindings/js/JSEventTargetNode.cpp:
3969 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
3970 a structure instead of a prototype.
3971 * bindings/js/JSEventTargetNode.h: Ditto.
3972 * bindings/js/JSHTMLAllCollection.h:
3973 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
3974
3975 * bindings/js/JSHTMLInputElementBase.cpp:
3976 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
3977 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
3978 structure instead of a prototype.
3979 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
3980 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
3981 to take a structure instead of a prototype. Created a dummy prototype
3982 class that causes the HTMLInputElement prototype to have the
3983 HTMLElement prototype.
3984
3985 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
3986 structures instead of prototypes. Changed the prototype self function
3987 to use the getDOMPrototype function -- later we can eliminate it and
3988 have callers invoke getDOMPrototype directly instead. Updated other
3989 functions that have name changes. Added code to generate the
3990 createPrototype member function. Changed use of cacheGlobalObject to
3991 get it from the WebCore namespace instead of the JSC namespace.
3992 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
3993
3994 * dom/Document.cpp:
3995 (WebCore::Document::~Document): Updated for name change and also
3996 removed unnecessary JSLock use -- there's no need to lock around this.
3997 * dom/Node.cpp:
3998 (WebCore::Node::setDocument): Ditto.
3999
4000 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
4001 instead of calling new directly.
4002
4003 * bindings/js/JSCSSRuleCustom.cpp:
4004 (WebCore::toJS): Updated for function name changes and used the
4005 CREATE_DOM_OBJECT_WRAPPER macro.
4006 * bindings/js/JSCSSValueCustom.cpp:
4007 (WebCore::toJS): Ditto.
4008 * bindings/js/JSCanvasPixelArrayCustom.cpp:
4009 (WebCore::toJS): Ditto.
4010 * bindings/js/JSDocumentCustom.cpp:
4011 (WebCore::JSDocument::mark): Ditto.
4012 (WebCore::toJS): Ditto.
4013 * bindings/js/JSElementCustom.cpp:
4014 (WebCore::toJSNewlyCreated): Ditto.
4015 * bindings/js/JSEventCustom.cpp:
4016 (WebCore::toJS): Ditto.
4017 * bindings/js/JSEventTargetBase.cpp:
4018 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
4019 of DOMExceptionTranslator.
4020 (WebCore::toJS): Updated for function name changes and used the
4021 CREATE_DOM_OBJECT_WRAPPER macro.
4022 * bindings/js/JSHTMLCollectionCustom.cpp:
4023 (WebCore::toJS): Ditto.
4024 * bindings/js/JSNodeCustom.cpp:
4025 (WebCore::JSNode::mark): Ditto.
4026 (WebCore::createWrapper): Ditto.
4027 (WebCore::toJS): Ditto.
4028 * bindings/js/JSSVGPathSegCustom.cpp:
4029 (WebCore::toJS): Ditto.
4030 * bindings/js/JSStyleSheetCustom.cpp:
4031 (WebCore::toJS): Ditto.
4032 (WebCore::JSStyleSheet::mark): Ditto.
4033 * bindings/js/JSTextCustom.cpp:
4034 (WebCore::toJSNewlyCreated): Ditto.
4035 * bindings/js/JSXMLHttpRequestConstructor.cpp:
4036 (WebCore::constructXMLHttpRequest): Ditto.
4037 * bindings/js/JSXMLHttpRequestCustom.cpp:
4038 (WebCore::JSXMLHttpRequest::mark): Ditto.
4039 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4040 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
4041 * bindings/js/JSXSLTProcessorConstructor.cpp:
4042 (WebCore::constructXSLTProcessor): Ditto.
4043 * bindings/js/ScriptController.cpp:
4044 (WebCore::ScriptController::finishedWithEvent): Ditto.
4045 * xml/XMLHttpRequest.cpp:
4046 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
4047 (WebCore::XMLHttpRequest::dropProtection): Ditto.
4048
hyatt@apple.com083539d2008-09-19 06:30:16 +000040492008-09-18 David Hyatt <hyatt@apple.com>
4050
4051 This patch gets a viewless scrollbar working on Mac. It is turned off
4052 by default. Hit testing works. For now the scrollbar just paints ugly
4053 debug rects in the place of the buttons, track and thumb. It does match
4054 Aqua metrics though.
4055
4056 Reviewed by Sam Weinig
4057
4058 * WebCore.xcodeproj/project.pbxproj:
4059 * page/mac/EventHandlerMac.mm:
4060 (WebCore::EventHandler::passMousePressEventToScrollbar):
4061 * platform/ScrollbarThemeComposite.cpp:
4062 (WebCore::ScrollbarThemeComposite::paint):
4063 (WebCore::ScrollbarThemeComposite::trackPosition):
4064 * platform/ScrollbarThemeComposite.h:
4065 * platform/mac/ScrollViewMac.mm:
4066 (WebCore::ScrollView::addChild):
4067 * platform/mac/ScrollbarThemeMac.cpp:
4068 (WebCore::):
4069 (WebCore::ScrollbarThemeMac::hasButtons):
4070 (WebCore::ScrollbarThemeMac::hasThumb):
4071 (WebCore::buttonRepaintRect):
4072 (WebCore::ScrollbarThemeMac::backButtonRect):
4073 (WebCore::ScrollbarThemeMac::forwardButtonRect):
4074 (WebCore::trackRepaintRect):
4075 (WebCore::ScrollbarThemeMac::trackRect):
4076 (WebCore::ScrollbarThemeMac::minimumThumbLength):
4077 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
4078 (WebCore::ScrollbarThemeMac::paintTrack):
4079 (WebCore::ScrollbarThemeMac::paintButton):
4080 (WebCore::ScrollbarThemeMac::paintThumb):
4081 * platform/mac/ScrollbarThemeMac.h:
4082 (WebCore::ScrollbarThemeMac::supportsControlTints):
4083 * platform/qt/ScrollbarThemeQt.cpp:
4084 (WebCore::ScrollbarThemeQt::trackPosition):
4085
collinj@webkit.org51261aa2008-09-19 06:13:22 +000040862008-09-18 Collin Jackson <collinj@webkit.org>
4087
4088 Build fix; added missing header file to GNUmakefile.am
4089
4090 * GNUmakefile.am:
4091
weinig@apple.com39aecbe2008-09-19 04:56:21 +000040922008-09-18 Sam Weinig <sam@webkit.org>
4093
4094 Reviewed by David "the Hair" Hyatt.
4095
4096 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
4097
4098 * GNUmakefile.am:
4099 * WebCore.pro:
4100 * WebCore.vcproj/WebCore.vcproj:
4101 * WebCore.xcodeproj/project.pbxproj:
4102 * rendering/DataRef.h: Removed.
4103 * rendering/SVGRenderStyle.cpp: Removed.
4104 * rendering/SVGRenderStyle.h: Removed.
4105 * rendering/SVGRenderStyleDefs.cpp: Removed.
4106 * rendering/SVGRenderStyleDefs.h: Removed.
4107 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
4108 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
4109 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
4110 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
4111 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
4112
mrowe@apple.coma5206592008-09-19 04:47:58 +000041132008-09-18 Mark Rowe <mrowe@apple.com>
4114
4115 Reviewed by Dan Bernstein.
4116
4117 Add a means of clearing a FrameTree's name.
4118
4119 * WebCore.base.exp:
4120 * page/FrameTree.cpp:
4121 (WebCore::FrameTree::clearName):
4122 * page/FrameTree.h:
4123
hyatt@apple.com6eeef382008-09-19 04:30:53 +000041242008-09-18 David Hyatt <hyatt@apple.com>
4125
4126 Eliminate addToSuperview from Widget, since it was only called
4127 by ScrollViewMac's addChild method. Just shift the original body
4128 of addToSuperView into addChild.
4129
4130 Reviewed by Sam Weinig
4131
4132 * platform/Widget.h:
4133 * platform/mac/ScrollViewMac.mm:
4134 (WebCore::ScrollView::addChild):
4135 * platform/mac/WidgetMac.mm:
4136
collinj@webkit.org9c672f62008-09-19 04:15:14 +000041372008-09-18 Collin Jackson <collinj@webkit.org>
4138
4139 Reviewed by Antti Koivisto and Mark Rowe.
4140
4141 Test: http/tests/misc/dns-prefetch-control.html
4142
4143 https://bugs.webkit.org/show_bug.cgi?id=20690
4144
4145 Invoke WebCore::prefetchDNS() on host names that appear in
4146 in the href of hyperlinks and <link rel="dns-prefetch">. This
4147 can be used to implement DNS prefetching.
4148
4149 * WebCore.vcproj/WebCore.vcproj:
4150 * WebCore.xcodeproj/project.pbxproj:
4151 * dom/Document.cpp:
4152 (WebCore::Document::Document):
4153 (WebCore::Document::processHttpEquiv):
4154 (WebCore::Document::setSecurityOrigin):
4155 (WebCore::Document::initDNSPrefetch):
4156 (WebCore::Document::parseDNSPrefetchControlHeader):
4157 * dom/Document.h:
4158 (WebCore::Document::isDNSPrefetchEnabled):
4159 * html/HTMLAnchorElement.cpp:
4160 (WebCore::HTMLAnchorElement::parseMappedAttribute):
4161 * html/HTMLLinkElement.cpp:
4162 (WebCore::HTMLLinkElement::HTMLLinkElement):
4163 (WebCore::HTMLLinkElement::parseMappedAttribute):
4164 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
4165 (WebCore::HTMLLinkElement::process):
4166 * html/HTMLLinkElement.h:
4167 * html/PreloadScanner.cpp:
4168 (WebCore::PreloadScanner::processAttribute):
4169 * loader/FrameLoader.cpp:
4170 (WebCore::FrameLoader::begin):
4171 * platform/gtk/TemporaryLinkStubs.cpp:
4172 (WebCore::prefetchDNS):
4173 * platform/network/DNS.h: Added.
4174 * platform/network/cf/DNSCFNet.cpp: Added.
4175 (WebCore::prefetchDNS):
4176 * platform/qt/TemporaryLinkStubs.cpp:
4177 (WebCore::prefetchDNS):
4178 * platform/wx/TemporaryLinkStubs.cpp:
4179 (WebCore::prefetchDNS):
4180
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000041812008-09-18 David Hyatt <hyatt@apple.com>
4182
hyatt@apple.comcf31c162008-09-19 04:01:56 +00004183 Eliminate the convertToScreenCoordinate method on Widget, since
4184 ScrollView has redundant methods that already do the same thing.
4185
4186 Reviewed by Sam Weinig
4187
4188 * editing/mac/SelectionControllerMac.mm:
4189 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
4190 * platform/Widget.h:
4191 * platform/mac/WidgetMac.mm:
4192 (WebCore::Widget::containingWindow):
4193
41942008-09-18 David Hyatt <hyatt@apple.com>
4195
hyatt@apple.com179629b3c2008-09-19 03:16:26 +00004196 Move to only one constructor for Widgets. Rename data to m_data and make
4197 it have an #ifdef only for platforms that have platform-specific data (Mac
4198 and Gtk).
4199
4200 Reviewed by Sam Weinig
4201
4202 * WebCore.base.exp:
4203 * platform/Widget.cpp:
4204 (WebCore::Widget::init):
4205 * platform/Widget.h:
4206 * platform/gtk/WidgetGtk.cpp:
4207 (WebCore::Widget::Widget):
4208 (WebCore::Widget::~Widget):
4209 (WebCore::Widget::cursor):
4210 (WebCore::Widget::setCursor):
4211 * platform/mac/WidgetMac.mm:
4212 (WebCore::Widget::Widget):
4213 (WebCore::Widget::~Widget):
4214 (WebCore::Widget::addToSuperview):
4215 (WebCore::Widget::removeFromSuperview):
4216 (WebCore::Widget::beforeMouseDown):
4217 (WebCore::Widget::afterMouseDown):
4218 * platform/qt/WidgetQt.cpp:
4219 (WebCore::Widget::Widget):
4220 * platform/win/WidgetWin.cpp:
4221 (WebCore::Widget::Widget):
4222 * platform/wx/WidgetWx.cpp:
4223 (WebCore::Widget::Widget):
4224
42252008-09-18 David Hyatt <hyatt@apple.com>
4226
hyatt@apple.com470d7e72008-09-19 03:01:08 +00004227 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
4228 was no reason for it to be on Widget. This change eliminates Qt ifdefs
4229 from Widget.
4230
4231 Reviewed by Sam Weinig
4232
4233 * bindings/js/ScriptControllerQt.cpp:
4234 (WebCore::ScriptController::createScriptInstanceForWidget):
4235 * platform/qt/WidgetQt.cpp:
4236 (WebCore::WidgetPrivate::WidgetPrivate):
4237 (WebCore::WidgetPrivate::~WidgetPrivate):
4238 (WebCore::Widget::Widget):
4239 (WebCore::Widget::~Widget):
4240 * plugins/PluginView.cpp:
4241 (WebCore::PluginView::PluginView):
4242 * plugins/PluginView.h:
4243 (WebCore::PluginView::isNPAPIPlugin):
4244 (WebCore::PluginView::setIsNPAPIPlugin):
4245
42462008-09-18 David Hyatt <hyatt@apple.com>
4247
hyatt@apple.com557408b2008-09-19 02:36:08 +00004248 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
4249 ifdefs are now gone from Widget!
4250
4251 Reviewed by Sam Weinig
4252
4253 * platform/Widget.h:
4254 (WebCore::Widget::geometryChanged):
4255 * platform/gtk/WidgetGtk.cpp:
4256 * platform/qt/WidgetQt.cpp:
4257
42582008-09-18 David Hyatt <hyatt@apple.com>
4259
hyatt@apple.com17e57432008-09-19 02:29:27 +00004260 Consolidate convertTo/FromContainingWindow methods so that all platforms
4261 but Mac share the same code.
4262
4263 Move convertSelfToChild and convertChildToSelf to ScrollView, since
4264 Widget should know nothing about children. Make the methods cross-platform
4265 on ScrollView.
4266
4267 Reviewed by Sam Weinig
4268
4269 * platform/ScrollView.h:
4270 (WebCore::ScrollView::convertChildToSelf):
4271 (WebCore::ScrollView::convertSelfToChild):
4272 * platform/Widget.cpp:
4273 (WebCore::Widget::convertToContainingWindow):
4274 (WebCore::Widget::convertFromContainingWindow):
4275 * platform/Widget.h:
4276 (WebCore::Widget::geometryChanged):
4277 * platform/gtk/ScrollViewGtk.cpp:
4278 (WebCore::ScrollView::isScrollViewScrollbar):
4279 * platform/gtk/WidgetGtk.cpp:
4280 * platform/mac/ScrollViewMac.mm:
4281 (WebCore::ScrollView::isScrollViewScrollbar):
4282 * platform/mac/WidgetMac.mm:
4283 * platform/qt/ScrollViewQt.cpp:
4284 (WebCore::ScrollView::isScrollViewScrollbar):
4285 * platform/qt/WidgetQt.cpp:
4286 * platform/win/ScrollViewWin.cpp:
4287 (WebCore::ScrollView::isScrollViewScrollbar):
4288 * platform/win/WidgetWin.cpp:
4289
42902008-09-18 David Hyatt <hyatt@apple.com>
4291
hyatt@apple.comc5b931a2008-09-19 00:39:51 +00004292 Make the conversion methods that go to and from some containingWindow
4293 cross-platform. Implement them on Mac.
4294
4295 Reviewed by Sam Weinig
4296
4297 * platform/Widget.h:
4298 (WebCore::Widget::setContainingWindow):
4299 * platform/mac/WidgetMac.mm:
4300 (WebCore::Widget::convertFromContainingWindow):
4301 (WebCore::Widget::convertToContainingWindow):
4302
weinig@apple.comd1ea02d2008-09-19 00:28:05 +000043032008-09-18 Sam Weinig <sam@webkit.org>
4304
4305 Rubber-stamped by David "Yeah-yeah" Hyatt.
4306
4307 Cleanup RenderStyle.
4308
4309 * WebCore.xcodeproj/project.pbxproj:
4310 * rendering/style/CounterContent.h:
4311 * rendering/style/RenderStyle.cpp:
4312 * rendering/style/RenderStyle.h:
4313
dino@apple.comef93f532008-09-19 00:01:07 +000043142008-09-18 Chris Marrin <cmarrin@apple.com>
4315
4316 Reviewed by Sam Weinig
4317
4318 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
4319 Now TransformOperations and AnimationList no longer
4320 inherit from Vector<> but rather have API to access.
4321
4322 * css/CSSComputedStyleDeclaration.cpp:
4323 (WebCore::computedTransform):
4324 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4325 * css/CSSStyleSelector.cpp:
4326 (WebCore::CSSStyleSelector::createTransformOperations):
4327 * page/animation/AnimationBase.cpp:
4328 (WebCore::blendFunc):
4329 * page/animation/CompositeAnimation.cpp:
4330 (WebCore::CompositeAnimation::updateTransitions):
4331 (WebCore::CompositeAnimation::updateKeyframeAnimations):
4332 (WebCore::CompositeAnimation::animate):
4333 * page/animation/ImplicitAnimation.cpp:
4334 (WebCore::ImplicitAnimation::validateTransformFunctionList):
4335 * page/animation/KeyframeAnimation.cpp:
4336 (WebCore::KeyframeAnimation::validateTransformFunctionList):
4337 * rendering/RenderLayer.cpp:
4338 (WebCore::RenderLayer::updateReflectionStyle):
4339 * rendering/style/AnimationList.cpp:
4340 (WebCore::AnimationList::operator==):
4341 * rendering/style/AnimationList.h:
4342 (WebCore::AnimationList::operator!=):
4343 (WebCore::AnimationList::size):
4344 (WebCore::AnimationList::isEmpty):
4345 (WebCore::AnimationList::resize):
4346 (WebCore::AnimationList::remove):
4347 (WebCore::AnimationList::append):
4348 (WebCore::AnimationList::animation):
4349 * rendering/style/RenderStyle.cpp:
4350 (WebCore::StyleRareNonInheritedData::updateKeyframes):
4351 (WebCore::RenderStyle::applyTransform):
4352 (WebCore::RenderStyle::adjustAnimations):
4353 (WebCore::RenderStyle::adjustTransitions):
4354 (WebCore::RenderStyle::transitionForProperty):
4355 * rendering/style/RenderStyle.h:
4356 (WebCore::RenderStyle::hasTransform):
4357 * rendering/style/TransformOperations.cpp:
4358 (WebCore::TransformOperations::TransformOperations):
4359 (WebCore::TransformOperations::operator==):
4360 * rendering/style/TransformOperations.h:
4361 (WebCore::TransformOperations::apply):
4362 (WebCore::TransformOperations::operations):
4363
zecke@webkit.org20690ef2008-09-18 23:28:34 +000043642008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
4365
zecke@webkit.org30db7422008-09-19 01:00:18 +00004366 Build fix.
4367
4368 [qt] Build fixes after the Widget/ScrollView cleanup
4369 topLevel() is now root()
4370
4371
4372 * platform/qt/ScrollViewQt.cpp:
4373 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
4374 (WebCore::ScrollView::addChild):
4375 (WebCore::ScrollView::removeChild):
4376
43772008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
4378
zecke@webkit.org20690ef2008-09-18 23:28:34 +00004379 Reviewed by Mark Rowe.
4380
4381 https://bugs.webkit.org/show_bug.cgi?id=20437
4382
4383 XMLTokenizer.cpp used to contain two different implementations. One was using
4384 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
4385 separating the two implementations from each other.
4386 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
4387 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
4388 XMLTokenizerLibxml2.cpp. There should be no functional changes.
4389
4390 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
4391 to work.
4392
4393 * GNUmakefile.am:
4394 * WebCore.pro:
4395 * WebCore.vcproj/WebCore.vcproj:
4396 * WebCore.xcodeproj/project.pbxproj:
4397 * WebCoreSources.bkl:
4398 * dom/XMLTokenizer.cpp:
4399 (WebCore::isScriptElement):
4400 (WebCore::castToScriptElement):
4401 (WebCore::XMLTokenizer::setCurrentNode):
4402 (WebCore::XMLTokenizer::write):
4403 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
4404 (WebCore::XMLTokenizer::enterText):
4405 (WebCore::toString):
4406 (WebCore::XMLTokenizer::exitText):
4407 (WebCore::XMLTokenizer::end):
4408 (WebCore::XMLTokenizer::insertErrorMessageBlock):
4409 * dom/XMLTokenizer.h:
4410 (WebCore::XMLTokenizer::wellFormed):
4411 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
4412 (WebCore::createMemoryParser):
4413 (WebCore::XMLTokenizer::XMLTokenizer):
4414 (WebCore::XMLTokenizer::~XMLTokenizer):
4415 (WebCore::XMLTokenizer::doWrite):
4416 (WebCore::ignorableWhitespaceHandler):
4417 (WebCore::XMLTokenizer::initializeParserContext):
4418 (WebCore::XMLTokenizer::doEnd):
4419 (WebCore::XMLTokenizer::lineNumber):
4420 (WebCore::XMLTokenizer::columnNumber):
4421 (WebCore::XMLTokenizer::stopParsing):
4422 (WebCore::XMLTokenizer::resumeParsing):
4423 (WebCore::parseXMLDocumentFragment):
4424 (WebCore::attributesStartElementNsHandler):
4425 (WebCore::parseAttributes):
4426 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
4427 (WebCore::EntityResolver::resolveUndeclaredEntity):
4428 (WebCore::XMLTokenizer::XMLTokenizer):
4429 (WebCore::XMLTokenizer::~XMLTokenizer):
4430 (WebCore::XMLTokenizer::doWrite):
4431 (WebCore::XMLTokenizer::initializeParserContext):
4432 (WebCore::XMLTokenizer::doEnd):
4433 (WebCore::XMLTokenizer::lineNumber):
4434 (WebCore::XMLTokenizer::columnNumber):
4435 (WebCore::XMLTokenizer::stopParsing):
4436 (WebCore::XMLTokenizer::resumeParsing):
4437 (WebCore::parseXMLDocumentFragment):
4438 (WebCore::attributesStartElementNsHandler):
4439 (WebCore::parseAttributes):
4440 (WebCore::):
4441
bdakin@apple.com4c244902008-09-18 23:08:35 +000044422008-09-18 Beth Dakin <bdakin@apple.com>
4443
4444 Reviewed by Geoff Garen.
4445
4446 Build fix for non-Mac builds.
4447
4448 * css/CSSPrimitiveValue.cpp:
4449 (WebCore::CSSPrimitiveValue::cssText):
4450
eric@webkit.org4ac94e62008-09-18 23:07:55 +000044512008-09-18 Peter Kasting <pkasting@google.com>
4452
4453 Reviewed by hyatt. Landed by eseidel.
4454
4455 https://bugs.webkit.org/show_bug.cgi?id=20745
4456 Animated GIFs do not animate properly with (at least) CG.
4457
4458 * WebCore\platform\graphics\BitmapImage.cpp:
4459 * WebCore\platform\graphics\BitmapImage.h:
4460 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
4461 * WebCore\platform\graphics\cg\ImageCG.cpp:
4462 * WebCore\platform\graphics\qt\ImageQt.cpp:
4463 * WebCore\platform\graphics\wx\ImageWx.cpp:
4464
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +000044652008-09-18 Chris Fleizach <cfleizach@apple.com>
4466
4467 Reviewed by Beth Dakin
4468
4469 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
4470 role specifies otherwise
4471
4472 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
4473
4474 Test: accessibility/table-with-aria-role.html
4475
4476 * page/AccessibilityTable.cpp:
4477 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
4478 (WebCore::AccessibilityTable::addChildren):
4479 (WebCore::AccessibilityTable::roleValue):
4480 (WebCore::AccessibilityTable::accessibilityIsIgnored):
4481 (WebCore::AccessibilityTable::title):
4482 * page/AccessibilityTableCell.cpp:
4483 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
4484 (WebCore::AccessibilityTableCell::isTableCell):
4485 (WebCore::AccessibilityTableCell::roleValue):
4486 * page/AccessibilityTableCell.h:
4487 * page/AccessibilityTableRow.cpp:
4488 (WebCore::AccessibilityTableRow::roleValue):
4489 (WebCore::AccessibilityTableRow::isTableRow):
4490 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
4491 * page/AccessibilityTableRow.h:
4492
sfalken@apple.coma96c5d32008-09-18 22:29:34 +000044932008-09-18 Steve Falkenburg <sfalken@apple.com>
4494
4495 Use higher-resolution timers on all variants of Windows.
4496
4497 Reviewed by Darin Adler.
4498
4499 * platform/win/SharedTimerWin.cpp:
4500 (WebCore::setSharedTimerFireTime):
4501
4502
hyatt@apple.comb7d49b62008-09-18 22:21:25 +000045032008-09-18 David Hyatt <hyatt@apple.com>
4504
4505 Make containingWindow() and setContainingWindow() cross-platform.
4506 Add a root() function cross-platform so Qt doesn't have to
4507 define its own.
4508
4509 Reviewed by Darin Adler
4510
4511 * platform/Widget.cpp:
4512 (WebCore::Widget::root):
4513 * platform/Widget.h:
4514 (WebCore::Widget::setContainingWindow):
4515 * platform/gtk/WidgetGtk.cpp:
4516 (WebCore::Widget::Widget):
4517 (WebCore::Widget::containingWindow):
4518 * platform/mac/ScrollViewMac.mm:
4519 (WebCore::ScrollView::addChild):
4520 (WebCore::ScrollView::removeChild):
4521 * platform/mac/WidgetMac.mm:
4522 (WebCore::Widget::containingWindow):
4523 * platform/qt/WidgetQt.cpp:
4524 (WebCore::Widget::invalidateRect):
4525 (WebCore::Widget::containingWindow):
4526 * platform/win/WidgetWin.cpp:
4527 (WebCore::Widget::Widget):
4528 (WebCore::Widget::~Widget):
4529 (WebCore::Widget::containingWindow):
4530
bdakin@apple.comfa1ce162008-09-18 22:18:01 +000045312008-09-18 Beth Dakin <bdakin@apple.com>
4532
4533 Reviewed by Dave Hyatt.
4534
4535 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
4536 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
4537 dashboard-region=
4538 and corresponding: <rdar://problem/6174100>
4539
4540 This patch makes CSSParserValue::createCSSValue handle unknown
4541 identifiers.
4542
4543 * css/CSSParserValues.cpp:
4544 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
4545 with no id (an unknown identifier) create a CSSPrimitiveValue of
4546 type CSS_PARSER_IDENTIFIER
4547 * css/CSSPrimitiveValue.cpp:
4548 (WebCore::CSSPrimitiveValue::cssText):
4549 (WebCore::CSSPrimitiveValue::parserValue):
4550 * css/CSSPrimitiveValue.h:
4551 (WebCore::CSSPrimitiveValue::):
4552
weinig@apple.comfce49be2008-09-18 21:46:14 +000045532008-09-18 Sam Weinig <sam@webkit.org>
4554
4555 Rubber-stamped by David "I'd prefer not" Hyatt.
4556
4557 More the remaining class out of RenderStyle.h/cpp
4558
4559 * GNUmakefile.am:
4560 * WebCore.pro:
4561 * WebCore.vcproj/WebCore.vcproj:
4562 * WebCore.xcodeproj/project.pbxproj:
4563 * WebCoreSources.bkl:
4564 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
4565 (WebCore::CursorData::CursorData):
4566 (WebCore::CursorData::operator==):
4567 (WebCore::CursorData::operator!=):
4568 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
4569 (WebCore::CursorList::operator[]):
4570 (WebCore::CursorList::CursorList):
4571 * rendering/style/RenderStyle.cpp:
4572 * rendering/style/RenderStyle.h:
4573 (WebCore::RenderStyle::deref):
4574 (WebCore::RenderStyle::hasOneRef):
4575 (WebCore::RenderStyle::InheritedFlags::operator!=):
4576 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
4577 (WebCore::RenderStyle::hasBackground):
4578 (WebCore::RenderStyle::outlineWidth):
4579 (WebCore::RenderStyle::autoWrap):
4580 (WebCore::RenderStyle::preserveNewline):
4581 (WebCore::RenderStyle::collapseWhiteSpace):
4582 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
4583 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
4584 (WebCore::RenderStyle::breakWords):
4585 (WebCore::RenderStyle::outlineOffset):
4586 (WebCore::RenderStyle::setLeft):
4587 (WebCore::RenderStyle::setRight):
4588 (WebCore::RenderStyle::setTop):
4589 (WebCore::RenderStyle::setBottom):
4590 (WebCore::RenderStyle::setDashboardRegion):
4591 (WebCore::RenderStyle::setBackgroundColor):
4592 (WebCore::RenderStyle::setBorderImage):
4593 (WebCore::RenderStyle::setBorderRadius):
4594 (WebCore::RenderStyle::setFontDescription):
4595 (WebCore::RenderStyle::adjustBackgroundLayers):
4596 (WebCore::RenderStyle::adjustMaskLayers):
4597 (WebCore::RenderStyle::deleteBindingURIs):
4598 (WebCore::RenderStyle::inheritBindingURIs):
4599 (WebCore::RenderStyle::isDisplayReplacedType):
4600 (WebCore::RenderStyle::isDisplayInlineType):
4601 (WebCore::RenderStyle::isOriginalDisplayInlineType):
4602 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4603 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
4604 (WebCore::StyleInheritedData::operator!=):
4605 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4606 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
4607 (WebCore::StyleRareInheritedData::operator!=):
4608 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
4609 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
4610 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
4611
hyatt@apple.com643534d2008-09-18 20:09:41 +000046122008-09-18 David Hyatt <hyatt@apple.com>
4613
hyatt@apple.comd23089a2008-09-18 20:24:16 +00004614 Move the concept of suppression invalidation on Widgets to Scrollbar
4615 instead. Since this is only used by Scrollbars, there is no need for
4616 it to be on Widget.
4617
4618 Reviewed by Sam Weinig
4619
4620 * platform/Scrollbar.cpp:
4621 (WebCore::Scrollbar::Scrollbar):
4622 (WebCore::Scrollbar::invalidateRect):
4623 * platform/Scrollbar.h:
4624 (WebCore::Scrollbar::suppressInvalidation):
4625 (WebCore::Scrollbar::setSuppressInvalidation):
4626 * platform/Widget.h:
4627 * platform/gtk/WidgetGtk.cpp:
4628 (WebCore::Widget::Widget):
4629 (WebCore::Widget::invalidateRect):
4630 * platform/qt/WidgetQt.cpp:
4631 (WebCore::WidgetPrivate::WidgetPrivate):
4632 (WebCore::Widget::invalidateRect):
4633 * platform/win/WidgetWin.cpp:
4634 (WebCore::Widget::Widget):
4635 (WebCore::Widget::invalidateRect):
4636
46372008-09-18 David Hyatt <hyatt@apple.com>
4638
hyatt@apple.com643534d2008-09-18 20:09:41 +00004639 Make invalidate() on Widget non-virtual and make it just call
4640 invalidateRect() on the boundsGeometry() of the Widget.
4641
4642 Reviewed by Dan Bernstein
4643
4644 * platform/Widget.h:
4645 (WebCore::Widget::boundsGeometry):
4646 (WebCore::Widget::invalidate):
4647 * platform/gtk/WidgetGtk.cpp:
4648 * platform/mac/WidgetMac.mm:
4649 * platform/qt/WidgetQt.cpp:
4650 * platform/win/WidgetWin.cpp:
4651 * platform/wx/WidgetWx.cpp:
4652
weinig@apple.comcaf2df42008-09-18 19:40:24 +000046532008-09-18 Sam Weinig <sam@webkit.org>
4654
4655 Rubber-stamped in exile by David Hyatt.
4656
4657 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
4658 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
4659 RenderStyle.h/cpp
4660
4661 * GNUmakefile.am:
4662 * WebCore.pro:
4663 * WebCore.vcproj/WebCore.vcproj:
4664 * WebCore.xcodeproj/project.pbxproj:
4665 * WebCoreSources.bkl:
4666 * css/CSSStyleSelector.cpp:
4667 * css/CSSStyleSelector.h:
4668 * page/animation/CompositeAnimation.cpp:
4669 * page/animation/KeyframeAnimation.cpp:
4670 * page/animation/KeyframeAnimation.h:
4671 * rendering/RenderCounter.h:
4672 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
4673 (WebCore::Animation::~Animation):
4674 (WebCore::Animation::animationsMatch):
4675 (WebCore::Animation::keyframeList):
4676 (WebCore::Animation::setAnimationKeyframe):
4677 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
4678 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
4679 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
4680 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
4681 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
4682 (WebCore::BindingURI::operator!=):
4683 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
4684 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
4685 (WebCore::ContentData::ContentData):
4686 (WebCore::ContentData::~ContentData):
4687 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
4688 (WebCore::CounterContent::CounterContent):
4689 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
4690 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
4691 (WebCore::CounterDirectives::CounterDirectives):
4692 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
4693 (WebCore::KeyframeList::insert):
4694 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
4695 (WebCore::KeyframeValue::KeyframeValue):
4696 (WebCore::KeyframeList::create):
4697 (WebCore::KeyframeList::KeyframeList):
4698 * rendering/style/RenderStyle.cpp:
4699 * rendering/style/RenderStyle.h:
4700 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
4701 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
4702 (WebCore::ShadowData::ShadowData):
4703 (WebCore::ShadowData::~ShadowData):
4704 (WebCore::ShadowData::operator!=):
4705 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
4706 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
4707 (WebCore::StyleFlexibleBoxData::operator!=):
4708 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
4709 (WebCore::TimingFunction::TimingFunction):
4710 (WebCore::TimingFunction::operator==):
4711
adele@apple.com5b2b5da2008-09-18 18:49:44 +000047122008-09-18 Adele Peterson <adele@apple.com>
4713
4714 Reviewed by Dan Bernstein.
4715
4716 Fix RenderStyle leaks.
4717
4718 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
4719
kmccullough@apple.comd4089752008-09-18 17:21:49 +000047202008-09-18 Kevin McCullough <kmccullough@apple.com>
4721
kmccullough@apple.com76c708f2008-09-18 18:03:23 +00004722 Accidentally checked in code.
4723
4724 * html/HTMLElementFactory.cpp:
4725 (WebCore::frameConstructor):
4726 (WebCore::iframeConstructor):
4727
47282008-09-18 Kevin McCullough <kmccullough@apple.com>
4729
kmccullough@apple.comd4089752008-09-18 17:21:49 +00004730 Reviewed by Tim.
4731
4732 <rdar://problem/5722310> gracefully handle too many console messages
4733 (20904)
4734 - Keep track of the most previous message and then compare it to the
4735 subsequent messages as they come in. If there are multiple of the same
4736 message create a count that indicates the current number.
4737
4738 * manual-tests/inspector/multiple-console-messages.html: Added.
4739 * page/inspector/Console.js:
4740 * page/inspector/inspector.css:
4741
alp@webkit.org18a1fbc2008-09-18 11:50:26 +000047422008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
4743
4744 Reviewed by Alp Toker
4745
4746 https://bugs.webkit.org/show_bug.cgi?id=20830
4747 [GTK] Don't use deprecated pango API
4748
4749 Replace deprecated pango functions with non-deprecated ones for newer
4750 versions of pango
4751
4752 * platform/graphics/gtk/FontGtk.cpp:
4753 (WebCore::getDefaultPangoLayout):
4754 * platform/graphics/gtk/FontPlatformDataPango.cpp:
4755 (WebCore::FontPlatformData::FontPlatformData):
4756
alp@webkit.org2154ef22008-09-18 08:10:49 +000047572008-09-18 Alp Toker <alp@nuanti.com>
4758
4759 Build fix for r36587. Add new sources (and sort the lists).
4760
4761 * GNUmakefile.am:
4762
weinig@apple.com3a98b2a2008-09-18 05:51:35 +000047632008-09-17 Sam Weinig <sam@webkit.org>
4764
4765 Fix Windows build.
4766
4767 * WebCore.vcproj/WebCore.vcproj:
4768
hyatt@apple.comb3699722008-09-18 05:10:03 +000047692008-09-17 David Hyatt <hyatt@apple.com>
4770
4771 Switch back to having frameGeometry be virtual in order to keep Mac
4772 the way it used to be.
4773
4774 Reviewed by Sam Weinig
4775
4776 * WebCore.base.exp:
4777 * platform/Widget.cpp:
4778 (WebCore::Widget::setParent):
4779 * platform/Widget.h:
4780 * platform/gtk/WidgetGtk.cpp:
4781 (WebCore::Widget::frameGeometry):
4782 (WebCore::Widget::setFrameGeometry):
4783 * platform/mac/WidgetMac.mm:
4784 (WebCore::Widget::frameGeometry):
4785 (WebCore::Widget::setFrameGeometry):
4786 * platform/qt/WidgetQt.cpp:
4787 (WebCore::Widget::frameGeometry):
4788 (WebCore::Widget::setFrameGeometry):
4789 * platform/win/WidgetWin.cpp:
4790 (WebCore::Widget::frameGeometry):
4791 (WebCore::Widget::setFrameGeometry):
4792 * platform/wx/WidgetWx.cpp:
4793 (WebCore::Widget::frameGeometry):
4794 (WebCore::Widget::setFrameGeometry):
4795 * plugins/PluginView.cpp:
4796 (WebCore::PluginView::setFrameGeometry):
4797 (WebCore::PluginView::geometryChanged):
4798 * plugins/PluginView.h:
4799 * plugins/gtk/PluginViewGtk.cpp:
4800 (WebCore::PluginView::updatePluginWidget):
4801 * plugins/qt/PluginViewQt.cpp:
4802 (WebCore::PluginView::updatePluginWidget):
4803 * plugins/win/PluginViewWin.cpp:
4804 (WebCore::PluginView::updatePluginWidget):
4805
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000048062008-09-17 Sam Weinig <sam@webkit.org>
4807
weinig@apple.com4fd54cd2008-09-18 05:03:21 +00004808 Reviewed by Mark Rowe.
4809
4810 Fix assertion in DOMWindow::adjustWindowRect where we were passing
4811 in garbage values and were getting lucky that they were a not Nan.
4812
4813 * bindings/js/JSDOMWindowBase.cpp:
4814 (WebCore::windowProtoFuncOpen):
4815
48162008-09-17 Sam Weinig <sam@webkit.org>
4817
weinig@apple.com95b14762008-09-18 04:28:40 +00004818 Fix gtk build.
4819
4820 * rendering/style/MatrixTransformOperation.cpp:
4821
48222008-09-17 Sam Weinig <sam@webkit.org>
4823
weinig@apple.com00f4d5c2008-09-18 03:23:08 +00004824 Rubber-stamped with love by David Hyatt.
4825
4826 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
4827 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
4828 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
4829
4830 * GNUmakefile.am:
4831 * WebCore.pro:
4832 * WebCore.vcproj/WebCore.vcproj:
4833 * WebCore.xcodeproj/project.pbxproj:
4834 * WebCoreSources.bkl:
4835 * css/CSSStyleSelector.cpp:
4836 * page/animation/AnimationBase.cpp:
4837 (WebCore::solveEpsilon):
4838 * rendering/RenderLayer.cpp:
4839 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4840 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4841 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4842 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
4843 * rendering/style/RenderStyle.cpp:
4844 * rendering/style/RenderStyle.h:
4845 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4846 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4847 (WebCore::RotateTransformOperation::RotateTransformOperation):
4848 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4849 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4850 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
4851 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4852 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4853 (WebCore::SkewTransformOperation::SkewTransformOperation):
4854 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
4855 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
4856 (WebCore::StyleTransformData::operator!=):
4857 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
4858 (WebCore::TransformOperation::):
4859 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
4860 (WebCore::TransformOperations::TransformOperations):
4861 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
4862 (WebCore::TransformOperations::operator!=):
4863 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
4864 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
4865 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
4866
mrowe@apple.comdbfa8852008-09-18 02:59:20 +000048672008-09-17 Mark Rowe <mrowe@apple.com>
4868
4869 Build fix.
4870
4871 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
4872
hyatt@apple.com76057b42008-09-18 02:48:46 +000048732008-09-17 David Hyatt <hyatt@apple.com>
4874
4875 (1) Inline a bunch of methods for accessing frame geometry.
4876 (2) Make sure frameGeometry() works even when you have no underlying
4877 native widget.
4878 (3) Cache a frame geometry rect cross-platform (even for widgets that
4879 have underlying native widgets.
4880 (4) PluginView's updateWindow call is now a virtual function on Widget.
4881
4882 Reviewed by Sam Weinig
4883
4884 * ChangeLog:
4885 * WebCore.base.exp:
4886 * platform/Widget.cpp:
4887 (WebCore::Widget::setFrameGeometry):
4888 * platform/Widget.h:
4889 (WebCore::Widget::x):
4890 (WebCore::Widget::y):
4891 (WebCore::Widget::width):
4892 (WebCore::Widget::height):
4893 (WebCore::Widget::size):
4894 (WebCore::Widget::pos):
4895 (WebCore::Widget::frameGeometry):
4896 (WebCore::Widget::resize):
4897 (WebCore::Widget::move):
4898 (WebCore::Widget::isFrameView):
4899 (WebCore::Widget::windowClipRect):
4900 * platform/mac/WidgetMac.mm:
4901 (WebCore::Widget::~Widget):
4902 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
4903 * platform/win/WidgetWin.cpp:
4904 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
4905 * plugins/PluginView.cpp:
4906 (WebCore::PluginView::setFrameGeometry):
4907 (WebCore::PluginView::geometryChanged):
4908 * plugins/PluginView.h:
4909 * plugins/gtk/PluginViewGtk.cpp:
4910 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4911 * plugins/qt/PluginViewQt.cpp:
4912 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4913 * plugins/win/PluginViewWin.cpp:
4914 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
4915 * plugins/wx/PluginViewWx.cpp:
4916
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000049172008-09-17 Sam Weinig <sam@webkit.org>
4918
weinig@apple.comb4b66742008-09-18 02:47:55 +00004919 Reviewed by David "Waterman" Hyatt.
4920
4921 Fix a leak of NSViews in WidgetMac.mm.
4922
4923 * platform/mac/WidgetMac.mm:
4924 (WebCore::Widget::~Widget):
4925
49262008-09-17 Sam Weinig <sam@webkit.org>
4927
weinig@apple.coma812a3ce2008-09-18 01:46:26 +00004928 Rubber-stamped by David Waterman Hyatt.
4929
4930 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
4931 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
4932
4933 * GNUmakefile.am:
4934 * WebCore.pro:
4935 * WebCore.vcproj/WebCore.vcproj:
4936 * WebCore.xcodeproj/project.pbxproj:
4937 * WebCoreSources.bkl:
4938 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
4939 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
4940 (WebCore::FillLayer::operator!=):
4941 (WebCore::FillLayer::hasImage):
4942 (WebCore::FillLayer::hasFixedImage):
4943 * rendering/style/RenderStyle.cpp:
4944 * rendering/style/RenderStyle.h:
4945 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
4946 (WebCore::StyleBackgroundData::StyleBackgroundData):
4947 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
4948 (WebCore::StyleBackgroundData::~StyleBackgroundData):
4949 (WebCore::StyleBackgroundData::operator!=):
4950 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
4951 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
4952 (WebCore::StyleBoxData::operator!=):
4953 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
4954 (WebCore::StyleDashboardRegion::operator!=):
4955 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
4956 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
4957 (WebCore::StyleMarqueeData::operator!=):
4958 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
4959 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
4960 (WebCore::StyleMultiColData::operator!=):
4961 (WebCore::StyleMultiColData::ruleWidth):
4962 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
4963 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
4964 (WebCore::StyleVisualData::operator==):
4965
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000049662008-09-17 David Hyatt <hyatt@apple.com>
4967
hyatt@apple.com3f19eac2008-09-18 00:56:04 +00004968 Remove WidgetClient from Widget.
4969
4970 Reviewed by Sam Weinig
4971
4972 * WebCore.xcodeproj/project.pbxproj:
4973 * platform/Widget.h:
4974 (WebCore::Widget::setClient):
4975 (WebCore::Widget::client):
4976 * platform/WidgetClient.h: Removed.
4977 * platform/gtk/WidgetGtk.cpp:
4978 * platform/mac/WidgetMac.mm:
4979 (WebCore::Widget::Widget):
4980 (WebCore::Widget::show):
4981 (WebCore::Widget::hide):
4982 * platform/qt/WidgetQt.cpp:
4983 (WebCore::WidgetPrivate::WidgetPrivate):
4984 * platform/win/WidgetWin.cpp:
4985 (WebCore::Widget::Widget):
4986 * platform/wx/WidgetWx.cpp:
4987 (WebCore::Widget::Widget):
4988
49892008-09-17 David Hyatt <hyatt@apple.com>
4990
hyatt@apple.comb4f28b32008-09-18 00:39:36 +00004991 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
4992 only applies to Scrollbars so the method has been moved there and made
4993 cross-platform. Scrollbar subclasses that have a corresponding native
4994 widget can subclass setEnabled to change the enabled state of the native
4995 widget.
4996
4997 Reviewed by Sam Weinig & Darin Adler
4998
4999 * WebCore.base.exp:
5000 * platform/Scrollbar.cpp:
5001 (WebCore::Scrollbar::Scrollbar):
5002 * platform/Scrollbar.h:
5003 (WebCore::Scrollbar::enabled):
5004 (WebCore::Scrollbar::setEnabled):
5005 * platform/Widget.h:
5006 * platform/gtk/ScrollbarGtk.cpp:
5007 (ScrollbarGtk::setEnabled):
5008 * platform/gtk/ScrollbarGtk.h:
5009 * platform/gtk/WidgetGtk.cpp:
5010 * platform/mac/ScrollbarMac.h:
5011 * platform/mac/ScrollbarMac.mm:
5012 (WebCore::ScrollbarMac::scrollbarHit):
5013 (WebCore::ScrollbarMac::setEnabled):
5014 * platform/mac/WidgetMac.mm:
5015 * platform/qt/WidgetQt.cpp:
5016 (WebCore::WidgetPrivate::WidgetPrivate):
5017 * platform/win/WidgetWin.cpp:
5018 (WebCore::Widget::Widget):
5019 * platform/wx/WidgetWx.cpp:
5020
weinig@apple.com1ea40602008-09-17 23:56:27 +000050212008-09-17 Sam Weinig <sam@webkit.org>
5022
5023 Rubber-stamped by David Hyatt.
5024
5025 Split all RenderStyle enums into their own file.
5026
5027 * GNUmakefile.am:
5028 * WebCore.vcproj/WebCore.vcproj:
5029 * WebCore.xcodeproj/project.pbxproj:
5030 * rendering/style/BorderValue.h:
5031 * rendering/style/CollapsedBorderValue.h:
5032 * rendering/style/RenderStyle.h:
5033 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
5034 (WebCore::):
5035 * rendering/style/StyleCachedImage.h:
5036 * rendering/style/StyleGeneratedImage.h:
5037 * rendering/style/StyleImage.h:
5038
sfalken@apple.combf270912008-09-17 23:53:17 +000050392008-09-17 Steve Falkenburg <sfalken@apple.com>
5040
5041 Add back isFrameView check to fix failed assertion during scroll bar teardown.
5042
5043 Reviewed by Dave Hyatt.
5044
5045 * platform/Scrollbar.cpp:
5046 (WebCore::Scrollbar::setParent):
5047
beidson@apple.com4398e482008-09-17 23:30:00 +000050482008-09-17 Brady Eidson <beidson@apple.com>
5049
5050 Reviewed by Mac build fix
5051
5052 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
5053
sfalken@apple.com85cc1392008-09-17 23:28:13 +000050542008-09-17 Steve Falkenburg <sfalken@apple.com>
5055
5056 Fix build.
5057
5058 * platform/win/ScrollViewWin.cpp:
5059 (WebCore::ScrollView::setParentVisible):
5060 * plugins/win/PluginViewWin.cpp:
5061 (WebCore::PluginView::init):
5062
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +000050632008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
5064
5065 Reviewed by Simon.
5066
5067 [QtWebKit] Implement error handling in TextCodecQt::decode
5068 Use the QTextCodec parsing state to set the sawError out variable. This
5069 is needed to pass Test 70 of acid3. The test case for this bug is
5070 fast/encoding/invalid-xml.html that is now partially passed. To pass
5071 it completely the Qt text codecs need to be adjusted to have proper
5072 error handling.
5073
5074 * platform/text/qt/TextCodecQt.cpp:
5075 (WebCore::TextCodecQt::decode):
5076
weinig@apple.comf6f0f112008-09-17 23:03:16 +000050772008-09-17 Sam Weinig <sam@webkit.org>
5078
5079 Rubber-stamped by Dave Hyatt.
5080
5081 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
5082 out of RenderStyle.h/cpp
5083
5084 * GNUmakefile.am:
5085 * WebCore.pro:
5086 * WebCore.vcproj/WebCore.vcproj:
5087 * WebCore.xcodeproj/project.pbxproj:
5088 * WebCoreSources.bkl:
5089 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
5090 (WebCore::BorderData::hasBorderRadius):
5091 (WebCore::BorderData::borderLeftWidth):
5092 (WebCore::BorderData::borderRightWidth):
5093 (WebCore::BorderData::borderTopWidth):
5094 (WebCore::BorderData::borderBottomWidth):
5095 (WebCore::BorderData::operator!=):
5096 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
5097 (WebCore::):
5098 (WebCore::BorderValue::BorderValue):
5099 (WebCore::BorderValue::nonZero):
5100 (WebCore::BorderValue::isTransparent):
5101 (WebCore::BorderValue::isVisible):
5102 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
5103 (WebCore::):
5104 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
5105 (WebCore::CollapsedBorderValue::operator==):
5106 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
5107 (WebCore::OutlineValue::OutlineValue):
5108 * rendering/style/RenderStyle.cpp:
5109 * rendering/style/RenderStyle.h:
5110 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
5111 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
5112 (WebCore::StyleSurroundData::operator!=):
5113
bdakin@apple.com06b97182008-09-17 23:00:29 +000051142008-09-17 Beth Dakin <bdakin@apple.com>
5115
5116 Reviewed by Darin Adler.
5117
5118 This is a better fix for: Invalid CSS code crashes Safari
5119 https://bugs.webkit.org/show_bug.cgi?id=20512
5120
5121 The spec indicates that the only valid input for a counter is a
5122 number or an identifier. So that is exactly what we allow.
5123
5124 * css/CSSParser.cpp:
5125 (WebCore::CSSParser::parseCounterContent):
5126
alp@webkit.org97ba9222008-09-17 22:16:26 +000051272008-09-17 Alp Toker <alp@nuanti.com>
5128
5129 GTK+ build fix. Adapt to use PlatformWidget functions.
5130
5131 * platform/gtk/ScrollViewGtk.cpp:
5132 (WebCore::ScrollViewScrollbar::geometryChanged):
5133 (WebCore::ScrollView::addChild):
5134 (WebCore::ScrollView::removeChild):
5135 * platform/gtk/ScrollbarGtk.cpp:
5136 (ScrollbarGtk::ScrollbarGtk):
5137 (ScrollbarGtk::~ScrollbarGtk):
5138 (ScrollbarGtk::geometryChanged):
5139
weinig@apple.com930ed392008-09-17 22:00:45 +000051402008-09-17 Sam Weinig <sam@webkit.org>
5141
5142 Reviewed by Adele Peterson.
5143
5144 Patch for <rdar://problem/6133884>
5145 Calling window.resizeTo() on a subframe shouldn't change the window size
5146
5147 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
5148
5149 * page/DOMWindow.cpp:
5150 (WebCore::DOMWindow::moveBy):
5151 (WebCore::DOMWindow::moveTo):
5152 (WebCore::DOMWindow::resizeBy):
5153 (WebCore::DOMWindow::resizeTo):
5154
bdakin@apple.com8f952d82008-09-17 21:35:02 +000051552008-09-17 Beth Dakin <bdakin@apple.com>
5156
5157 Reviewed by Adam Roben.
5158
5159 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
5160 code crashes Safari
5161 and corresponding: <rdar://problem/6173832>
5162
5163 Reading through the spec, it seems like a function is not valid
5164 input for a counter. So this patch checks for that and bails in the
5165 case of invalid input.
5166
5167 * css/CSSParser.cpp:
5168 (WebCore::CSSParser::parseCounterContent):
5169
antti@apple.comb37d4052008-09-17 21:14:13 +000051702008-09-17 Greg Bolsinga <bolsinga@apple.com>
5171
5172 Reviewed by Antti Koivisto.
5173
5174 Fix <rdar://problem/6227089>
5175 Crash in WebCore::Frame::setNeedsReapplyStyles()
5176
5177 View is null checked elsewhere too.
5178
5179 * page/Frame.cpp:
5180 (WebCore::Frame::setNeedsReapplyStyles):
5181
hyatt@apple.com8e340252008-09-17 20:59:45 +000051822008-09-17 David Hyatt <hyatt@apple.com>
5183
5184 Make the notion of having a native widget backing a Widget cross-platform.
5185 The PlatformWidget abstraction (which already existed) is used for this.
5186 Windows = HWND
5187 Qt = QWidget
5188 Mac = NSView
5189 wx = wxWindow
5190 Gtk = GtkWidget
5191
5192 There are new cross-platform methods that replace all of the unique
5193 platform-specific methods.
5194 platformWidget()
5195 setPlatformWidget()
5196
5197 For plugins, on every platform except Qt on Windows, the plugin's native
5198 widget is now stored in the Widget base class. Since Qt on Windows uses
5199 HWNDs for plugins instead of QWidget, it is the only platform to keep the
5200 m_window variable in PluginView.
5201
5202 Reviewed by Sam Weinig
5203
5204 * WebCore.base.exp:
5205 * bindings/js/ScriptControllerMac.mm:
5206 (WebCore::ScriptController::createScriptInstanceForWidget):
5207 * page/mac/AccessibilityObjectWrapper.mm:
5208 (-[AccessibilityObjectWrapper attachmentView]):
5209 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
5210 * page/mac/EventHandlerMac.mm:
5211 (WebCore::EventHandler::passMouseDownEventToWidget):
5212 (WebCore::EventHandler::mouseDownViewIfStillGood):
5213 (WebCore::EventHandler::passWheelEventToWidget):
5214 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
5215 * platform/Widget.cpp:
5216 (WebCore::Widget::init):
5217 (WebCore::Widget::setParent):
5218 (WebCore::Widget::releasePlatformWidget):
5219 (WebCore::Widget::retainPlatformWidget):
5220 * platform/Widget.h:
5221 (WebCore::Widget::platformWidget):
5222 (WebCore::Widget::setPlatformWidget):
5223 * platform/gtk/WidgetGtk.cpp:
5224 (WebCore::Widget::Widget):
5225 (WebCore::Widget::setFocus):
5226 (WebCore::gdkDrawable):
5227 (WebCore::Widget::setCursor):
5228 (WebCore::Widget::show):
5229 (WebCore::Widget::hide):
5230 (WebCore::Widget::setEnabled):
5231 (WebCore::Widget::isEnabled):
5232 (WebCore::Widget::paint):
5233 * platform/mac/PlatformScreenMac.mm:
5234 (WebCore::screenRect):
5235 (WebCore::screenAvailableRect):
5236 * platform/mac/ScrollViewMac.mm:
5237 (WebCore::ScrollView::scrollView):
5238 (WebCore::ScrollView::update):
5239 (WebCore::ScrollView::inWindow):
5240 * platform/mac/ScrollbarMac.mm:
5241 (WebCore::ScrollbarMac::ScrollbarMac):
5242 (WebCore::ScrollbarMac::~ScrollbarMac):
5243 (WebCore::ScrollbarMac::updateThumbPosition):
5244 (WebCore::ScrollbarMac::updateThumbProportion):
5245 (WebCore::ScrollbarMac::scrollbarHit):
5246 * platform/mac/WidgetMac.mm:
5247 (WebCore::Widget::Widget):
5248 (WebCore::Widget::setEnabled):
5249 (WebCore::Widget::isEnabled):
5250 (WebCore::Widget::setFocus):
5251 (WebCore::Widget::getOuterView):
5252 (WebCore::Widget::paint):
5253 (WebCore::Widget::invalidate):
5254 (WebCore::Widget::invalidateRect):
5255 (WebCore::Widget::setIsSelected):
5256 (WebCore::Widget::releasePlatformWidget):
5257 (WebCore::Widget::retainPlatformWidget):
5258 * platform/qt/WidgetQt.cpp:
5259 (WebCore::WidgetPrivate::WidgetPrivate):
5260 (WebCore::Widget::Widget):
5261 (WebCore::Widget::setFrameGeometry):
5262 (WebCore::Widget::show):
5263 (WebCore::Widget::hide):
5264 (WebCore::Widget::isEnabled):
5265 (WebCore::Widget::setEnabled):
5266 (WebCore::Widget::invalidateRect):
5267 (WebCore::Widget::containingWindow):
5268 * platform/win/WidgetWin.cpp:
5269 (WebCore::Widget::Widget):
5270 * platform/wx/WidgetWx.cpp:
5271 (WebCore::Widget::Widget):
5272 (WebCore::Widget::frameGeometry):
5273 (WebCore::Widget::setFocus):
5274 (WebCore::Widget::setCursor):
5275 (WebCore::Widget::show):
5276 (WebCore::Widget::hide):
5277 (WebCore::Widget::setFrameGeometry):
5278 (WebCore::Widget::setEnabled):
5279 (WebCore::Widget::isEnabled):
5280 (WebCore::Widget::invalidate):
5281 (WebCore::Widget::invalidateRect):
5282 (WebCore::Widget::paint):
5283 * plugins/PluginView.cpp:
5284 (WebCore::PluginView::PluginView):
5285 * plugins/PluginView.h:
5286 (WebCore::PluginView::platformPluginWidget):
5287 * plugins/gtk/PluginViewGtk.cpp:
5288 (WebCore::PluginView::updateWindow):
5289 (WebCore::PluginView::setFocus):
5290 (WebCore::PluginView::show):
5291 (WebCore::PluginView::hide):
5292 (WebCore::PluginView::setParent):
5293 (WebCore::PluginView::setNPWindowRect):
5294 (WebCore::PluginView::setParentVisible):
5295 (WebCore::PluginView::getValue):
5296 (WebCore::PluginView::forceRedraw):
5297 (WebCore::PluginView::init):
5298 * plugins/qt/PluginViewQt.cpp:
5299 (WebCore::PluginView::updateWindow):
5300 (WebCore::PluginView::setFocus):
5301 (WebCore::PluginView::show):
5302 (WebCore::PluginView::hide):
5303 (WebCore::PluginView::setParent):
5304 (WebCore::PluginView::setNPWindowRect):
5305 (WebCore::PluginView::setParentVisible):
5306 (WebCore::PluginView::getValue):
5307 (WebCore::PluginView::~PluginView):
5308 (WebCore::PluginView::init):
5309 * plugins/win/PluginViewWin.cpp:
5310 (WebCore::PluginView::updateWindow):
5311 (WebCore::PluginView::setFocus):
5312 (WebCore::PluginView::show):
5313 (WebCore::PluginView::hide):
5314 (WebCore::PluginView::paint):
5315 (WebCore::PluginView::setParent):
5316 (WebCore::PluginView::setParentVisible):
5317 (WebCore::PluginView::setNPWindowRect):
5318 (WebCore::PluginView::stop):
5319 (WebCore::PluginView::invalidateRect):
5320 (WebCore::PluginView::forceRedraw):
5321 (WebCore::PluginView::~PluginView):
5322 (WebCore::PluginView::init):
5323
weinig@apple.comf713d132008-09-17 20:16:48 +000053242008-09-17 Sam Weinig <sam@webkit.org>
5325
5326 Fix assert.
5327
5328 * platform/Widget.cpp:
5329 (WebCore::Widget::setParent):
5330
hyatt@apple.comd9242e32008-09-17 18:46:31 +000053312008-09-17 David Hyatt <hyatt@apple.com>
5332
5333 Beginnings of Widget refactoring (in order to make the mixing of
5334 widgets with and without corresponding native widgets more cross-platform).
5335
5336 This first patch makes the concept of a parent ScrollView cross-platform.
5337
5338 Note the similarity of the show/hide methods on the three PluginViews. This
5339 will be refactored better in a later patch so that they can all share
5340 a base class Widget show/hide method. For now the changes were made
5341 simply to be able to bring WidgetWin's setParent method up into Widget.
5342
5343 Reviewed by Sam Weinig
5344
5345 * WebCore.base.exp:
5346 * platform/ScrollView.h:
5347 * platform/Widget.cpp:
5348 (WebCore::Widget::init):
5349 (WebCore::Widget::setParent):
5350 * platform/Widget.h:
5351 (WebCore::Widget::isSelfVisible):
5352 (WebCore::Widget::isParentVisible):
5353 (WebCore::Widget::isVisible):
5354 (WebCore::Widget::setParentVisible):
5355 (WebCore::Widget::isPluginView):
5356 (WebCore::Widget::parent):
5357 (WebCore::Widget::handleEvent):
5358 (WebCore::Widget::geometryChanged):
5359 * platform/gtk/WidgetGtk.cpp:
5360 (WebCore::Widget::Widget):
5361 * platform/mac/ScrollViewMac.mm:
5362 (WebCore::ScrollView::addChild):
5363 (WebCore::ScrollView::removeChild):
5364 * platform/mac/ScrollbarMac.mm:
5365 (WebCore::ScrollbarMac::~ScrollbarMac):
5366 * platform/mac/WidgetMac.mm:
5367 (WebCore::Widget::Widget):
5368 (WebCore::Widget::~Widget):
5369 * platform/qt/WidgetQt.cpp:
5370 (WebCore::WidgetPrivate::WidgetPrivate):
5371 (WebCore::Widget::Widget):
5372 (WebCore::Widget::topLevel):
5373 * platform/win/ScrollViewWin.cpp:
5374 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5375 (WebCore::ScrollView::setAncestorVisible):
5376 (WebCore::ScrollView::show):
5377 (WebCore::ScrollView::hide):
5378 * platform/win/WidgetWin.cpp:
5379 (WebCore::Widget::Widget):
5380 (WebCore::Widget::setParent):
5381 * platform/wx/WidgetWx.cpp:
5382 (WebCore::Widget::Widget):
5383 * plugins/PluginView.cpp:
5384 (WebCore::PluginView::PluginView):
5385 * plugins/PluginView.h:
5386 * plugins/gtk/PluginViewGtk.cpp:
5387 (WebCore::PluginView::show):
5388 (WebCore::PluginView::hide):
5389 (WebCore::PluginView::setParentVisible):
5390 * plugins/qt/PluginViewQt.cpp:
5391 (WebCore::PluginView::show):
5392 (WebCore::PluginView::hide):
5393 (WebCore::PluginView::setParentVisible):
5394 * plugins/win/PluginViewWin.cpp:
5395 (WebCore::PluginView::show):
5396 (WebCore::PluginView::hide):
5397 (WebCore::PluginView::setParentVisible):
5398
ap@webkit.org18da1a32008-09-17 16:50:22 +000053992008-09-17 Alexey Proskuryakov <ap@webkit.org>
5400
5401 Reviewed by Adam Roben.
5402
5403 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
5404
5405 * platform/text/TextCodecICU.cpp:
5406 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
5407
vestbo@webkit.orge48e6362008-09-17 13:29:42 +000054082008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
5409
5410 Fix the QtWebKit/Mac build
5411
5412 * platform/qt/ScrollViewQt.cpp: add include
5413
ap@webkit.org18da1a32008-09-17 16:50:22 +000054142008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +00005415
5416 Add a #define to control whether or not to use an NSScroller on Mac.
5417 This ifdef will allow the new NSView-less NSScroller on Mac to be
5418 developed side by side with the current one.
5419
5420 The new scroller paints a debug red if turned on (although due to
5421 Widget issues you won't see anything paint yet).
5422
5423 Reviewed by olliej
5424
5425 * platform/Scrollbar.cpp:
5426 * platform/Scrollbar.h:
5427 * platform/mac/ScrollbarMac.h:
5428 * platform/mac/ScrollbarMac.mm:
5429 * platform/mac/ScrollbarThemeMac.cpp:
5430 (WebCore::ScrollbarThemeMac::paint):
5431 * platform/mac/ScrollbarThemeMac.h:
5432
alp@webkit.orgf06bac02008-09-17 04:30:12 +000054332008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
5434
5435 Reviewed by Alp Toker.
5436
5437 http://bugs.webkit.org/show_bug.cgi?id=20854
5438 [GTK] Windows can be not realized in ScrollView::update
5439
5440 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
5441
5442 * platform/gtk/ScrollViewGtk.cpp:
5443 (WebCore::ScrollView::update):
5444
alp@webkit.org226f72a2008-09-17 04:22:02 +000054452008-09-16 Alp Toker <alp@nuanti.com>
5446
5447 Suggested by Dave Hyatt.
5448
5449 Build fix and cleanup. Rename ScrollBar to Scrollbar.
5450
5451 * GNUmakefile.am:
5452 * WebCore.pro:
5453 * WebCore.vcproj/WebCore.vcproj:
5454 * WebCore.xcodeproj/project.pbxproj:
5455 * WebCoreSources.bkl:
5456 * editing/EditorCommand.cpp:
5457 * page/EventHandler.cpp:
5458 * page/gtk/EventHandlerGtk.cpp:
5459 * page/mac/EventHandlerMac.mm:
5460 * page/mac/FrameMac.mm:
5461 * page/qt/EventHandlerQt.cpp:
5462 * page/wx/EventHandlerWx.cpp:
5463 * platform/PopupMenu.h:
5464 * platform/ScrollBar.cpp: Removed.
5465 * platform/ScrollBar.h: Removed.
5466 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
5467 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
5468 * platform/gtk/ScrollbarGtk.cpp:
5469 (ScrollbarGtk::ScrollbarGtk):
5470 * platform/gtk/ScrollbarGtk.h:
5471 * platform/mac/ScrollbarMac.h:
5472 * platform/qt/ScrollViewQt.cpp:
5473 * platform/qt/ScrollbarQt.cpp:
5474 * platform/qt/ScrollbarThemeQt.cpp:
5475 * platform/win/PlatformScrollBar.h:
5476 * platform/win/PopupMenuWin.cpp:
5477 * platform/win/ScrollViewWin.cpp:
5478 * platform/win/ScrollbarThemeWin.cpp:
5479 * platform/wx/ScrollViewWx.cpp:
5480 * platform/wx/TemporaryLinkStubs.cpp:
5481 * rendering/HitTestResult.cpp:
5482 * rendering/RenderLayer.cpp:
5483 * rendering/RenderTextControl.cpp:
5484
hyatt@apple.com7597c172008-09-17 02:15:08 +000054852008-09-16 David Hyatt <hyatt@apple.com>
5486
hyatt@apple.comfde412d2008-09-17 03:49:48 +00005487 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
5488 it can be called from ScrollbarQt.
5489
5490 * platform/ScrollBar.cpp:
5491 (WebCore::Scrollbar::moveThumb):
5492 (WebCore::Scrollbar::handleMouseMoveEvent):
5493 (WebCore::Scrollbar::handleMousePressEvent):
5494 * platform/ScrollBar.h:
5495 * platform/qt/ScrollViewQt.cpp:
5496 * platform/qt/ScrollbarQt.cpp:
5497 (WebCore::Scrollbar::handleContextMenuEvent):
5498
54992008-09-16 David Hyatt <hyatt@apple.com>
5500
hyatt@apple.com4e3b8602008-09-17 03:17:11 +00005501 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
5502 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
5503 now just use Scrollbar.
5504
5505 Reviewed by Sam Weinig
5506
5507 * GNUmakefile.am:
5508 * WebCore.pro:
5509 * WebCore.vcproj/WebCore.vcproj:
5510 * WebCore.xcodeproj/project.pbxproj:
5511 * page/mac/FrameMac.mm:
5512 * platform/PopupMenu.h:
5513 (WebCore::PopupMenu::scrollbar):
5514 * platform/ScrollBar.cpp:
5515 (WebCore::createNativeScrollbar):
5516 * platform/ScrollBar.h:
5517 * platform/gtk/PlatformScrollBar.h: Removed.
5518 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
5519 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
5520 (gtkScrollEventCallback):
5521 (ScrollbarGtk::ScrollbarGtk):
5522 (ScrollbarGtk::~ScrollbarGtk):
5523 (ScrollbarGtk::updateThumbPosition):
5524 (ScrollbarGtk::updateThumbProportion):
5525 (ScrollbarGtk::setFrameGeometry):
5526 (ScrollbarGtk::geometryChanged):
5527 (ScrollbarGtk::gtkValueChanged):
5528 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
5529 * platform/mac/PlatformScrollBar.h: Removed.
5530 * platform/mac/PlatformScrollBarMac.mm: Removed.
5531 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
5532 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
5533 (-[WebCoreScrollBar initWithScrollbarMac:]):
5534 (-[WebCoreScrollBar detachScrollbarMac]):
5535 (WebCore::Scrollbar::createNativeScrollbar):
5536 (WebCore::ScrollbarMac::ScrollbarMac):
5537 (WebCore::ScrollbarMac::~ScrollbarMac):
5538 (WebCore::ScrollbarMac::updateThumbPosition):
5539 (WebCore::ScrollbarMac::updateThumbProportion):
5540 (WebCore::ScrollbarMac::scrollbarHit):
5541 * platform/qt/PlatformScrollBar.h: Removed.
5542 * platform/qt/PlatformScrollBarQt.cpp: Removed.
5543 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
5544 (WebCore::Scrollbar::handleContextMenuEvent):
5545 * rendering/HitTestResult.cpp:
5546 * rendering/RenderLayer.cpp:
5547 (WebCore::RenderLayer::createScrollbar):
5548 (WebCore::RenderLayer::destroyScrollbar):
5549 * rendering/RenderLayer.h:
5550 * rendering/RenderListBox.cpp:
5551 (WebCore::RenderListBox::~RenderListBox):
5552 (WebCore::RenderListBox::updateFromElement):
5553 (WebCore::RenderListBox::isPointInOverflowControl):
5554 * rendering/RenderObject.h:
5555 * rendering/RenderTextControl.cpp:
5556
55572008-09-16 David Hyatt <hyatt@apple.com>
5558
hyatt@apple.com7597c172008-09-17 02:15:08 +00005559 Make the scrollbar resizer-dodging logic cross-platform in the
5560 Scrollbar class.
5561
5562 Reviewed by Sam Weinig
5563
5564 * platform/ScrollBar.cpp:
5565 (WebCore::Scrollbar::setFrameGeometry):
5566 (WebCore::Scrollbar::setParent):
5567 (WebCore::Scrollbar::windowClipRect):
5568 * platform/ScrollBar.h:
5569 * platform/ScrollView.h:
5570 (WebCore::ScrollView::windowResizerRect):
5571 (WebCore::ScrollView::resizerOverlapsContent):
5572 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
5573 * platform/Widget.h:
5574 (WebCore::Widget::setParent):
5575 * platform/mac/WidgetMac.mm:
5576 (WebCore::Widget::convertToContainingWindow):
5577 * platform/win/PlatformScrollBar.h:
5578 * platform/win/PlatformScrollBarWin.cpp:
5579
mitz@apple.com6d925202008-09-16 17:34:10 +000055802008-09-16 Dan Bernstein <mitz@apple.com>
5581
mitz@apple.comd9462a52008-09-16 17:40:20 +00005582 Reviewed by Darin Adler.
5583
5584 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
5585 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
5586
5587 Covered by fast/repaint/4776765.html
5588
5589 * rendering/RenderBlock.cpp:
5590 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
5591 did not have layout in the beginning.
5592 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
5593 layout in the beginning, repaint it in its new position, to compensate
5594 for the above (regardless of whether it "moved").
5595 * rendering/RenderObject.cpp:
5596 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
5597 about generalizing this fix in the future.
5598
55992008-09-16 Dan Bernstein <mitz@apple.com>
5600
mitz@apple.com6d925202008-09-16 17:34:10 +00005601 Reviewed by Dave Hyatt.
5602
5603 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
5604 Div does not notice when grandparent changes height
5605
5606 Test: fast/block/basic/quirk-percent-height-grandchild.html
5607
5608 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
5609 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
5610
5611 Test: fast/replaced/percent-height-in-anonymous-block.html
5612
5613 Added a two-way mapping between boxes with percentage heights and
5614 their non-parent ancestors up to the one the height is computed relative
5615 to. In quirks mode (the first bug), this can be any number of containing
5616 block with auto height. In strict mode (the second bug) this can be
5617 the containing block of an anonymous block containing a replaced
5618 element.
5619
5620 * rendering/RenderBlock.cpp:
5621 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
5622 mapping to/from this block to percentage-height descendants.
5623 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
5624 percentage-height descendants (and their containing block ancestry chain
5625 up to this block) for layout. This ensures that those descendants whose
5626 height depends on the height of this block (or an ancestor) are updated.
5627 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
5628 a two-way mapping between this block and the given box.
5629 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
5630 all the mapping to/from this box.
5631 * rendering/RenderBlock.h:
5632 * rendering/RenderBox.cpp:
5633 (WebCore::RenderBox::setStyle): Added calls to
5634 removePercentHeightDescendant() when style changes and the box
5635 previously had a percentage height. An exception is when the style
5636 change does not require layout, in which case the box still has
5637 a percentage height and the mappings are valid. In all other cases,
5638 any required mappings will be (re-)established during layout.
5639 (WebCore::RenderBox::destroy): Added a call to
5640 removePercentHeightDescendant.
5641 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
5642 mode, if a higher-than-parent containing block is affecting the box's
5643 height, creates a mapping between the box and that block.
5644 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
5645 anonymous containing blocks, if any, and when that happens, use
5646 addPercentHeightDescendant() to ensure that the non-anonymous block
5647 is aware of the dependent percent-height box.
5648
alp@webkit.org1dbd9a92008-09-16 16:59:18 +000056492008-09-16 Dirk Schulze <vbs85@gmx.de>
5650
5651 Reviewed by Oliver Hunt and Alp Toker.
5652
5653 Implemented toDataURL in Cairo. Only PNG support
5654 at the moment.
5655
5656 Qt, Cairo and wx require toDataURL implementations
5657 https://bugs.webkit.org/show_bug.cgi?id=17719
5658
5659 * platform/MIMETypeRegistry.cpp:
5660 (WebCore::initializeSupportedImageMIMETypesForEncoding):
5661 * platform/graphics/cairo/ImageBufferCairo.cpp:
5662 (WebCore::ImageBuffer::ImageBuffer):
5663 (WebCore::writeFunction):
5664 (WebCore::ImageBuffer::toDataURL):
5665
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +000056662008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
5667
5668 Reviewed by Simon.
5669
5670 Hide unused media element controls in the QtWebKit port
5671
5672 * platform/qt/html4-adjustments-qt.css
5673
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +000056742008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
5675
5676 Reviewed by Simon.
5677
5678 Fix compilation of the Qt scrollbar code.
5679
5680 * platform/qt/PlatformScrollBarQt.cpp:
5681 (WebCore::scPart):
5682 (WebCore::styleOptionSlider):
5683 (WebCore::thumbLength):
5684 (WebCore::pixelPosToRangeValue):
5685 (WebCore::PlatformScrollbar::handleContextMenuEvent):
5686
treat@webkit.orga35f6b62008-09-16 14:15:29 +000056872008-09-16 Adam Treat <treat@kde.org>
5688
5689 Reviewed by Anders Carlsson.
5690
5691 Prevent accesses off of the end of the buffer introduced in r36450
5692 and when checking for descriptions of mime. Also, coding style fix.
5693
5694 * plugins/qt/PluginPackageQt.cpp:
5695 (WebCore::PluginPackage::fetchInfo):
5696
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +000056972008-09-15 Rob Buis <buis@kde.org>
5698
5699 Reviewed by Eric.
5700
5701 https://bugs.webkit.org/show_bug.cgi?id=20634
5702 SVG transform attribute is ignored by <use> in <clipPath>
5703
5704 Transform the paths with the local transform when part
5705 of a clip path.
5706
5707 Test: svg/custom/use-clipped-transform.svg
5708
5709 * svg/SVGClipPathElement.cpp:
5710 (WebCore::SVGClipPathElement::canvasResource):
5711 * svg/SVGStyledTransformableElement.cpp:
5712 (WebCore::SVGStyledTransformableElement::toClipPath):
5713 * svg/SVGStyledTransformableElement.h:
5714
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +000057152008-09-15 Dave Hyatt <hyatt@apple.com>
5716
5717 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
5718 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
5719
5720 Reviewed by Sam Weinig
5721
5722 * platform/ScrollBar.cpp:
5723 (WebCore::thumbUnderMouse):
5724 (WebCore::Scrollbar::autoscrollPressedPart):
5725 (WebCore::Scrollbar::startTimerIfNeeded):
5726 (WebCore::moveThumb):
5727 (WebCore::Scrollbar::handleMouseMoveEvent):
5728 (WebCore::Scrollbar::handleMousePressEvent):
5729 * platform/ScrollBar.h:
5730 (WebCore::Scrollbar::pressedPos):
5731 (WebCore::Scrollbar::pixelStep):
5732 (WebCore::Scrollbar::setPressedPos):
5733 * platform/ScrollbarTheme.h:
5734 (WebCore::ScrollbarTheme::thumbPosition):
5735 (WebCore::ScrollbarTheme::thumbLength):
5736 (WebCore::ScrollbarTheme::trackPosition):
5737 (WebCore::ScrollbarTheme::trackLength):
5738 * platform/ScrollbarThemeComposite.cpp:
5739 (WebCore::ScrollbarThemeComposite::trackPosition):
5740 * platform/ScrollbarThemeComposite.h:
5741 * platform/qt/PlatformScrollBarQt.cpp:
5742 (WebCore::PlatformScrollbar::PlatformScrollbar):
5743 (WebCore::):
5744 * platform/qt/ScrollbarThemeQt.cpp:
5745 (WebCore::styleOptionSlider):
5746 (WebCore::ScrollbarThemeQt::hitTest):
5747 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
5748 (WebCore::ScrollbarThemeQt::invalidatePart):
5749 (WebCore::ScrollbarThemeQt::thumbPosition):
5750 (WebCore::):
5751 * platform/qt/ScrollbarThemeQt.h:
5752 * platform/win/ScrollbarThemeSafari.cpp:
5753 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
5754 * platform/win/ScrollbarThemeSafari.h:
5755 * platform/win/ScrollbarThemeWin.cpp:
5756 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
5757 * platform/win/ScrollbarThemeWin.h:
5758
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +000057592008-09-15 David Smith <catfish.man@gmail.com>
5760
5761 Reviewed by Sam Weinig.
5762
5763 https://bugs.webkit.org/show_bug.cgi?id=20180
5764
5765 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
5766
5767 * GNUmakefile.am: Add CSSNthSelector
5768 * WebCore.pro: Add CSSNthSelector
5769 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
5770 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
5771 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
5772 * css/CSSNthSelector.cpp: Added.
5773 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
5774 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
5775 * css/CSSNthSelector.h: Added.
5776 (WebCore::CSSNthSelector::CSSNthSelector):
5777 (WebCore::CSSNthSelector::~CSSNthSelector):
5778 * css/CSSParser.cpp:
5779 (WebCore::CSSParser::createFloatingNthSelector):
5780 * css/CSSParser.h:
5781 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
5782 (WebCore::CSSSelector::CSSSelector):
5783 * css/CSSStyleSelector.cpp:
5784 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
5785
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +000057862008-09-15 Matt Lilek <webkit@mattlilek.com>
5787
5788 Reviewed by Tim Hatcher.
5789
5790 Clean up some inspector JS callbacks to remove an extra return.
5791
5792 * page/InspectorController.cpp:
5793 (WebCore::hideDOMNodeHighlight):
5794 (WebCore::loaded):
5795 (WebCore::unloading):
5796 (WebCore::attach):
5797 (WebCore::detach):
5798 (WebCore::startDebuggingAndReloadInspectedPage):
5799 (WebCore::stopDebugging):
5800 (WebCore::debuggerAttached):
5801 (WebCore::pauseOnExceptions):
5802 (WebCore::pauseInDebugger):
5803 (WebCore::resumeDebugger):
5804 (WebCore::stepOverStatementInDebugger):
5805 (WebCore::stepIntoStatementInDebugger):
5806 (WebCore::stepOutOfFunctionInDebugger):
5807 (WebCore::isWindowVisible):
5808 (WebCore::closeWindow):
5809
hyatt@apple.com8e809932008-09-16 02:29:09 +000058102008-09-15 Dave Hyatt <hyatt@apple.com>
5811
5812 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
5813 now share most of their code.
5814
5815 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
5816 also is never used in our code anyway.
5817
5818 Reviewed by Sam Weinig
5819
5820 * WebCore.vcproj/WebCore.vcproj:
5821 * platform/ScrollTypes.h:
5822 (WebCore::):
5823 * platform/ScrollbarThemeComposite.cpp:
5824 (WebCore::ScrollbarThemeComposite::splitTrack):
5825 (WebCore::ScrollbarThemeComposite::thumbLength):
5826 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
5827 * platform/ScrollbarThemeComposite.h:
5828 * platform/mac/PlatformScrollBarMac.mm:
5829 (NSControlSizeForScrollBarControlSize):
5830 * platform/win/PlatformScrollBar.h:
5831 * platform/win/PlatformScrollBarSafari.cpp: Removed.
5832 * platform/win/PlatformScrollBarWin.cpp:
5833 (WebCore::PlatformScrollbar::PlatformScrollbar):
5834 * platform/win/ScrollbarThemeSafari.cpp:
5835 (WebCore::ScrollbarTheme::nativeTheme):
5836 (WebCore::):
5837 (WebCore::scrollbarControlStateFromThemeState):
5838 (WebCore::ScrollbarThemeSafari::hasButtons):
5839 (WebCore::ScrollbarThemeSafari::hasThumb):
5840 (WebCore::buttonRepaintRect):
5841 (WebCore::ScrollbarThemeSafari::backButtonRect):
5842 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
5843 (WebCore::trackRepaintRect):
5844 (WebCore::ScrollbarThemeSafari::trackRect):
5845 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
5846 (WebCore::ScrollbarThemeSafari::paintTrack):
5847 (WebCore::ScrollbarThemeSafari::paintButton):
5848 (WebCore::ScrollbarThemeSafari::paintThumb):
5849 * platform/win/ScrollbarThemeSafari.h:
5850 * platform/win/ScrollbarThemeWin.cpp:
5851 * platform/win/ScrollbarThemeWin.h:
5852
cfleizach@apple.com0ce07032008-09-16 00:17:58 +000058532008-09-15 Chris Fleizach <cfleizach@apple.com>
5854
5855 Reviewed by Darin Adler, Beth Dakin
5856
5857 <rdar://problem/4003789> Expose lists as AXList
5858 <rdar://problem/5707399> VO: Definition lists not announced in Safari
5859
5860 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
5861 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
5862 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
5863 as does each <dd> tag ("definition")
5864
5865 Test: accessibility/lists.html
5866
5867 * GNUmakefile.am:
5868 * WebCore.pro:
5869 * WebCore.vcproj/WebCore.vcproj:
5870 * WebCore.xcodeproj/project.pbxproj:
5871 * WebCoreSources.bkl:
5872 * page/AXObjectCache.cpp:
5873 * page/AccessibilityList.cpp: Added.
5874 * page/AccessibilityList.h: Added.
5875 * page/AccessibilityObject.h:
5876 * page/AccessibilityRenderObject.cpp:
5877 * page/AccessibilityTable.cpp:
5878 * page/mac/AccessibilityObjectWrapper.mm:
5879 * page/mac/WebCoreViewFactory.h:
5880 * platform/LocalizedStrings.h:
5881 * platform/mac/LocalizedStringsMac.mm:
5882 * platform/qt/Localizations.cpp:
5883
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +000058842008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
5885
5886 Reviewed by Eric.
5887
5888 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
5889 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
5890
5891 Several renames:
5892 dispatchHTMLEvent -> dispatchEventForType
5893 setHTMLEventListener -> setEventListenerForType
5894 getHTMLEventListener -> eventListenerForType
5895 removeHTMLEventListener -> removeEventListenerForType
5896 isHTMLEventListener -> isAttachedToEventTargetNode
5897 ...
5898
5899 Similar renames for the dispatch/get/set/*Window*Event functions.
5900 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
5901
5902 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
5903 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
5904
5905 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
5906 SVG is able to use the code as well now. This affects most files in html/.
5907
5908 No functional changes.
5909
5910 * GNUmakefile.am:
5911 * WebCore.pro:
5912 * WebCore.vcproj/WebCore.vcproj:
5913 * WebCore.xcodeproj/project.pbxproj:
5914 * bindings/js/JSDOMWindowBase.cpp:
5915 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
5916 (WebCore::JSDOMWindowBase::setListener):
5917 (WebCore::JSDOMWindowBase::getListener):
5918 (WebCore::JSDOMWindowBase::findJSEventListener):
5919 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
5920 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
5921 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
5922 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
5923 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
5924 * bindings/js/JSDOMWindowBase.h:
5925 * bindings/js/JSEventListener.cpp:
5926 (WebCore::JSAbstractEventListener::handleEvent):
5927 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
5928 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
5929 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
5930 (WebCore::JSEventListener::JSEventListener):
5931 (WebCore::JSEventListener::~JSEventListener):
5932 (WebCore::JSLazyEventListener::JSLazyEventListener):
5933 (WebCore::eventParameterName):
5934 (WebCore::JSLazyEventListener::parseCode):
5935 (WebCore::getNodeEventListener):
5936 * bindings/js/JSEventListener.h:
5937 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
5938 (WebCore::JSUnprotectedEventListener::create):
5939 (WebCore::JSEventListener::create):
5940 (WebCore::JSLazyEventListener::):
5941 (WebCore::JSLazyEventListener::create):
5942 * bindings/js/JSEventTargetNode.cpp:
5943 (WebCore::JSEventTargetNode::setListener):
5944 (WebCore::JSEventTargetNode::getListener):
5945 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
5946 * bindings/js/JSSVGLazyEventListener.h: Removed.
5947 * bindings/js/ScriptController.cpp:
5948 (WebCore::ScriptController::createHTMLEventHandler):
5949 (WebCore::ScriptController::createSVGEventHandler):
5950 * dom/Document.cpp:
5951 (WebCore::Document::setFocusedNode):
5952 (WebCore::Document::handleWindowEvent):
5953 (WebCore::Document::setWindowEventListenerForType):
5954 (WebCore::Document::windowEventListenerForType):
5955 (WebCore::Document::removeWindowEventListenerForType):
5956 (WebCore::Document::addWindowEventListener):
5957 (WebCore::Document::hasWindowEventListener):
5958 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
5959 (WebCore::Document::createEventListener):
5960 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
5961 * dom/Document.h:
5962 * dom/EventListener.h:
5963 (WebCore::EventListener::isAttachedToEventTargetNode):
5964 * dom/EventTargetNode.cpp:
5965 (WebCore::EventTargetNode::dispatchFocusEvent):
5966 (WebCore::EventTargetNode::dispatchBlurEvent):
5967 (WebCore::EventTargetNode::dispatchEventForType):
5968 (WebCore::EventTargetNode::removeEventListenerForType):
5969 (WebCore::EventTargetNode::setEventListenerForType):
5970 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
5971 (WebCore::EventTargetNode::eventListenerForType):
5972 * dom/EventTargetNode.h:
5973 * dom/XMLTokenizer.cpp:
5974 (WebCore::XMLTokenizer::notifyFinished):
5975 * editing/ReplaceSelectionCommand.cpp:
5976 (WebCore::ReplacementFragment::ReplacementFragment):
5977 * html/HTMLBodyElement.cpp:
5978 (WebCore::HTMLBodyElement::parseMappedAttribute):
5979 * html/HTMLButtonElement.cpp:
5980 (WebCore::HTMLButtonElement::parseMappedAttribute):
5981 * html/HTMLElement.cpp:
5982 (WebCore::HTMLElement::parseMappedAttribute):
5983 (WebCore::HTMLElement::checkDTD):
5984 * html/HTMLElement.h:
5985 * html/HTMLFormControlElement.cpp:
5986 (WebCore::HTMLFormControlElement::onChange):
5987 * html/HTMLFormElement.cpp:
5988 (WebCore::HTMLFormElement::prepareSubmit):
5989 (WebCore::HTMLFormElement::reset):
5990 (WebCore::HTMLFormElement::parseMappedAttribute):
5991 * html/HTMLFrameElementBase.cpp:
5992 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
5993 * html/HTMLFrameSetElement.cpp:
5994 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
5995 * html/HTMLImageElement.cpp:
5996 (WebCore::HTMLImageElement::parseMappedAttribute):
5997 * html/HTMLImageLoader.cpp:
5998 (WebCore::HTMLImageLoader::dispatchLoadEvent):
5999 * html/HTMLInputElement.cpp:
6000 (WebCore::HTMLInputElement::parseMappedAttribute):
6001 (WebCore::HTMLInputElement::setValueFromRenderer):
6002 (WebCore::HTMLInputElement::onSearch):
6003 * html/HTMLMediaElement.cpp:
6004 (WebCore::HTMLMediaElement::asyncEventTimerFired):
6005 (WebCore::HTMLMediaElement::load):
6006 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
6007 (WebCore::HTMLMediaElement::setReadyState):
6008 (WebCore::HTMLMediaElement::seek):
6009 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
6010 (WebCore::HTMLMediaElement::willSaveToCache):
6011 * html/HTMLObjectElement.cpp:
6012 (WebCore::HTMLObjectElement::parseMappedAttribute):
6013 * html/HTMLScriptElement.cpp:
6014 (WebCore::HTMLScriptElement::parseMappedAttribute):
6015 (WebCore::HTMLScriptElement::dispatchLoadEvent):
6016 (WebCore::HTMLScriptElement::dispatchErrorEvent):
6017 * html/HTMLSelectElement.cpp:
6018 (WebCore::HTMLSelectElement::parseMappedAttribute):
6019 * html/HTMLTextAreaElement.cpp:
6020 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
6021 * html/HTMLTokenizer.cpp:
6022 (WebCore::HTMLTokenizer::notifyFinished):
6023 * page/AccessibilityRenderObject.cpp:
6024 (WebCore::AccessibilityRenderObject::mouseButtonListener):
6025 * page/EventHandler.cpp:
6026 (WebCore::EventHandler::canMouseDownStartSelect):
6027 (WebCore::EventHandler::canMouseDragExtendSelect):
6028 * page/Frame.cpp:
6029 (WebCore::Frame::sendScrollEvent):
6030 * page/Page.cpp:
6031 (WebCore::networkStateChanged):
6032 * rendering/RenderListBox.cpp:
6033 (WebCore::RenderListBox::valueChanged):
6034 * rendering/RenderTextControl.cpp:
6035 (WebCore::RenderTextControl::selectionChanged):
6036 * svg/SVGDocumentExtensions.cpp:
6037 * svg/SVGDocumentExtensions.h:
6038 * svg/SVGElement.cpp:
6039 (WebCore::SVGElement::parseMappedAttribute):
6040 (WebCore::SVGElement::finishParsingChildren):
6041 * svg/SVGElement.h:
6042 * svg/SVGSVGElement.cpp:
6043 (WebCore::SVGSVGElement::parseMappedAttribute):
6044 * svg/SVGSVGElement.h:
6045
hyatt@apple.com63739ce2008-09-15 23:44:10 +000060462008-09-15 Dave Hyatt <hyatt@apple.com>
6047
6048 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
6049 need to be converted.
6050
6051 Reviewed by Sam Weinig
6052
6053 * platform/ScrollBar.cpp:
6054 (WebCore::Scrollbar::Scrollbar):
6055 (WebCore::Scrollbar::updateThumbPosition):
6056 (WebCore::Scrollbar::updateThumbProportion):
6057 (WebCore::Scrollbar::autoscrollPressedPart):
6058 (WebCore::Scrollbar::startTimerIfNeeded):
6059 * platform/ScrollBar.h:
6060 * platform/ScrollbarTheme.h:
6061 (WebCore::ScrollbarTheme::invalidateParts):
6062 * platform/ScrollbarThemeComposite.cpp:
6063 (WebCore::ScrollbarThemeComposite::hitTest):
6064 (WebCore::ScrollbarThemeComposite::invalidatePart):
6065 (WebCore::ScrollbarThemeComposite::thumbPosition):
6066 (WebCore::ScrollbarThemeComposite::thumbLength):
6067 (WebCore::ScrollbarThemeComposite::trackLength):
6068 * platform/ScrollbarThemeComposite.h:
6069 * platform/win/PlatformScrollBarSafari.cpp:
6070 (WebCore::PlatformScrollbar::PlatformScrollbar):
6071 * platform/win/PlatformScrollBarWin.cpp:
6072 (WebCore::PlatformScrollbar::PlatformScrollbar):
6073
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +000060742008-09-15 David Smith <catfish.man@gmail.com>
6075
6076 "Just do it"'d by Mark Rowe
6077
6078 https://bugs.webkit.org/show_bug.cgi?id=20856
6079 Add missing license header
6080
6081 * dom/NodeRenderStyle.h:
6082
dino@apple.combf52b682008-09-15 21:31:43 +000060832008-09-15 Dean Jackson <dino@apple.com>
6084
6085 Reviewed by Tim Hatcher.
6086
dino@apple.com3db0b8f2008-09-15 21:52:23 +00006087 Add default constructor for ShadowData
6088 https://bugs.webkit.org/show_bug.cgi?id=20757
6089
6090 Test: transitions/shadow.html
6091
6092 * rendering/style/RenderStyle.h:
6093
60942008-09-15 Dean Jackson <dino@apple.com>
6095
6096 Reviewed by Tim Hatcher.
6097
dino@apple.com03abdce2008-09-15 21:40:52 +00006098 RenderStyle should update keyframes.
6099 http://bugs.webkit.org/show_bug.cgi?id=20756
6100
6101 * rendering/style/RenderStyle.cpp:
6102 (WebCore::StyleRareNonInheritedData::updateKeyframes):
6103
61042008-09-15 Dean Jackson <dino@apple.com>
6105
6106 Reviewed by Tim Hatcher.
6107
dino@apple.combf52b682008-09-15 21:31:43 +00006108 Unnecessary ASSERT in ImplicitAnimation destructor.
6109 https://bugs.webkit.org/show_bug.cgi?id=20817
6110
6111 * page/animation/ImplicitAnimation.cpp:
6112 (WebCore::ImplicitAnimation::~ImplicitAnimation):
6113
treat@webkit.org7e5abc22008-09-15 20:53:49 +000061142008-09-15 Adam Treat <treat@kde.org>
6115
6116 Reviewed by Simon.
6117
6118 Fix plugin extension info. It was returning the mimetype where the
6119 extension was given.
6120
6121 * plugins/qt/PluginPackageQt.cpp:
6122 (WebCore::PluginPackage::fetchInfo):
6123
dino@apple.comecc18dc2008-09-15 20:40:28 +000061242008-09-15 Dean Jackson <dino@apple.com>
6125
6126 Reviewed by Tim Hatcher
6127
6128 Coding style violation!!!! Cleanup AnimationBase.cpp
6129
6130 * page/animation/AnimationBase.cpp:
6131 (WebCore::blendFunc):
6132
hyatt@apple.comf4a9d932008-09-15 20:03:25 +000061332008-09-15 David Hyatt <hyatt@apple.com>
6134
6135 Move all hit testing code for scrollbars into the base class. Refactor
6136 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
6137 functions.
6138
6139 No platform is using this code yet. Although it has been moved and compiles
6140 (even on Mac), it is not being used on any platform.
6141
6142 Reviewed by Sam Weinig
6143
6144 * platform/ScrollBar.cpp:
6145 (WebCore::Scrollbar::autoscrollPressedPart):
6146 (WebCore::Scrollbar::startTimerIfNeeded):
6147 (WebCore::Scrollbar::handleMouseMoveEvent):
6148 (WebCore::Scrollbar::handleMouseOutEvent):
6149 (WebCore::Scrollbar::handleMouseReleaseEvent):
6150 (WebCore::Scrollbar::handleMousePressEvent):
6151 * platform/ScrollBar.h:
6152 (WebCore::Scrollbar::handleContextMenuEvent):
6153 * platform/ScrollbarTheme.h:
6154 (WebCore::ScrollbarTheme::hitTest):
6155 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
6156 (WebCore::ScrollbarTheme::invalidatePart):
6157 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
6158 (WebCore::ScrollbarTheme::centerOnThumb):
6159 (WebCore::ScrollbarTheme::thumbPosition):
6160 (WebCore::ScrollbarTheme::thumbLength):
6161 (WebCore::ScrollbarTheme::trackLength):
6162 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
6163 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
6164 * platform/Widget.h:
6165 (WebCore::Widget::parent):
6166 * platform/mac/PlatformScrollBar.h:
6167 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
6168 (WebCore::PlatformScrollbar::handleMouseOutEvent):
6169 (WebCore::PlatformScrollbar::handleMousePressEvent):
6170 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
6171 * platform/mac/WidgetMac.mm:
6172 (WebCore::Widget::convertFromContainingWindow):
6173 * platform/win/ScrollbarThemeWin.cpp:
6174 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
6175 * platform/win/ScrollbarThemeWin.h:
6176
mitz@apple.comd17dc392008-09-15 18:48:20 +000061772008-09-15 Dan Bernstein <mitz@apple.com>
6178
6179 Reviewed by Sam Weinig.
6180
6181 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
6182
6183 Cache the next breakable position for text nodes in InlineIterator.
6184
6185 * rendering/bidi.cpp:
6186 (WebCore::InlineIterator::InlineIterator):
6187 (WebCore::InlineIterator::increment):
6188 (WebCore::RenderBlock::findNextLineBreak):
6189
simon.fraser@apple.comda604642008-09-15 17:10:48 +000061902008-09-15 Simon Fraser <simon.fraser@apple.com>
6191
6192 Reviewed by Dan Bernstein
6193
6194 Fix assertion and integral pixel issue when creating subimages.
6195 https://bugs.webkit.org/show_bug.cgi?id=20786
6196
6197 * platform/graphics/cg/ImageCG.cpp:
6198 (WebCore::BitmapImage::draw):
6199
vestbo@webkit.orge7eda302008-09-15 12:43:37 +000062002008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
6201
6202 Reviewed by Simon.
6203
6204 Implment seek() and clean up and improve debugging output
6205
6206 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6207 (debugMediaObject):
6208 (WebCore::MediaPlayerPrivate::seek):
6209 (WebCore::MediaPlayerPrivate::setVolume):
6210 (WebCore::MediaPlayerPrivate::setMuted):
6211 (WebCore::MediaPlayerPrivate::updateStates):
6212 (WebCore::MediaPlayerPrivate::naturalSize):
6213 (WebCore::MediaPlayerPrivate::paint):
6214 (WebCore::MediaPlayerPrivate::stateChanged):
6215 (WebCore::MediaPlayerPrivate::tick):
6216
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +000062172008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
6218
6219 Reviewed by Simon.
6220
6221 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
6222
6223 m_mediaObject, m_audioOutput, m_videoWidget get created in the
6224 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
6225 only check if we use the MediaPlayerPrivate after it has been deleted.
6226
6227 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
6228
6229 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6230 (WebCore::MediaPlayerPrivate::play):
6231 (WebCore::MediaPlayerPrivate::setVolume):
6232 (WebCore::MediaPlayerPrivate::updateStates):
6233
andersca@apple.com18d62682008-09-15 11:35:22 +000062342008-09-15 Anders Carlsson <andersca@apple.com>
6235
6236 Reviewed by Maciej.
6237
6238 <rdar://problem/6163988>
6239 https://bugs.webkit.org/show_bug.cgi?id=20457
6240 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
6241
6242 Check the width and height and throw an exception if any of them are 0.
6243
6244 * html/CanvasRenderingContext2D.cpp:
6245 (WebCore::CanvasRenderingContext2D::createPattern):
6246
vestbo@webkit.org3a27e182008-09-15 11:28:59 +000062472008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
6248
6249 Reviewed by Simon.
6250
6251 Render media element controls with antialiasing enabled
6252
6253 * platform/qt/RenderThemeQt.cpp:
6254 (WebCore::RenderThemeQt::paintMediaMuteButton):
6255 (WebCore::RenderThemeQt::paintMediaPlayButton):
6256 (WebCore::RenderThemeQt::paintMediaSliderTrack):
6257 (WebCore::RenderThemeQt::paintMediaSliderThumb):
6258
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +000062592008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
6260
6261 Reviewed by Simon.
6262
6263 Upon non fatal error, switch to the pause state (so that playback can continue)
6264
6265 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
6266 (WebCore::MediaPlayerPrivate::updateStates):
6267
vestbo@webkit.org12a59572008-09-15 11:16:13 +000062682008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
6269
6270 Reviewed by Simon.
6271
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +00006272 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
6273
6274 * WebCore.pro:
6275
62762008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
6277
6278 Reviewed by Simon.
6279
vestbo@webkit.org12a59572008-09-15 11:16:13 +00006280 Make QtInstance::create() private and fix caching
6281
6282 * bindings/js/ScriptControllerQt.cpp:
6283 (WebCore::ScriptController::createScriptInstanceForWidget):
6284 * bridge/qt/qt_instance.cpp:
6285 (JSC::Bindings::QtInstance::getQtInstance):
6286 (JSC::Bindings::QtInstance::getRuntimeObject):
6287 * bridge/qt/qt_instance.h:
6288 (JSC::Bindings::QtInstance::create):
6289 * bridge/qt/qt_runtime.cpp:
6290 (JSC::Bindings::convertQVariantToValue):
6291 (JSC::Bindings::QtConnectionObject::execute):
6292
dsmith@webkit.orgaba15862008-09-15 08:45:35 +000062932008-09-15 David Smith <catfish.man@gmail.com>
6294
6295 Reviewed by Dave Hyatt.
6296
6297 https://bugs.webkit.org/show_bug.cgi?id=20180
6298
6299 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
6300 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
6301 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
6302
6303 * css/CSSStyleSelector.cpp:
6304 (WebCore::CSSStyleSelector::CSSStyleSelector):
6305 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
6306 * css/CSSStyleSelector.h:
6307
hyatt@apple.com065494e2008-09-15 06:33:40 +000063082008-09-14 Dave Hyatt <hyatt@apple.com>
6309
6310 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
6311 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
6312
6313 Reviewed by Sam Weinig
6314
6315 * platform/ScrollBar.h:
6316 (WebCore::Scrollbar::client):
6317 (WebCore::Scrollbar::currentPos):
6318 (WebCore::Scrollbar::totalSize):
6319 * platform/ScrollbarTheme.h:
6320 * platform/ScrollbarThemeComposite.cpp:
6321 (WebCore::pageForScrollView):
6322 (WebCore::ScrollbarThemeComposite::paint):
6323 * platform/ScrollbarThemeComposite.h:
6324 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
6325 * platform/win/PlatformScrollBar.h:
6326 * platform/win/PlatformScrollBarSafari.cpp:
6327 * platform/win/PlatformScrollBarWin.cpp:
6328 * platform/win/ScrollbarThemeSafari.h:
6329 (WebCore::ScrollbarThemeSafari::hasButtons):
6330 (WebCore::ScrollbarThemeSafari::hasThumb):
6331 (WebCore::ScrollbarThemeSafari::backButtonRect):
6332 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
6333 (WebCore::ScrollbarThemeSafari::trackRect):
6334 (WebCore::ScrollbarThemeSafari::splitTrack):
6335 (WebCore::ScrollbarThemeSafari::paintTrack):
6336 (WebCore::ScrollbarThemeSafari::paintButton):
6337 (WebCore::ScrollbarThemeSafari::paintThumb):
6338 * platform/win/ScrollbarThemeWin.cpp:
6339 (WebCore::isRunningOnVistaOrLater):
6340 (WebCore::checkAndInitScrollbarTheme):
6341 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
6342 (WebCore::ScrollbarThemeWin::themeChanged):
6343 (WebCore::ScrollbarThemeWin::hasThumb):
6344 (WebCore::ScrollbarThemeWin::backButtonRect):
6345 (WebCore::ScrollbarThemeWin::forwardButtonRect):
6346 (WebCore::ScrollbarThemeWin::trackRect):
6347 (WebCore::ScrollbarThemeWin::splitTrack):
6348 (WebCore::ScrollbarThemeWin::paintTrack):
6349 (WebCore::ScrollbarThemeWin::paintButton):
6350 (WebCore::gripperRect):
6351 (WebCore::paintGripper):
6352 (WebCore::ScrollbarThemeWin::paintThumb):
6353 (WebCore::ScrollbarThemeWin::thumbPosition):
6354 (WebCore::ScrollbarThemeWin::thumbLength):
6355 (WebCore::ScrollbarThemeWin::trackLength):
6356 * platform/win/ScrollbarThemeWin.h:
6357 (WebCore::ScrollbarThemeWin::hasButtons):
6358 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
6359
timothy@apple.comd91172c2008-09-15 05:38:00 +000063602008-09-14 Anthony Ricaud <rik24d@gmail.com>
6361
6362 Moving all resource graphs under the same container for future scalable feature.
6363 This is a speedup on resize but maybe a loss on changing the sorting function.
6364
6365 https://bugs.webkit.org/show_bug.cgi?id=20555
6366
6367 Reviewed by Timothy Hatcher.
6368
6369 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
6370 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
6371 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
6372
ap@webkit.orga14074b2008-09-15 04:52:44 +000063732008-09-14 Alexey Proskuryakov <ap@webkit.org>
6374
6375 Reviewed by Maciej Stachowiak.
6376
6377 https://bugs.webkit.org/show_bug.cgi?id=20738
6378 compareBoundaryPoints gives incorrect results
6379
6380 Test: fast/dom/Range/compareBoundaryPoints-2.html
6381
6382 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
6383 and END_TO_START.
6384 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
6385
mjs@apple.com285bdcf2008-09-15 02:55:16 +000063862008-09-14 Maciej Stachowiak <mjs@apple.com>
6387
6388 Unreviewed build fix.
6389
mjs@apple.comcbb31e52008-09-15 03:10:35 +00006390 Trying again.
6391
6392 * bindings/js/JSQuarantinedObjectWrapper.cpp:
6393 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
6394
63952008-09-14 Maciej Stachowiak <mjs@apple.com>
6396
6397 Unreviewed build fix.
6398
mjs@apple.com285bdcf2008-09-15 02:55:16 +00006399 Blind attempt to fix build. Correct parameters for hasInstance.
6400
6401 * bindings/js/JSQuarantinedObjectWrapper.cpp:
6402 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
6403 * bindings/js/JSQuarantinedObjectWrapper.h:
6404
mitz@apple.come85f7362008-09-15 02:23:24 +000064052008-09-14 Dan Bernstein <mitz@apple.com>
6406
6407 Rubber-stamped by Sam Weinig.
6408
6409 - revert <http://trac.webkit.org/changeset/36382> because it exposed
6410 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
6411 on Tiger.
6412
6413 * platform/graphics/mac/FontCacheMac.mm:
6414 (WebCore::FontCache::getFontDataForCharacters):
6415 (WebCore::FontCache::getLastResortFallbackFont):
6416
hyatt@apple.comf18feec2008-09-15 00:56:11 +000064172008-09-14 Dave Hyatt <hyatt@apple.com>
6418
6419 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
6420 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
6421 theme.
6422
6423 Reviewed by Sam Weinig
6424
6425 * WebCore.vcproj/WebCore.vcproj:
6426 * platform/win/ScrollbarThemeSafari.h:
6427 * platform/win/ScrollbarThemeWin.h:
6428
alp@webkit.orgd694e942008-09-15 00:20:15 +000064292008-09-14 Alp Toker <alp@nuanti.com>
6430
6431 https://bugs.webkit.org/show_bug.cgi?id=20320
6432 [GTK] A white rectangle is visible behind widgets with rounded corners
6433
6434 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
6435 style exempt).
6436
6437 Requested by Michael Monreal.
6438
6439 * platform/gtk/RenderThemeGtk.cpp:
6440 (WebCore::RenderThemeGtk::RenderThemeGtk):
6441 * platform/gtk/gtk2drawing.c:
6442 (moz_gtk_set_widget_name):
6443 (ensure_window_widget):
6444 (setup_widget_prototype):
6445 (ensure_button_arrow_widget):
6446 (moz_gtk_get_combo_box_inner_button):
6447 (moz_gtk_get_combo_box_button_inner_widgets):
6448 (ensure_combo_box_widgets):
6449 (moz_gtk_get_combo_box_entry_inner_widgets):
6450 (moz_gtk_get_combo_box_entry_arrow):
6451 (ensure_combo_box_entry_widgets):
6452 (ensure_toolbar_widget):
6453 (ensure_tooltip_widget):
6454 (ensure_menu_bar_widget):
6455 (ensure_menu_bar_item_widget):
6456 (ensure_menu_popup_widget):
6457 (ensure_menu_item_widget):
6458 (ensure_image_menu_item_widget):
6459 (ensure_menu_separator_widget):
6460 (ensure_check_menu_item_widget):
6461 (ensure_tree_header_cell_widget):
6462 (ensure_scrolled_window_widget):
6463 (moz_gtk_button_paint):
6464 (moz_gtk_init):
6465 (moz_gtk_button_get_inner_border):
6466 (moz_gtk_toggle_paint):
6467 (calculate_button_inner_rect):
6468 (calculate_arrow_rect):
6469 (moz_gtk_scrollbar_button_paint):
6470 (moz_gtk_scrollbar_thumb_paint):
6471 (moz_gtk_caret_paint):
6472 (moz_gtk_entry_paint):
6473 (moz_gtk_treeview_paint):
6474 (moz_gtk_tree_header_cell_paint):
6475 (moz_gtk_combo_box_paint):
6476 (moz_gtk_downarrow_paint):
6477 (moz_gtk_combo_box_entry_button_paint):
6478 (moz_gtk_toolbar_paint):
6479 (moz_gtk_tab_scroll_arrow_paint):
6480 (moz_gtk_menu_bar_paint):
6481 (moz_gtk_menu_item_paint):
6482 (moz_gtk_get_widget_border):
6483 (moz_gtk_get_combo_box_entry_button_size):
6484 (moz_gtk_get_tab_scroll_arrow_size):
6485 (moz_gtk_get_downarrow_size):
6486 (moz_gtk_images_in_menus):
6487 (moz_gtk_widget_paint):
6488 (moz_gtk_shutdown):
6489 * platform/gtk/gtkdrawing.h:
6490
hyatt@apple.com3ab48302008-09-14 23:55:16 +000064912008-09-14 David Hyatt <hyatt@apple.com>
6492
6493 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
6494 painting. Mac and Gtk themes don't do anything and just let the
6495 underlying widget paint. Qt now uses the theme to paint. wx doesn't
6496 do anything yet.
6497
6498 Reviewed by Sam Weinig
6499
6500 * platform/ScrollBar.cpp:
6501 (WebCore::Scrollbar::paint):
6502 * platform/ScrollBar.h:
6503 (WebCore::Scrollbar::value):
6504 (WebCore::Scrollbar::visibleSize):
6505 (WebCore::Scrollbar::maximum):
6506 (WebCore::Scrollbar::lineStep):
6507 (WebCore::Scrollbar::pageStep):
6508 (WebCore::Scrollbar::pixelStep):
6509 (WebCore::Scrollbar::pressedPart):
6510 (WebCore::Scrollbar::hoveredPart):
6511 (WebCore::Scrollbar::theme):
6512 * platform/ScrollbarTheme.h:
6513 (WebCore::ScrollbarTheme::paint):
6514 (WebCore::ScrollbarTheme::scrollbarThickness):
6515 (WebCore::ScrollbarTheme::supportsControlTints):
6516 (WebCore::ScrollbarTheme::themeChanged):
6517 * platform/gtk/PlatformScrollBar.h:
6518 * platform/gtk/PlatformScrollBarGtk.cpp:
6519 * platform/mac/PlatformScrollBar.h:
6520 * platform/mac/PlatformScrollBarMac.mm:
6521 * platform/qt/PlatformScrollBar.h:
6522 * platform/qt/PlatformScrollBarQt.cpp:
6523 * platform/qt/ScrollbarThemeQt.cpp:
6524 (WebCore::styleOptionSlider):
6525 * platform/qt/ScrollbarThemeQt.h:
6526 (WebCore::ScrollbarThemeQt::paint):
6527 * platform/win/PlatformScrollBarSafari.cpp:
6528 (WebCore::PlatformScrollbar::paint):
6529 * platform/win/ScrollbarThemeSafari.h:
6530 (WebCore::ScrollbarThemeSafari::supportsControlTints):
6531 * platform/wx/PlatformScrollBar.h:
6532 * platform/wx/TemporaryLinkStubs.cpp:
6533 (PlatformScrollbar::~PlatformScrollbar):
6534
weinig@apple.comcb93e262008-09-14 21:36:11 +000065352008-09-14 Sam Weinig <sam@webkit.org>
6536
weinig@apple.com6ef2b872008-09-14 22:15:28 +00006537 Qt build fix.
6538
6539 * platform/qt/PlatformScrollBarQt.cpp:
6540
65412008-09-14 Sam Weinig <sam@webkit.org>
6542
weinig@apple.com064861a2008-09-14 22:12:49 +00006543 Reviewed by Mark Rowe.
6544
6545 Remove extraneous semicolons.
6546
6547 * bindings/scripts/CodeGeneratorObjC.pm:
6548 * html/HTMLLinkElement.cpp:
6549 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
6550 * html/HTMLScriptElement.cpp:
6551 (WebCore::HTMLScriptElement::charsetAttributeValue):
6552 (WebCore::HTMLScriptElement::typeAttributeValue):
6553 * platform/graphics/qt/GradientQt.cpp:
6554 (WebCore::Gradient::platformGradient):
6555 * platform/qt/ScrollViewQt.cpp:
6556 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
6557 * platform/win/ScrollViewWin.cpp:
6558 (WebCore::ScrollView::updateScrollbars):
6559 * rendering/RenderBlock.cpp:
6560 (WebCore::RenderBlock::paintEllipsisBoxes):
6561 * svg/SVGPathSegList.cpp:
6562 (WebCore::SVGPathSegList::toPathData):
6563
65642008-09-14 Sam Weinig <sam@webkit.org>
6565
weinig@apple.comcb93e262008-09-14 21:36:11 +00006566 Qt build fix.
6567
weinig@apple.com31311a62008-09-14 22:00:15 +00006568 * platform/qt/ScrollViewQt.cpp:
6569 (WebCore::ScrollView::updateScrollbars):
6570
65712008-09-14 Sam Weinig <sam@webkit.org>
6572
6573 Qt build fix.
6574
weinig@apple.comcb93e262008-09-14 21:36:11 +00006575 * platform/qt/PlatformScrollBarQt.cpp:
6576 (WebCore::PlatformScrollbar::PlatformScrollbar):
6577 (WebCore::PlatformScrollbar::paint):
6578
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +000065792008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
6580
6581 Gtk build fix, not reviewed.
6582
6583 * platform/gtk/PlatformScrollBarGtk.cpp:
6584 (PlatformScrollbar::PlatformScrollbar):
6585 * platform/gtk/ScrollViewGtk.cpp:
6586 (WebCore::ScrollView::updateScrollbars):
6587
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000065882008-09-13 Dave Hyatt <hyatt@apple.com>
6589
hyatt@apple.com21ab7c62008-09-14 01:26:22 +00006590 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
6591 to set the dimensions of a scrollbar.
6592
6593 Reviewed by Sam Weinig
6594
6595 * platform/ScrollBar.h:
6596 * platform/gtk/PlatformScrollBar.h:
6597 * platform/gtk/PlatformScrollBarGtk.cpp:
6598 (PlatformScrollbar::setFrameGeometry):
6599 * platform/gtk/ScrollViewGtk.cpp:
6600 (WebCore::ScrollView::updateScrollbars):
6601 * platform/mac/PlatformScrollBarMac.mm:
6602 * platform/qt/PlatformScrollBarQt.cpp:
6603 * platform/qt/ScrollViewQt.cpp:
6604 (WebCore::ScrollView::updateScrollbars):
6605 * platform/win/PlatformScrollBar.h:
6606 * platform/win/PlatformScrollBarSafari.cpp:
6607 (WebCore::PlatformScrollbar::PlatformScrollbar):
6608 (WebCore::PlatformScrollbar::setFrameGeometry):
6609 * platform/win/PlatformScrollBarWin.cpp:
6610 (WebCore::PlatformScrollbar::PlatformScrollbar):
6611 (WebCore::PlatformScrollbar::setFrameGeometry):
6612 * platform/win/PopupMenuWin.cpp:
6613 (WebCore::PopupWndProc):
6614 * platform/win/ScrollViewWin.cpp:
6615 (WebCore::ScrollView::updateScrollbars):
6616 * platform/wx/PlatformScrollBar.h:
6617 * platform/wx/TemporaryLinkStubs.cpp:
6618 (PlatformScrollbar::updateThumbProportion):
6619 * rendering/RenderLayer.cpp:
6620 (WebCore::RenderLayer::positionOverflowControls):
6621 * rendering/RenderListBox.cpp:
6622 (WebCore::RenderListBox::paintScrollbar):
6623
66242008-09-13 Dave Hyatt <hyatt@apple.com>
6625
hyatt@apple.comed9485a2008-09-14 01:06:57 +00006626 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
6627
6628 Reviewed by Sam Weinig
6629
6630 * platform/ScrollBar.h:
6631 * platform/gtk/PlatformScrollBar.h:
6632 * platform/gtk/PlatformScrollBarGtk.cpp:
6633 * platform/mac/PlatformScrollBar.h:
6634 * platform/mac/PlatformScrollBarMac.mm:
6635 * platform/win/PlatformScrollBar.h:
6636 * platform/win/PlatformScrollBarSafari.cpp:
6637 * platform/win/PlatformScrollBarWin.cpp:
6638 * platform/wx/PlatformScrollBar.h:
6639 * platform/wx/TemporaryLinkStubs.cpp:
6640 (PlatformScrollbar::~PlatformScrollbar):
6641
66422008-09-13 Dave Hyatt <hyatt@apple.com>
6643
hyatt@apple.com64d98032008-09-14 00:58:29 +00006644 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
6645 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
6646
6647 Reviewed by Sam Weinig
6648
6649 * platform/ScrollBar.h:
6650 * platform/gtk/PlatformScrollBar.h:
6651 * platform/gtk/PlatformScrollBarGtk.cpp:
6652 * platform/mac/PlatformScrollBar.h:
6653 * platform/mac/PlatformScrollBarMac.mm:
6654 * platform/win/PlatformScrollBarSafari.cpp:
6655 * platform/win/PlatformScrollBarWin.cpp:
6656 * platform/wx/PlatformScrollBar.h:
6657 * platform/wx/TemporaryLinkStubs.cpp:
6658 (PlatformScrollbar::~PlatformScrollbar):
6659
66602008-09-13 Dave Hyatt <hyatt@apple.com>
6661
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +00006662 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
6663
6664 Reviewed by Sam Weinig
6665
6666 * platform/ScrollBar.cpp:
6667 (WebCore::Scrollbar::~Scrollbar):
6668 * platform/ScrollBar.h:
6669 * platform/qt/PlatformScrollBarQt.cpp:
6670 (WebCore::PlatformScrollbar::~PlatformScrollbar):
6671 * platform/win/PlatformScrollBarSafari.cpp:
6672 (WebCore::PlatformScrollbar::~PlatformScrollbar):
6673 * platform/win/PlatformScrollBarWin.cpp:
6674 (WebCore::PlatformScrollbar::~PlatformScrollbar):
6675
hyatt@apple.coma3c52492008-09-13 23:57:08 +000066762008-09-13 David Hyatt <hyatt@apple.com>
6677
6678 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
6679 function on Scrollbar. Fixes Qt build bustage.
6680
6681 Reviewed by Sam Weinig
6682
6683 * platform/ScrollBar.h:
6684 (WebCore::Scrollbar::orientation):
6685 (WebCore::Scrollbar::value):
6686 (WebCore::Scrollbar::maximum):
6687 * platform/qt/PlatformScrollBar.h:
6688
mitz@apple.comb3d22882008-09-13 23:06:59 +000066892008-09-13 Dan Bernstein <mitz@apple.com>
6690
6691 Reviewed by Sam Weinig.
6692
6693 - use the LastResort font for missing glyphs instead of showing the
6694 primary font's missing glyph
6695
6696 Test: platform/mac/fast/text/last-resort-font.html
6697
6698 * platform/graphics/mac/FontCacheMac.mm:
6699 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
6700 last resort font if a substitute font cannot be found.
6701 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
6702 comment (the user's preferred standard font is included in the search
6703 thanks to code in FontCache::getFontData()) and changed to return the
6704 LastResort font.
6705
hyatt@apple.com0c378c72008-09-13 22:59:05 +000067062008-09-13 Dave Hyatt <hyatt@apple.com>
6707
6708 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
6709 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
6710 patches will move rendering and hit testing functionality into this class.
6711
6712 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
6713 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
6714
6715 Reviewed by Sam Weinig
6716
6717 * GNUmakefile.am:
6718 * WebCore.pro:
6719 * WebCore.vcproj/WebCore.vcproj:
6720 * platform/ScrollBar.cpp:
6721 (WebCore::Scrollbar::Scrollbar):
6722 * platform/ScrollBar.h:
6723 * platform/ScrollbarTheme.h: Added.
6724 (WebCore::ScrollbarTheme::~ScrollbarTheme):
6725 (WebCore::ScrollbarTheme::scrollbarThickness):
6726 (WebCore::ScrollbarTheme::themeChanged):
6727 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
6728 (WebCore::ScrollbarTheme::nativeTheme):
6729 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
6730 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
6731 * platform/gtk/ScrollbarThemeGtk.h: Added.
6732 * platform/mac/PlatformScrollBar.h:
6733 * platform/mac/ScrollbarThemeMac.cpp: Added.
6734 (WebCore::ScrollbarTheme::nativeTheme):
6735 (WebCore::):
6736 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
6737 (WebCore::ScrollbarThemeMac::scrollbarThickness):
6738 * platform/mac/ScrollbarThemeMac.h: Added.
6739 * platform/qt/PlatformScrollBarQt.cpp:
6740 * platform/qt/ScrollbarThemeQt.cpp: Added.
6741 (WebCore::ScrollbarTheme::nativeTheme):
6742 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
6743 (WebCore::ScrollbarThemeQt::scrollbarThickness):
6744 * platform/qt/ScrollbarThemeQt.h: Added.
6745 * platform/win/PlatformScrollBar.h:
6746 * platform/win/PlatformScrollBarSafari.cpp:
6747 * platform/win/PlatformScrollBarWin.cpp:
6748 * platform/win/PopupMenuWin.cpp:
6749 (WebCore::PopupMenu::calculatePositionAndSize):
6750 * platform/win/ScrollViewWin.cpp:
6751 (WebCore::ScrollView::updateScrollbars):
6752 (WebCore::ScrollView::themeChanged):
6753 * platform/win/ScrollbarThemeSafari.cpp: Added.
6754 (WebCore::ScrollbarTheme::nativeTheme):
6755 (WebCore::):
6756 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
6757 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
6758 * platform/win/ScrollbarThemeSafari.h: Added.
6759 * platform/win/ScrollbarThemeWin.cpp: Added.
6760 (WebCore::ScrollbarTheme::nativeTheme):
6761 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
6762 (WebCore::ScrollbarThemeWin::scrollbarThickness):
6763 (WebCore::ScrollbarThemeWin::themeChanged):
6764 * platform/win/ScrollbarThemeWin.h: Added.
6765 * platform/wx/TemporaryLinkStubs.cpp:
6766 (ScrollbarTheme::nativeTheme):
6767 * rendering/RenderLayer.cpp:
6768 (WebCore::scrollCornerRect):
6769 * rendering/RenderTextControl.cpp:
6770 (WebCore::RenderTextControl::calcHeight):
6771 (WebCore::RenderTextControl::calcPrefWidths):
6772
cfleizach@apple.comd26c2762008-09-13 21:05:18 +000067732008-09-13 Chris Fleizach <cfleizach@apple.com>
6774
6775 Reviewed by Timothy Hatcher.
6776
6777 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
6778
6779 * page/mac/AccessibilityObjectWrapper.mm:
6780 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
6781
mitz@apple.com6307c9f2008-09-13 20:27:37 +000067822008-09-13 Dan Bernstein <mitz@apple.com>
6783
6784 Reviewed by Timothy Hatcher.
6785
6786 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
6787
6788 No regression test because the back/forward cache is disabled in DumpRenderTree
6789
6790 * rendering/RenderContainer.cpp:
6791 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
6792 is being destroyed.
6793
kevino@webkit.org1e178ee2008-09-13 18:48:39 +000067942008-09-13 Kevin Ollivier <kevino@theolliviers.com>
6795
6796 wx build fixes for new methods recently introduced.
6797
6798 * platform/graphics/wx/AffineTransformWx.cpp:
6799 (WebCore::AffineTransform::AffineTransform):
6800 (WebCore::AffineTransform::setMatrix):
6801 (WebCore::AffineTransform::setA):
6802 (WebCore::AffineTransform::setB):
6803 (WebCore::AffineTransform::setC):
6804 (WebCore::AffineTransform::setD):
6805 (WebCore::AffineTransform::setE):
6806 (WebCore::AffineTransform::setF):
6807 * platform/wx/LocalizedStringsWx.cpp:
6808 (WebCore::AXDefinitionListTermText):
6809 (WebCore::AXDefinitionListDefinitionText):
6810
hyatt@apple.com30ed5442008-09-13 18:39:58 +000068112008-09-12 Dave Hyatt <hyatt@apple.com>
6812
6813 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
6814 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
6815 "PlatformScrollbar."
6816
6817 Reviewed by Sam Weinig
6818
6819 * WebCore.vcproj/WebCore.vcproj:
6820 * editing/EditorCommand.cpp:
6821 * page/EventHandler.cpp:
6822 (WebCore::EventHandler::selectCursor):
6823 (WebCore::EventHandler::handleMousePressEvent):
6824 (WebCore::EventHandler::handleMouseMoveEvent):
6825 * page/EventHandler.h:
6826 * page/MouseEventWithHitTestResults.cpp:
6827 (WebCore::MouseEventWithHitTestResults::scrollbar):
6828 * page/MouseEventWithHitTestResults.h:
6829 * page/gtk/EventHandlerGtk.cpp:
6830 (WebCore::EventHandler::passMousePressEventToScrollbar):
6831 * page/mac/EventHandlerMac.mm:
6832 (WebCore::EventHandler::passMousePressEventToScrollbar):
6833 * page/qt/EventHandlerQt.cpp:
6834 (WebCore::EventHandler::passMousePressEventToScrollbar):
6835 * page/win/EventHandlerWin.cpp:
6836 (WebCore::EventHandler::passMousePressEventToScrollbar):
6837 * page/wx/EventHandlerWx.cpp:
6838 (WebCore::EventHandler::passMousePressEventToScrollbar):
6839 * platform/PopupMenu.h:
6840 * platform/ScrollBar.cpp:
6841 (WebCore::Scrollbar::Scrollbar):
6842 (WebCore::Scrollbar::autoscrollTimerFired):
6843 (WebCore::Scrollbar::autoscrollPressedPart):
6844 (WebCore::Scrollbar::startTimerIfNeeded):
6845 (WebCore::Scrollbar::stopTimerIfNeeded):
6846 (WebCore::Scrollbar::pressedPartScrollDirection):
6847 (WebCore::Scrollbar::pressedPartScrollGranularity):
6848 * platform/ScrollBar.h:
6849 (WebCore::Scrollbar::handleMousePressEvent):
6850 (WebCore::Scrollbar::invalidatePart):
6851 (WebCore::Scrollbar::thumbUnderMouse):
6852 * platform/ScrollView.h:
6853 * platform/ScrollbarClient.h: Added.
6854 (WebCore::ScrollbarClient::~ScrollbarClient):
6855 * platform/gtk/ScrollViewGtk.cpp:
6856 (WebCore::ScrollView::scrollbarUnderMouse):
6857 * platform/qt/PlatformScrollBar.h:
6858 * platform/qt/PlatformScrollBarQt.cpp:
6859 (WebCore::PlatformScrollbar::PlatformScrollbar):
6860 (WebCore::scrollbarPart):
6861 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
6862 (WebCore::PlatformScrollbar::handleMouseOutEvent):
6863 (WebCore::PlatformScrollbar::handleMousePressEvent):
6864 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
6865 * platform/qt/ScrollViewQt.cpp:
6866 (WebCore::ScrollView::scrollbarUnderMouse):
6867 (WebCore::ScrollView::wheelEvent):
6868 * platform/win/PlatformScrollBar.h:
6869 * platform/win/PlatformScrollBarSafari.cpp:
6870 (WebCore::PlatformScrollbar::PlatformScrollbar):
6871 * platform/win/PlatformScrollBarWin.cpp:
6872 (WebCore::PlatformScrollbar::PlatformScrollbar):
6873 * platform/win/ScrollViewWin.cpp:
6874 (WebCore::ScrollView::scrollbarUnderMouse):
6875 * rendering/HitTestResult.cpp:
6876 (WebCore::HitTestResult::setScrollbar):
6877 * rendering/HitTestResult.h:
6878 (WebCore::HitTestResult::scrollbar):
6879 * rendering/RenderLayer.cpp:
6880 (WebCore::RenderLayer::hitTestOverflowControls):
6881 * rendering/RenderLayer.h:
6882 * rendering/RenderListBox.h:
6883
sfalken@apple.comb4e407e2008-09-13 02:59:00 +000068842008-09-12 Steve Falkenburg <sfalken@apple.com>
6885
6886 Fix Mac build.
6887
6888 * css/CSSStyleSelector.cpp:
6889 (WebCore::getTransformOperationType):
6890
dino@apple.comf937dc62008-09-13 00:45:39 +000068912008-09-12 Chris Marrin <cmarrin@apple.com>
6892
6893 Reviewed by Dave Hyatt.
6894
6895 Make transform animation behavior match spec
6896 https://bugs.webkit.org/show_bug.cgi?id=20770
6897
6898 Tests: transitions/transform-op-list-match.html
6899 transitions/transform-op-list-no-match.html
6900
6901 * css/CSSStyleSelector.cpp:
6902 * css/CSSStyleSelector.h:
6903 * page/animation/AnimationBase.cpp:
6904 * page/animation/AnimationBase.h:
6905 * page/animation/ImplicitAnimation.cpp:
6906 * page/animation/ImplicitAnimation.h:
6907 * page/animation/KeyframeAnimation.cpp:
6908 * page/animation/KeyframeAnimation.h:
6909 * rendering/RenderLayer.cpp:
6910 * rendering/style/RenderStyle.cpp:
6911 * rendering/style/RenderStyle.h:
6912
timothy@apple.comab374dd2008-09-12 22:43:38 +000069132008-09-12 Ojan Vafai <ojan@chromium.org>
6914
6915 Properly escape contents of links added to the inspector.
6916 For now, just build the link with the DOM and get the
6917 outerHTML. Eventually, we probably just want to do
6918 this entirely with the DOM.
6919
6920 Reviewed by Timothy Hatcher.
6921
6922 https://bugs.webkit.org/show_bug.cgi?id=20684
6923
6924 * manual-tests/inspector/escape-links.html: Added.
6925 * page/inspector/StylesSidebarPane.js:
6926 * page/inspector/inspector.js:
6927 * page/inspector/utilities.js:
6928
adele@apple.com87fb3c72008-09-12 22:14:13 +000069292008-09-12 Adele Peterson <adele@apple.com>
6930
6931 Reviewed by John Sullivan and Kevin McCullough.
6932
6933 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
6934
6935 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
6936 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
6937 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
6938
kmccullough@apple.combdba2e32008-09-12 22:08:56 +000069392008-09-12 Kevin McCullough <kmccullough@apple.com>
6940
6941 RS by Tim .
6942
6943 Re-introducing the code since it was not the cause of the crash.
6944 See r36343.
6945
6946 * rendering/RenderObject.cpp:
6947 (WebCore::RenderObject::canBeProgramaticallyScrolled):
6948 * rendering/RenderObject.h:
6949
dino@apple.comf712ed02008-09-12 21:54:57 +000069502008-09-12 Chris Marrin <cmarrin@apple.com>
6951
6952 Reviewed by Dave Hyatt.
6953
6954 When changing one animation in a list, don't reset other animations
6955 https://bugs.webkit.org/show_bug.cgi?id=20675
6956
6957 Test: animations/change-one-anim.html
6958
6959 * page/animation/AnimationBase.cpp:
6960 (WebCore::AnimationBase::getNumProperties):
6961 * page/animation/AnimationBase.h:
6962 * page/animation/AnimationController.cpp:
6963 * page/animation/CompositeAnimation.cpp:
6964 (WebCore::CompositeAnimation::updateKeyframeAnimations):
6965 * page/animation/CompositeAnimation.h:
6966 * page/animation/ImplicitAnimation.cpp:
6967 * page/animation/KeyframeAnimation.cpp:
6968 * page/animation/KeyframeAnimation.h:
6969 (WebCore::KeyframeAnimation::setIndex):
6970
beidson@apple.com521e2b52008-09-12 18:40:03 +000069712008-09-12 Brady Eidson <beidson@apple.com>
6972
6973 Reviewed by Mitz Pettel
6974
6975 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
6976
6977 * loader/DocumentLoader.cpp:
6978 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
6979 Subresources can never be created from nil data, but there is always a MainResource, whether
6980 or not there's any data. So in the case where the main resource has no data, fake it for the
6981 sake of creating the ArchiveResource.
6982
hyatt@apple.com818ffe92008-09-12 18:37:23 +000069832008-09-12 Dave Hyatt <hyatt@apple.com>
6984
6985 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
6986 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
6987 Remove all the isWidget and hasPlatformScrollbars guards.
6988
6989 Reviewed by Tim Hatcher
6990
6991 * platform/ScrollBar.h:
6992 * platform/gtk/PlatformScrollBar.h:
6993 * platform/mac/PlatformScrollBar.h:
6994 * platform/qt/PlatformScrollBar.h:
6995 * platform/win/PlatformScrollBar.h:
6996 * platform/win/ScrollViewWin.cpp:
6997 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
6998 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
6999 * platform/wx/PlatformScrollBar.h:
7000 * rendering/RenderLayer.cpp:
7001 (WebCore::RenderLayer::horizontalScrollbarWidget):
7002 (WebCore::RenderLayer::verticalScrollbarWidget):
7003 (WebCore::RenderLayer::createScrollbar):
7004 (WebCore::RenderLayer::destroyScrollbar):
7005 * rendering/RenderListBox.cpp:
7006 (WebCore::RenderListBox::~RenderListBox):
7007 (WebCore::RenderListBox::updateFromElement):
7008 (WebCore::RenderListBox::isPointInOverflowControl):
7009
mitz@apple.com0bef1302008-09-12 18:22:07 +000070102008-09-12 Dan Bernstein <mitz@apple.com>
7011
7012 Reviewed by Sam Weinig.
7013
7014 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
7015
7016 * page/animation/AnimationController.cpp:
7017 * page/animation/AnimationController.h:
7018 * page/animation/CompositeAnimation.cpp:
7019 * page/animation/CompositeAnimation.h:
7020 * page/animation/ImplicitAnimation.cpp:
7021 * page/animation/ImplicitAnimation.h:
7022 * page/animation/KeyframeAnimation.cpp:
7023 * page/animation/KeyframeAnimation.h:
7024
timothy@apple.com43203432008-09-12 04:44:40 +000070252008-09-11 Timothy Hatcher <timothy@apple.com>
7026
7027 Add a renderedImage method to DOMNode to get an image
7028 of the rendering for the node and it's descendants.
7029
7030 <rdar://problem/5849349> Would like API to create
7031 an image for a DOM node
7032
7033 Reviewed by Oliver Hunt.
7034
7035 * bindings/objc/DOM.mm:
7036 (-[DOMNode renderedImage]): Call Frame::nodeImage.
7037 * bindings/objc/DOMPrivate.h:
7038 * page/Frame.h:
7039 * page/mac/FrameMac.mm:
7040 (WebCore::Frame::nodeImage):
7041
dino@apple.com9300a0b2008-09-12 00:36:31 +000070422008-09-08 Chris Marrin <cmarrin@apple.com>
7043
7044 Reviewed by Dave Hyatt
7045
7046 Need to support comma separated list of key times in keyframes selectors
7047 https://bugs.webkit.org/show_bug.cgi?id=20680
7048
7049 Test: animations/keyframes-comma-separated.html
7050
7051 * css/CSSGrammar.y:
7052 * css/CSSParser.cpp:
7053 (WebCore::CSSParser::createKeyframeRule):
7054 * css/CSSParser.h:
7055 * css/CSSStyleSelector.cpp:
7056 (WebCore::CSSStyleSelector::addKeyframeStyle):
7057 * css/WebKitCSSKeyframeRule.cpp:
7058 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
7059 (WebCore::WebKitCSSKeyframeRule::cssText):
7060 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
7061 * css/WebKitCSSKeyframeRule.h:
7062 (WebCore::WebKitCSSKeyframeRule::keyText):
7063 (WebCore::WebKitCSSKeyframeRule::setKeyText):
7064 (WebCore::WebKitCSSKeyframeRule::getKeys):
7065 * css/WebKitCSSKeyframesRule.cpp:
7066 (WebCore::WebKitCSSKeyframesRule::append):
7067 (WebCore::WebKitCSSKeyframesRule::insertRule):
7068 (WebCore::WebKitCSSKeyframesRule::deleteRule):
7069 (WebCore::WebKitCSSKeyframesRule::findRule):
7070 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
7071 * css/WebKitCSSKeyframesRule.h:
7072 * page/animation/AnimationBase.cpp:
7073 (WebCore::AnimationBase::blendProperties):
7074
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +000070752008-09-11 Kevin McCullough <kmccullough@apple.com>
7076
7077 RS by Tim.
7078
7079 Reverting because this caused a crash.
7080
7081 * rendering/RenderObject.cpp:
7082 (WebCore::RenderObject::canBeProgramaticallyScrolled):
7083 (WebCore::RenderObject::hasScrollableView):
7084 * rendering/RenderObject.h:
7085
dino@apple.com19853b32008-09-11 21:59:08 +000070862008-09-11 Dean Jackson <dino@apple.com>
7087
7088 Reviewed by Dan Bernstein.
7089
7090 Fix assertion on transition property "none"
7091 https://bugs.webkit.org/show_bug.cgi?id=20751
7092
7093 Test: transitions/transition-end-event-set-none.html
7094
7095 * page/animation/CompositeAnimation.cpp:
7096 (WebCore::CompositeAnimation::updateTransitions):
7097
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000070982008-09-11 David Smith <catfish.man@gmail.com>
7099
dsmith@webkit.org08103d92008-09-11 21:54:30 +00007100 Rubber-stamped by mitzpettel.
7101
7102 Remove an accidentally added extra file.
7103
7104 * WebCore: Removed.
7105
71062008-09-11 David Smith <catfish.man@gmail.com>
7107
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +00007108 Reviewed by Darin
7109
7110 https://bugs.webkit.org/show_bug.cgi?id=20180
7111
7112 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.
7113
7114 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
7115 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
7116 * dom/Element.cpp: include NodeRenderStyle.h
7117 * dom/Node.cpp: Remove the definition of renderStyle()
7118 (WebCore::Node::nonRendererRenderStyle):
7119 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
7120 * dom/NodeRenderStyle.h: Added.
7121 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
7122 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
7123 * html/HTMLOptGroupElement.h:
7124 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
7125 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
7126 * html/HTMLOptionElement.h:
7127 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
7128 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
7129 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
7130 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
7131
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +000071322008-09-11 Kevin McCullough <kmccullough@apple.com>
7133
7134 Reviewed by Adele and Tim.
7135
7136 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
7137 Inspector does not scroll to the line of the results (20167)
7138 - This was put in by Max to fix auto scrolling but is not correct for
7139 the whole web: rdar://problem/6213098
7140
7141 * rendering/RenderObject.cpp:
7142 (WebCore::RenderObject::canBeProgramaticallyScrolled):
7143 * rendering/RenderObject.h:
7144
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +000071452008-09-11 Chris Fleizach <cfleizach@apple.com>
7146
7147 Reviewed by Beth Dakin
7148
7149 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
7150
7151 Test: accessibility/frame-with-title.html
7152
7153 * page/AccessibilityRenderObject.cpp:
7154 (WebCore::AccessibilityRenderObject::accessibilityDescription):
7155
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000071562008-09-11 Dirk Schulze <vbs85@gmx.de>
7157
7158 Reviewed by Simon.
7159
hausmann@webkit.orgea57c432008-09-11 08:03:07 +00007160 Fixed stroke() and strokeRect() to support gradients
7161 and patterns on Qt.
7162
7163 [Qt] Canvas stroke don't work for gradients and patterns
7164 [https://bugs.webkit.org/show_bug.cgi?id=20749]
7165
7166 * platform/graphics/qt/GraphicsContextQt.cpp:
7167 (WebCore::GraphicsContext::strokePath):
7168 (WebCore::GraphicsContext::strokeRect):
7169
71702008-09-11 Dirk Schulze <vbs85@gmx.de>
7171
7172 Reviewed by Simon.
7173
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +00007174 https://bugs.webkit.org/show_bug.cgi?id=20729
7175
7176 Fixed canvas gradients for Qt
7177
7178 [Qt] Canvas gradients don't work as expected
7179 [https://bugs.webkit.org/show_bug.cgi?id=20729]
7180
7181 * platform/graphics/qt/GradientQt.cpp:
7182 (WebCore::Gradient::platformGradient):
7183
71842008-09-11 Dirk Schulze <vbs85@gmx.de>
7185
7186 Reviewed by Simon.
7187
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +00007188 https://bugs.webkit.org/show_bug.cgi?id=20568
7189
7190 Add support for patterns to Qt.
7191
7192 * platform/graphics/qt/PatternQt.cpp:
7193 (WebCore::Pattern::createPlatformPattern):
7194
mitz@apple.com442c5892008-09-10 18:21:14 +000071952008-09-10 Dan Bernstein <mitz@apple.com>
7196
7197 Reviewed by Sam Weinig.
7198
7199 - clean up AnimationBase
7200
7201 * page/animation/AnimationBase.cpp:
7202 * page/animation/AnimationBase.h:
7203 * page/animation/CompositeAnimation.cpp:
7204 * page/animation/ImplicitAnimation.cpp:
7205 * page/animation/ImplicitAnimation.h:
7206 * page/animation/KeyframeAnimation.cpp:
7207 * page/animation/KeyframeAnimation.h:
7208
ap@webkit.orgbaf12872008-09-10 16:42:10 +000072092008-09-10 Alexey Proskuryakov <ap@webkit.org>
7210
7211 Reviewed by Darin Adler.
7212
7213 https://bugs.webkit.org/show_bug.cgi?id=20741
7214 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
7215
7216 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
7217 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
7218 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
7219
7220 I also found and fixed a potential crasher for non-Mac ports.
7221
7222 Tests: fast/encoding/hebrew/8859-8-e.html
7223 fast/encoding/hebrew/8859-8-i.html
7224 fast/encoding/hebrew/8859-8.html
7225 fast/encoding/hebrew/csISO88598I.html
7226 fast/encoding/hebrew/hebrew.html
7227 fast/encoding/hebrew/iso-ir-138.html
7228 fast/encoding/hebrew/logical.html
7229
7230 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
7231 (case-insensitively, because different versions of ICU report this MIME name in different
7232 case).
7233
7234 * platform/text/TextCodecICU.cpp:
7235 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
7236 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
7237 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
7238 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
7239 we also support these via TEC (which we should stop doing), but on Windows, this would
7240 likely crash.
7241
hyatt@apple.com0197e6b2008-09-10 05:29:46 +000072422008-09-09 Dave Hyatt <hyatt@apple.com
7243
7244 Resurrect PlatformScrollbarWin.
7245
7246 Reviewed by Adam Roben
7247
7248 * WebCore.vcproj/WebCore.vcproj:
7249 * platform/win/PlatformScrollBarWin.cpp:
7250 (WebCore::isRunningOnVistaOrLater):
7251 (WebCore::checkAndInitScrollbarTheme):
7252 (WebCore::PlatformScrollbar::PlatformScrollbar):
7253 (WebCore::PlatformScrollbar::invalidateTrack):
7254 (WebCore::PlatformScrollbar::invalidatePart):
7255 (WebCore::PlatformScrollbar::paint):
7256 (WebCore::PlatformScrollbar::hasButtons):
7257 (WebCore::PlatformScrollbar::hasThumb):
7258 (WebCore::PlatformScrollbar::backButtonRect):
7259 (WebCore::PlatformScrollbar::forwardButtonRect):
7260 (WebCore::PlatformScrollbar::trackRect):
7261 (WebCore::PlatformScrollbar::gripperRect):
7262 (WebCore::PlatformScrollbar::thumbLength):
7263 (WebCore::PlatformScrollbar::paintButton):
7264 (WebCore::PlatformScrollbar::paintTrack):
7265 (WebCore::PlatformScrollbar::paintThumb):
7266 (WebCore::PlatformScrollbar::paintGripper):
7267 (WebCore::PlatformScrollbar::hitTest):
7268 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
7269 (WebCore::PlatformScrollbar::handleMouseOutEvent):
7270 (WebCore::PlatformScrollbar::themeChanged):
7271
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +000072722008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
7273
7274 Reviewed by Maciej Stachowiak.
7275
7276 Bug 20759: Remove MacroAssembler
7277 <https://bugs.webkit.org/show_bug.cgi?id=20759>
7278
7279 Make the necessary changes to ForwardingHeaders to remove
7280 MacroAssembler.
7281
7282 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
7283 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
7284 * ForwardingHeaders/masm/X86Assembler.h: Added.
7285
alp@webkit.org509e3d42008-09-10 01:26:20 +000072862008-09-09 Alp Toker <alp@nuanti.com>
7287
7288 Reviewed by Dave Hyatt.
7289
7290 https://bugs.webkit.org/show_bug.cgi?id=16792
7291 [GTK] Fails to render Japanese/Chinese text with simple path
7292
7293 https://bugs.webkit.org/show_bug.cgi?id=16942
7294 [GTK] Oddities in font selection and fall back
7295
7296 https://bugs.webkit.org/show_bug.cgi?id=16862
7297 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
7298
7299 GTK+ font fixes and enhancements.
7300
7301 Implement font fallback for the simple FontConfig-based text path and
7302 improve the Pango-based complex text path to make use of requested
7303 font properties and available font selection.
7304
7305 Add text shadow support to the complex path.
7306
7307 * platform/graphics/gtk/FontCacheGtk.cpp:
7308 (WebCore::FontCache::getFontDataForCharacters):
7309 (WebCore::FontCache::getSimilarFontPlatformData):
7310 * platform/graphics/gtk/FontGtk.cpp:
7311 (WebCore::setPangoAttributes):
7312 (WebCore::Font::drawComplexText):
7313 (WebCore::getDefaultPangoLayout):
7314 (WebCore::Font::floatWidthForComplexText):
7315 (WebCore::Font::offsetForPositionForComplexText):
7316 (WebCore::Font::selectionRectForComplexText):
7317 * platform/graphics/gtk/FontPlatformData.h:
7318 (WebCore::FontPlatformData::FontPlatformData):
7319 (WebCore::FontPlatformData::hash):
7320 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
7321 (WebCore::FontPlatformData::FontPlatformData):
7322 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
7323 (WebCore::SimpleFontData::platformDestroy):
7324
hyatt@apple.com33f37f62008-09-09 23:51:46 +000073252008-09-09 Dave Hyatt <hyatt@apple.com>
7326
7327 Make the Windows classic case work again. Overlap in slider constants and other constants broke
7328 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
7329 value to make sure it's really a slider thumb to resolve this conflict.
7330
7331 Reviewed by Adam Roben
7332
7333 * rendering/RenderThemeWin.cpp:
7334 (WebCore::drawControl):
7335
dino@apple.com442d0652008-09-09 23:36:56 +000073362008-09-05 Chris Marrin <cmarrin@apple.com>
7337
7338 Reviewed by Sam Weinig.
7339
7340 Need to handle the case when 0% or 100% keyframe is omitted
7341 https://bugs.webkit.org/show_bug.cgi?id=20679
7342
7343 Tests: animations/keyframes-from-missing.html
7344 animations/keyframes-to-missing.html
7345
7346 * css/CSSStyleSelector.cpp:
7347 (WebCore::CSSStyleSelector::addKeyframeStyle):
7348
hyatt@apple.com419d0ad2008-09-09 23:11:14 +000073492008-09-09 Dave Hyatt <hyatt@apple.com>
7350
7351 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
7352 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
7353 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
7354 what changes have been made as compared with the old RenderThemeWin).
7355
7356 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
7357 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
7358 vs. printer advancement rounding).
7359
7360 Reviewed by Adam/Sam
7361
7362 * css/CSSStyleSelector.cpp:
7363 (WebCore::CSSStyleSelector::applyProperty):
7364 * platform/graphics/Icon.h:
7365 (WebCore::Icon::create):
7366 * rendering/RenderThemeWin.cpp:
7367 (WebCore::RenderThemeWin::RenderThemeWin):
7368 (WebCore::RenderThemeWin::~RenderThemeWin):
7369 (WebCore::RenderThemeWin::buttonTheme):
7370 (WebCore::RenderThemeWin::textFieldTheme):
7371 (WebCore::RenderThemeWin::menuListTheme):
7372 (WebCore::RenderThemeWin::sliderTheme):
7373 (WebCore::RenderThemeWin::close):
7374 (WebCore::RenderThemeWin::themeChanged):
7375 (WebCore::RenderThemeWin::supportsHover):
7376 (WebCore::fillFontDescription):
7377 (WebCore::RenderThemeWin::systemFont):
7378 (WebCore::RenderThemeWin::supportsFocus):
7379 (WebCore::RenderThemeWin::determineClassicState):
7380 (WebCore::RenderThemeWin::determineState):
7381 (WebCore::RenderThemeWin::determineSliderThumbState):
7382 (WebCore::RenderThemeWin::getClassicThemeData):
7383 (WebCore::RenderThemeWin::getThemeData):
7384 (WebCore::drawControl):
7385 (WebCore::RenderThemeWin::paintButton):
7386 (WebCore::RenderThemeWin::paintTextField):
7387 (WebCore::RenderThemeWin::paintMenuList):
7388 (WebCore::RenderThemeWin::adjustMenuListStyle):
7389 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
7390 (WebCore::RenderThemeWin::paintMenuListButton):
7391 (WebCore::RenderThemeWin::paintSliderTrack):
7392 (WebCore::RenderThemeWin::paintSliderThumb):
7393 (WebCore::RenderThemeWin::adjustSliderThumbSize):
7394 (WebCore::RenderThemeWin::paintSearchField):
7395 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
7396 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
7397 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
7398 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
7399 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
7400 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
7401 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
7402 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
7403 * rendering/RenderThemeWin.h:
7404 (WebCore::ThemeData::ThemeData):
7405 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
7406 (WebCore::RenderThemeWin::adjustButtonStyle):
7407 (WebCore::RenderThemeWin::adjustTextFieldStyle):
7408 (WebCore::RenderThemeWin::adjustTextAreaStyle):
7409
dino@apple.comd511ce52008-09-09 19:50:25 +000074102008-09-09 Dean Jackson <dino@apple.com>
7411
7412 Reviewed by Sam Weinig.
7413
7414 Document::createEvent missing cases for animation and
7415 transition events.
7416 https://bugs.webkit.org/show_bug.cgi?id=20734
7417
7418 Test: transitions/transition-end-event-create.html
7419 Test: animations/animation-events-create.html
7420
7421 * dom/Document.cpp:
7422 (WebCore::Document::createEvent):
7423 - add the two cases
7424
mitz@apple.com1da7b882008-09-09 18:12:06 +000074252008-09-09 Dan Bernstein <mitz@apple.com>
7426
mitz@apple.com54921562008-09-09 18:48:34 +00007427 - Tiger build fix
7428
7429 * WebCore.Tiger.exp:
7430 * WebCore.base.exp:
7431 * platform/mac/WebCoreSystemInterface.h:
7432 * platform/mac/WebCoreSystemInterface.mm:
7433
74342008-09-09 Dan Bernstein <mitz@apple.com>
7435
mitz@apple.com1da7b882008-09-09 18:12:06 +00007436 Reviewed by Darin Adler.
7437
7438 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
7439
7440 * WebCore.Tiger.exp:
7441 * WebCore.base.exp:
7442 * platform/graphics/SimpleFontData.h:
7443 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
7444 (WebCore::GlyphPage::fill):
7445 * platform/graphics/mac/SimpleFontDataMac.mm:
7446 (WebCore::initFontData):
7447 (WebCore::SimpleFontData::platformInit):
7448 (WebCore::SimpleFontData::platformDestroy):
7449 * platform/mac/WebCoreSystemInterface.h:
7450 * platform/mac/WebCoreSystemInterface.mm:
7451
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +000074522008-09-09 Kevin McCullough <kmccullough@apple.com>
7453
7454 Reviewed by Tim.
7455
7456 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
7457 breakpoints inside eval.
7458
7459 * page/inspector/inspector.js:
7460
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +000074612008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
7462
7463 Reviewed by Simon.
7464
7465 Fix compilation of the Qt port with disabled plugins on Windows
7466
7467 * WebCore.pro:
7468 * plugins/PluginView.cpp:
7469 (WebCore::PluginView::PluginView):
7470 * plugins/PluginView.h:
7471
ap@webkit.org2ba74d32008-09-09 08:11:01 +000074722008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
7473
7474 Reviewed by Alexey Proskuryakov.
7475
7476 Try MIME charset names before trying IANA names
7477 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
7478
7479 With this change, shorter and more widely used names (preferred MIME
7480 names) are returned by document.charset, document.characterSet,
7481 document.inputEncoding rather than IANA names. This helps
7482 fixing bug 18085 in addition to web developers who are more familiar
7483 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
7484 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
7485 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
7486 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
7487 used, the former is still recognized as aliases to the latter so that
7488 there's very little, if any, to worry about.
7489
7490 * platform/text/TextCodecICU.cpp:
7491 (WebCore::TextCodecICU::registerExtendedEncodingNames):
7492
weinig@apple.com22294302008-09-09 06:55:39 +000074932008-09-08 Sam Weinig <sam@webkit.org>
7494
7495 Reviewed by Maciej Stachowiak and Oliver Hunt.
7496
7497 Add forwarding headers.
7498
7499 * ForwardingHeaders/wtf/HashFunctions.h: Added.
7500
dino@apple.comd9962af2008-09-09 01:02:00 +000075012008-09-05 Dean Jackson <dino@apple.com>
7502
7503 Reviewed by Dan Bernstein.
7504
7505 Update grammar so that we can add a keyframe rule via the DOM.
7506 https://bugs.webkit.org/show_bug.cgi?id=20613
7507
7508 * css/CSSGrammar.y:
7509 * css/tokenizer.flex:
7510
antti@apple.com4b17a932008-09-09 00:40:45 +000075112008-09-08 Antti Koivisto <antti@apple.com>
7512
7513 Reviewed by Dan Bernstein.
7514
7515 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
7516 actually show up in any of the default stylesheets.
7517
7518 * css/CSSStyleSelector.cpp:
7519 (WebCore::elementCanUseSimpleDefaultStyle):
7520
mitz@apple.com66fa91a2008-09-09 00:35:22 +000075212008-09-08 Dimitri Glazkov <dglazkov@google.com>
7522
7523 Reviewed by Dan Bernstein.
7524
7525 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
7526 Zero width and space characters are displayed incorrectly if not contained in a fallback font
7527
7528 Adds an extra check for Object Replacement Character (U+FFFC) to address
7529 the issue with fast/text/zero-width-characters.html test when run
7530 with Windows system default fonts.
7531
7532 * platform/graphics/Font.h:
7533 (WebCore::Font::treatAsZeroWidthSpace):
7534
dino@apple.comf0a4b212008-09-08 22:51:49 +000075352008-09-08 Dean Jackson <dino@apple.com>
7536
7537 Reviewed by Sam Weinig.
7538
7539 Code style issue I forgot to fix from previous commit.
7540
7541 * platform/graphics/AffineTransform.cpp:
7542 (WebCore::AffineTransform::blend):
7543
dino@apple.com26625122008-09-08 22:46:41 +000075442008-09-08 Chris Marrin <cmarrin@apple.com>
7545
7546 Reviewed by Sam Weinig
7547
7548 - Animation of -webkit-transform matrix() function should not do linear interpolation
7549 https://bugs.webkit.org/show_bug.cgi?id=20667
7550
7551 Test: animations/matrix-anim.html
7552
7553 * ChangeLog:
7554 * platform/graphics/AffineTransform.cpp:
7555 (WebCore::affineTransformDecompose):
7556 (WebCore::affineTransformCompose):
7557 (WebCore::AffineTransform::blend):
7558 * platform/graphics/AffineTransform.h:
7559 * rendering/style/RenderStyle.cpp:
7560 (WebCore::MatrixTransformOperation::blend):
7561
ap@webkit.org243a9752008-09-08 16:21:16 +000075622008-09-08 Alexey Proskuryakov <ap@webkit.org>
7563
7564 Reviewed by Darin Adler.
7565
7566 https://bugs.webkit.org/show_bug.cgi?id=20668
7567 multipart/form-data does not always include Content-type for submitted files
7568
7569 Cannot be tested with DRT or manual tests.
7570
7571 * platform/MIMETypeRegistry.cpp:
7572 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
7573 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
7574 unknown extensions, not just missing ones.
7575
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +000075762008-09-08 Simon Hausmann <hausmann@webkit.org>
7577
7578 Build fix for the Qt/Windows build, define USE_JSC to
7579 enable the WebCore::String -> JSC::UString operator that
7580 MSVC insists on seeing
7581
7582 * WebCore.pro:
7583
andersca@apple.com3ac4f552008-09-08 11:39:34 +000075842008-09-08 Anders Carlsson <andersca@apple.com>
7585
7586 Reviewed by Maciej.
7587
7588 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
7589
7590 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
7591 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
7592
7593 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
7594
7595 * bindings/js/JSDOMWindowBase.h:
7596 * loader/FrameLoader.cpp:
7597 (WebCore::FrameLoader::commitProvisionalLoad):
7598
antti@apple.com57b3a102008-09-08 07:01:36 +000075992008-09-07 Antti Koivisto <antti@apple.com>
7600
7601 Reviewed by Dave Hyatt.
7602
7603 Don't leak the simple stylesheet.
7604 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
7605
7606 * css/CSSStyleSelector.cpp:
7607 (WebCore::loadFullDefaultStyle):
7608 (WebCore::loadSimpleDefaultStyle):
7609 (WebCore::CSSStyleSelector::styleForElement):
7610
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000076112008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
7612
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +00007613 Reviewed by Oliver Hunt.
7614
7615 Bug 20711: Change KJS prefix on preprocessor macros to JSC
7616 <https://bugs.webkit.org/show_bug.cgi?id=20711>
7617
7618 * bindings/js/JSEventTargetBase.h:
7619 * bindings/js/JSHTMLInputElementBase.cpp:
7620 * bindings/js/JSHTMLInputElementBase.h:
7621 * bindings/scripts/CodeGeneratorJS.pm:
7622
76232008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
7624
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +00007625 Reviewed by Maciej Stachowiak.
7626
7627 Bug 20704: Replace the KJS namespace
7628 <https://bugs.webkit.org/show_bug.cgi?id=20704>
7629
7630 Rename the KJS namespace to JSC. There are still some uses of KJS in the
7631 names of JNI functions, and I will check if these are safe to change
7632 as well.
7633
7634 * WebCore.base.exp:
7635 * bindings/js/GCController.cpp:
7636 * bindings/js/JSAttrCustom.cpp:
7637 * bindings/js/JSAudioConstructor.cpp:
7638 * bindings/js/JSAudioConstructor.h:
7639 (WebCore::JSAudioConstructor::classInfo):
7640 * bindings/js/JSCSSRuleCustom.cpp:
7641 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7642 * bindings/js/JSCSSValueCustom.cpp:
7643 * bindings/js/JSCanvasPixelArrayCustom.cpp:
7644 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
7645 * bindings/js/JSClipboardCustom.cpp:
7646 * bindings/js/JSConsoleCustom.cpp:
7647 * bindings/js/JSCustomSQLStatementCallback.cpp:
7648 (WebCore::JSCustomSQLStatementCallback::handleEvent):
7649 * bindings/js/JSCustomSQLStatementCallback.h:
7650 (WebCore::JSCustomSQLStatementCallback::create):
7651 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7652 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
7653 * bindings/js/JSCustomSQLStatementErrorCallback.h:
7654 (WebCore::JSCustomSQLStatementErrorCallback::create):
7655 * bindings/js/JSCustomSQLTransactionCallback.cpp:
7656 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
7657 * bindings/js/JSCustomSQLTransactionCallback.h:
7658 (WebCore::JSCustomSQLTransactionCallback::create):
7659 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7660 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
7661 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
7662 (WebCore::JSCustomSQLTransactionErrorCallback::create):
7663 * bindings/js/JSCustomVoidCallback.cpp:
7664 (WebCore::JSCustomVoidCallback::handleEvent):
7665 * bindings/js/JSCustomVoidCallback.h:
7666 (WebCore::JSCustomVoidCallback::create):
7667 * bindings/js/JSCustomXPathNSResolver.cpp:
7668 (WebCore::JSCustomXPathNSResolver::create):
7669 * bindings/js/JSCustomXPathNSResolver.h:
7670 * bindings/js/JSDOMApplicationCacheCustom.cpp:
7671 (WebCore::JSDOMApplicationCache::dispatchEvent):
7672 * bindings/js/JSDOMBinding.cpp:
7673 (WebCore::jsOwnedStringOrNull):
7674 * bindings/js/JSDOMBinding.h:
7675 (WebCore::DOMObject::DOMObject):
7676 (WebCore::cacheDOMObject):
7677 (WebCore::cacheSVGDOMObject):
7678 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
7679 (WebCore::toJS):
7680 * bindings/js/JSDOMWindowBase.cpp:
7681 * bindings/js/JSDOMWindowBase.h:
7682 (WebCore::JSDOMWindowBase::classInfo):
7683 (WebCore::JSDOMWindowBase::d):
7684 * bindings/js/JSDOMWindowCustom.cpp:
7685 (WebCore::JSDOMWindow::getPropertyAttributes):
7686 * bindings/js/JSDOMWindowCustom.h:
7687 (WebCore::asJSDOMWindow):
7688 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
7689 (WebCore::JSDOMWindow::customPut):
7690 (WebCore::JSDOMWindowBase::allowsAccessFrom):
7691 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
7692 * bindings/js/JSDOMWindowShell.cpp:
7693 (WebCore::JSDOMWindowShell::getPropertyAttributes):
7694 * bindings/js/JSDOMWindowShell.h:
7695 (WebCore::JSDOMWindowShell::classInfo):
7696 * bindings/js/JSDatabaseCustom.cpp:
7697 * bindings/js/JSDocumentCustom.cpp:
7698 * bindings/js/JSDocumentFragmentCustom.cpp:
7699 * bindings/js/JSElementCustom.cpp:
7700 * bindings/js/JSEventCustom.cpp:
7701 * bindings/js/JSEventListener.cpp:
7702 * bindings/js/JSEventListener.h:
7703 (WebCore::JSUnprotectedEventListener::create):
7704 (WebCore::JSEventListener::create):
7705 * bindings/js/JSEventTargetBase.cpp:
7706 * bindings/js/JSEventTargetBase.h:
7707 (WebCore::JSEventTargetBase::getValueProperty):
7708 (WebCore::JSEventTargetBase::putValueProperty):
7709 (WebCore::JSEventTargetBase::getOwnPropertySlot):
7710 (WebCore::JSEventTargetBase::put):
7711 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
7712 (WebCore::JSEventTargetPrototype::self):
7713 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
7714 (WebCore::JSEventTargetPrototype::classInfo):
7715 * bindings/js/JSEventTargetNode.cpp:
7716 * bindings/js/JSEventTargetNode.h:
7717 (WebCore::JSEventTargetNode::getOwnPropertySlot):
7718 (WebCore::JSEventTargetNode::getValueProperty):
7719 (WebCore::JSEventTargetNode::put):
7720 (WebCore::JSEventTargetNode::putValueProperty):
7721 * bindings/js/JSHTMLAllCollection.h:
7722 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
7723 (WebCore::JSHTMLAllCollection::toBoolean):
7724 * bindings/js/JSHTMLAppletElementCustom.cpp:
7725 * bindings/js/JSHTMLCollectionCustom.cpp:
7726 * bindings/js/JSHTMLDocumentCustom.cpp:
7727 * bindings/js/JSHTMLElementCustom.cpp:
7728 * bindings/js/JSHTMLEmbedElementCustom.cpp:
7729 * bindings/js/JSHTMLFormElementCustom.cpp:
7730 * bindings/js/JSHTMLFrameElementCustom.cpp:
7731 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
7732 * bindings/js/JSHTMLIFrameElementCustom.cpp:
7733 * bindings/js/JSHTMLInputElementBase.cpp:
7734 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
7735 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
7736 * bindings/js/JSHTMLInputElementBase.h:
7737 (WebCore::JSHTMLInputElementBase::classInfo):
7738 * bindings/js/JSHTMLObjectElementCustom.cpp:
7739 * bindings/js/JSHTMLOptionElementConstructor.cpp:
7740 * bindings/js/JSHTMLOptionElementConstructor.h:
7741 (WebCore::JSHTMLOptionElementConstructor::classInfo):
7742 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
7743 * bindings/js/JSHTMLSelectElementCustom.cpp:
7744 (WebCore::selectIndexSetter):
7745 (WebCore::JSHTMLSelectElement::indexSetter):
7746 * bindings/js/JSHTMLSelectElementCustom.h:
7747 * bindings/js/JSHistoryCustom.cpp:
7748 * bindings/js/JSImageConstructor.cpp:
7749 * bindings/js/JSImageConstructor.h:
7750 (WebCore::JSImageConstructor::classInfo):
7751 * bindings/js/JSInspectedObjectWrapper.cpp:
7752 * bindings/js/JSInspectedObjectWrapper.h:
7753 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
7754 (WebCore::JSInspectedObjectWrapper::classInfo):
7755 * bindings/js/JSInspectorCallbackWrapper.cpp:
7756 * bindings/js/JSInspectorCallbackWrapper.h:
7757 (WebCore::JSInspectorCallbackWrapper::classInfo):
7758 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
7759 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
7760 * bindings/js/JSLocationCustom.cpp:
7761 * bindings/js/JSMimeTypeArrayCustom.cpp:
7762 * bindings/js/JSNSResolver.cpp:
7763 * bindings/js/JSNSResolver.h:
7764 (WebCore::JSNSResolver::create):
7765 * bindings/js/JSNamedNodeMapCustom.cpp:
7766 * bindings/js/JSNamedNodesCollection.cpp:
7767 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
7768 * bindings/js/JSNamedNodesCollection.h:
7769 (WebCore::JSNamedNodesCollection::classInfo):
7770 * bindings/js/JSNavigatorCustom.cpp:
7771 * bindings/js/JSNodeCustom.cpp:
7772 * bindings/js/JSNodeFilterCondition.cpp:
7773 (WebCore::JSNodeFilterCondition::acceptNode):
7774 * bindings/js/JSNodeFilterCondition.h:
7775 (WebCore::JSNodeFilterCondition::create):
7776 * bindings/js/JSNodeFilterCustom.cpp:
7777 * bindings/js/JSNodeIteratorCustom.cpp:
7778 * bindings/js/JSNodeListCustom.cpp:
7779 * bindings/js/JSPluginArrayCustom.cpp:
7780 * bindings/js/JSPluginCustom.cpp:
7781 * bindings/js/JSPluginElementFunctions.cpp:
7782 (WebCore::getRuntimeObject):
7783 * bindings/js/JSPluginElementFunctions.h:
7784 * bindings/js/JSQuarantinedObjectWrapper.cpp:
7785 (WebCore::JSQuarantinedObjectWrapper::construct):
7786 (WebCore::JSQuarantinedObjectWrapper::call):
7787 * bindings/js/JSQuarantinedObjectWrapper.h:
7788 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
7789 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
7790 (WebCore::JSQuarantinedObjectWrapper::className):
7791 * bindings/js/JSRGBColor.cpp:
7792 * bindings/js/JSRGBColor.h:
7793 (WebCore::JSRGBColor::classInfo):
7794 * bindings/js/JSSQLResultSetRowListCustom.cpp:
7795 * bindings/js/JSSQLTransactionCustom.cpp:
7796 * bindings/js/JSSVGLazyEventListener.cpp:
7797 * bindings/js/JSSVGLazyEventListener.h:
7798 * bindings/js/JSSVGLengthCustom.cpp:
7799 * bindings/js/JSSVGMatrixCustom.cpp:
7800 (WebCore::JSSVGMatrix::inverse):
7801 (WebCore::JSSVGMatrix::rotateFromVector):
7802 * bindings/js/JSSVGPathSegCustom.cpp:
7803 * bindings/js/JSSVGPathSegListCustom.cpp:
7804 (WebCore::JSSVGPathSegList::initialize):
7805 (WebCore::JSSVGPathSegList::getItem):
7806 (WebCore::JSSVGPathSegList::insertItemBefore):
7807 (WebCore::JSSVGPathSegList::replaceItem):
7808 (WebCore::JSSVGPathSegList::removeItem):
7809 (WebCore::JSSVGPathSegList::appendItem):
7810 * bindings/js/JSSVGPointListCustom.cpp:
7811 * bindings/js/JSSVGTransformListCustom.cpp:
7812 * bindings/js/JSStorageCustom.cpp:
7813 * bindings/js/JSStyleSheetCustom.cpp:
7814 * bindings/js/JSStyleSheetListCustom.cpp:
7815 * bindings/js/JSTextCustom.cpp:
7816 * bindings/js/JSTreeWalkerCustom.cpp:
7817 * bindings/js/JSXMLHttpRequestConstructor.cpp:
7818 * bindings/js/JSXMLHttpRequestConstructor.h:
7819 (WebCore::JSXMLHttpRequestConstructor::classInfo):
7820 * bindings/js/JSXMLHttpRequestCustom.cpp:
7821 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7822 * bindings/js/JSXSLTProcessorConstructor.cpp:
7823 * bindings/js/JSXSLTProcessorConstructor.h:
7824 (WebCore::JSXSLTProcessorConstructor::classInfo):
7825 * bindings/js/JSXSLTProcessorCustom.cpp:
7826 * bindings/js/ScheduledAction.cpp:
7827 * bindings/js/ScheduledAction.h:
7828 * bindings/js/ScriptController.cpp:
7829 (WebCore::ScriptController::attachDebugger):
7830 (WebCore::ScriptController::windowScriptNPObject):
7831 * bindings/js/ScriptController.h:
7832 * bindings/js/ScriptControllerGtk.cpp:
7833 (WebCore::ScriptController::createScriptInstanceForWidget):
7834 * bindings/js/ScriptControllerMac.mm:
7835 (WebCore::ScriptController::createScriptInstanceForWidget):
7836 (WebCore::ScriptController::windowScriptObject):
7837 (WebCore::ScriptController::clearPlatformScriptObjects):
7838 (WebCore::updateRenderingForBindings):
7839 (WebCore::ScriptController::initJavaJSBindings):
7840 * bindings/js/ScriptControllerQt.cpp:
7841 (WebCore::ScriptController::createScriptInstanceForWidget):
7842 * bindings/js/ScriptControllerWin.cpp:
7843 (WebCore::ScriptController::createScriptInstanceForWidget):
7844 * bindings/js/ScriptControllerWx.cpp:
7845 (WebCore::ScriptController::createScriptInstanceForWidget):
7846 * bindings/js/StringSourceProvider.h:
7847 (WebCore::StringSourceProvider::getRange):
7848 * bindings/objc/DOM.mm:
7849 (-[DOMNode JSC::Bindings::]):
7850 * bindings/objc/DOMInternal.h:
7851 * bindings/objc/DOMInternal.mm:
7852 (-[WebScriptObject _initializeScriptDOMNodeImp]):
7853 * bindings/objc/DOMUtility.mm:
7854 (JSC::createDOMWrapper):
7855 (WebCore::createDOMWrapper):
7856 * bindings/objc/WebScriptObject.mm:
7857 (WebCore::createJSWrapper):
7858 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
7859 * bindings/objc/WebScriptObjectPrivate.h:
7860 * bindings/scripts/CodeGeneratorJS.pm:
7861 * bridge/NP_jsobject.cpp:
7862 * bridge/NP_jsobject.h:
7863 * bridge/c/c_class.cpp:
7864 * bridge/c/c_class.h:
7865 * bridge/c/c_instance.cpp:
7866 * bridge/c/c_instance.h:
7867 * bridge/c/c_runtime.cpp:
7868 * bridge/c/c_runtime.h:
7869 * bridge/c/c_utility.cpp:
7870 * bridge/c/c_utility.h:
7871 * bridge/jni/jni_class.cpp:
7872 * bridge/jni/jni_class.h:
7873 * bridge/jni/jni_instance.cpp:
7874 * bridge/jni/jni_instance.h:
7875 * bridge/jni/jni_jsobject.h:
7876 * bridge/jni/jni_jsobject.mm:
7877 (JavaJSObject::call):
7878 (JavaJSObject::convertJObjectToValue):
7879 * bridge/jni/jni_objc.mm:
7880 (JSC::Bindings::dispatchJNICall):
7881 * bridge/jni/jni_runtime.cpp:
7882 * bridge/jni/jni_runtime.h:
7883 * bridge/jni/jni_utility.cpp:
7884 * bridge/jni/jni_utility.h:
7885 * bridge/npruntime.cpp:
7886 (_NPN_GetStringIdentifier):
7887 * bridge/objc/WebScriptObject.h:
7888 * bridge/objc/objc_class.h:
7889 * bridge/objc/objc_class.mm:
7890 * bridge/objc/objc_instance.h:
7891 * bridge/objc/objc_instance.mm:
7892 * bridge/objc/objc_runtime.h:
7893 * bridge/objc/objc_runtime.mm:
7894 * bridge/objc/objc_utility.h:
7895 * bridge/objc/objc_utility.mm:
7896 * bridge/qt/qt_class.cpp:
7897 * bridge/qt/qt_class.h:
7898 * bridge/qt/qt_instance.cpp:
7899 * bridge/qt/qt_instance.h:
7900 * bridge/qt/qt_runtime.cpp:
7901 (JSC::Bindings::convertQVariantToValue):
7902 (JSC::Bindings::):
7903 * bridge/qt/qt_runtime.h:
7904 * bridge/runtime.cpp:
7905 * bridge/runtime.h:
7906 * bridge/runtime_array.cpp:
7907 * bridge/runtime_array.h:
7908 * bridge/runtime_method.cpp:
7909 * bridge/runtime_method.h:
7910 * bridge/runtime_object.cpp:
7911 * bridge/runtime_object.h:
7912 * bridge/runtime_root.cpp:
7913 (JSC::Bindings::RootObject::invalidate):
7914 (JSC::Bindings::RootObject::gcProtect):
7915 (JSC::Bindings::RootObject::gcUnprotect):
7916 * bridge/runtime_root.h:
7917 * bridge/testbindings.cpp:
7918 * bridge/testbindings.mm:
7919 * bridge/testqtbindings.cpp:
7920 * dom/Document.cpp:
7921 (WebCore::Document::~Document):
7922 * dom/NSResolver.h:
7923 * dom/Node.cpp:
7924 (WebCore::Node::setDocument):
7925 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
7926 (WebCore::resolveNamespacesForSelector):
7927 (WebCore::Node::querySelector):
7928 (WebCore::Node::querySelectorAll):
7929 * dom/Node.h:
7930 * dom/NodeFilter.cpp:
7931 * dom/NodeFilter.h:
7932 * dom/NodeFilterCondition.cpp:
7933 * dom/NodeFilterCondition.h:
7934 * dom/NodeIterator.cpp:
7935 * dom/NodeIterator.h:
7936 * dom/Traversal.cpp:
7937 * dom/Traversal.h:
7938 * dom/TreeWalker.cpp:
7939 * dom/TreeWalker.h:
7940 * dom/make_names.pl:
7941 * history/CachedPage.cpp:
7942 * history/CachedPage.h:
7943 * html/HTMLPlugInElement.cpp:
7944 (WebCore::HTMLPlugInElement::getInstance):
7945 * html/HTMLPlugInElement.h:
7946 * loader/FrameLoader.cpp:
7947 * loader/FrameLoader.h:
7948 * loader/icon/IconDatabase.cpp:
7949 (WebCore::iconDatabase):
7950 * page/Console.cpp:
7951 * page/Console.h:
7952 * page/InspectorController.cpp:
7953 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
7954 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
7955 (WebCore::InspectorResource::setXMLHttpRequestProperties):
7956 (WebCore::InspectorResource::sourceString):
7957 (WebCore::getResourceDocumentNode):
7958 (WebCore::search):
7959 (WebCore::InspectorController::focusNode):
7960 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
7961 (WebCore::InspectorController::addDatabaseScriptResource):
7962 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
7963 * page/InspectorController.h:
7964 (WebCore::InspectorController::profiles):
7965 * page/JavaScriptCallFrame.cpp:
7966 (WebCore::JavaScriptCallFrame::scopeChain):
7967 * page/JavaScriptCallFrame.h:
7968 (WebCore::JavaScriptCallFrame::create):
7969 (WebCore::JavaScriptCallFrame::update):
7970 * page/JavaScriptDebugListener.h:
7971 * page/JavaScriptDebugServer.cpp:
7972 (WebCore::dispatchDidParseSource):
7973 * page/JavaScriptDebugServer.h:
7974 * page/JavaScriptProfile.cpp:
7975 * page/JavaScriptProfile.h:
7976 * page/JavaScriptProfileNode.cpp:
7977 (WebCore::getTotalTime):
7978 (WebCore::getSelfTime):
7979 (WebCore::getTotalPercent):
7980 (WebCore::getSelfPercent):
7981 (WebCore::getNumberOfCalls):
7982 (WebCore::getChildren):
7983 (WebCore::getVisible):
7984 * page/JavaScriptProfileNode.h:
7985 * page/Page.cpp:
7986 (WebCore::Page::setDebuggerForAllPages):
7987 (WebCore::Page::setDebugger):
7988 * page/Page.h:
7989 (WebCore::Page::debugger):
7990 * page/mac/FrameMac.mm:
7991 * platform/KURL.h:
7992 (WebCore::KURL::operator JSC::UString):
7993 * platform/text/AtomicString.cpp:
7994 (WebCore::AtomicString::add):
7995 (WebCore::AtomicString::find):
7996 * platform/text/AtomicString.h:
7997 (WebCore::AtomicString::AtomicString):
7998 * platform/text/PlatformString.h:
7999 * platform/text/String.cpp:
8000 (WebCore::charactersToDouble):
8001 * platform/win/BString.cpp:
8002 * platform/win/BString.h:
8003 * plugins/MimeTypeArray.h:
8004 * plugins/Plugin.h:
8005 * plugins/PluginArray.h:
8006 * plugins/PluginView.cpp:
8007 (WebCore::PluginView::start):
8008 (WebCore::PluginView::performRequest):
8009 (WebCore::PluginView::bindingInstance):
8010 * plugins/PluginView.h:
8011 * plugins/gtk/PluginViewGtk.cpp:
8012 (WebCore::PluginView::paint):
8013 (WebCore::PluginView::handleKeyboardEvent):
8014 (WebCore::PluginView::handleMouseEvent):
8015 (WebCore::PluginView::setNPWindowRect):
8016 (WebCore::PluginView::stop):
8017 (WebCore::PluginView::init):
8018 * plugins/qt/PluginViewQt.cpp:
8019 (WebCore::PluginView::setNPWindowRect):
8020 (WebCore::PluginView::stop):
8021 (WebCore::PluginView::init):
8022 * plugins/win/PluginViewWin.cpp:
8023 (WebCore::PluginView::dispatchNPEvent):
8024 (WebCore::PluginView::handleKeyboardEvent):
8025 (WebCore::PluginView::handleMouseEvent):
8026 (WebCore::PluginView::setNPWindowRect):
8027 (WebCore::PluginView::stop):
8028 * storage/Database.cpp:
8029 (WebCore::Database::Database):
8030 * xml/XMLHttpRequest.cpp:
8031 (WebCore::XMLHttpRequest::responseText):
8032 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
8033 (WebCore::XMLHttpRequest::clearResponse):
8034 (WebCore::XMLHttpRequest::dropProtection):
8035 (WebCore::XMLHttpRequest::didFinishLoading):
8036 (WebCore::XMLHttpRequest::didReceiveData):
8037 * xml/XMLHttpRequest.h:
8038
abarth@webkit.orge17b6052008-09-08 00:03:30 +000080392008-09-07 Adam Barth <abarth@webkit.org>
8040
8041 Reviewed by Sam Weinig.
8042
8043 Adopt opener restriction on frame navigation.
8044 https://bugs.webkit.org/show_bug.cgi?id=20642
8045
8046 This restriction helps prevent an attacker from navigating top-level
8047 windows that were created by another web site.
8048
8049 Tests: http/tests/security/frameNavigation/not-opener.html
8050 http/tests/security/frameNavigation/opener.html
8051
8052 * loader/FrameLoader.cpp:
8053 (WebCore::canAccessAncestor):
8054 (WebCore::FrameLoader::shouldAllowNavigation):
8055
mitz@apple.com83469af2008-09-07 22:29:56 +000080562008-09-07 Dan Bernstein <mitz@apple.com>
8057
mitz@apple.com08ff58c2008-09-07 23:19:11 +00008058 Reviewed by Maciej Stachowiak.
8059
8060 - use the correct sign for vertical offsets of combining marks
8061
8062 * platform/graphics/win/UniscribeController.cpp:
8063 (WebCore::UniscribeController::shapeAndPlaceItem):
8064
80652008-09-07 Dan Bernstein <mitz@apple.com>
8066
mitz@apple.com83469af2008-09-07 22:29:56 +00008067 Reviewed by Dave Hyatt.
8068
mitz@apple.com78685b22008-09-07 22:30:29 +00008069 - add the combining mark offsets in two places where I forgot them
8070
8071 * platform/graphics/win/FontCGWin.cpp:
8072 (WebCore::Font::drawGlyphs):
8073
80742008-09-07 Dan Bernstein <mitz@apple.com>
8075
8076 Reviewed by Dave Hyatt.
8077
mitz@apple.com83469af2008-09-07 22:29:56 +00008078 - correct glyph advances in complex text using web fonts rendered with
8079 Core Graphics
8080
8081 * platform/graphics/win/FontCustomPlatformData.cpp:
8082 (WebCore::FontCustomPlatformData::fontPlatformData):
8083
timothy@apple.com968ebc92008-09-07 16:48:41 +000080842008-09-07 Keishi Hattori <casey.hattori@gmail.com>
8085
8086 Adds console.dirxml support to the Web Inspector.
8087
8088 https://bugs.webkit.org/show_bug.cgi?id=19156
8089
8090 Reviewed by Timothy Hatcher.
8091
8092 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
8093 * bindings/js/JSConsoleCustom.cpp:
8094 (WebCore::JSConsole::dirxml):
8095 * page/Console.cpp:
8096 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
8097 * page/Console.h:
8098 (WebCore::): Added NodeMessageLevel.
8099 * page/Console.idl: Added console.dirxml.
8100 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
8101 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
8102 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
8103 * page/inspector/ElementsTreeOutline.js: Added.
8104 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
8105 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
8106 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
8107 * page/inspector/inspector.css:
8108 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
8109 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
8110 (WebInspector.altKeyDown):
8111 (WebInspector.forceHoverHighlight):
8112 (WebInspector.hoveredDOMNode):
8113 (WebInspector._updateHoverHighlightSoon):
8114 (WebInspector._updateHoverHighlight):
8115 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
8116 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
8117 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
8118 isAncestorIncludingParentFrames.
8119
mrowe@apple.com61ba5f52008-09-07 06:08:56 +000081202008-09-06 Mark Rowe <mrowe@apple.com>
8121
8122 Qt build fix.
8123
8124 * bridge/qt/qt_runtime.cpp:
8125 (KJS::Bindings::convertQVariantToValue):
8126
mrowe@apple.comf88a4632008-09-07 05:44:58 +00008127=== End merge of squirrelfish-extreme ===
8128
81292008-09-05 Oliver Hunt <oliver@apple.com>
8130
8131 Start bringing up SFX on windows.
8132
8133 Reviewed by Mark Rowe and Sam Weinig
8134
8135 Start doing the work to bring up SFX on windows. Initially
8136 just working on WREC, as it does not make any calls so reduces
8137 the amount of code that needs to be corrected.
8138
8139 Add forwarding headers
8140
8141 * ChangeLog:
8142 * ForwardingHeaders/masm/MacroAssembler.h: Added.
8143 * WebCore.vcproj/WebCore.vcproj:
8144
81452008-08-27 Mark Rowe <mrowe@apple.com>
8146
8147 Reviewed by Oliver Hunt.
8148
8149 Fix the build of the full WebKit stack.
8150
8151 Add forwarding headers.
8152
8153 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
8154 * ForwardingHeaders/wrec/WREC.h: Added.
8155
8156=== Start merge of squirrelfish-extreme ===
8157
antti@apple.com13c24932008-09-07 03:54:21 +000081582008-09-06 Antti Koivisto <antti@apple.com>
8159
8160 Reviewed by Dave Hyatt.
8161
8162 <rdar://problem/6187043>
8163 Don't parse full HTML user agent style sheet unless it is actually needed
8164 <rdar://problem/6131889>
8165 WebView is significantly more expensive to create recently
8166
8167 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
8168 startup. Some clients may never use most of the rules.
8169
8170 With this patch we use simplified UA stylesheet until we hit something it can't handle.
8171 This avoids full stylesheet parsing on application startup (due to empty document construction)
8172 and also makes it possible for clients with very simple demands (divs and spans only) never to load
8173 the full style.
8174
8175 It also delays view source style parsing until it is used.
8176
8177 * css/CSSStyleSelector.cpp:
8178 (WebCore::elementCanUseSimpleDefaultStyle):
8179 (WebCore::CSSStyleSelector::CSSStyleSelector):
8180 (WebCore::loadFullDefaultStyle):
8181 (WebCore::loadSimpleDefaultStyle):
8182 (WebCore::loadViewSourceStyle):
8183 (WebCore::CSSStyleSelector::matchUARules):
8184 (WebCore::CSSStyleSelector::styleForElement):
8185
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +000081862008-09-06 Kevin Ollivier <kevino@theolliviers.com>
8187
8188 wx build fix.
8189
8190 * WebCoreSources.bkl:
8191
antti@apple.come953f862008-09-06 23:27:09 +000081922008-09-06 Antti Koivisto <antti@apple.com>
8193
antti@apple.com00dfa532008-09-06 23:32:26 +00008194 Reverting r35953 which was causing problems on Windows which relies on
8195 WebCore timers in nested event loops. r36132 did alternative fix.
8196
8197 * page/Chrome.cpp:
8198 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
8199 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
8200
82012008-09-06 Antti Koivisto <antti@apple.com>
8202
antti@apple.come953f862008-09-06 23:27:09 +00008203 Reviewed by Dan Bernstein.
8204
8205 Fix <rdar://problem/6201644>
8206 https://bugs.webkit.org/show_bug.cgi?id=20493
8207 Crash after OK in dialog box and reloading page in secure mode
8208
8209 Limited loader only fix since the general timer fix is causing problems on Windows.
8210
8211 * loader/loader.cpp:
8212 (WebCore::Loader::servePendingRequests):
8213 (WebCore::Loader::Host::Host):
8214 (WebCore::Loader::Host::didFinishLoading):
8215 (WebCore::Loader::Host::didFail):
8216 (WebCore::Loader::Host::didReceiveData):
8217 * loader/loader.h:
8218 (WebCore::Loader::Host::processingResource):
8219
mitz@apple.com046bf642008-09-06 08:31:02 +000082202008-09-06 Dan Bernstein <mitz@apple.com>
8221
8222 Reviewed by Dave Hyatt.
8223
mitz@apple.comc0b050b2008-09-06 22:39:34 +00008224 The initial Core Text adoption prototype was made by Daniel Fenwick.
8225
8226 - <rdar://problem/5158514> Add a Core Text-based complex text code path
8227
8228 Currently the Core Text code path is not used in any configuration.
8229
8230 * WebCore.xcodeproj/project.pbxproj: Added files.
8231 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
8232 * platform/graphics/Font.cpp:
8233 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
8234 of the loop.
8235 * platform/graphics/GlyphBuffer.h:
8236 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
8237 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
8238 Added getCTFont() and getCFStringAttributes() and corresponding data
8239 members for Core Text.
8240 * platform/graphics/mac/CoreTextController.cpp: Added.
8241 (WebCore::roundCGFloat): Helper function.
8242 (WebCore::ceilCGFloat): Helper function.
8243 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
8244 (WebCore::CoreTextController::CoreTextController):
8245 (WebCore::CoreTextController::offsetForPosition):
8246 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
8247 run into subruns as necessary such that each subrun can be rendered with
8248 a single font. Also separates out soft hyphens and replaces them with
8249 real hyphens, because Core Text does not emit a glyph for soft hyphens.
8250 Then calls collectCoreTextRunsForCharacters() on each subrun.
8251 (WebCore::CoreTextController::advance):
8252 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
8253 a CTLine from the given subrun and collects its CoreTextRuns.
8254 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
8255 rounding hacks, letter- and word-spacing and glyph substitutions and
8256 stores the resulting adjusted glyphs and advances.
8257 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
8258 (WebCore::CoreTextController::totalWidth):
8259 (WebCore::CoreTextController::finalRoundingWidth):
8260 (WebCore::CoreTextController::CoreTextRun::ctRun):
8261 (WebCore::CoreTextController::CoreTextRun::glyphCount):
8262 (WebCore::CoreTextController::CoreTextRun::fontData):
8263 (WebCore::CoreTextController::CoreTextRun::characters):
8264 (WebCore::CoreTextController::CoreTextRun::stringLocation):
8265 (WebCore::CoreTextController::CoreTextRun::stringLength):
8266 (WebCore::CoreTextController::CoreTextRun::indexAt):
8267 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
8268 FontMacATSUI.mm.
8269 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
8270 (WebCore::disableLigatures): Changed to call
8271 FontPlatformData::allowsLigatures().
8272 (WebCore::overrideLayoutOperation): Changed to call
8273 FontPlatformData::roundsGlyphAdvances().
8274 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
8275 (WebCore::Font::selectionRectForComplexText): Changed to use
8276 totalWidth() instead of advancing to the end and using runWidthSoFar().
8277 (WebCore::Font::drawComplexText):
8278 (WebCore::Font::floatWidthForComplexText): Ditto.
8279 (WebCore::Font::offsetForPositionForComplexText):
8280 * platform/graphics/mac/FontPlatformData.h:
8281 * platform/graphics/mac/FontPlatformDataMac.mm:
8282 (WebCore::FontPlatformData::setFont):
8283 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
8284 AppKit rendering mode.
8285 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
8286 heuristic that allows ligatures in fonts that do not have a glyph for
8287 'a', based on the assumption that such fonts are only used in complex
8288 text.
8289 * platform/graphics/mac/SimpleFontDataMac.mm:
8290 (WebCore::SimpleFontData::platformInit):
8291 (WebCore::SimpleFontData::platformDestroy):
8292 (WebCore::SimpleFontData::getCTFont): Added.
8293 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
8294 returns an attributes dictionary.
8295 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
8296 * platform/text/mac/ShapeArabic.h: Ditto.
8297
82982008-09-06 Dan Bernstein <mitz@apple.com>
8299
8300 Reviewed by Dave Hyatt.
8301
mitz@apple.com046bf642008-09-06 08:31:02 +00008302 - make combining mark offsets work in CG text on Windows
8303
8304 * platform/graphics/win/FontCGWin.cpp:
8305 (WebCore::Font::drawGlyphs): The old code tried to translate the text
8306 matrix, but failed for two reasons: it did not actually change the
8307 matrix, and even if it did, CGContextSetTextPosition overwrites the
8308 translation values in the text matrix. Instead, just added the
8309 translation to the anchor point.
8310
alp@webkit.org369cdca2008-09-06 04:08:30 +000083112008-09-05 Gustavo Noronha Silva <gns@gnome.org>
8312
8313 Reviewed by Alp Toker.
8314
8315 https://bugs.webkit.org/show_bug.cgi?id=18346
8316 [GTK] Remove build warnings
8317
8318 Applied some casts, and removed an unused typedef to make the
8319 compiler happy, printing less warnings when building.
8320
8321 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
8322 * platform/graphics/gtk/SimpleFontDataPango.cpp:
8323 (WebCore::SimpleFontData::containsCharacters):
8324 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
8325 (webkit_video_sink_set_caps):
8326 * platform/network/soup/ResourceHandleSoup.cpp:
8327
eric@webkit.org3cb292c2008-09-05 22:17:56 +000083282008-09-05 Eric Seidel <eric@webkit.org>
8329
eric@webkit.org5ac37902008-09-06 00:21:58 +00008330 Reviewed by Adam Roben.
8331
8332 Build fix for WebKitWin and Chromium
8333
8334 * platform/FileSystem.h:
8335
83362008-09-05 Eric Seidel <eric@webkit.org>
8337
eric@webkit.org3cb292c2008-09-05 22:17:56 +00008338 Reviewed by Darin Adler.
8339
8340 Try to make Chromium compile with ToT:
8341 - Wrap a few places which depend on KJS:: in #if USE(JSC)
8342 - Include some windows forward declarations
8343
8344 * dom/Node.h:
8345 * page/Console.h:
8346 * page/animation/CompositeAnimation.h:
8347 * platform/FileSystem.h:
8348 * platform/graphics/Image.h:
8349 * platform/text/AtomicString.h:
8350 * platform/text/String.cpp:
8351 * rendering/style/RenderStyle.h:
8352
hyatt@apple.comff85d5e2008-09-05 21:52:08 +000083532008-09-05 Dave Hyatt <hyatt@apple.com>
8354
8355 Add support for runtime switchability of the Aqua look and the native look on Windows.
8356 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
8357
8358 Reviewed by Adam Roben
8359
8360 * WebCore.vcproj/WebCore.vcproj:
8361 * page/Settings.cpp:
8362 (WebCore::Settings::setShouldPaintNativeControls):
8363 * page/Settings.h:
8364 (WebCore::Settings::shouldPaintNativeControls):
8365 * rendering/RenderThemeSafari.cpp:
8366 (WebCore::theme):
8367 * rendering/RenderThemeWin.cpp:
8368
antti@apple.combced97f2008-09-05 18:52:05 +000083692008-09-05 Antti Koivisto <antti@apple.com>
8370
8371 Qt build fix.
8372
8373 * svg/SVGFEImageElement.cpp:
8374 (WebCore::SVGFEImageElement::build):
8375
aroben@apple.comca0c3362008-09-05 15:33:28 +000083762008-09-05 Dirk Schulze <vbs85@gmx.de>
8377
8378 Gtk build fix
8379
8380 * GNUmakefile.am:
8381
antti@apple.com72e4a842008-09-05 09:28:11 +000083822008-09-05 Antti Koivisto <antti@apple.com>
8383
antti@apple.com49e46662008-09-05 10:36:59 +00008384 Another build fix.
8385
8386 * svg/SVGFEImageElement.cpp:
8387 (WebCore::SVGFEImageElement::notifyFinished):
8388
83892008-09-05 Antti Koivisto <antti@apple.com>
8390
antti@apple.comfeec2582008-09-05 10:03:39 +00008391 Build fixes.
8392
8393 * WebCore.xcodeproj/project.pbxproj:
8394 * svg/graphics/filters/SVGFEImage.cpp:
8395 (WebCore::FEImage::cachedImage):
8396
83972008-09-05 Antti Koivisto <antti@apple.com>
8398
darin@apple.com07c80c62008-09-05 18:15:43 +00008399 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +00008400
8401 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
8402 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
8403
8404 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
8405 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
8406 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
8407 we avoid re-decoding resources, especially images.
8408
8409 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
8410 CacheControl: max-age=0 header. That would be added in reload case.
8411
8412 The approach for revalidation is to kick the original resource out from the memory cache
8413 and create a new CachedResource that represents the revalidation request. In case
8414 we get 304 back for the request we put the original resource back to the cache, update
8415 its expiration date and switch the clients registered to revalidation resource to be
8416 clients of the original resource.
8417
8418 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
8419 This allows updating the handles to point to the original resource when the revalidation succeeds. It
8420 also acts as refcounting smart pointer.
8421
8422 * WebCore.pro:
8423 * WebCore.vcproj/WebCore.vcproj:
8424 * WebCore.xcodeproj/project.pbxproj:
8425 * css/CSSFontFaceSource.h:
8426 * css/CSSImportRule.h:
8427 * dom/Clipboard.h:
8428 (WebCore::Clipboard::dragImage):
8429 * dom/ProcessingInstruction.h:
8430 * dom/ScriptElement.h:
8431 * dom/XMLTokenizer.cpp:
8432 (WebCore::XMLTokenizer::isWaitingForScripts):
8433 * dom/XMLTokenizer.h:
8434 * html/HTMLImageLoader.cpp:
8435 (WebCore::HTMLImageLoader::setImage):
8436 (WebCore::HTMLImageLoader::updateFromElement):
8437 (WebCore::HTMLImageLoader::notifyFinished):
8438 * html/HTMLImageLoader.h:
8439 (WebCore::HTMLImageLoader::image):
8440 * html/HTMLLinkElement.h:
8441 * html/HTMLTokenizer.cpp:
8442 (WebCore::HTMLTokenizer::reset):
8443 (WebCore::HTMLTokenizer::scriptHandler):
8444 (WebCore::HTMLTokenizer::notifyFinished):
8445 * html/HTMLTokenizer.h:
8446 * loader/Cache.cpp:
8447 (WebCore::Cache::revalidateResource):
8448 (WebCore::Cache::revalidationSucceeded):
8449 (WebCore::Cache::revalidationFailed):
8450 * loader/Cache.h:
8451 * loader/CachedResource.cpp:
8452 (WebCore::CachedResource::CachedResource):
8453 (WebCore::CachedResource::~CachedResource):
8454 (WebCore::CachedResource::isExpired):
8455 (WebCore::CachedResource::setResponse):
8456 (WebCore::CachedResource::deleteIfPossible):
8457 (WebCore::CachedResource::setResourceToRevalidate):
8458 (WebCore::CachedResource::clearResourceToRevalidate):
8459 (WebCore::CachedResource::switchClientsToRevalidatedResource):
8460 (WebCore::CachedResource::canUseCacheValidator):
8461 (WebCore::CachedResource::mustRevalidate):
8462 * loader/CachedResource.h:
8463 (WebCore::CachedResource::canDelete):
8464 (WebCore::CachedResource::registerHandle):
8465 (WebCore::CachedResource::unregisterHandle):
8466 (WebCore::CachedResource::isCacheValidator):
8467 (WebCore::CachedResource::resourceToRevalidate):
8468 (WebCore::CachedResource::setExpirationDate):
8469 * loader/CachedResourceHandle.cpp: Added.
8470 (WebCore::CachedResourceHandleBase::setResource):
8471 * loader/CachedResourceHandle.h: Added.
8472 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
8473 (WebCore::CachedResourceHandleBase::get):
8474 (WebCore::CachedResourceHandleBase::operator!):
8475 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
8476 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
8477 (WebCore::CachedResourceHandleBase::operator=):
8478 (WebCore::CachedResourceHandle::CachedResourceHandle):
8479 (WebCore::CachedResourceHandle::get):
8480 (WebCore::CachedResourceHandle::operator->):
8481 (WebCore::CachedResourceHandle::operator=):
8482 (WebCore::CachedResourceHandle::operator==):
8483 (WebCore::CachedResourceHandle::operator!=):
8484 (WebCore::operator==):
8485 (WebCore::operator!=):
8486 * loader/DocLoader.cpp:
8487 (WebCore::DocLoader::checkForReload):
8488 * loader/UserStyleSheetLoader.h:
8489 * loader/loader.cpp:
8490 (WebCore::Loader::Host::servePendingRequests):
8491 (WebCore::Loader::Host::didFinishLoading):
8492 (WebCore::Loader::Host::didFail):
8493 (WebCore::Loader::Host::didReceiveResponse):
8494 (WebCore::Loader::Host::didReceiveData):
8495 * page/EventHandler.cpp:
8496 (WebCore::EventHandler::selectCursor):
8497 * rendering/RenderImage.cpp:
8498 (WebCore::RenderImage::setCachedImage):
8499 (WebCore::RenderImage::imageChanged):
8500 * rendering/RenderImage.h:
8501 (WebCore::RenderImage::cachedImage):
8502 (WebCore::RenderImage::imagePtr):
8503 * rendering/style/RenderStyle.h:
8504 * rendering/style/StyleCachedImage.h:
8505 (WebCore::StyleCachedImage::data):
8506 (WebCore::StyleCachedImage::cachedImage):
8507 * svg/SVGFEImageElement.h:
8508 * svg/graphics/filters/SVGFEImage.h:
8509 * xml/XSLImportRule.h:
8510
beidson@apple.comab60d982008-09-05 04:58:12 +000085112008-09-04 Brady Eidson <beidson@apple.com>
8512
8513 Reviewed by Mitz
8514
8515 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
8516
8517 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
8518 to model default NSURLRequest behavior in a cross-platform manner.
8519
8520 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
8521 client that wished to enforce a much larger default timeout using NSURLRequest API.
8522
8523 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
8524 behavior on the web and this restores previous Safari/WebKit behavior.
8525
8526 It would be easy to write a layout test for this, but to be effective it would have
8527 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
8528
8529 * manual-tests/timeout-test.html: Added.
8530 * manual-tests/timeout-test.php: Added.
8531
8532 * platform/network/ResourceRequestBase.h:
8533 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
8534 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
8535 * platform/network/mac/ResourceRequestMac.mm:
8536 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
8537 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
8538 WebKit applications to enforce their own default timeout.
8539
mitz@apple.com20268542008-09-05 04:26:32 +000085402008-09-04 Dan Bernstein <mitz@apple.com>
8541
8542 Reviewed by Beth Dakin.
8543
8544 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
8545
8546 Test: fast/repaint/button-spurious-layout-hint.html
8547
8548 * rendering/RenderButton.cpp:
8549 (WebCore::RenderButton::setStyle): Reset the inner block's style box
8550 flex to 0 to avoid getting a spurious layout hint.
8551
kevino@webkit.org3e8c4072008-09-04 23:53:04 +000085522008-09-04 Kevin Ollivier <kevino@theolliviers.com>
8553
8554 wx build fixes.
8555
8556 * WebCoreSources.bkl:
8557 * bindings/js/ScriptControllerWx.cpp: Added.
8558 (WebCore::ScriptController::createScriptInstanceForWidget):
8559 * page/wx/AccessibilityObjectWx.cpp: Added.
8560 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
8561 * platform/graphics/wx/GraphicsContextWx.cpp:
8562 * webcore-base.bkl:
8563 * webcore-wx.bkl:
8564
mitz@apple.com95a87502008-09-04 23:27:19 +000085652008-09-04 Dan Bernstein <mitz@apple.com>
8566
8567 Reviewed by Mark Rowe.
8568
8569 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
8570 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
8571 require a different approach
8572
8573 * css/CSSGrammar.y:
8574
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000085752008-09-04 Mark Rowe <mrowe@apple.com>
8576
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +00008577 Reviewed by Eric Seidel.
8578
8579 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
8580 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
8581
8582 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
8583 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
8584 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
8585
85862008-09-04 Mark Rowe <mrowe@apple.com>
8587
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +00008588 Mac build fix.
8589
8590 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
8591
eric@webkit.org0716a542008-09-04 20:44:12 +000085922008-09-04 Eric Seidel <eric@webkit.org>
8593
8594 Build fix only, no review.
8595
8596 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
8597
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +000085982008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
8599
8600 Reviewed by Eric Seidel.
8601
8602 http://bugs.webkit.org/show_bug.cgi?id=20380
8603 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
8604
8605 * config.h: Include the configuration header generated by autotools if
8606 available.
8607
mitz@apple.com9d7e4262008-09-04 18:15:25 +000086082008-09-04 Dan Bernstein <mitz@apple.com>
8609
8610 Rubber-stamped by Dave Hyatt.
8611
8612 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
8613
8614 * loader/CachedFont.cpp:
8615 (WebCore::CachedFont::allClientsRemoved):
8616 * loader/CachedFont.h:
8617 * loader/CachedImage.cpp:
8618 (WebCore::CachedImage::allClientsRemoved):
8619 * loader/CachedImage.h:
8620 * loader/CachedResource.cpp:
8621 (WebCore::CachedResource::removeClient):
8622 * loader/CachedResource.h:
8623 (WebCore::CachedResource::allClientsRemoved):
8624
aroben@apple.com0da404d2008-09-04 16:09:33 +000086252008-09-04 Adam Roben <aroben@apple.com>
8626
aroben@apple.comdd3861a2008-09-04 16:09:53 +00008627 Windows build fix after r36071
8628
8629 We were getting these errors:
8630
8631 error C2356: initialization segment must not change during translation
8632 unit
8633
8634 This was happening because multiple files #included by
8635 DerivedSources.cpp were themselves #including StaticConstructors.h. I
8636 fixed the error by adding header guards to StaticConstructors.h so its
8637 contents will only be included once.
8638
8639 But it's also not a good idea for StaticConstructors.h to end up in
8640 DerivedSources.cpp, since it ends up "polluting" all the source files
8641 we have in there. So I removed all the files that include
8642 StaticConstructors.h and added some preprocessor directives to
8643 DerivedSources.cpp to catch this error in the future.
8644
8645 * DerivedSources.cpp: Removed the *Names.cpp files, which include
8646 StaticConstructors.h, and added some preprocessor directives to make
8647 sure we don't end up accidentally including StaticConstructors.h in
8648 the future.
8649 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
8650 * platform/StaticConstructors.h: Added header guards.
8651
86522008-09-04 Adam Roben <aroben@apple.com>
8653
aroben@apple.com0da404d2008-09-04 16:09:33 +00008654 Windows build fix
8655
8656 * platform/graphics/win/FontPlatformData.h: Added a missing #include
8657 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
8658 * platform/text/PlatformString.h: Added a missing #include of
8659 PassRefPtr.h.
8660
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000086612008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
8662
8663 Reviewed by Simon.
8664
vestbo@webkit.orgb82da912008-09-04 14:24:58 +00008665 Fix the QtWebKit build to match changes in r36016
8666
8667 * WebCore.pro:
8668 * bridge/qt/qt_instance.cpp:
8669 (KJS::Bindings::QtInstance::getRuntimeObject):
8670 * bridge/qt/qt_runtime.cpp:
8671 (KJS::Bindings::convertQVariantToValue):
8672 (KJS::Bindings::QtConnectionObject::execute):
8673
86742008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
8675
8676 Reviewed by Simon.
8677
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +00008678 Re-enable support for user stylesheets in QtWebKit
8679
8680 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
8681 code path, which allows us to keep API support for
8682 loading user style sheets from remote URLs.
8683
8684 As part of the change UserStyleSheetLoader.cpp/h was
8685 moved from WebCore/loader/mac to WebCore/loader.
8686
8687 * WebCore.pro:
8688 * WebCore.xcodeproj/project.pbxproj:
8689 * dom/Document.h:
8690 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
8691 (UserStyleSheetLoader::UserStyleSheetLoader):
8692 (UserStyleSheetLoader::~UserStyleSheetLoader):
8693 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
8694 * page/qt/FrameQt.cpp:
8695 (WebCore::Frame::setUserStyleSheetLocation):
8696 (WebCore::Frame::setUserStyleSheet):
8697
alp@webkit.org539ff852008-09-04 09:14:42 +000086982008-09-04 Alp Toker <alp@nuanti.com>
8699
8700 Reviewed by Eric.
8701
8702 Remove left-over QT and CAIRO platform checks.
8703
8704 * html/CanvasRenderingContext2D.cpp:
8705
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000087062008-09-04 Eric Seidel <eric@webkit.org>
8707
8708 Reviewed by Mark Rowe.
8709
mitz@apple.com9388d252008-09-04 08:58:58 +00008710 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +00008711
8712 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
8713
mitz@apple.com89557c52008-09-04 07:26:53 +000087142008-09-04 Dan Bernstein <mitz@apple.com>
8715
8716 Reviewed by Dave Hyatt.
8717
8718 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
8719 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
8720
8721 * rendering/RenderBlock.cpp:
8722 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
8723 positioned movement only case, call
8724 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
8725 layout if that fails.
8726 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
8727 * rendering/RenderBox.h:
8728 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
8729 layoutDoingPositionedMovementOnly to this, and made this function
8730 check if the width changed. If it did, return, leaving the object
8731 dirty. The caller can then call layout(). The width can change even
8732 in the "positioned movement only" case if the object is shrink-to-fit
8733 and the available width constraint is met. (This was the case in the
8734 bug).
8735 * rendering/RenderObject.h:
8736 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
8737 Renamed layoutDoingPositionedMovementOnly() to this.
8738
eric@webkit.org8883b4a2008-09-04 06:31:37 +000087392008-09-03 Eric Seidel <eric@webkit.org>
8740
8741 No review, build fix only.
8742
8743 Attempt to fix the Qt build.
8744
8745 * WebCore.pro: add page/animation to include path
8746
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +000087472008-09-03 Mark Rowe <mrowe@apple.com>
8748
8749 Mac build fix. Correctly detect whether dashboard support is enabled.
8750
8751 * DerivedSources.make:
8752
eric@webkit.org3eefe672008-09-04 01:32:26 +000087532008-09-03 Eric Seidel <eric@webkit.org>
8754
8755 Reviewed by Sam.
8756
eric@webkit.org5e069092008-09-04 01:32:51 +00008757 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
8758
8759 * Configurations/WebCore.xcconfig: add missing ENABLE_*
8760 * config.h: add rules for V8_BINDINGS
8761
87622008-09-03 Eric Seidel <eric@webkit.org>
8763
8764 Reviewed by Sam.
8765
eric@webkit.org3eefe672008-09-04 01:32:26 +00008766 https://bugs.webkit.org/show_bug.cgi?id=20620
8767
8768 Add #if USE(JSC) around KJS dependencies
8769 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
8770 1. Most platforms have it on anyway
8771 2. V8 is going to want to share some of that code
8772 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
8773
8774 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
8775 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
8776 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8777 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8778 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8779 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8780 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8781 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
8782 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
8783 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
8784 * platform/text/AtomicString.cpp: add USE(JSC)
8785 * platform/text/AtomicString.h: add USE(JSC)
8786 * platform/text/PlatformString.h: add USE(JSC)
8787 * platform/text/String.cpp: add USE(JSC)
8788 * platform/text/StringImpl.cpp: add USE(JSC)
8789 * platform/text/StringImpl.h: add USE(JSC)
8790
mrowe@apple.comfbe724c2008-09-03 23:46:54 +000087912008-09-03 Dean McNamee <deanm@chromium.org>
8792
8793 Reviewed by Darin Adler.
8794
8795 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
8796 Bug 20511: Remove static initializers on Windows
8797
8798 Avoid static initializers on Windows by forcing Visual C++ to put
8799 all static initializers in a code segment that is never executed.
8800
8801 * config.h:
8802 * css/MediaFeatureNames.cpp:
8803 * dom/EventNames.cpp:
8804 * dom/QualifiedName.cpp:
8805 * dom/make_names.pl:
8806 * platform/StaticConstructors.h:
8807 * platform/text/AtomicString.cpp:
8808
mrowe@apple.com3aa63182008-09-03 23:40:49 +000088092008-09-03 Dirk Schulze <vbs85@gmx.de>
8810
8811 Reviewed by Dave Hyatt.
8812
8813 Make FontCairo draw TextStroke and TextFill separately.
8814
8815 [CAIRO] draw TextFill and TextStroke separately.
8816 [https://bugs.webkit.org/show_bug.cgi?id=20631]
8817
8818 * platform/graphics/cairo/FontCairo.cpp:
8819 (WebCore::Font::drawGlyphs):
8820
eric@webkit.org4ac94e62008-09-18 23:07:55 +000088212008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +00008822
8823 Reviewed by Dave Hyatt.
8824
8825 https://bugs.webkit.org/show_bug.cgi?id=19663
8826 Account for paint and timer lag when animating images. Also pretend
8827 that images whose animations were paused (by becoming invisible)
8828 continued to animate, by "catching up" to the correct frame when they're
8829 shown again.
8830
8831 * platform/graphics/BitmapImage.cpp:
8832 (WebCore::BitmapImage::BitmapImage):
8833 (WebCore::BitmapImage::startAnimation):
8834 (WebCore::BitmapImage::advanceAnimation):
8835 (WebCore::BitmapImage::internalAdvanceAnimation):
8836 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
8837 * platform/graphics/BitmapImage.h:
8838 * platform/graphics/cairo/ImageCairo.cpp:
8839 (WebCore::BitmapImage::draw):
8840 * platform/graphics/cg/ImageCG.cpp:
8841 (WebCore::BitmapImage::draw):
8842 * platform/graphics/qt/ImageQt.cpp:
8843 (WebCore::BitmapImage::draw):
8844 * platform/graphics/wx/ImageWx.cpp:
8845 (WebCore::BitmapImage::draw):
8846
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +000088472008-09-03 Kevin McCullough <kmccullough@apple.com>
8848
8849 Reviewed by Tim.
8850
8851 Remove the rest of the "zombie" code from the profiler.
8852 - There is no longer a need for the ProfilerClient callback mechanism.
8853
8854 * page/Console.cpp:
8855 (WebCore::Console::Console):
8856 (WebCore::Console::profile):
8857 (WebCore::Console::profileEnd): Move the variables from the header to
8858 here since we don't have to wait for a callback to use them.
8859 * page/Console.h:
8860 * page/InspectorController.cpp:
8861 (WebCore::InspectorController::startUserInitiatedProfiling):
8862 (WebCore::InspectorController::stopUserInitiatedProfiling):
8863 * page/InspectorController.h:
8864
adachan@apple.com38c66182008-09-03 21:43:44 +000088652008-09-03 Ada Chan <adachan@apple.com>
8866
8867 Windows build fix.
8868
8869 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
8870
dino@apple.com5c917622008-09-03 21:15:53 +000088712008-09-01 Dean Jackson <dino@apple.com>
8872
8873 Reviewed by Dave Hyatt.
8874
8875 https://bugs.webkit.org/show_bug.cgi?id=20594
8876 Add DOM interfaces for WebKitCSSKeyframeRule
8877 and WebKitCSSKeyframesRule.
8878
8879 TEST: LayoutTests/css3/keyframes-rule.html
8880
8881 * css/WebKitCSSKeyframeRule.idl: Added
8882 * css/WebKitCSSKeyframesRule.idl: Added
8883
8884 * bindings/js/JSCSSRuleCustom.cpp:
8885 (WebCore::toJS):
8886 Add return of new JS Keyframe rules
8887 * bindings/objc/DOMInternal.h:
8888 Include new internal header
8889
8890 * DerivedSources.make:
8891 * GNUmakefile.am:
8892 * WebCore.pro:
8893 * WebCore.vcproj/WebCore.vcproj:
8894 * WebCore.xcodeproj/project.pbxproj:
8895 * WebCoreSources.bkl:
8896 Build configs for new files
8897
aroben@apple.com1f51bfa2008-09-03 20:30:59 +000088982008-09-03 Adam Roben <aroben@apple.com>
8899
8900 Windows build fix
8901
8902 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
8903 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
8904 convenience/consistency.
8905
adele@apple.com27713582008-09-03 20:13:41 +000089062008-09-03 Adele Peterson <adele@apple.com>
8907
8908 Build fix.
8909
8910 * WebCore.vcproj/WebCore.vcproj:
8911
hyatt@apple.com4b38ed82008-09-03 18:32:05 +000089122008-09-03 David Hyatt <hyatt@apple.com>
8913
8914 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
8915
8916 Reviewed by Darin (ages ago)
8917
8918 Added fast/block/float/clamped-right-float.html
8919
8920 * rendering/RenderBlock.cpp:
8921 (WebCore::RenderBlock::positionNewFloats):
8922
hyatt@apple.comafe62052008-09-03 18:13:39 +000089232008-09-02 David Hyatt <hyatt@apple.com>
8924
8925 Add support for canvas text drawing APIs.
8926
8927 Reviewed by olliej
8928
8929 Tests added as fast/canvas/canvas-text-*.html
8930
8931 * DerivedSources.make:
8932 * WebCore.xcodeproj/project.pbxproj:
8933 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
8934 (WebCore::JSCanvasRenderingContext2D::fillText):
8935 (WebCore::JSCanvasRenderingContext2D::strokeText):
8936 * css/CSSStyleSelector.cpp:
8937 (WebCore::CSSStyleSelector::initForStyleResolve):
8938 (WebCore::CSSStyleSelector::applyPropertyToStyle):
8939 * css/CSSStyleSelector.h:
8940 * html/CanvasRenderingContext2D.cpp:
8941 (WebCore::CanvasRenderingContext2D::State::State):
8942 (WebCore::CanvasRenderingContext2D::font):
8943 (WebCore::CanvasRenderingContext2D::setFont):
8944 (WebCore::CanvasRenderingContext2D::textAlign):
8945 (WebCore::CanvasRenderingContext2D::setTextAlign):
8946 (WebCore::CanvasRenderingContext2D::textBaseline):
8947 (WebCore::CanvasRenderingContext2D::setTextBaseline):
8948 (WebCore::CanvasRenderingContext2D::fillText):
8949 (WebCore::CanvasRenderingContext2D::strokeText):
8950 (WebCore::CanvasRenderingContext2D::measureText):
8951 (WebCore::CanvasRenderingContext2D::drawTextInternal):
8952 (WebCore::CanvasRenderingContext2D::accessFont):
8953 * html/CanvasRenderingContext2D.h:
8954 * html/CanvasRenderingContext2D.idl:
8955 * html/TextMetrics.h: Added.
8956 (WebCore::TextMetrics::create):
8957 (WebCore::TextMetrics::width):
8958 (WebCore::TextMetrics::setWidth):
8959 (WebCore::TextMetrics::TextMetrics):
8960 * html/TextMetrics.idl: Added.
8961 * platform/graphics/Font.cpp:
8962 (WebCore::Font::lineGap):
8963 * platform/graphics/Font.h:
8964 * platform/graphics/GraphicsContext.cpp:
8965 (WebCore::GraphicsContext::drawBidiText):
8966 * platform/graphics/GraphicsContext.h:
8967 * platform/graphics/GraphicsTypes.cpp:
8968 (WebCore::textAlignName):
8969 (WebCore::parseTextAlign):
8970 (WebCore::textBaselineName):
8971 (WebCore::parseTextBaseline):
8972 * platform/graphics/GraphicsTypes.h:
8973 (WebCore::):
8974
sullivan@apple.combc066af2008-09-03 17:37:24 +000089752008-09-03 John Sullivan <sullivan@apple.com>
8976
8977 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
8978
8979 Fixed by Darin, reviewed by me
8980
8981 * page/animation/AnimationBase.cpp:
8982 (WebCore::AnimationBase::propertiesEqual):
8983 added ensurePropertyMap() to this static function
8984 (WebCore::AnimationBase::getPropertyAtIndex):
8985 ditto
8986 (WebCore::AnimationBase::getNumProperties):
8987 ditto
8988
kmccullough@apple.com70168ee2008-09-03 17:35:42 +000089892008-09-03 Kevin McCullough <kmccullough@apple.com>
8990
8991 Reviewed by Darin and Tim.
8992
8993 Remove most of the "zombie" mode from the profiler. Next we will need
8994 to remove the client callback mechanism in profiles.
8995 - These changes are a result of changes to JSCore.
8996
8997 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
8998 * page/Console.cpp:
8999 (WebCore::retrieveLastCaller):
9000 (WebCore::Console::profileEnd):
9001 * page/InspectorController.cpp:
9002 (WebCore::InspectorController::stopUserInitiatedProfiling):
9003
adele@apple.com643616b2008-09-03 16:57:58 +000090042008-09-03 Adele Peterson <adele@apple.com>
9005
9006 Reviewed by Darin Adler.
9007
9008 Test: fast/forms/search-display-none-cancel-button.html
9009
9010 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
9011
9012 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
9013
9014 * rendering/RenderTextControl.cpp:
9015 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
9016 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
9017 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
9018 (WebCore::RenderTextControl::createSubtreeIfNeeded):
9019 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
9020 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
9021 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
9022 (WebCore::RenderTextControl::calcHeight): ditto.
9023 (WebCore::RenderTextControl::nodeAtPoint): ditto.
9024 (WebCore::RenderTextControl::layout): ditto.
9025 (WebCore::RenderTextControl::calcPrefWidths): ditto.
9026 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
9027 (WebCore::RenderTextControl::clientPaddingRight): ditto.
9028
9029 * rendering/TextControlInnerElements.cpp:
9030 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
9031 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
9032 (WebCore::TextControlInnerElement::attachInnerElement): Added.
9033 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
9034 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
9035 * rendering/TextControlInnerElements.h:
9036
ap@webkit.orgacd84142008-09-03 08:08:19 +000090372008-08-28 Alexey Proskuryakov <ap@webkit.org>
9038
9039 Reviewed by Maciej.
9040
9041 Elminate SQLiteAuthorizer class.
9042
9043 * WebCore.xcodeproj/project.pbxproj:
9044 * WebCore.vcproj/WebCore.vcproj:
9045 * GNUmakefile.am
9046 Removed SQLiteAuthorizer.h.
9047
9048 * platform/sql/SQLiteAuthorizer.cpp:
9049 * platform/sql/SQLiteAuthorizer.h: Removed.
9050 * platform/sql/SQLiteDatabase.cpp:
9051 (WebCore::SQLiteDatabase::authorizerFunction):
9052 (WebCore::SQLiteDatabase::setAuthorizer):
9053 * platform/sql/SQLiteDatabase.h:
9054 * storage/DatabaseAuthorizer.h:
9055 (WebCore::DatabaseAuthorizer::create):
9056 (WebCore::DatabaseAuthorizer::createView):
9057 (WebCore::DatabaseAuthorizer::createTempView):
9058 (WebCore::DatabaseAuthorizer::dropView):
9059 (WebCore::DatabaseAuthorizer::dropTempView):
9060 (WebCore::DatabaseAuthorizer::allowSelect):
9061 (WebCore::DatabaseAuthorizer::allowReindex):
9062 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
9063
mrowe@apple.com2ecd4862008-09-03 07:05:48 +000090642008-09-03 Dirk Schulze <vbs85@gmx.de>
9065
9066 Reviewed by Mark Rowe.
9067
9068 WebKitGtk build fix.
9069
9070 * GNUmakefile.am:
9071 * page/animation/AnimationController.h:
9072
mrowe@apple.come344ad02008-09-03 06:59:03 +000090732008-09-02 Robert Blaut <webkit@blaut.biz>
9074
9075 Reviewed by Geoff Garen.
9076
9077 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
9078 Misplaced elements should not close DL lists.
9079
9080 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
9081
9082 * html/HTMLParser.cpp:
9083 (WebCore::HTMLParser::handleError):
9084
mrowe@apple.com7a909462008-09-03 06:51:31 +000090852008-09-02 Glenn Wilson <wilsong@gmail.com>
9086
9087 Reviewed by Darin Adler.
9088
9089 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
9090 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
9091
9092 We would inappropriately interpret and apply an invalid CSS "color" property
9093 when the value is a predefined color preceded by a '#' symbol. For example,
9094 style="color:#gray;" would apply the color gray when it should not.
9095
9096 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
9097 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
9098 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
9099 an ignorable token.
9100
9101 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
9102 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
9103 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
9104
9105 Test: css1/color_and_background/invalid_color.html
9106
9107 * css/CSSGrammar.y:
9108
mrowe@apple.comda9a1442008-09-03 06:22:12 +000091092008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
9110
9111 Reviewed by Darin Adler.
9112
9113 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
9114 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
9115
9116 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
9117
9118 Test: css3/khtml-background-size-0x0-bmp.html
9119
9120 * rendering/RenderBox.cpp:
9121 (WebCore::RenderBox::repaintLayerRectsForImage):
9122
mrowe@apple.com6625ae52008-09-03 06:12:30 +000091232008-09-02 Glenn Wilson <wilsong@gmail.com>
9124
9125 Reviewed by Eric Seidel.
9126
9127 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
9128 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
9129
9130 The function checkForOrphanedUnits() would change the length of a list whose size was
9131 was already determined before the call to checkForOrphanedUnits was made. Later in
9132 the caller, the old size was being used for boundary management.
9133
9134 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
9135 calling function, before the size of the list is determined.
9136
9137 Test: fast/css/orphaned_units_crash.html
9138
9139 * css/CSSParser.cpp:
9140 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
9141
mrowe@apple.com170bd522008-09-03 05:49:51 +000091422008-09-02 Dirk Schulze <vbs85@gmx.de>
9143
9144 Reviewed by Darin Adler.
9145
mrowe@apple.comeb877a52008-09-03 06:01:15 +00009146 Fallback on invalid fill or stroke styles in Canvas was
9147 transparent black. Changed it to last valid style.
9148
9149 Canvas fillStyle() and strokeStyle() needs fallback
9150 https://bugs.webkit.org/show_bug.cgi?id=20474
9151
9152 Tests: fast/canvas/canvas-invalid-fillstyle.html
9153 fast/canvas/canvas-invalid-strokestyle.html
9154
9155 * html/CanvasStyle.cpp:
9156 (WebCore::CanvasStyle::applyStrokeColor):
9157 (WebCore::CanvasStyle::applyFillColor):
9158
91592008-09-02 Dirk Schulze <vbs85@gmx.de>
9160
9161 Reviewed by Darin Adler.
9162
mrowe@apple.com170bd522008-09-03 05:49:51 +00009163 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
9164 Updated drawImage() in canvas to match the current specification.
9165
9166 Test: fast/canvas/drawImage-with-negative-source-destination.html
9167
9168 * html/CanvasRenderingContext2D.cpp:
9169 (WebCore::normalizeRect):
9170 (WebCore::CanvasRenderingContext2D::drawImage):
9171
mrowe@apple.com96916d12008-09-03 05:41:44 +000091722008-08-26 Mark Rowe <mrowe@apple.com>
9173
9174 Reviewed by Darin Adler.
9175
9176 <rdar://problem/5768210> Switch back to the system version of SQLite
9177
9178 Use the system version of SQLite when it is new enough to provide the functionality
9179 that WebCore requires.
9180
9181 * Configurations/Base.xcconfig:
9182 * Configurations/DebugRelease.xcconfig:
9183 * Configurations/WebCore.xcconfig:
9184
mitz@apple.comce268c12008-09-03 02:59:00 +000091852008-09-02 Dan Bernstein <mitz@apple.com>
9186
9187 - build fix
9188
9189 * page/animation/AnimationBase.h:
9190
dino@apple.com7e49a7a2008-09-03 01:32:14 +000091912008-09-02 Chris Marrin <cmarrin@apple.com>
9192
9193 Reviewed by Dave Hyatt.
9194
9195 AnimationController.cpp should be split into separate files
9196 https://bugs.webkit.org/show_bug.cgi?id=20604
9197
9198 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
9199 recommendation of Dave Hyatt.
9200
9201 * GNUmakefile.am:
9202 * WebCore.pro:
9203 * WebCore.vcproj/WebCore.vcproj:
9204 * WebCore.xcodeproj/project.pbxproj:
9205 * WebCoreSources.bkl:
9206 Build files.
9207
9208 * page/AnimationController.cpp: Removed.
9209 * page/AnimationController.h: Removed.
9210 * page/animation: Added.
9211 * page/animation/AnimationBase.cpp: Added.
9212 * page/animation/AnimationBase.h: Added.
9213 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
9214 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
9215 * page/animation/CompositeAnimation.cpp: Added.
9216 * page/animation/CompositeAnimation.h: Added.
9217 * page/animation/ImplicitAnimation.cpp: Added.
9218 * page/animation/ImplicitAnimation.h: Added.
9219 * page/animation/KeyframeAnimation.cpp: Added.
9220 * page/animation/KeyframeAnimation.h: Added.
9221
mitz@apple.comcb917a22008-09-03 00:57:37 +000092222008-09-02 Dan Bernstein <mitz@apple.com>
9223
9224 - release build fix
9225
9226 * platform/graphics/cg/GraphicsContextCG.cpp:
9227 (WebCore::calculateDrawingMode):
9228
timothy@apple.comf3aa7342008-09-02 21:30:26 +000092292008-09-02 Timothy Hatcher <timothy@apple.com>
9230
timothy@apple.comc33ff3c2008-09-02 21:35:02 +00009231 Make console functions log the correct resource URL and
9232 line number for where the call originated.
9233
9234 https://bugs.webkit.org/show_bug.cgi?id=17234
9235 <rdar://problem/5732837>
9236
9237 Reviewed by Kevin McCullough.
9238
9239 Test: manual-tests/inspector/console-call-line-numbers.html
9240
9241 * bindings/js/JSConsoleCustom.cpp:
9242 (WebCore::JSConsole::count): Call the impl.
9243 (WebCore::JSConsole::timeEnd): Ditto.
9244 * manual-tests/inspector/console-call-line-numbers.html: Added.
9245 * manual-tests/inspector/resources/script-console-calls.js: Added.
9246 * page/Console.cpp:
9247 (WebCore::retrieveLastCaller): Helper to get the URL and line.
9248 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
9249 line number to pass to addMessageToConsole.
9250 (WebCore::Console::info): Ditto.
9251 (WebCore::Console::log): Ditto.
9252 (WebCore::Console::assertCondition): Ditto.
9253 (WebCore::Console::count): Ditto.
9254 (WebCore::Console::timeEnd): Ditto.
9255 (WebCore::Console::warn): Ditto.
9256 * page/Console.h:
9257 * page/Console.idl: Make count and timeEnd custom.
9258
92592008-09-02 Timothy Hatcher <timothy@apple.com>
9260
timothy@apple.comf3aa7342008-09-02 21:30:26 +00009261 Removed IDL files from WebCore's framework resources.
9262
9263 * WebCore.xcodeproj/project.pbxproj:
9264
mitz@apple.comfb6ad392008-09-02 20:39:29 +000092652008-09-02 Dan Bernstein <mitz@apple.com>
9266
9267 Reviewed by Dave Hyatt.
9268
9269 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
9270
9271 * html/HTMLParser.cpp:
9272 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
9273 cap on the number of consecutive identical residual style tags to
9274 reopen.
9275 (WebCore::HTMLParser::popBlock): Ditto.
9276
ap@webkit.org879328b2008-09-02 16:16:06 +000092772008-09-02 Alexey Proskuryakov <ap@webkit.org>
9278
9279 Reviewed by Adam Roben.
9280
9281 A little database quota management cleanup.
9282
9283 * storage/OriginQuotaManager.cpp:
9284 (WebCore::OriginQuotaManager::OriginQuotaManager):
9285 (WebCore::OriginQuotaManager::lock):
9286 (WebCore::OriginQuotaManager::unlock):
9287 (WebCore::OriginQuotaManager::trackOrigin):
9288 (WebCore::OriginQuotaManager::tracksOrigin):
9289 (WebCore::OriginQuotaManager::addDatabase):
9290 (WebCore::OriginQuotaManager::removeDatabase):
9291 (WebCore::OriginQuotaManager::removeOrigin):
9292 (WebCore::OriginQuotaManager::markDatabase):
9293 (WebCore::OriginQuotaManager::diskUsage):
9294 * storage/OriginQuotaManager.h:
9295 Changed to assert that a lock is taken more directly and reliably. Removed comments about
9296 main/background threads, as this is likely to stop being true with synchronous Database calls
9297 being made on worker threads.
9298
9299 * storage/OriginUsageRecord.cpp:
9300 (WebCore::OriginUsageRecord::OriginUsageRecord):
9301 (WebCore::OriginUsageRecord::addDatabase):
9302 (WebCore::OriginUsageRecord::removeDatabase):
9303 (WebCore::OriginUsageRecord::markDatabase):
9304 (WebCore::OriginUsageRecord::diskUsage):
9305 * storage/OriginUsageRecord.h:
9306 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
9307 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
9308 can be replaced with a single boolean for OriginUsageRecord.
9309 Added assertions for string parameters being unshared.
9310
9311
abarth@webkit.orgaea97a02008-09-02 04:26:15 +000093122008-09-01 Adam Barth <abarth@webkit.org>
9313
9314 Reviewed by Sam Weinig.
9315
9316 https://bugs.webkit.org/show_bug.cgi?id=19760
9317
9318 Make granting LoadLocalResources conditional on a policy.
9319
9320 * WebCore.base.exp:
9321 * dom/Document.cpp:
9322 (WebCore::Document::initSecurityContext):
9323 * loader/FrameLoader.cpp:
9324 (WebCore::FrameLoader::setLocalLoadPolicy):
9325 (WebCore::FrameLoader::restrictAccessToLocal):
9326 * loader/FrameLoader.h:
9327 (WebCore::FrameLoader::):
9328 * platform/SecurityOrigin.cpp:
9329 (WebCore::SecurityOrigin::grantLoadLocalResources):
9330 * platform/SecurityOrigin.h:
9331
dino@apple.com6e2db502008-09-01 23:05:28 +000093322008-09-01 Dean Jackson <dino@apple.com>
9333
dino@apple.com59ca9f52008-09-01 23:34:13 +00009334 Reviewed by Sam Weinig.
9335
9336 https://bugs.webkit.org/show_bug.cgi?id=20571
9337 Make sure Window object can assign Animation/Transition event
9338 listeners via attributes.
9339
9340 Also added a bunch of transition event tests, although
9341 only transition-end-event-window is directly relevant to this patch.
9342
9343 (WebCore::JSDOMWindowBase::put):
9344
9345 Tests: transitions/transition-end-event-all-properties.html
9346 transitions/transition-end-event-attributes.html
9347 transitions/transition-end-event-container.html
9348 transitions/transition-end-event-left.html
9349 transitions/transition-end-event-multiple-01.html
9350 transitions/transition-end-event-multiple-02.html
9351 transitions/transition-end-event-multiple-03.html
9352 transitions/transition-end-event-multiple-04.html
9353 transitions/transition-end-event-nested.html
9354 transitions/transition-end-event-transform.html
9355 transitions/transition-end-event-window.html
9356
93572008-09-01 Dean Jackson <dino@apple.com>
9358
dino@apple.com6e2db502008-09-01 23:05:28 +00009359 Reviewed by Sam Weinig
9360
9361 Code styling cleanup.
9362
9363 * bindings/js/JSDOMWindowBase.cpp:
9364 (WebCore::JSDOMWindowBase::getValueProperty):
9365 (WebCore::JSDOMWindowBase::put):
9366
weinig@apple.com3412bb42008-09-01 21:22:54 +000093672008-09-01 Geoffrey Garen <ggaren@apple.com>
9368
9369 Reviewed by Darin Adler.
9370
9371 First cut at inline caching for access to vanilla JavaScript properties.
9372
9373 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
9374 to WebCore classes, and PutPropertySlot& arguments to put functions.
9375
9376 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
9377 inline caching for global properties, so global assignment can be optimized.
9378
9379 * ForwardingHeaders/kjs/StructureID.h: Added.
9380 * bindings/js/JSDOMBinding.h:
9381 (WebCore::DOMObject::DOMObject):
9382 * bindings/js/JSDOMWindowBase.cpp:
9383 (WebCore::JSDOMWindowBase::put):
9384 * bindings/js/JSDOMWindowBase.h:
9385 * bindings/js/JSDOMWindowCustom.h:
9386 (WebCore::JSDOMWindow::customPut):
9387 * bindings/js/JSDOMWindowShell.cpp:
9388 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
9389 (WebCore::JSDOMWindowShell::put):
9390 * bindings/js/JSDOMWindowShell.h:
9391 * bindings/js/JSEventTargetBase.h:
9392 (WebCore::JSEventTargetBase::put):
9393 * bindings/js/JSEventTargetNode.h:
9394 (WebCore::JSEventTargetNode::put):
9395 * bindings/js/JSHTMLAppletElementCustom.cpp:
9396 (WebCore::JSHTMLAppletElement::customPut):
9397 * bindings/js/JSHTMLEmbedElementCustom.cpp:
9398 (WebCore::JSHTMLEmbedElement::customPut):
9399 * bindings/js/JSHTMLInputElementBase.cpp:
9400 (WebCore::JSHTMLInputElementBase::put):
9401 * bindings/js/JSHTMLInputElementBase.h:
9402 * bindings/js/JSHTMLObjectElementCustom.cpp:
9403 (WebCore::JSHTMLObjectElement::customPut):
9404 * bindings/js/JSHistoryCustom.cpp:
9405 (WebCore::JSHistory::customPut):
9406 * bindings/js/JSInspectedObjectWrapper.cpp:
9407 (WebCore::JSInspectedObjectWrapper::wrap):
9408 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
9409 * bindings/js/JSInspectedObjectWrapper.h:
9410 * bindings/js/JSInspectorCallbackWrapper.cpp:
9411 (WebCore::JSInspectorCallbackWrapper::wrap):
9412 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
9413 * bindings/js/JSInspectorCallbackWrapper.h:
9414 * bindings/js/JSLocationCustom.cpp:
9415 (WebCore::JSLocation::customPut):
9416 * bindings/js/JSPluginElementFunctions.cpp:
9417 (WebCore::runtimeObjectCustomPut):
9418 * bindings/js/JSPluginElementFunctions.h:
9419 * bindings/js/JSQuarantinedObjectWrapper.cpp:
9420 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
9421 (WebCore::JSQuarantinedObjectWrapper::put):
9422 * bindings/js/JSQuarantinedObjectWrapper.h:
9423 * bindings/js/JSStorageCustom.cpp:
9424 (WebCore::JSStorage::customPut):
9425 * bindings/objc/WebScriptObject.mm:
9426 (-[WebScriptObject setValue:forKey:]):
9427 * bindings/scripts/CodeGeneratorJS.pm:
9428 * bridge/NP_jsobject.cpp:
9429 (_NPN_SetProperty):
9430 * bridge/jni/jni_jsobject.mm:
9431 (JavaJSObject::setMember):
9432 * bridge/objc/objc_class.mm:
9433 (KJS::Bindings::ObjcClass::fallbackObject):
9434 * bridge/objc/objc_runtime.h:
9435 * bridge/objc/objc_runtime.mm:
9436 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
9437 (ObjcFallbackObjectImp::put):
9438 * bridge/runtime.cpp:
9439 (KJS::Bindings::Instance::createRuntimeObject):
9440 * bridge/runtime_array.cpp:
9441 (RuntimeArray::put):
9442 * bridge/runtime_array.h:
9443 * bridge/runtime_object.cpp:
9444 (RuntimeObjectImp::RuntimeObjectImp):
9445 (RuntimeObjectImp::put):
9446 * bridge/runtime_object.h:
9447
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000094482008-09-01 Dirk Schulze <vbs85@gmx.de>
9449
9450 Reviewed by Eric Seidel.
9451
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +00009452 Fixed border-radius for Cairo.
9453
9454 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9455 (WebCore::GraphicsContext::strokeArc):
9456
94572008-09-01 Dirk Schulze <vbs85@gmx.de>
9458
9459 Reviewed by Eric Seidel.
9460
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +00009461 Added canvas's globalAlpha to cairo.
9462
9463 * platform/graphics/GraphicsContext.h:
9464 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9465 (WebCore::GraphicsContext::fillPath):
9466 (WebCore::GraphicsContext::strokePath):
9467 (WebCore::GraphicsContext::setAlpha):
9468 (WebCore::GraphicsContext::getAlpha):
9469 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
9470 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
9471 * platform/graphics/cairo/ImageCairo.cpp:
9472 (WebCore::BitmapImage::draw):
9473
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +000094742008-08-31 Simon Hausmann <hausmann@webkit.org>
9475
9476 Unreviewed Qt build fix.
9477
9478 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
9479 the .h file
9480
darin@apple.come7945852008-08-31 06:58:07 +000094812008-08-30 Darin Adler <darin@apple.com>
9482
9483 Reviewed by Maciej.
9484
9485 - adopt some new JavaScriptCore functions where appropriate
9486
9487 * bindings/js/JSDOMWindowBase.cpp:
9488 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
9489 (WebCore::windowProtoFuncBToA): Ditto.
9490 * bindings/js/JSEventListener.cpp:
9491 (WebCore::JSLazyEventListener::eventParameterName): Adopted
9492 jsNontrivialString.
9493 * bindings/js/JSSVGLazyEventListener.cpp:
9494 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
9495
beidson@apple.com21c821f2008-08-30 00:26:01 +000094962008-08-29 Brady Eidson <beidson@apple.com>
9497
beidson@apple.come1bd6032008-08-30 00:30:11 +00009498 Reviewed by Anders' rubberstamp
9499
9500 Style cleanup to match MediaTokenizer::writeRawData()
9501
9502 * loader/PluginDocument.cpp:
9503 (WebCore::PluginTokenizer::writeRawData):
9504
95052008-08-29 Brady Eidson <beidson@apple.com>
9506
beidson@apple.com21c821f2008-08-30 00:26:01 +00009507 Reviewed by Anders
9508
mitz@apple.com098b1e62008-09-24 16:39:55 +00009509 https://bugs.webkit.org/show_bug.cgi?id=20556
9510 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
9511
beidson@apple.com21c821f2008-08-30 00:26:01 +00009512 Fix regression I introducted in 35946
9513 Already covered by media/video-click-dlbclick-standalone.html
9514
9515 * loader/MediaDocument.cpp:
9516 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
9517 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
9518 an ASSERT signifying that this method should only be called once, to more closely follow the
9519 PluginDocument case.
9520
bdakin@apple.com7ee298c2008-08-30 00:00:30 +000095212008-08-29 Beth Dakin <bdakin@apple.com>
9522
9523 Reviewed by Sam Weinig.
9524
9525 Fix for <rdar://problem/6181588>
9526
9527 This patch makes hit testing take into account the new concept of a
9528 disconnected frame, in which some of the content may not be
9529 visible. The current hit testing mechanism starts at a target frame
9530 and drills down for a HitTestResult. In some cases, drilling down
9531 will find a non-visible result. When this happens, we need to try
9532 again, starting at a higher level -- namely, starting at the main
9533 frame.
9534
9535 * editing/Editor.cpp:
9536 (WebCore::Editor::insideVisibleArea): New function that tests if a
9537 point is inside the visible area for a disconnected frame.
9538 * editing/Editor.h:
9539 * page/EventHandler.cpp:
9540 (WebCore::EventHandler::hitTestResultAtPoint):
9541
adele@apple.comfb903062008-08-29 22:30:18 +000095422008-08-29 Adele Peterson <adele@apple.com>
9543
9544 Reviewed by Adam Roben.
9545
9546 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
9547
9548 * GNUmakefile.am:
9549 * WebCore.pro:
9550 * WebCore.vcproj/WebCore.vcproj:
9551 * WebCore.xcodeproj/project.pbxproj:
9552 * WebCoreSources.bkl:
9553 * html/HTMLTextFieldInnerElement.cpp: Removed.
9554 * html/HTMLTextFieldInnerElement.h: Removed.
9555 * rendering/RenderTextControl.cpp:
9556 (WebCore::RenderTextControl::createSubtreeIfNeeded):
9557 * rendering/RenderTextControl.h:
9558 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
9559 (WebCore::TextControlInnerElement::TextControlInnerElement):
9560 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
9561 (WebCore::TextControlInnerTextElement::defaultEventHandler):
9562 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
9563 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
9564 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
9565 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
9566 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
9567
eric@webkit.org298c65b2008-08-29 21:39:32 +000095682008-08-29 Eric Seidel <eric@webkit.org>
9569
eric@webkit.org77837ce2008-08-29 21:40:07 +00009570 Rubber-stamped by aroben.
9571
9572 Add GraphicsContext.h include to GraphcisContextPrivate.h
9573
9574 GraphicsContextPrivate uses StrokeStyle which is defined
9575 in GraphicsContext.h but it doesn't include that header.
9576 CoreGraphics build doesn't fail here due to the order
9577 it happens to include files.
9578
9579 * platform/graphics/GraphicsContextPrivate.h:
9580
95812008-08-29 Eric Seidel <eric@webkit.org>
9582
eric@webkit.org298c65b2008-08-29 21:39:32 +00009583 Reviewed by hyatt.
9584
9585 Fix GeneratedImage to respect Image's refcounting
9586 Fixing potential crashers (future if not current)
9587 https://bugs.webkit.org/show_bug.cgi?id=20567
9588
9589 I don't know if it's possible to make the current code
9590 crash, thus I've not made a test.
9591
9592 * css/CSSGradientValue.cpp:
9593 (WebCore::CSSGradientValue::image):
9594 * css/CSSImageGeneratorValue.cpp:
9595 (WebCore::CSSImageGeneratorValue::removeClient):
9596 (WebCore::CSSImageGeneratorValue::getImage):
9597 * css/CSSImageGeneratorValue.h:
9598 * platform/graphics/GeneratedImage.h:
9599 (WebCore::GeneratedImage::GeneratedImage):
9600 * rendering/style/RenderStyle.cpp:
9601 (WebCore::RenderStyle::setContent):
9602 * rendering/style/RenderStyle.h:
9603
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000096042008-08-29 Eric Carlson <eric.carlson@apple.com>
9605
9606 Reviewed by Adele.
9607
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +00009608 Fix for <rdar://problem/6093767>
9609 https://bugs.webkit.org/show_bug.cgi?id=20526
9610
9611 Don't allow video to render until unsupported track types have been disabled.
9612
9613 * platform/graphics/win/QTMovieWin.cpp:
9614 (QTMovieWinPrivate::task):
9615 (QTMovieWinPrivate::drawingComplete):
9616 (QTMovieWinPrivate::clearGWorld):
9617
96182008-08-29 Eric Carlson <eric.carlson@apple.com>
9619
9620 Reviewed by Adele.
9621
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +00009622 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
9623 <rdar://problem/6169301>
9624
9625 Return the size of the movie data instead of 1000.
9626
9627 Test: media/progress-event-total.html
9628
9629 * platform/graphics/win/QTMovieWin.cpp:
9630 (QTMovieWin::dataSize):
9631
hausmann@webkit.org0367b582008-08-29 15:56:02 +000096322008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
9633
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +00009634 Reviewed by Eric Seidel.
9635
9636 [janitor/qt] Start replacing port specific getters with the generic native getter
9637 To get the native presentation of an image we currently have platform
9638 specific #ifdef's and a generic getter using NativeImagePtr. This patch
9639 extends this to the ImageBuffer and updates the Qt platform to get rid
9640 of the special #ifdefs.
9641
9642 https://bugs.webkit.org/attachment.cgi?id=22861
9643
9644 * platform/graphics/BitmapImage.h:
9645 * platform/graphics/Image.h:
9646 * platform/graphics/qt/ImageQt.cpp:
9647 * platform/graphics/qt/StillImageQt.cpp:
9648 * platform/graphics/qt/StillImageQt.h:
9649 * platform/qt/ClipboardQt.cpp:
9650 (WebCore::ClipboardQt::createDragImage):
9651 (WebCore::ClipboardQt::declareAndWriteDragImage):
9652 * platform/qt/CursorQt.cpp:
9653 * platform/qt/PasteboardQt.cpp:
9654 (WebCore::Pasteboard::writeImage):
9655
96562008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
9657
hausmann@webkit.org0367b582008-08-29 15:56:02 +00009658 Reviewed by Simon.
9659
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +00009660 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
9661
9662 * svg/graphics/qt/SVGPaintServerQt.cpp:
9663 (WebCore::SVGPaintServer::renderPath):
9664 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
9665 (WebCore::SVGPaintServerSolid::setup):
9666
96672008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
9668
9669 Reviewed by Simon.
9670
hausmann@webkit.org0367b582008-08-29 15:56:02 +00009671 [network/qt] Implement defering of loading ResourceHandle's
9672 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
9673 implementation is simply not forwarding anything to the
9674 ResourceHandleClient until we are allowed to. This might lead to a deadlock
9675 in Qt as we do not empty the QNetworkReply input buffer and wait until we
9676 are allowed to read. If that happens we are forced to buffer the data
9677 within QNetworkReplyHandler, for now this is not done.
9678
9679 Manual test:
9680 - Open http://acid3.acidtests.org
9681 - Wait for the test to complete
9682 - Click on the Reference Rendering link
9683 - Be fast and see the results of acid3
9684 => assert
9685
9686 * platform/network/qt/QNetworkReplyHandler.cpp:
9687 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
9688 (WebCore::QNetworkReplyHandler::setLoadMode):
9689 (WebCore::QNetworkReplyHandler::finish):
9690 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
9691 (WebCore::QNetworkReplyHandler::forwardData):
9692 (WebCore::QNetworkReplyHandler::start):
9693 (WebCore::QNetworkReplyHandler::resetState):
9694 (WebCore::QNetworkReplyHandler::sendQueuedItems):
9695 * platform/network/qt/QNetworkReplyHandler.h:
9696 (WebCore::QNetworkReplyHandler::):
9697 * platform/network/qt/ResourceHandleQt.cpp:
9698 (WebCore::ResourceHandle::start):
9699 (WebCore::ResourceHandle::loadResourceSynchronously):
9700 (WebCore::ResourceHandle::setDefersLoading):
9701
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000097022008-08-29 Simon Hausmann <hausmann@webkit.org>
9703
hausmann@webkit.orgf5864402008-08-29 12:35:59 +00009704 Reviewed by Holger.
9705
9706 Don't crash when drawing patterns with the HTML canvas. Patterns
9707 remain unimplemented but at least they don't crash anymore. This is
9708 done by changing the PlatformPatternPtr to be a brush for the Qt
9709 platform.
9710
9711 * platform/graphics/Pattern.h:
9712 * platform/graphics/qt/GraphicsContextQt.cpp:
9713 (WebCore::GraphicsContext::fillPath):
9714 (WebCore::GraphicsContext::strokePath):
9715 (WebCore::GraphicsContext::fillRect):
9716 * platform/graphics/qt/PatternQt.cpp:
9717 (WebCore::Pattern::createPlatformPattern):
9718
97192008-08-29 Simon Hausmann <hausmann@webkit.org>
9720
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +00009721 Fix the Qt build, fontSelector() is not used by the Qt port yet
9722 and we just return 0 in Font::fontSelector().
9723
9724 * platform/graphics/Font.h:
9725
alp@webkit.org97d8c102008-08-29 05:09:39 +000097262008-08-28 Alp Toker <alp@nuanti.com>
9727
9728 GTK+ dist/build fix. List newly added header files.
9729
9730 * GNUmakefile.am:
9731
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +000097322008-08-28 Simon Fraser <simon.fraser@apple.com>
9733
9734 Reviewed by Dave Hyatt
9735
9736 Various WebKitCSSTransformValue-related fixes
9737 https://bugs.webkit.org/show_bug.cgi?id=20562
9738
9739 Test: css3/transform-value-types.html
9740
9741 * bindings/js/JSCSSValueCustom.cpp:
9742 (WebCore::toJS):
9743 * css/CSSValue.h:
9744 * css/WebKitCSSTransformValue.cpp:
9745 (WebCore::WebKitCSSTransformValue::cssText):
9746 * css/WebKitCSSTransformValue.h:
9747 (WebCore::WebKitCSSTransformValue::):
9748 * css/WebKitCSSTransformValue.idl:
9749
mitz@apple.comd7222352008-08-28 22:53:31 +000097502008-08-28 Dan Bernstein <mitz@apple.com>
9751
9752 Reviewed by Steve Falkenburg.
9753
9754 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
9755
9756 * platform/win/SharedTimerWin.cpp:
9757 (WebCore::TimerWindowWndProc):
9758
hyatt@apple.com7d335232008-08-28 21:38:45 +000097592008-08-28 David Hyatt <hyatt@apple.com>
9760
9761 RenderStyle cleanup.
9762
9763 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
9764
9765 Reviewed by Adam
9766
9767 * css/CSSImageGeneratorValue.cpp:
9768 * css/CSSImageValue.cpp:
9769 * css/CSSStyleSelector.cpp:
9770 * rendering/RenderImageGeneratedContent.cpp:
9771 * rendering/style/NinePieceImage.cpp: Added.
9772 * rendering/style/NinePieceImage.h: Added.
9773 * rendering/style/RenderStyle.cpp:
9774 (WebCore::FillLayer::operator==):
9775 (WebCore::FillLayer::containsImage):
9776 (WebCore::StyleInheritedData::operator==):
9777 (WebCore::RenderStyle::contentDataEquivalent):
9778 * rendering/style/RenderStyle.h:
9779 * rendering/style/StyleCachedImage.cpp: Added.
9780 * rendering/style/StyleCachedImage.h: Added.
9781 * rendering/style/StyleGeneratedImage.cpp: Added.
9782 * rendering/style/StyleGeneratedImage.h: Added.
9783 * rendering/style/StyleImage.h: Added.
9784
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +000097852008-08-28 Simon Fraser <simon.fraser@apple.com>
9786
9787 Reviewed by Dave Hyatt
9788
9789 Make all the 'isFoo()' methods on CSSValue const,
9790 and fix the subclasses.
9791
9792 https://bugs.webkit.org/show_bug.cgi?id=20561
9793
9794 * css/CSSTimingFunctionValue.h:
9795 * css/CSSValue.h:
9796 (WebCore::CSSValue::isFontValue):
9797 (WebCore::CSSValue::isImageGeneratorValue):
9798 (WebCore::CSSValue::isImageValue):
9799 (WebCore::CSSValue::isImplicitInitialValue):
9800 * css/CSSValueList.h:
9801 * css/FontValue.h:
9802
hyatt@apple.com550a95c2008-08-28 19:53:56 +000098032008-08-28 David Hyatt <hyatt@apple.com>
9804
hyatt@apple.comcb3eb812008-08-28 20:08:03 +00009805 The great RenderStyle cleanup begins!
9806
9807 Move LengthBox and LengthSize out of RenderStyle and into Length.
9808
9809 Reviewed by Adam
9810
9811 * rendering/Length.h:
9812 (WebCore::):
9813 (WebCore::Length::Length):
9814 (WebCore::Length::operator==):
9815 (WebCore::Length::operator!=):
9816 (WebCore::Length::value):
9817 (WebCore::Length::rawValue):
9818 (WebCore::Length::percent):
9819 (WebCore::Length::type):
9820 (WebCore::Length::quirk):
9821 (WebCore::Length::setValue):
9822 (WebCore::Length::setRawValue):
9823 (WebCore::Length::calcValue):
9824 (WebCore::Length::calcMinValue):
9825 (WebCore::Length::calcFloatValue):
9826 (WebCore::Length::isUndefined):
9827 (WebCore::Length::isZero):
9828 (WebCore::Length::isPositive):
9829 (WebCore::Length::isNegative):
9830 (WebCore::Length::isAuto):
9831 (WebCore::Length::isRelative):
9832 (WebCore::Length::isPercent):
9833 (WebCore::Length::isFixed):
9834 (WebCore::Length::isStatic):
9835 (WebCore::Length::isIntrinsicOrAuto):
9836 (WebCore::Length::blend):
9837 (WebCore::LengthBox::LengthBox):
9838 (WebCore::LengthBox::operator=):
9839 (WebCore::LengthBox::operator==):
9840 (WebCore::LengthBox::operator!=):
9841 (WebCore::LengthBox::nonZero):
9842 (WebCore::LengthSize::LengthSize):
9843 * rendering/style/RenderStyle.h:
9844
98452008-08-28 David Hyatt <hyatt@apple.com>
9846
hyatt@apple.com550a95c2008-08-28 19:53:56 +00009847 Reviewed by Darin
9848
9849 https://bugs.webkit.org/show_bug.cgi?id=18091
9850
9851 font-size should be animatable using -webkit-transition.
9852
9853 * page/AnimationController.cpp:
9854 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
9855 * rendering/style/RenderStyle.h:
9856 (WebCore::RenderStyle::setFontSize):
9857
mitz@apple.com30923ad2008-08-28 17:45:47 +000098582008-08-28 Brad Garcia <bgarcia@google.com>
9859
9860 Reviewed by Dan Bernstein.
9861
9862 https://bugs.webkit.org/show_bug.cgi?id=20549
9863 Correctly determine when cursor is over a resizable border within
9864 a nested frameset.
9865
9866 * rendering/RenderFrameSet.cpp:
9867 (WebCore::RenderFrameSet::canResizeRow):
9868 (WebCore::RenderFrameSet::canResizeColumn):
9869
simon.fraser@apple.comae77c412008-08-28 17:30:07 +000098702008-08-28 Simon Fraser <simon.fraser@apple.com>
9871
9872 Reviewed by Eric Seidel
9873
9874 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
9875 https://bugs.webkit.org/show_bug.cgi?id=20552
9876
9877 Test: animations/animation-css-rule-types.html
9878
9879 * css/CSSRule.idl:
9880
andersca@apple.com12399c32008-08-28 17:26:46 +000098812008-08-28 Anders Carlsson <andersca@apple.com>
9882
9883 Reviewed by Kevin and Darin.
9884
9885 <rdar://problem/6182541>
9886 https://bugs.webkit.org/show_bug.cgi?id=20202
9887 Missing http status line from the http headers.
9888
9889 Add a status line to the header string.
9890
9891 * plugins/PluginStream.cpp:
9892 (WebCore::PluginStream::startStream):
9893
zecke@webkit.orgf1daa422008-08-28 15:56:01 +000098942008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
9895
9896 Rubber-stamped by Darin Adler.
9897
9898 https://bugs.webkit.org/show_bug.cgi?id=17261
9899
9900 Make it possible to theme the default Url icon and enable this for
9901 the Qt port. To have a minimal usage of #ifdef in the code the setting
9902 of the icon was moved to a new method which comes in two flavors.
9903
9904 * loader/icon/IconDatabase.cpp:
9905 (WebCore::loadDefaultIconRecord): Load or set the default icon
9906 (WebCore::IconDatabase::defaultIcon):
9907
zecke@webkit.org1887dc82008-08-28 15:03:21 +000099082008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
9909
9910 Unreviewed compile fix
9911
9912 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
9913
aroben@apple.comfacf5032008-08-28 13:34:01 +000099142008-08-28 Adam Roben <aroben@apple.com>
9915
9916 Windows (and others?) build fix
9917
9918 * page/Chrome.cpp: Added a missing #include.
9919 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
9920
eric@webkit.org22794fd2008-08-28 12:04:40 +000099212008-08-27 Eric Seidel <eric@webkit.org>
9922
9923 Reviewed by Oliver Hunt.
9924
eric@webkit.org5f874e92008-08-28 12:04:55 +00009925 Qt and Cairo support from krit (and blind stab @ wx compile support)
9926 https://bugs.webkit.org/show_bug.cgi?id=20373
9927
9928 * platform/graphics/cairo/GraphicsContextCairo.cpp:
9929 (WebCore::GraphicsContext::fillPath):
9930 (WebCore::GraphicsContext::strokePath):
9931 (WebCore::GraphicsContext::drawPath):
9932 (WebCore::GraphicsContext::fillRect):
9933 (WebCore::GraphicsContext::setPlatformFillColor):
9934 (WebCore::GraphicsContext::setPlatformStrokeColor):
9935 (WebCore::GraphicsContext::setPlatformStrokeStyle):
9936 (WebCore::GraphicsContext::strokeRect):
9937 (WebCore::GraphicsContext::setImageInterpolationQuality):
9938 (WebCore::GraphicsContext::imageInterpolationQuality):
9939 (WebCore::GraphicsContext::setPlatformFillPattern):
9940 (WebCore::GraphicsContext::setPlatformStrokePattern):
9941 (WebCore::GraphicsContext::setPlatformFillGradient):
9942 (WebCore::GraphicsContext::setPlatformStrokeGradient):
9943 * platform/graphics/qt/GraphicsContextQt.cpp:
9944 (WebCore::GraphicsContext::fillPath):
9945 (WebCore::GraphicsContext::strokePath):
9946 (WebCore::GraphicsContext::fillRect):
9947 (WebCore::GraphicsContext::strokeRect):
9948 (WebCore::GraphicsContext::clipToImageBuffer):
9949 (WebCore::GraphicsContext::setPlatformFillPattern):
9950 (WebCore::GraphicsContext::setPlatformStrokePattern):
9951 (WebCore::GraphicsContext::setPlatformFillGradient):
9952 (WebCore::GraphicsContext::setPlatformStrokeGradient):
9953 (WebCore::GraphicsContext::setImageInterpolationQuality):
9954 (WebCore::GraphicsContext::imageInterpolationQuality):
9955 * platform/graphics/wx/GraphicsContextWx.cpp:
9956 (WebCore::GraphicsContext::clipToImageBuffer):
9957 (WebCore::GraphicsContext::setImageInterpolationQuality):
9958 (WebCore::GraphicsContext::imageInterpolationQuality):
9959 (WebCore::GraphicsContext::fillPath):
9960 (WebCore::GraphicsContext::strokePath):
9961 (WebCore::GraphicsContext::drawPath):
9962 (WebCore::GraphicsContext::fillRect):
9963 (WebCore::GraphicsContext::setPlatformFillPattern):
9964 (WebCore::GraphicsContext::setPlatformStrokePattern):
9965 (WebCore::GraphicsContext::setPlatformFillGradient):
9966
99672008-08-27 Eric Seidel <eric@webkit.org>
9968
9969 Reviewed by Oliver Hunt.
9970
eric@webkit.org22794fd2008-08-28 12:04:40 +00009971 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
9972 https://bugs.webkit.org/show_bug.cgi?id=20373
9973
9974 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
9975
9976 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
9977 have to store large Gradient objects in the GraphicsContextState
9978
9979 Made Pattern RefCounted for the same reason.
9980
9981 Many updates to GraphicsContext to support easier drawing with
9982 Patterns and Gradients.
9983
9984 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
9985 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
9986 (WebCore::toJS):
9987 * css/CSSGradientValue.cpp:
9988 (WebCore::CSSGradientValue::createGradient):
9989 * css/CSSGradientValue.h:
9990 * html/CanvasGradient.cpp:
9991 (WebCore::CanvasGradient::CanvasGradient):
9992 * html/CanvasGradient.h:
9993 (WebCore::CanvasGradient::gradient):
9994 (WebCore::CanvasGradient::addColorStop):
9995 (WebCore::CanvasGradient::getColor):
9996 * html/CanvasPattern.cpp:
9997 * html/CanvasPattern.h:
9998 (WebCore::CanvasPattern::pattern):
9999 (WebCore::CanvasPattern::originClean):
10000 * html/CanvasRenderingContext2D.cpp:
10001 (WebCore::CanvasRenderingContext2D::State::State):
10002 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
10003 (WebCore::CanvasRenderingContext2D::setFillStyle):
10004 (WebCore::CanvasRenderingContext2D::fill):
10005 (WebCore::CanvasRenderingContext2D::stroke):
10006 (WebCore::CanvasRenderingContext2D::fillRect):
10007 (WebCore::CanvasRenderingContext2D::strokeRect):
10008 * html/CanvasRenderingContext2D.h:
10009 * html/CanvasStyle.cpp:
10010 (WebCore::CanvasStyle::applyStrokeColor):
10011 (WebCore::CanvasStyle::applyFillColor):
10012 * html/CanvasStyle.h:
10013 * platform/graphics/GeneratedImage.h:
10014 (WebCore::GeneratedImage::GeneratedImage):
10015 * platform/graphics/Generator.h:
10016 * platform/graphics/Gradient.h:
10017 (WebCore::Gradient::create):
10018 * platform/graphics/GraphicsContext.cpp:
10019 (WebCore::GraphicsContext::fillRule):
10020 (WebCore::GraphicsContext::setFillRule):
10021 (WebCore::GraphicsContext::setStrokePattern):
10022 (WebCore::GraphicsContext::setFillPattern):
10023 (WebCore::GraphicsContext::setStrokeGradient):
10024 (WebCore::GraphicsContext::setFillGradient):
10025 * platform/graphics/GraphicsContext.h:
10026 * platform/graphics/GraphicsContextPrivate.h:
10027 (WebCore::):
10028 (WebCore::GraphicsContextState::GraphicsContextState):
10029 * platform/graphics/GraphicsTypes.h:
10030 * platform/graphics/Path.h:
10031 * platform/graphics/Pattern.h:
10032 (WebCore::Pattern::create):
10033 (WebCore::Pattern::tileImage):
10034 * platform/graphics/cg/GraphicsContextCG.cpp:
10035 (WebCore::GraphicsContext::drawRect):
10036 (WebCore::GraphicsContext::drawEllipse):
10037 (WebCore::GraphicsContext::drawConvexPolygon):
10038 (WebCore::calculateDrawingMode):
10039 (WebCore::GraphicsContext::drawPath):
10040 (WebCore::fillPathWithFillRule):
10041 (WebCore::GraphicsContext::fillPath):
10042 (WebCore::GraphicsContext::strokePath):
10043 (WebCore::GraphicsContext::fillRect):
10044 (WebCore::GraphicsContext::fillRoundedRect):
10045 (WebCore::GraphicsContext::setPlatformStrokePattern):
10046 (WebCore::GraphicsContext::setPlatformFillPattern):
10047 (WebCore::GraphicsContext::setPlatformStrokeGradient):
10048 (WebCore::GraphicsContext::setPlatformFillGradient):
10049
eric@webkit.org70b099f2008-08-28 11:42:26 +0000100502008-08-20 Eric Seidel <eric@webkit.org>
10051
10052 Reviewed by Darin and Alexey.
10053
10054 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
10055 with timeouts paused.
10056 https://bugs.webkit.org/show_bug.cgi?id=20469
10057
10058 I attempted to clean up the memory management of PausedTimeouts, I'm not
10059 sure the solution I came up with is "cleaner", but it's in some ways
10060 "safer", since it no longer uses raw pointers and manual new/delete.
10061
10062 This also now prevents CachedPage from needlessly creating Window
10063 objects when caching pages which didn't already have one. :)
10064
10065 I also made Chrome.cpp no longer depend on the JavaScript bindings
10066 (aka JSDOMWindowBase.h), since there was no real reason for it to.
10067
10068 * bindings/js/JSDOMWindowBase.cpp:
10069 (WebCore::JSDOMWindowBase::pauseTimeouts):
10070 (WebCore::JSDOMWindowBase::resumeTimeouts):
10071 * bindings/js/JSDOMWindowBase.h:
10072 * bindings/js/ScriptController.cpp:
10073 (WebCore::ScriptController::pauseTimeouts):
10074 (WebCore::ScriptController::resumeTimeouts):
10075 * bindings/js/ScriptController.h:
10076 * history/CachedPage.cpp:
10077 (WebCore::CachedPage::CachedPage):
10078 (WebCore::CachedPage::restore):
10079 * page/Chrome.cpp:
10080 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
10081 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
10082 * page/JavaScriptDebugServer.cpp:
10083 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
10084 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
10085
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000100862008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
10087
10088 Unreviewed compile fix
10089
10090 Add the stub for the Qt port.
10091
10092 * WebCore.pro:
10093 * page/qt/AccessibilityObjectQt.cpp: Added.
10094 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10095
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000100962008-08-27 Alp Toker <alp@nuanti.com>
10097
10098 Reviewed by Eric.
10099
10100 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000010101 [GTK] search popup crash
10102
10103 * platform/gtk/SearchPopupMenuGtk.cpp:
10104 (WebCore::SearchPopupMenu::enabled):
10105 Fix a search popup crasher by disabling the history popup since we
10106 don't support this feature yet in the GTK+ port.
10107
101082008-08-27 Alp Toker <alp@nuanti.com>
10109
10110 Reviewed by Eric.
10111
10112 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000010113 [GTK] curl crashers
10114
10115 * platform/network/curl/ResourceHandleManager.cpp:
10116 (WebCore::ResourceHandleManager::startScheduledJobs):
10117 Remove the resource handle from the pending list before starting the
10118 job, not afterwards. Fixes crashers in the test suite.
10119
10120 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
10121 Test: fast/encoding/char-encoding.html
10122
eric@webkit.org712cb892008-08-28 00:26:15 +0000101232008-08-27 Dirk Schulze <vbs85@gmx.de>
10124
10125 Reviewed by eseidel.
10126
10127 Fix canvas drawImage to support composite operations.
10128 Composite had no effect on canvas elements like these:
10129 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
10130
10131 [CAIRO] Canvas composite don't work on canvas-elements.
10132 https://bugs.webkit.org/show_bug.cgi?id=20548
10133
10134 * html/CanvasRenderingContext2D.cpp:
10135 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
10136
eric@webkit.org75c83a02008-08-28 00:04:59 +0000101372008-08-27 Mario Bensi <mbensi@pleyo.com>
10138
10139 Reviewed by Eric Seidel.
10140
10141 Fix the data content of an image with a base64.
10142
10143 * platform/network/curl/ResourceHandleManager.cpp:
10144 (WebCore::parseDataUrl): Remove the String and use only the data
10145 Vector because the data.latin1().data() convert the data content and
10146 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
10147 not drawn correctly.
10148
antti@apple.comf66a86b2008-08-27 23:59:50 +0000101492008-08-27 Antti Koivisto <antti@apple.com>
10150
10151 Reviewed by Eric Seidel.
10152
10153 Crash after OK in dialog box and reloading page in secure mode
10154 https://bugs.webkit.org/show_bug.cgi?id=20493
10155
10156 The new run loop spawned by a modal dialog causes a timer in the loader to run
10157 synchronously inside didFinishLoading() deleting "this" object.
10158
10159 Defer all WebCore timers when a modal dialog is up. They are not
10160 safe to execute.
10161
10162 * page/Chrome.cpp:
10163 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
10164 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
10165
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000101662008-08-27 Chris Marrin <cmarrin@apple.com>
10167
10168 Reviewed by Dave Hyatt
10169
10170 Memory leaks when animating transforms
10171 https://bugs.webkit.org/show_bug.cgi?id=20532
10172
10173 * rendering/style/RenderStyle.cpp:
10174 (WebCore::ScaleTransformOperation::blend):
10175 (WebCore::RotateTransformOperation::blend):
10176 (WebCore::SkewTransformOperation::blend):
10177 (WebCore::TranslateTransformOperation::blend):
10178 (WebCore::MatrixTransformOperation::blend):
10179 * rendering/style/RenderStyle.h:
10180
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000101812008-08-27 Timothy Hatcher <timothy@apple.com>
10182
10183 Add support for support for -webkit-appearance: default-button on the Mac platform.
10184
10185 <rdar://problem/6173530>
10186
10187 Reviewed by Dave Hyatt.
10188
10189 * WebCore.base.exp: Export new symbols.
10190 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
10191 * platform/mac/WebCoreSystemInterface.mm: Ditto.
10192 * rendering/RenderButton.cpp:
10193 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
10194 (WebCore::RenderButton::setStyle): Ditto.
10195 * rendering/RenderButton.h: Ditto.
10196 * rendering/RenderThemeMac.mm:
10197 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
10198 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
10199 key if the button is default, otherwise reset the key equivalent.
10200 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
10201 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
10202 the window's previous default button cell when finished.
10203
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000102042008-08-26 David Hyatt <hyatt@apple.com>
10205
10206 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
10207
10208 Reviewed by weinig
10209
10210 Added fast/forms/zoomed-controls.html
10211
10212 * css/CSSStyleSelector.cpp:
10213 (WebCore::addIntrinsicMargins):
10214 * rendering/RenderSlider.cpp:
10215 (WebCore::RenderSlider::calcPrefWidths):
10216 * rendering/RenderThemeMac.h:
10217 * rendering/RenderThemeMac.mm:
10218 (WebCore::RenderThemeMac::adjustRepaintRect):
10219 (WebCore::RenderThemeMac::inflateRect):
10220 (WebCore::RenderThemeMac::baselinePosition):
10221 (WebCore::RenderThemeMac::setControlSize):
10222 (WebCore::RenderThemeMac::sizeForFont):
10223 (WebCore::RenderThemeMac::sizeForSystemFont):
10224 (WebCore::RenderThemeMac::setFontFromControlSize):
10225 (WebCore::RenderThemeMac::paintCheckbox):
10226 (WebCore::RenderThemeMac::setCheckboxCellState):
10227 (WebCore::RenderThemeMac::paintRadio):
10228 (WebCore::RenderThemeMac::setRadioCellState):
10229 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
10230 (WebCore::RenderThemeMac::adjustButtonStyle):
10231 (WebCore::RenderThemeMac::setButtonCellState):
10232 (WebCore::RenderThemeMac::paintButton):
10233 (WebCore::RenderThemeMac::paintMenuList):
10234 (WebCore::RenderThemeMac::paintMenuListButton):
10235 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
10236 (WebCore::RenderThemeMac::popupInternalPaddingRight):
10237 (WebCore::RenderThemeMac::popupInternalPaddingTop):
10238 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
10239 (WebCore::RenderThemeMac::setPopupButtonCellState):
10240 (WebCore::RenderThemeMac::paintSliderTrack):
10241 (WebCore::RenderThemeMac::paintSliderThumb):
10242 (WebCore::RenderThemeMac::adjustSliderThumbSize):
10243 (WebCore::RenderThemeMac::paintSearchField):
10244 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
10245 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
10246 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
10247
beidson@apple.comd0793872008-08-27 19:59:55 +0000102482008-08-27 Brady Eidson <beidson@apple.com>
10249
10250 Reviewed by Anders
10251
10252 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
10253
10254 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
10255 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
10256 away the virtual address space and a crash.
10257
10258 * loader/EmptyClients.h:
10259 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
10260 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
10261 "plugin will handle load"
10262
10263 * loader/MediaDocument.cpp:
10264 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
10265 and cancel the WebCore-managed load
10266 (WebCore::MediaTokenizer::writeRawData):
10267 (WebCore::MediaTokenizer::finish):
10268
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000102692008-08-26 Simon Fraser <simon.fraser@apple.com>
10270
10271 Reviewed by Eric Seidel
10272
10273 Linear timing functions should have control points 0, 0, 1, 1.
10274 https://bugs.webkit.org/show_bug.cgi?id=20535
10275
10276 * css/CSSStyleSelector.cpp:
10277 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
10278 * rendering/style/RenderStyle.h:
10279
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000102802008-08-27 Adam Roben <aroben@apple.com>
10281
10282 Windows build fix
10283
10284 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
10285
mrowe@apple.com37686d42008-09-04 00:10:39 +0000102862008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000010287
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000010288 Reviewed by Beth Dakin.
10289
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000010290 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
10291
10292 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
10293 to determine if an attachment is ignored through accessibility. Added equivalent
10294 methods in Gtk, Win and Mac
10295
10296 Test: accessibility/plugin.html
10297
10298 * GNUmakefile.am:
10299 * WebCore.vcproj/WebCore.vcproj:
10300 * WebCore.xcodeproj/project.pbxproj:
10301 * page/AccessibilityObject.h:
10302 * page/AccessibilityRenderObject.cpp:
10303 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
10304 * page/gtk/AccessibilityObjectAtk.cpp: Added.
10305 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10306 * page/mac/AccessibilityObjectMac.mm: Added.
10307 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10308 * page/mac/AccessibilityObjectWrapper.h:
10309 * page/win/AccessibilityObjectWin.cpp: Added.
10310 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
10311
mrowe@apple.com37686d42008-09-04 00:10:39 +0000103122008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000010313
10314 Reviewed by Beth Dakin.
10315
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000010316 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
10317
10318 * page/mac/AccessibilityObjectWrapper.mm:
10319 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
10320 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
10321
mrowe@apple.com37686d42008-09-04 00:10:39 +0000103222008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000010323
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000010324 Reviewed by Darin Adler.
10325
10326 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
10327
10328 Tests: accessibility/table-notbody.html
10329
10330 * page/AccessibilityTable.cpp:
10331 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
10332
weinig@apple.com33705852008-08-26 19:51:28 +0000103332008-08-26 Sam Weinig <sam@webkit.org>
10334
weinig@apple.comf6f553a2008-08-26 21:21:26 +000010335 Reviewed by Beth Dakin.
10336
10337 Fix typo.
10338
10339 * dom/DOMCoreException.h:
10340
103412008-08-26 Sam Weinig <sam@webkit.org>
10342
weinig@apple.com0f34f002008-08-26 19:56:54 +000010343 Reviewed by Oliver Hunt.
10344
10345 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
10346 <rdar://problem/6167660>
10347 Take image redirects into account when tainting the canvas.
10348
10349 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
10350
10351 * html/CanvasRenderingContext2D.cpp:
10352 (WebCore::CanvasRenderingContext2D::drawImage):
10353 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10354
103552008-08-26 Sam Weinig <sam@webkit.org>
10356
weinig@apple.com33705852008-08-26 19:51:28 +000010357 Reviewed by Darin Adler.
10358
10359 Change canvas tainting logic to ask the image if it contains
10360 any resources outside of its own origin. Since there is no
10361 way to determine if SVG images contain any resources outside its
10362 origin, we always assume it does.
10363
10364 * html/CanvasRenderingContext2D.cpp:
10365 (WebCore::CanvasRenderingContext2D::drawImage):
10366 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10367 * platform/graphics/BitmapImage.h:
10368 (WebCore::BitmapImage::hasSingleSecurityOrigin):
10369 * platform/graphics/GeneratedImage.h:
10370 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
10371 * platform/graphics/Image.h:
10372 (WebCore::Image::hasSingleSecurityOrigin):
10373 * platform/graphics/cg/PDFDocumentImage.h:
10374 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
10375 * svg/graphics/SVGImage.h:
10376
britto@apple.com616ef6d2008-08-26 17:51:03 +0000103772008-08-26 Maxime Britto <britto@apple.com>
10378
10379 Reviewed by Adele.
10380
10381 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
10382 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.
10383 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.
10384
10385 * page/EventHandler.cpp:
10386 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
10387 * page/EventHandler.h:
10388 * rendering/RenderLayer.cpp:
10389 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
10390 (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.
10391 * rendering/RenderLayer.h:
10392 * rendering/RenderObject.cpp:
10393 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
10394 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
10395 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
10396
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000103972008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
10398
darin@apple.com07c80c62008-09-05 18:15:43 +000010399 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000010400
10401 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
10402 https://bugs.webkit.org/show_bug.cgi?id=20247
10403
10404 <rdar://problem/6118218>
10405
10406 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
10407 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
10408 (case insensitive for HTML elements).
10409
10410 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
10411
10412 * dom/Element.cpp:
10413 (WebCore::Element::getAttribute):
10414 * dom/NamedAttrMap.cpp:
10415 (WebCore::NamedAttrMap::getNamedItem):
10416 (WebCore::NamedAttrMap::getAttributeItem):
10417 * dom/NamedAttrMap.h:
10418
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000104192008-08-25 Sam Weinig <sam@webkit.org>
10420
weinig@apple.com8d3ea722008-08-26 04:19:07 +000010421 Reviewed by Oliver Hunt.
10422
10423 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
10424 <rdar://problem/6174096>
10425 Treat SVG images as dirty when drawing to a canvas.
10426
10427 Test: http/tests/security/canvas-remote-read-svg-image.html
10428
10429 * html/CanvasRenderingContext2D.cpp:
10430 (WebCore::CanvasRenderingContext2D::drawImage):
10431 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
10432 * platform/graphics/Image.h:
10433 (WebCore::Image::isSVGImage):
10434 * svg/graphics/SVGImage.h:
10435 (WebCore::SVGImage::isSVGImage):
10436
104372008-08-25 Sam Weinig <sam@webkit.org>
10438
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000010439 Reviewed by Mark Rowe.
10440
10441 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
10442 Leak in XMLHttpRequest.
10443
10444 * xml/XMLHttpRequest.cpp:
10445 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
10446
beidson@apple.com46421212008-08-25 21:48:56 +0000104472008-08-25 Brady Eidson <beidson@apple.com>
10448
10449 Reviewed by Anders
10450
10451 Speculative fix for <rdar://problem/6173217>
10452
10453 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
10454 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
10455 the first null check invalid.
10456
10457 * loader/FrameLoader.cpp:
10458 (WebCore::FrameLoader::stopAllLoaders):
10459
10460
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000104612008-08-25 Kevin McCullough <kmccullough@apple.com>
10462
10463 Reviewed by Tim.
10464
10465 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
10466 there is no profile, can cause crash
10467
10468 * page/inspector/ProfilesPanel.js:
10469
dino@apple.com1baeea62008-08-25 21:06:21 +0000104702008-08-25 Dean Jackson <dino@apple.com>
10471
10472 Reviewed by Dave Hyatt
10473
10474 Make sure 'inherit' is handled by transition property.
10475 https://bugs.webkit.org/show_bug.cgi?id=20513
10476
10477 Test: transitions/inherit.html
10478 Test: transitions/inherit-other-props.html
10479
10480 * css/CSSStyleSelector.cpp:
10481 fix macro to check existence of list before getting size
10482
andersca@apple.com2866b8302008-08-25 20:56:21 +0000104832008-08-25 Anders Carlsson <andersca@apple.com>
10484
10485 Reviewed by Mark.
10486
10487 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
10488
10489 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
10490 (safely) that any class that needs finalization on the main thread will also need to be deallocated
10491 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
10492 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
10493
10494 * platform/mac/WebCoreObjCExtras.c:
10495 (WebCoreObjCFinalizeOnMainThread):
10496
antti@apple.com60381cb2008-08-25 20:41:11 +0000104972008-08-25 Antti Koivisto <antti@apple.com>
10498
10499 Reviewed by Dan Bernstein.
10500
10501 Rename CachedResource::referenced() to CachedResource::hasClients() to
10502 match previous ref() -> addClient() rename.
10503
10504 * loader/Cache.cpp:
10505 (WebCore::Cache::pruneLiveResources):
10506 (WebCore::Cache::pruneDeadResources):
10507 (WebCore::Cache::remove):
10508 (WebCore::Cache::getStatistics):
10509 (WebCore::Cache::dumpLRULists):
10510 * loader/CachedResource.cpp:
10511 (WebCore::CachedResource::addClient):
10512 (WebCore::CachedResource::removeClient):
10513 (WebCore::CachedResource::setDecodedSize):
10514 (WebCore::CachedResource::setEncodedSize):
10515 * loader/CachedResource.h:
10516 (WebCore::CachedResource::hasClients):
10517 (WebCore::CachedResource::canDelete):
10518
timothy@apple.com7d809242008-08-25 18:33:05 +0000105192008-08-25 Anthony Ricaud <rik24d@gmail.com>
10520
10521 Add a missing Inspector localized string for "other".
10522
10523 https://bugs.webkit.org/show_bug.cgi?id=20509
10524
10525 Reviewed by Tim Hatcher.
10526
10527 * English.lproj/localizedStrings.js:
10528
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000105292008-08-22 Kevin McCullough <kmccullough@apple.com>
10530
10531 Reviewed by Geoff, Mark and Tim.
10532
10533 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
10534 in the console said what file and line number they came from
10535 - Lay the foundation for getting line numbers and other data from the
10536 JavaScript engine.
10537
10538 * ForwardingHeaders/VM: Added.
10539 * ForwardingHeaders/VM/Machine.h: Added.
10540 * page/Console.cpp: Gather the line number and file information when
10541 profileEnd has been called, but don't use it until didFinishProfiling is
10542 called. We won't need to wait once we remove the profiler "zombie" mode
10543 which this patch helps pave the foundation for.
10544 (WebCore::Console::Console):
10545 (WebCore::Console::profileEnd):
10546 (WebCore::Console::finishedProfiling):
10547 * page/Console.h:
10548 * page/InspectorController.cpp: Modify calls to
10549 addProfileMessageToConsole to satisfy the new arguments it takes.
10550 (WebCore::InspectorController::finishedProfiling):
10551 (WebCore::InspectorController::addProfile):
10552 (WebCore::InspectorController::addProfileMessageToConsole):
10553 (WebCore::InspectorController::finishedProfiling):
10554 * page/InspectorController.h:
10555
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000105562008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
10557
10558 Reviewed by Simon.
10559
10560 [inspector] Update the WebKit.qrc Qt resources file
10561 Catchup with the changes in the directory.
10562
10563 * page/inspector/WebKit.qrc:
10564
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000105652008-08-25 Dirk Schulze <vbs85@gmx.de>
10566
10567 Reviewed by Simon.
10568
10569 Transformed the radian to degree, to get rotate()
10570 in canvas work as expected.
10571
10572 [Qt] Canvas.rotate() doesn't work
10573 https://bugs.webkit.org/show_bug.cgi?id=20496
10574
10575 * platform/graphics/qt/GraphicsContextQt.cpp:
10576 (WebCore::GraphicsContext::rotate):
10577
sfalken@apple.com9d442862008-08-25 05:43:33 +0000105782008-08-24 Steve Falkenburg <sfalken@apple.com>
10579
10580 Add a "last chance" WM_TIMER to the Windows shared timer.
10581
10582 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
10583 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
10584 timers if a timer with an earlier expiration is already pending. This results in no timers
10585 firing from that point on.
10586
10587 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
10588 buggy window message hook.
10589
10590 This timer will start when the first WM_TIMER is scheduled, and will
10591 fire every 5 seconds thereafter, causing any lost timers to be fired.
10592
10593 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
10594 and prevents the WebFrame leak.
10595
10596 Reviewed by Darin Adler, Geoff Garen.
10597
10598 * platform/win/SharedTimerWin.cpp:
10599 (WebCore::):
10600 (WebCore::TimerWindowWndProc):
10601 (WebCore::setSharedTimerFireTime):
10602
mitz@apple.com771fb752008-08-25 03:22:44 +0000106032008-08-24 Dan Bernstein <mitz@apple.com>
10604
10605 Reviewed by Darin Adler.
10606
10607 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
10608
10609 Test: fast/css/font-property-priority.html
10610
10611 * css/CSSParser.cpp:
10612 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
10613 to the font-property-parsing functions.
10614 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
10615 changed to use it rather than the m_important member.
10616 (WebCore::CSSParser::parseFontVariant): Ditto.
10617 (WebCore::CSSParser::parseFontWeight): Ditto.
10618 * css/CSSParser.h:
10619
timothy@apple.com4cea2632008-08-24 22:28:44 +0000106202008-08-24 Timothy Hatcher <timothy@apple.com>
10621
10622 Fixes a bug where the Inspector's UI would not animate or
10623 fully function because JavaScript timeouts, intervals and
10624 CSS animation timers where not firing while paused at a
10625 a breakpoint in the inspected page.
10626
10627 https://bugs.webkit.org/show_bug.cgi?id=20042
10628
10629 Reviewed by Darin Adler.
10630
10631 Test: manual-tests/inspector/forzen-ui-while-paused.html
10632
10633 * page/JavaScriptDebugServer.cpp:
10634 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
10635 Add a call to TimerBase::fireTimersInNestedEventLoop before
10636 spinning the EventLoop.
10637
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000106382008-08-24 Rob Buis <buis@kde.org>
10639
10640 Reviewed by Sam Weinig.
10641
10642 https://bugs.webkit.org/show_bug.cgi?id=20324
10643 A change in SVG Glyph wont show up
10644
10645 Invalidate the glyph cache when the d attribute is set.
10646
10647 Test: svg/custom/glyph-setting-d-attribute.svg
10648
10649 * svg/SVGGlyphElement.cpp:
10650 (WebCore::SVGGlyphElement::invalidateGlyphCache):
10651 (WebCore::SVGGlyphElement::parseMappedAttribute):
10652 (WebCore::SVGGlyphElement::insertedIntoDocument):
10653 (WebCore::SVGGlyphElement::removedFromDocument):
10654 * svg/SVGGlyphElement.h:
10655
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000106562008-08-24 Dan Bernstein <mitz@apple.com>
10657
10658 Reviewed by Sam Weinig.
10659
10660 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
10661 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
10662
10663 * rendering/RenderText.cpp:
10664 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
10665 beginWS and endWS before the early return to ensure that they are
10666 initialized in that case.
10667
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000106682008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
10669
10670 Rubber-stamped by Mark Rowe.
10671
10672 Remove modelines.
10673
10674 * WebCore.pro:
10675 * bridge/testbindings.cpp:
10676 * dom/DocPtr.h:
10677 * loader/SubstituteData.h:
10678 * page/Chrome.cpp:
10679 * page/Chrome.h:
10680 * page/ChromeClient.h:
10681 * page/Frame.h:
10682 * page/FrameLoadRequest.h:
10683 * page/FrameTree.cpp:
10684 * page/FrameTree.h:
10685 * page/Page.h:
10686 * page/mac/ChromeMac.mm:
10687 * platform/network/HTTPHeaderMap.h:
10688 * platform/network/ResourceErrorBase.cpp:
10689 * platform/network/ResourceErrorBase.h:
10690 * platform/network/ResourceHandleInternal.h:
10691 * platform/network/ResourceRequestBase.cpp:
10692 * platform/network/ResourceRequestBase.h:
10693 * platform/network/ResourceResponseBase.cpp:
10694 * platform/network/ResourceResponseBase.h:
10695 * platform/network/cf/ResourceError.h:
10696 * platform/network/cf/ResourceRequest.h:
10697 * platform/network/cf/ResourceRequestCFNet.h:
10698 * platform/network/cf/ResourceResponse.h:
10699 * platform/network/cf/ResourceResponseCFNet.h:
10700 * platform/network/curl/ResourceError.h:
10701 * platform/network/curl/ResourceRequest.h:
10702 * platform/network/curl/ResourceResponse.h:
10703 * platform/network/mac/ResourceError.h:
10704 * platform/network/mac/ResourceErrorMac.mm:
10705 * platform/network/mac/ResourceRequest.h:
10706 * platform/network/mac/ResourceRequestMac.mm:
10707 * platform/network/mac/ResourceResponse.h:
10708 * platform/network/mac/ResourceResponseMac.mm:
10709 * platform/network/qt/ResourceError.h:
10710 * platform/network/qt/ResourceRequest.h:
10711 * platform/network/qt/ResourceResponse.h:
10712 * platform/network/soup/CookieJarSoup.cpp:
10713 * platform/network/soup/ResourceError.h:
10714 * platform/network/soup/ResourceRequest.h:
10715 * platform/network/soup/ResourceResponse.h:
10716
mitz@apple.com57a2f482008-08-23 07:16:41 +0000107172008-08-23 Dan Bernstein <mitz@apple.com>
10718
10719 Reviewed by Dave Hyatt.
10720
10721 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
10722
10723 Test: fast/table/vertical-align-baseline.html
10724
10725 * rendering/RenderTable.cpp:
10726 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
10727 baseline of the first table row, if there is one, -1 otherwise.
10728 * rendering/RenderTable.h:
10729 * rendering/RenderTableCell.cpp:
10730 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
10731 CSS2.1 definition of the baseline of a table cell.
10732 * rendering/RenderTableSection.cpp:
10733 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
10734 the baseline of the first row in the section.
10735 * rendering/RenderTableSection.h:
10736
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000107372008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
10738
10739 Add SPI to make a Windows WebView transparent.
10740
10741 Reviewed by Dan Bernstein.
10742
10743 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
10744 determines whether the created context has an alpha channel.
10745 * platform/graphics/win/GraphicsContextCGWin.cpp:
10746 (WebCore::CGContextWithHDC):
10747
timothy@apple.comb63d1172008-08-22 18:39:42 +0000107482008-08-22 Timothy Hatcher <timothy@apple.com>
10749
timothy@apple.com964022d2008-08-22 20:35:20 +000010750 Rolls out r35834 because it caused a regression in the Inspector's
10751 Console where some expressions always threw a syntax error.
10752
10753 https://bugs.webkit.org/show_bug.cgi?id=20487
10754
10755 * page/inspector/Console.js:
10756 (Console.prototype._evalInInspectedWindow): Removes parenthesis
10757 around the expression.
10758
107592008-08-22 Timothy Hatcher <timothy@apple.com>
10760
timothy@apple.com056d4782008-08-22 18:39:52 +000010761 Makes getStyleProperty return a value for the overflow property
10762 when overflow-x and overflow-y are equal.
10763
10764 https://bugs.webkit.org/show_bug.cgi?id=20485
10765
10766 Reviewed by Dan Bernstein.
10767
10768 Test: fast/css/overflow-property.html
10769
10770 * css/CSSMutableStyleDeclaration.cpp:
10771 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
10772
107732008-08-22 Timothy Hatcher <timothy@apple.com>
10774
timothy@apple.comb63d1172008-08-22 18:39:42 +000010775 Fixes a bug where while editing in the Inspector the
10776 sidebar scroll position would jump to the top.
10777
10778 https://bugs.webkit.org/show_bug.cgi?id=20484
10779
10780 Reviewed by Darin Adler.
10781
10782 * page/inspector/treeoutline.js:
10783 (TreeOutline._removeChildren): Remove the offsetTop call that
10784 was forcing a layout, since layout causes scroll positions
10785 to be clamped to the new scrollHeight/Width. Layout will happen
10786 normally when needed.
10787
kevino@webkit.org8271c842008-08-22 16:25:52 +0000107882008-08-22 Kevin Ollivier <kevino@theolliviers.com>
10789
10790 wx build fix. Add AccessibilityTable sources.
10791
10792 * WebCoreSources.bkl:
10793
mitz@apple.com9befc872008-08-22 06:29:33 +0000107942008-08-21 Dan Bernstein <mitz@apple.com>
10795
10796 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
10797
10798 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
10799
10800 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
10801
10802 * platform/graphics/mac/SimpleFontDataMac.mm:
10803 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
10804 ascent and 100% to its reported descent.
10805
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000108062008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
10807
10808 Reviewed by Darin Adler.
10809
mrowe@apple.com22eaa172008-08-22 02:10:15 +000010810 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000010811 [GTK] Crash on some pages due to a plugin
10812
10813 Fix handling of badly formatted and empty plugin mime descriptions
10814
10815 * plugins/gtk/PluginPackageGtk.cpp:
10816 (WebCore::PluginPackage::fetchInfo):
10817
mrowe@apple.com798b3432008-08-22 02:07:48 +0000108182008-08-21 Kevin Watters <kevinwatters@gmail.com>
10819
10820 Reviewed by Darin Adler.
10821
10822 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
10823 animated GIF frame duration of less than 50ms.
10824
10825 * platform/graphics/wx/ImageSourceWx.cpp:
10826 (WebCore::ImageSource::frameDurationAtIndex):
10827
britto@apple.com8ed72772008-08-22 00:39:39 +0000108282008-08-21 Maxime Britto <britto@apple.com>
10829
10830 Reviewed by Kevin McCullough.
10831
10832 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
10833 https://bugs.webkit.org/show_bug.cgi?id=20451
10834
10835 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
10836 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
10837 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
10838
10839 * page/EventHandler.cpp:
10840 (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.
10841
10842 (WebCore::EventHandler::handleMousePressEvent): ditto
10843
timothy@apple.com5d492192008-08-21 23:54:01 +0000108442008-08-21 Anthony Ricaud <rik24d@gmail.com>
10845
10846 Small optimization for when the dividers in the Inspector's
10847 Resources panel are updated.
10848
10849 Reviewed by Tim Hatcher.
10850
10851 * page/inspector/ResourcesPanel.js:
10852 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
10853 Combind a for loop and clone the divider element.
10854
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000108552008-08-21 Chris Marrin <cmarrin@apple.com>
10856
10857 Allow 0 (without units) for Time eg. duration
10858 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
10859
10860 Reviewed by Dave Hyatt.
10861
10862 Test: css1/units/zero-duration-without-units.html
10863
10864 * css/CSSParser.cpp:
10865 (WebCore::CSSParser::validUnit):
10866
timothy@apple.com29c12d02008-08-21 20:12:47 +0000108672008-08-21 Timothy Hatcher <timothy@apple.com>
10868
timothy@apple.comca11cd82008-08-21 20:13:12 +000010869 Make deleting all text while editing a DOM attribute in
10870 the Inspector delete the attribute. This also fixes
10871 an exception that would happen before.
10872
10873 https://bugs.webkit.org/show_bug.cgi?id=20472
10874
10875 Reviewed by Kevin McCullough.
10876
10877 * page/inspector/ElementsPanel.js:
10878 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
10879 Don't check for hasAttributes on the parseElement, continuing
10880 through the function will correctly remove the attribute.
10881 If the parseElement is null, call _editingCancelled not
10882 editingCancelled, this fixes an exception.
10883
108842008-08-21 Timothy Hatcher <timothy@apple.com>
10885
timothy@apple.comde831cf2008-08-21 20:12:59 +000010886 Update the Inspector's Metrics pane when editing in
10887 the Styles pane. This makes sure the metrics shown
10888 always match what the Styles pane shows.
10889
10890 https://bugs.webkit.org/show_bug.cgi?id=20470
10891
10892 Reviewed by Kevin McCullough.
10893
10894 * page/inspector/ElementsPanel.js:
10895 (WebInspector.ElementsPanel): Add event listeners for
10896 the "style edited" and "style property toggled" events,
10897 so the Metrics pane is updated.
10898 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
10899 Update the Metrics pane.
10900 * page/inspector/StylesSidebarPane.js:
10901 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
10902 Dispatch the "style property toggled" event.
10903 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
10904 Dispatch the "style edited" event when the CSS text is restored.
10905 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
10906 Dispatch the "style edited" event.
10907
109082008-08-21 Timothy Hatcher <timothy@apple.com>
10909
timothy@apple.com29c12d02008-08-21 20:12:47 +000010910 Make the Inspector's Metrics sidebar pane editable.
10911
10912 https://bugs.webkit.org/show_bug.cgi?id=17218
10913 rdar://problem/5732818
10914
10915 Reviewed by Kevin McCullough.
10916
10917 * page/inspector/ElementsPanel.js:
10918 (WebInspector.ElementsPanel): Add an event listener for
10919 the "metrics edited" event, so the Styles pane is updated.
10920 * page/inspector/MetricsSidebarPane.js:
10921 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
10922 so future updates work. Add a double click event listener for the
10923 metric values to start editing.
10924 (WebInspector.MetricsSidebarPane.prototype.startEditing):
10925 Call WebInspector.startEditing with some context.
10926 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
10927 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
10928 Set the user input on the elements inline style. Fire the
10929 "metrics edited" event.
10930
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000109312008-08-21 Steve Falkenburg <sfalken@apple.com>
10932
10933 Fix a race condition in Windows timer code.
10934 Timer function could end up being called with a 0 timer, leading to a Windows exception.
10935
10936 Don't post a timer message if one is already pending.
10937
10938 Reviewed by Ada Chan.
10939
10940 * platform/win/SharedTimerWin.cpp:
10941 (WebCore::TimerWindowWndProc):
10942 (WebCore::clearTimer):
10943 (WebCore::queueTimerProc):
10944 (WebCore::setSharedTimerFireTime):
10945
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000109462008-08-21 Anthony Ricaud <rik24d@gmail.com>
10947
timothy@apple.com493212c72008-08-21 16:36:06 +000010948 After trying to add the expression, try again with quotes for
10949 easier edition.
10950
10951 https://bugs.webkit.org/show_bug.cgi?id=20466
10952
10953 Reviewed by Tim Hatcher.
10954
10955 * page/inspector/ObjectPropertiesSection.js: Added an
10956 evaluateExpression function.
10957
109582008-08-21 Anthony Ricaud <rik24d@gmail.com>
10959
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000010960 Perform Inspector searches on search event to clear results when
10961 clicking the cross to empty it. Delete the lastQuery when the field
10962 is emptied in order to perform the search if exactly the same query
10963 is entered next.
10964
10965 https://bugs.webkit.org/show_bug.cgi?id=20462
10966
10967 Reviewed by Tim Hatcher.
10968
10969 * page/inspector/inspector.js:
10970
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000109712008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
10972
10973 Reviewed by Mark Rowe.
10974
10975 http://bugs.webkit.org/show_bug.cgi?id=19656
10976 [SOUP] The gio code should call didFail() instead of
10977 didFinishLoading() in case of error
10978
10979 In case of error call didFail() instead of didReceiveResponse() and
10980 didFinishLoading().
10981
10982 * platform/network/soup/ResourceHandleSoup.cpp:
10983 (WebCore::networkErrorForFile):
10984 (WebCore::readCallback):
10985 (WebCore::openCallback):
10986 (WebCore::queryInfoCallback):
10987
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000109882008-08-20 Mark Rowe <mrowe@apple.com>
10989
mrowe@apple.com4e593f42008-08-21 06:52:42 +000010990 Reviewed by Jon Honeycutt.
10991
10992 Fix build failure.
10993
10994 * bridge/c/c_instance.cpp:
10995 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
10996 as that is what NPEnumerationFunctionPtr is declared as accepting.
10997
109982008-08-20 Mark Rowe <mrowe@apple.com>
10999
mrowe@apple.com72a95b12008-08-21 04:01:51 +000011000 Reviewed by Dan Bernstein.
11001
11002 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
11003
11004 * platform/graphics/GraphicsContext.h:
11005 (WebCore::):
11006 * platform/graphics/cg/GraphicsContextCG.cpp:
11007 (WebCore::GraphicsContext::setImageInterpolationQuality):
11008 (WebCore::GraphicsContext::imageInterpolationQuality):
11009
mitz@apple.comaa938792008-08-21 00:33:29 +0000110102008-08-20 Dan Bernstein <mitz@apple.com>
11011
11012 Rubber-stamped by John Sullivan.
11013
11014 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
11015 rename related methods and variables accordingly.
11016
11017 * WebCore.base.exp:
11018 * page/FrameView.cpp:
11019 (WebCore::FrameViewPrivate::FrameViewPrivate):
11020 (WebCore::FrameView::shouldUpdateWhileOffscreen):
11021 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
11022 * page/FrameView.h:
11023 * platform/ScrollView.h:
11024 * platform/mac/ScrollViewMac.mm:
11025 (WebCore::ScrollView::updateContents):
11026
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000110272008-08-20 Brady Eidson <beidson@apple.com>
11028
11029 Reviewed by Mitzpettel
11030
11031 <rdar://problem/6163636> - Many images broken in Mail
11032
11033 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
11034 sooner than before and confuse the WebArchive machinery.
11035
11036 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
11037 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
11038 machinery and nothing is known about where the data will eventually come from.
11039
11040 * loader/DocumentLoader.cpp:
11041 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
11042 CachedResource::PreloadReferenced.
11043
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000110442008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
11045
11046 Unreviewed compile fix
11047
11048 Catch up with the JSValue::type elimination.
11049
11050 * bridge/qt/qt_instance.cpp:
11051 (KJS::Bindings::QtRuntimeObjectImp::construct):
11052 (KJS::Bindings::QtInstance::defaultValue):
11053 * bridge/qt/qt_runtime.cpp:
11054 (KJS::Bindings::QtRuntimeConnectionMethod::call):
11055
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000110562008-08-20 Chris Teague <chris.teague@gmail.com>
11057
11058 Reviewed by Mark Rowe.
11059
11060 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
11061 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
11062
11063 * ChangeLog:
11064 * loader/FrameLoader.cpp:
11065 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
11066
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000110672008-08-20 Simon Fraser <simon.fraser@apple.com>
11068
11069 Reviewed by Dave Hyatt
11070
11071 getComputedStyle() for webkitTransform should return a transform
11072 that does not have the transform origin baked into it.
11073 https://bugs.webkit.org/show_bug.cgi?id=20464
11074
11075 Test: fast/css/getComputedStyle-transform.html
11076
11077 * css/CSSComputedStyleDeclaration.cpp:
11078 (WebCore::computedTransform):
11079 * rendering/style/RenderStyle.cpp:
11080 (WebCore::RenderStyle::applyTransform):
11081 * rendering/style/RenderStyle.h:
11082
andersca@apple.com021ce772008-08-20 21:04:12 +0000110832008-08-20 Josh Aas <joshmoz@gmail.com>
11084
11085 Reviewed and landed by Anders.
11086
11087 <rdar://problem/6163636>
11088 rename NPCocoaEvent's "event" struct to "data" (20446)
11089
11090 * bridge/npapi.h:
11091 (_NPCocoaEvent::):
11092
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000110932008-08-20 Beth Dakin <bdakin@apple.com>
11094
darin@apple.com07c80c62008-09-05 18:15:43 +000011095 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000011096
11097 Fix for <rdar://problem/6145626>
11098 This patch fixes a number of remaining problems getting
11099 disconnected frames to work correctly with markAllMatchesForText()
11100 and findString(). Details inline.
11101
11102 This was a static helper function in Frame, but this patch requires
11103 the same functionality in Editor, so I just added it as a function
11104 on Node.
11105 * dom/Node.cpp:
11106 (WebCore::Node::isInShadowTree):
11107 * dom/Node.h:
11108
11109 * editing/Editor.cpp:
11110 (WebCore::Editor::insideVisibleArea): Returns false if
11111 excludeFromTextSearch() is true.
11112
11113 In a normal (non-disconnected) frame, findString returns a range of
11114 the document node if the text is not found in the frame. I changed
11115 firstVisibleRange and lastVisibleRange to match that behavior when
11116 the text is not found
11117 (WebCore::Editor::firstVisibleRange):
11118 (WebCore::Editor::lastVisibleRange):
11119
11120 Here are the bulk of the changes in the patch. A lot of text was
11121 not being found in disconnected frames because I failed to account
11122 for all of the possible problems associated with shadow trees. That
11123 is fixed here.
11124 (WebCore::Editor::nextVisibleRange):
11125 * editing/Editor.h:
11126
11127 excludeFromTextSearch() is new. It allows a WebKit client to mark a
11128 frame as not-text-searchable through SPI.
11129 * WebCore.base.exp:
11130 * page/Frame.cpp:
11131 (WebCore::Frame::excludeFromTextSearch):
11132 (WebCore::Frame::setExcludeFromTextSearch):
11133 (WebCore::FramePrivate::FramePrivate):
11134 * page/Frame.h:
11135 * page/FramePrivate.h:
11136
11137 (WebCore::Frame::findString):
11138 (WebCore::Frame::markAllMatchesForText): I kept running into an
11139 assertion failure in paining code because of the forced paint on
11140 empty visible rects.
11141
timothy@apple.com301befc2008-08-20 19:10:54 +0000111422008-08-20 Timothy Hatcher <timothy@apple.com>
11143
11144 Adds a positon box to the Inspector's Metrics sidebar
11145 pane. When an element is not statically positioned, there
11146 is now a position box that show top, right, bottom and
11147 left computed values.
11148
11149 Reviewed by Kevin McCullough.
11150
11151 * English.lproj/localizedStrings.js: Updated the strings.
11152 * page/inspector/MetricsSidebarPane.js:
11153 (WebInspector.MetricsSidebarPane.prototype.update):
11154 Renamed the boxPartValue function to createBoxPartElement
11155 and made it create the entire element. Made it understand
11156 how to get position style properties. Don't use the figure dash
11157 when 0px is used for positions, since the 0 is meaningful there.
11158 Instead use the figure dash when a position is auto.
11159 * page/inspector/inspector.css: Added a new rule for position.
11160
mrowe@apple.com37686d42008-09-04 00:10:39 +0000111612008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000011162
11163 Reviewed by Beth Dakin
11164
11165 Qt build fix
11166
11167 * WebCore.pro:
11168
mitz@apple.comedaa9042008-08-20 18:28:07 +0000111692008-08-20 Dan Bernstein <mitz@apple.com>
11170
11171 Reviewed by Anders Carlsson.
11172
11173 - avoid using a deprecated NSScroller method on Leopard
11174
11175 * platform/mac/PlatformScrollBarMac.mm:
11176 (WebCore::PlatformScrollbar::updateThumbPosition):
11177 (WebCore::PlatformScrollbar::updateThumbProportion):
11178
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000111792008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
11180
11181 Reviewed by Oliver Hunt.
11182
11183 Gtk build fix
11184
11185 * GNUmakefile.am:
11186 * page/AccessibilityTable.cpp: Change nil to 0
11187 (WebCore::AccessibilityTable::cellForColumnAndRow):
11188
ap@webkit.org01aff702008-08-20 07:23:06 +0000111892008-08-19 Alexey Proskuryakov <ap@webkit.org>
11190
11191 Reviewed by Geoff Garen.
11192
11193 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
11194
11195 * ForwardingHeaders/kjs/JSLock.h: Added.
11196 * WebCore.vcproj/WebCore.vcproj:
11197 * bindings/js/GCController.cpp:
11198 (WebCore::collect):
11199 (WebCore::GCController::gcTimerFired):
11200 (WebCore::GCController::garbageCollectNow):
11201 * bindings/js/JSCustomSQLStatementCallback.cpp:
11202 (WebCore::JSCustomSQLStatementCallback::handleEvent):
11203 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
11204 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
11205 * bindings/js/JSCustomSQLTransactionCallback.cpp:
11206 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
11207 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
11208 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
11209 * bindings/js/JSCustomVoidCallback.cpp:
11210 (WebCore::JSCustomVoidCallback::handleEvent):
11211 * bindings/js/JSCustomXPathNSResolver.cpp:
11212 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
11213 * bindings/js/JSDOMWindowBase.cpp:
11214 (WebCore::DOMWindowTimer::~DOMWindowTimer):
11215 (WebCore::JSDOMWindowBase::clear):
11216 (WebCore::JSDOMWindowBase::timerFired):
11217 * bindings/js/JSEventCustom.cpp:
11218 (WebCore::toJS):
11219 * bindings/js/JSEventListener.cpp:
11220 (WebCore::JSAbstractEventListener::handleEvent):
11221 * bindings/js/JSNSResolver.cpp:
11222 (WebCore::JSNSResolver::lookupNamespaceURI):
11223 * bindings/js/JSNodeFilterCondition.cpp:
11224 (WebCore::JSNodeFilterCondition::acceptNode):
11225 * bindings/js/ScheduledAction.cpp:
11226 (WebCore::ScheduledAction::execute):
11227 * bindings/js/ScriptController.cpp:
11228 (WebCore::ScriptController::evaluate):
11229 (WebCore::ScriptController::clearWindowShell):
11230 (WebCore::ScriptController::createHTMLEventHandler):
11231 (WebCore::ScriptController::createSVGEventHandler):
11232 (WebCore::ScriptController::initScript):
11233 (WebCore::ScriptController::updateDocument):
11234 (WebCore::ScriptController::bindingRootObject):
11235 (WebCore::ScriptController::windowScriptNPObject):
11236 (WebCore::ScriptController::createScriptObjectForPluginElement):
11237 (WebCore::ScriptController::clearScriptObjects):
11238 * bindings/js/ScriptControllerMac.mm:
11239 (WebCore::ScriptController::windowScriptObject):
11240 * bindings/objc/WebScriptObject.mm:
11241 (_didExecute):
11242 (-[WebScriptObject callWebScriptMethod:withArguments:]):
11243 (-[WebScriptObject evaluateWebScript:]):
11244 (-[WebScriptObject setValue:forKey:]):
11245 (-[WebScriptObject valueForKey:]):
11246 (-[WebScriptObject removeWebScriptKey:]):
11247 (-[WebScriptObject stringRepresentation]):
11248 (-[WebScriptObject webScriptValueAtIndex:]):
11249 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
11250 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
11251 * bridge/NP_jsobject.cpp:
11252 (_NPN_InvokeDefault):
11253 (_NPN_Invoke):
11254 (_NPN_Evaluate):
11255 (_NPN_GetProperty):
11256 (_NPN_SetProperty):
11257 (_NPN_RemoveProperty):
11258 (_NPN_HasProperty):
11259 (_NPN_HasMethod):
11260 (_NPN_Enumerate):
11261 * bridge/c/c_class.cpp:
11262 (KJS::Bindings::CClass::~CClass):
11263 (KJS::Bindings::CClass::methodsNamed):
11264 (KJS::Bindings::CClass::fieldNamed):
11265 * bridge/c/c_instance.cpp:
11266 (KJS::Bindings::CInstance::invokeMethod):
11267 (KJS::Bindings::CInstance::invokeDefaultMethod):
11268 (KJS::Bindings::CInstance::getPropertyNames):
11269 * bridge/c/c_runtime.cpp:
11270 (KJS::Bindings::CField::valueFromInstance):
11271 (KJS::Bindings::CField::setValueToInstance):
11272 * bridge/c/c_utility.cpp:
11273 (KJS::Bindings::convertValueToNPVariant):
11274 (KJS::Bindings::convertNPVariantToValue):
11275 * bridge/jni/jni_class.cpp:
11276 (JavaClass::JavaClass):
11277 (JavaClass::~JavaClass):
11278 * bridge/jni/jni_instance.cpp:
11279 (JavaInstance::stringValue):
11280 * bridge/jni/jni_jsobject.mm:
11281 (JavaJSObject::call):
11282 (JavaJSObject::eval):
11283 (JavaJSObject::getMember):
11284 (JavaJSObject::setMember):
11285 (JavaJSObject::removeMember):
11286 (JavaJSObject::getSlot):
11287 (JavaJSObject::setSlot):
11288 (JavaJSObject::toString):
11289 (JavaJSObject::convertValueToJObject):
11290 (JavaJSObject::convertJObjectToValue):
11291 * bridge/jni/jni_objc.mm:
11292 (KJS::Bindings::dispatchJNICall):
11293 * bridge/jni/jni_runtime.cpp:
11294 (appendClassName):
11295 (JavaMethod::signature):
11296 * bridge/jni/jni_runtime.h:
11297 (KJS::Bindings::JavaString::JavaString):
11298 (KJS::Bindings::JavaString::_commonInit):
11299 (KJS::Bindings::JavaString::~JavaString):
11300 (KJS::Bindings::JavaString::UTF8String):
11301 * bridge/jni/jni_utility.cpp:
11302 (KJS::Bindings::convertValueToJValue):
11303 * bridge/npruntime.cpp:
11304 (_NPN_GetStringIdentifier):
11305 * bridge/objc/objc_instance.mm:
11306 (ObjcInstance::moveGlobalExceptionToExecState):
11307 (ObjcInstance::invokeMethod):
11308 (ObjcInstance::invokeDefaultMethod):
11309 (ObjcInstance::setValueOfUndefinedField):
11310 (ObjcInstance::getValueOfUndefinedField):
11311 * bridge/objc/objc_runtime.mm:
11312 (ObjcField::valueFromInstance):
11313 (ObjcField::setValueToInstance):
11314 * bridge/objc/objc_utility.mm:
11315 (KJS::Bindings::convertValueToObjcValue):
11316 (KJS::Bindings::convertNSStringToString):
11317 (KJS::Bindings::convertObjcValueToValue):
11318 * bridge/qt/qt_instance.cpp:
11319 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
11320 (KJS::Bindings::QtInstance::~QtInstance):
11321 (KJS::Bindings::QtInstance::getQtInstance):
11322 (KJS::Bindings::QtInstance::getRuntimeObject):
11323 * bridge/qt/qt_runtime.cpp:
11324 (KJS::Bindings::convertValueToQVariant):
11325 (KJS::Bindings::convertQVariantToValue):
11326 (KJS::Bindings::QtRuntimeMetaMethod::call):
11327 (KJS::Bindings::QtRuntimeConnectionMethod::call):
11328 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
11329 (KJS::Bindings::QtConnectionObject::execute):
11330 * bridge/runtime.cpp:
11331 (KJS::Bindings::Instance::createRuntimeObject):
11332 * bridge/testbindings.cpp:
11333 (main):
11334 * bridge/testbindings.mm:
11335 (main):
11336 * bridge/testqtbindings.cpp:
11337 (main):
11338 * dom/Document.cpp:
11339 (WebCore::Document::~Document):
11340 * dom/Node.cpp:
11341 (WebCore::Node::setDocument):
11342 * history/CachedPage.cpp:
11343 (WebCore::CachedPage::CachedPage):
11344 (WebCore::CachedPage::restore):
11345 (WebCore::CachedPage::clear):
11346 * loader/FrameLoader.cpp:
11347 (WebCore::getString):
11348 * page/InspectorController.cpp:
11349 (WebCore::ConsoleMessage::ConsoleMessage):
11350 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
11351 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
11352 (WebCore::getResourceDocumentNode):
11353 (WebCore::search):
11354 (WebCore::inspectedWindow):
11355 (WebCore::wrapCallback):
11356 (WebCore::currentCallFrame):
11357 (WebCore::profiles):
11358 (WebCore::InspectorController::focusNode):
11359 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
11360 (WebCore::InspectorController::addDatabaseScriptResource):
11361 (WebCore::InspectorController::addScriptProfile):
11362 * page/JavaScriptCallFrame.cpp:
11363 (WebCore::JavaScriptCallFrame::evaluate):
11364 * page/JavaScriptProfileNode.cpp:
11365 (WebCore::getTotalTime):
11366 (WebCore::getSelfTime):
11367 (WebCore::getTotalPercent):
11368 (WebCore::getSelfPercent):
11369 (WebCore::getNumberOfCalls):
11370 (WebCore::getChildren):
11371 (WebCore::getVisible):
11372 * page/Page.cpp:
11373 * page/mac/FrameMac.mm:
11374 * plugins/PluginView.cpp:
11375 (WebCore::PluginView::start):
11376 (WebCore::getString):
11377 (WebCore::PluginView::performRequest):
11378 (WebCore::PluginView::bindingInstance):
11379 * plugins/gtk/PluginViewGtk.cpp:
11380 (WebCore::PluginView::paint):
11381 (WebCore::PluginView::handleKeyboardEvent):
11382 (WebCore::PluginView::handleMouseEvent):
11383 (WebCore::PluginView::setNPWindowRect):
11384 (WebCore::PluginView::stop):
11385 (WebCore::PluginView::init):
11386 * plugins/qt/PluginViewQt.cpp:
11387 (WebCore::PluginView::setNPWindowRect):
11388 (WebCore::PluginView::stop):
11389 (WebCore::PluginView::init):
11390 * plugins/win/PluginViewWin.cpp:
11391 (WebCore::PluginView::dispatchNPEvent):
11392 (WebCore::PluginView::handleKeyboardEvent):
11393 (WebCore::PluginView::handleMouseEvent):
11394 (WebCore::PluginView::setNPWindowRect):
11395 (WebCore::PluginView::stop):
11396 * xml/XMLHttpRequest.cpp:
11397 (WebCore::XMLHttpRequest::clearResponse):
11398 (WebCore::XMLHttpRequest::didFinishLoading):
11399 (WebCore::XMLHttpRequest::didReceiveData):
11400
eric@webkit.orgbac93762008-08-19 23:33:07 +0000114012008-08-19 Eric Seidel <eric@webkit.org>
11402
11403 Reviewed by Geoff Garen.
11404
11405 Add the beginnings of Skia graphics support to WebCore
11406 as I try to begin the long process of un-forking the changes
11407 needed to WebCore to make Andriod's WebCore build.
11408
11409 I'll follow this up with actual *Skia.cpp files in a separate patch.
11410
11411 * platform/graphics/AffineTransform.h:
11412 * platform/graphics/FloatPoint.h:
11413 * platform/graphics/FloatRect.h:
11414 * platform/graphics/Gradient.h:
11415 * platform/graphics/GraphicsContext.h:
11416 * platform/graphics/Image.h:
11417 * platform/graphics/ImageBuffer.h:
11418 * platform/graphics/ImageSource.h:
11419 * platform/graphics/IntPoint.h:
11420 * platform/graphics/IntRect.h:
11421 * platform/graphics/Path.h:
11422 * platform/graphics/Pattern.h:
11423 * svg/graphics/SVGPaintServerPattern.h:
11424 * svg/graphics/SVGPaintServerSolid.h:
11425
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000114262008-08-19 Steve Falkenburg <sfalken@apple.com>
11427
sfalken@apple.com45d22802008-08-19 22:46:31 +000011428 Fix Windows build more.
11429
11430 * WebCore.vcproj/WebCore.vcproj:
11431
114322008-08-19 Steve Falkenburg <sfalken@apple.com>
11433
sfalken@apple.com3f69b332008-08-19 22:34:37 +000011434 Fix Windows build.
11435
11436 * page/AccessibilityRenderObject.cpp:
11437 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
11438
mrowe@apple.com37686d42008-09-04 00:10:39 +0000114392008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000011440
11441 Reviewed by Beth Dakin.
11442
11443 <rdar://problem/4003764> Expose tables as AXTables
11444
11445 Tests: accessibility/table-attributes.html
11446 accessibility/table-cell-spans.html
11447 accessibility/table-cells.html
11448 accessibility/table-detection.html
11449 accessibility/table-sections.html
11450 accessibility/table-with-rules.html
11451
11452 * WebCore.xcodeproj/project.pbxproj:
11453 * page/AXObjectCache.cpp:
11454 (WebCore::AXObjectCache::get):
11455 * page/AccessibilityObject.h:
11456 (WebCore::):
11457 (WebCore::AccessibilityObject::isDataTable):
11458 (WebCore::AccessibilityObject::isTableRow):
11459 (WebCore::AccessibilityObject::isTableColumn):
11460 (WebCore::AccessibilityObject::isTableCell):
11461 * page/AccessibilityRenderObject.cpp:
11462 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
11463 * page/AccessibilityTable.cpp: Added.
11464 (WebCore::AccessibilityTable::AccessibilityTable):
11465 (WebCore::AccessibilityTable::~AccessibilityTable):
11466 (WebCore::AccessibilityTable::create):
11467 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
11468 (WebCore::AccessibilityTable::clearChildren):
11469 (WebCore::AccessibilityTable::addChildren):
11470 (WebCore::AccessibilityTable::headerContainer):
11471 (WebCore::AccessibilityTable::columns):
11472 (WebCore::AccessibilityTable::rows):
11473 (WebCore::AccessibilityTable::rowHeaders):
11474 (WebCore::AccessibilityTable::columnHeaders):
11475 (WebCore::AccessibilityTable::cells):
11476 (WebCore::AccessibilityTable::columnCount):
11477 (WebCore::AccessibilityTable::rowCount):
11478 (WebCore::AccessibilityTable::cellForColumnAndRow):
11479 (WebCore::AccessibilityTable::roleValue):
11480 (WebCore::AccessibilityTable::accessibilityIsIgnored):
11481 (WebCore::AccessibilityTable::title):
11482 (WebCore::AccessibilityTable::isDataTable):
11483 * page/AccessibilityTable.h: Added.
11484 * page/AccessibilityTableCell.cpp: Added.
11485 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
11486 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
11487 (WebCore::AccessibilityTableCell::create):
11488 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
11489 (WebCore::AccessibilityTableCell::rowIndexRange):
11490 (WebCore::AccessibilityTableCell::columnIndexRange):
11491 * page/AccessibilityTableCell.h: Added.
11492 (WebCore::AccessibilityTableCell::isTableCell):
11493 (WebCore::AccessibilityTableCell::roleValue):
11494 * page/AccessibilityTableColumn.cpp: Added.
11495 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
11496 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
11497 (WebCore::AccessibilityTableColumn::create):
11498 (WebCore::AccessibilityTableColumn::setParentTable):
11499 (WebCore::AccessibilityTableColumn::elementRect):
11500 (WebCore::AccessibilityTableColumn::size):
11501 (WebCore::AccessibilityTableColumn::children):
11502 (WebCore::AccessibilityTableColumn::headerObject):
11503 (WebCore::AccessibilityTableColumn::headerObjectForSection):
11504 (WebCore::AccessibilityTableColumn::addChildren):
11505 * page/AccessibilityTableColumn.h: Added.
11506 (WebCore::AccessibilityTableColumn::parentObject):
11507 (WebCore::AccessibilityTableColumn::roleValue):
11508 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
11509 (WebCore::AccessibilityTableColumn::isTableColumn):
11510 (WebCore::AccessibilityTableColumn::setColumnIndex):
11511 (WebCore::AccessibilityTableColumn::columnIndex):
11512 * page/AccessibilityTableHeaderContainer.cpp: Added.
11513 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
11514 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
11515 (WebCore::AccessibilityTableHeaderContainer::create):
11516 (WebCore::AccessibilityTableHeaderContainer::children):
11517 (WebCore::AccessibilityTableHeaderContainer::elementRect):
11518 (WebCore::AccessibilityTableHeaderContainer::size):
11519 (WebCore::AccessibilityTableHeaderContainer::addChildren):
11520 * page/AccessibilityTableHeaderContainer.h: Added.
11521 (WebCore::AccessibilityTableHeaderContainer::roleValue):
11522 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
11523 (WebCore::AccessibilityTableHeaderContainer::parentObject):
11524 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
11525 * page/AccessibilityTableRow.cpp: Added.
11526 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
11527 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
11528 (WebCore::AccessibilityTableRow::create):
11529 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
11530 (WebCore::AccessibilityTableRow::headerObject):
11531 * page/AccessibilityTableRow.h: Added.
11532 (WebCore::AccessibilityTableRow::isTableRow):
11533 (WebCore::AccessibilityTableRow::roleValue):
11534 (WebCore::AccessibilityTableRow::setRowIndex):
11535 (WebCore::AccessibilityTableRow::rowIndex):
11536 * page/mac/AccessibilityObjectWrapper.mm:
11537 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
11538 (RoleEntry::):
11539 (-[AccessibilityObjectWrapper roleDescription]):
11540 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
11541 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
11542 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
11543
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000115442008-08-19 Steve Falkenburg <sfalken@apple.com>
11545
11546 Build fix.
11547 Add buildfailed support to stop builds early (preventing inaccurate error messages).
11548 Add missing post-build rule to Release.
11549
11550 * WebCore.vcproj/QTMovieWin.vcproj:
11551
timothy@apple.comda3aa632008-08-19 18:33:02 +0000115522008-08-19 Keishi Hattori <casey.hattori@gmail.com>
11553
timothy@apple.com7d08c322008-08-19 18:33:27 +000011554 Added support for console.count in the inspector.
11555
11556 Reviewed by Geoff Garen.
11557
11558 * page/Console.cpp:
11559 (WebCore::Console::count):
11560 * page/Console.h:
11561 * page/Console.idl: Added console.count.
11562 * page/InspectorController.cpp:
11563 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
11564 (WebCore::InspectorController::count): Updates the count number
11565 sing "title@source:line" as the identifier, and adds a
11566 message to the console.
11567 * page/InspectorController.h: Added m_counts.
11568
115692008-08-19 Keishi Hattori <casey.hattori@gmail.com>
11570
timothy@apple.comda3aa632008-08-19 18:33:02 +000011571 Clear console.time timers when changing page.
11572
11573 Reviewed by Geoff Garen.
11574
11575 * page/InspectorController.cpp:
11576 (WebCore::InspectorController::didCommitLoad):
11577
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000115782008-08-19 Eric Carlson <eric.carlson@apple.com>
11579
11580 Reviewed by Adele.
11581
11582 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
11583 https://bugs.webkit.org/show_bug.cgi?id=20404
11584
11585 Ignore setVisible() when visibility doesn't change.
11586
11587 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
11588 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
11589 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
11590 (WebCore::MediaPlayerPrivate::setVisible):
11591
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000115922008-08-19 Timothy Hatcher <timothy@apple.com>
11593
timothy@apple.come058a792008-08-19 17:01:12 +000011594 Fixes a bug in the Profile view where switching sort order, then
11595 switching from heavy to tree mode would show the tree in the
11596 previous sort order.
11597
11598 https://bugs.webkit.org/show_bug.cgi?id=20441
11599
11600 Reviewed by Kevin McCullough.
11601
11602 * page/inspector/ProfileView.js:
11603 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
11604 on the next profile before assigning it to this.profile.
11605 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
11606 (WebInspector.ProfileView.prototype._sortProfile): Moves from
11607 _sortData and takes a profile argument. If the profile passed in
11608 matches the this.profile, then call refresh.
11609
116102008-08-18 Timothy Hatcher <timothy@apple.com>
11611
timothy@apple.come525e402008-08-19 17:01:00 +000011612 Changed the default sort order now that heavy view is the default.
11613 Also fixes a bug where the heavy profile was not sorted at first.
11614
11615 https://bugs.webkit.org/show_bug.cgi?id=20440
11616
11617 Reviewed by Kevin McCullough.
11618
11619 * page/inspector/ProfileView.js:
11620 (WebInspector.ProfileView): Changed the default sort column. Also assign
11621 heavyProfile to profile, so the sortSelfTimeDescending call happens
11622 on the heavy profile before assigning to this.profile.
11623
116242008-08-18 Timothy Hatcher <timothy@apple.com>
11625
timothy@apple.comc9287f32008-08-19 17:00:36 +000011626 Add support for editing DOM properties and scope variables by double
11627 clicking a property to enter edit mode.
11628
11629 https://bugs.webkit.org/show_bug.cgi?id=20415
11630
11631 Reviewed by Kevin McCullough.
11632
11633 * page/inspector/ObjectPropertiesSection.js:
11634 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
11635 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
11636 Factored out code into update, and calls update.
11637 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
11638 Call removeChildren since this method can be called multiple times now.
11639 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
11640 gets made later in onattach.
11641 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
11642 if shouldRefreshChildren is true. Call removeChildren since this method can be
11643 called multiple times now.
11644 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
11645 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
11646 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
11647 this element (code moved from the constructor.)
11648 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
11649 sibling property elements.
11650 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
11651 WebInspector.startEditing after rememebring some context.
11652 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
11653 for the list element, since it might have scrolled during editing.
11654 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
11655 then restore the state from the context. Then call update to restore the title.
11656 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
11657 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
11658 to commit the user input.
11659 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
11660 and stores the result on the object for the property name of this element. If the expression is
11661 empty, delete the property and remove the tree element.
11662 * page/inspector/ScopeChainSidebarPane.js:
11663 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
11664 property on each ObjectPropertiesSection.
11665 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
11666 since it is now implemented.
11667 * page/inspector/ScriptsPanel.js:
11668 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
11669 that defaults to true if omitted. It specifies whether to call update on the scope chain.
11670 * page/inspector/inspector.css: New styles.
11671 * page/inspector/treeoutline.js:
11672 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
11673 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
11674
116752008-08-18 Timothy Hatcher <timothy@apple.com>
11676
timothy@apple.com9d9821a2008-08-19 17:00:26 +000011677 Surround the expression to be evaluated in parenthesis so the
11678 result of the eval is the result of the whole expression not
11679 the last potential sub-expression. So evaluating {x: 123}
11680 will show the Object not 123.
11681
11682 https://bugs.webkit.org/show_bug.cgi?id=20428
11683
11684 Reviewed by Kevin McCullough.
11685
11686 * page/inspector/Console.js:
11687 (Console.prototype._evalInInspectedWindow): Add parenthesis
11688 around the expression. And add couple comments.
11689
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000116902008-08-19 Kevin McCullough <kmccullough@apple.com>
11691
11692 Reviewed by Geoff.
11693
11694 -Implement a page() function to extract a common code pattern.
11695
11696 * WebCore.xcodeproj/project.pbxproj:
11697 * page/Console.cpp:
11698 (WebCore::Console::addMessage):
11699 (WebCore::Console::error):
11700 (WebCore::Console::info):
11701 (WebCore::Console::log):
11702 (WebCore::Console::dir):
11703 (WebCore::Console::assertCondition):
11704 (WebCore::Console::time):
11705 (WebCore::Console::timeEnd):
11706 (WebCore::Console::group):
11707 (WebCore::Console::groupEnd):
11708 (WebCore::Console::finishedProfiling):
11709 (WebCore::Console::warn):
11710 (WebCore::Console::framePage):
11711 * page/Console.h:
11712
darin@apple.com349e1eb2008-08-19 04:39:04 +0000117132008-08-12 Darin Adler <darin@apple.com>
11714
11715 Reviewed by Geoff.
11716
11717 - eliminate JSValue::type()
11718
11719 * bridge/c/c_instance.cpp:
11720 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
11721 argument instead of JSType argument. Removed unneeded code to handle
11722 boolean, since that's never passed.
11723 * bridge/c/c_instance.h: Ditto.
11724
11725 * bridge/c/c_utility.cpp:
11726 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
11727 instead of JSValue::type(). Removed unneeded code to handle
11728 "unspecified".
11729
11730 * bridge/jni/jni_instance.cpp:
11731 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
11732 instead of JSType argument. Removed unneeded code to handle boolean.
11733 * bridge/jni/jni_instance.h: Ditto.
11734
11735 * bridge/jni/jni_jsobject.mm:
11736 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
11737 instead of JSValue::type().
11738
11739 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
11740 instead of JSType argument. Removed unused argument.
11741 * bridge/objc/objc_instance.mm:
11742 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
11743 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
11744 instead of JSType argument. Removed unneeded code to handle boolean
11745 and another dead code path for unknown types.
11746
11747 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
11748 instead of JSType argument. Removed override of type() that caused
11749 the fallback object to return "UndefinedType" when there is no
11750 invokeUndefinedMethodFromWebScript:withArguments: method defined.
11751 That didn't accomplish much, since most checks for undefined don't
11752 ever call type().
11753 * bridge/objc/objc_runtime.mm:
11754 (ObjcFallbackObjectImp::defaultValue): Ditto.
11755
11756 * bridge/qt/qt_instance.cpp:
11757 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
11758 argument instead of JSType argument. Removed unneeded code to handle
11759 boolean.
11760 * bridge/qt/qt_instance.h: Ditto.
11761
11762 * bridge/runtime.h:
11763 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
11764 unsed argument.
11765 * bridge/runtime_object.cpp:
11766 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
11767 argument instead of JSType argument.
11768 * bridge/runtime_object.h: Ditto.
11769
britto@apple.comaf7f8382008-08-19 00:42:13 +0000117702008-08-18 Maxime Britto <britto@apple.com>
11771
11772 Reviewed by Adele.
11773
11774 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
11775 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
11776 We shouldn't be able to create another window while we are in pan scrolling.
11777 Other browsers behaviors :
11778 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
11779 IE7 : Keys are not disabled but stops immediately the panning.
11780 This patch matches FF3 behavior by disabling every key but the esc key.
11781
11782 * page/EventHandler.cpp:
11783 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
11784 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
11785
mitz@apple.com12404d82008-08-19 00:20:38 +0000117862008-08-18 Dan Bernstein <mitz@apple.com>
11787
11788 Reviewed by Dave Hyatt.
11789
11790 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
11791
11792 Test: fast/replaced/max-width-percent.html
11793
11794 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
11795 When false, max-width is not factored into the
11796 calculation.
11797 Changed RenderReplaced and subclasses' calcPrefWidths() to call
11798 calcReplacedWidth(false) and then apply max-width only if it has a
11799 fixed, positive value.
11800
11801 * rendering/RenderBox.cpp:
11802 (WebCore::RenderBox::calcReplacedWidth):
11803 * rendering/RenderBox.h:
11804 * rendering/RenderImage.cpp:
11805 (WebCore::RenderImage::calcReplacedWidth):
11806 (WebCore::RenderImage::calcPrefWidths):
11807 * rendering/RenderImage.h:
11808 * rendering/RenderReplaced.cpp:
11809 (WebCore::RenderReplaced::calcPrefWidths):
11810 * rendering/RenderSVGRoot.cpp:
11811 (WebCore::RenderSVGRoot::calcPrefWidths):
11812 * rendering/RenderVideo.cpp:
11813 (WebCore::RenderVideo::calcReplacedWidth):
11814 (WebCore::RenderVideo::calcPrefWidths):
11815 * rendering/RenderVideo.h:
11816
mrowe@apple.comced88732008-08-18 22:47:28 +0000118172008-08-18 Daniel Macks <dmacks@netspace.org>
11818
11819 Reviewed by Mark Rowe.
11820
11821 https://bugs.webkit.org/show_bug.cgi?id=20410
11822 More portable/self-documenting replacement for SIZE_MAX.
11823
11824 * platform/network/curl/FormDataStreamCurl.cpp:
11825 (WebCore::FormDataStream::read):
11826
118272008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000011828
11829 Reviewed by Dave Hyatt
11830
11831 Need to make sure we have an Animation in the AnimationList
11832 before setting the initial value.
11833 https://bugs.webkit.org/show_bug.cgi?id=20408
11834
11835 Test: fast/css/transition_shorthand_parsing.html
11836
11837 * css/CSSStyleSelector.cpp:
11838
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000118392008-08-18 Kevin McCullough <kmccullough@apple.com>
11840
kmccullough@apple.com707bd362008-08-18 20:21:57 +000011841 Reviewed by Tim.
11842
11843 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
11844 is another profile.
11845
11846 * page/inspector/ProfilesPanel.js:
11847
118482008-08-18 Kevin McCullough <kmccullough@apple.com>
11849
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000011850 Reviewed by Geoff.
11851
11852 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
11853 all console messages
11854
11855 * page/inspector/Console.js:
11856
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000118572008-08-18 Dirk Schulze <vbs85@gmx.de>
11858
11859 Reviewed by Eric Seidel.
11860
11861 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
11862 the canvas clean up.
11863
11864 https://bugs.webkit.org/show_bug.cgi?id=20405
11865
11866 * html/CanvasRenderingContext2D.cpp:
11867 (WebCore::CanvasRenderingContext2D::fill):
11868 (WebCore::CanvasRenderingContext2D::stroke):
11869 (WebCore::CanvasRenderingContext2D::fillRect):
11870
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000118712008-08-17 Timothy Hatcher <timothy@apple.com>
11872
11873 Complete in scope variables in the Console when paused.
11874
11875 https://bugs.webkit.org/show_bug.cgi?id=19115
11876
11877 Reviewed by Geoffrey Garen.
11878
11879 * page/inspector/Console.js:
11880 (WebInspector.Console.prototype.completions): If the expressionString
11881 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
11882 to get an object that declares all the in scope variables. That way
11883 "top level" expressions are completed.
11884 * page/inspector/ScriptsPanel.js:
11885 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
11886 Return an object that has all the variables that are in scope for the
11887 selected call frame. The value of each property is just true.
11888 The return object is useful for quick lookups or auto completion.
11889
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000118902008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
11891
11892 Not reviewed.
11893
11894 Speculative Qt build fix.
11895
11896 * bridge/qt/qt_runtime.cpp:
11897 (KJS::Bindings::convertValueToQVariant):
11898 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
11899
ggaren@apple.comfea43532008-08-17 20:23:49 +0000119002008-08-17 Geoffrey Garen <ggaren@apple.com>
11901
11902 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000011903
11904 Updated project files to XCode 3.1.
11905
11906 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
11907
119082008-08-17 Geoffrey Garen <ggaren@apple.com>
11909
11910 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000011911
11912 Made room for a free word in JSCell.
11913
11914 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
11915 JSGlobalData, so the two could share a pointer.
11916
11917 Added a bunch of ASSERTs, to help catch over-sized objects.
11918
mrowe@apple.com13570292008-08-16 06:48:10 +0000119192008-08-15 Mark Rowe <mrowe@apple.com>
11920
mitz@apple.comb96c1b92008-08-17 03:28:52 +000011921 Reviewed by Dan Bernstein.
11922
11923 Disable dead code stripping in debug builds.
11924
11925 * Configurations/Base.xcconfig:
11926 * WebCore.xcodeproj/project.pbxproj:
11927
119282008-08-15 Mark Rowe <mrowe@apple.com>
11929
mrowe@apple.com13570292008-08-16 06:48:10 +000011930 Rubber-stamped by Geoff Garen.
11931
11932 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
11933
11934 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
11935 between the Debug configuration and debug Production variant.
11936 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
11937
antti@apple.coma05e8b02008-08-15 22:58:06 +0000119382008-08-15 Antti Koivisto <antti@apple.com>
11939
11940 Reviewed by Anders.
11941
11942 Don't start preloading body resources before the head is complete. This prevents
11943 body preloads from slowing down initial display when there is limited amount
11944 of bandwidth available.
11945
11946 Works by queuing up found body preloads to DocLoader and only issuing them
11947 after document has rendering.
11948
11949 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
11950 without affecting complete load time.
11951
11952 * html/PreloadScanner.cpp:
11953 (WebCore::PreloadScanner::PreloadScanner):
11954 (WebCore::PreloadScanner::scanningBody):
11955 (WebCore::PreloadScanner::emitTag):
11956 (WebCore::PreloadScanner::emitCSSRule):
11957 * html/PreloadScanner.h:
11958 * loader/DocLoader.cpp:
11959 (WebCore::DocLoader::preload):
11960 (WebCore::DocLoader::checkForPendingPreloads):
11961 (WebCore::DocLoader::requestPreload):
11962 * loader/DocLoader.h:
11963 * loader/loader.cpp:
11964 (WebCore::Loader::Host::didFinishLoading):
11965 (WebCore::Loader::Host::didFail):
11966
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000119672008-08-15 Ada Chan <adachan@apple.com>
11968
11969 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
11970 This way style set on an <hr> within a <select> will be honored.
11971
11972 Reviewed by Dave Hyatt and Dan Bernstein.
11973
11974 * rendering/RenderMenuList.cpp:
11975 (WebCore::RenderMenuList::itemStyle):
11976
antti@apple.com9f7911472008-08-15 20:48:06 +0000119772008-08-15 Antti Koivisto <antti@apple.com>
11978
11979 Reviewed by Oliver.
11980
11981 Some loader performance tweaks:
11982 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
11983 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
11984 to not delay rendering.
11985 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
11986 can take long time when latency is high so it is good to get started early.
11987 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
11988 load queues. Issue remaining loads to the network layer.
11989
11990 * loader/loader.cpp:
11991 (WebCore::Loader::determinePriority):
11992 (WebCore::Loader::load):
11993 (WebCore::Loader::Host::servePendingRequests):
11994 * loader/loader.h:
11995
timothy@apple.com2d974c32008-08-15 18:35:39 +0000119962008-08-15 Timothy Hatcher <timothy@apple.com>
11997
11998 Detach the script debugger when the Web Inspector's window closes.
11999 This has always been the intended design, but never fully implemented.
12000
12001 https://bugs.webkit.org/show_bug.cgi?id=20402
12002
12003 Reviewed by Adam Roben.
12004
12005 * page/InspectorController.cpp:
12006 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
12007 if the window is no longer visible.
12008
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000120092008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
12010
12011 Reviewed by Simon.
12012
hausmann@webkit.org58144a72008-08-15 18:12:08 +000012013 Fixes: compile with QT_NO_CONTEXTMENU
12014
12015 * platform/qt/PlatformMouseEventQt.cpp:
12016 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
12017 * platform/qt/PlatformScrollBarQt.cpp:
12018 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
12019 (WebCore::PlatformScrollbar::handleContextMenuEvent):
12020
120212008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
12022
12023 Reviewed by Simon.
12024
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000012025 Fixes: compile with QT_NO_WHEELEVENT
12026
12027 * platform/qt/WheelEventQt.cpp:
12028 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
12029
timothy@apple.com4889e612008-08-15 17:06:14 +0000120302008-08-15 Keishi Hattori <casey.hattori@gmail.com>
12031
timothy@apple.comd64639c2008-08-15 17:48:36 +000012032 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
12033
12034 https://bugs.webkit.org/show_bug.cgi?id=20210
12035
12036 Reviewed by Tim Hatcher.
12037
12038 * page/Console.cpp:
12039 (WebCore::Console::group):
12040 (WebCore::Console::groupEnd):
12041 * page/Console.h:
12042 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
12043 * page/InspectorController.cpp:
12044 (WebCore::InspectorController::startGroup): Increments group level by
12045 one and adds console message with StartGroupMessaageLevel.
12046 (WebCore::InspectorController::endGroup): Decrements group level by one
12047 and adds console message with EndGroupMessaageLevel.
12048 * page/InspectorController.h:
12049 * page/inspector/Console.js:
12050 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
12051 if the message is StartGroupMessaageLevel.
12052 (WebInspector.ConsoleMessage.prototype.toMessageElement):
12053 (WebInspector.ConsoleGroup.prototype.addMessage):
12054 * page/inspector/inspector.js:
12055
120562008-08-15 Keishi Hattori <casey.hattori@gmail.com>
12057
timothy@apple.com7310b6a2008-08-15 17:35:22 +000012058 Adds support for console.dir to the Inspector
12059
12060 https://bugs.webkit.org/show_bug.cgi?id=19155
12061
12062 Reviewed by Tim Hatcher.
12063
12064 * bindings/js/JSConsoleCustom.cpp:
12065 (WebCore::JSConsole::dir):
12066 * page/Console.cpp:
12067 (WebCore::Console::dir):
12068 * page/Console.h: Added ObjectMessageLevel.
12069 * page/Console.idl: Added console.dir.
12070 * page/inspector/Console.js:
12071 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
12072 ObjectPropertiesSection if the MessageLevel is Object.
12073 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
12074 used on primitive data types.
12075 * page/inspector/inspector.css:
12076
120772008-08-15 Keishi Hattori <casey.hattori@gmail.com>
12078
timothy@apple.com4889e612008-08-15 17:06:14 +000012079 Adds support for clear() in the Inspector console.
12080
12081 https://bugs.webkit.org/show_bug.cgi?id=19873
12082
12083 Reviewed by Tim Hatcher.
12084
12085 * page/inspector/Console.js:
12086
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000120872008-08-15 Anthony Ricaud <rik24d@gmail.com>
12088
12089 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
12090
12091 Platform distinction and modifier key matching adjusted
12092 by Daniel Jalkut <jalkut@red-sweater.com>
12093
12094 Bug 16313: text search (find) keybindings should work in the Web Inspector
12095 https://bugs.webkit.org/show_bug.cgi?id=16313
12096
12097 Reviewed by Tim Hatcher.
12098
12099 * page/inspector/inspector.js: Added a case for the F key
12100
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000121012008-08-15 Keishi Hattori <casey.hattori@gmail.com>
12102
12103 Fix for error when the string doesn't contain a webkit-profile link.
12104
12105 https://bugs.webkit.org/show_bug.cgi?id=20399
12106
12107 Reviewed by Tim Hatcher.
12108
12109 * page/inspector/inspector.js:
12110
timothy@apple.com895b2652008-08-15 16:33:27 +0000121112008-08-15 Timothy Hatcher <timothy@apple.com>
12112
12113 Fixes two bugs where JavaScript could be executed from the page
12114 while the debugger is paused.
12115
12116 The first issue was JSLazyEventListener not checking the paused
12117 state before parsing the code.
12118
12119 The second issue was with the PageGroup version of
12120 JavaScriptDebugServer::setJavaScriptPaused always passing false
12121 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
12122 and not the paused argument.
12123
12124 https://bugs.webkit.org/show_bug.cgi?id=20284
12125
12126 Reviewed by Adam Roben.
12127
12128 * bindings/js/JSEventListener.cpp:
12129 (WebCore::JSLazyEventListener::parseCode): Check the paused
12130 state of the ScriptController. Return early if paused.
12131 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
12132 * page/JavaScriptDebugServer.cpp:
12133 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
12134 Pass the paused argument to the Page version of setJavaScriptPaused.
12135
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000121362008-08-15 Alexey Proskuryakov <ap@webkit.org>
12137
12138 Reviewed by Geoff Garen.
12139
12140 JSStringRef is created context-free, but can get linked to one via an identifier table,
12141 breaking an implicit API contract.
12142
12143 * page/InspectorController.cpp:
12144 (WebCore::jsStringRef):
12145 (WebCore::InspectorController::didParseSource):
12146 (WebCore::InspectorController::failedToParseSource):
12147 * page/JavaScriptProfile.cpp:
12148 (WebCore::getTitleCallback):
12149 Updated for JavaScriptCore changes.
12150
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000121512008-08-14 Kevin Ollivier <kevino@theolliviers.com>
12152
12153 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
12154 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
12155
12156 * platform/graphics/AffineTransform.h:
12157
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000121582008-08-14 Eric Carlson <eric.carlson@apple.com>
12159
12160 Reviewed by Adele.
12161
12162 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
12163 <video> elements on Windows never becomes visible when a page is restored from the cache
12164
12165 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
12166 value is different from the cached value. Let the implementation decide when
12167 to avoid work because nothing has changed.
12168
12169 * platform/graphics/MediaPlayer.cpp:
12170 (WebCore::MediaPlayer::setVolume):
12171 (WebCore::MediaPlayer::setRate):
12172 (WebCore::MediaPlayer::setRect):
12173 (WebCore::MediaPlayer::setVisible):
12174
timothy@apple.comda810f42008-08-14 23:57:14 +0000121752008-08-14 Keishi Hattori <casey.hattori@gmail.com>
12176
12177 Make Firebug command line API respect predefined variables.
12178
timothy@apple.com90751f02008-08-14 23:58:19 +000012179 https://bugs.webkit.org/show_bug.cgi?id=20385
12180
timothy@apple.comda810f42008-08-14 23:57:14 +000012181 Reviewed by Tim Hatcher.
12182
12183 * page/inspector/Console.js:
12184
weinig@apple.com4b51d002008-08-14 23:33:22 +0000121852008-08-14 Sam Weinig <sam@webkit.org>
12186
12187 Reviewed by Geoffrey Garen and Timothy Hatcher.
12188
12189 Allow programatically setting the HTMLTokenizers time delay and chunk size
12190 which are used for determining how aggressively we yield.
12191
12192 * WebCore.base.exp:
12193 * html/HTMLTokenizer.cpp:
12194 (WebCore::HTMLTokenizer::begin):
12195 (WebCore::HTMLTokenizer::continueProcessing):
12196 * html/HTMLTokenizer.h:
12197 * page/Page.cpp:
12198 (WebCore::Page::Page):
12199 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
12200 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
12201 * page/Page.h:
12202 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
12203 (WebCore::Page::customHTMLTokenizerTimeDelay):
12204 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
12205 (WebCore::Page::customHTMLTokenizerChunkSize):
12206
eric@webkit.org89613d22008-08-14 23:19:17 +0000122072008-08-14 Eric Seidel <eric@webkit.org>
12208
eric@webkit.org7e897c32008-08-14 23:20:00 +000012209 Reviewed by Beth.
12210
12211 Move us one step closer to cross-platform svg/graphics code
12212
12213 * WebCore.xcodeproj/project.pbxproj:
12214 * html/CanvasStyle.cpp:
12215 * platform/graphics/Color.cpp:
12216 (WebCore::colorWithOverrideAlpha):
12217 * platform/graphics/Color.h:
12218 * svg/graphics/cg/CgSupport.cpp:
12219 (WebCore::applyStrokeStyleToContext):
12220 (WebCore::strokeBoundingBox):
12221 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
12222 (WebCore::SVGPaintServerSolid::setup):
12223
122242008-08-14 Eric Seidel <eric@webkit.org>
12225
eric@webkit.org4f490652008-08-14 23:19:31 +000012226 Reviewed by Alexey.
12227
eric@webkit.org73fa9d12008-08-14 23:19:44 +000012228 Remove un-need includes from HTMLCanvas and use the
12229 Gradient platform abstraction in one place in CanvasStyle
12230
12231 * html/CanvasRenderingContext2D.cpp:
12232 (WebCore::CanvasRenderingContext2D::fillRect):
12233 * html/CanvasStyle.cpp:
12234 * html/HTMLCanvasElement.cpp:
12235
122362008-08-14 Eric Seidel <eric@webkit.org>
12237
12238 Reviewed by Alexey.
12239
eric@webkit.org4f490652008-08-14 23:19:31 +000012240 Clean up GlyphBuffer.h, removing more #ifdefs
12241
12242 * platform/graphics/GlyphBuffer.h:
12243 (WebCore::GlyphBuffer::glyphAt):
12244 (WebCore::GlyphBuffer::advanceAt):
12245 (WebCore::GlyphBuffer::add):
12246
122472008-08-14 Eric Seidel <eric@webkit.org>
12248
eric@webkit.org89613d22008-08-14 23:19:17 +000012249 Reviewed by Sam.
12250
12251 Clean up AffineTransform.h, removing #ifdefs
12252
12253 * platform/graphics/AffineTransform.h:
12254 * platform/graphics/cairo/AffineTransformCairo.cpp:
12255 * platform/graphics/cg/AffineTransformCG.cpp:
12256 * platform/graphics/qt/AffineTransformQt.cpp:
12257 * platform/graphics/wx/AffineTransformWx.cpp:
12258
mitz@apple.com551d6252008-08-14 23:08:09 +0000122592008-08-14 Dan Bernstein <mitz@apple.com>
12260
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000012261 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
12262
12263 * platform/graphics/cairo/ImageSourceCairo.cpp:
12264 (WebCore::ImageSource::frameSizeAtIndex):
12265 * platform/graphics/qt/ImageSourceQt.cpp:
12266 (WebCore::ImageSource::frameSizeAtIndex):
12267 * platform/graphics/wx/ImageSourceWx.cpp:
12268 (WebCore::ImageSource::frameSizeAtIndex):
12269
122702008-08-14 Dan Bernstein <mitz@apple.com>
12271
mitz@apple.com551d6252008-08-14 23:08:09 +000012272 Reviewed by Brady Eidson.
12273
12274 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
12275
12276 * platform/graphics/BitmapImage.cpp:
12277 (WebCore::BitmapImage::BitmapImage): Added initialization of
12278 m_hasUniformFrameSize.
12279 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
12280 cached frame for use in decoded size computation and for setting
12281 m_hasUniformFrameSize.
12282 (WebCore::BitmapImage::currentFrameSize): Added.
12283 (WebCore::BitmapImage::dataChanged): Added code to reset
12284 m_hasUniformFrameSize.
12285 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
12286 m_hasUniformFrameSize.
12287 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
12288 * platform/graphics/cg/ImageCG.cpp:
12289 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
12290 fixes the bug, which resulted from assuming that the frame being drawn
12291 was the same size as the first frame.
12292 * platform/graphics/cg/ImageSourceCG.cpp:
12293 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
12294 changed to get the size of the frame at the given index.
12295 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
12296
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000122972008-08-13 Simon Fraser <simon.fraser@apple.com>
12298
12299 Reviewed by Eric Seidel
12300
12301 Fix @font-face inside @media rule crash.
12302 https://bugs.webkit.org/show_bug.cgi?id=20367
12303
12304 Test: fast/css/font-face-in-media-rule.html
12305
12306 * css/CSSStyleSelector.cpp:
12307 (WebCore::CSSRuleSet::addRulesFromSheet):
12308
kevino@webkit.org141c4602008-08-14 22:52:55 +0000123092008-08-14 Kevin Ollivier <kevino@theolliviers.com>
12310
12311 wx build fixes after recent changes to Canvas and Image classes.
12312
12313 * platform/graphics/Pattern.h:
12314 * platform/graphics/wx/GradientWx.cpp:
12315 (WebCore::Gradient::fill):
12316 * platform/graphics/wx/GraphicsContextWx.cpp:
12317 (WebCore::GraphicsContext::applyFillPattern):
12318 (WebCore::GraphicsContext::applyStrokePattern):
12319 * platform/graphics/wx/ImageBufferWx.cpp:
12320 (WebCore::ImageBuffer::image):
12321 * platform/graphics/wx/ImageWx.cpp:
12322 (WebCore::Image::loadPlatformResource):
12323
britto@apple.comd7008662008-08-14 19:26:02 +0000123242008-08-14 Maxime Britto <britto@apple.com>
12325
12326 Reviewed by Sam Weinig.
12327
12328 rdar://6102511
12329 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
12330 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
12331 Some differences exist between them concerning the kind of key which is pressed :
12332 IE7 : every key leads to a stop of the panning
12333 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
12334 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
12335
12336 * page/EventHandler.cpp:
12337 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
12338
christian@webkit.org0e20f322008-08-14 19:14:47 +0000123392008-08-14 Christian Dywan <christian@twotoasts.de>
12340
12341 Gtk+/ Cairo build fix, patch by Dirk Schulze.
12342
12343 * html/CanvasStyle.cpp:
12344 * platform/graphics/cairo/PatternCairo.cpp:
12345 (WebCore::Pattern::createPlatformPattern):
12346 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
12347
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000123482008-08-14 Kevin McCullough <kmccullough@apple.com>
12349
12350 Reviewed by Tim.
12351
12352 <rdar://problem/6115819> Notify of profile in console
12353
12354 * page/InspectorController.cpp:
12355 (WebCore::InspectorController::addProfile):
12356 (WebCore::InspectorController::addProfileMessageToConsole): Called by
12357 addProfile this is the function that adds a message to the console that
12358 a profile finished.
12359 * page/InspectorController.h:
12360 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
12361 the console log to the profile in the web inspector.
12362 (WebCore::getUniqueIdCallback):
12363 (WebCore::ProfileClass):
12364 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
12365 Id to bring up the requested profile. Also select and reveal the
12366 profile in the profile panel. And created displayTitleForProfileLink()
12367 which formats a title taking into account if it's user initiated or if
12368 there are multiples. Lasty, I put the user initiated profile in a
12369 variable.
12370 * page/inspector/inspector.js: Make the profile title be a clickable
12371 link that will take the user to the identified profile. Also expose
12372 the count of user initiated profiles so they can be displayed in the
12373 console with the correct count.
12374
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000123752008-08-14 Timothy Hatcher <timothy@apple.com>
12376
12377 Avoid formating ConsoleMessages twice unless the message will be
12378 displayed in bubbles of a SourceFrame.
12379
12380 Reviewed by Kevin McCullough.
12381
12382 * page/inspector/Console.js:
12383 (WebInspector.ConsoleMessage): Only format the plain text message
12384 if the URL and line are valid and the level is error or warning.
12385 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
12386 Helper to test for error or warning level.
12387 * page/inspector/SourceFrame.js:
12388 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
12389 message if there is no message or valid line or if the msg
12390 isn't an error or warning.
12391
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000123922008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
12393
12394 partial Gtk build fix, not reviewed
12395
12396 * platform/graphics/cairo/PatternCairo.cpp:
12397
weinig@apple.com45e83142008-08-14 04:49:30 +0000123982008-08-13 Sam Weinig <sam@webkit.org>
12399
12400 Reviewed by Anders Carlson.
12401
12402 Fix style issue.
12403
12404 * html/HTMLMediaElement.cpp:
12405 (WebCore::HTMLMediaElement::pickMedia):
12406
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000124072008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
12408
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000012409 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
12410 Continue Erics build fixes, after the Image cleanup.
12411
12412 * platform/graphics/cairo/ImageBufferCairo.cpp:
12413 (WebCore::ImageBuffer::image):
12414
124152008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
12416
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000012417 Build fix for Qt, not reviewed.
12418 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
12419
12420 * dom/XMLTokenizer.cpp:
12421 (WebCore::eventuallyMarkAsParserCreated): Was erre
12422
124232008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
12424
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000012425 Build fix, not reviewed.
12426 Add ScriptElement.cpp to Gtk build.
12427
12428 * GNUmakefile.am:
12429
124302008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
12431
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000012432 Reviewed by Eric.
12433
12434 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
12435
12436 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
12437 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
12438
12439 This resolves code duplications and allows us to completly replace the old
12440 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
12441
12442 As ScriptElement, doesn't actually inherit from Element, we may want to rename
12443 it, though StyleElement uses the same naming convention, so I left it as is for now.
12444 Eventually we'll rename both files in future.
12445
12446 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
12447
12448 * WebCore.pro: Add new ScriptElement.cpp to build.
12449 * WebCore.vcproj/WebCore.vcproj: Ditto.
12450 * WebCore.xcodeproj/project.pbxproj: Ditto.
12451 * WebCoreSources.bkl: Dutto.
12452 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
12453 (WebCore::ScriptElement::insertedIntoDocument):
12454 (WebCore::ScriptElement::removedFromDocument):
12455 (WebCore::ScriptElement::childrenChanged):
12456 (WebCore::ScriptElement::finishParsingChildren):
12457 (WebCore::ScriptElement::handleSourceAttribute):
12458 (WebCore::isSupportedJavaScriptLanguage):
12459 (WebCore::ScriptElementData::ScriptElementData):
12460 (WebCore::ScriptElementData::~ScriptElementData):
12461 (WebCore::ScriptElementData::requestScript):
12462 (WebCore::ScriptElementData::evaluateScript):
12463 (WebCore::ScriptElementData::stopLoadRequest):
12464 (WebCore::ScriptElementData::notifyFinished):
12465 (WebCore::ScriptElementData::ignoresLoadRequest):
12466 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
12467 (WebCore::ScriptElementData::scriptCharset):
12468 (WebCore::ScriptElementData::scriptContent):
12469 * dom/ScriptElement.h: Added.
12470 (WebCore::ScriptElement::ScriptElement):
12471 (WebCore::ScriptElement::~ScriptElement):
12472 (WebCore::ScriptElementData::element):
12473 (WebCore::ScriptElementData::createdByParser):
12474 (WebCore::ScriptElementData::setCreatedByParser):
12475 * dom/XMLTokenizer.cpp:
12476 (WebCore::isScriptElement):
12477 (WebCore::castToScriptElement):
12478 (WebCore::eventuallyMarkAsParserCreated):
12479 (WebCore::XMLTokenizer::startElementNs):
12480 (WebCore::XMLTokenizer::endElementNs):
12481 (WebCore::createXHTMLParserErrorHeader):
12482 (WebCore::XMLTokenizer::insertErrorMessageBlock):
12483 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
12484 (WebCore::HTMLScriptElement::HTMLScriptElement):
12485 (WebCore::HTMLScriptElement::~HTMLScriptElement):
12486 (WebCore::HTMLScriptElement::isURLAttribute):
12487 (WebCore::HTMLScriptElement::setCreatedByParser):
12488 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
12489 (WebCore::HTMLScriptElement::childrenChanged):
12490 (WebCore::HTMLScriptElement::parseMappedAttribute):
12491 (WebCore::HTMLScriptElement::finishParsingChildren):
12492 (WebCore::HTMLScriptElement::insertedIntoDocument):
12493 (WebCore::HTMLScriptElement::removedFromDocument):
12494 (WebCore::HTMLScriptElement::text):
12495 (WebCore::HTMLScriptElement::setText):
12496 (WebCore::HTMLScriptElement::setHtmlFor):
12497 (WebCore::HTMLScriptElement::setEvent):
12498 (WebCore::HTMLScriptElement::charset):
12499 (WebCore::HTMLScriptElement::src):
12500 (WebCore::HTMLScriptElement::type):
12501 (WebCore::HTMLScriptElement::scriptCharset):
12502 (WebCore::HTMLScriptElement::scriptContent):
12503 (WebCore::HTMLScriptElement::sourceAttributeValue):
12504 (WebCore::HTMLScriptElement::charsetAttributeValue):
12505 (WebCore::HTMLScriptElement::typeAttributeValue):
12506 (WebCore::HTMLScriptElement::languageAttributeValue):
12507 (WebCore::HTMLScriptElement::dispatchLoadEvent):
12508 (WebCore::HTMLScriptElement::dispatchErrorEvent):
12509 * html/HTMLScriptElement.h:
12510 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
12511 * svg/SVGScriptElement.cpp:
12512 (WebCore::SVGScriptElement::SVGScriptElement):
12513 (WebCore::SVGScriptElement::scriptContent):
12514 (WebCore::SVGScriptElement::sourceAttributeValue):
12515 (WebCore::SVGScriptElement::charsetAttributeValue):
12516 (WebCore::SVGScriptElement::typeAttributeValue):
12517 (WebCore::SVGScriptElement::languageAttributeValue):
12518 (WebCore::SVGScriptElement::dispatchLoadEvent):
12519 (WebCore::SVGScriptElement::dispatchErrorEvent):
12520 * svg/SVGScriptElement.h:
12521 (WebCore::SVGScriptElement::setCreatedByParser):
12522
eric@webkit.org7811ef02008-08-14 00:28:51 +0000125232008-08-13 Eric Seidel <eric@webkit.org>
12524
eric@webkit.org3562c592008-08-14 02:17:29 +000012525 Attempt to fix the Gtk build, no review.
12526
12527 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
12528
12529 * platform/graphics/GraphicsContext.h:
12530 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12531 * platform/graphics/qt/GradientQt.cpp:
12532 * platform/graphics/qt/GraphicsContextQt.cpp:
12533 * platform/gtk/RenderThemeGtk.cpp:
12534 (WebCore::paintMozWidget):
12535
125362008-08-13 Eric Seidel <eric@webkit.org>
12537
eric@webkit.org2ec42072008-08-14 02:03:09 +000012538 Yet another attempt to fix the Qt build, no review.
12539
12540 * platform/graphics/qt/GradientQt.cpp:
12541 * platform/graphics/qt/GraphicsContextQt.cpp:
12542 (WebCore::GraphicsContext::applyStrokePattern):
12543 (WebCore::GraphicsContext::applyFillPattern):
12544
125452008-08-13 Eric Seidel <eric@webkit.org>
12546
12547 Attempt to fix the Windows build, no review.
12548
12549 * platform/win/CursorWin.cpp:
12550 (WebCore::loadCursorByName):
12551 * platform/win/ScrollViewWin.cpp:
12552 (WebCore::ScrollView::paint):
12553
125542008-08-13 Eric Seidel <eric@webkit.org>
12555
eric@webkit.org508c0282008-08-14 01:29:34 +000012556 Attempt to fix the Windows build, no review.
12557
12558 * platform/win/CursorWin.cpp:
12559 (WebCore::loadCursorByName):
12560 * platform/win/ScrollViewWin.cpp:
12561 (WebCore::ScrollView::paint):
12562
125632008-08-13 Eric Seidel <eric@webkit.org>
12564
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000012565 Attempt to fix the Qt build, no review.
12566
12567 * platform/graphics/qt/ImageBufferQt.cpp:
12568 (WebCore::ImageBuffer::image):
12569
125702008-08-13 Eric Seidel <eric@webkit.org>
12571
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000012572 Attempt to fix the Windows build, no review.
12573
12574 * platform/graphics/win/ImageWin.cpp:
12575 (WebCore::Image::loadPlatformResource):
12576 * plugins/win/PluginViewWin.cpp:
12577 (WebCore::PluginView::paintMissingPluginIcon):
12578
125792008-08-13 Eric Seidel <eric@webkit.org>
12580
eric@webkit.orgac3f6662008-08-14 01:15:50 +000012581 Another attempt to fix the Qt build, no review.
12582
12583 * platform/graphics/qt/ImageQt.cpp:
12584 * platform/graphics/qt/StillImageQt.h:
12585
125862008-08-13 Eric Seidel <eric@webkit.org>
12587
eric@webkit.org31e0d812008-08-14 01:05:42 +000012588 No review, build fix only.
12589
12590 Fix mac build, due to change in new code since my patch was written.
12591
12592 * svg/graphics/cg/SVGResourceMaskerCg.mm:
12593 (WebCore::SVGResourceMasker::applyMask):
12594
125952008-08-13 Eric Seidel <eric@webkit.org>
12596
eric@webkit.orga20a0032008-08-14 00:42:54 +000012597 Build fix only, no review.
12598
12599 Attempt to fix the Qt build.
12600
eric@webkit.org923255c2008-08-14 00:59:20 +000012601 * platform/graphics/qt/ImageBufferQt.cpp:
12602 * platform/graphics/qt/StillImageQt.h:
12603 (WebCore::StillImage::create):
12604 (WebCore::StillImage::destroyDecodedData):
12605 (WebCore::StillImage::decodedSize):
12606
126072008-08-13 Eric Seidel <eric@webkit.org>
12608
12609 Build fix only, no review.
12610
12611 Attempt to fix the Qt build.
12612
eric@webkit.orga20a0032008-08-14 00:42:54 +000012613 * html/CanvasStyle.cpp:
12614 (WebCore::CanvasStyle::applyStrokeColor):
12615 (WebCore::CanvasStyle::applyFillColor):
12616
126172008-08-13 Eric Seidel <eric@webkit.org>
12618
eric@webkit.org4aca3be2008-08-14 00:30:04 +000012619 Reviewed by Sam.
12620
12621 Match HTML5 spec by throwing INVALID_STATE_ERR when
12622 createPattern is called and the HTMLImageElement is not
12623 yet done loading the image (!isComplete)
12624 https://bugs.webkit.org/show_bug.cgi?id=20351
12625
12626 Test: http/misc/canvas-pattern-from-incremental-image.html
12627
12628 * html/CanvasRenderingContext2D.cpp:
12629 (WebCore::CanvasRenderingContext2D::createPattern):
12630
126312008-08-13 Eric Seidel <eric@webkit.org>
12632
eric@webkit.org5b265602008-08-14 00:29:26 +000012633 Reviewed by Niko.
12634
eric@webkit.orgf0124f62008-08-14 00:29:50 +000012635 Split out a Pattern class from CanvasPattern
12636 and remove all the Pattern-related #ifdefs
12637 (This will break non-mac platforms! I will fix them.)
12638 https://bugs.webkit.org/show_bug.cgi?id=20351
12639
12640 * GNUmakefile.am:
12641 * WebCore.pro:
12642 * WebCore.vcproj/WebCore.vcproj:
12643 * WebCore.xcodeproj/project.pbxproj:
12644 * WebCoreSources.bkl:
12645 * html/CanvasPattern.cpp:
12646 (WebCore::CanvasPattern::parseRepetitionType):
12647 (WebCore::CanvasPattern::CanvasPattern):
12648 * html/CanvasPattern.h:
12649 (WebCore::CanvasPattern::create):
12650 (WebCore::CanvasPattern::pattern):
12651 (WebCore::CanvasPattern::originClean):
12652 * html/CanvasRenderingContext2D.cpp:
12653 (WebCore::CanvasRenderingContext2D::createPattern):
12654 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
12655 (WebCore::CanvasRenderingContext2D::applyFillPattern):
12656 * html/CanvasRenderingContext2D.h:
12657 * html/HTMLCanvasElement.cpp:
12658 * html/HTMLCanvasElement.h:
12659 * loader/FrameLoader.cpp:
12660 (WebCore::FrameLoader::createHistoryItem):
12661 * platform/graphics/GraphicsContext.h:
12662 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12663 (WebCore::GraphicsContext::applyStrokePattern):
12664 (WebCore::GraphicsContext::applyFillPattern):
12665 * platform/graphics/cg/GraphicsContextCG.cpp:
12666 (WebCore::GraphicsContext::clipToImageBuffer):
12667 (WebCore::GraphicsContext::applyStrokePattern):
12668 (WebCore::GraphicsContext::applyFillPattern):
12669
126702008-08-13 Eric Seidel <eric@webkit.org>
12671
12672 Reviewed by Niko.
12673
eric@webkit.org5b265602008-08-14 00:29:26 +000012674 Make Images RefCounted (and clean up callers)
12675 https://bugs.webkit.org/show_bug.cgi?id=20351
12676
12677 * editing/DeleteButtonController.cpp:
12678 (WebCore::DeleteButtonController::createDeletionUI):
12679 * loader/CachedImage.cpp:
12680 (WebCore::CachedImage::CachedImage):
12681 (WebCore::brokenImage):
12682 (WebCore::nullImage):
12683 (WebCore::CachedImage::image):
12684 (WebCore::CachedImage::notifyObservers):
12685 (WebCore::CachedImage::createImage):
12686 * loader/CachedImage.h:
12687 * loader/icon/IconRecord.cpp:
12688 (WebCore::IconRecord::setImageData):
12689 (WebCore::IconRecord::loadImageFromResource):
12690 * loader/icon/IconRecord.h:
12691 * platform/graphics/BitmapImage.h:
12692 (WebCore::BitmapImage::create):
12693 * platform/graphics/GeneratedImage.h:
12694 * platform/graphics/Gradient.cpp:
12695 * platform/graphics/Gradient.h:
12696 * platform/graphics/Image.cpp:
12697 (WebCore::Image::nullImage):
12698 * platform/graphics/Image.h:
12699 * platform/graphics/ImageBuffer.h:
12700 * platform/graphics/cairo/ImageBufferCairo.cpp:
12701 (WebCore::ImageBuffer::image):
12702 * platform/graphics/cg/ImageBufferCG.cpp:
12703 (WebCore::ImageBuffer::image):
12704 (WebCore::ImageBuffer::getImageData):
12705 (WebCore::ImageBuffer::putImageData):
12706 * platform/graphics/cg/PDFDocumentImage.h:
12707 (WebCore::PDFDocumentImage::create):
12708 (WebCore::PDFDocumentImage::destroyDecodedData):
12709 (WebCore::PDFDocumentImage::decodedSize):
12710 * platform/graphics/gtk/ImageGtk.cpp:
12711 (WebCore::Image::loadPlatformResource):
12712 * platform/graphics/mac/ImageMac.mm:
12713 (WebCore::Image::loadPlatformResource):
12714 * rendering/RenderImage.cpp:
12715 * rendering/RenderLayer.cpp:
12716 (WebCore::RenderLayer::paintOverflowControls):
12717 * svg/graphics/SVGImage.cpp:
12718 (WebCore::SVGImage::nativeImageForCurrentFrame):
12719 * svg/graphics/SVGImage.h:
12720 (WebCore::SVGImage::create):
12721 (WebCore::SVGImage::destroyDecodedData):
12722 (WebCore::SVGImage::decodedSize):
12723 (WebCore::SVGImage::frameAtIndex):
12724 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
12725 (WebCore::SVGPaintServerPattern::setup):
12726 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
12727 (WebCore::SVGResourceMasker::applyMask):
12728 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
12729 (WebCore::patternCallback):
12730 * svg/graphics/cg/SVGResourceMaskerCg.mm:
12731 (WebCore::SVGResourceMasker::applyMask):
12732
127332008-08-13 Eric Seidel <eric@webkit.org>
12734
12735 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000012736
12737 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000012738 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000012739
12740 There are some down-sides to this commit.
12741 This commit limits us to 255 levels of grey for calls like:
12742 context.setStrokeStyle(.37, 1.0)
12743 previously CG might have used up to 32bits to store the grey level
12744 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
12745
12746 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
12747 to RGBA32 (like all the rest of colors in WebCore), thus:
12748 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
12749 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
12750
12751 If this is a problem for Dashboard, we can either roll out this commit
12752 or add a beefier Color abstraction, which can be used internally by GraphicsContext
12753 when keeping state, and then GraphicsContext can grow some additional set* routines
12754 for setting the a grey/float/whatever fill and stroke.
12755
12756 * html/CanvasRenderingContext2D.cpp:
12757 (WebCore::CanvasRenderingContext2D::setFillStyle):
12758 * html/CanvasStyle.cpp:
12759 (WebCore::CanvasStyle::CanvasStyle):
12760 (WebCore::colorWithOverrideAlpha):
12761 (WebCore::CanvasStyle::applyStrokeColor):
12762 (WebCore::CanvasStyle::applyFillColor):
12763 * html/CanvasStyle.h:
12764 * platform/graphics/Color.cpp:
12765 (WebCore::colorFloatToRGBAByte):
12766 (WebCore::makeRGBA32FromFloats):
12767 * platform/graphics/Color.h:
12768
adele@apple.com83e44822008-08-13 23:50:41 +0000127692008-08-13 Eric Carlson <eric.carlson@apple.com>
12770
12771 Reviewed by Adele Peterson.
12772
12773 Fix for <rdar://problem/6137931>
12774 https://bugs.webkit.org/show_bug.cgi?id=20360
12775 Remove all parameters from the MIME type before checking with the MIME type registry
12776
12777 Tests: media/video-source-type-params.html
12778
12779 * html/HTMLMediaElement.cpp:
12780 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
12781 to isSupportedMediaMIMEType()
12782
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000127832008-08-13 Beth Dakin <bdakin@apple.com>
12784
12785 Reviewed by Sam Weinig.
12786
12787 Fix for <rdar://problem/6141345>
12788
12789 This patch refines findString and markAllMatchesForText functions'
12790 interactions with disconnected frames. They no longer rely on
12791 knowing where a range is relative to the visible region and work
12792 with disconnected frames that contain frames.
12793
12794 * editing/Editor.cpp:
12795 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
12796 the visiblity enum.
12797 (WebCore::Editor::firstVisibleRange): This now returns the very
12798 first visible range in the document. It's no longer dependent on
12799 searching forward.
12800 (WebCore::Editor::lastVisibleRange): This now returns the very last
12801 visible range in the document. It's no longer dependent on
12802 searching backwards.
12803 (WebCore::Editor::nextVisibleRange): This returns the next visible
12804 range in the appropriate direction from the current range.
12805 * editing/Editor.h:
12806 * page/Frame.cpp:
12807 (WebCore::Frame::findString):
12808 (WebCore::Frame::markAllMatchesForText):
12809
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000128102008-08-13 Kevin Ollivier <kevino@theolliviers.com>
12811
12812 wx build fix for case-sensitive platforms, like Linux.
12813
12814 * WebCoreSources.bkl:
12815
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000128162008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
12817
12818 Reviewed by Holger Freyther.
12819
12820 http://bugs.webkit.org/show_bug.cgi?id=16881
12821 [GTK] PlatformScreenGtk is unimplemented
12822
12823 Original patch by Christian Dywan.
12824
12825 * platform/gtk/PlatformScreenGtk.cpp:
12826 (WebCore::screenDepth):
12827 (WebCore::screenDepthPerComponent):
12828 (WebCore::screenIsMonochrome):
12829 (WebCore::screenRect):
12830 (WebCore::screenAvailableRect):
12831
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000128322008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
12833
12834 Reviewed by Holger Freyther.
12835
12836 http://bugs.webkit.org/show_bug.cgi?id=20318
12837 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
12838
12839 g_idle_add is the same as g_idle_add_full with a priority of
12840 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
12841
12842 * platform/gtk/SharedTimerGtk.cpp:
12843 (WebCore::setSharedTimerFireTime):
12844
timothy@apple.comf0426602008-08-13 18:11:01 +0000128452008-08-13 Timothy Hatcher <timothy@apple.com>
12846
12847 Changed the InspectorController so it can be notified when the
12848 attached state of the Inspector changes in WebKit.
12849
12850 Reviewed by Kevin McCullough.
12851
12852 * WebCore.base.exp: Updated the symbol for setWindowVisible.
12853 * page/InspectorController.cpp:
12854 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
12855 that defaults to false.Call setAttachedWindow with the attached argument.
12856 (WebCore::InspectorController::setAttachedWindow): Call the script version
12857 of setAttachedWindow.
12858 * page/InspectorController.h:
12859 * page/inspector/inspector.js:
12860 (WebInspector.setAttachedWindow): Set the attached property.
12861
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000128622008-08-12 Timothy Hatcher <timothy@apple.com>
12863
timothy@apple.com72c92ae2008-08-13 18:10:45 +000012864 Added a close button to the Inspector's toolbar when docked.
12865
12866 https://bugs.webkit.org/show_bug.cgi?id=14270
12867
12868 Reviewed by Kevin McCullough.
12869
12870 * page/InspectorController.cpp:
12871 (WebCore::closeWindow): Call InspectorController::closeWindow.
12872 (WebCore::InspectorController::windowScriptObjectAvailable):
12873 Added closeWindow to the script class.
12874 * page/InspectorController.h:
12875 * page/inspector/Images/closeButtons.png: Added.
12876 * page/inspector/inspector.css: Added and changed styles.
12877 * page/inspector/inspector.html: Added the close button.
12878 * page/inspector/inspector.js:
12879 (WebInspector.loaded): Added click event listener to the close button.
12880 (WebInspector.close): Call InspectorController.closeWindow.
12881
128822008-08-12 Timothy Hatcher <timothy@apple.com>
12883
timothy@apple.com9ea832b2008-08-13 18:10:36 +000012884 Make the docked Web Inspector resizable. This is the cross platform
12885 portion of the code. Each InspectorClient needs to implement the
12886 real resize code.
12887
12888 https://bugs.webkit.org/show_bug.cgi?id=14282
12889
12890 Reviewed by Kevin McCullough.
12891
12892 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
12893 * page/InspectorClient.h: Added setAttachedWindowHeight.
12894 * page/InspectorController.cpp:
12895 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
12896 on the InspectorController.
12897 (WebCore::InspectorController::setAttachedWindowHeight): Call
12898 setAttachedWindowHeight on the client.
12899 (WebCore::InspectorController::windowScriptObjectAvailable):
12900 Added setAttachedWindowHeight to the script class.
12901 * page/InspectorController.h:
12902 * page/inspector/inspector.css: Make the cursor on the toolbar be
12903 row-resize when docked.
12904 * page/inspector/inspector.js:
12905 (WebInspector.loaded): Always add the toolbarDragStart event listener.
12906 (WebInspector.toolbarDragStart): Return early if we are not attached
12907 and not on Leopard. Call WebInspector.elementDragStart.
12908 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
12909 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
12910 otherwise call moveByUnrestricted.
12911
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000129122008-08-13 Simon Hausmann <hausmann@webkit.org>
12913
12914 Reviewed by Holger.
12915
12916 Initialize m_zoomsTextOnly in the Settings constructor.
12917
12918 * page/Settings.cpp:
12919 (WebCore::Settings::Settings):
12920
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000129212008-08-13 Brad Hughes <bhughes@trolltech.com>
12922
12923 Reviewed by Simon.
12924
12925 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
12926
12927 The latest upgrade of the intel compiler allows us to compile all of
12928 Qt with optimizations enabled (yay!).
12929
12930 * WebCore.pro:
12931
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000129322008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
12933
12934 Reviewed by Simon.
12935
12936 Fix QtWebKit not displaying content on 403 HTTP responses
12937
12938 Just like with 404 responses also display content with 403, as
12939 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
12940
12941 * platform/network/qt/QNetworkReplyHandler.cpp:
12942 (WebCore::QNetworkReplyHandler::finish):
12943
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000129442008-08-13 Simon Hausmann <hausmann@webkit.org>
12945
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000012946 Reviewed by Holger.
12947
12948 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
12949
12950 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
12951
12952 * platform/text/String.cpp:
12953 (WebCore::String::format):
12954
129552008-08-13 Simon Hausmann <hausmann@webkit.org>
12956
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000012957 Reviewed by Lars.
12958
12959 Fix QWebFrame::setHtml() not setting the new contents immediately.
12960
12961 Added a setter to the DocumentLoader to toggle the deferred loading of the main
12962 resource when it comes from substitute data.
12963
12964 Disable deferred loading of the main resource when we have valid substitute data,
12965 as used by QWebFrame::setHtml.
12966
12967 * loader/DocumentLoader.h:
12968
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000129692008-08-13 Mark Rowe <mrowe@apple.com>
12970
12971 Speculative GTK build fix.
12972
12973 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
12974
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000129752008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
12976
12977 Reviewed by Simon.
12978
12979 Fix encoding of [ and ] in the host part of the URL
12980
12981 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
12982 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
12983 doesn't encode [ and ] when they are found in the host part. That is, the
12984 following URL:
12985 http://[::1]/
12986 is valid and should not be reencoded to:
12987 http://%5b::1%5d/
12988
12989 * platform/qt/KURLQt.cpp:
12990 (WebCore::KURL::operator QUrl):
12991
mitz@apple.come198b012008-08-12 21:49:07 +0000129922008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
12993
12994 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
12995 Broken HTML object elements cause de-reference of pointer to freed memory.
12996 If we fail to load an image for an object tag and we no longer believe the object tag points at
12997 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
12998 fall back content.
12999
13000 Reviewed by Dave Hyatt and Alexey Proskuryakov.
13001
13002 Test: http/tests/misc/object-image-error-with-onload.html
13003
13004 * html/HTMLObjectElement.cpp:
13005 (WebCore::HTMLObjectElement::renderFallbackContent):
13006 * page/Frame.cpp:
13007 (WebCore::Frame::Frame):
13008
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000130092008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
13010
13011 Reviewed by Dave.
13012
13013 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
13014 Masks are translated, and the mask images are swapped on the y-axis.
13015
13016 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
13017 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
13018
13019 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
13020 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
13021
13022 * svg/graphics/cg/SVGResourceMaskerCg.mm:
13023 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
13024
mitz@apple.comf8a98692008-08-12 17:04:42 +0000130252008-08-12 Dan Bernstein <mitz@apple.com>
13026
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000013027 - WebCore part of <rdar://problem/6121636>
13028 Make fast*alloc() abort() on failure and add "try" variants that
13029 return NULL on failure.
13030
13031 Reviewed by Darin Adler.
13032
13033 * platform/Arena.cpp:
13034 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
13035 result.
13036 * platform/graphics/cg/ImageBufferCG.cpp:
13037 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
13038
130392008-08-12 Dan Bernstein <mitz@apple.com>
13040
mitz@apple.com1e09cd72008-08-12 18:27:58 +000013041 Reviewed by Darin Adler.
13042
13043 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
13044 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
13045
13046 Test: fast/frames/frameset-style-recalc.html
13047
13048 * html/HTMLFrameSetElement.cpp:
13049 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
13050 class implementation after marking for layout.
13051
130522008-08-12 Dan Bernstein <mitz@apple.com>
13053
mitz@apple.comf8a98692008-08-12 17:04:42 +000013054 Reviewed by John Sullivan.
13055
13056 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
13057
13058 * WebCore.base.exp:
13059 * page/FrameView.cpp:
13060 (WebCore::FrameViewPrivate::FrameViewPrivate):
13061 (WebCore::FrameView::shouldUpdateWhileHidden):
13062 (WebCore::FrameView::setShouldUpdateWhileHidden):
13063 * page/FrameView.h:
13064 * page/Settings.cpp:
13065 * page/Settings.h:
13066
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000130672008-08-12 Adam Roben <aroben@apple.com>
13068
13069 Windows build fix
13070
13071 * bindings/js/JSSVGPODTypeWrapper.h: Align
13072 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
13073 members on 16-byte boundaries to avoid an alignment warning.
13074
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000130752008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
13076
13077 Reviewed by Oliver.
13078
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000013079 Add new dynamice-update layout tests covering SVGMarkerElement.
13080 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
13081 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
13082
13083 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
13084 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
13085 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
13086 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
13087 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
13088 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
13089 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
13090 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
13091 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
13092 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
13093 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
13094 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
13095 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
13096 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
13097 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
13098
13099 * svg/SVGMarkerElement.cpp:
13100 (WebCore::SVGMarkerElement::SVGMarkerElement):
13101 (WebCore::SVGMarkerElement::parseMappedAttribute):
13102 (WebCore::SVGMarkerElement::svgAttributeChanged):
13103 (WebCore::SVGMarkerElement::childrenChanged):
13104 (WebCore::SVGMarkerElement::setOrientToAuto):
13105 (WebCore::SVGMarkerElement::setOrientToAngle):
13106 (WebCore::SVGMarkerElement::canvasResource):
13107
131082008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
13109
13110 Reviewed by Oliver.
13111
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000013112 Add new dynamic-update layout tests covering SVGImageElement.
13113 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
13114
13115 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
13116 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
13117 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
13118 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
13119 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
13120 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
13121 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
13122 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
13123 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
13124 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
13125
13126 * svg/SVGImageElement.cpp:
13127 (WebCore::SVGImageElement::svgAttributeChanged):
13128
timothy@apple.com93114722008-08-12 04:20:25 +0000131292008-08-11 Anthony Ricaud <rik24d@gmail.com>
13130
timothy@apple.com2f2cde32008-08-12 04:28:16 +000013131 Changed Option/Alt-Up or Down in CSS editing when the value is
13132 near zero to jump to the next integer.
13133
13134 Reviewed by Tim Hatcher.
13135
13136 https://bugs.webkit.org/show_bug.cgi?id=20326
13137
13138 * page/inspector/StylesSidebarPane.js:
13139
131402008-08-11 Anthony Ricaud <rik24d@gmail.com>
13141
timothy@apple.com93114722008-08-12 04:20:25 +000013142 Changed the line highlight transition for an easier animation.
13143
13144 Reviewed by Tim Hatcher.
13145
13146 * page/inspector/SourceFrame.js:
13147
timothy@apple.com24a14852008-08-12 03:57:39 +0000131482008-08-11 Keishi Hattori <casey.hattori@gmail.com>
13149
13150 Added support for some Firebug Command Line APIs.
13151
13152 Reviewed by Tim Hatcher.
13153
13154 https://bugs.webkit.org/show_bug.cgi?id=19867
13155 https://bugs.webkit.org/show_bug.cgi?id=19868
13156 https://bugs.webkit.org/show_bug.cgi?id=19869
13157 https://bugs.webkit.org/show_bug.cgi?id=19875
13158 https://bugs.webkit.org/show_bug.cgi?id=19876
13159 https://bugs.webkit.org/show_bug.cgi?id=19880
13160
13161 * page/inspector/Console.js:
13162 (WebInspector.Console.prototype._evalInInspectedWindow):
13163 Create an object on the inspected window that holds the console
13164 command line API functions. This object is used in a with statement
13165 around the typed expression.
13166
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000131672008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
13168
13169 Reviewed by Antti.
13170
13171 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
13172
13173 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
13174 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
13175
13176 Added tests: svg/custom/svg-modify-currentTranslate.html
13177 svg/custom/tearoffs-with-tearoffs.html
13178 svg/custom/immutable-properties.html
13179
13180 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
13181
13182 * bindings/js/JSSVGPODTypeWrapper.h:
13183 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
13184 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
13185 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
13186 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
13187 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
13188 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
13189 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
13190 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
13191 * bindings/scripts/CodeGenerator.pm:
13192 * bindings/scripts/CodeGeneratorJS.pm:
13193 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
13194 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
13195
beidson@apple.com0e772f72008-08-12 00:34:46 +0000131962008-08-11 Brady Eidson <beidson@apple.com>
13197
13198 Reviewed by John and Anders
13199
13200 Fix for <rdar://problem/6141797>
13201
13202 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
13203 would never have nil data.
13204
13205 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
13206 semantics with some WebKit applications.
13207
13208 The guarantee was a good one and should be restored.
13209
13210 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
13211 creates an empty data object in the case of null data for its own purposes.
13212
13213 * loader/SubstituteResource.h:
13214 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
13215 well help any future subclassers not make this mistake.
13216
13217 * loader/archive/ArchiveResource.cpp:
13218 (WebCore::ArchiveResource::create): Return 0 if the data is null.
13219
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000132202008-08-11 Simon Fraser <simon.fraser@apple.com>
13221
13222 Reviewed by Dave Hyatt
13223
13224 https://bugs.webkit.org/show_bug.cgi?id=20328
13225 Fix a problem when an 'all' transition transition with more than
13226 one property changing is interrupted, and did some AnimationController
13227 cleanup.
13228
13229 Test: transitions/interrupted-all-transition.html
13230
13231 * page/AnimationController.cpp:
13232 (WebCore::ImplicitAnimation::ImplicitAnimation):
13233 (WebCore::AnimationControllerPrivate::blendProperties):
13234 (WebCore::CompositeAnimation::updateTransitions):
13235 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
13236 (WebCore::CompositeAnimation::setTransitionStartTime):
13237 (WebCore::CompositeAnimation::overrideImplicitAnimations):
13238 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
13239 (WebCore::ImplicitAnimation::animate):
13240 (WebCore::ImplicitAnimation::onAnimationEnd):
13241 (WebCore::ImplicitAnimation::sendTransitionEvent):
13242 (WebCore::ImplicitAnimation::affectsProperty):
13243 (WebCore::KeyframeAnimation::endAnimation):
13244 (WebCore::KeyframeAnimation::onAnimationEnd):
13245
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000132462008-08-11 Kevin McCullough <kmccullough@apple.com>
13247
13248 Reviewed by Tim.
13249
13250 - Because console messages have group levels now, newly created messages
13251 that do not specify the level lose their message since the number of
13252 arguments is wrong.
13253
13254 * page/inspector/Console.js:
13255 * page/inspector/Resource.js:
13256
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000132572008-08-11 Alp Toker <alp@nuanti.com>
13258
13259 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
13260 the opportunity to sort the sources lists.
13261
13262 * GNUmakefile.am:
13263
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000132642008-08-11 Timothy Hatcher <timothy@apple.com>
13265
13266 Speed up the the JavaScript syntax highlighter by generating
13267 the finders only once per script instead of per line.
13268
13269 https://bugs.webkit.org/show_bug.cgi?id=20346
13270
13271 Reviewed by Adam Roben.
13272
13273 * page/inspector/SourceFrame.js:
13274 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
13275 Removed, factored into syntaxHighlightJavascript as an inline function.
13276 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
13277 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
13278 Generate the finders before iterating the lines.
13279
aroben@apple.com957d2d32008-08-11 18:31:37 +0000132802008-08-11 Adam Roben <aroben@apple.com>
13281
13282 Windows build fix
13283
13284 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
13285 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
13286 too.
13287
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000132882008-08-11 Dan Bernstein <mitz@apple.com>
13289
13290 Reviewed by Darin Adler.
13291
13292 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
13293
13294 Test: fast/css/counters/invalidate-cached-counter-node.html
13295
13296 * rendering/RenderContainer.cpp:
13297 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
13298 RenderCounters in :before and :after content.
13299 * rendering/RenderContainer.h:
13300 * rendering/RenderCounter.cpp:
13301 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
13302 to match the RenderObject method.
13303 (WebCore::RenderCounter::invalidate): Added. Resets the cached
13304 CounterNode and invalidates the object's layout and preferred widths.
13305 (WebCore::destroyCounterNodeChildren): Added a call to
13306 invalidateCounters().
13307 * rendering/RenderCounter.h:
13308 * rendering/RenderObject.h:
13309 (WebCore::RenderObject::invalidateCounters):
13310
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000133112008-08-11 Dean Jackson <dino@apple.com>
13312
13313 Implement CSS Animation and Transition Events
13314 https://bugs.webkit.org/show_bug.cgi?id=20337
13315
13316 Implement the events defined in the CSS Animations
13317 and Transitions specifications so code can react
13318 to animations and transitions.
13319
13320 Reviewed by Tim Hatcher and Dave Hyatt.
13321
13322 * DerivedSources.make:
13323 * GNUmakefile.am:
13324 * WebCore.pro:
13325 * WebCore.vcproj/WebCore.vcproj:
13326 * WebCore.xcodeproj/project.pbxproj:
13327 * WebCoreSources.bkl:
13328 Build configs for new files
13329
13330 * bindings/js/JSDOMWindowBase.cpp:
13331 * bindings/js/JSDOMWindowBase.h:
13332 * bindings/js/JSEventCustom.cpp:
13333 * dom/Document.h:
13334 * dom/Event.cpp:
13335 * dom/Event.h:
13336 * dom/EventTarget.cpp:
13337 * dom/EventTargetNode.cpp:
13338 * dom/EventTargetNode.h:
13339 * html/HTMLElement.cpp:
13340 * page/AnimationController.cpp:
13341 do all the new event stuff
13342
13343 * html/HTMLAttributeNames.in:
13344 the onwebkitanimation* and onwebkittransitionend attrs
13345
13346 * dom/WebKitAnimationEvent.cpp: Added.
13347 * dom/WebKitAnimationEvent.h: Added.
13348 * dom/WebKitAnimationEvent.idl: Added.
13349 * dom/WebKitTransitionEvent.cpp: Added.
13350 * dom/WebKitTransitionEvent.h: Added.
13351 * dom/WebKitTransitionEvent.idl: Added.
13352 New files for the events
13353
13354 * manual-tests/transition-events.html: Added.
13355 New testfile
13356
aroben@apple.com3eae8622008-08-11 17:21:23 +0000133572008-08-11 Adam Roben <aroben@apple.com>
13358
13359 Add a ForwardingHeader for wtf/NotFound.h
13360
13361 Rubberstamped by Darin Adler.
13362
13363 * ForwardingHeaders/wtf/NotFound.h: Added.
13364
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000133652008-08-11 Timothy Hatcher <timothy@apple.com>
13366
13367 Fixes a bug where error bubbles in JavaScript resources would
13368 be clobbered by the syntax highlighter.
13369
13370 https://bugs.webkit.org/show_bug.cgi?id=20345
13371
13372 Reviewed by Adam Roben.
13373
13374 * manual-tests/inspector/resources/script-error.js: Added.
13375 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
13376 * page/inspector/SourceFrame.js:
13377 (WebInspector.SourceFrame.prototype._addMessageToSource):
13378 Check the nodeType and not the nodeName, this is less fragile.
13379 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
13380 Check if the lastChild is an error bubble, if so remove it before
13381 getting the line's textContent. Add the error bubble back at the end.
13382
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000013383== Rolled over to ChangeLog-2008-08-10 ==