blob: 6dccef068d1e42c2352001ab1849045a8d804a93 [file] [log] [blame]
darin@apple.com365a7d82008-10-13 01:07:04 +000012008-10-12 Darin Adler <darin@apple.com>
2
3 Reviewed by Dan Bernstein.
4
5 - https://bugs.webkit.org/show_bug.cgi?id=21563
6 Bug 21563: platform Gradient class should not use the CSS parser
7
8 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
9 that accepts a CSS color string. That's handled in the DOM now, not here.
10 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
11 copy of it here.
12 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
13
darin@apple.comad096ca2008-10-13 00:58:00 +0000142008-10-12 Glenn Wilson <gwilson@google.com>
15
16 Reviewed by Darin Adler.
17
18 - https://bugs.webkit.org/show_bug.cgi?id=20461
19
20 Added feature to allow multi-line inputs into text fields.
21 HTMLInputElement would cut the set text at the first 'system' character,
22 so it would truncate at the first carriage return or newline.
23 This fix modifies that behavior to truncate at any non-space system character
24 but changes \r, \n, and \r\n to a single space.
25
26 Tests: editing/pasteboard/paste-multiline-text-input.html
27
28 * html/HTMLInputElement.cpp:
29 (WebCore::HTMLInputElement::constrainValue):
30
darin@apple.comdcbbe942008-10-13 00:25:00 +0000312008-10-12 Dirk Schulze <vbs85@gmx.de>
32
33 Reviewed by Eric Seidel.
34
35 - https://bugs.webkit.org/show_bug.cgi?id=20435
36
37 Added exception codes to canvas gradients to match current specification.
38
39 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
40 fast/canvas/linearGradient-infinite-values.html
41 fast/canvas/radialGradient-infinite-values.html
42
43 * html/CanvasGradient.cpp:
44 (WebCore::CanvasGradient::addColorStop):
45 * html/CanvasGradient.h:
46 * html/CanvasGradient.idl:
47 * html/CanvasRenderingContext2D.cpp:
48 (WebCore::CanvasRenderingContext2D::createLinearGradient):
49 (WebCore::CanvasRenderingContext2D::createRadialGradient):
50 * html/CanvasRenderingContext2D.h:
51 * html/CanvasRenderingContext2D.idl:
52
darin@apple.come4c4b502008-10-12 23:59:09 +0000532008-10-12 Eric Roman <eroman@chromium.org>
54
55 - https://bugs.webkit.org/show_bug.cgi?id=20246
56 Implement RenderThemeWin::systemColor() to match Windows colors.
57
58 Reviewed by David Hyatt.
59
60 * rendering/RenderThemeWin.cpp:
61 (WebCore::cssValueIdToSysColorIndex):
62 (WebCore::RenderThemeWin::systemColor):
63 * rendering/RenderThemeWin.h:
64
darin@apple.com734c7252008-10-12 23:50:45 +0000652008-10-12 Aaron Bockover <abockover@novell.com>
66
67 Reviewed by Alp Toker.
68
69 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
70 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
71 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
72
73 * plugins/gtk/PluginPackageGtk.cpp:
74
darin@apple.comee5d0dc2008-10-12 23:01:25 +0000752008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
76
77 Reviewed by Oliver Hunt.
78
79 - https://bugs.webkit.org/show_bug.cgi?id=19331
80 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
81
82 * page/DragController.cpp:
83 (WebCore::DragController::startDrag): When a link is dragged without any
84 text selected (note: for this to work, the EditableLinkBehavior setting must be
85 set to 'live' or 'default') and then dropped into an editable html document it
86 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
87 is a selection. To prevent this, expand the selection to the enclosing anchor tag
88 when the drag begins.
89
darin@apple.com2ce65d52008-10-12 22:49:46 +0000902008-10-12 Darin Adler <darin@apple.com>
91
darin@apple.comb3de9be2008-10-12 22:53:15 +000092 Reviewed by Mark Rowe.
93
94 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
95 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
96
97 * rendering/RenderObject.cpp:
98 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
99 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
100 as RenderObject::isText(), and this guarantees that the node can be cast to
101 Element*, which is done just below. The reason this is hit is that RenderLayer
102 can call getPseudoStyle on a RenderView, which has the document as its
103 element() -- and a document is neither a Text node nor an Element. A loose
104 end is that this seems to mean you can't style the scrollbar corner or the
105 resizer on a RenderView. Hyatt may want to look into that later.
106
1072008-10-12 Darin Adler <darin@apple.com>
108
darin@apple.com2ce65d52008-10-12 22:49:46 +0000109 Reviewed by Sam Weinig.
110
111 - https://bugs.webkit.org/show_bug.cgi?id=21556
112 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
113
114 Tests: fast/dom/HTMLFontElement/size-attribute.html
115 fast/dom/HTMLInputElement/size-attribute.html
116 fast/dom/HTMLTableElement/cellpadding-attribute.html
117
118 * html/HTMLFontElement.cpp:
119 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
120 Unicode::isDigit, since non-ASCII digits are not valid here.
121 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
122 the unneeded destructor declaration.
123 * platform/text/String.cpp:
124 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
125 of Unicode::isDigit, since non-ASCII digits are not valid.
126
darin@apple.com39669162008-10-12 22:38:23 +00001272008-10-12 Jungshik Shin <jshin@chromium.org>
128
129 Reviewed by Darin Adler.
130
131 Treat x-user-defined as windows-1252 for html files with meta charset
132 declaration to be compatible with Indian web sites.
133 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
134
135 Test: fast/encoding/charset-xuser-defined.html
136
137 * loader/TextResourceDecoder.cpp:
138 (WebCore::TextResourceDecoder::setEncoding):
139
weinig@apple.com68017df2008-10-12 20:43:15 +00001402008-10-12 Sam Weinig <sam@webkit.org>
141
weinig@apple.com590ccdb2008-10-12 21:32:38 +0000142 Reviewed by Dan Bernstein.
143
144 Remove unneeded forward declaration.
145
146 * platform/graphics/ImageBuffer.h:
147
1482008-10-12 Sam Weinig <sam@webkit.org>
149
weinig@apple.com68017df2008-10-12 20:43:15 +0000150 Reviewed by Darin Adler.
151
152 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
153 Layering violation: String should not be responsible for creating Lengths
154
155 It was a layering violation for String to know haw to parse
156 into Lengths, LengthArrays, and CoordsArrays.
157
158 * GNUmakefile.am:
159 * WebCore.pro:
160 * WebCore.vcproj/WebCore.vcproj:
161 * WebCore.xcodeproj/project.pbxproj:
162 * WebCoreSources.bkl:
163 * html/HTMLAreaElement.cpp:
164 (WebCore::HTMLAreaElement::parseMappedAttribute):
165 * html/HTMLFrameSetElement.cpp:
166 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
167 * platform/text/AtomicString.h:
168 (WebCore::AtomicString::percentage):
169 * platform/text/PlatformString.h:
170 * platform/text/String.cpp:
171 * platform/text/StringImpl.cpp:
172 * platform/text/StringImpl.h:
173 * rendering/Length.cpp: Added.
174 (WebCore::parseLength):
175 (WebCore::countCharacter):
176 (WebCore::newCoordsArray):
177 (WebCore::newLengthArray):
178 * rendering/Length.h:
179 (WebCore::LengthSize::LengthSize):
180
darin@apple.com231607b2008-10-12 18:23:56 +00001812008-10-12 Brad Garcia <bgarcia@google.com>
182
183 Reviewed by Darin Adler.
184
185 Interpret fractional percentage values for %MultiLength values.
186 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
187 Test: fast/frames/frame-length-fractional-percentage.html
188
189 * platform/text/StringImpl.cpp:
190 (WebCore::parseLength):
191
timothy@apple.combba898e2008-10-12 17:04:51 +00001922008-10-12 Timothy Hatcher <timothy@apple.com>
193
194 Remember the expanded state of the rules in the Styles pane. So
195 collapsing a rule will persist across all the elements that have
196 that same rule. The same applies to Computed Style, so the Computed
197 Style rule is now collapsed by default. This should help lessen the
198 confusion on why Computed Style can't be edited (a common confusion.)
199
200 https://bugs.webkit.org/show_bug.cgi?id=21553
201
202 Reviewed by Darin Adler.
203
204 * inspector/front-end/PropertiesSection.js:
205 (WebInspector.PropertiesSection): Set the _expanded property directly,
206 instead of using the setter. Expanded is the default, so no work is needed.
207 This prevents calling StylesSidebarPane.collapse before object initialization
208 is complete.
209 * inspector/front-end/StylesSidebarPane.js:
210 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
211 for the expanded state of the StylePropertiesSection. Collapse computed style
212 by default and expand everything else.
213 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
214 when remembering expanded state.
215 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
216 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
217 the state if the dontRememberState property is true.
218 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
219 to false for this identifier in Preferences.styleRulesExpandedState.
220 * inspector/front-end/inspector.js:
221 (Preferences.styleRulesExpandedState): Initialize to an empty object.
222
jmalonzo@webkit.org1a75c1b2008-10-12 11:47:04 +00002232008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
224
225 Reviewed by Alp Toker.
226
227 [Gtk] Remove libWebCoreJS.la when doing make clean
228 https://bugs.webkit.org/show_bug.cgi?id=21544
229
230 Remove libWebCoreJS.la when doing a clean target
231
232 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
233
alp@webkit.org85a7e4f2008-10-12 06:50:21 +00002342008-10-11 Alp Toker <alp@nuanti.com>
235
236 Reviewed by Darin Adler.
237
238 https://bugs.webkit.org/show_bug.cgi?id=20592
239 The focus ring is not shown while navigating on some pages
240
241 Fix drawFocusRing() so it doesn't depend on the current graphics
242 state, thus matching other platforms which already work this way.
243
244 This patch provides two code paths: one using straight Cairo and
245 one specialised for the GTK+ port with a more conventional appearance.
246
247 Also change focusRingColor() to return a null color, allowing the
248 focus ring to pick up the style's current color if it isn't overridden
249 with CSS.
250
251 * platform/graphics/cairo/GraphicsContextCairo.cpp:
252 (WebCore::GraphicsContext::drawFocusRing):
253 * platform/gtk/TemporaryLinkStubs.cpp:
254 (WebCore::focusRingColor):
255
mitz@apple.com7378cec2008-10-12 04:56:20 +00002562008-10-11 Dan Bernstein <mitz@apple.com>
257
258 Rubber-stamped by Sam Weinig.
259
260 - change all internal callers to use Cache::evict() instead of remove()
261
262 * loader/Cache.cpp:
263 (WebCore::Cache::revalidateResource):
264 (WebCore::Cache::revalidationSucceeded):
265 (WebCore::Cache::pruneDeadResources):
266 (WebCore::Cache::setDisabled):
267
hyatt@apple.com0578b132008-10-12 04:20:26 +00002682008-10-11 David Hyatt <hyatt@apple.com>
269
hyatt@apple.com668b6712008-10-12 04:26:47 +0000270 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
271
272 Reviewed by Tim Hatcher
273
274 * platform/ScrollbarThemeComposite.cpp:
275 (WebCore::ScrollbarThemeComposite::invalidatePart):
276
2772008-10-11 David Hyatt <hyatt@apple.com>
278
hyatt@apple.com0578b132008-10-12 04:20:26 +0000279 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
280
281 Also fixed resizer positioning problems.
282
283 Reviewed by Tim Hatcher
284
285 * platform/ScrollbarThemeComposite.cpp:
286 (WebCore::ScrollbarThemeComposite::splitTrack):
287 (WebCore::ScrollbarThemeComposite::trackPosition):
288 (WebCore::ScrollbarThemeComposite::trackLength):
289 * platform/ScrollbarThemeComposite.h:
290 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
291 * rendering/RenderLayer.cpp:
292 (WebCore::scrollCornerRect):
293 (WebCore::RenderLayer::positionOverflowControls):
294 (WebCore::RenderLayer::paintOverflowControls):
295 (WebCore::RenderLayer::isPointInResizeControl):
296 (WebCore::RenderLayer::hitTestOverflowControls):
297 * rendering/RenderScrollbarTheme.cpp:
298 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
299 * rendering/RenderScrollbarTheme.h:
300
alp@webkit.org9c37e8f2008-10-12 03:33:28 +00003012008-10-11 Alp Toker <alp@nuanti.com>
302
303 Reviewed by David Hyatt.
304
305 Implement release/retain for Widget GTK+.
306
307 * platform/Widget.cpp:
308 * platform/gtk/WidgetGtk.cpp:
309 (WebCore::Widget::~Widget):
310 (WebCore::Widget::releasePlatformWidget):
311 (WebCore::Widget::retainPlatformWidget):
312
mitz@apple.comf0f7ed82008-10-11 22:53:28 +00003132008-10-11 Dan Bernstein <mitz@apple.com>
314
315 Reviewed by Sam Weinig.
316
317 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
318 and add a corresponding getter; add the same functions on Windows
319
320 * WebCore.base.exp:
321 * platform/graphics/Font.cpp:
322 (WebCore::Font::setCodePath):
323 (WebCore::codePath):
324 (WebCore::Font::canUseGlyphCache):
325 * platform/graphics/Font.h:
326 * platform/mac/WebCoreTextRenderer.h:
327 * platform/mac/WebCoreTextRenderer.mm:
328 (WebCoreSetAlwaysUsesComplexTextCodePath):
329 (WebCoreAlwaysUsesComplexTextCodePath):
330 * platform/win/WebCoreTextRenderer.cpp:
331 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
332 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
333 * platform/win/WebCoreTextRenderer.h:
334
weinig@apple.comeb4243f2008-10-11 22:10:38 +00003352008-10-11 Sam Weinig <sam@webkit.org>
336
337 Reviewed by Cameron Zwarich.
338
weinig@apple.com5f7c6162008-10-11 22:20:09 +0000339 Stop leaking the event parameter names. The protected strings were showing up
340 in the caches window after one use. No measurable performance loss.
341
342 * bindings/js/JSEventListener.cpp:
343 (WebCore::eventParameterName):
344
3452008-10-11 Sam Weinig <sam@webkit.org>
346
347 Reviewed by Cameron Zwarich.
348
weinig@apple.comeb4243f2008-10-11 22:10:38 +0000349 Remove unused function getNodeEventListener.
350
351 * bindings/js/JSEventListener.cpp:
352 * bindings/js/JSEventListener.h:
353
hyatt@apple.comf2452672008-10-11 07:50:03 +00003542008-10-11 David Hyatt <hyatt@apple.com>
355
356 Add support for both positive and negative margins to tracks and track pieces.
357
358 Reviewed by Tim Hatcher
359
360 * platform/ScrollbarThemeComposite.cpp:
361 (WebCore::ScrollbarThemeComposite::paint):
362 (WebCore::ScrollbarThemeComposite::hitTest):
363 (WebCore::ScrollbarThemeComposite::splitTrack):
364 (WebCore::ScrollbarThemeComposite::trackPieceRects):
365 (WebCore::ScrollbarThemeComposite::trackPosition):
366 (WebCore::ScrollbarThemeComposite::trackLength):
367 * platform/ScrollbarThemeComposite.h:
368 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
369 * rendering/RenderScrollbar.cpp:
370 (WebCore::RenderScrollbar::trackRect):
371 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
372 * rendering/RenderScrollbar.h:
373 * rendering/RenderScrollbarPart.cpp:
374 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
375 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
376 * rendering/RenderScrollbarTheme.cpp:
377 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
378 * rendering/RenderScrollbarTheme.h:
379
hyatt@apple.com729214e2008-10-11 06:30:47 +00003802008-10-10 David Hyatt <hyatt@apple.com>
381
382 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
383 the scrollbar pseudo-elements anyway.
384
385 Reviewed by Tim Hatcher
386
387 * css/CSSSelector.cpp:
388 (WebCore::CSSSelector::extractPseudoType):
389 * css/CSSSelector.h:
390 (WebCore::CSSSelector::):
391 * css/CSSStyleSelector.cpp:
392 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
393
mitz@apple.comb5de9462008-10-11 06:26:59 +00003942008-10-10 Dan Bernstein <mitz@apple.com>
395
396 Reviewed by Sam Weinig.
397
398 - separate Cache::remove() into a private method and a public interface,
399 then make Cache::pruneDeadResources() use the private method.
400
401 * loader/Cache.cpp:
402 (WebCore::Cache::pruneDeadResources):
403 (WebCore::Cache::evict):
404 * loader/Cache.h:
405 (WebCore::Cache::remove):
406
hyatt@apple.comd65740c2008-10-11 05:30:39 +00004072008-10-10 David Hyatt <hyatt@apple.com>
408
hyatt@apple.com739b8f02008-10-11 06:12:14 +0000409 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
410 now that the track pieces meet under the thumb.
411
412 Reviewed by Tim Hatcher
413
414 * platform/ScrollbarThemeComposite.cpp:
415 (WebCore::ScrollbarThemeComposite::paint):
416 (WebCore::ScrollbarThemeComposite::splitTrack):
417
4182008-10-10 David Hyatt <hyatt@apple.com>
419
hyatt@apple.com4c767e22008-10-11 06:04:02 +0000420 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
421
422 Reviewed by Tim Hatcher
423
424 * platform/ScrollbarThemeComposite.cpp:
425 (WebCore::ScrollbarThemeComposite::hitTest):
426 (WebCore::ScrollbarThemeComposite::splitTrack):
427
4282008-10-10 David Hyatt <hyatt@apple.com>
429
hyatt@apple.come8609a22008-10-11 05:54:35 +0000430 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
431
432 Reviewed by Tim Hatcher
433
434 * rendering/RenderLayer.cpp:
435 (WebCore::RenderLayer::createScrollbar):
436 * rendering/RenderScrollbar.cpp:
437 (WebCore::RenderScrollbar::createCustomScrollbar):
438 (WebCore::RenderScrollbar::RenderScrollbar):
439 (WebCore::RenderScrollbar::setParent):
440 (WebCore::RenderScrollbar::updateScrollbarParts):
441 (WebCore::RenderScrollbar::updateScrollbarPart):
442 * rendering/RenderScrollbar.h:
443 * rendering/style/RenderStyle.h:
444 (WebCore::RenderStyle::):
445
4462008-10-10 David Hyatt <hyatt@apple.com>
447
hyatt@apple.comd65740c2008-10-11 05:30:39 +0000448 Make sure scrollbar background images cause proper part invalidation to occur.
449
450 Reviewed by Tim Hatcher
451
452 * rendering/RenderScrollbar.cpp:
453 (WebCore::RenderScrollbar::setHoveredPart):
454 (WebCore::RenderScrollbar::setPressedPart):
455 * rendering/RenderScrollbarPart.cpp:
456 (WebCore::RenderScrollbarPart::styleDidChange):
457 (WebCore::RenderScrollbarPart::imageChanged):
458 * rendering/RenderScrollbarPart.h:
459
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +00004602008-10-10 Simon Fraser <simon.fraser@apple.com>
461
462 Reviewed by Darin Adler
463
simon.fraser@apple.com72df8f02008-10-11 00:35:23 +0000464 https://bugs.webkit.org/show_bug.cgi?id=21538
465
466 The blendFunc() for TransformOperations should never mess with the
467 operation lists by replacing some ops with identity, otherwise the lists
468 no longer match and transitions break.
469
470 Test: transitions/matched-transform-functions.html
471
472 * page/animation/AnimationBase.cpp:
473 (WebCore::blendFunc):
474
4752008-10-10 Simon Fraser <simon.fraser@apple.com>
476
477 Reviewed by Darin Adler
478
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +0000479 https://bugs.webkit.org/show_bug.cgi?id=21537
480
481 Fix re-targetting a running transition; if the target property
482 changes, we do need to make a new ImplicitAnimation.
483
484 Test: transitions/retargetted-transition.html
485
486 * page/animation/CompositeAnimation.cpp:
487 (WebCore::CompositeAnimationPrivate::updateTransitions):
488
oliver@apple.com7264bb52008-10-10 23:21:39 +00004892008-10-10 Oliver Hunt <oliver@apple.com>
490
491 Reviewed by Cameron Zwarich.
492
493 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
494
495 When JS is terminated by the user choosing to stop a slow script
496 the exception toString method throws, yet the console logger does
497 not perform exception checks after logging. This leaves an
498 exception on the Machine, which in turn results in an assertion
499 failure next time we attempt to enter JS. The solution is just to
500 clear the exception state after attempting to record the exception.
501
502 * page/Console.cpp:
503 (WebCore::Console::reportException):
504
hyatt@apple.comfca034d2008-10-10 21:05:07 +00005052008-10-10 David Hyatt <hyatt@apple.com>
506
hyatt@apple.com0f129042008-10-10 22:24:15 +0000507 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
508 when looking for pseudo styles.
509
510 Reviewed by Tim Hatcher
511
512 * rendering/RenderLayer.cpp:
513 (WebCore::RenderLayer::createScrollbar):
514 (WebCore::RenderLayer::styleChanged):
515
5162008-10-10 David Hyatt <hyatt@apple.com>
517
hyatt@apple.comca798132008-10-10 22:16:24 +0000518 Add the ability to style the scroll corner and the resizer from CSS.
519
520 Reviewed by Tim Hatcher
521
522 * css/CSSSelector.cpp:
523 (WebCore::CSSSelector::extractPseudoType):
524 * css/CSSSelector.h:
525 (WebCore::CSSSelector::):
526 * css/CSSStyleSelector.cpp:
527 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
528 * rendering/RenderLayer.cpp:
529 (WebCore::RenderLayer::RenderLayer):
530 (WebCore::RenderLayer::~RenderLayer):
531 (WebCore::RenderLayer::paintOverflowControls):
532 (WebCore::RenderLayer::paintScrollCorner):
533 (WebCore::RenderLayer::paintResizer):
534 (WebCore::RenderLayer::styleChanged):
535 * rendering/RenderLayer.h:
536 * rendering/RenderScrollbar.cpp:
537 (WebCore::RenderScrollbar::updateScrollbarPart):
538 (WebCore::RenderScrollbar::paintPart):
539 * rendering/RenderScrollbarPart.cpp:
540 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
541 (WebCore::RenderScrollbarPart::paintIntoRect):
542 * rendering/RenderScrollbarPart.h:
543 * rendering/style/RenderStyle.h:
544 (WebCore::RenderStyle::):
545
5462008-10-10 David Hyatt <hyatt@apple.com>
547
hyatt@apple.comfca034d2008-10-10 21:05:07 +0000548 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
549
550 Reviewed by Sam Weinig
551
552 No test case possible, since the OS setting can vary.
553
554 * css/CSSSelector.cpp:
555 (WebCore::CSSSelector::extractPseudoType):
556 * css/CSSSelector.h:
557 (WebCore::CSSSelector::):
558 * css/CSSStyleSelector.cpp:
559 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
560 * platform/Scrollbar.h:
561 (WebCore::Scrollbar::styleChanged):
562 * platform/mac/ScrollbarThemeMac.mm:
563 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
564 (WebCore::ScrollbarThemeMac::preferencesChanged):
565 * rendering/RenderLayer.cpp:
566 (WebCore::RenderLayer::invalidateScrollbarRect):
567 * rendering/RenderScrollbar.cpp:
568 (WebCore::RenderScrollbar::styleChanged):
569 (WebCore::RenderScrollbar::updateScrollbarPart):
570 * rendering/RenderScrollbar.h:
571 * rendering/RenderScrollbarTheme.h:
572 (WebCore::RenderScrollbarTheme::buttonsPlacement):
573
timothy@apple.comc1df5732008-10-10 20:27:51 +00005742008-10-10 Timothy Hatcher <timothy@apple.com>
575
576 Fixes a regression with input search fields, where the placeholder text
577 would not be updated when the value of the placeholder attribute changed.
578
579 https://bugs.webkit.org/show_bug.cgi?id=21521
580
581 Reviewed by Adele Peterson.
582
583 Test: fast/forms/search-placeholder-value-changed.html
584
585 * html/HTMLInputElement.cpp:
586 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
587 placeholderValueChanged parameter of updatePlaceholderVisibility.
588 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
589 for placeholderValueChanged that informs the method that the value changed.
590 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
591 updatePlaceholderVisibility method. Made it default to false.
592
hyatt@apple.comf9e710b2008-10-10 19:32:52 +00005932008-10-10 David Hyatt <hyatt@apple.com>
594
hyatt@apple.comc92f8c22008-10-10 20:12:14 +0000595 Allow the track part to have negative margins so that it can slightly overlap buttons. This
596 is necessary to emulate the Aqua look in CSS.
597
598 Reviewed by Sam Weinig
599
600 * platform/ScrollbarThemeComposite.cpp:
601 (WebCore::ScrollbarThemeComposite::paint):
602 (WebCore::ScrollbarThemeComposite::hitTest):
603 * rendering/RenderScrollbar.cpp:
604 (WebCore::RenderScrollbar::setHoveredPart):
605 (WebCore::RenderScrollbar::trackRect):
606 * rendering/RenderScrollbar.h:
607 * rendering/RenderScrollbarPart.cpp:
608 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
609 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
610 * rendering/RenderScrollbarTheme.cpp:
611 (WebCore::RenderScrollbarTheme::backButtonRect):
612 (WebCore::RenderScrollbarTheme::forwardButtonRect):
613 (WebCore::RenderScrollbarTheme::trackRect):
614
6152008-10-10 David Hyatt <hyatt@apple.com>
616
hyatt@apple.comf9e710b2008-10-10 19:32:52 +0000617 https://bugs.webkit.org/show_bug.cgi?id=21527
618
619 Make CSS scrollbars support :not, :hover and :active.
620
621 Reviewed by Adam Roben
622
623 Added WebCore/manual-tests/scrollbar-hover-active.html
624
625 * css/CSSStyleSelector.cpp:
626 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
627 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
628 * platform/Scrollbar.cpp:
629 (WebCore::Scrollbar::autoscrollPressedPart):
630 (WebCore::Scrollbar::startTimerIfNeeded):
631 (WebCore::Scrollbar::setHoveredPart):
632 (WebCore::Scrollbar::setPressedPart):
633 (WebCore::Scrollbar::mouseMoved):
634 (WebCore::Scrollbar::mouseExited):
635 (WebCore::Scrollbar::mouseUp):
636 (WebCore::Scrollbar::mouseDown):
637 * platform/Scrollbar.h:
638 * rendering/RenderScrollbar.cpp:
639 (WebCore::RenderScrollbar::setHoveredPart):
640 (WebCore::RenderScrollbar::setPressedPart):
641 (WebCore::RenderScrollbar::updateScrollbarParts):
642 (WebCore::pseudoForScrollbarPart):
643 (WebCore::RenderScrollbar::updateScrollbarPart):
644 * rendering/RenderScrollbar.h:
645
cmarrin@apple.com274a8cf2008-10-10 18:43:47 +00006462008-10-10 Chris Marrin <cmarrin@apple.com>
647
648 Reviewed by Dan Bernstein.
649
650 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
651 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
652
653 Test: transitions/interrupt-zero-duration.html
654
655 * page/animation/CompositeAnimation.cpp:
656 (WebCore::CompositeAnimation::updateTransitions):
657
kevino@webkit.org0b227f82008-10-10 17:13:46 +00006582008-10-10 Kevin Ollivier <kevino@theolliviers.com>
659
660 wx build fix. Add new scrollbar-related sources.
661
662 * WebCoreSources.bkl:
663
hyatt@apple.com216ac3b2008-10-10 07:15:04 +00006642008-10-10 David Hyatt <hyatt@apple.com>
665
hyatt@apple.com676ab7f2008-10-10 16:59:20 +0000666 https://bugs.webkit.org/show_bug.cgi?id=21522
667
668 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
669 created. (Just :hover/:active left to finish it up.)
670
671 Reviewed by Adam Roben
672
673 Added scrollbars/scrollbar-buttons.html
674
675 * css/CSSStyleSelector.cpp:
676 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
677
6782008-10-10 David Hyatt <hyatt@apple.com>
679
hyatt@apple.com08425212008-10-10 16:40:26 +0000680 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
681 back/forward to decrement/increment. Adding start/end pseudoclasses.
682
683 Reviewed by Eric Seidel
684
685 * css/CSSSelector.cpp:
686 (WebCore::CSSSelector::extractPseudoType):
687 * css/CSSSelector.h:
688 (WebCore::CSSSelector::):
689 * css/CSSStyleSelector.cpp:
690 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
691
6922008-10-10 David Hyatt <hyatt@apple.com>
693
hyatt@apple.com216ac3b2008-10-10 07:15:04 +0000694 Switch window-active to window-inactive, since that will work better as far as degrading in other
695 browsers.
696
697 Reviewed by Tim Hatcher
698
699 * css/CSSSelector.cpp:
700 (WebCore::CSSSelector::extractPseudoType):
701 * css/CSSSelector.h:
702 (WebCore::CSSSelector::):
703 * css/CSSStyleSelector.cpp:
704 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
705
cmarrin@apple.com1386c1c2008-10-10 18:04:20 +00007062008-10-09 Chris Marrin <cmarrin@apple.com>
707
708 Reviewed by Dan Bernstein.
709
710 https://bugs.webkit.org/show_bug.cgi?id=21310
711
712 Redesigned how animation events are sent in order to get rid of
713 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
714 are now ref counted. While calling the event handler, I keep a
715 reference to this class to avoid it getting destroyed out from under me.
716
717 I also moved most of the functionality of CompositeAnimation to
718 and internal class (CompositeAnimationPrivate) to reduce the exposure
719 of the internals of the various animation classes.
720
721 We have several transition and animation LayoutTests which verify that
722 this fix works as expected and continues to avoid crashes.
723
724 * page/animation/AnimationBase.cpp:
725 (WebCore::AnimationBase::AnimationBase):
726 * page/animation/AnimationBase.h:
727 (WebCore::AnimationBase::cancelTimers):
728 (WebCore::AnimationBase::waitingForStyleAvailable):
729 * page/animation/CompositeAnimation.cpp:
730 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
731 (WebCore::CompositeAnimationPrivate::suspended):
732 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
733 (WebCore::CompositeAnimationPrivate::updateTransitions):
734 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
735 (WebCore::CompositeAnimationPrivate::animate):
736 (WebCore::CompositeAnimationPrivate::setAnimating):
737 (WebCore::CompositeAnimationPrivate::animating):
738 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
739 (WebCore::CompositeAnimationPrivate::resetTransitions):
740 (WebCore::CompositeAnimationPrivate::resetAnimations):
741 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
742 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
743 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
744 (WebCore::CompositeAnimationPrivate::suspendAnimations):
745 (WebCore::CompositeAnimationPrivate::resumeAnimations):
746 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
747 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
748 (WebCore::compareAnimationIndices):
749 (WebCore::CompositeAnimationPrivate::styleAvailable):
750 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
751 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
752 (WebCore::CompositeAnimation::CompositeAnimation):
753 (WebCore::CompositeAnimation::~CompositeAnimation):
754 (WebCore::CompositeAnimation::animate):
755 (WebCore::CompositeAnimation::animating):
756 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
757 (WebCore::CompositeAnimation::resetTransitions):
758 (WebCore::CompositeAnimation::suspendAnimations):
759 (WebCore::CompositeAnimation::resumeAnimations):
760 (WebCore::CompositeAnimation::suspended):
761 (WebCore::CompositeAnimation::styleAvailable):
762 (WebCore::CompositeAnimation::setAnimating):
763 (WebCore::CompositeAnimation::isAnimatingProperty):
764 (WebCore::CompositeAnimation::setAnimationStartTime):
765 (WebCore::CompositeAnimation::setTransitionStartTime):
766 (WebCore::CompositeAnimation::overrideImplicitAnimations):
767 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
768 * page/animation/CompositeAnimation.h:
769 * page/animation/ImplicitAnimation.cpp:
770 (WebCore::ImplicitAnimation::sendTransitionEvent):
771 * page/animation/ImplicitAnimation.h:
772 (WebCore::ImplicitAnimation::create):
773 * page/animation/KeyframeAnimation.cpp:
774 (WebCore::KeyframeAnimation::sendAnimationEvent):
775 * page/animation/KeyframeAnimation.h:
776 (WebCore::KeyframeAnimation::create):
777
hyatt@apple.come784a792008-10-10 05:56:10 +00007782008-10-09 David Hyatt <hyatt@apple.com>
779
hyatt@apple.come3803262008-10-10 07:04:38 +0000780 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
781 is active as well.
782
783 Reviewed by Tim Hatcher
784
785 Added scrollbars/scrollbar-orientation.html
786
787 * css/CSSSelector.cpp:
788 (WebCore::CSSSelector::extractPseudoType):
789 * css/CSSSelector.h:
790 (WebCore::CSSSelector::):
791 * css/CSSStyleSelector.cpp:
792 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
793 * platform/Scrollbar.cpp:
794 (WebCore::Scrollbar::isWindowActive):
795 * platform/Scrollbar.h:
796 * rendering/RenderScrollbar.cpp:
797 (WebCore::RenderScrollbar::paint):
798 (WebCore::RenderScrollbar::partForStyleResolve):
799 * rendering/RenderScrollbar.h:
800
8012008-10-09 David Hyatt <hyatt@apple.com>
802
hyatt@apple.come784a792008-10-10 05:56:10 +0000803 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
804 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
805
806 Reviewed by Tim Hatcher
807
808 Added scrollbars/disabled-scrollbar.html
809
810 * css/CSSStyleSelector.cpp:
811 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
812 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
813 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
814 * css/CSSStyleSelector.h:
815 * rendering/RenderObject.cpp:
816 (WebCore::RenderObject::getPseudoStyle):
817 * rendering/RenderObject.h:
818 * rendering/RenderScrollbar.cpp:
819 (WebCore::RenderScrollbar::setEnabled):
820 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
821 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
822 (WebCore::RenderScrollbar::paintPart):
823 * rendering/RenderScrollbar.h:
824
eric.carlson@apple.com24750582008-10-10 04:04:15 +00008252008-10-09 Eric Carlson <eric.carlson@apple.com>
826
827 Media controls should not show when element is not visible
828
829 https://bugs.webkit.org/show_bug.cgi?id=21155
830
831 Reviewed by Adele Peterson.
832
833 * html/HTMLMediaElement.cpp:
834 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
835 in sync with visibility changes
836 * html/HTMLMediaElement.h:
837 * rendering/RenderMedia.cpp:
838 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
839 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
840 if element is visible or not. Don't animate controller visibility when change triggered by
841 showing or hiding media element.
842 * rendering/RenderMedia.h: declare m_previousVisible
843
timothy@apple.com746258b2008-10-10 03:23:12 +00008442008-10-09 Timothy Hatcher <timothy@apple.com>
845
846 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
847 availability macros and version macros.
848
849 https://bugs.webkit.org/show_bug.cgi?id=21496
850 rdar://problem/6259225
851
852 Reviewed by Sam Weinig.
853
854 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
855 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
856 and add an #if around the enum.
857 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
858 comment to match the other headers.
859 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
860 * bindings/objc/DOMObject.h: Add a version #if around class interface.
861 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
862 and add a version #if around the enum.
863 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
864 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
865 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
866 when they where added to WebKit. Also annotate individual methods that are
867 deprecated or where added after the class was added to WebKit.
868 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
869 since this header is included by most DOM headers. Annotate the JSObject method.
870
871 * bindings/scripts/CodeGeneratorObjC.pm:
872 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
873 And parse out the availability version for the class/protocol. Default to
874 WEBKIT_VERSION_LATEST if the class is new.
875 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
876 interface availability version check if the class has a required version. Create
877 a public interface key (used to lookup in $publicInterfaces) and make a declaration
878 suffix that includes the availability macro (if needed). Use the "available in 1.3
879 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
880 the default availability macro for old style methods. Tweak line breaks in the generated
881 headers to look good and not have too many extra lines.
882
simon.fraser@apple.coma89b8cd2008-10-10 03:15:31 +00008832008-10-09 Simon Fraser <simon.fraser@apple.com>
884
885 Reviewed by Dave Hyatt
886
887 https://bugs.webkit.org/show_bug.cgi?id=20947
888
889 Refactor setStyle() methods into styleWillChange()
890 and styleDidChange(), so most of the setStyle() overrides can
891 be removed.
892
893 * rendering/RenderBR.cpp:
894 (WebCore::RenderBR::styleDidChange):
895 * rendering/RenderBR.h:
896 * rendering/RenderBlock.cpp:
897 (WebCore::RenderBlock::styleWillChange):
898 (WebCore::RenderBlock::styleDidChange):
899 * rendering/RenderBlock.h:
900 * rendering/RenderBox.cpp:
901 (WebCore::RenderBox::~RenderBox):
902 (WebCore::RenderBox::destroy):
903 (WebCore::RenderBox::styleWillChange):
904 (WebCore::RenderBox::styleDidChange):
905 * rendering/RenderBox.h:
906 * rendering/RenderButton.cpp:
907 (WebCore::RenderButton::styleWillChange):
908 (WebCore::RenderButton::styleDidChange):
909 * rendering/RenderButton.h:
910 * rendering/RenderFieldset.cpp:
911 (WebCore::RenderFieldset::styleDidChange):
912 * rendering/RenderFieldset.h:
913 * rendering/RenderFileUploadControl.cpp:
914 (WebCore::RenderFileUploadControl::styleDidChange):
915 * rendering/RenderFileUploadControl.h:
916 * rendering/RenderInline.cpp:
917 (WebCore::RenderInline::styleDidChange):
918 * rendering/RenderInline.h:
919 * rendering/RenderLayer.cpp:
920 (WebCore::RenderLayer::styleChanged):
921 * rendering/RenderLayer.h:
922 * rendering/RenderListBox.cpp:
923 (WebCore::RenderListBox::styleDidChange):
924 * rendering/RenderListBox.h:
925 * rendering/RenderListItem.cpp:
926 (WebCore::RenderListItem::styleDidChange):
927 * rendering/RenderListItem.h:
928 * rendering/RenderListMarker.cpp:
929 (WebCore::RenderListMarker::styleWillChange):
930 (WebCore::RenderListMarker::styleDidChange):
931 * rendering/RenderListMarker.h:
932 * rendering/RenderMenuList.cpp:
933 (WebCore::RenderMenuList::styleDidChange):
934 * rendering/RenderMenuList.h:
935 * rendering/RenderObject.cpp:
936 (WebCore::RenderObject::setStyle):
937 (WebCore::RenderObject::setStyleInternal):
938 (WebCore::RenderObject::styleWillChange):
939 (WebCore::RenderObject::styleDidChange):
940 * rendering/RenderObject.h:
941 * rendering/RenderReplaced.cpp:
942 (WebCore::RenderReplaced::styleDidChange):
943 * rendering/RenderReplaced.h:
944 * rendering/RenderSVGGradientStop.cpp:
945 (WebCore::RenderSVGGradientStop::styleDidChange):
946 * rendering/RenderSVGGradientStop.h:
947 * rendering/RenderScrollbarPart.cpp:
948 (WebCore::RenderScrollbarPart::styleDidChange):
949 * rendering/RenderScrollbarPart.h:
950 * rendering/RenderSlider.cpp:
951 (WebCore::RenderSlider::styleDidChange):
952 * rendering/RenderSlider.h:
953 * rendering/RenderTable.cpp:
954 (WebCore::RenderTable::styleDidChange):
955 * rendering/RenderTable.h:
956 * rendering/RenderTableCell.cpp:
957 (WebCore::RenderTableCell::styleWillChange):
958 (WebCore::RenderTableCell::styleDidChange):
959 * rendering/RenderTableCell.h:
960 * rendering/RenderTableRow.cpp:
961 (WebCore::RenderTableRow::styleWillChange):
962 * rendering/RenderTableRow.h:
963 * rendering/RenderText.cpp:
964 (WebCore::RenderText::styleDidChange):
965 * rendering/RenderText.h:
966 * rendering/RenderTextControl.cpp:
967 (WebCore::RenderTextControl::styleDidChange):
968 * rendering/RenderTextControl.h:
969 * rendering/RenderWidget.cpp:
970 (WebCore::RenderWidget::styleDidChange):
971 * rendering/RenderWidget.h:
972
hyatt@apple.com2e4835d2008-10-10 02:33:16 +00009732008-10-09 David Hyatt <hyatt@apple.com>
974
hyatt@apple.com1d089852008-10-10 03:25:37 +0000975 Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget
hyatt@apple.comb2063c12008-10-10 03:13:07 +0000976 parent is nulled out is a good time.
977
978 Reviewed by Oliver Hunt
979
980 * rendering/RenderScrollbar.cpp:
981 (WebCore::RenderScrollbar::~RenderScrollbar):
982 (WebCore::RenderScrollbar::setParent):
983 (WebCore::RenderScrollbar::updateScrollbarPart):
984 * rendering/RenderScrollbar.h:
985
9862008-10-09 David Hyatt <hyatt@apple.com>
987
hyatt@apple.com2e4835d2008-10-10 02:33:16 +0000988 https://bugs.webkit.org/show_bug.cgi?id=21446
989
990 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
991 orientation and back vs. forward on the buttons, but it's a start.
992
993 Reviewed by Oliver Hunt
994
995 Added scrollbars/basic-scrollbar.html
996
997 * WebCore.xcodeproj/project.pbxproj:
998 * css/CSSSelector.cpp:
999 (WebCore::CSSSelector::extractPseudoType):
1000 * css/CSSSelector.h:
1001 (WebCore::CSSSelector::):
1002 * css/CSSStyleSelector.cpp:
1003 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1004 * platform/ScrollTypes.h:
1005 (WebCore::):
1006 * platform/Scrollbar.h:
1007 (WebCore::Scrollbar::styleChanged):
1008 * platform/ScrollbarThemeComposite.cpp:
1009 (WebCore::ScrollbarThemeComposite::paint):
1010 (WebCore::ScrollbarThemeComposite::splitTrack):
1011 * platform/ScrollbarThemeComposite.h:
1012 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
1013 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
1014 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
1015 * platform/win/ScrollbarThemeSafari.cpp:
1016 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
1017 * platform/win/ScrollbarThemeSafari.h:
1018 * platform/win/ScrollbarThemeWin.cpp:
1019 (WebCore::ScrollbarThemeWin::paintTrack):
1020 * platform/win/ScrollbarThemeWin.h:
1021 * rendering/RenderLayer.cpp:
1022 (WebCore::RenderLayer::createScrollbar):
1023 (WebCore::RenderLayer::styleChanged):
1024 * rendering/RenderScrollbar.cpp: Added.
1025 (WebCore::RenderScrollbar::createCustomScrollbar):
1026 (WebCore::RenderScrollbar::RenderScrollbar):
1027 (WebCore::RenderScrollbar::~RenderScrollbar):
1028 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1029 (WebCore::RenderScrollbar::updateScrollbarParts):
1030 (WebCore::RenderScrollbar::updateScrollbarPart):
1031 (WebCore::RenderScrollbar::paintPart):
1032 (WebCore::RenderScrollbar::buttonRect):
1033 (WebCore::RenderScrollbar::minimumThumbLength):
1034 * rendering/RenderScrollbar.h: Added.
1035 (WebCore::RenderScrollbar::styleChanged):
1036 (WebCore::RenderScrollbar::owningRenderer):
1037 * rendering/RenderScrollbarPart.cpp: Added.
1038 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
1039 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
1040 (WebCore::RenderScrollbarPart::layout):
1041 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
1042 (WebCore::RenderScrollbarPart::layoutVerticalPart):
1043 (WebCore::calcScrollbarThicknessUsing):
1044 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1045 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1046 (WebCore::RenderScrollbarPart::calcPrefWidths):
1047 (WebCore::RenderScrollbarPart::setStyle):
1048 * rendering/RenderScrollbarPart.h: Added.
1049 (WebCore::RenderScrollbarPart::renderName):
1050 (WebCore::RenderScrollbarPart::requiresLayer):
1051 * rendering/RenderScrollbarTheme.cpp: Added.
1052 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
1053 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
1054 (WebCore::RenderScrollbarTheme::hasButtons):
1055 (WebCore::RenderScrollbarTheme::hasThumb):
1056 (WebCore::RenderScrollbarTheme::minimumThumbLength):
1057 (WebCore::RenderScrollbarTheme::backButtonRect):
1058 (WebCore::RenderScrollbarTheme::forwardButtonRect):
1059 (WebCore::RenderScrollbarTheme::trackRect):
1060 (WebCore::RenderScrollbarTheme::paintScrollCorner):
1061 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
1062 (WebCore::RenderScrollbarTheme::paintTrackBackground):
1063 (WebCore::RenderScrollbarTheme::paintTrackPiece):
1064 (WebCore::RenderScrollbarTheme::paintButton):
1065 (WebCore::RenderScrollbarTheme::paintThumb):
1066 * rendering/RenderScrollbarTheme.h: Added.
1067 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
1068 (WebCore::RenderScrollbarTheme::scrollbarThickness):
1069 (WebCore::RenderScrollbarTheme::buttonsPlacement):
1070 (WebCore::RenderScrollbarTheme::supportsControlTints):
1071 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
1072 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
1073 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
1074 (WebCore::RenderScrollbarTheme::registerScrollbar):
1075 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
1076 * rendering/style/RenderStyle.h:
1077 (WebCore::RenderStyle::):
1078
eric@webkit.org3df115d2008-10-10 00:08:44 +000010792008-10-09 Eric Seidel <eric@webkit.org>
1080
1081 Reviewed by Oliver Hunt.
eric@webkit.org25626592008-10-10 02:26:54 +00001082
1083 Fix Canvex DOOM Game
1084 Gradient clips were not getting cleared after filling the
1085 gradient, this was causing nothing to draw in Canvex
1086 https://bugs.webkit.org/show_bug.cgi?id=21498
1087
1088 Tests forthcoming.
1089
1090 * WebCore.xcodeproj/project.pbxproj:
1091 * platform/graphics/cg/GraphicsContextCG.cpp:
1092 (WebCore::GraphicsContext::fillPath):
1093 (WebCore::GraphicsContext::strokePath):
1094 (WebCore::GraphicsContext::fillRect):
1095
10962008-10-09 Eric Seidel <eric@webkit.org>
1097
1098 Reviewed by Oliver Hunt.
eric@webkit.org3df115d2008-10-10 00:08:44 +00001099
1100 Fix transformed patterns
1101 https://bugs.webkit.org/show_bug.cgi?id=21498
1102
1103 Test: fast/canvas/patternfill-repeat.html
1104
1105 * WebCore.xcodeproj/project.pbxproj:
1106 * platform/graphics/GraphicsContext.cpp:
1107 (WebCore::GraphicsContext::setStrokePattern):
1108 (WebCore::GraphicsContext::setFillPattern):
1109 (WebCore::GraphicsContext::setStrokeGradient):
1110 (WebCore::GraphicsContext::setFillGradient):
1111 * platform/graphics/GraphicsContext.h:
1112 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1113 * platform/graphics/cg/GraphicsContextCG.cpp:
1114 (WebCore::applyStrokePattern):
1115 (WebCore::applyFillPattern):
1116 (WebCore::GraphicsContext::drawPath):
1117 (WebCore::GraphicsContext::fillPath):
1118 (WebCore::GraphicsContext::strokePath):
1119 (WebCore::GraphicsContext::fillRect):
1120 * platform/graphics/qt/GraphicsContextQt.cpp:
1121 * platform/graphics/wx/GraphicsContextWx.cpp:
1122
mrowe@apple.coma2e784f2008-10-12 01:38:08 +000011232008-10-09 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org458871b2008-10-09 23:44:40 +00001124
1125 wx build fixes.
1126
1127 * platform/wx/WidgetWx.cpp:
1128 * plugins/wx/PluginViewWx.cpp:
1129 (WebCore::PluginView::invalidateRect):
1130 * webcore-base.bkl:
1131
cmarrin@apple.comfe914d22008-10-09 23:04:07 +000011322008-10-09 Chris Marrin <cmarrin@apple.com>
1133
cmarrin@apple.com8a901162008-10-09 23:59:49 +00001134 Reviewed by Darin Adler.
1135
1136 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
1137 Animations assert when navigating from page
1138
1139 Changed assertions to test the right flag for the paused state
1140
1141 * page/animation/AnimationBase.cpp:
1142 (WebCore::AnimationBase::updateStateMachine):
1143
11442008-10-09 Chris Marrin <cmarrin@apple.com>
1145
cmarrin@apple.comfe914d22008-10-09 23:04:07 +00001146 Reviewed by Dan Bernstein.
1147
1148 Fixed > 180 degree rotation bug
1149 Ensure that validateTransformFunctionList() is called after updating keyframe styles
1150
1151 https://bugs.webkit.org/show_bug.cgi?id=21420
1152
1153 Test: animations/big-rotation.html
1154
1155 * page/animation/KeyframeAnimation.cpp:
1156 (WebCore::KeyframeAnimation::KeyframeAnimation):
1157
beidson@apple.comc90a4422008-10-09 20:43:24 +000011582008-10-09 Brady Eidson <beidson@apple.com>
1159
1160 Reviewed by Anders
1161
1162 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
1163
1164 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
1165
1166 * loader/FrameLoader.cpp:
1167 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
1168 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
1169 so perform a second null check on the page. Bail if it has been cleared.
1170
alp@webkit.org81906422008-10-09 16:21:43 +000011712008-10-09 Alp Toker <alp@nuanti.com>
1172
1173 Build fix for recent DOM generation Makefile changes when custom
1174 CFLAGS/CXXFLAGS are passed in.
1175
1176 * GNUmakefile.am:
1177
alp@webkit.orgbedd8d82008-10-09 16:13:53 +000011782008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
1179
1180 Reviewed by Alp Toker.
1181
1182 https://bugs.webkit.org/show_bug.cgi?id=21390
1183 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
1184
1185 * platform/gtk/ScrollViewGtk.cpp:
1186 (WebCore::ScrollView::platformRemoveChild):
1187
darin@apple.com2d343692008-10-09 08:37:04 +000011882008-10-09 Darin Adler <darin@apple.com>
1189
1190 - try to fix Qt build
1191
1192 * bridge/qt/qt_runtime.cpp:
1193 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
1194
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +000011952008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
1196
zimmermann@webkit.orge8c220e2008-10-09 03:54:25 +00001197 Reviewed by Oliver Hunt & Sam Weinig.
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +00001198
1199 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
1200 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
1201 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
1202
1203 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
1204 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
1205 use tree is rebuild.
1206
1207 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
1208 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
1209 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
1210 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
1211 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
1212 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
1213 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
1214 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
1215
1216 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
1217 see resources/use-instanceRoot-event-bubbling.js for details.
1218
1219 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
1220 svg/custom/use-elementInstance-methods.svg (reenabled)
1221 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
1222 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
1223 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
1224 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
1225
1226 * DerivedSources.make:
1227 * GNUmakefile.am:
1228 * WebCore.pro:
1229 * WebCore.vcproj/WebCore.vcproj:
1230 * WebCore.xcodeproj/project.pbxproj:
1231 * bindings/js/JSEventListener.h:
1232 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
1233 * bindings/js/JSEventTarget.cpp:
1234 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
1235 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
1236 * bindings/js/JSSVGElementInstanceCustom.cpp:
1237 (WebCore::JSSVGElementInstance::addEventListener):
1238 (WebCore::JSSVGElementInstance::removeEventListener):
1239 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
1240 * bindings/scripts/CodeGeneratorJS.pm:
1241 * bindings/scripts/CodeGeneratorObjC.pm:
1242 * dom/EventListener.h:
1243 (WebCore::EventListener::wasCreatedFromMarkup):
1244 * dom/EventTargetNode.cpp:
1245 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
1246 (WebCore::EventTargetNode::addEventListener):
1247 (WebCore::EventTargetNode::removeEventListener):
1248 (WebCore::eventTargetAsSVGElementInstance):
1249 (WebCore::eventTargetRespectingSVGTargetRules):
1250 (WebCore::EventTargetNode::dispatchEvent):
1251 (WebCore::EventTargetNode::dispatchGenericEvent):
1252 (WebCore::EventTargetNode::removeEventListenerForType):
1253 * page/EventHandler.cpp:
1254 (WebCore::EventHandler::clear):
1255 (WebCore::instanceAssociatedWithShadowTreeElement):
1256 (WebCore::EventHandler::updateMouseEventTargetNode):
1257 * page/EventHandler.h:
1258 * svg/EventTargetSVGElementInstance.cpp: Removed.
1259 * svg/EventTargetSVGElementInstance.h: Removed.
1260 * svg/SVGElementInstance.cpp:
1261 (WebCore::SVGElementInstance::SVGElementInstance):
1262 (WebCore::SVGElementInstance::~SVGElementInstance):
1263 (WebCore::SVGElementInstance::childNodes):
1264 (WebCore::SVGElementInstance::setShadowTreeElement):
1265 (WebCore::SVGElementInstance::forgetWrapper):
1266 (WebCore::SVGElementInstance::appendChild):
1267 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
1268 (WebCore::SVGElementInstance::setNeedsUpdate):
1269 (WebCore::SVGElementInstance::associatedFrame):
1270 (WebCore::SVGElementInstance::addEventListener):
1271 (WebCore::SVGElementInstance::removeEventListener):
1272 (WebCore::SVGElementInstance::dispatchEvent):
1273 (WebCore::SVGElementInstance::onabort):
1274 (WebCore::SVGElementInstance::setOnabort):
1275 (WebCore::SVGElementInstance::onblur):
1276 (WebCore::SVGElementInstance::setOnblur):
1277 (WebCore::SVGElementInstance::onchange):
1278 (WebCore::SVGElementInstance::setOnchange):
1279 (WebCore::SVGElementInstance::onclick):
1280 (WebCore::SVGElementInstance::setOnclick):
1281 (WebCore::SVGElementInstance::oncontextmenu):
1282 (WebCore::SVGElementInstance::setOncontextmenu):
1283 (WebCore::SVGElementInstance::ondblclick):
1284 (WebCore::SVGElementInstance::setOndblclick):
1285 (WebCore::SVGElementInstance::onerror):
1286 (WebCore::SVGElementInstance::setOnerror):
1287 (WebCore::SVGElementInstance::onfocus):
1288 (WebCore::SVGElementInstance::setOnfocus):
1289 (WebCore::SVGElementInstance::oninput):
1290 (WebCore::SVGElementInstance::setOninput):
1291 (WebCore::SVGElementInstance::onkeydown):
1292 (WebCore::SVGElementInstance::setOnkeydown):
1293 (WebCore::SVGElementInstance::onkeypress):
1294 (WebCore::SVGElementInstance::setOnkeypress):
1295 (WebCore::SVGElementInstance::onkeyup):
1296 (WebCore::SVGElementInstance::setOnkeyup):
1297 (WebCore::SVGElementInstance::onload):
1298 (WebCore::SVGElementInstance::setOnload):
1299 (WebCore::SVGElementInstance::onmousedown):
1300 (WebCore::SVGElementInstance::setOnmousedown):
1301 (WebCore::SVGElementInstance::onmousemove):
1302 (WebCore::SVGElementInstance::setOnmousemove):
1303 (WebCore::SVGElementInstance::onmouseout):
1304 (WebCore::SVGElementInstance::setOnmouseout):
1305 (WebCore::SVGElementInstance::onmouseover):
1306 (WebCore::SVGElementInstance::setOnmouseover):
1307 (WebCore::SVGElementInstance::onmouseup):
1308 (WebCore::SVGElementInstance::setOnmouseup):
1309 (WebCore::SVGElementInstance::onmousewheel):
1310 (WebCore::SVGElementInstance::setOnmousewheel):
1311 (WebCore::SVGElementInstance::onbeforecut):
1312 (WebCore::SVGElementInstance::setOnbeforecut):
1313 (WebCore::SVGElementInstance::oncut):
1314 (WebCore::SVGElementInstance::setOncut):
1315 (WebCore::SVGElementInstance::onbeforecopy):
1316 (WebCore::SVGElementInstance::setOnbeforecopy):
1317 (WebCore::SVGElementInstance::oncopy):
1318 (WebCore::SVGElementInstance::setOncopy):
1319 (WebCore::SVGElementInstance::onbeforepaste):
1320 (WebCore::SVGElementInstance::setOnbeforepaste):
1321 (WebCore::SVGElementInstance::onpaste):
1322 (WebCore::SVGElementInstance::setOnpaste):
1323 (WebCore::SVGElementInstance::ondragenter):
1324 (WebCore::SVGElementInstance::setOndragenter):
1325 (WebCore::SVGElementInstance::ondragover):
1326 (WebCore::SVGElementInstance::setOndragover):
1327 (WebCore::SVGElementInstance::ondragleave):
1328 (WebCore::SVGElementInstance::setOndragleave):
1329 (WebCore::SVGElementInstance::ondrop):
1330 (WebCore::SVGElementInstance::setOndrop):
1331 (WebCore::SVGElementInstance::ondragstart):
1332 (WebCore::SVGElementInstance::setOndragstart):
1333 (WebCore::SVGElementInstance::ondrag):
1334 (WebCore::SVGElementInstance::setOndrag):
1335 (WebCore::SVGElementInstance::ondragend):
1336 (WebCore::SVGElementInstance::setOndragend):
1337 (WebCore::SVGElementInstance::onreset):
1338 (WebCore::SVGElementInstance::setOnreset):
1339 (WebCore::SVGElementInstance::onresize):
1340 (WebCore::SVGElementInstance::setOnresize):
1341 (WebCore::SVGElementInstance::onscroll):
1342 (WebCore::SVGElementInstance::setOnscroll):
1343 (WebCore::SVGElementInstance::onsearch):
1344 (WebCore::SVGElementInstance::setOnsearch):
1345 (WebCore::SVGElementInstance::onselect):
1346 (WebCore::SVGElementInstance::setOnselect):
1347 (WebCore::SVGElementInstance::onselectstart):
1348 (WebCore::SVGElementInstance::setOnselectstart):
1349 (WebCore::SVGElementInstance::onsubmit):
1350 (WebCore::SVGElementInstance::setOnsubmit):
1351 (WebCore::SVGElementInstance::onunload):
1352 (WebCore::SVGElementInstance::setOnunload):
1353 * svg/SVGElementInstance.h:
1354 (WebCore::SVGElementInstance::needsUpdate):
1355 (WebCore::SVGElementInstance::toNode):
1356 (WebCore::SVGElementInstance::toSVGElementInstance):
1357 (WebCore::SVGElementInstance::correspondingElement):
1358 (WebCore::SVGElementInstance::correspondingUseElement):
1359 (WebCore::SVGElementInstance::shadowTreeElement):
1360 (WebCore::SVGElementInstance::parentNode):
1361 (WebCore::SVGElementInstance::previousSibling):
1362 (WebCore::SVGElementInstance::nextSibling):
1363 (WebCore::SVGElementInstance::firstChild):
1364 (WebCore::SVGElementInstance::lastChild):
1365 (WebCore::SVGElementInstance::ownerDocument):
1366 (WebCore::SVGElementInstance::hasChildNodes):
1367 (WebCore::SVGElementInstance::setFirstChild):
1368 (WebCore::SVGElementInstance::setLastChild):
1369 (WebCore::SVGElementInstance::setNextSibling):
1370 (WebCore::SVGElementInstance::setPreviousSibling):
1371 (WebCore::SVGElementInstance::refEventTarget):
1372 (WebCore::SVGElementInstance::derefEventTarget):
1373 * svg/SVGElementInstance.idl:
1374 * svg/SVGStyledElement.cpp:
1375 (WebCore::SVGStyledElement::svgAttributeChanged):
1376 (WebCore::SVGStyledElement::childrenChanged):
1377 * svg/SVGUseElement.cpp:
1378 (WebCore::SVGUseElement::svgAttributeChanged):
1379 (WebCore::shadowTreeContainsChangedNodes):
1380 (WebCore::SVGUseElement::recalcStyle):
1381 (WebCore::dumpInstanceTree):
1382 (WebCore::SVGUseElement::buildPendingResource):
1383 (WebCore::SVGUseElement::buildInstanceTree):
1384 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
1385 * svg/SVGUseElement.h:
1386
weinig@apple.com25cef102008-10-09 00:14:50 +000013872008-10-08 Sam Weinig <sam@webkit.org>
1388
1389 Reviewed by Cameron Zwarich.
1390
1391 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
1392 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
1393
1394 Update JSRGBColor to use the new static function per getter approach.
1395
1396 Test: fast/dom/css-RGBValue.html
1397
1398 * bindings/js/JSRGBColor.cpp:
1399 (WebCore::):
1400 (jsRGBColorRed):
1401 (jsRGBColorGreen):
1402 (jsRGBColorBlue):
1403 * bindings/js/JSRGBColor.h:
1404
eric@webkit.org4966e4a2008-10-08 22:48:55 +000014052008-10-08 Eric Seidel <eric@webkit.org>
1406
1407 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
1408
1409 svgElement.className.baseValue = "foo" does not work
1410 https://bugs.webkit.org/show_bug.cgi?id=20651
1411
1412 * dom/StyledElement.cpp:
1413 (WebCore::StyledElement::classAttributeChanged):
1414 (WebCore::StyledElement::parseMappedAttribute):
1415 * dom/StyledElement.h:
1416 * svg/SVGStyledElement.cpp:
1417 (WebCore::SVGStyledElement::svgAttributeChanged):
1418
timothy@apple.com08664892008-10-08 16:41:15 +000014192008-10-08 Anthony Ricaud <rik24d@gmail.com>
1420
1421 Make the toolbar label text-shadow not disappear when clicking on the
1422 search result count or around the search field.
1423
1424 Reviewed by Timothy Hatcher.
1425
1426 * inspector/front-end/inspector.css:
1427 (.toolbar-item:active .toolbar-label): Make this rule also require the
1428 toggleable class with the toolbar-item class.
1429
hausmann@webkit.orgd6d65cb2008-10-08 13:13:24 +000014302008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
1431
1432 Reviewed by Simon.
1433
1434 Updated the qrc file for the Web Inspector to contain the current set
1435 of images.
1436
1437 * inspector/front-end/WebKit.qrc:
1438
hausmann@webkit.org49650de2008-10-08 12:43:13 +000014392008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
1440
1441 Reviewed by Simon.
1442
1443 Fix the linking of applications against WebKit on Qt/Windows.
1444
1445 The prl files that qmake creates are buggy on Unix, but we they're
1446 fine on Windows and we have to have them there in order to get the
1447 dependencies correct.
1448
1449 * WebCore.pro:
1450
hausmann@webkit.org96f013f2008-10-08 12:11:44 +000014512008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
1452
1453 Reviewed by Simon.
1454
1455 Speed up rectangle filling by not re-creating a QBrush all the time.
1456
1457 This triggers faster path in QPainter where the brush is reused.
1458
1459 * platform/graphics/qt/GraphicsContextQt.cpp:
1460 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1461 (WebCore::GraphicsContext::fillRect):
1462
hausmann@webkit.orgaf2f03e2008-10-08 09:10:44 +000014632008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
1464
1465 Reviewed by Simon.
1466
1467 Fixes: Encoding of Qt URLs
1468
1469 This encoding was added by Simon and I because QUrl's
1470 tolerant parser wasn't tolerant enough. Now it is, so we don't need
1471 this anymore.
1472
1473 * platform/qt/KURLQt.cpp:
1474 (WebCore::KURL::operator QUrl):
1475
hausmann@webkit.orgc4b79f02008-10-08 09:10:32 +000014762008-10-08 Marius Storm-Olsen <marius@trolltech.com>
1477
1478 Reviewed by Simon.
1479
1480 Fixes dependencies in qmake generated visual studio projects.
1481
1482 Only add debug lib name if we're in the debug build_pass, else the release version.
1483 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
1484
1485 * WebCore.pro:
1486
hausmann@webkit.org40df3c32008-10-08 09:10:04 +000014872008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
1488
1489 Reviewed by Simon.
1490
1491 Fix compilation errors on VS2008 64Bit
1492
1493 * platform/text/TextStream.cpp:
1494 (WebCore::TextStream::operator<<):
1495 * platform/text/TextStream.h:
1496 * plugins/win/PluginViewWin.cpp:
1497 (WebCore::PluginView::init):
1498
alp@webkit.org76e7f9a2008-10-08 00:42:37 +000014992008-10-07 Alp Toker <alp@nuanti.com>
1500
1501 GTK+ build fix for older automake versions (1.7). Discussed in bug
1502 #21392.
1503
1504 * GNUmakefile.am:
1505
andersca@apple.comdca58502008-10-07 23:31:34 +000015062008-10-07 Anders Carlsson <andersca@apple.com>
1507
1508 Reviewed by Antti Koivisto.
1509
1510 <rdar://problem/6273887> Crash in ApplicationCacheGroup
1511
1512 Make sure to stop loading even before a cache update is in progress so that the
1513 manifest load will be stopped.
1514
1515 * loader/appcache/ApplicationCacheGroup.cpp:
1516 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
1517 (WebCore::ApplicationCacheGroup::stopLoading):
1518 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
1519
timothy@apple.com59a87132008-10-07 21:49:43 +000015202008-10-07 Timothy Hatcher <timothy@apple.com>
1521
timothy@apple.com754474e2008-10-07 21:49:55 +00001522 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
1523
1524 https://bugs.webkit.org/show_bug.cgi?id=21433
1525
1526 Reviewed by Sam Weinig.
1527
1528 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
1529 * bindings/objc/DOM.mm: Remove previous category implementations
1530 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
1531 moves ObjCNodeFilterCondition to its own file.
1532 * bindings/objc/DOMTraversal.h: Remove the category methods that added
1533 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
1534 to do since DOmDocument.h is included still, and has these methods.
1535 * bindings/objc/DOMUtility.mm:
1536 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
1537 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
1538 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
1539 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
1540 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
1541 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
1542 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
1543 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
1544 createTreeWalker: methods to DOMDocument.
1545 * bindings/scripts/CodeGeneratorObjC.pm:
1546 (GetObjCTypeGetter): Add a case for NodeFilter.
1547 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
1548 (GenerateImplementation): Remove existing NodeFilter special case that
1549 used the m_filter member variable. Add a new special getter for protocol
1550 types that aren't EventTarget, so the right class is used for NodeFilter.
1551 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
1552 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
1553 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
1554 Rename the entityReferenceExpansion parameter to expandEntityReferences to
1555 match the previous ObjC API.
1556 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
1557 m_filter member variable was never used in practice, it was always nil!
1558 We can remove it and not pad the object because this can't be subclassed.
1559 * dom/TreeWalker.idl: Ditto.
1560
15612008-10-07 Timothy Hatcher <timothy@apple.com>
1562
timothy@apple.com59a87132008-10-07 21:49:43 +00001563 Auto-generate the DOMEventTarget protocol implementation for
1564 DOMNode and DOMSVGElementInstance.
1565
1566 https://bugs.webkit.org/show_bug.cgi?id=21432
1567
1568 Reviewed by Darin Adler.
1569
1570 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
1571 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
1572 ObjCEventListener to it's own file. Remove the manual impelmentations
1573 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
1574 * bindings/objc/DOMEvents.h: Remove the categories that defined
1575 DOMEventTarget for DOMNode and DOMSVGElementInstance.
1576 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
1577 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
1578 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
1579 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
1580 callers from doing a manual deref.
1581 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
1582 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
1583 * bindings/scripts/CodeGeneratorObjC.pm:
1584 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
1585 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
1586 And include EventTargetSVGElementInstance.h for SVGElementInstance.
1587 (GenerateHeader): Remove the check for multiple parents.
1588 (GenerateImplementation): Remove the check for multiple parents. Remove
1589 the @deprecatedFunctions array since deprecated methods get generated
1590 into the main @interface now to work with protocols. Add support
1591 for the EventTargetNodeCast extended attribute. Add support for
1592 EventListener parameters.
1593 * dom/Node.idl: Define superclasses for ObjC so the implementation
1594 and interface implement the DOMEventTarget protocol. Explicitly
1595 specify Object as a superclass to use DOMEventTarget. Object will turn
1596 into DOMObject. This is needed to take the code generator down the right
1597 path of multiple super-classes as protocols. It is ObjC only for legacy
1598 reasons. The event target methods are normally on NodeEventTarget, a
1599 subclass of Node. But the ObjC API has never has this subclass and
1600 they are on DOMNode.
1601 * svg/SVGElementInstance.idl: Ditto.
1602
hyatt@apple.com5c9a9f72008-10-07 21:36:39 +000016032008-10-07 David Hyatt <hyatt@apple.com>
1604
1605 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
1606
1607 The new pseudo-elements are:
1608 scrollbar
1609 scrollbar-button
1610 scrollbar-corner
1611 scrollbar-thumb
1612 scrollbar-track
1613
1614 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
1615 the following new pseudo-classes:
1616 scrollbar-active
1617 scrollbar-back
1618 scrollbar-forward
1619 scrollbar-horizontal
1620 scrollbar-vertical
1621
1622 Reviewed by Adele
1623
1624 * css/CSSSelector.cpp:
1625 (WebCore::CSSSelector::extractPseudoType):
1626 * css/CSSSelector.h:
1627 (WebCore::CSSSelector::):
1628
timothy@apple.com920feccc2008-10-07 21:08:29 +000016292008-10-06 Timothy Hatcher <timothy@apple.com>
1630
1631 Add support to the Resources panel for queries like "#123", "foo #123",
1632 "line: 123" and "foo line: 123". These will match the query limiting
1633 the search only to the line specified. If only a line is specified,
1634 the whole line is matched.
1635
1636 https://bugs.webkit.org/show_bug.cgi?id=21422
1637
1638 Reviewed by Darin Adler.
1639
1640 * inspector/front-end/SourceFrame.js:
1641 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
1642 row if the index is greater than the rows collection. Let it return
1643 undefined by indexing out-of-bounds.
1644 * inspector/front-end/SourceView.js:
1645 (WebInspector.SourceView.prototype.performSearch): Add support for
1646 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
1647 Also match the whole query to the whole document in case there are
1648 colors like "#333".
1649
alp@webkit.orge1244662008-10-07 18:28:43 +000016502008-10-07 Alp Toker <alp@nuanti.com>
1651
1652 Reviewed by Mark Rowe.
1653
1654 https://bugs.webkit.org/show_bug.cgi?id=21392
1655 [GTK] Auto-generate JS DOM binding sources list
1656
1657 Remove the huge lists of generated DOM binding sources and headers in
1658 the build system. These are difficult to maintain and can be derived
1659 automatically.
1660
1661 The new strategy is to re-use the existing lists of IDL sources (which
1662 are needed for dist support anyway). This will also ease the addition
1663 of new language bindings.
1664
1665 * GNUmakefile.am:
1666
vestbo@webkit.org0bed2b22008-10-07 16:30:40 +000016672008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
1668
1669 Reviewed by Simon.
1670
1671 Don't attempt to paint when updating control tints
1672
1673 We don't have a valid PlatformGraphicsContext so schedule
1674 the dirty scrollbar/scrollview area for repaint instead.
1675
1676 * platform/qt/ScrollbarThemeQt.cpp:
1677 (WebCore::ScrollbarThemeQt::paint):
1678 (WebCore::ScrollbarThemeQt::paintScrollCorner):
1679
zecke@webkit.org270bdd02008-10-07 07:54:06 +000016802008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
1681
1682 [qt] Build fix after Scrollbar.h and Widget.h changes.
1683
1684 * plugins/qt/PluginViewQt.cpp:
1685 (WebCore::PluginView::getValue):
1686 (WebCore::PluginView::init):
1687
hyatt@apple.com3cb50a82008-10-07 06:58:08 +000016882008-10-06 David Hyatt <hyatt@apple.com>
1689
1690 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
1691
1692 Reviewed by Sam Weinig
1693
1694 * WebCore.base.exp:
1695 * WebCore.xcodeproj/project.pbxproj:
1696 * loader/EmptyClients.h:
1697 (WebCore::EmptyFrameLoaderClient::hasWebView):
1698 * loader/FrameLoader.cpp:
1699 (WebCore::FrameLoader::loadWithDocumentLoader):
1700 (WebCore::FrameLoader::transitionToCommitted):
1701 * loader/FrameLoaderClient.h:
1702 * page/FocusController.cpp:
1703 (WebCore::FocusController::setActive):
1704 * page/FrameView.cpp:
1705 (WebCore::FrameView::FrameView):
1706 (WebCore::FrameView::init):
1707 (WebCore::FrameView::layoutIfNeededRecursive):
1708 * page/FrameView.h:
1709
mitz@apple.com869c6692b2008-10-07 04:42:51 +000017102008-10-06 Dan Bernstein <mitz@apple.com>
1711
1712 - build fix
1713
1714 * bindings/objc/DOMEvents.h:
1715
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +000017162008-10-06 Mark Mentovai <mark@moxienet.com>
1717
eric@webkit.org9e0b3b52008-10-07 01:14:05 +00001718 Reviewed by Tim Hatcher.
1719
1720 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
1721 Platform.h is not available, in preference to #ifdef ENABLE_feature.
1722 #ifdef is wrong now that features are disabled by #defining
1723 ENABLE_feature to 0.
1724
1725 https://bugs.webkit.org/show_bug.cgi?id=21338
1726
1727 * bindings/objc/DOMEvents.h:
1728 * bindings/objc/PublicDOMInterfaces.h:
1729 * dom/Document.idl:
1730 * page/DOMWindow.idl:
1731 * svg/svgtags.in:
1732
17332008-10-06 Mark Mentovai <mark@moxienet.com>
1734
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +00001735 Reviewed by Sam Weinig.
1736
1737 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
1738 to get the declaration for isMainThread().
1739
eric@webkit.org569e8092008-10-07 01:05:34 +000017402008-10-06 Jeremy Moskovich <jeremy@chromium.org>
1741
eric@webkit.orge8585df2008-10-07 01:09:23 +00001742 Reviewed by Tim Hatcher.
1743
1744 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
1745 to reflect that.
1746
1747 * WebCore.xcodeproj/project.pbxproj:
1748 * platform/mac/WebCoreObjCExtras.c: Removed.
1749 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
1750
17512008-10-06 Jeremy Moskovich <jeremy@chromium.org>
1752
eric@webkit.org569e8092008-10-07 01:05:34 +00001753 Reviewed by Dan Bernstein.
1754
1755 Added C++ forward declaration for the NSURLAuthenticationChallenge class
1756 so that the m_currentMacChallenge variable doesn't cause a
1757 compilation error when ResourceHandleInternal.h is included from a C++ file.
1758 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
1759
1760 * platform/network/ResourceHandleInternal.h:
1761
sfalken@apple.com01dbee12008-10-06 23:47:08 +000017622008-10-06 Steve Falkenburg <sfalken@apple.com>
1763
sfalken@apple.come897fd92008-10-07 00:17:26 +00001764 Windows build fix.
1765
1766 * WebCore.vcproj/WebCore.vcproj:
1767
17682008-10-06 Steve Falkenburg <sfalken@apple.com>
1769
sfalken@apple.com01dbee12008-10-06 23:47:08 +00001770 https://bugs.webkit.org/show_bug.cgi?id=21416
1771 Add missing null checks identified by Application Verifier.
1772
1773 Reviewed by Darin Adler.
1774
1775 * platform/win/SharedTimerWin.cpp:
1776 (WebCore::clearTimer):
1777
kmccullough@apple.com45a36da2008-10-06 23:08:16 +000017782008-10-06 Kevin McCullough <kmccullough@apple.com>
1779
kmccullough@apple.com3094b9b2008-10-06 23:15:11 +00001780 Reviewed by Tim Hatcher.
1781
1782 Removed accidentally left in debugging statement.
1783
1784 * inspector/front-end/inspector.js:
1785
17862008-10-06 Kevin McCullough <kmccullough@apple.com>
1787
kmccullough@apple.com47002eb2008-10-06 23:10:09 +00001788 Reviewed by Tim Hatcher and Oliver Hunt.
kmccullough@apple.com45a36da2008-10-06 23:08:16 +00001789
1790 https://bugs.webkit.org/show_bug.cgi?id=21412
1791 Bug 21412: Refactor user initiated profile count to be more stable
1792
1793 * inspector/InspectorController.cpp: Keep track of the user-initiated
1794 profiles here now.
1795 (WebCore::InspectorController::InspectorController):
1796 (WebCore::InspectorController::startUserInitiatedProfiling):
1797 (WebCore::InspectorController::stopUserInitiatedProfiling):
1798 * inspector/InspectorController.h:
1799 The front end will now need to check for the existence of the user-
1800 initiated profile title and use its count instead of keeping its own.
1801 * inspector/front-end/ProfilesPanel.js:
1802
mitz@apple.com1d60e5c2008-10-06 20:25:46 +000018032008-10-06 Dan Bernstein <mitz@apple.com>
1804
1805 Reviewed by Sam Weinig.
1806
1807 - separate GDI text drawing into its own function
1808
1809 * platform/graphics/win/FontCGWin.cpp:
1810 (WebCore::drawGDIGlyphs):
1811 (WebCore::Font::drawGlyphs):
1812
sfalken@apple.com593331e2008-10-06 19:55:09 +000018132008-10-03 Steve Falkenburg <sfalken@apple.com>
1814
1815 <rdar://problem/6249833> Fix default button appearance
1816
1817 Reviewed by Adele Peterson.
1818
1819 * rendering/RenderThemeWin.cpp:
1820 (WebCore::RenderThemeWin::supportsFocus):
1821 (WebCore::RenderThemeWin::determineClassicState):
1822 (WebCore::RenderThemeWin::determineButtonState):
1823 (WebCore::RenderThemeWin::getClassicThemeData):
1824 (WebCore::RenderThemeWin::getThemeData):
1825 (WebCore::drawControl):
1826 * rendering/RenderThemeWin.h:
1827
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +000018282008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
1829
1830 Reviewed by Simon.
1831
vestbo@webkit.orgc5067902008-10-06 18:11:31 +00001832 Add native virtual keycode to PlatformKeyboardEvent
1833
1834 * platform/PlatformKeyboardEvent.h:
1835 * platform/gtk/KeyEventGtk.cpp:
1836 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1837 * platform/mac/KeyEventMac.mm:
1838 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1839 * platform/qt/PlatformKeyboardEventQt.cpp:
1840 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1841 * platform/win/KeyEventWin.cpp:
1842 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1843 * platform/wx/KeyboardEventWx.cpp:
1844 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1845
18462008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
1847
1848 Reviewed by Simon.
1849
vestbo@webkit.org89d13712008-10-06 17:51:39 +00001850 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
1851
1852 * platform/text/PlatformString.h:
1853 * platform/text/StringImpl.h:
1854 * platform/text/cf/StringCF.cpp:
1855 * platform/text/cf/StringImplCF.cpp:
1856
18572008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
1858
1859 Reviewed by Simon.
1860
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +00001861 Use bundles on QtWebKit/Mac for platform modules
1862
1863 * platform/FileSystem.h:
1864 * platform/qt/FileSystemQt.cpp:
1865 (WebCore::unloadModule):
1866
hausmann@webkit.org33791a82008-10-06 17:00:48 +000018672008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
1868
1869 Reviewed by Simon.
1870
1871 Build fix for MinGW.
1872
1873 * platform/win/SystemTimeWin.cpp:
1874 * plugins/win/PluginViewWin.cpp:
1875 (WebCore::PluginView::invalidateRect):
1876
aroben@apple.com5613e512008-10-06 15:39:39 +000018772008-10-06 Adam Roben <aroben@apple.com>
1878
aroben@apple.combf38ff12008-10-06 15:44:16 +00001879 Mimic the inspector/ directory structure in WebCore.vcproj
1880
1881 * WebCore.vcproj/WebCore.vcproj:
1882
18832008-10-06 Adam Roben <aroben@apple.com>
1884
aroben@apple.com5613e512008-10-06 15:39:39 +00001885 Windows build fix
1886
1887 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
1888 configurations to include WebCore/inspector.
1889
eric@webkit.org15e92962008-10-06 08:23:37 +000018902008-10-04 Eric Seidel <eric@webkit.org>
1891
1892 Reviewed by Darin Adler.
1893
1894 SVG should support ascent and descent properties <font-face> instead of <font>!
1895 https://bugs.webkit.org/show_bug.cgi?id=21365
1896
1897 Tested by many many existing SVG tests.
1898
1899 * svg/SVGFontFaceElement.cpp:
1900 (WebCore::SVGFontFaceElement::ascent):
1901 (WebCore::SVGFontFaceElement::descent):
1902
mjs@apple.com64662c82008-10-06 06:44:03 +000019032008-10-05 Darin Fisher <darin@chromium.org>
1904
1905 Reviewed by Eric Seidel.
1906
1907 REGRESSION: crash in ScriptElement::notifyFinished
1908 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
1909
1910 * dom/ScriptElement.cpp:
1911 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
1912 ensure that the ScriptElementData object is not destroyed prematurely.
1913
jmalonzo@webkit.org7cfb4ca2008-10-06 01:43:07 +000019142008-10-05 Chris Lord <chris@openedhand.com>
1915
1916 Reviewed by Alp Toker. Landed by Jan Alonzo.
1917
1918 https://bugs.webkit.org/show_bug.cgi?id=20624
1919 WebKit-gtk uses deprecated GtkType/GtkObject
1920
1921 * plugins/gtk/gtk2xtbin.c:
1922 (gtk_xtbin_get_type):
1923 * plugins/gtk/gtk2xtbin.h:
1924
jmalonzo@webkit.org1285b2a2008-10-05 21:57:05 +000019252008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
1926
1927 Reviewed by David Hyatt.
1928
1929 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
1930 https://bugs.webkit.org/show_bug.cgi?id=20725
1931
1932 Updated to ToT by Jan Alonzo.
1933
1934 * plugins/gtk/PluginViewGtk.cpp:
1935 (WebCore::PluginView::getValue):
1936
jmalonzo@webkit.org2b465832008-10-05 21:50:12 +000019372008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
1938
1939 Reviewed by Darin Adler.
1940
1941 Invalid cast from GdkWindow to GtkWidget
1942 https://bugs.webkit.org/show_bug.cgi?id=21391
1943
1944 Fix a misplaced closing parenthesis to actually cast the widget, not the window
1945
1946 * platform/gtk/PlatformScreenGtk.cpp:
1947 (WebCore::screenDepth):
1948
abarth@webkit.orgfb074382008-10-05 19:12:30 +000019492008-10-05 Adam Barth <abarth@webkit.org>
1950
1951 Reviewed by Darin Alder.
1952
1953 Attach the Origin header to POST requests to help defend against
1954 cross-site request forgery.
1955
1956 https://bugs.webkit.org/show_bug.cgi?id=20792
1957
1958 Collin Jackson <collinj@webkit.org> also contributed to this patch.
1959
1960 Tests: http/tests/security/originHeader/origin-header-for-data.html
1961 http/tests/security/originHeader/origin-header-for-empty.html
1962 http/tests/security/originHeader/origin-header-for-get.html
1963 http/tests/security/originHeader/origin-header-for-https.html
1964 http/tests/security/originHeader/origin-header-for-post.html
1965
1966 * bindings/js/JSDOMWindowBase.cpp:
1967 (WebCore::createWindow):
1968 * loader/FrameLoader.cpp:
1969 (WebCore::FrameLoader::createWindow):
1970 (WebCore::FrameLoader::urlSelected):
1971 (WebCore::FrameLoader::submitForm):
1972 (WebCore::FrameLoader::outgoingOrigin):
1973 (WebCore::FrameLoader::loadURL):
1974 (WebCore::FrameLoader::addExtraFieldsToRequest):
1975 (WebCore::FrameLoader::loadPostRequest):
1976 (WebCore::FrameLoader::loadResourceSynchronously):
1977 (WebCore::FrameLoader::loadItem):
1978 * loader/FrameLoader.h:
1979 * loader/SubresourceLoader.cpp:
1980 (WebCore::SubresourceLoader::create):
1981 * loader/loader.cpp:
1982 (WebCore::Loader::Host::servePendingRequests):
1983 * platform/SecurityOrigin.cpp:
1984 (WebCore::SecurityOrigin::toHTTPOrigin):
1985 * platform/SecurityOrigin.h:
1986 * platform/network/ResourceRequestBase.h:
1987 (WebCore::ResourceRequestBase::httpOrigin):
1988 (WebCore::ResourceRequestBase::setHTTPOrigin):
1989 (WebCore::ResourceRequestBase::clearHTTPOrigin):
1990 * xml/XMLHttpRequest.cpp:
1991 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1992 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1993 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1994 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1995
oliver@apple.com12c92c92008-10-05 08:28:51 +000019962008-10-04 Oliver Hunt <oliver@apple.com>
1997
1998 Reviewed by Tim Hatcher.
1999
2000 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
2001 <https://bugs.webkit.org/show_bug.cgi?id=21381>
2002
2003 If we hit a parsing boundary (end of a packet, etc) in the middle of a
2004 <script> element when we are doing an incremental parse, we exit the
2005 parser, and reenter later when more data is available. During this
2006 reentry we incorrectly reset the scriptStartLineno to the current line
2007 in the parser, which is now part way through the script element.
2008
2009 The solution is to track whether we are entering or reentering the parsing
2010 of a script element. We do this simply by 0 checking scriptStartLineno,
2011 and resetting it after we complete parsing of each script element.
2012
2013 Test: http/tests/incremental/pause-in-script-element.pl
2014
2015 * ChangeLog:
2016 * html/HTMLTokenizer.cpp:
2017 (WebCore::HTMLTokenizer::parseSpecial):
2018 (WebCore::HTMLTokenizer::scriptHandler):
2019
jmalonzo@webkit.orgcc0c46e2008-10-05 06:13:28 +000020202008-10-04 Alp Toker <alp@nuanti.com>
2021
2022 Reviewed by David Hyatt. Landed by Jan Alonzo.
2023
2024 https://bugs.webkit.org/show_bug.cgi?id=20924
2025 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
2026
2027 https://bugs.webkit.org/show_bug.cgi?id=19578
2028 [CURL] problem in parseDataUrl
2029
2030 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
2031 This patch also fixes encoding support in escaped (non-Base64) data
2032 URLs. All manual data URL tests now pass in both GLib and non-GLib
2033 code paths.
2034
2035 * platform/network/curl/ResourceHandleManager.cpp:
2036 (WebCore::parseDataUrl):
2037
timothy@apple.com5c58fb12008-10-05 04:12:40 +000020382008-10-04 Timothy Hatcher <timothy@apple.com>
2039
2040 Makes breakpoints and debugging code during page load work in the
2041 Web Inspector's debugger. Specifically, this makes the source
2042 code for loading resources show up in the Scripts panel.
2043
2044 https://bugs.webkit.org/show_bug.cgi?id=19053
2045 rdar://problem/5933408
2046
2047 Reviewed by Mark Rowe.
2048
2049 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
2050 not using tabs and a tab width of 8.
2051 * inspector/InspectorController.cpp:
2052 (WebCore::addResourceSourceToFrame): Return a bool to report if the
2053 source was added successfully or not.
2054 (WebCore::addSourceToFrame): Ditto.
2055 * inspector/front-end/ScriptView.js:
2056 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
2057 Return early if the InspectorController.addSourceToFrame fails.
2058 Moved the delete of the _frameNeedsSetup property after that call so
2059 if the source wasn't added it will be attempted again.
2060 * inspector/front-end/SourceView.js:
2061 (WebInspector.SourceView.prototype.detach): Move a comment.
2062 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2063 Don't check if the resource is finished or failed, just attempt
2064 to add the source to the frame. WebCore has the source, but the
2065 finished property hasn't been set yet. Return early if the
2066 InspectorController.addSourceToFrame fails. Moved the delete
2067 of the _frameNeedsSetup property after that call so if the source
2068 wasn't added it will be attempted again.
2069 (WebInspector.SourceView.prototype._resourceLoadingFinished):
2070 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
2071 the source frame will we populated again now that the resource
2072 load has finished.
2073 * manual-tests/inspector/debugger-pause-during-load.html: Added.
2074
mrowe@apple.comb3214652008-10-05 03:04:18 +000020752008-10-04 Mark Rowe <mrowe@apple.com>
2076
2077 Reviewed by Tim Hatcher.
2078
2079 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
2080
2081 * WebCore.xcodeproj/project.pbxproj:
2082
hyatt@apple.coma4a9e252008-10-05 00:55:01 +000020832008-10-04 David Hyatt <hyatt@apple.com>
2084
2085 https://bugs.webkit.org/show_bug.cgi?id=21373
2086
2087 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
2088 is still present.
2089
2090 Reviewed by Mark Rowe
2091
2092 * page/FrameView.cpp:
2093 (WebCore::FrameView::~FrameView):
2094
weinig@apple.com3b7e4b12008-10-04 22:52:19 +000020952008-10-04 Sam Weinig <sam@webkit.org>
2096
2097 Reviewed by Dan Bernstein.
2098
2099 Avoid copying a Vector when using getSupportedKeySizes.
2100
2101 * html/HTMLKeygenElement.cpp:
2102 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2103 * platform/SSLKeyGenerator.h:
2104 * platform/gtk/TemporaryLinkStubs.cpp:
2105 (WebCore::getSupportedKeySizes):
2106 * platform/mac/SSLKeyGeneratorMac.mm:
2107 (WebCore::getSupportedKeySizes):
2108 * platform/qt/TemporaryLinkStubs.cpp:
2109 (WebCore::getSupportedKeySizes):
2110 * platform/win/TemporaryLinkStubs.cpp:
2111 (WebCore::getSupportedKeySizes):
2112 * platform/wx/TemporaryLinkStubs.cpp:
2113 (WebCore::getSupportedKeySizes):
2114
darin@apple.com28f84fc2008-10-04 21:10:00 +000021152008-10-04 Darin Adler <darin@apple.com>
2116
2117 Reviewed by Cameron Zwarich.
2118
2119 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
2120 Bug 21295: Replace ExecState with a call frame Register pointer
2121
2122 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2123 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
2124 Remove bogus "const".
2125 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
2126
hyatt@apple.comb17c7752008-10-04 21:03:11 +000021272008-10-04 David Hyatt <hyatt@apple.com>
2128
2129 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
2130
2131 Reviewed by Darin Adler
2132
2133 * WebCore.xcodeproj/project.pbxproj:
2134 * platform/PopupMenuClient.h:
2135 * platform/gtk/PopupMenuGtk.cpp:
2136 (WebCore::PopupMenu::show):
2137 * platform/mac/PopupMenuMac.mm:
2138 (WebCore::PopupMenu::populate):
2139 (WebCore::PopupMenu::show):
2140 * platform/qt/PopupMenuQt.cpp:
2141 (WebCore::PopupMenu::populate):
2142 * platform/win/PopupMenuWin.cpp:
2143 (WebCore::PopupMenu::calculatePositionAndSize):
2144 (WebCore::PopupMenu::paint):
2145 (WebCore::PopupWndProc):
2146 * rendering/RenderMenuList.cpp:
2147 (WebCore::RenderMenuList::itemStyle):
2148 (WebCore::RenderMenuList::menuStyle):
2149 (WebCore::RenderMenuList::hostWindow):
2150 * rendering/RenderMenuList.h:
2151 * rendering/RenderTextControl.cpp:
2152 (WebCore::RenderTextControl::itemStyle):
2153 (WebCore::RenderTextControl::menuStyle):
2154 (WebCore::RenderTextControl::hostWindow):
2155 * rendering/RenderTextControl.h:
2156
pewtermoose@webkit.orgd75c0152008-10-04 18:41:03 +000021572008-10-04 Matt Lilek <webkit@mattlilek.com>
2158
2159 Build fix - restore Private role to headers that had it before the move.
2160
2161 * WebCore.xcodeproj/project.pbxproj:
2162
darin@apple.com2f394342008-10-04 18:37:11 +000021632008-10-04 Darin Adler <darin@apple.com>
2164
2165 - try to fix build
2166
2167 * DerivedSources.make: Add new inspector directory to VPATH.
darin@apple.com35f35322008-10-04 18:37:22 +00002168 * GNUmakefile.am: Add new inspector directory to includes.
2169 Re-sort the IDL_BINDINGS list. Add new inspector directory
2170 to VPATH.
darin@apple.com2f394342008-10-04 18:37:11 +00002171
pewtermoose@webkit.org54177d02008-10-04 17:28:44 +000021722008-10-04 Matt Lilek <webkit@mattlilek.com>
2173
2174 Not reviewed, attempt to fix Gtk build.
2175
2176 * GNUmakefile.am:
2177
timothy@apple.comf51a3aa2008-10-04 08:09:41 +000021782008-10-03 Timothy Hatcher <timothy@apple.com>
2179
timothy@apple.com9c94f6b2008-10-04 08:10:54 +00002180 Move the Web Inspector files into a top-level "inspector" folder.
2181
2182 https://bugs.webkit.org/show_bug.cgi?id=21359
2183
2184 Reviewed by Dave Hyatt.
2185
2186 * GNUmakefile.am:
2187 * WebCore.pro:
2188 * WebCore.vcproj/WebCore.vcproj:
2189 * WebCore.xcodeproj/project.pbxproj:
2190 * WebCoreSources.bkl:
2191 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
2192 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
2193 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
2194 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
2195 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
2196 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
2197 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
2198 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
2199 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
2200 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
2201 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
2202 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
2203 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
2204 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
2205 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
2206 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
2207 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
2208 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
2209 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
2210 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
2211 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
2212 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
2213 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
2214 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
2215 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
2216 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
2217 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
2218 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
2219 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
2220 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
2221 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
2222 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
2223 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
2224 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
2225 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
2226 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
2227 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
2228 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
2229 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
2230 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
2231 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
2232 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
2233 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
2234 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
2235 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
2236 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
2237 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
2238 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
2239 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
2240 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
2241 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
2242 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
2243 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
2244 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
2245 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
2246 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
2247 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
2248 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
2249 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
2250 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
2251 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
2252 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
2253 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
2254 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
2255 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
2256 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
2257 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
2258 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
2259 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
2260 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
2261 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
2262 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
2263 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
2264 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
2265 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
2266 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
2267 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
2268 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
2269 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
2270 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
2271 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
2272 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
2273 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
2274 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
2275 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
2276 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
2277 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
2278 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
2279 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
2280 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
2281 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
2282 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
2283 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
2284 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
2285 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
2286 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
2287 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
2288 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
2289 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
2290 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
2291 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
2292 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
2293 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
2294 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
2295 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
2296 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
2297 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
2298 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
2299 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
2300 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
2301 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
2302 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
2303 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
2304 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
2305 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
2306 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
2307 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
2308 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
2309 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
2310 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
2311 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
2312 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
2313 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
2314 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
2315 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
2316 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
2317 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
2318 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
2319 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
2320 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
2321 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
2322 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
2323 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
2324 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
2325 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
2326 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
2327 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
2328 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
2329 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
2330 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
2331 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
2332 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
2333 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
2334 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
2335 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
2336 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
2337 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
2338 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
2339 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
2340 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
2341 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
2342 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
2343 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
2344 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
2345 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
2346 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
2347
23482008-10-03 Timothy Hatcher <timothy@apple.com>
2349
timothy@apple.com11eb1a32008-10-04 08:09:52 +00002350 Adds support to the Web Inspector's Elements panel for fast tag name,
2351 class name, id and attribute name searching. The panel first tries
2352 using getElementById, getElementsByClassName and getElementsByTagName
2353 with the search query. Then does a slower search using XPath for partial
2354 matches, text and comment matches.
2355
2356 Adds support for search queries like "<div>", "<h" and "frame>".
2357 These forms limit the search to tag names, text and comment matches.
2358
2359 https://bugs.webkit.org/show_bug.cgi?id=21353
2360
2361 Reviewed by Maciej Stachowiak.
2362
2363 * page/inspector/ElementsPanel.js:
2364 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
2365 support. Add new search functions that try exact matches first.
2366
23672008-10-03 Timothy Hatcher <timothy@apple.com>
2368
timothy@apple.comf51a3aa2008-10-04 08:09:41 +00002369 Changes how searching works in the Web Inspector's Elements
2370 panel. The search tasks are divided into chunks that are small
2371 units of work that are performed at a time interval. This
2372 change also prevents queries that will select all elements,
2373 since that isn't useful.
2374
2375 https://bugs.webkit.org/show_bug.cgi?id=21285
2376
2377 Reviewed by Oliver Hunt.
2378
2379 * page/inspector/ElementsPanel.js:
2380 (WebInspector.ElementsPanel.prototype.searchCancled):
2381 Remove the searchResultsProperty form results since there might
2382 be an unfinished search.
2383 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
2384 documents and search functions into chunks that are performed on
2385 a interval of 25ms. Prevent searches for "//*" and "*".
2386
mjs@apple.com8b246d62008-10-04 07:15:33 +000023872008-10-03 Maciej Stachowiak <mjs@apple.com>
2388
2389 Reviewed by Cameron Zwarich.
2390
2391 - "this" object in methods called on primitives should be wrapper object
2392 https://bugs.webkit.org/show_bug.cgi?id=21362
2393
2394 Updated so toThis conversion for the split window is handled properly.
2395
2396 * bindings/scripts/CodeGeneratorJS.pm:
2397
weinig@apple.com1b4545c2008-10-04 05:16:40 +000023982008-10-03 Sam Weinig <sam@webkit.org>
2399
2400 Reviewed by David "The Motivator" Hyatt.
2401
2402 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
2403 Move SecurityOrigin out of platform/ to page/.
2404
2405 It was a layering violation for SecurityOrigin to be in platform
2406 as it depended on FrameLoader.
2407
2408 * GNUmakefile.am:
2409 * WebCore.pro:
2410 * WebCore.vcproj/WebCore.vcproj:
2411 * WebCore.xcodeproj/project.pbxproj:
2412 * WebCoreSources.bkl:
2413 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
2414 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
2415 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
2416 * platform/SecurityOrigin.cpp: Removed.
2417 * platform/SecurityOrigin.h: Removed.
2418 * platform/SecurityOriginHash.h: Removed.
2419
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +000024202008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
2421
2422 Reviewed by Alp Toker.
2423
2424 http://bugs.webkit.org/show_bug.cgi?id=18832
2425 [curl] file upload does not work
2426
2427 The curl_off_t integer type has a different size depending if large
2428 file support is enabled or not. There is no different public API for
2429 the two cases, so the same function accepts a different type based on
2430 a compilation option the could be different in WebKit and libcurl.
2431 To fix the bug we query libcurl at runtime for large file support and
2432 pass the right type based on that.
2433
2434 * platform/network/curl/ResourceHandleManager.cpp:
2435 (WebCore::ResourceHandleManager::setupPOST):
2436
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +000024372008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
2438
2439 Reviewed by David Hyatt.
2440
2441 Gtk build fixes.
2442
2443 * platform/gtk/FileChooserGtk.cpp:
2444 (WebCore::FileChooser::openFileChooser):
2445 * platform/gtk/PlatformScreenGtk.cpp:
2446 (WebCore::screenDepth):
2447 (WebCore::screenDepthPerComponent):
2448 (WebCore::screenAvailableRect):
2449 * platform/gtk/PopupMenuGtk.cpp:
2450 (WebCore::PopupMenu::show):
2451 * platform/gtk/ScrollViewGtk.cpp:
2452 (WebCore::ScrollView::platformAddChild):
2453 (WebCore::ScrollView::platformRemoveChild):
2454 * platform/gtk/WidgetGtk.cpp:
2455 (WebCore::Widget::setCursor):
2456 * plugins/gtk/PluginViewGtk.cpp:
2457 (WebCore::PluginView::getValue):
2458 (WebCore::PluginView::forceRedraw):
2459 (WebCore::PluginView::init):
2460
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +000024612008-10-03 David Hyatt <hyatt@apple.com>
2462
hyatt@apple.com55377bb2008-10-04 01:09:37 +00002463 Fix Qt bustage from missing include.
2464
2465 * platform/qt/PlatformScreenQt.cpp:
2466
24672008-10-03 David Hyatt <hyatt@apple.com>
2468
hyatt@apple.comeff53462008-10-04 01:08:35 +00002469 Fix Windows scrollbar bustage in popup menus.
2470
2471 * platform/win/PopupMenuWin.cpp:
2472 (WebCore::PopupWndProc):
2473
24742008-10-03 David Hyatt <hyatt@apple.com>
2475
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +00002476 Fix Windows bustage.
2477
2478 * platform/win/FileChooserWin.cpp:
2479 (WebCore::FileChooser::openFileChooser):
2480 * platform/win/PlatformScreenWin.cpp:
2481 (WebCore::monitorInfoForWidget):
2482 * platform/win/WidgetWin.cpp:
2483 * plugins/win/PluginViewWin.cpp:
2484 (WebCore::PluginView::getValue):
2485 (WebCore::PluginView::forceRedraw):
2486 (WebCore::PluginView::init):
2487
darin@apple.com3d73fee2008-10-03 21:39:16 +000024882008-10-03 Darin Adler <darin@apple.com>
2489
darin@apple.comc1e2d312008-10-03 22:55:04 +00002490 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
2491 seen on some machines but not others by adding an include.
2492
24932008-10-03 Darin Adler <darin@apple.com>
2494
darin@apple.com682a07e2008-10-03 22:41:30 +00002495 - Qt build fix
2496
2497 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
2498 execute functions. Declarations for these relied on the CodeType
2499 enumeration, which used to be in ExecState.h; but the functions
2500 aren't needed at all.
2501 * bridge/qt/qt_runtime.h: Ditto.
2502
25032008-10-03 Darin Adler <darin@apple.com>
2504
darin@apple.com3d73fee2008-10-03 21:39:16 +00002505 Reviewed by Geoff Garen.
2506
2507 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
2508 Turn ExecState into a call frame pointer.
2509
2510 Remove m_globalObject and m_globalData from ExecState.
2511
2512 * bindings/js/JSDOMWindowBase.cpp:
2513 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
2514 Removed an argument now that JSGlobalObject doesn't need it any more.
2515 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
2516 the JSDOMWindowBaseData constructor, and added the this argument to the
2517 JSGlobalObject constructor. This is because a couple key bits of
2518 initialization moved from the data constructor to the JSGlobalObject
2519 constructor.
2520 * bindings/js/JSDOMWindowBase.h: Ditto.
2521
2522 * bridge/qt/qt_runtime.cpp:
2523 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2524 * bridge/runtime_method.cpp:
2525 (JSC::RuntimeMethod::RuntimeMethod):
2526 Pass JSGlobalData* instead of ExecState* to the InternalFunction
2527 constructor.
2528
hyatt@apple.com0e7921d2008-10-03 21:16:13 +000025292008-10-03 David Hyatt <hyatt@apple.com>
2530
2531 Fix Windows/Qt build bustage.
2532
2533 Reviewed by ggaren
2534
2535 * loader/EmptyClients.h:
2536 (WebCore::EmptyChromeClient::platformWindow):
2537 * page/Chrome.cpp:
2538 (WebCore::Chrome::platformWindow):
2539 * page/Chrome.h:
2540 * page/ChromeClient.h:
2541 * platform/HostWindow.h:
2542 * platform/qt/PlatformScreenQt.cpp:
2543 (WebCore::screenDepth):
2544 (WebCore::screenDepthPerComponent):
2545 (WebCore::screenIsMonochrome):
2546 (WebCore::screenRect):
2547 (WebCore::screenAvailableRect):
2548 * platform/qt/PopupMenuQt.cpp:
2549 (WebCore::PopupMenu::show):
2550 * platform/win/PopupMenuWin.cpp:
2551 (WebCore::PopupMenu::show):
2552 (WebCore::PopupMenu::calculatePositionAndSize):
2553 (WebCore::PopupWndProc):
2554
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +000025552008-10-03 Simon Fraser <simon.fraser@apple.com>
2556
2557 Reviewed by Dave Hyatt
2558
2559 Make setStyle() take a const RenderStyle, to ensure that an
2560 earlier RenderStyle::diff() remains valid.
2561
2562 * rendering/RenderBR.cpp:
2563 * rendering/RenderBR.h:
2564 * rendering/RenderBlock.cpp:
2565 * rendering/RenderBlock.h:
2566 * rendering/RenderBox.cpp:
2567 * rendering/RenderBox.h:
2568 * rendering/RenderButton.cpp:
2569 * rendering/RenderButton.h:
2570 * rendering/RenderFieldset.cpp:
2571 * rendering/RenderFieldset.h:
2572 * rendering/RenderFileUploadControl.cpp:
2573 * rendering/RenderFileUploadControl.h:
2574 * rendering/RenderInline.cpp:
2575 * rendering/RenderInline.h:
2576 * rendering/RenderListBox.cpp:
2577 * rendering/RenderListBox.h:
2578 * rendering/RenderListItem.cpp:
2579 * rendering/RenderListItem.h:
2580 * rendering/RenderListMarker.cpp:
2581 * rendering/RenderListMarker.h:
2582 * rendering/RenderMenuList.cpp:
2583 * rendering/RenderMenuList.h:
2584 * rendering/RenderObject.cpp:
2585 (WebCore::RenderObject::setStyle):
2586 * rendering/RenderObject.h:
2587 * rendering/RenderReplaced.cpp:
2588 * rendering/RenderReplaced.h:
2589 * rendering/RenderSVGBlock.cpp:
2590 (WebCore::RenderSVGBlock::setStyle):
2591 * rendering/RenderSVGBlock.h:
2592 * rendering/RenderSVGGradientStop.cpp:
2593 * rendering/RenderSVGGradientStop.h:
2594 * rendering/RenderSlider.cpp:
2595 * rendering/RenderSlider.h:
2596 * rendering/RenderTable.cpp:
2597 * rendering/RenderTable.h:
2598 * rendering/RenderTableCell.cpp:
2599 * rendering/RenderTableCell.h:
2600 * rendering/RenderTableRow.cpp:
2601 * rendering/RenderTableRow.h:
2602 * rendering/RenderText.cpp:
2603 * rendering/RenderText.h:
2604 * rendering/RenderTextControl.cpp:
2605 * rendering/RenderTextControl.h:
2606 * rendering/RenderWidget.cpp:
2607 * rendering/RenderWidget.h:
2608 * rendering/style/RenderStyle.h:
2609 (WebCore::RenderStyle::isDisplayReplacedType):
2610 (WebCore::RenderStyle::isDisplayInlineType):
2611
hyatt@apple.com1ae34462008-10-03 19:17:35 +000026122008-10-03 David Hyatt <hyatt@apple.com>
2613
hyatt@apple.com938a55f2008-10-03 20:10:32 +00002614 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
2615 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
2616 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
2617 that will work properly for hit testing. This patch just stubs out that method to return the same
2618 event untransformed.
2619
2620 Reviewed by Darin Adler
2621
2622 * page/EventHandler.cpp:
2623 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2624 (WebCore::EventHandler::handleMouseMoveEvent):
2625 (WebCore::EventHandler::handleMouseReleaseEvent):
2626 (WebCore::EventHandler::passMousePressEventToScrollbar):
2627 * page/gtk/EventHandlerGtk.cpp:
2628 * page/mac/EventHandlerMac.mm:
2629 * page/qt/EventHandlerQt.cpp:
2630 * page/win/EventHandlerWin.cpp:
2631 * page/wx/EventHandlerWx.cpp:
2632 * platform/Scrollbar.cpp:
2633 (WebCore::Scrollbar::mouseMoved):
2634 (WebCore::Scrollbar::mouseExited):
2635 (WebCore::Scrollbar::mouseUp):
2636 (WebCore::Scrollbar::mouseDown):
2637 (WebCore::Scrollbar::transformEvent):
2638 * platform/Scrollbar.h:
2639
26402008-10-03 David Hyatt <hyatt@apple.com>
2641
hyatt@apple.com1ae34462008-10-03 19:17:35 +00002642 https://bugs.webkit.org/show_bug.cgi?id=21340
2643
2644 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
2645
2646 Reviewed by Dan Bernstein & Darin Adler
2647
2648 * platform/ScrollView.cpp:
2649 (WebCore::ScrollView::addChild):
2650 * platform/Widget.cpp:
2651 (WebCore::Widget::init):
2652 * platform/Widget.h:
2653 * platform/mac/WidgetMac.mm:
2654 * platform/win/PopupMenuWin.cpp:
2655 (WebCore::PopupMenu::show):
2656
adele@apple.come31aa912008-10-03 19:06:28 +000026572008-10-03 Adele Peterson <adele@apple.com>
2658
2659 Reviewed by Sam Weinig.
2660
2661 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
2662 Return early if settings is nil.
2663
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +000026642008-10-03 Rob Buis <buis@kde.org>
2665
2666 Reviewed by Darin.
2667
2668 https://bugs.webkit.org/show_bug.cgi?id=20134
2669 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
2670
2671 Make sure the input element gets the right default value when no value is set.
2672
2673 Test: fast/forms/range-default-value.html
2674
2675 * rendering/RenderSlider.cpp:
2676 (WebCore::RenderSlider::setPositionFromValue):
2677
hyatt@apple.com8de3eb72008-10-03 18:29:28 +000026782008-10-03 David Hyatt <hyatt@apple.com>
2679
2680 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
2681 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
2682 platform-specific init/destroy methods.
2683
2684 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
2685
2686 Reviewed by Darin Adler
2687
2688 * WebCore.vcproj/WebCore.vcproj:
2689 * platform/ScrollView.cpp:
2690 (WebCore::ScrollView::ScrollView):
2691 (WebCore::ScrollView::~ScrollView):
2692 (WebCore::ScrollView::platformInit):
2693 (WebCore::ScrollView::platformDestroy):
2694 (WebCore::ScrollView::platformAddChild):
2695 (WebCore::ScrollView::platformRemoveChild):
2696 * platform/ScrollView.h:
2697 * platform/gtk/ScrollViewGtk.cpp:
2698 (WebCore::ScrollView::platformInit):
2699 (WebCore::ScrollView::platformDestroy):
2700 * platform/mac/ScrollViewMac.mm:
2701 * platform/qt/ScrollViewQt.cpp:
2702 (WebCore::ScrollView::platformInit):
2703 (WebCore::ScrollView::platformDestroy):
2704 * platform/win/ScrollViewWin.cpp: Removed.
2705 * platform/wx/ScrollViewWx.cpp:
2706 (WebCore::ScrollView::platformInit):
2707 (WebCore::ScrollView::platformDestroy):
2708 (WebCore::ScrollView::setPlatformWidget):
2709
adele@apple.comb1dd0a62008-10-03 18:13:28 +000027102008-10-03 Adele Peterson <adele@apple.com>
2711
2712 Reviewed by Dan Bernstein.
2713
2714 Fix for <rdar://problem/6012018>
2715 https://bugs.webkit.org/show_bug.cgi?id=21335
2716 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
2717
2718 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
2719
hausmann@webkit.org2497ae82008-10-03 16:02:54 +000027202008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
2721
2722 Build fix.
2723
2724 * platform/qt/WidgetQt.cpp:
2725 (WebCore::Widget::invalidateRect):
2726
alp@webkit.org2122a042008-10-03 12:38:12 +000027272008-10-03 Alp Toker <alp@nuanti.com>
2728
alp@webkit.orgabc5b712008-10-03 13:36:23 +00002729 Remove some left-over GTK+ includes. No change in functionality.
2730
2731 * platform/Cursor.h:
2732 * platform/graphics/Icon.h:
2733 * platform/gtk/RenderThemeGtk.h:
2734
27352008-10-03 Alp Toker <alp@nuanti.com>
2736
alp@webkit.org2122a042008-10-03 12:38:12 +00002737 Build fix for trailing comment after #endif
2738
2739 * dom/ElementRareData.h:
2740
hyatt@apple.comd664bd52008-10-03 09:03:43 +000027412008-10-03 David Hyatt <hyatt@apple.com>
2742
2743 Remove addToDirtyRegion.
2744
2745 Reviewed by Oliver Hunt
2746
2747 * page/Chrome.cpp:
2748 * page/Chrome.h:
2749 * page/ChromeClient.h:
2750 * platform/ScrollView.h:
2751 * platform/gtk/ScrollViewGtk.cpp:
2752 * platform/qt/ScrollViewQt.cpp:
2753 * platform/win/ScrollViewWin.cpp:
2754
mitz@apple.com810de662008-10-03 09:00:08 +000027552008-10-03 Dan Bernstein <mitz@apple.com>
2756
2757 Reviewed by Maciej Stachowiak.
2758
2759 - fix a CachedResource leak introduced in r37176
2760
2761 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
2762 afterwards bail out of the outer pruneDeadResources().
2763
2764 * loader/Cache.cpp:
2765 (WebCore::Cache::Cache):
2766 (WebCore::Cache::pruneDeadResources):
2767 (WebCore::Cache::remove):
2768 * loader/Cache.h:
2769
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +000027702008-10-03 David Hyatt <hyatt@apple.com>
2771
2772 https://bugs.webkit.org/show_bug.cgi?id=21330
2773
2774 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
2775 scrollbars.
2776
2777 Reviewed by Oliver Hunt
2778
2779 * platform/ScrollView.cpp:
2780 (WebCore::ScrollView::setHasHorizontalScrollbar):
2781 (WebCore::ScrollView::setHasVerticalScrollbar):
2782 (WebCore::ScrollView::platformHasHorizontalAdjustment):
2783 (WebCore::ScrollView::platformHasVerticalAdjustment):
2784 * platform/ScrollView.h:
2785 * platform/gtk/ScrollViewGtk.cpp:
2786 (WebCore::ScrollView::adjustmentChanged):
2787 (WebCore::ScrollView::ScrollView):
2788 (WebCore::ScrollView::~ScrollView):
2789 (WebCore::ScrollView::setGtkAdjustments):
2790 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
2791 (WebCore::ScrollView::platformHandleVerticalAdjustment):
2792
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +000027932008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
2794
2795 Reviewed by Maciej Stachowiak.
2796
2797 Bug 21106: .in format discussed changes
2798 https://bugs.webkit.org/show_bug.cgi?id=21106
2799
2800 Change "upperCase" to "interfaceName" per-tag parameter as
2801 discussed on the mailing list. Removed the per-attribute version
2802 as it was not used.
2803
2804 Also add the "Element" suffix to all interfaceName parameter to match
2805 the class name (and thus remove it from make_names.pl).
2806
2807 * dom/make_names.pl:
2808 * html/HTMLTagNames.in:
2809 * svg/svgtags.in:
2810
hyatt@apple.comf0a13272008-10-03 07:38:27 +000028112008-10-03 David Hyatt <hyatt@apple.com>
2812
2813 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
2814 Hopefully this is a temporary hack that could eventually be removed.
2815
2816 Reviewed by Sam Weinig
2817
2818 * platform/ScrollView.cpp:
2819 (WebCore::ScrollView::scrollContents):
2820 * platform/ScrollView.h:
2821 (WebCore::ScrollView::rootPreventsBlitting):
2822 * platform/qt/ScrollViewQt.cpp:
2823 (WebCore::ScrollView::ScrollView):
2824 (WebCore::ScrollView::~ScrollView):
2825 (WebCore::ScrollView::platformAddChild):
2826 (WebCore::ScrollView::platformRemoveChild):
2827
hyatt@apple.com6fa40c52008-10-03 07:06:28 +000028282008-10-02 David Hyatt <hyatt@apple.com>
2829
2830 https://bugs.webkit.org/show_bug.cgi?id=21328
2831
2832 Make widget invalidation more cross-platform.
2833
2834 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
2835
2836 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
2837 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
2838
2839 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
2840
2841 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
2842
2843 Reviewed by Sam Weinig
2844
2845 * WebCore.base.exp:
2846 * page/FrameView.cpp:
2847 (WebCore::FrameView::invalidateRect):
2848 (WebCore::FrameView::invalidateScrollbarRect):
2849 * page/FrameView.h:
2850 * platform/PopupMenu.h:
2851 * platform/ScrollView.cpp:
2852 (WebCore::ScrollView::scrollContents):
2853 * platform/ScrollView.h:
2854 * platform/Scrollbar.cpp:
2855 (WebCore::Scrollbar::setEnabled):
2856 (WebCore::Scrollbar::invalidateRect):
2857 * platform/Scrollbar.h:
2858 * platform/ScrollbarClient.h:
2859 * platform/Widget.h:
2860 * platform/gtk/WidgetGtk.cpp:
2861 * platform/mac/WidgetMac.mm:
2862 * platform/win/PopupMenuWin.cpp:
2863 (WebCore::PopupMenu::invalidateScrollbarRect):
2864 * platform/win/WidgetWin.cpp:
2865 * plugins/PluginView.cpp:
2866 (WebCore::PluginView::invalidateTimerFired):
2867 (WebCore::PluginView::invalidateWindowlessPluginRect):
2868 * plugins/PluginView.h:
2869 * plugins/gtk/PluginViewGtk.cpp:
2870 (WebCore::PluginView::invalidateRect):
2871 * plugins/qt/PluginViewQt.cpp:
2872 (WebCore::PluginView::invalidateRect):
2873 * plugins/win/PluginViewWin.cpp:
2874 (WebCore::PluginView::invalidateRect):
2875 (WebCore::PluginView::invalidateRegion):
2876 * rendering/RenderLayer.cpp:
2877 (WebCore::RenderLayer::invalidateScrollbarRect):
2878 * rendering/RenderLayer.h:
2879 * rendering/RenderListBox.cpp:
2880 (WebCore::RenderListBox::paintObject):
2881 (WebCore::RenderListBox::paintScrollbar):
2882 (WebCore::RenderListBox::invalidateScrollbarRect):
2883 * rendering/RenderListBox.h:
2884
mitz@apple.com0203bbe2008-10-03 06:20:41 +000028852008-10-02 Dan Bernstein <mitz@apple.com>
2886
2887 Reviewed by Geoffrey Garen and Sam Weinig.
2888
2889 - fix SVGFontFaceElement leaks seen in Acid3
2890 - make font-face elements take effect only when they are in the document tree
2891
2892 Test: svg/custom/font-face-not-in-document.svg
2893
2894 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
2895 RefPtr to a plain pointer to break a ref cycle.
2896 (WebCore::SVGFontData::svgFontFaceElement):
2897
2898 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
2899 @font-face rule from the document's mapped element sheet when the
2900 element is inserted and removed from the document, and to update it
2901 only when the element is in the document.
2902 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2903 (WebCore::SVGFontFaceElement::parseMappedAttribute):
2904 (WebCore::SVGFontFaceElement::rebuildFontFace):
2905 (WebCore::SVGFontFaceElement::insertedIntoDocument):
2906 (WebCore::SVGFontFaceElement::removedFromDocument):
2907 (WebCore::SVGFontFaceElement::childrenChanged):
2908 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
2909 * svg/SVGFontFaceElement.h:
2910
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +000029112008-10-01 Simon Fraser <simon.fraser@apple.com>
2912
2913 Reviewed by Dave Hyatt
2914
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +00002915 Fix RenderFileUploadControl::setStyle() and
2916 RenderMenuList::setStyle() to not touch the style; replace
2917 with html4.css and CSSStyleSelector changes.
2918
2919 https://bugs.webkit.org/show_bug.cgi?id=21287
2920
2921 * css/CSSStyleSelector.cpp:
2922 (WebCore::CSSStyleSelector::adjustRenderStyle):
2923 * css/html4.css:
2924 * rendering/RenderBlock.cpp:
2925 (WebCore::RenderBlock::setStyle):
2926 * rendering/RenderFileUploadControl.cpp:
2927 * rendering/RenderMenuList.cpp:
2928 (WebCore::RenderMenuList::setStyle):
2929
29302008-10-01 Simon Fraser <simon.fraser@apple.com>
2931
2932 Reviewed by Dave Hyatt
2933
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +00002934 Clean up code that changes the RenderStyle passed in to
2935 table renderer setStyle() methods.
2936
2937 https://bugs.webkit.org/show_bug.cgi?id=21287
2938
2939 Tests: fast/table/floating-th.html
2940 fast/table/table-display-types-strict.html
2941 fast/table/table-display-types.html
2942
2943 * css/CSSStyleSelector.cpp:
2944 (WebCore::CSSStyleSelector::adjustRenderStyle):
2945 * rendering/RenderTableCell.cpp:
2946 (WebCore::RenderTableCell::setStyle):
2947 * rendering/RenderTableRow.cpp:
2948 (WebCore::RenderTableRow::setStyle):
2949 * rendering/RenderTableSection.cpp:
2950 (WebCore::RenderTableSection::setStyle):
2951
darin@apple.comcb1ab082008-10-03 00:28:54 +000029522008-10-02 Darin Adler <darin@apple.com>
2953
2954 - fix build
2955
2956 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
2957 Not just locally in my generated file!
2958
adele@apple.comf0225902008-10-03 00:25:37 +000029592008-10-02 Adele Peterson <adele@apple.com>
2960
2961 Reviewed by Dan Bernstein.
2962
2963 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
2964 REGRESSION: <input> color specified in inline style applies to placeholder
2965
2966 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
2967 is more appropriate. This change adds "-webkit-input-placeholder".
2968
2969 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
2970 Added definition for "-webkit-input-placeholder" pseudo element.
2971 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
2972 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2973 Added case for PseudoInputPlaceholder.
2974 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
2975 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
2976
2977 * html/HTMLInputElement.cpp:
2978 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
2979 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
2980 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
2981 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
2982 * rendering/RenderTextControl.cpp:
2983 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
2984 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
2985 the text will be updated correctly.
2986 * rendering/RenderTextControl.h:
2987
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +000029882008-10-02 Chris Fleizach <cfleizach@apple.com>
2989
2990 Reviewed by Darin Adler.
2991
2992 https://bugs.webkit.org/show_bug.cgi?id=21280
2993 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
2994
2995 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
2996 to ensure that there is more than one valid table cell, and that at least half of the cells
2997 have borders or have specific background colors. Modified the table detection layout test
2998 to test for the tables mentioned in the bug
2999
3000 * page/AccessibilityTable.cpp:
3001 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
3002
darin@apple.comb6295d42008-10-02 23:48:47 +000030032008-10-02 Darin Adler <darin@apple.com>
3004
3005 Reviewed by Geoff Garen.
3006
3007 - https://bugs.webkit.org/show_bug.cgi?id=21321
3008 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
3009
3010 * bindings/js/GCController.cpp:
3011 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
3012 (WebCore::GCController::gcTimerFired): Ditto.
3013 (WebCore::GCController::garbageCollectNow): Ditto.
3014 * bindings/js/JSDOMWindowShell.cpp:
3015 (WebCore::JSDOMWindowShell::operator new): Ditto.
3016 * storage/Database.cpp:
3017 (WebCore::Database::Database): Ditto.
3018
mitz@apple.com833a6e72008-10-02 20:46:35 +000030192008-10-02 Dan Bernstein <mitz@apple.com>
3020
3021 Reviewed by Alexey Proskuryakov.
3022
3023 - fix a Database leak that resulted in Document leaks
3024
3025 * storage/Database.cpp:
3026 (WebCore::Database::openDatabase): Account for the fact that RefCounted
3027 objects start out with a ref count of 1.
3028
weinig@apple.com77b7a0a2008-10-02 20:29:19 +000030292008-10-02 Sam Weinig <sam@webkit.org>
3030
3031 Reviewed by Mr. Geoffrey Garen.
3032
3033 Always mark your parent before marking members.
3034
3035 * bindings/js/JSDOMWindowCustom.cpp:
3036 (WebCore::JSDOMWindow::mark):
3037
hyatt@apple.com98682b32008-10-02 20:17:08 +000030382008-10-02 David Hyatt <hyatt@apple.com>
3039
3040 https://bugs.webkit.org/show_bug.cgi?id=21314
3041
3042 Make scrollBackingStore cross-platform.
3043
3044 Reviewed by Sam Weinig
3045
3046 * loader/EmptyClients.h:
3047 (WebCore::EmptyChromeClient::repaint):
3048 (WebCore::EmptyChromeClient::scroll):
3049 * page/Chrome.cpp:
3050 (WebCore::Chrome::repaint):
3051 (WebCore::Chrome::scroll):
3052 * page/Chrome.h:
3053 * page/ChromeClient.h:
3054 * page/EventHandler.cpp:
3055 (WebCore::EventHandler::handleAutoscroll):
3056 * platform/HostWindow.h:
3057 * platform/ScrollView.cpp:
3058 (WebCore::ScrollView::scrollContents):
3059 (WebCore::ScrollView::addPanScrollIcon):
3060 (WebCore::ScrollView::removePanScrollIcon):
3061 * platform/ScrollView.h:
3062 * platform/gtk/ScrollViewGtk.cpp:
3063 * platform/qt/ScrollViewQt.cpp:
3064 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3065 (WebCore::ScrollView::~ScrollView):
3066 * platform/win/ScrollViewWin.cpp:
3067 (WebCore::ScrollView::ScrollView):
3068 (WebCore::ScrollView::~ScrollView):
3069
kevino@webkit.org8ca54f22008-10-02 19:59:35 +000030702008-10-02 Kevin Ollivier <kevino@theolliviers.com>
3071
3072 wx build fixes after Frame/ScrollView changes.
3073
3074 * WebCoreSources.bkl:
3075 * platform/wx/ScrollViewWx.cpp:
3076 (WebCore::ScrollView::platformContentsToScreen):
3077 (WebCore::ScrollView::platformScreenToContents):
3078 (WebCore::ScrollView::platformIsOffscreen):
3079
brettw@chromium.org83eadcc2008-10-02 19:33:42 +000030802008-10-02 Brett Wilson <brettw@chromium.org>
3081
3082 Reviewed by Sam Weinig
3083
3084 https://bugs.webkit.org/show_bug.cgi?id=21292
3085
3086 Revert the changes to enclosingIntRect made in r12530 since the new code
3087 doesn't round correctly.
3088
3089 * ChangeLog:
3090 * platform/graphics/FloatRect.cpp:
3091 (WebCore::enclosingIntRect):
3092
mitz@apple.com92dc01a2008-10-02 18:48:33 +000030932008-10-02 Dan Bernstein <mitz@apple.com>
3094
3095 Reviewed by Anders Carlsson and Eric Seidel.
3096
3097 - fix HTMLCanvaseElement leak from -webkit-canvas() values
3098
3099 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
3100 pointer, as the document owns the canvas elements. Added code to release
3101 those elements in Document::removedLastRef() because they reference
3102 the document.
3103
3104 * css/CSSCanvasValue.cpp:
3105 (WebCore::CSSCanvasValue::element):
3106 * css/CSSCanvasValue.h:
3107 (WebCore::CSSCanvasValue::CSSCanvasValue):
3108 * dom/Document.cpp:
3109 (WebCore::Document::removedLastRef):
3110
ap@webkit.org44e40e42008-10-02 18:39:34 +000031112008-10-02 Alexey Proskuryakov <ap@webkit.org>
3112
3113 Reviewed by Maciej Stachowiak.
3114
ap@webkit.orgdffca802008-10-02 18:40:40 +00003115 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +00003116
3117 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
3118 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
3119 code is only needed for JS bindings in worker threads.
3120
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +000031212008-10-01 David Hyatt <hyatt@apple.com>
3122
3123 https://bugs.webkit.org/show_bug.cgi?id=21298
3124
3125 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
3126 will make that cross-platform.
3127
3128 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
3129 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
3130 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
3131
3132 Reviewed by Sam Weinig
3133
3134 * page/FrameView.cpp:
3135 (WebCore::FrameView::windowClipRect):
3136 (WebCore::FrameView::isActive):
3137 * page/FrameView.h:
3138 (WebCore::FrameView::visibleContentsResized):
3139 * platform/PopupMenu.h:
3140 * platform/ScrollView.cpp:
3141 (WebCore::ScrollView::init):
3142 (WebCore::ScrollView::destroy):
3143 (WebCore::ScrollView::setHasHorizontalScrollbar):
3144 (WebCore::ScrollView::setHasVerticalScrollbar):
3145 (WebCore::ScrollView::valueChanged):
3146 (WebCore::ScrollView::updateScrollbars):
3147 (WebCore::ScrollView::scrollContents):
3148 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
3149 (WebCore::ScrollView::platformHandleVerticalAdjustment):
3150 * platform/ScrollView.h:
3151 * platform/Scrollbar.cpp:
3152 (WebCore::Scrollbar::windowClipRect):
3153 * platform/ScrollbarClient.h:
3154 * platform/gtk/ScrollViewGtk.cpp:
3155 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
3156 (WebCore::ScrollView::platformHandleVerticalAdjustment):
3157 * platform/qt/ScrollViewQt.cpp:
3158 (WebCore::ScrollView::scrollContents):
3159 * platform/win/PopupMenuWin.cpp:
3160 (WebCore::PopupMenu::windowClipRect):
3161 * platform/win/ScrollViewWin.cpp:
3162 (WebCore::ScrollView::scrollContents):
3163 * rendering/RenderLayer.cpp:
3164 (WebCore::RenderLayer::windowClipRect):
3165 * rendering/RenderLayer.h:
3166 * rendering/RenderListBox.cpp:
3167 (WebCore::RenderListBox::panScroll):
3168 (WebCore::RenderListBox::windowClipRect):
3169 * rendering/RenderListBox.h:
3170
ap@webkit.org03710832008-10-02 16:18:56 +000031712008-10-02 Alexey Proskuryakov <ap@webkit.org>
3172
3173 Reviewed by Darin Adler.
3174
3175 https://bugs.webkit.org/show_bug.cgi?id=21304
3176 Stop using a static wrapper map for WebCore JS bindings
3177
3178 The static domObjects map was not thread safe.
3179
3180 * dom/Document.h:
3181 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
3182 ports.
3183 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
3184
3185 * dom/Document.cpp:
3186 (WebCore::Document::createdXMLHttpRequest):
3187 (WebCore::Document::destroyedXMLHttpRequest):
3188 Moved XMLHttpRequest tracking from a global map to Document.
3189
3190 * GNUmakefile.am:
3191 * WebCore.pro:
3192 * WebCore.vcproj/WebCore.vcproj:
3193 * WebCore.xcodeproj/project.pbxproj:
3194 * WebCoreSources.bkl:
3195 * webcore-base.bkl:
3196 * bindings/DOMProtect.cpp: Removed.
3197 * bindings/DOMProtect.h: Removed.
3198 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
3199 so they can no longer protect bindings objects.
3200
3201 * dom/MessagePort.cpp:
3202 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
3203 (WebCore::CloseMessagePortTimer::fired):
3204 (WebCore::MessagePort::MessagePort):
3205 (WebCore::MessagePort::queueCloseEvent):
3206 (WebCore::MessagePort::setPendingActivity):
3207 (WebCore::MessagePort::unsetPendingActivity):
3208 * dom/MessagePort.h:
3209 (WebCore::MessagePort::hasPendingActivity):
3210 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
3211 to protect it.
3212
3213 * xml/XMLHttpRequest.h:
3214 (WebCore::XMLHttpRequest::hasPendingActivity):
3215 * xml/XMLHttpRequest.cpp:
3216 (WebCore::XMLHttpRequest::XMLHttpRequest):
3217 (WebCore::XMLHttpRequest::~XMLHttpRequest):
3218 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
3219 (WebCore::XMLHttpRequest::dropProtection):
3220 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
3221 (WebCore::XMLHttpRequest::cancelRequests):
3222 (WebCore::XMLHttpRequest::detachRequests):
3223 (WebCore::XMLHttpRequest::setPendingActivity):
3224 (WebCore::XMLHttpRequest::unsetPendingActivity):
3225 Moved XMLHttpRequest tracking from a global map to Document.
3226
3227 * bindings/js/JSDOMBinding.cpp:
3228 (WebCore::wrapperSet):
3229 (WebCore::DOMObjectWrapperMap::mapFor):
3230 (WebCore::DOMObjectWrapperMap::get):
3231 (WebCore::DOMObjectWrapperMap::set):
3232 (WebCore::DOMObjectWrapperMap::remove):
3233 (WebCore::getCachedDOMObjectWrapper):
3234 (WebCore::cacheDOMObjectWrapper):
3235 (WebCore::forgetDOMObject):
3236 (WebCore::getCachedDOMNodeWrapper):
3237 (WebCore::forgetDOMNode):
3238 (WebCore::cacheDOMNodeWrapper):
3239 (WebCore::markActiveObjectsForDocument):
3240 * bindings/js/JSDOMBinding.h:
3241 (WebCore::createDOMObjectWrapper):
3242 (WebCore::getDOMObjectWrapper):
3243 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
3244 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
3245 WebCore objects can never migrate between threads.
3246
3247 * bindings/js/JSDocumentCustom.cpp:
3248 (WebCore::JSDocument::mark):
3249 Call markActiveObjectsForDocument() from JSDOMBinding.
3250
3251 * bindings/js/JSCSSRuleCustom.cpp:
3252 (WebCore::toJS):
3253 * bindings/js/JSCSSValueCustom.cpp:
3254 (WebCore::toJS):
3255 * bindings/js/JSDOMWindowCustom.cpp:
3256 (WebCore::markDOMObjectWrapper):
3257 (WebCore::JSDOMWindow::mark):
3258 * bindings/js/JSEventCustom.cpp:
3259 (WebCore::toJS):
3260 * bindings/js/JSEventTarget.cpp:
3261 (WebCore::toJS):
3262 * bindings/js/JSHTMLCollectionCustom.cpp:
3263 (WebCore::toJS):
3264 * bindings/js/JSImageDataCustom.cpp:
3265 (WebCore::toJS):
3266 * bindings/js/JSMessageChannelCustom.cpp:
3267 (WebCore::JSMessageChannel::mark):
3268 * bindings/js/JSMessagePortCustom.cpp:
3269 (WebCore::JSMessagePort::mark):
3270 * bindings/js/JSNodeCustom.cpp:
3271 (WebCore::JSNode::mark):
3272 * bindings/js/JSSVGPathSegCustom.cpp:
3273 (WebCore::toJS):
3274 * bindings/js/JSStyleSheetCustom.cpp:
3275 (WebCore::toJS):
3276 * bindings/js/JSXMLHttpRequestCustom.cpp:
3277 (WebCore::JSXMLHttpRequest::mark):
3278 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3279 (WebCore::JSXMLHttpRequestUpload::mark):
3280 * bindings/js/ScriptController.cpp:
3281 (WebCore::ScriptController::finishedWithEvent):
3282 * bindings/scripts/CodeGeneratorJS.pm:
3283 Pass a JSGlobalData reference to functions that track JS wrapper objects.
3284
mitz@apple.coma2b6b112008-10-02 07:52:29 +000032852008-10-02 Dan Bernstein <mitz@apple.com>
3286
3287 - build fix
3288
3289 * page/JavaScriptCallFrame.idl:
3290
oliver@apple.com619d60b92008-10-02 07:35:21 +000032912008-10-02 Oliver Hunt <oliver@apple.com>
3292
3293 Reviewed by NOBODY (Build fix).
3294
3295 Add new file to project files
3296
3297 * GNUmakefile.am:
3298 * WebCore.pro:
3299 * WebCore.vcproj/WebCore.vcproj:
3300
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000033012008-10-02 Geoffrey Garen <ggaren@apple.com>
3302
3303 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +00003304
3305 Try to fix some more builds.
3306
3307 * GNUmakefile.am:
3308 * WebCore.pro:
3309
33102008-10-02 Geoffrey Garen <ggaren@apple.com>
3311
3312 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +00003313
3314 Try to fix Windows build.
3315
3316 * WebCore.vcproj/WebCore.vcproj:
3317
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +000033182008-10-01 Geoffrey Garen <ggaren@apple.com>
3319
3320 Reviewed by Darin Adler and Cameron Zwarich.
3321
3322 Updated for JavaScriptCore API changes: use a SourceCode instead of
3323 broken out parameters; treat sourceId as intptr_t.
3324
3325 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
3326 * bindings/js/JSXMLHttpRequestCustom.cpp:
3327 (WebCore::JSXMLHttpRequest::send):
3328 * bindings/js/ScriptController.cpp:
3329 (WebCore::ScriptController::evaluate):
3330 * bindings/js/StringSourceProvider.h:
3331 (WebCore::StringSourceProvider::create):
3332 (WebCore::StringSourceProvider::StringSourceProvider):
3333
3334 (WebCore::makeSource): Added a makeSource function for convenience.
3335
3336 * bindings/objc/WebScriptObject.mm:
3337 (-[WebScriptObject evaluateWebScript:]):
3338 * bridge/NP_jsobject.cpp:
3339 (_NPN_Evaluate):
3340 * bridge/jni/jni_jsobject.mm:
3341 (JavaJSObject::call):
3342 (JavaJSObject::eval):
3343 (JavaJSObject::getMember):
3344 (JavaJSObject::setMember):
3345 (JavaJSObject::removeMember):
3346
3347 * bridge/jni/jni_runtime.h:
3348 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
3349 ustring() function with an implicit operator because this class already
3350 holds a UString::rep.
3351
3352 * page/Console.cpp:
3353 (WebCore::retrieveLastCaller):
3354 (WebCore::Console::trace):
3355 * page/InspectorController.cpp:
3356 (WebCore::jsStringRef):
3357 (WebCore::InspectorController::addBreakpoint):
3358 (WebCore::InspectorController::removeBreakpoint):
3359 (WebCore::InspectorController::didParseSource):
3360 (WebCore::InspectorController::failedToParseSource):
3361 * page/InspectorController.h:
3362 * page/JavaScriptCallFrame.cpp:
3363 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
3364 * page/JavaScriptCallFrame.h:
3365 (WebCore::JavaScriptCallFrame::create):
3366 (WebCore::JavaScriptCallFrame::sourceIdentifier):
3367 (WebCore::JavaScriptCallFrame::update):
3368 * page/JavaScriptDebugListener.h:
3369 * page/JavaScriptDebugServer.cpp:
3370 (WebCore::JavaScriptDebugServer::addBreakpoint):
3371 (WebCore::JavaScriptDebugServer::removeBreakpoint):
3372 (WebCore::JavaScriptDebugServer::hasBreakpoint):
3373 (WebCore::dispatchDidParseSource):
3374 (WebCore::dispatchFailedToParseSource):
3375 (WebCore::JavaScriptDebugServer::sourceParsed):
3376 (WebCore::JavaScriptDebugServer::callEvent):
3377 (WebCore::JavaScriptDebugServer::atStatement):
3378 (WebCore::JavaScriptDebugServer::returnEvent):
3379 (WebCore::JavaScriptDebugServer::exception):
3380 (WebCore::JavaScriptDebugServer::willExecuteProgram):
3381 (WebCore::JavaScriptDebugServer::didExecuteProgram):
3382 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
3383 * page/JavaScriptDebugServer.h:
3384 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
3385 sourceIdentifier to sourceID.
3386
mitz@apple.com7a7f3142008-10-02 06:08:15 +000033872008-10-01 Dan Bernstein <mitz@apple.com>
3388
3389 Reviewed by Geoffrey Garen.
3390
3391 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
3392
3393 Broke a ref cycle by changing the m_svgFontFaceElement members of
3394 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
3395 pointers. Also made sure that the @font-face rule added by
3396 SVGFontFaceElement to the document's mapped element sheet is removed
3397 when the font-face element is deleted or moved to another document.
3398
3399 * css/CSSFontFaceSource.cpp:
3400 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
3401 (WebCore::CSSFontFaceSource::getFontData):
3402 * css/CSSFontFaceSource.h:
3403 (WebCore::CSSFontFaceSource::svgFontFaceElement):
3404 * css/CSSFontFaceSrcValue.h:
3405 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
3406 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
3407 * svg/SVGFontFaceElement.cpp:
3408 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
3409 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
3410 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
3411 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
3412 * svg/SVGFontFaceElement.h:
3413
oliver@apple.comd3de8f32008-10-02 05:02:00 +000034142008-10-01 Oliver Hunt <oliver@apple.com>
3415
3416 Reviewed by Maciej Stachowiak.
3417
3418 Bug 20315: Memory leak with Canvas getImageData
3419 <https://bugs.webkit.org/show_bug.cgi?id=20315>
3420
3421 This wasn't a leak, the issue was that we were reporting the cost
3422 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
3423 and we should have been reporting the cost when we create the
3424 JSImageData wrapper.
3425
3426 * WebCore.xcodeproj/project.pbxproj:
3427 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
3428 This was only needed to report the extra memory cost
3429 of the CPA.
3430 * bindings/js/JSImageDataCustom.cpp:
3431 (WebCore::toJS):
3432 We need a custom toJS function now so that we can report
3433 the extra memory cost.
3434 * bindings/scripts/CodeGeneratorJS.pm:
3435 Need to replace the reference to CanvasPixelArray with ImageData
3436 to be able to create the custom toJS implementation.
3437 * html/CanvasPixelArray.idl:
3438 * html/ImageData.idl:
3439
mitz@apple.come0642ce2008-10-02 04:54:06 +000034402008-10-01 Dan Bernstein <mitz@apple.com>
3441
3442 Reviewed by Mark Rowe.
3443
3444 - https://bugs.webkit.org/show_bug.cgi?id=21293
3445 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
3446
3447 * svg/SVGMarkerElement.cpp:
3448 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
3449 that renderer destruction happens before the SVGMarkerElement is
3450 destroyed.
3451 * svg/SVGSVGElement.cpp:
3452 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
3453
eric@webkit.orgbe40b812008-10-02 01:43:16 +000034542008-10-01 Evan Martin <evan@chromium.org>
3455
3456 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +00003457
3458 https://bugs.webkit.org/show_bug.cgi?id=20669
3459
3460 * css/makeprop.pl:
3461 Die if gperf fails.
3462
34632008-10-01 Evan Martin <evan@chromium.org>
3464
3465 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +00003466
3467 * loader/icon/IconDatabase.h:
3468 IconDatabase uses HashMap, so it needs to #include the header.
3469
mitz@apple.com0ff2a012008-10-02 00:48:54 +000034702008-10-01 Dan Bernstein <mitz@apple.com>
3471
3472 Reviewed by Mark Rowe.
3473
mitz@apple.comca0080b2008-10-02 01:35:05 +00003474 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
3475
3476 * loader/Cache.cpp:
3477 (WebCore::Cache::remove): Disable pruning temporarily during
3478 CachedResource deletion.
3479
34802008-10-01 Dan Bernstein <mitz@apple.com>
3481
3482 Reviewed by Mark Rowe.
3483
mitz@apple.com0ff2a012008-10-02 00:48:54 +00003484 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
3485
3486 * svg/SVGFontFaceElement.cpp:
3487 (WebCore::SVGFontFaceElement::rebuildFontFace):
3488 * svg/SVGFontFaceElement.h:
3489 (WebCore::SVGFontFaceElement::associatedFontElement):
3490
brettw@chromium.org87b0e122008-10-01 22:34:16 +000034912008-10-01 Brett Wilson <brettw@chromium.org>
3492
3493 Reviewed by Maciej Stachowiak.
3494
3495 Document the rounding behavior of the mapRect(IntRect) function in
3496 AffineTransform.h.
3497
3498 * platform/graphics/AffineTransform.h:
3499
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +000035002008-10-01 David Hyatt <hyatt@apple.com>
3501
3502 Move prohibitsScrolling from the Frame to the ScrollView.
3503
3504 Reviewed by Sam Weinig
3505
3506 * WebCore.base.exp:
3507 * page/Frame.cpp:
3508 (WebCore::FramePrivate::FramePrivate):
3509 * page/Frame.h:
3510 * page/FramePrivate.h:
3511 * page/FrameView.cpp:
3512 (WebCore::FrameView::scrollRectIntoViewRecursively):
3513 (WebCore::FrameView::setScrollPosition):
3514 * platform/ScrollView.cpp:
3515 (WebCore::ScrollView::init):
3516 (WebCore::ScrollView::scrollRectIntoViewRecursively):
3517 (WebCore::ScrollView::setScrollPosition):
3518 * platform/ScrollView.h:
3519 (WebCore::ScrollView::setProhibitsScrolling):
3520 (WebCore::ScrollView::prohibitsScrolling):
3521 * platform/gtk/ScrollViewGtk.cpp:
3522 (WebCore::ScrollView::updateScrollbars):
3523 * platform/qt/ScrollViewQt.cpp:
3524 (WebCore::ScrollView::updateScrollbars):
3525 * platform/win/ScrollViewWin.cpp:
3526 (WebCore::ScrollView::updateScrollbars):
3527
mrowe@apple.combffe15d2008-10-01 22:24:37 +000035282008-10-01 Mark Rowe <mrowe@apple.com>
3529
3530 Reviewed by Geoff Garen.
3531
3532 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
3533
3534 * xml/XMLHttpRequest.cpp:
3535 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
3536 that we do during the loadRequestAsynchronously of the preflight request with a deref and
3537 GC unprotect.
3538
hyatt@apple.com2f029122008-10-01 22:12:23 +000035392008-10-01 David Hyatt <hyatt@apple.com>
3540
3541 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
3542 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
3543
3544 Reviewed by Tim Hatcher
3545
3546 * WebCore.base.exp:
3547 * page/FrameView.cpp:
3548 (WebCore::FrameView::setCanHaveScrollbars):
3549 * page/FrameView.h:
3550 * platform/ScrollView.cpp:
3551 (WebCore::ScrollView::setCanHaveScrollbars):
3552 (WebCore::ScrollView::wheelEvent):
3553 * platform/ScrollView.h:
3554 (WebCore::ScrollView::canHaveScrollbars):
3555
mitz@apple.combebfaae2008-10-01 21:19:41 +000035562008-10-01 Dan Bernstein <mitz@apple.com>
3557
3558 Reviewed by Mark Rowe.
3559
3560 - fix some CachedResource leaks seen on buildbot
3561
3562 The issue here was that emptying the cache was a no-op when it only
3563 contained resources with no data. Changed to go after those
3564 resources when the desired cache capacity is zero.
3565
3566 * loader/Cache.cpp:
3567 (WebCore::Cache::pruneLiveResources):
3568 (WebCore::Cache::pruneDeadResources):
3569 * loader/Cache.h:
3570 (WebCore::Cache::prune):
3571
hyatt@apple.come72b16e2008-10-01 20:58:19 +000035722008-10-01 David Hyatt <hyatt@apple.com>
3573
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +00003574 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
3575 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
3576
3577 Reviewed by Adam Roben
3578
3579 * platform/ScrollView.cpp:
3580 (WebCore::ScrollView::isOffscreen):
3581 (WebCore::ScrollView::platformIsOffscreen):
3582 * platform/ScrollView.h:
3583 * platform/gtk/ScrollViewGtk.cpp:
3584 * platform/mac/ScrollViewMac.mm:
3585 (WebCore::ScrollView::platformIsOffscreen):
3586 * platform/qt/ScrollViewQt.cpp:
3587 * platform/wx/ScrollViewWx.cpp:
3588
35892008-10-01 David Hyatt <hyatt@apple.com>
3590
hyatt@apple.come72b16e2008-10-01 20:58:19 +00003591 Make show/hide/setParentVisible cross-platform on ScrollView.
3592
3593 Reviewed by Adam Roben
3594
3595 * platform/ScrollView.cpp:
3596 (WebCore::ScrollView::setParentVisible):
3597 (WebCore::ScrollView::show):
3598 (WebCore::ScrollView::hide):
3599 * platform/ScrollView.h:
3600 * platform/win/ScrollViewWin.cpp:
3601
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +000036022008-10-01 Kevin McCullough <kmccullough@apple.com>
3603
3604 Reviewed by Dan Bernstein.
3605
3606 https://bugs.webkit.org/show_bug.cgi?id=21284
3607 Bug 21284: Max height affects max width
3608 - Looks like a cut and paste bug
3609 - Added layout test fast/css/max-height-and-max-width.html
3610
3611 * css/CSSComputedStyleDeclaration.cpp:
3612 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3613
hyatt@apple.comfe9c1302008-10-01 20:34:07 +000036142008-10-01 David Hyatt <hyatt@apple.com>
3615
3616 https://bugs.webkit.org/show_bug.cgi?id=21282
3617
3618 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
3619
3620 Reviewed by Adam Roben
3621
3622 * loader/EmptyClients.h:
3623 (WebCore::EmptyChromeClient::screenToWindow):
3624 (WebCore::EmptyChromeClient::windowToScreen):
3625 * page/Chrome.cpp:
3626 (WebCore::Chrome::screenToWindow):
3627 (WebCore::Chrome::windowToScreen):
3628 * page/Chrome.h:
3629 * page/ChromeClient.h:
3630 * platform/HostWindow.h:
3631 * platform/ScrollView.cpp:
3632 (WebCore::ScrollView::contentsToScreen):
3633 (WebCore::ScrollView::screenToContents):
3634 (WebCore::ScrollView::platformContentsToScreen):
3635 (WebCore::ScrollView::platformScreenToContents):
3636 * platform/ScrollView.h:
3637 * platform/mac/ScrollViewMac.mm:
3638 (WebCore::ScrollView::platformContentsToScreen):
3639 (WebCore::ScrollView::platformScreenToContents):
3640 * platform/win/ScrollViewWin.cpp:
3641
mitz@apple.comf2ee2052008-10-01 20:31:19 +000036422008-10-01 Dan Bernstein <mitz@apple.com>
3643
3644 Reviewed by Darin Adler.
3645
3646 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
3647
3648 Test: fast/parser/residual-style-close-across-removed-block.html
3649
3650 * html/HTMLParser.cpp:
3651 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
3652 an assertion that turned out to be wrong in this case, and changed to
3653 terminate the algorithm at the first empty block.
3654
hyatt@apple.comc5a54f42008-10-01 19:23:05 +000036552008-10-01 David Hyatt <hyatt@apple.com>
3656
3657 Make setFrameRect on ScrollView cross-platform.
3658
3659 Reviewed by Sam Weinig
3660
3661 * page/FrameView.h:
3662 (WebCore::FrameView::contentsResized):
3663 * platform/ScrollView.cpp:
3664 (WebCore::ScrollView::setFrameRect):
3665 * platform/ScrollView.h:
3666 * platform/gtk/ScrollViewGtk.cpp:
3667 * platform/qt/ScrollViewQt.cpp:
3668 * platform/win/ScrollViewWin.cpp:
3669
weinig@apple.comab5c0172008-10-01 19:17:01 +000036702008-10-01 Sam Weinig <sam@webkit.org>
3671
3672 Reviewed by Adele Peterson.
3673
3674 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
3675 to JSDOMWindow from JSDOMWindowBase.
3676
3677 * WebCore.xcodeproj/project.pbxproj:
3678 * bindings/js/JSDOMWindowBase.cpp:
3679 (WebCore::JSDOMWindowBase::removeTimeout):
3680 * bindings/js/JSDOMWindowBase.h:
3681 * bindings/js/JSDOMWindowCustom.cpp:
3682 (WebCore::setTimeoutOrInterval):
3683 (WebCore::JSDOMWindow::setTimeout):
3684 (WebCore::JSDOMWindow::clearTimeout):
3685 (WebCore::JSDOMWindow::setInterval):
3686 (WebCore::JSDOMWindow::clearInterval):
3687 (WebCore::JSDOMWindow::atob):
3688 (WebCore::JSDOMWindow::btoa):
3689 * page/DOMWindow.idl:
3690
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +000036912008-10-01 Dan Bernstein <mitz@apple.com>
3692
3693 - Mac build fix
3694
3695 * WebCore.base.exp:
3696
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +000036972008-10-01 Timothy Hatcher <timothy@apple.com>
3698
3699 Prevent stealing focus from the search field when focusing a DOM node.
3700
3701 https://bugs.webkit.org/show_bug.cgi?id=21275
3702
3703 Reviewed by Kevin McCullough.
3704
3705 * page/inspector/ElementsPanel.js:
3706 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
3707 Don't steal focus if the current focus element is the search field.
3708
weinig@apple.com841594d2008-10-01 07:27:49 +000037092008-09-30 Sam Weinig <sam@webkit.org>
3710
3711 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
3712
3713 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
3714 Autogenerate JS event listeners
3715
3716 - Generate getting/setting of EventListeners.
3717
3718 - Adding a new named EventListener now has the same process as adding any other DOM
3719 attribute. (Add a method with the same name in the c++ file).
3720
3721 (The EventListeners for MessagePort have been intentionally left custom so that we
3722 can continue to experiment with making those EventListeners work in a frame-less world.)
3723
3724 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
3725 * bindings/js/JSDOMWindowCustom.cpp: ditto.
3726 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
3727 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
3728 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
3729 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
3730 getter/setters
3731 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
3732 * dom/EventTargetNode.h: ditto.
3733 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
3734 will use JSEventListerner instead of JSUnprotectedEventListener.
3735 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
3736 * page/DOMWindow.cpp: Add getter/setters for named EventListener
3737 * page/DOMWindow.h: ditto.
3738 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
3739 will use JSEventListerner instead of JSUnprotectedEventListener.
3740 * xml/XMLHttpRequest.idl: Remove custom attributes.
3741 * xml/XMLHttpRequestUpload.idl: ditto.
3742
mrowe@apple.comfed78312008-10-01 06:53:49 +000037432008-09-30 Mark Rowe <mrowe@apple.com>
3744
3745 Reviewed by Dan Bernstein.
3746
3747 Add a leak counter for CachedResources since we've had two recent leaks involving them.
3748
3749 * loader/CachedResource.cpp:
3750 (WebCore::CachedResource::CachedResource):
3751 (WebCore::CachedResource::~CachedResource):
3752
mitz@apple.com19b93112008-10-01 06:25:17 +000037532008-09-30 Dan Bernstein <mitz@apple.com>
3754
3755 Reviewed by Dave Hyatt.
3756
3757 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
3758 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
3759
3760 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
3761 the font name in memory.
3762
3763 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
3764 OpenTypeUtilities.*.
3765
3766 * platform/graphics/win/FontCustomPlatformData.cpp:
3767 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
3768 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
3769 used.
3770 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
3771 for fonts loaded using AddFontMemResourceEx.
3772 (WebCore::createFontCustomPlatformData): Added a call to
3773 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
3774 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
3775 fontPlatformData() will retrieve the name from the font reference.
3776
3777 * platform/graphics/win/FontCustomPlatformData.h:
3778 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
3779 font name member.
3780
3781 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
3782 * platform/graphics/win/GetEOTHeader.h: Renamed.
3783
3784 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
3785 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
3786 (WebCore::BigEndianULong::BigEndianULong): Ditto.
3787 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
3788 the font data and modifies it to have the given name, then activates
3789 it using AddFontMemResourceEx.
3790
3791 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
3792
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000037932008-09-30 Mark Rowe <mrowe@apple.com>
3794
3795 Reviewed by Dan Bernstein.
3796
3797 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
3798
3799 * rendering/RenderObject.cpp:
3800 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
3801 with calls to removeClient when we're being destroyed.
3802
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000038032008-09-30 Eric Carlson <eric.carlson@apple.com>
3804
mrowe@apple.com12cb8c22008-10-01 06:09:28 +00003805 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +00003806
3807 https://bugs.webkit.org/show_bug.cgi?id=21243
3808
3809 Fix loopstart and loopend default values.
3810
3811 Tests: media/loopend-limits.html
3812 media/loopstart-limits.html
3813
3814 * html/HTMLMediaElement.cpp:
3815 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
3816 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
3817
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +000038182008-09-30 Kevin Ollivier <kevino@theolliviers.com>
3819
3820 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
3821
3822 * WebCoreSources.bkl:
3823 * platform/wx/ScrollViewWx.cpp:
3824 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
3825
mitz@apple.com17145582008-10-01 04:43:07 +000038262008-09-30 Dan Bernstein <mitz@apple.com>
3827
3828 Reviewed by Sam Weinig.
3829
3830 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
3831 was fixed in r17249 and re-introduced in r31435.
3832
3833 * html/HTMLViewSourceDocument.cpp:
3834 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
3835 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
3836 (WebCore::HTMLViewSourceDocument::addLine):
3837 (WebCore::HTMLViewSourceDocument::addLink):
3838 * html/HTMLViewSourceDocument.h:
3839
weinig@apple.com42d87a62008-10-01 00:39:19 +000038402008-09-30 Sam Weinig <sam@webkit.org>
3841
3842 Reviewed by Eric Seidel.
3843
3844 More for https://bugs.webkit.org/show_bug.cgi?id=21122
3845 Autogenerate JS event listeners
3846
3847 - Make EventListener getter/setters names in c++ files match those in
3848 JS (ie. onLoadListener -> onload).
3849 - Add standard way to access the frame associated with the EventTarget
3850 for EventListener lookup.
3851 - Autogenerate dispatchEvent, it wasn't doing anything custom.
3852
3853 * bindings/js/JSDOMApplicationCacheCustom.cpp:
3854 (WebCore::JSDOMApplicationCache::mark):
3855 (WebCore::JSDOMApplicationCache::addEventListener):
3856 (WebCore::JSDOMApplicationCache::removeEventListener):
3857 (WebCore::JSDOMApplicationCache::setOnchecking):
3858 (WebCore::JSDOMApplicationCache::onchecking):
3859 (WebCore::JSDOMApplicationCache::setOnerror):
3860 (WebCore::JSDOMApplicationCache::onerror):
3861 (WebCore::JSDOMApplicationCache::setOnnoupdate):
3862 (WebCore::JSDOMApplicationCache::onnoupdate):
3863 (WebCore::JSDOMApplicationCache::setOndownloading):
3864 (WebCore::JSDOMApplicationCache::ondownloading):
3865 (WebCore::JSDOMApplicationCache::setOnprogress):
3866 (WebCore::JSDOMApplicationCache::onprogress):
3867 (WebCore::JSDOMApplicationCache::setOnupdateready):
3868 (WebCore::JSDOMApplicationCache::onupdateready):
3869 (WebCore::JSDOMApplicationCache::setOncached):
3870 (WebCore::JSDOMApplicationCache::oncached):
3871 * bindings/js/JSEventTargetNodeCustom.cpp:
3872 (WebCore::JSEventTargetNode::addEventListener):
3873 (WebCore::JSEventTargetNode::removeEventListener):
3874 (WebCore::JSEventTargetNode::getListener):
3875 (WebCore::JSEventTargetNode::setListener):
3876 * bindings/js/JSMessagePortCustom.cpp:
3877 (WebCore::JSMessagePort::mark):
3878 (WebCore::JSMessagePort::addEventListener):
3879 (WebCore::JSMessagePort::removeEventListener):
3880 (WebCore::JSMessagePort::setOnmessage):
3881 (WebCore::JSMessagePort::onmessage):
3882 (WebCore::JSMessagePort::setOnclose):
3883 (WebCore::JSMessagePort::onclose):
3884 * bindings/js/JSXMLHttpRequestCustom.cpp:
3885 (WebCore::JSXMLHttpRequest::mark):
3886 (WebCore::JSXMLHttpRequest::onreadystatechange):
3887 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
3888 (WebCore::JSXMLHttpRequest::onabort):
3889 (WebCore::JSXMLHttpRequest::setOnabort):
3890 (WebCore::JSXMLHttpRequest::onerror):
3891 (WebCore::JSXMLHttpRequest::setOnerror):
3892 (WebCore::JSXMLHttpRequest::onload):
3893 (WebCore::JSXMLHttpRequest::setOnload):
3894 (WebCore::JSXMLHttpRequest::onloadstart):
3895 (WebCore::JSXMLHttpRequest::setOnloadstart):
3896 (WebCore::JSXMLHttpRequest::onprogress):
3897 (WebCore::JSXMLHttpRequest::setOnprogress):
3898 (WebCore::JSXMLHttpRequest::addEventListener):
3899 (WebCore::JSXMLHttpRequest::removeEventListener):
3900 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3901 (WebCore::JSXMLHttpRequestUpload::mark):
3902 (WebCore::JSXMLHttpRequestUpload::onabort):
3903 (WebCore::JSXMLHttpRequestUpload::setOnabort):
3904 (WebCore::JSXMLHttpRequestUpload::onerror):
3905 (WebCore::JSXMLHttpRequestUpload::setOnerror):
3906 (WebCore::JSXMLHttpRequestUpload::onload):
3907 (WebCore::JSXMLHttpRequestUpload::setOnload):
3908 (WebCore::JSXMLHttpRequestUpload::onloadstart):
3909 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
3910 (WebCore::JSXMLHttpRequestUpload::onprogress):
3911 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
3912 (WebCore::JSXMLHttpRequestUpload::addEventListener):
3913 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3914 * bindings/scripts/CodeGeneratorJS.pm:
3915 * dom/EventTarget.h:
3916 * dom/EventTargetNode.cpp:
3917 (WebCore::EventTargetNode::associatedFrame):
3918 * dom/EventTargetNode.h:
3919 * dom/EventTargetNode.idl:
3920 * dom/MessagePort.cpp:
3921 (WebCore::MessagePort::associatedFrame):
3922 * dom/MessagePort.h:
3923 (WebCore::MessagePort::setOnmessage):
3924 (WebCore::MessagePort::onmessage):
3925 (WebCore::MessagePort::setOnclose):
3926 (WebCore::MessagePort::onclose):
3927 * dom/MessagePort.idl:
3928 * loader/appcache/DOMApplicationCache.h:
3929 (WebCore::DOMApplicationCache::setOnchecking):
3930 (WebCore::DOMApplicationCache::onchecking):
3931 (WebCore::DOMApplicationCache::setOnerror):
3932 (WebCore::DOMApplicationCache::onerror):
3933 (WebCore::DOMApplicationCache::setOnnoupdate):
3934 (WebCore::DOMApplicationCache::onnoupdate):
3935 (WebCore::DOMApplicationCache::setOndownloading):
3936 (WebCore::DOMApplicationCache::ondownloading):
3937 (WebCore::DOMApplicationCache::setOnprogress):
3938 (WebCore::DOMApplicationCache::onprogress):
3939 (WebCore::DOMApplicationCache::setOnupdateready):
3940 (WebCore::DOMApplicationCache::onupdateready):
3941 (WebCore::DOMApplicationCache::setOncached):
3942 (WebCore::DOMApplicationCache::oncached):
3943 (WebCore::DOMApplicationCache::associatedFrame):
3944 * loader/appcache/DOMApplicationCache.idl:
3945 * svg/EventTargetSVGElementInstance.cpp:
3946 (WebCore::EventTargetSVGElementInstance::associatedFrame):
3947 (WebCore::EventTargetSVGElementInstance::addEventListener):
3948 (WebCore::EventTargetSVGElementInstance::removeEventListener):
3949 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
3950 * svg/EventTargetSVGElementInstance.h:
3951 * xml/XMLHttpRequest.cpp:
3952 (WebCore::XMLHttpRequest::associatedFrame):
3953 * xml/XMLHttpRequest.h:
3954 (WebCore::XMLHttpRequest::setOnreadystatechange):
3955 (WebCore::XMLHttpRequest::onreadystatechange):
3956 (WebCore::XMLHttpRequest::setOnabort):
3957 (WebCore::XMLHttpRequest::onabort):
3958 (WebCore::XMLHttpRequest::setOnerror):
3959 (WebCore::XMLHttpRequest::onerror):
3960 (WebCore::XMLHttpRequest::setOnload):
3961 (WebCore::XMLHttpRequest::onload):
3962 (WebCore::XMLHttpRequest::setOnloadstart):
3963 (WebCore::XMLHttpRequest::onloadstart):
3964 (WebCore::XMLHttpRequest::setOnprogress):
3965 (WebCore::XMLHttpRequest::onprogress):
3966 * xml/XMLHttpRequest.idl:
3967 * xml/XMLHttpRequestUpload.cpp:
3968 (WebCore::XMLHttpRequestUpload::associatedFrame):
3969 * xml/XMLHttpRequestUpload.h:
3970 (WebCore::XMLHttpRequestUpload::setOnabort):
3971 (WebCore::XMLHttpRequestUpload::onabort):
3972 (WebCore::XMLHttpRequestUpload::setOnerror):
3973 (WebCore::XMLHttpRequestUpload::onerror):
3974 (WebCore::XMLHttpRequestUpload::setOnload):
3975 (WebCore::XMLHttpRequestUpload::onload):
3976 (WebCore::XMLHttpRequestUpload::setOnloadstart):
3977 (WebCore::XMLHttpRequestUpload::onloadstart):
3978 (WebCore::XMLHttpRequestUpload::setOnprogress):
3979 (WebCore::XMLHttpRequestUpload::onprogress):
3980 * xml/XMLHttpRequestUpload.idl:
3981
darin@apple.com9451b7f2008-10-01 00:38:06 +000039822008-09-30 Darin Adler <darin@apple.com>
3983
3984 - roll out assertion breaking regression tests
3985
3986 * platform/ScrollView.cpp:
3987 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
3988 that fires in regression tests. Hyatt can add it back later. The assertion
3989 fires in the regression test because of layout that triggers repaint occuring
3990 during the process of removing a frame.
3991
adele@apple.comed74a6e2008-09-30 23:21:50 +000039922008-09-30 Adele Peterson <adele@apple.com>
3993
3994 Reviewed by Darin Adler.
3995
3996 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
3997 <rdar://problem/6222134> add a way to set color for input placeholder text
3998
3999 Test: fast/forms/placeholder-pseudo-style.html
4000
4001 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
4002 input elements when they are displaying the placeholder text.
4003
4004 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
4005 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
4006 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
4007 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
4008 * css/html4.css: Add rule to make placeholder text default to darkGray.
4009
4010 * html/HTMLInputElement.cpp:
4011 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
4012 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
4013 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
4014 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
4015 (WebCore::HTMLInputElement::setValue): ditto.
4016 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
4017 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
4018 This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the
4019 renderer will just ask the node if it should draw the placeholder.
4020 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
4021
4022 * rendering/RenderTextControl.cpp:
4023 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
4024 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
4025 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
4026 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
4027 This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which
4028 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
4029 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
4030 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
4031 * rendering/RenderTextControl.h:
4032
bdakin@apple.com31845c52008-09-30 23:19:53 +000040332008-09-30 Beth Dakin <bdakin@apple.com>
4034
4035 Reviewed by Darin Adler.
4036
4037 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
4038 by failed allocation due to invalid counter/attr
4039 and corresponding: <rdar://problem/6152371>
4040
4041 * css/CSSParser.cpp:
4042 (WebCore::CSSParser::parseCounterContent): The spec indicates that
4043 only identifiers should be accepted here.
4044
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000040452008-09-30 Kevin McCullough <kmccullough@apple.com>
4046
kmccullough@apple.com88219342008-09-30 22:33:30 +00004047 Reviewed by Oliver Hunt.
4048
4049 Bug 21255: console.profileEnd() without a console.profile() crashes the
4050 web inspector
4051
4052 * page/Console.cpp:
4053 (WebCore::Console::profileEnd):
4054
40552008-09-30 Kevin McCullough <kmccullough@apple.com>
4056
kmccullough@apple.com86834eb2008-09-30 22:31:46 +00004057 Reviewed by Tim Hatcher.
4058
4059 Bug 21252: calling console.profile() with a title that is 2 chars or
4060 shorter does not linkify it
4061
4062 - Previously we tried to not linkify very short URLs but since profile
4063 titles can be any length this is not always true.
4064
4065 * page/inspector/inspector.js:
4066
hyatt@apple.comda9b3072008-09-30 21:30:56 +000040672008-09-30 Dave Hyatt <hyatt@apple.com>
4068
4069 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
4070 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
4071 (1) Not used on Mac
4072 (2) Used on Windows
4073 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
4074 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
4075 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
4076
4077 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
4078 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
4079 With the changes to this method, the new behavior is as follows:
4080 (1) Not used on Mac
4081 (2) Used on Windows
4082 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
4083 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
4084 (5) Not used on wx
4085
4086 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
4087 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
4088
4089 Reviewed by Sam Weinig
4090
4091 * ChangeLog:
4092 * dom/Document.cpp:
4093 (WebCore::Document::implicitClose):
4094 * platform/HostWindow.h:
4095 (WebCore::HostWindow::paint):
4096 * platform/ScrollView.h:
4097 * platform/gtk/ScrollViewGtk.cpp:
4098 * platform/mac/ScrollViewMac.mm:
4099 * platform/qt/ScrollViewQt.cpp:
4100 * platform/win/ScrollViewWin.cpp:
4101 * platform/wx/ScrollViewWx.cpp:
4102
timothy@apple.com92560da2008-09-30 20:57:49 +000041032008-09-30 Timothy Hatcher <timothy@apple.com>
4104
timothy@apple.com26fefbf2008-09-30 20:57:55 +00004105 Focus the DOM tree in the Web Inspector when a node is inspected.
4106 So when the search field has focus, the focus moves to the tree,
4107 allowing the arrow keys work. This can happen when using the new
4108 find in page feature.
4109
4110 https://bugs.webkit.org/show_bug.cgi?id=21251
4111
4112 Reviewed by Geoff Garen.
4113
4114 * page/inspector/ElementsPanel.js:
4115 (WebInspector.ElementsPanel): Set currentFocusElement to
4116 the main-panels element if the panel is visible.
4117 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
4118 Remove a set of currentFocusElement since this moved.
4119 * page/inspector/inspector.js:
4120 (WebInspector.set currentFocusElement): Always focus the element.
4121 This ensures that when focus changes in the page and we don't
4122 catch it, we will still focus the elements even if we think it
4123 was already focused.
4124
41252008-09-30 Timothy Hatcher <timothy@apple.com>
4126
timothy@apple.com92560da2008-09-30 20:57:49 +00004127 Make the Web Inspector's toolbar icons darker when the mouse is
4128 pressed on them. This matches the standard NSToolbar look.
4129
4130 https://bugs.webkit.org/show_bug.cgi?id=21249
4131 rdar://problem/6033752
4132
4133 Reviewed by Adam Roben.
4134
4135 * page/inspector/Images/databasesIcon.png:
4136 * page/inspector/Images/elementsIcon.png:
4137 * page/inspector/Images/profilesIcon.png:
4138 * page/inspector/Images/resourcesIcon.png:
4139 * page/inspector/Images/scriptsIcon.png:
4140 * page/inspector/Panel.js:
4141 * page/inspector/inspector.css:
4142
kmccullough@apple.com622724e2008-09-30 20:26:29 +000041432008-09-30 Kevin McCullough <kmccullough@apple.com>
4144
4145 Reviewed by Tim Hatcher.
4146
4147 Bug 21139: Profiler log message is wrong
4148 - Correctly fix =(
4149 Don't call _format twice.
4150
4151 * page/Page.h:
4152 * page/inspector/Console.js:
4153 * page/inspector/ProfilesPanel.js:
4154 * page/inspector/inspector.js:
4155
hyatt@apple.com70936b52008-09-30 20:09:42 +000041562008-09-30 Dave Hyatt <hyatt@apple.com>
4157
4158 http://bugs.webkit.org/show_bug.cgi?id=21250
4159
4160 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
4161 repaints up through the ChromeClient.
4162
4163 Reviewed by Darin Adler
4164
4165 * loader/EmptyClients.h:
4166 (WebCore::EmptyChromeClient::repaint):
4167 * page/Chrome.cpp:
4168 (WebCore::Chrome::repaint):
4169 * page/Chrome.h:
4170 * page/ChromeClient.h:
4171 * page/FrameView.cpp:
4172 (WebCore::FrameView::hostWindow):
4173 (WebCore::FrameView::repaintContentRectangle):
4174 * page/FrameView.h:
4175 * platform/HostWindow.h:
4176 * platform/ScrollView.cpp:
4177 (WebCore::ScrollView::repaintContentRectangle):
4178 (WebCore::ScrollView::platformRepaintContentRectangle):
4179 * platform/ScrollView.h:
4180 * platform/gtk/ScrollViewGtk.cpp:
4181 * platform/mac/ScrollViewMac.mm:
4182 (WebCore::ScrollView::platformRepaintContentRectangle):
4183 * platform/qt/ScrollViewQt.cpp:
4184 * platform/win/ScrollViewWin.cpp:
4185 * platform/wx/ScrollViewWx.cpp:
4186 (WebCore::ScrollView::platformRepaintContentRectangle):
4187
ap@webkit.org8b67da02008-09-30 17:58:10 +000041882008-09-30 Alexey Proskuryakov <ap@webkit.org>
4189
4190 Non-Mac build fixes.
4191
4192 * GNUmakefile.am:
4193 * WebCore.pro:
4194 * WebCore.vcproj/WebCore.vcproj:
4195 * WebCoreSources.bkl:
4196 * webcore-base.bkl:
4197 Added DOMProtect.{cpp,h}.
4198
kdecker@apple.comdafe5102008-09-30 17:40:02 +000041992008-09-39 Kevin Decker <kdecker@apple.com>
4200
4201 Reviewed by John Sullivan.
4202
4203 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
4204 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
4205
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +000042062008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
4207
4208 Reviewed by Maciej Stachowiak.
4209
4210 Bug 21106: .in format discussed changes
4211 https://bugs.webkit.org/show_bug.cgi?id=21106
4212
4213 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
4214 is the only namespace used.
4215
4216 - Removed "generateFactory" and "generateWrapperFactory" parameters and
4217 re-introduced the command line options.
4218
4219 - Cleaned up the output of make_names.pl (removed unneeded new line).
4220
4221 * DerivedSources.make: Added factories command line options.
4222 * GNUmakefile.am: Ditto.
4223 * WebCore.pro: Ditto and removed some arguments that were migrated to
4224 the .in files.
4225
4226 * dom/make_names.pl: Clean up (see above).
4227
4228 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
4229 and "generateWrapperFactory" occurences.
4230 * html/HTMLTagNames.in: Ditto.
4231 * svg/svgattrs.in: Ditto.
4232 * svg/svgtags.in: Ditto.
4233 * svg/xlinkattrs.in: Ditto.
4234 * xml/xmlattrs.in: Ditto.
4235
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +000042362008-09-29 Chris Fleizach <cfleizach@apple.com>
4237
4238 Reviewed by John Sullivan.
4239
4240 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
4241 Make sure that certain types of elements do not return children and, moreover, do not waste their
4242 energy trying to return children
4243
4244 Test: accessibility/nochildren-elements.html
4245
4246 * page/AccessibilityObject.h:
4247 (WebCore::AccessibilityObject::canHaveChildren):
4248 * page/AccessibilityRenderObject.cpp:
4249 (WebCore::AccessibilityRenderObject::canHaveChildren):
4250 (WebCore::AccessibilityRenderObject::addChildren):
4251 * page/AccessibilityRenderObject.h:
4252
ap@webkit.orga0c037c2008-09-30 15:52:06 +000042532008-09-30 Alexey Proskuryakov <ap@webkit.org>
4254
4255 Reviewed by Sam Weinig.
4256
4257 https://bugs.webkit.org/show_bug.cgi?id=21213
4258 MessagePort crash when GC collects an object with a pending close event
4259
4260 Test: fast/events/message-channel-gc-2.html
4261 fast/events/message-channel-listener-circular-ownership.html
4262
4263 * bindings/DOMProtect.cpp: Added.
4264 (WebCore::gcProtectDOMObject):
4265 (WebCore::gcUnprotectDOMObject):
4266 * bindings/DOMProtect.h: Added.
4267 Added an abstraction for GC protection to avoid the need to call JS bindings code from
4268 DOM objects directly.
4269
4270 * dom/MessagePort.cpp:
4271 (WebCore::CloseMessagePortTimer::fired):
4272 (WebCore::MessagePort::queueCloseEvent):
4273 GC protect MessagePort wrapper while there is a pending close event.
4274 This may be necessary for message events, too, but that case is not a crasher, and actually
4275 behaves to the letter of the current HTML5 text, so I'll consider it later.
4276
4277 * xml/XMLHttpRequest.cpp:
4278 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
4279 (WebCore::XMLHttpRequest::dropProtection):
4280 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
4281
4282 * bindings/js/JSMessagePortCustom.cpp:
4283 (WebCore::JSMessagePort::addEventListener):
4284 (WebCore::JSMessagePort::removeEventListener):
4285 (WebCore::JSMessagePort::setOnmessage):
4286 (WebCore::JSMessagePort::setOnclose):
4287 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
4288 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
4289
4290 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4291 (WebCore::JSXMLHttpRequestUpload::mark):
4292 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
4293 from XMLHttpRequest.
4294
aroben@apple.comd2272012008-09-30 14:17:28 +000042952008-09-30 Adam Roben <aroben@apple.com>
4296
4297 Windows build fix
4298
4299 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
4300
weinig@apple.comd516a572008-09-30 07:01:45 +000043012008-09-29 Sam Weinig <sam@webkit.org>
4302
4303 Reviewed by Tim Hatcher.
4304
4305 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
4306 Autogenerate JS event listeners
4307
4308 - Generate EventTargetNode.
4309
4310 * DerivedSources.make:
4311 * GNUmakefile.am:
4312 * WebCore.pro:
4313 * WebCore.vcproj/WebCore.vcproj:
4314 * WebCore.xcodeproj/project.pbxproj:
4315 * WebCoreSources.bkl:
4316 * bindings/js/JSEventListener.cpp:
4317 * bindings/js/JSEventTarget.cpp: Added.
4318 (WebCore::toJS):
4319 * bindings/js/JSEventTarget.h: Added.
4320 * bindings/js/JSEventTargetBase.cpp: Removed.
4321 * bindings/js/JSEventTargetBase.h:
4322 * bindings/js/JSEventTargetNode.cpp: Removed.
4323 * bindings/js/JSEventTargetNode.h: Removed.
4324 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
4325 (WebCore::JSEventTargetNode::addEventListener):
4326 (WebCore::JSEventTargetNode::removeEventListener):
4327 (WebCore::JSEventTargetNode::dispatchEvent):
4328 (WebCore::JSEventTargetNode::getListener):
4329 (WebCore::JSEventTargetNode::setListener):
4330 (WebCore::JSEventTargetNode::pushEventHandlerScope):
4331 * bindings/js/JSEventTargetSVGElementInstance.cpp:
4332 (WebCore::):
4333 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
4334 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
4335 (jsEventTargetAddEventListener):
4336 (jsEventTargetRemoveEventListener):
4337 (jsEventTargetDispatchEvent):
4338 * bindings/js/JSEventTargetSVGElementInstance.h:
4339 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
4340 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
4341 * bindings/scripts/CodeGeneratorJS.pm:
4342 * dom/EventTargetNode.idl: Added.
4343
darin@apple.com8d35fe02008-09-30 01:14:26 +000043442008-09-29 Darin Adler <darin@apple.com>
4345
4346 Reviewed by Sam Weinig.
4347
4348 - https://bugs.webkit.org/show_bug.cgi?id=21214
4349 work on getting rid of ExecState
4350
4351 * bindings/js/JSDOMWindowBase.cpp:
4352 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
4353 for base class constructor.
4354
hyatt@apple.com4ba85692008-09-30 00:42:25 +000043552008-09-29 David Hyatt <hyatt@apple.com>
4356
4357 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
4358 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
4359 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
4360 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
4361
4362 Reviewed by Sam Weinig
4363
4364 * WebCore.xcodeproj/project.pbxproj:
4365 * page/Chrome.h:
4366 * platform/HostWindow.h: Added.
4367 (WebCore::HostWindow::HostWindow):
4368 (WebCore::HostWindow::~HostWindow):
4369
kdecker@apple.com0a129d72008-09-30 00:17:15 +000043702008-09-29 Kevin Decker <kdecker@apple.com>
4371
4372 Reviewed by Anders Carlsson.
4373
4374 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
4375 2000.
4376
mitz@apple.comd58d8382008-09-29 23:42:38 +000043772008-09-29 Dan Bernstein <mitz@apple.com>
4378
4379 Reviewed by Adam Roben.
4380
4381 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
4382
4383 * rendering/RenderThemeWin.cpp:
4384 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
4385 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
4386 unloaded, to avoid calling uxtheme.dll functions after that library has
4387 been unloaded.
4388 * rendering/RenderThemeWin.h:
4389
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +000043902008-09-29 Chris Fleizach <cfleizach@apple.com>
4391
4392 Reviewed by John Sullivan
4393
4394 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
4395
4396 Sends AXLoadComplete only when the top level web area is finished loading
4397
4398 * dom/Document.cpp:
4399 (WebCore::Document::implicitClose):
4400
timothy@apple.com96fff242008-09-29 22:34:10 +000044012008-09-29 Timothy Hatcher <timothy@apple.com>
4402
4403 Makes the node highlight always show up when hovering a node in
4404 the Web Inspector now that the highlight does not scroll to reveal
4405 the node. Also adds a hover effect in the inspector when hovering
4406 causes a highlight in the page. This ties the user hovering action
4407 to the highlight so it is clear what causes the highlight to appear.
4408
4409 Also the highlight now temporarily shows up for 2 seconds after
4410 selecting a node in the DOM tree. So arrowing around in the tree
4411 will show the node on the page, providing feedback to the user.
4412
4413 Plus fixes an issue where quickly moving away from hovering
4414 a node would keep showing the page highlight. This was happening
4415 in breadcrumbs and the DOM tree.
4416
4417 https://bugs.webkit.org/show_bug.cgi?id=21220
4418
4419 Reviewed by Kevin McCullough.
4420
4421 * page/inspector/Console.js:
4422 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
4423 hovering DOM nodes in the console.
4424 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
4425 (WebInspector.Console.prototype._formatnode): Use the new event
4426 listeners and add a class name to the anchor element.
4427 * page/inspector/ElementsPanel.js:
4428 (WebInspector.ElementsPanel): Add new event listeners to the
4429 crumbs element to do the node hovering highlight.
4430 (WebInspector.ElementsPanel.prototype.hide):
4431 (WebInspector.ElementsPanel.prototype.reset):
4432 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
4433 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
4434 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
4435 * page/inspector/ElementsTreeOutline.js:
4436 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
4437 Show the node hishlight for 2 seconds then restore the highlight
4438 to the current hovered node.
4439 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
4440 hovered node and set the hovered state on the tree element.
4441 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
4442 hovered node to null and removed the hovered state from the previous
4443 hovered tree element.
4444 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
4445 the hovered class to the list item.
4446 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
4447 * page/inspector/inspector.css:
4448 * page/inspector/inspector.js:
4449 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
4450 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
4451 causes the highlight to change sooner if there is one already showing
4452 and appear later if there isn't one showing. This is like tooltips,
4453 hovering a node for 500ms will cause highlight then mousing between nodes
4454 will keep the highlight and change to the new node.
4455 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
4456 always reset the timeout so continuous mousing does not keep flasshing
4457 the highlight on the screen.
4458 (WebInspector._updateHoverHighlight): Removed the alt key check and added
4459 the showingDOMNodeHighlight property.
4460 (WebInspector.documentKeyDown): Removed the alt key check.
4461 (WebInspector.documentKeyUp): Ditto.
4462 (WebInspector.reset): Clear the hoveredDOMNode.
4463
simon.fraser@apple.com8a565532008-09-29 22:04:38 +000044642008-09-29 Simon Fraser <simon.fraser@apple.com>
4465
4466 Reviewed by Anders Carlsson
4467
4468 Fix RenderStyle leak in animation code, and assert that
4469 keyframe resolution in CSSStyleSelector is not going to clobber
4470 m_style.
4471
4472 * css/CSSStyleSelector.cpp:
4473 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
4474 * page/animation/KeyframeAnimation.cpp:
4475 (WebCore::KeyframeAnimation::~KeyframeAnimation):
4476
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000044772008-09-29 Chris Marrin <cmarrin@apple.com>
4478
simon.fraser@apple.come979de02008-09-29 21:31:26 +00004479 Reviewed by Dave Hyatt
4480
4481 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
4482 Rewrite keyframe resolution to be like styleForElement()
4483
4484 Test: animations/lineheight-animation.html
4485
4486 * css/CSSStyleSelector.cpp:
4487 (WebCore::CSSStyleSelector::addKeyframeStyle):
4488 (WebCore::CSSStyleSelector::~CSSStyleSelector):
4489 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
4490 (WebCore::CSSRuleSet::addRulesFromSheet):
4491 (WebCore::CSSStyleSelector::mapAnimationName):
4492 * css/CSSStyleSelector.h:
4493 * page/animation/CompositeAnimation.cpp:
4494 (WebCore::CompositeAnimation::updateKeyframeAnimations):
4495 * page/animation/KeyframeAnimation.cpp:
4496 (WebCore::KeyframeAnimation::KeyframeAnimation):
4497 (WebCore::KeyframeAnimation::animate):
4498 (WebCore::KeyframeAnimation::hasAnimationForProperty):
4499 (WebCore::KeyframeAnimation::sendAnimationEvent):
4500 (WebCore::KeyframeAnimation::overrideAnimations):
4501 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
4502 (WebCore::KeyframeAnimation::affectsProperty):
4503 (WebCore::KeyframeAnimation::validateTransformFunctionList):
4504 * page/animation/KeyframeAnimation.h:
4505 * rendering/style/Animation.cpp:
4506 (WebCore::Animation::animationsMatch):
4507 * rendering/style/Animation.h:
4508 * rendering/style/KeyframeList.cpp:
4509 (WebCore::KeyframeList::~KeyframeList):
4510 (WebCore::KeyframeList::clear):
4511 (WebCore::KeyframeList::insert):
4512 * rendering/style/KeyframeList.h:
4513 (WebCore::KeyframeValue::KeyframeValue):
4514 (WebCore::KeyframeList::KeyframeList):
4515 (WebCore::KeyframeList::operator!=):
4516 (WebCore::KeyframeList::animationName):
4517 (WebCore::KeyframeList::addProperty):
4518 (WebCore::KeyframeList::containsProperty):
4519 (WebCore::KeyframeList::beginProperties):
4520 (WebCore::KeyframeList::endProperties):
4521 (WebCore::KeyframeList::isEmpty):
4522 (WebCore::KeyframeList::size):
4523 (WebCore::KeyframeList::beginKeyframes):
4524 (WebCore::KeyframeList::endKeyframes):
4525 * rendering/style/RenderStyle.h:
4526 * rendering/style/StyleRareNonInheritedData.cpp:
4527 * rendering/style/StyleRareNonInheritedData.h:
4528
45292008-09-29 Chris Marrin <cmarrin@apple.com>
4530
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +00004531 Reviewed by Eric Seidel
4532
simon.fraser@apple.comff913022008-09-29 21:24:52 +00004533 Clean up fix in PropertyWrapperGetter::equals
4534 https://bugs.webkit.org/show_bug.cgi?id=21011
4535
4536 Test: transitions/override-transition-crash.html
4537
4538 * page/animation/AnimationBase.cpp:
4539 (WebCore::PropertyWrapperGetter::equals):
4540 * page/animation/CompositeAnimation.cpp:
4541 (WebCore::CompositeAnimation::updateTransitions):
4542
45432008-09-29 Chris Marrin <cmarrin@apple.com>
4544
4545 Reviewed by Eric Seidel
4546
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +00004547 https://bugs.webkit.org/show_bug.cgi?id=21001
4548 Starting transition after animation, when animation
4549 is finished, transition is wrong.
4550
4551 Test: animations/transition-and-animation-2.html
4552
4553 * page/animation/AnimationBase.h:
4554 * page/animation/CompositeAnimation.cpp:
4555 (WebCore::CompositeAnimation::updateTransitions):
4556 (WebCore::CompositeAnimation::updateKeyframeAnimations):
4557 (WebCore::CompositeAnimation::resetTransitions):
4558 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
4559 * page/animation/ImplicitAnimation.cpp:
4560 (WebCore::ImplicitAnimation::ImplicitAnimation):
4561 (WebCore::ImplicitAnimation::~ImplicitAnimation):
4562 (WebCore::ImplicitAnimation::animate):
4563 (WebCore::ImplicitAnimation::reset):
4564 * page/animation/ImplicitAnimation.h:
4565
45662008-09-29 Chris Marrin <cmarrin@apple.com>
4567
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +00004568 Reviewed by Sam Weinig
4569
4570 https://bugs.webkit.org/show_bug.cgi?id=20921
4571 -webkit-animation-timing-function: inside of keyframes is ignored
4572
4573 Test: animations/keyframe-timing-functions.html
4574
4575 * page/animation/AnimationBase.cpp:
4576 (WebCore::AnimationBase::progress):
4577 * page/animation/AnimationBase.h:
4578 * page/animation/ImplicitAnimation.cpp:
4579 (WebCore::ImplicitAnimation::animate):
4580 * page/animation/KeyframeAnimation.cpp:
4581 (WebCore::KeyframeAnimation::animate):
4582
mitz@apple.com2449a052008-09-29 20:57:33 +000045832008-09-29 Dan Bernstein <mitz@apple.com>
4584
mitz@apple.com9a3e3c82008-09-29 21:04:54 +00004585 - Windows build fix
4586
4587 * platform/ScrollView.cpp:
4588 (WebCore::ScrollView::platformScroll):
4589
45902008-09-29 Dan Bernstein <mitz@apple.com>
4591
mitz@apple.com2449a052008-09-29 20:57:33 +00004592 - another attempt at a Windows build fix
4593
4594 * platform/ScrollView.cpp:
4595 (WebCore::platformScroll):
4596
45972008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +00004598
4599 - Windows build fix
4600
4601 * platform/ScrollView.cpp:
4602 (WebCore::ScrollView::platformSetScrollPosition):
4603
hyatt@apple.com90abd562008-09-29 19:46:37 +000046042008-09-29 David Hyatt <hyatt@apple.com>
4605
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +00004606 https://bugs.webkit.org/show_bug.cgi?id=21218
4607
4608 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
4609 It's silly that the code was this fragile, but for now just put the check back in.
4610
4611 Reviewed by Dan Bernstein
4612
4613 * platform/ScrollView.cpp:
4614 (WebCore::ScrollView::setScrollbarModes):
4615
46162008-09-29 David Hyatt <hyatt@apple.com>
4617
hyatt@apple.com90abd562008-09-29 19:46:37 +00004618 https://bugs.webkit.org/show_bug.cgi?id=21216
4619
4620 Make setScrollPosition and scroll() cross-platform.
4621
4622 Reviewed by Anders
4623
4624 * platform/ScrollView.cpp:
4625 (WebCore::ScrollView::setScrollPosition):
4626 (WebCore::ScrollView::scroll):
4627 * platform/ScrollView.h:
4628 * platform/gtk/ScrollViewGtk.cpp:
4629 * platform/mac/ScrollViewMac.mm:
4630 (WebCore::ScrollView::platformSetScrollPosition):
4631 (WebCore::ScrollView::platformScroll):
4632 * platform/qt/ScrollViewQt.cpp:
4633 * platform/win/ScrollViewWin.cpp:
4634 * platform/wx/ScrollViewWx.cpp:
4635 (WebCore::ScrollView::platformSetScrollPosition):
4636 (WebCore::ScrollView::platformScroll):
4637
kmccullough@apple.comed371682008-09-29 19:09:44 +000046382008-09-29 Kevin McCullough <kmccullough@apple.com>
4639
4640 Reviewed by Oliver.
4641
4642 Bug 21139: Profiler log message is wrong
4643 - Because _format was called twice the number in the log was incremented
4644 too many times, but we were passing it around in the link the whole time
4645
4646 * page/inspector/ProfilesPanel.js:
4647 * page/inspector/inspector.js:
4648
weinig@apple.com7f3f95f2008-09-29 19:09:02 +000046492008-09-29 Sam Weinig <sam@webkit.org>
4650
4651 Reviewed by Cameron Zwarich.
4652
4653 Autogenerate EventListeners, addEventListener and removeEventListener
4654 for JSDOMWindow.
4655
4656 * bindings/js/JSDOMWindowBase.cpp:
4657 * bindings/js/JSDOMWindowBase.h:
4658 * bindings/js/JSDOMWindowCustom.cpp:
4659 (WebCore::JSDOMWindow::onwebkitanimationstart):
4660 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
4661 (WebCore::JSDOMWindow::onwebkitanimationiteration):
4662 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
4663 (WebCore::JSDOMWindow::onwebkitanimationend):
4664 (WebCore::JSDOMWindow::setOnwebkitanimationend):
4665 (WebCore::JSDOMWindow::onwebkittransitionend):
4666 (WebCore::JSDOMWindow::setOnwebkittransitionend):
4667 (WebCore::JSDOMWindow::addEventListener):
4668 (WebCore::JSDOMWindow::removeEventListener):
4669 (WebCore::JSDOMWindow::setListener):
4670 (WebCore::JSDOMWindow::getListener):
4671 * bindings/scripts/CodeGeneratorJS.pm:
4672 * page/DOMWindow.idl:
4673
hausmann@webkit.orgf6964472008-09-29 12:47:08 +000046742008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
4675
4676 Reviewed by Simon.
4677
4678 Changed copyright from Trolltech ASA to Nokia.
4679
4680 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
4681
4682 * bindings/js/JSMimeTypeArrayCustom.cpp:
4683 * bindings/js/JSNavigatorCustom.cpp:
4684 * bindings/js/JSPluginArrayCustom.cpp:
4685 * bindings/js/JSPluginCustom.cpp:
4686 * bindings/js/ScriptControllerMac.mm:
4687 * bindings/js/ScriptControllerQt.cpp:
4688 * bridge/qt/qt_class.cpp:
4689 * bridge/qt/qt_class.h:
4690 * bridge/qt/qt_instance.cpp:
4691 * bridge/qt/qt_instance.h:
4692 * bridge/qt/qt_runtime.cpp:
4693 * bridge/qt/qt_runtime.h:
4694 * bridge/testqtbindings.cpp:
4695 * css/makegrammar.pl:
4696 * css/makeprop.pl:
4697 * css/makevalues.pl:
4698 * dom/Node.cpp:
4699 * dom/TagNodeList.cpp:
4700 * dom/TagNodeList.h:
4701 * dom/XMLTokenizer.cpp:
4702 * dom/XMLTokenizer.h:
4703 * dom/XMLTokenizerLibxml2.cpp:
4704 * dom/XMLTokenizerQt.cpp:
4705 * editing/Editor.cpp:
4706 * editing/EditorCommand.cpp:
4707 * html/CanvasRenderingContext2D.cpp:
4708 * html/CanvasStyle.cpp:
4709 * html/HTMLAppletElement.cpp:
4710 * html/HTMLEmbedElement.cpp:
4711 * html/HTMLObjectElement.cpp:
4712 * loader/FrameLoader.cpp:
4713 * page/Chrome.cpp:
4714 * page/EditorClient.h:
4715 * page/Frame.cpp:
4716 * page/Frame.h:
4717 * page/FramePrivate.h:
4718 * page/Navigator.cpp:
4719 * page/Navigator.h:
4720 * page/Navigator.idl:
4721 * page/mac/FrameMac.mm:
4722 * page/qt/EventHandlerQt.cpp:
4723 * platform/graphics/qt/FontCacheQt.cpp:
4724 * platform/graphics/qt/FontCustomPlatformData.cpp:
4725 * platform/graphics/qt/FontCustomPlatformData.h:
4726 * platform/graphics/qt/FontPlatformData.h:
4727 * platform/graphics/qt/FontQt.cpp:
4728 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
4729 * platform/graphics/qt/GraphicsContextQt.cpp:
4730 * platform/graphics/qt/ImageDecoderQt.cpp:
4731 * platform/graphics/qt/ImageDecoderQt.h:
4732 * platform/graphics/qt/ImageSourceQt.cpp:
4733 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
4734 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
4735 * platform/graphics/qt/SimpleFontDataQt.cpp:
4736 * platform/gtk/MIMETypeRegistryGtk.cpp:
4737 * platform/mac/MIMETypeRegistryMac.mm:
4738 * platform/network/qt/QNetworkReplyHandler.cpp:
4739 * platform/network/qt/QNetworkReplyHandler.h:
4740 * platform/network/qt/ResourceHandleQt.cpp:
4741 * platform/network/qt/ResourceRequestQt.cpp:
4742 * platform/qt/ClipboardQt.cpp:
4743 * platform/qt/EventLoopQt.cpp:
4744 * platform/qt/KURLQt.cpp:
4745 * platform/qt/LoggingQt.cpp:
4746 * platform/qt/MIMETypeRegistryQt.cpp:
4747 * platform/qt/PasteboardQt.cpp:
4748 * platform/qt/PlatformScreenQt.cpp:
4749 * platform/qt/PopupMenuQt.cpp:
4750 * platform/qt/QWebPopup.cpp:
4751 * platform/qt/QWebPopup.h:
4752 * platform/qt/RenderThemeQt.cpp:
4753 * platform/qt/ScrollbarQt.cpp:
4754 * platform/qt/ScrollbarThemeQt.cpp:
4755 * platform/qt/WheelEventQt.cpp:
4756 * platform/qt/html4-adjustments-qt.css:
4757 * platform/wx/MimeTypeRegistryWx.cpp:
4758 * plugins/MimeType.cpp:
4759 * plugins/MimeType.h:
4760 * plugins/MimeType.idl:
4761 * plugins/MimeTypeArray.cpp:
4762 * plugins/MimeTypeArray.h:
4763 * plugins/MimeTypeArray.idl:
4764 * plugins/Plugin.cpp:
4765 * plugins/Plugin.h:
4766 * plugins/Plugin.idl:
4767 * plugins/PluginArray.cpp:
4768 * plugins/PluginArray.h:
4769 * plugins/PluginArray.idl:
4770 * plugins/PluginData.cpp:
4771 * plugins/PluginData.h:
4772 * plugins/gtk/PluginDataGtk.cpp:
4773 * plugins/mac/PluginDataMac.mm:
4774 * plugins/qt/PluginDataQt.cpp:
4775 * plugins/win/PluginDataWin.cpp:
4776 * rendering/RenderTableCol.cpp:
4777 * rendering/RenderTableCol.h:
4778
hausmann@webkit.org37374992008-09-29 09:03:09 +000047792008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
4780
4781 Reviewed by Simon
4782
4783 Fix compilation with gcc 4.3
4784
4785 gcc 4.3 is stricter and ctype.h isn't getting included
4786 automatically here by dependencies. So do it directly.
4787
4788 * platform/qt/PlatformKeyboardEventQt.cpp:
4789
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +000047902008-09-29 Morten Sørvig <msorvig@trolltech.com>
4791
4792 Reviewed by Simon.
4793
4794 Fix compilation with Qt/Mac without plugins.
4795
4796 * platform/qt/TemporaryLinkStubs.cpp:
4797
mrowe@apple.com2c478db2008-09-29 08:20:37 +000047982008-09-29 Mark Rowe <mrowe@apple.com>
4799
4800 Reviewed by Sam Weinig.
4801
4802 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
4803 In the few places that we call .upper() in WebCore the strings represent things like
4804 tag and attribute names, which are nearly always going to be ASCII.
4805
4806 * platform/text/StringImpl.cpp:
4807 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
4808 in to Unicode::toLower the second time.
4809 (WebCore::StringImpl::upper):
4810
mrowe@apple.com512eca02008-09-29 08:19:09 +000048112008-09-28 Mark Rowe <mrowe@apple.com>
4812
mrowe@apple.com49797322008-09-29 08:19:14 +00004813 Reviewed by Sam Weinig.
4814
4815 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
4816 rather than String::operator+=.
4817
4818 * css/CSSPrimitiveValue.cpp:
4819 (WebCore::CSSPrimitiveValue::cssText):
4820
48212008-09-28 Mark Rowe <mrowe@apple.com>
4822
mrowe@apple.com512eca02008-09-29 08:19:09 +00004823 Reviewed by Oliver Hunt.
4824
4825 Speed up computedStyle.getPropertyValue('color') by 4.5x.
4826
4827 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
4828 as it avoids many memory reallocations.
4829
4830 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
4831 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
4832 unrelated properties on an element.
4833
4834 * css/CSSPrimitiveValue.cpp:
4835 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
4836 and use appendNumber rather than the String::number in order to cut down on memory allocations.
4837 * platform/text/PlatformString.h:
4838 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
4839 into a Vector<UChar>.
4840
weinig@apple.com4df73d92008-09-29 03:41:35 +000048412008-09-28 Sam Weinig <sam@webkit.org>
4842
weinig@apple.com9af39ef2008-09-29 04:16:15 +00004843 Reviewed by Anders Carlsson.
4844
4845 Remove spurious call to lower().
4846
4847 * css/MediaQueryEvaluator.cpp:
4848 (WebCore::MediaQueryEvaluator):
4849
48502008-09-28 Sam Weinig <sam@webkit.org>
4851
weinig@apple.com4df73d92008-09-29 03:41:35 +00004852 Reviewed by Dan Bernstein.
4853
4854 Use a CaseFoldingHash instead of calling lower on family strings.
4855
4856 * css/CSSFontSelector.cpp:
4857 (WebCore::CSSFontSelector::addFontFaceRule):
4858 (WebCore::CSSFontSelector::getFontData):
4859 * css/CSSFontSelector.h:
4860
timothy@apple.com810c9892008-09-28 23:31:25 +000048612008-09-28 Timothy Hatcher <timothy@apple.com>
4862
4863 Remove the scrollIntoViewIfNeeded() call when drawing the
4864 Inspector node highlight.
4865
4866 <rdar://problem/6115804> Don't scroll when highlighting (21000)
4867 https://bugs.webkit.org/show_bug.cgi?id=21000
4868
4869 Reviewed by Dan Bernstein.
4870
4871 * page/InspectorController.cpp:
4872 (WebCore::InspectorController::drawNodeHighlight):
4873
hyatt@apple.come6ebc992008-09-28 19:58:14 +000048742008-09-28 David Hyatt <hyatt@apple.com>
4875
4876 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
4877 changed.
4878
4879 Reviewed by Dan Bernstein
4880
4881 * platform/mac/ScrollbarThemeMac.mm:
4882 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
4883
timothy@apple.com47a6d492008-09-28 19:52:30 +000048842008-09-28 Timothy Hatcher <timothy@apple.com>
4885
4886 Clear the current search results in the Inspector when
4887 the search query is less than 3 characters long. Incremental
4888 searches only occur for 3 characters or longer, but deleting
4889 under this limit would not clear the results unless the whole
4890 query was deleted.
4891
4892 https://bugs.webkit.org/show_bug.cgi?id=21196
4893
4894 Reviewed by Dan Bernstein.
4895
4896 * page/inspector/inspector.js:
4897 (WebInspector.performSearch): Check for short queries in the
4898 if statement that triggers the clear.
4899
mitz@apple.comc7980632008-09-28 19:38:50 +000049002008-09-28 Dan Bernstein <mitz@apple.com>
4901
4902 Reviewed by Dave Hyatt.
4903
4904 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
4905
4906 * platform/graphics/win/FontCustomPlatformData.cpp:
4907 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
4908 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +00004909 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +00004910 m_overlayLength bytes starting at m_overlayDst with the same number of
4911 bytes from m_overlaySrc.
4912 (WebCore::createFontCustomPlatformData): Changed to get overlay
4913 parameters from getEOTHeader.
4914 * platform/graphics/win/GetEOTHeader.cpp:
4915 (WebCore::getEOTHeader): Added code to specify overlaying of the
4916 family name with the prefix of the full name if they differ, because
4917 that such a difference causes TTLoadEmbeddedFont to fail.
4918 * platform/graphics/win/GetEOTHeader.h:
4919
ap@webkit.orgdf67f132008-09-28 13:23:51 +000049202008-09-28 Alexey Proskuryakov <ap@webkit.org>
4921
4922 Reviewed by Eric Seidel.
4923
4924 https://bugs.webkit.org/show_bug.cgi?id=20366
4925 Reproducible test failure for editing/undo/undo-iframe-location-change.html
4926
4927 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
4928
darin@apple.com80c76ce2008-09-28 09:35:06 +000049292008-09-28 Darin Adler <darin@apple.com>
4930
4931 Reviewed by Sam Weinig (except for a few comment and header tweaks).
4932
4933 - https://bugs.webkit.org/show_bug.cgi?id=21158
4934 reduce use of virtual functions in Node for speed
4935
4936 Speeds up Dromaeo a bit less than 1%.
4937
4938 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
4939 Node.h now that some inlines are in there.
4940
4941 * dom/Attr.h: Override both the virtual and non-virtual name functions.
4942
4943 * dom/ChildNodeList.cpp:
4944 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
4945 * dom/ChildNodeList.h: Ditto.
4946 * dom/ClassNodeList.cpp:
4947 (WebCore::ClassNodeList::nodeMatches): Ditto.
4948 * dom/ClassNodeList.h: Ditto.
4949
4950 * dom/Document.h: Put the Node::isDocumentNode() function's inline
4951 definition here where it can see the Document class definition.
4952
4953 * dom/DynamicNodeList.cpp:
4954 (WebCore::DynamicNodeList::length): Changed to pass an Element.
4955 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
4956 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
4957 (WebCore::DynamicNodeList::itemWithName): Ditto.
4958 * dom/DynamicNodeList.h: Ditto.
4959
4960 * dom/Element.cpp: Removed virtualHasTagName.
4961 * dom/Element.h: Made localName, prefix, namespaceURI, and
4962 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
4963 virtualNamespaceURI, and removed virtualHasTagName. Put the
4964 Node::hasTagName, Node::hasAttributes, and Node::attributes
4965 functions' inline definitions here where they can see the Element
4966 class definition.
4967
4968 * dom/NameNodeList.cpp:
4969 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
4970 * dom/NameNodeList.h: Ditto.
4971
4972 * dom/Node.cpp:
4973 (WebCore::Node::virtualPrefix): Renamed from prefix.
4974 (WebCore::Node::virtualLocalName): Renamed from localName.
4975 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
4976 (WebCore::Node::styleForRenderer): Handle the Element case here.
4977
4978 * dom/Node.h: Removed definition of hasTagName that calls virtual,
4979 since we now have a non-virtual version. Made hasAttributes,
4980 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
4981 and styleForRenderer non-virtual. Added virtualPrefix,
4982 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
4983 and setMalformed, which are used only on HTMLFormElement objects.
4984
4985 * dom/TagNodeList.cpp:
4986 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
4987 * dom/TagNodeList.h: Ditto.
4988
4989 * html/HTMLAnchorElement.cpp: Added a comment.
4990 * html/HTMLFormControlElement.cpp: Ditto.
4991
4992 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
4993 function. Marked tabIndex function virtual explicitly for clarity.
4994
4995 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
4996 function. Marked isFocusable function virtual explicitly for clarity.
4997
4998 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
4999 clarity.
5000 * html/HTMLFormControlElement.h: Ditto.
5001
5002 * html/HTMLFormElement.h: Made isMalformed non-virtual.
5003
5004 * html/HTMLParser.cpp:
5005 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
5006 pointer to call localName since that one does not need to call a virtual
5007 function.
5008
5009 * rendering/RenderBlock.cpp:
5010 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
5011 calling isMalformed. We already did a tag name check so we know it's
5012 an HTMLFormELement.
5013
5014 * xml/XPathUtil.cpp:
5015 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
5016 to nodeType(), since it's a virtual function.
5017
hyatt@apple.com2225aef2008-09-28 08:52:26 +000050182008-09-28 David Hyatt <hyatt@apple.com>
5019
5020 Make frameRectsChanged() cross-platform on ScrollView.
5021
5022 Reviewed by Oliver Hunt
5023
5024 * platform/ScrollView.cpp:
5025 (WebCore::ScrollView::frameRectsChanged):
5026 * platform/ScrollView.h:
5027 * platform/gtk/ScrollViewGtk.cpp:
5028 * platform/qt/ScrollViewQt.cpp:
5029 * platform/win/ScrollViewWin.cpp:
5030 * platform/wx/ScrollViewWx.cpp:
5031
oliver@apple.combec35402008-09-28 08:36:39 +000050322008-09-28 Oliver Hunt <oliver@apple.com>
5033
5034 Reviewed by Maciej Stachowiak.
5035
5036 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
5037 <https://bugs.webkit.org/show_bug.cgi?id=21141>
5038
5039 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
5040 were not initialising their StructureID's to indicate that the wrapper
5041 overrides hasInstance, etc. The solution is simply to use the createStructureID
5042 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
5043
5044 * bindings/js/JSInspectedObjectWrapper.cpp:
5045 (WebCore::JSInspectedObjectWrapper::wrap):
5046
hyatt@apple.comaede3de2008-09-28 08:21:09 +000050472008-09-28 David Hyatt <hyatt@apple.com>
5048
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +00005049 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
5050 terms of lines.
5051
5052 Reviewed by Oliver Hunt
5053
5054 * dom/EventTargetNode.cpp:
5055 (WebCore::EventTargetNode::dispatchWheelEvent):
5056
50572008-09-28 David Hyatt <hyatt@apple.com>
5058
hyatt@apple.comaede3de2008-09-28 08:21:09 +00005059 https://bugs.webkit.org/show_bug.cgi?id=21191
5060
5061 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
5062 on ScrollView to be cross-platform.
5063
5064 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
5065 events are now pixel wheel events.
5066
5067 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
5068 (1) Page scrolling has been corrected to be properly detected (on Windows
5069 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
5070 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
5071 you could page scroll horizontally.
5072 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
5073 This caused the scroll amount for page scrolling to be way too large on layers.
5074
5075 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
5076
5077 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
5078 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
5079
5080 Reviewed by Oliver Hunt
5081
5082 * editing/EditorCommand.cpp:
5083 (WebCore::verticalScrollDistance):
5084 * page/EventHandler.cpp:
5085 (WebCore::scrollAndAcceptEvent):
5086 (WebCore::EventHandler::handleWheelEvent):
5087 * platform/PlatformWheelEvent.h:
5088 (WebCore::):
5089 (WebCore::PlatformWheelEvent::pos):
5090 (WebCore::PlatformWheelEvent::globalPos):
5091 (WebCore::PlatformWheelEvent::deltaX):
5092 (WebCore::PlatformWheelEvent::deltaY):
5093 (WebCore::PlatformWheelEvent::granularity):
5094 (WebCore::PlatformWheelEvent::x):
5095 (WebCore::PlatformWheelEvent::globalX):
5096 (WebCore::PlatformWheelEvent::ignore):
5097 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
5098 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
5099 * platform/ScrollView.cpp:
5100 (WebCore::ScrollView::wheelEvent):
5101 * platform/Scrollbar.h:
5102 * platform/gtk/ScrollViewGtk.cpp:
5103 (WebCore::ScrollView::updateScrollbars):
5104 * platform/gtk/WheelEventGtk.cpp:
5105 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
5106 * platform/mac/ScrollViewMac.mm:
5107 * platform/mac/WheelEventMac.mm:
5108 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
5109 * platform/qt/ScrollViewQt.cpp:
5110 (WebCore::ScrollView::updateScrollbars):
5111 * platform/qt/WheelEventQt.cpp:
5112 * platform/win/ScrollViewWin.cpp:
5113 (WebCore::ScrollView::updateScrollbars):
5114 * platform/win/WheelEventWin.cpp:
5115 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
5116 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
5117 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
5118 * platform/wx/ScrollViewWx.cpp:
5119 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
5120 (WebCore::ScrollView::wheelEvent):
5121 * rendering/RenderLayer.cpp:
5122 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
5123
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +000051242008-09-27 Eric Carlson <eric.carlson@apple.com>
5125
5126 Reviewed by Sam Weinig.
5127
5128 fix https://bugs.webkit.org/show_bug.cgi?id=20994
5129 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
5130
5131 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
5132 all unsigned media attributes from string with toUInt() instead of toInt().
5133
5134 * html/HTMLMediaElement.cpp:
5135 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
5136
5137 * html/HTMLVideoElement.cpp:
5138 (WebCore::HTMLVideoElement::videoWidth):
5139 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
5140 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
5141 unsigned value.
5142 (WebCore::HTMLVideoElement::height): Ditto.
5143 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
5144 (WebCore::HTMLVideoElement::setHeight): Ditto.
5145
5146 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
5147
5148 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
5149
timothy@apple.coma8215632008-09-28 04:40:53 +000051502008-09-27 Timothy Hatcher <timothy@apple.com>
5151
timothy@apple.combe91da22008-09-28 04:40:58 +00005152 Fixes an exception when typing a command in the Console.
5153
5154 Reviewed by Oliver Hunt.
5155
5156 * page/inspector/Console.js:
5157 (WebInspector.Console.prototype.addMessage): Null check
5158 this.previosMessage.
5159
51602008-09-27 Timothy Hatcher <timothy@apple.com>
5161
timothy@apple.coma8215632008-09-28 04:40:53 +00005162 Fixes a bug where the Profiles panel sidebar would be empty
5163 after closing and reopening the Web Inspector.
5164
5165 https://bugs.webkit.org/show_bug.cgi?id=21179
5166
5167 Reviewed by Sam Weinig.
5168
5169 * page/inspector/ProfilesPanel.js:
5170 (WebInspector.ProfilesPanel.prototype.reset): Don't call
5171 populateInterface, it is called automatically.
5172 (WebInspector.ProfilesPanel.prototype._populateProfiles):
5173 Return early if the sidebar is already populated.
5174
hyatt@apple.com81664322008-09-28 04:38:21 +000051752008-09-27 Dave Hyatt <hyatt@apple.com>
5176
5177 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
5178 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
5179 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
5180 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
5181
5182 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
5183 (which should never have landed in the first place).
5184
5185 Reviewed by Tim Hatcher, Sam Weinig
5186
5187 * platform/win/ScrollViewWin.cpp:
5188 (WebCore::adjustDeltaForPageScrollMode):
5189 (WebCore::ScrollView::updateScrollbars):
5190 (WebCore::ScrollView::wheelEvent):
5191
hyatt@apple.com880cbb12008-09-28 03:51:41 +000051922008-09-27 David Hyatt <hyatt@apple.com>
5193
5194 Make the scrollbarUnderMouse method cross-platform.
5195
5196 Reviewed by Sam Weinig
5197
5198 * platform/ScrollView.cpp:
5199 (WebCore::ScrollView::scrollbarUnderMouse):
5200 * platform/gtk/ScrollViewGtk.cpp:
5201 * platform/mac/ScrollViewMac.mm:
5202 * platform/qt/ScrollViewQt.cpp:
5203 * platform/win/ScrollViewWin.cpp:
5204 * platform/wx/ScrollViewWx.cpp:
5205
zecke@webkit.org7bf12c62008-09-28 01:50:42 +000052062008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
5207
5208 Gtk+ build fix.
5209
5210 * platform/gtk/ScrollViewGtk.cpp:
5211 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5212
zecke@webkit.org202af282008-09-28 01:49:45 +000052132008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
5214
5215 Reviewed by Holger Freyther.
5216
5217 https://bugs.webkit.org/show_bug.cgi?id=20287
5218 [Gtk] disable plugins for gtk/directfb target
5219
5220 Introduce WTF_PLATFORM_X11 for X11 builds.
5221 Also use target-specific packages when building the port
5222
5223 * platform/gtk/PlatformScreenGtk.cpp:
5224 * plugins/gtk/PluginViewGtk.cpp:
5225 (WebCore::PluginView::updatePluginWidget):
5226 (WebCore::PluginView::getValueStatic):
5227 (WebCore::PluginView::getValue):
5228 (WebCore::PluginView::init):
5229
hyatt@apple.come6f04e52008-09-28 01:07:05 +000052302008-09-27 David Hyatt <hyatt@apple.com>
5231
5232 https://bugs.webkit.org/show_bug.cgi?id=21188
5233
5234 Make scrollbar suppression and resizer avoidance cross-platform.
5235
5236 Reviewed by Anders
5237
5238 * loader/FrameLoader.cpp:
5239 (WebCore::FrameLoader::transitionToCommitted):
5240 * page/FrameView.cpp:
5241 (WebCore::FrameView::resetScrollbars):
5242 (WebCore::FrameView::clear):
5243 (WebCore::FrameView::layout):
5244 (WebCore::FrameView::restoreScrollbar):
5245 (WebCore::FrameView::windowResizerRect):
5246 * page/FrameView.h:
5247 * platform/ScrollView.cpp:
5248 (WebCore::ScrollView::init):
5249 (WebCore::ScrollView::resizerOverlapsContent):
5250 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
5251 (WebCore::ScrollView::setParent):
5252 (WebCore::ScrollView::setScrollbarsSuppressed):
5253 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
5254 * platform/ScrollView.h:
5255 (WebCore::ScrollView::scrollbarsSuppressed):
5256 (WebCore::ScrollView::windowResizerRect):
5257 * platform/Scrollbar.cpp:
5258 (WebCore::Scrollbar::setFrameRect):
5259 (WebCore::Scrollbar::setParent):
5260 * platform/gtk/ScrollViewGtk.cpp:
5261 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5262 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
5263 (WebCore::ScrollView::updateScrollbars):
5264 (WebCore::ScrollView::paint):
5265 * platform/mac/ScrollViewMac.mm:
5266 (WebCore::ScrollView::ScrollView):
5267 (WebCore::ScrollView::~ScrollView):
5268 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
5269 (WebCore::ScrollView::setScrollPosition):
5270 * platform/qt/ScrollViewQt.cpp:
5271 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5272 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5273 (WebCore::ScrollView::frameRectsChanged):
5274 (WebCore::ScrollView::updateScrollbars):
5275 (WebCore::ScrollView::paint):
5276 * platform/win/ScrollViewWin.cpp:
5277 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5278 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5279 (WebCore::ScrollView::updateScrollbars):
5280 (WebCore::ScrollView::paint):
5281 * platform/wx/ScrollViewWx.cpp:
5282 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5283
zecke@webkit.org0034c712008-09-27 23:46:50 +000052842008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
5285
5286 Rubber-stamped by Anders Carlsson.
5287
5288 Compile fix.
5289
5290 * plugins/PluginView.cpp:
5291 (WebCore::PluginView::load):
5292
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +000052932008-09-27 Mark Rowe <mrowe@apple.com>
5294
5295 Rubber-stamped by Sam Weinig.
5296
5297 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
5298 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
5299
5300 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
5301
5302 * loader/CachedResource.cpp:
5303 (WebCore::CachedResource::~CachedResource):
5304
zecke@webkit.org47132852008-09-27 22:45:21 +000053052008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
5306
5307 Reviewed by Simon Hausmann.
5308
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +00005309 [qt] Use QImageReader to figure out which image formats are supported
5310 - Qt can have many different plugins for different image formats. Instead
5311 of checking only for a few in WebCore use Qt to determine if this data
5312 can be treated as an image.
5313
5314 * platform/graphics/qt/ImageSourceQt.cpp:
5315 (WebCore::canHandleImage):
5316 (WebCore::createDecoder):
5317
53182008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
5319
5320
zecke@webkit.org47132852008-09-27 22:45:21 +00005321 [qt] Clean the pattern code
5322 - Use save/restore on the painter after manipulating the
5323 pen/brush
5324 - Make the context and object null checking consistent. CG is using
5325 the object unconditionally so the Qt webkit platform can do the
5326 same.
5327 - Move code below the early exit. Only use the m_ownerElement before
5328 the early exit as the CG code is doing it.
5329
5330 * svg/graphics/SVGPaintServerPattern.h:
5331 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
5332 (WebCore::SVGPaintServerPattern::setup):
5333 (WebCore::SVGPaintServerPattern::teardown):
5334
timothy@apple.com345f1af2008-09-27 22:18:35 +000053352008-09-27 Keishi Hattori <casey.hattori@gmail.com>
5336
5337 Added support for console.trace.
5338
5339 https://bugs.webkit.org/show_bug.cgi?id=19157
5340
5341 Reviewed by Kevin McCullough and Tim Hatcher.
5342
5343 * bindings/js/JSConsoleCustom.cpp:
5344 (WebCore::JSConsole::trace):
5345 * page/Console.cpp:
5346 (WebCore::Console::trace): Calls Machine::retrieveCaller to
5347 get a stack trace.
5348 * page/Console.h:
5349 (WebCore::): Added TraceMessageLevel.
5350 * page/Console.idl: Added console.trace.
5351 * page/inspector/Console.js:
5352 (ConsoleMessage): Added case for TraceMessageLevel.
5353
andersca@apple.com6b8e0a22008-09-27 21:28:40 +000053542008-09-27 Anders Carlsson <andersca@apple.com>
5355
5356 Reviewed by Sam Weinig.
5357
5358 https://bugs.webkit.org/show_bug.cgi?id=21178
5359 <rdar://problem/6248651>
5360
5361 Check if the plug-in is allowed to load the resource. This matches Firefox.
5362
5363 Test: http/tests/plugins/local-geturl-from-remote.html
5364
5365 * plugins/PluginView.cpp:
5366 (WebCore::PluginView::load):
5367
zecke@webkit.org91ee65a2008-09-27 21:06:35 +000053682008-09-22 Dirk Schulze <vbs85@gmx.de>
5369
5370 Reviewed by Eric Seidel.
5371
5372 Added SVG pattern support to Qt.
5373
5374 [Qt] SVG patterns are missing
5375 https://bugs.webkit.org/show_bug.cgi?id=20973
5376
5377 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
5378 (WebCore::SVGPaintServerPattern::setup):
5379
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +000053802008-09-27 Keishi Hattori <casey.hattori@gmail.com>
5381
5382 Fixed a bug in the JS syntax highlighter with multiple line tokens.
5383
5384 https://bugs.webkit.org/show_bug.cgi?id=21171
5385
5386 Reviewed by Tim Hatcher.
5387
5388 * page/inspector/SourceFrame.js:
5389 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
5390
timothy@apple.com5b4b3d02008-09-27 20:18:03 +000053912008-09-27 Timothy Hatcher <timothy@apple.com>
5392
5393 Change searching in the Profiles panel to not match the
5394 Self and Total columns when there are no units. The only
5395 column that is matched for unitless number searches is
5396 now the Calls column.
5397
5398 https://bugs.webkit.org/show_bug.cgi?id=21169
5399
5400 Reviewed by Sam Weinig.
5401
5402 * page/inspector/ProfileView.js:
5403 (WebInspector.ProfileView.prototype.performSearch):
5404
hyatt@apple.com0fd13952008-09-27 19:56:56 +000054052008-09-27 David Hyatt <hyatt@apple.com>
5406
5407 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
5408
5409 Reviewed by Sam Weinig
5410
5411 * platform/ScrollView.h:
5412 * platform/Widget.h:
5413 (WebCore::Widget::boundsRect):
5414 (WebCore::Widget::invalidate):
5415 (WebCore::Widget::frameRectsChanged):
5416 * platform/gtk/ScrollViewGtk.cpp:
5417 (WebCore::ScrollViewScrollbar::frameRectsChanged):
5418 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
5419 (WebCore::ScrollView::setFrameRect):
5420 (WebCore::ScrollView::updateScrollbars):
5421 (WebCore::ScrollView::frameRectsChanged):
5422 * platform/gtk/ScrollbarGtk.cpp:
5423 (ScrollbarGtk::setFrameRect):
5424 (ScrollbarGtk::frameRectsChanged):
5425 * platform/gtk/ScrollbarGtk.h:
5426 * platform/gtk/WidgetGtk.cpp:
5427 * platform/qt/ScrollViewQt.cpp:
5428 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
5429 (WebCore::ScrollView::setFrameRect):
5430 (WebCore::ScrollView::frameRectsChanged):
5431 (WebCore::ScrollView::updateScrollbars):
5432 * platform/win/ScrollViewWin.cpp:
5433 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
5434 (WebCore::ScrollView::setFrameRect):
5435 (WebCore::ScrollView::updateScrollbars):
5436 (WebCore::ScrollView::frameRectsChanged):
5437 * plugins/PluginView.cpp:
5438 (WebCore::PluginView::frameRectsChanged):
5439 * plugins/PluginView.h:
5440
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000054412008-09-27 Simon Hausmann <hausmann@webkit.org>
5442
hausmann@webkit.orge49722f2008-09-27 19:49:01 +00005443 Refix the previous build fix to compile on non-Qt platforms, too.
5444
5445 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
5446 WebCore to generate the PrototypeTable in the WebCore namespace
5447 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
5448 table remains in the Webcore namespace
5449 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
5450
54512008-09-27 Simon Hausmann <hausmann@webkit.org>
5452
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +00005453 Fix compilation with gcc 4.3 (probably > 4.0)
5454
5455 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
5456 get/put functions inside the WebCore namespace.
5457 * bindings/js/JSEventTargetBase.cpp: Ditto.
5458 * bindings/js/JSEventTargetNode.cpp: Ditto.
5459 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
5460 * bindings/js/JSEventTargetBase.h: Forward declare
5461 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
5462 defines it in the JSC namespace.
5463 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
5464 prefix for PrototypeTable symbol.
5465
hyatt@apple.come7c12342008-09-27 07:43:38 +000054662008-09-27 David Hyatt <hyatt@apple.com>
5467
hyatt@apple.com53634ac2008-09-27 08:01:26 +00005468 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
5469
5470 Reviewed by Dan Bernstein
5471
5472 * WebCore.base.exp:
5473 * page/FrameView.cpp:
5474 (WebCore::FrameView::FrameView):
5475 (WebCore::FrameView::updateControlTints):
5476 * platform/ScrollView.h:
5477 * platform/Scrollbar.cpp:
5478 (WebCore::Scrollbar::Scrollbar):
5479 (WebCore::Scrollbar::paint):
5480 (WebCore::Scrollbar::setFrameRect):
5481 * platform/Scrollbar.h:
5482 * platform/ScrollbarThemeComposite.cpp:
5483 (WebCore::ScrollbarThemeComposite::paint):
5484 * platform/Widget.h:
5485 (WebCore::Widget::x):
5486 (WebCore::Widget::y):
5487 (WebCore::Widget::width):
5488 (WebCore::Widget::height):
5489 (WebCore::Widget::size):
5490 (WebCore::Widget::pos):
5491 (WebCore::Widget::resize):
5492 (WebCore::Widget::move):
5493 * platform/gtk/ScrollViewGtk.cpp:
5494 (WebCore::ScrollViewScrollbar::geometryChanged):
5495 (WebCore::ScrollView::update):
5496 (WebCore::ScrollView::setFrameRect):
5497 (WebCore::ScrollView::updateScrollbars):
5498 (WebCore::ScrollView::scrollbarUnderMouse):
5499 (WebCore::ScrollView::paint):
5500 * platform/gtk/ScrollbarGtk.cpp:
5501 (ScrollbarGtk::setFrameRect):
5502 (ScrollbarGtk::geometryChanged):
5503 * platform/gtk/ScrollbarGtk.h:
5504 * platform/gtk/WidgetGtk.cpp:
5505 (WebCore::Widget::frameRect):
5506 (WebCore::Widget::setFrameRect):
5507 * platform/mac/ScrollbarThemeMac.mm:
5508 (WebCore::ScrollbarThemeMac::trackRect):
5509 (WebCore::ScrollbarThemeMac::paint):
5510 * platform/mac/WidgetMac.mm:
5511 (WebCore::Widget::frameRect):
5512 (WebCore::Widget::setFrameRect):
5513 * platform/qt/ScrollViewQt.cpp:
5514 (WebCore::ScrollView::setFrameRect):
5515 (WebCore::ScrollView::updateScrollbars):
5516 (WebCore::ScrollView::scrollbarUnderMouse):
5517 (WebCore::ScrollView::paint):
5518 * platform/qt/ScrollbarThemeQt.cpp:
5519 (WebCore::styleOptionSlider):
5520 * platform/qt/WidgetQt.cpp:
5521 (WebCore::Widget::frameRect):
5522 (WebCore::Widget::setFrameRect):
5523 * platform/win/PopupMenuWin.cpp:
5524 (WebCore::PopupMenu::invalidateItem):
5525 (WebCore::PopupMenu::valueChanged):
5526 (WebCore::PopupWndProc):
5527 * platform/win/ScrollViewWin.cpp:
5528 (WebCore::ScrollView::setFrameRect):
5529 (WebCore::ScrollView::updateScrollbars):
5530 (WebCore::ScrollView::scrollbarUnderMouse):
5531 (WebCore::ScrollView::paint):
5532 * platform/win/ScrollbarThemeSafari.cpp:
5533 (WebCore::ScrollbarThemeSafari::trackRect):
5534 * platform/win/WidgetWin.cpp:
5535 (WebCore::Widget::frameRect):
5536 (WebCore::Widget::setFrameRect):
5537 * platform/wx/WidgetWx.cpp:
5538 (WebCore::Widget::frameRect):
5539 (WebCore::Widget::setFrameRect):
5540 * plugins/PluginView.cpp:
5541 (WebCore::PluginView::setFrameRect):
5542 * plugins/PluginView.h:
5543 * plugins/gtk/PluginViewGtk.cpp:
5544 (WebCore::PluginView::updatePluginWidget):
5545 (WebCore::PluginView::paint):
5546 (WebCore::PluginView::init):
5547 * plugins/qt/PluginViewQt.cpp:
5548 (WebCore::PluginView::updatePluginWidget):
5549 (WebCore::PluginView::init):
5550 * plugins/win/PluginViewWin.cpp:
5551 (WebCore::PluginView::updatePluginWidget):
5552 (WebCore::PluginView::paintMissingPluginIcon):
5553 (WebCore::PluginView::paint):
5554 (WebCore::PluginView::init):
5555 * rendering/RenderLayer.cpp:
5556 (WebCore::RenderLayer::positionOverflowControls):
5557 * rendering/RenderListBox.cpp:
5558 (WebCore::RenderListBox::paintScrollbar):
5559 * rendering/RenderPart.cpp:
5560 (WebCore::RenderPart::updateWidgetPosition):
5561 * rendering/RenderWidget.cpp:
5562 (WebCore::RenderWidget::setWidgetGeometry):
5563 (WebCore::RenderWidget::updateWidgetPosition):
5564
55652008-09-27 David Hyatt <hyatt@apple.com>
5566
hyatt@apple.come7c12342008-09-27 07:43:38 +00005567 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
5568
5569 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
5570 access an actual member variable.
5571
5572 Reviewed by Dan Bernstein
5573
5574 * page/FocusController.cpp:
5575 (WebCore::FocusController::setFocusedFrame):
5576
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +000055772008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
5578
5579 Attempt to fix QT Build. Not reviewed.
5580
5581 * WebCore.pro: add -n WebCore parameter to create_hash_table
5582
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +000055832008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
5584
5585 Reviewed by Eric Seidel.
5586
5587 http://bugs.webkit.org/show_bug.cgi?id=18905
5588 [GTK] Fix build with older pango (1.14.8)
5589
5590 * platform/graphics/gtk/FontGtk.cpp:
5591 * platform/gtk/Language.cpp:
5592 (_pango_get_lc_ctype):
5593 (pango_language_get_default):
5594
hyatt@apple.com0315e532008-09-27 06:23:58 +000055952008-09-26 David Hyatt <hyatt@apple.com>
5596
5597 https://bugs.webkit.org/show_bug.cgi?id=21168
5598
5599 Make contentsToWindow/windowToContents cross-platform.
5600
5601 Reviewed by Oliver Hunt
5602
5603 * platform/ScrollView.cpp:
5604 (WebCore::ScrollView::windowToContents):
5605 (WebCore::ScrollView::contentsToWindow):
5606 * platform/ScrollView.h:
5607 * platform/gtk/ScrollViewGtk.cpp:
5608 * platform/mac/ScrollViewMac.mm:
5609 * platform/qt/ScrollViewQt.cpp:
5610 * platform/win/ScrollViewWin.cpp:
5611 * platform/wx/ScrollViewWx.cpp:
5612
weinig@apple.com0e6acf62008-09-27 06:15:45 +000056132008-09-26 Sam Weinig <sam@webkit.org>
5614
5615 GTK build fix.
5616
5617 * GNUmakefile.am:
5618
hyatt@apple.comb37db692008-09-27 04:43:00 +000056192008-09-26 David Hyatt <hyatt@apple.com>
5620
hyatt@apple.com8d329412008-09-27 05:26:38 +00005621 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
5622 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
5623 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
5624
5625 Reviewed by Oliver Hunt
5626
5627 * page/FrameView.cpp:
5628 (WebCore::FrameView::repaintContentRectangle):
5629 * page/FrameView.h:
5630 * platform/ScrollView.h:
5631 * platform/gtk/ScrollViewGtk.cpp:
5632 (WebCore::ScrollView::isOffscreen):
5633 * platform/mac/ScrollViewMac.mm:
5634 (WebCore::ScrollView::updateContents):
5635 (WebCore::ScrollView::isOffscreen):
5636 * platform/qt/ScrollViewQt.cpp:
5637 (WebCore::ScrollView::isOffscreen):
5638 * platform/win/ScrollViewWin.cpp:
5639 (WebCore::ScrollView::isOffscreen):
5640 * platform/wx/ScrollViewWx.cpp:
5641 (WebCore::ScrollView::isOffscreen):
5642 * rendering/RenderObject.cpp:
5643 (WebCore::RenderObject::willRenderImage):
5644
56452008-09-26 David Hyatt <hyatt@apple.com>
5646
hyatt@apple.comb37db692008-09-27 04:43:00 +00005647 https://bugs.webkit.org/show_bug.cgi?id=21164
5648
5649 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
5650
5651 Reviewed by Sam Weinig
5652
5653 * WebCore.base.exp:
5654 * page/FrameView.cpp:
5655 (WebCore::FrameView::setAllowsScrolling):
5656 * page/FrameView.h:
5657 * platform/ScrollView.cpp:
5658 (WebCore::ScrollView::setAllowsScrolling):
5659 * platform/ScrollView.h:
5660 (WebCore::ScrollView::allowsScrolling):
5661 * platform/win/ScrollViewWin.cpp:
5662 (WebCore::ScrollView::wheelEvent):
5663
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +000056642008-09-26 Kevin Ollivier <kevino@theolliviers.com>
5665
5666 wx build fixes after Widget/ScrollView changes.
5667
5668 * platform/wx/PopupMenuWx.cpp:
5669 (WebCore::PopupMenu::show):
5670 * platform/wx/ScrollViewWx.cpp:
5671 (WebCore::ScrollView::platformSetContentsSize):
5672 (WebCore::ScrollView::platformSetScrollbarModes):
5673 (WebCore::ScrollView::wheelEvent):
5674 * platform/wx/TemporaryLinkStubs.cpp:
5675 * platform/wx/WidgetWx.cpp:
5676 (WebCore::Widget::containingWindow):
5677
timothy@apple.com9b486082008-09-27 02:44:05 +000056782008-09-26 Timothy Hatcher <timothy@apple.com>
5679
5680 Allow searching for paths by always performing the
5681 three search methods in the Elements panel and not
5682 assume a search with a "/" is a XPath query.
5683
5684 https://bugs.webkit.org/show_bug.cgi?id=21159
5685
5686 Reviewed by Geoff Garen.
5687
5688 * page/inspector/ElementsPanel.js:
5689 (WebInspector.ElementsPanel.prototype.performSearch):
5690
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +000056912008-09-26 Sam Weinig <sam@webkit.org>
5692
5693 Reviewed by Darin Adler.
5694
5695 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
5696 Speedup static property get/put
5697
5698 * DerivedSources.make:
5699 * GNUmakefile.am:
5700 * WebCore.pro:
5701 * WebCore.vcproj/WebCore.vcproj:
5702 * WebCore.xcodeproj/project.pbxproj:
5703 * bindings/js/JSDOMBinding.cpp:
5704 * bindings/js/JSDOMBinding.h:
5705 * bindings/js/JSDOMWindowBase.cpp:
5706 (WebCore::getDOMConstructor):
5707 (WebCore::jsDOMWindowBaseCrypto):
5708 (WebCore::jsDOMWindowBaseEvent):
5709 (WebCore::jsDOMWindowBaseImage):
5710 (WebCore::jsDOMWindowBaseMessageChannel):
5711 (WebCore::jsDOMWindowBaseOption):
5712 (WebCore::jsDOMWindowBaseXMLHttpRequest):
5713 (WebCore::jsDOMWindowBaseAudio):
5714 (WebCore::jsDOMWindowBaseXSLTProcessor):
5715 (WebCore::jsDOMWindowBaseOnabort):
5716 (WebCore::jsDOMWindowBaseOnblur):
5717 (WebCore::jsDOMWindowBaseOnchange):
5718 (WebCore::jsDOMWindowBaseOnclick):
5719 (WebCore::jsDOMWindowBaseOndblclick):
5720 (WebCore::jsDOMWindowBaseOnerror):
5721 (WebCore::jsDOMWindowBaseOnfocus):
5722 (WebCore::jsDOMWindowBaseOnkeydown):
5723 (WebCore::jsDOMWindowBaseOnkeypress):
5724 (WebCore::jsDOMWindowBaseOnkeyup):
5725 (WebCore::jsDOMWindowBaseOnload):
5726 (WebCore::jsDOMWindowBaseOnmousedown):
5727 (WebCore::jsDOMWindowBaseOnmousemove):
5728 (WebCore::jsDOMWindowBaseOnmouseout):
5729 (WebCore::jsDOMWindowBaseOnmouseover):
5730 (WebCore::jsDOMWindowBaseOnmouseup):
5731 (WebCore::jsDOMWindowBaseOnMouseWheel):
5732 (WebCore::jsDOMWindowBaseOnreset):
5733 (WebCore::jsDOMWindowBaseOnresize):
5734 (WebCore::jsDOMWindowBaseOnscroll):
5735 (WebCore::jsDOMWindowBaseOnsearch):
5736 (WebCore::jsDOMWindowBaseOnselect):
5737 (WebCore::jsDOMWindowBaseOnsubmit):
5738 (WebCore::jsDOMWindowBaseOnbeforeunload):
5739 (WebCore::jsDOMWindowBaseOnunload):
5740 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
5741 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
5742 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
5743 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
5744 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
5745 (WebCore::JSDOMWindowBase::put):
5746 (WebCore::setJSDOMWindowBaseOnabort):
5747 (WebCore::setJSDOMWindowBaseOnblur):
5748 (WebCore::setJSDOMWindowBaseOnchange):
5749 (WebCore::setJSDOMWindowBaseOnclick):
5750 (WebCore::setJSDOMWindowBaseOndblclick):
5751 (WebCore::setJSDOMWindowBaseOnerror):
5752 (WebCore::setJSDOMWindowBaseOnfocus):
5753 (WebCore::setJSDOMWindowBaseOnkeydown):
5754 (WebCore::setJSDOMWindowBaseOnkeypress):
5755 (WebCore::setJSDOMWindowBaseOnkeyup):
5756 (WebCore::setJSDOMWindowBaseOnload):
5757 (WebCore::setJSDOMWindowBaseOnmousedown):
5758 (WebCore::setJSDOMWindowBaseOnmousemove):
5759 (WebCore::setJSDOMWindowBaseOnmouseout):
5760 (WebCore::setJSDOMWindowBaseOnmouseover):
5761 (WebCore::setJSDOMWindowBaseOnmouseup):
5762 (WebCore::setJSDOMWindowBaseOnMouseWheel):
5763 (WebCore::setJSDOMWindowBaseOnreset):
5764 (WebCore::setJSDOMWindowBaseOnresize):
5765 (WebCore::setJSDOMWindowBaseOnscroll):
5766 (WebCore::setJSDOMWindowBaseOnsearch):
5767 (WebCore::setJSDOMWindowBaseOnselect):
5768 (WebCore::setJSDOMWindowBaseOnsubmit):
5769 (WebCore::setJSDOMWindowBaseOnbeforeunload):
5770 (WebCore::setJSDOMWindowBaseOnunload):
5771 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
5772 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
5773 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
5774 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
5775 (WebCore::setJSDOMWindowBaseEvent):
5776 (WebCore::setJSDOMWindowBaseAudio):
5777 (WebCore::setJSDOMWindowBaseImage):
5778 (WebCore::setJSDOMWindowBaseMessageChannel):
5779 (WebCore::setJSDOMWindowBaseOption):
5780 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
5781 (WebCore::setJSDOMWindowBaseXSLTProcessor):
5782 * bindings/js/JSDOMWindowBase.h:
5783 * bindings/js/JSDOMWindowCustom.cpp:
5784 (WebCore::nonCachingStaticCloseFunctionGetter):
5785 (WebCore::nonCachingStaticBlurFunctionGetter):
5786 (WebCore::nonCachingStaticFocusFunctionGetter):
5787 (WebCore::nonCachingStaticPostMessageFunctionGetter):
5788 * bindings/js/JSDOMWindowCustom.h:
5789 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
5790 * bindings/js/JSEventTargetBase.cpp:
5791 * bindings/js/JSEventTargetBase.h:
5792 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
5793 (WebCore::JSEventTargetBasePrototype::classInfo):
5794 * bindings/js/JSEventTargetNode.cpp:
5795 (WebCore::):
5796 (WebCore::JSEventTargetNode::getOwnPropertySlot):
5797 (WebCore::JSEventTargetNode::put):
5798 * bindings/js/JSEventTargetNode.h:
5799 (WebCore::JSEventTargetNode::classInfo):
5800 (WebCore::JSEventTargetNode::prototypeClassName):
5801 * bindings/js/JSEventTargetSVGElementInstance.cpp:
5802 (WebCore::):
5803 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
5804 (WebCore::JSEventTargetSVGElementInstance::put):
5805 * bindings/js/JSEventTargetSVGElementInstance.h:
5806 (WebCore::JSEventTargetSVGElementInstance::classInfo):
5807 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
5808 * bindings/js/JSHTMLInputElementCustom.cpp:
5809 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
5810 * bindings/js/JSHistoryCustom.cpp:
5811 (WebCore::nonCachingStaticBackFunctionGetter):
5812 (WebCore::nonCachingStaticForwardFunctionGetter):
5813 (WebCore::nonCachingStaticGoFunctionGetter):
5814 (WebCore::JSHistory::customGetOwnPropertySlot):
5815 * bindings/js/JSLocationCustom.cpp:
5816 (WebCore::nonCachingStaticReplaceFunctionGetter):
5817 (WebCore::nonCachingStaticReloadFunctionGetter):
5818 (WebCore::nonCachingStaticAssignFunctionGetter):
5819 (WebCore::JSLocation::customGetOwnPropertySlot):
5820 (WebCore::JSLocation::customPut):
5821 * bindings/scripts/CodeGeneratorJS.pm:
5822
hyatt@apple.com01adde82008-09-26 20:49:34 +000058232008-09-26 David Hyatt <hyatt@apple.com>
5824
5825 https://bugs.webkit.org/show_bug.cgi?id=21149
5826
5827 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
5828 Eliminate the unused isScrollable() method.
5829
5830 Reviewed by Sam Weinig
5831
5832 * WebCore.base.exp:
5833 * page/FrameView.cpp:
5834 (WebCore::FrameView::resetScrollbars):
5835 (WebCore::FrameView::initScrollbars):
5836 (WebCore::FrameView::layout):
5837 * page/FrameView.h:
5838 * page/mac/WebCoreFrameView.h:
5839 * platform/ScrollView.cpp:
5840 (WebCore::ScrollView::init):
5841 (WebCore::ScrollView::setScrollbarModes):
5842 (WebCore::ScrollView::scrollbarModes):
5843 (WebCore::ScrollView::platformSetScrollbarModes):
5844 (WebCore::ScrollView::platformScrollbarModes):
5845 * platform/ScrollView.h:
5846 (WebCore::ScrollView::horizontalScrollbar):
5847 (WebCore::ScrollView::verticalScrollbar):
5848 (WebCore::ScrollView::isScrollViewScrollbar):
5849 (WebCore::ScrollView::setHorizontalScrollbarMode):
5850 (WebCore::ScrollView::setVerticalScrollbarMode):
5851 (WebCore::ScrollView::horizontalScrollbarMode):
5852 (WebCore::ScrollView::verticalScrollbarMode):
5853 (WebCore::ScrollView::convertSelfToChild):
5854 * platform/gtk/ScrollViewGtk.cpp:
5855 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5856 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
5857 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
5858 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5859 (WebCore::ScrollView::updateScrollbars):
5860 (WebCore::ScrollView::scrollbarUnderMouse):
5861 (WebCore::ScrollView::isScrollViewScrollbar):
5862 (WebCore::ScrollView::paint):
5863 (WebCore::ScrollView::scroll):
5864 * platform/mac/ScrollViewMac.mm:
5865 (WebCore::ScrollView::platformSetScrollbarModes):
5866 (WebCore::ScrollView::platformScrollbarModes):
5867 * platform/qt/ScrollViewQt.cpp:
5868 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
5869 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
5870 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5871 (WebCore::ScrollView::horizontalScrollbar):
5872 (WebCore::ScrollView::verticalScrollbar):
5873 (WebCore::ScrollView::invalidateScrollbars):
5874 (WebCore::ScrollView::updateScrollbars):
5875 (WebCore::ScrollView::scrollbarUnderMouse):
5876 (WebCore::ScrollView::paint):
5877 (WebCore::ScrollView::scroll):
5878 * platform/win/ScrollViewWin.cpp:
5879 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5880 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
5881 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
5882 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5883 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
5884 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
5885 (WebCore::ScrollView::suppressScrollbars):
5886 (WebCore::ScrollView::updateScrollbars):
5887 (WebCore::ScrollView::scrollbarUnderMouse):
5888 (WebCore::ScrollView::paint):
5889 (WebCore::ScrollView::scroll):
5890 * platform/wx/ScrollViewWx.cpp:
5891 (WebCore::ScrollView::platformSetScrollbarModes):
5892 (WebCore::ScrollView::platformScrollbarModes):
5893
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +000058942008-09-26 David Kilzer <ddkilzer@apple.com>
5895
5896 Fix Mac build with XPATH and XSLT disabled
5897
5898 Reviewed by Alexey.
5899
5900 * bindings/objc/DOMUtility.mm:
5901 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
5902 * dom/XMLTokenizerLibxml2.cpp:
5903 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
5904 prevent an unused code warning.
5905
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +000059062008-09-26 Kevin McCullough <kmccullough@apple.com>
5907
5908 Rubber stamped by Tim Hatcher.
5909
5910 Bug 21098: Crashing under Console::log
5911 - Speculative ASSERT to help find the problem.
5912
5913 * page/InspectorController.cpp:
5914 (WebCore::ConsoleMessage::isEqual):
5915
zecke@webkit.org00c54bb2008-09-26 17:56:08 +000059162008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
5917
5918 [gtk+] Build fix for the latest ScrollView changes
5919
5920 * platform/gtk/ScrollViewGtk.cpp:
5921 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
5922 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5923
timothy@apple.comf49116e2008-09-26 17:27:52 +000059242008-09-26 Timothy Hatcher <timothy@apple.com>
5925
5926 Fixes a bug where the console message repeat count would be wrong
5927 when typing commands in between repeated messages.
5928
5929 https://bugs.webkit.org/show_bug.cgi?id=21145
5930
5931 Reviewed by Kevin McCullough.
5932
5933 * page/InspectorController.cpp:
5934 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
5935 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
5936 * page/inspector/Console.js:
5937 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
5938 for each message as totalRepeatCount, since we now modify repeatCount to mean
5939 repeats since previous console command. If repeatCountBeforeCommand is a number,
5940 subtract that value from the repeatCount.
5941 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
5942 and commandSincePreviousMessage properties.
5943
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +000059442008-09-26 Eric Carlson <eric.carlson@apple.com>
5945
5946 Reviewed by Antti
5947
5948 https://bugs.webkit.org/show_bug.cgi?id=21116
5949 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
5950 back to page with <video>, then closing tab
5951
5952 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
5953 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
5954 deletion.
5955
5956 * dom/Document.cpp:
5957 (WebCore::Document::documentWillBecomeInactive):
5958 (WebCore::Document::documentDidBecomeActive):
5959 (WebCore::Document::registerForDocumentActivationCallbacks):
5960 (WebCore::Document::unregisterForDocumentActivationCallbacks):
5961 * dom/Document.h:
5962 * dom/Element.h:
5963 (WebCore::Element::documentWillBecomeInactive):
5964 (WebCore::Element::documentDidBecomeActive):
5965 * history/CachedPage.cpp:
5966 (WebCore::CachedPage::CachedPage):
5967 * html/HTMLFormElement.cpp:
5968 (WebCore::HTMLFormElement::~HTMLFormElement):
5969 (WebCore::HTMLFormElement::parseMappedAttribute):
5970 (WebCore::HTMLFormElement::documentDidBecomeActive):
5971 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
5972 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
5973 * html/HTMLFormElement.h:
5974 * html/HTMLInputElement.cpp:
5975 (WebCore::HTMLInputElement::~HTMLInputElement):
5976 (WebCore::HTMLInputElement::setInputType):
5977 (WebCore::HTMLInputElement::parseMappedAttribute):
5978 (WebCore::HTMLInputElement::needsActivationCallback):
5979 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
5980 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
5981 (WebCore::HTMLInputElement::documentDidBecomeActive):
5982 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
5983 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
5984 * html/HTMLInputElement.h:
5985 * html/HTMLMediaElement.cpp:
5986 (WebCore::HTMLMediaElement::HTMLMediaElement):
5987 (WebCore::HTMLMediaElement::~HTMLMediaElement):
5988 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
5989 (WebCore::HTMLMediaElement::documentDidBecomeActive):
5990 * html/HTMLMediaElement.h:
5991 (WebCore::HTMLMediaElement::inActiveDocument):
5992 * loader/FrameLoader.cpp:
5993 (WebCore::FrameLoader::opened):
5994 * page/Page.cpp:
5995 (WebCore::Page::~Page):
5996 * rendering/RenderMedia.cpp:
5997 (WebCore::RenderMedia::updateControls):
5998 * rendering/RenderVideo.cpp:
5999 (WebCore::RenderVideo::updatePlayer):
6000 * svg/SVGSVGElement.cpp:
6001 (WebCore::SVGSVGElement::SVGSVGElement):
6002 (WebCore::SVGSVGElement::~SVGSVGElement):
6003 (WebCore::SVGSVGElement::documentWillBecomeInactive):
6004 (WebCore::SVGSVGElement::documentDidBecomeActive):
6005 * svg/SVGSVGElement.h:
6006
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +000060072008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
6008
6009 Reviewed by Simon
6010
6011 Fix the build inside Qt, don't create faulty prl files for now.
6012
6013 * WebCore.pro:
6014
hausmann@webkit.org809f4242008-09-26 13:17:31 +000060152008-09-26 Simon Hausmann <hausmann@webkit.org>
6016
6017 Fix compilation on Qt/Windows
6018
6019 * Add WebCore/ to the include path so that config.h is found that enables JSC
6020 * Link against winmm for the multimedia timer functions
6021 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
6022 subdirectory
6023 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
6024 but set m_window directly as setPlatformWidget takes a QWidget*.
6025
6026 * WebCore.pro:
6027 * platform/win/SystemTimeWin.cpp:
6028 * plugins/win/PluginViewWin.cpp:
6029 (WebCore::PluginView::init):
6030
oliver@apple.com38feb8e2008-09-26 11:53:40 +000060312008-09-26 Oliver Hunt <oliver@apple.com>
6032
6033 Reviewed by Maciej Stachowiak.
6034
6035 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
6036 <https://bugs.webkit.org/show_bug.cgi?id=21054>
6037
6038 This performance regression is actually just a symptom of a correctness
6039 bug. The constructor objects for a number of properties that have security
6040 checks on access were returning new objects each time. The most obvious
6041 symptom of this bug is that window.Image != window.Image, etc.
6042
6043 The solution to this is to make sure we cache these constructors
6044 in the same way as all the other DOM constructors. To achieve this
6045 without causing any refcount cycles it is necessary to replace the
6046 refcounted document pointer in the Image, MessageChannel, Option,
6047 XMLHttpRequest, and Audio constructor objects with a reference to
6048 the document's JS wrapper.
6049
6050 Tests: fast/dom/constructors-cached-navigate.html
6051 fast/dom/constructors-cached.html
6052
6053 * WebCore.xcodeproj/project.pbxproj:
6054 * bindings/js/JSAudioConstructor.cpp:
6055 (WebCore::JSAudioConstructor::mark):
6056 * bindings/js/JSAudioConstructor.h:
6057 (WebCore::JSAudioConstructor::document):
6058 * bindings/js/JSDOMWindowBase.cpp:
6059 (WebCore::getDOMConstructor):
6060 (WebCore::JSDOMWindowBase::getValueProperty):
6061 * bindings/js/JSDOMWindowBase.h:
6062 * bindings/js/JSHTMLOptionElementConstructor.cpp:
6063 (WebCore::JSHTMLOptionElementConstructor::mark):
6064 * bindings/js/JSHTMLOptionElementConstructor.h:
6065 (WebCore::JSHTMLOptionElementConstructor::document):
6066 * bindings/js/JSImageConstructor.cpp:
6067 (WebCore::JSImageConstructor::mark):
6068 * bindings/js/JSImageConstructor.h:
6069 (WebCore::JSImageConstructor::document):
6070 * bindings/js/JSXMLHttpRequestConstructor.cpp:
6071 (WebCore::JSXMLHttpRequestConstructor::mark):
6072 * bindings/js/JSXMLHttpRequestConstructor.h:
6073 (WebCore::JSXMLHttpRequestConstructor::document):
6074
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +000060752008-09-26 Simon Hausmann <hausmann@webkit.org>
6076
6077 Unreviewed one-liner build fix for the Qt/Windows build.
6078
6079 The build requires NPAPI support to be enabled, fix the condition in
6080 the .pro file for that.
6081
6082 * WebCore.pro:
6083
hausmann@webkit.org1ba35342008-09-26 10:51:33 +000060842008-09-26 Trenton Schulz <twschulz@trolltech.com>
6085
6086 Reviewed by Simon.
6087
6088 Fix compilation with the Qt/Cocoa port.
6089
6090 * platform/qt/ScrollViewQt.cpp:
6091 (WebCore::ScrollView::updateScrollbars):
6092
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000060932008-09-26 Simon Hausmann <hausmann@webkit.org>
6094
6095 Reviewed by Holger.
6096
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +00006097 Fix compilation with VC9SP1, work around bug in TR1 library by
6098 disabling it.
6099
6100 * WebCore.pro:
6101
61022008-09-26 Simon Hausmann <hausmann@webkit.org>
6103
6104 Reviewed by Holger.
6105
hausmann@webkit.orge359dd12008-09-26 09:37:09 +00006106 Fix an lupdate() warning.
6107
6108 Don't use tr() in a class that is not a QObject, use
6109 QCoreApplication::translate() directly.
6110
6111 * platform/qt/ScrollbarQt.cpp:
6112 (WebCore::Scrollbar::handleContextMenuEvent):
6113
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000061142008-09-25 David Hyatt <hyatt@apple.com>
6115
hyatt@apple.com4c833152008-09-26 06:21:22 +00006116 Remove the scrollTo() method from FrameView, since it is not used by anyone.
6117
6118 Reviewed by Oliver Hunt
6119
6120 * page/FrameView.cpp:
6121 * page/FrameView.h:
6122
61232008-09-25 David Hyatt <hyatt@apple.com>
6124
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +00006125 Make scrollRectIntoViewRecursively cross-platform.
6126
6127 Reviewed by Oliver Hunt
6128
6129 * platform/ScrollView.cpp:
6130 (WebCore::ScrollView::scrollRectIntoViewRecursively):
6131 * platform/gtk/ScrollViewGtk.cpp:
6132 * platform/mac/ScrollViewMac.mm:
6133 * platform/qt/ScrollViewQt.cpp:
6134 * platform/win/ScrollViewWin.cpp:
6135 * platform/wx/ScrollViewWx.cpp:
6136
61372008-09-25 David Hyatt <hyatt@apple.com>
6138
hyatt@apple.com25cd25e2008-09-26 06:07:14 +00006139 https://bugs.webkit.org/show_bug.cgi?id=21133
6140
6141 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
6142 cross-platform.
6143
6144 Reviewed by Oliver Hunt
6145
6146 * loader/FrameLoader.cpp:
6147 (WebCore::FrameLoader::begin):
6148 * page/FrameView.cpp:
6149 (WebCore::FrameView::adjustViewSize):
6150 * platform/ScrollView.cpp:
6151 (WebCore::ScrollView::setContentsSize):
6152 * platform/ScrollView.h:
6153 (WebCore::ScrollView::updateScrollbars):
6154 * platform/gtk/ScrollViewGtk.cpp:
6155 * platform/mac/ScrollViewMac.mm:
6156 (WebCore::ScrollView::platformSetContentsSize):
6157 * platform/qt/ScrollViewQt.cpp:
6158 * platform/win/ScrollViewWin.cpp:
6159 * platform/wx/ScrollViewWx.cpp:
6160 (WebCore::ScrollView::platformSetContentsSize):
6161
61622008-09-25 David Hyatt <hyatt@apple.com>
6163
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +00006164 https://bugs.webkit.org/show_bug.cgi?id=21132
6165
6166 Clean up the methods that actually do the scrolling in ScrollView.
6167
6168 Reviewed by Oliver Hunt
6169
6170 * html/HTMLBodyElement.cpp:
6171 (WebCore::HTMLBodyElement::setScrollLeft):
6172 (WebCore::HTMLBodyElement::setScrollTop):
6173 * loader/FrameLoader.cpp:
6174 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
6175 * loader/ImageDocument.cpp:
6176 (WebCore::ImageDocument::imageClicked):
6177 * page/DOMWindow.cpp:
6178 (WebCore::DOMWindow::scrollBy):
6179 (WebCore::DOMWindow::scrollTo):
6180 * page/FrameView.cpp:
6181 (WebCore::FrameView::scrollTo):
6182 (WebCore::FrameView::setScrollPosition):
6183 * page/FrameView.h:
6184 * platform/ScrollView.cpp:
6185 (WebCore::ScrollView::maximumScrollPosition):
6186 * platform/ScrollView.h:
6187 (WebCore::ScrollView::contentsWidth):
6188 (WebCore::ScrollView::contentsHeight):
6189 (WebCore::ScrollView::scrollBy):
6190 * platform/gtk/ScrollViewGtk.cpp:
6191 (WebCore::ScrollView::setScrollPosition):
6192 * platform/mac/ScrollViewMac.mm:
6193 (WebCore::ScrollView::setScrollPosition):
6194 * platform/qt/ScrollViewQt.cpp:
6195 (WebCore::ScrollView::setScrollPosition):
6196 (WebCore::ScrollView::scrollRectIntoViewRecursively):
6197 * platform/win/ScrollViewWin.cpp:
6198 (WebCore::ScrollView::setScrollPosition):
6199 (WebCore::ScrollView::scrollRectIntoViewRecursively):
6200 * platform/wx/ScrollViewWx.cpp:
6201 (WebCore::ScrollView::setScrollPosition):
6202 * rendering/RenderLayer.cpp:
6203 (WebCore::RenderLayer::scrollByRecursively):
6204 (WebCore::RenderLayer::scrollRectToVisible):
6205
mitz@apple.com5c920f12008-09-26 05:25:41 +000062062008-09-25 Dan Bernstein <mitz@apple.com>
6207
6208 - attempted Windows build fix
6209
6210 * platform/win/ScrollViewWin.cpp:
6211 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
6212 (WebCore::ScrollView::setContentsPos):
6213 (WebCore::ScrollView::paint):
6214
timothy@apple.comd884aae2008-09-26 04:35:48 +000062152008-09-25 Timothy Hatcher <timothy@apple.com>
6216
6217 Revert the padding changes done in r36905 to prevent the
6218 scrollbar from overlapping the URLs in the Console.
6219
6220 https://bugs.webkit.org/show_bug.cgi?id=21126
6221
6222 * page/inspector/inspector.css:
6223
hyatt@apple.comc01fb232008-09-26 04:28:25 +000062242008-09-25 David Hyatt <hyatt@apple.com>
6225
6226 https://bugs.webkit.org/show_bug.cgi?id=21129
6227
6228 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
6229 of platform-specific methods required of ScrollView implementations.
6230
6231 Reviewed by Tim Hatcher
6232
6233 * dom/MouseRelatedEvent.cpp:
6234 (WebCore::contentsX):
6235 (WebCore::contentsY):
6236 * html/HTMLBodyElement.cpp:
6237 (WebCore::HTMLBodyElement::scrollLeft):
6238 (WebCore::HTMLBodyElement::setScrollLeft):
6239 (WebCore::HTMLBodyElement::scrollTop):
6240 (WebCore::HTMLBodyElement::setScrollTop):
6241 * loader/FrameLoader.cpp:
6242 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
6243 * page/DOMWindow.cpp:
6244 (WebCore::DOMWindow::scrollX):
6245 (WebCore::DOMWindow::scrollY):
6246 * page/EventHandler.cpp:
6247 (WebCore::EventHandler::hitTestResultAtPoint):
6248 * page/FrameView.cpp:
6249 (WebCore::FrameView::scrollTo):
6250 (WebCore::FrameView::windowClipRect):
6251 * platform/ScrollView.cpp:
6252 (WebCore::ScrollView::visibleContentRect):
6253 (WebCore::ScrollView::contentsSize):
6254 (WebCore::ScrollView::platformContentsSize):
6255 * platform/ScrollView.h:
6256 (WebCore::ScrollView::scrollPosition):
6257 (WebCore::ScrollView::scrollOffset):
6258 (WebCore::ScrollView::scrollX):
6259 (WebCore::ScrollView::scrollY):
6260 (WebCore::ScrollView::contentsWidth):
6261 (WebCore::ScrollView::contentsHeight):
6262 * platform/gtk/ScrollViewGtk.cpp:
6263 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
6264 (WebCore::ScrollView::setGtkAdjustments):
6265 (WebCore::ScrollView::resizeContents):
6266 (WebCore::ScrollView::contentsWidth):
6267 (WebCore::ScrollView::contentsHeight):
6268 (WebCore::ScrollView::scrollOffset):
6269 (WebCore::ScrollView::maximumScroll):
6270 (WebCore::ScrollView::scrollBy):
6271 (WebCore::ScrollView::suppressScrollbars):
6272 (WebCore::ScrollView::setHScrollbarMode):
6273 (WebCore::ScrollView::setVScrollbarMode):
6274 (WebCore::ScrollView::setScrollbarsMode):
6275 (WebCore::ScrollView::setFrameGeometry):
6276 (WebCore::ScrollView::updateScrollbars):
6277 * platform/mac/ScrollViewMac.mm:
6278 (WebCore::ScrollView::platformContentsSize):
6279 (WebCore::ScrollView::scrollBy):
6280 * platform/mac/WidgetMac.mm:
6281 (WebCore::Widget::convertFromContainingWindow):
6282 (WebCore::Widget::convertToContainingWindow):
6283 * platform/qt/ScrollViewQt.cpp:
6284 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
6285 (WebCore::ScrollView::resizeContents):
6286 (WebCore::ScrollView::setFrameGeometry):
6287 (WebCore::ScrollView::scrollOffset):
6288 (WebCore::ScrollView::maximumScroll):
6289 (WebCore::ScrollView::scrollBy):
6290 (WebCore::ScrollView::setHScrollbarMode):
6291 (WebCore::ScrollView::setVScrollbarMode):
6292 (WebCore::ScrollView::setScrollbarsMode):
6293 (WebCore::ScrollView::updateScrollbars):
6294 * platform/win/ScrollViewWin.cpp:
6295 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
6296 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
6297 (WebCore::ScrollView::resizeContents):
6298 (WebCore::ScrollView::setFrameGeometry):
6299 (WebCore::ScrollView::scrollOffset):
6300 (WebCore::ScrollView::maximumScroll):
6301 (WebCore::ScrollView::scrollBy):
6302 (WebCore::ScrollView::setHScrollbarMode):
6303 (WebCore::ScrollView::setVScrollbarMode):
6304 (WebCore::ScrollView::setScrollbarsMode):
6305 (WebCore::ScrollView::updateScrollbars):
6306 * platform/wx/ScrollViewWx.cpp:
6307 (WebCore::ScrollView::platformVisibleContentRect):
6308 (WebCore::ScrollView::platformContentsSize):
6309 * rendering/RenderBlock.cpp:
6310 (WebCore::RenderBlock::nodeAtPoint):
6311 * rendering/RenderLayer.cpp:
6312 (WebCore::RenderLayer::scrollRectToVisible):
6313 (WebCore::RenderLayer::calculateClipRects):
6314 (WebCore::RenderLayer::calculateRects):
6315 * rendering/RenderView.cpp:
6316 (WebCore::RenderView::absolutePosition):
6317 (WebCore::RenderView::computeAbsoluteRepaintRect):
6318
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000063192008-09-25 David Smith <catfish.man@gmail.com>
6320
dsmith@webkit.org0fedb622008-09-26 04:05:57 +00006321 Reviewed by Dave Hyatt.
6322
6323 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
6324
6325 * dom/Element.cpp:
6326 (WebCore::Element::rareData):
6327 * dom/Element.h:
6328 * dom/Node.cpp:
6329 (WebCore::Node::rareData):
6330 * dom/Node.h:
6331
63322008-09-25 David Smith <catfish.man@gmail.com>
6333
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +00006334 Reviewed by Darin Adler.
6335
6336 https://bugs.webkit.org/show_bug.cgi?id=20980
6337 Split off uncommonly used data from Node similar to ElementRareData
6338
6339 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
6340 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
6341 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
6342
6343 * WebCore.base.exp:
6344 * WebCore.xcodeproj/project.pbxproj:
6345 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
6346 * dom/ContainerNode.cpp: Set isContainer to true
6347 (WebCore::ContainerNode::ContainerNode):
6348 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
6349 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
6350 (WebCore::Node::containerChildNode): ditto
6351 (WebCore::Node::containerFirstChild): ditto
6352 (WebCore::Node::containerLastChild): ditto
6353 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
6354 (WebCore::Element::Element):
6355 (WebCore::Element::~Element):
6356 (WebCore::Element::rareData):
6357 (WebCore::Element::ensureRareData): Renamed from createRareData
6358 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
6359 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
6360 (WebCore::Element::detach): ditto
6361 (WebCore::Element::recalcStyle): ditto
6362 (WebCore::Element::focus):
6363 (WebCore::Element::minimumSizeForResizing): ditto
6364 (WebCore::Element::setMinimumSizeForResizing): ditto
6365 (WebCore::Element::computedStyle):
6366 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
6367 * dom/Element.h:
6368 * dom/ElementRareData.h: Added; everything copied from Element.cpp
6369 (WebCore::defaultMinimumSizeForResizing):
6370 (WebCore::ElementRareData::ElementRareData):
6371 (WebCore::ElementRareData::resetComputedStyle):
6372 * dom/EventTargetNode.cpp:
6373 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
6374 * dom/EventTargetNode.h:
6375 * dom/Node.cpp:
6376 (WebCore::Node::Node):
6377 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
6378 (WebCore::Node::rareData):
6379 (WebCore::Node::ensureRareData):
6380 (WebCore::Node::createRareData):
6381 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
6382 (WebCore::Node::setTabIndexExplicitly):
6383 (WebCore::Node::childNodes): NodeLists are now in rareData
6384 (WebCore::Node::setFocus):
6385 (WebCore::Node::rareDataFocused):
6386 (WebCore::Node::isFocusable):
6387 (WebCore::Node::isKeyboardFocusable):
6388 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
6389 (WebCore::Node::unregisterDynamicNodeList): ditto
6390 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
6391 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
6392 (WebCore::Node::getElementsByName): ditto
6393 (WebCore::Node::getElementsByClassName): ditto
6394 * dom/Node.h:
6395 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
6396 (WebCore::Node::lastChild): ditto
6397 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
6398 (WebCore::Node::focused): focus is in rareData if set
6399 (WebCore::Node::childTypeAllowed):
6400 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
6401 (WebCore::Node::childNode): ditto
6402 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
6403 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
6404 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
6405 (WebCore::NodeRareData::NodeRareData):
6406 (WebCore::NodeRareData::rareDataMap):
6407 (WebCore::NodeRareData::rareDataFromMap):
6408 (WebCore::NodeRareData::clearNodeLists):
6409 (WebCore::NodeRareData::setNodeLists):
6410 (WebCore::NodeRareData::nodeLists):
6411 (WebCore::NodeRareData::tabIndex):
6412 (WebCore::NodeRareData::setTabIndex):
6413 (WebCore::NodeRareData::tabIndexSetExplicitly):
6414 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
6415 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
6416
zecke@webkit.orge1370432008-09-26 01:47:30 +000064172008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
6418
6419 Reviewed by Simon Hausmann.
6420
zecke@webkit.org9ea87f62008-09-26 01:54:04 +00006421 [qt] ImageBuffer::toDataURL implementation
6422
6423 There needs to be a Qt specific test result for the above mentioned
6424 implementation.
6425
6426 * platform/graphics/qt/ImageBufferQt.cpp:
6427 (WebCore::ImageBuffer::toDataURL):
6428
64292008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
6430
6431 Reviewed by Simon Hausmann.
6432
zecke@webkit.orge1370432008-09-26 01:47:30 +00006433 [qt] Implement SharedBuffer for Qt.
6434
6435 * WebCore.pro:
6436 * platform/qt/SharedBufferQt.cpp: Added.
6437 (WebCore::SharedBuffer::createWithContentsOfFile):
6438 * platform/qt/TemporaryLinkStubs.cpp:
6439
ddkilzer@apple.com91eae552008-09-26 00:53:18 +000064402008-09-25 Feng Qian <feng@chromium.org>
6441
6442 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
6443 <rdar://problem/6243032>
6444
6445 Reviewed by Dave Hyatt.
6446
6447 Test: fast/dom/attribute-downcast-right.html
6448
6449 Add isMappedAttribute function to Attribute for checking if an object
6450 is an instance of MappedAttribute. Removed attributeItem,
6451 getAttributeItem functions from NamedMappedAttrMap, and callers
6452 expecting MappedAttribute have to check isMappedAttribute before
6453 downcasting the return value to MappedAttribute.
6454
6455 * css/CSSStyleSelector.cpp:
6456 (WebCore::CSSStyleSelector::styleForElement):
6457 * dom/Attribute.h:
6458 (WebCore::Attribute::isMappedAttribute):
6459 * dom/MappedAttribute.h:
6460 (WebCore::MappedAttribute::isMappedAttribute):
6461 * dom/NamedMappedAttrMap.cpp:
6462 (WebCore::NamedMappedAttrMap::declCount):
6463 (WebCore::NamedMappedAttrMap::mapsEquivalent):
6464 * dom/NamedMappedAttrMap.h:
6465 * dom/StyledElement.cpp:
6466 (WebCore::StyledElement::attributeChanged):
6467 * html/HTMLInputElement.cpp:
6468 (WebCore::HTMLInputElement::setInputType):
6469 * svg/SVGForeignObjectElement.cpp:
6470 (WebCore::addCSSPropertyAndNotifyAttributeMap):
6471 * svg/SVGStyledElement.cpp:
6472 (WebCore::SVGStyledElement::getPresentationAttribute):
6473
hyatt@apple.com79be62c2008-09-25 22:25:22 +000064742008-09-25 David Hyatt <hyatt@apple.com>
6475
6476 https://bugs.webkit.org/show_bug.cgi?id=21120
6477
6478 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
6479 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
6480 didn't want to mix that change in with this patch).
6481
6482 Reviewed by Sam Weinig
6483
6484 * page/Frame.cpp:
6485 (WebCore::Frame::markAllMatchesForText):
6486 * page/FrameView.cpp:
6487 (WebCore::FrameView::repaintContentRectangle):
6488 (WebCore::FrameView::windowClipRect):
6489 (WebCore::FrameView::updateControlTints):
6490 * platform/ScrollView.cpp:
6491 (WebCore::ScrollView::visibleContentRect):
6492 (WebCore::ScrollView::platformVisibleContentRect):
6493 * platform/ScrollView.h:
6494 (WebCore::ScrollView::visibleWidth):
6495 (WebCore::ScrollView::visibleHeight):
6496 * platform/gtk/ScrollViewGtk.cpp:
6497 (WebCore::ScrollView::horizontalScrollbar):
6498 (WebCore::ScrollView::verticalScrollbar):
6499 * platform/mac/ScrollViewMac.mm:
6500 (WebCore::ScrollView::horizontalScrollbar):
6501 (WebCore::ScrollView::verticalScrollbar):
6502 (WebCore::ScrollView::platformVisibleContentRect):
6503 * platform/qt/ScrollViewQt.cpp:
6504 (WebCore::ScrollView::horizontalScrollbar):
6505 (WebCore::ScrollView::verticalScrollbar):
6506 * platform/win/ScrollViewWin.cpp:
6507 (WebCore::ScrollView::horizontalScrollbar):
6508 (WebCore::ScrollView::verticalScrollbar):
6509 * platform/wx/ScrollViewWx.cpp:
6510 (WebCore::ScrollView::platformVisibleContentRect):
6511 (WebCore::ScrollView::horizontalScrollbar):
6512 (WebCore::ScrollView::verticalScrollbar):
6513 * rendering/RenderLayer.cpp:
6514 (WebCore::RenderLayer::scrollRectToVisible):
6515 (WebCore::frameVisibleRect):
6516 * rendering/RenderView.cpp:
6517 (WebCore::RenderView::viewRect):
6518
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +000065192008-09-25 David Smith <catfish.man@gmail.com>
6520
6521 Reviewed by Timothy Hatcher
6522
6523 https://bugs.webkit.org/show_bug.cgi?id=21052
6524 Generalize id selector special case for querySelectorAll
6525
6526 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
6527 Changes results on http://native.khan.mozilla.org
6528 from
6529 #title: 2ms
6530 h1#title: 55ms
6531 div #title: 55ms
6532
6533 to:
6534 #title: 1ms
6535 h1#title: 2ms
6536 div #title: 5ms
6537
6538 * dom/Node.cpp:
6539 (WebCore::Node::querySelector):
6540 * dom/SelectorNodeList.cpp:
6541 (WebCore::createSelectorNodeList):
6542
hyatt@apple.com64a3be22008-09-25 20:49:17 +000065432008-09-25 David Hyatt <hyatt@apple.com>
6544
6545 https://bugs.webkit.org/show_bug.cgi?id=21118
6546
6547 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
6548
6549 Reviewed by Sam Weinig
6550
6551 * page/FrameView.cpp:
6552 (WebCore::FrameView::clear):
6553 (WebCore::FrameView::layout):
6554 (WebCore::FrameView::setUseSlowRepaints):
6555 (WebCore::FrameView::addSlowRepaintObject):
6556 (WebCore::FrameView::removeSlowRepaintObject):
6557 * platform/ScrollView.cpp:
6558 (WebCore::ScrollView::init):
6559 (WebCore::ScrollView::addChild):
6560 (WebCore::ScrollView::removeChild):
6561 (WebCore::ScrollView::setCanBlitOnScroll):
6562 * platform/ScrollView.h:
6563 (WebCore::ScrollView::canBlitOnScroll):
6564 * platform/gtk/ScrollViewGtk.cpp:
6565 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6566 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
6567 (WebCore::ScrollView::ScrollView):
6568 * platform/mac/ScrollViewMac.mm:
6569 (WebCore::ScrollView::ScrollView):
6570 (WebCore::ScrollView::platformAddChild):
6571 (WebCore::ScrollView::platformRemoveChild):
6572 (WebCore::ScrollView::platformSetCanBlitOnScroll):
6573 * platform/qt/ScrollViewQt.cpp:
6574 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6575 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
6576 (WebCore::ScrollView::ScrollView):
6577 * platform/win/ScrollViewWin.cpp:
6578 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6579 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
6580 (WebCore::ScrollView::ScrollView):
6581 * platform/wx/ScrollViewWx.cpp:
6582 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6583 (WebCore::ScrollView::ScrollView):
6584 (WebCore::ScrollView::scrollBy):
6585
kmccullough@apple.com03b515b2008-09-25 20:29:57 +000065862008-09-25 Kevin McCullough <kmccullough@apple.com>
6587
6588 Reviewed by Tim Hatcher.
6589
6590 Bug 21109: Console should right-align urls
6591
6592 * page/inspector/Console.js: Re-order the message elements so that when
6593 it overflows it doesn't get mixed in with the next message.
6594 * page/inspector/inspector.css:
6595
hyatt@apple.com95d18752008-09-25 20:15:44 +000065962008-09-25 David Hyatt <hyatt@apple.com>
6597
6598 https://bugs.webkit.org/show_bug.cgi?id=21113
6599
6600 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
6601
6602 Reviewed by Darin Adler
6603
6604 * css/CSSImportRule.cpp:
6605 (WebCore::CSSImportRule::insertedIntoParent):
6606 * css/CSSRule.cpp:
6607 (WebCore::CSSRule::parentStyleSheet):
6608 (WebCore::CSSRule::parentRule):
6609 * css/CSSStyleSheet.cpp:
6610 (WebCore::CSSStyleSheet::CSSStyleSheet):
6611 * css/CSSStyleSheet.h:
6612
darin@apple.com6ca04432008-09-25 20:02:11 +000066132008-09-25 Darin Adler <darin@apple.com>
6614
6615 Reviewed by Adele Peterson.
6616
6617 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
6618 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
6619 bundled documents
6620
6621 * html/HTMLFormElement.cpp:
6622 (WebCore::HTMLFormElement::formData): Use files() instead of value()
6623 to get the path, since value() now returns just the basename.
6624
beidson@apple.comb9a40052008-09-25 18:37:09 +000066252008-09-25 Brady Eidson <beidson@apple.com>
6626
6627 Rubberstamped by Mark Rowe
6628
6629 Roll out 36771 as it caused <rdar://problem/6246554>
6630 "nytimes.com doesn't display after returning to it with back/forward"
6631
6632 * css/CSSImportRule.cpp:
6633 (WebCore::CSSImportRule::insertedIntoParent):
6634 * css/CSSRule.cpp:
6635 (WebCore::CSSRule::parentStyleSheet):
6636 (WebCore::CSSRule::parentRule):
6637 * css/CSSStyleSheet.cpp:
6638 (WebCore::CSSStyleSheet::CSSStyleSheet):
6639 (WebCore::CSSStyleSheet::docLoader):
6640 * css/CSSStyleSheet.h:
6641 (WebCore::CSSStyleSheet::doc):
6642
aroben@apple.comdf5a7322008-09-25 17:47:15 +000066432008-09-25 Adam Roben <aroben@apple.com>
6644
6645 Windows build fix
6646
6647 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
6648
mitz@apple.com0565bc92008-09-25 17:27:37 +000066492008-09-25 Dan Bernstein <mitz@apple.com>
6650
6651 - Windows build fix
6652
6653 * platform/win/ScrollViewWin.cpp:
6654 (WebCore::ScrollView::addChildPlatformWidget):
6655 (WebCore::ScrollView::removeChildPlatformWidget):
6656
timothy@apple.com7a4bf192008-09-25 17:07:43 +000066572008-09-25 Timothy Hatcher <timothy@apple.com>
6658
6659 Fixes a leak of ConsoleMessage seen when repeated console
6660 messages occur.
6661
6662 Reviewed by Mark Rowe.
6663
6664 * page/InspectorController.cpp:
6665 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
6666 since we don't add it to m_consoleMessages.
6667
kmccullough@apple.com340e7272008-09-25 16:04:20 +000066682008-09-25 Kevin McCullough <kmccullough@apple.com>
6669
kmccullough@apple.com364f2992008-09-25 16:48:34 +00006670 Reviewed by Dan Bernstein.
6671
6672 Bug 21105: XHRs logged in the console may show the wrong URL for the
6673 source
6674 - Get the url at the time of the send() and pass it on to the XHR.
6675
6676 * bindings/js/JSXMLHttpRequestCustom.cpp:
6677 (WebCore::JSXMLHttpRequest::send):
6678 * xml/XMLHttpRequest.cpp:
6679 (WebCore::XMLHttpRequest::didFinishLoading):
6680 * xml/XMLHttpRequest.h:
6681 (WebCore::XMLHttpRequest::setLastSendURL):
6682
66832008-09-25 Kevin McCullough <kmccullough@apple.com>
6684
kmccullough@apple.com340e7272008-09-25 16:04:20 +00006685 Reviewed by Geoff and Tim.
6686
6687 Bug 20322: XHRs logged in the console do not have line numbers
6688 - Get the line number at the time of the send and pass it on to the XHR.
6689
6690 * bindings/js/JSXMLHttpRequestCustom.cpp:
6691 (WebCore::JSXMLHttpRequest::send):
6692 * xml/XMLHttpRequest.cpp:
6693 (WebCore::XMLHttpRequest::XMLHttpRequest):
6694 (WebCore::XMLHttpRequest::didFinishLoading):
6695 * xml/XMLHttpRequest.h:
6696 (WebCore::XMLHttpRequest::setLastSendLineNumber):
6697
eric.carlson@apple.comb9404142008-09-25 15:33:02 +000066982008-09-25 Eric Carlson <eric.carlson@apple.com>
6699
6700 Reviewed by Eric Seidel.
6701
6702 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
6703 https://bugs.webkit.org/show_bug.cgi?id=21003
6704
6705 * dom/EventNames.h: remove "begin" event
6706 * html/HTMLMediaElement.cpp:
6707 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
6708
ap@webkit.orgcdec56d2008-09-25 11:30:02 +000067092008-09-25 Alexey Proskuryakov <ap@webkit.org>
6710
6711 Reviewed by Eric Seidel.
6712
6713 https://bugs.webkit.org/show_bug.cgi?id=21097
6714 Calling a MessageChannel constructor from a destroyed document results in a crash
6715
6716 Test: fast/events/message-port-constructor-for-deleted-document.html
6717
6718 * bindings/js/JSMessageChannelConstructor.cpp:
6719 (WebCore::JSMessageChannelConstructor::construct):
6720 * bindings/js/JSMessageChannelConstructor.h:
6721 Made m_document a RefPtr.
6722
ap@webkit.org28b51752008-09-25 10:15:11 +000067232008-09-24 Alexey Proskuryakov <ap@webkit.org>
6724
6725 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
6726
6727 https://bugs.webkit.org/show_bug.cgi?id=20879
6728 Implement HTML5 channel messaging
6729
6730 Tests: fast/events/message-channel-gc.html
6731 fast/events/message-port-deleted-document.html
6732 fast/events/message-port-deleted-frame.html
6733 fast/events/message-port-inactive-document.html
6734 fast/events/message-port.html
6735 http/tests/security/MessagePort/event-listener-context.html
6736
6737 * Configurations/WebCore.xcconfig:
6738 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
6739
6740 * DerivedSources.make:
6741 Added MessageChannel and MessagePort.
6742
6743 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
6744 turmed off anyway. Added new files.
6745
6746 * GNUmakefile.am:
6747 * WebCore.pro:
6748 * WebCore.vcproj/WebCore.vcproj:
6749 * WebCore.xcodeproj/project.pbxproj:
6750 * WebCoreSources.bkl:
6751 Added new files.
6752
6753 * bindings/js/JSDOMWindowBase.h:
6754 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
6755 Added suport for window.MessageChannel constructor.
6756
6757 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
6758 * page/DOMWindow.cpp:
6759 (WebCore::DOMWindow::postMessage):
6760 * page/DOMWindow.h:
6761 * page/DOMWindow.idl:
6762 Added support for three-argument postMessage (that posts a MessagePort).
6763
6764 * dom/EventTarget.cpp:
6765 (WebCore::EventTarget::toMessagePort):
6766 * dom/EventTarget.h:
6767 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
6768 EventTarget variant.
6769
6770 * bindings/js/JSMessageChannelConstructor.h:
6771 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
6772 take a browsing context (document) parameter.
6773
6774 * bindings/js/JSMessageChannelCustom.cpp: Added.
6775 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
6776 port1 and port2 that it owns.
6777
6778 * bindings/js/JSMessagePortCustom.cpp: Added.
6779 (WebCore::JSMessagePort::startConversation):
6780 (WebCore::JSMessagePort::addEventListener):
6781 (WebCore::JSMessagePort::removeEventListener):
6782 (WebCore::JSMessagePort::dispatchEvent):
6783 (WebCore::JSMessagePort::setOnmessage):
6784 (WebCore::JSMessagePort::onmessage):
6785 (WebCore::JSMessagePort::setOnclose):
6786 (WebCore::JSMessagePort::onclose):
6787 (WebCore::JSMessagePort::mark):
6788 * dom/MessagePort.cpp: Added.
6789 * dom/MessagePort.h: Added.
6790 * dom/MessagePort.idl: Added.
6791 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
6792 with Documents as contexts, but in the future, it will be used for communication with worker
6793 threads.
6794
6795 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
6796 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
6797 needed for MessageEvent.
6798
6799 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
6800
6801 * dom/Document.cpp:
6802 (WebCore::MessagePortTimer::MessagePortTimer):
6803 (WebCore::MessagePortTimer::fired):
6804 (WebCore::Document::processMessagePortMessagesSoon):
6805 (WebCore::Document::~Document):
6806 (WebCore::Document::dispatchMessagePortEvents):
6807 (WebCore::Document::createdMessagePort):
6808 (WebCore::Document::destroyedMessagePort):
6809 * dom/Document.h:
6810 Document keeps track of all MessagePort objects that were created when it was fully active
6811 in its context.
6812
6813 * dom/EventNames.h: Added closeEvent.
6814
6815 * dom/MessageChannel.cpp: Added.
6816 (WebCore::MessageChannel::MessageChannel):
6817 (WebCore::MessageChannel::~MessageChannel):
6818 * dom/MessageChannel.h: Added.
6819 (WebCore::MessageChannel::create):
6820 (WebCore::MessageChannel::port1):
6821 (WebCore::MessageChannel::port2):
6822 * dom/MessageChannel.idl: Added.
6823 Addded JSMessageChannel implementation.
6824
6825 * dom/MessageEvent.cpp:
6826 (WebCore::MessageEvent::MessageEvent):
6827 (WebCore::MessageEvent::initMessageEvent):
6828 * dom/MessageEvent.h:
6829 (WebCore::MessageEvent::create):
6830 (WebCore::MessageEvent::messagePort):
6831 * dom/MessageEvent.idl:
6832 MessageEvent has a MessagePort member now, making it possible to pass ports across
6833 documents.
6834
dsmith@webkit.org3e32f422008-09-25 08:57:31 +000068352008-09-25 David Smith <catfish.man@gmail.com>
6836
6837 Reviewed by Eric Seidel
6838
6839 fix https://bugs.webkit.org/show_bug.cgi?id=21091
6840 Regression: querySelector matches tag names case sensitively
6841
6842 Tests: fast/dom/SelectorAPI/caseTag.html
6843 fast/dom/SelectorAPI/caseTagX.xhtml
6844
6845 * css/CSSParser.cpp:
6846 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
6847 * css/CSSParser.h:
6848 * dom/Node.cpp:
6849 (WebCore::Node::querySelector):
6850 (WebCore::Node::querySelectorAll):
6851
hyatt@apple.com912c1b12008-09-25 07:38:56 +000068522008-09-24 David Hyatt <hyatt@apple.com>
6853
6854 https://bugs.webkit.org/show_bug.cgi?id=21084
6855
6856 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
6857 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
6858
6859 Reviewed by Sam Weinig
6860
6861 * GNUmakefile.am:
6862 * WebCore.pro:
6863 * WebCore.vcproj/WebCore.vcproj:
6864 * WebCore.xcodeproj/project.pbxproj:
6865 * WebCoreSources.bkl:
6866 * platform/ScrollView.h:
6867 (WebCore::ScrollView::children):
6868 * platform/Widget.h:
6869 * platform/gtk/ScrollViewGtk.cpp:
6870 (WebCore::ScrollView::addChildPlatformWidget):
6871 (WebCore::ScrollView::removeChildPlatformWidget):
6872 (WebCore::ScrollView::geometryChanged):
6873 * platform/mac/ScrollViewMac.mm:
6874 (WebCore::ScrollView::addChildPlatformWidget):
6875 (WebCore::ScrollView::removeChildPlatformWidget):
6876 * platform/qt/ScrollViewQt.cpp:
6877 (WebCore::ScrollView::geometryChanged):
6878 (WebCore::ScrollView::addChildPlatformWidget):
6879 (WebCore::ScrollView::removeChildPlatformWidget):
6880 * platform/win/ScrollViewWin.cpp:
6881 (WebCore::ScrollView::geometryChanged):
6882 (WebCore::ScrollView::setParentVisible):
6883 (WebCore::ScrollView::show):
6884 (WebCore::ScrollView::hide):
6885 * platform/wx/ScrollViewWx.cpp:
6886 (WebCore::ScrollView::addChildPlatformWidget):
6887 (WebCore::ScrollView::removeChildPlatformWidget):
6888
mitz@apple.com982d2cc2008-09-25 07:16:05 +000068892008-09-25 Dan Bernstein <mitz@apple.com>
6890
6891 Reviewed by Dave Hyatt.
6892
6893 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
6894 <rdar://problem/6240821> Scrollbar not painted until hovered
6895
6896 * rendering/RenderWidget.cpp:
6897 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
6898 this method, which sets both the location and the size.
6899 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
6900 with a call to the new method setWidgetGeometry. Positioning the
6901 widget correctly ensures that the scroll bars invalidate correctly when
6902 they are created and resized.
6903 * rendering/RenderWidget.h:
6904
mitz@apple.com61969a62008-09-25 00:50:05 +000069052008-09-24 Dan Bernstein <mitz@apple.com>
6906
6907 Rubber-stamped by Sam Weinig.
6908
6909 - create a "style" subfolder under "rendering" and move style files to that folder
6910
6911 * WebCore.vcproj/WebCore.vcproj:
6912
weinig@apple.comacfb9e12008-09-25 00:39:11 +000069132008-09-24 Sam Weinig <sam@webkit.org>
6914
6915 Reviewed by Maciej Stachowiak.
6916
6917 Remove staticFunctionGetter. There is only one remaining user of
6918 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
6919
6920 * bindings/js/JSDOMWindowBase.cpp:
6921 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
6922
mitz@apple.com0cb3dff2008-09-24 23:40:29 +000069232008-09-24 Jeremy Moskovich <jeremy@chromium.org>
6924
6925 Reviewed by Dan Bernstein.
6926
6927 Test: editing/spelling/inline_spelling_markers.html
6928
6929 - https://bugs.webkit.org/show_bug.cgi?id=20092
6930 Spelling markers positioned incorrectly in RTL text
6931
6932 Measure spelling markers with selectionRectForText() to fix RTL.
6933
6934 This patch also fixes hit-testing for spelling marker tool tips,
6935 which used to work only on the first line.
6936
6937 * rendering/InlineTextBox.cpp:
6938 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
6939
hyatt@apple.come5925322008-09-24 21:28:08 +000069402008-09-24 David Hyatt <hyatt@apple.com>
6941
hyatt@apple.com31cd6d62008-09-24 21:45:19 +00006942 https://bugs.webkit.org/show_bug.cgi?id=21074
6943
hyatt@apple.come5925322008-09-24 21:28:08 +00006944 Make sure the viewless scrollbar knows how to paint properly when transformed.
6945
6946 Reviewed by Sam Weinig
6947
6948 * platform/mac/ScrollbarThemeMac.mm:
6949 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
6950 (WebCore::ScrollbarThemeMac::paint):
6951
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +000069522008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
6953
6954 Not reviewed. Try to fix win build.
6955
6956 * bindings/js/JSSVGElementInstanceCustom.cpp:
6957 (WebCore::toJS):
6958 * dom/ContainerNodeAlgorithms.h:
6959 (WebCore::removeAllChildrenInContainer):
6960 (WebCore::appendChildToContainer):
6961 (WebCore::Private::addChildNodesToDeletionQueue):
6962
69632008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
6964
6965 Reviewed by Oliver.
6966
6967 Add ContainerNodeAlgorithms.h, as central place to share algorithms
6968 operating on TreeShared-derived classes with a Node-style interface.
6969
6970 This allows SVGElementInstance & ContainerNode to share code.
6971
6972 * dom/ContainerNode.cpp:
6973 (WebCore::ContainerNode::removeAllChildren):
6974 (WebCore::ContainerNode::addChild):
6975 * dom/ContainerNode.h:
6976 * dom/ContainerNodeAlgorithms.h: Added.
6977 (WebCore::removeAllChildrenInContainer):
6978 (WebCore::appendChildToContainer):
6979 (WebCore::Private::NodeRemovalDispatcher::dispatch):
6980 (WebCore::Private::addChildNodesToDeletionQueue):
6981
simon.fraser@apple.com557a0472008-09-24 21:08:23 +000069822008-09-24 Simon Fraser <simon.fraser@apple.com>
6983
6984 Reviewed by Dave Hyatt
6985
6986 Wrap up dirtying the z-order list of the stacking context
6987 RenderLayer into a method.
6988 https://bugs.webkit.org/show_bug.cgi?id=21072
6989
6990 * rendering/RenderLayer.cpp:
6991 (WebCore::RenderLayer::setHasVisibleContent):
6992 (WebCore::RenderLayer::addChild):
6993 (WebCore::RenderLayer::removeChild):
6994 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
6995 (WebCore::RenderLayer::styleChanged):
6996 * rendering/RenderLayer.h:
6997 * rendering/RenderObject.cpp:
6998 (WebCore::RenderObject::setStyle):
6999
kmccullough@apple.comaf908e62008-09-24 20:22:23 +000070002008-09-24 Kevin McCullough <kmccullough@apple.com>
7001
7002 Reviewed by Tim.
7003
7004 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
7005 or displayed multiple times
7006 - The Insepctor Controller was comparing JSValue pointers so thought the
7007 message was not a repeat, but the JS of the inspector compared the
7008 strings and so knew it was the same message and so overwrote the old
7009 message.
7010
7011 * page/InspectorController.cpp:
7012 (WebCore::ConsoleMessage::isEqual):
7013 (WebCore::InspectorController::addMessageToConsole):
7014 (WebCore::InspectorController::addConsoleMessage):
7015 (WebCore::InspectorController::startGroup):
7016 (WebCore::InspectorController::endGroup):
7017 * page/InspectorController.h:
7018
hyatt@apple.comf4c8f172008-09-24 20:19:26 +000070192008-09-24 David Hyatt <hyatt@apple.com>
7020
7021 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
7022 arrow placement preference and the thumb jump preference).
7023
7024 Reviewed by Adam Roben
7025
7026 * platform/Scrollbar.cpp:
7027 (WebCore::Scrollbar::Scrollbar):
7028 (WebCore::Scrollbar::~Scrollbar):
7029 * platform/ScrollbarTheme.h:
7030 (WebCore::ScrollbarTheme::registerScrollbar):
7031 (WebCore::ScrollbarTheme::unregisterScrollbar):
7032 * platform/mac/ScrollbarThemeMac.h:
7033 * platform/mac/ScrollbarThemeMac.mm:
7034 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
7035 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
7036 (+[ScrollbarPrefsObserver registerAsObserver]):
7037 (WebCore::ScrollbarThemeMac::registerScrollbar):
7038 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
7039 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
7040 (WebCore::ScrollbarThemeMac::preferencesChanged):
7041
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +000070422008-09-24 Rob Buis <buis@kde.org>
7043
7044 Reviewed by Darin.
7045
7046 https://bugs.webkit.org/show_bug.cgi?id=20557
7047 getScreenCTM() returns wrong values
7048
7049 Use the absolute position of the svg root when
7050 determining the screen ctm.
7051
7052 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
7053
7054 * svg/SVGSVGElement.cpp:
7055 (WebCore::SVGSVGElement::getScreenCTM):
7056
hyatt@apple.com40a73652008-09-24 18:15:15 +000070572008-09-24 David Hyatt <hyatt@apple.com>
7058
hyatt@apple.come77b7d42008-09-24 18:26:51 +00007059 Turn off support for CSS variables.
7060
7061 * ChangeLog:
7062 * css/CSSParser.cpp:
7063 (WebCore::CSSParser::createVariablesRule):
7064 (WebCore::CSSParser::addVariable):
7065 (WebCore::CSSParser::addVariableDeclarationBlock):
7066
70672008-09-24 David Hyatt <hyatt@apple.com>
7068
hyatt@apple.com40a73652008-09-24 18:15:15 +00007069 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
7070
7071 * css/CSSGrammar.y:
7072 * css/CSSParserValues.cpp:
7073 (WebCore::CSSParserValue::isVariable):
7074 * css/CSSPrimitiveValue.cpp:
7075 (WebCore::CSSPrimitiveValue::cleanup):
7076 (WebCore::CSSPrimitiveValue::getStringValue):
7077 (WebCore::CSSPrimitiveValue::cssText):
7078 (WebCore::CSSPrimitiveValue::parserValue):
7079 * css/CSSPrimitiveValue.h:
7080 (WebCore::CSSPrimitiveValue::):
7081 (WebCore::CSSPrimitiveValue::isVariable):
7082
timothy@apple.com0214f092008-09-24 16:23:17 +000070832008-09-24 Timothy Hatcher <timothy@apple.com>
7084
7085 Fixes a regression where the "incorrect MIME-type" warning would not
7086 show up correctly in the Console or the resources sidebar.
7087
7088 Reviewed by Kevin McCullough.
7089
7090 * page/inspector/Resource.js:
7091 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
7092 to the WebInspector.ConsoleMessage constructor call.
7093 (WebInspector.Resource.prototype._checkWarning): Ditto.
7094
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +000070952008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
7096
7097 Reviewed by Simon.
7098
7099 Remove deprecated JS Qt bindings object call/construct code and fix autotests
7100
7101 * bridge/qt/qt_instance.cpp:
7102 (JSC::Bindings::QtInstance::QtInstance):
7103 * bridge/qt/qt_instance.h:
7104
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +000071052008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
7106
7107 Reviewed by Alp Toker. Landed by Jan Alonzo.
7108
7109 Bug 20883: [CURL] Add deferred loading
7110 https://bugs.webkit.org/show_bug.cgi?id=20883
7111
7112 Implement deferred loading for the libcURL backend using curl_easy_pause.
7113 As the method was introduced in version 7.18.0, all the code checks for libcURL
7114 version.
7115
7116 * platform/network/curl/ResourceHandleCurl.cpp:
7117 (WebCore::ResourceHandle::setDefersLoading):
7118 * platform/network/curl/ResourceHandleManager.cpp:
7119 (WebCore::writeCallback): Add an assertion that deferred loading is not
7120 activated.
7121 (WebCore::headerCallback): Ditto.
7122 (WebCore::readCallback): Ditto.
7123 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
7124 defersLoading to be false in order to avoid triggering an assertion.
7125 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
7126 activated, pause the easy handle.
7127
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +000071282008-09-23 Matt Lilek <webkit@mattlilek.com>
7129
7130 Reviewed by Tim Hatcher.
7131
7132 Inspector search field style tweaks.
7133
7134 * page/inspector/inspector.css:
7135
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +000071362008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
7137
7138 Reviewed by Eric.
7139
7140 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
7141
7142 Fix missing negation in EventTargetNode::insertedIntoDocument.
7143 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
7144 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
7145
7146 * dom/EventTargetNode.cpp:
7147 (WebCore::EventTargetNode::insertedIntoDocument):
7148 (WebCore::EventTargetNode::dispatchGenericEvent):
7149 * dom/EventTargetNode.h:
7150
timothy@apple.combffde042008-09-24 02:07:39 +000071512008-09-23 Timothy Hatcher <timothy@apple.com>
7152
timothy@apple.com99c03532008-09-24 02:08:44 +00007153 Adds search support to the Profiles panel.
7154
7155 The Profiles panel supports a few types of queries:
7156 * Standard string matching for function names and file URLs.
7157 * Greater than and less than search for numeric columns.
7158 So a query of ">24" will match all rows that have calls
7159 greater than 24. Or "<=42" will match all 42 or less.
7160 * Percent and time units. Adding a unit of "s", "ms" or "%"
7161 is supported and will match only the Self and Total columns.
7162 So a query of ">1.25s" will match all rows that took longer
7163 than 1.25 seconds.
7164
7165 Reviewed by Oliver Hunt.
7166
7167 * page/inspector/ProfileView.js:
7168 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
7169 it will start at the first result.
7170 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
7171 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
7172 data grid nodes.
7173 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
7174 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
7175 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
7176 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
7177 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
7178 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
7179 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
7180 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
7181 Expand all the ancestors first so the profile node will have a DataGridNode.
7182 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
7183 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
7184 have search matches.
7185 * page/inspector/ProfilesPanel.js:
7186 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
7187 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
7188 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
7189 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
7190 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
7191 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
7192 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
7193 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
7194 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
7195 * page/inspector/inspector.css: New style rules for the cell highlight color.
7196
71972008-09-23 Timothy Hatcher <timothy@apple.com>
7198
timothy@apple.com33c28442008-09-24 02:08:39 +00007199 Adds search support to the Resources and Scripts panels.
7200
7201 https://bugs.webkit.org/show_bug.cgi?id=21005
7202
7203 Reviewed by Oliver Hunt.
7204
7205 * page/inspector/Images/searchSmallBlue.png: Added.
7206 * page/inspector/Images/searchSmallBrightBlue.png: Added.
7207 * page/inspector/Images/searchSmallGray.png: Added.
7208 * page/inspector/Images/searchSmallWhite.png: Added.
7209 * page/inspector/ResourceView.js:
7210 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
7211 or "script-resource-views" since one might not be created yet.
7212 * page/inspector/ResourcesPanel.js:
7213 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
7214 are not this panel's current visible view. This can happen when a ResourceView is
7215 visible in the Scripts panel then switched to the this panel.
7216 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
7217 visibleView first.
7218 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
7219 that uses the current graph search function. So cycling through results will be in the order
7220 things appear in the sidebar.
7221 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
7222 resource's sidebar tree element.
7223 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
7224 in the sidebar. Calls the Panel prototype's searchCanceled.
7225 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
7226 in the sidebar. Calls the Panel prototype's performSearch.
7227 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
7228 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
7229 if there is a current search query.
7230 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
7231 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
7232 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
7233 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
7234 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
7235 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
7236 * page/inspector/ScriptView.js:
7237 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
7238 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
7239 it will start at the first result.
7240 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
7241 highlighting complete".
7242 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
7243 * page/inspector/ScriptsPanel.js:
7244 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
7245 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
7246 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
7247 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
7248 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
7249 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
7250 * page/inspector/SourceFrame.js:
7251 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
7252 * page/inspector/SourceView.js:
7253 (WebInspector.SourceView.prototype.hide):
7254 (WebInspector.SourceView.prototype.detach):
7255 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
7256 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
7257 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
7258 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
7259 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
7260 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
7261 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
7262 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
7263 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
7264 (WebInspector.SourceView.prototype.showingFirstSearchResult):
7265 (WebInspector.SourceView.prototype.showingLastSearchResult):
7266 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
7267 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
7268 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
7269 * page/inspector/inspector.css:
7270
72712008-09-23 Timothy Hatcher <timothy@apple.com>
7272
timothy@apple.com18950ed2008-09-24 02:08:32 +00007273 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
7274 so future code can be shared.
7275
7276 https://bugs.webkit.org/show_bug.cgi?id=21005
7277
7278 Reviewed by Oliver Hunt.
7279
7280 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
7281 And visibleResourceView to visibleView.
7282 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
7283
72842008-09-23 Timothy Hatcher <timothy@apple.com>
7285
timothy@apple.comcb23f4a2008-09-24 02:08:27 +00007286 Highlight all matched search results in the Elements panel DOM tree.
7287
7288 https://bugs.webkit.org/show_bug.cgi?id=21005
7289
7290 Reviewed by Oliver Hunt.
7291
7292 * page/inspector/ElementsPanel.js:
7293 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
7294 on all previous search results.
7295 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
7296 on all new search results.
7297 * page/inspector/ElementsTreeOutline.js:
7298 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
7299 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
7300 the highlighted class on the listItemElement.
7301 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
7302 if needed. Calls _updateTitle.
7303 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
7304 class so it can be styled when the highlighted class is present.
7305 * page/inspector/inspector.css: New style rules for the hihglight.
7306
73072008-09-23 Timothy Hatcher <timothy@apple.com>
7308
timothy@apple.com574c0522008-09-24 02:08:19 +00007309 Add search support to the Elements panel.
7310
7311 https://bugs.webkit.org/show_bug.cgi?id=21005
7312
7313 Reviewed by Oliver Hunt.
7314
7315 * page/inspector/ElementsPanel.js:
7316 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
7317 with a 0 match count to rest. Reset the other search properties.
7318 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
7319 query and a CSS selector on all the Documents in the page. Remembers the found nodes
7320 and avoids duplicates. Focuses the first result.
7321 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
7322 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
7323
73242008-09-23 Timothy Hatcher <timothy@apple.com>
7325
timothy@apple.com82d233c2008-09-24 02:08:15 +00007326 Add support to Panel that allows easy searching of sub-views.
7327
7328 https://bugs.webkit.org/show_bug.cgi?id=21005
7329
7330 Reviewed by Oliver Hunt.
7331
7332 * page/inspector/Panel.js:
7333 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
7334 views in the search results and delete the currentQuery property. Call
7335 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
7336 other search properties.
7337 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
7338 reset everything we need before doing a new search. Get an array of searchableViews
7339 from the panel, implemented by sub-classes. Iterate over the views one-by-one
7340 with an interval to prevent blocking the UI for large lists of searchableViews.
7341 This keeps the interface really responsive. Pass a finishedCallback function to
7342 the performSearch on each view so it can notify the panel of results.
7343 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
7344 searchResults of the visibleView, so we know where in the results we are.
7345 This is done every time incase the user manually navigates to a new view.
7346 If the view is showing the last result, jump to the next view and show it's
7347 first result. Otherwise jump to the next result in the current view.
7348 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
7349
73502008-09-23 Timothy Hatcher <timothy@apple.com>
7351
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +00007352 Add support for asking the current panel to perform a search, find next/previous and clear.
7353 A search is performed on the new new current panel when switching between panels. The search
7354 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
7355 be searched. The search field contents are selected when Command/Control-F or Enter/Return
7356 is pressed, so the user can easily type an entirely new query. The search match count shows
7357 up in the toolbar next to the search field.
7358
7359 Also changed:
7360 * Rename lastQuery to currentQuery since it better matches the truth.
7361 * Set the search field "results" attribute to zero since results arn't saved for
7362 how we use the search field.
7363 * Make repeated presses of the Return key jump to the next search result instead
7364 of doing nothing.
7365 * Increased the search field width.
7366
7367 https://bugs.webkit.org/show_bug.cgi?id=21005
7368
7369 Reviewed by Oliver Hunt.
7370
7371 * English.lproj/localizedStrings.js: New strings.
7372 * page/inspector/inspector.css: New styles.
7373 * page/inspector/inspector.html: Add the search-results-matches element. Add the
7374 incremental attribute to the search field and set the results attribute to zero.
7375 * page/inspector/inspector.js:
7376 (WebInspector.set currentPanel): perform the search on the new panel.
7377 (WebInspector.loaded): Change the event listeners and remove code that changes
7378 the search label text.
7379 (WebInspector.documentKeyDown): Add support for Command/Control-G and
7380 Command/Control-Shift-G. To jump to the next and previous search results.
7381 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
7382 This does different things depending on the attached state.
7383 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
7384 This prevents a "search" event from firing for key down. We handle the Enter key
7385 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
7386 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
7387 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
7388 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
7389 Call updateSearchMatchesCount to reset the matches count in the toolbar.
7390 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
7391
73922008-09-23 Timothy Hatcher <timothy@apple.com>
7393
timothy@apple.com1d5227a2008-09-24 02:08:01 +00007394 Remove the previous Inspector search code to make room for the new stuff.
7395
7396 https://bugs.webkit.org/show_bug.cgi?id=21005
7397
7398 Reviewed by Oliver Hunt.
7399
7400 * page/inspector/inspector.css:
7401 * page/inspector/inspector.html:
7402 * page/inspector/inspector.js:
7403 (WebInspector.get/set showingSearchResults): Removed.
7404 (WebInspector.searchResultsKeyDown): Removed.
7405 (WebInspector.searchResultsResizerDragStart): Removed.
7406 (WebInspector.searchResultsResizerDragEnd): Removed.
7407 (WebInspector.searchResultsResizerDrag): Removed.
7408 (WebInspector.performSearch): Removed searching parts.
7409
74102008-09-23 Timothy Hatcher <timothy@apple.com>
7411
timothy@apple.com5e915b722008-09-24 02:07:56 +00007412 Use the Array.remove helper function in more places.
7413
7414 https://bugs.webkit.org/show_bug.cgi?id=21037
7415
7416 Reviewed by Kevin McCullough.
7417
7418 * page/inspector/ResourceCategory.js:
7419 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
7420 * page/inspector/ResourcesPanel.js:
7421 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
7422 * page/inspector/inspector.js:
7423 (WebInspector.removeResource): Ditto.
7424
74252008-09-23 Timothy Hatcher <timothy@apple.com>
7426
timothy@apple.com3e116f12008-09-24 02:07:50 +00007427 Fixes a bug where inspecting a node after reloading the page
7428 would not reveal the node in the DOM tree. The TreeOutline
7429 was not being told to forget decendants of a removed child.
7430 So old TreeElements would be found that are not in the tree.
7431
7432 https://bugs.webkit.org/show_bug.cgi?id=21036
7433
7434 Reviewed by Kevin McCullough.
7435
7436 * page/inspector/treeoutline.js:
7437 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
7438 in addition to _forgetTreeElement.
7439 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
7440 in addition to _forgetTreeElement.
7441 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
7442 search for known elements.
7443 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
7444 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
7445 descendants and call _forgetTreeElement.
7446 * page/inspector/utilities.js:
7447 (Array.prototype.remove): Speed up this function by using Array.indexOf
7448 when onlyFirst is true.
7449
74502008-09-23 Timothy Hatcher <timothy@apple.com>
7451
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +00007452 Fixes a bug where inspecting some short text nodes does
7453 not reveal them in the Elements panel DOM tree.
7454
7455 https://bugs.webkit.org/show_bug.cgi?id=21035
7456
7457 Reviewed by Oliver Hunt.
7458
7459 * page/inspector/ElementsTreeOutline.js:
7460 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
7461 The revealAndSelectNode() method might find a different element
7462 if there is inlined text, and the select() call would change the
7463 focusedDOMNode and reenter this setter. So to avoid calling
7464 focusedNodeChanged() twice, first check if _focusedDOMNode is
7465 the same node as the one passed in.
7466 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
7467 this.treeOutline, since this is the TreeOutline.
7468 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
7469 Provides default functions for isAncestor, getParet and equal.
7470 Calls the base protoype's findTreeElement. If that returns null
7471 and the node is a text node, try finding it's parent.
7472 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
7473 Renamed to revealAndSelectNode.
7474 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
7475 Selects and reveals the node passed in. Use the simple findTreeElement.
7476 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
7477 Remove use of this.treeOutline, since this is the TreeOutline.
7478
74792008-09-23 Timothy Hatcher <timothy@apple.com>
7480
timothy@apple.combffde042008-09-24 02:07:39 +00007481 Fixes an exception that happened when removing a Resource
7482 from the ResourcesPanel.
7483
7484 https://bugs.webkit.org/show_bug.cgi?id=21034
7485
7486 Reviewed by Kevin McCullough.
7487
7488 * page/inspector/ResourcesPanel.js:
7489 (WebInspctor.ResourcesPanel.prototype.removeResource):
7490 Remove the graphElement.
7491
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000074922008-09-23 Kevin McCullough <kmccullough@apple.com>
7493
7494 Fixed "Time" to "Tim"
7495
7496 * ChangeLog:
7497
zimmermann@webkit.org718a2232008-09-24 01:00:42 +000074982008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
7499
7500 Reviewed by Oliver.
7501
7502 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
7503 from SVGDocumentExtensions to SVGElement. It's more useful to store
7504 the list of SVGElementInstances per SVGElement, instead of using
7505 a document-wide hash for this purpose.
7506
7507 * svg/SVGAnimateMotionElement.cpp:
7508 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
7509 * svg/SVGAnimateTransformElement.cpp:
7510 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
7511 * svg/SVGAnimationElement.cpp:
7512 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
7513 * svg/SVGDocumentExtensions.cpp:
7514 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
7515 * svg/SVGDocumentExtensions.h:
7516 * svg/SVGElement.cpp:
7517 (WebCore::SVGElement::mapInstanceToElement):
7518 (WebCore::SVGElement::removeInstanceMapping):
7519 (WebCore::SVGElement::instancesForElement):
7520 * svg/SVGElement.h:
7521 * svg/SVGElementInstance.cpp:
7522 (WebCore::SVGElementInstance::SVGElementInstance):
7523 (WebCore::SVGElementInstance::~SVGElementInstance):
7524 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
7525 * svg/SVGElementInstance.h:
7526 * svg/SVGStyledElement.cpp:
7527 (WebCore::SVGStyledElement::svgAttributeChanged):
7528 (WebCore::SVGStyledElement::childrenChanged):
7529 * svg/SVGStyledElement.h:
7530
kevino@webkit.org706ea432008-09-24 00:53:56 +000075312008-09-23 Kevin Ollivier <kevino@theolliviers.com>
7532
7533 wx build fix.
7534
7535 * WebCoreSources.bkl:
7536
zimmermann@webkit.org97c71082008-09-24 00:23:28 +000075372008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
7538
7539 Rubber stamped by Sam.
7540
7541 Move code from EventTarget to EventTargetNode.
7542
7543 I refactored most parts to live in EventTarget, a year ago,
7544 though the implementation of EventTargetSVGElementInstance is
7545 done in another way, that obsoletes this.
7546
7547 * dom/Document.cpp:
7548 (WebCore::Document::addListenerTypeIfNeeded):
7549 * dom/Document.h:
7550 * dom/EventTarget.cpp:
7551 * dom/EventTarget.h:
7552 (WebCore::allowEventDispatch):
7553 * dom/EventTargetNode.cpp:
7554 (WebCore::EventTargetNode::insertedIntoDocument):
7555 (WebCore::EventTargetNode::removedFromDocument):
7556 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
7557 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
7558 (WebCore::EventTargetNode::addEventListener):
7559 (WebCore::EventTargetNode::removeEventListener):
7560 (WebCore::EventTargetNode::removeAllEventListeners):
7561 (WebCore::EventTargetNode::handleLocalEvents):
7562 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
7563 (WebCore::EventTargetNode::dispatchEvent):
7564 (WebCore::EventTargetNode::dispatchGenericEvent):
7565 (WebCore::EventTargetNode::dispatchWindowEvent):
7566 (WebCore::EventTargetNode::removeEventListenerForType):
7567 * dom/EventTargetNode.h:
7568 * svg/EventTargetSVGElementInstance.cpp:
7569 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
7570 * svg/SVGElement.cpp:
7571 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
7572 * svg/SVGElement.h:
7573 (WebCore::SVGElement::supplementalTransform):
7574
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +000075752008-09-23 Dave Hyatt <hyatt@apple.com>
7576
7577 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
7578 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
7579
7580 Reviewed by Sam Weinig
7581
7582 * platform/mac/ScrollbarThemeMac.mm:
7583 (WebCore::ScrollbarThemeMac::trackRect):
7584 * platform/win/ScrollbarThemeSafari.cpp:
7585 (WebCore::ScrollbarTheme::nativeTheme):
7586 (WebCore::ScrollbarThemeSafari::trackRect):
7587
bdakin@apple.comaab5d692008-09-24 00:09:33 +000075882008-09-23 Beth Dakin <bdakin@apple.com>
7589
7590 Reviewed by Sam Weinig.
7591
7592 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
7593 link at gmail does not support AXPress action
7594 and corresponding: <rdar://problem/6216178>
7595
7596 I fixed this bug by making AccessibilityObject::anchorElement
7597 support ARIA links.
7598
7599 * page/AccessibilityImageMapLink.cpp:
7600 (WebCore::AccessibilityImageMapLink::anchorElement):
7601 * page/AccessibilityImageMapLink.h:
7602 * page/AccessibilityObject.cpp:
7603 (WebCore::AccessibilityObject::anchorElement):
7604 * page/AccessibilityObject.h:
7605 (WebCore::AccessibilityObject::isNativeAnchor):
7606 * page/AccessibilityRenderObject.cpp:
7607 (WebCore::AccessibilityRenderObject::isNativeAnchor):
7608 (WebCore::AccessibilityRenderObject::anchorElement):
7609 (WebCore::AccessibilityRenderObject::internalLinkElement):
7610 (WebCore::AccessibilityRenderObject::url):
7611 * page/AccessibilityRenderObject.h:
7612 * page/mac/AccessibilityObjectWrapper.mm:
7613 (AXLinkElementForNode):
7614
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000076152008-09-23 Kevin McCullough <kmccullough@apple.com>
7616
kmccullough@apple.com70d32f22008-09-24 01:18:31 +00007617 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +00007618
7619 Bug 20949: Catch repeated messages in Inspector Controller to limit
7620 memory usage
7621 - Store the repeat count in the Console Message object, in the
7622 Inspector Controller and JS ConsoleMessage object.
7623
7624 * page/InspectorController.cpp:
7625 (WebCore::ConsoleMessage::ConsoleMessage):
7626 (WebCore::ConsoleMessage::operator==):
7627 (WebCore::InspectorController::InspectorController):
7628 (WebCore::InspectorController::addConsoleMessage):
7629 (WebCore::InspectorController::addScriptConsoleMessage):
7630 * page/InspectorController.h:
7631 * page/inspector/Console.js:
7632 * page/inspector/Resource.js:
7633 * page/inspector/ResourcesPanel.js:
7634 * page/inspector/SourceFrame.js:
7635
zimmermann@webkit.org29d22032008-09-23 23:44:20 +000076362008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
7637
7638 Reviewed by Eric.
7639
7640 Working on proper EventTarget support for SVGElementInstance.
7641
7642 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
7643 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
7644
7645 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
7646 implementation. Let it use TreeShared directly.
7647
7648 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
7649 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
7650
7651 * GNUmakefile.am:
7652 * WebCore.pro:
7653 * WebCore.vcproj/WebCore.vcproj:
7654 * WebCore.xcodeproj/project.pbxproj:
7655 * bindings/js/JSEventTargetBase.cpp:
7656 (WebCore::retrieveEventTargetAndCorrespondingNode):
7657 (WebCore::toJS):
7658 * bindings/js/JSEventTargetBase.h:
7659 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
7660 (WebCore::):
7661 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
7662 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
7663 (WebCore::JSEventTargetSVGElementInstance::setListener):
7664 (WebCore::JSEventTargetSVGElementInstance::getListener):
7665 (WebCore::toEventTargetSVGElementInstance):
7666 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
7667 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
7668 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
7669 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
7670 (WebCore::JSEventTargetSVGElementInstance::put):
7671 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
7672 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
7673 (WebCore::toJS):
7674 * bindings/objc/DOM.mm:
7675 (+[DOMNode _wrapEventTarget:WebCore::]):
7676 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
7677 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
7678 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
7679 (-[DOMSVGElementInstance WebCore::]):
7680 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
7681 (-[DOMSVGElementInstance addEventListener:::]):
7682 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
7683 (-[DOMSVGElementInstance removeEventListener:::]):
7684 (-[DOMSVGElementInstance dispatchEvent:]):
7685 * bindings/objc/DOMEvents.h:
7686 * bindings/scripts/CodeGeneratorJS.pm:
7687 * bindings/scripts/CodeGeneratorObjC.pm:
7688 * svg/EventTargetSVGElementInstance.cpp: Added.
7689 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
7690 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
7691 (WebCore::EventTargetSVGElementInstance::addEventListener):
7692 (WebCore::EventTargetSVGElementInstance::removeEventListener):
7693 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
7694 * svg/EventTargetSVGElementInstance.h: Added.
7695 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
7696 (WebCore::EventTargetSVGElementInstance::toNode):
7697 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
7698 (WebCore::EventTargetSVGElementInstance::refEventTarget):
7699 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
7700 (WebCore::EventTargetSVGElementInstanceCast):
7701 * svg/SVGElement.cpp:
7702 (WebCore::SVGElement::dispatchEvent):
7703 * svg/SVGElementInstance.cpp:
7704 (WebCore::SVGElementInstance::SVGElementInstance):
7705 (WebCore::SVGElementInstance::~SVGElementInstance):
7706 * svg/SVGElementInstance.h:
7707 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
7708 * svg/SVGElementInstance.idl:
7709
mitz@apple.come47c5af2008-09-23 21:47:54 +000077102008-09-23 Dan Bernstein <mitz@apple.com>
7711
7712 Reviewed by Dave Hyatt.
7713
7714 - https://bugs.webkit.org/show_bug.cgi?id=21040
7715 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
7716
7717 * platform/graphics/mac/SimpleFontDataMac.mm:
7718 (WebCore::SimpleFontData::getCTFont):
7719
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +000077202008-09-23 David Hyatt <hyatt@apple.com>
7721
7722 https://bugs.webkit.org/show_bug.cgi?id=21039
7723
7724 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
7725
7726 Reviewed by Sam Weinig
7727
7728 * platform/ScrollView.h:
7729 * platform/Scrollbar.cpp:
7730 (WebCore::Scrollbar::setFrameGeometry):
7731 * platform/Scrollbar.h:
7732 * platform/Widget.cpp:
7733 (WebCore::Widget::convertFromContainingWindow):
7734 * platform/Widget.h:
7735 * platform/mac/ScrollViewMac.mm:
7736 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
7737 (WebCore::ScrollView::ScrollView):
7738 (WebCore::ScrollView::~ScrollView):
7739 (WebCore::ScrollView::windowResizerRect):
7740 (WebCore::ScrollView::resizerOverlapsContent):
7741 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
7742 (WebCore::ScrollView::setParent):
7743 * platform/mac/WidgetMac.mm:
7744 (WebCore::Widget::convertFromContainingWindow):
7745
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +000077462008-09-23 Dirk Schulze <vbs85@gmx.de>
7747
7748 Reviewed by Darin Adler. Landed by Jan Alonzo.
7749
7750 Added support for getImageData() and putImageData()
7751 to Cairo.
7752
7753 [CAIRO] needs getImageData and putImageData support
7754 https://bugs.webkit.org/show_bug.cgi?id=20838
7755
7756 * platform/graphics/cairo/ImageBufferCairo.cpp:
7757 (WebCore::ImageBuffer::ImageBuffer):
7758 (WebCore::ImageBuffer::getImageData):
7759 (WebCore::ImageBuffer::putImageData):
7760
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +000077612008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
7762
7763 Reviewed by Holger Freyther.
7764
7765 http://bugs.webkit.org/show_bug.cgi?id=18987
7766 [GTK] Implement SharedBuffer::createWithContentsOfFile and
7767 KURL::fileSystemPath
7768
7769 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
7770 * platform/gtk/KURLGtk.cpp: Added.
7771 (WebCore::KURL::fileSystemPath): Implemented.
7772 * platform/gtk/SharedBufferGtk.cpp: Added.
7773 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
7774 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
7775
ap@webkit.org198304c2008-09-23 16:34:41 +000077762008-09-23 Alexey Proskuryakov <ap@webkit.org>
7777
ap@webkit.orgccfa60a2008-09-23 20:39:22 +00007778 Reviewed by Oliver Hunt, okayed by Darin Adler.
7779
7780 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
7781
7782 * rendering/InlineTextBox.cpp:
7783 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
7784
77852008-09-23 Alexey Proskuryakov <ap@webkit.org>
7786
ap@webkit.org198304c2008-09-23 16:34:41 +00007787 Reviewed by Darin Adler.
7788
7789 https://bugs.webkit.org/show_bug.cgi?id=21023
7790 Don't use TEC for encodings supported by ICU
7791
7792 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
7793 x-mac-greek, and x-mac-turkish.
7794
7795 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
7796 Register aliases for these encodings that are not registered automatically; updated comments.
7797
mjs@apple.coma6dc93d2008-09-23 07:46:55 +000077982008-09-23 Maciej Stachowiak <mjs@apple.com>
7799
7800 Reviewed by Darin.
7801
7802 - speed up instanceof some more
7803 https://bugs.webkit.org/show_bug.cgi?id=20818
7804
7805 ~2% speedup on EarleyBoyer
7806
7807 (WebCore updates.)
7808
7809 * bindings/js/JSQuarantinedObjectWrapper.h:
7810 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
7811
oliver@apple.combc10aae2008-09-23 07:40:49 +000078122008-09-22 Darin Adler <darin@apple.com>
7813
7814 Reviewed by Oliver Hunt.
7815
7816 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
7817 getting pixels by index from CanvasPixelArray is unnecessarily slow
7818
7819 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
7820 * WebCore.vcproj/WebCore.vcproj: Ditto.
7821 * WebCore.xcodeproj/project.pbxproj: Ditto.
7822
7823 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
7824 indexSetter. These are now both inlined, so in the header.
7825 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
7826 function is what's used for HasCustomIndexGetter. Also moved the
7827 indexSetter function here.
7828
7829 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
7830 to use a getByIndex member function rather than an indexGetter static
7831 member function in a property slot. This lets us avoid the property
7832 slot mechanism's rule where it turns numeric property names into
7833 strings in the identifier table, which is good because that's slow.
7834 Also added a new property CustomHeader that allows IDL files to
7835 introduce headers to be included -- useful when we have functions
7836 that we want to inline into the binding.
7837
7838 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
7839
eric@webkit.org924a2d32008-09-23 07:04:11 +000078402008-09-23 Eric Seidel <eric@webkit.org>
7841
7842 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +00007843
7844 Another blind stab in the dark.
7845
7846 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
7847
78482008-09-23 Eric Seidel <eric@webkit.org>
7849
7850 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +00007851
7852 Third time's the charm, eh? My local build is sadly still not done...
7853
7854 * platform/graphics/AffineTransform.cpp: remove extra &
7855 * platform/graphics/AffineTransform.h: remove extra &
7856
eric@webkit.orgf394f462008-09-23 06:38:10 +000078572008-09-22 Eric Seidel <eric@webkit.org>
7858
7859 No review, build fix only.
7860
eric@webkit.orgf9212312008-09-23 06:47:51 +00007861 * platform/graphics/AffineTransform.cpp: remove extra ;
7862
78632008-09-22 Eric Seidel <eric@webkit.org>
7864
7865 No review, build fix only.
7866
eric@webkit.orgf394f462008-09-23 06:38:10 +00007867 Speculative fix for the build while I wait for my compile to finish.
7868
7869 * platform/graphics/AffineTransform.cpp:
7870
eric@webkit.org10583212008-09-23 06:05:59 +000078712008-09-22 Dirk Schulze <vbs85@gmx.de>
7872
7873 Reviewed by eseidel. Landed by eseidel.
7874
7875 Moved makeMapBetweenRects from SVG/CG to AffineTransform
7876 Make SVGResourceClipper::applyClip more cross-platform
7877
7878 * platform/graphics/AffineTransform.cpp:
7879 * platform/graphics/AffineTransform.h:
7880 * svg/graphics/cg/CgSupport.cpp:
7881 * svg/graphics/cg/CgSupport.h:
7882 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
7883 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
7884 * svg/graphics/cg/SVGResourceClipperCg.cpp:
7885 (WebCore::SVGResourceClipper::applyClip):
7886
alp@webkit.orgfaa63e42008-09-23 03:08:57 +000078872008-09-22 Alp Toker <alp@nuanti.com>
7888
7889 Reviewed by David Hyatt.
7890
7891 https://bugs.webkit.org/show_bug.cgi?id=16331
7892 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
7893
7894 Obey GTK+ focusing conventions for controls and anchor elements.
7895
7896 It could be interesting to push these decisions up to Settings or
7897 ChromeClient some day but this gets things working.
7898
7899 Right and middle click events still need some work to match GTK+
7900 conventions.
7901
7902 * html/HTMLAnchorElement.cpp:
7903 (WebCore::HTMLAnchorElement::isMouseFocusable):
7904 * html/HTMLFormControlElement.cpp:
7905 (WebCore::HTMLFormControlElement::isMouseFocusable):
7906 * page/EventHandler.cpp:
7907 (WebCore::EventHandler::sendContextMenuEvent):
7908
darin@apple.com4a266462008-09-23 01:24:31 +000079092008-09-22 Darin Adler <darin@apple.com>
7910
7911 * page/mac/FrameMac.mm:
7912 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
7913
weinig@apple.comb6a39b72008-09-23 01:19:56 +000079142008-09-22 Sam Weinig <sam@webkit.org>
7915
7916 Reviewed by Dan Bernstein.
7917
7918 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
7919 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
7920 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
7921 class!
7922
7923 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
7924 non-selectable input types, but return undefined when accessed.
7925
7926 * DerivedSources.make:
7927 * GNUmakefile.am:
7928 * WebCore.pro:
7929 * WebCore.vcproj/WebCore.vcproj:
7930 * WebCore.xcodeproj/project.pbxproj:
7931 * WebCoreSources.bkl:
7932 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
7933 * bindings/js/JSHTMLInputElementBase.h: Removed.
7934 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
7935 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
7936 (WebCore::JSHTMLInputElement::selectionStart):
7937 (WebCore::JSHTMLInputElement::selectionEnd):
7938 * bindings/js/JSHTMLInputElementCustom.h: Added.
7939 * html/HTMLInputElement.idl:
7940
mitz@apple.com895c54c2008-09-23 00:48:17 +000079412008-09-22 Dan Bernstein <mitz@apple.com>
7942
7943 Reviewed by Sam Weinig.
7944
7945 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
7946
7947 Not testable in DumpRenderTree or in Safari
7948
7949 * page/mac/FrameMac.mm:
7950 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
7951 case that the selection start node is a block.
7952
hyatt@apple.com78083552008-09-22 22:17:40 +000079532008-09-22 David Hyatt <hyatt@apple.com>
7954
7955 https://bugs.webkit.org/show_bug.cgi?id=21007
7956
7957 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
7958
7959 Reviewed by Sam Weinig
7960
7961 * page/EventHandler.cpp:
7962 (WebCore::EventHandler::handleMouseDoubleClickEvent):
7963
eric@webkit.orgb57170b2008-09-22 21:44:28 +000079642008-09-22 Eric Seidel <eric@webkit.org>
7965
7966 No review, rollback only.
7967
7968 Roll out Peter's change (per his request)
7969 http://trac.webkit.org/changeset/36069
7970 https://bugs.webkit.org/show_bug.cgi?id=19663
7971 This change has been the source of numerous regressions
7972 (several of which were latent bugs revealed by this change,
7973 others were bugs in this change)
7974
7975 * platform/graphics/BitmapImage.cpp:
7976 (WebCore::BitmapImage::BitmapImage):
7977 (WebCore::BitmapImage::startAnimation):
7978 (WebCore::BitmapImage::advanceAnimation):
7979 * platform/graphics/BitmapImage.h:
7980 * platform/graphics/cairo/ImageCairo.cpp:
7981 (WebCore::BitmapImage::draw):
7982 * platform/graphics/cg/ImageCG.cpp:
7983 (WebCore::BitmapImage::draw):
7984 * platform/graphics/qt/ImageQt.cpp:
7985 (WebCore::BitmapImage::draw):
7986 * platform/graphics/wx/ImageWx.cpp:
7987 (WebCore::BitmapImage::draw):
7988
mitz@apple.comdc318202008-09-22 21:32:14 +000079892008-09-22 Dan Bernstein <mitz@apple.com>
7990
7991 Reviewed by Sam Weinig.
7992
7993 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
7994
7995 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
7996 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
7997
7998 * config.h: Use Core Text if not building for Leopard or Tiger.
7999
hyatt@apple.com143e97c2008-09-22 21:03:02 +000080002008-09-22 David Hyatt <hyatt@apple.com>
8001
8002 https://bugs.webkit.org/show_bug.cgi?id=21006
8003
8004 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
8005 switched on. There are still a few more refinements to make to the rendering and behavior.
8006
8007 Reviewed by Darin Adler
8008
8009 * platform/ScrollbarThemeComposite.cpp:
8010 (WebCore::ScrollbarThemeComposite::paint):
8011 * platform/ScrollbarThemeComposite.h:
8012 (WebCore::ScrollbarThemeComposite::paintTrack):
8013 (WebCore::ScrollbarThemeComposite::paintButton):
8014 (WebCore::ScrollbarThemeComposite::paintThumb):
8015 * platform/mac/ScrollbarThemeMac.h:
8016 * platform/mac/ScrollbarThemeMac.mm:
8017 (WebCore::ScrollbarThemeMac::backButtonRect):
8018 (WebCore::ScrollbarThemeMac::forwardButtonRect):
8019 (WebCore::scrollbarPartToHIPressedState):
8020 (WebCore::ScrollbarThemeMac::paint):
8021 * platform/mac/WidgetMac.mm:
8022 (WebCore::Widget::invalidateRect):
8023
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +000080242008-09-22 Chris Marrin <cmarrin@apple.com>
8025
8026 Reviewed by Sam Weinig
8027
8028 transition end event when -webkit-transition-property: all puts wrong
8029 propertyName in event
8030 https://bugs.webkit.org/show_bug.cgi?id=20903
8031
8032 * page/animation/ImplicitAnimation.cpp:
8033 (WebCore::ImplicitAnimation::sendTransitionEvent):
8034
cfleizach@apple.com70013042008-09-22 18:30:36 +000080352008-09-22 Chris Fleizach <cfleizach@apple.com>
8036
8037 Reviewed by Darin Adler.
8038
cfleizach@apple.comdebb8722008-09-22 18:47:16 +00008039 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
8040
8041 Test: accessibility/table-one-cell.html
8042
8043 * page/AccessibilityTable.cpp:
8044 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
8045
80462008-09-22 Chris Fleizach <cfleizach@apple.com>
8047
8048 Reviewed by Darin Adler.
8049
cfleizach@apple.com70013042008-09-22 18:30:36 +00008050 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
8051
8052 Test: accessibility/textarea-selected-text-range.html
8053
8054 * page/AccessibilityRenderObject.cpp:
8055 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
8056
hyatt@apple.com4139b152008-09-22 18:21:37 +000080572008-09-22 David Hyatt <hyatt@apple.com>
8058
8059 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
8060 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
8061 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
8062 rule.
8063
8064 Reviewed by Sam Weinig
8065
8066 Added fast/css/nested-rule-parent-sheet.html
8067
8068 * css/CSSImportRule.cpp:
8069 (WebCore::CSSImportRule::insertedIntoParent):
8070 * css/CSSRule.cpp:
8071 (WebCore::CSSRule::parentStyleSheet):
8072 (WebCore::CSSRule::parentRule):
8073 * css/CSSStyleSheet.cpp:
8074 (WebCore::CSSStyleSheet::CSSStyleSheet):
8075 * css/CSSStyleSheet.h:
8076
mitz@apple.comd409a262008-09-22 18:17:57 +000080772008-09-22 Dan Bernstein <mitz@apple.com>
8078
8079 Reviewed by Sam Weinig.
8080
8081 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
8082 Make the ATSUI code path respect spacingDisabled()
8083
8084 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
8085
8086 * platform/graphics/mac/FontMacATSUI.mm:
8087 (WebCore::overrideLayoutOperation):
8088
mjs@apple.com221b4752008-09-22 15:03:52 +000080892008-09-22 Maciej Stachowiak <mjs@apple.com>
8090
8091 Reviewed by Cameron Zwarich.
8092
8093 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
8094
8095 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
8096
8097 2.2% speedup on EarleyBoyer benchmark.
8098
8099 * bindings/js/JSQuarantinedObjectWrapper.cpp:
8100 * bindings/js/JSQuarantinedObjectWrapper.h:
8101 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
8102 * bindings/scripts/CodeGeneratorJS.pm:
8103
aroben@apple.comd5cbddc2008-09-22 14:31:08 +000081042008-09-22 Adam Roben <aroben@apple.com>
8105
8106 Windows build fix
8107
8108 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
8109
mjs@apple.coma173abd2008-09-22 13:59:06 +000081102008-09-22 Maciej Stachowiak <mjs@apple.com>
8111
8112 Reviewed by Dave Hyatt.
8113
8114 Based on initial work by Darin Adler.
8115
8116 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
8117 - use this to JIT inline code for eq_null and neq_null
8118 https://bugs.webkit.org/show_bug.cgi?id=20823
8119
8120 * WebCore.xcodeproj/project.pbxproj:
8121 * WebCore.vcproj/WebCore.vcproj:
8122 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8123 (WebCore::JSCSSStyleDeclaration::nameGetter):
8124 * bindings/js/JSHTMLAllCollection.cpp: Added.
8125 (WebCore::):
8126 * bindings/js/JSHTMLAllCollection.h:
8127 (WebCore::JSHTMLAllCollection::createStructureID):
8128 (WebCore::JSHTMLAllCollection::toBoolean):
8129
vestbo@webkit.orgab848362008-09-22 13:27:06 +000081302008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
8131
8132 Reviewed by Simon.
8133
8134 Fix the QtWebKit build
8135
8136 * bridge/qt/qt_instance.cpp:
8137 (JSC::Bindings::QtRuntimeObjectImp::construct):
8138 * bridge/qt/qt_runtime.cpp:
8139
alp@webkit.orgcc9b0812008-09-22 08:53:06 +000081402008-09-22 Alp Toker <alp@nuanti.com>
8141
8142 Suggested by David Hyatt.
8143
8144 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
8145 so make it public.
8146
8147 * platform/ScrollView.h:
8148
hyatt@apple.com7cb18562008-09-22 07:57:52 +000081492008-09-22 David Hyatt <hyatt@apple.com>
8150
hyatt@apple.combac66582008-09-22 08:36:44 +00008151 Fix a regression in Windows scrollbar painting. (Also fix the same
8152 bug in my new viewless Mac scrollbar painting code). The track rect
8153 was being improperly inflated when painting resulting in the scrollbar
8154 being too tall and painting in the border of overflow sections.
8155
8156 Reviewed by Oliver Hunt
8157
8158 * platform/mac/ScrollbarThemeMac.mm:
8159 (WebCore::ScrollbarThemeMac::trackRect):
8160 * platform/win/ScrollbarThemeSafari.cpp:
8161 (WebCore::ScrollbarThemeSafari::trackRect):
8162
81632008-09-22 David Hyatt <hyatt@apple.com>
8164
hyatt@apple.com7cb18562008-09-22 07:57:52 +00008165 Fix a hit testing bug where events are mistakenly passed to subframes
8166 if the mouse is over the border or padding area of the frame. Add
8167 a boolean flag, isOverWidget(), to hit test results so that EventHandler
8168 can check it to tell if the mouse is really over the content box of a
8169 RenderWidget and not just in the border/padding area.
8170
8171 This is not testable, since the old code properly recovered when it detected
8172 that the mouse was outside the bounds of the view, but this prevents
8173 the extra passdown from even occurring (and is basically a nice cleanup).
8174
8175 Reviewed by Oliver Hunt
8176
8177 * page/EventHandler.cpp:
8178 (WebCore::EventHandler::handleMousePressEvent):
8179 (WebCore::EventHandler::hitTestResultAtPoint):
8180 (WebCore::subframeForHitTestResult):
8181 (WebCore::EventHandler::handleMouseDoubleClickEvent):
8182 (WebCore::EventHandler::handleMouseMoveEvent):
8183 (WebCore::EventHandler::handleMouseReleaseEvent):
8184 (WebCore::EventHandler::handleWheelEvent):
8185 * page/MouseEventWithHitTestResults.h:
8186 (WebCore::MouseEventWithHitTestResults::isOverWidget):
8187 * rendering/HitTestResult.cpp:
8188 (WebCore::HitTestResult::HitTestResult):
8189 (WebCore::HitTestResult::operator=):
8190 * rendering/HitTestResult.h:
8191 (WebCore::HitTestResult::isOverWidget):
8192 (WebCore::HitTestResult::setIsOverWidget):
8193 * rendering/RenderWidget.cpp:
8194 (WebCore::RenderWidget::nodeAtPoint):
8195 * rendering/RenderWidget.h:
8196
hyatt@apple.comb2bf5272008-09-22 05:54:40 +000081972008-09-21 David Hyatt <hyatt@apple.com>
8198
8199 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
8200 both it and ScrollView's updateContents method be off-limits to everyone in
8201 WebCore except for RenderView.
8202
8203 Make repaintViewRectangle the only possible method for WebCore code to do
8204 an invalidation. This ensures that all invalidates triggered by WebCore
8205 cross-platform code that cross ownerElement() boundaries are transform-aware.
8206
8207 Make sure that iframes/frames contained inside objects that have transforms
8208 or reflections are not allowed to blit (this was already true for transparency).
8209
8210 It is not possible to make a test for any of this, since iframe scrolling
8211 still doesn't work on Mac (since the invalidates are not being done
8212 through WebCore's cross-platform invalidation code but are instead going
8213 through NSScrollView's setNeedsDisplay still).
8214
8215 Reviewed by Oliver Hunt
8216
8217 * editing/SelectionController.cpp:
8218 (WebCore::SelectionController::recomputeCaretRect):
8219 (WebCore::SelectionController::invalidateCaretRect):
8220 (WebCore::SelectionController::focusedOrActiveStateChanged):
8221 * page/FrameView.cpp:
8222 (WebCore::FrameView::repaintContentRectangle):
8223 (WebCore::FrameView::endDeferredRepaints):
8224 * page/FrameView.h:
8225 * platform/ScrollView.h:
8226 * rendering/RenderBox.cpp:
8227 (WebCore::RenderBox::paintFillLayerExtended):
8228 * rendering/RenderLayer.cpp:
8229 (WebCore::RenderLayer::enclosingPositionedAncestor):
8230 (WebCore::RenderLayer::requiresSlowRepaints):
8231 * rendering/RenderLayer.h:
8232 (WebCore::RenderLayer::hasTransform):
8233 * rendering/RenderView.cpp:
8234 (WebCore::RenderView::paintBoxDecorations):
8235 (WebCore::RenderView::repaintViewRectangle):
8236 (WebCore::RenderView::setSelection):
8237
mjs@apple.com52b67602008-09-22 03:15:52 +000082382008-09-21 Maciej Stachowiak <mjs@apple.com>
8239
8240 Reviewed by Darin.
8241
8242 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
8243 https://bugs.webkit.org/show_bug.cgi?id=20981
8244
8245 * bindings/js/JSAudioConstructor.cpp:
8246 (WebCore::JSAudioConstructor::JSAudioConstructor):
8247 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8248 (WebCore::JSCSSStyleDeclaration::nameGetter):
8249 * bindings/js/JSDOMBinding.cpp:
8250 (WebCore::createDOMStructure):
8251 * bindings/js/JSDOMBinding.h:
8252 (WebCore::getDOMStructure):
8253 * bindings/js/JSDOMWindowShell.cpp:
8254 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
8255 (WebCore::JSDOMWindowShell::setWindow):
8256 * bindings/js/JSEventTargetNode.cpp:
8257 (WebCore::JSEventTargetNode::createPrototype):
8258 * bindings/js/JSHTMLOptionElementConstructor.cpp:
8259 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
8260 * bindings/js/JSImageConstructor.cpp:
8261 (WebCore::JSImageConstructor::JSImageConstructor):
8262 * bindings/js/JSXMLHttpRequestConstructor.cpp:
8263 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
8264 * bindings/js/JSXSLTProcessorConstructor.cpp:
8265 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
8266 * bindings/scripts/CodeGeneratorJS.pm:
8267
darin@apple.comad89d662008-09-22 02:12:57 +000082682008-09-21 Darin Adler <darin@apple.com>
8269
8270 Reviewed by Maciej Stachowiak.
8271
8272 - fix problem Maciej noticed where every JSNamedNodesCollection
8273 gets its own StructureID
8274
8275 * bindings/js/JSNamedNodesCollection.cpp:
8276 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
8277 getDOMStructure to get the structure.
8278 * bindings/js/JSNamedNodesCollection.h:
8279 (WebCore::JSNamedNodesCollection::createPrototype): Return the
8280 object prototype.
8281
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +000082822008-09-20 David Hyatt <hyatt@apple.com>
8283
8284 Make sure transformed scrollbars in overflow sections position
8285 properly. This patch mimics the same behavior that works for
8286 iframes, namely making sure that the same code that dynamically
8287 adjusts iframe widget positions at paint time for fixed positioning
8288 and transforms also applies to scrollbars. (This is as simple as passing
8289 in the current translation factor at paint time rather than crawling
8290 up the layer tree to compute a "false" absolute position.)
8291
8292 An existing transform test covers this (although only a pixel result
8293 reveals the correct rendering).
8294
8295 Reviewed by Darin Adler
8296
8297 * rendering/RenderLayer.cpp:
8298 (WebCore::RenderLayer::updateLayerPositions):
8299 (WebCore::RenderLayer::positionOverflowControls):
8300 (WebCore::RenderLayer::paintOverflowControls):
8301 (WebCore::RenderLayer::paintLayer):
8302 * rendering/RenderLayer.h:
8303
sfalken@apple.comd0274692008-09-22 00:08:30 +000083042008-09-21 Steve Falkenburg <sfalken@apple.com>
8305
sfalken@apple.com4fe10f92008-09-22 00:12:28 +00008306 Removed unnecessary nested timer check.
8307
8308 Rubber-stamped by Dan Bernstein.
8309
8310 * platform/win/SharedTimerWin.cpp:
8311 (WebCore::TimerWindowWndProc):
8312
83132008-09-21 Steve Falkenburg <sfalken@apple.com>
8314
sfalken@apple.comd0274692008-09-22 00:08:30 +00008315 Improve timer resolution on WinXP.
8316 https://bugs.webkit.org/show_bug.cgi?id=20979
8317
8318 Removed last-chance timer. It should not be necessary.
8319 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
8320 Remove Vista checks. We now run the same code on both XP and Vista.
8321
8322 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
8323 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
8324
8325 Reviewed by Maciej Stachowiak.
8326
8327 * platform/win/SharedTimerWin.cpp:
8328 (WebCore::):
8329 (WebCore::TimerWindowWndProc):
8330 (WebCore::setSharedTimerFireTime):
8331 * platform/win/SystemTimeWin.cpp:
8332 (WebCore::currentTime):
8333
eric@webkit.org3e96c482008-09-21 07:59:58 +000083342008-09-21 Dirk Schulze <vbs85@gmx.de>
8335
8336 Reviewed by eseidel. Landed by eseidel.
8337
eric@webkit.orgc3431282008-09-21 10:37:37 +00008338 All platforms use the DashArray in the GraphicsContext.
8339
8340 * svg/graphics/SVGPaintServer.h:
8341 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
8342 (WebCore::SVGPaintServerGradient::setup):
8343 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
8344 (WebCore::SVGPaintServerPattern::setup):
8345 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
8346 (WebCore::SVGPaintServerSolid::setup):
8347 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
8348 (WebCore::SVGPaintServerGradient::setup):
8349 * svg/graphics/qt/SVGPaintServerQt.cpp:
8350 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
8351 (WebCore::SVGPaintServerSolid::setup):
8352
83532008-09-21 Dirk Schulze <vbs85@gmx.de>
8354
8355 Reviewed by eseidel. Landed by eseidel.
8356
eric@webkit.org3e96c482008-09-21 07:59:58 +00008357 Moved DashArray to GraphicsContext.
8358
8359 * GNUmakefile.am:
8360 * WebCore.vcproj/WebCore.vcproj:
8361 * WebCore.xcodeproj/project.pbxproj:
8362 * platform/graphics/DashArray.h: Added.
8363 * platform/graphics/GraphicsContext.h:
8364 * platform/graphics/cairo/GraphicsContextCairo.cpp:
8365 (WebCore::GraphicsContext::setLineDash):
8366 * platform/graphics/cg/GraphicsContextCG.cpp:
8367 (WebCore::GraphicsContext::setLineDash):
8368 * platform/graphics/qt/GraphicsContextQt.cpp:
8369 (WebCore::GraphicsContext::setLineDash):
8370 * svg/graphics/SVGPaintServer.cpp:
8371 (WebCore::applyStrokeStyleToContext):
8372 * svg/graphics/SVGPaintServer.h:
8373 * svg/graphics/cg/CgSupport.cpp:
8374 * svg/graphics/cg/CgSupport.h:
8375
mitz@apple.com9138eca2008-09-21 07:16:29 +000083762008-09-21 Dan Bernstein <mitz@apple.com>
8377
8378 Reviewed by Mark Rowe.
8379
8380 - fix linker warnings
8381
8382 * WebCore.base.exp:
8383
darin@apple.comb1491772008-09-21 06:34:40 +000083842008-09-20 Darin Adler <darin@apple.com>
8385
darin@apple.comc3215132008-09-21 06:50:35 +00008386 - another try at fixing Qt
8387
8388 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
8389
83902008-09-20 Darin Adler <darin@apple.com>
8391
darin@apple.comb1491772008-09-21 06:34:40 +00008392 - blind attempt to fix Qt build
8393
8394 * bridge/qt/qt_runtime.cpp:
8395 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
8396 of regExpPrototype to make a RegExpObject. There should really be
8397 some sort of public helper function for this. Same thing for
8398 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
8399 (JSC::Bindings::):
8400 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
8401 It is not correct to do this inside the constructor because it could
8402 cause a garbage collect while the QtRuntimeMethod object is half-
8403 allocated, which could lead to a crash; note that RuntimeMethod,
8404 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
8405 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
8406
collinj@webkit.org8e01a432008-09-21 06:26:54 +000084072008-09-20 Collin Jackson <collinj@webkit.org>
8408
8409 Prefetch DNS for hyperlinks that the user mouses over.
8410
8411 https://bugs.webkit.org/show_bug.cgi?id=20931
8412
8413 Reviewed by Sam Weinig.
8414
8415 * page/Chrome.cpp:
8416 (WebCore::Chrome::mouseDidMoveOverElement):
8417
darin@apple.com8281d832008-09-21 02:29:12 +000084182008-09-20 Darin Adler <darin@apple.com>
8419
8420 Reviewed by Maciej Stachowiak.
8421
8422 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
8423 make each distinct C++ class get a distinct JSC::Structure
8424
8425 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8426 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
8427 ID. Note that this makes a new structure every time -- we could
8428 optimize this slightly be caching and reusing a single one.
8429
8430 * bridge/runtime_method.cpp:
8431 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
8432 getDOMStructure.
8433 * bridge/runtime_method.h:
8434 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
8435 getDOMStructure will work.
8436
8437 * bindings/js/JSDOMWindowShell.cpp:
8438 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
8439 0; needed in case garbage collection happens while creating the
8440 JSDOMWindow.
8441
mitz@apple.com9b3ac792008-09-21 00:42:30 +000084422008-09-20 Dan Bernstein <mitz@apple.com>
8443
mitz@apple.comf674f4f2008-09-21 00:49:49 +00008444 Reviewed by Eric Seidel.
8445
8446 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +00008447 <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 +00008448
8449 * svg/SVGTextContentElement.cpp:
8450 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
8451 not include the first character in the extraCharsAvailable count.
8452
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000084532008-09-20 Kevin Ollivier <kevino@theolliviers.com>
8454
kevino@webkit.orge66435f2008-09-20 23:39:25 +00008455 Reviewed by Dan Bernstein.
8456
8457 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +00008458
8459 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +00008460
8461 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
8462 (GetTextExtent):
8463
84642008-09-20 Kevin Ollivier <kevino@theolliviers.com>
8465
kevino@webkit.org2bc0d822008-09-20 22:31:24 +00008466 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
8467
8468 * WebCoreSources.bkl:
8469 * platform/ScrollView.h:
8470 * platform/wx/PopupMenuWx.cpp:
8471 (WebCore::PopupMenu::show):
8472 * platform/wx/RenderThemeWx.cpp:
8473 (WebCore::RenderThemeWx::paintButton):
8474 (WebCore::RenderThemeWx::paintTextField):
8475 (WebCore::RenderThemeWx::paintMenuList):
8476 (WebCore::RenderThemeWx::paintMenuListButton):
8477 * platform/wx/ScrollViewWx.cpp:
8478 (WebCore::ScrollView::setPlatformWidget):
8479 (WebCore::ScrollView::updateContents):
8480 (WebCore::ScrollView::update):
8481 (WebCore::ScrollView::visibleWidth):
8482 (WebCore::ScrollView::visibleHeight):
8483 (WebCore::ScrollView::scrollBy):
8484 (WebCore::ScrollView::resizeContents):
8485 (WebCore::ScrollView::contentsWidth):
8486 (WebCore::ScrollView::contentsHeight):
8487 (WebCore::ScrollView::isScrollViewScrollbar):
8488 (WebCore::ScrollView::adjustScrollbars):
8489 (WebCore::ScrollView::inWindow):
8490 (WebCore::ScrollView::removeChild):
8491 * platform/wx/WidgetWx.cpp:
8492 * plugins/wx/PluginViewWx.cpp:
8493 (WebCore::PluginView::setParentVisible):
8494 (WebCore::PluginView::updatePluginWidget):
8495
timothy@apple.comb697f272008-09-20 22:21:59 +000084962008-09-20 Timothy Hatcher <timothy@apple.com>
8497
8498 Fix the new Node Search button image to not be blurry.
8499
8500 * page/inspector/Images/nodeSearchButtons.png:
8501
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000085022008-09-20 Matt Lilek <webkit@mattlilek.com>
8503
8504 Reviewed by Tim Hatcher.
8505
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +00008506 Cut down some of the inspector javascript -> InspectorController glue code
8507 with two new macros. Also rearrange the exposed function list to be grouped
8508 by implementation and to all explicitly use the WebCore namespace.
8509
8510 * page/InspectorController.cpp:
8511 (WebCore::InspectorController::windowScriptObjectAvailable):
8512
85132008-09-20 Matt Lilek <webkit@mattlilek.com>
8514
8515 Reviewed by Tim Hatcher.
8516
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +00008517 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
8518
8519 * page/inspector/inspector.css:
8520
zimmermann@webkit.org953b7442008-09-20 20:19:45 +000085212008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
8522
8523 Reviewed by Eric.
8524
8525 Refactor HTMLImageLoader/SVGImageLoader code.
8526 Move html/HTMLImageLoader.* to loader/ImageLoader.*
8527
8528 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
8529 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
8530
8531 * GNUmakefile.am:
8532 * WebCore.pro:
8533 * WebCore.vcproj/WebCore.vcproj:
8534 * WebCore.xcodeproj/project.pbxproj:
8535 * WebCoreSources.bkl:
8536 * dom/Document.cpp:
8537 (WebCore::Document::dispatchImageLoadEventSoon):
8538 (WebCore::Document::removeImage):
8539 (WebCore::Document::dispatchImageLoadEventsNow):
8540 * dom/Document.h:
8541 * html/HTMLImageLoader.cpp:
8542 (WebCore::HTMLImageLoader::HTMLImageLoader):
8543 (WebCore::HTMLImageLoader::~HTMLImageLoader):
8544 (WebCore::HTMLImageLoader::sourceURI):
8545 (WebCore::HTMLImageLoader::notifyFinished):
8546 * html/HTMLImageLoader.h:
8547 * loader/DocLoader.h:
8548 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
8549 (WebCore::ImageLoader::ImageLoader):
8550 (WebCore::ImageLoader::~ImageLoader):
8551 (WebCore::ImageLoader::setImage):
8552 (WebCore::ImageLoader::setLoadingImage):
8553 (WebCore::ImageLoader::updateFromElement):
8554 (WebCore::ImageLoader::notifyFinished):
8555 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
8556 * svg/SVGImageElement.cpp:
8557 (WebCore::SVGImageElement::attach):
8558 (WebCore::SVGImageElement::insertedIntoDocument):
8559 (WebCore::SVGImageElement::imageSourceAttributeName):
8560 * svg/SVGImageElement.h:
8561 * svg/SVGImageLoader.cpp:
8562 (WebCore::SVGImageLoader::SVGImageLoader):
8563 (WebCore::SVGImageLoader::dispatchLoadEvent):
8564 (WebCore::SVGImageLoader::sourceURI):
8565 * svg/SVGImageLoader.h:
8566
zecke@webkit.orgf3834492008-09-20 14:23:55 +000085672008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
8568
zecke@webkit.org7a15a532008-09-20 14:24:27 +00008569 Build fix.
8570
zecke@webkit.orga832cca2008-09-20 14:24:45 +00008571 [qtwebkit] ScrollBar build fix after r36684.
8572 BackButtonPart was split into Start and End Part
8573 ForwardButtonPart was split into Start and End Part
8574
zecke@webkit.orga832cca2008-09-20 14:24:45 +00008575 * platform/qt/ScrollbarThemeQt.cpp:
8576 (WebCore::scPart):
8577 (WebCore::scrollbarPart):
8578 (WebCore::styleOptionSlider):
8579
85802008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
8581
8582 Build fix.
8583
zecke@webkit.org7a15a532008-09-20 14:24:27 +00008584 [qtwebkit] Make qt_instance.cpp compile.
8585 Revision of 36675 introduced getDOMStructure to give unique
8586 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
8587 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
8588
8589 * bridge/qt/qt_instance.cpp:
8590 (JSC::Bindings::QtInstance::getRuntimeObject):
8591
85922008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
8593
zecke@webkit.orgf3834492008-09-20 14:23:55 +00008594 Reviewed by Nikolas Zimmermann.
8595
zecke@webkit.org95ff1412008-09-20 14:24:10 +00008596 [svg] Change SVGLocatable to deal with a plain SVGElement
8597 There is no requirement in the code that we have to have a
8598 SVGStyledElement. Remove that artificial limitation and compile
8599 with SVGElement.
8600
8601 * svg/SVGLocatable.cpp:
8602 * svg/SVGLocatable.h:
8603
86042008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
8605
8606 Reviewed by Nikolas Zimmermann.
8607
zecke@webkit.orgf3834492008-09-20 14:23:55 +00008608 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
8609 management.
8610
8611 * dom/Document.cpp:
8612 (WebCore::Document::~Document):
8613 (WebCore::Document::svgExtensions):
8614 (WebCore::Document::accessSVGExtensions):
8615 * dom/Document.h:
8616
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000086172008-09-19 David Hyatt <hyatt@apple.com>
8618
hyatt@apple.com1fe09172008-09-20 05:09:44 +00008619 Fix for crash in updateTransitions. Make sure to test for a style
8620 being null when comparing two RenderStyles.
8621
8622 Reviewed by Oliver Hunt
8623
8624 * page/animation/AnimationBase.cpp:
8625 (WebCore::PropertyWrapperGetter::equals):
8626
86272008-09-19 David Hyatt <hyatt@apple.com>
8628
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +00008629 https://bugs.webkit.org/show_bug.cgi?id=20954
8630
8631 Roll out r36628 since it has caused horrible regressions with
8632 animated GIF CPU usage.
8633
8634 * platform/graphics/BitmapImage.cpp:
8635 (WebCore::BitmapImage::cacheFrame):
8636 (WebCore::BitmapImage::startAnimation):
8637 * platform/graphics/BitmapImage.h:
8638 (WebCore::FrameData::FrameData):
8639 * platform/graphics/cairo/ImageCairo.cpp:
8640 (WebCore::FrameData::clear):
8641 * platform/graphics/cg/ImageCG.cpp:
8642 (WebCore::FrameData::clear):
8643 * platform/graphics/qt/ImageQt.cpp:
8644 (WebCore::FrameData::clear):
8645 * platform/graphics/wx/ImageWx.cpp:
8646 (WebCore::FrameData::clear):
8647
alp@webkit.orgd1e860e2008-09-20 03:43:42 +000086482008-09-20 Alp Toker <alp@nuanti.com>
8649
8650 Reviewed by Timothy Hatcher.
8651
8652 https://bugs.webkit.org/show_bug.cgi?id=20913
8653 Avoid redudant includes
8654
8655 Document.h is included excessively such that a modification to Document.h (or
8656 any of the header it includes itself) triggers a rebuild of many files
8657 including the whole of SVG and a lot of the JS bindings.
8658
8659 Some of these includes can be avoided by only including Document.h where
8660 necessary.
8661
8662 * bindings/js/JSAttrCustom.cpp:
8663 * bindings/js/JSElementCustom.cpp:
8664 * bindings/js/JSEventTargetBase.cpp:
8665 * bindings/js/JSEventTargetBase.h:
8666 * bindings/js/JSEventTargetNode.cpp:
8667 * bindings/js/JSHTMLFrameElementCustom.cpp:
8668 * bindings/js/JSHTMLIFrameElementCustom.cpp:
8669 * bindings/scripts/CodeGeneratorJS.pm:
8670 * css/CSSCursorImageValue.cpp:
8671 * css/SVGCSSStyleSelector.cpp:
8672 * dom/make_names.pl:
8673 * svg/SVGAnimateElement.h:
8674 * svg/SVGAnimatedProperty.h:
8675 (WebCore::::baseValue):
8676 (WebCore::::setBaseValue):
8677 (WebCore::::startAnimation):
8678 (WebCore::::stopAnimation):
8679 * svg/SVGElement.cpp:
8680 (WebCore::SVGElement::accessDocumentSVGExtensions):
8681 * svg/SVGElement.h:
8682 * svg/SVGElementInstance.cpp:
8683 * svg/SVGFitToViewBox.cpp:
8684 * svg/SVGFontElement.cpp:
8685 * svg/SVGFontFaceElement.cpp:
8686 * svg/SVGLinearGradientElement.cpp:
8687 * svg/SVGMPathElement.cpp:
8688 * svg/SVGViewSpec.cpp:
8689
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +000086902008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
8691
8692 Reviewed by Antti & Eric.
8693
8694 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
8695
8696 Finish HTMLScriptElement / SVGScriptElement unification.
8697 SVG <script> support is complete now, full SVGLoad event
8698 respecting the influence of the externalResourcesRequired attribute
8699 as well as SVGError event support. All other features shared with HTML.
8700
8701 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
8702 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
8703 svg/dom/SVGScriptElement/script-load-and-error-events.svg
8704 svg/dom/SVGScriptElement/script-reexecution.svg
8705 svg/dom/SVGScriptElement/script-set-href.svg
8706
8707 * dom/ScriptElement.cpp:
8708 (WebCore::ScriptElementData::ScriptElementData):
8709 (WebCore::ScriptElementData::requestScript):
8710 * dom/ScriptElement.h:
8711 (WebCore::ScriptElementData::haveFiredLoadEvent):
8712 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
8713 * dom/XMLTokenizer.cpp:
8714 (WebCore::XMLTokenizer::notifyFinished):
8715 * html/HTMLScriptElement.cpp:
8716 (WebCore::HTMLScriptElement::dispatchLoadEvent):
8717 * svg/SVGScriptElement.cpp:
8718 (WebCore::SVGScriptElement::setCreatedByParser):
8719 (WebCore::SVGScriptElement::parseMappedAttribute):
8720 (WebCore::SVGScriptElement::svgAttributeChanged):
8721 (WebCore::SVGScriptElement::insertedIntoDocument):
8722 (WebCore::SVGScriptElement::removedFromDocument):
8723 (WebCore::SVGScriptElement::childrenChanged):
8724 (WebCore::SVGScriptElement::isURLAttribute):
8725 (WebCore::SVGScriptElement::finishParsingChildren):
8726 (WebCore::SVGScriptElement::type):
8727 (WebCore::SVGScriptElement::setType):
8728 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
8729 (WebCore::SVGScriptElement::dispatchLoadEvent):
8730 (WebCore::SVGScriptElement::dispatchErrorEvent):
8731 * svg/SVGScriptElement.h:
8732
mitz@apple.comc7b24ea2008-09-20 03:23:22 +000087332008-09-19 Dan Bernstein <mitz@apple.com>
8734
8735 Reviewed by John Sullivan.
8736
8737 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
8738 Typo in Position::getInlineBoxAndOffset()
8739 and add an assertion
8740
8741 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
8742
8743 * dom/Position.cpp:
8744 (WebCore::Position::getInlineBoxAndOffset):
8745 * rendering/InlineTextBox.cpp:
8746 (WebCore::InlineTextBox::positionForOffset):
8747
hyatt@apple.comd48dbf32008-09-20 03:21:14 +000087482008-09-19 David Hyatt <hyatt@apple.com>
8749
8750 Add support for hit testing of all five possible scrollbar button placements.
8751
8752 Reviewed by Sam Weinig
8753
8754 * platform/ScrollbarThemeComposite.cpp:
8755 (WebCore::ScrollbarThemeComposite::paint):
8756 * platform/mac/ScrollbarThemeMac.mm:
8757 (WebCore::):
8758 (WebCore::ScrollbarThemeMac::backButtonRect):
8759 (WebCore::ScrollbarThemeMac::forwardButtonRect):
8760 (WebCore::ScrollbarThemeMac::trackRect):
8761 (WebCore::ScrollbarThemeMac::paintButton):
8762
darin@apple.com1c4cd8f2008-09-20 01:05:35 +000087632008-09-19 Darin Adler <darin@apple.com>
8764
8765 - try to fix Qt build
8766
8767 * bridge/qt/qt_instance.cpp:
8768 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
8769 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
8770 * bridge/runtime_object.cpp:
8771 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
8772 * bridge/runtime_object.h: Ditto.
8773
dino@apple.com7c236592008-09-20 00:53:49 +000087742008-09-19 Chris Marrin <cmarrin@apple.com>
8775
8776 Reviewed by Dave Hyatt.
8777
8778 Transition starts running when it shouldn't
8779 https://bugs.webkit.org/show_bug.cgi?id=20892
8780
8781 When there is a transition and an animation on the
8782 same element, make sure the animation wins.
8783
8784 The fix is to save the unanimated style when an animation is started.
8785 Then, when starting a transition, check to see if there is a current
8786 animation on the same prop. If so, use the unanimated style as the
8787 fromStyle rather than the current style.
8788
8789 Test: animations/transition-and-animation-1.html
8790
8791 * page/animation/CompositeAnimation.cpp:
8792 (WebCore::CompositeAnimation::updateTransitions):
8793 (WebCore::CompositeAnimation::updateKeyframeAnimations):
8794 (WebCore::CompositeAnimation::animate):
8795 (WebCore::CompositeAnimation::getAnimationForProperty):
8796 * page/animation/CompositeAnimation.h:
8797 * page/animation/ImplicitAnimation.cpp:
8798 (WebCore::ImplicitAnimation::reset):
8799 * page/animation/ImplicitAnimation.h:
8800 * page/animation/KeyframeAnimation.cpp:
8801 (WebCore::KeyframeAnimation::hasAnimationForProperty):
8802 * page/animation/KeyframeAnimation.h:
8803 (WebCore::KeyframeAnimation::KeyframeAnimation):
8804 (WebCore::KeyframeAnimation::unanimatedStyle):
8805
hyatt@apple.comea254e22008-09-20 00:42:36 +000088062008-09-19 David Hyatt <hyatt@apple.com>
8807
8808 Add support for painting/hit testing of four possible scrollbar buttons.
8809 The Windows themes simply ignore the two parts that they will never
8810 show. The Mac theme also ignores the other two buttons for now.
8811
8812 The cross-platform base for all three themes, ScrollbarThemeComposite,
8813 has all the proper support though.
8814
8815 Reviewed by Sam Weinig
8816
8817 * platform/ScrollbarThemeComposite.cpp:
8818 (WebCore::ScrollbarThemeComposite::hitTest):
8819 (WebCore::ScrollbarThemeComposite::invalidatePart):
8820 * platform/ScrollbarThemeComposite.h:
8821 * platform/mac/ScrollbarThemeMac.h:
8822 * platform/mac/ScrollbarThemeMac.mm:
8823 (WebCore::ScrollbarThemeMac::backButtonRect):
8824 (WebCore::ScrollbarThemeMac::forwardButtonRect):
8825 (WebCore::ScrollbarThemeMac::paintButton):
8826 * platform/win/ScrollbarThemeSafari.cpp:
8827 (WebCore::ScrollbarThemeSafari::backButtonRect):
8828 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
8829 (WebCore::ScrollbarThemeSafari::paintButton):
8830 * platform/win/ScrollbarThemeSafari.h:
8831 * platform/win/ScrollbarThemeWin.cpp:
8832 (WebCore::ScrollbarThemeWin::backButtonRect):
8833 (WebCore::ScrollbarThemeWin::forwardButtonRect):
8834 (WebCore::ScrollbarThemeWin::paintButton):
8835 * platform/win/ScrollbarThemeWin.h:
8836
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +000088372008-09-19 Matt Lilek <webkit@mattlilek.com>
8838
8839 Reviewed by Tim Hatcher.
8840
8841 Bug 17772: Inspector should support point-and-click to select a node to inspect
8842 https://bugs.webkit.org/show_bug.cgi?id=17772
8843 <rdar://problem/5792395>
8844
8845 * English.lproj/localizedStrings.js:
8846 * page/Chrome.cpp:
8847 (WebCore::Chrome::mouseDidMoveOverElement):
8848 * page/EventHandler.cpp:
8849 (WebCore::EventHandler::handleMousePressEvent):
8850 * page/InspectorController.cpp:
8851 (WebCore::toggleNodeSearch):
8852 (WebCore::searchingForNode):
8853 (WebCore::InspectorController::InspectorController):
8854 (WebCore::InspectorController::toggleSearchForNodeInPage):
8855 (WebCore::InspectorController::mouseDidMoveOverElement):
8856 (WebCore::InspectorController::handleMousePressOnNode):
8857 (WebCore::InspectorController::windowScriptObjectAvailable):
8858 * page/InspectorController.h:
8859 (WebCore::InspectorController::searchingForNodeInPage):
8860 * page/inspector/ElementsPanel.js:
8861 * page/inspector/Images/nodeSearchButtons.png: Added.
8862 * page/inspector/inspector.css:
8863
hyatt@apple.com57b2d522008-09-19 23:39:26 +000088642008-09-19 David Hyatt <hyatt@apple.com>
8865
8866 Add new scrollbar parts to be able to represent back and forward buttons
8867 at either end of the scrollbar. The current scrollbar still just draws
8868 a single button at either end, but the parts now exist.
8869
8870 Reviewed by Sam Weinig
8871
8872 * platform/ScrollTypes.h:
8873 (WebCore::):
8874 * platform/Scrollbar.cpp:
8875 (WebCore::Scrollbar::autoscrollTimerFired):
8876 (WebCore::Scrollbar::pressedPartScrollDirection):
8877 (WebCore::Scrollbar::pressedPartScrollGranularity):
8878 (WebCore::Scrollbar::handleMouseMoveEvent):
8879 * platform/ScrollbarTheme.h:
8880 (WebCore::ScrollbarTheme::buttonsPlacement):
8881 (WebCore::ScrollbarTheme::invalidateParts):
8882 * platform/ScrollbarThemeComposite.cpp:
8883 (WebCore::ScrollbarThemeComposite::paint):
8884 (WebCore::ScrollbarThemeComposite::hitTest):
8885 (WebCore::ScrollbarThemeComposite::invalidatePart):
8886 * platform/ScrollbarThemeComposite.h:
8887
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +000088882008-09-19 Beth Dakin <bdakin@apple.com>
8889
8890 Reviewed by Dave Hyatt.
8891
8892 Fix for <rdar://problem/6231308> crash in AutoTableLayout
8893
8894 The code assumes later on that a TableSection's grid's row vector
8895 will never be empty. So make 1 the minimum number of columns.
8896
8897 * rendering/RenderTableSection.cpp:
8898 (WebCore::RenderTableSection::ensureRows):
8899
hyatt@apple.comaf711ec2008-09-19 22:55:56 +000089002008-09-19 David Hyatt <hyatt@apple.com>
8901
8902 Add a new ScrollbarButtonsPlacement type for specifying where
8903 the button arrows are in a scrollbar.
8904
8905 Read in the placement settings for Mac. Nothing is done with the
8906 setting yet.
8907
8908 Add a new buttonsPlacement() method to ScrollbarTheme composite
8909 so that the arrow settings can be obtained.
8910
8911 Reviewed by Sam Weinig
8912
8913 * platform/ScrollTypes.h:
8914 (WebCore::):
8915 * platform/ScrollbarThemeComposite.h:
8916 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
8917 * platform/mac/ScrollbarThemeMac.mm:
8918 (WebCore::updateArrowPlacement):
8919 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
8920
sfalken@apple.com64602042008-09-19 22:47:45 +000089212008-09-19 Steve Falkenburg <sfalken@apple.com>
8922
8923 Roll out r36626. It is causing variance in SunSpider numbers on XP.
8924
8925 Rubber stamped by Mark Rowe.
8926
8927 * platform/win/SharedTimerWin.cpp:
8928 (WebCore::isRunningOnVistaOrLater):
8929 (WebCore::setSharedTimerFireTime):
8930
kmccullough@apple.comd203b242008-09-19 21:56:14 +000089312008-09-19 Kevin McCullough <kmccullough@apple.com>
8932
8933 Reviewed by Tim.
8934
8935 https://bugs.webkit.org/show_bug.cgi?id=20942
8936 Bug 20942: Repeated messages in resources don't collapse
8937 - Now repeated messages in a resource's view are collapsed and a message
8938 says how many were repeated.
8939
8940 * English.lproj/localizedStrings.js:
8941 * manual-tests/inspector/multiple-console-messages.html:
8942 * page/inspector/Console.js: Send all the messages to the resource's
8943 view before possibly returning early if the message is a repeat.
8944 * page/inspector/SourceFrame.js: Add the text about the message being
8945 repeated, if it is, and increment it when necessary.
8946
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +000089472008-09-19 Chris Fleizach <cfleizach@apple.com>
8948
8949 Removed unnecessary #if
8950
8951 * page/mac/AccessibilityObjectWrapper.mm:
8952
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000089532008-09-19 David Hyatt <hyatt@apple.com>
8954
hyatt@apple.comf658e502008-09-19 22:12:07 +00008955 Read in prefs for the scroll delay repeat values for buttons. Also
8956 honor the option-click pref for jumping to the thumb when clicking in
8957 the track.
8958
8959 Reviewed by Sam Weinig
8960
8961 * platform/mac/ScrollbarThemeMac.h:
8962 * platform/mac/ScrollbarThemeMac.mm:
8963 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
8964 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
8965 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
8966 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
8967
89682008-09-19 David Hyatt <hyatt@apple.com>
8969
hyatt@apple.comc9967ce92008-09-19 21:20:59 +00008970 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
8971 Set the initial button repeat delay to 0.5 for Mac.
8972
8973 Reviewed by Sam Weinig
8974
8975 * WebCore.xcodeproj/project.pbxproj:
8976 * platform/mac/ScrollbarThemeMac.cpp: Removed.
8977 * platform/mac/ScrollbarThemeMac.h:
8978 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
8979 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
8980
darin@apple.com39a180f2008-09-19 21:15:14 +000089812008-09-19 Darin Adler <darin@apple.com>
8982
8983 Reviewed by Sam Weinig.
8984
8985 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
8986 make each distinct C++ class get a distinct JSC::Structure
8987
8988 + Fixed all cases where we were using a shared structure for multiple
8989 C++ classes in WebCore. This still has to be done in JavaScriptCore.
8990
8991 + Got rid of cacheGlobalObject.
8992
8993 + Improved use of PassRefPtr in bindings code.
8994
8995 + Removed a couple cases where we were potentially allocating prototypes
8996 inside a JSObject's construction process -- this can lead to trouble if
8997 we do a garbage collection while an object is only partly constructed.
8998
8999 * bindings/js/JSAudioConstructor.cpp:
9000 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
9001 so we don't implicitly share the structure with other objects that use the object
9002 prototype.
9003
9004 * bindings/js/JSDOMBinding.cpp:
9005 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
9006 don't need cacheGlobalObject any more.
9007 (WebCore::cacheDOMConstructor): Ditto.
9008
9009 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
9010 Added functions and a function template for getting cached DOM constructors.
9011 Removed cacheGlobalObject function template.
9012
9013 * bindings/js/JSDOMWindowBase.cpp:
9014 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
9015 we're taking ownership.
9016 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
9017 we're taking ownership. Added constructor map.
9018 * bindings/js/JSDOMWindowCustom.cpp:
9019 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
9020
9021 * bindings/js/JSDOMWindowShell.cpp:
9022 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
9023 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
9024 this is now done in only that one place.
9025 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
9026 the passed-in DOMWindow. Code was moved here and changed to allocate unique
9027 structures for both the window prototype and the window.
9028 * bindings/js/JSDOMWindowShell.h: Ditto.
9029
9030 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
9031 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
9032 private/friend in JSEventTargetBase. Removed comments referring to defunct
9033 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
9034 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
9035 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
9036
9037 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
9038 for caching structures and prototypes.
9039 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
9040 (WebCore::JSEventTargetNode::createPrototype): Added.
9041 * bindings/js/JSEventTargetNode.h: Updated for above changes.
9042
9043 * bindings/js/JSHTMLAllCollection.h:
9044 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
9045 * bindings/js/JSHTMLCollectionCustom.cpp:
9046 (WebCore::getNamedItems): Pass ExecState instead of prototype.
9047 * bindings/js/JSHTMLFormElementCustom.cpp:
9048 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
9049 * bindings/js/JSHTMLInputElementBase.cpp:
9050 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
9051 * bindings/js/JSHTMLInputElementBase.h: Ditto.
9052 * bindings/js/JSHTMLOptionElementConstructor.cpp:
9053 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
9054 Create a unique structure instead of sharing.
9055 * bindings/js/JSImageConstructor.cpp:
9056 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
9057
9058 * bindings/js/JSInspectedObjectWrapper.cpp:
9059 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
9060 a prototype rather than a structure. Made the use of inheritorID() here
9061 explicit.
9062 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
9063 * bindings/js/JSInspectorCallbackWrapper.cpp:
9064 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
9065 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
9066
9067 * bindings/js/JSNamedNodesCollection.cpp:
9068 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
9069 take an ExecState argument instead of a prototype. Create a unique
9070 StructureID instead of sharing.
9071 * bindings/js/JSNamedNodesCollection.h: Ditto.
9072
9073 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
9074 constructor that takes a prototype instead of a structure.
9075 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
9076
9077 * bindings/js/JSRGBColor.cpp:
9078 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
9079 prototype; create a unique structure.
9080 (WebCore::getJSRGBColor): Ditto.
9081 * bindings/js/JSRGBColor.h: Ditto.
9082
9083 * bindings/js/JSSQLResultSetRowListCustom.cpp:
9084 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
9085 of explicit coding the idiom for making a new object.
9086
9087 * bindings/js/JSXMLHttpRequestConstructor.cpp:
9088 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
9089 Create a unique structure instead of the shared one.
9090 * bindings/js/JSXSLTProcessorConstructor.cpp:
9091 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
9092 Ditto.
9093
9094 * bindings/js/ScriptController.cpp:
9095 (WebCore::ScriptController::clearWindowShell): Let the window shell's
9096 setWindow function create the JSDOMWindow instead of doing it here.
9097
9098 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
9099 the structure and the wrapped object when creating wrappers.
9100 Simplified some of the special cases for DOMWindow so they are
9101 different only in ways the need to be. Eliminated the
9102 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
9103 functions. Moved responsibility for creating the structure and
9104 parent prototype out of the prototype constructor into the
9105 createPrototype function. Removed the unused "DoNotCache" flag for
9106 objects other than DOMWindow. Use getDOMConstructor instead of
9107 cacheGlobalObject for constructors. Make each constructor have
9108 a unique structure ID.
9109
9110 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
9111 name of the info member to s_info so we can use the standard DOM
9112 binding macros to handl the prototype.
9113 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
9114 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
9115 Create a unique structure using getDOMStructure.
9116
9117 * bridge/runtime_array.cpp: Fixed namespacing a bit.
9118 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
9119 getDOMStructure.
9120 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
9121 will work.
9122
9123 * bridge/runtime_object.cpp:
9124 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
9125 getDOMStructure.
9126 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
9127 will work.
9128
9129 * history/CachedPage.cpp:
9130 (WebCore::CachedPage::restore): Let the window shell's
9131 setWindow function create the JSDOMWindow instead of doing it here.
9132
9133 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
9134
mitz@apple.comd6b74252008-09-19 21:02:55 +000091352008-09-19 Dan Bernstein <mitz@apple.com>
9136
9137 Reviewed by Dave Hyatt.
9138
9139 This optimization was suggested by Daniel Fenwick
9140
9141 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
9142
9143 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +00009144 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +00009145 of one, due to the leading space being reordered to the left.
9146
9147 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
9148 getCFStringAttributes() and changed m_CFStringAttributes from an array
9149 to a single value.
9150 * platform/graphics/mac/CoreTextController.cpp:
9151 (WebCore::CoreTextController::CoreTextController): Added a
9152 mayUseNaturalWritingDirection parameter.
9153 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
9154 to force the bidi embedding level whenever
9155 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
9156 case, made the typesetter options dictionaries static.
9157 * platform/graphics/mac/CoreTextController.h:
9158 * platform/graphics/mac/FontMacCoreText.cpp:
9159 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
9160 (WebCore::Font::floatWidthForComplexText): Changed to allow the
9161 CoreTextController to not set the writing direction.
9162 * platform/graphics/mac/SimpleFontDataMac.mm:
9163 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
9164 parameter and the paragraph style attribute.
9165
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +000091662008-09-19 David Hyatt <hyatt@apple.com>
9167
9168 Reviewed by Sam Weinig
9169
9170 https://bugs.webkit.org/show_bug.cgi?id=20941
9171
9172 Incorrect height calculation for replaced element inside nested
9173 positioned elements (where the inner has a percentage height and
9174 the outer implicitly has a fixed height because of explicit top/bottom
9175 values).
9176
9177 Added fast/block/positioning/replaced-inside-top-bottom.html
9178
9179 * rendering/RenderBox.cpp:
9180 (WebCore::RenderBox::availableHeightUsing):
9181
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +000091822008-09-19 Chris Fleizach <cfleizach@apple.com>
9183
9184 Fix Tiger bustage
9185
9186 * page/mac/AccessibilityObjectWrapper.mm:
9187
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +000091882008-09-18 Chris Fleizach <cfleizach@apple.com>
9189
9190 Reviewed by Darin Adler.
9191
9192 <rdar://problem/6211041> Expose legend tag in accessibility
9193
9194 Exposes the legend tag as the titleUIElement of a fieldset
9195
9196 Test: accessibility/legend.html
9197
9198 * page/AccessibilityObject.h:
9199 (WebCore::AccessibilityObject::isFieldset):
9200 * page/AccessibilityRenderObject.cpp:
9201 (WebCore::AccessibilityRenderObject::isFieldset):
9202 (WebCore::AccessibilityRenderObject::titleUIElement):
9203 * page/AccessibilityRenderObject.h:
9204 * rendering/RenderFieldset.h:
9205
cfleizach@apple.comcff26212008-09-19 20:04:13 +000092062008-09-19 Chris Fleizach <cfleizach@apple.com>
9207
9208 Reviewed by Darin Adler.
9209
9210 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
9211
9212 Implement a few AX API methods that will be called by AppKit, which will
9213 speed up access to accessibility objects
9214
9215 * page/mac/AccessibilityObjectWrapper.mm:
9216 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
9217 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
9218 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
9219
zecke@webkit.org7594eb62008-09-19 11:06:55 +000092202008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
9221
9222 Reviewed by Simon Hausmann.
9223
zecke@webkit.org3df68032008-09-19 11:43:27 +00009224 [qtwebkit] Set the m_should* flags to their proper value on entry
9225 With plugins it was possible that we finished a job twice. This was
9226 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
9227 setting the flag to (m_loadMode == LoadDeferred) they will always have
9228 the right value and we will not send responses twice.
9229
9230 * platform/network/qt/QNetworkReplyHandler.cpp:
9231
92322008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
9233
9234 Reviewed by Simon Hausmann.
9235
zecke@webkit.org7594eb62008-09-19 11:06:55 +00009236 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
9237 Handle text decoding errors before instructing the parser to parse. We
9238 have converted the text to QString and all encoding errors are gone and
9239 the parser will not be able to detect them. So handle them before parsing.
9240
9241 * dom/XMLTokenizerQt.cpp:
9242 (WebCore::XMLTokenizer::doWrite):
9243
darin@apple.comc9aea832008-09-19 06:49:35 +000092442008-09-18 Darin Adler <darin@apple.com>
9245
9246 Reviewed by Maciej Stachowiak.
9247
9248 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
9249 make each distinct C++ class get a distinct JSC::Structure
9250
9251 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
9252 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
9253 instead of DOMExceptionTranslator.
9254
9255 * bindings/js/JSDOMBinding.cpp:
9256 (WebCore::getCachedDOMObjectWrapper): Updated function name.
9257 (WebCore::cacheDOMObjectWrapper): Ditto.
9258 (WebCore::forgetDOMObject): Ditto.
9259 (WebCore::getCachedDOMNodeWrapper): Ditto.
9260 (WebCore::forgetDOMNode): Ditto.
9261 (WebCore::cacheDOMNodeWrapper): Ditto.
9262 (WebCore::forgetAllDOMNodesForDocument): Ditto.
9263 (WebCore::markDOMNodesForDocument): Ditto.
9264 (WebCore::updateDOMNodeDocument): Ditto.
9265 (WebCore::getCachedDOMStructure): Added.
9266 (WebCore::createDOMStructure): Ditto.
9267
9268 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
9269 class and replace the static member functions with non-member
9270 functions. Added many other functions for getting at structures,
9271 prototypes, wrappers, and creating them. Also moved the
9272 cacheGlobalObject function here from JavaScriptCore; eventually
9273 I'll remove that once I get rid of the remaining callers. Also
9274 removed the DOMExceptionTranslator class.
9275
9276 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
9277 and put one of those maps in each window.
9278
9279 * bindings/js/JSDOMWindowCustom.cpp:
9280 (WebCore::markDOMObjectWrapper): Updated for function name change.
9281 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
9282 in the structure map.
9283
9284 * bindings/js/JSEventTargetNode.cpp:
9285 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
9286 a structure instead of a prototype.
9287 * bindings/js/JSEventTargetNode.h: Ditto.
9288 * bindings/js/JSHTMLAllCollection.h:
9289 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
9290
9291 * bindings/js/JSHTMLInputElementBase.cpp:
9292 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
9293 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
9294 structure instead of a prototype.
9295 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
9296 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
9297 to take a structure instead of a prototype. Created a dummy prototype
9298 class that causes the HTMLInputElement prototype to have the
9299 HTMLElement prototype.
9300
9301 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
9302 structures instead of prototypes. Changed the prototype self function
9303 to use the getDOMPrototype function -- later we can eliminate it and
9304 have callers invoke getDOMPrototype directly instead. Updated other
9305 functions that have name changes. Added code to generate the
9306 createPrototype member function. Changed use of cacheGlobalObject to
9307 get it from the WebCore namespace instead of the JSC namespace.
9308 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
9309
9310 * dom/Document.cpp:
9311 (WebCore::Document::~Document): Updated for name change and also
9312 removed unnecessary JSLock use -- there's no need to lock around this.
9313 * dom/Node.cpp:
9314 (WebCore::Node::setDocument): Ditto.
9315
9316 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
9317 instead of calling new directly.
9318
9319 * bindings/js/JSCSSRuleCustom.cpp:
9320 (WebCore::toJS): Updated for function name changes and used the
9321 CREATE_DOM_OBJECT_WRAPPER macro.
9322 * bindings/js/JSCSSValueCustom.cpp:
9323 (WebCore::toJS): Ditto.
9324 * bindings/js/JSCanvasPixelArrayCustom.cpp:
9325 (WebCore::toJS): Ditto.
9326 * bindings/js/JSDocumentCustom.cpp:
9327 (WebCore::JSDocument::mark): Ditto.
9328 (WebCore::toJS): Ditto.
9329 * bindings/js/JSElementCustom.cpp:
9330 (WebCore::toJSNewlyCreated): Ditto.
9331 * bindings/js/JSEventCustom.cpp:
9332 (WebCore::toJS): Ditto.
9333 * bindings/js/JSEventTargetBase.cpp:
9334 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
9335 of DOMExceptionTranslator.
9336 (WebCore::toJS): Updated for function name changes and used the
9337 CREATE_DOM_OBJECT_WRAPPER macro.
9338 * bindings/js/JSHTMLCollectionCustom.cpp:
9339 (WebCore::toJS): Ditto.
9340 * bindings/js/JSNodeCustom.cpp:
9341 (WebCore::JSNode::mark): Ditto.
9342 (WebCore::createWrapper): Ditto.
9343 (WebCore::toJS): Ditto.
9344 * bindings/js/JSSVGPathSegCustom.cpp:
9345 (WebCore::toJS): Ditto.
9346 * bindings/js/JSStyleSheetCustom.cpp:
9347 (WebCore::toJS): Ditto.
9348 (WebCore::JSStyleSheet::mark): Ditto.
9349 * bindings/js/JSTextCustom.cpp:
9350 (WebCore::toJSNewlyCreated): Ditto.
9351 * bindings/js/JSXMLHttpRequestConstructor.cpp:
9352 (WebCore::constructXMLHttpRequest): Ditto.
9353 * bindings/js/JSXMLHttpRequestCustom.cpp:
9354 (WebCore::JSXMLHttpRequest::mark): Ditto.
9355 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
9356 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
9357 * bindings/js/JSXSLTProcessorConstructor.cpp:
9358 (WebCore::constructXSLTProcessor): Ditto.
9359 * bindings/js/ScriptController.cpp:
9360 (WebCore::ScriptController::finishedWithEvent): Ditto.
9361 * xml/XMLHttpRequest.cpp:
9362 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
9363 (WebCore::XMLHttpRequest::dropProtection): Ditto.
9364
hyatt@apple.com083539d2008-09-19 06:30:16 +000093652008-09-18 David Hyatt <hyatt@apple.com>
9366
9367 This patch gets a viewless scrollbar working on Mac. It is turned off
9368 by default. Hit testing works. For now the scrollbar just paints ugly
9369 debug rects in the place of the buttons, track and thumb. It does match
9370 Aqua metrics though.
9371
9372 Reviewed by Sam Weinig
9373
9374 * WebCore.xcodeproj/project.pbxproj:
9375 * page/mac/EventHandlerMac.mm:
9376 (WebCore::EventHandler::passMousePressEventToScrollbar):
9377 * platform/ScrollbarThemeComposite.cpp:
9378 (WebCore::ScrollbarThemeComposite::paint):
9379 (WebCore::ScrollbarThemeComposite::trackPosition):
9380 * platform/ScrollbarThemeComposite.h:
9381 * platform/mac/ScrollViewMac.mm:
9382 (WebCore::ScrollView::addChild):
9383 * platform/mac/ScrollbarThemeMac.cpp:
9384 (WebCore::):
9385 (WebCore::ScrollbarThemeMac::hasButtons):
9386 (WebCore::ScrollbarThemeMac::hasThumb):
9387 (WebCore::buttonRepaintRect):
9388 (WebCore::ScrollbarThemeMac::backButtonRect):
9389 (WebCore::ScrollbarThemeMac::forwardButtonRect):
9390 (WebCore::trackRepaintRect):
9391 (WebCore::ScrollbarThemeMac::trackRect):
9392 (WebCore::ScrollbarThemeMac::minimumThumbLength):
9393 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
9394 (WebCore::ScrollbarThemeMac::paintTrack):
9395 (WebCore::ScrollbarThemeMac::paintButton):
9396 (WebCore::ScrollbarThemeMac::paintThumb):
9397 * platform/mac/ScrollbarThemeMac.h:
9398 (WebCore::ScrollbarThemeMac::supportsControlTints):
9399 * platform/qt/ScrollbarThemeQt.cpp:
9400 (WebCore::ScrollbarThemeQt::trackPosition):
9401
collinj@webkit.org51261aa2008-09-19 06:13:22 +000094022008-09-18 Collin Jackson <collinj@webkit.org>
9403
9404 Build fix; added missing header file to GNUmakefile.am
9405
9406 * GNUmakefile.am:
9407
weinig@apple.com39aecbe2008-09-19 04:56:21 +000094082008-09-18 Sam Weinig <sam@webkit.org>
9409
9410 Reviewed by David "the Hair" Hyatt.
9411
9412 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
9413
9414 * GNUmakefile.am:
9415 * WebCore.pro:
9416 * WebCore.vcproj/WebCore.vcproj:
9417 * WebCore.xcodeproj/project.pbxproj:
9418 * rendering/DataRef.h: Removed.
9419 * rendering/SVGRenderStyle.cpp: Removed.
9420 * rendering/SVGRenderStyle.h: Removed.
9421 * rendering/SVGRenderStyleDefs.cpp: Removed.
9422 * rendering/SVGRenderStyleDefs.h: Removed.
9423 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
9424 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
9425 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
9426 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
9427 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
9428
mrowe@apple.coma5206592008-09-19 04:47:58 +000094292008-09-18 Mark Rowe <mrowe@apple.com>
9430
9431 Reviewed by Dan Bernstein.
9432
9433 Add a means of clearing a FrameTree's name.
9434
9435 * WebCore.base.exp:
9436 * page/FrameTree.cpp:
9437 (WebCore::FrameTree::clearName):
9438 * page/FrameTree.h:
9439
hyatt@apple.com6eeef382008-09-19 04:30:53 +000094402008-09-18 David Hyatt <hyatt@apple.com>
9441
9442 Eliminate addToSuperview from Widget, since it was only called
9443 by ScrollViewMac's addChild method. Just shift the original body
9444 of addToSuperView into addChild.
9445
9446 Reviewed by Sam Weinig
9447
9448 * platform/Widget.h:
9449 * platform/mac/ScrollViewMac.mm:
9450 (WebCore::ScrollView::addChild):
9451 * platform/mac/WidgetMac.mm:
9452
collinj@webkit.org9c672f62008-09-19 04:15:14 +000094532008-09-18 Collin Jackson <collinj@webkit.org>
9454
9455 Reviewed by Antti Koivisto and Mark Rowe.
9456
9457 Test: http/tests/misc/dns-prefetch-control.html
9458
9459 https://bugs.webkit.org/show_bug.cgi?id=20690
9460
9461 Invoke WebCore::prefetchDNS() on host names that appear in
9462 in the href of hyperlinks and <link rel="dns-prefetch">. This
9463 can be used to implement DNS prefetching.
9464
9465 * WebCore.vcproj/WebCore.vcproj:
9466 * WebCore.xcodeproj/project.pbxproj:
9467 * dom/Document.cpp:
9468 (WebCore::Document::Document):
9469 (WebCore::Document::processHttpEquiv):
9470 (WebCore::Document::setSecurityOrigin):
9471 (WebCore::Document::initDNSPrefetch):
9472 (WebCore::Document::parseDNSPrefetchControlHeader):
9473 * dom/Document.h:
9474 (WebCore::Document::isDNSPrefetchEnabled):
9475 * html/HTMLAnchorElement.cpp:
9476 (WebCore::HTMLAnchorElement::parseMappedAttribute):
9477 * html/HTMLLinkElement.cpp:
9478 (WebCore::HTMLLinkElement::HTMLLinkElement):
9479 (WebCore::HTMLLinkElement::parseMappedAttribute):
9480 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
9481 (WebCore::HTMLLinkElement::process):
9482 * html/HTMLLinkElement.h:
9483 * html/PreloadScanner.cpp:
9484 (WebCore::PreloadScanner::processAttribute):
9485 * loader/FrameLoader.cpp:
9486 (WebCore::FrameLoader::begin):
9487 * platform/gtk/TemporaryLinkStubs.cpp:
9488 (WebCore::prefetchDNS):
9489 * platform/network/DNS.h: Added.
9490 * platform/network/cf/DNSCFNet.cpp: Added.
9491 (WebCore::prefetchDNS):
9492 * platform/qt/TemporaryLinkStubs.cpp:
9493 (WebCore::prefetchDNS):
9494 * platform/wx/TemporaryLinkStubs.cpp:
9495 (WebCore::prefetchDNS):
9496
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000094972008-09-18 David Hyatt <hyatt@apple.com>
9498
hyatt@apple.comcf31c162008-09-19 04:01:56 +00009499 Eliminate the convertToScreenCoordinate method on Widget, since
9500 ScrollView has redundant methods that already do the same thing.
9501
9502 Reviewed by Sam Weinig
9503
9504 * editing/mac/SelectionControllerMac.mm:
9505 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
9506 * platform/Widget.h:
9507 * platform/mac/WidgetMac.mm:
9508 (WebCore::Widget::containingWindow):
9509
95102008-09-18 David Hyatt <hyatt@apple.com>
9511
hyatt@apple.com179629b3c2008-09-19 03:16:26 +00009512 Move to only one constructor for Widgets. Rename data to m_data and make
9513 it have an #ifdef only for platforms that have platform-specific data (Mac
9514 and Gtk).
9515
9516 Reviewed by Sam Weinig
9517
9518 * WebCore.base.exp:
9519 * platform/Widget.cpp:
9520 (WebCore::Widget::init):
9521 * platform/Widget.h:
9522 * platform/gtk/WidgetGtk.cpp:
9523 (WebCore::Widget::Widget):
9524 (WebCore::Widget::~Widget):
9525 (WebCore::Widget::cursor):
9526 (WebCore::Widget::setCursor):
9527 * platform/mac/WidgetMac.mm:
9528 (WebCore::Widget::Widget):
9529 (WebCore::Widget::~Widget):
9530 (WebCore::Widget::addToSuperview):
9531 (WebCore::Widget::removeFromSuperview):
9532 (WebCore::Widget::beforeMouseDown):
9533 (WebCore::Widget::afterMouseDown):
9534 * platform/qt/WidgetQt.cpp:
9535 (WebCore::Widget::Widget):
9536 * platform/win/WidgetWin.cpp:
9537 (WebCore::Widget::Widget):
9538 * platform/wx/WidgetWx.cpp:
9539 (WebCore::Widget::Widget):
9540
95412008-09-18 David Hyatt <hyatt@apple.com>
9542
hyatt@apple.com470d7e72008-09-19 03:01:08 +00009543 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
9544 was no reason for it to be on Widget. This change eliminates Qt ifdefs
9545 from Widget.
9546
9547 Reviewed by Sam Weinig
9548
9549 * bindings/js/ScriptControllerQt.cpp:
9550 (WebCore::ScriptController::createScriptInstanceForWidget):
9551 * platform/qt/WidgetQt.cpp:
9552 (WebCore::WidgetPrivate::WidgetPrivate):
9553 (WebCore::WidgetPrivate::~WidgetPrivate):
9554 (WebCore::Widget::Widget):
9555 (WebCore::Widget::~Widget):
9556 * plugins/PluginView.cpp:
9557 (WebCore::PluginView::PluginView):
9558 * plugins/PluginView.h:
9559 (WebCore::PluginView::isNPAPIPlugin):
9560 (WebCore::PluginView::setIsNPAPIPlugin):
9561
95622008-09-18 David Hyatt <hyatt@apple.com>
9563
hyatt@apple.com557408b2008-09-19 02:36:08 +00009564 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
9565 ifdefs are now gone from Widget!
9566
9567 Reviewed by Sam Weinig
9568
9569 * platform/Widget.h:
9570 (WebCore::Widget::geometryChanged):
9571 * platform/gtk/WidgetGtk.cpp:
9572 * platform/qt/WidgetQt.cpp:
9573
95742008-09-18 David Hyatt <hyatt@apple.com>
9575
hyatt@apple.com17e57432008-09-19 02:29:27 +00009576 Consolidate convertTo/FromContainingWindow methods so that all platforms
9577 but Mac share the same code.
9578
9579 Move convertSelfToChild and convertChildToSelf to ScrollView, since
9580 Widget should know nothing about children. Make the methods cross-platform
9581 on ScrollView.
9582
9583 Reviewed by Sam Weinig
9584
9585 * platform/ScrollView.h:
9586 (WebCore::ScrollView::convertChildToSelf):
9587 (WebCore::ScrollView::convertSelfToChild):
9588 * platform/Widget.cpp:
9589 (WebCore::Widget::convertToContainingWindow):
9590 (WebCore::Widget::convertFromContainingWindow):
9591 * platform/Widget.h:
9592 (WebCore::Widget::geometryChanged):
9593 * platform/gtk/ScrollViewGtk.cpp:
9594 (WebCore::ScrollView::isScrollViewScrollbar):
9595 * platform/gtk/WidgetGtk.cpp:
9596 * platform/mac/ScrollViewMac.mm:
9597 (WebCore::ScrollView::isScrollViewScrollbar):
9598 * platform/mac/WidgetMac.mm:
9599 * platform/qt/ScrollViewQt.cpp:
9600 (WebCore::ScrollView::isScrollViewScrollbar):
9601 * platform/qt/WidgetQt.cpp:
9602 * platform/win/ScrollViewWin.cpp:
9603 (WebCore::ScrollView::isScrollViewScrollbar):
9604 * platform/win/WidgetWin.cpp:
9605
96062008-09-18 David Hyatt <hyatt@apple.com>
9607
hyatt@apple.comc5b931a2008-09-19 00:39:51 +00009608 Make the conversion methods that go to and from some containingWindow
9609 cross-platform. Implement them on Mac.
9610
9611 Reviewed by Sam Weinig
9612
9613 * platform/Widget.h:
9614 (WebCore::Widget::setContainingWindow):
9615 * platform/mac/WidgetMac.mm:
9616 (WebCore::Widget::convertFromContainingWindow):
9617 (WebCore::Widget::convertToContainingWindow):
9618
weinig@apple.comd1ea02d2008-09-19 00:28:05 +000096192008-09-18 Sam Weinig <sam@webkit.org>
9620
9621 Rubber-stamped by David "Yeah-yeah" Hyatt.
9622
9623 Cleanup RenderStyle.
9624
9625 * WebCore.xcodeproj/project.pbxproj:
9626 * rendering/style/CounterContent.h:
9627 * rendering/style/RenderStyle.cpp:
9628 * rendering/style/RenderStyle.h:
9629
dino@apple.comef93f532008-09-19 00:01:07 +000096302008-09-18 Chris Marrin <cmarrin@apple.com>
9631
9632 Reviewed by Sam Weinig
9633
9634 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
9635 Now TransformOperations and AnimationList no longer
9636 inherit from Vector<> but rather have API to access.
9637
9638 * css/CSSComputedStyleDeclaration.cpp:
9639 (WebCore::computedTransform):
9640 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9641 * css/CSSStyleSelector.cpp:
9642 (WebCore::CSSStyleSelector::createTransformOperations):
9643 * page/animation/AnimationBase.cpp:
9644 (WebCore::blendFunc):
9645 * page/animation/CompositeAnimation.cpp:
9646 (WebCore::CompositeAnimation::updateTransitions):
9647 (WebCore::CompositeAnimation::updateKeyframeAnimations):
9648 (WebCore::CompositeAnimation::animate):
9649 * page/animation/ImplicitAnimation.cpp:
9650 (WebCore::ImplicitAnimation::validateTransformFunctionList):
9651 * page/animation/KeyframeAnimation.cpp:
9652 (WebCore::KeyframeAnimation::validateTransformFunctionList):
9653 * rendering/RenderLayer.cpp:
9654 (WebCore::RenderLayer::updateReflectionStyle):
9655 * rendering/style/AnimationList.cpp:
9656 (WebCore::AnimationList::operator==):
9657 * rendering/style/AnimationList.h:
9658 (WebCore::AnimationList::operator!=):
9659 (WebCore::AnimationList::size):
9660 (WebCore::AnimationList::isEmpty):
9661 (WebCore::AnimationList::resize):
9662 (WebCore::AnimationList::remove):
9663 (WebCore::AnimationList::append):
9664 (WebCore::AnimationList::animation):
9665 * rendering/style/RenderStyle.cpp:
9666 (WebCore::StyleRareNonInheritedData::updateKeyframes):
9667 (WebCore::RenderStyle::applyTransform):
9668 (WebCore::RenderStyle::adjustAnimations):
9669 (WebCore::RenderStyle::adjustTransitions):
9670 (WebCore::RenderStyle::transitionForProperty):
9671 * rendering/style/RenderStyle.h:
9672 (WebCore::RenderStyle::hasTransform):
9673 * rendering/style/TransformOperations.cpp:
9674 (WebCore::TransformOperations::TransformOperations):
9675 (WebCore::TransformOperations::operator==):
9676 * rendering/style/TransformOperations.h:
9677 (WebCore::TransformOperations::apply):
9678 (WebCore::TransformOperations::operations):
9679
zecke@webkit.org20690ef2008-09-18 23:28:34 +000096802008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
9681
zecke@webkit.org30db7422008-09-19 01:00:18 +00009682 Build fix.
9683
9684 [qt] Build fixes after the Widget/ScrollView cleanup
9685 topLevel() is now root()
9686
9687
9688 * platform/qt/ScrollViewQt.cpp:
9689 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
9690 (WebCore::ScrollView::addChild):
9691 (WebCore::ScrollView::removeChild):
9692
96932008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
9694
zecke@webkit.org20690ef2008-09-18 23:28:34 +00009695 Reviewed by Mark Rowe.
9696
9697 https://bugs.webkit.org/show_bug.cgi?id=20437
9698
9699 XMLTokenizer.cpp used to contain two different implementations. One was using
9700 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
9701 separating the two implementations from each other.
9702 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
9703 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
9704 XMLTokenizerLibxml2.cpp. There should be no functional changes.
9705
9706 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
9707 to work.
9708
9709 * GNUmakefile.am:
9710 * WebCore.pro:
9711 * WebCore.vcproj/WebCore.vcproj:
9712 * WebCore.xcodeproj/project.pbxproj:
9713 * WebCoreSources.bkl:
9714 * dom/XMLTokenizer.cpp:
9715 (WebCore::isScriptElement):
9716 (WebCore::castToScriptElement):
9717 (WebCore::XMLTokenizer::setCurrentNode):
9718 (WebCore::XMLTokenizer::write):
9719 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
9720 (WebCore::XMLTokenizer::enterText):
9721 (WebCore::toString):
9722 (WebCore::XMLTokenizer::exitText):
9723 (WebCore::XMLTokenizer::end):
9724 (WebCore::XMLTokenizer::insertErrorMessageBlock):
9725 * dom/XMLTokenizer.h:
9726 (WebCore::XMLTokenizer::wellFormed):
9727 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
9728 (WebCore::createMemoryParser):
9729 (WebCore::XMLTokenizer::XMLTokenizer):
9730 (WebCore::XMLTokenizer::~XMLTokenizer):
9731 (WebCore::XMLTokenizer::doWrite):
9732 (WebCore::ignorableWhitespaceHandler):
9733 (WebCore::XMLTokenizer::initializeParserContext):
9734 (WebCore::XMLTokenizer::doEnd):
9735 (WebCore::XMLTokenizer::lineNumber):
9736 (WebCore::XMLTokenizer::columnNumber):
9737 (WebCore::XMLTokenizer::stopParsing):
9738 (WebCore::XMLTokenizer::resumeParsing):
9739 (WebCore::parseXMLDocumentFragment):
9740 (WebCore::attributesStartElementNsHandler):
9741 (WebCore::parseAttributes):
9742 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
9743 (WebCore::EntityResolver::resolveUndeclaredEntity):
9744 (WebCore::XMLTokenizer::XMLTokenizer):
9745 (WebCore::XMLTokenizer::~XMLTokenizer):
9746 (WebCore::XMLTokenizer::doWrite):
9747 (WebCore::XMLTokenizer::initializeParserContext):
9748 (WebCore::XMLTokenizer::doEnd):
9749 (WebCore::XMLTokenizer::lineNumber):
9750 (WebCore::XMLTokenizer::columnNumber):
9751 (WebCore::XMLTokenizer::stopParsing):
9752 (WebCore::XMLTokenizer::resumeParsing):
9753 (WebCore::parseXMLDocumentFragment):
9754 (WebCore::attributesStartElementNsHandler):
9755 (WebCore::parseAttributes):
9756 (WebCore::):
9757
bdakin@apple.com4c244902008-09-18 23:08:35 +000097582008-09-18 Beth Dakin <bdakin@apple.com>
9759
9760 Reviewed by Geoff Garen.
9761
9762 Build fix for non-Mac builds.
9763
9764 * css/CSSPrimitiveValue.cpp:
9765 (WebCore::CSSPrimitiveValue::cssText):
9766
eric@webkit.org4ac94e62008-09-18 23:07:55 +000097672008-09-18 Peter Kasting <pkasting@google.com>
9768
9769 Reviewed by hyatt. Landed by eseidel.
9770
9771 https://bugs.webkit.org/show_bug.cgi?id=20745
9772 Animated GIFs do not animate properly with (at least) CG.
9773
9774 * WebCore\platform\graphics\BitmapImage.cpp:
9775 * WebCore\platform\graphics\BitmapImage.h:
9776 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
9777 * WebCore\platform\graphics\cg\ImageCG.cpp:
9778 * WebCore\platform\graphics\qt\ImageQt.cpp:
9779 * WebCore\platform\graphics\wx\ImageWx.cpp:
9780
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +000097812008-09-18 Chris Fleizach <cfleizach@apple.com>
9782
9783 Reviewed by Beth Dakin
9784
9785 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
9786 role specifies otherwise
9787
9788 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
9789
9790 Test: accessibility/table-with-aria-role.html
9791
9792 * page/AccessibilityTable.cpp:
9793 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
9794 (WebCore::AccessibilityTable::addChildren):
9795 (WebCore::AccessibilityTable::roleValue):
9796 (WebCore::AccessibilityTable::accessibilityIsIgnored):
9797 (WebCore::AccessibilityTable::title):
9798 * page/AccessibilityTableCell.cpp:
9799 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
9800 (WebCore::AccessibilityTableCell::isTableCell):
9801 (WebCore::AccessibilityTableCell::roleValue):
9802 * page/AccessibilityTableCell.h:
9803 * page/AccessibilityTableRow.cpp:
9804 (WebCore::AccessibilityTableRow::roleValue):
9805 (WebCore::AccessibilityTableRow::isTableRow):
9806 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
9807 * page/AccessibilityTableRow.h:
9808
sfalken@apple.coma96c5d32008-09-18 22:29:34 +000098092008-09-18 Steve Falkenburg <sfalken@apple.com>
9810
9811 Use higher-resolution timers on all variants of Windows.
9812
9813 Reviewed by Darin Adler.
9814
9815 * platform/win/SharedTimerWin.cpp:
9816 (WebCore::setSharedTimerFireTime):
9817
9818
hyatt@apple.comb7d49b62008-09-18 22:21:25 +000098192008-09-18 David Hyatt <hyatt@apple.com>
9820
9821 Make containingWindow() and setContainingWindow() cross-platform.
9822 Add a root() function cross-platform so Qt doesn't have to
9823 define its own.
9824
9825 Reviewed by Darin Adler
9826
9827 * platform/Widget.cpp:
9828 (WebCore::Widget::root):
9829 * platform/Widget.h:
9830 (WebCore::Widget::setContainingWindow):
9831 * platform/gtk/WidgetGtk.cpp:
9832 (WebCore::Widget::Widget):
9833 (WebCore::Widget::containingWindow):
9834 * platform/mac/ScrollViewMac.mm:
9835 (WebCore::ScrollView::addChild):
9836 (WebCore::ScrollView::removeChild):
9837 * platform/mac/WidgetMac.mm:
9838 (WebCore::Widget::containingWindow):
9839 * platform/qt/WidgetQt.cpp:
9840 (WebCore::Widget::invalidateRect):
9841 (WebCore::Widget::containingWindow):
9842 * platform/win/WidgetWin.cpp:
9843 (WebCore::Widget::Widget):
9844 (WebCore::Widget::~Widget):
9845 (WebCore::Widget::containingWindow):
9846
bdakin@apple.comfa1ce162008-09-18 22:18:01 +000098472008-09-18 Beth Dakin <bdakin@apple.com>
9848
9849 Reviewed by Dave Hyatt.
9850
9851 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
9852 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
9853 dashboard-region=
9854 and corresponding: <rdar://problem/6174100>
9855
9856 This patch makes CSSParserValue::createCSSValue handle unknown
9857 identifiers.
9858
9859 * css/CSSParserValues.cpp:
9860 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
9861 with no id (an unknown identifier) create a CSSPrimitiveValue of
9862 type CSS_PARSER_IDENTIFIER
9863 * css/CSSPrimitiveValue.cpp:
9864 (WebCore::CSSPrimitiveValue::cssText):
9865 (WebCore::CSSPrimitiveValue::parserValue):
9866 * css/CSSPrimitiveValue.h:
9867 (WebCore::CSSPrimitiveValue::):
9868
weinig@apple.comfce49be2008-09-18 21:46:14 +000098692008-09-18 Sam Weinig <sam@webkit.org>
9870
9871 Rubber-stamped by David "I'd prefer not" Hyatt.
9872
9873 More the remaining class out of RenderStyle.h/cpp
9874
9875 * GNUmakefile.am:
9876 * WebCore.pro:
9877 * WebCore.vcproj/WebCore.vcproj:
9878 * WebCore.xcodeproj/project.pbxproj:
9879 * WebCoreSources.bkl:
9880 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
9881 (WebCore::CursorData::CursorData):
9882 (WebCore::CursorData::operator==):
9883 (WebCore::CursorData::operator!=):
9884 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
9885 (WebCore::CursorList::operator[]):
9886 (WebCore::CursorList::CursorList):
9887 * rendering/style/RenderStyle.cpp:
9888 * rendering/style/RenderStyle.h:
9889 (WebCore::RenderStyle::deref):
9890 (WebCore::RenderStyle::hasOneRef):
9891 (WebCore::RenderStyle::InheritedFlags::operator!=):
9892 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
9893 (WebCore::RenderStyle::hasBackground):
9894 (WebCore::RenderStyle::outlineWidth):
9895 (WebCore::RenderStyle::autoWrap):
9896 (WebCore::RenderStyle::preserveNewline):
9897 (WebCore::RenderStyle::collapseWhiteSpace):
9898 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
9899 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
9900 (WebCore::RenderStyle::breakWords):
9901 (WebCore::RenderStyle::outlineOffset):
9902 (WebCore::RenderStyle::setLeft):
9903 (WebCore::RenderStyle::setRight):
9904 (WebCore::RenderStyle::setTop):
9905 (WebCore::RenderStyle::setBottom):
9906 (WebCore::RenderStyle::setDashboardRegion):
9907 (WebCore::RenderStyle::setBackgroundColor):
9908 (WebCore::RenderStyle::setBorderImage):
9909 (WebCore::RenderStyle::setBorderRadius):
9910 (WebCore::RenderStyle::setFontDescription):
9911 (WebCore::RenderStyle::adjustBackgroundLayers):
9912 (WebCore::RenderStyle::adjustMaskLayers):
9913 (WebCore::RenderStyle::deleteBindingURIs):
9914 (WebCore::RenderStyle::inheritBindingURIs):
9915 (WebCore::RenderStyle::isDisplayReplacedType):
9916 (WebCore::RenderStyle::isDisplayInlineType):
9917 (WebCore::RenderStyle::isOriginalDisplayInlineType):
9918 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
9919 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
9920 (WebCore::StyleInheritedData::operator!=):
9921 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
9922 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
9923 (WebCore::StyleRareInheritedData::operator!=):
9924 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
9925 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
9926 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
9927
hyatt@apple.com643534d2008-09-18 20:09:41 +000099282008-09-18 David Hyatt <hyatt@apple.com>
9929
hyatt@apple.comd23089a2008-09-18 20:24:16 +00009930 Move the concept of suppression invalidation on Widgets to Scrollbar
9931 instead. Since this is only used by Scrollbars, there is no need for
9932 it to be on Widget.
9933
9934 Reviewed by Sam Weinig
9935
9936 * platform/Scrollbar.cpp:
9937 (WebCore::Scrollbar::Scrollbar):
9938 (WebCore::Scrollbar::invalidateRect):
9939 * platform/Scrollbar.h:
9940 (WebCore::Scrollbar::suppressInvalidation):
9941 (WebCore::Scrollbar::setSuppressInvalidation):
9942 * platform/Widget.h:
9943 * platform/gtk/WidgetGtk.cpp:
9944 (WebCore::Widget::Widget):
9945 (WebCore::Widget::invalidateRect):
9946 * platform/qt/WidgetQt.cpp:
9947 (WebCore::WidgetPrivate::WidgetPrivate):
9948 (WebCore::Widget::invalidateRect):
9949 * platform/win/WidgetWin.cpp:
9950 (WebCore::Widget::Widget):
9951 (WebCore::Widget::invalidateRect):
9952
99532008-09-18 David Hyatt <hyatt@apple.com>
9954
hyatt@apple.com643534d2008-09-18 20:09:41 +00009955 Make invalidate() on Widget non-virtual and make it just call
9956 invalidateRect() on the boundsGeometry() of the Widget.
9957
9958 Reviewed by Dan Bernstein
9959
9960 * platform/Widget.h:
9961 (WebCore::Widget::boundsGeometry):
9962 (WebCore::Widget::invalidate):
9963 * platform/gtk/WidgetGtk.cpp:
9964 * platform/mac/WidgetMac.mm:
9965 * platform/qt/WidgetQt.cpp:
9966 * platform/win/WidgetWin.cpp:
9967 * platform/wx/WidgetWx.cpp:
9968
weinig@apple.comcaf2df42008-09-18 19:40:24 +000099692008-09-18 Sam Weinig <sam@webkit.org>
9970
9971 Rubber-stamped in exile by David Hyatt.
9972
9973 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
9974 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
9975 RenderStyle.h/cpp
9976
9977 * GNUmakefile.am:
9978 * WebCore.pro:
9979 * WebCore.vcproj/WebCore.vcproj:
9980 * WebCore.xcodeproj/project.pbxproj:
9981 * WebCoreSources.bkl:
9982 * css/CSSStyleSelector.cpp:
9983 * css/CSSStyleSelector.h:
9984 * page/animation/CompositeAnimation.cpp:
9985 * page/animation/KeyframeAnimation.cpp:
9986 * page/animation/KeyframeAnimation.h:
9987 * rendering/RenderCounter.h:
9988 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
9989 (WebCore::Animation::~Animation):
9990 (WebCore::Animation::animationsMatch):
9991 (WebCore::Animation::keyframeList):
9992 (WebCore::Animation::setAnimationKeyframe):
9993 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
9994 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
9995 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
9996 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
9997 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
9998 (WebCore::BindingURI::operator!=):
9999 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
10000 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
10001 (WebCore::ContentData::ContentData):
10002 (WebCore::ContentData::~ContentData):
10003 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
10004 (WebCore::CounterContent::CounterContent):
10005 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
10006 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
10007 (WebCore::CounterDirectives::CounterDirectives):
10008 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
10009 (WebCore::KeyframeList::insert):
10010 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
10011 (WebCore::KeyframeValue::KeyframeValue):
10012 (WebCore::KeyframeList::create):
10013 (WebCore::KeyframeList::KeyframeList):
10014 * rendering/style/RenderStyle.cpp:
10015 * rendering/style/RenderStyle.h:
10016 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
10017 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
10018 (WebCore::ShadowData::ShadowData):
10019 (WebCore::ShadowData::~ShadowData):
10020 (WebCore::ShadowData::operator!=):
10021 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
10022 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
10023 (WebCore::StyleFlexibleBoxData::operator!=):
10024 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
10025 (WebCore::TimingFunction::TimingFunction):
10026 (WebCore::TimingFunction::operator==):
10027
adele@apple.com5b2b5da2008-09-18 18:49:44 +0000100282008-09-18 Adele Peterson <adele@apple.com>
10029
10030 Reviewed by Dan Bernstein.
10031
10032 Fix RenderStyle leaks.
10033
10034 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
10035
kmccullough@apple.comd4089752008-09-18 17:21:49 +0000100362008-09-18 Kevin McCullough <kmccullough@apple.com>
10037
kmccullough@apple.com76c708f2008-09-18 18:03:23 +000010038 Accidentally checked in code.
10039
10040 * html/HTMLElementFactory.cpp:
10041 (WebCore::frameConstructor):
10042 (WebCore::iframeConstructor):
10043
100442008-09-18 Kevin McCullough <kmccullough@apple.com>
10045
kmccullough@apple.comd4089752008-09-18 17:21:49 +000010046 Reviewed by Tim.
10047
10048 <rdar://problem/5722310> gracefully handle too many console messages
10049 (20904)
10050 - Keep track of the most previous message and then compare it to the
10051 subsequent messages as they come in. If there are multiple of the same
10052 message create a count that indicates the current number.
10053
10054 * manual-tests/inspector/multiple-console-messages.html: Added.
10055 * page/inspector/Console.js:
10056 * page/inspector/inspector.css:
10057
alp@webkit.org18a1fbc2008-09-18 11:50:26 +0000100582008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
10059
10060 Reviewed by Alp Toker
10061
10062 https://bugs.webkit.org/show_bug.cgi?id=20830
10063 [GTK] Don't use deprecated pango API
10064
10065 Replace deprecated pango functions with non-deprecated ones for newer
10066 versions of pango
10067
10068 * platform/graphics/gtk/FontGtk.cpp:
10069 (WebCore::getDefaultPangoLayout):
10070 * platform/graphics/gtk/FontPlatformDataPango.cpp:
10071 (WebCore::FontPlatformData::FontPlatformData):
10072
alp@webkit.org2154ef22008-09-18 08:10:49 +0000100732008-09-18 Alp Toker <alp@nuanti.com>
10074
10075 Build fix for r36587. Add new sources (and sort the lists).
10076
10077 * GNUmakefile.am:
10078
weinig@apple.com3a98b2a2008-09-18 05:51:35 +0000100792008-09-17 Sam Weinig <sam@webkit.org>
10080
10081 Fix Windows build.
10082
10083 * WebCore.vcproj/WebCore.vcproj:
10084
hyatt@apple.comb3699722008-09-18 05:10:03 +0000100852008-09-17 David Hyatt <hyatt@apple.com>
10086
10087 Switch back to having frameGeometry be virtual in order to keep Mac
10088 the way it used to be.
10089
10090 Reviewed by Sam Weinig
10091
10092 * WebCore.base.exp:
10093 * platform/Widget.cpp:
10094 (WebCore::Widget::setParent):
10095 * platform/Widget.h:
10096 * platform/gtk/WidgetGtk.cpp:
10097 (WebCore::Widget::frameGeometry):
10098 (WebCore::Widget::setFrameGeometry):
10099 * platform/mac/WidgetMac.mm:
10100 (WebCore::Widget::frameGeometry):
10101 (WebCore::Widget::setFrameGeometry):
10102 * platform/qt/WidgetQt.cpp:
10103 (WebCore::Widget::frameGeometry):
10104 (WebCore::Widget::setFrameGeometry):
10105 * platform/win/WidgetWin.cpp:
10106 (WebCore::Widget::frameGeometry):
10107 (WebCore::Widget::setFrameGeometry):
10108 * platform/wx/WidgetWx.cpp:
10109 (WebCore::Widget::frameGeometry):
10110 (WebCore::Widget::setFrameGeometry):
10111 * plugins/PluginView.cpp:
10112 (WebCore::PluginView::setFrameGeometry):
10113 (WebCore::PluginView::geometryChanged):
10114 * plugins/PluginView.h:
10115 * plugins/gtk/PluginViewGtk.cpp:
10116 (WebCore::PluginView::updatePluginWidget):
10117 * plugins/qt/PluginViewQt.cpp:
10118 (WebCore::PluginView::updatePluginWidget):
10119 * plugins/win/PluginViewWin.cpp:
10120 (WebCore::PluginView::updatePluginWidget):
10121
weinig@apple.com00f4d5c2008-09-18 03:23:08 +0000101222008-09-17 Sam Weinig <sam@webkit.org>
10123
weinig@apple.com4fd54cd2008-09-18 05:03:21 +000010124 Reviewed by Mark Rowe.
10125
10126 Fix assertion in DOMWindow::adjustWindowRect where we were passing
10127 in garbage values and were getting lucky that they were a not Nan.
10128
10129 * bindings/js/JSDOMWindowBase.cpp:
10130 (WebCore::windowProtoFuncOpen):
10131
101322008-09-17 Sam Weinig <sam@webkit.org>
10133
weinig@apple.com95b14762008-09-18 04:28:40 +000010134 Fix gtk build.
10135
10136 * rendering/style/MatrixTransformOperation.cpp:
10137
101382008-09-17 Sam Weinig <sam@webkit.org>
10139
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000010140 Rubber-stamped with love by David Hyatt.
10141
10142 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
10143 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
10144 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
10145
10146 * GNUmakefile.am:
10147 * WebCore.pro:
10148 * WebCore.vcproj/WebCore.vcproj:
10149 * WebCore.xcodeproj/project.pbxproj:
10150 * WebCoreSources.bkl:
10151 * css/CSSStyleSelector.cpp:
10152 * page/animation/AnimationBase.cpp:
10153 (WebCore::solveEpsilon):
10154 * rendering/RenderLayer.cpp:
10155 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10156 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10157 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10158 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
10159 * rendering/style/RenderStyle.cpp:
10160 * rendering/style/RenderStyle.h:
10161 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10162 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10163 (WebCore::RotateTransformOperation::RotateTransformOperation):
10164 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10165 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10166 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
10167 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10168 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10169 (WebCore::SkewTransformOperation::SkewTransformOperation):
10170 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
10171 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
10172 (WebCore::StyleTransformData::operator!=):
10173 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
10174 (WebCore::TransformOperation::):
10175 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
10176 (WebCore::TransformOperations::TransformOperations):
10177 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
10178 (WebCore::TransformOperations::operator!=):
10179 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10180 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10181 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
10182
mrowe@apple.comdbfa8852008-09-18 02:59:20 +0000101832008-09-17 Mark Rowe <mrowe@apple.com>
10184
10185 Build fix.
10186
10187 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
10188
hyatt@apple.com76057b42008-09-18 02:48:46 +0000101892008-09-17 David Hyatt <hyatt@apple.com>
10190
10191 (1) Inline a bunch of methods for accessing frame geometry.
10192 (2) Make sure frameGeometry() works even when you have no underlying
10193 native widget.
10194 (3) Cache a frame geometry rect cross-platform (even for widgets that
10195 have underlying native widgets.
10196 (4) PluginView's updateWindow call is now a virtual function on Widget.
10197
10198 Reviewed by Sam Weinig
10199
10200 * ChangeLog:
10201 * WebCore.base.exp:
10202 * platform/Widget.cpp:
10203 (WebCore::Widget::setFrameGeometry):
10204 * platform/Widget.h:
10205 (WebCore::Widget::x):
10206 (WebCore::Widget::y):
10207 (WebCore::Widget::width):
10208 (WebCore::Widget::height):
10209 (WebCore::Widget::size):
10210 (WebCore::Widget::pos):
10211 (WebCore::Widget::frameGeometry):
10212 (WebCore::Widget::resize):
10213 (WebCore::Widget::move):
10214 (WebCore::Widget::isFrameView):
10215 (WebCore::Widget::windowClipRect):
10216 * platform/mac/WidgetMac.mm:
10217 (WebCore::Widget::~Widget):
10218 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
10219 * platform/win/WidgetWin.cpp:
10220 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
10221 * plugins/PluginView.cpp:
10222 (WebCore::PluginView::setFrameGeometry):
10223 (WebCore::PluginView::geometryChanged):
10224 * plugins/PluginView.h:
10225 * plugins/gtk/PluginViewGtk.cpp:
10226 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
10227 * plugins/qt/PluginViewQt.cpp:
10228 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
10229 * plugins/win/PluginViewWin.cpp:
10230 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
10231 * plugins/wx/PluginViewWx.cpp:
10232
weinig@apple.coma812a3ce2008-09-18 01:46:26 +0000102332008-09-17 Sam Weinig <sam@webkit.org>
10234
weinig@apple.comb4b66742008-09-18 02:47:55 +000010235 Reviewed by David "Waterman" Hyatt.
10236
10237 Fix a leak of NSViews in WidgetMac.mm.
10238
10239 * platform/mac/WidgetMac.mm:
10240 (WebCore::Widget::~Widget):
10241
102422008-09-17 Sam Weinig <sam@webkit.org>
10243
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000010244 Rubber-stamped by David Waterman Hyatt.
10245
10246 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
10247 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
10248
10249 * GNUmakefile.am:
10250 * WebCore.pro:
10251 * WebCore.vcproj/WebCore.vcproj:
10252 * WebCore.xcodeproj/project.pbxproj:
10253 * WebCoreSources.bkl:
10254 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
10255 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
10256 (WebCore::FillLayer::operator!=):
10257 (WebCore::FillLayer::hasImage):
10258 (WebCore::FillLayer::hasFixedImage):
10259 * rendering/style/RenderStyle.cpp:
10260 * rendering/style/RenderStyle.h:
10261 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
10262 (WebCore::StyleBackgroundData::StyleBackgroundData):
10263 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
10264 (WebCore::StyleBackgroundData::~StyleBackgroundData):
10265 (WebCore::StyleBackgroundData::operator!=):
10266 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
10267 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
10268 (WebCore::StyleBoxData::operator!=):
10269 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
10270 (WebCore::StyleDashboardRegion::operator!=):
10271 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
10272 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
10273 (WebCore::StyleMarqueeData::operator!=):
10274 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
10275 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
10276 (WebCore::StyleMultiColData::operator!=):
10277 (WebCore::StyleMultiColData::ruleWidth):
10278 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
10279 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
10280 (WebCore::StyleVisualData::operator==):
10281
hyatt@apple.comb4f28b32008-09-18 00:39:36 +0000102822008-09-17 David Hyatt <hyatt@apple.com>
10283
hyatt@apple.com3f19eac2008-09-18 00:56:04 +000010284 Remove WidgetClient from Widget.
10285
10286 Reviewed by Sam Weinig
10287
10288 * WebCore.xcodeproj/project.pbxproj:
10289 * platform/Widget.h:
10290 (WebCore::Widget::setClient):
10291 (WebCore::Widget::client):
10292 * platform/WidgetClient.h: Removed.
10293 * platform/gtk/WidgetGtk.cpp:
10294 * platform/mac/WidgetMac.mm:
10295 (WebCore::Widget::Widget):
10296 (WebCore::Widget::show):
10297 (WebCore::Widget::hide):
10298 * platform/qt/WidgetQt.cpp:
10299 (WebCore::WidgetPrivate::WidgetPrivate):
10300 * platform/win/WidgetWin.cpp:
10301 (WebCore::Widget::Widget):
10302 * platform/wx/WidgetWx.cpp:
10303 (WebCore::Widget::Widget):
10304
103052008-09-17 David Hyatt <hyatt@apple.com>
10306
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000010307 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
10308 only applies to Scrollbars so the method has been moved there and made
10309 cross-platform. Scrollbar subclasses that have a corresponding native
10310 widget can subclass setEnabled to change the enabled state of the native
10311 widget.
10312
10313 Reviewed by Sam Weinig & Darin Adler
10314
10315 * WebCore.base.exp:
10316 * platform/Scrollbar.cpp:
10317 (WebCore::Scrollbar::Scrollbar):
10318 * platform/Scrollbar.h:
10319 (WebCore::Scrollbar::enabled):
10320 (WebCore::Scrollbar::setEnabled):
10321 * platform/Widget.h:
10322 * platform/gtk/ScrollbarGtk.cpp:
10323 (ScrollbarGtk::setEnabled):
10324 * platform/gtk/ScrollbarGtk.h:
10325 * platform/gtk/WidgetGtk.cpp:
10326 * platform/mac/ScrollbarMac.h:
10327 * platform/mac/ScrollbarMac.mm:
10328 (WebCore::ScrollbarMac::scrollbarHit):
10329 (WebCore::ScrollbarMac::setEnabled):
10330 * platform/mac/WidgetMac.mm:
10331 * platform/qt/WidgetQt.cpp:
10332 (WebCore::WidgetPrivate::WidgetPrivate):
10333 * platform/win/WidgetWin.cpp:
10334 (WebCore::Widget::Widget):
10335 * platform/wx/WidgetWx.cpp:
10336
weinig@apple.com1ea40602008-09-17 23:56:27 +0000103372008-09-17 Sam Weinig <sam@webkit.org>
10338
10339 Rubber-stamped by David Hyatt.
10340
10341 Split all RenderStyle enums into their own file.
10342
10343 * GNUmakefile.am:
10344 * WebCore.vcproj/WebCore.vcproj:
10345 * WebCore.xcodeproj/project.pbxproj:
10346 * rendering/style/BorderValue.h:
10347 * rendering/style/CollapsedBorderValue.h:
10348 * rendering/style/RenderStyle.h:
10349 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
10350 (WebCore::):
10351 * rendering/style/StyleCachedImage.h:
10352 * rendering/style/StyleGeneratedImage.h:
10353 * rendering/style/StyleImage.h:
10354
sfalken@apple.combf270912008-09-17 23:53:17 +0000103552008-09-17 Steve Falkenburg <sfalken@apple.com>
10356
10357 Add back isFrameView check to fix failed assertion during scroll bar teardown.
10358
10359 Reviewed by Dave Hyatt.
10360
10361 * platform/Scrollbar.cpp:
10362 (WebCore::Scrollbar::setParent):
10363
beidson@apple.com4398e482008-09-17 23:30:00 +0000103642008-09-17 Brady Eidson <beidson@apple.com>
10365
10366 Reviewed by Mac build fix
10367
10368 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
10369
sfalken@apple.com85cc1392008-09-17 23:28:13 +0000103702008-09-17 Steve Falkenburg <sfalken@apple.com>
10371
10372 Fix build.
10373
10374 * platform/win/ScrollViewWin.cpp:
10375 (WebCore::ScrollView::setParentVisible):
10376 * plugins/win/PluginViewWin.cpp:
10377 (WebCore::PluginView::init):
10378
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +0000103792008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
10380
10381 Reviewed by Simon.
10382
10383 [QtWebKit] Implement error handling in TextCodecQt::decode
10384 Use the QTextCodec parsing state to set the sawError out variable. This
10385 is needed to pass Test 70 of acid3. The test case for this bug is
10386 fast/encoding/invalid-xml.html that is now partially passed. To pass
10387 it completely the Qt text codecs need to be adjusted to have proper
10388 error handling.
10389
10390 * platform/text/qt/TextCodecQt.cpp:
10391 (WebCore::TextCodecQt::decode):
10392
weinig@apple.comf6f0f112008-09-17 23:03:16 +0000103932008-09-17 Sam Weinig <sam@webkit.org>
10394
10395 Rubber-stamped by Dave Hyatt.
10396
10397 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
10398 out of RenderStyle.h/cpp
10399
10400 * GNUmakefile.am:
10401 * WebCore.pro:
10402 * WebCore.vcproj/WebCore.vcproj:
10403 * WebCore.xcodeproj/project.pbxproj:
10404 * WebCoreSources.bkl:
10405 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
10406 (WebCore::BorderData::hasBorderRadius):
10407 (WebCore::BorderData::borderLeftWidth):
10408 (WebCore::BorderData::borderRightWidth):
10409 (WebCore::BorderData::borderTopWidth):
10410 (WebCore::BorderData::borderBottomWidth):
10411 (WebCore::BorderData::operator!=):
10412 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
10413 (WebCore::):
10414 (WebCore::BorderValue::BorderValue):
10415 (WebCore::BorderValue::nonZero):
10416 (WebCore::BorderValue::isTransparent):
10417 (WebCore::BorderValue::isVisible):
10418 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
10419 (WebCore::):
10420 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
10421 (WebCore::CollapsedBorderValue::operator==):
10422 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
10423 (WebCore::OutlineValue::OutlineValue):
10424 * rendering/style/RenderStyle.cpp:
10425 * rendering/style/RenderStyle.h:
10426 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
10427 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
10428 (WebCore::StyleSurroundData::operator!=):
10429
bdakin@apple.com06b97182008-09-17 23:00:29 +0000104302008-09-17 Beth Dakin <bdakin@apple.com>
10431
10432 Reviewed by Darin Adler.
10433
10434 This is a better fix for: Invalid CSS code crashes Safari
10435 https://bugs.webkit.org/show_bug.cgi?id=20512
10436
10437 The spec indicates that the only valid input for a counter is a
10438 number or an identifier. So that is exactly what we allow.
10439
10440 * css/CSSParser.cpp:
10441 (WebCore::CSSParser::parseCounterContent):
10442
alp@webkit.org97ba9222008-09-17 22:16:26 +0000104432008-09-17 Alp Toker <alp@nuanti.com>
10444
10445 GTK+ build fix. Adapt to use PlatformWidget functions.
10446
10447 * platform/gtk/ScrollViewGtk.cpp:
10448 (WebCore::ScrollViewScrollbar::geometryChanged):
10449 (WebCore::ScrollView::addChild):
10450 (WebCore::ScrollView::removeChild):
10451 * platform/gtk/ScrollbarGtk.cpp:
10452 (ScrollbarGtk::ScrollbarGtk):
10453 (ScrollbarGtk::~ScrollbarGtk):
10454 (ScrollbarGtk::geometryChanged):
10455
weinig@apple.com930ed392008-09-17 22:00:45 +0000104562008-09-17 Sam Weinig <sam@webkit.org>
10457
10458 Reviewed by Adele Peterson.
10459
10460 Patch for <rdar://problem/6133884>
10461 Calling window.resizeTo() on a subframe shouldn't change the window size
10462
10463 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
10464
10465 * page/DOMWindow.cpp:
10466 (WebCore::DOMWindow::moveBy):
10467 (WebCore::DOMWindow::moveTo):
10468 (WebCore::DOMWindow::resizeBy):
10469 (WebCore::DOMWindow::resizeTo):
10470
bdakin@apple.com8f952d82008-09-17 21:35:02 +0000104712008-09-17 Beth Dakin <bdakin@apple.com>
10472
10473 Reviewed by Adam Roben.
10474
10475 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
10476 code crashes Safari
10477 and corresponding: <rdar://problem/6173832>
10478
10479 Reading through the spec, it seems like a function is not valid
10480 input for a counter. So this patch checks for that and bails in the
10481 case of invalid input.
10482
10483 * css/CSSParser.cpp:
10484 (WebCore::CSSParser::parseCounterContent):
10485
antti@apple.comb37d4052008-09-17 21:14:13 +0000104862008-09-17 Greg Bolsinga <bolsinga@apple.com>
10487
10488 Reviewed by Antti Koivisto.
10489
10490 Fix <rdar://problem/6227089>
10491 Crash in WebCore::Frame::setNeedsReapplyStyles()
10492
10493 View is null checked elsewhere too.
10494
10495 * page/Frame.cpp:
10496 (WebCore::Frame::setNeedsReapplyStyles):
10497
hyatt@apple.com8e340252008-09-17 20:59:45 +0000104982008-09-17 David Hyatt <hyatt@apple.com>
10499
10500 Make the notion of having a native widget backing a Widget cross-platform.
10501 The PlatformWidget abstraction (which already existed) is used for this.
10502 Windows = HWND
10503 Qt = QWidget
10504 Mac = NSView
10505 wx = wxWindow
10506 Gtk = GtkWidget
10507
10508 There are new cross-platform methods that replace all of the unique
10509 platform-specific methods.
10510 platformWidget()
10511 setPlatformWidget()
10512
10513 For plugins, on every platform except Qt on Windows, the plugin's native
10514 widget is now stored in the Widget base class. Since Qt on Windows uses
10515 HWNDs for plugins instead of QWidget, it is the only platform to keep the
10516 m_window variable in PluginView.
10517
10518 Reviewed by Sam Weinig
10519
10520 * WebCore.base.exp:
10521 * bindings/js/ScriptControllerMac.mm:
10522 (WebCore::ScriptController::createScriptInstanceForWidget):
10523 * page/mac/AccessibilityObjectWrapper.mm:
10524 (-[AccessibilityObjectWrapper attachmentView]):
10525 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
10526 * page/mac/EventHandlerMac.mm:
10527 (WebCore::EventHandler::passMouseDownEventToWidget):
10528 (WebCore::EventHandler::mouseDownViewIfStillGood):
10529 (WebCore::EventHandler::passWheelEventToWidget):
10530 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
10531 * platform/Widget.cpp:
10532 (WebCore::Widget::init):
10533 (WebCore::Widget::setParent):
10534 (WebCore::Widget::releasePlatformWidget):
10535 (WebCore::Widget::retainPlatformWidget):
10536 * platform/Widget.h:
10537 (WebCore::Widget::platformWidget):
10538 (WebCore::Widget::setPlatformWidget):
10539 * platform/gtk/WidgetGtk.cpp:
10540 (WebCore::Widget::Widget):
10541 (WebCore::Widget::setFocus):
10542 (WebCore::gdkDrawable):
10543 (WebCore::Widget::setCursor):
10544 (WebCore::Widget::show):
10545 (WebCore::Widget::hide):
10546 (WebCore::Widget::setEnabled):
10547 (WebCore::Widget::isEnabled):
10548 (WebCore::Widget::paint):
10549 * platform/mac/PlatformScreenMac.mm:
10550 (WebCore::screenRect):
10551 (WebCore::screenAvailableRect):
10552 * platform/mac/ScrollViewMac.mm:
10553 (WebCore::ScrollView::scrollView):
10554 (WebCore::ScrollView::update):
10555 (WebCore::ScrollView::inWindow):
10556 * platform/mac/ScrollbarMac.mm:
10557 (WebCore::ScrollbarMac::ScrollbarMac):
10558 (WebCore::ScrollbarMac::~ScrollbarMac):
10559 (WebCore::ScrollbarMac::updateThumbPosition):
10560 (WebCore::ScrollbarMac::updateThumbProportion):
10561 (WebCore::ScrollbarMac::scrollbarHit):
10562 * platform/mac/WidgetMac.mm:
10563 (WebCore::Widget::Widget):
10564 (WebCore::Widget::setEnabled):
10565 (WebCore::Widget::isEnabled):
10566 (WebCore::Widget::setFocus):
10567 (WebCore::Widget::getOuterView):
10568 (WebCore::Widget::paint):
10569 (WebCore::Widget::invalidate):
10570 (WebCore::Widget::invalidateRect):
10571 (WebCore::Widget::setIsSelected):
10572 (WebCore::Widget::releasePlatformWidget):
10573 (WebCore::Widget::retainPlatformWidget):
10574 * platform/qt/WidgetQt.cpp:
10575 (WebCore::WidgetPrivate::WidgetPrivate):
10576 (WebCore::Widget::Widget):
10577 (WebCore::Widget::setFrameGeometry):
10578 (WebCore::Widget::show):
10579 (WebCore::Widget::hide):
10580 (WebCore::Widget::isEnabled):
10581 (WebCore::Widget::setEnabled):
10582 (WebCore::Widget::invalidateRect):
10583 (WebCore::Widget::containingWindow):
10584 * platform/win/WidgetWin.cpp:
10585 (WebCore::Widget::Widget):
10586 * platform/wx/WidgetWx.cpp:
10587 (WebCore::Widget::Widget):
10588 (WebCore::Widget::frameGeometry):
10589 (WebCore::Widget::setFocus):
10590 (WebCore::Widget::setCursor):
10591 (WebCore::Widget::show):
10592 (WebCore::Widget::hide):
10593 (WebCore::Widget::setFrameGeometry):
10594 (WebCore::Widget::setEnabled):
10595 (WebCore::Widget::isEnabled):
10596 (WebCore::Widget::invalidate):
10597 (WebCore::Widget::invalidateRect):
10598 (WebCore::Widget::paint):
10599 * plugins/PluginView.cpp:
10600 (WebCore::PluginView::PluginView):
10601 * plugins/PluginView.h:
10602 (WebCore::PluginView::platformPluginWidget):
10603 * plugins/gtk/PluginViewGtk.cpp:
10604 (WebCore::PluginView::updateWindow):
10605 (WebCore::PluginView::setFocus):
10606 (WebCore::PluginView::show):
10607 (WebCore::PluginView::hide):
10608 (WebCore::PluginView::setParent):
10609 (WebCore::PluginView::setNPWindowRect):
10610 (WebCore::PluginView::setParentVisible):
10611 (WebCore::PluginView::getValue):
10612 (WebCore::PluginView::forceRedraw):
10613 (WebCore::PluginView::init):
10614 * plugins/qt/PluginViewQt.cpp:
10615 (WebCore::PluginView::updateWindow):
10616 (WebCore::PluginView::setFocus):
10617 (WebCore::PluginView::show):
10618 (WebCore::PluginView::hide):
10619 (WebCore::PluginView::setParent):
10620 (WebCore::PluginView::setNPWindowRect):
10621 (WebCore::PluginView::setParentVisible):
10622 (WebCore::PluginView::getValue):
10623 (WebCore::PluginView::~PluginView):
10624 (WebCore::PluginView::init):
10625 * plugins/win/PluginViewWin.cpp:
10626 (WebCore::PluginView::updateWindow):
10627 (WebCore::PluginView::setFocus):
10628 (WebCore::PluginView::show):
10629 (WebCore::PluginView::hide):
10630 (WebCore::PluginView::paint):
10631 (WebCore::PluginView::setParent):
10632 (WebCore::PluginView::setParentVisible):
10633 (WebCore::PluginView::setNPWindowRect):
10634 (WebCore::PluginView::stop):
10635 (WebCore::PluginView::invalidateRect):
10636 (WebCore::PluginView::forceRedraw):
10637 (WebCore::PluginView::~PluginView):
10638 (WebCore::PluginView::init):
10639
weinig@apple.comf713d132008-09-17 20:16:48 +0000106402008-09-17 Sam Weinig <sam@webkit.org>
10641
10642 Fix assert.
10643
10644 * platform/Widget.cpp:
10645 (WebCore::Widget::setParent):
10646
hyatt@apple.comd9242e32008-09-17 18:46:31 +0000106472008-09-17 David Hyatt <hyatt@apple.com>
10648
10649 Beginnings of Widget refactoring (in order to make the mixing of
10650 widgets with and without corresponding native widgets more cross-platform).
10651
10652 This first patch makes the concept of a parent ScrollView cross-platform.
10653
10654 Note the similarity of the show/hide methods on the three PluginViews. This
10655 will be refactored better in a later patch so that they can all share
10656 a base class Widget show/hide method. For now the changes were made
10657 simply to be able to bring WidgetWin's setParent method up into Widget.
10658
10659 Reviewed by Sam Weinig
10660
10661 * WebCore.base.exp:
10662 * platform/ScrollView.h:
10663 * platform/Widget.cpp:
10664 (WebCore::Widget::init):
10665 (WebCore::Widget::setParent):
10666 * platform/Widget.h:
10667 (WebCore::Widget::isSelfVisible):
10668 (WebCore::Widget::isParentVisible):
10669 (WebCore::Widget::isVisible):
10670 (WebCore::Widget::setParentVisible):
10671 (WebCore::Widget::isPluginView):
10672 (WebCore::Widget::parent):
10673 (WebCore::Widget::handleEvent):
10674 (WebCore::Widget::geometryChanged):
10675 * platform/gtk/WidgetGtk.cpp:
10676 (WebCore::Widget::Widget):
10677 * platform/mac/ScrollViewMac.mm:
10678 (WebCore::ScrollView::addChild):
10679 (WebCore::ScrollView::removeChild):
10680 * platform/mac/ScrollbarMac.mm:
10681 (WebCore::ScrollbarMac::~ScrollbarMac):
10682 * platform/mac/WidgetMac.mm:
10683 (WebCore::Widget::Widget):
10684 (WebCore::Widget::~Widget):
10685 * platform/qt/WidgetQt.cpp:
10686 (WebCore::WidgetPrivate::WidgetPrivate):
10687 (WebCore::Widget::Widget):
10688 (WebCore::Widget::topLevel):
10689 * platform/win/ScrollViewWin.cpp:
10690 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
10691 (WebCore::ScrollView::setAncestorVisible):
10692 (WebCore::ScrollView::show):
10693 (WebCore::ScrollView::hide):
10694 * platform/win/WidgetWin.cpp:
10695 (WebCore::Widget::Widget):
10696 (WebCore::Widget::setParent):
10697 * platform/wx/WidgetWx.cpp:
10698 (WebCore::Widget::Widget):
10699 * plugins/PluginView.cpp:
10700 (WebCore::PluginView::PluginView):
10701 * plugins/PluginView.h:
10702 * plugins/gtk/PluginViewGtk.cpp:
10703 (WebCore::PluginView::show):
10704 (WebCore::PluginView::hide):
10705 (WebCore::PluginView::setParentVisible):
10706 * plugins/qt/PluginViewQt.cpp:
10707 (WebCore::PluginView::show):
10708 (WebCore::PluginView::hide):
10709 (WebCore::PluginView::setParentVisible):
10710 * plugins/win/PluginViewWin.cpp:
10711 (WebCore::PluginView::show):
10712 (WebCore::PluginView::hide):
10713 (WebCore::PluginView::setParentVisible):
10714
ap@webkit.org18da1a32008-09-17 16:50:22 +0000107152008-09-17 Alexey Proskuryakov <ap@webkit.org>
10716
10717 Reviewed by Adam Roben.
10718
10719 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
10720
10721 * platform/text/TextCodecICU.cpp:
10722 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
10723
vestbo@webkit.orge48e6362008-09-17 13:29:42 +0000107242008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
10725
10726 Fix the QtWebKit/Mac build
10727
10728 * platform/qt/ScrollViewQt.cpp: add include
10729
ap@webkit.org18da1a32008-09-17 16:50:22 +0000107302008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +000010731
10732 Add a #define to control whether or not to use an NSScroller on Mac.
10733 This ifdef will allow the new NSView-less NSScroller on Mac to be
10734 developed side by side with the current one.
10735
10736 The new scroller paints a debug red if turned on (although due to
10737 Widget issues you won't see anything paint yet).
10738
10739 Reviewed by olliej
10740
10741 * platform/Scrollbar.cpp:
10742 * platform/Scrollbar.h:
10743 * platform/mac/ScrollbarMac.h:
10744 * platform/mac/ScrollbarMac.mm:
10745 * platform/mac/ScrollbarThemeMac.cpp:
10746 (WebCore::ScrollbarThemeMac::paint):
10747 * platform/mac/ScrollbarThemeMac.h:
10748
alp@webkit.orgf06bac02008-09-17 04:30:12 +0000107492008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
10750
10751 Reviewed by Alp Toker.
10752
10753 http://bugs.webkit.org/show_bug.cgi?id=20854
10754 [GTK] Windows can be not realized in ScrollView::update
10755
10756 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
10757
10758 * platform/gtk/ScrollViewGtk.cpp:
10759 (WebCore::ScrollView::update):
10760
alp@webkit.org226f72a2008-09-17 04:22:02 +0000107612008-09-16 Alp Toker <alp@nuanti.com>
10762
10763 Suggested by Dave Hyatt.
10764
10765 Build fix and cleanup. Rename ScrollBar to Scrollbar.
10766
10767 * GNUmakefile.am:
10768 * WebCore.pro:
10769 * WebCore.vcproj/WebCore.vcproj:
10770 * WebCore.xcodeproj/project.pbxproj:
10771 * WebCoreSources.bkl:
10772 * editing/EditorCommand.cpp:
10773 * page/EventHandler.cpp:
10774 * page/gtk/EventHandlerGtk.cpp:
10775 * page/mac/EventHandlerMac.mm:
10776 * page/mac/FrameMac.mm:
10777 * page/qt/EventHandlerQt.cpp:
10778 * page/wx/EventHandlerWx.cpp:
10779 * platform/PopupMenu.h:
10780 * platform/ScrollBar.cpp: Removed.
10781 * platform/ScrollBar.h: Removed.
10782 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
10783 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
10784 * platform/gtk/ScrollbarGtk.cpp:
10785 (ScrollbarGtk::ScrollbarGtk):
10786 * platform/gtk/ScrollbarGtk.h:
10787 * platform/mac/ScrollbarMac.h:
10788 * platform/qt/ScrollViewQt.cpp:
10789 * platform/qt/ScrollbarQt.cpp:
10790 * platform/qt/ScrollbarThemeQt.cpp:
10791 * platform/win/PlatformScrollBar.h:
10792 * platform/win/PopupMenuWin.cpp:
10793 * platform/win/ScrollViewWin.cpp:
10794 * platform/win/ScrollbarThemeWin.cpp:
10795 * platform/wx/ScrollViewWx.cpp:
10796 * platform/wx/TemporaryLinkStubs.cpp:
10797 * rendering/HitTestResult.cpp:
10798 * rendering/RenderLayer.cpp:
10799 * rendering/RenderTextControl.cpp:
10800
hyatt@apple.com7597c172008-09-17 02:15:08 +0000108012008-09-16 David Hyatt <hyatt@apple.com>
10802
hyatt@apple.comfde412d2008-09-17 03:49:48 +000010803 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
10804 it can be called from ScrollbarQt.
10805
10806 * platform/ScrollBar.cpp:
10807 (WebCore::Scrollbar::moveThumb):
10808 (WebCore::Scrollbar::handleMouseMoveEvent):
10809 (WebCore::Scrollbar::handleMousePressEvent):
10810 * platform/ScrollBar.h:
10811 * platform/qt/ScrollViewQt.cpp:
10812 * platform/qt/ScrollbarQt.cpp:
10813 (WebCore::Scrollbar::handleContextMenuEvent):
10814
108152008-09-16 David Hyatt <hyatt@apple.com>
10816
hyatt@apple.com4e3b8602008-09-17 03:17:11 +000010817 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
10818 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
10819 now just use Scrollbar.
10820
10821 Reviewed by Sam Weinig
10822
10823 * GNUmakefile.am:
10824 * WebCore.pro:
10825 * WebCore.vcproj/WebCore.vcproj:
10826 * WebCore.xcodeproj/project.pbxproj:
10827 * page/mac/FrameMac.mm:
10828 * platform/PopupMenu.h:
10829 (WebCore::PopupMenu::scrollbar):
10830 * platform/ScrollBar.cpp:
10831 (WebCore::createNativeScrollbar):
10832 * platform/ScrollBar.h:
10833 * platform/gtk/PlatformScrollBar.h: Removed.
10834 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
10835 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
10836 (gtkScrollEventCallback):
10837 (ScrollbarGtk::ScrollbarGtk):
10838 (ScrollbarGtk::~ScrollbarGtk):
10839 (ScrollbarGtk::updateThumbPosition):
10840 (ScrollbarGtk::updateThumbProportion):
10841 (ScrollbarGtk::setFrameGeometry):
10842 (ScrollbarGtk::geometryChanged):
10843 (ScrollbarGtk::gtkValueChanged):
10844 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
10845 * platform/mac/PlatformScrollBar.h: Removed.
10846 * platform/mac/PlatformScrollBarMac.mm: Removed.
10847 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
10848 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
10849 (-[WebCoreScrollBar initWithScrollbarMac:]):
10850 (-[WebCoreScrollBar detachScrollbarMac]):
10851 (WebCore::Scrollbar::createNativeScrollbar):
10852 (WebCore::ScrollbarMac::ScrollbarMac):
10853 (WebCore::ScrollbarMac::~ScrollbarMac):
10854 (WebCore::ScrollbarMac::updateThumbPosition):
10855 (WebCore::ScrollbarMac::updateThumbProportion):
10856 (WebCore::ScrollbarMac::scrollbarHit):
10857 * platform/qt/PlatformScrollBar.h: Removed.
10858 * platform/qt/PlatformScrollBarQt.cpp: Removed.
10859 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
10860 (WebCore::Scrollbar::handleContextMenuEvent):
10861 * rendering/HitTestResult.cpp:
10862 * rendering/RenderLayer.cpp:
10863 (WebCore::RenderLayer::createScrollbar):
10864 (WebCore::RenderLayer::destroyScrollbar):
10865 * rendering/RenderLayer.h:
10866 * rendering/RenderListBox.cpp:
10867 (WebCore::RenderListBox::~RenderListBox):
10868 (WebCore::RenderListBox::updateFromElement):
10869 (WebCore::RenderListBox::isPointInOverflowControl):
10870 * rendering/RenderObject.h:
10871 * rendering/RenderTextControl.cpp:
10872
108732008-09-16 David Hyatt <hyatt@apple.com>
10874
hyatt@apple.com7597c172008-09-17 02:15:08 +000010875 Make the scrollbar resizer-dodging logic cross-platform in the
10876 Scrollbar class.
10877
10878 Reviewed by Sam Weinig
10879
10880 * platform/ScrollBar.cpp:
10881 (WebCore::Scrollbar::setFrameGeometry):
10882 (WebCore::Scrollbar::setParent):
10883 (WebCore::Scrollbar::windowClipRect):
10884 * platform/ScrollBar.h:
10885 * platform/ScrollView.h:
10886 (WebCore::ScrollView::windowResizerRect):
10887 (WebCore::ScrollView::resizerOverlapsContent):
10888 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
10889 * platform/Widget.h:
10890 (WebCore::Widget::setParent):
10891 * platform/mac/WidgetMac.mm:
10892 (WebCore::Widget::convertToContainingWindow):
10893 * platform/win/PlatformScrollBar.h:
10894 * platform/win/PlatformScrollBarWin.cpp:
10895
mitz@apple.com6d925202008-09-16 17:34:10 +0000108962008-09-16 Dan Bernstein <mitz@apple.com>
10897
mitz@apple.comd9462a52008-09-16 17:40:20 +000010898 Reviewed by Darin Adler.
10899
10900 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
10901 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
10902
10903 Covered by fast/repaint/4776765.html
10904
10905 * rendering/RenderBlock.cpp:
10906 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
10907 did not have layout in the beginning.
10908 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
10909 layout in the beginning, repaint it in its new position, to compensate
10910 for the above (regardless of whether it "moved").
10911 * rendering/RenderObject.cpp:
10912 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
10913 about generalizing this fix in the future.
10914
109152008-09-16 Dan Bernstein <mitz@apple.com>
10916
mitz@apple.com6d925202008-09-16 17:34:10 +000010917 Reviewed by Dave Hyatt.
10918
10919 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
10920 Div does not notice when grandparent changes height
10921
10922 Test: fast/block/basic/quirk-percent-height-grandchild.html
10923
10924 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
10925 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
10926
10927 Test: fast/replaced/percent-height-in-anonymous-block.html
10928
10929 Added a two-way mapping between boxes with percentage heights and
10930 their non-parent ancestors up to the one the height is computed relative
10931 to. In quirks mode (the first bug), this can be any number of containing
10932 block with auto height. In strict mode (the second bug) this can be
10933 the containing block of an anonymous block containing a replaced
10934 element.
10935
10936 * rendering/RenderBlock.cpp:
10937 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
10938 mapping to/from this block to percentage-height descendants.
10939 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
10940 percentage-height descendants (and their containing block ancestry chain
10941 up to this block) for layout. This ensures that those descendants whose
10942 height depends on the height of this block (or an ancestor) are updated.
10943 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
10944 a two-way mapping between this block and the given box.
10945 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
10946 all the mapping to/from this box.
10947 * rendering/RenderBlock.h:
10948 * rendering/RenderBox.cpp:
10949 (WebCore::RenderBox::setStyle): Added calls to
10950 removePercentHeightDescendant() when style changes and the box
10951 previously had a percentage height. An exception is when the style
10952 change does not require layout, in which case the box still has
10953 a percentage height and the mappings are valid. In all other cases,
10954 any required mappings will be (re-)established during layout.
10955 (WebCore::RenderBox::destroy): Added a call to
10956 removePercentHeightDescendant.
10957 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
10958 mode, if a higher-than-parent containing block is affecting the box's
10959 height, creates a mapping between the box and that block.
10960 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
10961 anonymous containing blocks, if any, and when that happens, use
10962 addPercentHeightDescendant() to ensure that the non-anonymous block
10963 is aware of the dependent percent-height box.
10964
alp@webkit.org1dbd9a92008-09-16 16:59:18 +0000109652008-09-16 Dirk Schulze <vbs85@gmx.de>
10966
10967 Reviewed by Oliver Hunt and Alp Toker.
10968
10969 Implemented toDataURL in Cairo. Only PNG support
10970 at the moment.
10971
10972 Qt, Cairo and wx require toDataURL implementations
10973 https://bugs.webkit.org/show_bug.cgi?id=17719
10974
10975 * platform/MIMETypeRegistry.cpp:
10976 (WebCore::initializeSupportedImageMIMETypesForEncoding):
10977 * platform/graphics/cairo/ImageBufferCairo.cpp:
10978 (WebCore::ImageBuffer::ImageBuffer):
10979 (WebCore::writeFunction):
10980 (WebCore::ImageBuffer::toDataURL):
10981
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +0000109822008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
10983
10984 Reviewed by Simon.
10985
10986 Hide unused media element controls in the QtWebKit port
10987
10988 * platform/qt/html4-adjustments-qt.css
10989
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +0000109902008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
10991
10992 Reviewed by Simon.
10993
10994 Fix compilation of the Qt scrollbar code.
10995
10996 * platform/qt/PlatformScrollBarQt.cpp:
10997 (WebCore::scPart):
10998 (WebCore::styleOptionSlider):
10999 (WebCore::thumbLength):
11000 (WebCore::pixelPosToRangeValue):
11001 (WebCore::PlatformScrollbar::handleContextMenuEvent):
11002
treat@webkit.orga35f6b62008-09-16 14:15:29 +0000110032008-09-16 Adam Treat <treat@kde.org>
11004
11005 Reviewed by Anders Carlsson.
11006
11007 Prevent accesses off of the end of the buffer introduced in r36450
11008 and when checking for descriptions of mime. Also, coding style fix.
11009
11010 * plugins/qt/PluginPackageQt.cpp:
11011 (WebCore::PluginPackage::fetchInfo):
11012
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +0000110132008-09-15 Rob Buis <buis@kde.org>
11014
11015 Reviewed by Eric.
11016
11017 https://bugs.webkit.org/show_bug.cgi?id=20634
11018 SVG transform attribute is ignored by <use> in <clipPath>
11019
11020 Transform the paths with the local transform when part
11021 of a clip path.
11022
11023 Test: svg/custom/use-clipped-transform.svg
11024
11025 * svg/SVGClipPathElement.cpp:
11026 (WebCore::SVGClipPathElement::canvasResource):
11027 * svg/SVGStyledTransformableElement.cpp:
11028 (WebCore::SVGStyledTransformableElement::toClipPath):
11029 * svg/SVGStyledTransformableElement.h:
11030
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +0000110312008-09-15 Dave Hyatt <hyatt@apple.com>
11032
11033 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
11034 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
11035
11036 Reviewed by Sam Weinig
11037
11038 * platform/ScrollBar.cpp:
11039 (WebCore::thumbUnderMouse):
11040 (WebCore::Scrollbar::autoscrollPressedPart):
11041 (WebCore::Scrollbar::startTimerIfNeeded):
11042 (WebCore::moveThumb):
11043 (WebCore::Scrollbar::handleMouseMoveEvent):
11044 (WebCore::Scrollbar::handleMousePressEvent):
11045 * platform/ScrollBar.h:
11046 (WebCore::Scrollbar::pressedPos):
11047 (WebCore::Scrollbar::pixelStep):
11048 (WebCore::Scrollbar::setPressedPos):
11049 * platform/ScrollbarTheme.h:
11050 (WebCore::ScrollbarTheme::thumbPosition):
11051 (WebCore::ScrollbarTheme::thumbLength):
11052 (WebCore::ScrollbarTheme::trackPosition):
11053 (WebCore::ScrollbarTheme::trackLength):
11054 * platform/ScrollbarThemeComposite.cpp:
11055 (WebCore::ScrollbarThemeComposite::trackPosition):
11056 * platform/ScrollbarThemeComposite.h:
11057 * platform/qt/PlatformScrollBarQt.cpp:
11058 (WebCore::PlatformScrollbar::PlatformScrollbar):
11059 (WebCore::):
11060 * platform/qt/ScrollbarThemeQt.cpp:
11061 (WebCore::styleOptionSlider):
11062 (WebCore::ScrollbarThemeQt::hitTest):
11063 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
11064 (WebCore::ScrollbarThemeQt::invalidatePart):
11065 (WebCore::ScrollbarThemeQt::thumbPosition):
11066 (WebCore::):
11067 * platform/qt/ScrollbarThemeQt.h:
11068 * platform/win/ScrollbarThemeSafari.cpp:
11069 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
11070 * platform/win/ScrollbarThemeSafari.h:
11071 * platform/win/ScrollbarThemeWin.cpp:
11072 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
11073 * platform/win/ScrollbarThemeWin.h:
11074
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +0000110752008-09-15 David Smith <catfish.man@gmail.com>
11076
11077 Reviewed by Sam Weinig.
11078
11079 https://bugs.webkit.org/show_bug.cgi?id=20180
11080
11081 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
11082
11083 * GNUmakefile.am: Add CSSNthSelector
11084 * WebCore.pro: Add CSSNthSelector
11085 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
11086 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
11087 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
11088 * css/CSSNthSelector.cpp: Added.
11089 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
11090 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
11091 * css/CSSNthSelector.h: Added.
11092 (WebCore::CSSNthSelector::CSSNthSelector):
11093 (WebCore::CSSNthSelector::~CSSNthSelector):
11094 * css/CSSParser.cpp:
11095 (WebCore::CSSParser::createFloatingNthSelector):
11096 * css/CSSParser.h:
11097 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
11098 (WebCore::CSSSelector::CSSSelector):
11099 * css/CSSStyleSelector.cpp:
11100 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
11101
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +0000111022008-09-15 Matt Lilek <webkit@mattlilek.com>
11103
11104 Reviewed by Tim Hatcher.
11105
11106 Clean up some inspector JS callbacks to remove an extra return.
11107
11108 * page/InspectorController.cpp:
11109 (WebCore::hideDOMNodeHighlight):
11110 (WebCore::loaded):
11111 (WebCore::unloading):
11112 (WebCore::attach):
11113 (WebCore::detach):
11114 (WebCore::startDebuggingAndReloadInspectedPage):
11115 (WebCore::stopDebugging):
11116 (WebCore::debuggerAttached):
11117 (WebCore::pauseOnExceptions):
11118 (WebCore::pauseInDebugger):
11119 (WebCore::resumeDebugger):
11120 (WebCore::stepOverStatementInDebugger):
11121 (WebCore::stepIntoStatementInDebugger):
11122 (WebCore::stepOutOfFunctionInDebugger):
11123 (WebCore::isWindowVisible):
11124 (WebCore::closeWindow):
11125
hyatt@apple.com8e809932008-09-16 02:29:09 +0000111262008-09-15 Dave Hyatt <hyatt@apple.com>
11127
11128 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
11129 now share most of their code.
11130
11131 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
11132 also is never used in our code anyway.
11133
11134 Reviewed by Sam Weinig
11135
11136 * WebCore.vcproj/WebCore.vcproj:
11137 * platform/ScrollTypes.h:
11138 (WebCore::):
11139 * platform/ScrollbarThemeComposite.cpp:
11140 (WebCore::ScrollbarThemeComposite::splitTrack):
11141 (WebCore::ScrollbarThemeComposite::thumbLength):
11142 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
11143 * platform/ScrollbarThemeComposite.h:
11144 * platform/mac/PlatformScrollBarMac.mm:
11145 (NSControlSizeForScrollBarControlSize):
11146 * platform/win/PlatformScrollBar.h:
11147 * platform/win/PlatformScrollBarSafari.cpp: Removed.
11148 * platform/win/PlatformScrollBarWin.cpp:
11149 (WebCore::PlatformScrollbar::PlatformScrollbar):
11150 * platform/win/ScrollbarThemeSafari.cpp:
11151 (WebCore::ScrollbarTheme::nativeTheme):
11152 (WebCore::):
11153 (WebCore::scrollbarControlStateFromThemeState):
11154 (WebCore::ScrollbarThemeSafari::hasButtons):
11155 (WebCore::ScrollbarThemeSafari::hasThumb):
11156 (WebCore::buttonRepaintRect):
11157 (WebCore::ScrollbarThemeSafari::backButtonRect):
11158 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
11159 (WebCore::trackRepaintRect):
11160 (WebCore::ScrollbarThemeSafari::trackRect):
11161 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
11162 (WebCore::ScrollbarThemeSafari::paintTrack):
11163 (WebCore::ScrollbarThemeSafari::paintButton):
11164 (WebCore::ScrollbarThemeSafari::paintThumb):
11165 * platform/win/ScrollbarThemeSafari.h:
11166 * platform/win/ScrollbarThemeWin.cpp:
11167 * platform/win/ScrollbarThemeWin.h:
11168
cfleizach@apple.com0ce07032008-09-16 00:17:58 +0000111692008-09-15 Chris Fleizach <cfleizach@apple.com>
11170
11171 Reviewed by Darin Adler, Beth Dakin
11172
11173 <rdar://problem/4003789> Expose lists as AXList
11174 <rdar://problem/5707399> VO: Definition lists not announced in Safari
11175
11176 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
11177 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
11178 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
11179 as does each <dd> tag ("definition")
11180
11181 Test: accessibility/lists.html
11182
11183 * GNUmakefile.am:
11184 * WebCore.pro:
11185 * WebCore.vcproj/WebCore.vcproj:
11186 * WebCore.xcodeproj/project.pbxproj:
11187 * WebCoreSources.bkl:
11188 * page/AXObjectCache.cpp:
11189 * page/AccessibilityList.cpp: Added.
11190 * page/AccessibilityList.h: Added.
11191 * page/AccessibilityObject.h:
11192 * page/AccessibilityRenderObject.cpp:
11193 * page/AccessibilityTable.cpp:
11194 * page/mac/AccessibilityObjectWrapper.mm:
11195 * page/mac/WebCoreViewFactory.h:
11196 * platform/LocalizedStrings.h:
11197 * platform/mac/LocalizedStringsMac.mm:
11198 * platform/qt/Localizations.cpp:
11199
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +0000112002008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
11201
11202 Reviewed by Eric.
11203
11204 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
11205 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
11206
11207 Several renames:
11208 dispatchHTMLEvent -> dispatchEventForType
11209 setHTMLEventListener -> setEventListenerForType
11210 getHTMLEventListener -> eventListenerForType
11211 removeHTMLEventListener -> removeEventListenerForType
11212 isHTMLEventListener -> isAttachedToEventTargetNode
11213 ...
11214
11215 Similar renames for the dispatch/get/set/*Window*Event functions.
11216 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
11217
11218 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
11219 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
11220
11221 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
11222 SVG is able to use the code as well now. This affects most files in html/.
11223
11224 No functional changes.
11225
11226 * GNUmakefile.am:
11227 * WebCore.pro:
11228 * WebCore.vcproj/WebCore.vcproj:
11229 * WebCore.xcodeproj/project.pbxproj:
11230 * bindings/js/JSDOMWindowBase.cpp:
11231 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
11232 (WebCore::JSDOMWindowBase::setListener):
11233 (WebCore::JSDOMWindowBase::getListener):
11234 (WebCore::JSDOMWindowBase::findJSEventListener):
11235 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
11236 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
11237 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
11238 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
11239 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
11240 * bindings/js/JSDOMWindowBase.h:
11241 * bindings/js/JSEventListener.cpp:
11242 (WebCore::JSAbstractEventListener::handleEvent):
11243 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
11244 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
11245 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
11246 (WebCore::JSEventListener::JSEventListener):
11247 (WebCore::JSEventListener::~JSEventListener):
11248 (WebCore::JSLazyEventListener::JSLazyEventListener):
11249 (WebCore::eventParameterName):
11250 (WebCore::JSLazyEventListener::parseCode):
11251 (WebCore::getNodeEventListener):
11252 * bindings/js/JSEventListener.h:
11253 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
11254 (WebCore::JSUnprotectedEventListener::create):
11255 (WebCore::JSEventListener::create):
11256 (WebCore::JSLazyEventListener::):
11257 (WebCore::JSLazyEventListener::create):
11258 * bindings/js/JSEventTargetNode.cpp:
11259 (WebCore::JSEventTargetNode::setListener):
11260 (WebCore::JSEventTargetNode::getListener):
11261 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
11262 * bindings/js/JSSVGLazyEventListener.h: Removed.
11263 * bindings/js/ScriptController.cpp:
11264 (WebCore::ScriptController::createHTMLEventHandler):
11265 (WebCore::ScriptController::createSVGEventHandler):
11266 * dom/Document.cpp:
11267 (WebCore::Document::setFocusedNode):
11268 (WebCore::Document::handleWindowEvent):
11269 (WebCore::Document::setWindowEventListenerForType):
11270 (WebCore::Document::windowEventListenerForType):
11271 (WebCore::Document::removeWindowEventListenerForType):
11272 (WebCore::Document::addWindowEventListener):
11273 (WebCore::Document::hasWindowEventListener):
11274 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
11275 (WebCore::Document::createEventListener):
11276 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
11277 * dom/Document.h:
11278 * dom/EventListener.h:
11279 (WebCore::EventListener::isAttachedToEventTargetNode):
11280 * dom/EventTargetNode.cpp:
11281 (WebCore::EventTargetNode::dispatchFocusEvent):
11282 (WebCore::EventTargetNode::dispatchBlurEvent):
11283 (WebCore::EventTargetNode::dispatchEventForType):
11284 (WebCore::EventTargetNode::removeEventListenerForType):
11285 (WebCore::EventTargetNode::setEventListenerForType):
11286 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
11287 (WebCore::EventTargetNode::eventListenerForType):
11288 * dom/EventTargetNode.h:
11289 * dom/XMLTokenizer.cpp:
11290 (WebCore::XMLTokenizer::notifyFinished):
11291 * editing/ReplaceSelectionCommand.cpp:
11292 (WebCore::ReplacementFragment::ReplacementFragment):
11293 * html/HTMLBodyElement.cpp:
11294 (WebCore::HTMLBodyElement::parseMappedAttribute):
11295 * html/HTMLButtonElement.cpp:
11296 (WebCore::HTMLButtonElement::parseMappedAttribute):
11297 * html/HTMLElement.cpp:
11298 (WebCore::HTMLElement::parseMappedAttribute):
11299 (WebCore::HTMLElement::checkDTD):
11300 * html/HTMLElement.h:
11301 * html/HTMLFormControlElement.cpp:
11302 (WebCore::HTMLFormControlElement::onChange):
11303 * html/HTMLFormElement.cpp:
11304 (WebCore::HTMLFormElement::prepareSubmit):
11305 (WebCore::HTMLFormElement::reset):
11306 (WebCore::HTMLFormElement::parseMappedAttribute):
11307 * html/HTMLFrameElementBase.cpp:
11308 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
11309 * html/HTMLFrameSetElement.cpp:
11310 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
11311 * html/HTMLImageElement.cpp:
11312 (WebCore::HTMLImageElement::parseMappedAttribute):
11313 * html/HTMLImageLoader.cpp:
11314 (WebCore::HTMLImageLoader::dispatchLoadEvent):
11315 * html/HTMLInputElement.cpp:
11316 (WebCore::HTMLInputElement::parseMappedAttribute):
11317 (WebCore::HTMLInputElement::setValueFromRenderer):
11318 (WebCore::HTMLInputElement::onSearch):
11319 * html/HTMLMediaElement.cpp:
11320 (WebCore::HTMLMediaElement::asyncEventTimerFired):
11321 (WebCore::HTMLMediaElement::load):
11322 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
11323 (WebCore::HTMLMediaElement::setReadyState):
11324 (WebCore::HTMLMediaElement::seek):
11325 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
11326 (WebCore::HTMLMediaElement::willSaveToCache):
11327 * html/HTMLObjectElement.cpp:
11328 (WebCore::HTMLObjectElement::parseMappedAttribute):
11329 * html/HTMLScriptElement.cpp:
11330 (WebCore::HTMLScriptElement::parseMappedAttribute):
11331 (WebCore::HTMLScriptElement::dispatchLoadEvent):
11332 (WebCore::HTMLScriptElement::dispatchErrorEvent):
11333 * html/HTMLSelectElement.cpp:
11334 (WebCore::HTMLSelectElement::parseMappedAttribute):
11335 * html/HTMLTextAreaElement.cpp:
11336 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
11337 * html/HTMLTokenizer.cpp:
11338 (WebCore::HTMLTokenizer::notifyFinished):
11339 * page/AccessibilityRenderObject.cpp:
11340 (WebCore::AccessibilityRenderObject::mouseButtonListener):
11341 * page/EventHandler.cpp:
11342 (WebCore::EventHandler::canMouseDownStartSelect):
11343 (WebCore::EventHandler::canMouseDragExtendSelect):
11344 * page/Frame.cpp:
11345 (WebCore::Frame::sendScrollEvent):
11346 * page/Page.cpp:
11347 (WebCore::networkStateChanged):
11348 * rendering/RenderListBox.cpp:
11349 (WebCore::RenderListBox::valueChanged):
11350 * rendering/RenderTextControl.cpp:
11351 (WebCore::RenderTextControl::selectionChanged):
11352 * svg/SVGDocumentExtensions.cpp:
11353 * svg/SVGDocumentExtensions.h:
11354 * svg/SVGElement.cpp:
11355 (WebCore::SVGElement::parseMappedAttribute):
11356 (WebCore::SVGElement::finishParsingChildren):
11357 * svg/SVGElement.h:
11358 * svg/SVGSVGElement.cpp:
11359 (WebCore::SVGSVGElement::parseMappedAttribute):
11360 * svg/SVGSVGElement.h:
11361
hyatt@apple.com63739ce2008-09-15 23:44:10 +0000113622008-09-15 Dave Hyatt <hyatt@apple.com>
11363
11364 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
11365 need to be converted.
11366
11367 Reviewed by Sam Weinig
11368
11369 * platform/ScrollBar.cpp:
11370 (WebCore::Scrollbar::Scrollbar):
11371 (WebCore::Scrollbar::updateThumbPosition):
11372 (WebCore::Scrollbar::updateThumbProportion):
11373 (WebCore::Scrollbar::autoscrollPressedPart):
11374 (WebCore::Scrollbar::startTimerIfNeeded):
11375 * platform/ScrollBar.h:
11376 * platform/ScrollbarTheme.h:
11377 (WebCore::ScrollbarTheme::invalidateParts):
11378 * platform/ScrollbarThemeComposite.cpp:
11379 (WebCore::ScrollbarThemeComposite::hitTest):
11380 (WebCore::ScrollbarThemeComposite::invalidatePart):
11381 (WebCore::ScrollbarThemeComposite::thumbPosition):
11382 (WebCore::ScrollbarThemeComposite::thumbLength):
11383 (WebCore::ScrollbarThemeComposite::trackLength):
11384 * platform/ScrollbarThemeComposite.h:
11385 * platform/win/PlatformScrollBarSafari.cpp:
11386 (WebCore::PlatformScrollbar::PlatformScrollbar):
11387 * platform/win/PlatformScrollBarWin.cpp:
11388 (WebCore::PlatformScrollbar::PlatformScrollbar):
11389
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +0000113902008-09-15 David Smith <catfish.man@gmail.com>
11391
11392 "Just do it"'d by Mark Rowe
11393
11394 https://bugs.webkit.org/show_bug.cgi?id=20856
11395 Add missing license header
11396
11397 * dom/NodeRenderStyle.h:
11398
dino@apple.combf52b682008-09-15 21:31:43 +0000113992008-09-15 Dean Jackson <dino@apple.com>
11400
11401 Reviewed by Tim Hatcher.
11402
dino@apple.com3db0b8f2008-09-15 21:52:23 +000011403 Add default constructor for ShadowData
11404 https://bugs.webkit.org/show_bug.cgi?id=20757
11405
11406 Test: transitions/shadow.html
11407
11408 * rendering/style/RenderStyle.h:
11409
114102008-09-15 Dean Jackson <dino@apple.com>
11411
11412 Reviewed by Tim Hatcher.
11413
dino@apple.com03abdce2008-09-15 21:40:52 +000011414 RenderStyle should update keyframes.
11415 http://bugs.webkit.org/show_bug.cgi?id=20756
11416
11417 * rendering/style/RenderStyle.cpp:
11418 (WebCore::StyleRareNonInheritedData::updateKeyframes):
11419
114202008-09-15 Dean Jackson <dino@apple.com>
11421
11422 Reviewed by Tim Hatcher.
11423
dino@apple.combf52b682008-09-15 21:31:43 +000011424 Unnecessary ASSERT in ImplicitAnimation destructor.
11425 https://bugs.webkit.org/show_bug.cgi?id=20817
11426
11427 * page/animation/ImplicitAnimation.cpp:
11428 (WebCore::ImplicitAnimation::~ImplicitAnimation):
11429
treat@webkit.org7e5abc22008-09-15 20:53:49 +0000114302008-09-15 Adam Treat <treat@kde.org>
11431
11432 Reviewed by Simon.
11433
11434 Fix plugin extension info. It was returning the mimetype where the
11435 extension was given.
11436
11437 * plugins/qt/PluginPackageQt.cpp:
11438 (WebCore::PluginPackage::fetchInfo):
11439
dino@apple.comecc18dc2008-09-15 20:40:28 +0000114402008-09-15 Dean Jackson <dino@apple.com>
11441
11442 Reviewed by Tim Hatcher
11443
11444 Coding style violation!!!! Cleanup AnimationBase.cpp
11445
11446 * page/animation/AnimationBase.cpp:
11447 (WebCore::blendFunc):
11448
hyatt@apple.comf4a9d932008-09-15 20:03:25 +0000114492008-09-15 David Hyatt <hyatt@apple.com>
11450
11451 Move all hit testing code for scrollbars into the base class. Refactor
11452 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
11453 functions.
11454
11455 No platform is using this code yet. Although it has been moved and compiles
11456 (even on Mac), it is not being used on any platform.
11457
11458 Reviewed by Sam Weinig
11459
11460 * platform/ScrollBar.cpp:
11461 (WebCore::Scrollbar::autoscrollPressedPart):
11462 (WebCore::Scrollbar::startTimerIfNeeded):
11463 (WebCore::Scrollbar::handleMouseMoveEvent):
11464 (WebCore::Scrollbar::handleMouseOutEvent):
11465 (WebCore::Scrollbar::handleMouseReleaseEvent):
11466 (WebCore::Scrollbar::handleMousePressEvent):
11467 * platform/ScrollBar.h:
11468 (WebCore::Scrollbar::handleContextMenuEvent):
11469 * platform/ScrollbarTheme.h:
11470 (WebCore::ScrollbarTheme::hitTest):
11471 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
11472 (WebCore::ScrollbarTheme::invalidatePart):
11473 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
11474 (WebCore::ScrollbarTheme::centerOnThumb):
11475 (WebCore::ScrollbarTheme::thumbPosition):
11476 (WebCore::ScrollbarTheme::thumbLength):
11477 (WebCore::ScrollbarTheme::trackLength):
11478 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
11479 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
11480 * platform/Widget.h:
11481 (WebCore::Widget::parent):
11482 * platform/mac/PlatformScrollBar.h:
11483 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
11484 (WebCore::PlatformScrollbar::handleMouseOutEvent):
11485 (WebCore::PlatformScrollbar::handleMousePressEvent):
11486 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
11487 * platform/mac/WidgetMac.mm:
11488 (WebCore::Widget::convertFromContainingWindow):
11489 * platform/win/ScrollbarThemeWin.cpp:
11490 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
11491 * platform/win/ScrollbarThemeWin.h:
11492
mitz@apple.comd17dc392008-09-15 18:48:20 +0000114932008-09-15 Dan Bernstein <mitz@apple.com>
11494
11495 Reviewed by Sam Weinig.
11496
11497 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
11498
11499 Cache the next breakable position for text nodes in InlineIterator.
11500
11501 * rendering/bidi.cpp:
11502 (WebCore::InlineIterator::InlineIterator):
11503 (WebCore::InlineIterator::increment):
11504 (WebCore::RenderBlock::findNextLineBreak):
11505
simon.fraser@apple.comda604642008-09-15 17:10:48 +0000115062008-09-15 Simon Fraser <simon.fraser@apple.com>
11507
11508 Reviewed by Dan Bernstein
11509
11510 Fix assertion and integral pixel issue when creating subimages.
11511 https://bugs.webkit.org/show_bug.cgi?id=20786
11512
11513 * platform/graphics/cg/ImageCG.cpp:
11514 (WebCore::BitmapImage::draw):
11515
vestbo@webkit.orge7eda302008-09-15 12:43:37 +0000115162008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
11517
11518 Reviewed by Simon.
11519
11520 Implment seek() and clean up and improve debugging output
11521
11522 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11523 (debugMediaObject):
11524 (WebCore::MediaPlayerPrivate::seek):
11525 (WebCore::MediaPlayerPrivate::setVolume):
11526 (WebCore::MediaPlayerPrivate::setMuted):
11527 (WebCore::MediaPlayerPrivate::updateStates):
11528 (WebCore::MediaPlayerPrivate::naturalSize):
11529 (WebCore::MediaPlayerPrivate::paint):
11530 (WebCore::MediaPlayerPrivate::stateChanged):
11531 (WebCore::MediaPlayerPrivate::tick):
11532
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +0000115332008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
11534
11535 Reviewed by Simon.
11536
11537 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
11538
11539 m_mediaObject, m_audioOutput, m_videoWidget get created in the
11540 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
11541 only check if we use the MediaPlayerPrivate after it has been deleted.
11542
11543 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
11544
11545 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11546 (WebCore::MediaPlayerPrivate::play):
11547 (WebCore::MediaPlayerPrivate::setVolume):
11548 (WebCore::MediaPlayerPrivate::updateStates):
11549
andersca@apple.com18d62682008-09-15 11:35:22 +0000115502008-09-15 Anders Carlsson <andersca@apple.com>
11551
11552 Reviewed by Maciej.
11553
11554 <rdar://problem/6163988>
11555 https://bugs.webkit.org/show_bug.cgi?id=20457
11556 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
11557
11558 Check the width and height and throw an exception if any of them are 0.
11559
11560 * html/CanvasRenderingContext2D.cpp:
11561 (WebCore::CanvasRenderingContext2D::createPattern):
11562
vestbo@webkit.org3a27e182008-09-15 11:28:59 +0000115632008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
11564
11565 Reviewed by Simon.
11566
11567 Render media element controls with antialiasing enabled
11568
11569 * platform/qt/RenderThemeQt.cpp:
11570 (WebCore::RenderThemeQt::paintMediaMuteButton):
11571 (WebCore::RenderThemeQt::paintMediaPlayButton):
11572 (WebCore::RenderThemeQt::paintMediaSliderTrack):
11573 (WebCore::RenderThemeQt::paintMediaSliderThumb):
11574
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +0000115752008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
11576
11577 Reviewed by Simon.
11578
11579 Upon non fatal error, switch to the pause state (so that playback can continue)
11580
11581 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11582 (WebCore::MediaPlayerPrivate::updateStates):
11583
vestbo@webkit.org12a59572008-09-15 11:16:13 +0000115842008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
11585
11586 Reviewed by Simon.
11587
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +000011588 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
11589
11590 * WebCore.pro:
11591
115922008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
11593
11594 Reviewed by Simon.
11595
vestbo@webkit.org12a59572008-09-15 11:16:13 +000011596 Make QtInstance::create() private and fix caching
11597
11598 * bindings/js/ScriptControllerQt.cpp:
11599 (WebCore::ScriptController::createScriptInstanceForWidget):
11600 * bridge/qt/qt_instance.cpp:
11601 (JSC::Bindings::QtInstance::getQtInstance):
11602 (JSC::Bindings::QtInstance::getRuntimeObject):
11603 * bridge/qt/qt_instance.h:
11604 (JSC::Bindings::QtInstance::create):
11605 * bridge/qt/qt_runtime.cpp:
11606 (JSC::Bindings::convertQVariantToValue):
11607 (JSC::Bindings::QtConnectionObject::execute):
11608
dsmith@webkit.orgaba15862008-09-15 08:45:35 +0000116092008-09-15 David Smith <catfish.man@gmail.com>
11610
11611 Reviewed by Dave Hyatt.
11612
11613 https://bugs.webkit.org/show_bug.cgi?id=20180
11614
11615 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
11616 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
11617 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
11618
11619 * css/CSSStyleSelector.cpp:
11620 (WebCore::CSSStyleSelector::CSSStyleSelector):
11621 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
11622 * css/CSSStyleSelector.h:
11623
hyatt@apple.com065494e2008-09-15 06:33:40 +0000116242008-09-14 Dave Hyatt <hyatt@apple.com>
11625
11626 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
11627 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
11628
11629 Reviewed by Sam Weinig
11630
11631 * platform/ScrollBar.h:
11632 (WebCore::Scrollbar::client):
11633 (WebCore::Scrollbar::currentPos):
11634 (WebCore::Scrollbar::totalSize):
11635 * platform/ScrollbarTheme.h:
11636 * platform/ScrollbarThemeComposite.cpp:
11637 (WebCore::pageForScrollView):
11638 (WebCore::ScrollbarThemeComposite::paint):
11639 * platform/ScrollbarThemeComposite.h:
11640 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
11641 * platform/win/PlatformScrollBar.h:
11642 * platform/win/PlatformScrollBarSafari.cpp:
11643 * platform/win/PlatformScrollBarWin.cpp:
11644 * platform/win/ScrollbarThemeSafari.h:
11645 (WebCore::ScrollbarThemeSafari::hasButtons):
11646 (WebCore::ScrollbarThemeSafari::hasThumb):
11647 (WebCore::ScrollbarThemeSafari::backButtonRect):
11648 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
11649 (WebCore::ScrollbarThemeSafari::trackRect):
11650 (WebCore::ScrollbarThemeSafari::splitTrack):
11651 (WebCore::ScrollbarThemeSafari::paintTrack):
11652 (WebCore::ScrollbarThemeSafari::paintButton):
11653 (WebCore::ScrollbarThemeSafari::paintThumb):
11654 * platform/win/ScrollbarThemeWin.cpp:
11655 (WebCore::isRunningOnVistaOrLater):
11656 (WebCore::checkAndInitScrollbarTheme):
11657 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
11658 (WebCore::ScrollbarThemeWin::themeChanged):
11659 (WebCore::ScrollbarThemeWin::hasThumb):
11660 (WebCore::ScrollbarThemeWin::backButtonRect):
11661 (WebCore::ScrollbarThemeWin::forwardButtonRect):
11662 (WebCore::ScrollbarThemeWin::trackRect):
11663 (WebCore::ScrollbarThemeWin::splitTrack):
11664 (WebCore::ScrollbarThemeWin::paintTrack):
11665 (WebCore::ScrollbarThemeWin::paintButton):
11666 (WebCore::gripperRect):
11667 (WebCore::paintGripper):
11668 (WebCore::ScrollbarThemeWin::paintThumb):
11669 (WebCore::ScrollbarThemeWin::thumbPosition):
11670 (WebCore::ScrollbarThemeWin::thumbLength):
11671 (WebCore::ScrollbarThemeWin::trackLength):
11672 * platform/win/ScrollbarThemeWin.h:
11673 (WebCore::ScrollbarThemeWin::hasButtons):
11674 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
11675
timothy@apple.comd91172c2008-09-15 05:38:00 +0000116762008-09-14 Anthony Ricaud <rik24d@gmail.com>
11677
11678 Moving all resource graphs under the same container for future scalable feature.
11679 This is a speedup on resize but maybe a loss on changing the sorting function.
11680
11681 https://bugs.webkit.org/show_bug.cgi?id=20555
11682
11683 Reviewed by Timothy Hatcher.
11684
11685 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
11686 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
11687 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
11688
ap@webkit.orga14074b2008-09-15 04:52:44 +0000116892008-09-14 Alexey Proskuryakov <ap@webkit.org>
11690
11691 Reviewed by Maciej Stachowiak.
11692
11693 https://bugs.webkit.org/show_bug.cgi?id=20738
11694 compareBoundaryPoints gives incorrect results
11695
11696 Test: fast/dom/Range/compareBoundaryPoints-2.html
11697
11698 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
11699 and END_TO_START.
11700 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
11701
mjs@apple.com285bdcf2008-09-15 02:55:16 +0000117022008-09-14 Maciej Stachowiak <mjs@apple.com>
11703
11704 Unreviewed build fix.
11705
mjs@apple.comcbb31e52008-09-15 03:10:35 +000011706 Trying again.
11707
11708 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11709 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
11710
117112008-09-14 Maciej Stachowiak <mjs@apple.com>
11712
11713 Unreviewed build fix.
11714
mjs@apple.com285bdcf2008-09-15 02:55:16 +000011715 Blind attempt to fix build. Correct parameters for hasInstance.
11716
11717 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11718 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
11719 * bindings/js/JSQuarantinedObjectWrapper.h:
11720
mitz@apple.come85f7362008-09-15 02:23:24 +0000117212008-09-14 Dan Bernstein <mitz@apple.com>
11722
11723 Rubber-stamped by Sam Weinig.
11724
11725 - revert <http://trac.webkit.org/changeset/36382> because it exposed
11726 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
11727 on Tiger.
11728
11729 * platform/graphics/mac/FontCacheMac.mm:
11730 (WebCore::FontCache::getFontDataForCharacters):
11731 (WebCore::FontCache::getLastResortFallbackFont):
11732
hyatt@apple.comf18feec2008-09-15 00:56:11 +0000117332008-09-14 Dave Hyatt <hyatt@apple.com>
11734
11735 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
11736 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
11737 theme.
11738
11739 Reviewed by Sam Weinig
11740
11741 * WebCore.vcproj/WebCore.vcproj:
11742 * platform/win/ScrollbarThemeSafari.h:
11743 * platform/win/ScrollbarThemeWin.h:
11744
alp@webkit.orgd694e942008-09-15 00:20:15 +0000117452008-09-14 Alp Toker <alp@nuanti.com>
11746
11747 https://bugs.webkit.org/show_bug.cgi?id=20320
11748 [GTK] A white rectangle is visible behind widgets with rounded corners
11749
11750 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
11751 style exempt).
11752
11753 Requested by Michael Monreal.
11754
11755 * platform/gtk/RenderThemeGtk.cpp:
11756 (WebCore::RenderThemeGtk::RenderThemeGtk):
11757 * platform/gtk/gtk2drawing.c:
11758 (moz_gtk_set_widget_name):
11759 (ensure_window_widget):
11760 (setup_widget_prototype):
11761 (ensure_button_arrow_widget):
11762 (moz_gtk_get_combo_box_inner_button):
11763 (moz_gtk_get_combo_box_button_inner_widgets):
11764 (ensure_combo_box_widgets):
11765 (moz_gtk_get_combo_box_entry_inner_widgets):
11766 (moz_gtk_get_combo_box_entry_arrow):
11767 (ensure_combo_box_entry_widgets):
11768 (ensure_toolbar_widget):
11769 (ensure_tooltip_widget):
11770 (ensure_menu_bar_widget):
11771 (ensure_menu_bar_item_widget):
11772 (ensure_menu_popup_widget):
11773 (ensure_menu_item_widget):
11774 (ensure_image_menu_item_widget):
11775 (ensure_menu_separator_widget):
11776 (ensure_check_menu_item_widget):
11777 (ensure_tree_header_cell_widget):
11778 (ensure_scrolled_window_widget):
11779 (moz_gtk_button_paint):
11780 (moz_gtk_init):
11781 (moz_gtk_button_get_inner_border):
11782 (moz_gtk_toggle_paint):
11783 (calculate_button_inner_rect):
11784 (calculate_arrow_rect):
11785 (moz_gtk_scrollbar_button_paint):
11786 (moz_gtk_scrollbar_thumb_paint):
11787 (moz_gtk_caret_paint):
11788 (moz_gtk_entry_paint):
11789 (moz_gtk_treeview_paint):
11790 (moz_gtk_tree_header_cell_paint):
11791 (moz_gtk_combo_box_paint):
11792 (moz_gtk_downarrow_paint):
11793 (moz_gtk_combo_box_entry_button_paint):
11794 (moz_gtk_toolbar_paint):
11795 (moz_gtk_tab_scroll_arrow_paint):
11796 (moz_gtk_menu_bar_paint):
11797 (moz_gtk_menu_item_paint):
11798 (moz_gtk_get_widget_border):
11799 (moz_gtk_get_combo_box_entry_button_size):
11800 (moz_gtk_get_tab_scroll_arrow_size):
11801 (moz_gtk_get_downarrow_size):
11802 (moz_gtk_images_in_menus):
11803 (moz_gtk_widget_paint):
11804 (moz_gtk_shutdown):
11805 * platform/gtk/gtkdrawing.h:
11806
hyatt@apple.com3ab48302008-09-14 23:55:16 +0000118072008-09-14 David Hyatt <hyatt@apple.com>
11808
11809 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
11810 painting. Mac and Gtk themes don't do anything and just let the
11811 underlying widget paint. Qt now uses the theme to paint. wx doesn't
11812 do anything yet.
11813
11814 Reviewed by Sam Weinig
11815
11816 * platform/ScrollBar.cpp:
11817 (WebCore::Scrollbar::paint):
11818 * platform/ScrollBar.h:
11819 (WebCore::Scrollbar::value):
11820 (WebCore::Scrollbar::visibleSize):
11821 (WebCore::Scrollbar::maximum):
11822 (WebCore::Scrollbar::lineStep):
11823 (WebCore::Scrollbar::pageStep):
11824 (WebCore::Scrollbar::pixelStep):
11825 (WebCore::Scrollbar::pressedPart):
11826 (WebCore::Scrollbar::hoveredPart):
11827 (WebCore::Scrollbar::theme):
11828 * platform/ScrollbarTheme.h:
11829 (WebCore::ScrollbarTheme::paint):
11830 (WebCore::ScrollbarTheme::scrollbarThickness):
11831 (WebCore::ScrollbarTheme::supportsControlTints):
11832 (WebCore::ScrollbarTheme::themeChanged):
11833 * platform/gtk/PlatformScrollBar.h:
11834 * platform/gtk/PlatformScrollBarGtk.cpp:
11835 * platform/mac/PlatformScrollBar.h:
11836 * platform/mac/PlatformScrollBarMac.mm:
11837 * platform/qt/PlatformScrollBar.h:
11838 * platform/qt/PlatformScrollBarQt.cpp:
11839 * platform/qt/ScrollbarThemeQt.cpp:
11840 (WebCore::styleOptionSlider):
11841 * platform/qt/ScrollbarThemeQt.h:
11842 (WebCore::ScrollbarThemeQt::paint):
11843 * platform/win/PlatformScrollBarSafari.cpp:
11844 (WebCore::PlatformScrollbar::paint):
11845 * platform/win/ScrollbarThemeSafari.h:
11846 (WebCore::ScrollbarThemeSafari::supportsControlTints):
11847 * platform/wx/PlatformScrollBar.h:
11848 * platform/wx/TemporaryLinkStubs.cpp:
11849 (PlatformScrollbar::~PlatformScrollbar):
11850
weinig@apple.comcb93e262008-09-14 21:36:11 +0000118512008-09-14 Sam Weinig <sam@webkit.org>
11852
weinig@apple.com6ef2b872008-09-14 22:15:28 +000011853 Qt build fix.
11854
11855 * platform/qt/PlatformScrollBarQt.cpp:
11856
118572008-09-14 Sam Weinig <sam@webkit.org>
11858
weinig@apple.com064861a2008-09-14 22:12:49 +000011859 Reviewed by Mark Rowe.
11860
11861 Remove extraneous semicolons.
11862
11863 * bindings/scripts/CodeGeneratorObjC.pm:
11864 * html/HTMLLinkElement.cpp:
11865 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
11866 * html/HTMLScriptElement.cpp:
11867 (WebCore::HTMLScriptElement::charsetAttributeValue):
11868 (WebCore::HTMLScriptElement::typeAttributeValue):
11869 * platform/graphics/qt/GradientQt.cpp:
11870 (WebCore::Gradient::platformGradient):
11871 * platform/qt/ScrollViewQt.cpp:
11872 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
11873 * platform/win/ScrollViewWin.cpp:
11874 (WebCore::ScrollView::updateScrollbars):
11875 * rendering/RenderBlock.cpp:
11876 (WebCore::RenderBlock::paintEllipsisBoxes):
11877 * svg/SVGPathSegList.cpp:
11878 (WebCore::SVGPathSegList::toPathData):
11879
118802008-09-14 Sam Weinig <sam@webkit.org>
11881
weinig@apple.comcb93e262008-09-14 21:36:11 +000011882 Qt build fix.
11883
weinig@apple.com31311a62008-09-14 22:00:15 +000011884 * platform/qt/ScrollViewQt.cpp:
11885 (WebCore::ScrollView::updateScrollbars):
11886
118872008-09-14 Sam Weinig <sam@webkit.org>
11888
11889 Qt build fix.
11890
weinig@apple.comcb93e262008-09-14 21:36:11 +000011891 * platform/qt/PlatformScrollBarQt.cpp:
11892 (WebCore::PlatformScrollbar::PlatformScrollbar):
11893 (WebCore::PlatformScrollbar::paint):
11894
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +0000118952008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
11896
11897 Gtk build fix, not reviewed.
11898
11899 * platform/gtk/PlatformScrollBarGtk.cpp:
11900 (PlatformScrollbar::PlatformScrollbar):
11901 * platform/gtk/ScrollViewGtk.cpp:
11902 (WebCore::ScrollView::updateScrollbars):
11903
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +0000119042008-09-13 Dave Hyatt <hyatt@apple.com>
11905
hyatt@apple.com21ab7c62008-09-14 01:26:22 +000011906 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
11907 to set the dimensions of a scrollbar.
11908
11909 Reviewed by Sam Weinig
11910
11911 * platform/ScrollBar.h:
11912 * platform/gtk/PlatformScrollBar.h:
11913 * platform/gtk/PlatformScrollBarGtk.cpp:
11914 (PlatformScrollbar::setFrameGeometry):
11915 * platform/gtk/ScrollViewGtk.cpp:
11916 (WebCore::ScrollView::updateScrollbars):
11917 * platform/mac/PlatformScrollBarMac.mm:
11918 * platform/qt/PlatformScrollBarQt.cpp:
11919 * platform/qt/ScrollViewQt.cpp:
11920 (WebCore::ScrollView::updateScrollbars):
11921 * platform/win/PlatformScrollBar.h:
11922 * platform/win/PlatformScrollBarSafari.cpp:
11923 (WebCore::PlatformScrollbar::PlatformScrollbar):
11924 (WebCore::PlatformScrollbar::setFrameGeometry):
11925 * platform/win/PlatformScrollBarWin.cpp:
11926 (WebCore::PlatformScrollbar::PlatformScrollbar):
11927 (WebCore::PlatformScrollbar::setFrameGeometry):
11928 * platform/win/PopupMenuWin.cpp:
11929 (WebCore::PopupWndProc):
11930 * platform/win/ScrollViewWin.cpp:
11931 (WebCore::ScrollView::updateScrollbars):
11932 * platform/wx/PlatformScrollBar.h:
11933 * platform/wx/TemporaryLinkStubs.cpp:
11934 (PlatformScrollbar::updateThumbProportion):
11935 * rendering/RenderLayer.cpp:
11936 (WebCore::RenderLayer::positionOverflowControls):
11937 * rendering/RenderListBox.cpp:
11938 (WebCore::RenderListBox::paintScrollbar):
11939
119402008-09-13 Dave Hyatt <hyatt@apple.com>
11941
hyatt@apple.comed9485a2008-09-14 01:06:57 +000011942 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
11943
11944 Reviewed by Sam Weinig
11945
11946 * platform/ScrollBar.h:
11947 * platform/gtk/PlatformScrollBar.h:
11948 * platform/gtk/PlatformScrollBarGtk.cpp:
11949 * platform/mac/PlatformScrollBar.h:
11950 * platform/mac/PlatformScrollBarMac.mm:
11951 * platform/win/PlatformScrollBar.h:
11952 * platform/win/PlatformScrollBarSafari.cpp:
11953 * platform/win/PlatformScrollBarWin.cpp:
11954 * platform/wx/PlatformScrollBar.h:
11955 * platform/wx/TemporaryLinkStubs.cpp:
11956 (PlatformScrollbar::~PlatformScrollbar):
11957
119582008-09-13 Dave Hyatt <hyatt@apple.com>
11959
hyatt@apple.com64d98032008-09-14 00:58:29 +000011960 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
11961 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
11962
11963 Reviewed by Sam Weinig
11964
11965 * platform/ScrollBar.h:
11966 * platform/gtk/PlatformScrollBar.h:
11967 * platform/gtk/PlatformScrollBarGtk.cpp:
11968 * platform/mac/PlatformScrollBar.h:
11969 * platform/mac/PlatformScrollBarMac.mm:
11970 * platform/win/PlatformScrollBarSafari.cpp:
11971 * platform/win/PlatformScrollBarWin.cpp:
11972 * platform/wx/PlatformScrollBar.h:
11973 * platform/wx/TemporaryLinkStubs.cpp:
11974 (PlatformScrollbar::~PlatformScrollbar):
11975
119762008-09-13 Dave Hyatt <hyatt@apple.com>
11977
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000011978 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
11979
11980 Reviewed by Sam Weinig
11981
11982 * platform/ScrollBar.cpp:
11983 (WebCore::Scrollbar::~Scrollbar):
11984 * platform/ScrollBar.h:
11985 * platform/qt/PlatformScrollBarQt.cpp:
11986 (WebCore::PlatformScrollbar::~PlatformScrollbar):
11987 * platform/win/PlatformScrollBarSafari.cpp:
11988 (WebCore::PlatformScrollbar::~PlatformScrollbar):
11989 * platform/win/PlatformScrollBarWin.cpp:
11990 (WebCore::PlatformScrollbar::~PlatformScrollbar):
11991
hyatt@apple.coma3c52492008-09-13 23:57:08 +0000119922008-09-13 David Hyatt <hyatt@apple.com>
11993
11994 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
11995 function on Scrollbar. Fixes Qt build bustage.
11996
11997 Reviewed by Sam Weinig
11998
11999 * platform/ScrollBar.h:
12000 (WebCore::Scrollbar::orientation):
12001 (WebCore::Scrollbar::value):
12002 (WebCore::Scrollbar::maximum):
12003 * platform/qt/PlatformScrollBar.h:
12004
mitz@apple.comb3d22882008-09-13 23:06:59 +0000120052008-09-13 Dan Bernstein <mitz@apple.com>
12006
12007 Reviewed by Sam Weinig.
12008
12009 - use the LastResort font for missing glyphs instead of showing the
12010 primary font's missing glyph
12011
12012 Test: platform/mac/fast/text/last-resort-font.html
12013
12014 * platform/graphics/mac/FontCacheMac.mm:
12015 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
12016 last resort font if a substitute font cannot be found.
12017 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
12018 comment (the user's preferred standard font is included in the search
12019 thanks to code in FontCache::getFontData()) and changed to return the
12020 LastResort font.
12021
hyatt@apple.com0c378c72008-09-13 22:59:05 +0000120222008-09-13 Dave Hyatt <hyatt@apple.com>
12023
12024 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
12025 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
12026 patches will move rendering and hit testing functionality into this class.
12027
12028 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
12029 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
12030
12031 Reviewed by Sam Weinig
12032
12033 * GNUmakefile.am:
12034 * WebCore.pro:
12035 * WebCore.vcproj/WebCore.vcproj:
12036 * platform/ScrollBar.cpp:
12037 (WebCore::Scrollbar::Scrollbar):
12038 * platform/ScrollBar.h:
12039 * platform/ScrollbarTheme.h: Added.
12040 (WebCore::ScrollbarTheme::~ScrollbarTheme):
12041 (WebCore::ScrollbarTheme::scrollbarThickness):
12042 (WebCore::ScrollbarTheme::themeChanged):
12043 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
12044 (WebCore::ScrollbarTheme::nativeTheme):
12045 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
12046 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
12047 * platform/gtk/ScrollbarThemeGtk.h: Added.
12048 * platform/mac/PlatformScrollBar.h:
12049 * platform/mac/ScrollbarThemeMac.cpp: Added.
12050 (WebCore::ScrollbarTheme::nativeTheme):
12051 (WebCore::):
12052 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
12053 (WebCore::ScrollbarThemeMac::scrollbarThickness):
12054 * platform/mac/ScrollbarThemeMac.h: Added.
12055 * platform/qt/PlatformScrollBarQt.cpp:
12056 * platform/qt/ScrollbarThemeQt.cpp: Added.
12057 (WebCore::ScrollbarTheme::nativeTheme):
12058 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
12059 (WebCore::ScrollbarThemeQt::scrollbarThickness):
12060 * platform/qt/ScrollbarThemeQt.h: Added.
12061 * platform/win/PlatformScrollBar.h:
12062 * platform/win/PlatformScrollBarSafari.cpp:
12063 * platform/win/PlatformScrollBarWin.cpp:
12064 * platform/win/PopupMenuWin.cpp:
12065 (WebCore::PopupMenu::calculatePositionAndSize):
12066 * platform/win/ScrollViewWin.cpp:
12067 (WebCore::ScrollView::updateScrollbars):
12068 (WebCore::ScrollView::themeChanged):
12069 * platform/win/ScrollbarThemeSafari.cpp: Added.
12070 (WebCore::ScrollbarTheme::nativeTheme):
12071 (WebCore::):
12072 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
12073 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
12074 * platform/win/ScrollbarThemeSafari.h: Added.
12075 * platform/win/ScrollbarThemeWin.cpp: Added.
12076 (WebCore::ScrollbarTheme::nativeTheme):
12077 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
12078 (WebCore::ScrollbarThemeWin::scrollbarThickness):
12079 (WebCore::ScrollbarThemeWin::themeChanged):
12080 * platform/win/ScrollbarThemeWin.h: Added.
12081 * platform/wx/TemporaryLinkStubs.cpp:
12082 (ScrollbarTheme::nativeTheme):
12083 * rendering/RenderLayer.cpp:
12084 (WebCore::scrollCornerRect):
12085 * rendering/RenderTextControl.cpp:
12086 (WebCore::RenderTextControl::calcHeight):
12087 (WebCore::RenderTextControl::calcPrefWidths):
12088
cfleizach@apple.comd26c2762008-09-13 21:05:18 +0000120892008-09-13 Chris Fleizach <cfleizach@apple.com>
12090
12091 Reviewed by Timothy Hatcher.
12092
12093 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
12094
12095 * page/mac/AccessibilityObjectWrapper.mm:
12096 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
12097
mitz@apple.com6307c9f2008-09-13 20:27:37 +0000120982008-09-13 Dan Bernstein <mitz@apple.com>
12099
12100 Reviewed by Timothy Hatcher.
12101
12102 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
12103
12104 No regression test because the back/forward cache is disabled in DumpRenderTree
12105
12106 * rendering/RenderContainer.cpp:
12107 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
12108 is being destroyed.
12109
kevino@webkit.org1e178ee2008-09-13 18:48:39 +0000121102008-09-13 Kevin Ollivier <kevino@theolliviers.com>
12111
12112 wx build fixes for new methods recently introduced.
12113
12114 * platform/graphics/wx/AffineTransformWx.cpp:
12115 (WebCore::AffineTransform::AffineTransform):
12116 (WebCore::AffineTransform::setMatrix):
12117 (WebCore::AffineTransform::setA):
12118 (WebCore::AffineTransform::setB):
12119 (WebCore::AffineTransform::setC):
12120 (WebCore::AffineTransform::setD):
12121 (WebCore::AffineTransform::setE):
12122 (WebCore::AffineTransform::setF):
12123 * platform/wx/LocalizedStringsWx.cpp:
12124 (WebCore::AXDefinitionListTermText):
12125 (WebCore::AXDefinitionListDefinitionText):
12126
hyatt@apple.com30ed5442008-09-13 18:39:58 +0000121272008-09-12 Dave Hyatt <hyatt@apple.com>
12128
12129 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
12130 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
12131 "PlatformScrollbar."
12132
12133 Reviewed by Sam Weinig
12134
12135 * WebCore.vcproj/WebCore.vcproj:
12136 * editing/EditorCommand.cpp:
12137 * page/EventHandler.cpp:
12138 (WebCore::EventHandler::selectCursor):
12139 (WebCore::EventHandler::handleMousePressEvent):
12140 (WebCore::EventHandler::handleMouseMoveEvent):
12141 * page/EventHandler.h:
12142 * page/MouseEventWithHitTestResults.cpp:
12143 (WebCore::MouseEventWithHitTestResults::scrollbar):
12144 * page/MouseEventWithHitTestResults.h:
12145 * page/gtk/EventHandlerGtk.cpp:
12146 (WebCore::EventHandler::passMousePressEventToScrollbar):
12147 * page/mac/EventHandlerMac.mm:
12148 (WebCore::EventHandler::passMousePressEventToScrollbar):
12149 * page/qt/EventHandlerQt.cpp:
12150 (WebCore::EventHandler::passMousePressEventToScrollbar):
12151 * page/win/EventHandlerWin.cpp:
12152 (WebCore::EventHandler::passMousePressEventToScrollbar):
12153 * page/wx/EventHandlerWx.cpp:
12154 (WebCore::EventHandler::passMousePressEventToScrollbar):
12155 * platform/PopupMenu.h:
12156 * platform/ScrollBar.cpp:
12157 (WebCore::Scrollbar::Scrollbar):
12158 (WebCore::Scrollbar::autoscrollTimerFired):
12159 (WebCore::Scrollbar::autoscrollPressedPart):
12160 (WebCore::Scrollbar::startTimerIfNeeded):
12161 (WebCore::Scrollbar::stopTimerIfNeeded):
12162 (WebCore::Scrollbar::pressedPartScrollDirection):
12163 (WebCore::Scrollbar::pressedPartScrollGranularity):
12164 * platform/ScrollBar.h:
12165 (WebCore::Scrollbar::handleMousePressEvent):
12166 (WebCore::Scrollbar::invalidatePart):
12167 (WebCore::Scrollbar::thumbUnderMouse):
12168 * platform/ScrollView.h:
12169 * platform/ScrollbarClient.h: Added.
12170 (WebCore::ScrollbarClient::~ScrollbarClient):
12171 * platform/gtk/ScrollViewGtk.cpp:
12172 (WebCore::ScrollView::scrollbarUnderMouse):
12173 * platform/qt/PlatformScrollBar.h:
12174 * platform/qt/PlatformScrollBarQt.cpp:
12175 (WebCore::PlatformScrollbar::PlatformScrollbar):
12176 (WebCore::scrollbarPart):
12177 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
12178 (WebCore::PlatformScrollbar::handleMouseOutEvent):
12179 (WebCore::PlatformScrollbar::handleMousePressEvent):
12180 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
12181 * platform/qt/ScrollViewQt.cpp:
12182 (WebCore::ScrollView::scrollbarUnderMouse):
12183 (WebCore::ScrollView::wheelEvent):
12184 * platform/win/PlatformScrollBar.h:
12185 * platform/win/PlatformScrollBarSafari.cpp:
12186 (WebCore::PlatformScrollbar::PlatformScrollbar):
12187 * platform/win/PlatformScrollBarWin.cpp:
12188 (WebCore::PlatformScrollbar::PlatformScrollbar):
12189 * platform/win/ScrollViewWin.cpp:
12190 (WebCore::ScrollView::scrollbarUnderMouse):
12191 * rendering/HitTestResult.cpp:
12192 (WebCore::HitTestResult::setScrollbar):
12193 * rendering/HitTestResult.h:
12194 (WebCore::HitTestResult::scrollbar):
12195 * rendering/RenderLayer.cpp:
12196 (WebCore::RenderLayer::hitTestOverflowControls):
12197 * rendering/RenderLayer.h:
12198 * rendering/RenderListBox.h:
12199
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000122002008-09-12 Steve Falkenburg <sfalken@apple.com>
12201
12202 Fix Mac build.
12203
12204 * css/CSSStyleSelector.cpp:
12205 (WebCore::getTransformOperationType):
12206
dino@apple.comf937dc62008-09-13 00:45:39 +0000122072008-09-12 Chris Marrin <cmarrin@apple.com>
12208
12209 Reviewed by Dave Hyatt.
12210
12211 Make transform animation behavior match spec
12212 https://bugs.webkit.org/show_bug.cgi?id=20770
12213
12214 Tests: transitions/transform-op-list-match.html
12215 transitions/transform-op-list-no-match.html
12216
12217 * css/CSSStyleSelector.cpp:
12218 * css/CSSStyleSelector.h:
12219 * page/animation/AnimationBase.cpp:
12220 * page/animation/AnimationBase.h:
12221 * page/animation/ImplicitAnimation.cpp:
12222 * page/animation/ImplicitAnimation.h:
12223 * page/animation/KeyframeAnimation.cpp:
12224 * page/animation/KeyframeAnimation.h:
12225 * rendering/RenderLayer.cpp:
12226 * rendering/style/RenderStyle.cpp:
12227 * rendering/style/RenderStyle.h:
12228
timothy@apple.comab374dd2008-09-12 22:43:38 +0000122292008-09-12 Ojan Vafai <ojan@chromium.org>
12230
12231 Properly escape contents of links added to the inspector.
12232 For now, just build the link with the DOM and get the
12233 outerHTML. Eventually, we probably just want to do
12234 this entirely with the DOM.
12235
12236 Reviewed by Timothy Hatcher.
12237
12238 https://bugs.webkit.org/show_bug.cgi?id=20684
12239
12240 * manual-tests/inspector/escape-links.html: Added.
12241 * page/inspector/StylesSidebarPane.js:
12242 * page/inspector/inspector.js:
12243 * page/inspector/utilities.js:
12244
adele@apple.com87fb3c72008-09-12 22:14:13 +0000122452008-09-12 Adele Peterson <adele@apple.com>
12246
12247 Reviewed by John Sullivan and Kevin McCullough.
12248
12249 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
12250
12251 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
12252 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
12253 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
12254
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000122552008-09-12 Kevin McCullough <kmccullough@apple.com>
12256
12257 RS by Tim .
12258
12259 Re-introducing the code since it was not the cause of the crash.
12260 See r36343.
12261
12262 * rendering/RenderObject.cpp:
12263 (WebCore::RenderObject::canBeProgramaticallyScrolled):
12264 * rendering/RenderObject.h:
12265
dino@apple.comf712ed02008-09-12 21:54:57 +0000122662008-09-12 Chris Marrin <cmarrin@apple.com>
12267
12268 Reviewed by Dave Hyatt.
12269
12270 When changing one animation in a list, don't reset other animations
12271 https://bugs.webkit.org/show_bug.cgi?id=20675
12272
12273 Test: animations/change-one-anim.html
12274
12275 * page/animation/AnimationBase.cpp:
12276 (WebCore::AnimationBase::getNumProperties):
12277 * page/animation/AnimationBase.h:
12278 * page/animation/AnimationController.cpp:
12279 * page/animation/CompositeAnimation.cpp:
12280 (WebCore::CompositeAnimation::updateKeyframeAnimations):
12281 * page/animation/CompositeAnimation.h:
12282 * page/animation/ImplicitAnimation.cpp:
12283 * page/animation/KeyframeAnimation.cpp:
12284 * page/animation/KeyframeAnimation.h:
12285 (WebCore::KeyframeAnimation::setIndex):
12286
beidson@apple.com521e2b52008-09-12 18:40:03 +0000122872008-09-12 Brady Eidson <beidson@apple.com>
12288
12289 Reviewed by Mitz Pettel
12290
12291 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
12292
12293 * loader/DocumentLoader.cpp:
12294 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
12295 Subresources can never be created from nil data, but there is always a MainResource, whether
12296 or not there's any data. So in the case where the main resource has no data, fake it for the
12297 sake of creating the ArchiveResource.
12298
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000122992008-09-12 Dave Hyatt <hyatt@apple.com>
12300
12301 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
12302 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
12303 Remove all the isWidget and hasPlatformScrollbars guards.
12304
12305 Reviewed by Tim Hatcher
12306
12307 * platform/ScrollBar.h:
12308 * platform/gtk/PlatformScrollBar.h:
12309 * platform/mac/PlatformScrollBar.h:
12310 * platform/qt/PlatformScrollBar.h:
12311 * platform/win/PlatformScrollBar.h:
12312 * platform/win/ScrollViewWin.cpp:
12313 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12314 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12315 * platform/wx/PlatformScrollBar.h:
12316 * rendering/RenderLayer.cpp:
12317 (WebCore::RenderLayer::horizontalScrollbarWidget):
12318 (WebCore::RenderLayer::verticalScrollbarWidget):
12319 (WebCore::RenderLayer::createScrollbar):
12320 (WebCore::RenderLayer::destroyScrollbar):
12321 * rendering/RenderListBox.cpp:
12322 (WebCore::RenderListBox::~RenderListBox):
12323 (WebCore::RenderListBox::updateFromElement):
12324 (WebCore::RenderListBox::isPointInOverflowControl):
12325
mitz@apple.com0bef1302008-09-12 18:22:07 +0000123262008-09-12 Dan Bernstein <mitz@apple.com>
12327
12328 Reviewed by Sam Weinig.
12329
12330 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
12331
12332 * page/animation/AnimationController.cpp:
12333 * page/animation/AnimationController.h:
12334 * page/animation/CompositeAnimation.cpp:
12335 * page/animation/CompositeAnimation.h:
12336 * page/animation/ImplicitAnimation.cpp:
12337 * page/animation/ImplicitAnimation.h:
12338 * page/animation/KeyframeAnimation.cpp:
12339 * page/animation/KeyframeAnimation.h:
12340
timothy@apple.com43203432008-09-12 04:44:40 +0000123412008-09-11 Timothy Hatcher <timothy@apple.com>
12342
12343 Add a renderedImage method to DOMNode to get an image
12344 of the rendering for the node and it's descendants.
12345
12346 <rdar://problem/5849349> Would like API to create
12347 an image for a DOM node
12348
12349 Reviewed by Oliver Hunt.
12350
12351 * bindings/objc/DOM.mm:
12352 (-[DOMNode renderedImage]): Call Frame::nodeImage.
12353 * bindings/objc/DOMPrivate.h:
12354 * page/Frame.h:
12355 * page/mac/FrameMac.mm:
12356 (WebCore::Frame::nodeImage):
12357
dino@apple.com9300a0b2008-09-12 00:36:31 +0000123582008-09-08 Chris Marrin <cmarrin@apple.com>
12359
12360 Reviewed by Dave Hyatt
12361
12362 Need to support comma separated list of key times in keyframes selectors
12363 https://bugs.webkit.org/show_bug.cgi?id=20680
12364
12365 Test: animations/keyframes-comma-separated.html
12366
12367 * css/CSSGrammar.y:
12368 * css/CSSParser.cpp:
12369 (WebCore::CSSParser::createKeyframeRule):
12370 * css/CSSParser.h:
12371 * css/CSSStyleSelector.cpp:
12372 (WebCore::CSSStyleSelector::addKeyframeStyle):
12373 * css/WebKitCSSKeyframeRule.cpp:
12374 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
12375 (WebCore::WebKitCSSKeyframeRule::cssText):
12376 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
12377 * css/WebKitCSSKeyframeRule.h:
12378 (WebCore::WebKitCSSKeyframeRule::keyText):
12379 (WebCore::WebKitCSSKeyframeRule::setKeyText):
12380 (WebCore::WebKitCSSKeyframeRule::getKeys):
12381 * css/WebKitCSSKeyframesRule.cpp:
12382 (WebCore::WebKitCSSKeyframesRule::append):
12383 (WebCore::WebKitCSSKeyframesRule::insertRule):
12384 (WebCore::WebKitCSSKeyframesRule::deleteRule):
12385 (WebCore::WebKitCSSKeyframesRule::findRule):
12386 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
12387 * css/WebKitCSSKeyframesRule.h:
12388 * page/animation/AnimationBase.cpp:
12389 (WebCore::AnimationBase::blendProperties):
12390
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000123912008-09-11 Kevin McCullough <kmccullough@apple.com>
12392
12393 RS by Tim.
12394
12395 Reverting because this caused a crash.
12396
12397 * rendering/RenderObject.cpp:
12398 (WebCore::RenderObject::canBeProgramaticallyScrolled):
12399 (WebCore::RenderObject::hasScrollableView):
12400 * rendering/RenderObject.h:
12401
dino@apple.com19853b32008-09-11 21:59:08 +0000124022008-09-11 Dean Jackson <dino@apple.com>
12403
12404 Reviewed by Dan Bernstein.
12405
12406 Fix assertion on transition property "none"
12407 https://bugs.webkit.org/show_bug.cgi?id=20751
12408
12409 Test: transitions/transition-end-event-set-none.html
12410
12411 * page/animation/CompositeAnimation.cpp:
12412 (WebCore::CompositeAnimation::updateTransitions):
12413
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000124142008-09-11 David Smith <catfish.man@gmail.com>
12415
dsmith@webkit.org08103d92008-09-11 21:54:30 +000012416 Rubber-stamped by mitzpettel.
12417
12418 Remove an accidentally added extra file.
12419
12420 * WebCore: Removed.
12421
124222008-09-11 David Smith <catfish.man@gmail.com>
12423
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000012424 Reviewed by Darin
12425
12426 https://bugs.webkit.org/show_bug.cgi?id=20180
12427
12428 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.
12429
12430 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
12431 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
12432 * dom/Element.cpp: include NodeRenderStyle.h
12433 * dom/Node.cpp: Remove the definition of renderStyle()
12434 (WebCore::Node::nonRendererRenderStyle):
12435 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
12436 * dom/NodeRenderStyle.h: Added.
12437 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
12438 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
12439 * html/HTMLOptGroupElement.h:
12440 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
12441 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
12442 * html/HTMLOptionElement.h:
12443 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
12444 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
12445 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
12446 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
12447
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000124482008-09-11 Kevin McCullough <kmccullough@apple.com>
12449
12450 Reviewed by Adele and Tim.
12451
12452 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
12453 Inspector does not scroll to the line of the results (20167)
12454 - This was put in by Max to fix auto scrolling but is not correct for
12455 the whole web: rdar://problem/6213098
12456
12457 * rendering/RenderObject.cpp:
12458 (WebCore::RenderObject::canBeProgramaticallyScrolled):
12459 * rendering/RenderObject.h:
12460
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000124612008-09-11 Chris Fleizach <cfleizach@apple.com>
12462
12463 Reviewed by Beth Dakin
12464
12465 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
12466
12467 Test: accessibility/frame-with-title.html
12468
12469 * page/AccessibilityRenderObject.cpp:
12470 (WebCore::AccessibilityRenderObject::accessibilityDescription):
12471
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000124722008-09-11 Dirk Schulze <vbs85@gmx.de>
12473
12474 Reviewed by Simon.
12475
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000012476 Fixed stroke() and strokeRect() to support gradients
12477 and patterns on Qt.
12478
12479 [Qt] Canvas stroke don't work for gradients and patterns
12480 [https://bugs.webkit.org/show_bug.cgi?id=20749]
12481
12482 * platform/graphics/qt/GraphicsContextQt.cpp:
12483 (WebCore::GraphicsContext::strokePath):
12484 (WebCore::GraphicsContext::strokeRect):
12485
124862008-09-11 Dirk Schulze <vbs85@gmx.de>
12487
12488 Reviewed by Simon.
12489
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000012490 https://bugs.webkit.org/show_bug.cgi?id=20729
12491
12492 Fixed canvas gradients for Qt
12493
12494 [Qt] Canvas gradients don't work as expected
12495 [https://bugs.webkit.org/show_bug.cgi?id=20729]
12496
12497 * platform/graphics/qt/GradientQt.cpp:
12498 (WebCore::Gradient::platformGradient):
12499
125002008-09-11 Dirk Schulze <vbs85@gmx.de>
12501
12502 Reviewed by Simon.
12503
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000012504 https://bugs.webkit.org/show_bug.cgi?id=20568
12505
12506 Add support for patterns to Qt.
12507
12508 * platform/graphics/qt/PatternQt.cpp:
12509 (WebCore::Pattern::createPlatformPattern):
12510
mitz@apple.com442c5892008-09-10 18:21:14 +0000125112008-09-10 Dan Bernstein <mitz@apple.com>
12512
12513 Reviewed by Sam Weinig.
12514
12515 - clean up AnimationBase
12516
12517 * page/animation/AnimationBase.cpp:
12518 * page/animation/AnimationBase.h:
12519 * page/animation/CompositeAnimation.cpp:
12520 * page/animation/ImplicitAnimation.cpp:
12521 * page/animation/ImplicitAnimation.h:
12522 * page/animation/KeyframeAnimation.cpp:
12523 * page/animation/KeyframeAnimation.h:
12524
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000125252008-09-10 Alexey Proskuryakov <ap@webkit.org>
12526
12527 Reviewed by Darin Adler.
12528
12529 https://bugs.webkit.org/show_bug.cgi?id=20741
12530 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
12531
12532 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
12533 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
12534 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
12535
12536 I also found and fixed a potential crasher for non-Mac ports.
12537
12538 Tests: fast/encoding/hebrew/8859-8-e.html
12539 fast/encoding/hebrew/8859-8-i.html
12540 fast/encoding/hebrew/8859-8.html
12541 fast/encoding/hebrew/csISO88598I.html
12542 fast/encoding/hebrew/hebrew.html
12543 fast/encoding/hebrew/iso-ir-138.html
12544 fast/encoding/hebrew/logical.html
12545
12546 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
12547 (case-insensitively, because different versions of ICU report this MIME name in different
12548 case).
12549
12550 * platform/text/TextCodecICU.cpp:
12551 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
12552 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
12553 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
12554 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
12555 we also support these via TEC (which we should stop doing), but on Windows, this would
12556 likely crash.
12557
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000125582008-09-09 Dave Hyatt <hyatt@apple.com
12559
12560 Resurrect PlatformScrollbarWin.
12561
12562 Reviewed by Adam Roben
12563
12564 * WebCore.vcproj/WebCore.vcproj:
12565 * platform/win/PlatformScrollBarWin.cpp:
12566 (WebCore::isRunningOnVistaOrLater):
12567 (WebCore::checkAndInitScrollbarTheme):
12568 (WebCore::PlatformScrollbar::PlatformScrollbar):
12569 (WebCore::PlatformScrollbar::invalidateTrack):
12570 (WebCore::PlatformScrollbar::invalidatePart):
12571 (WebCore::PlatformScrollbar::paint):
12572 (WebCore::PlatformScrollbar::hasButtons):
12573 (WebCore::PlatformScrollbar::hasThumb):
12574 (WebCore::PlatformScrollbar::backButtonRect):
12575 (WebCore::PlatformScrollbar::forwardButtonRect):
12576 (WebCore::PlatformScrollbar::trackRect):
12577 (WebCore::PlatformScrollbar::gripperRect):
12578 (WebCore::PlatformScrollbar::thumbLength):
12579 (WebCore::PlatformScrollbar::paintButton):
12580 (WebCore::PlatformScrollbar::paintTrack):
12581 (WebCore::PlatformScrollbar::paintThumb):
12582 (WebCore::PlatformScrollbar::paintGripper):
12583 (WebCore::PlatformScrollbar::hitTest):
12584 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
12585 (WebCore::PlatformScrollbar::handleMouseOutEvent):
12586 (WebCore::PlatformScrollbar::themeChanged):
12587
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000125882008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
12589
12590 Reviewed by Maciej Stachowiak.
12591
12592 Bug 20759: Remove MacroAssembler
12593 <https://bugs.webkit.org/show_bug.cgi?id=20759>
12594
12595 Make the necessary changes to ForwardingHeaders to remove
12596 MacroAssembler.
12597
12598 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
12599 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
12600 * ForwardingHeaders/masm/X86Assembler.h: Added.
12601
alp@webkit.org509e3d42008-09-10 01:26:20 +0000126022008-09-09 Alp Toker <alp@nuanti.com>
12603
12604 Reviewed by Dave Hyatt.
12605
12606 https://bugs.webkit.org/show_bug.cgi?id=16792
12607 [GTK] Fails to render Japanese/Chinese text with simple path
12608
12609 https://bugs.webkit.org/show_bug.cgi?id=16942
12610 [GTK] Oddities in font selection and fall back
12611
12612 https://bugs.webkit.org/show_bug.cgi?id=16862
12613 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
12614
12615 GTK+ font fixes and enhancements.
12616
12617 Implement font fallback for the simple FontConfig-based text path and
12618 improve the Pango-based complex text path to make use of requested
12619 font properties and available font selection.
12620
12621 Add text shadow support to the complex path.
12622
12623 * platform/graphics/gtk/FontCacheGtk.cpp:
12624 (WebCore::FontCache::getFontDataForCharacters):
12625 (WebCore::FontCache::getSimilarFontPlatformData):
12626 * platform/graphics/gtk/FontGtk.cpp:
12627 (WebCore::setPangoAttributes):
12628 (WebCore::Font::drawComplexText):
12629 (WebCore::getDefaultPangoLayout):
12630 (WebCore::Font::floatWidthForComplexText):
12631 (WebCore::Font::offsetForPositionForComplexText):
12632 (WebCore::Font::selectionRectForComplexText):
12633 * platform/graphics/gtk/FontPlatformData.h:
12634 (WebCore::FontPlatformData::FontPlatformData):
12635 (WebCore::FontPlatformData::hash):
12636 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
12637 (WebCore::FontPlatformData::FontPlatformData):
12638 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
12639 (WebCore::SimpleFontData::platformDestroy):
12640
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000126412008-09-09 Dave Hyatt <hyatt@apple.com>
12642
12643 Make the Windows classic case work again. Overlap in slider constants and other constants broke
12644 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
12645 value to make sure it's really a slider thumb to resolve this conflict.
12646
12647 Reviewed by Adam Roben
12648
12649 * rendering/RenderThemeWin.cpp:
12650 (WebCore::drawControl):
12651
dino@apple.com442d0652008-09-09 23:36:56 +0000126522008-09-05 Chris Marrin <cmarrin@apple.com>
12653
12654 Reviewed by Sam Weinig.
12655
12656 Need to handle the case when 0% or 100% keyframe is omitted
12657 https://bugs.webkit.org/show_bug.cgi?id=20679
12658
12659 Tests: animations/keyframes-from-missing.html
12660 animations/keyframes-to-missing.html
12661
12662 * css/CSSStyleSelector.cpp:
12663 (WebCore::CSSStyleSelector::addKeyframeStyle):
12664
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000126652008-09-09 Dave Hyatt <hyatt@apple.com>
12666
12667 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
12668 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
12669 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
12670 what changes have been made as compared with the old RenderThemeWin).
12671
12672 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
12673 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
12674 vs. printer advancement rounding).
12675
12676 Reviewed by Adam/Sam
12677
12678 * css/CSSStyleSelector.cpp:
12679 (WebCore::CSSStyleSelector::applyProperty):
12680 * platform/graphics/Icon.h:
12681 (WebCore::Icon::create):
12682 * rendering/RenderThemeWin.cpp:
12683 (WebCore::RenderThemeWin::RenderThemeWin):
12684 (WebCore::RenderThemeWin::~RenderThemeWin):
12685 (WebCore::RenderThemeWin::buttonTheme):
12686 (WebCore::RenderThemeWin::textFieldTheme):
12687 (WebCore::RenderThemeWin::menuListTheme):
12688 (WebCore::RenderThemeWin::sliderTheme):
12689 (WebCore::RenderThemeWin::close):
12690 (WebCore::RenderThemeWin::themeChanged):
12691 (WebCore::RenderThemeWin::supportsHover):
12692 (WebCore::fillFontDescription):
12693 (WebCore::RenderThemeWin::systemFont):
12694 (WebCore::RenderThemeWin::supportsFocus):
12695 (WebCore::RenderThemeWin::determineClassicState):
12696 (WebCore::RenderThemeWin::determineState):
12697 (WebCore::RenderThemeWin::determineSliderThumbState):
12698 (WebCore::RenderThemeWin::getClassicThemeData):
12699 (WebCore::RenderThemeWin::getThemeData):
12700 (WebCore::drawControl):
12701 (WebCore::RenderThemeWin::paintButton):
12702 (WebCore::RenderThemeWin::paintTextField):
12703 (WebCore::RenderThemeWin::paintMenuList):
12704 (WebCore::RenderThemeWin::adjustMenuListStyle):
12705 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
12706 (WebCore::RenderThemeWin::paintMenuListButton):
12707 (WebCore::RenderThemeWin::paintSliderTrack):
12708 (WebCore::RenderThemeWin::paintSliderThumb):
12709 (WebCore::RenderThemeWin::adjustSliderThumbSize):
12710 (WebCore::RenderThemeWin::paintSearchField):
12711 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
12712 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
12713 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
12714 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
12715 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
12716 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
12717 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
12718 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
12719 * rendering/RenderThemeWin.h:
12720 (WebCore::ThemeData::ThemeData):
12721 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
12722 (WebCore::RenderThemeWin::adjustButtonStyle):
12723 (WebCore::RenderThemeWin::adjustTextFieldStyle):
12724 (WebCore::RenderThemeWin::adjustTextAreaStyle):
12725
dino@apple.comd511ce52008-09-09 19:50:25 +0000127262008-09-09 Dean Jackson <dino@apple.com>
12727
12728 Reviewed by Sam Weinig.
12729
12730 Document::createEvent missing cases for animation and
12731 transition events.
12732 https://bugs.webkit.org/show_bug.cgi?id=20734
12733
12734 Test: transitions/transition-end-event-create.html
12735 Test: animations/animation-events-create.html
12736
12737 * dom/Document.cpp:
12738 (WebCore::Document::createEvent):
12739 - add the two cases
12740
mitz@apple.com1da7b882008-09-09 18:12:06 +0000127412008-09-09 Dan Bernstein <mitz@apple.com>
12742
mitz@apple.com54921562008-09-09 18:48:34 +000012743 - Tiger build fix
12744
12745 * WebCore.Tiger.exp:
12746 * WebCore.base.exp:
12747 * platform/mac/WebCoreSystemInterface.h:
12748 * platform/mac/WebCoreSystemInterface.mm:
12749
127502008-09-09 Dan Bernstein <mitz@apple.com>
12751
mitz@apple.com1da7b882008-09-09 18:12:06 +000012752 Reviewed by Darin Adler.
12753
12754 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
12755
12756 * WebCore.Tiger.exp:
12757 * WebCore.base.exp:
12758 * platform/graphics/SimpleFontData.h:
12759 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
12760 (WebCore::GlyphPage::fill):
12761 * platform/graphics/mac/SimpleFontDataMac.mm:
12762 (WebCore::initFontData):
12763 (WebCore::SimpleFontData::platformInit):
12764 (WebCore::SimpleFontData::platformDestroy):
12765 * platform/mac/WebCoreSystemInterface.h:
12766 * platform/mac/WebCoreSystemInterface.mm:
12767
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000127682008-09-09 Kevin McCullough <kmccullough@apple.com>
12769
12770 Reviewed by Tim.
12771
12772 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
12773 breakpoints inside eval.
12774
12775 * page/inspector/inspector.js:
12776
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000127772008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
12778
12779 Reviewed by Simon.
12780
12781 Fix compilation of the Qt port with disabled plugins on Windows
12782
12783 * WebCore.pro:
12784 * plugins/PluginView.cpp:
12785 (WebCore::PluginView::PluginView):
12786 * plugins/PluginView.h:
12787
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000127882008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
12789
12790 Reviewed by Alexey Proskuryakov.
12791
12792 Try MIME charset names before trying IANA names
12793 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
12794
12795 With this change, shorter and more widely used names (preferred MIME
12796 names) are returned by document.charset, document.characterSet,
12797 document.inputEncoding rather than IANA names. This helps
12798 fixing bug 18085 in addition to web developers who are more familiar
12799 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
12800 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
12801 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
12802 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
12803 used, the former is still recognized as aliases to the latter so that
12804 there's very little, if any, to worry about.
12805
12806 * platform/text/TextCodecICU.cpp:
12807 (WebCore::TextCodecICU::registerExtendedEncodingNames):
12808
weinig@apple.com22294302008-09-09 06:55:39 +0000128092008-09-08 Sam Weinig <sam@webkit.org>
12810
12811 Reviewed by Maciej Stachowiak and Oliver Hunt.
12812
12813 Add forwarding headers.
12814
12815 * ForwardingHeaders/wtf/HashFunctions.h: Added.
12816
dino@apple.comd9962af2008-09-09 01:02:00 +0000128172008-09-05 Dean Jackson <dino@apple.com>
12818
12819 Reviewed by Dan Bernstein.
12820
12821 Update grammar so that we can add a keyframe rule via the DOM.
12822 https://bugs.webkit.org/show_bug.cgi?id=20613
12823
12824 * css/CSSGrammar.y:
12825 * css/tokenizer.flex:
12826
antti@apple.com4b17a932008-09-09 00:40:45 +0000128272008-09-08 Antti Koivisto <antti@apple.com>
12828
12829 Reviewed by Dan Bernstein.
12830
12831 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
12832 actually show up in any of the default stylesheets.
12833
12834 * css/CSSStyleSelector.cpp:
12835 (WebCore::elementCanUseSimpleDefaultStyle):
12836
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000128372008-09-08 Dimitri Glazkov <dglazkov@google.com>
12838
12839 Reviewed by Dan Bernstein.
12840
12841 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
12842 Zero width and space characters are displayed incorrectly if not contained in a fallback font
12843
12844 Adds an extra check for Object Replacement Character (U+FFFC) to address
12845 the issue with fast/text/zero-width-characters.html test when run
12846 with Windows system default fonts.
12847
12848 * platform/graphics/Font.h:
12849 (WebCore::Font::treatAsZeroWidthSpace):
12850
dino@apple.comf0a4b212008-09-08 22:51:49 +0000128512008-09-08 Dean Jackson <dino@apple.com>
12852
12853 Reviewed by Sam Weinig.
12854
12855 Code style issue I forgot to fix from previous commit.
12856
12857 * platform/graphics/AffineTransform.cpp:
12858 (WebCore::AffineTransform::blend):
12859
dino@apple.com26625122008-09-08 22:46:41 +0000128602008-09-08 Chris Marrin <cmarrin@apple.com>
12861
12862 Reviewed by Sam Weinig
12863
12864 - Animation of -webkit-transform matrix() function should not do linear interpolation
12865 https://bugs.webkit.org/show_bug.cgi?id=20667
12866
12867 Test: animations/matrix-anim.html
12868
12869 * ChangeLog:
12870 * platform/graphics/AffineTransform.cpp:
12871 (WebCore::affineTransformDecompose):
12872 (WebCore::affineTransformCompose):
12873 (WebCore::AffineTransform::blend):
12874 * platform/graphics/AffineTransform.h:
12875 * rendering/style/RenderStyle.cpp:
12876 (WebCore::MatrixTransformOperation::blend):
12877
ap@webkit.org243a9752008-09-08 16:21:16 +0000128782008-09-08 Alexey Proskuryakov <ap@webkit.org>
12879
12880 Reviewed by Darin Adler.
12881
12882 https://bugs.webkit.org/show_bug.cgi?id=20668
12883 multipart/form-data does not always include Content-type for submitted files
12884
12885 Cannot be tested with DRT or manual tests.
12886
12887 * platform/MIMETypeRegistry.cpp:
12888 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
12889 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
12890 unknown extensions, not just missing ones.
12891
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000128922008-09-08 Simon Hausmann <hausmann@webkit.org>
12893
12894 Build fix for the Qt/Windows build, define USE_JSC to
12895 enable the WebCore::String -> JSC::UString operator that
12896 MSVC insists on seeing
12897
12898 * WebCore.pro:
12899
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000129002008-09-08 Anders Carlsson <andersca@apple.com>
12901
12902 Reviewed by Maciej.
12903
12904 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
12905
12906 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
12907 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
12908
12909 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
12910
12911 * bindings/js/JSDOMWindowBase.h:
12912 * loader/FrameLoader.cpp:
12913 (WebCore::FrameLoader::commitProvisionalLoad):
12914
antti@apple.com57b3a102008-09-08 07:01:36 +0000129152008-09-07 Antti Koivisto <antti@apple.com>
12916
12917 Reviewed by Dave Hyatt.
12918
12919 Don't leak the simple stylesheet.
12920 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
12921
12922 * css/CSSStyleSelector.cpp:
12923 (WebCore::loadFullDefaultStyle):
12924 (WebCore::loadSimpleDefaultStyle):
12925 (WebCore::CSSStyleSelector::styleForElement):
12926
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000129272008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
12928
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000012929 Reviewed by Oliver Hunt.
12930
12931 Bug 20711: Change KJS prefix on preprocessor macros to JSC
12932 <https://bugs.webkit.org/show_bug.cgi?id=20711>
12933
12934 * bindings/js/JSEventTargetBase.h:
12935 * bindings/js/JSHTMLInputElementBase.cpp:
12936 * bindings/js/JSHTMLInputElementBase.h:
12937 * bindings/scripts/CodeGeneratorJS.pm:
12938
129392008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
12940
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000012941 Reviewed by Maciej Stachowiak.
12942
12943 Bug 20704: Replace the KJS namespace
12944 <https://bugs.webkit.org/show_bug.cgi?id=20704>
12945
12946 Rename the KJS namespace to JSC. There are still some uses of KJS in the
12947 names of JNI functions, and I will check if these are safe to change
12948 as well.
12949
12950 * WebCore.base.exp:
12951 * bindings/js/GCController.cpp:
12952 * bindings/js/JSAttrCustom.cpp:
12953 * bindings/js/JSAudioConstructor.cpp:
12954 * bindings/js/JSAudioConstructor.h:
12955 (WebCore::JSAudioConstructor::classInfo):
12956 * bindings/js/JSCSSRuleCustom.cpp:
12957 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
12958 * bindings/js/JSCSSValueCustom.cpp:
12959 * bindings/js/JSCanvasPixelArrayCustom.cpp:
12960 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
12961 * bindings/js/JSClipboardCustom.cpp:
12962 * bindings/js/JSConsoleCustom.cpp:
12963 * bindings/js/JSCustomSQLStatementCallback.cpp:
12964 (WebCore::JSCustomSQLStatementCallback::handleEvent):
12965 * bindings/js/JSCustomSQLStatementCallback.h:
12966 (WebCore::JSCustomSQLStatementCallback::create):
12967 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
12968 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
12969 * bindings/js/JSCustomSQLStatementErrorCallback.h:
12970 (WebCore::JSCustomSQLStatementErrorCallback::create):
12971 * bindings/js/JSCustomSQLTransactionCallback.cpp:
12972 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
12973 * bindings/js/JSCustomSQLTransactionCallback.h:
12974 (WebCore::JSCustomSQLTransactionCallback::create):
12975 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
12976 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
12977 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
12978 (WebCore::JSCustomSQLTransactionErrorCallback::create):
12979 * bindings/js/JSCustomVoidCallback.cpp:
12980 (WebCore::JSCustomVoidCallback::handleEvent):
12981 * bindings/js/JSCustomVoidCallback.h:
12982 (WebCore::JSCustomVoidCallback::create):
12983 * bindings/js/JSCustomXPathNSResolver.cpp:
12984 (WebCore::JSCustomXPathNSResolver::create):
12985 * bindings/js/JSCustomXPathNSResolver.h:
12986 * bindings/js/JSDOMApplicationCacheCustom.cpp:
12987 (WebCore::JSDOMApplicationCache::dispatchEvent):
12988 * bindings/js/JSDOMBinding.cpp:
12989 (WebCore::jsOwnedStringOrNull):
12990 * bindings/js/JSDOMBinding.h:
12991 (WebCore::DOMObject::DOMObject):
12992 (WebCore::cacheDOMObject):
12993 (WebCore::cacheSVGDOMObject):
12994 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
12995 (WebCore::toJS):
12996 * bindings/js/JSDOMWindowBase.cpp:
12997 * bindings/js/JSDOMWindowBase.h:
12998 (WebCore::JSDOMWindowBase::classInfo):
12999 (WebCore::JSDOMWindowBase::d):
13000 * bindings/js/JSDOMWindowCustom.cpp:
13001 (WebCore::JSDOMWindow::getPropertyAttributes):
13002 * bindings/js/JSDOMWindowCustom.h:
13003 (WebCore::asJSDOMWindow):
13004 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
13005 (WebCore::JSDOMWindow::customPut):
13006 (WebCore::JSDOMWindowBase::allowsAccessFrom):
13007 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
13008 * bindings/js/JSDOMWindowShell.cpp:
13009 (WebCore::JSDOMWindowShell::getPropertyAttributes):
13010 * bindings/js/JSDOMWindowShell.h:
13011 (WebCore::JSDOMWindowShell::classInfo):
13012 * bindings/js/JSDatabaseCustom.cpp:
13013 * bindings/js/JSDocumentCustom.cpp:
13014 * bindings/js/JSDocumentFragmentCustom.cpp:
13015 * bindings/js/JSElementCustom.cpp:
13016 * bindings/js/JSEventCustom.cpp:
13017 * bindings/js/JSEventListener.cpp:
13018 * bindings/js/JSEventListener.h:
13019 (WebCore::JSUnprotectedEventListener::create):
13020 (WebCore::JSEventListener::create):
13021 * bindings/js/JSEventTargetBase.cpp:
13022 * bindings/js/JSEventTargetBase.h:
13023 (WebCore::JSEventTargetBase::getValueProperty):
13024 (WebCore::JSEventTargetBase::putValueProperty):
13025 (WebCore::JSEventTargetBase::getOwnPropertySlot):
13026 (WebCore::JSEventTargetBase::put):
13027 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
13028 (WebCore::JSEventTargetPrototype::self):
13029 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
13030 (WebCore::JSEventTargetPrototype::classInfo):
13031 * bindings/js/JSEventTargetNode.cpp:
13032 * bindings/js/JSEventTargetNode.h:
13033 (WebCore::JSEventTargetNode::getOwnPropertySlot):
13034 (WebCore::JSEventTargetNode::getValueProperty):
13035 (WebCore::JSEventTargetNode::put):
13036 (WebCore::JSEventTargetNode::putValueProperty):
13037 * bindings/js/JSHTMLAllCollection.h:
13038 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
13039 (WebCore::JSHTMLAllCollection::toBoolean):
13040 * bindings/js/JSHTMLAppletElementCustom.cpp:
13041 * bindings/js/JSHTMLCollectionCustom.cpp:
13042 * bindings/js/JSHTMLDocumentCustom.cpp:
13043 * bindings/js/JSHTMLElementCustom.cpp:
13044 * bindings/js/JSHTMLEmbedElementCustom.cpp:
13045 * bindings/js/JSHTMLFormElementCustom.cpp:
13046 * bindings/js/JSHTMLFrameElementCustom.cpp:
13047 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
13048 * bindings/js/JSHTMLIFrameElementCustom.cpp:
13049 * bindings/js/JSHTMLInputElementBase.cpp:
13050 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
13051 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
13052 * bindings/js/JSHTMLInputElementBase.h:
13053 (WebCore::JSHTMLInputElementBase::classInfo):
13054 * bindings/js/JSHTMLObjectElementCustom.cpp:
13055 * bindings/js/JSHTMLOptionElementConstructor.cpp:
13056 * bindings/js/JSHTMLOptionElementConstructor.h:
13057 (WebCore::JSHTMLOptionElementConstructor::classInfo):
13058 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
13059 * bindings/js/JSHTMLSelectElementCustom.cpp:
13060 (WebCore::selectIndexSetter):
13061 (WebCore::JSHTMLSelectElement::indexSetter):
13062 * bindings/js/JSHTMLSelectElementCustom.h:
13063 * bindings/js/JSHistoryCustom.cpp:
13064 * bindings/js/JSImageConstructor.cpp:
13065 * bindings/js/JSImageConstructor.h:
13066 (WebCore::JSImageConstructor::classInfo):
13067 * bindings/js/JSInspectedObjectWrapper.cpp:
13068 * bindings/js/JSInspectedObjectWrapper.h:
13069 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
13070 (WebCore::JSInspectedObjectWrapper::classInfo):
13071 * bindings/js/JSInspectorCallbackWrapper.cpp:
13072 * bindings/js/JSInspectorCallbackWrapper.h:
13073 (WebCore::JSInspectorCallbackWrapper::classInfo):
13074 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
13075 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13076 * bindings/js/JSLocationCustom.cpp:
13077 * bindings/js/JSMimeTypeArrayCustom.cpp:
13078 * bindings/js/JSNSResolver.cpp:
13079 * bindings/js/JSNSResolver.h:
13080 (WebCore::JSNSResolver::create):
13081 * bindings/js/JSNamedNodeMapCustom.cpp:
13082 * bindings/js/JSNamedNodesCollection.cpp:
13083 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
13084 * bindings/js/JSNamedNodesCollection.h:
13085 (WebCore::JSNamedNodesCollection::classInfo):
13086 * bindings/js/JSNavigatorCustom.cpp:
13087 * bindings/js/JSNodeCustom.cpp:
13088 * bindings/js/JSNodeFilterCondition.cpp:
13089 (WebCore::JSNodeFilterCondition::acceptNode):
13090 * bindings/js/JSNodeFilterCondition.h:
13091 (WebCore::JSNodeFilterCondition::create):
13092 * bindings/js/JSNodeFilterCustom.cpp:
13093 * bindings/js/JSNodeIteratorCustom.cpp:
13094 * bindings/js/JSNodeListCustom.cpp:
13095 * bindings/js/JSPluginArrayCustom.cpp:
13096 * bindings/js/JSPluginCustom.cpp:
13097 * bindings/js/JSPluginElementFunctions.cpp:
13098 (WebCore::getRuntimeObject):
13099 * bindings/js/JSPluginElementFunctions.h:
13100 * bindings/js/JSQuarantinedObjectWrapper.cpp:
13101 (WebCore::JSQuarantinedObjectWrapper::construct):
13102 (WebCore::JSQuarantinedObjectWrapper::call):
13103 * bindings/js/JSQuarantinedObjectWrapper.h:
13104 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
13105 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
13106 (WebCore::JSQuarantinedObjectWrapper::className):
13107 * bindings/js/JSRGBColor.cpp:
13108 * bindings/js/JSRGBColor.h:
13109 (WebCore::JSRGBColor::classInfo):
13110 * bindings/js/JSSQLResultSetRowListCustom.cpp:
13111 * bindings/js/JSSQLTransactionCustom.cpp:
13112 * bindings/js/JSSVGLazyEventListener.cpp:
13113 * bindings/js/JSSVGLazyEventListener.h:
13114 * bindings/js/JSSVGLengthCustom.cpp:
13115 * bindings/js/JSSVGMatrixCustom.cpp:
13116 (WebCore::JSSVGMatrix::inverse):
13117 (WebCore::JSSVGMatrix::rotateFromVector):
13118 * bindings/js/JSSVGPathSegCustom.cpp:
13119 * bindings/js/JSSVGPathSegListCustom.cpp:
13120 (WebCore::JSSVGPathSegList::initialize):
13121 (WebCore::JSSVGPathSegList::getItem):
13122 (WebCore::JSSVGPathSegList::insertItemBefore):
13123 (WebCore::JSSVGPathSegList::replaceItem):
13124 (WebCore::JSSVGPathSegList::removeItem):
13125 (WebCore::JSSVGPathSegList::appendItem):
13126 * bindings/js/JSSVGPointListCustom.cpp:
13127 * bindings/js/JSSVGTransformListCustom.cpp:
13128 * bindings/js/JSStorageCustom.cpp:
13129 * bindings/js/JSStyleSheetCustom.cpp:
13130 * bindings/js/JSStyleSheetListCustom.cpp:
13131 * bindings/js/JSTextCustom.cpp:
13132 * bindings/js/JSTreeWalkerCustom.cpp:
13133 * bindings/js/JSXMLHttpRequestConstructor.cpp:
13134 * bindings/js/JSXMLHttpRequestConstructor.h:
13135 (WebCore::JSXMLHttpRequestConstructor::classInfo):
13136 * bindings/js/JSXMLHttpRequestCustom.cpp:
13137 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
13138 * bindings/js/JSXSLTProcessorConstructor.cpp:
13139 * bindings/js/JSXSLTProcessorConstructor.h:
13140 (WebCore::JSXSLTProcessorConstructor::classInfo):
13141 * bindings/js/JSXSLTProcessorCustom.cpp:
13142 * bindings/js/ScheduledAction.cpp:
13143 * bindings/js/ScheduledAction.h:
13144 * bindings/js/ScriptController.cpp:
13145 (WebCore::ScriptController::attachDebugger):
13146 (WebCore::ScriptController::windowScriptNPObject):
13147 * bindings/js/ScriptController.h:
13148 * bindings/js/ScriptControllerGtk.cpp:
13149 (WebCore::ScriptController::createScriptInstanceForWidget):
13150 * bindings/js/ScriptControllerMac.mm:
13151 (WebCore::ScriptController::createScriptInstanceForWidget):
13152 (WebCore::ScriptController::windowScriptObject):
13153 (WebCore::ScriptController::clearPlatformScriptObjects):
13154 (WebCore::updateRenderingForBindings):
13155 (WebCore::ScriptController::initJavaJSBindings):
13156 * bindings/js/ScriptControllerQt.cpp:
13157 (WebCore::ScriptController::createScriptInstanceForWidget):
13158 * bindings/js/ScriptControllerWin.cpp:
13159 (WebCore::ScriptController::createScriptInstanceForWidget):
13160 * bindings/js/ScriptControllerWx.cpp:
13161 (WebCore::ScriptController::createScriptInstanceForWidget):
13162 * bindings/js/StringSourceProvider.h:
13163 (WebCore::StringSourceProvider::getRange):
13164 * bindings/objc/DOM.mm:
13165 (-[DOMNode JSC::Bindings::]):
13166 * bindings/objc/DOMInternal.h:
13167 * bindings/objc/DOMInternal.mm:
13168 (-[WebScriptObject _initializeScriptDOMNodeImp]):
13169 * bindings/objc/DOMUtility.mm:
13170 (JSC::createDOMWrapper):
13171 (WebCore::createDOMWrapper):
13172 * bindings/objc/WebScriptObject.mm:
13173 (WebCore::createJSWrapper):
13174 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
13175 * bindings/objc/WebScriptObjectPrivate.h:
13176 * bindings/scripts/CodeGeneratorJS.pm:
13177 * bridge/NP_jsobject.cpp:
13178 * bridge/NP_jsobject.h:
13179 * bridge/c/c_class.cpp:
13180 * bridge/c/c_class.h:
13181 * bridge/c/c_instance.cpp:
13182 * bridge/c/c_instance.h:
13183 * bridge/c/c_runtime.cpp:
13184 * bridge/c/c_runtime.h:
13185 * bridge/c/c_utility.cpp:
13186 * bridge/c/c_utility.h:
13187 * bridge/jni/jni_class.cpp:
13188 * bridge/jni/jni_class.h:
13189 * bridge/jni/jni_instance.cpp:
13190 * bridge/jni/jni_instance.h:
13191 * bridge/jni/jni_jsobject.h:
13192 * bridge/jni/jni_jsobject.mm:
13193 (JavaJSObject::call):
13194 (JavaJSObject::convertJObjectToValue):
13195 * bridge/jni/jni_objc.mm:
13196 (JSC::Bindings::dispatchJNICall):
13197 * bridge/jni/jni_runtime.cpp:
13198 * bridge/jni/jni_runtime.h:
13199 * bridge/jni/jni_utility.cpp:
13200 * bridge/jni/jni_utility.h:
13201 * bridge/npruntime.cpp:
13202 (_NPN_GetStringIdentifier):
13203 * bridge/objc/WebScriptObject.h:
13204 * bridge/objc/objc_class.h:
13205 * bridge/objc/objc_class.mm:
13206 * bridge/objc/objc_instance.h:
13207 * bridge/objc/objc_instance.mm:
13208 * bridge/objc/objc_runtime.h:
13209 * bridge/objc/objc_runtime.mm:
13210 * bridge/objc/objc_utility.h:
13211 * bridge/objc/objc_utility.mm:
13212 * bridge/qt/qt_class.cpp:
13213 * bridge/qt/qt_class.h:
13214 * bridge/qt/qt_instance.cpp:
13215 * bridge/qt/qt_instance.h:
13216 * bridge/qt/qt_runtime.cpp:
13217 (JSC::Bindings::convertQVariantToValue):
13218 (JSC::Bindings::):
13219 * bridge/qt/qt_runtime.h:
13220 * bridge/runtime.cpp:
13221 * bridge/runtime.h:
13222 * bridge/runtime_array.cpp:
13223 * bridge/runtime_array.h:
13224 * bridge/runtime_method.cpp:
13225 * bridge/runtime_method.h:
13226 * bridge/runtime_object.cpp:
13227 * bridge/runtime_object.h:
13228 * bridge/runtime_root.cpp:
13229 (JSC::Bindings::RootObject::invalidate):
13230 (JSC::Bindings::RootObject::gcProtect):
13231 (JSC::Bindings::RootObject::gcUnprotect):
13232 * bridge/runtime_root.h:
13233 * bridge/testbindings.cpp:
13234 * bridge/testbindings.mm:
13235 * bridge/testqtbindings.cpp:
13236 * dom/Document.cpp:
13237 (WebCore::Document::~Document):
13238 * dom/NSResolver.h:
13239 * dom/Node.cpp:
13240 (WebCore::Node::setDocument):
13241 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
13242 (WebCore::resolveNamespacesForSelector):
13243 (WebCore::Node::querySelector):
13244 (WebCore::Node::querySelectorAll):
13245 * dom/Node.h:
13246 * dom/NodeFilter.cpp:
13247 * dom/NodeFilter.h:
13248 * dom/NodeFilterCondition.cpp:
13249 * dom/NodeFilterCondition.h:
13250 * dom/NodeIterator.cpp:
13251 * dom/NodeIterator.h:
13252 * dom/Traversal.cpp:
13253 * dom/Traversal.h:
13254 * dom/TreeWalker.cpp:
13255 * dom/TreeWalker.h:
13256 * dom/make_names.pl:
13257 * history/CachedPage.cpp:
13258 * history/CachedPage.h:
13259 * html/HTMLPlugInElement.cpp:
13260 (WebCore::HTMLPlugInElement::getInstance):
13261 * html/HTMLPlugInElement.h:
13262 * loader/FrameLoader.cpp:
13263 * loader/FrameLoader.h:
13264 * loader/icon/IconDatabase.cpp:
13265 (WebCore::iconDatabase):
13266 * page/Console.cpp:
13267 * page/Console.h:
13268 * page/InspectorController.cpp:
13269 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
13270 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
13271 (WebCore::InspectorResource::setXMLHttpRequestProperties):
13272 (WebCore::InspectorResource::sourceString):
13273 (WebCore::getResourceDocumentNode):
13274 (WebCore::search):
13275 (WebCore::InspectorController::focusNode):
13276 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
13277 (WebCore::InspectorController::addDatabaseScriptResource):
13278 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
13279 * page/InspectorController.h:
13280 (WebCore::InspectorController::profiles):
13281 * page/JavaScriptCallFrame.cpp:
13282 (WebCore::JavaScriptCallFrame::scopeChain):
13283 * page/JavaScriptCallFrame.h:
13284 (WebCore::JavaScriptCallFrame::create):
13285 (WebCore::JavaScriptCallFrame::update):
13286 * page/JavaScriptDebugListener.h:
13287 * page/JavaScriptDebugServer.cpp:
13288 (WebCore::dispatchDidParseSource):
13289 * page/JavaScriptDebugServer.h:
13290 * page/JavaScriptProfile.cpp:
13291 * page/JavaScriptProfile.h:
13292 * page/JavaScriptProfileNode.cpp:
13293 (WebCore::getTotalTime):
13294 (WebCore::getSelfTime):
13295 (WebCore::getTotalPercent):
13296 (WebCore::getSelfPercent):
13297 (WebCore::getNumberOfCalls):
13298 (WebCore::getChildren):
13299 (WebCore::getVisible):
13300 * page/JavaScriptProfileNode.h:
13301 * page/Page.cpp:
13302 (WebCore::Page::setDebuggerForAllPages):
13303 (WebCore::Page::setDebugger):
13304 * page/Page.h:
13305 (WebCore::Page::debugger):
13306 * page/mac/FrameMac.mm:
13307 * platform/KURL.h:
13308 (WebCore::KURL::operator JSC::UString):
13309 * platform/text/AtomicString.cpp:
13310 (WebCore::AtomicString::add):
13311 (WebCore::AtomicString::find):
13312 * platform/text/AtomicString.h:
13313 (WebCore::AtomicString::AtomicString):
13314 * platform/text/PlatformString.h:
13315 * platform/text/String.cpp:
13316 (WebCore::charactersToDouble):
13317 * platform/win/BString.cpp:
13318 * platform/win/BString.h:
13319 * plugins/MimeTypeArray.h:
13320 * plugins/Plugin.h:
13321 * plugins/PluginArray.h:
13322 * plugins/PluginView.cpp:
13323 (WebCore::PluginView::start):
13324 (WebCore::PluginView::performRequest):
13325 (WebCore::PluginView::bindingInstance):
13326 * plugins/PluginView.h:
13327 * plugins/gtk/PluginViewGtk.cpp:
13328 (WebCore::PluginView::paint):
13329 (WebCore::PluginView::handleKeyboardEvent):
13330 (WebCore::PluginView::handleMouseEvent):
13331 (WebCore::PluginView::setNPWindowRect):
13332 (WebCore::PluginView::stop):
13333 (WebCore::PluginView::init):
13334 * plugins/qt/PluginViewQt.cpp:
13335 (WebCore::PluginView::setNPWindowRect):
13336 (WebCore::PluginView::stop):
13337 (WebCore::PluginView::init):
13338 * plugins/win/PluginViewWin.cpp:
13339 (WebCore::PluginView::dispatchNPEvent):
13340 (WebCore::PluginView::handleKeyboardEvent):
13341 (WebCore::PluginView::handleMouseEvent):
13342 (WebCore::PluginView::setNPWindowRect):
13343 (WebCore::PluginView::stop):
13344 * storage/Database.cpp:
13345 (WebCore::Database::Database):
13346 * xml/XMLHttpRequest.cpp:
13347 (WebCore::XMLHttpRequest::responseText):
13348 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
13349 (WebCore::XMLHttpRequest::clearResponse):
13350 (WebCore::XMLHttpRequest::dropProtection):
13351 (WebCore::XMLHttpRequest::didFinishLoading):
13352 (WebCore::XMLHttpRequest::didReceiveData):
13353 * xml/XMLHttpRequest.h:
13354
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000133552008-09-07 Adam Barth <abarth@webkit.org>
13356
13357 Reviewed by Sam Weinig.
13358
13359 Adopt opener restriction on frame navigation.
13360 https://bugs.webkit.org/show_bug.cgi?id=20642
13361
13362 This restriction helps prevent an attacker from navigating top-level
13363 windows that were created by another web site.
13364
13365 Tests: http/tests/security/frameNavigation/not-opener.html
13366 http/tests/security/frameNavigation/opener.html
13367
13368 * loader/FrameLoader.cpp:
13369 (WebCore::canAccessAncestor):
13370 (WebCore::FrameLoader::shouldAllowNavigation):
13371
mitz@apple.com83469af2008-09-07 22:29:56 +0000133722008-09-07 Dan Bernstein <mitz@apple.com>
13373
mitz@apple.com08ff58c2008-09-07 23:19:11 +000013374 Reviewed by Maciej Stachowiak.
13375
13376 - use the correct sign for vertical offsets of combining marks
13377
13378 * platform/graphics/win/UniscribeController.cpp:
13379 (WebCore::UniscribeController::shapeAndPlaceItem):
13380
133812008-09-07 Dan Bernstein <mitz@apple.com>
13382
mitz@apple.com83469af2008-09-07 22:29:56 +000013383 Reviewed by Dave Hyatt.
13384
mitz@apple.com78685b22008-09-07 22:30:29 +000013385 - add the combining mark offsets in two places where I forgot them
13386
13387 * platform/graphics/win/FontCGWin.cpp:
13388 (WebCore::Font::drawGlyphs):
13389
133902008-09-07 Dan Bernstein <mitz@apple.com>
13391
13392 Reviewed by Dave Hyatt.
13393
mitz@apple.com83469af2008-09-07 22:29:56 +000013394 - correct glyph advances in complex text using web fonts rendered with
13395 Core Graphics
13396
13397 * platform/graphics/win/FontCustomPlatformData.cpp:
13398 (WebCore::FontCustomPlatformData::fontPlatformData):
13399
timothy@apple.com968ebc92008-09-07 16:48:41 +0000134002008-09-07 Keishi Hattori <casey.hattori@gmail.com>
13401
13402 Adds console.dirxml support to the Web Inspector.
13403
13404 https://bugs.webkit.org/show_bug.cgi?id=19156
13405
13406 Reviewed by Timothy Hatcher.
13407
13408 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
13409 * bindings/js/JSConsoleCustom.cpp:
13410 (WebCore::JSConsole::dirxml):
13411 * page/Console.cpp:
13412 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
13413 * page/Console.h:
13414 (WebCore::): Added NodeMessageLevel.
13415 * page/Console.idl: Added console.dirxml.
13416 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
13417 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
13418 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
13419 * page/inspector/ElementsTreeOutline.js: Added.
13420 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
13421 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
13422 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
13423 * page/inspector/inspector.css:
13424 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
13425 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
13426 (WebInspector.altKeyDown):
13427 (WebInspector.forceHoverHighlight):
13428 (WebInspector.hoveredDOMNode):
13429 (WebInspector._updateHoverHighlightSoon):
13430 (WebInspector._updateHoverHighlight):
13431 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
13432 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
13433 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
13434 isAncestorIncludingParentFrames.
13435
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000134362008-09-06 Mark Rowe <mrowe@apple.com>
13437
13438 Qt build fix.
13439
13440 * bridge/qt/qt_runtime.cpp:
13441 (KJS::Bindings::convertQVariantToValue):
13442
mrowe@apple.comf88a4632008-09-07 05:44:58 +000013443=== End merge of squirrelfish-extreme ===
13444
134452008-09-05 Oliver Hunt <oliver@apple.com>
13446
13447 Start bringing up SFX on windows.
13448
13449 Reviewed by Mark Rowe and Sam Weinig
13450
13451 Start doing the work to bring up SFX on windows. Initially
13452 just working on WREC, as it does not make any calls so reduces
13453 the amount of code that needs to be corrected.
13454
13455 Add forwarding headers
13456
13457 * ChangeLog:
13458 * ForwardingHeaders/masm/MacroAssembler.h: Added.
13459 * WebCore.vcproj/WebCore.vcproj:
13460
134612008-08-27 Mark Rowe <mrowe@apple.com>
13462
13463 Reviewed by Oliver Hunt.
13464
13465 Fix the build of the full WebKit stack.
13466
13467 Add forwarding headers.
13468
13469 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
13470 * ForwardingHeaders/wrec/WREC.h: Added.
13471
13472=== Start merge of squirrelfish-extreme ===
13473
antti@apple.com13c24932008-09-07 03:54:21 +0000134742008-09-06 Antti Koivisto <antti@apple.com>
13475
13476 Reviewed by Dave Hyatt.
13477
13478 <rdar://problem/6187043>
13479 Don't parse full HTML user agent style sheet unless it is actually needed
13480 <rdar://problem/6131889>
13481 WebView is significantly more expensive to create recently
13482
13483 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
13484 startup. Some clients may never use most of the rules.
13485
13486 With this patch we use simplified UA stylesheet until we hit something it can't handle.
13487 This avoids full stylesheet parsing on application startup (due to empty document construction)
13488 and also makes it possible for clients with very simple demands (divs and spans only) never to load
13489 the full style.
13490
13491 It also delays view source style parsing until it is used.
13492
13493 * css/CSSStyleSelector.cpp:
13494 (WebCore::elementCanUseSimpleDefaultStyle):
13495 (WebCore::CSSStyleSelector::CSSStyleSelector):
13496 (WebCore::loadFullDefaultStyle):
13497 (WebCore::loadSimpleDefaultStyle):
13498 (WebCore::loadViewSourceStyle):
13499 (WebCore::CSSStyleSelector::matchUARules):
13500 (WebCore::CSSStyleSelector::styleForElement):
13501
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000135022008-09-06 Kevin Ollivier <kevino@theolliviers.com>
13503
13504 wx build fix.
13505
13506 * WebCoreSources.bkl:
13507
antti@apple.come953f862008-09-06 23:27:09 +0000135082008-09-06 Antti Koivisto <antti@apple.com>
13509
antti@apple.com00dfa532008-09-06 23:32:26 +000013510 Reverting r35953 which was causing problems on Windows which relies on
13511 WebCore timers in nested event loops. r36132 did alternative fix.
13512
13513 * page/Chrome.cpp:
13514 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
13515 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
13516
135172008-09-06 Antti Koivisto <antti@apple.com>
13518
antti@apple.come953f862008-09-06 23:27:09 +000013519 Reviewed by Dan Bernstein.
13520
13521 Fix <rdar://problem/6201644>
13522 https://bugs.webkit.org/show_bug.cgi?id=20493
13523 Crash after OK in dialog box and reloading page in secure mode
13524
13525 Limited loader only fix since the general timer fix is causing problems on Windows.
13526
13527 * loader/loader.cpp:
13528 (WebCore::Loader::servePendingRequests):
13529 (WebCore::Loader::Host::Host):
13530 (WebCore::Loader::Host::didFinishLoading):
13531 (WebCore::Loader::Host::didFail):
13532 (WebCore::Loader::Host::didReceiveData):
13533 * loader/loader.h:
13534 (WebCore::Loader::Host::processingResource):
13535
mitz@apple.com046bf642008-09-06 08:31:02 +0000135362008-09-06 Dan Bernstein <mitz@apple.com>
13537
13538 Reviewed by Dave Hyatt.
13539
mitz@apple.comc0b050b2008-09-06 22:39:34 +000013540 The initial Core Text adoption prototype was made by Daniel Fenwick.
13541
13542 - <rdar://problem/5158514> Add a Core Text-based complex text code path
13543
13544 Currently the Core Text code path is not used in any configuration.
13545
13546 * WebCore.xcodeproj/project.pbxproj: Added files.
13547 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
13548 * platform/graphics/Font.cpp:
13549 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
13550 of the loop.
13551 * platform/graphics/GlyphBuffer.h:
13552 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
13553 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
13554 Added getCTFont() and getCFStringAttributes() and corresponding data
13555 members for Core Text.
13556 * platform/graphics/mac/CoreTextController.cpp: Added.
13557 (WebCore::roundCGFloat): Helper function.
13558 (WebCore::ceilCGFloat): Helper function.
13559 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
13560 (WebCore::CoreTextController::CoreTextController):
13561 (WebCore::CoreTextController::offsetForPosition):
13562 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
13563 run into subruns as necessary such that each subrun can be rendered with
13564 a single font. Also separates out soft hyphens and replaces them with
13565 real hyphens, because Core Text does not emit a glyph for soft hyphens.
13566 Then calls collectCoreTextRunsForCharacters() on each subrun.
13567 (WebCore::CoreTextController::advance):
13568 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
13569 a CTLine from the given subrun and collects its CoreTextRuns.
13570 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
13571 rounding hacks, letter- and word-spacing and glyph substitutions and
13572 stores the resulting adjusted glyphs and advances.
13573 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
13574 (WebCore::CoreTextController::totalWidth):
13575 (WebCore::CoreTextController::finalRoundingWidth):
13576 (WebCore::CoreTextController::CoreTextRun::ctRun):
13577 (WebCore::CoreTextController::CoreTextRun::glyphCount):
13578 (WebCore::CoreTextController::CoreTextRun::fontData):
13579 (WebCore::CoreTextController::CoreTextRun::characters):
13580 (WebCore::CoreTextController::CoreTextRun::stringLocation):
13581 (WebCore::CoreTextController::CoreTextRun::stringLength):
13582 (WebCore::CoreTextController::CoreTextRun::indexAt):
13583 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
13584 FontMacATSUI.mm.
13585 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
13586 (WebCore::disableLigatures): Changed to call
13587 FontPlatformData::allowsLigatures().
13588 (WebCore::overrideLayoutOperation): Changed to call
13589 FontPlatformData::roundsGlyphAdvances().
13590 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
13591 (WebCore::Font::selectionRectForComplexText): Changed to use
13592 totalWidth() instead of advancing to the end and using runWidthSoFar().
13593 (WebCore::Font::drawComplexText):
13594 (WebCore::Font::floatWidthForComplexText): Ditto.
13595 (WebCore::Font::offsetForPositionForComplexText):
13596 * platform/graphics/mac/FontPlatformData.h:
13597 * platform/graphics/mac/FontPlatformDataMac.mm:
13598 (WebCore::FontPlatformData::setFont):
13599 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
13600 AppKit rendering mode.
13601 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
13602 heuristic that allows ligatures in fonts that do not have a glyph for
13603 'a', based on the assumption that such fonts are only used in complex
13604 text.
13605 * platform/graphics/mac/SimpleFontDataMac.mm:
13606 (WebCore::SimpleFontData::platformInit):
13607 (WebCore::SimpleFontData::platformDestroy):
13608 (WebCore::SimpleFontData::getCTFont): Added.
13609 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
13610 returns an attributes dictionary.
13611 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
13612 * platform/text/mac/ShapeArabic.h: Ditto.
13613
136142008-09-06 Dan Bernstein <mitz@apple.com>
13615
13616 Reviewed by Dave Hyatt.
13617
mitz@apple.com046bf642008-09-06 08:31:02 +000013618 - make combining mark offsets work in CG text on Windows
13619
13620 * platform/graphics/win/FontCGWin.cpp:
13621 (WebCore::Font::drawGlyphs): The old code tried to translate the text
13622 matrix, but failed for two reasons: it did not actually change the
13623 matrix, and even if it did, CGContextSetTextPosition overwrites the
13624 translation values in the text matrix. Instead, just added the
13625 translation to the anchor point.
13626
alp@webkit.org369cdca2008-09-06 04:08:30 +0000136272008-09-05 Gustavo Noronha Silva <gns@gnome.org>
13628
13629 Reviewed by Alp Toker.
13630
13631 https://bugs.webkit.org/show_bug.cgi?id=18346
13632 [GTK] Remove build warnings
13633
13634 Applied some casts, and removed an unused typedef to make the
13635 compiler happy, printing less warnings when building.
13636
13637 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
13638 * platform/graphics/gtk/SimpleFontDataPango.cpp:
13639 (WebCore::SimpleFontData::containsCharacters):
13640 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
13641 (webkit_video_sink_set_caps):
13642 * platform/network/soup/ResourceHandleSoup.cpp:
13643
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000136442008-09-05 Eric Seidel <eric@webkit.org>
13645
eric@webkit.org5ac37902008-09-06 00:21:58 +000013646 Reviewed by Adam Roben.
13647
13648 Build fix for WebKitWin and Chromium
13649
13650 * platform/FileSystem.h:
13651
136522008-09-05 Eric Seidel <eric@webkit.org>
13653
eric@webkit.org3cb292c2008-09-05 22:17:56 +000013654 Reviewed by Darin Adler.
13655
13656 Try to make Chromium compile with ToT:
13657 - Wrap a few places which depend on KJS:: in #if USE(JSC)
13658 - Include some windows forward declarations
13659
13660 * dom/Node.h:
13661 * page/Console.h:
13662 * page/animation/CompositeAnimation.h:
13663 * platform/FileSystem.h:
13664 * platform/graphics/Image.h:
13665 * platform/text/AtomicString.h:
13666 * platform/text/String.cpp:
13667 * rendering/style/RenderStyle.h:
13668
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000136692008-09-05 Dave Hyatt <hyatt@apple.com>
13670
13671 Add support for runtime switchability of the Aqua look and the native look on Windows.
13672 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
13673
13674 Reviewed by Adam Roben
13675
13676 * WebCore.vcproj/WebCore.vcproj:
13677 * page/Settings.cpp:
13678 (WebCore::Settings::setShouldPaintNativeControls):
13679 * page/Settings.h:
13680 (WebCore::Settings::shouldPaintNativeControls):
13681 * rendering/RenderThemeSafari.cpp:
13682 (WebCore::theme):
13683 * rendering/RenderThemeWin.cpp:
13684
antti@apple.combced97f2008-09-05 18:52:05 +0000136852008-09-05 Antti Koivisto <antti@apple.com>
13686
13687 Qt build fix.
13688
13689 * svg/SVGFEImageElement.cpp:
13690 (WebCore::SVGFEImageElement::build):
13691
aroben@apple.comca0c3362008-09-05 15:33:28 +0000136922008-09-05 Dirk Schulze <vbs85@gmx.de>
13693
13694 Gtk build fix
13695
13696 * GNUmakefile.am:
13697
antti@apple.com72e4a842008-09-05 09:28:11 +0000136982008-09-05 Antti Koivisto <antti@apple.com>
13699
antti@apple.com49e46662008-09-05 10:36:59 +000013700 Another build fix.
13701
13702 * svg/SVGFEImageElement.cpp:
13703 (WebCore::SVGFEImageElement::notifyFinished):
13704
137052008-09-05 Antti Koivisto <antti@apple.com>
13706
antti@apple.comfeec2582008-09-05 10:03:39 +000013707 Build fixes.
13708
13709 * WebCore.xcodeproj/project.pbxproj:
13710 * svg/graphics/filters/SVGFEImage.cpp:
13711 (WebCore::FEImage::cachedImage):
13712
137132008-09-05 Antti Koivisto <antti@apple.com>
13714
darin@apple.com07c80c62008-09-05 18:15:43 +000013715 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000013716
13717 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
13718 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
13719
13720 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
13721 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
13722 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
13723 we avoid re-decoding resources, especially images.
13724
13725 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
13726 CacheControl: max-age=0 header. That would be added in reload case.
13727
13728 The approach for revalidation is to kick the original resource out from the memory cache
13729 and create a new CachedResource that represents the revalidation request. In case
13730 we get 304 back for the request we put the original resource back to the cache, update
13731 its expiration date and switch the clients registered to revalidation resource to be
13732 clients of the original resource.
13733
13734 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
13735 This allows updating the handles to point to the original resource when the revalidation succeeds. It
13736 also acts as refcounting smart pointer.
13737
13738 * WebCore.pro:
13739 * WebCore.vcproj/WebCore.vcproj:
13740 * WebCore.xcodeproj/project.pbxproj:
13741 * css/CSSFontFaceSource.h:
13742 * css/CSSImportRule.h:
13743 * dom/Clipboard.h:
13744 (WebCore::Clipboard::dragImage):
13745 * dom/ProcessingInstruction.h:
13746 * dom/ScriptElement.h:
13747 * dom/XMLTokenizer.cpp:
13748 (WebCore::XMLTokenizer::isWaitingForScripts):
13749 * dom/XMLTokenizer.h:
13750 * html/HTMLImageLoader.cpp:
13751 (WebCore::HTMLImageLoader::setImage):
13752 (WebCore::HTMLImageLoader::updateFromElement):
13753 (WebCore::HTMLImageLoader::notifyFinished):
13754 * html/HTMLImageLoader.h:
13755 (WebCore::HTMLImageLoader::image):
13756 * html/HTMLLinkElement.h:
13757 * html/HTMLTokenizer.cpp:
13758 (WebCore::HTMLTokenizer::reset):
13759 (WebCore::HTMLTokenizer::scriptHandler):
13760 (WebCore::HTMLTokenizer::notifyFinished):
13761 * html/HTMLTokenizer.h:
13762 * loader/Cache.cpp:
13763 (WebCore::Cache::revalidateResource):
13764 (WebCore::Cache::revalidationSucceeded):
13765 (WebCore::Cache::revalidationFailed):
13766 * loader/Cache.h:
13767 * loader/CachedResource.cpp:
13768 (WebCore::CachedResource::CachedResource):
13769 (WebCore::CachedResource::~CachedResource):
13770 (WebCore::CachedResource::isExpired):
13771 (WebCore::CachedResource::setResponse):
13772 (WebCore::CachedResource::deleteIfPossible):
13773 (WebCore::CachedResource::setResourceToRevalidate):
13774 (WebCore::CachedResource::clearResourceToRevalidate):
13775 (WebCore::CachedResource::switchClientsToRevalidatedResource):
13776 (WebCore::CachedResource::canUseCacheValidator):
13777 (WebCore::CachedResource::mustRevalidate):
13778 * loader/CachedResource.h:
13779 (WebCore::CachedResource::canDelete):
13780 (WebCore::CachedResource::registerHandle):
13781 (WebCore::CachedResource::unregisterHandle):
13782 (WebCore::CachedResource::isCacheValidator):
13783 (WebCore::CachedResource::resourceToRevalidate):
13784 (WebCore::CachedResource::setExpirationDate):
13785 * loader/CachedResourceHandle.cpp: Added.
13786 (WebCore::CachedResourceHandleBase::setResource):
13787 * loader/CachedResourceHandle.h: Added.
13788 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
13789 (WebCore::CachedResourceHandleBase::get):
13790 (WebCore::CachedResourceHandleBase::operator!):
13791 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
13792 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
13793 (WebCore::CachedResourceHandleBase::operator=):
13794 (WebCore::CachedResourceHandle::CachedResourceHandle):
13795 (WebCore::CachedResourceHandle::get):
13796 (WebCore::CachedResourceHandle::operator->):
13797 (WebCore::CachedResourceHandle::operator=):
13798 (WebCore::CachedResourceHandle::operator==):
13799 (WebCore::CachedResourceHandle::operator!=):
13800 (WebCore::operator==):
13801 (WebCore::operator!=):
13802 * loader/DocLoader.cpp:
13803 (WebCore::DocLoader::checkForReload):
13804 * loader/UserStyleSheetLoader.h:
13805 * loader/loader.cpp:
13806 (WebCore::Loader::Host::servePendingRequests):
13807 (WebCore::Loader::Host::didFinishLoading):
13808 (WebCore::Loader::Host::didFail):
13809 (WebCore::Loader::Host::didReceiveResponse):
13810 (WebCore::Loader::Host::didReceiveData):
13811 * page/EventHandler.cpp:
13812 (WebCore::EventHandler::selectCursor):
13813 * rendering/RenderImage.cpp:
13814 (WebCore::RenderImage::setCachedImage):
13815 (WebCore::RenderImage::imageChanged):
13816 * rendering/RenderImage.h:
13817 (WebCore::RenderImage::cachedImage):
13818 (WebCore::RenderImage::imagePtr):
13819 * rendering/style/RenderStyle.h:
13820 * rendering/style/StyleCachedImage.h:
13821 (WebCore::StyleCachedImage::data):
13822 (WebCore::StyleCachedImage::cachedImage):
13823 * svg/SVGFEImageElement.h:
13824 * svg/graphics/filters/SVGFEImage.h:
13825 * xml/XSLImportRule.h:
13826
beidson@apple.comab60d982008-09-05 04:58:12 +0000138272008-09-04 Brady Eidson <beidson@apple.com>
13828
13829 Reviewed by Mitz
13830
13831 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
13832
13833 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
13834 to model default NSURLRequest behavior in a cross-platform manner.
13835
13836 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
13837 client that wished to enforce a much larger default timeout using NSURLRequest API.
13838
13839 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
13840 behavior on the web and this restores previous Safari/WebKit behavior.
13841
13842 It would be easy to write a layout test for this, but to be effective it would have
13843 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
13844
13845 * manual-tests/timeout-test.html: Added.
13846 * manual-tests/timeout-test.php: Added.
13847
13848 * platform/network/ResourceRequestBase.h:
13849 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
13850 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
13851 * platform/network/mac/ResourceRequestMac.mm:
13852 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
13853 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
13854 WebKit applications to enforce their own default timeout.
13855
mitz@apple.com20268542008-09-05 04:26:32 +0000138562008-09-04 Dan Bernstein <mitz@apple.com>
13857
13858 Reviewed by Beth Dakin.
13859
13860 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
13861
13862 Test: fast/repaint/button-spurious-layout-hint.html
13863
13864 * rendering/RenderButton.cpp:
13865 (WebCore::RenderButton::setStyle): Reset the inner block's style box
13866 flex to 0 to avoid getting a spurious layout hint.
13867
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000138682008-09-04 Kevin Ollivier <kevino@theolliviers.com>
13869
13870 wx build fixes.
13871
13872 * WebCoreSources.bkl:
13873 * bindings/js/ScriptControllerWx.cpp: Added.
13874 (WebCore::ScriptController::createScriptInstanceForWidget):
13875 * page/wx/AccessibilityObjectWx.cpp: Added.
13876 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13877 * platform/graphics/wx/GraphicsContextWx.cpp:
13878 * webcore-base.bkl:
13879 * webcore-wx.bkl:
13880
mitz@apple.com95a87502008-09-04 23:27:19 +0000138812008-09-04 Dan Bernstein <mitz@apple.com>
13882
13883 Reviewed by Mark Rowe.
13884
13885 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
13886 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
13887 require a different approach
13888
13889 * css/CSSGrammar.y:
13890
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000138912008-09-04 Mark Rowe <mrowe@apple.com>
13892
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000013893 Reviewed by Eric Seidel.
13894
13895 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
13896 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
13897
13898 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
13899 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
13900 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
13901
139022008-09-04 Mark Rowe <mrowe@apple.com>
13903
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000013904 Mac build fix.
13905
13906 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
13907
eric@webkit.org0716a542008-09-04 20:44:12 +0000139082008-09-04 Eric Seidel <eric@webkit.org>
13909
13910 Build fix only, no review.
13911
13912 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
13913
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000139142008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
13915
13916 Reviewed by Eric Seidel.
13917
13918 http://bugs.webkit.org/show_bug.cgi?id=20380
13919 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
13920
13921 * config.h: Include the configuration header generated by autotools if
13922 available.
13923
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000139242008-09-04 Dan Bernstein <mitz@apple.com>
13925
13926 Rubber-stamped by Dave Hyatt.
13927
13928 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
13929
13930 * loader/CachedFont.cpp:
13931 (WebCore::CachedFont::allClientsRemoved):
13932 * loader/CachedFont.h:
13933 * loader/CachedImage.cpp:
13934 (WebCore::CachedImage::allClientsRemoved):
13935 * loader/CachedImage.h:
13936 * loader/CachedResource.cpp:
13937 (WebCore::CachedResource::removeClient):
13938 * loader/CachedResource.h:
13939 (WebCore::CachedResource::allClientsRemoved):
13940
aroben@apple.com0da404d2008-09-04 16:09:33 +0000139412008-09-04 Adam Roben <aroben@apple.com>
13942
aroben@apple.comdd3861a2008-09-04 16:09:53 +000013943 Windows build fix after r36071
13944
13945 We were getting these errors:
13946
13947 error C2356: initialization segment must not change during translation
13948 unit
13949
13950 This was happening because multiple files #included by
13951 DerivedSources.cpp were themselves #including StaticConstructors.h. I
13952 fixed the error by adding header guards to StaticConstructors.h so its
13953 contents will only be included once.
13954
13955 But it's also not a good idea for StaticConstructors.h to end up in
13956 DerivedSources.cpp, since it ends up "polluting" all the source files
13957 we have in there. So I removed all the files that include
13958 StaticConstructors.h and added some preprocessor directives to
13959 DerivedSources.cpp to catch this error in the future.
13960
13961 * DerivedSources.cpp: Removed the *Names.cpp files, which include
13962 StaticConstructors.h, and added some preprocessor directives to make
13963 sure we don't end up accidentally including StaticConstructors.h in
13964 the future.
13965 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
13966 * platform/StaticConstructors.h: Added header guards.
13967
139682008-09-04 Adam Roben <aroben@apple.com>
13969
aroben@apple.com0da404d2008-09-04 16:09:33 +000013970 Windows build fix
13971
13972 * platform/graphics/win/FontPlatformData.h: Added a missing #include
13973 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
13974 * platform/text/PlatformString.h: Added a missing #include of
13975 PassRefPtr.h.
13976
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000139772008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
13978
13979 Reviewed by Simon.
13980
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000013981 Fix the QtWebKit build to match changes in r36016
13982
13983 * WebCore.pro:
13984 * bridge/qt/qt_instance.cpp:
13985 (KJS::Bindings::QtInstance::getRuntimeObject):
13986 * bridge/qt/qt_runtime.cpp:
13987 (KJS::Bindings::convertQVariantToValue):
13988 (KJS::Bindings::QtConnectionObject::execute):
13989
139902008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
13991
13992 Reviewed by Simon.
13993
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000013994 Re-enable support for user stylesheets in QtWebKit
13995
13996 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
13997 code path, which allows us to keep API support for
13998 loading user style sheets from remote URLs.
13999
14000 As part of the change UserStyleSheetLoader.cpp/h was
14001 moved from WebCore/loader/mac to WebCore/loader.
14002
14003 * WebCore.pro:
14004 * WebCore.xcodeproj/project.pbxproj:
14005 * dom/Document.h:
14006 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
14007 (UserStyleSheetLoader::UserStyleSheetLoader):
14008 (UserStyleSheetLoader::~UserStyleSheetLoader):
14009 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
14010 * page/qt/FrameQt.cpp:
14011 (WebCore::Frame::setUserStyleSheetLocation):
14012 (WebCore::Frame::setUserStyleSheet):
14013
alp@webkit.org539ff852008-09-04 09:14:42 +0000140142008-09-04 Alp Toker <alp@nuanti.com>
14015
14016 Reviewed by Eric.
14017
14018 Remove left-over QT and CAIRO platform checks.
14019
14020 * html/CanvasRenderingContext2D.cpp:
14021
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000140222008-09-04 Eric Seidel <eric@webkit.org>
14023
14024 Reviewed by Mark Rowe.
14025
mitz@apple.com9388d252008-09-04 08:58:58 +000014026 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000014027
14028 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
14029
mitz@apple.com89557c52008-09-04 07:26:53 +0000140302008-09-04 Dan Bernstein <mitz@apple.com>
14031
14032 Reviewed by Dave Hyatt.
14033
14034 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
14035 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
14036
14037 * rendering/RenderBlock.cpp:
14038 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
14039 positioned movement only case, call
14040 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
14041 layout if that fails.
14042 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
14043 * rendering/RenderBox.h:
14044 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
14045 layoutDoingPositionedMovementOnly to this, and made this function
14046 check if the width changed. If it did, return, leaving the object
14047 dirty. The caller can then call layout(). The width can change even
14048 in the "positioned movement only" case if the object is shrink-to-fit
14049 and the available width constraint is met. (This was the case in the
14050 bug).
14051 * rendering/RenderObject.h:
14052 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
14053 Renamed layoutDoingPositionedMovementOnly() to this.
14054
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000140552008-09-03 Eric Seidel <eric@webkit.org>
14056
14057 No review, build fix only.
14058
14059 Attempt to fix the Qt build.
14060
14061 * WebCore.pro: add page/animation to include path
14062
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000140632008-09-03 Mark Rowe <mrowe@apple.com>
14064
14065 Mac build fix. Correctly detect whether dashboard support is enabled.
14066
14067 * DerivedSources.make:
14068
eric@webkit.org3eefe672008-09-04 01:32:26 +0000140692008-09-03 Eric Seidel <eric@webkit.org>
14070
14071 Reviewed by Sam.
14072
eric@webkit.org5e069092008-09-04 01:32:51 +000014073 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
14074
14075 * Configurations/WebCore.xcconfig: add missing ENABLE_*
14076 * config.h: add rules for V8_BINDINGS
14077
140782008-09-03 Eric Seidel <eric@webkit.org>
14079
14080 Reviewed by Sam.
14081
eric@webkit.org3eefe672008-09-04 01:32:26 +000014082 https://bugs.webkit.org/show_bug.cgi?id=20620
14083
14084 Add #if USE(JSC) around KJS dependencies
14085 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
14086 1. Most platforms have it on anyway
14087 2. V8 is going to want to share some of that code
14088 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
14089
14090 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
14091 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
14092 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14093 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14094 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14095 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14096 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14097 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14098 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
14099 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
14100 * platform/text/AtomicString.cpp: add USE(JSC)
14101 * platform/text/AtomicString.h: add USE(JSC)
14102 * platform/text/PlatformString.h: add USE(JSC)
14103 * platform/text/String.cpp: add USE(JSC)
14104 * platform/text/StringImpl.cpp: add USE(JSC)
14105 * platform/text/StringImpl.h: add USE(JSC)
14106
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000141072008-09-03 Dean McNamee <deanm@chromium.org>
14108
14109 Reviewed by Darin Adler.
14110
14111 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
14112 Bug 20511: Remove static initializers on Windows
14113
14114 Avoid static initializers on Windows by forcing Visual C++ to put
14115 all static initializers in a code segment that is never executed.
14116
14117 * config.h:
14118 * css/MediaFeatureNames.cpp:
14119 * dom/EventNames.cpp:
14120 * dom/QualifiedName.cpp:
14121 * dom/make_names.pl:
14122 * platform/StaticConstructors.h:
14123 * platform/text/AtomicString.cpp:
14124
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000141252008-09-03 Dirk Schulze <vbs85@gmx.de>
14126
14127 Reviewed by Dave Hyatt.
14128
14129 Make FontCairo draw TextStroke and TextFill separately.
14130
14131 [CAIRO] draw TextFill and TextStroke separately.
14132 [https://bugs.webkit.org/show_bug.cgi?id=20631]
14133
14134 * platform/graphics/cairo/FontCairo.cpp:
14135 (WebCore::Font::drawGlyphs):
14136
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000141372008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000014138
14139 Reviewed by Dave Hyatt.
14140
14141 https://bugs.webkit.org/show_bug.cgi?id=19663
14142 Account for paint and timer lag when animating images. Also pretend
14143 that images whose animations were paused (by becoming invisible)
14144 continued to animate, by "catching up" to the correct frame when they're
14145 shown again.
14146
14147 * platform/graphics/BitmapImage.cpp:
14148 (WebCore::BitmapImage::BitmapImage):
14149 (WebCore::BitmapImage::startAnimation):
14150 (WebCore::BitmapImage::advanceAnimation):
14151 (WebCore::BitmapImage::internalAdvanceAnimation):
14152 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
14153 * platform/graphics/BitmapImage.h:
14154 * platform/graphics/cairo/ImageCairo.cpp:
14155 (WebCore::BitmapImage::draw):
14156 * platform/graphics/cg/ImageCG.cpp:
14157 (WebCore::BitmapImage::draw):
14158 * platform/graphics/qt/ImageQt.cpp:
14159 (WebCore::BitmapImage::draw):
14160 * platform/graphics/wx/ImageWx.cpp:
14161 (WebCore::BitmapImage::draw):
14162
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000141632008-09-03 Kevin McCullough <kmccullough@apple.com>
14164
14165 Reviewed by Tim.
14166
14167 Remove the rest of the "zombie" code from the profiler.
14168 - There is no longer a need for the ProfilerClient callback mechanism.
14169
14170 * page/Console.cpp:
14171 (WebCore::Console::Console):
14172 (WebCore::Console::profile):
14173 (WebCore::Console::profileEnd): Move the variables from the header to
14174 here since we don't have to wait for a callback to use them.
14175 * page/Console.h:
14176 * page/InspectorController.cpp:
14177 (WebCore::InspectorController::startUserInitiatedProfiling):
14178 (WebCore::InspectorController::stopUserInitiatedProfiling):
14179 * page/InspectorController.h:
14180
adachan@apple.com38c66182008-09-03 21:43:44 +0000141812008-09-03 Ada Chan <adachan@apple.com>
14182
14183 Windows build fix.
14184
14185 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
14186
dino@apple.com5c917622008-09-03 21:15:53 +0000141872008-09-01 Dean Jackson <dino@apple.com>
14188
14189 Reviewed by Dave Hyatt.
14190
14191 https://bugs.webkit.org/show_bug.cgi?id=20594
14192 Add DOM interfaces for WebKitCSSKeyframeRule
14193 and WebKitCSSKeyframesRule.
14194
14195 TEST: LayoutTests/css3/keyframes-rule.html
14196
14197 * css/WebKitCSSKeyframeRule.idl: Added
14198 * css/WebKitCSSKeyframesRule.idl: Added
14199
14200 * bindings/js/JSCSSRuleCustom.cpp:
14201 (WebCore::toJS):
14202 Add return of new JS Keyframe rules
14203 * bindings/objc/DOMInternal.h:
14204 Include new internal header
14205
14206 * DerivedSources.make:
14207 * GNUmakefile.am:
14208 * WebCore.pro:
14209 * WebCore.vcproj/WebCore.vcproj:
14210 * WebCore.xcodeproj/project.pbxproj:
14211 * WebCoreSources.bkl:
14212 Build configs for new files
14213
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000142142008-09-03 Adam Roben <aroben@apple.com>
14215
14216 Windows build fix
14217
14218 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
14219 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
14220 convenience/consistency.
14221
adele@apple.com27713582008-09-03 20:13:41 +0000142222008-09-03 Adele Peterson <adele@apple.com>
14223
14224 Build fix.
14225
14226 * WebCore.vcproj/WebCore.vcproj:
14227
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000142282008-09-03 David Hyatt <hyatt@apple.com>
14229
14230 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
14231
14232 Reviewed by Darin (ages ago)
14233
14234 Added fast/block/float/clamped-right-float.html
14235
14236 * rendering/RenderBlock.cpp:
14237 (WebCore::RenderBlock::positionNewFloats):
14238
hyatt@apple.comafe62052008-09-03 18:13:39 +0000142392008-09-02 David Hyatt <hyatt@apple.com>
14240
14241 Add support for canvas text drawing APIs.
14242
14243 Reviewed by olliej
14244
14245 Tests added as fast/canvas/canvas-text-*.html
14246
14247 * DerivedSources.make:
14248 * WebCore.xcodeproj/project.pbxproj:
14249 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
14250 (WebCore::JSCanvasRenderingContext2D::fillText):
14251 (WebCore::JSCanvasRenderingContext2D::strokeText):
14252 * css/CSSStyleSelector.cpp:
14253 (WebCore::CSSStyleSelector::initForStyleResolve):
14254 (WebCore::CSSStyleSelector::applyPropertyToStyle):
14255 * css/CSSStyleSelector.h:
14256 * html/CanvasRenderingContext2D.cpp:
14257 (WebCore::CanvasRenderingContext2D::State::State):
14258 (WebCore::CanvasRenderingContext2D::font):
14259 (WebCore::CanvasRenderingContext2D::setFont):
14260 (WebCore::CanvasRenderingContext2D::textAlign):
14261 (WebCore::CanvasRenderingContext2D::setTextAlign):
14262 (WebCore::CanvasRenderingContext2D::textBaseline):
14263 (WebCore::CanvasRenderingContext2D::setTextBaseline):
14264 (WebCore::CanvasRenderingContext2D::fillText):
14265 (WebCore::CanvasRenderingContext2D::strokeText):
14266 (WebCore::CanvasRenderingContext2D::measureText):
14267 (WebCore::CanvasRenderingContext2D::drawTextInternal):
14268 (WebCore::CanvasRenderingContext2D::accessFont):
14269 * html/CanvasRenderingContext2D.h:
14270 * html/CanvasRenderingContext2D.idl:
14271 * html/TextMetrics.h: Added.
14272 (WebCore::TextMetrics::create):
14273 (WebCore::TextMetrics::width):
14274 (WebCore::TextMetrics::setWidth):
14275 (WebCore::TextMetrics::TextMetrics):
14276 * html/TextMetrics.idl: Added.
14277 * platform/graphics/Font.cpp:
14278 (WebCore::Font::lineGap):
14279 * platform/graphics/Font.h:
14280 * platform/graphics/GraphicsContext.cpp:
14281 (WebCore::GraphicsContext::drawBidiText):
14282 * platform/graphics/GraphicsContext.h:
14283 * platform/graphics/GraphicsTypes.cpp:
14284 (WebCore::textAlignName):
14285 (WebCore::parseTextAlign):
14286 (WebCore::textBaselineName):
14287 (WebCore::parseTextBaseline):
14288 * platform/graphics/GraphicsTypes.h:
14289 (WebCore::):
14290
sullivan@apple.combc066af2008-09-03 17:37:24 +0000142912008-09-03 John Sullivan <sullivan@apple.com>
14292
14293 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
14294
14295 Fixed by Darin, reviewed by me
14296
14297 * page/animation/AnimationBase.cpp:
14298 (WebCore::AnimationBase::propertiesEqual):
14299 added ensurePropertyMap() to this static function
14300 (WebCore::AnimationBase::getPropertyAtIndex):
14301 ditto
14302 (WebCore::AnimationBase::getNumProperties):
14303 ditto
14304
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000143052008-09-03 Kevin McCullough <kmccullough@apple.com>
14306
14307 Reviewed by Darin and Tim.
14308
14309 Remove most of the "zombie" mode from the profiler. Next we will need
14310 to remove the client callback mechanism in profiles.
14311 - These changes are a result of changes to JSCore.
14312
14313 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
14314 * page/Console.cpp:
14315 (WebCore::retrieveLastCaller):
14316 (WebCore::Console::profileEnd):
14317 * page/InspectorController.cpp:
14318 (WebCore::InspectorController::stopUserInitiatedProfiling):
14319
adele@apple.com643616b2008-09-03 16:57:58 +0000143202008-09-03 Adele Peterson <adele@apple.com>
14321
14322 Reviewed by Darin Adler.
14323
14324 Test: fast/forms/search-display-none-cancel-button.html
14325
14326 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
14327
14328 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
14329
14330 * rendering/RenderTextControl.cpp:
14331 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
14332 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
14333 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
14334 (WebCore::RenderTextControl::createSubtreeIfNeeded):
14335 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
14336 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
14337 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
14338 (WebCore::RenderTextControl::calcHeight): ditto.
14339 (WebCore::RenderTextControl::nodeAtPoint): ditto.
14340 (WebCore::RenderTextControl::layout): ditto.
14341 (WebCore::RenderTextControl::calcPrefWidths): ditto.
14342 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
14343 (WebCore::RenderTextControl::clientPaddingRight): ditto.
14344
14345 * rendering/TextControlInnerElements.cpp:
14346 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
14347 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
14348 (WebCore::TextControlInnerElement::attachInnerElement): Added.
14349 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
14350 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
14351 * rendering/TextControlInnerElements.h:
14352
ap@webkit.orgacd84142008-09-03 08:08:19 +0000143532008-08-28 Alexey Proskuryakov <ap@webkit.org>
14354
14355 Reviewed by Maciej.
14356
14357 Elminate SQLiteAuthorizer class.
14358
14359 * WebCore.xcodeproj/project.pbxproj:
14360 * WebCore.vcproj/WebCore.vcproj:
14361 * GNUmakefile.am
14362 Removed SQLiteAuthorizer.h.
14363
14364 * platform/sql/SQLiteAuthorizer.cpp:
14365 * platform/sql/SQLiteAuthorizer.h: Removed.
14366 * platform/sql/SQLiteDatabase.cpp:
14367 (WebCore::SQLiteDatabase::authorizerFunction):
14368 (WebCore::SQLiteDatabase::setAuthorizer):
14369 * platform/sql/SQLiteDatabase.h:
14370 * storage/DatabaseAuthorizer.h:
14371 (WebCore::DatabaseAuthorizer::create):
14372 (WebCore::DatabaseAuthorizer::createView):
14373 (WebCore::DatabaseAuthorizer::createTempView):
14374 (WebCore::DatabaseAuthorizer::dropView):
14375 (WebCore::DatabaseAuthorizer::dropTempView):
14376 (WebCore::DatabaseAuthorizer::allowSelect):
14377 (WebCore::DatabaseAuthorizer::allowReindex):
14378 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
14379
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000143802008-09-03 Dirk Schulze <vbs85@gmx.de>
14381
14382 Reviewed by Mark Rowe.
14383
14384 WebKitGtk build fix.
14385
14386 * GNUmakefile.am:
14387 * page/animation/AnimationController.h:
14388
mrowe@apple.come344ad02008-09-03 06:59:03 +0000143892008-09-02 Robert Blaut <webkit@blaut.biz>
14390
14391 Reviewed by Geoff Garen.
14392
14393 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
14394 Misplaced elements should not close DL lists.
14395
14396 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
14397
14398 * html/HTMLParser.cpp:
14399 (WebCore::HTMLParser::handleError):
14400
mrowe@apple.com7a909462008-09-03 06:51:31 +0000144012008-09-02 Glenn Wilson <wilsong@gmail.com>
14402
14403 Reviewed by Darin Adler.
14404
14405 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
14406 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
14407
14408 We would inappropriately interpret and apply an invalid CSS "color" property
14409 when the value is a predefined color preceded by a '#' symbol. For example,
14410 style="color:#gray;" would apply the color gray when it should not.
14411
14412 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
14413 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
14414 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
14415 an ignorable token.
14416
14417 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
14418 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
14419 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
14420
14421 Test: css1/color_and_background/invalid_color.html
14422
14423 * css/CSSGrammar.y:
14424
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000144252008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
14426
14427 Reviewed by Darin Adler.
14428
14429 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
14430 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
14431
14432 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
14433
14434 Test: css3/khtml-background-size-0x0-bmp.html
14435
14436 * rendering/RenderBox.cpp:
14437 (WebCore::RenderBox::repaintLayerRectsForImage):
14438
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000144392008-09-02 Glenn Wilson <wilsong@gmail.com>
14440
14441 Reviewed by Eric Seidel.
14442
14443 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
14444 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
14445
14446 The function checkForOrphanedUnits() would change the length of a list whose size was
14447 was already determined before the call to checkForOrphanedUnits was made. Later in
14448 the caller, the old size was being used for boundary management.
14449
14450 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
14451 calling function, before the size of the list is determined.
14452
14453 Test: fast/css/orphaned_units_crash.html
14454
14455 * css/CSSParser.cpp:
14456 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
14457
mrowe@apple.com170bd522008-09-03 05:49:51 +0000144582008-09-02 Dirk Schulze <vbs85@gmx.de>
14459
14460 Reviewed by Darin Adler.
14461
mrowe@apple.comeb877a52008-09-03 06:01:15 +000014462 Fallback on invalid fill or stroke styles in Canvas was
14463 transparent black. Changed it to last valid style.
14464
14465 Canvas fillStyle() and strokeStyle() needs fallback
14466 https://bugs.webkit.org/show_bug.cgi?id=20474
14467
14468 Tests: fast/canvas/canvas-invalid-fillstyle.html
14469 fast/canvas/canvas-invalid-strokestyle.html
14470
14471 * html/CanvasStyle.cpp:
14472 (WebCore::CanvasStyle::applyStrokeColor):
14473 (WebCore::CanvasStyle::applyFillColor):
14474
144752008-09-02 Dirk Schulze <vbs85@gmx.de>
14476
14477 Reviewed by Darin Adler.
14478
mrowe@apple.com170bd522008-09-03 05:49:51 +000014479 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
14480 Updated drawImage() in canvas to match the current specification.
14481
14482 Test: fast/canvas/drawImage-with-negative-source-destination.html
14483
14484 * html/CanvasRenderingContext2D.cpp:
14485 (WebCore::normalizeRect):
14486 (WebCore::CanvasRenderingContext2D::drawImage):
14487
mrowe@apple.com96916d12008-09-03 05:41:44 +0000144882008-08-26 Mark Rowe <mrowe@apple.com>
14489
14490 Reviewed by Darin Adler.
14491
14492 <rdar://problem/5768210> Switch back to the system version of SQLite
14493
14494 Use the system version of SQLite when it is new enough to provide the functionality
14495 that WebCore requires.
14496
14497 * Configurations/Base.xcconfig:
14498 * Configurations/DebugRelease.xcconfig:
14499 * Configurations/WebCore.xcconfig:
14500
mitz@apple.comce268c12008-09-03 02:59:00 +0000145012008-09-02 Dan Bernstein <mitz@apple.com>
14502
14503 - build fix
14504
14505 * page/animation/AnimationBase.h:
14506
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000145072008-09-02 Chris Marrin <cmarrin@apple.com>
14508
14509 Reviewed by Dave Hyatt.
14510
14511 AnimationController.cpp should be split into separate files
14512 https://bugs.webkit.org/show_bug.cgi?id=20604
14513
14514 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
14515 recommendation of Dave Hyatt.
14516
14517 * GNUmakefile.am:
14518 * WebCore.pro:
14519 * WebCore.vcproj/WebCore.vcproj:
14520 * WebCore.xcodeproj/project.pbxproj:
14521 * WebCoreSources.bkl:
14522 Build files.
14523
14524 * page/AnimationController.cpp: Removed.
14525 * page/AnimationController.h: Removed.
14526 * page/animation: Added.
14527 * page/animation/AnimationBase.cpp: Added.
14528 * page/animation/AnimationBase.h: Added.
14529 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
14530 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
14531 * page/animation/CompositeAnimation.cpp: Added.
14532 * page/animation/CompositeAnimation.h: Added.
14533 * page/animation/ImplicitAnimation.cpp: Added.
14534 * page/animation/ImplicitAnimation.h: Added.
14535 * page/animation/KeyframeAnimation.cpp: Added.
14536 * page/animation/KeyframeAnimation.h: Added.
14537
mitz@apple.comcb917a22008-09-03 00:57:37 +0000145382008-09-02 Dan Bernstein <mitz@apple.com>
14539
14540 - release build fix
14541
14542 * platform/graphics/cg/GraphicsContextCG.cpp:
14543 (WebCore::calculateDrawingMode):
14544
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000145452008-09-02 Timothy Hatcher <timothy@apple.com>
14546
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000014547 Make console functions log the correct resource URL and
14548 line number for where the call originated.
14549
14550 https://bugs.webkit.org/show_bug.cgi?id=17234
14551 <rdar://problem/5732837>
14552
14553 Reviewed by Kevin McCullough.
14554
14555 Test: manual-tests/inspector/console-call-line-numbers.html
14556
14557 * bindings/js/JSConsoleCustom.cpp:
14558 (WebCore::JSConsole::count): Call the impl.
14559 (WebCore::JSConsole::timeEnd): Ditto.
14560 * manual-tests/inspector/console-call-line-numbers.html: Added.
14561 * manual-tests/inspector/resources/script-console-calls.js: Added.
14562 * page/Console.cpp:
14563 (WebCore::retrieveLastCaller): Helper to get the URL and line.
14564 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
14565 line number to pass to addMessageToConsole.
14566 (WebCore::Console::info): Ditto.
14567 (WebCore::Console::log): Ditto.
14568 (WebCore::Console::assertCondition): Ditto.
14569 (WebCore::Console::count): Ditto.
14570 (WebCore::Console::timeEnd): Ditto.
14571 (WebCore::Console::warn): Ditto.
14572 * page/Console.h:
14573 * page/Console.idl: Make count and timeEnd custom.
14574
145752008-09-02 Timothy Hatcher <timothy@apple.com>
14576
timothy@apple.comf3aa7342008-09-02 21:30:26 +000014577 Removed IDL files from WebCore's framework resources.
14578
14579 * WebCore.xcodeproj/project.pbxproj:
14580
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000145812008-09-02 Dan Bernstein <mitz@apple.com>
14582
14583 Reviewed by Dave Hyatt.
14584
14585 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
14586
14587 * html/HTMLParser.cpp:
14588 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
14589 cap on the number of consecutive identical residual style tags to
14590 reopen.
14591 (WebCore::HTMLParser::popBlock): Ditto.
14592
ap@webkit.org879328b2008-09-02 16:16:06 +0000145932008-09-02 Alexey Proskuryakov <ap@webkit.org>
14594
14595 Reviewed by Adam Roben.
14596
14597 A little database quota management cleanup.
14598
14599 * storage/OriginQuotaManager.cpp:
14600 (WebCore::OriginQuotaManager::OriginQuotaManager):
14601 (WebCore::OriginQuotaManager::lock):
14602 (WebCore::OriginQuotaManager::unlock):
14603 (WebCore::OriginQuotaManager::trackOrigin):
14604 (WebCore::OriginQuotaManager::tracksOrigin):
14605 (WebCore::OriginQuotaManager::addDatabase):
14606 (WebCore::OriginQuotaManager::removeDatabase):
14607 (WebCore::OriginQuotaManager::removeOrigin):
14608 (WebCore::OriginQuotaManager::markDatabase):
14609 (WebCore::OriginQuotaManager::diskUsage):
14610 * storage/OriginQuotaManager.h:
14611 Changed to assert that a lock is taken more directly and reliably. Removed comments about
14612 main/background threads, as this is likely to stop being true with synchronous Database calls
14613 being made on worker threads.
14614
14615 * storage/OriginUsageRecord.cpp:
14616 (WebCore::OriginUsageRecord::OriginUsageRecord):
14617 (WebCore::OriginUsageRecord::addDatabase):
14618 (WebCore::OriginUsageRecord::removeDatabase):
14619 (WebCore::OriginUsageRecord::markDatabase):
14620 (WebCore::OriginUsageRecord::diskUsage):
14621 * storage/OriginUsageRecord.h:
14622 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
14623 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
14624 can be replaced with a single boolean for OriginUsageRecord.
14625 Added assertions for string parameters being unshared.
14626
14627
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000146282008-09-01 Adam Barth <abarth@webkit.org>
14629
14630 Reviewed by Sam Weinig.
14631
14632 https://bugs.webkit.org/show_bug.cgi?id=19760
14633
14634 Make granting LoadLocalResources conditional on a policy.
14635
14636 * WebCore.base.exp:
14637 * dom/Document.cpp:
14638 (WebCore::Document::initSecurityContext):
14639 * loader/FrameLoader.cpp:
14640 (WebCore::FrameLoader::setLocalLoadPolicy):
14641 (WebCore::FrameLoader::restrictAccessToLocal):
14642 * loader/FrameLoader.h:
14643 (WebCore::FrameLoader::):
14644 * platform/SecurityOrigin.cpp:
14645 (WebCore::SecurityOrigin::grantLoadLocalResources):
14646 * platform/SecurityOrigin.h:
14647
dino@apple.com6e2db502008-09-01 23:05:28 +0000146482008-09-01 Dean Jackson <dino@apple.com>
14649
dino@apple.com59ca9f52008-09-01 23:34:13 +000014650 Reviewed by Sam Weinig.
14651
14652 https://bugs.webkit.org/show_bug.cgi?id=20571
14653 Make sure Window object can assign Animation/Transition event
14654 listeners via attributes.
14655
14656 Also added a bunch of transition event tests, although
14657 only transition-end-event-window is directly relevant to this patch.
14658
14659 (WebCore::JSDOMWindowBase::put):
14660
14661 Tests: transitions/transition-end-event-all-properties.html
14662 transitions/transition-end-event-attributes.html
14663 transitions/transition-end-event-container.html
14664 transitions/transition-end-event-left.html
14665 transitions/transition-end-event-multiple-01.html
14666 transitions/transition-end-event-multiple-02.html
14667 transitions/transition-end-event-multiple-03.html
14668 transitions/transition-end-event-multiple-04.html
14669 transitions/transition-end-event-nested.html
14670 transitions/transition-end-event-transform.html
14671 transitions/transition-end-event-window.html
14672
146732008-09-01 Dean Jackson <dino@apple.com>
14674
dino@apple.com6e2db502008-09-01 23:05:28 +000014675 Reviewed by Sam Weinig
14676
14677 Code styling cleanup.
14678
14679 * bindings/js/JSDOMWindowBase.cpp:
14680 (WebCore::JSDOMWindowBase::getValueProperty):
14681 (WebCore::JSDOMWindowBase::put):
14682
weinig@apple.com3412bb42008-09-01 21:22:54 +0000146832008-09-01 Geoffrey Garen <ggaren@apple.com>
14684
14685 Reviewed by Darin Adler.
14686
14687 First cut at inline caching for access to vanilla JavaScript properties.
14688
14689 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
14690 to WebCore classes, and PutPropertySlot& arguments to put functions.
14691
14692 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
14693 inline caching for global properties, so global assignment can be optimized.
14694
14695 * ForwardingHeaders/kjs/StructureID.h: Added.
14696 * bindings/js/JSDOMBinding.h:
14697 (WebCore::DOMObject::DOMObject):
14698 * bindings/js/JSDOMWindowBase.cpp:
14699 (WebCore::JSDOMWindowBase::put):
14700 * bindings/js/JSDOMWindowBase.h:
14701 * bindings/js/JSDOMWindowCustom.h:
14702 (WebCore::JSDOMWindow::customPut):
14703 * bindings/js/JSDOMWindowShell.cpp:
14704 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
14705 (WebCore::JSDOMWindowShell::put):
14706 * bindings/js/JSDOMWindowShell.h:
14707 * bindings/js/JSEventTargetBase.h:
14708 (WebCore::JSEventTargetBase::put):
14709 * bindings/js/JSEventTargetNode.h:
14710 (WebCore::JSEventTargetNode::put):
14711 * bindings/js/JSHTMLAppletElementCustom.cpp:
14712 (WebCore::JSHTMLAppletElement::customPut):
14713 * bindings/js/JSHTMLEmbedElementCustom.cpp:
14714 (WebCore::JSHTMLEmbedElement::customPut):
14715 * bindings/js/JSHTMLInputElementBase.cpp:
14716 (WebCore::JSHTMLInputElementBase::put):
14717 * bindings/js/JSHTMLInputElementBase.h:
14718 * bindings/js/JSHTMLObjectElementCustom.cpp:
14719 (WebCore::JSHTMLObjectElement::customPut):
14720 * bindings/js/JSHistoryCustom.cpp:
14721 (WebCore::JSHistory::customPut):
14722 * bindings/js/JSInspectedObjectWrapper.cpp:
14723 (WebCore::JSInspectedObjectWrapper::wrap):
14724 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
14725 * bindings/js/JSInspectedObjectWrapper.h:
14726 * bindings/js/JSInspectorCallbackWrapper.cpp:
14727 (WebCore::JSInspectorCallbackWrapper::wrap):
14728 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
14729 * bindings/js/JSInspectorCallbackWrapper.h:
14730 * bindings/js/JSLocationCustom.cpp:
14731 (WebCore::JSLocation::customPut):
14732 * bindings/js/JSPluginElementFunctions.cpp:
14733 (WebCore::runtimeObjectCustomPut):
14734 * bindings/js/JSPluginElementFunctions.h:
14735 * bindings/js/JSQuarantinedObjectWrapper.cpp:
14736 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
14737 (WebCore::JSQuarantinedObjectWrapper::put):
14738 * bindings/js/JSQuarantinedObjectWrapper.h:
14739 * bindings/js/JSStorageCustom.cpp:
14740 (WebCore::JSStorage::customPut):
14741 * bindings/objc/WebScriptObject.mm:
14742 (-[WebScriptObject setValue:forKey:]):
14743 * bindings/scripts/CodeGeneratorJS.pm:
14744 * bridge/NP_jsobject.cpp:
14745 (_NPN_SetProperty):
14746 * bridge/jni/jni_jsobject.mm:
14747 (JavaJSObject::setMember):
14748 * bridge/objc/objc_class.mm:
14749 (KJS::Bindings::ObjcClass::fallbackObject):
14750 * bridge/objc/objc_runtime.h:
14751 * bridge/objc/objc_runtime.mm:
14752 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
14753 (ObjcFallbackObjectImp::put):
14754 * bridge/runtime.cpp:
14755 (KJS::Bindings::Instance::createRuntimeObject):
14756 * bridge/runtime_array.cpp:
14757 (RuntimeArray::put):
14758 * bridge/runtime_array.h:
14759 * bridge/runtime_object.cpp:
14760 (RuntimeObjectImp::RuntimeObjectImp):
14761 (RuntimeObjectImp::put):
14762 * bridge/runtime_object.h:
14763
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000147642008-09-01 Dirk Schulze <vbs85@gmx.de>
14765
14766 Reviewed by Eric Seidel.
14767
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000014768 Fixed border-radius for Cairo.
14769
14770 * platform/graphics/cairo/GraphicsContextCairo.cpp:
14771 (WebCore::GraphicsContext::strokeArc):
14772
147732008-09-01 Dirk Schulze <vbs85@gmx.de>
14774
14775 Reviewed by Eric Seidel.
14776
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000014777 Added canvas's globalAlpha to cairo.
14778
14779 * platform/graphics/GraphicsContext.h:
14780 * platform/graphics/cairo/GraphicsContextCairo.cpp:
14781 (WebCore::GraphicsContext::fillPath):
14782 (WebCore::GraphicsContext::strokePath):
14783 (WebCore::GraphicsContext::setAlpha):
14784 (WebCore::GraphicsContext::getAlpha):
14785 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
14786 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
14787 * platform/graphics/cairo/ImageCairo.cpp:
14788 (WebCore::BitmapImage::draw):
14789
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000147902008-08-31 Simon Hausmann <hausmann@webkit.org>
14791
14792 Unreviewed Qt build fix.
14793
14794 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
14795 the .h file
14796
darin@apple.come7945852008-08-31 06:58:07 +0000147972008-08-30 Darin Adler <darin@apple.com>
14798
14799 Reviewed by Maciej.
14800
14801 - adopt some new JavaScriptCore functions where appropriate
14802
14803 * bindings/js/JSDOMWindowBase.cpp:
14804 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
14805 (WebCore::windowProtoFuncBToA): Ditto.
14806 * bindings/js/JSEventListener.cpp:
14807 (WebCore::JSLazyEventListener::eventParameterName): Adopted
14808 jsNontrivialString.
14809 * bindings/js/JSSVGLazyEventListener.cpp:
14810 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
14811
beidson@apple.com21c821f2008-08-30 00:26:01 +0000148122008-08-29 Brady Eidson <beidson@apple.com>
14813
beidson@apple.come1bd6032008-08-30 00:30:11 +000014814 Reviewed by Anders' rubberstamp
14815
14816 Style cleanup to match MediaTokenizer::writeRawData()
14817
14818 * loader/PluginDocument.cpp:
14819 (WebCore::PluginTokenizer::writeRawData):
14820
148212008-08-29 Brady Eidson <beidson@apple.com>
14822
beidson@apple.com21c821f2008-08-30 00:26:01 +000014823 Reviewed by Anders
14824
mitz@apple.com098b1e62008-09-24 16:39:55 +000014825 https://bugs.webkit.org/show_bug.cgi?id=20556
14826 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
14827
beidson@apple.com21c821f2008-08-30 00:26:01 +000014828 Fix regression I introducted in 35946
14829 Already covered by media/video-click-dlbclick-standalone.html
14830
14831 * loader/MediaDocument.cpp:
14832 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
14833 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
14834 an ASSERT signifying that this method should only be called once, to more closely follow the
14835 PluginDocument case.
14836
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000148372008-08-29 Beth Dakin <bdakin@apple.com>
14838
14839 Reviewed by Sam Weinig.
14840
14841 Fix for <rdar://problem/6181588>
14842
14843 This patch makes hit testing take into account the new concept of a
14844 disconnected frame, in which some of the content may not be
14845 visible. The current hit testing mechanism starts at a target frame
14846 and drills down for a HitTestResult. In some cases, drilling down
14847 will find a non-visible result. When this happens, we need to try
14848 again, starting at a higher level -- namely, starting at the main
14849 frame.
14850
14851 * editing/Editor.cpp:
14852 (WebCore::Editor::insideVisibleArea): New function that tests if a
14853 point is inside the visible area for a disconnected frame.
14854 * editing/Editor.h:
14855 * page/EventHandler.cpp:
14856 (WebCore::EventHandler::hitTestResultAtPoint):
14857
adele@apple.comfb903062008-08-29 22:30:18 +0000148582008-08-29 Adele Peterson <adele@apple.com>
14859
14860 Reviewed by Adam Roben.
14861
14862 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
14863
14864 * GNUmakefile.am:
14865 * WebCore.pro:
14866 * WebCore.vcproj/WebCore.vcproj:
14867 * WebCore.xcodeproj/project.pbxproj:
14868 * WebCoreSources.bkl:
14869 * html/HTMLTextFieldInnerElement.cpp: Removed.
14870 * html/HTMLTextFieldInnerElement.h: Removed.
14871 * rendering/RenderTextControl.cpp:
14872 (WebCore::RenderTextControl::createSubtreeIfNeeded):
14873 * rendering/RenderTextControl.h:
14874 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
14875 (WebCore::TextControlInnerElement::TextControlInnerElement):
14876 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
14877 (WebCore::TextControlInnerTextElement::defaultEventHandler):
14878 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
14879 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
14880 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
14881 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
14882 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
14883
eric@webkit.org298c65b2008-08-29 21:39:32 +0000148842008-08-29 Eric Seidel <eric@webkit.org>
14885
eric@webkit.org77837ce2008-08-29 21:40:07 +000014886 Rubber-stamped by aroben.
14887
14888 Add GraphicsContext.h include to GraphcisContextPrivate.h
14889
14890 GraphicsContextPrivate uses StrokeStyle which is defined
14891 in GraphicsContext.h but it doesn't include that header.
14892 CoreGraphics build doesn't fail here due to the order
14893 it happens to include files.
14894
14895 * platform/graphics/GraphicsContextPrivate.h:
14896
148972008-08-29 Eric Seidel <eric@webkit.org>
14898
eric@webkit.org298c65b2008-08-29 21:39:32 +000014899 Reviewed by hyatt.
14900
14901 Fix GeneratedImage to respect Image's refcounting
14902 Fixing potential crashers (future if not current)
14903 https://bugs.webkit.org/show_bug.cgi?id=20567
14904
14905 I don't know if it's possible to make the current code
14906 crash, thus I've not made a test.
14907
14908 * css/CSSGradientValue.cpp:
14909 (WebCore::CSSGradientValue::image):
14910 * css/CSSImageGeneratorValue.cpp:
14911 (WebCore::CSSImageGeneratorValue::removeClient):
14912 (WebCore::CSSImageGeneratorValue::getImage):
14913 * css/CSSImageGeneratorValue.h:
14914 * platform/graphics/GeneratedImage.h:
14915 (WebCore::GeneratedImage::GeneratedImage):
14916 * rendering/style/RenderStyle.cpp:
14917 (WebCore::RenderStyle::setContent):
14918 * rendering/style/RenderStyle.h:
14919
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000149202008-08-29 Eric Carlson <eric.carlson@apple.com>
14921
14922 Reviewed by Adele.
14923
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000014924 Fix for <rdar://problem/6093767>
14925 https://bugs.webkit.org/show_bug.cgi?id=20526
14926
14927 Don't allow video to render until unsupported track types have been disabled.
14928
14929 * platform/graphics/win/QTMovieWin.cpp:
14930 (QTMovieWinPrivate::task):
14931 (QTMovieWinPrivate::drawingComplete):
14932 (QTMovieWinPrivate::clearGWorld):
14933
149342008-08-29 Eric Carlson <eric.carlson@apple.com>
14935
14936 Reviewed by Adele.
14937
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000014938 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
14939 <rdar://problem/6169301>
14940
14941 Return the size of the movie data instead of 1000.
14942
14943 Test: media/progress-event-total.html
14944
14945 * platform/graphics/win/QTMovieWin.cpp:
14946 (QTMovieWin::dataSize):
14947
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000149482008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
14949
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000014950 Reviewed by Eric Seidel.
14951
14952 [janitor/qt] Start replacing port specific getters with the generic native getter
14953 To get the native presentation of an image we currently have platform
14954 specific #ifdef's and a generic getter using NativeImagePtr. This patch
14955 extends this to the ImageBuffer and updates the Qt platform to get rid
14956 of the special #ifdefs.
14957
14958 https://bugs.webkit.org/attachment.cgi?id=22861
14959
14960 * platform/graphics/BitmapImage.h:
14961 * platform/graphics/Image.h:
14962 * platform/graphics/qt/ImageQt.cpp:
14963 * platform/graphics/qt/StillImageQt.cpp:
14964 * platform/graphics/qt/StillImageQt.h:
14965 * platform/qt/ClipboardQt.cpp:
14966 (WebCore::ClipboardQt::createDragImage):
14967 (WebCore::ClipboardQt::declareAndWriteDragImage):
14968 * platform/qt/CursorQt.cpp:
14969 * platform/qt/PasteboardQt.cpp:
14970 (WebCore::Pasteboard::writeImage):
14971
149722008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
14973
hausmann@webkit.org0367b582008-08-29 15:56:02 +000014974 Reviewed by Simon.
14975
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000014976 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
14977
14978 * svg/graphics/qt/SVGPaintServerQt.cpp:
14979 (WebCore::SVGPaintServer::renderPath):
14980 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
14981 (WebCore::SVGPaintServerSolid::setup):
14982
149832008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
14984
14985 Reviewed by Simon.
14986
hausmann@webkit.org0367b582008-08-29 15:56:02 +000014987 [network/qt] Implement defering of loading ResourceHandle's
14988 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
14989 implementation is simply not forwarding anything to the
14990 ResourceHandleClient until we are allowed to. This might lead to a deadlock
14991 in Qt as we do not empty the QNetworkReply input buffer and wait until we
14992 are allowed to read. If that happens we are forced to buffer the data
14993 within QNetworkReplyHandler, for now this is not done.
14994
14995 Manual test:
14996 - Open http://acid3.acidtests.org
14997 - Wait for the test to complete
14998 - Click on the Reference Rendering link
14999 - Be fast and see the results of acid3
15000 => assert
15001
15002 * platform/network/qt/QNetworkReplyHandler.cpp:
15003 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
15004 (WebCore::QNetworkReplyHandler::setLoadMode):
15005 (WebCore::QNetworkReplyHandler::finish):
15006 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
15007 (WebCore::QNetworkReplyHandler::forwardData):
15008 (WebCore::QNetworkReplyHandler::start):
15009 (WebCore::QNetworkReplyHandler::resetState):
15010 (WebCore::QNetworkReplyHandler::sendQueuedItems):
15011 * platform/network/qt/QNetworkReplyHandler.h:
15012 (WebCore::QNetworkReplyHandler::):
15013 * platform/network/qt/ResourceHandleQt.cpp:
15014 (WebCore::ResourceHandle::start):
15015 (WebCore::ResourceHandle::loadResourceSynchronously):
15016 (WebCore::ResourceHandle::setDefersLoading):
15017
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000150182008-08-29 Simon Hausmann <hausmann@webkit.org>
15019
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000015020 Reviewed by Holger.
15021
15022 Don't crash when drawing patterns with the HTML canvas. Patterns
15023 remain unimplemented but at least they don't crash anymore. This is
15024 done by changing the PlatformPatternPtr to be a brush for the Qt
15025 platform.
15026
15027 * platform/graphics/Pattern.h:
15028 * platform/graphics/qt/GraphicsContextQt.cpp:
15029 (WebCore::GraphicsContext::fillPath):
15030 (WebCore::GraphicsContext::strokePath):
15031 (WebCore::GraphicsContext::fillRect):
15032 * platform/graphics/qt/PatternQt.cpp:
15033 (WebCore::Pattern::createPlatformPattern):
15034
150352008-08-29 Simon Hausmann <hausmann@webkit.org>
15036
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000015037 Fix the Qt build, fontSelector() is not used by the Qt port yet
15038 and we just return 0 in Font::fontSelector().
15039
15040 * platform/graphics/Font.h:
15041
alp@webkit.org97d8c102008-08-29 05:09:39 +0000150422008-08-28 Alp Toker <alp@nuanti.com>
15043
15044 GTK+ dist/build fix. List newly added header files.
15045
15046 * GNUmakefile.am:
15047
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000150482008-08-28 Simon Fraser <simon.fraser@apple.com>
15049
15050 Reviewed by Dave Hyatt
15051
15052 Various WebKitCSSTransformValue-related fixes
15053 https://bugs.webkit.org/show_bug.cgi?id=20562
15054
15055 Test: css3/transform-value-types.html
15056
15057 * bindings/js/JSCSSValueCustom.cpp:
15058 (WebCore::toJS):
15059 * css/CSSValue.h:
15060 * css/WebKitCSSTransformValue.cpp:
15061 (WebCore::WebKitCSSTransformValue::cssText):
15062 * css/WebKitCSSTransformValue.h:
15063 (WebCore::WebKitCSSTransformValue::):
15064 * css/WebKitCSSTransformValue.idl:
15065
mitz@apple.comd7222352008-08-28 22:53:31 +0000150662008-08-28 Dan Bernstein <mitz@apple.com>
15067
15068 Reviewed by Steve Falkenburg.
15069
15070 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
15071
15072 * platform/win/SharedTimerWin.cpp:
15073 (WebCore::TimerWindowWndProc):
15074
hyatt@apple.com7d335232008-08-28 21:38:45 +0000150752008-08-28 David Hyatt <hyatt@apple.com>
15076
15077 RenderStyle cleanup.
15078
15079 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
15080
15081 Reviewed by Adam
15082
15083 * css/CSSImageGeneratorValue.cpp:
15084 * css/CSSImageValue.cpp:
15085 * css/CSSStyleSelector.cpp:
15086 * rendering/RenderImageGeneratedContent.cpp:
15087 * rendering/style/NinePieceImage.cpp: Added.
15088 * rendering/style/NinePieceImage.h: Added.
15089 * rendering/style/RenderStyle.cpp:
15090 (WebCore::FillLayer::operator==):
15091 (WebCore::FillLayer::containsImage):
15092 (WebCore::StyleInheritedData::operator==):
15093 (WebCore::RenderStyle::contentDataEquivalent):
15094 * rendering/style/RenderStyle.h:
15095 * rendering/style/StyleCachedImage.cpp: Added.
15096 * rendering/style/StyleCachedImage.h: Added.
15097 * rendering/style/StyleGeneratedImage.cpp: Added.
15098 * rendering/style/StyleGeneratedImage.h: Added.
15099 * rendering/style/StyleImage.h: Added.
15100
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000151012008-08-28 Simon Fraser <simon.fraser@apple.com>
15102
15103 Reviewed by Dave Hyatt
15104
15105 Make all the 'isFoo()' methods on CSSValue const,
15106 and fix the subclasses.
15107
15108 https://bugs.webkit.org/show_bug.cgi?id=20561
15109
15110 * css/CSSTimingFunctionValue.h:
15111 * css/CSSValue.h:
15112 (WebCore::CSSValue::isFontValue):
15113 (WebCore::CSSValue::isImageGeneratorValue):
15114 (WebCore::CSSValue::isImageValue):
15115 (WebCore::CSSValue::isImplicitInitialValue):
15116 * css/CSSValueList.h:
15117 * css/FontValue.h:
15118
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000151192008-08-28 David Hyatt <hyatt@apple.com>
15120
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000015121 The great RenderStyle cleanup begins!
15122
15123 Move LengthBox and LengthSize out of RenderStyle and into Length.
15124
15125 Reviewed by Adam
15126
15127 * rendering/Length.h:
15128 (WebCore::):
15129 (WebCore::Length::Length):
15130 (WebCore::Length::operator==):
15131 (WebCore::Length::operator!=):
15132 (WebCore::Length::value):
15133 (WebCore::Length::rawValue):
15134 (WebCore::Length::percent):
15135 (WebCore::Length::type):
15136 (WebCore::Length::quirk):
15137 (WebCore::Length::setValue):
15138 (WebCore::Length::setRawValue):
15139 (WebCore::Length::calcValue):
15140 (WebCore::Length::calcMinValue):
15141 (WebCore::Length::calcFloatValue):
15142 (WebCore::Length::isUndefined):
15143 (WebCore::Length::isZero):
15144 (WebCore::Length::isPositive):
15145 (WebCore::Length::isNegative):
15146 (WebCore::Length::isAuto):
15147 (WebCore::Length::isRelative):
15148 (WebCore::Length::isPercent):
15149 (WebCore::Length::isFixed):
15150 (WebCore::Length::isStatic):
15151 (WebCore::Length::isIntrinsicOrAuto):
15152 (WebCore::Length::blend):
15153 (WebCore::LengthBox::LengthBox):
15154 (WebCore::LengthBox::operator=):
15155 (WebCore::LengthBox::operator==):
15156 (WebCore::LengthBox::operator!=):
15157 (WebCore::LengthBox::nonZero):
15158 (WebCore::LengthSize::LengthSize):
15159 * rendering/style/RenderStyle.h:
15160
151612008-08-28 David Hyatt <hyatt@apple.com>
15162
hyatt@apple.com550a95c2008-08-28 19:53:56 +000015163 Reviewed by Darin
15164
15165 https://bugs.webkit.org/show_bug.cgi?id=18091
15166
15167 font-size should be animatable using -webkit-transition.
15168
15169 * page/AnimationController.cpp:
15170 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
15171 * rendering/style/RenderStyle.h:
15172 (WebCore::RenderStyle::setFontSize):
15173
mitz@apple.com30923ad2008-08-28 17:45:47 +0000151742008-08-28 Brad Garcia <bgarcia@google.com>
15175
15176 Reviewed by Dan Bernstein.
15177
15178 https://bugs.webkit.org/show_bug.cgi?id=20549
15179 Correctly determine when cursor is over a resizable border within
15180 a nested frameset.
15181
15182 * rendering/RenderFrameSet.cpp:
15183 (WebCore::RenderFrameSet::canResizeRow):
15184 (WebCore::RenderFrameSet::canResizeColumn):
15185
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000151862008-08-28 Simon Fraser <simon.fraser@apple.com>
15187
15188 Reviewed by Eric Seidel
15189
15190 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
15191 https://bugs.webkit.org/show_bug.cgi?id=20552
15192
15193 Test: animations/animation-css-rule-types.html
15194
15195 * css/CSSRule.idl:
15196
andersca@apple.com12399c32008-08-28 17:26:46 +0000151972008-08-28 Anders Carlsson <andersca@apple.com>
15198
15199 Reviewed by Kevin and Darin.
15200
15201 <rdar://problem/6182541>
15202 https://bugs.webkit.org/show_bug.cgi?id=20202
15203 Missing http status line from the http headers.
15204
15205 Add a status line to the header string.
15206
15207 * plugins/PluginStream.cpp:
15208 (WebCore::PluginStream::startStream):
15209
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000152102008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
15211
15212 Rubber-stamped by Darin Adler.
15213
15214 https://bugs.webkit.org/show_bug.cgi?id=17261
15215
15216 Make it possible to theme the default Url icon and enable this for
15217 the Qt port. To have a minimal usage of #ifdef in the code the setting
15218 of the icon was moved to a new method which comes in two flavors.
15219
15220 * loader/icon/IconDatabase.cpp:
15221 (WebCore::loadDefaultIconRecord): Load or set the default icon
15222 (WebCore::IconDatabase::defaultIcon):
15223
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000152242008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
15225
15226 Unreviewed compile fix
15227
15228 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
15229
aroben@apple.comfacf5032008-08-28 13:34:01 +0000152302008-08-28 Adam Roben <aroben@apple.com>
15231
15232 Windows (and others?) build fix
15233
15234 * page/Chrome.cpp: Added a missing #include.
15235 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
15236
eric@webkit.org22794fd2008-08-28 12:04:40 +0000152372008-08-27 Eric Seidel <eric@webkit.org>
15238
15239 Reviewed by Oliver Hunt.
15240
eric@webkit.org5f874e92008-08-28 12:04:55 +000015241 Qt and Cairo support from krit (and blind stab @ wx compile support)
15242 https://bugs.webkit.org/show_bug.cgi?id=20373
15243
15244 * platform/graphics/cairo/GraphicsContextCairo.cpp:
15245 (WebCore::GraphicsContext::fillPath):
15246 (WebCore::GraphicsContext::strokePath):
15247 (WebCore::GraphicsContext::drawPath):
15248 (WebCore::GraphicsContext::fillRect):
15249 (WebCore::GraphicsContext::setPlatformFillColor):
15250 (WebCore::GraphicsContext::setPlatformStrokeColor):
15251 (WebCore::GraphicsContext::setPlatformStrokeStyle):
15252 (WebCore::GraphicsContext::strokeRect):
15253 (WebCore::GraphicsContext::setImageInterpolationQuality):
15254 (WebCore::GraphicsContext::imageInterpolationQuality):
15255 (WebCore::GraphicsContext::setPlatformFillPattern):
15256 (WebCore::GraphicsContext::setPlatformStrokePattern):
15257 (WebCore::GraphicsContext::setPlatformFillGradient):
15258 (WebCore::GraphicsContext::setPlatformStrokeGradient):
15259 * platform/graphics/qt/GraphicsContextQt.cpp:
15260 (WebCore::GraphicsContext::fillPath):
15261 (WebCore::GraphicsContext::strokePath):
15262 (WebCore::GraphicsContext::fillRect):
15263 (WebCore::GraphicsContext::strokeRect):
15264 (WebCore::GraphicsContext::clipToImageBuffer):
15265 (WebCore::GraphicsContext::setPlatformFillPattern):
15266 (WebCore::GraphicsContext::setPlatformStrokePattern):
15267 (WebCore::GraphicsContext::setPlatformFillGradient):
15268 (WebCore::GraphicsContext::setPlatformStrokeGradient):
15269 (WebCore::GraphicsContext::setImageInterpolationQuality):
15270 (WebCore::GraphicsContext::imageInterpolationQuality):
15271 * platform/graphics/wx/GraphicsContextWx.cpp:
15272 (WebCore::GraphicsContext::clipToImageBuffer):
15273 (WebCore::GraphicsContext::setImageInterpolationQuality):
15274 (WebCore::GraphicsContext::imageInterpolationQuality):
15275 (WebCore::GraphicsContext::fillPath):
15276 (WebCore::GraphicsContext::strokePath):
15277 (WebCore::GraphicsContext::drawPath):
15278 (WebCore::GraphicsContext::fillRect):
15279 (WebCore::GraphicsContext::setPlatformFillPattern):
15280 (WebCore::GraphicsContext::setPlatformStrokePattern):
15281 (WebCore::GraphicsContext::setPlatformFillGradient):
15282
152832008-08-27 Eric Seidel <eric@webkit.org>
15284
15285 Reviewed by Oliver Hunt.
15286
eric@webkit.org22794fd2008-08-28 12:04:40 +000015287 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
15288 https://bugs.webkit.org/show_bug.cgi?id=20373
15289
15290 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
15291
15292 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
15293 have to store large Gradient objects in the GraphicsContextState
15294
15295 Made Pattern RefCounted for the same reason.
15296
15297 Many updates to GraphicsContext to support easier drawing with
15298 Patterns and Gradients.
15299
15300 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
15301 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
15302 (WebCore::toJS):
15303 * css/CSSGradientValue.cpp:
15304 (WebCore::CSSGradientValue::createGradient):
15305 * css/CSSGradientValue.h:
15306 * html/CanvasGradient.cpp:
15307 (WebCore::CanvasGradient::CanvasGradient):
15308 * html/CanvasGradient.h:
15309 (WebCore::CanvasGradient::gradient):
15310 (WebCore::CanvasGradient::addColorStop):
15311 (WebCore::CanvasGradient::getColor):
15312 * html/CanvasPattern.cpp:
15313 * html/CanvasPattern.h:
15314 (WebCore::CanvasPattern::pattern):
15315 (WebCore::CanvasPattern::originClean):
15316 * html/CanvasRenderingContext2D.cpp:
15317 (WebCore::CanvasRenderingContext2D::State::State):
15318 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
15319 (WebCore::CanvasRenderingContext2D::setFillStyle):
15320 (WebCore::CanvasRenderingContext2D::fill):
15321 (WebCore::CanvasRenderingContext2D::stroke):
15322 (WebCore::CanvasRenderingContext2D::fillRect):
15323 (WebCore::CanvasRenderingContext2D::strokeRect):
15324 * html/CanvasRenderingContext2D.h:
15325 * html/CanvasStyle.cpp:
15326 (WebCore::CanvasStyle::applyStrokeColor):
15327 (WebCore::CanvasStyle::applyFillColor):
15328 * html/CanvasStyle.h:
15329 * platform/graphics/GeneratedImage.h:
15330 (WebCore::GeneratedImage::GeneratedImage):
15331 * platform/graphics/Generator.h:
15332 * platform/graphics/Gradient.h:
15333 (WebCore::Gradient::create):
15334 * platform/graphics/GraphicsContext.cpp:
15335 (WebCore::GraphicsContext::fillRule):
15336 (WebCore::GraphicsContext::setFillRule):
15337 (WebCore::GraphicsContext::setStrokePattern):
15338 (WebCore::GraphicsContext::setFillPattern):
15339 (WebCore::GraphicsContext::setStrokeGradient):
15340 (WebCore::GraphicsContext::setFillGradient):
15341 * platform/graphics/GraphicsContext.h:
15342 * platform/graphics/GraphicsContextPrivate.h:
15343 (WebCore::):
15344 (WebCore::GraphicsContextState::GraphicsContextState):
15345 * platform/graphics/GraphicsTypes.h:
15346 * platform/graphics/Path.h:
15347 * platform/graphics/Pattern.h:
15348 (WebCore::Pattern::create):
15349 (WebCore::Pattern::tileImage):
15350 * platform/graphics/cg/GraphicsContextCG.cpp:
15351 (WebCore::GraphicsContext::drawRect):
15352 (WebCore::GraphicsContext::drawEllipse):
15353 (WebCore::GraphicsContext::drawConvexPolygon):
15354 (WebCore::calculateDrawingMode):
15355 (WebCore::GraphicsContext::drawPath):
15356 (WebCore::fillPathWithFillRule):
15357 (WebCore::GraphicsContext::fillPath):
15358 (WebCore::GraphicsContext::strokePath):
15359 (WebCore::GraphicsContext::fillRect):
15360 (WebCore::GraphicsContext::fillRoundedRect):
15361 (WebCore::GraphicsContext::setPlatformStrokePattern):
15362 (WebCore::GraphicsContext::setPlatformFillPattern):
15363 (WebCore::GraphicsContext::setPlatformStrokeGradient):
15364 (WebCore::GraphicsContext::setPlatformFillGradient):
15365
eric@webkit.org70b099f2008-08-28 11:42:26 +0000153662008-08-20 Eric Seidel <eric@webkit.org>
15367
15368 Reviewed by Darin and Alexey.
15369
15370 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
15371 with timeouts paused.
15372 https://bugs.webkit.org/show_bug.cgi?id=20469
15373
15374 I attempted to clean up the memory management of PausedTimeouts, I'm not
15375 sure the solution I came up with is "cleaner", but it's in some ways
15376 "safer", since it no longer uses raw pointers and manual new/delete.
15377
15378 This also now prevents CachedPage from needlessly creating Window
15379 objects when caching pages which didn't already have one. :)
15380
15381 I also made Chrome.cpp no longer depend on the JavaScript bindings
15382 (aka JSDOMWindowBase.h), since there was no real reason for it to.
15383
15384 * bindings/js/JSDOMWindowBase.cpp:
15385 (WebCore::JSDOMWindowBase::pauseTimeouts):
15386 (WebCore::JSDOMWindowBase::resumeTimeouts):
15387 * bindings/js/JSDOMWindowBase.h:
15388 * bindings/js/ScriptController.cpp:
15389 (WebCore::ScriptController::pauseTimeouts):
15390 (WebCore::ScriptController::resumeTimeouts):
15391 * bindings/js/ScriptController.h:
15392 * history/CachedPage.cpp:
15393 (WebCore::CachedPage::CachedPage):
15394 (WebCore::CachedPage::restore):
15395 * page/Chrome.cpp:
15396 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
15397 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
15398 * page/JavaScriptDebugServer.cpp:
15399 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
15400 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
15401
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000154022008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
15403
15404 Unreviewed compile fix
15405
15406 Add the stub for the Qt port.
15407
15408 * WebCore.pro:
15409 * page/qt/AccessibilityObjectQt.cpp: Added.
15410 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
15411
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000154122008-08-27 Alp Toker <alp@nuanti.com>
15413
15414 Reviewed by Eric.
15415
15416 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000015417 [GTK] search popup crash
15418
15419 * platform/gtk/SearchPopupMenuGtk.cpp:
15420 (WebCore::SearchPopupMenu::enabled):
15421 Fix a search popup crasher by disabling the history popup since we
15422 don't support this feature yet in the GTK+ port.
15423
154242008-08-27 Alp Toker <alp@nuanti.com>
15425
15426 Reviewed by Eric.
15427
15428 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000015429 [GTK] curl crashers
15430
15431 * platform/network/curl/ResourceHandleManager.cpp:
15432 (WebCore::ResourceHandleManager::startScheduledJobs):
15433 Remove the resource handle from the pending list before starting the
15434 job, not afterwards. Fixes crashers in the test suite.
15435
15436 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
15437 Test: fast/encoding/char-encoding.html
15438
eric@webkit.org712cb892008-08-28 00:26:15 +0000154392008-08-27 Dirk Schulze <vbs85@gmx.de>
15440
15441 Reviewed by eseidel.
15442
15443 Fix canvas drawImage to support composite operations.
15444 Composite had no effect on canvas elements like these:
15445 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
15446
15447 [CAIRO] Canvas composite don't work on canvas-elements.
15448 https://bugs.webkit.org/show_bug.cgi?id=20548
15449
15450 * html/CanvasRenderingContext2D.cpp:
15451 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
15452
eric@webkit.org75c83a02008-08-28 00:04:59 +0000154532008-08-27 Mario Bensi <mbensi@pleyo.com>
15454
15455 Reviewed by Eric Seidel.
15456
15457 Fix the data content of an image with a base64.
15458
15459 * platform/network/curl/ResourceHandleManager.cpp:
15460 (WebCore::parseDataUrl): Remove the String and use only the data
15461 Vector because the data.latin1().data() convert the data content and
15462 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
15463 not drawn correctly.
15464
antti@apple.comf66a86b2008-08-27 23:59:50 +0000154652008-08-27 Antti Koivisto <antti@apple.com>
15466
15467 Reviewed by Eric Seidel.
15468
15469 Crash after OK in dialog box and reloading page in secure mode
15470 https://bugs.webkit.org/show_bug.cgi?id=20493
15471
15472 The new run loop spawned by a modal dialog causes a timer in the loader to run
15473 synchronously inside didFinishLoading() deleting "this" object.
15474
15475 Defer all WebCore timers when a modal dialog is up. They are not
15476 safe to execute.
15477
15478 * page/Chrome.cpp:
15479 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
15480 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
15481
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000154822008-08-27 Chris Marrin <cmarrin@apple.com>
15483
15484 Reviewed by Dave Hyatt
15485
15486 Memory leaks when animating transforms
15487 https://bugs.webkit.org/show_bug.cgi?id=20532
15488
15489 * rendering/style/RenderStyle.cpp:
15490 (WebCore::ScaleTransformOperation::blend):
15491 (WebCore::RotateTransformOperation::blend):
15492 (WebCore::SkewTransformOperation::blend):
15493 (WebCore::TranslateTransformOperation::blend):
15494 (WebCore::MatrixTransformOperation::blend):
15495 * rendering/style/RenderStyle.h:
15496
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000154972008-08-27 Timothy Hatcher <timothy@apple.com>
15498
15499 Add support for support for -webkit-appearance: default-button on the Mac platform.
15500
15501 <rdar://problem/6173530>
15502
15503 Reviewed by Dave Hyatt.
15504
15505 * WebCore.base.exp: Export new symbols.
15506 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
15507 * platform/mac/WebCoreSystemInterface.mm: Ditto.
15508 * rendering/RenderButton.cpp:
15509 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
15510 (WebCore::RenderButton::setStyle): Ditto.
15511 * rendering/RenderButton.h: Ditto.
15512 * rendering/RenderThemeMac.mm:
15513 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
15514 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
15515 key if the button is default, otherwise reset the key equivalent.
15516 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
15517 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
15518 the window's previous default button cell when finished.
15519
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000155202008-08-26 David Hyatt <hyatt@apple.com>
15521
15522 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
15523
15524 Reviewed by weinig
15525
15526 Added fast/forms/zoomed-controls.html
15527
15528 * css/CSSStyleSelector.cpp:
15529 (WebCore::addIntrinsicMargins):
15530 * rendering/RenderSlider.cpp:
15531 (WebCore::RenderSlider::calcPrefWidths):
15532 * rendering/RenderThemeMac.h:
15533 * rendering/RenderThemeMac.mm:
15534 (WebCore::RenderThemeMac::adjustRepaintRect):
15535 (WebCore::RenderThemeMac::inflateRect):
15536 (WebCore::RenderThemeMac::baselinePosition):
15537 (WebCore::RenderThemeMac::setControlSize):
15538 (WebCore::RenderThemeMac::sizeForFont):
15539 (WebCore::RenderThemeMac::sizeForSystemFont):
15540 (WebCore::RenderThemeMac::setFontFromControlSize):
15541 (WebCore::RenderThemeMac::paintCheckbox):
15542 (WebCore::RenderThemeMac::setCheckboxCellState):
15543 (WebCore::RenderThemeMac::paintRadio):
15544 (WebCore::RenderThemeMac::setRadioCellState):
15545 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
15546 (WebCore::RenderThemeMac::adjustButtonStyle):
15547 (WebCore::RenderThemeMac::setButtonCellState):
15548 (WebCore::RenderThemeMac::paintButton):
15549 (WebCore::RenderThemeMac::paintMenuList):
15550 (WebCore::RenderThemeMac::paintMenuListButton):
15551 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
15552 (WebCore::RenderThemeMac::popupInternalPaddingRight):
15553 (WebCore::RenderThemeMac::popupInternalPaddingTop):
15554 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
15555 (WebCore::RenderThemeMac::setPopupButtonCellState):
15556 (WebCore::RenderThemeMac::paintSliderTrack):
15557 (WebCore::RenderThemeMac::paintSliderThumb):
15558 (WebCore::RenderThemeMac::adjustSliderThumbSize):
15559 (WebCore::RenderThemeMac::paintSearchField):
15560 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
15561 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
15562 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
15563
beidson@apple.comd0793872008-08-27 19:59:55 +0000155642008-08-27 Brady Eidson <beidson@apple.com>
15565
15566 Reviewed by Anders
15567
15568 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
15569
15570 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
15571 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
15572 away the virtual address space and a crash.
15573
15574 * loader/EmptyClients.h:
15575 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
15576 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
15577 "plugin will handle load"
15578
15579 * loader/MediaDocument.cpp:
15580 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
15581 and cancel the WebCore-managed load
15582 (WebCore::MediaTokenizer::writeRawData):
15583 (WebCore::MediaTokenizer::finish):
15584
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000155852008-08-26 Simon Fraser <simon.fraser@apple.com>
15586
15587 Reviewed by Eric Seidel
15588
15589 Linear timing functions should have control points 0, 0, 1, 1.
15590 https://bugs.webkit.org/show_bug.cgi?id=20535
15591
15592 * css/CSSStyleSelector.cpp:
15593 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
15594 * rendering/style/RenderStyle.h:
15595
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000155962008-08-27 Adam Roben <aroben@apple.com>
15597
15598 Windows build fix
15599
15600 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
15601
mrowe@apple.com37686d42008-09-04 00:10:39 +0000156022008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000015603
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000015604 Reviewed by Beth Dakin.
15605
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000015606 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
15607
15608 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
15609 to determine if an attachment is ignored through accessibility. Added equivalent
15610 methods in Gtk, Win and Mac
15611
15612 Test: accessibility/plugin.html
15613
15614 * GNUmakefile.am:
15615 * WebCore.vcproj/WebCore.vcproj:
15616 * WebCore.xcodeproj/project.pbxproj:
15617 * page/AccessibilityObject.h:
15618 * page/AccessibilityRenderObject.cpp:
15619 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
15620 * page/gtk/AccessibilityObjectAtk.cpp: Added.
15621 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
15622 * page/mac/AccessibilityObjectMac.mm: Added.
15623 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
15624 * page/mac/AccessibilityObjectWrapper.h:
15625 * page/win/AccessibilityObjectWin.cpp: Added.
15626 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
15627
mrowe@apple.com37686d42008-09-04 00:10:39 +0000156282008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000015629
15630 Reviewed by Beth Dakin.
15631
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000015632 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
15633
15634 * page/mac/AccessibilityObjectWrapper.mm:
15635 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
15636 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
15637
mrowe@apple.com37686d42008-09-04 00:10:39 +0000156382008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000015639
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000015640 Reviewed by Darin Adler.
15641
15642 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
15643
15644 Tests: accessibility/table-notbody.html
15645
15646 * page/AccessibilityTable.cpp:
15647 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
15648
weinig@apple.com33705852008-08-26 19:51:28 +0000156492008-08-26 Sam Weinig <sam@webkit.org>
15650
weinig@apple.comf6f553a2008-08-26 21:21:26 +000015651 Reviewed by Beth Dakin.
15652
15653 Fix typo.
15654
15655 * dom/DOMCoreException.h:
15656
156572008-08-26 Sam Weinig <sam@webkit.org>
15658
weinig@apple.com0f34f002008-08-26 19:56:54 +000015659 Reviewed by Oliver Hunt.
15660
15661 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
15662 <rdar://problem/6167660>
15663 Take image redirects into account when tainting the canvas.
15664
15665 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
15666
15667 * html/CanvasRenderingContext2D.cpp:
15668 (WebCore::CanvasRenderingContext2D::drawImage):
15669 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
15670
156712008-08-26 Sam Weinig <sam@webkit.org>
15672
weinig@apple.com33705852008-08-26 19:51:28 +000015673 Reviewed by Darin Adler.
15674
15675 Change canvas tainting logic to ask the image if it contains
15676 any resources outside of its own origin. Since there is no
15677 way to determine if SVG images contain any resources outside its
15678 origin, we always assume it does.
15679
15680 * html/CanvasRenderingContext2D.cpp:
15681 (WebCore::CanvasRenderingContext2D::drawImage):
15682 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
15683 * platform/graphics/BitmapImage.h:
15684 (WebCore::BitmapImage::hasSingleSecurityOrigin):
15685 * platform/graphics/GeneratedImage.h:
15686 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
15687 * platform/graphics/Image.h:
15688 (WebCore::Image::hasSingleSecurityOrigin):
15689 * platform/graphics/cg/PDFDocumentImage.h:
15690 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
15691 * svg/graphics/SVGImage.h:
15692
britto@apple.com616ef6d2008-08-26 17:51:03 +0000156932008-08-26 Maxime Britto <britto@apple.com>
15694
15695 Reviewed by Adele.
15696
15697 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
15698 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.
15699 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.
15700
15701 * page/EventHandler.cpp:
15702 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
15703 * page/EventHandler.h:
15704 * rendering/RenderLayer.cpp:
15705 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
15706 (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.
15707 * rendering/RenderLayer.h:
15708 * rendering/RenderObject.cpp:
15709 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
15710 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
15711 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
15712
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000157132008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
15714
darin@apple.com07c80c62008-09-05 18:15:43 +000015715 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000015716
15717 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
15718 https://bugs.webkit.org/show_bug.cgi?id=20247
15719
15720 <rdar://problem/6118218>
15721
15722 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
15723 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
15724 (case insensitive for HTML elements).
15725
15726 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
15727
15728 * dom/Element.cpp:
15729 (WebCore::Element::getAttribute):
15730 * dom/NamedAttrMap.cpp:
15731 (WebCore::NamedAttrMap::getNamedItem):
15732 (WebCore::NamedAttrMap::getAttributeItem):
15733 * dom/NamedAttrMap.h:
15734
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000157352008-08-25 Sam Weinig <sam@webkit.org>
15736
weinig@apple.com8d3ea722008-08-26 04:19:07 +000015737 Reviewed by Oliver Hunt.
15738
15739 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
15740 <rdar://problem/6174096>
15741 Treat SVG images as dirty when drawing to a canvas.
15742
15743 Test: http/tests/security/canvas-remote-read-svg-image.html
15744
15745 * html/CanvasRenderingContext2D.cpp:
15746 (WebCore::CanvasRenderingContext2D::drawImage):
15747 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
15748 * platform/graphics/Image.h:
15749 (WebCore::Image::isSVGImage):
15750 * svg/graphics/SVGImage.h:
15751 (WebCore::SVGImage::isSVGImage):
15752
157532008-08-25 Sam Weinig <sam@webkit.org>
15754
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000015755 Reviewed by Mark Rowe.
15756
15757 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
15758 Leak in XMLHttpRequest.
15759
15760 * xml/XMLHttpRequest.cpp:
15761 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
15762
beidson@apple.com46421212008-08-25 21:48:56 +0000157632008-08-25 Brady Eidson <beidson@apple.com>
15764
15765 Reviewed by Anders
15766
15767 Speculative fix for <rdar://problem/6173217>
15768
15769 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
15770 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
15771 the first null check invalid.
15772
15773 * loader/FrameLoader.cpp:
15774 (WebCore::FrameLoader::stopAllLoaders):
15775
15776
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000157772008-08-25 Kevin McCullough <kmccullough@apple.com>
15778
15779 Reviewed by Tim.
15780
15781 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
15782 there is no profile, can cause crash
15783
15784 * page/inspector/ProfilesPanel.js:
15785
dino@apple.com1baeea62008-08-25 21:06:21 +0000157862008-08-25 Dean Jackson <dino@apple.com>
15787
15788 Reviewed by Dave Hyatt
15789
15790 Make sure 'inherit' is handled by transition property.
15791 https://bugs.webkit.org/show_bug.cgi?id=20513
15792
15793 Test: transitions/inherit.html
15794 Test: transitions/inherit-other-props.html
15795
15796 * css/CSSStyleSelector.cpp:
15797 fix macro to check existence of list before getting size
15798
andersca@apple.com2866b8302008-08-25 20:56:21 +0000157992008-08-25 Anders Carlsson <andersca@apple.com>
15800
15801 Reviewed by Mark.
15802
15803 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
15804
15805 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
15806 (safely) that any class that needs finalization on the main thread will also need to be deallocated
15807 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
15808 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
15809
15810 * platform/mac/WebCoreObjCExtras.c:
15811 (WebCoreObjCFinalizeOnMainThread):
15812
antti@apple.com60381cb2008-08-25 20:41:11 +0000158132008-08-25 Antti Koivisto <antti@apple.com>
15814
15815 Reviewed by Dan Bernstein.
15816
15817 Rename CachedResource::referenced() to CachedResource::hasClients() to
15818 match previous ref() -> addClient() rename.
15819
15820 * loader/Cache.cpp:
15821 (WebCore::Cache::pruneLiveResources):
15822 (WebCore::Cache::pruneDeadResources):
15823 (WebCore::Cache::remove):
15824 (WebCore::Cache::getStatistics):
15825 (WebCore::Cache::dumpLRULists):
15826 * loader/CachedResource.cpp:
15827 (WebCore::CachedResource::addClient):
15828 (WebCore::CachedResource::removeClient):
15829 (WebCore::CachedResource::setDecodedSize):
15830 (WebCore::CachedResource::setEncodedSize):
15831 * loader/CachedResource.h:
15832 (WebCore::CachedResource::hasClients):
15833 (WebCore::CachedResource::canDelete):
15834
timothy@apple.com7d809242008-08-25 18:33:05 +0000158352008-08-25 Anthony Ricaud <rik24d@gmail.com>
15836
15837 Add a missing Inspector localized string for "other".
15838
15839 https://bugs.webkit.org/show_bug.cgi?id=20509
15840
15841 Reviewed by Tim Hatcher.
15842
15843 * English.lproj/localizedStrings.js:
15844
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000158452008-08-22 Kevin McCullough <kmccullough@apple.com>
15846
15847 Reviewed by Geoff, Mark and Tim.
15848
15849 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
15850 in the console said what file and line number they came from
15851 - Lay the foundation for getting line numbers and other data from the
15852 JavaScript engine.
15853
15854 * ForwardingHeaders/VM: Added.
15855 * ForwardingHeaders/VM/Machine.h: Added.
15856 * page/Console.cpp: Gather the line number and file information when
15857 profileEnd has been called, but don't use it until didFinishProfiling is
15858 called. We won't need to wait once we remove the profiler "zombie" mode
15859 which this patch helps pave the foundation for.
15860 (WebCore::Console::Console):
15861 (WebCore::Console::profileEnd):
15862 (WebCore::Console::finishedProfiling):
15863 * page/Console.h:
15864 * page/InspectorController.cpp: Modify calls to
15865 addProfileMessageToConsole to satisfy the new arguments it takes.
15866 (WebCore::InspectorController::finishedProfiling):
15867 (WebCore::InspectorController::addProfile):
15868 (WebCore::InspectorController::addProfileMessageToConsole):
15869 (WebCore::InspectorController::finishedProfiling):
15870 * page/InspectorController.h:
15871
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000158722008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
15873
15874 Reviewed by Simon.
15875
15876 [inspector] Update the WebKit.qrc Qt resources file
15877 Catchup with the changes in the directory.
15878
15879 * page/inspector/WebKit.qrc:
15880
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000158812008-08-25 Dirk Schulze <vbs85@gmx.de>
15882
15883 Reviewed by Simon.
15884
15885 Transformed the radian to degree, to get rotate()
15886 in canvas work as expected.
15887
15888 [Qt] Canvas.rotate() doesn't work
15889 https://bugs.webkit.org/show_bug.cgi?id=20496
15890
15891 * platform/graphics/qt/GraphicsContextQt.cpp:
15892 (WebCore::GraphicsContext::rotate):
15893
sfalken@apple.com9d442862008-08-25 05:43:33 +0000158942008-08-24 Steve Falkenburg <sfalken@apple.com>
15895
15896 Add a "last chance" WM_TIMER to the Windows shared timer.
15897
15898 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
15899 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
15900 timers if a timer with an earlier expiration is already pending. This results in no timers
15901 firing from that point on.
15902
15903 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
15904 buggy window message hook.
15905
15906 This timer will start when the first WM_TIMER is scheduled, and will
15907 fire every 5 seconds thereafter, causing any lost timers to be fired.
15908
15909 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
15910 and prevents the WebFrame leak.
15911
15912 Reviewed by Darin Adler, Geoff Garen.
15913
15914 * platform/win/SharedTimerWin.cpp:
15915 (WebCore::):
15916 (WebCore::TimerWindowWndProc):
15917 (WebCore::setSharedTimerFireTime):
15918
mitz@apple.com771fb752008-08-25 03:22:44 +0000159192008-08-24 Dan Bernstein <mitz@apple.com>
15920
15921 Reviewed by Darin Adler.
15922
15923 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
15924
15925 Test: fast/css/font-property-priority.html
15926
15927 * css/CSSParser.cpp:
15928 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
15929 to the font-property-parsing functions.
15930 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
15931 changed to use it rather than the m_important member.
15932 (WebCore::CSSParser::parseFontVariant): Ditto.
15933 (WebCore::CSSParser::parseFontWeight): Ditto.
15934 * css/CSSParser.h:
15935
timothy@apple.com4cea2632008-08-24 22:28:44 +0000159362008-08-24 Timothy Hatcher <timothy@apple.com>
15937
15938 Fixes a bug where the Inspector's UI would not animate or
15939 fully function because JavaScript timeouts, intervals and
15940 CSS animation timers where not firing while paused at a
15941 a breakpoint in the inspected page.
15942
15943 https://bugs.webkit.org/show_bug.cgi?id=20042
15944
15945 Reviewed by Darin Adler.
15946
15947 Test: manual-tests/inspector/forzen-ui-while-paused.html
15948
15949 * page/JavaScriptDebugServer.cpp:
15950 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
15951 Add a call to TimerBase::fireTimersInNestedEventLoop before
15952 spinning the EventLoop.
15953
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000159542008-08-24 Rob Buis <buis@kde.org>
15955
15956 Reviewed by Sam Weinig.
15957
15958 https://bugs.webkit.org/show_bug.cgi?id=20324
15959 A change in SVG Glyph wont show up
15960
15961 Invalidate the glyph cache when the d attribute is set.
15962
15963 Test: svg/custom/glyph-setting-d-attribute.svg
15964
15965 * svg/SVGGlyphElement.cpp:
15966 (WebCore::SVGGlyphElement::invalidateGlyphCache):
15967 (WebCore::SVGGlyphElement::parseMappedAttribute):
15968 (WebCore::SVGGlyphElement::insertedIntoDocument):
15969 (WebCore::SVGGlyphElement::removedFromDocument):
15970 * svg/SVGGlyphElement.h:
15971
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000159722008-08-24 Dan Bernstein <mitz@apple.com>
15973
15974 Reviewed by Sam Weinig.
15975
15976 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
15977 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
15978
15979 * rendering/RenderText.cpp:
15980 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
15981 beginWS and endWS before the early return to ensure that they are
15982 initialized in that case.
15983
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000159842008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
15985
15986 Rubber-stamped by Mark Rowe.
15987
15988 Remove modelines.
15989
15990 * WebCore.pro:
15991 * bridge/testbindings.cpp:
15992 * dom/DocPtr.h:
15993 * loader/SubstituteData.h:
15994 * page/Chrome.cpp:
15995 * page/Chrome.h:
15996 * page/ChromeClient.h:
15997 * page/Frame.h:
15998 * page/FrameLoadRequest.h:
15999 * page/FrameTree.cpp:
16000 * page/FrameTree.h:
16001 * page/Page.h:
16002 * page/mac/ChromeMac.mm:
16003 * platform/network/HTTPHeaderMap.h:
16004 * platform/network/ResourceErrorBase.cpp:
16005 * platform/network/ResourceErrorBase.h:
16006 * platform/network/ResourceHandleInternal.h:
16007 * platform/network/ResourceRequestBase.cpp:
16008 * platform/network/ResourceRequestBase.h:
16009 * platform/network/ResourceResponseBase.cpp:
16010 * platform/network/ResourceResponseBase.h:
16011 * platform/network/cf/ResourceError.h:
16012 * platform/network/cf/ResourceRequest.h:
16013 * platform/network/cf/ResourceRequestCFNet.h:
16014 * platform/network/cf/ResourceResponse.h:
16015 * platform/network/cf/ResourceResponseCFNet.h:
16016 * platform/network/curl/ResourceError.h:
16017 * platform/network/curl/ResourceRequest.h:
16018 * platform/network/curl/ResourceResponse.h:
16019 * platform/network/mac/ResourceError.h:
16020 * platform/network/mac/ResourceErrorMac.mm:
16021 * platform/network/mac/ResourceRequest.h:
16022 * platform/network/mac/ResourceRequestMac.mm:
16023 * platform/network/mac/ResourceResponse.h:
16024 * platform/network/mac/ResourceResponseMac.mm:
16025 * platform/network/qt/ResourceError.h:
16026 * platform/network/qt/ResourceRequest.h:
16027 * platform/network/qt/ResourceResponse.h:
16028 * platform/network/soup/CookieJarSoup.cpp:
16029 * platform/network/soup/ResourceError.h:
16030 * platform/network/soup/ResourceRequest.h:
16031 * platform/network/soup/ResourceResponse.h:
16032
mitz@apple.com57a2f482008-08-23 07:16:41 +0000160332008-08-23 Dan Bernstein <mitz@apple.com>
16034
16035 Reviewed by Dave Hyatt.
16036
16037 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
16038
16039 Test: fast/table/vertical-align-baseline.html
16040
16041 * rendering/RenderTable.cpp:
16042 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
16043 baseline of the first table row, if there is one, -1 otherwise.
16044 * rendering/RenderTable.h:
16045 * rendering/RenderTableCell.cpp:
16046 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
16047 CSS2.1 definition of the baseline of a table cell.
16048 * rendering/RenderTableSection.cpp:
16049 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
16050 the baseline of the first row in the section.
16051 * rendering/RenderTableSection.h:
16052
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000160532008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
16054
16055 Add SPI to make a Windows WebView transparent.
16056
16057 Reviewed by Dan Bernstein.
16058
16059 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
16060 determines whether the created context has an alpha channel.
16061 * platform/graphics/win/GraphicsContextCGWin.cpp:
16062 (WebCore::CGContextWithHDC):
16063
timothy@apple.comb63d1172008-08-22 18:39:42 +0000160642008-08-22 Timothy Hatcher <timothy@apple.com>
16065
timothy@apple.com964022d2008-08-22 20:35:20 +000016066 Rolls out r35834 because it caused a regression in the Inspector's
16067 Console where some expressions always threw a syntax error.
16068
16069 https://bugs.webkit.org/show_bug.cgi?id=20487
16070
16071 * page/inspector/Console.js:
16072 (Console.prototype._evalInInspectedWindow): Removes parenthesis
16073 around the expression.
16074
160752008-08-22 Timothy Hatcher <timothy@apple.com>
16076
timothy@apple.com056d4782008-08-22 18:39:52 +000016077 Makes getStyleProperty return a value for the overflow property
16078 when overflow-x and overflow-y are equal.
16079
16080 https://bugs.webkit.org/show_bug.cgi?id=20485
16081
16082 Reviewed by Dan Bernstein.
16083
16084 Test: fast/css/overflow-property.html
16085
16086 * css/CSSMutableStyleDeclaration.cpp:
16087 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
16088
160892008-08-22 Timothy Hatcher <timothy@apple.com>
16090
timothy@apple.comb63d1172008-08-22 18:39:42 +000016091 Fixes a bug where while editing in the Inspector the
16092 sidebar scroll position would jump to the top.
16093
16094 https://bugs.webkit.org/show_bug.cgi?id=20484
16095
16096 Reviewed by Darin Adler.
16097
16098 * page/inspector/treeoutline.js:
16099 (TreeOutline._removeChildren): Remove the offsetTop call that
16100 was forcing a layout, since layout causes scroll positions
16101 to be clamped to the new scrollHeight/Width. Layout will happen
16102 normally when needed.
16103
kevino@webkit.org8271c842008-08-22 16:25:52 +0000161042008-08-22 Kevin Ollivier <kevino@theolliviers.com>
16105
16106 wx build fix. Add AccessibilityTable sources.
16107
16108 * WebCoreSources.bkl:
16109
mitz@apple.com9befc872008-08-22 06:29:33 +0000161102008-08-21 Dan Bernstein <mitz@apple.com>
16111
16112 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
16113
16114 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
16115
16116 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
16117
16118 * platform/graphics/mac/SimpleFontDataMac.mm:
16119 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
16120 ascent and 100% to its reported descent.
16121
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000161222008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
16123
16124 Reviewed by Darin Adler.
16125
mrowe@apple.com22eaa172008-08-22 02:10:15 +000016126 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000016127 [GTK] Crash on some pages due to a plugin
16128
16129 Fix handling of badly formatted and empty plugin mime descriptions
16130
16131 * plugins/gtk/PluginPackageGtk.cpp:
16132 (WebCore::PluginPackage::fetchInfo):
16133
mrowe@apple.com798b3432008-08-22 02:07:48 +0000161342008-08-21 Kevin Watters <kevinwatters@gmail.com>
16135
16136 Reviewed by Darin Adler.
16137
16138 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
16139 animated GIF frame duration of less than 50ms.
16140
16141 * platform/graphics/wx/ImageSourceWx.cpp:
16142 (WebCore::ImageSource::frameDurationAtIndex):
16143
britto@apple.com8ed72772008-08-22 00:39:39 +0000161442008-08-21 Maxime Britto <britto@apple.com>
16145
16146 Reviewed by Kevin McCullough.
16147
16148 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
16149 https://bugs.webkit.org/show_bug.cgi?id=20451
16150
16151 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
16152 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
16153 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
16154
16155 * page/EventHandler.cpp:
16156 (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.
16157
16158 (WebCore::EventHandler::handleMousePressEvent): ditto
16159
timothy@apple.com5d492192008-08-21 23:54:01 +0000161602008-08-21 Anthony Ricaud <rik24d@gmail.com>
16161
16162 Small optimization for when the dividers in the Inspector's
16163 Resources panel are updated.
16164
16165 Reviewed by Tim Hatcher.
16166
16167 * page/inspector/ResourcesPanel.js:
16168 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
16169 Combind a for loop and clone the divider element.
16170
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000161712008-08-21 Chris Marrin <cmarrin@apple.com>
16172
16173 Allow 0 (without units) for Time eg. duration
16174 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
16175
16176 Reviewed by Dave Hyatt.
16177
16178 Test: css1/units/zero-duration-without-units.html
16179
16180 * css/CSSParser.cpp:
16181 (WebCore::CSSParser::validUnit):
16182
timothy@apple.com29c12d02008-08-21 20:12:47 +0000161832008-08-21 Timothy Hatcher <timothy@apple.com>
16184
timothy@apple.comca11cd82008-08-21 20:13:12 +000016185 Make deleting all text while editing a DOM attribute in
16186 the Inspector delete the attribute. This also fixes
16187 an exception that would happen before.
16188
16189 https://bugs.webkit.org/show_bug.cgi?id=20472
16190
16191 Reviewed by Kevin McCullough.
16192
16193 * page/inspector/ElementsPanel.js:
16194 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
16195 Don't check for hasAttributes on the parseElement, continuing
16196 through the function will correctly remove the attribute.
16197 If the parseElement is null, call _editingCancelled not
16198 editingCancelled, this fixes an exception.
16199
162002008-08-21 Timothy Hatcher <timothy@apple.com>
16201
timothy@apple.comde831cf2008-08-21 20:12:59 +000016202 Update the Inspector's Metrics pane when editing in
16203 the Styles pane. This makes sure the metrics shown
16204 always match what the Styles pane shows.
16205
16206 https://bugs.webkit.org/show_bug.cgi?id=20470
16207
16208 Reviewed by Kevin McCullough.
16209
16210 * page/inspector/ElementsPanel.js:
16211 (WebInspector.ElementsPanel): Add event listeners for
16212 the "style edited" and "style property toggled" events,
16213 so the Metrics pane is updated.
16214 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
16215 Update the Metrics pane.
16216 * page/inspector/StylesSidebarPane.js:
16217 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
16218 Dispatch the "style property toggled" event.
16219 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
16220 Dispatch the "style edited" event when the CSS text is restored.
16221 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
16222 Dispatch the "style edited" event.
16223
162242008-08-21 Timothy Hatcher <timothy@apple.com>
16225
timothy@apple.com29c12d02008-08-21 20:12:47 +000016226 Make the Inspector's Metrics sidebar pane editable.
16227
16228 https://bugs.webkit.org/show_bug.cgi?id=17218
16229 rdar://problem/5732818
16230
16231 Reviewed by Kevin McCullough.
16232
16233 * page/inspector/ElementsPanel.js:
16234 (WebInspector.ElementsPanel): Add an event listener for
16235 the "metrics edited" event, so the Styles pane is updated.
16236 * page/inspector/MetricsSidebarPane.js:
16237 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
16238 so future updates work. Add a double click event listener for the
16239 metric values to start editing.
16240 (WebInspector.MetricsSidebarPane.prototype.startEditing):
16241 Call WebInspector.startEditing with some context.
16242 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
16243 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
16244 Set the user input on the elements inline style. Fire the
16245 "metrics edited" event.
16246
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000162472008-08-21 Steve Falkenburg <sfalken@apple.com>
16248
16249 Fix a race condition in Windows timer code.
16250 Timer function could end up being called with a 0 timer, leading to a Windows exception.
16251
16252 Don't post a timer message if one is already pending.
16253
16254 Reviewed by Ada Chan.
16255
16256 * platform/win/SharedTimerWin.cpp:
16257 (WebCore::TimerWindowWndProc):
16258 (WebCore::clearTimer):
16259 (WebCore::queueTimerProc):
16260 (WebCore::setSharedTimerFireTime):
16261
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000162622008-08-21 Anthony Ricaud <rik24d@gmail.com>
16263
timothy@apple.com493212c72008-08-21 16:36:06 +000016264 After trying to add the expression, try again with quotes for
16265 easier edition.
16266
16267 https://bugs.webkit.org/show_bug.cgi?id=20466
16268
16269 Reviewed by Tim Hatcher.
16270
16271 * page/inspector/ObjectPropertiesSection.js: Added an
16272 evaluateExpression function.
16273
162742008-08-21 Anthony Ricaud <rik24d@gmail.com>
16275
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000016276 Perform Inspector searches on search event to clear results when
16277 clicking the cross to empty it. Delete the lastQuery when the field
16278 is emptied in order to perform the search if exactly the same query
16279 is entered next.
16280
16281 https://bugs.webkit.org/show_bug.cgi?id=20462
16282
16283 Reviewed by Tim Hatcher.
16284
16285 * page/inspector/inspector.js:
16286
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000162872008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
16288
16289 Reviewed by Mark Rowe.
16290
16291 http://bugs.webkit.org/show_bug.cgi?id=19656
16292 [SOUP] The gio code should call didFail() instead of
16293 didFinishLoading() in case of error
16294
16295 In case of error call didFail() instead of didReceiveResponse() and
16296 didFinishLoading().
16297
16298 * platform/network/soup/ResourceHandleSoup.cpp:
16299 (WebCore::networkErrorForFile):
16300 (WebCore::readCallback):
16301 (WebCore::openCallback):
16302 (WebCore::queryInfoCallback):
16303
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000163042008-08-20 Mark Rowe <mrowe@apple.com>
16305
mrowe@apple.com4e593f42008-08-21 06:52:42 +000016306 Reviewed by Jon Honeycutt.
16307
16308 Fix build failure.
16309
16310 * bridge/c/c_instance.cpp:
16311 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
16312 as that is what NPEnumerationFunctionPtr is declared as accepting.
16313
163142008-08-20 Mark Rowe <mrowe@apple.com>
16315
mrowe@apple.com72a95b12008-08-21 04:01:51 +000016316 Reviewed by Dan Bernstein.
16317
16318 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
16319
16320 * platform/graphics/GraphicsContext.h:
16321 (WebCore::):
16322 * platform/graphics/cg/GraphicsContextCG.cpp:
16323 (WebCore::GraphicsContext::setImageInterpolationQuality):
16324 (WebCore::GraphicsContext::imageInterpolationQuality):
16325
mitz@apple.comaa938792008-08-21 00:33:29 +0000163262008-08-20 Dan Bernstein <mitz@apple.com>
16327
16328 Rubber-stamped by John Sullivan.
16329
16330 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
16331 rename related methods and variables accordingly.
16332
16333 * WebCore.base.exp:
16334 * page/FrameView.cpp:
16335 (WebCore::FrameViewPrivate::FrameViewPrivate):
16336 (WebCore::FrameView::shouldUpdateWhileOffscreen):
16337 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
16338 * page/FrameView.h:
16339 * platform/ScrollView.h:
16340 * platform/mac/ScrollViewMac.mm:
16341 (WebCore::ScrollView::updateContents):
16342
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000163432008-08-20 Brady Eidson <beidson@apple.com>
16344
16345 Reviewed by Mitzpettel
16346
16347 <rdar://problem/6163636> - Many images broken in Mail
16348
16349 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
16350 sooner than before and confuse the WebArchive machinery.
16351
16352 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
16353 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
16354 machinery and nothing is known about where the data will eventually come from.
16355
16356 * loader/DocumentLoader.cpp:
16357 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
16358 CachedResource::PreloadReferenced.
16359
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000163602008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
16361
16362 Unreviewed compile fix
16363
16364 Catch up with the JSValue::type elimination.
16365
16366 * bridge/qt/qt_instance.cpp:
16367 (KJS::Bindings::QtRuntimeObjectImp::construct):
16368 (KJS::Bindings::QtInstance::defaultValue):
16369 * bridge/qt/qt_runtime.cpp:
16370 (KJS::Bindings::QtRuntimeConnectionMethod::call):
16371
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000163722008-08-20 Chris Teague <chris.teague@gmail.com>
16373
16374 Reviewed by Mark Rowe.
16375
16376 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
16377 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
16378
16379 * ChangeLog:
16380 * loader/FrameLoader.cpp:
16381 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
16382
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000163832008-08-20 Simon Fraser <simon.fraser@apple.com>
16384
16385 Reviewed by Dave Hyatt
16386
16387 getComputedStyle() for webkitTransform should return a transform
16388 that does not have the transform origin baked into it.
16389 https://bugs.webkit.org/show_bug.cgi?id=20464
16390
16391 Test: fast/css/getComputedStyle-transform.html
16392
16393 * css/CSSComputedStyleDeclaration.cpp:
16394 (WebCore::computedTransform):
16395 * rendering/style/RenderStyle.cpp:
16396 (WebCore::RenderStyle::applyTransform):
16397 * rendering/style/RenderStyle.h:
16398
andersca@apple.com021ce772008-08-20 21:04:12 +0000163992008-08-20 Josh Aas <joshmoz@gmail.com>
16400
16401 Reviewed and landed by Anders.
16402
16403 <rdar://problem/6163636>
16404 rename NPCocoaEvent's "event" struct to "data" (20446)
16405
16406 * bridge/npapi.h:
16407 (_NPCocoaEvent::):
16408
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000164092008-08-20 Beth Dakin <bdakin@apple.com>
16410
darin@apple.com07c80c62008-09-05 18:15:43 +000016411 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000016412
16413 Fix for <rdar://problem/6145626>
16414 This patch fixes a number of remaining problems getting
16415 disconnected frames to work correctly with markAllMatchesForText()
16416 and findString(). Details inline.
16417
16418 This was a static helper function in Frame, but this patch requires
16419 the same functionality in Editor, so I just added it as a function
16420 on Node.
16421 * dom/Node.cpp:
16422 (WebCore::Node::isInShadowTree):
16423 * dom/Node.h:
16424
16425 * editing/Editor.cpp:
16426 (WebCore::Editor::insideVisibleArea): Returns false if
16427 excludeFromTextSearch() is true.
16428
16429 In a normal (non-disconnected) frame, findString returns a range of
16430 the document node if the text is not found in the frame. I changed
16431 firstVisibleRange and lastVisibleRange to match that behavior when
16432 the text is not found
16433 (WebCore::Editor::firstVisibleRange):
16434 (WebCore::Editor::lastVisibleRange):
16435
16436 Here are the bulk of the changes in the patch. A lot of text was
16437 not being found in disconnected frames because I failed to account
16438 for all of the possible problems associated with shadow trees. That
16439 is fixed here.
16440 (WebCore::Editor::nextVisibleRange):
16441 * editing/Editor.h:
16442
16443 excludeFromTextSearch() is new. It allows a WebKit client to mark a
16444 frame as not-text-searchable through SPI.
16445 * WebCore.base.exp:
16446 * page/Frame.cpp:
16447 (WebCore::Frame::excludeFromTextSearch):
16448 (WebCore::Frame::setExcludeFromTextSearch):
16449 (WebCore::FramePrivate::FramePrivate):
16450 * page/Frame.h:
16451 * page/FramePrivate.h:
16452
16453 (WebCore::Frame::findString):
16454 (WebCore::Frame::markAllMatchesForText): I kept running into an
16455 assertion failure in paining code because of the forced paint on
16456 empty visible rects.
16457
timothy@apple.com301befc2008-08-20 19:10:54 +0000164582008-08-20 Timothy Hatcher <timothy@apple.com>
16459
16460 Adds a positon box to the Inspector's Metrics sidebar
16461 pane. When an element is not statically positioned, there
16462 is now a position box that show top, right, bottom and
16463 left computed values.
16464
16465 Reviewed by Kevin McCullough.
16466
16467 * English.lproj/localizedStrings.js: Updated the strings.
16468 * page/inspector/MetricsSidebarPane.js:
16469 (WebInspector.MetricsSidebarPane.prototype.update):
16470 Renamed the boxPartValue function to createBoxPartElement
16471 and made it create the entire element. Made it understand
16472 how to get position style properties. Don't use the figure dash
16473 when 0px is used for positions, since the 0 is meaningful there.
16474 Instead use the figure dash when a position is auto.
16475 * page/inspector/inspector.css: Added a new rule for position.
16476
mrowe@apple.com37686d42008-09-04 00:10:39 +0000164772008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000016478
16479 Reviewed by Beth Dakin
16480
16481 Qt build fix
16482
16483 * WebCore.pro:
16484
mitz@apple.comedaa9042008-08-20 18:28:07 +0000164852008-08-20 Dan Bernstein <mitz@apple.com>
16486
16487 Reviewed by Anders Carlsson.
16488
16489 - avoid using a deprecated NSScroller method on Leopard
16490
16491 * platform/mac/PlatformScrollBarMac.mm:
16492 (WebCore::PlatformScrollbar::updateThumbPosition):
16493 (WebCore::PlatformScrollbar::updateThumbProportion):
16494
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000164952008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
16496
16497 Reviewed by Oliver Hunt.
16498
16499 Gtk build fix
16500
16501 * GNUmakefile.am:
16502 * page/AccessibilityTable.cpp: Change nil to 0
16503 (WebCore::AccessibilityTable::cellForColumnAndRow):
16504
ap@webkit.org01aff702008-08-20 07:23:06 +0000165052008-08-19 Alexey Proskuryakov <ap@webkit.org>
16506
16507 Reviewed by Geoff Garen.
16508
16509 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
16510
16511 * ForwardingHeaders/kjs/JSLock.h: Added.
16512 * WebCore.vcproj/WebCore.vcproj:
16513 * bindings/js/GCController.cpp:
16514 (WebCore::collect):
16515 (WebCore::GCController::gcTimerFired):
16516 (WebCore::GCController::garbageCollectNow):
16517 * bindings/js/JSCustomSQLStatementCallback.cpp:
16518 (WebCore::JSCustomSQLStatementCallback::handleEvent):
16519 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
16520 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
16521 * bindings/js/JSCustomSQLTransactionCallback.cpp:
16522 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
16523 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
16524 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
16525 * bindings/js/JSCustomVoidCallback.cpp:
16526 (WebCore::JSCustomVoidCallback::handleEvent):
16527 * bindings/js/JSCustomXPathNSResolver.cpp:
16528 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
16529 * bindings/js/JSDOMWindowBase.cpp:
16530 (WebCore::DOMWindowTimer::~DOMWindowTimer):
16531 (WebCore::JSDOMWindowBase::clear):
16532 (WebCore::JSDOMWindowBase::timerFired):
16533 * bindings/js/JSEventCustom.cpp:
16534 (WebCore::toJS):
16535 * bindings/js/JSEventListener.cpp:
16536 (WebCore::JSAbstractEventListener::handleEvent):
16537 * bindings/js/JSNSResolver.cpp:
16538 (WebCore::JSNSResolver::lookupNamespaceURI):
16539 * bindings/js/JSNodeFilterCondition.cpp:
16540 (WebCore::JSNodeFilterCondition::acceptNode):
16541 * bindings/js/ScheduledAction.cpp:
16542 (WebCore::ScheduledAction::execute):
16543 * bindings/js/ScriptController.cpp:
16544 (WebCore::ScriptController::evaluate):
16545 (WebCore::ScriptController::clearWindowShell):
16546 (WebCore::ScriptController::createHTMLEventHandler):
16547 (WebCore::ScriptController::createSVGEventHandler):
16548 (WebCore::ScriptController::initScript):
16549 (WebCore::ScriptController::updateDocument):
16550 (WebCore::ScriptController::bindingRootObject):
16551 (WebCore::ScriptController::windowScriptNPObject):
16552 (WebCore::ScriptController::createScriptObjectForPluginElement):
16553 (WebCore::ScriptController::clearScriptObjects):
16554 * bindings/js/ScriptControllerMac.mm:
16555 (WebCore::ScriptController::windowScriptObject):
16556 * bindings/objc/WebScriptObject.mm:
16557 (_didExecute):
16558 (-[WebScriptObject callWebScriptMethod:withArguments:]):
16559 (-[WebScriptObject evaluateWebScript:]):
16560 (-[WebScriptObject setValue:forKey:]):
16561 (-[WebScriptObject valueForKey:]):
16562 (-[WebScriptObject removeWebScriptKey:]):
16563 (-[WebScriptObject stringRepresentation]):
16564 (-[WebScriptObject webScriptValueAtIndex:]):
16565 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
16566 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
16567 * bridge/NP_jsobject.cpp:
16568 (_NPN_InvokeDefault):
16569 (_NPN_Invoke):
16570 (_NPN_Evaluate):
16571 (_NPN_GetProperty):
16572 (_NPN_SetProperty):
16573 (_NPN_RemoveProperty):
16574 (_NPN_HasProperty):
16575 (_NPN_HasMethod):
16576 (_NPN_Enumerate):
16577 * bridge/c/c_class.cpp:
16578 (KJS::Bindings::CClass::~CClass):
16579 (KJS::Bindings::CClass::methodsNamed):
16580 (KJS::Bindings::CClass::fieldNamed):
16581 * bridge/c/c_instance.cpp:
16582 (KJS::Bindings::CInstance::invokeMethod):
16583 (KJS::Bindings::CInstance::invokeDefaultMethod):
16584 (KJS::Bindings::CInstance::getPropertyNames):
16585 * bridge/c/c_runtime.cpp:
16586 (KJS::Bindings::CField::valueFromInstance):
16587 (KJS::Bindings::CField::setValueToInstance):
16588 * bridge/c/c_utility.cpp:
16589 (KJS::Bindings::convertValueToNPVariant):
16590 (KJS::Bindings::convertNPVariantToValue):
16591 * bridge/jni/jni_class.cpp:
16592 (JavaClass::JavaClass):
16593 (JavaClass::~JavaClass):
16594 * bridge/jni/jni_instance.cpp:
16595 (JavaInstance::stringValue):
16596 * bridge/jni/jni_jsobject.mm:
16597 (JavaJSObject::call):
16598 (JavaJSObject::eval):
16599 (JavaJSObject::getMember):
16600 (JavaJSObject::setMember):
16601 (JavaJSObject::removeMember):
16602 (JavaJSObject::getSlot):
16603 (JavaJSObject::setSlot):
16604 (JavaJSObject::toString):
16605 (JavaJSObject::convertValueToJObject):
16606 (JavaJSObject::convertJObjectToValue):
16607 * bridge/jni/jni_objc.mm:
16608 (KJS::Bindings::dispatchJNICall):
16609 * bridge/jni/jni_runtime.cpp:
16610 (appendClassName):
16611 (JavaMethod::signature):
16612 * bridge/jni/jni_runtime.h:
16613 (KJS::Bindings::JavaString::JavaString):
16614 (KJS::Bindings::JavaString::_commonInit):
16615 (KJS::Bindings::JavaString::~JavaString):
16616 (KJS::Bindings::JavaString::UTF8String):
16617 * bridge/jni/jni_utility.cpp:
16618 (KJS::Bindings::convertValueToJValue):
16619 * bridge/npruntime.cpp:
16620 (_NPN_GetStringIdentifier):
16621 * bridge/objc/objc_instance.mm:
16622 (ObjcInstance::moveGlobalExceptionToExecState):
16623 (ObjcInstance::invokeMethod):
16624 (ObjcInstance::invokeDefaultMethod):
16625 (ObjcInstance::setValueOfUndefinedField):
16626 (ObjcInstance::getValueOfUndefinedField):
16627 * bridge/objc/objc_runtime.mm:
16628 (ObjcField::valueFromInstance):
16629 (ObjcField::setValueToInstance):
16630 * bridge/objc/objc_utility.mm:
16631 (KJS::Bindings::convertValueToObjcValue):
16632 (KJS::Bindings::convertNSStringToString):
16633 (KJS::Bindings::convertObjcValueToValue):
16634 * bridge/qt/qt_instance.cpp:
16635 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
16636 (KJS::Bindings::QtInstance::~QtInstance):
16637 (KJS::Bindings::QtInstance::getQtInstance):
16638 (KJS::Bindings::QtInstance::getRuntimeObject):
16639 * bridge/qt/qt_runtime.cpp:
16640 (KJS::Bindings::convertValueToQVariant):
16641 (KJS::Bindings::convertQVariantToValue):
16642 (KJS::Bindings::QtRuntimeMetaMethod::call):
16643 (KJS::Bindings::QtRuntimeConnectionMethod::call):
16644 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
16645 (KJS::Bindings::QtConnectionObject::execute):
16646 * bridge/runtime.cpp:
16647 (KJS::Bindings::Instance::createRuntimeObject):
16648 * bridge/testbindings.cpp:
16649 (main):
16650 * bridge/testbindings.mm:
16651 (main):
16652 * bridge/testqtbindings.cpp:
16653 (main):
16654 * dom/Document.cpp:
16655 (WebCore::Document::~Document):
16656 * dom/Node.cpp:
16657 (WebCore::Node::setDocument):
16658 * history/CachedPage.cpp:
16659 (WebCore::CachedPage::CachedPage):
16660 (WebCore::CachedPage::restore):
16661 (WebCore::CachedPage::clear):
16662 * loader/FrameLoader.cpp:
16663 (WebCore::getString):
16664 * page/InspectorController.cpp:
16665 (WebCore::ConsoleMessage::ConsoleMessage):
16666 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
16667 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
16668 (WebCore::getResourceDocumentNode):
16669 (WebCore::search):
16670 (WebCore::inspectedWindow):
16671 (WebCore::wrapCallback):
16672 (WebCore::currentCallFrame):
16673 (WebCore::profiles):
16674 (WebCore::InspectorController::focusNode):
16675 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
16676 (WebCore::InspectorController::addDatabaseScriptResource):
16677 (WebCore::InspectorController::addScriptProfile):
16678 * page/JavaScriptCallFrame.cpp:
16679 (WebCore::JavaScriptCallFrame::evaluate):
16680 * page/JavaScriptProfileNode.cpp:
16681 (WebCore::getTotalTime):
16682 (WebCore::getSelfTime):
16683 (WebCore::getTotalPercent):
16684 (WebCore::getSelfPercent):
16685 (WebCore::getNumberOfCalls):
16686 (WebCore::getChildren):
16687 (WebCore::getVisible):
16688 * page/Page.cpp:
16689 * page/mac/FrameMac.mm:
16690 * plugins/PluginView.cpp:
16691 (WebCore::PluginView::start):
16692 (WebCore::getString):
16693 (WebCore::PluginView::performRequest):
16694 (WebCore::PluginView::bindingInstance):
16695 * plugins/gtk/PluginViewGtk.cpp:
16696 (WebCore::PluginView::paint):
16697 (WebCore::PluginView::handleKeyboardEvent):
16698 (WebCore::PluginView::handleMouseEvent):
16699 (WebCore::PluginView::setNPWindowRect):
16700 (WebCore::PluginView::stop):
16701 (WebCore::PluginView::init):
16702 * plugins/qt/PluginViewQt.cpp:
16703 (WebCore::PluginView::setNPWindowRect):
16704 (WebCore::PluginView::stop):
16705 (WebCore::PluginView::init):
16706 * plugins/win/PluginViewWin.cpp:
16707 (WebCore::PluginView::dispatchNPEvent):
16708 (WebCore::PluginView::handleKeyboardEvent):
16709 (WebCore::PluginView::handleMouseEvent):
16710 (WebCore::PluginView::setNPWindowRect):
16711 (WebCore::PluginView::stop):
16712 * xml/XMLHttpRequest.cpp:
16713 (WebCore::XMLHttpRequest::clearResponse):
16714 (WebCore::XMLHttpRequest::didFinishLoading):
16715 (WebCore::XMLHttpRequest::didReceiveData):
16716
eric@webkit.orgbac93762008-08-19 23:33:07 +0000167172008-08-19 Eric Seidel <eric@webkit.org>
16718
16719 Reviewed by Geoff Garen.
16720
16721 Add the beginnings of Skia graphics support to WebCore
16722 as I try to begin the long process of un-forking the changes
16723 needed to WebCore to make Andriod's WebCore build.
16724
16725 I'll follow this up with actual *Skia.cpp files in a separate patch.
16726
16727 * platform/graphics/AffineTransform.h:
16728 * platform/graphics/FloatPoint.h:
16729 * platform/graphics/FloatRect.h:
16730 * platform/graphics/Gradient.h:
16731 * platform/graphics/GraphicsContext.h:
16732 * platform/graphics/Image.h:
16733 * platform/graphics/ImageBuffer.h:
16734 * platform/graphics/ImageSource.h:
16735 * platform/graphics/IntPoint.h:
16736 * platform/graphics/IntRect.h:
16737 * platform/graphics/Path.h:
16738 * platform/graphics/Pattern.h:
16739 * svg/graphics/SVGPaintServerPattern.h:
16740 * svg/graphics/SVGPaintServerSolid.h:
16741
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000167422008-08-19 Steve Falkenburg <sfalken@apple.com>
16743
sfalken@apple.com45d22802008-08-19 22:46:31 +000016744 Fix Windows build more.
16745
16746 * WebCore.vcproj/WebCore.vcproj:
16747
167482008-08-19 Steve Falkenburg <sfalken@apple.com>
16749
sfalken@apple.com3f69b332008-08-19 22:34:37 +000016750 Fix Windows build.
16751
16752 * page/AccessibilityRenderObject.cpp:
16753 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
16754
mrowe@apple.com37686d42008-09-04 00:10:39 +0000167552008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000016756
16757 Reviewed by Beth Dakin.
16758
16759 <rdar://problem/4003764> Expose tables as AXTables
16760
16761 Tests: accessibility/table-attributes.html
16762 accessibility/table-cell-spans.html
16763 accessibility/table-cells.html
16764 accessibility/table-detection.html
16765 accessibility/table-sections.html
16766 accessibility/table-with-rules.html
16767
16768 * WebCore.xcodeproj/project.pbxproj:
16769 * page/AXObjectCache.cpp:
16770 (WebCore::AXObjectCache::get):
16771 * page/AccessibilityObject.h:
16772 (WebCore::):
16773 (WebCore::AccessibilityObject::isDataTable):
16774 (WebCore::AccessibilityObject::isTableRow):
16775 (WebCore::AccessibilityObject::isTableColumn):
16776 (WebCore::AccessibilityObject::isTableCell):
16777 * page/AccessibilityRenderObject.cpp:
16778 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
16779 * page/AccessibilityTable.cpp: Added.
16780 (WebCore::AccessibilityTable::AccessibilityTable):
16781 (WebCore::AccessibilityTable::~AccessibilityTable):
16782 (WebCore::AccessibilityTable::create):
16783 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
16784 (WebCore::AccessibilityTable::clearChildren):
16785 (WebCore::AccessibilityTable::addChildren):
16786 (WebCore::AccessibilityTable::headerContainer):
16787 (WebCore::AccessibilityTable::columns):
16788 (WebCore::AccessibilityTable::rows):
16789 (WebCore::AccessibilityTable::rowHeaders):
16790 (WebCore::AccessibilityTable::columnHeaders):
16791 (WebCore::AccessibilityTable::cells):
16792 (WebCore::AccessibilityTable::columnCount):
16793 (WebCore::AccessibilityTable::rowCount):
16794 (WebCore::AccessibilityTable::cellForColumnAndRow):
16795 (WebCore::AccessibilityTable::roleValue):
16796 (WebCore::AccessibilityTable::accessibilityIsIgnored):
16797 (WebCore::AccessibilityTable::title):
16798 (WebCore::AccessibilityTable::isDataTable):
16799 * page/AccessibilityTable.h: Added.
16800 * page/AccessibilityTableCell.cpp: Added.
16801 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
16802 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
16803 (WebCore::AccessibilityTableCell::create):
16804 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
16805 (WebCore::AccessibilityTableCell::rowIndexRange):
16806 (WebCore::AccessibilityTableCell::columnIndexRange):
16807 * page/AccessibilityTableCell.h: Added.
16808 (WebCore::AccessibilityTableCell::isTableCell):
16809 (WebCore::AccessibilityTableCell::roleValue):
16810 * page/AccessibilityTableColumn.cpp: Added.
16811 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
16812 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
16813 (WebCore::AccessibilityTableColumn::create):
16814 (WebCore::AccessibilityTableColumn::setParentTable):
16815 (WebCore::AccessibilityTableColumn::elementRect):
16816 (WebCore::AccessibilityTableColumn::size):
16817 (WebCore::AccessibilityTableColumn::children):
16818 (WebCore::AccessibilityTableColumn::headerObject):
16819 (WebCore::AccessibilityTableColumn::headerObjectForSection):
16820 (WebCore::AccessibilityTableColumn::addChildren):
16821 * page/AccessibilityTableColumn.h: Added.
16822 (WebCore::AccessibilityTableColumn::parentObject):
16823 (WebCore::AccessibilityTableColumn::roleValue):
16824 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
16825 (WebCore::AccessibilityTableColumn::isTableColumn):
16826 (WebCore::AccessibilityTableColumn::setColumnIndex):
16827 (WebCore::AccessibilityTableColumn::columnIndex):
16828 * page/AccessibilityTableHeaderContainer.cpp: Added.
16829 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
16830 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
16831 (WebCore::AccessibilityTableHeaderContainer::create):
16832 (WebCore::AccessibilityTableHeaderContainer::children):
16833 (WebCore::AccessibilityTableHeaderContainer::elementRect):
16834 (WebCore::AccessibilityTableHeaderContainer::size):
16835 (WebCore::AccessibilityTableHeaderContainer::addChildren):
16836 * page/AccessibilityTableHeaderContainer.h: Added.
16837 (WebCore::AccessibilityTableHeaderContainer::roleValue):
16838 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
16839 (WebCore::AccessibilityTableHeaderContainer::parentObject):
16840 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
16841 * page/AccessibilityTableRow.cpp: Added.
16842 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
16843 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
16844 (WebCore::AccessibilityTableRow::create):
16845 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
16846 (WebCore::AccessibilityTableRow::headerObject):
16847 * page/AccessibilityTableRow.h: Added.
16848 (WebCore::AccessibilityTableRow::isTableRow):
16849 (WebCore::AccessibilityTableRow::roleValue):
16850 (WebCore::AccessibilityTableRow::setRowIndex):
16851 (WebCore::AccessibilityTableRow::rowIndex):
16852 * page/mac/AccessibilityObjectWrapper.mm:
16853 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
16854 (RoleEntry::):
16855 (-[AccessibilityObjectWrapper roleDescription]):
16856 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
16857 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
16858 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
16859
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000168602008-08-19 Steve Falkenburg <sfalken@apple.com>
16861
16862 Build fix.
16863 Add buildfailed support to stop builds early (preventing inaccurate error messages).
16864 Add missing post-build rule to Release.
16865
16866 * WebCore.vcproj/QTMovieWin.vcproj:
16867
timothy@apple.comda3aa632008-08-19 18:33:02 +0000168682008-08-19 Keishi Hattori <casey.hattori@gmail.com>
16869
timothy@apple.com7d08c322008-08-19 18:33:27 +000016870 Added support for console.count in the inspector.
16871
16872 Reviewed by Geoff Garen.
16873
16874 * page/Console.cpp:
16875 (WebCore::Console::count):
16876 * page/Console.h:
16877 * page/Console.idl: Added console.count.
16878 * page/InspectorController.cpp:
16879 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
16880 (WebCore::InspectorController::count): Updates the count number
16881 sing "title@source:line" as the identifier, and adds a
16882 message to the console.
16883 * page/InspectorController.h: Added m_counts.
16884
168852008-08-19 Keishi Hattori <casey.hattori@gmail.com>
16886
timothy@apple.comda3aa632008-08-19 18:33:02 +000016887 Clear console.time timers when changing page.
16888
16889 Reviewed by Geoff Garen.
16890
16891 * page/InspectorController.cpp:
16892 (WebCore::InspectorController::didCommitLoad):
16893
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000168942008-08-19 Eric Carlson <eric.carlson@apple.com>
16895
16896 Reviewed by Adele.
16897
16898 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
16899 https://bugs.webkit.org/show_bug.cgi?id=20404
16900
16901 Ignore setVisible() when visibility doesn't change.
16902
16903 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
16904 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16905 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
16906 (WebCore::MediaPlayerPrivate::setVisible):
16907
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000169082008-08-19 Timothy Hatcher <timothy@apple.com>
16909
timothy@apple.come058a792008-08-19 17:01:12 +000016910 Fixes a bug in the Profile view where switching sort order, then
16911 switching from heavy to tree mode would show the tree in the
16912 previous sort order.
16913
16914 https://bugs.webkit.org/show_bug.cgi?id=20441
16915
16916 Reviewed by Kevin McCullough.
16917
16918 * page/inspector/ProfileView.js:
16919 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
16920 on the next profile before assigning it to this.profile.
16921 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
16922 (WebInspector.ProfileView.prototype._sortProfile): Moves from
16923 _sortData and takes a profile argument. If the profile passed in
16924 matches the this.profile, then call refresh.
16925
169262008-08-18 Timothy Hatcher <timothy@apple.com>
16927
timothy@apple.come525e402008-08-19 17:01:00 +000016928 Changed the default sort order now that heavy view is the default.
16929 Also fixes a bug where the heavy profile was not sorted at first.
16930
16931 https://bugs.webkit.org/show_bug.cgi?id=20440
16932
16933 Reviewed by Kevin McCullough.
16934
16935 * page/inspector/ProfileView.js:
16936 (WebInspector.ProfileView): Changed the default sort column. Also assign
16937 heavyProfile to profile, so the sortSelfTimeDescending call happens
16938 on the heavy profile before assigning to this.profile.
16939
169402008-08-18 Timothy Hatcher <timothy@apple.com>
16941
timothy@apple.comc9287f32008-08-19 17:00:36 +000016942 Add support for editing DOM properties and scope variables by double
16943 clicking a property to enter edit mode.
16944
16945 https://bugs.webkit.org/show_bug.cgi?id=20415
16946
16947 Reviewed by Kevin McCullough.
16948
16949 * page/inspector/ObjectPropertiesSection.js:
16950 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
16951 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
16952 Factored out code into update, and calls update.
16953 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
16954 Call removeChildren since this method can be called multiple times now.
16955 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
16956 gets made later in onattach.
16957 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
16958 if shouldRefreshChildren is true. Call removeChildren since this method can be
16959 called multiple times now.
16960 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
16961 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
16962 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
16963 this element (code moved from the constructor.)
16964 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
16965 sibling property elements.
16966 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
16967 WebInspector.startEditing after rememebring some context.
16968 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
16969 for the list element, since it might have scrolled during editing.
16970 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
16971 then restore the state from the context. Then call update to restore the title.
16972 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
16973 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
16974 to commit the user input.
16975 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
16976 and stores the result on the object for the property name of this element. If the expression is
16977 empty, delete the property and remove the tree element.
16978 * page/inspector/ScopeChainSidebarPane.js:
16979 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
16980 property on each ObjectPropertiesSection.
16981 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
16982 since it is now implemented.
16983 * page/inspector/ScriptsPanel.js:
16984 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
16985 that defaults to true if omitted. It specifies whether to call update on the scope chain.
16986 * page/inspector/inspector.css: New styles.
16987 * page/inspector/treeoutline.js:
16988 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
16989 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
16990
169912008-08-18 Timothy Hatcher <timothy@apple.com>
16992
timothy@apple.com9d9821a2008-08-19 17:00:26 +000016993 Surround the expression to be evaluated in parenthesis so the
16994 result of the eval is the result of the whole expression not
16995 the last potential sub-expression. So evaluating {x: 123}
16996 will show the Object not 123.
16997
16998 https://bugs.webkit.org/show_bug.cgi?id=20428
16999
17000 Reviewed by Kevin McCullough.
17001
17002 * page/inspector/Console.js:
17003 (Console.prototype._evalInInspectedWindow): Add parenthesis
17004 around the expression. And add couple comments.
17005
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000170062008-08-19 Kevin McCullough <kmccullough@apple.com>
17007
17008 Reviewed by Geoff.
17009
17010 -Implement a page() function to extract a common code pattern.
17011
17012 * WebCore.xcodeproj/project.pbxproj:
17013 * page/Console.cpp:
17014 (WebCore::Console::addMessage):
17015 (WebCore::Console::error):
17016 (WebCore::Console::info):
17017 (WebCore::Console::log):
17018 (WebCore::Console::dir):
17019 (WebCore::Console::assertCondition):
17020 (WebCore::Console::time):
17021 (WebCore::Console::timeEnd):
17022 (WebCore::Console::group):
17023 (WebCore::Console::groupEnd):
17024 (WebCore::Console::finishedProfiling):
17025 (WebCore::Console::warn):
17026 (WebCore::Console::framePage):
17027 * page/Console.h:
17028
darin@apple.com349e1eb2008-08-19 04:39:04 +0000170292008-08-12 Darin Adler <darin@apple.com>
17030
17031 Reviewed by Geoff.
17032
17033 - eliminate JSValue::type()
17034
17035 * bridge/c/c_instance.cpp:
17036 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
17037 argument instead of JSType argument. Removed unneeded code to handle
17038 boolean, since that's never passed.
17039 * bridge/c/c_instance.h: Ditto.
17040
17041 * bridge/c/c_utility.cpp:
17042 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
17043 instead of JSValue::type(). Removed unneeded code to handle
17044 "unspecified".
17045
17046 * bridge/jni/jni_instance.cpp:
17047 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
17048 instead of JSType argument. Removed unneeded code to handle boolean.
17049 * bridge/jni/jni_instance.h: Ditto.
17050
17051 * bridge/jni/jni_jsobject.mm:
17052 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
17053 instead of JSValue::type().
17054
17055 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
17056 instead of JSType argument. Removed unused argument.
17057 * bridge/objc/objc_instance.mm:
17058 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
17059 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
17060 instead of JSType argument. Removed unneeded code to handle boolean
17061 and another dead code path for unknown types.
17062
17063 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
17064 instead of JSType argument. Removed override of type() that caused
17065 the fallback object to return "UndefinedType" when there is no
17066 invokeUndefinedMethodFromWebScript:withArguments: method defined.
17067 That didn't accomplish much, since most checks for undefined don't
17068 ever call type().
17069 * bridge/objc/objc_runtime.mm:
17070 (ObjcFallbackObjectImp::defaultValue): Ditto.
17071
17072 * bridge/qt/qt_instance.cpp:
17073 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
17074 argument instead of JSType argument. Removed unneeded code to handle
17075 boolean.
17076 * bridge/qt/qt_instance.h: Ditto.
17077
17078 * bridge/runtime.h:
17079 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
17080 unsed argument.
17081 * bridge/runtime_object.cpp:
17082 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
17083 argument instead of JSType argument.
17084 * bridge/runtime_object.h: Ditto.
17085
britto@apple.comaf7f8382008-08-19 00:42:13 +0000170862008-08-18 Maxime Britto <britto@apple.com>
17087
17088 Reviewed by Adele.
17089
17090 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
17091 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
17092 We shouldn't be able to create another window while we are in pan scrolling.
17093 Other browsers behaviors :
17094 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
17095 IE7 : Keys are not disabled but stops immediately the panning.
17096 This patch matches FF3 behavior by disabling every key but the esc key.
17097
17098 * page/EventHandler.cpp:
17099 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
17100 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
17101
mitz@apple.com12404d82008-08-19 00:20:38 +0000171022008-08-18 Dan Bernstein <mitz@apple.com>
17103
17104 Reviewed by Dave Hyatt.
17105
17106 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
17107
17108 Test: fast/replaced/max-width-percent.html
17109
17110 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
17111 When false, max-width is not factored into the
17112 calculation.
17113 Changed RenderReplaced and subclasses' calcPrefWidths() to call
17114 calcReplacedWidth(false) and then apply max-width only if it has a
17115 fixed, positive value.
17116
17117 * rendering/RenderBox.cpp:
17118 (WebCore::RenderBox::calcReplacedWidth):
17119 * rendering/RenderBox.h:
17120 * rendering/RenderImage.cpp:
17121 (WebCore::RenderImage::calcReplacedWidth):
17122 (WebCore::RenderImage::calcPrefWidths):
17123 * rendering/RenderImage.h:
17124 * rendering/RenderReplaced.cpp:
17125 (WebCore::RenderReplaced::calcPrefWidths):
17126 * rendering/RenderSVGRoot.cpp:
17127 (WebCore::RenderSVGRoot::calcPrefWidths):
17128 * rendering/RenderVideo.cpp:
17129 (WebCore::RenderVideo::calcReplacedWidth):
17130 (WebCore::RenderVideo::calcPrefWidths):
17131 * rendering/RenderVideo.h:
17132
mrowe@apple.comced88732008-08-18 22:47:28 +0000171332008-08-18 Daniel Macks <dmacks@netspace.org>
17134
17135 Reviewed by Mark Rowe.
17136
17137 https://bugs.webkit.org/show_bug.cgi?id=20410
17138 More portable/self-documenting replacement for SIZE_MAX.
17139
17140 * platform/network/curl/FormDataStreamCurl.cpp:
17141 (WebCore::FormDataStream::read):
17142
171432008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000017144
17145 Reviewed by Dave Hyatt
17146
17147 Need to make sure we have an Animation in the AnimationList
17148 before setting the initial value.
17149 https://bugs.webkit.org/show_bug.cgi?id=20408
17150
17151 Test: fast/css/transition_shorthand_parsing.html
17152
17153 * css/CSSStyleSelector.cpp:
17154
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000171552008-08-18 Kevin McCullough <kmccullough@apple.com>
17156
kmccullough@apple.com707bd362008-08-18 20:21:57 +000017157 Reviewed by Tim.
17158
17159 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
17160 is another profile.
17161
17162 * page/inspector/ProfilesPanel.js:
17163
171642008-08-18 Kevin McCullough <kmccullough@apple.com>
17165
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000017166 Reviewed by Geoff.
17167
17168 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
17169 all console messages
17170
17171 * page/inspector/Console.js:
17172
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000171732008-08-18 Dirk Schulze <vbs85@gmx.de>
17174
17175 Reviewed by Eric Seidel.
17176
17177 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
17178 the canvas clean up.
17179
17180 https://bugs.webkit.org/show_bug.cgi?id=20405
17181
17182 * html/CanvasRenderingContext2D.cpp:
17183 (WebCore::CanvasRenderingContext2D::fill):
17184 (WebCore::CanvasRenderingContext2D::stroke):
17185 (WebCore::CanvasRenderingContext2D::fillRect):
17186
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000171872008-08-17 Timothy Hatcher <timothy@apple.com>
17188
17189 Complete in scope variables in the Console when paused.
17190
17191 https://bugs.webkit.org/show_bug.cgi?id=19115
17192
17193 Reviewed by Geoffrey Garen.
17194
17195 * page/inspector/Console.js:
17196 (WebInspector.Console.prototype.completions): If the expressionString
17197 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
17198 to get an object that declares all the in scope variables. That way
17199 "top level" expressions are completed.
17200 * page/inspector/ScriptsPanel.js:
17201 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
17202 Return an object that has all the variables that are in scope for the
17203 selected call frame. The value of each property is just true.
17204 The return object is useful for quick lookups or auto completion.
17205
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000172062008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
17207
17208 Not reviewed.
17209
17210 Speculative Qt build fix.
17211
17212 * bridge/qt/qt_runtime.cpp:
17213 (KJS::Bindings::convertValueToQVariant):
17214 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
17215
ggaren@apple.comfea43532008-08-17 20:23:49 +0000172162008-08-17 Geoffrey Garen <ggaren@apple.com>
17217
17218 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000017219
17220 Updated project files to XCode 3.1.
17221
17222 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
17223
172242008-08-17 Geoffrey Garen <ggaren@apple.com>
17225
17226 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000017227
17228 Made room for a free word in JSCell.
17229
17230 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
17231 JSGlobalData, so the two could share a pointer.
17232
17233 Added a bunch of ASSERTs, to help catch over-sized objects.
17234
mrowe@apple.com13570292008-08-16 06:48:10 +0000172352008-08-15 Mark Rowe <mrowe@apple.com>
17236
mitz@apple.comb96c1b92008-08-17 03:28:52 +000017237 Reviewed by Dan Bernstein.
17238
17239 Disable dead code stripping in debug builds.
17240
17241 * Configurations/Base.xcconfig:
17242 * WebCore.xcodeproj/project.pbxproj:
17243
172442008-08-15 Mark Rowe <mrowe@apple.com>
17245
mrowe@apple.com13570292008-08-16 06:48:10 +000017246 Rubber-stamped by Geoff Garen.
17247
17248 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
17249
17250 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
17251 between the Debug configuration and debug Production variant.
17252 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
17253
antti@apple.coma05e8b02008-08-15 22:58:06 +0000172542008-08-15 Antti Koivisto <antti@apple.com>
17255
17256 Reviewed by Anders.
17257
17258 Don't start preloading body resources before the head is complete. This prevents
17259 body preloads from slowing down initial display when there is limited amount
17260 of bandwidth available.
17261
17262 Works by queuing up found body preloads to DocLoader and only issuing them
17263 after document has rendering.
17264
17265 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
17266 without affecting complete load time.
17267
17268 * html/PreloadScanner.cpp:
17269 (WebCore::PreloadScanner::PreloadScanner):
17270 (WebCore::PreloadScanner::scanningBody):
17271 (WebCore::PreloadScanner::emitTag):
17272 (WebCore::PreloadScanner::emitCSSRule):
17273 * html/PreloadScanner.h:
17274 * loader/DocLoader.cpp:
17275 (WebCore::DocLoader::preload):
17276 (WebCore::DocLoader::checkForPendingPreloads):
17277 (WebCore::DocLoader::requestPreload):
17278 * loader/DocLoader.h:
17279 * loader/loader.cpp:
17280 (WebCore::Loader::Host::didFinishLoading):
17281 (WebCore::Loader::Host::didFail):
17282
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000172832008-08-15 Ada Chan <adachan@apple.com>
17284
17285 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
17286 This way style set on an <hr> within a <select> will be honored.
17287
17288 Reviewed by Dave Hyatt and Dan Bernstein.
17289
17290 * rendering/RenderMenuList.cpp:
17291 (WebCore::RenderMenuList::itemStyle):
17292
antti@apple.com9f7911472008-08-15 20:48:06 +0000172932008-08-15 Antti Koivisto <antti@apple.com>
17294
17295 Reviewed by Oliver.
17296
17297 Some loader performance tweaks:
17298 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
17299 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
17300 to not delay rendering.
17301 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
17302 can take long time when latency is high so it is good to get started early.
17303 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
17304 load queues. Issue remaining loads to the network layer.
17305
17306 * loader/loader.cpp:
17307 (WebCore::Loader::determinePriority):
17308 (WebCore::Loader::load):
17309 (WebCore::Loader::Host::servePendingRequests):
17310 * loader/loader.h:
17311
timothy@apple.com2d974c32008-08-15 18:35:39 +0000173122008-08-15 Timothy Hatcher <timothy@apple.com>
17313
17314 Detach the script debugger when the Web Inspector's window closes.
17315 This has always been the intended design, but never fully implemented.
17316
17317 https://bugs.webkit.org/show_bug.cgi?id=20402
17318
17319 Reviewed by Adam Roben.
17320
17321 * page/InspectorController.cpp:
17322 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
17323 if the window is no longer visible.
17324
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000173252008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
17326
17327 Reviewed by Simon.
17328
hausmann@webkit.org58144a72008-08-15 18:12:08 +000017329 Fixes: compile with QT_NO_CONTEXTMENU
17330
17331 * platform/qt/PlatformMouseEventQt.cpp:
17332 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
17333 * platform/qt/PlatformScrollBarQt.cpp:
17334 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
17335 (WebCore::PlatformScrollbar::handleContextMenuEvent):
17336
173372008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
17338
17339 Reviewed by Simon.
17340
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000017341 Fixes: compile with QT_NO_WHEELEVENT
17342
17343 * platform/qt/WheelEventQt.cpp:
17344 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17345
timothy@apple.com4889e612008-08-15 17:06:14 +0000173462008-08-15 Keishi Hattori <casey.hattori@gmail.com>
17347
timothy@apple.comd64639c2008-08-15 17:48:36 +000017348 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
17349
17350 https://bugs.webkit.org/show_bug.cgi?id=20210
17351
17352 Reviewed by Tim Hatcher.
17353
17354 * page/Console.cpp:
17355 (WebCore::Console::group):
17356 (WebCore::Console::groupEnd):
17357 * page/Console.h:
17358 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
17359 * page/InspectorController.cpp:
17360 (WebCore::InspectorController::startGroup): Increments group level by
17361 one and adds console message with StartGroupMessaageLevel.
17362 (WebCore::InspectorController::endGroup): Decrements group level by one
17363 and adds console message with EndGroupMessaageLevel.
17364 * page/InspectorController.h:
17365 * page/inspector/Console.js:
17366 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
17367 if the message is StartGroupMessaageLevel.
17368 (WebInspector.ConsoleMessage.prototype.toMessageElement):
17369 (WebInspector.ConsoleGroup.prototype.addMessage):
17370 * page/inspector/inspector.js:
17371
173722008-08-15 Keishi Hattori <casey.hattori@gmail.com>
17373
timothy@apple.com7310b6a2008-08-15 17:35:22 +000017374 Adds support for console.dir to the Inspector
17375
17376 https://bugs.webkit.org/show_bug.cgi?id=19155
17377
17378 Reviewed by Tim Hatcher.
17379
17380 * bindings/js/JSConsoleCustom.cpp:
17381 (WebCore::JSConsole::dir):
17382 * page/Console.cpp:
17383 (WebCore::Console::dir):
17384 * page/Console.h: Added ObjectMessageLevel.
17385 * page/Console.idl: Added console.dir.
17386 * page/inspector/Console.js:
17387 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
17388 ObjectPropertiesSection if the MessageLevel is Object.
17389 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
17390 used on primitive data types.
17391 * page/inspector/inspector.css:
17392
173932008-08-15 Keishi Hattori <casey.hattori@gmail.com>
17394
timothy@apple.com4889e612008-08-15 17:06:14 +000017395 Adds support for clear() in the Inspector console.
17396
17397 https://bugs.webkit.org/show_bug.cgi?id=19873
17398
17399 Reviewed by Tim Hatcher.
17400
17401 * page/inspector/Console.js:
17402
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000174032008-08-15 Anthony Ricaud <rik24d@gmail.com>
17404
17405 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
17406
17407 Platform distinction and modifier key matching adjusted
17408 by Daniel Jalkut <jalkut@red-sweater.com>
17409
17410 Bug 16313: text search (find) keybindings should work in the Web Inspector
17411 https://bugs.webkit.org/show_bug.cgi?id=16313
17412
17413 Reviewed by Tim Hatcher.
17414
17415 * page/inspector/inspector.js: Added a case for the F key
17416
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000174172008-08-15 Keishi Hattori <casey.hattori@gmail.com>
17418
17419 Fix for error when the string doesn't contain a webkit-profile link.
17420
17421 https://bugs.webkit.org/show_bug.cgi?id=20399
17422
17423 Reviewed by Tim Hatcher.
17424
17425 * page/inspector/inspector.js:
17426
timothy@apple.com895b2652008-08-15 16:33:27 +0000174272008-08-15 Timothy Hatcher <timothy@apple.com>
17428
17429 Fixes two bugs where JavaScript could be executed from the page
17430 while the debugger is paused.
17431
17432 The first issue was JSLazyEventListener not checking the paused
17433 state before parsing the code.
17434
17435 The second issue was with the PageGroup version of
17436 JavaScriptDebugServer::setJavaScriptPaused always passing false
17437 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
17438 and not the paused argument.
17439
17440 https://bugs.webkit.org/show_bug.cgi?id=20284
17441
17442 Reviewed by Adam Roben.
17443
17444 * bindings/js/JSEventListener.cpp:
17445 (WebCore::JSLazyEventListener::parseCode): Check the paused
17446 state of the ScriptController. Return early if paused.
17447 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
17448 * page/JavaScriptDebugServer.cpp:
17449 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
17450 Pass the paused argument to the Page version of setJavaScriptPaused.
17451
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000174522008-08-15 Alexey Proskuryakov <ap@webkit.org>
17453
17454 Reviewed by Geoff Garen.
17455
17456 JSStringRef is created context-free, but can get linked to one via an identifier table,
17457 breaking an implicit API contract.
17458
17459 * page/InspectorController.cpp:
17460 (WebCore::jsStringRef):
17461 (WebCore::InspectorController::didParseSource):
17462 (WebCore::InspectorController::failedToParseSource):
17463 * page/JavaScriptProfile.cpp:
17464 (WebCore::getTitleCallback):
17465 Updated for JavaScriptCore changes.
17466
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000174672008-08-14 Kevin Ollivier <kevino@theolliviers.com>
17468
17469 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
17470 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
17471
17472 * platform/graphics/AffineTransform.h:
17473
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000174742008-08-14 Eric Carlson <eric.carlson@apple.com>
17475
17476 Reviewed by Adele.
17477
17478 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
17479 <video> elements on Windows never becomes visible when a page is restored from the cache
17480
17481 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
17482 value is different from the cached value. Let the implementation decide when
17483 to avoid work because nothing has changed.
17484
17485 * platform/graphics/MediaPlayer.cpp:
17486 (WebCore::MediaPlayer::setVolume):
17487 (WebCore::MediaPlayer::setRate):
17488 (WebCore::MediaPlayer::setRect):
17489 (WebCore::MediaPlayer::setVisible):
17490
timothy@apple.comda810f42008-08-14 23:57:14 +0000174912008-08-14 Keishi Hattori <casey.hattori@gmail.com>
17492
17493 Make Firebug command line API respect predefined variables.
17494
timothy@apple.com90751f02008-08-14 23:58:19 +000017495 https://bugs.webkit.org/show_bug.cgi?id=20385
17496
timothy@apple.comda810f42008-08-14 23:57:14 +000017497 Reviewed by Tim Hatcher.
17498
17499 * page/inspector/Console.js:
17500
weinig@apple.com4b51d002008-08-14 23:33:22 +0000175012008-08-14 Sam Weinig <sam@webkit.org>
17502
17503 Reviewed by Geoffrey Garen and Timothy Hatcher.
17504
17505 Allow programatically setting the HTMLTokenizers time delay and chunk size
17506 which are used for determining how aggressively we yield.
17507
17508 * WebCore.base.exp:
17509 * html/HTMLTokenizer.cpp:
17510 (WebCore::HTMLTokenizer::begin):
17511 (WebCore::HTMLTokenizer::continueProcessing):
17512 * html/HTMLTokenizer.h:
17513 * page/Page.cpp:
17514 (WebCore::Page::Page):
17515 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
17516 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
17517 * page/Page.h:
17518 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
17519 (WebCore::Page::customHTMLTokenizerTimeDelay):
17520 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
17521 (WebCore::Page::customHTMLTokenizerChunkSize):
17522
eric@webkit.org89613d22008-08-14 23:19:17 +0000175232008-08-14 Eric Seidel <eric@webkit.org>
17524
eric@webkit.org7e897c32008-08-14 23:20:00 +000017525 Reviewed by Beth.
17526
17527 Move us one step closer to cross-platform svg/graphics code
17528
17529 * WebCore.xcodeproj/project.pbxproj:
17530 * html/CanvasStyle.cpp:
17531 * platform/graphics/Color.cpp:
17532 (WebCore::colorWithOverrideAlpha):
17533 * platform/graphics/Color.h:
17534 * svg/graphics/cg/CgSupport.cpp:
17535 (WebCore::applyStrokeStyleToContext):
17536 (WebCore::strokeBoundingBox):
17537 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
17538 (WebCore::SVGPaintServerSolid::setup):
17539
175402008-08-14 Eric Seidel <eric@webkit.org>
17541
eric@webkit.org4f490652008-08-14 23:19:31 +000017542 Reviewed by Alexey.
17543
eric@webkit.org73fa9d12008-08-14 23:19:44 +000017544 Remove un-need includes from HTMLCanvas and use the
17545 Gradient platform abstraction in one place in CanvasStyle
17546
17547 * html/CanvasRenderingContext2D.cpp:
17548 (WebCore::CanvasRenderingContext2D::fillRect):
17549 * html/CanvasStyle.cpp:
17550 * html/HTMLCanvasElement.cpp:
17551
175522008-08-14 Eric Seidel <eric@webkit.org>
17553
17554 Reviewed by Alexey.
17555
eric@webkit.org4f490652008-08-14 23:19:31 +000017556 Clean up GlyphBuffer.h, removing more #ifdefs
17557
17558 * platform/graphics/GlyphBuffer.h:
17559 (WebCore::GlyphBuffer::glyphAt):
17560 (WebCore::GlyphBuffer::advanceAt):
17561 (WebCore::GlyphBuffer::add):
17562
175632008-08-14 Eric Seidel <eric@webkit.org>
17564
eric@webkit.org89613d22008-08-14 23:19:17 +000017565 Reviewed by Sam.
17566
17567 Clean up AffineTransform.h, removing #ifdefs
17568
17569 * platform/graphics/AffineTransform.h:
17570 * platform/graphics/cairo/AffineTransformCairo.cpp:
17571 * platform/graphics/cg/AffineTransformCG.cpp:
17572 * platform/graphics/qt/AffineTransformQt.cpp:
17573 * platform/graphics/wx/AffineTransformWx.cpp:
17574
mitz@apple.com551d6252008-08-14 23:08:09 +0000175752008-08-14 Dan Bernstein <mitz@apple.com>
17576
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000017577 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
17578
17579 * platform/graphics/cairo/ImageSourceCairo.cpp:
17580 (WebCore::ImageSource::frameSizeAtIndex):
17581 * platform/graphics/qt/ImageSourceQt.cpp:
17582 (WebCore::ImageSource::frameSizeAtIndex):
17583 * platform/graphics/wx/ImageSourceWx.cpp:
17584 (WebCore::ImageSource::frameSizeAtIndex):
17585
175862008-08-14 Dan Bernstein <mitz@apple.com>
17587
mitz@apple.com551d6252008-08-14 23:08:09 +000017588 Reviewed by Brady Eidson.
17589
17590 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
17591
17592 * platform/graphics/BitmapImage.cpp:
17593 (WebCore::BitmapImage::BitmapImage): Added initialization of
17594 m_hasUniformFrameSize.
17595 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
17596 cached frame for use in decoded size computation and for setting
17597 m_hasUniformFrameSize.
17598 (WebCore::BitmapImage::currentFrameSize): Added.
17599 (WebCore::BitmapImage::dataChanged): Added code to reset
17600 m_hasUniformFrameSize.
17601 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
17602 m_hasUniformFrameSize.
17603 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
17604 * platform/graphics/cg/ImageCG.cpp:
17605 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
17606 fixes the bug, which resulted from assuming that the frame being drawn
17607 was the same size as the first frame.
17608 * platform/graphics/cg/ImageSourceCG.cpp:
17609 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
17610 changed to get the size of the frame at the given index.
17611 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
17612
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000176132008-08-13 Simon Fraser <simon.fraser@apple.com>
17614
17615 Reviewed by Eric Seidel
17616
17617 Fix @font-face inside @media rule crash.
17618 https://bugs.webkit.org/show_bug.cgi?id=20367
17619
17620 Test: fast/css/font-face-in-media-rule.html
17621
17622 * css/CSSStyleSelector.cpp:
17623 (WebCore::CSSRuleSet::addRulesFromSheet):
17624
kevino@webkit.org141c4602008-08-14 22:52:55 +0000176252008-08-14 Kevin Ollivier <kevino@theolliviers.com>
17626
17627 wx build fixes after recent changes to Canvas and Image classes.
17628
17629 * platform/graphics/Pattern.h:
17630 * platform/graphics/wx/GradientWx.cpp:
17631 (WebCore::Gradient::fill):
17632 * platform/graphics/wx/GraphicsContextWx.cpp:
17633 (WebCore::GraphicsContext::applyFillPattern):
17634 (WebCore::GraphicsContext::applyStrokePattern):
17635 * platform/graphics/wx/ImageBufferWx.cpp:
17636 (WebCore::ImageBuffer::image):
17637 * platform/graphics/wx/ImageWx.cpp:
17638 (WebCore::Image::loadPlatformResource):
17639
britto@apple.comd7008662008-08-14 19:26:02 +0000176402008-08-14 Maxime Britto <britto@apple.com>
17641
17642 Reviewed by Sam Weinig.
17643
17644 rdar://6102511
17645 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
17646 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
17647 Some differences exist between them concerning the kind of key which is pressed :
17648 IE7 : every key leads to a stop of the panning
17649 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
17650 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
17651
17652 * page/EventHandler.cpp:
17653 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
17654
christian@webkit.org0e20f322008-08-14 19:14:47 +0000176552008-08-14 Christian Dywan <christian@twotoasts.de>
17656
17657 Gtk+/ Cairo build fix, patch by Dirk Schulze.
17658
17659 * html/CanvasStyle.cpp:
17660 * platform/graphics/cairo/PatternCairo.cpp:
17661 (WebCore::Pattern::createPlatformPattern):
17662 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
17663
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000176642008-08-14 Kevin McCullough <kmccullough@apple.com>
17665
17666 Reviewed by Tim.
17667
17668 <rdar://problem/6115819> Notify of profile in console
17669
17670 * page/InspectorController.cpp:
17671 (WebCore::InspectorController::addProfile):
17672 (WebCore::InspectorController::addProfileMessageToConsole): Called by
17673 addProfile this is the function that adds a message to the console that
17674 a profile finished.
17675 * page/InspectorController.h:
17676 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
17677 the console log to the profile in the web inspector.
17678 (WebCore::getUniqueIdCallback):
17679 (WebCore::ProfileClass):
17680 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
17681 Id to bring up the requested profile. Also select and reveal the
17682 profile in the profile panel. And created displayTitleForProfileLink()
17683 which formats a title taking into account if it's user initiated or if
17684 there are multiples. Lasty, I put the user initiated profile in a
17685 variable.
17686 * page/inspector/inspector.js: Make the profile title be a clickable
17687 link that will take the user to the identified profile. Also expose
17688 the count of user initiated profiles so they can be displayed in the
17689 console with the correct count.
17690
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000176912008-08-14 Timothy Hatcher <timothy@apple.com>
17692
17693 Avoid formating ConsoleMessages twice unless the message will be
17694 displayed in bubbles of a SourceFrame.
17695
17696 Reviewed by Kevin McCullough.
17697
17698 * page/inspector/Console.js:
17699 (WebInspector.ConsoleMessage): Only format the plain text message
17700 if the URL and line are valid and the level is error or warning.
17701 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
17702 Helper to test for error or warning level.
17703 * page/inspector/SourceFrame.js:
17704 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
17705 message if there is no message or valid line or if the msg
17706 isn't an error or warning.
17707
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000177082008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
17709
17710 partial Gtk build fix, not reviewed
17711
17712 * platform/graphics/cairo/PatternCairo.cpp:
17713
weinig@apple.com45e83142008-08-14 04:49:30 +0000177142008-08-13 Sam Weinig <sam@webkit.org>
17715
weinig@apple.com1c615fe2008-09-29 04:17:33 +000017716 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000017717
17718 Fix style issue.
17719
17720 * html/HTMLMediaElement.cpp:
17721 (WebCore::HTMLMediaElement::pickMedia):
17722
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000177232008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
17724
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000017725 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
17726 Continue Erics build fixes, after the Image cleanup.
17727
17728 * platform/graphics/cairo/ImageBufferCairo.cpp:
17729 (WebCore::ImageBuffer::image):
17730
177312008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
17732
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000017733 Build fix for Qt, not reviewed.
17734 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
17735
17736 * dom/XMLTokenizer.cpp:
17737 (WebCore::eventuallyMarkAsParserCreated): Was erre
17738
177392008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
17740
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000017741 Build fix, not reviewed.
17742 Add ScriptElement.cpp to Gtk build.
17743
17744 * GNUmakefile.am:
17745
177462008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
17747
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000017748 Reviewed by Eric.
17749
17750 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
17751
17752 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
17753 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
17754
17755 This resolves code duplications and allows us to completly replace the old
17756 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
17757
17758 As ScriptElement, doesn't actually inherit from Element, we may want to rename
17759 it, though StyleElement uses the same naming convention, so I left it as is for now.
17760 Eventually we'll rename both files in future.
17761
17762 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
17763
17764 * WebCore.pro: Add new ScriptElement.cpp to build.
17765 * WebCore.vcproj/WebCore.vcproj: Ditto.
17766 * WebCore.xcodeproj/project.pbxproj: Ditto.
17767 * WebCoreSources.bkl: Dutto.
17768 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
17769 (WebCore::ScriptElement::insertedIntoDocument):
17770 (WebCore::ScriptElement::removedFromDocument):
17771 (WebCore::ScriptElement::childrenChanged):
17772 (WebCore::ScriptElement::finishParsingChildren):
17773 (WebCore::ScriptElement::handleSourceAttribute):
17774 (WebCore::isSupportedJavaScriptLanguage):
17775 (WebCore::ScriptElementData::ScriptElementData):
17776 (WebCore::ScriptElementData::~ScriptElementData):
17777 (WebCore::ScriptElementData::requestScript):
17778 (WebCore::ScriptElementData::evaluateScript):
17779 (WebCore::ScriptElementData::stopLoadRequest):
17780 (WebCore::ScriptElementData::notifyFinished):
17781 (WebCore::ScriptElementData::ignoresLoadRequest):
17782 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
17783 (WebCore::ScriptElementData::scriptCharset):
17784 (WebCore::ScriptElementData::scriptContent):
17785 * dom/ScriptElement.h: Added.
17786 (WebCore::ScriptElement::ScriptElement):
17787 (WebCore::ScriptElement::~ScriptElement):
17788 (WebCore::ScriptElementData::element):
17789 (WebCore::ScriptElementData::createdByParser):
17790 (WebCore::ScriptElementData::setCreatedByParser):
17791 * dom/XMLTokenizer.cpp:
17792 (WebCore::isScriptElement):
17793 (WebCore::castToScriptElement):
17794 (WebCore::eventuallyMarkAsParserCreated):
17795 (WebCore::XMLTokenizer::startElementNs):
17796 (WebCore::XMLTokenizer::endElementNs):
17797 (WebCore::createXHTMLParserErrorHeader):
17798 (WebCore::XMLTokenizer::insertErrorMessageBlock):
17799 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
17800 (WebCore::HTMLScriptElement::HTMLScriptElement):
17801 (WebCore::HTMLScriptElement::~HTMLScriptElement):
17802 (WebCore::HTMLScriptElement::isURLAttribute):
17803 (WebCore::HTMLScriptElement::setCreatedByParser):
17804 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
17805 (WebCore::HTMLScriptElement::childrenChanged):
17806 (WebCore::HTMLScriptElement::parseMappedAttribute):
17807 (WebCore::HTMLScriptElement::finishParsingChildren):
17808 (WebCore::HTMLScriptElement::insertedIntoDocument):
17809 (WebCore::HTMLScriptElement::removedFromDocument):
17810 (WebCore::HTMLScriptElement::text):
17811 (WebCore::HTMLScriptElement::setText):
17812 (WebCore::HTMLScriptElement::setHtmlFor):
17813 (WebCore::HTMLScriptElement::setEvent):
17814 (WebCore::HTMLScriptElement::charset):
17815 (WebCore::HTMLScriptElement::src):
17816 (WebCore::HTMLScriptElement::type):
17817 (WebCore::HTMLScriptElement::scriptCharset):
17818 (WebCore::HTMLScriptElement::scriptContent):
17819 (WebCore::HTMLScriptElement::sourceAttributeValue):
17820 (WebCore::HTMLScriptElement::charsetAttributeValue):
17821 (WebCore::HTMLScriptElement::typeAttributeValue):
17822 (WebCore::HTMLScriptElement::languageAttributeValue):
17823 (WebCore::HTMLScriptElement::dispatchLoadEvent):
17824 (WebCore::HTMLScriptElement::dispatchErrorEvent):
17825 * html/HTMLScriptElement.h:
17826 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
17827 * svg/SVGScriptElement.cpp:
17828 (WebCore::SVGScriptElement::SVGScriptElement):
17829 (WebCore::SVGScriptElement::scriptContent):
17830 (WebCore::SVGScriptElement::sourceAttributeValue):
17831 (WebCore::SVGScriptElement::charsetAttributeValue):
17832 (WebCore::SVGScriptElement::typeAttributeValue):
17833 (WebCore::SVGScriptElement::languageAttributeValue):
17834 (WebCore::SVGScriptElement::dispatchLoadEvent):
17835 (WebCore::SVGScriptElement::dispatchErrorEvent):
17836 * svg/SVGScriptElement.h:
17837 (WebCore::SVGScriptElement::setCreatedByParser):
17838
eric@webkit.org7811ef02008-08-14 00:28:51 +0000178392008-08-13 Eric Seidel <eric@webkit.org>
17840
eric@webkit.org3562c592008-08-14 02:17:29 +000017841 Attempt to fix the Gtk build, no review.
17842
17843 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
17844
17845 * platform/graphics/GraphicsContext.h:
17846 * platform/graphics/cairo/GraphicsContextCairo.cpp:
17847 * platform/graphics/qt/GradientQt.cpp:
17848 * platform/graphics/qt/GraphicsContextQt.cpp:
17849 * platform/gtk/RenderThemeGtk.cpp:
17850 (WebCore::paintMozWidget):
17851
178522008-08-13 Eric Seidel <eric@webkit.org>
17853
eric@webkit.org2ec42072008-08-14 02:03:09 +000017854 Yet another attempt to fix the Qt build, no review.
17855
17856 * platform/graphics/qt/GradientQt.cpp:
17857 * platform/graphics/qt/GraphicsContextQt.cpp:
17858 (WebCore::GraphicsContext::applyStrokePattern):
17859 (WebCore::GraphicsContext::applyFillPattern):
17860
178612008-08-13 Eric Seidel <eric@webkit.org>
17862
17863 Attempt to fix the Windows build, no review.
17864
17865 * platform/win/CursorWin.cpp:
17866 (WebCore::loadCursorByName):
17867 * platform/win/ScrollViewWin.cpp:
17868 (WebCore::ScrollView::paint):
17869
178702008-08-13 Eric Seidel <eric@webkit.org>
17871
eric@webkit.org508c0282008-08-14 01:29:34 +000017872 Attempt to fix the Windows build, no review.
17873
17874 * platform/win/CursorWin.cpp:
17875 (WebCore::loadCursorByName):
17876 * platform/win/ScrollViewWin.cpp:
17877 (WebCore::ScrollView::paint):
17878
178792008-08-13 Eric Seidel <eric@webkit.org>
17880
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000017881 Attempt to fix the Qt build, no review.
17882
17883 * platform/graphics/qt/ImageBufferQt.cpp:
17884 (WebCore::ImageBuffer::image):
17885
178862008-08-13 Eric Seidel <eric@webkit.org>
17887
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000017888 Attempt to fix the Windows build, no review.
17889
17890 * platform/graphics/win/ImageWin.cpp:
17891 (WebCore::Image::loadPlatformResource):
17892 * plugins/win/PluginViewWin.cpp:
17893 (WebCore::PluginView::paintMissingPluginIcon):
17894
178952008-08-13 Eric Seidel <eric@webkit.org>
17896
eric@webkit.orgac3f6662008-08-14 01:15:50 +000017897 Another attempt to fix the Qt build, no review.
17898
17899 * platform/graphics/qt/ImageQt.cpp:
17900 * platform/graphics/qt/StillImageQt.h:
17901
179022008-08-13 Eric Seidel <eric@webkit.org>
17903
eric@webkit.org31e0d812008-08-14 01:05:42 +000017904 No review, build fix only.
17905
17906 Fix mac build, due to change in new code since my patch was written.
17907
17908 * svg/graphics/cg/SVGResourceMaskerCg.mm:
17909 (WebCore::SVGResourceMasker::applyMask):
17910
179112008-08-13 Eric Seidel <eric@webkit.org>
17912
eric@webkit.orga20a0032008-08-14 00:42:54 +000017913 Build fix only, no review.
17914
17915 Attempt to fix the Qt build.
17916
eric@webkit.org923255c2008-08-14 00:59:20 +000017917 * platform/graphics/qt/ImageBufferQt.cpp:
17918 * platform/graphics/qt/StillImageQt.h:
17919 (WebCore::StillImage::create):
17920 (WebCore::StillImage::destroyDecodedData):
17921 (WebCore::StillImage::decodedSize):
17922
179232008-08-13 Eric Seidel <eric@webkit.org>
17924
17925 Build fix only, no review.
17926
17927 Attempt to fix the Qt build.
17928
eric@webkit.orga20a0032008-08-14 00:42:54 +000017929 * html/CanvasStyle.cpp:
17930 (WebCore::CanvasStyle::applyStrokeColor):
17931 (WebCore::CanvasStyle::applyFillColor):
17932
179332008-08-13 Eric Seidel <eric@webkit.org>
17934
eric@webkit.org4aca3be2008-08-14 00:30:04 +000017935 Reviewed by Sam.
17936
17937 Match HTML5 spec by throwing INVALID_STATE_ERR when
17938 createPattern is called and the HTMLImageElement is not
17939 yet done loading the image (!isComplete)
17940 https://bugs.webkit.org/show_bug.cgi?id=20351
17941
17942 Test: http/misc/canvas-pattern-from-incremental-image.html
17943
17944 * html/CanvasRenderingContext2D.cpp:
17945 (WebCore::CanvasRenderingContext2D::createPattern):
17946
179472008-08-13 Eric Seidel <eric@webkit.org>
17948
eric@webkit.org5b265602008-08-14 00:29:26 +000017949 Reviewed by Niko.
17950
eric@webkit.orgf0124f62008-08-14 00:29:50 +000017951 Split out a Pattern class from CanvasPattern
17952 and remove all the Pattern-related #ifdefs
17953 (This will break non-mac platforms! I will fix them.)
17954 https://bugs.webkit.org/show_bug.cgi?id=20351
17955
17956 * GNUmakefile.am:
17957 * WebCore.pro:
17958 * WebCore.vcproj/WebCore.vcproj:
17959 * WebCore.xcodeproj/project.pbxproj:
17960 * WebCoreSources.bkl:
17961 * html/CanvasPattern.cpp:
17962 (WebCore::CanvasPattern::parseRepetitionType):
17963 (WebCore::CanvasPattern::CanvasPattern):
17964 * html/CanvasPattern.h:
17965 (WebCore::CanvasPattern::create):
17966 (WebCore::CanvasPattern::pattern):
17967 (WebCore::CanvasPattern::originClean):
17968 * html/CanvasRenderingContext2D.cpp:
17969 (WebCore::CanvasRenderingContext2D::createPattern):
17970 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
17971 (WebCore::CanvasRenderingContext2D::applyFillPattern):
17972 * html/CanvasRenderingContext2D.h:
17973 * html/HTMLCanvasElement.cpp:
17974 * html/HTMLCanvasElement.h:
17975 * loader/FrameLoader.cpp:
17976 (WebCore::FrameLoader::createHistoryItem):
17977 * platform/graphics/GraphicsContext.h:
17978 * platform/graphics/cairo/GraphicsContextCairo.cpp:
17979 (WebCore::GraphicsContext::applyStrokePattern):
17980 (WebCore::GraphicsContext::applyFillPattern):
17981 * platform/graphics/cg/GraphicsContextCG.cpp:
17982 (WebCore::GraphicsContext::clipToImageBuffer):
17983 (WebCore::GraphicsContext::applyStrokePattern):
17984 (WebCore::GraphicsContext::applyFillPattern):
17985
179862008-08-13 Eric Seidel <eric@webkit.org>
17987
17988 Reviewed by Niko.
17989
eric@webkit.org5b265602008-08-14 00:29:26 +000017990 Make Images RefCounted (and clean up callers)
17991 https://bugs.webkit.org/show_bug.cgi?id=20351
17992
17993 * editing/DeleteButtonController.cpp:
17994 (WebCore::DeleteButtonController::createDeletionUI):
17995 * loader/CachedImage.cpp:
17996 (WebCore::CachedImage::CachedImage):
17997 (WebCore::brokenImage):
17998 (WebCore::nullImage):
17999 (WebCore::CachedImage::image):
18000 (WebCore::CachedImage::notifyObservers):
18001 (WebCore::CachedImage::createImage):
18002 * loader/CachedImage.h:
18003 * loader/icon/IconRecord.cpp:
18004 (WebCore::IconRecord::setImageData):
18005 (WebCore::IconRecord::loadImageFromResource):
18006 * loader/icon/IconRecord.h:
18007 * platform/graphics/BitmapImage.h:
18008 (WebCore::BitmapImage::create):
18009 * platform/graphics/GeneratedImage.h:
18010 * platform/graphics/Gradient.cpp:
18011 * platform/graphics/Gradient.h:
18012 * platform/graphics/Image.cpp:
18013 (WebCore::Image::nullImage):
18014 * platform/graphics/Image.h:
18015 * platform/graphics/ImageBuffer.h:
18016 * platform/graphics/cairo/ImageBufferCairo.cpp:
18017 (WebCore::ImageBuffer::image):
18018 * platform/graphics/cg/ImageBufferCG.cpp:
18019 (WebCore::ImageBuffer::image):
18020 (WebCore::ImageBuffer::getImageData):
18021 (WebCore::ImageBuffer::putImageData):
18022 * platform/graphics/cg/PDFDocumentImage.h:
18023 (WebCore::PDFDocumentImage::create):
18024 (WebCore::PDFDocumentImage::destroyDecodedData):
18025 (WebCore::PDFDocumentImage::decodedSize):
18026 * platform/graphics/gtk/ImageGtk.cpp:
18027 (WebCore::Image::loadPlatformResource):
18028 * platform/graphics/mac/ImageMac.mm:
18029 (WebCore::Image::loadPlatformResource):
18030 * rendering/RenderImage.cpp:
18031 * rendering/RenderLayer.cpp:
18032 (WebCore::RenderLayer::paintOverflowControls):
18033 * svg/graphics/SVGImage.cpp:
18034 (WebCore::SVGImage::nativeImageForCurrentFrame):
18035 * svg/graphics/SVGImage.h:
18036 (WebCore::SVGImage::create):
18037 (WebCore::SVGImage::destroyDecodedData):
18038 (WebCore::SVGImage::decodedSize):
18039 (WebCore::SVGImage::frameAtIndex):
18040 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
18041 (WebCore::SVGPaintServerPattern::setup):
18042 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
18043 (WebCore::SVGResourceMasker::applyMask):
18044 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
18045 (WebCore::patternCallback):
18046 * svg/graphics/cg/SVGResourceMaskerCg.mm:
18047 (WebCore::SVGResourceMasker::applyMask):
18048
180492008-08-13 Eric Seidel <eric@webkit.org>
18050
18051 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000018052
18053 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000018054 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000018055
18056 There are some down-sides to this commit.
18057 This commit limits us to 255 levels of grey for calls like:
18058 context.setStrokeStyle(.37, 1.0)
18059 previously CG might have used up to 32bits to store the grey level
18060 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
18061
18062 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
18063 to RGBA32 (like all the rest of colors in WebCore), thus:
18064 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
18065 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
18066
18067 If this is a problem for Dashboard, we can either roll out this commit
18068 or add a beefier Color abstraction, which can be used internally by GraphicsContext
18069 when keeping state, and then GraphicsContext can grow some additional set* routines
18070 for setting the a grey/float/whatever fill and stroke.
18071
18072 * html/CanvasRenderingContext2D.cpp:
18073 (WebCore::CanvasRenderingContext2D::setFillStyle):
18074 * html/CanvasStyle.cpp:
18075 (WebCore::CanvasStyle::CanvasStyle):
18076 (WebCore::colorWithOverrideAlpha):
18077 (WebCore::CanvasStyle::applyStrokeColor):
18078 (WebCore::CanvasStyle::applyFillColor):
18079 * html/CanvasStyle.h:
18080 * platform/graphics/Color.cpp:
18081 (WebCore::colorFloatToRGBAByte):
18082 (WebCore::makeRGBA32FromFloats):
18083 * platform/graphics/Color.h:
18084
adele@apple.com83e44822008-08-13 23:50:41 +0000180852008-08-13 Eric Carlson <eric.carlson@apple.com>
18086
18087 Reviewed by Adele Peterson.
18088
18089 Fix for <rdar://problem/6137931>
18090 https://bugs.webkit.org/show_bug.cgi?id=20360
18091 Remove all parameters from the MIME type before checking with the MIME type registry
18092
18093 Tests: media/video-source-type-params.html
18094
18095 * html/HTMLMediaElement.cpp:
18096 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
18097 to isSupportedMediaMIMEType()
18098
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000180992008-08-13 Beth Dakin <bdakin@apple.com>
18100
18101 Reviewed by Sam Weinig.
18102
18103 Fix for <rdar://problem/6141345>
18104
18105 This patch refines findString and markAllMatchesForText functions'
18106 interactions with disconnected frames. They no longer rely on
18107 knowing where a range is relative to the visible region and work
18108 with disconnected frames that contain frames.
18109
18110 * editing/Editor.cpp:
18111 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
18112 the visiblity enum.
18113 (WebCore::Editor::firstVisibleRange): This now returns the very
18114 first visible range in the document. It's no longer dependent on
18115 searching forward.
18116 (WebCore::Editor::lastVisibleRange): This now returns the very last
18117 visible range in the document. It's no longer dependent on
18118 searching backwards.
18119 (WebCore::Editor::nextVisibleRange): This returns the next visible
18120 range in the appropriate direction from the current range.
18121 * editing/Editor.h:
18122 * page/Frame.cpp:
18123 (WebCore::Frame::findString):
18124 (WebCore::Frame::markAllMatchesForText):
18125
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000181262008-08-13 Kevin Ollivier <kevino@theolliviers.com>
18127
18128 wx build fix for case-sensitive platforms, like Linux.
18129
18130 * WebCoreSources.bkl:
18131
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000181322008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
18133
18134 Reviewed by Holger Freyther.
18135
18136 http://bugs.webkit.org/show_bug.cgi?id=16881
18137 [GTK] PlatformScreenGtk is unimplemented
18138
18139 Original patch by Christian Dywan.
18140
18141 * platform/gtk/PlatformScreenGtk.cpp:
18142 (WebCore::screenDepth):
18143 (WebCore::screenDepthPerComponent):
18144 (WebCore::screenIsMonochrome):
18145 (WebCore::screenRect):
18146 (WebCore::screenAvailableRect):
18147
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000181482008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
18149
18150 Reviewed by Holger Freyther.
18151
18152 http://bugs.webkit.org/show_bug.cgi?id=20318
18153 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
18154
18155 g_idle_add is the same as g_idle_add_full with a priority of
18156 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
18157
18158 * platform/gtk/SharedTimerGtk.cpp:
18159 (WebCore::setSharedTimerFireTime):
18160
timothy@apple.comf0426602008-08-13 18:11:01 +0000181612008-08-13 Timothy Hatcher <timothy@apple.com>
18162
18163 Changed the InspectorController so it can be notified when the
18164 attached state of the Inspector changes in WebKit.
18165
18166 Reviewed by Kevin McCullough.
18167
18168 * WebCore.base.exp: Updated the symbol for setWindowVisible.
18169 * page/InspectorController.cpp:
18170 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
18171 that defaults to false.Call setAttachedWindow with the attached argument.
18172 (WebCore::InspectorController::setAttachedWindow): Call the script version
18173 of setAttachedWindow.
18174 * page/InspectorController.h:
18175 * page/inspector/inspector.js:
18176 (WebInspector.setAttachedWindow): Set the attached property.
18177
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000181782008-08-12 Timothy Hatcher <timothy@apple.com>
18179
timothy@apple.com72c92ae2008-08-13 18:10:45 +000018180 Added a close button to the Inspector's toolbar when docked.
18181
18182 https://bugs.webkit.org/show_bug.cgi?id=14270
18183
18184 Reviewed by Kevin McCullough.
18185
18186 * page/InspectorController.cpp:
18187 (WebCore::closeWindow): Call InspectorController::closeWindow.
18188 (WebCore::InspectorController::windowScriptObjectAvailable):
18189 Added closeWindow to the script class.
18190 * page/InspectorController.h:
18191 * page/inspector/Images/closeButtons.png: Added.
18192 * page/inspector/inspector.css: Added and changed styles.
18193 * page/inspector/inspector.html: Added the close button.
18194 * page/inspector/inspector.js:
18195 (WebInspector.loaded): Added click event listener to the close button.
18196 (WebInspector.close): Call InspectorController.closeWindow.
18197
181982008-08-12 Timothy Hatcher <timothy@apple.com>
18199
timothy@apple.com9ea832b2008-08-13 18:10:36 +000018200 Make the docked Web Inspector resizable. This is the cross platform
18201 portion of the code. Each InspectorClient needs to implement the
18202 real resize code.
18203
18204 https://bugs.webkit.org/show_bug.cgi?id=14282
18205
18206 Reviewed by Kevin McCullough.
18207
18208 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
18209 * page/InspectorClient.h: Added setAttachedWindowHeight.
18210 * page/InspectorController.cpp:
18211 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
18212 on the InspectorController.
18213 (WebCore::InspectorController::setAttachedWindowHeight): Call
18214 setAttachedWindowHeight on the client.
18215 (WebCore::InspectorController::windowScriptObjectAvailable):
18216 Added setAttachedWindowHeight to the script class.
18217 * page/InspectorController.h:
18218 * page/inspector/inspector.css: Make the cursor on the toolbar be
18219 row-resize when docked.
18220 * page/inspector/inspector.js:
18221 (WebInspector.loaded): Always add the toolbarDragStart event listener.
18222 (WebInspector.toolbarDragStart): Return early if we are not attached
18223 and not on Leopard. Call WebInspector.elementDragStart.
18224 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
18225 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
18226 otherwise call moveByUnrestricted.
18227
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000182282008-08-13 Simon Hausmann <hausmann@webkit.org>
18229
18230 Reviewed by Holger.
18231
18232 Initialize m_zoomsTextOnly in the Settings constructor.
18233
18234 * page/Settings.cpp:
18235 (WebCore::Settings::Settings):
18236
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000182372008-08-13 Brad Hughes <bhughes@trolltech.com>
18238
18239 Reviewed by Simon.
18240
18241 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
18242
18243 The latest upgrade of the intel compiler allows us to compile all of
18244 Qt with optimizations enabled (yay!).
18245
18246 * WebCore.pro:
18247
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000182482008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
18249
18250 Reviewed by Simon.
18251
18252 Fix QtWebKit not displaying content on 403 HTTP responses
18253
18254 Just like with 404 responses also display content with 403, as
18255 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
18256
18257 * platform/network/qt/QNetworkReplyHandler.cpp:
18258 (WebCore::QNetworkReplyHandler::finish):
18259
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000182602008-08-13 Simon Hausmann <hausmann@webkit.org>
18261
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000018262 Reviewed by Holger.
18263
18264 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
18265
18266 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
18267
18268 * platform/text/String.cpp:
18269 (WebCore::String::format):
18270
182712008-08-13 Simon Hausmann <hausmann@webkit.org>
18272
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000018273 Reviewed by Lars.
18274
18275 Fix QWebFrame::setHtml() not setting the new contents immediately.
18276
18277 Added a setter to the DocumentLoader to toggle the deferred loading of the main
18278 resource when it comes from substitute data.
18279
18280 Disable deferred loading of the main resource when we have valid substitute data,
18281 as used by QWebFrame::setHtml.
18282
18283 * loader/DocumentLoader.h:
18284
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000182852008-08-13 Mark Rowe <mrowe@apple.com>
18286
18287 Speculative GTK build fix.
18288
18289 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
18290
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000182912008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
18292
18293 Reviewed by Simon.
18294
18295 Fix encoding of [ and ] in the host part of the URL
18296
18297 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
18298 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
18299 doesn't encode [ and ] when they are found in the host part. That is, the
18300 following URL:
18301 http://[::1]/
18302 is valid and should not be reencoded to:
18303 http://%5b::1%5d/
18304
18305 * platform/qt/KURLQt.cpp:
18306 (WebCore::KURL::operator QUrl):
18307
mitz@apple.come198b012008-08-12 21:49:07 +0000183082008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
18309
18310 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
18311 Broken HTML object elements cause de-reference of pointer to freed memory.
18312 If we fail to load an image for an object tag and we no longer believe the object tag points at
18313 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
18314 fall back content.
18315
18316 Reviewed by Dave Hyatt and Alexey Proskuryakov.
18317
18318 Test: http/tests/misc/object-image-error-with-onload.html
18319
18320 * html/HTMLObjectElement.cpp:
18321 (WebCore::HTMLObjectElement::renderFallbackContent):
18322 * page/Frame.cpp:
18323 (WebCore::Frame::Frame):
18324
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000183252008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
18326
18327 Reviewed by Dave.
18328
18329 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
18330 Masks are translated, and the mask images are swapped on the y-axis.
18331
18332 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
18333 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
18334
18335 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
18336 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
18337
18338 * svg/graphics/cg/SVGResourceMaskerCg.mm:
18339 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
18340
mitz@apple.comf8a98692008-08-12 17:04:42 +0000183412008-08-12 Dan Bernstein <mitz@apple.com>
18342
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000018343 - WebCore part of <rdar://problem/6121636>
18344 Make fast*alloc() abort() on failure and add "try" variants that
18345 return NULL on failure.
18346
18347 Reviewed by Darin Adler.
18348
18349 * platform/Arena.cpp:
18350 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
18351 result.
18352 * platform/graphics/cg/ImageBufferCG.cpp:
18353 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
18354
183552008-08-12 Dan Bernstein <mitz@apple.com>
18356
mitz@apple.com1e09cd72008-08-12 18:27:58 +000018357 Reviewed by Darin Adler.
18358
18359 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
18360 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
18361
18362 Test: fast/frames/frameset-style-recalc.html
18363
18364 * html/HTMLFrameSetElement.cpp:
18365 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
18366 class implementation after marking for layout.
18367
183682008-08-12 Dan Bernstein <mitz@apple.com>
18369
mitz@apple.comf8a98692008-08-12 17:04:42 +000018370 Reviewed by John Sullivan.
18371
18372 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
18373
18374 * WebCore.base.exp:
18375 * page/FrameView.cpp:
18376 (WebCore::FrameViewPrivate::FrameViewPrivate):
18377 (WebCore::FrameView::shouldUpdateWhileHidden):
18378 (WebCore::FrameView::setShouldUpdateWhileHidden):
18379 * page/FrameView.h:
18380 * page/Settings.cpp:
18381 * page/Settings.h:
18382
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000183832008-08-12 Adam Roben <aroben@apple.com>
18384
18385 Windows build fix
18386
18387 * bindings/js/JSSVGPODTypeWrapper.h: Align
18388 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
18389 members on 16-byte boundaries to avoid an alignment warning.
18390
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000183912008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
18392
18393 Reviewed by Oliver.
18394
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000018395 Add new dynamice-update layout tests covering SVGMarkerElement.
18396 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
18397 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
18398
18399 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
18400 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
18401 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
18402 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
18403 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
18404 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
18405 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
18406 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
18407 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
18408 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
18409 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
18410 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
18411 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
18412 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
18413 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
18414
18415 * svg/SVGMarkerElement.cpp:
18416 (WebCore::SVGMarkerElement::SVGMarkerElement):
18417 (WebCore::SVGMarkerElement::parseMappedAttribute):
18418 (WebCore::SVGMarkerElement::svgAttributeChanged):
18419 (WebCore::SVGMarkerElement::childrenChanged):
18420 (WebCore::SVGMarkerElement::setOrientToAuto):
18421 (WebCore::SVGMarkerElement::setOrientToAngle):
18422 (WebCore::SVGMarkerElement::canvasResource):
18423
184242008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
18425
18426 Reviewed by Oliver.
18427
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000018428 Add new dynamic-update layout tests covering SVGImageElement.
18429 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
18430
18431 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
18432 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
18433 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
18434 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
18435 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
18436 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
18437 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
18438 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
18439 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
18440 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
18441
18442 * svg/SVGImageElement.cpp:
18443 (WebCore::SVGImageElement::svgAttributeChanged):
18444
timothy@apple.com93114722008-08-12 04:20:25 +0000184452008-08-11 Anthony Ricaud <rik24d@gmail.com>
18446
timothy@apple.com2f2cde32008-08-12 04:28:16 +000018447 Changed Option/Alt-Up or Down in CSS editing when the value is
18448 near zero to jump to the next integer.
18449
18450 Reviewed by Tim Hatcher.
18451
18452 https://bugs.webkit.org/show_bug.cgi?id=20326
18453
18454 * page/inspector/StylesSidebarPane.js:
18455
184562008-08-11 Anthony Ricaud <rik24d@gmail.com>
18457
timothy@apple.com93114722008-08-12 04:20:25 +000018458 Changed the line highlight transition for an easier animation.
18459
18460 Reviewed by Tim Hatcher.
18461
18462 * page/inspector/SourceFrame.js:
18463
timothy@apple.com24a14852008-08-12 03:57:39 +0000184642008-08-11 Keishi Hattori <casey.hattori@gmail.com>
18465
18466 Added support for some Firebug Command Line APIs.
18467
18468 Reviewed by Tim Hatcher.
18469
18470 https://bugs.webkit.org/show_bug.cgi?id=19867
18471 https://bugs.webkit.org/show_bug.cgi?id=19868
18472 https://bugs.webkit.org/show_bug.cgi?id=19869
18473 https://bugs.webkit.org/show_bug.cgi?id=19875
18474 https://bugs.webkit.org/show_bug.cgi?id=19876
18475 https://bugs.webkit.org/show_bug.cgi?id=19880
18476
18477 * page/inspector/Console.js:
18478 (WebInspector.Console.prototype._evalInInspectedWindow):
18479 Create an object on the inspected window that holds the console
18480 command line API functions. This object is used in a with statement
18481 around the typed expression.
18482
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000184832008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
18484
18485 Reviewed by Antti.
18486
18487 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
18488
18489 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
18490 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
18491
18492 Added tests: svg/custom/svg-modify-currentTranslate.html
18493 svg/custom/tearoffs-with-tearoffs.html
18494 svg/custom/immutable-properties.html
18495
18496 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
18497
18498 * bindings/js/JSSVGPODTypeWrapper.h:
18499 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
18500 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
18501 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
18502 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
18503 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
18504 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
18505 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
18506 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
18507 * bindings/scripts/CodeGenerator.pm:
18508 * bindings/scripts/CodeGeneratorJS.pm:
18509 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
18510 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
18511
beidson@apple.com0e772f72008-08-12 00:34:46 +0000185122008-08-11 Brady Eidson <beidson@apple.com>
18513
18514 Reviewed by John and Anders
18515
18516 Fix for <rdar://problem/6141797>
18517
18518 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
18519 would never have nil data.
18520
18521 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
18522 semantics with some WebKit applications.
18523
18524 The guarantee was a good one and should be restored.
18525
18526 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
18527 creates an empty data object in the case of null data for its own purposes.
18528
18529 * loader/SubstituteResource.h:
18530 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
18531 well help any future subclassers not make this mistake.
18532
18533 * loader/archive/ArchiveResource.cpp:
18534 (WebCore::ArchiveResource::create): Return 0 if the data is null.
18535
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000185362008-08-11 Simon Fraser <simon.fraser@apple.com>
18537
18538 Reviewed by Dave Hyatt
18539
18540 https://bugs.webkit.org/show_bug.cgi?id=20328
18541 Fix a problem when an 'all' transition transition with more than
18542 one property changing is interrupted, and did some AnimationController
18543 cleanup.
18544
18545 Test: transitions/interrupted-all-transition.html
18546
18547 * page/AnimationController.cpp:
18548 (WebCore::ImplicitAnimation::ImplicitAnimation):
18549 (WebCore::AnimationControllerPrivate::blendProperties):
18550 (WebCore::CompositeAnimation::updateTransitions):
18551 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
18552 (WebCore::CompositeAnimation::setTransitionStartTime):
18553 (WebCore::CompositeAnimation::overrideImplicitAnimations):
18554 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
18555 (WebCore::ImplicitAnimation::animate):
18556 (WebCore::ImplicitAnimation::onAnimationEnd):
18557 (WebCore::ImplicitAnimation::sendTransitionEvent):
18558 (WebCore::ImplicitAnimation::affectsProperty):
18559 (WebCore::KeyframeAnimation::endAnimation):
18560 (WebCore::KeyframeAnimation::onAnimationEnd):
18561
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000185622008-08-11 Kevin McCullough <kmccullough@apple.com>
18563
18564 Reviewed by Tim.
18565
18566 - Because console messages have group levels now, newly created messages
18567 that do not specify the level lose their message since the number of
18568 arguments is wrong.
18569
18570 * page/inspector/Console.js:
18571 * page/inspector/Resource.js:
18572
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000185732008-08-11 Alp Toker <alp@nuanti.com>
18574
18575 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
18576 the opportunity to sort the sources lists.
18577
18578 * GNUmakefile.am:
18579
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000185802008-08-11 Timothy Hatcher <timothy@apple.com>
18581
18582 Speed up the the JavaScript syntax highlighter by generating
18583 the finders only once per script instead of per line.
18584
18585 https://bugs.webkit.org/show_bug.cgi?id=20346
18586
18587 Reviewed by Adam Roben.
18588
18589 * page/inspector/SourceFrame.js:
18590 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
18591 Removed, factored into syntaxHighlightJavascript as an inline function.
18592 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
18593 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
18594 Generate the finders before iterating the lines.
18595
aroben@apple.com957d2d32008-08-11 18:31:37 +0000185962008-08-11 Adam Roben <aroben@apple.com>
18597
18598 Windows build fix
18599
18600 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
18601 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
18602 too.
18603
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000186042008-08-11 Dan Bernstein <mitz@apple.com>
18605
18606 Reviewed by Darin Adler.
18607
18608 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
18609
18610 Test: fast/css/counters/invalidate-cached-counter-node.html
18611
18612 * rendering/RenderContainer.cpp:
18613 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
18614 RenderCounters in :before and :after content.
18615 * rendering/RenderContainer.h:
18616 * rendering/RenderCounter.cpp:
18617 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
18618 to match the RenderObject method.
18619 (WebCore::RenderCounter::invalidate): Added. Resets the cached
18620 CounterNode and invalidates the object's layout and preferred widths.
18621 (WebCore::destroyCounterNodeChildren): Added a call to
18622 invalidateCounters().
18623 * rendering/RenderCounter.h:
18624 * rendering/RenderObject.h:
18625 (WebCore::RenderObject::invalidateCounters):
18626
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000186272008-08-11 Dean Jackson <dino@apple.com>
18628
18629 Implement CSS Animation and Transition Events
18630 https://bugs.webkit.org/show_bug.cgi?id=20337
18631
18632 Implement the events defined in the CSS Animations
18633 and Transitions specifications so code can react
18634 to animations and transitions.
18635
18636 Reviewed by Tim Hatcher and Dave Hyatt.
18637
18638 * DerivedSources.make:
18639 * GNUmakefile.am:
18640 * WebCore.pro:
18641 * WebCore.vcproj/WebCore.vcproj:
18642 * WebCore.xcodeproj/project.pbxproj:
18643 * WebCoreSources.bkl:
18644 Build configs for new files
18645
18646 * bindings/js/JSDOMWindowBase.cpp:
18647 * bindings/js/JSDOMWindowBase.h:
18648 * bindings/js/JSEventCustom.cpp:
18649 * dom/Document.h:
18650 * dom/Event.cpp:
18651 * dom/Event.h:
18652 * dom/EventTarget.cpp:
18653 * dom/EventTargetNode.cpp:
18654 * dom/EventTargetNode.h:
18655 * html/HTMLElement.cpp:
18656 * page/AnimationController.cpp:
18657 do all the new event stuff
18658
18659 * html/HTMLAttributeNames.in:
18660 the onwebkitanimation* and onwebkittransitionend attrs
18661
18662 * dom/WebKitAnimationEvent.cpp: Added.
18663 * dom/WebKitAnimationEvent.h: Added.
18664 * dom/WebKitAnimationEvent.idl: Added.
18665 * dom/WebKitTransitionEvent.cpp: Added.
18666 * dom/WebKitTransitionEvent.h: Added.
18667 * dom/WebKitTransitionEvent.idl: Added.
18668 New files for the events
18669
18670 * manual-tests/transition-events.html: Added.
18671 New testfile
18672
aroben@apple.com3eae8622008-08-11 17:21:23 +0000186732008-08-11 Adam Roben <aroben@apple.com>
18674
18675 Add a ForwardingHeader for wtf/NotFound.h
18676
18677 Rubberstamped by Darin Adler.
18678
18679 * ForwardingHeaders/wtf/NotFound.h: Added.
18680
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000186812008-08-11 Timothy Hatcher <timothy@apple.com>
18682
18683 Fixes a bug where error bubbles in JavaScript resources would
18684 be clobbered by the syntax highlighter.
18685
18686 https://bugs.webkit.org/show_bug.cgi?id=20345
18687
18688 Reviewed by Adam Roben.
18689
18690 * manual-tests/inspector/resources/script-error.js: Added.
18691 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
18692 * page/inspector/SourceFrame.js:
18693 (WebInspector.SourceFrame.prototype._addMessageToSource):
18694 Check the nodeType and not the nodeName, this is less fragile.
18695 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
18696 Check if the lastChild is an error bubble, if so remove it before
18697 getting the line's textContent. Add the error bubble back at the end.
18698
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000018699== Rolled over to ChangeLog-2008-08-10 ==