blob: b0dab2764d249734b92c1801da3b1c322d06c18f [file] [log] [blame]
darin@apple.come4c4b502008-10-12 23:59:09 +000012008-10-12 Eric Roman <eroman@chromium.org>
2
3 - https://bugs.webkit.org/show_bug.cgi?id=20246
4 Implement RenderThemeWin::systemColor() to match Windows colors.
5
6 Reviewed by David Hyatt.
7
8 * rendering/RenderThemeWin.cpp:
9 (WebCore::cssValueIdToSysColorIndex):
10 (WebCore::RenderThemeWin::systemColor):
11 * rendering/RenderThemeWin.h:
12
darin@apple.com734c7252008-10-12 23:50:45 +0000132008-10-12 Aaron Bockover <abockover@novell.com>
14
15 Reviewed by Alp Toker.
16
17 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
18 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
19 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
20
21 * plugins/gtk/PluginPackageGtk.cpp:
22
darin@apple.comee5d0dc2008-10-12 23:01:25 +0000232008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
24
25 Reviewed by Oliver Hunt.
26
27 - https://bugs.webkit.org/show_bug.cgi?id=19331
28 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
29
30 * page/DragController.cpp:
31 (WebCore::DragController::startDrag): When a link is dragged without any
32 text selected (note: for this to work, the EditableLinkBehavior setting must be
33 set to 'live' or 'default') and then dropped into an editable html document it
34 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
35 is a selection. To prevent this, expand the selection to the enclosing anchor tag
36 when the drag begins.
37
darin@apple.com2ce65d52008-10-12 22:49:46 +0000382008-10-12 Darin Adler <darin@apple.com>
39
darin@apple.comb3de9be2008-10-12 22:53:15 +000040 Reviewed by Mark Rowe.
41
42 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
43 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
44
45 * rendering/RenderObject.cpp:
46 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
47 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
48 as RenderObject::isText(), and this guarantees that the node can be cast to
49 Element*, which is done just below. The reason this is hit is that RenderLayer
50 can call getPseudoStyle on a RenderView, which has the document as its
51 element() -- and a document is neither a Text node nor an Element. A loose
52 end is that this seems to mean you can't style the scrollbar corner or the
53 resizer on a RenderView. Hyatt may want to look into that later.
54
552008-10-12 Darin Adler <darin@apple.com>
56
darin@apple.com2ce65d52008-10-12 22:49:46 +000057 Reviewed by Sam Weinig.
58
59 - https://bugs.webkit.org/show_bug.cgi?id=21556
60 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
61
62 Tests: fast/dom/HTMLFontElement/size-attribute.html
63 fast/dom/HTMLInputElement/size-attribute.html
64 fast/dom/HTMLTableElement/cellpadding-attribute.html
65
66 * html/HTMLFontElement.cpp:
67 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
68 Unicode::isDigit, since non-ASCII digits are not valid here.
69 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
70 the unneeded destructor declaration.
71 * platform/text/String.cpp:
72 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
73 of Unicode::isDigit, since non-ASCII digits are not valid.
74
darin@apple.com39669162008-10-12 22:38:23 +0000752008-10-12 Jungshik Shin <jshin@chromium.org>
76
77 Reviewed by Darin Adler.
78
79 Treat x-user-defined as windows-1252 for html files with meta charset
80 declaration to be compatible with Indian web sites.
81 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
82
83 Test: fast/encoding/charset-xuser-defined.html
84
85 * loader/TextResourceDecoder.cpp:
86 (WebCore::TextResourceDecoder::setEncoding):
87
weinig@apple.com68017df2008-10-12 20:43:15 +0000882008-10-12 Sam Weinig <sam@webkit.org>
89
weinig@apple.com590ccdb2008-10-12 21:32:38 +000090 Reviewed by Dan Bernstein.
91
92 Remove unneeded forward declaration.
93
94 * platform/graphics/ImageBuffer.h:
95
962008-10-12 Sam Weinig <sam@webkit.org>
97
weinig@apple.com68017df2008-10-12 20:43:15 +000098 Reviewed by Darin Adler.
99
100 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
101 Layering violation: String should not be responsible for creating Lengths
102
103 It was a layering violation for String to know haw to parse
104 into Lengths, LengthArrays, and CoordsArrays.
105
106 * GNUmakefile.am:
107 * WebCore.pro:
108 * WebCore.vcproj/WebCore.vcproj:
109 * WebCore.xcodeproj/project.pbxproj:
110 * WebCoreSources.bkl:
111 * html/HTMLAreaElement.cpp:
112 (WebCore::HTMLAreaElement::parseMappedAttribute):
113 * html/HTMLFrameSetElement.cpp:
114 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
115 * platform/text/AtomicString.h:
116 (WebCore::AtomicString::percentage):
117 * platform/text/PlatformString.h:
118 * platform/text/String.cpp:
119 * platform/text/StringImpl.cpp:
120 * platform/text/StringImpl.h:
121 * rendering/Length.cpp: Added.
122 (WebCore::parseLength):
123 (WebCore::countCharacter):
124 (WebCore::newCoordsArray):
125 (WebCore::newLengthArray):
126 * rendering/Length.h:
127 (WebCore::LengthSize::LengthSize):
128
darin@apple.com231607b2008-10-12 18:23:56 +00001292008-10-12 Brad Garcia <bgarcia@google.com>
130
131 Reviewed by Darin Adler.
132
133 Interpret fractional percentage values for %MultiLength values.
134 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
135 Test: fast/frames/frame-length-fractional-percentage.html
136
137 * platform/text/StringImpl.cpp:
138 (WebCore::parseLength):
139
timothy@apple.combba898e2008-10-12 17:04:51 +00001402008-10-12 Timothy Hatcher <timothy@apple.com>
141
142 Remember the expanded state of the rules in the Styles pane. So
143 collapsing a rule will persist across all the elements that have
144 that same rule. The same applies to Computed Style, so the Computed
145 Style rule is now collapsed by default. This should help lessen the
146 confusion on why Computed Style can't be edited (a common confusion.)
147
148 https://bugs.webkit.org/show_bug.cgi?id=21553
149
150 Reviewed by Darin Adler.
151
152 * inspector/front-end/PropertiesSection.js:
153 (WebInspector.PropertiesSection): Set the _expanded property directly,
154 instead of using the setter. Expanded is the default, so no work is needed.
155 This prevents calling StylesSidebarPane.collapse before object initialization
156 is complete.
157 * inspector/front-end/StylesSidebarPane.js:
158 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
159 for the expanded state of the StylePropertiesSection. Collapse computed style
160 by default and expand everything else.
161 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
162 when remembering expanded state.
163 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
164 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
165 the state if the dontRememberState property is true.
166 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
167 to false for this identifier in Preferences.styleRulesExpandedState.
168 * inspector/front-end/inspector.js:
169 (Preferences.styleRulesExpandedState): Initialize to an empty object.
170
jmalonzo@webkit.org1a75c1b2008-10-12 11:47:04 +00001712008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
172
173 Reviewed by Alp Toker.
174
175 [Gtk] Remove libWebCoreJS.la when doing make clean
176 https://bugs.webkit.org/show_bug.cgi?id=21544
177
178 Remove libWebCoreJS.la when doing a clean target
179
180 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
181
alp@webkit.org85a7e4f2008-10-12 06:50:21 +00001822008-10-11 Alp Toker <alp@nuanti.com>
183
184 Reviewed by Darin Adler.
185
186 https://bugs.webkit.org/show_bug.cgi?id=20592
187 The focus ring is not shown while navigating on some pages
188
189 Fix drawFocusRing() so it doesn't depend on the current graphics
190 state, thus matching other platforms which already work this way.
191
192 This patch provides two code paths: one using straight Cairo and
193 one specialised for the GTK+ port with a more conventional appearance.
194
195 Also change focusRingColor() to return a null color, allowing the
196 focus ring to pick up the style's current color if it isn't overridden
197 with CSS.
198
199 * platform/graphics/cairo/GraphicsContextCairo.cpp:
200 (WebCore::GraphicsContext::drawFocusRing):
201 * platform/gtk/TemporaryLinkStubs.cpp:
202 (WebCore::focusRingColor):
203
mitz@apple.com7378cec2008-10-12 04:56:20 +00002042008-10-11 Dan Bernstein <mitz@apple.com>
205
206 Rubber-stamped by Sam Weinig.
207
208 - change all internal callers to use Cache::evict() instead of remove()
209
210 * loader/Cache.cpp:
211 (WebCore::Cache::revalidateResource):
212 (WebCore::Cache::revalidationSucceeded):
213 (WebCore::Cache::pruneDeadResources):
214 (WebCore::Cache::setDisabled):
215
hyatt@apple.com0578b132008-10-12 04:20:26 +00002162008-10-11 David Hyatt <hyatt@apple.com>
217
hyatt@apple.com668b6712008-10-12 04:26:47 +0000218 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
219
220 Reviewed by Tim Hatcher
221
222 * platform/ScrollbarThemeComposite.cpp:
223 (WebCore::ScrollbarThemeComposite::invalidatePart):
224
2252008-10-11 David Hyatt <hyatt@apple.com>
226
hyatt@apple.com0578b132008-10-12 04:20:26 +0000227 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
228
229 Also fixed resizer positioning problems.
230
231 Reviewed by Tim Hatcher
232
233 * platform/ScrollbarThemeComposite.cpp:
234 (WebCore::ScrollbarThemeComposite::splitTrack):
235 (WebCore::ScrollbarThemeComposite::trackPosition):
236 (WebCore::ScrollbarThemeComposite::trackLength):
237 * platform/ScrollbarThemeComposite.h:
238 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
239 * rendering/RenderLayer.cpp:
240 (WebCore::scrollCornerRect):
241 (WebCore::RenderLayer::positionOverflowControls):
242 (WebCore::RenderLayer::paintOverflowControls):
243 (WebCore::RenderLayer::isPointInResizeControl):
244 (WebCore::RenderLayer::hitTestOverflowControls):
245 * rendering/RenderScrollbarTheme.cpp:
246 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
247 * rendering/RenderScrollbarTheme.h:
248
alp@webkit.org9c37e8f2008-10-12 03:33:28 +00002492008-10-11 Alp Toker <alp@nuanti.com>
250
251 Reviewed by David Hyatt.
252
253 Implement release/retain for Widget GTK+.
254
255 * platform/Widget.cpp:
256 * platform/gtk/WidgetGtk.cpp:
257 (WebCore::Widget::~Widget):
258 (WebCore::Widget::releasePlatformWidget):
259 (WebCore::Widget::retainPlatformWidget):
260
mitz@apple.comf0f7ed82008-10-11 22:53:28 +00002612008-10-11 Dan Bernstein <mitz@apple.com>
262
263 Reviewed by Sam Weinig.
264
265 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
266 and add a corresponding getter; add the same functions on Windows
267
268 * WebCore.base.exp:
269 * platform/graphics/Font.cpp:
270 (WebCore::Font::setCodePath):
271 (WebCore::codePath):
272 (WebCore::Font::canUseGlyphCache):
273 * platform/graphics/Font.h:
274 * platform/mac/WebCoreTextRenderer.h:
275 * platform/mac/WebCoreTextRenderer.mm:
276 (WebCoreSetAlwaysUsesComplexTextCodePath):
277 (WebCoreAlwaysUsesComplexTextCodePath):
278 * platform/win/WebCoreTextRenderer.cpp:
279 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
280 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
281 * platform/win/WebCoreTextRenderer.h:
282
weinig@apple.comeb4243f2008-10-11 22:10:38 +00002832008-10-11 Sam Weinig <sam@webkit.org>
284
285 Reviewed by Cameron Zwarich.
286
weinig@apple.com5f7c6162008-10-11 22:20:09 +0000287 Stop leaking the event parameter names. The protected strings were showing up
288 in the caches window after one use. No measurable performance loss.
289
290 * bindings/js/JSEventListener.cpp:
291 (WebCore::eventParameterName):
292
2932008-10-11 Sam Weinig <sam@webkit.org>
294
295 Reviewed by Cameron Zwarich.
296
weinig@apple.comeb4243f2008-10-11 22:10:38 +0000297 Remove unused function getNodeEventListener.
298
299 * bindings/js/JSEventListener.cpp:
300 * bindings/js/JSEventListener.h:
301
hyatt@apple.comf2452672008-10-11 07:50:03 +00003022008-10-11 David Hyatt <hyatt@apple.com>
303
304 Add support for both positive and negative margins to tracks and track pieces.
305
306 Reviewed by Tim Hatcher
307
308 * platform/ScrollbarThemeComposite.cpp:
309 (WebCore::ScrollbarThemeComposite::paint):
310 (WebCore::ScrollbarThemeComposite::hitTest):
311 (WebCore::ScrollbarThemeComposite::splitTrack):
312 (WebCore::ScrollbarThemeComposite::trackPieceRects):
313 (WebCore::ScrollbarThemeComposite::trackPosition):
314 (WebCore::ScrollbarThemeComposite::trackLength):
315 * platform/ScrollbarThemeComposite.h:
316 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
317 * rendering/RenderScrollbar.cpp:
318 (WebCore::RenderScrollbar::trackRect):
319 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
320 * rendering/RenderScrollbar.h:
321 * rendering/RenderScrollbarPart.cpp:
322 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
323 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
324 * rendering/RenderScrollbarTheme.cpp:
325 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
326 * rendering/RenderScrollbarTheme.h:
327
hyatt@apple.com729214e2008-10-11 06:30:47 +00003282008-10-10 David Hyatt <hyatt@apple.com>
329
330 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
331 the scrollbar pseudo-elements anyway.
332
333 Reviewed by Tim Hatcher
334
335 * css/CSSSelector.cpp:
336 (WebCore::CSSSelector::extractPseudoType):
337 * css/CSSSelector.h:
338 (WebCore::CSSSelector::):
339 * css/CSSStyleSelector.cpp:
340 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
341
mitz@apple.comb5de9462008-10-11 06:26:59 +00003422008-10-10 Dan Bernstein <mitz@apple.com>
343
344 Reviewed by Sam Weinig.
345
346 - separate Cache::remove() into a private method and a public interface,
347 then make Cache::pruneDeadResources() use the private method.
348
349 * loader/Cache.cpp:
350 (WebCore::Cache::pruneDeadResources):
351 (WebCore::Cache::evict):
352 * loader/Cache.h:
353 (WebCore::Cache::remove):
354
hyatt@apple.comd65740c2008-10-11 05:30:39 +00003552008-10-10 David Hyatt <hyatt@apple.com>
356
hyatt@apple.com739b8f02008-10-11 06:12:14 +0000357 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
358 now that the track pieces meet under the thumb.
359
360 Reviewed by Tim Hatcher
361
362 * platform/ScrollbarThemeComposite.cpp:
363 (WebCore::ScrollbarThemeComposite::paint):
364 (WebCore::ScrollbarThemeComposite::splitTrack):
365
3662008-10-10 David Hyatt <hyatt@apple.com>
367
hyatt@apple.com4c767e22008-10-11 06:04:02 +0000368 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
369
370 Reviewed by Tim Hatcher
371
372 * platform/ScrollbarThemeComposite.cpp:
373 (WebCore::ScrollbarThemeComposite::hitTest):
374 (WebCore::ScrollbarThemeComposite::splitTrack):
375
3762008-10-10 David Hyatt <hyatt@apple.com>
377
hyatt@apple.come8609a22008-10-11 05:54:35 +0000378 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
379
380 Reviewed by Tim Hatcher
381
382 * rendering/RenderLayer.cpp:
383 (WebCore::RenderLayer::createScrollbar):
384 * rendering/RenderScrollbar.cpp:
385 (WebCore::RenderScrollbar::createCustomScrollbar):
386 (WebCore::RenderScrollbar::RenderScrollbar):
387 (WebCore::RenderScrollbar::setParent):
388 (WebCore::RenderScrollbar::updateScrollbarParts):
389 (WebCore::RenderScrollbar::updateScrollbarPart):
390 * rendering/RenderScrollbar.h:
391 * rendering/style/RenderStyle.h:
392 (WebCore::RenderStyle::):
393
3942008-10-10 David Hyatt <hyatt@apple.com>
395
hyatt@apple.comd65740c2008-10-11 05:30:39 +0000396 Make sure scrollbar background images cause proper part invalidation to occur.
397
398 Reviewed by Tim Hatcher
399
400 * rendering/RenderScrollbar.cpp:
401 (WebCore::RenderScrollbar::setHoveredPart):
402 (WebCore::RenderScrollbar::setPressedPart):
403 * rendering/RenderScrollbarPart.cpp:
404 (WebCore::RenderScrollbarPart::styleDidChange):
405 (WebCore::RenderScrollbarPart::imageChanged):
406 * rendering/RenderScrollbarPart.h:
407
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +00004082008-10-10 Simon Fraser <simon.fraser@apple.com>
409
410 Reviewed by Darin Adler
411
simon.fraser@apple.com72df8f02008-10-11 00:35:23 +0000412 https://bugs.webkit.org/show_bug.cgi?id=21538
413
414 The blendFunc() for TransformOperations should never mess with the
415 operation lists by replacing some ops with identity, otherwise the lists
416 no longer match and transitions break.
417
418 Test: transitions/matched-transform-functions.html
419
420 * page/animation/AnimationBase.cpp:
421 (WebCore::blendFunc):
422
4232008-10-10 Simon Fraser <simon.fraser@apple.com>
424
425 Reviewed by Darin Adler
426
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +0000427 https://bugs.webkit.org/show_bug.cgi?id=21537
428
429 Fix re-targetting a running transition; if the target property
430 changes, we do need to make a new ImplicitAnimation.
431
432 Test: transitions/retargetted-transition.html
433
434 * page/animation/CompositeAnimation.cpp:
435 (WebCore::CompositeAnimationPrivate::updateTransitions):
436
oliver@apple.com7264bb52008-10-10 23:21:39 +00004372008-10-10 Oliver Hunt <oliver@apple.com>
438
439 Reviewed by Cameron Zwarich.
440
441 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
442
443 When JS is terminated by the user choosing to stop a slow script
444 the exception toString method throws, yet the console logger does
445 not perform exception checks after logging. This leaves an
446 exception on the Machine, which in turn results in an assertion
447 failure next time we attempt to enter JS. The solution is just to
448 clear the exception state after attempting to record the exception.
449
450 * page/Console.cpp:
451 (WebCore::Console::reportException):
452
hyatt@apple.comfca034d2008-10-10 21:05:07 +00004532008-10-10 David Hyatt <hyatt@apple.com>
454
hyatt@apple.com0f129042008-10-10 22:24:15 +0000455 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
456 when looking for pseudo styles.
457
458 Reviewed by Tim Hatcher
459
460 * rendering/RenderLayer.cpp:
461 (WebCore::RenderLayer::createScrollbar):
462 (WebCore::RenderLayer::styleChanged):
463
4642008-10-10 David Hyatt <hyatt@apple.com>
465
hyatt@apple.comca798132008-10-10 22:16:24 +0000466 Add the ability to style the scroll corner and the resizer from CSS.
467
468 Reviewed by Tim Hatcher
469
470 * css/CSSSelector.cpp:
471 (WebCore::CSSSelector::extractPseudoType):
472 * css/CSSSelector.h:
473 (WebCore::CSSSelector::):
474 * css/CSSStyleSelector.cpp:
475 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
476 * rendering/RenderLayer.cpp:
477 (WebCore::RenderLayer::RenderLayer):
478 (WebCore::RenderLayer::~RenderLayer):
479 (WebCore::RenderLayer::paintOverflowControls):
480 (WebCore::RenderLayer::paintScrollCorner):
481 (WebCore::RenderLayer::paintResizer):
482 (WebCore::RenderLayer::styleChanged):
483 * rendering/RenderLayer.h:
484 * rendering/RenderScrollbar.cpp:
485 (WebCore::RenderScrollbar::updateScrollbarPart):
486 (WebCore::RenderScrollbar::paintPart):
487 * rendering/RenderScrollbarPart.cpp:
488 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
489 (WebCore::RenderScrollbarPart::paintIntoRect):
490 * rendering/RenderScrollbarPart.h:
491 * rendering/style/RenderStyle.h:
492 (WebCore::RenderStyle::):
493
4942008-10-10 David Hyatt <hyatt@apple.com>
495
hyatt@apple.comfca034d2008-10-10 21:05:07 +0000496 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
497
498 Reviewed by Sam Weinig
499
500 No test case possible, since the OS setting can vary.
501
502 * css/CSSSelector.cpp:
503 (WebCore::CSSSelector::extractPseudoType):
504 * css/CSSSelector.h:
505 (WebCore::CSSSelector::):
506 * css/CSSStyleSelector.cpp:
507 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
508 * platform/Scrollbar.h:
509 (WebCore::Scrollbar::styleChanged):
510 * platform/mac/ScrollbarThemeMac.mm:
511 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
512 (WebCore::ScrollbarThemeMac::preferencesChanged):
513 * rendering/RenderLayer.cpp:
514 (WebCore::RenderLayer::invalidateScrollbarRect):
515 * rendering/RenderScrollbar.cpp:
516 (WebCore::RenderScrollbar::styleChanged):
517 (WebCore::RenderScrollbar::updateScrollbarPart):
518 * rendering/RenderScrollbar.h:
519 * rendering/RenderScrollbarTheme.h:
520 (WebCore::RenderScrollbarTheme::buttonsPlacement):
521
timothy@apple.comc1df5732008-10-10 20:27:51 +00005222008-10-10 Timothy Hatcher <timothy@apple.com>
523
524 Fixes a regression with input search fields, where the placeholder text
525 would not be updated when the value of the placeholder attribute changed.
526
527 https://bugs.webkit.org/show_bug.cgi?id=21521
528
529 Reviewed by Adele Peterson.
530
531 Test: fast/forms/search-placeholder-value-changed.html
532
533 * html/HTMLInputElement.cpp:
534 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
535 placeholderValueChanged parameter of updatePlaceholderVisibility.
536 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
537 for placeholderValueChanged that informs the method that the value changed.
538 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
539 updatePlaceholderVisibility method. Made it default to false.
540
hyatt@apple.comf9e710b2008-10-10 19:32:52 +00005412008-10-10 David Hyatt <hyatt@apple.com>
542
hyatt@apple.comc92f8c22008-10-10 20:12:14 +0000543 Allow the track part to have negative margins so that it can slightly overlap buttons. This
544 is necessary to emulate the Aqua look in CSS.
545
546 Reviewed by Sam Weinig
547
548 * platform/ScrollbarThemeComposite.cpp:
549 (WebCore::ScrollbarThemeComposite::paint):
550 (WebCore::ScrollbarThemeComposite::hitTest):
551 * rendering/RenderScrollbar.cpp:
552 (WebCore::RenderScrollbar::setHoveredPart):
553 (WebCore::RenderScrollbar::trackRect):
554 * rendering/RenderScrollbar.h:
555 * rendering/RenderScrollbarPart.cpp:
556 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
557 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
558 * rendering/RenderScrollbarTheme.cpp:
559 (WebCore::RenderScrollbarTheme::backButtonRect):
560 (WebCore::RenderScrollbarTheme::forwardButtonRect):
561 (WebCore::RenderScrollbarTheme::trackRect):
562
5632008-10-10 David Hyatt <hyatt@apple.com>
564
hyatt@apple.comf9e710b2008-10-10 19:32:52 +0000565 https://bugs.webkit.org/show_bug.cgi?id=21527
566
567 Make CSS scrollbars support :not, :hover and :active.
568
569 Reviewed by Adam Roben
570
571 Added WebCore/manual-tests/scrollbar-hover-active.html
572
573 * css/CSSStyleSelector.cpp:
574 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
575 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
576 * platform/Scrollbar.cpp:
577 (WebCore::Scrollbar::autoscrollPressedPart):
578 (WebCore::Scrollbar::startTimerIfNeeded):
579 (WebCore::Scrollbar::setHoveredPart):
580 (WebCore::Scrollbar::setPressedPart):
581 (WebCore::Scrollbar::mouseMoved):
582 (WebCore::Scrollbar::mouseExited):
583 (WebCore::Scrollbar::mouseUp):
584 (WebCore::Scrollbar::mouseDown):
585 * platform/Scrollbar.h:
586 * rendering/RenderScrollbar.cpp:
587 (WebCore::RenderScrollbar::setHoveredPart):
588 (WebCore::RenderScrollbar::setPressedPart):
589 (WebCore::RenderScrollbar::updateScrollbarParts):
590 (WebCore::pseudoForScrollbarPart):
591 (WebCore::RenderScrollbar::updateScrollbarPart):
592 * rendering/RenderScrollbar.h:
593
cmarrin@apple.com274a8cf2008-10-10 18:43:47 +00005942008-10-10 Chris Marrin <cmarrin@apple.com>
595
596 Reviewed by Dan Bernstein.
597
598 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
599 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
600
601 Test: transitions/interrupt-zero-duration.html
602
603 * page/animation/CompositeAnimation.cpp:
604 (WebCore::CompositeAnimation::updateTransitions):
605
kevino@webkit.org0b227f82008-10-10 17:13:46 +00006062008-10-10 Kevin Ollivier <kevino@theolliviers.com>
607
608 wx build fix. Add new scrollbar-related sources.
609
610 * WebCoreSources.bkl:
611
hyatt@apple.com216ac3b2008-10-10 07:15:04 +00006122008-10-10 David Hyatt <hyatt@apple.com>
613
hyatt@apple.com676ab7f2008-10-10 16:59:20 +0000614 https://bugs.webkit.org/show_bug.cgi?id=21522
615
616 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
617 created. (Just :hover/:active left to finish it up.)
618
619 Reviewed by Adam Roben
620
621 Added scrollbars/scrollbar-buttons.html
622
623 * css/CSSStyleSelector.cpp:
624 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
625
6262008-10-10 David Hyatt <hyatt@apple.com>
627
hyatt@apple.com08425212008-10-10 16:40:26 +0000628 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
629 back/forward to decrement/increment. Adding start/end pseudoclasses.
630
631 Reviewed by Eric Seidel
632
633 * css/CSSSelector.cpp:
634 (WebCore::CSSSelector::extractPseudoType):
635 * css/CSSSelector.h:
636 (WebCore::CSSSelector::):
637 * css/CSSStyleSelector.cpp:
638 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
639
6402008-10-10 David Hyatt <hyatt@apple.com>
641
hyatt@apple.com216ac3b2008-10-10 07:15:04 +0000642 Switch window-active to window-inactive, since that will work better as far as degrading in other
643 browsers.
644
645 Reviewed by Tim Hatcher
646
647 * css/CSSSelector.cpp:
648 (WebCore::CSSSelector::extractPseudoType):
649 * css/CSSSelector.h:
650 (WebCore::CSSSelector::):
651 * css/CSSStyleSelector.cpp:
652 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
653
cmarrin@apple.com1386c1c2008-10-10 18:04:20 +00006542008-10-09 Chris Marrin <cmarrin@apple.com>
655
656 Reviewed by Dan Bernstein.
657
658 https://bugs.webkit.org/show_bug.cgi?id=21310
659
660 Redesigned how animation events are sent in order to get rid of
661 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
662 are now ref counted. While calling the event handler, I keep a
663 reference to this class to avoid it getting destroyed out from under me.
664
665 I also moved most of the functionality of CompositeAnimation to
666 and internal class (CompositeAnimationPrivate) to reduce the exposure
667 of the internals of the various animation classes.
668
669 We have several transition and animation LayoutTests which verify that
670 this fix works as expected and continues to avoid crashes.
671
672 * page/animation/AnimationBase.cpp:
673 (WebCore::AnimationBase::AnimationBase):
674 * page/animation/AnimationBase.h:
675 (WebCore::AnimationBase::cancelTimers):
676 (WebCore::AnimationBase::waitingForStyleAvailable):
677 * page/animation/CompositeAnimation.cpp:
678 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
679 (WebCore::CompositeAnimationPrivate::suspended):
680 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
681 (WebCore::CompositeAnimationPrivate::updateTransitions):
682 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
683 (WebCore::CompositeAnimationPrivate::animate):
684 (WebCore::CompositeAnimationPrivate::setAnimating):
685 (WebCore::CompositeAnimationPrivate::animating):
686 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
687 (WebCore::CompositeAnimationPrivate::resetTransitions):
688 (WebCore::CompositeAnimationPrivate::resetAnimations):
689 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
690 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
691 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
692 (WebCore::CompositeAnimationPrivate::suspendAnimations):
693 (WebCore::CompositeAnimationPrivate::resumeAnimations):
694 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
695 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
696 (WebCore::compareAnimationIndices):
697 (WebCore::CompositeAnimationPrivate::styleAvailable):
698 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
699 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
700 (WebCore::CompositeAnimation::CompositeAnimation):
701 (WebCore::CompositeAnimation::~CompositeAnimation):
702 (WebCore::CompositeAnimation::animate):
703 (WebCore::CompositeAnimation::animating):
704 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
705 (WebCore::CompositeAnimation::resetTransitions):
706 (WebCore::CompositeAnimation::suspendAnimations):
707 (WebCore::CompositeAnimation::resumeAnimations):
708 (WebCore::CompositeAnimation::suspended):
709 (WebCore::CompositeAnimation::styleAvailable):
710 (WebCore::CompositeAnimation::setAnimating):
711 (WebCore::CompositeAnimation::isAnimatingProperty):
712 (WebCore::CompositeAnimation::setAnimationStartTime):
713 (WebCore::CompositeAnimation::setTransitionStartTime):
714 (WebCore::CompositeAnimation::overrideImplicitAnimations):
715 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
716 * page/animation/CompositeAnimation.h:
717 * page/animation/ImplicitAnimation.cpp:
718 (WebCore::ImplicitAnimation::sendTransitionEvent):
719 * page/animation/ImplicitAnimation.h:
720 (WebCore::ImplicitAnimation::create):
721 * page/animation/KeyframeAnimation.cpp:
722 (WebCore::KeyframeAnimation::sendAnimationEvent):
723 * page/animation/KeyframeAnimation.h:
724 (WebCore::KeyframeAnimation::create):
725
hyatt@apple.come784a792008-10-10 05:56:10 +00007262008-10-09 David Hyatt <hyatt@apple.com>
727
hyatt@apple.come3803262008-10-10 07:04:38 +0000728 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
729 is active as well.
730
731 Reviewed by Tim Hatcher
732
733 Added scrollbars/scrollbar-orientation.html
734
735 * css/CSSSelector.cpp:
736 (WebCore::CSSSelector::extractPseudoType):
737 * css/CSSSelector.h:
738 (WebCore::CSSSelector::):
739 * css/CSSStyleSelector.cpp:
740 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
741 * platform/Scrollbar.cpp:
742 (WebCore::Scrollbar::isWindowActive):
743 * platform/Scrollbar.h:
744 * rendering/RenderScrollbar.cpp:
745 (WebCore::RenderScrollbar::paint):
746 (WebCore::RenderScrollbar::partForStyleResolve):
747 * rendering/RenderScrollbar.h:
748
7492008-10-09 David Hyatt <hyatt@apple.com>
750
hyatt@apple.come784a792008-10-10 05:56:10 +0000751 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
752 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
753
754 Reviewed by Tim Hatcher
755
756 Added scrollbars/disabled-scrollbar.html
757
758 * css/CSSStyleSelector.cpp:
759 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
760 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
761 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
762 * css/CSSStyleSelector.h:
763 * rendering/RenderObject.cpp:
764 (WebCore::RenderObject::getPseudoStyle):
765 * rendering/RenderObject.h:
766 * rendering/RenderScrollbar.cpp:
767 (WebCore::RenderScrollbar::setEnabled):
768 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
769 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
770 (WebCore::RenderScrollbar::paintPart):
771 * rendering/RenderScrollbar.h:
772
eric.carlson@apple.com24750582008-10-10 04:04:15 +00007732008-10-09 Eric Carlson <eric.carlson@apple.com>
774
775 Media controls should not show when element is not visible
776
777 https://bugs.webkit.org/show_bug.cgi?id=21155
778
779 Reviewed by Adele Peterson.
780
781 * html/HTMLMediaElement.cpp:
782 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
783 in sync with visibility changes
784 * html/HTMLMediaElement.h:
785 * rendering/RenderMedia.cpp:
786 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
787 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
788 if element is visible or not. Don't animate controller visibility when change triggered by
789 showing or hiding media element.
790 * rendering/RenderMedia.h: declare m_previousVisible
791
timothy@apple.com746258b2008-10-10 03:23:12 +00007922008-10-09 Timothy Hatcher <timothy@apple.com>
793
794 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
795 availability macros and version macros.
796
797 https://bugs.webkit.org/show_bug.cgi?id=21496
798 rdar://problem/6259225
799
800 Reviewed by Sam Weinig.
801
802 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
803 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
804 and add an #if around the enum.
805 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
806 comment to match the other headers.
807 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
808 * bindings/objc/DOMObject.h: Add a version #if around class interface.
809 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
810 and add a version #if around the enum.
811 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
812 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
813 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
814 when they where added to WebKit. Also annotate individual methods that are
815 deprecated or where added after the class was added to WebKit.
816 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
817 since this header is included by most DOM headers. Annotate the JSObject method.
818
819 * bindings/scripts/CodeGeneratorObjC.pm:
820 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
821 And parse out the availability version for the class/protocol. Default to
822 WEBKIT_VERSION_LATEST if the class is new.
823 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
824 interface availability version check if the class has a required version. Create
825 a public interface key (used to lookup in $publicInterfaces) and make a declaration
826 suffix that includes the availability macro (if needed). Use the "available in 1.3
827 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
828 the default availability macro for old style methods. Tweak line breaks in the generated
829 headers to look good and not have too many extra lines.
830
simon.fraser@apple.coma89b8cd2008-10-10 03:15:31 +00008312008-10-09 Simon Fraser <simon.fraser@apple.com>
832
833 Reviewed by Dave Hyatt
834
835 https://bugs.webkit.org/show_bug.cgi?id=20947
836
837 Refactor setStyle() methods into styleWillChange()
838 and styleDidChange(), so most of the setStyle() overrides can
839 be removed.
840
841 * rendering/RenderBR.cpp:
842 (WebCore::RenderBR::styleDidChange):
843 * rendering/RenderBR.h:
844 * rendering/RenderBlock.cpp:
845 (WebCore::RenderBlock::styleWillChange):
846 (WebCore::RenderBlock::styleDidChange):
847 * rendering/RenderBlock.h:
848 * rendering/RenderBox.cpp:
849 (WebCore::RenderBox::~RenderBox):
850 (WebCore::RenderBox::destroy):
851 (WebCore::RenderBox::styleWillChange):
852 (WebCore::RenderBox::styleDidChange):
853 * rendering/RenderBox.h:
854 * rendering/RenderButton.cpp:
855 (WebCore::RenderButton::styleWillChange):
856 (WebCore::RenderButton::styleDidChange):
857 * rendering/RenderButton.h:
858 * rendering/RenderFieldset.cpp:
859 (WebCore::RenderFieldset::styleDidChange):
860 * rendering/RenderFieldset.h:
861 * rendering/RenderFileUploadControl.cpp:
862 (WebCore::RenderFileUploadControl::styleDidChange):
863 * rendering/RenderFileUploadControl.h:
864 * rendering/RenderInline.cpp:
865 (WebCore::RenderInline::styleDidChange):
866 * rendering/RenderInline.h:
867 * rendering/RenderLayer.cpp:
868 (WebCore::RenderLayer::styleChanged):
869 * rendering/RenderLayer.h:
870 * rendering/RenderListBox.cpp:
871 (WebCore::RenderListBox::styleDidChange):
872 * rendering/RenderListBox.h:
873 * rendering/RenderListItem.cpp:
874 (WebCore::RenderListItem::styleDidChange):
875 * rendering/RenderListItem.h:
876 * rendering/RenderListMarker.cpp:
877 (WebCore::RenderListMarker::styleWillChange):
878 (WebCore::RenderListMarker::styleDidChange):
879 * rendering/RenderListMarker.h:
880 * rendering/RenderMenuList.cpp:
881 (WebCore::RenderMenuList::styleDidChange):
882 * rendering/RenderMenuList.h:
883 * rendering/RenderObject.cpp:
884 (WebCore::RenderObject::setStyle):
885 (WebCore::RenderObject::setStyleInternal):
886 (WebCore::RenderObject::styleWillChange):
887 (WebCore::RenderObject::styleDidChange):
888 * rendering/RenderObject.h:
889 * rendering/RenderReplaced.cpp:
890 (WebCore::RenderReplaced::styleDidChange):
891 * rendering/RenderReplaced.h:
892 * rendering/RenderSVGGradientStop.cpp:
893 (WebCore::RenderSVGGradientStop::styleDidChange):
894 * rendering/RenderSVGGradientStop.h:
895 * rendering/RenderScrollbarPart.cpp:
896 (WebCore::RenderScrollbarPart::styleDidChange):
897 * rendering/RenderScrollbarPart.h:
898 * rendering/RenderSlider.cpp:
899 (WebCore::RenderSlider::styleDidChange):
900 * rendering/RenderSlider.h:
901 * rendering/RenderTable.cpp:
902 (WebCore::RenderTable::styleDidChange):
903 * rendering/RenderTable.h:
904 * rendering/RenderTableCell.cpp:
905 (WebCore::RenderTableCell::styleWillChange):
906 (WebCore::RenderTableCell::styleDidChange):
907 * rendering/RenderTableCell.h:
908 * rendering/RenderTableRow.cpp:
909 (WebCore::RenderTableRow::styleWillChange):
910 * rendering/RenderTableRow.h:
911 * rendering/RenderText.cpp:
912 (WebCore::RenderText::styleDidChange):
913 * rendering/RenderText.h:
914 * rendering/RenderTextControl.cpp:
915 (WebCore::RenderTextControl::styleDidChange):
916 * rendering/RenderTextControl.h:
917 * rendering/RenderWidget.cpp:
918 (WebCore::RenderWidget::styleDidChange):
919 * rendering/RenderWidget.h:
920
hyatt@apple.com2e4835d2008-10-10 02:33:16 +00009212008-10-09 David Hyatt <hyatt@apple.com>
922
hyatt@apple.com1d089852008-10-10 03:25:37 +0000923 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 +0000924 parent is nulled out is a good time.
925
926 Reviewed by Oliver Hunt
927
928 * rendering/RenderScrollbar.cpp:
929 (WebCore::RenderScrollbar::~RenderScrollbar):
930 (WebCore::RenderScrollbar::setParent):
931 (WebCore::RenderScrollbar::updateScrollbarPart):
932 * rendering/RenderScrollbar.h:
933
9342008-10-09 David Hyatt <hyatt@apple.com>
935
hyatt@apple.com2e4835d2008-10-10 02:33:16 +0000936 https://bugs.webkit.org/show_bug.cgi?id=21446
937
938 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
939 orientation and back vs. forward on the buttons, but it's a start.
940
941 Reviewed by Oliver Hunt
942
943 Added scrollbars/basic-scrollbar.html
944
945 * WebCore.xcodeproj/project.pbxproj:
946 * css/CSSSelector.cpp:
947 (WebCore::CSSSelector::extractPseudoType):
948 * css/CSSSelector.h:
949 (WebCore::CSSSelector::):
950 * css/CSSStyleSelector.cpp:
951 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
952 * platform/ScrollTypes.h:
953 (WebCore::):
954 * platform/Scrollbar.h:
955 (WebCore::Scrollbar::styleChanged):
956 * platform/ScrollbarThemeComposite.cpp:
957 (WebCore::ScrollbarThemeComposite::paint):
958 (WebCore::ScrollbarThemeComposite::splitTrack):
959 * platform/ScrollbarThemeComposite.h:
960 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
961 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
962 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
963 * platform/win/ScrollbarThemeSafari.cpp:
964 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
965 * platform/win/ScrollbarThemeSafari.h:
966 * platform/win/ScrollbarThemeWin.cpp:
967 (WebCore::ScrollbarThemeWin::paintTrack):
968 * platform/win/ScrollbarThemeWin.h:
969 * rendering/RenderLayer.cpp:
970 (WebCore::RenderLayer::createScrollbar):
971 (WebCore::RenderLayer::styleChanged):
972 * rendering/RenderScrollbar.cpp: Added.
973 (WebCore::RenderScrollbar::createCustomScrollbar):
974 (WebCore::RenderScrollbar::RenderScrollbar):
975 (WebCore::RenderScrollbar::~RenderScrollbar):
976 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
977 (WebCore::RenderScrollbar::updateScrollbarParts):
978 (WebCore::RenderScrollbar::updateScrollbarPart):
979 (WebCore::RenderScrollbar::paintPart):
980 (WebCore::RenderScrollbar::buttonRect):
981 (WebCore::RenderScrollbar::minimumThumbLength):
982 * rendering/RenderScrollbar.h: Added.
983 (WebCore::RenderScrollbar::styleChanged):
984 (WebCore::RenderScrollbar::owningRenderer):
985 * rendering/RenderScrollbarPart.cpp: Added.
986 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
987 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
988 (WebCore::RenderScrollbarPart::layout):
989 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
990 (WebCore::RenderScrollbarPart::layoutVerticalPart):
991 (WebCore::calcScrollbarThicknessUsing):
992 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
993 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
994 (WebCore::RenderScrollbarPart::calcPrefWidths):
995 (WebCore::RenderScrollbarPart::setStyle):
996 * rendering/RenderScrollbarPart.h: Added.
997 (WebCore::RenderScrollbarPart::renderName):
998 (WebCore::RenderScrollbarPart::requiresLayer):
999 * rendering/RenderScrollbarTheme.cpp: Added.
1000 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
1001 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
1002 (WebCore::RenderScrollbarTheme::hasButtons):
1003 (WebCore::RenderScrollbarTheme::hasThumb):
1004 (WebCore::RenderScrollbarTheme::minimumThumbLength):
1005 (WebCore::RenderScrollbarTheme::backButtonRect):
1006 (WebCore::RenderScrollbarTheme::forwardButtonRect):
1007 (WebCore::RenderScrollbarTheme::trackRect):
1008 (WebCore::RenderScrollbarTheme::paintScrollCorner):
1009 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
1010 (WebCore::RenderScrollbarTheme::paintTrackBackground):
1011 (WebCore::RenderScrollbarTheme::paintTrackPiece):
1012 (WebCore::RenderScrollbarTheme::paintButton):
1013 (WebCore::RenderScrollbarTheme::paintThumb):
1014 * rendering/RenderScrollbarTheme.h: Added.
1015 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
1016 (WebCore::RenderScrollbarTheme::scrollbarThickness):
1017 (WebCore::RenderScrollbarTheme::buttonsPlacement):
1018 (WebCore::RenderScrollbarTheme::supportsControlTints):
1019 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
1020 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
1021 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
1022 (WebCore::RenderScrollbarTheme::registerScrollbar):
1023 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
1024 * rendering/style/RenderStyle.h:
1025 (WebCore::RenderStyle::):
1026
eric@webkit.org3df115d2008-10-10 00:08:44 +000010272008-10-09 Eric Seidel <eric@webkit.org>
1028
1029 Reviewed by Oliver Hunt.
eric@webkit.org25626592008-10-10 02:26:54 +00001030
1031 Fix Canvex DOOM Game
1032 Gradient clips were not getting cleared after filling the
1033 gradient, this was causing nothing to draw in Canvex
1034 https://bugs.webkit.org/show_bug.cgi?id=21498
1035
1036 Tests forthcoming.
1037
1038 * WebCore.xcodeproj/project.pbxproj:
1039 * platform/graphics/cg/GraphicsContextCG.cpp:
1040 (WebCore::GraphicsContext::fillPath):
1041 (WebCore::GraphicsContext::strokePath):
1042 (WebCore::GraphicsContext::fillRect):
1043
10442008-10-09 Eric Seidel <eric@webkit.org>
1045
1046 Reviewed by Oliver Hunt.
eric@webkit.org3df115d2008-10-10 00:08:44 +00001047
1048 Fix transformed patterns
1049 https://bugs.webkit.org/show_bug.cgi?id=21498
1050
1051 Test: fast/canvas/patternfill-repeat.html
1052
1053 * WebCore.xcodeproj/project.pbxproj:
1054 * platform/graphics/GraphicsContext.cpp:
1055 (WebCore::GraphicsContext::setStrokePattern):
1056 (WebCore::GraphicsContext::setFillPattern):
1057 (WebCore::GraphicsContext::setStrokeGradient):
1058 (WebCore::GraphicsContext::setFillGradient):
1059 * platform/graphics/GraphicsContext.h:
1060 * platform/graphics/cairo/GraphicsContextCairo.cpp:
1061 * platform/graphics/cg/GraphicsContextCG.cpp:
1062 (WebCore::applyStrokePattern):
1063 (WebCore::applyFillPattern):
1064 (WebCore::GraphicsContext::drawPath):
1065 (WebCore::GraphicsContext::fillPath):
1066 (WebCore::GraphicsContext::strokePath):
1067 (WebCore::GraphicsContext::fillRect):
1068 * platform/graphics/qt/GraphicsContextQt.cpp:
1069 * platform/graphics/wx/GraphicsContextWx.cpp:
1070
mrowe@apple.coma2e784f2008-10-12 01:38:08 +000010712008-10-09 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org458871b2008-10-09 23:44:40 +00001072
1073 wx build fixes.
1074
1075 * platform/wx/WidgetWx.cpp:
1076 * plugins/wx/PluginViewWx.cpp:
1077 (WebCore::PluginView::invalidateRect):
1078 * webcore-base.bkl:
1079
cmarrin@apple.comfe914d22008-10-09 23:04:07 +000010802008-10-09 Chris Marrin <cmarrin@apple.com>
1081
cmarrin@apple.com8a901162008-10-09 23:59:49 +00001082 Reviewed by Darin Adler.
1083
1084 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
1085 Animations assert when navigating from page
1086
1087 Changed assertions to test the right flag for the paused state
1088
1089 * page/animation/AnimationBase.cpp:
1090 (WebCore::AnimationBase::updateStateMachine):
1091
10922008-10-09 Chris Marrin <cmarrin@apple.com>
1093
cmarrin@apple.comfe914d22008-10-09 23:04:07 +00001094 Reviewed by Dan Bernstein.
1095
1096 Fixed > 180 degree rotation bug
1097 Ensure that validateTransformFunctionList() is called after updating keyframe styles
1098
1099 https://bugs.webkit.org/show_bug.cgi?id=21420
1100
1101 Test: animations/big-rotation.html
1102
1103 * page/animation/KeyframeAnimation.cpp:
1104 (WebCore::KeyframeAnimation::KeyframeAnimation):
1105
beidson@apple.comc90a4422008-10-09 20:43:24 +000011062008-10-09 Brady Eidson <beidson@apple.com>
1107
1108 Reviewed by Anders
1109
1110 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
1111
1112 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
1113
1114 * loader/FrameLoader.cpp:
1115 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
1116 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
1117 so perform a second null check on the page. Bail if it has been cleared.
1118
alp@webkit.org81906422008-10-09 16:21:43 +000011192008-10-09 Alp Toker <alp@nuanti.com>
1120
1121 Build fix for recent DOM generation Makefile changes when custom
1122 CFLAGS/CXXFLAGS are passed in.
1123
1124 * GNUmakefile.am:
1125
alp@webkit.orgbedd8d82008-10-09 16:13:53 +000011262008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
1127
1128 Reviewed by Alp Toker.
1129
1130 https://bugs.webkit.org/show_bug.cgi?id=21390
1131 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
1132
1133 * platform/gtk/ScrollViewGtk.cpp:
1134 (WebCore::ScrollView::platformRemoveChild):
1135
darin@apple.com2d343692008-10-09 08:37:04 +000011362008-10-09 Darin Adler <darin@apple.com>
1137
1138 - try to fix Qt build
1139
1140 * bridge/qt/qt_runtime.cpp:
1141 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
1142
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +000011432008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
1144
zimmermann@webkit.orge8c220e2008-10-09 03:54:25 +00001145 Reviewed by Oliver Hunt & Sam Weinig.
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +00001146
1147 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
1148 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
1149 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
1150
1151 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
1152 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
1153 use tree is rebuild.
1154
1155 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
1156 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
1157 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
1158 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
1159 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
1160 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
1161 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
1162 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
1163
1164 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
1165 see resources/use-instanceRoot-event-bubbling.js for details.
1166
1167 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
1168 svg/custom/use-elementInstance-methods.svg (reenabled)
1169 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
1170 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
1171 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
1172 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
1173
1174 * DerivedSources.make:
1175 * GNUmakefile.am:
1176 * WebCore.pro:
1177 * WebCore.vcproj/WebCore.vcproj:
1178 * WebCore.xcodeproj/project.pbxproj:
1179 * bindings/js/JSEventListener.h:
1180 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
1181 * bindings/js/JSEventTarget.cpp:
1182 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
1183 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
1184 * bindings/js/JSSVGElementInstanceCustom.cpp:
1185 (WebCore::JSSVGElementInstance::addEventListener):
1186 (WebCore::JSSVGElementInstance::removeEventListener):
1187 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
1188 * bindings/scripts/CodeGeneratorJS.pm:
1189 * bindings/scripts/CodeGeneratorObjC.pm:
1190 * dom/EventListener.h:
1191 (WebCore::EventListener::wasCreatedFromMarkup):
1192 * dom/EventTargetNode.cpp:
1193 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
1194 (WebCore::EventTargetNode::addEventListener):
1195 (WebCore::EventTargetNode::removeEventListener):
1196 (WebCore::eventTargetAsSVGElementInstance):
1197 (WebCore::eventTargetRespectingSVGTargetRules):
1198 (WebCore::EventTargetNode::dispatchEvent):
1199 (WebCore::EventTargetNode::dispatchGenericEvent):
1200 (WebCore::EventTargetNode::removeEventListenerForType):
1201 * page/EventHandler.cpp:
1202 (WebCore::EventHandler::clear):
1203 (WebCore::instanceAssociatedWithShadowTreeElement):
1204 (WebCore::EventHandler::updateMouseEventTargetNode):
1205 * page/EventHandler.h:
1206 * svg/EventTargetSVGElementInstance.cpp: Removed.
1207 * svg/EventTargetSVGElementInstance.h: Removed.
1208 * svg/SVGElementInstance.cpp:
1209 (WebCore::SVGElementInstance::SVGElementInstance):
1210 (WebCore::SVGElementInstance::~SVGElementInstance):
1211 (WebCore::SVGElementInstance::childNodes):
1212 (WebCore::SVGElementInstance::setShadowTreeElement):
1213 (WebCore::SVGElementInstance::forgetWrapper):
1214 (WebCore::SVGElementInstance::appendChild):
1215 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
1216 (WebCore::SVGElementInstance::setNeedsUpdate):
1217 (WebCore::SVGElementInstance::associatedFrame):
1218 (WebCore::SVGElementInstance::addEventListener):
1219 (WebCore::SVGElementInstance::removeEventListener):
1220 (WebCore::SVGElementInstance::dispatchEvent):
1221 (WebCore::SVGElementInstance::onabort):
1222 (WebCore::SVGElementInstance::setOnabort):
1223 (WebCore::SVGElementInstance::onblur):
1224 (WebCore::SVGElementInstance::setOnblur):
1225 (WebCore::SVGElementInstance::onchange):
1226 (WebCore::SVGElementInstance::setOnchange):
1227 (WebCore::SVGElementInstance::onclick):
1228 (WebCore::SVGElementInstance::setOnclick):
1229 (WebCore::SVGElementInstance::oncontextmenu):
1230 (WebCore::SVGElementInstance::setOncontextmenu):
1231 (WebCore::SVGElementInstance::ondblclick):
1232 (WebCore::SVGElementInstance::setOndblclick):
1233 (WebCore::SVGElementInstance::onerror):
1234 (WebCore::SVGElementInstance::setOnerror):
1235 (WebCore::SVGElementInstance::onfocus):
1236 (WebCore::SVGElementInstance::setOnfocus):
1237 (WebCore::SVGElementInstance::oninput):
1238 (WebCore::SVGElementInstance::setOninput):
1239 (WebCore::SVGElementInstance::onkeydown):
1240 (WebCore::SVGElementInstance::setOnkeydown):
1241 (WebCore::SVGElementInstance::onkeypress):
1242 (WebCore::SVGElementInstance::setOnkeypress):
1243 (WebCore::SVGElementInstance::onkeyup):
1244 (WebCore::SVGElementInstance::setOnkeyup):
1245 (WebCore::SVGElementInstance::onload):
1246 (WebCore::SVGElementInstance::setOnload):
1247 (WebCore::SVGElementInstance::onmousedown):
1248 (WebCore::SVGElementInstance::setOnmousedown):
1249 (WebCore::SVGElementInstance::onmousemove):
1250 (WebCore::SVGElementInstance::setOnmousemove):
1251 (WebCore::SVGElementInstance::onmouseout):
1252 (WebCore::SVGElementInstance::setOnmouseout):
1253 (WebCore::SVGElementInstance::onmouseover):
1254 (WebCore::SVGElementInstance::setOnmouseover):
1255 (WebCore::SVGElementInstance::onmouseup):
1256 (WebCore::SVGElementInstance::setOnmouseup):
1257 (WebCore::SVGElementInstance::onmousewheel):
1258 (WebCore::SVGElementInstance::setOnmousewheel):
1259 (WebCore::SVGElementInstance::onbeforecut):
1260 (WebCore::SVGElementInstance::setOnbeforecut):
1261 (WebCore::SVGElementInstance::oncut):
1262 (WebCore::SVGElementInstance::setOncut):
1263 (WebCore::SVGElementInstance::onbeforecopy):
1264 (WebCore::SVGElementInstance::setOnbeforecopy):
1265 (WebCore::SVGElementInstance::oncopy):
1266 (WebCore::SVGElementInstance::setOncopy):
1267 (WebCore::SVGElementInstance::onbeforepaste):
1268 (WebCore::SVGElementInstance::setOnbeforepaste):
1269 (WebCore::SVGElementInstance::onpaste):
1270 (WebCore::SVGElementInstance::setOnpaste):
1271 (WebCore::SVGElementInstance::ondragenter):
1272 (WebCore::SVGElementInstance::setOndragenter):
1273 (WebCore::SVGElementInstance::ondragover):
1274 (WebCore::SVGElementInstance::setOndragover):
1275 (WebCore::SVGElementInstance::ondragleave):
1276 (WebCore::SVGElementInstance::setOndragleave):
1277 (WebCore::SVGElementInstance::ondrop):
1278 (WebCore::SVGElementInstance::setOndrop):
1279 (WebCore::SVGElementInstance::ondragstart):
1280 (WebCore::SVGElementInstance::setOndragstart):
1281 (WebCore::SVGElementInstance::ondrag):
1282 (WebCore::SVGElementInstance::setOndrag):
1283 (WebCore::SVGElementInstance::ondragend):
1284 (WebCore::SVGElementInstance::setOndragend):
1285 (WebCore::SVGElementInstance::onreset):
1286 (WebCore::SVGElementInstance::setOnreset):
1287 (WebCore::SVGElementInstance::onresize):
1288 (WebCore::SVGElementInstance::setOnresize):
1289 (WebCore::SVGElementInstance::onscroll):
1290 (WebCore::SVGElementInstance::setOnscroll):
1291 (WebCore::SVGElementInstance::onsearch):
1292 (WebCore::SVGElementInstance::setOnsearch):
1293 (WebCore::SVGElementInstance::onselect):
1294 (WebCore::SVGElementInstance::setOnselect):
1295 (WebCore::SVGElementInstance::onselectstart):
1296 (WebCore::SVGElementInstance::setOnselectstart):
1297 (WebCore::SVGElementInstance::onsubmit):
1298 (WebCore::SVGElementInstance::setOnsubmit):
1299 (WebCore::SVGElementInstance::onunload):
1300 (WebCore::SVGElementInstance::setOnunload):
1301 * svg/SVGElementInstance.h:
1302 (WebCore::SVGElementInstance::needsUpdate):
1303 (WebCore::SVGElementInstance::toNode):
1304 (WebCore::SVGElementInstance::toSVGElementInstance):
1305 (WebCore::SVGElementInstance::correspondingElement):
1306 (WebCore::SVGElementInstance::correspondingUseElement):
1307 (WebCore::SVGElementInstance::shadowTreeElement):
1308 (WebCore::SVGElementInstance::parentNode):
1309 (WebCore::SVGElementInstance::previousSibling):
1310 (WebCore::SVGElementInstance::nextSibling):
1311 (WebCore::SVGElementInstance::firstChild):
1312 (WebCore::SVGElementInstance::lastChild):
1313 (WebCore::SVGElementInstance::ownerDocument):
1314 (WebCore::SVGElementInstance::hasChildNodes):
1315 (WebCore::SVGElementInstance::setFirstChild):
1316 (WebCore::SVGElementInstance::setLastChild):
1317 (WebCore::SVGElementInstance::setNextSibling):
1318 (WebCore::SVGElementInstance::setPreviousSibling):
1319 (WebCore::SVGElementInstance::refEventTarget):
1320 (WebCore::SVGElementInstance::derefEventTarget):
1321 * svg/SVGElementInstance.idl:
1322 * svg/SVGStyledElement.cpp:
1323 (WebCore::SVGStyledElement::svgAttributeChanged):
1324 (WebCore::SVGStyledElement::childrenChanged):
1325 * svg/SVGUseElement.cpp:
1326 (WebCore::SVGUseElement::svgAttributeChanged):
1327 (WebCore::shadowTreeContainsChangedNodes):
1328 (WebCore::SVGUseElement::recalcStyle):
1329 (WebCore::dumpInstanceTree):
1330 (WebCore::SVGUseElement::buildPendingResource):
1331 (WebCore::SVGUseElement::buildInstanceTree):
1332 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
1333 * svg/SVGUseElement.h:
1334
weinig@apple.com25cef102008-10-09 00:14:50 +000013352008-10-08 Sam Weinig <sam@webkit.org>
1336
1337 Reviewed by Cameron Zwarich.
1338
1339 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
1340 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
1341
1342 Update JSRGBColor to use the new static function per getter approach.
1343
1344 Test: fast/dom/css-RGBValue.html
1345
1346 * bindings/js/JSRGBColor.cpp:
1347 (WebCore::):
1348 (jsRGBColorRed):
1349 (jsRGBColorGreen):
1350 (jsRGBColorBlue):
1351 * bindings/js/JSRGBColor.h:
1352
eric@webkit.org4966e4a2008-10-08 22:48:55 +000013532008-10-08 Eric Seidel <eric@webkit.org>
1354
1355 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
1356
1357 svgElement.className.baseValue = "foo" does not work
1358 https://bugs.webkit.org/show_bug.cgi?id=20651
1359
1360 * dom/StyledElement.cpp:
1361 (WebCore::StyledElement::classAttributeChanged):
1362 (WebCore::StyledElement::parseMappedAttribute):
1363 * dom/StyledElement.h:
1364 * svg/SVGStyledElement.cpp:
1365 (WebCore::SVGStyledElement::svgAttributeChanged):
1366
timothy@apple.com08664892008-10-08 16:41:15 +000013672008-10-08 Anthony Ricaud <rik24d@gmail.com>
1368
1369 Make the toolbar label text-shadow not disappear when clicking on the
1370 search result count or around the search field.
1371
1372 Reviewed by Timothy Hatcher.
1373
1374 * inspector/front-end/inspector.css:
1375 (.toolbar-item:active .toolbar-label): Make this rule also require the
1376 toggleable class with the toolbar-item class.
1377
hausmann@webkit.orgd6d65cb2008-10-08 13:13:24 +000013782008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
1379
1380 Reviewed by Simon.
1381
1382 Updated the qrc file for the Web Inspector to contain the current set
1383 of images.
1384
1385 * inspector/front-end/WebKit.qrc:
1386
hausmann@webkit.org49650de2008-10-08 12:43:13 +000013872008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
1388
1389 Reviewed by Simon.
1390
1391 Fix the linking of applications against WebKit on Qt/Windows.
1392
1393 The prl files that qmake creates are buggy on Unix, but we they're
1394 fine on Windows and we have to have them there in order to get the
1395 dependencies correct.
1396
1397 * WebCore.pro:
1398
hausmann@webkit.org96f013f2008-10-08 12:11:44 +000013992008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
1400
1401 Reviewed by Simon.
1402
1403 Speed up rectangle filling by not re-creating a QBrush all the time.
1404
1405 This triggers faster path in QPainter where the brush is reused.
1406
1407 * platform/graphics/qt/GraphicsContextQt.cpp:
1408 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1409 (WebCore::GraphicsContext::fillRect):
1410
hausmann@webkit.orgaf2f03e2008-10-08 09:10:44 +000014112008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
1412
1413 Reviewed by Simon.
1414
1415 Fixes: Encoding of Qt URLs
1416
1417 This encoding was added by Simon and I because QUrl's
1418 tolerant parser wasn't tolerant enough. Now it is, so we don't need
1419 this anymore.
1420
1421 * platform/qt/KURLQt.cpp:
1422 (WebCore::KURL::operator QUrl):
1423
hausmann@webkit.orgc4b79f02008-10-08 09:10:32 +000014242008-10-08 Marius Storm-Olsen <marius@trolltech.com>
1425
1426 Reviewed by Simon.
1427
1428 Fixes dependencies in qmake generated visual studio projects.
1429
1430 Only add debug lib name if we're in the debug build_pass, else the release version.
1431 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
1432
1433 * WebCore.pro:
1434
hausmann@webkit.org40df3c32008-10-08 09:10:04 +000014352008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
1436
1437 Reviewed by Simon.
1438
1439 Fix compilation errors on VS2008 64Bit
1440
1441 * platform/text/TextStream.cpp:
1442 (WebCore::TextStream::operator<<):
1443 * platform/text/TextStream.h:
1444 * plugins/win/PluginViewWin.cpp:
1445 (WebCore::PluginView::init):
1446
alp@webkit.org76e7f9a2008-10-08 00:42:37 +000014472008-10-07 Alp Toker <alp@nuanti.com>
1448
1449 GTK+ build fix for older automake versions (1.7). Discussed in bug
1450 #21392.
1451
1452 * GNUmakefile.am:
1453
andersca@apple.comdca58502008-10-07 23:31:34 +000014542008-10-07 Anders Carlsson <andersca@apple.com>
1455
1456 Reviewed by Antti Koivisto.
1457
1458 <rdar://problem/6273887> Crash in ApplicationCacheGroup
1459
1460 Make sure to stop loading even before a cache update is in progress so that the
1461 manifest load will be stopped.
1462
1463 * loader/appcache/ApplicationCacheGroup.cpp:
1464 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
1465 (WebCore::ApplicationCacheGroup::stopLoading):
1466 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
1467
timothy@apple.com59a87132008-10-07 21:49:43 +000014682008-10-07 Timothy Hatcher <timothy@apple.com>
1469
timothy@apple.com754474e2008-10-07 21:49:55 +00001470 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
1471
1472 https://bugs.webkit.org/show_bug.cgi?id=21433
1473
1474 Reviewed by Sam Weinig.
1475
1476 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
1477 * bindings/objc/DOM.mm: Remove previous category implementations
1478 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
1479 moves ObjCNodeFilterCondition to its own file.
1480 * bindings/objc/DOMTraversal.h: Remove the category methods that added
1481 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
1482 to do since DOmDocument.h is included still, and has these methods.
1483 * bindings/objc/DOMUtility.mm:
1484 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
1485 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
1486 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
1487 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
1488 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
1489 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
1490 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
1491 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
1492 createTreeWalker: methods to DOMDocument.
1493 * bindings/scripts/CodeGeneratorObjC.pm:
1494 (GetObjCTypeGetter): Add a case for NodeFilter.
1495 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
1496 (GenerateImplementation): Remove existing NodeFilter special case that
1497 used the m_filter member variable. Add a new special getter for protocol
1498 types that aren't EventTarget, so the right class is used for NodeFilter.
1499 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
1500 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
1501 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
1502 Rename the entityReferenceExpansion parameter to expandEntityReferences to
1503 match the previous ObjC API.
1504 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
1505 m_filter member variable was never used in practice, it was always nil!
1506 We can remove it and not pad the object because this can't be subclassed.
1507 * dom/TreeWalker.idl: Ditto.
1508
15092008-10-07 Timothy Hatcher <timothy@apple.com>
1510
timothy@apple.com59a87132008-10-07 21:49:43 +00001511 Auto-generate the DOMEventTarget protocol implementation for
1512 DOMNode and DOMSVGElementInstance.
1513
1514 https://bugs.webkit.org/show_bug.cgi?id=21432
1515
1516 Reviewed by Darin Adler.
1517
1518 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
1519 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
1520 ObjCEventListener to it's own file. Remove the manual impelmentations
1521 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
1522 * bindings/objc/DOMEvents.h: Remove the categories that defined
1523 DOMEventTarget for DOMNode and DOMSVGElementInstance.
1524 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
1525 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
1526 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
1527 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
1528 callers from doing a manual deref.
1529 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
1530 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
1531 * bindings/scripts/CodeGeneratorObjC.pm:
1532 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
1533 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
1534 And include EventTargetSVGElementInstance.h for SVGElementInstance.
1535 (GenerateHeader): Remove the check for multiple parents.
1536 (GenerateImplementation): Remove the check for multiple parents. Remove
1537 the @deprecatedFunctions array since deprecated methods get generated
1538 into the main @interface now to work with protocols. Add support
1539 for the EventTargetNodeCast extended attribute. Add support for
1540 EventListener parameters.
1541 * dom/Node.idl: Define superclasses for ObjC so the implementation
1542 and interface implement the DOMEventTarget protocol. Explicitly
1543 specify Object as a superclass to use DOMEventTarget. Object will turn
1544 into DOMObject. This is needed to take the code generator down the right
1545 path of multiple super-classes as protocols. It is ObjC only for legacy
1546 reasons. The event target methods are normally on NodeEventTarget, a
1547 subclass of Node. But the ObjC API has never has this subclass and
1548 they are on DOMNode.
1549 * svg/SVGElementInstance.idl: Ditto.
1550
hyatt@apple.com5c9a9f72008-10-07 21:36:39 +000015512008-10-07 David Hyatt <hyatt@apple.com>
1552
1553 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
1554
1555 The new pseudo-elements are:
1556 scrollbar
1557 scrollbar-button
1558 scrollbar-corner
1559 scrollbar-thumb
1560 scrollbar-track
1561
1562 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
1563 the following new pseudo-classes:
1564 scrollbar-active
1565 scrollbar-back
1566 scrollbar-forward
1567 scrollbar-horizontal
1568 scrollbar-vertical
1569
1570 Reviewed by Adele
1571
1572 * css/CSSSelector.cpp:
1573 (WebCore::CSSSelector::extractPseudoType):
1574 * css/CSSSelector.h:
1575 (WebCore::CSSSelector::):
1576
timothy@apple.com920feccc2008-10-07 21:08:29 +000015772008-10-06 Timothy Hatcher <timothy@apple.com>
1578
1579 Add support to the Resources panel for queries like "#123", "foo #123",
1580 "line: 123" and "foo line: 123". These will match the query limiting
1581 the search only to the line specified. If only a line is specified,
1582 the whole line is matched.
1583
1584 https://bugs.webkit.org/show_bug.cgi?id=21422
1585
1586 Reviewed by Darin Adler.
1587
1588 * inspector/front-end/SourceFrame.js:
1589 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
1590 row if the index is greater than the rows collection. Let it return
1591 undefined by indexing out-of-bounds.
1592 * inspector/front-end/SourceView.js:
1593 (WebInspector.SourceView.prototype.performSearch): Add support for
1594 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
1595 Also match the whole query to the whole document in case there are
1596 colors like "#333".
1597
alp@webkit.orge1244662008-10-07 18:28:43 +000015982008-10-07 Alp Toker <alp@nuanti.com>
1599
1600 Reviewed by Mark Rowe.
1601
1602 https://bugs.webkit.org/show_bug.cgi?id=21392
1603 [GTK] Auto-generate JS DOM binding sources list
1604
1605 Remove the huge lists of generated DOM binding sources and headers in
1606 the build system. These are difficult to maintain and can be derived
1607 automatically.
1608
1609 The new strategy is to re-use the existing lists of IDL sources (which
1610 are needed for dist support anyway). This will also ease the addition
1611 of new language bindings.
1612
1613 * GNUmakefile.am:
1614
vestbo@webkit.org0bed2b22008-10-07 16:30:40 +000016152008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
1616
1617 Reviewed by Simon.
1618
1619 Don't attempt to paint when updating control tints
1620
1621 We don't have a valid PlatformGraphicsContext so schedule
1622 the dirty scrollbar/scrollview area for repaint instead.
1623
1624 * platform/qt/ScrollbarThemeQt.cpp:
1625 (WebCore::ScrollbarThemeQt::paint):
1626 (WebCore::ScrollbarThemeQt::paintScrollCorner):
1627
zecke@webkit.org270bdd02008-10-07 07:54:06 +000016282008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
1629
1630 [qt] Build fix after Scrollbar.h and Widget.h changes.
1631
1632 * plugins/qt/PluginViewQt.cpp:
1633 (WebCore::PluginView::getValue):
1634 (WebCore::PluginView::init):
1635
hyatt@apple.com3cb50a82008-10-07 06:58:08 +000016362008-10-06 David Hyatt <hyatt@apple.com>
1637
1638 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
1639
1640 Reviewed by Sam Weinig
1641
1642 * WebCore.base.exp:
1643 * WebCore.xcodeproj/project.pbxproj:
1644 * loader/EmptyClients.h:
1645 (WebCore::EmptyFrameLoaderClient::hasWebView):
1646 * loader/FrameLoader.cpp:
1647 (WebCore::FrameLoader::loadWithDocumentLoader):
1648 (WebCore::FrameLoader::transitionToCommitted):
1649 * loader/FrameLoaderClient.h:
1650 * page/FocusController.cpp:
1651 (WebCore::FocusController::setActive):
1652 * page/FrameView.cpp:
1653 (WebCore::FrameView::FrameView):
1654 (WebCore::FrameView::init):
1655 (WebCore::FrameView::layoutIfNeededRecursive):
1656 * page/FrameView.h:
1657
mitz@apple.com869c6692b2008-10-07 04:42:51 +000016582008-10-06 Dan Bernstein <mitz@apple.com>
1659
1660 - build fix
1661
1662 * bindings/objc/DOMEvents.h:
1663
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +000016642008-10-06 Mark Mentovai <mark@moxienet.com>
1665
eric@webkit.org9e0b3b52008-10-07 01:14:05 +00001666 Reviewed by Tim Hatcher.
1667
1668 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
1669 Platform.h is not available, in preference to #ifdef ENABLE_feature.
1670 #ifdef is wrong now that features are disabled by #defining
1671 ENABLE_feature to 0.
1672
1673 https://bugs.webkit.org/show_bug.cgi?id=21338
1674
1675 * bindings/objc/DOMEvents.h:
1676 * bindings/objc/PublicDOMInterfaces.h:
1677 * dom/Document.idl:
1678 * page/DOMWindow.idl:
1679 * svg/svgtags.in:
1680
16812008-10-06 Mark Mentovai <mark@moxienet.com>
1682
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +00001683 Reviewed by Sam Weinig.
1684
1685 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
1686 to get the declaration for isMainThread().
1687
eric@webkit.org569e8092008-10-07 01:05:34 +000016882008-10-06 Jeremy Moskovich <jeremy@chromium.org>
1689
eric@webkit.orge8585df2008-10-07 01:09:23 +00001690 Reviewed by Tim Hatcher.
1691
1692 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
1693 to reflect that.
1694
1695 * WebCore.xcodeproj/project.pbxproj:
1696 * platform/mac/WebCoreObjCExtras.c: Removed.
1697 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
1698
16992008-10-06 Jeremy Moskovich <jeremy@chromium.org>
1700
eric@webkit.org569e8092008-10-07 01:05:34 +00001701 Reviewed by Dan Bernstein.
1702
1703 Added C++ forward declaration for the NSURLAuthenticationChallenge class
1704 so that the m_currentMacChallenge variable doesn't cause a
1705 compilation error when ResourceHandleInternal.h is included from a C++ file.
1706 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
1707
1708 * platform/network/ResourceHandleInternal.h:
1709
sfalken@apple.com01dbee12008-10-06 23:47:08 +000017102008-10-06 Steve Falkenburg <sfalken@apple.com>
1711
sfalken@apple.come897fd92008-10-07 00:17:26 +00001712 Windows build fix.
1713
1714 * WebCore.vcproj/WebCore.vcproj:
1715
17162008-10-06 Steve Falkenburg <sfalken@apple.com>
1717
sfalken@apple.com01dbee12008-10-06 23:47:08 +00001718 https://bugs.webkit.org/show_bug.cgi?id=21416
1719 Add missing null checks identified by Application Verifier.
1720
1721 Reviewed by Darin Adler.
1722
1723 * platform/win/SharedTimerWin.cpp:
1724 (WebCore::clearTimer):
1725
kmccullough@apple.com45a36da2008-10-06 23:08:16 +000017262008-10-06 Kevin McCullough <kmccullough@apple.com>
1727
kmccullough@apple.com3094b9b2008-10-06 23:15:11 +00001728 Reviewed by Tim Hatcher.
1729
1730 Removed accidentally left in debugging statement.
1731
1732 * inspector/front-end/inspector.js:
1733
17342008-10-06 Kevin McCullough <kmccullough@apple.com>
1735
kmccullough@apple.com47002eb2008-10-06 23:10:09 +00001736 Reviewed by Tim Hatcher and Oliver Hunt.
kmccullough@apple.com45a36da2008-10-06 23:08:16 +00001737
1738 https://bugs.webkit.org/show_bug.cgi?id=21412
1739 Bug 21412: Refactor user initiated profile count to be more stable
1740
1741 * inspector/InspectorController.cpp: Keep track of the user-initiated
1742 profiles here now.
1743 (WebCore::InspectorController::InspectorController):
1744 (WebCore::InspectorController::startUserInitiatedProfiling):
1745 (WebCore::InspectorController::stopUserInitiatedProfiling):
1746 * inspector/InspectorController.h:
1747 The front end will now need to check for the existence of the user-
1748 initiated profile title and use its count instead of keeping its own.
1749 * inspector/front-end/ProfilesPanel.js:
1750
mitz@apple.com1d60e5c2008-10-06 20:25:46 +000017512008-10-06 Dan Bernstein <mitz@apple.com>
1752
1753 Reviewed by Sam Weinig.
1754
1755 - separate GDI text drawing into its own function
1756
1757 * platform/graphics/win/FontCGWin.cpp:
1758 (WebCore::drawGDIGlyphs):
1759 (WebCore::Font::drawGlyphs):
1760
sfalken@apple.com593331e2008-10-06 19:55:09 +000017612008-10-03 Steve Falkenburg <sfalken@apple.com>
1762
1763 <rdar://problem/6249833> Fix default button appearance
1764
1765 Reviewed by Adele Peterson.
1766
1767 * rendering/RenderThemeWin.cpp:
1768 (WebCore::RenderThemeWin::supportsFocus):
1769 (WebCore::RenderThemeWin::determineClassicState):
1770 (WebCore::RenderThemeWin::determineButtonState):
1771 (WebCore::RenderThemeWin::getClassicThemeData):
1772 (WebCore::RenderThemeWin::getThemeData):
1773 (WebCore::drawControl):
1774 * rendering/RenderThemeWin.h:
1775
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +000017762008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
1777
1778 Reviewed by Simon.
1779
vestbo@webkit.orgc5067902008-10-06 18:11:31 +00001780 Add native virtual keycode to PlatformKeyboardEvent
1781
1782 * platform/PlatformKeyboardEvent.h:
1783 * platform/gtk/KeyEventGtk.cpp:
1784 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1785 * platform/mac/KeyEventMac.mm:
1786 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1787 * platform/qt/PlatformKeyboardEventQt.cpp:
1788 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1789 * platform/win/KeyEventWin.cpp:
1790 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1791 * platform/wx/KeyboardEventWx.cpp:
1792 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1793
17942008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
1795
1796 Reviewed by Simon.
1797
vestbo@webkit.org89d13712008-10-06 17:51:39 +00001798 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
1799
1800 * platform/text/PlatformString.h:
1801 * platform/text/StringImpl.h:
1802 * platform/text/cf/StringCF.cpp:
1803 * platform/text/cf/StringImplCF.cpp:
1804
18052008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
1806
1807 Reviewed by Simon.
1808
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +00001809 Use bundles on QtWebKit/Mac for platform modules
1810
1811 * platform/FileSystem.h:
1812 * platform/qt/FileSystemQt.cpp:
1813 (WebCore::unloadModule):
1814
hausmann@webkit.org33791a82008-10-06 17:00:48 +000018152008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
1816
1817 Reviewed by Simon.
1818
1819 Build fix for MinGW.
1820
1821 * platform/win/SystemTimeWin.cpp:
1822 * plugins/win/PluginViewWin.cpp:
1823 (WebCore::PluginView::invalidateRect):
1824
aroben@apple.com5613e512008-10-06 15:39:39 +000018252008-10-06 Adam Roben <aroben@apple.com>
1826
aroben@apple.combf38ff12008-10-06 15:44:16 +00001827 Mimic the inspector/ directory structure in WebCore.vcproj
1828
1829 * WebCore.vcproj/WebCore.vcproj:
1830
18312008-10-06 Adam Roben <aroben@apple.com>
1832
aroben@apple.com5613e512008-10-06 15:39:39 +00001833 Windows build fix
1834
1835 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
1836 configurations to include WebCore/inspector.
1837
eric@webkit.org15e92962008-10-06 08:23:37 +000018382008-10-04 Eric Seidel <eric@webkit.org>
1839
1840 Reviewed by Darin Adler.
1841
1842 SVG should support ascent and descent properties <font-face> instead of <font>!
1843 https://bugs.webkit.org/show_bug.cgi?id=21365
1844
1845 Tested by many many existing SVG tests.
1846
1847 * svg/SVGFontFaceElement.cpp:
1848 (WebCore::SVGFontFaceElement::ascent):
1849 (WebCore::SVGFontFaceElement::descent):
1850
mjs@apple.com64662c82008-10-06 06:44:03 +000018512008-10-05 Darin Fisher <darin@chromium.org>
1852
1853 Reviewed by Eric Seidel.
1854
1855 REGRESSION: crash in ScriptElement::notifyFinished
1856 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
1857
1858 * dom/ScriptElement.cpp:
1859 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
1860 ensure that the ScriptElementData object is not destroyed prematurely.
1861
jmalonzo@webkit.org7cfb4ca2008-10-06 01:43:07 +000018622008-10-05 Chris Lord <chris@openedhand.com>
1863
1864 Reviewed by Alp Toker. Landed by Jan Alonzo.
1865
1866 https://bugs.webkit.org/show_bug.cgi?id=20624
1867 WebKit-gtk uses deprecated GtkType/GtkObject
1868
1869 * plugins/gtk/gtk2xtbin.c:
1870 (gtk_xtbin_get_type):
1871 * plugins/gtk/gtk2xtbin.h:
1872
jmalonzo@webkit.org1285b2a2008-10-05 21:57:05 +000018732008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
1874
1875 Reviewed by David Hyatt.
1876
1877 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
1878 https://bugs.webkit.org/show_bug.cgi?id=20725
1879
1880 Updated to ToT by Jan Alonzo.
1881
1882 * plugins/gtk/PluginViewGtk.cpp:
1883 (WebCore::PluginView::getValue):
1884
jmalonzo@webkit.org2b465832008-10-05 21:50:12 +000018852008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
1886
1887 Reviewed by Darin Adler.
1888
1889 Invalid cast from GdkWindow to GtkWidget
1890 https://bugs.webkit.org/show_bug.cgi?id=21391
1891
1892 Fix a misplaced closing parenthesis to actually cast the widget, not the window
1893
1894 * platform/gtk/PlatformScreenGtk.cpp:
1895 (WebCore::screenDepth):
1896
abarth@webkit.orgfb074382008-10-05 19:12:30 +000018972008-10-05 Adam Barth <abarth@webkit.org>
1898
1899 Reviewed by Darin Alder.
1900
1901 Attach the Origin header to POST requests to help defend against
1902 cross-site request forgery.
1903
1904 https://bugs.webkit.org/show_bug.cgi?id=20792
1905
1906 Collin Jackson <collinj@webkit.org> also contributed to this patch.
1907
1908 Tests: http/tests/security/originHeader/origin-header-for-data.html
1909 http/tests/security/originHeader/origin-header-for-empty.html
1910 http/tests/security/originHeader/origin-header-for-get.html
1911 http/tests/security/originHeader/origin-header-for-https.html
1912 http/tests/security/originHeader/origin-header-for-post.html
1913
1914 * bindings/js/JSDOMWindowBase.cpp:
1915 (WebCore::createWindow):
1916 * loader/FrameLoader.cpp:
1917 (WebCore::FrameLoader::createWindow):
1918 (WebCore::FrameLoader::urlSelected):
1919 (WebCore::FrameLoader::submitForm):
1920 (WebCore::FrameLoader::outgoingOrigin):
1921 (WebCore::FrameLoader::loadURL):
1922 (WebCore::FrameLoader::addExtraFieldsToRequest):
1923 (WebCore::FrameLoader::loadPostRequest):
1924 (WebCore::FrameLoader::loadResourceSynchronously):
1925 (WebCore::FrameLoader::loadItem):
1926 * loader/FrameLoader.h:
1927 * loader/SubresourceLoader.cpp:
1928 (WebCore::SubresourceLoader::create):
1929 * loader/loader.cpp:
1930 (WebCore::Loader::Host::servePendingRequests):
1931 * platform/SecurityOrigin.cpp:
1932 (WebCore::SecurityOrigin::toHTTPOrigin):
1933 * platform/SecurityOrigin.h:
1934 * platform/network/ResourceRequestBase.h:
1935 (WebCore::ResourceRequestBase::httpOrigin):
1936 (WebCore::ResourceRequestBase::setHTTPOrigin):
1937 (WebCore::ResourceRequestBase::clearHTTPOrigin):
1938 * xml/XMLHttpRequest.cpp:
1939 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1940 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1941 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1942 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1943
oliver@apple.com12c92c92008-10-05 08:28:51 +000019442008-10-04 Oliver Hunt <oliver@apple.com>
1945
1946 Reviewed by Tim Hatcher.
1947
1948 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
1949 <https://bugs.webkit.org/show_bug.cgi?id=21381>
1950
1951 If we hit a parsing boundary (end of a packet, etc) in the middle of a
1952 <script> element when we are doing an incremental parse, we exit the
1953 parser, and reenter later when more data is available. During this
1954 reentry we incorrectly reset the scriptStartLineno to the current line
1955 in the parser, which is now part way through the script element.
1956
1957 The solution is to track whether we are entering or reentering the parsing
1958 of a script element. We do this simply by 0 checking scriptStartLineno,
1959 and resetting it after we complete parsing of each script element.
1960
1961 Test: http/tests/incremental/pause-in-script-element.pl
1962
1963 * ChangeLog:
1964 * html/HTMLTokenizer.cpp:
1965 (WebCore::HTMLTokenizer::parseSpecial):
1966 (WebCore::HTMLTokenizer::scriptHandler):
1967
jmalonzo@webkit.orgcc0c46e2008-10-05 06:13:28 +000019682008-10-04 Alp Toker <alp@nuanti.com>
1969
1970 Reviewed by David Hyatt. Landed by Jan Alonzo.
1971
1972 https://bugs.webkit.org/show_bug.cgi?id=20924
1973 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
1974
1975 https://bugs.webkit.org/show_bug.cgi?id=19578
1976 [CURL] problem in parseDataUrl
1977
1978 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
1979 This patch also fixes encoding support in escaped (non-Base64) data
1980 URLs. All manual data URL tests now pass in both GLib and non-GLib
1981 code paths.
1982
1983 * platform/network/curl/ResourceHandleManager.cpp:
1984 (WebCore::parseDataUrl):
1985
timothy@apple.com5c58fb12008-10-05 04:12:40 +000019862008-10-04 Timothy Hatcher <timothy@apple.com>
1987
1988 Makes breakpoints and debugging code during page load work in the
1989 Web Inspector's debugger. Specifically, this makes the source
1990 code for loading resources show up in the Scripts panel.
1991
1992 https://bugs.webkit.org/show_bug.cgi?id=19053
1993 rdar://problem/5933408
1994
1995 Reviewed by Mark Rowe.
1996
1997 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
1998 not using tabs and a tab width of 8.
1999 * inspector/InspectorController.cpp:
2000 (WebCore::addResourceSourceToFrame): Return a bool to report if the
2001 source was added successfully or not.
2002 (WebCore::addSourceToFrame): Ditto.
2003 * inspector/front-end/ScriptView.js:
2004 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
2005 Return early if the InspectorController.addSourceToFrame fails.
2006 Moved the delete of the _frameNeedsSetup property after that call so
2007 if the source wasn't added it will be attempted again.
2008 * inspector/front-end/SourceView.js:
2009 (WebInspector.SourceView.prototype.detach): Move a comment.
2010 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2011 Don't check if the resource is finished or failed, just attempt
2012 to add the source to the frame. WebCore has the source, but the
2013 finished property hasn't been set yet. Return early if the
2014 InspectorController.addSourceToFrame fails. Moved the delete
2015 of the _frameNeedsSetup property after that call so if the source
2016 wasn't added it will be attempted again.
2017 (WebInspector.SourceView.prototype._resourceLoadingFinished):
2018 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
2019 the source frame will we populated again now that the resource
2020 load has finished.
2021 * manual-tests/inspector/debugger-pause-during-load.html: Added.
2022
mrowe@apple.comb3214652008-10-05 03:04:18 +000020232008-10-04 Mark Rowe <mrowe@apple.com>
2024
2025 Reviewed by Tim Hatcher.
2026
2027 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
2028
2029 * WebCore.xcodeproj/project.pbxproj:
2030
hyatt@apple.coma4a9e252008-10-05 00:55:01 +000020312008-10-04 David Hyatt <hyatt@apple.com>
2032
2033 https://bugs.webkit.org/show_bug.cgi?id=21373
2034
2035 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
2036 is still present.
2037
2038 Reviewed by Mark Rowe
2039
2040 * page/FrameView.cpp:
2041 (WebCore::FrameView::~FrameView):
2042
weinig@apple.com3b7e4b12008-10-04 22:52:19 +000020432008-10-04 Sam Weinig <sam@webkit.org>
2044
2045 Reviewed by Dan Bernstein.
2046
2047 Avoid copying a Vector when using getSupportedKeySizes.
2048
2049 * html/HTMLKeygenElement.cpp:
2050 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2051 * platform/SSLKeyGenerator.h:
2052 * platform/gtk/TemporaryLinkStubs.cpp:
2053 (WebCore::getSupportedKeySizes):
2054 * platform/mac/SSLKeyGeneratorMac.mm:
2055 (WebCore::getSupportedKeySizes):
2056 * platform/qt/TemporaryLinkStubs.cpp:
2057 (WebCore::getSupportedKeySizes):
2058 * platform/win/TemporaryLinkStubs.cpp:
2059 (WebCore::getSupportedKeySizes):
2060 * platform/wx/TemporaryLinkStubs.cpp:
2061 (WebCore::getSupportedKeySizes):
2062
darin@apple.com28f84fc2008-10-04 21:10:00 +000020632008-10-04 Darin Adler <darin@apple.com>
2064
2065 Reviewed by Cameron Zwarich.
2066
2067 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
2068 Bug 21295: Replace ExecState with a call frame Register pointer
2069
2070 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2071 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
2072 Remove bogus "const".
2073 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
2074
hyatt@apple.comb17c7752008-10-04 21:03:11 +000020752008-10-04 David Hyatt <hyatt@apple.com>
2076
2077 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
2078
2079 Reviewed by Darin Adler
2080
2081 * WebCore.xcodeproj/project.pbxproj:
2082 * platform/PopupMenuClient.h:
2083 * platform/gtk/PopupMenuGtk.cpp:
2084 (WebCore::PopupMenu::show):
2085 * platform/mac/PopupMenuMac.mm:
2086 (WebCore::PopupMenu::populate):
2087 (WebCore::PopupMenu::show):
2088 * platform/qt/PopupMenuQt.cpp:
2089 (WebCore::PopupMenu::populate):
2090 * platform/win/PopupMenuWin.cpp:
2091 (WebCore::PopupMenu::calculatePositionAndSize):
2092 (WebCore::PopupMenu::paint):
2093 (WebCore::PopupWndProc):
2094 * rendering/RenderMenuList.cpp:
2095 (WebCore::RenderMenuList::itemStyle):
2096 (WebCore::RenderMenuList::menuStyle):
2097 (WebCore::RenderMenuList::hostWindow):
2098 * rendering/RenderMenuList.h:
2099 * rendering/RenderTextControl.cpp:
2100 (WebCore::RenderTextControl::itemStyle):
2101 (WebCore::RenderTextControl::menuStyle):
2102 (WebCore::RenderTextControl::hostWindow):
2103 * rendering/RenderTextControl.h:
2104
pewtermoose@webkit.orgd75c0152008-10-04 18:41:03 +000021052008-10-04 Matt Lilek <webkit@mattlilek.com>
2106
2107 Build fix - restore Private role to headers that had it before the move.
2108
2109 * WebCore.xcodeproj/project.pbxproj:
2110
darin@apple.com2f394342008-10-04 18:37:11 +000021112008-10-04 Darin Adler <darin@apple.com>
2112
2113 - try to fix build
2114
2115 * DerivedSources.make: Add new inspector directory to VPATH.
darin@apple.com35f35322008-10-04 18:37:22 +00002116 * GNUmakefile.am: Add new inspector directory to includes.
2117 Re-sort the IDL_BINDINGS list. Add new inspector directory
2118 to VPATH.
darin@apple.com2f394342008-10-04 18:37:11 +00002119
pewtermoose@webkit.org54177d02008-10-04 17:28:44 +000021202008-10-04 Matt Lilek <webkit@mattlilek.com>
2121
2122 Not reviewed, attempt to fix Gtk build.
2123
2124 * GNUmakefile.am:
2125
timothy@apple.comf51a3aa2008-10-04 08:09:41 +000021262008-10-03 Timothy Hatcher <timothy@apple.com>
2127
timothy@apple.com9c94f6b2008-10-04 08:10:54 +00002128 Move the Web Inspector files into a top-level "inspector" folder.
2129
2130 https://bugs.webkit.org/show_bug.cgi?id=21359
2131
2132 Reviewed by Dave Hyatt.
2133
2134 * GNUmakefile.am:
2135 * WebCore.pro:
2136 * WebCore.vcproj/WebCore.vcproj:
2137 * WebCore.xcodeproj/project.pbxproj:
2138 * WebCoreSources.bkl:
2139 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
2140 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
2141 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
2142 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
2143 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
2144 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
2145 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
2146 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
2147 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
2148 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
2149 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
2150 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
2151 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
2152 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
2153 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
2154 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
2155 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
2156 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
2157 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
2158 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
2159 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
2160 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
2161 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
2162 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
2163 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
2164 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
2165 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
2166 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
2167 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
2168 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
2169 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
2170 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
2171 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
2172 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
2173 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
2174 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
2175 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
2176 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
2177 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
2178 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
2179 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
2180 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
2181 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
2182 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
2183 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
2184 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
2185 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
2186 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
2187 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
2188 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
2189 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
2190 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
2191 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
2192 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
2193 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
2194 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
2195 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
2196 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
2197 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
2198 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
2199 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
2200 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
2201 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
2202 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
2203 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
2204 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
2205 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
2206 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
2207 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
2208 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
2209 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
2210 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
2211 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
2212 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
2213 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
2214 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
2215 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
2216 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
2217 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
2218 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
2219 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
2220 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
2221 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
2222 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
2223 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
2224 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
2225 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
2226 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
2227 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
2228 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
2229 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
2230 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
2231 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
2232 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
2233 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
2234 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
2235 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
2236 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
2237 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
2238 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
2239 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
2240 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
2241 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
2242 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
2243 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
2244 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
2245 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
2246 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
2247 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
2248 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
2249 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
2250 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
2251 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
2252 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
2253 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
2254 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
2255 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
2256 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
2257 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
2258 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
2259 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
2260 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
2261 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
2262 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
2263 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
2264 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
2265 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
2266 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
2267 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
2268 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
2269 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
2270 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
2271 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
2272 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
2273 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
2274 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
2275 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
2276 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
2277 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
2278 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
2279 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
2280 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
2281 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
2282 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
2283 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
2284 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
2285 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
2286 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
2287 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
2288 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
2289 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
2290 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
2291 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
2292 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
2293 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
2294 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
2295
22962008-10-03 Timothy Hatcher <timothy@apple.com>
2297
timothy@apple.com11eb1a32008-10-04 08:09:52 +00002298 Adds support to the Web Inspector's Elements panel for fast tag name,
2299 class name, id and attribute name searching. The panel first tries
2300 using getElementById, getElementsByClassName and getElementsByTagName
2301 with the search query. Then does a slower search using XPath for partial
2302 matches, text and comment matches.
2303
2304 Adds support for search queries like "<div>", "<h" and "frame>".
2305 These forms limit the search to tag names, text and comment matches.
2306
2307 https://bugs.webkit.org/show_bug.cgi?id=21353
2308
2309 Reviewed by Maciej Stachowiak.
2310
2311 * page/inspector/ElementsPanel.js:
2312 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
2313 support. Add new search functions that try exact matches first.
2314
23152008-10-03 Timothy Hatcher <timothy@apple.com>
2316
timothy@apple.comf51a3aa2008-10-04 08:09:41 +00002317 Changes how searching works in the Web Inspector's Elements
2318 panel. The search tasks are divided into chunks that are small
2319 units of work that are performed at a time interval. This
2320 change also prevents queries that will select all elements,
2321 since that isn't useful.
2322
2323 https://bugs.webkit.org/show_bug.cgi?id=21285
2324
2325 Reviewed by Oliver Hunt.
2326
2327 * page/inspector/ElementsPanel.js:
2328 (WebInspector.ElementsPanel.prototype.searchCancled):
2329 Remove the searchResultsProperty form results since there might
2330 be an unfinished search.
2331 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
2332 documents and search functions into chunks that are performed on
2333 a interval of 25ms. Prevent searches for "//*" and "*".
2334
mjs@apple.com8b246d62008-10-04 07:15:33 +000023352008-10-03 Maciej Stachowiak <mjs@apple.com>
2336
2337 Reviewed by Cameron Zwarich.
2338
2339 - "this" object in methods called on primitives should be wrapper object
2340 https://bugs.webkit.org/show_bug.cgi?id=21362
2341
2342 Updated so toThis conversion for the split window is handled properly.
2343
2344 * bindings/scripts/CodeGeneratorJS.pm:
2345
weinig@apple.com1b4545c2008-10-04 05:16:40 +000023462008-10-03 Sam Weinig <sam@webkit.org>
2347
2348 Reviewed by David "The Motivator" Hyatt.
2349
2350 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
2351 Move SecurityOrigin out of platform/ to page/.
2352
2353 It was a layering violation for SecurityOrigin to be in platform
2354 as it depended on FrameLoader.
2355
2356 * GNUmakefile.am:
2357 * WebCore.pro:
2358 * WebCore.vcproj/WebCore.vcproj:
2359 * WebCore.xcodeproj/project.pbxproj:
2360 * WebCoreSources.bkl:
2361 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
2362 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
2363 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
2364 * platform/SecurityOrigin.cpp: Removed.
2365 * platform/SecurityOrigin.h: Removed.
2366 * platform/SecurityOriginHash.h: Removed.
2367
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +000023682008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
2369
2370 Reviewed by Alp Toker.
2371
2372 http://bugs.webkit.org/show_bug.cgi?id=18832
2373 [curl] file upload does not work
2374
2375 The curl_off_t integer type has a different size depending if large
2376 file support is enabled or not. There is no different public API for
2377 the two cases, so the same function accepts a different type based on
2378 a compilation option the could be different in WebKit and libcurl.
2379 To fix the bug we query libcurl at runtime for large file support and
2380 pass the right type based on that.
2381
2382 * platform/network/curl/ResourceHandleManager.cpp:
2383 (WebCore::ResourceHandleManager::setupPOST):
2384
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +000023852008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
2386
2387 Reviewed by David Hyatt.
2388
2389 Gtk build fixes.
2390
2391 * platform/gtk/FileChooserGtk.cpp:
2392 (WebCore::FileChooser::openFileChooser):
2393 * platform/gtk/PlatformScreenGtk.cpp:
2394 (WebCore::screenDepth):
2395 (WebCore::screenDepthPerComponent):
2396 (WebCore::screenAvailableRect):
2397 * platform/gtk/PopupMenuGtk.cpp:
2398 (WebCore::PopupMenu::show):
2399 * platform/gtk/ScrollViewGtk.cpp:
2400 (WebCore::ScrollView::platformAddChild):
2401 (WebCore::ScrollView::platformRemoveChild):
2402 * platform/gtk/WidgetGtk.cpp:
2403 (WebCore::Widget::setCursor):
2404 * plugins/gtk/PluginViewGtk.cpp:
2405 (WebCore::PluginView::getValue):
2406 (WebCore::PluginView::forceRedraw):
2407 (WebCore::PluginView::init):
2408
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +000024092008-10-03 David Hyatt <hyatt@apple.com>
2410
hyatt@apple.com55377bb2008-10-04 01:09:37 +00002411 Fix Qt bustage from missing include.
2412
2413 * platform/qt/PlatformScreenQt.cpp:
2414
24152008-10-03 David Hyatt <hyatt@apple.com>
2416
hyatt@apple.comeff53462008-10-04 01:08:35 +00002417 Fix Windows scrollbar bustage in popup menus.
2418
2419 * platform/win/PopupMenuWin.cpp:
2420 (WebCore::PopupWndProc):
2421
24222008-10-03 David Hyatt <hyatt@apple.com>
2423
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +00002424 Fix Windows bustage.
2425
2426 * platform/win/FileChooserWin.cpp:
2427 (WebCore::FileChooser::openFileChooser):
2428 * platform/win/PlatformScreenWin.cpp:
2429 (WebCore::monitorInfoForWidget):
2430 * platform/win/WidgetWin.cpp:
2431 * plugins/win/PluginViewWin.cpp:
2432 (WebCore::PluginView::getValue):
2433 (WebCore::PluginView::forceRedraw):
2434 (WebCore::PluginView::init):
2435
darin@apple.com3d73fee2008-10-03 21:39:16 +000024362008-10-03 Darin Adler <darin@apple.com>
2437
darin@apple.comc1e2d312008-10-03 22:55:04 +00002438 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
2439 seen on some machines but not others by adding an include.
2440
24412008-10-03 Darin Adler <darin@apple.com>
2442
darin@apple.com682a07e2008-10-03 22:41:30 +00002443 - Qt build fix
2444
2445 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
2446 execute functions. Declarations for these relied on the CodeType
2447 enumeration, which used to be in ExecState.h; but the functions
2448 aren't needed at all.
2449 * bridge/qt/qt_runtime.h: Ditto.
2450
24512008-10-03 Darin Adler <darin@apple.com>
2452
darin@apple.com3d73fee2008-10-03 21:39:16 +00002453 Reviewed by Geoff Garen.
2454
2455 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
2456 Turn ExecState into a call frame pointer.
2457
2458 Remove m_globalObject and m_globalData from ExecState.
2459
2460 * bindings/js/JSDOMWindowBase.cpp:
2461 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
2462 Removed an argument now that JSGlobalObject doesn't need it any more.
2463 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
2464 the JSDOMWindowBaseData constructor, and added the this argument to the
2465 JSGlobalObject constructor. This is because a couple key bits of
2466 initialization moved from the data constructor to the JSGlobalObject
2467 constructor.
2468 * bindings/js/JSDOMWindowBase.h: Ditto.
2469
2470 * bridge/qt/qt_runtime.cpp:
2471 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2472 * bridge/runtime_method.cpp:
2473 (JSC::RuntimeMethod::RuntimeMethod):
2474 Pass JSGlobalData* instead of ExecState* to the InternalFunction
2475 constructor.
2476
hyatt@apple.com0e7921d2008-10-03 21:16:13 +000024772008-10-03 David Hyatt <hyatt@apple.com>
2478
2479 Fix Windows/Qt build bustage.
2480
2481 Reviewed by ggaren
2482
2483 * loader/EmptyClients.h:
2484 (WebCore::EmptyChromeClient::platformWindow):
2485 * page/Chrome.cpp:
2486 (WebCore::Chrome::platformWindow):
2487 * page/Chrome.h:
2488 * page/ChromeClient.h:
2489 * platform/HostWindow.h:
2490 * platform/qt/PlatformScreenQt.cpp:
2491 (WebCore::screenDepth):
2492 (WebCore::screenDepthPerComponent):
2493 (WebCore::screenIsMonochrome):
2494 (WebCore::screenRect):
2495 (WebCore::screenAvailableRect):
2496 * platform/qt/PopupMenuQt.cpp:
2497 (WebCore::PopupMenu::show):
2498 * platform/win/PopupMenuWin.cpp:
2499 (WebCore::PopupMenu::show):
2500 (WebCore::PopupMenu::calculatePositionAndSize):
2501 (WebCore::PopupWndProc):
2502
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +000025032008-10-03 Simon Fraser <simon.fraser@apple.com>
2504
2505 Reviewed by Dave Hyatt
2506
2507 Make setStyle() take a const RenderStyle, to ensure that an
2508 earlier RenderStyle::diff() remains valid.
2509
2510 * rendering/RenderBR.cpp:
2511 * rendering/RenderBR.h:
2512 * rendering/RenderBlock.cpp:
2513 * rendering/RenderBlock.h:
2514 * rendering/RenderBox.cpp:
2515 * rendering/RenderBox.h:
2516 * rendering/RenderButton.cpp:
2517 * rendering/RenderButton.h:
2518 * rendering/RenderFieldset.cpp:
2519 * rendering/RenderFieldset.h:
2520 * rendering/RenderFileUploadControl.cpp:
2521 * rendering/RenderFileUploadControl.h:
2522 * rendering/RenderInline.cpp:
2523 * rendering/RenderInline.h:
2524 * rendering/RenderListBox.cpp:
2525 * rendering/RenderListBox.h:
2526 * rendering/RenderListItem.cpp:
2527 * rendering/RenderListItem.h:
2528 * rendering/RenderListMarker.cpp:
2529 * rendering/RenderListMarker.h:
2530 * rendering/RenderMenuList.cpp:
2531 * rendering/RenderMenuList.h:
2532 * rendering/RenderObject.cpp:
2533 (WebCore::RenderObject::setStyle):
2534 * rendering/RenderObject.h:
2535 * rendering/RenderReplaced.cpp:
2536 * rendering/RenderReplaced.h:
2537 * rendering/RenderSVGBlock.cpp:
2538 (WebCore::RenderSVGBlock::setStyle):
2539 * rendering/RenderSVGBlock.h:
2540 * rendering/RenderSVGGradientStop.cpp:
2541 * rendering/RenderSVGGradientStop.h:
2542 * rendering/RenderSlider.cpp:
2543 * rendering/RenderSlider.h:
2544 * rendering/RenderTable.cpp:
2545 * rendering/RenderTable.h:
2546 * rendering/RenderTableCell.cpp:
2547 * rendering/RenderTableCell.h:
2548 * rendering/RenderTableRow.cpp:
2549 * rendering/RenderTableRow.h:
2550 * rendering/RenderText.cpp:
2551 * rendering/RenderText.h:
2552 * rendering/RenderTextControl.cpp:
2553 * rendering/RenderTextControl.h:
2554 * rendering/RenderWidget.cpp:
2555 * rendering/RenderWidget.h:
2556 * rendering/style/RenderStyle.h:
2557 (WebCore::RenderStyle::isDisplayReplacedType):
2558 (WebCore::RenderStyle::isDisplayInlineType):
2559
hyatt@apple.com1ae34462008-10-03 19:17:35 +000025602008-10-03 David Hyatt <hyatt@apple.com>
2561
hyatt@apple.com938a55f2008-10-03 20:10:32 +00002562 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
2563 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
2564 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
2565 that will work properly for hit testing. This patch just stubs out that method to return the same
2566 event untransformed.
2567
2568 Reviewed by Darin Adler
2569
2570 * page/EventHandler.cpp:
2571 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2572 (WebCore::EventHandler::handleMouseMoveEvent):
2573 (WebCore::EventHandler::handleMouseReleaseEvent):
2574 (WebCore::EventHandler::passMousePressEventToScrollbar):
2575 * page/gtk/EventHandlerGtk.cpp:
2576 * page/mac/EventHandlerMac.mm:
2577 * page/qt/EventHandlerQt.cpp:
2578 * page/win/EventHandlerWin.cpp:
2579 * page/wx/EventHandlerWx.cpp:
2580 * platform/Scrollbar.cpp:
2581 (WebCore::Scrollbar::mouseMoved):
2582 (WebCore::Scrollbar::mouseExited):
2583 (WebCore::Scrollbar::mouseUp):
2584 (WebCore::Scrollbar::mouseDown):
2585 (WebCore::Scrollbar::transformEvent):
2586 * platform/Scrollbar.h:
2587
25882008-10-03 David Hyatt <hyatt@apple.com>
2589
hyatt@apple.com1ae34462008-10-03 19:17:35 +00002590 https://bugs.webkit.org/show_bug.cgi?id=21340
2591
2592 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
2593
2594 Reviewed by Dan Bernstein & Darin Adler
2595
2596 * platform/ScrollView.cpp:
2597 (WebCore::ScrollView::addChild):
2598 * platform/Widget.cpp:
2599 (WebCore::Widget::init):
2600 * platform/Widget.h:
2601 * platform/mac/WidgetMac.mm:
2602 * platform/win/PopupMenuWin.cpp:
2603 (WebCore::PopupMenu::show):
2604
adele@apple.come31aa912008-10-03 19:06:28 +000026052008-10-03 Adele Peterson <adele@apple.com>
2606
2607 Reviewed by Sam Weinig.
2608
2609 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
2610 Return early if settings is nil.
2611
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +000026122008-10-03 Rob Buis <buis@kde.org>
2613
2614 Reviewed by Darin.
2615
2616 https://bugs.webkit.org/show_bug.cgi?id=20134
2617 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
2618
2619 Make sure the input element gets the right default value when no value is set.
2620
2621 Test: fast/forms/range-default-value.html
2622
2623 * rendering/RenderSlider.cpp:
2624 (WebCore::RenderSlider::setPositionFromValue):
2625
hyatt@apple.com8de3eb72008-10-03 18:29:28 +000026262008-10-03 David Hyatt <hyatt@apple.com>
2627
2628 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
2629 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
2630 platform-specific init/destroy methods.
2631
2632 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
2633
2634 Reviewed by Darin Adler
2635
2636 * WebCore.vcproj/WebCore.vcproj:
2637 * platform/ScrollView.cpp:
2638 (WebCore::ScrollView::ScrollView):
2639 (WebCore::ScrollView::~ScrollView):
2640 (WebCore::ScrollView::platformInit):
2641 (WebCore::ScrollView::platformDestroy):
2642 (WebCore::ScrollView::platformAddChild):
2643 (WebCore::ScrollView::platformRemoveChild):
2644 * platform/ScrollView.h:
2645 * platform/gtk/ScrollViewGtk.cpp:
2646 (WebCore::ScrollView::platformInit):
2647 (WebCore::ScrollView::platformDestroy):
2648 * platform/mac/ScrollViewMac.mm:
2649 * platform/qt/ScrollViewQt.cpp:
2650 (WebCore::ScrollView::platformInit):
2651 (WebCore::ScrollView::platformDestroy):
2652 * platform/win/ScrollViewWin.cpp: Removed.
2653 * platform/wx/ScrollViewWx.cpp:
2654 (WebCore::ScrollView::platformInit):
2655 (WebCore::ScrollView::platformDestroy):
2656 (WebCore::ScrollView::setPlatformWidget):
2657
adele@apple.comb1dd0a62008-10-03 18:13:28 +000026582008-10-03 Adele Peterson <adele@apple.com>
2659
2660 Reviewed by Dan Bernstein.
2661
2662 Fix for <rdar://problem/6012018>
2663 https://bugs.webkit.org/show_bug.cgi?id=21335
2664 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
2665
2666 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
2667
hausmann@webkit.org2497ae82008-10-03 16:02:54 +000026682008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
2669
2670 Build fix.
2671
2672 * platform/qt/WidgetQt.cpp:
2673 (WebCore::Widget::invalidateRect):
2674
alp@webkit.org2122a042008-10-03 12:38:12 +000026752008-10-03 Alp Toker <alp@nuanti.com>
2676
alp@webkit.orgabc5b712008-10-03 13:36:23 +00002677 Remove some left-over GTK+ includes. No change in functionality.
2678
2679 * platform/Cursor.h:
2680 * platform/graphics/Icon.h:
2681 * platform/gtk/RenderThemeGtk.h:
2682
26832008-10-03 Alp Toker <alp@nuanti.com>
2684
alp@webkit.org2122a042008-10-03 12:38:12 +00002685 Build fix for trailing comment after #endif
2686
2687 * dom/ElementRareData.h:
2688
hyatt@apple.comd664bd52008-10-03 09:03:43 +000026892008-10-03 David Hyatt <hyatt@apple.com>
2690
2691 Remove addToDirtyRegion.
2692
2693 Reviewed by Oliver Hunt
2694
2695 * page/Chrome.cpp:
2696 * page/Chrome.h:
2697 * page/ChromeClient.h:
2698 * platform/ScrollView.h:
2699 * platform/gtk/ScrollViewGtk.cpp:
2700 * platform/qt/ScrollViewQt.cpp:
2701 * platform/win/ScrollViewWin.cpp:
2702
mitz@apple.com810de662008-10-03 09:00:08 +000027032008-10-03 Dan Bernstein <mitz@apple.com>
2704
2705 Reviewed by Maciej Stachowiak.
2706
2707 - fix a CachedResource leak introduced in r37176
2708
2709 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
2710 afterwards bail out of the outer pruneDeadResources().
2711
2712 * loader/Cache.cpp:
2713 (WebCore::Cache::Cache):
2714 (WebCore::Cache::pruneDeadResources):
2715 (WebCore::Cache::remove):
2716 * loader/Cache.h:
2717
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +000027182008-10-03 David Hyatt <hyatt@apple.com>
2719
2720 https://bugs.webkit.org/show_bug.cgi?id=21330
2721
2722 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
2723 scrollbars.
2724
2725 Reviewed by Oliver Hunt
2726
2727 * platform/ScrollView.cpp:
2728 (WebCore::ScrollView::setHasHorizontalScrollbar):
2729 (WebCore::ScrollView::setHasVerticalScrollbar):
2730 (WebCore::ScrollView::platformHasHorizontalAdjustment):
2731 (WebCore::ScrollView::platformHasVerticalAdjustment):
2732 * platform/ScrollView.h:
2733 * platform/gtk/ScrollViewGtk.cpp:
2734 (WebCore::ScrollView::adjustmentChanged):
2735 (WebCore::ScrollView::ScrollView):
2736 (WebCore::ScrollView::~ScrollView):
2737 (WebCore::ScrollView::setGtkAdjustments):
2738 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
2739 (WebCore::ScrollView::platformHandleVerticalAdjustment):
2740
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +000027412008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
2742
2743 Reviewed by Maciej Stachowiak.
2744
2745 Bug 21106: .in format discussed changes
2746 https://bugs.webkit.org/show_bug.cgi?id=21106
2747
2748 Change "upperCase" to "interfaceName" per-tag parameter as
2749 discussed on the mailing list. Removed the per-attribute version
2750 as it was not used.
2751
2752 Also add the "Element" suffix to all interfaceName parameter to match
2753 the class name (and thus remove it from make_names.pl).
2754
2755 * dom/make_names.pl:
2756 * html/HTMLTagNames.in:
2757 * svg/svgtags.in:
2758
hyatt@apple.comf0a13272008-10-03 07:38:27 +000027592008-10-03 David Hyatt <hyatt@apple.com>
2760
2761 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
2762 Hopefully this is a temporary hack that could eventually be removed.
2763
2764 Reviewed by Sam Weinig
2765
2766 * platform/ScrollView.cpp:
2767 (WebCore::ScrollView::scrollContents):
2768 * platform/ScrollView.h:
2769 (WebCore::ScrollView::rootPreventsBlitting):
2770 * platform/qt/ScrollViewQt.cpp:
2771 (WebCore::ScrollView::ScrollView):
2772 (WebCore::ScrollView::~ScrollView):
2773 (WebCore::ScrollView::platformAddChild):
2774 (WebCore::ScrollView::platformRemoveChild):
2775
hyatt@apple.com6fa40c52008-10-03 07:06:28 +000027762008-10-02 David Hyatt <hyatt@apple.com>
2777
2778 https://bugs.webkit.org/show_bug.cgi?id=21328
2779
2780 Make widget invalidation more cross-platform.
2781
2782 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
2783
2784 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
2785 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
2786
2787 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
2788
2789 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
2790
2791 Reviewed by Sam Weinig
2792
2793 * WebCore.base.exp:
2794 * page/FrameView.cpp:
2795 (WebCore::FrameView::invalidateRect):
2796 (WebCore::FrameView::invalidateScrollbarRect):
2797 * page/FrameView.h:
2798 * platform/PopupMenu.h:
2799 * platform/ScrollView.cpp:
2800 (WebCore::ScrollView::scrollContents):
2801 * platform/ScrollView.h:
2802 * platform/Scrollbar.cpp:
2803 (WebCore::Scrollbar::setEnabled):
2804 (WebCore::Scrollbar::invalidateRect):
2805 * platform/Scrollbar.h:
2806 * platform/ScrollbarClient.h:
2807 * platform/Widget.h:
2808 * platform/gtk/WidgetGtk.cpp:
2809 * platform/mac/WidgetMac.mm:
2810 * platform/win/PopupMenuWin.cpp:
2811 (WebCore::PopupMenu::invalidateScrollbarRect):
2812 * platform/win/WidgetWin.cpp:
2813 * plugins/PluginView.cpp:
2814 (WebCore::PluginView::invalidateTimerFired):
2815 (WebCore::PluginView::invalidateWindowlessPluginRect):
2816 * plugins/PluginView.h:
2817 * plugins/gtk/PluginViewGtk.cpp:
2818 (WebCore::PluginView::invalidateRect):
2819 * plugins/qt/PluginViewQt.cpp:
2820 (WebCore::PluginView::invalidateRect):
2821 * plugins/win/PluginViewWin.cpp:
2822 (WebCore::PluginView::invalidateRect):
2823 (WebCore::PluginView::invalidateRegion):
2824 * rendering/RenderLayer.cpp:
2825 (WebCore::RenderLayer::invalidateScrollbarRect):
2826 * rendering/RenderLayer.h:
2827 * rendering/RenderListBox.cpp:
2828 (WebCore::RenderListBox::paintObject):
2829 (WebCore::RenderListBox::paintScrollbar):
2830 (WebCore::RenderListBox::invalidateScrollbarRect):
2831 * rendering/RenderListBox.h:
2832
mitz@apple.com0203bbe2008-10-03 06:20:41 +000028332008-10-02 Dan Bernstein <mitz@apple.com>
2834
2835 Reviewed by Geoffrey Garen and Sam Weinig.
2836
2837 - fix SVGFontFaceElement leaks seen in Acid3
2838 - make font-face elements take effect only when they are in the document tree
2839
2840 Test: svg/custom/font-face-not-in-document.svg
2841
2842 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
2843 RefPtr to a plain pointer to break a ref cycle.
2844 (WebCore::SVGFontData::svgFontFaceElement):
2845
2846 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
2847 @font-face rule from the document's mapped element sheet when the
2848 element is inserted and removed from the document, and to update it
2849 only when the element is in the document.
2850 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2851 (WebCore::SVGFontFaceElement::parseMappedAttribute):
2852 (WebCore::SVGFontFaceElement::rebuildFontFace):
2853 (WebCore::SVGFontFaceElement::insertedIntoDocument):
2854 (WebCore::SVGFontFaceElement::removedFromDocument):
2855 (WebCore::SVGFontFaceElement::childrenChanged):
2856 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
2857 * svg/SVGFontFaceElement.h:
2858
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +000028592008-10-01 Simon Fraser <simon.fraser@apple.com>
2860
2861 Reviewed by Dave Hyatt
2862
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +00002863 Fix RenderFileUploadControl::setStyle() and
2864 RenderMenuList::setStyle() to not touch the style; replace
2865 with html4.css and CSSStyleSelector changes.
2866
2867 https://bugs.webkit.org/show_bug.cgi?id=21287
2868
2869 * css/CSSStyleSelector.cpp:
2870 (WebCore::CSSStyleSelector::adjustRenderStyle):
2871 * css/html4.css:
2872 * rendering/RenderBlock.cpp:
2873 (WebCore::RenderBlock::setStyle):
2874 * rendering/RenderFileUploadControl.cpp:
2875 * rendering/RenderMenuList.cpp:
2876 (WebCore::RenderMenuList::setStyle):
2877
28782008-10-01 Simon Fraser <simon.fraser@apple.com>
2879
2880 Reviewed by Dave Hyatt
2881
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +00002882 Clean up code that changes the RenderStyle passed in to
2883 table renderer setStyle() methods.
2884
2885 https://bugs.webkit.org/show_bug.cgi?id=21287
2886
2887 Tests: fast/table/floating-th.html
2888 fast/table/table-display-types-strict.html
2889 fast/table/table-display-types.html
2890
2891 * css/CSSStyleSelector.cpp:
2892 (WebCore::CSSStyleSelector::adjustRenderStyle):
2893 * rendering/RenderTableCell.cpp:
2894 (WebCore::RenderTableCell::setStyle):
2895 * rendering/RenderTableRow.cpp:
2896 (WebCore::RenderTableRow::setStyle):
2897 * rendering/RenderTableSection.cpp:
2898 (WebCore::RenderTableSection::setStyle):
2899
darin@apple.comcb1ab082008-10-03 00:28:54 +000029002008-10-02 Darin Adler <darin@apple.com>
2901
2902 - fix build
2903
2904 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
2905 Not just locally in my generated file!
2906
adele@apple.comf0225902008-10-03 00:25:37 +000029072008-10-02 Adele Peterson <adele@apple.com>
2908
2909 Reviewed by Dan Bernstein.
2910
2911 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
2912 REGRESSION: <input> color specified in inline style applies to placeholder
2913
2914 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
2915 is more appropriate. This change adds "-webkit-input-placeholder".
2916
2917 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
2918 Added definition for "-webkit-input-placeholder" pseudo element.
2919 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
2920 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2921 Added case for PseudoInputPlaceholder.
2922 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
2923 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
2924
2925 * html/HTMLInputElement.cpp:
2926 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
2927 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
2928 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
2929 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
2930 * rendering/RenderTextControl.cpp:
2931 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
2932 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
2933 the text will be updated correctly.
2934 * rendering/RenderTextControl.h:
2935
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +000029362008-10-02 Chris Fleizach <cfleizach@apple.com>
2937
2938 Reviewed by Darin Adler.
2939
2940 https://bugs.webkit.org/show_bug.cgi?id=21280
2941 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
2942
2943 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
2944 to ensure that there is more than one valid table cell, and that at least half of the cells
2945 have borders or have specific background colors. Modified the table detection layout test
2946 to test for the tables mentioned in the bug
2947
2948 * page/AccessibilityTable.cpp:
2949 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2950
darin@apple.comb6295d42008-10-02 23:48:47 +000029512008-10-02 Darin Adler <darin@apple.com>
2952
2953 Reviewed by Geoff Garen.
2954
2955 - https://bugs.webkit.org/show_bug.cgi?id=21321
2956 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
2957
2958 * bindings/js/GCController.cpp:
2959 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
2960 (WebCore::GCController::gcTimerFired): Ditto.
2961 (WebCore::GCController::garbageCollectNow): Ditto.
2962 * bindings/js/JSDOMWindowShell.cpp:
2963 (WebCore::JSDOMWindowShell::operator new): Ditto.
2964 * storage/Database.cpp:
2965 (WebCore::Database::Database): Ditto.
2966
mitz@apple.com833a6e72008-10-02 20:46:35 +000029672008-10-02 Dan Bernstein <mitz@apple.com>
2968
2969 Reviewed by Alexey Proskuryakov.
2970
2971 - fix a Database leak that resulted in Document leaks
2972
2973 * storage/Database.cpp:
2974 (WebCore::Database::openDatabase): Account for the fact that RefCounted
2975 objects start out with a ref count of 1.
2976
weinig@apple.com77b7a0a2008-10-02 20:29:19 +000029772008-10-02 Sam Weinig <sam@webkit.org>
2978
2979 Reviewed by Mr. Geoffrey Garen.
2980
2981 Always mark your parent before marking members.
2982
2983 * bindings/js/JSDOMWindowCustom.cpp:
2984 (WebCore::JSDOMWindow::mark):
2985
hyatt@apple.com98682b32008-10-02 20:17:08 +000029862008-10-02 David Hyatt <hyatt@apple.com>
2987
2988 https://bugs.webkit.org/show_bug.cgi?id=21314
2989
2990 Make scrollBackingStore cross-platform.
2991
2992 Reviewed by Sam Weinig
2993
2994 * loader/EmptyClients.h:
2995 (WebCore::EmptyChromeClient::repaint):
2996 (WebCore::EmptyChromeClient::scroll):
2997 * page/Chrome.cpp:
2998 (WebCore::Chrome::repaint):
2999 (WebCore::Chrome::scroll):
3000 * page/Chrome.h:
3001 * page/ChromeClient.h:
3002 * page/EventHandler.cpp:
3003 (WebCore::EventHandler::handleAutoscroll):
3004 * platform/HostWindow.h:
3005 * platform/ScrollView.cpp:
3006 (WebCore::ScrollView::scrollContents):
3007 (WebCore::ScrollView::addPanScrollIcon):
3008 (WebCore::ScrollView::removePanScrollIcon):
3009 * platform/ScrollView.h:
3010 * platform/gtk/ScrollViewGtk.cpp:
3011 * platform/qt/ScrollViewQt.cpp:
3012 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3013 (WebCore::ScrollView::~ScrollView):
3014 * platform/win/ScrollViewWin.cpp:
3015 (WebCore::ScrollView::ScrollView):
3016 (WebCore::ScrollView::~ScrollView):
3017
kevino@webkit.org8ca54f22008-10-02 19:59:35 +000030182008-10-02 Kevin Ollivier <kevino@theolliviers.com>
3019
3020 wx build fixes after Frame/ScrollView changes.
3021
3022 * WebCoreSources.bkl:
3023 * platform/wx/ScrollViewWx.cpp:
3024 (WebCore::ScrollView::platformContentsToScreen):
3025 (WebCore::ScrollView::platformScreenToContents):
3026 (WebCore::ScrollView::platformIsOffscreen):
3027
brettw@chromium.org83eadcc2008-10-02 19:33:42 +000030282008-10-02 Brett Wilson <brettw@chromium.org>
3029
3030 Reviewed by Sam Weinig
3031
3032 https://bugs.webkit.org/show_bug.cgi?id=21292
3033
3034 Revert the changes to enclosingIntRect made in r12530 since the new code
3035 doesn't round correctly.
3036
3037 * ChangeLog:
3038 * platform/graphics/FloatRect.cpp:
3039 (WebCore::enclosingIntRect):
3040
mitz@apple.com92dc01a2008-10-02 18:48:33 +000030412008-10-02 Dan Bernstein <mitz@apple.com>
3042
3043 Reviewed by Anders Carlsson and Eric Seidel.
3044
3045 - fix HTMLCanvaseElement leak from -webkit-canvas() values
3046
3047 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
3048 pointer, as the document owns the canvas elements. Added code to release
3049 those elements in Document::removedLastRef() because they reference
3050 the document.
3051
3052 * css/CSSCanvasValue.cpp:
3053 (WebCore::CSSCanvasValue::element):
3054 * css/CSSCanvasValue.h:
3055 (WebCore::CSSCanvasValue::CSSCanvasValue):
3056 * dom/Document.cpp:
3057 (WebCore::Document::removedLastRef):
3058
ap@webkit.org44e40e42008-10-02 18:39:34 +000030592008-10-02 Alexey Proskuryakov <ap@webkit.org>
3060
3061 Reviewed by Maciej Stachowiak.
3062
ap@webkit.orgdffca802008-10-02 18:40:40 +00003063 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +00003064
3065 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
3066 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
3067 code is only needed for JS bindings in worker threads.
3068
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +000030692008-10-01 David Hyatt <hyatt@apple.com>
3070
3071 https://bugs.webkit.org/show_bug.cgi?id=21298
3072
3073 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
3074 will make that cross-platform.
3075
3076 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
3077 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
3078 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
3079
3080 Reviewed by Sam Weinig
3081
3082 * page/FrameView.cpp:
3083 (WebCore::FrameView::windowClipRect):
3084 (WebCore::FrameView::isActive):
3085 * page/FrameView.h:
3086 (WebCore::FrameView::visibleContentsResized):
3087 * platform/PopupMenu.h:
3088 * platform/ScrollView.cpp:
3089 (WebCore::ScrollView::init):
3090 (WebCore::ScrollView::destroy):
3091 (WebCore::ScrollView::setHasHorizontalScrollbar):
3092 (WebCore::ScrollView::setHasVerticalScrollbar):
3093 (WebCore::ScrollView::valueChanged):
3094 (WebCore::ScrollView::updateScrollbars):
3095 (WebCore::ScrollView::scrollContents):
3096 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
3097 (WebCore::ScrollView::platformHandleVerticalAdjustment):
3098 * platform/ScrollView.h:
3099 * platform/Scrollbar.cpp:
3100 (WebCore::Scrollbar::windowClipRect):
3101 * platform/ScrollbarClient.h:
3102 * platform/gtk/ScrollViewGtk.cpp:
3103 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
3104 (WebCore::ScrollView::platformHandleVerticalAdjustment):
3105 * platform/qt/ScrollViewQt.cpp:
3106 (WebCore::ScrollView::scrollContents):
3107 * platform/win/PopupMenuWin.cpp:
3108 (WebCore::PopupMenu::windowClipRect):
3109 * platform/win/ScrollViewWin.cpp:
3110 (WebCore::ScrollView::scrollContents):
3111 * rendering/RenderLayer.cpp:
3112 (WebCore::RenderLayer::windowClipRect):
3113 * rendering/RenderLayer.h:
3114 * rendering/RenderListBox.cpp:
3115 (WebCore::RenderListBox::panScroll):
3116 (WebCore::RenderListBox::windowClipRect):
3117 * rendering/RenderListBox.h:
3118
ap@webkit.org03710832008-10-02 16:18:56 +000031192008-10-02 Alexey Proskuryakov <ap@webkit.org>
3120
3121 Reviewed by Darin Adler.
3122
3123 https://bugs.webkit.org/show_bug.cgi?id=21304
3124 Stop using a static wrapper map for WebCore JS bindings
3125
3126 The static domObjects map was not thread safe.
3127
3128 * dom/Document.h:
3129 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
3130 ports.
3131 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
3132
3133 * dom/Document.cpp:
3134 (WebCore::Document::createdXMLHttpRequest):
3135 (WebCore::Document::destroyedXMLHttpRequest):
3136 Moved XMLHttpRequest tracking from a global map to Document.
3137
3138 * GNUmakefile.am:
3139 * WebCore.pro:
3140 * WebCore.vcproj/WebCore.vcproj:
3141 * WebCore.xcodeproj/project.pbxproj:
3142 * WebCoreSources.bkl:
3143 * webcore-base.bkl:
3144 * bindings/DOMProtect.cpp: Removed.
3145 * bindings/DOMProtect.h: Removed.
3146 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
3147 so they can no longer protect bindings objects.
3148
3149 * dom/MessagePort.cpp:
3150 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
3151 (WebCore::CloseMessagePortTimer::fired):
3152 (WebCore::MessagePort::MessagePort):
3153 (WebCore::MessagePort::queueCloseEvent):
3154 (WebCore::MessagePort::setPendingActivity):
3155 (WebCore::MessagePort::unsetPendingActivity):
3156 * dom/MessagePort.h:
3157 (WebCore::MessagePort::hasPendingActivity):
3158 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
3159 to protect it.
3160
3161 * xml/XMLHttpRequest.h:
3162 (WebCore::XMLHttpRequest::hasPendingActivity):
3163 * xml/XMLHttpRequest.cpp:
3164 (WebCore::XMLHttpRequest::XMLHttpRequest):
3165 (WebCore::XMLHttpRequest::~XMLHttpRequest):
3166 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
3167 (WebCore::XMLHttpRequest::dropProtection):
3168 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
3169 (WebCore::XMLHttpRequest::cancelRequests):
3170 (WebCore::XMLHttpRequest::detachRequests):
3171 (WebCore::XMLHttpRequest::setPendingActivity):
3172 (WebCore::XMLHttpRequest::unsetPendingActivity):
3173 Moved XMLHttpRequest tracking from a global map to Document.
3174
3175 * bindings/js/JSDOMBinding.cpp:
3176 (WebCore::wrapperSet):
3177 (WebCore::DOMObjectWrapperMap::mapFor):
3178 (WebCore::DOMObjectWrapperMap::get):
3179 (WebCore::DOMObjectWrapperMap::set):
3180 (WebCore::DOMObjectWrapperMap::remove):
3181 (WebCore::getCachedDOMObjectWrapper):
3182 (WebCore::cacheDOMObjectWrapper):
3183 (WebCore::forgetDOMObject):
3184 (WebCore::getCachedDOMNodeWrapper):
3185 (WebCore::forgetDOMNode):
3186 (WebCore::cacheDOMNodeWrapper):
3187 (WebCore::markActiveObjectsForDocument):
3188 * bindings/js/JSDOMBinding.h:
3189 (WebCore::createDOMObjectWrapper):
3190 (WebCore::getDOMObjectWrapper):
3191 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
3192 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
3193 WebCore objects can never migrate between threads.
3194
3195 * bindings/js/JSDocumentCustom.cpp:
3196 (WebCore::JSDocument::mark):
3197 Call markActiveObjectsForDocument() from JSDOMBinding.
3198
3199 * bindings/js/JSCSSRuleCustom.cpp:
3200 (WebCore::toJS):
3201 * bindings/js/JSCSSValueCustom.cpp:
3202 (WebCore::toJS):
3203 * bindings/js/JSDOMWindowCustom.cpp:
3204 (WebCore::markDOMObjectWrapper):
3205 (WebCore::JSDOMWindow::mark):
3206 * bindings/js/JSEventCustom.cpp:
3207 (WebCore::toJS):
3208 * bindings/js/JSEventTarget.cpp:
3209 (WebCore::toJS):
3210 * bindings/js/JSHTMLCollectionCustom.cpp:
3211 (WebCore::toJS):
3212 * bindings/js/JSImageDataCustom.cpp:
3213 (WebCore::toJS):
3214 * bindings/js/JSMessageChannelCustom.cpp:
3215 (WebCore::JSMessageChannel::mark):
3216 * bindings/js/JSMessagePortCustom.cpp:
3217 (WebCore::JSMessagePort::mark):
3218 * bindings/js/JSNodeCustom.cpp:
3219 (WebCore::JSNode::mark):
3220 * bindings/js/JSSVGPathSegCustom.cpp:
3221 (WebCore::toJS):
3222 * bindings/js/JSStyleSheetCustom.cpp:
3223 (WebCore::toJS):
3224 * bindings/js/JSXMLHttpRequestCustom.cpp:
3225 (WebCore::JSXMLHttpRequest::mark):
3226 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3227 (WebCore::JSXMLHttpRequestUpload::mark):
3228 * bindings/js/ScriptController.cpp:
3229 (WebCore::ScriptController::finishedWithEvent):
3230 * bindings/scripts/CodeGeneratorJS.pm:
3231 Pass a JSGlobalData reference to functions that track JS wrapper objects.
3232
mitz@apple.coma2b6b112008-10-02 07:52:29 +000032332008-10-02 Dan Bernstein <mitz@apple.com>
3234
3235 - build fix
3236
3237 * page/JavaScriptCallFrame.idl:
3238
oliver@apple.com619d60b92008-10-02 07:35:21 +000032392008-10-02 Oliver Hunt <oliver@apple.com>
3240
3241 Reviewed by NOBODY (Build fix).
3242
3243 Add new file to project files
3244
3245 * GNUmakefile.am:
3246 * WebCore.pro:
3247 * WebCore.vcproj/WebCore.vcproj:
3248
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000032492008-10-02 Geoffrey Garen <ggaren@apple.com>
3250
3251 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +00003252
3253 Try to fix some more builds.
3254
3255 * GNUmakefile.am:
3256 * WebCore.pro:
3257
32582008-10-02 Geoffrey Garen <ggaren@apple.com>
3259
3260 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +00003261
3262 Try to fix Windows build.
3263
3264 * WebCore.vcproj/WebCore.vcproj:
3265
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +000032662008-10-01 Geoffrey Garen <ggaren@apple.com>
3267
3268 Reviewed by Darin Adler and Cameron Zwarich.
3269
3270 Updated for JavaScriptCore API changes: use a SourceCode instead of
3271 broken out parameters; treat sourceId as intptr_t.
3272
3273 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
3274 * bindings/js/JSXMLHttpRequestCustom.cpp:
3275 (WebCore::JSXMLHttpRequest::send):
3276 * bindings/js/ScriptController.cpp:
3277 (WebCore::ScriptController::evaluate):
3278 * bindings/js/StringSourceProvider.h:
3279 (WebCore::StringSourceProvider::create):
3280 (WebCore::StringSourceProvider::StringSourceProvider):
3281
3282 (WebCore::makeSource): Added a makeSource function for convenience.
3283
3284 * bindings/objc/WebScriptObject.mm:
3285 (-[WebScriptObject evaluateWebScript:]):
3286 * bridge/NP_jsobject.cpp:
3287 (_NPN_Evaluate):
3288 * bridge/jni/jni_jsobject.mm:
3289 (JavaJSObject::call):
3290 (JavaJSObject::eval):
3291 (JavaJSObject::getMember):
3292 (JavaJSObject::setMember):
3293 (JavaJSObject::removeMember):
3294
3295 * bridge/jni/jni_runtime.h:
3296 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
3297 ustring() function with an implicit operator because this class already
3298 holds a UString::rep.
3299
3300 * page/Console.cpp:
3301 (WebCore::retrieveLastCaller):
3302 (WebCore::Console::trace):
3303 * page/InspectorController.cpp:
3304 (WebCore::jsStringRef):
3305 (WebCore::InspectorController::addBreakpoint):
3306 (WebCore::InspectorController::removeBreakpoint):
3307 (WebCore::InspectorController::didParseSource):
3308 (WebCore::InspectorController::failedToParseSource):
3309 * page/InspectorController.h:
3310 * page/JavaScriptCallFrame.cpp:
3311 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
3312 * page/JavaScriptCallFrame.h:
3313 (WebCore::JavaScriptCallFrame::create):
3314 (WebCore::JavaScriptCallFrame::sourceIdentifier):
3315 (WebCore::JavaScriptCallFrame::update):
3316 * page/JavaScriptDebugListener.h:
3317 * page/JavaScriptDebugServer.cpp:
3318 (WebCore::JavaScriptDebugServer::addBreakpoint):
3319 (WebCore::JavaScriptDebugServer::removeBreakpoint):
3320 (WebCore::JavaScriptDebugServer::hasBreakpoint):
3321 (WebCore::dispatchDidParseSource):
3322 (WebCore::dispatchFailedToParseSource):
3323 (WebCore::JavaScriptDebugServer::sourceParsed):
3324 (WebCore::JavaScriptDebugServer::callEvent):
3325 (WebCore::JavaScriptDebugServer::atStatement):
3326 (WebCore::JavaScriptDebugServer::returnEvent):
3327 (WebCore::JavaScriptDebugServer::exception):
3328 (WebCore::JavaScriptDebugServer::willExecuteProgram):
3329 (WebCore::JavaScriptDebugServer::didExecuteProgram):
3330 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
3331 * page/JavaScriptDebugServer.h:
3332 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
3333 sourceIdentifier to sourceID.
3334
mitz@apple.com7a7f3142008-10-02 06:08:15 +000033352008-10-01 Dan Bernstein <mitz@apple.com>
3336
3337 Reviewed by Geoffrey Garen.
3338
3339 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
3340
3341 Broke a ref cycle by changing the m_svgFontFaceElement members of
3342 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
3343 pointers. Also made sure that the @font-face rule added by
3344 SVGFontFaceElement to the document's mapped element sheet is removed
3345 when the font-face element is deleted or moved to another document.
3346
3347 * css/CSSFontFaceSource.cpp:
3348 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
3349 (WebCore::CSSFontFaceSource::getFontData):
3350 * css/CSSFontFaceSource.h:
3351 (WebCore::CSSFontFaceSource::svgFontFaceElement):
3352 * css/CSSFontFaceSrcValue.h:
3353 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
3354 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
3355 * svg/SVGFontFaceElement.cpp:
3356 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
3357 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
3358 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
3359 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
3360 * svg/SVGFontFaceElement.h:
3361
oliver@apple.comd3de8f32008-10-02 05:02:00 +000033622008-10-01 Oliver Hunt <oliver@apple.com>
3363
3364 Reviewed by Maciej Stachowiak.
3365
3366 Bug 20315: Memory leak with Canvas getImageData
3367 <https://bugs.webkit.org/show_bug.cgi?id=20315>
3368
3369 This wasn't a leak, the issue was that we were reporting the cost
3370 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
3371 and we should have been reporting the cost when we create the
3372 JSImageData wrapper.
3373
3374 * WebCore.xcodeproj/project.pbxproj:
3375 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
3376 This was only needed to report the extra memory cost
3377 of the CPA.
3378 * bindings/js/JSImageDataCustom.cpp:
3379 (WebCore::toJS):
3380 We need a custom toJS function now so that we can report
3381 the extra memory cost.
3382 * bindings/scripts/CodeGeneratorJS.pm:
3383 Need to replace the reference to CanvasPixelArray with ImageData
3384 to be able to create the custom toJS implementation.
3385 * html/CanvasPixelArray.idl:
3386 * html/ImageData.idl:
3387
mitz@apple.come0642ce2008-10-02 04:54:06 +000033882008-10-01 Dan Bernstein <mitz@apple.com>
3389
3390 Reviewed by Mark Rowe.
3391
3392 - https://bugs.webkit.org/show_bug.cgi?id=21293
3393 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
3394
3395 * svg/SVGMarkerElement.cpp:
3396 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
3397 that renderer destruction happens before the SVGMarkerElement is
3398 destroyed.
3399 * svg/SVGSVGElement.cpp:
3400 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
3401
eric@webkit.orgbe40b812008-10-02 01:43:16 +000034022008-10-01 Evan Martin <evan@chromium.org>
3403
3404 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +00003405
3406 https://bugs.webkit.org/show_bug.cgi?id=20669
3407
3408 * css/makeprop.pl:
3409 Die if gperf fails.
3410
34112008-10-01 Evan Martin <evan@chromium.org>
3412
3413 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +00003414
3415 * loader/icon/IconDatabase.h:
3416 IconDatabase uses HashMap, so it needs to #include the header.
3417
mitz@apple.com0ff2a012008-10-02 00:48:54 +000034182008-10-01 Dan Bernstein <mitz@apple.com>
3419
3420 Reviewed by Mark Rowe.
3421
mitz@apple.comca0080b2008-10-02 01:35:05 +00003422 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
3423
3424 * loader/Cache.cpp:
3425 (WebCore::Cache::remove): Disable pruning temporarily during
3426 CachedResource deletion.
3427
34282008-10-01 Dan Bernstein <mitz@apple.com>
3429
3430 Reviewed by Mark Rowe.
3431
mitz@apple.com0ff2a012008-10-02 00:48:54 +00003432 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
3433
3434 * svg/SVGFontFaceElement.cpp:
3435 (WebCore::SVGFontFaceElement::rebuildFontFace):
3436 * svg/SVGFontFaceElement.h:
3437 (WebCore::SVGFontFaceElement::associatedFontElement):
3438
brettw@chromium.org87b0e122008-10-01 22:34:16 +000034392008-10-01 Brett Wilson <brettw@chromium.org>
3440
3441 Reviewed by Maciej Stachowiak.
3442
3443 Document the rounding behavior of the mapRect(IntRect) function in
3444 AffineTransform.h.
3445
3446 * platform/graphics/AffineTransform.h:
3447
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +000034482008-10-01 David Hyatt <hyatt@apple.com>
3449
3450 Move prohibitsScrolling from the Frame to the ScrollView.
3451
3452 Reviewed by Sam Weinig
3453
3454 * WebCore.base.exp:
3455 * page/Frame.cpp:
3456 (WebCore::FramePrivate::FramePrivate):
3457 * page/Frame.h:
3458 * page/FramePrivate.h:
3459 * page/FrameView.cpp:
3460 (WebCore::FrameView::scrollRectIntoViewRecursively):
3461 (WebCore::FrameView::setScrollPosition):
3462 * platform/ScrollView.cpp:
3463 (WebCore::ScrollView::init):
3464 (WebCore::ScrollView::scrollRectIntoViewRecursively):
3465 (WebCore::ScrollView::setScrollPosition):
3466 * platform/ScrollView.h:
3467 (WebCore::ScrollView::setProhibitsScrolling):
3468 (WebCore::ScrollView::prohibitsScrolling):
3469 * platform/gtk/ScrollViewGtk.cpp:
3470 (WebCore::ScrollView::updateScrollbars):
3471 * platform/qt/ScrollViewQt.cpp:
3472 (WebCore::ScrollView::updateScrollbars):
3473 * platform/win/ScrollViewWin.cpp:
3474 (WebCore::ScrollView::updateScrollbars):
3475
mrowe@apple.combffe15d2008-10-01 22:24:37 +000034762008-10-01 Mark Rowe <mrowe@apple.com>
3477
3478 Reviewed by Geoff Garen.
3479
3480 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
3481
3482 * xml/XMLHttpRequest.cpp:
3483 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
3484 that we do during the loadRequestAsynchronously of the preflight request with a deref and
3485 GC unprotect.
3486
hyatt@apple.com2f029122008-10-01 22:12:23 +000034872008-10-01 David Hyatt <hyatt@apple.com>
3488
3489 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
3490 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
3491
3492 Reviewed by Tim Hatcher
3493
3494 * WebCore.base.exp:
3495 * page/FrameView.cpp:
3496 (WebCore::FrameView::setCanHaveScrollbars):
3497 * page/FrameView.h:
3498 * platform/ScrollView.cpp:
3499 (WebCore::ScrollView::setCanHaveScrollbars):
3500 (WebCore::ScrollView::wheelEvent):
3501 * platform/ScrollView.h:
3502 (WebCore::ScrollView::canHaveScrollbars):
3503
mitz@apple.combebfaae2008-10-01 21:19:41 +000035042008-10-01 Dan Bernstein <mitz@apple.com>
3505
3506 Reviewed by Mark Rowe.
3507
3508 - fix some CachedResource leaks seen on buildbot
3509
3510 The issue here was that emptying the cache was a no-op when it only
3511 contained resources with no data. Changed to go after those
3512 resources when the desired cache capacity is zero.
3513
3514 * loader/Cache.cpp:
3515 (WebCore::Cache::pruneLiveResources):
3516 (WebCore::Cache::pruneDeadResources):
3517 * loader/Cache.h:
3518 (WebCore::Cache::prune):
3519
hyatt@apple.come72b16e2008-10-01 20:58:19 +000035202008-10-01 David Hyatt <hyatt@apple.com>
3521
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +00003522 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
3523 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
3524
3525 Reviewed by Adam Roben
3526
3527 * platform/ScrollView.cpp:
3528 (WebCore::ScrollView::isOffscreen):
3529 (WebCore::ScrollView::platformIsOffscreen):
3530 * platform/ScrollView.h:
3531 * platform/gtk/ScrollViewGtk.cpp:
3532 * platform/mac/ScrollViewMac.mm:
3533 (WebCore::ScrollView::platformIsOffscreen):
3534 * platform/qt/ScrollViewQt.cpp:
3535 * platform/wx/ScrollViewWx.cpp:
3536
35372008-10-01 David Hyatt <hyatt@apple.com>
3538
hyatt@apple.come72b16e2008-10-01 20:58:19 +00003539 Make show/hide/setParentVisible cross-platform on ScrollView.
3540
3541 Reviewed by Adam Roben
3542
3543 * platform/ScrollView.cpp:
3544 (WebCore::ScrollView::setParentVisible):
3545 (WebCore::ScrollView::show):
3546 (WebCore::ScrollView::hide):
3547 * platform/ScrollView.h:
3548 * platform/win/ScrollViewWin.cpp:
3549
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +000035502008-10-01 Kevin McCullough <kmccullough@apple.com>
3551
3552 Reviewed by Dan Bernstein.
3553
3554 https://bugs.webkit.org/show_bug.cgi?id=21284
3555 Bug 21284: Max height affects max width
3556 - Looks like a cut and paste bug
3557 - Added layout test fast/css/max-height-and-max-width.html
3558
3559 * css/CSSComputedStyleDeclaration.cpp:
3560 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3561
hyatt@apple.comfe9c1302008-10-01 20:34:07 +000035622008-10-01 David Hyatt <hyatt@apple.com>
3563
3564 https://bugs.webkit.org/show_bug.cgi?id=21282
3565
3566 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
3567
3568 Reviewed by Adam Roben
3569
3570 * loader/EmptyClients.h:
3571 (WebCore::EmptyChromeClient::screenToWindow):
3572 (WebCore::EmptyChromeClient::windowToScreen):
3573 * page/Chrome.cpp:
3574 (WebCore::Chrome::screenToWindow):
3575 (WebCore::Chrome::windowToScreen):
3576 * page/Chrome.h:
3577 * page/ChromeClient.h:
3578 * platform/HostWindow.h:
3579 * platform/ScrollView.cpp:
3580 (WebCore::ScrollView::contentsToScreen):
3581 (WebCore::ScrollView::screenToContents):
3582 (WebCore::ScrollView::platformContentsToScreen):
3583 (WebCore::ScrollView::platformScreenToContents):
3584 * platform/ScrollView.h:
3585 * platform/mac/ScrollViewMac.mm:
3586 (WebCore::ScrollView::platformContentsToScreen):
3587 (WebCore::ScrollView::platformScreenToContents):
3588 * platform/win/ScrollViewWin.cpp:
3589
mitz@apple.comf2ee2052008-10-01 20:31:19 +000035902008-10-01 Dan Bernstein <mitz@apple.com>
3591
3592 Reviewed by Darin Adler.
3593
3594 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
3595
3596 Test: fast/parser/residual-style-close-across-removed-block.html
3597
3598 * html/HTMLParser.cpp:
3599 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
3600 an assertion that turned out to be wrong in this case, and changed to
3601 terminate the algorithm at the first empty block.
3602
hyatt@apple.comc5a54f42008-10-01 19:23:05 +000036032008-10-01 David Hyatt <hyatt@apple.com>
3604
3605 Make setFrameRect on ScrollView cross-platform.
3606
3607 Reviewed by Sam Weinig
3608
3609 * page/FrameView.h:
3610 (WebCore::FrameView::contentsResized):
3611 * platform/ScrollView.cpp:
3612 (WebCore::ScrollView::setFrameRect):
3613 * platform/ScrollView.h:
3614 * platform/gtk/ScrollViewGtk.cpp:
3615 * platform/qt/ScrollViewQt.cpp:
3616 * platform/win/ScrollViewWin.cpp:
3617
weinig@apple.comab5c0172008-10-01 19:17:01 +000036182008-10-01 Sam Weinig <sam@webkit.org>
3619
3620 Reviewed by Adele Peterson.
3621
3622 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
3623 to JSDOMWindow from JSDOMWindowBase.
3624
3625 * WebCore.xcodeproj/project.pbxproj:
3626 * bindings/js/JSDOMWindowBase.cpp:
3627 (WebCore::JSDOMWindowBase::removeTimeout):
3628 * bindings/js/JSDOMWindowBase.h:
3629 * bindings/js/JSDOMWindowCustom.cpp:
3630 (WebCore::setTimeoutOrInterval):
3631 (WebCore::JSDOMWindow::setTimeout):
3632 (WebCore::JSDOMWindow::clearTimeout):
3633 (WebCore::JSDOMWindow::setInterval):
3634 (WebCore::JSDOMWindow::clearInterval):
3635 (WebCore::JSDOMWindow::atob):
3636 (WebCore::JSDOMWindow::btoa):
3637 * page/DOMWindow.idl:
3638
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +000036392008-10-01 Dan Bernstein <mitz@apple.com>
3640
3641 - Mac build fix
3642
3643 * WebCore.base.exp:
3644
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +000036452008-10-01 Timothy Hatcher <timothy@apple.com>
3646
3647 Prevent stealing focus from the search field when focusing a DOM node.
3648
3649 https://bugs.webkit.org/show_bug.cgi?id=21275
3650
3651 Reviewed by Kevin McCullough.
3652
3653 * page/inspector/ElementsPanel.js:
3654 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
3655 Don't steal focus if the current focus element is the search field.
3656
weinig@apple.com841594d2008-10-01 07:27:49 +000036572008-09-30 Sam Weinig <sam@webkit.org>
3658
3659 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
3660
3661 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
3662 Autogenerate JS event listeners
3663
3664 - Generate getting/setting of EventListeners.
3665
3666 - Adding a new named EventListener now has the same process as adding any other DOM
3667 attribute. (Add a method with the same name in the c++ file).
3668
3669 (The EventListeners for MessagePort have been intentionally left custom so that we
3670 can continue to experiment with making those EventListeners work in a frame-less world.)
3671
3672 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
3673 * bindings/js/JSDOMWindowCustom.cpp: ditto.
3674 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
3675 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
3676 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
3677 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
3678 getter/setters
3679 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
3680 * dom/EventTargetNode.h: ditto.
3681 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
3682 will use JSEventListerner instead of JSUnprotectedEventListener.
3683 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
3684 * page/DOMWindow.cpp: Add getter/setters for named EventListener
3685 * page/DOMWindow.h: ditto.
3686 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
3687 will use JSEventListerner instead of JSUnprotectedEventListener.
3688 * xml/XMLHttpRequest.idl: Remove custom attributes.
3689 * xml/XMLHttpRequestUpload.idl: ditto.
3690
mrowe@apple.comfed78312008-10-01 06:53:49 +000036912008-09-30 Mark Rowe <mrowe@apple.com>
3692
3693 Reviewed by Dan Bernstein.
3694
3695 Add a leak counter for CachedResources since we've had two recent leaks involving them.
3696
3697 * loader/CachedResource.cpp:
3698 (WebCore::CachedResource::CachedResource):
3699 (WebCore::CachedResource::~CachedResource):
3700
mitz@apple.com19b93112008-10-01 06:25:17 +000037012008-09-30 Dan Bernstein <mitz@apple.com>
3702
3703 Reviewed by Dave Hyatt.
3704
3705 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
3706 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
3707
3708 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
3709 the font name in memory.
3710
3711 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
3712 OpenTypeUtilities.*.
3713
3714 * platform/graphics/win/FontCustomPlatformData.cpp:
3715 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
3716 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
3717 used.
3718 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
3719 for fonts loaded using AddFontMemResourceEx.
3720 (WebCore::createFontCustomPlatformData): Added a call to
3721 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
3722 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
3723 fontPlatformData() will retrieve the name from the font reference.
3724
3725 * platform/graphics/win/FontCustomPlatformData.h:
3726 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
3727 font name member.
3728
3729 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
3730 * platform/graphics/win/GetEOTHeader.h: Renamed.
3731
3732 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
3733 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
3734 (WebCore::BigEndianULong::BigEndianULong): Ditto.
3735 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
3736 the font data and modifies it to have the given name, then activates
3737 it using AddFontMemResourceEx.
3738
3739 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
3740
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000037412008-09-30 Mark Rowe <mrowe@apple.com>
3742
3743 Reviewed by Dan Bernstein.
3744
3745 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
3746
3747 * rendering/RenderObject.cpp:
3748 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
3749 with calls to removeClient when we're being destroyed.
3750
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000037512008-09-30 Eric Carlson <eric.carlson@apple.com>
3752
mrowe@apple.com12cb8c22008-10-01 06:09:28 +00003753 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +00003754
3755 https://bugs.webkit.org/show_bug.cgi?id=21243
3756
3757 Fix loopstart and loopend default values.
3758
3759 Tests: media/loopend-limits.html
3760 media/loopstart-limits.html
3761
3762 * html/HTMLMediaElement.cpp:
3763 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
3764 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
3765
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +000037662008-09-30 Kevin Ollivier <kevino@theolliviers.com>
3767
3768 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
3769
3770 * WebCoreSources.bkl:
3771 * platform/wx/ScrollViewWx.cpp:
3772 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
3773
mitz@apple.com17145582008-10-01 04:43:07 +000037742008-09-30 Dan Bernstein <mitz@apple.com>
3775
3776 Reviewed by Sam Weinig.
3777
3778 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
3779 was fixed in r17249 and re-introduced in r31435.
3780
3781 * html/HTMLViewSourceDocument.cpp:
3782 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
3783 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
3784 (WebCore::HTMLViewSourceDocument::addLine):
3785 (WebCore::HTMLViewSourceDocument::addLink):
3786 * html/HTMLViewSourceDocument.h:
3787
weinig@apple.com42d87a62008-10-01 00:39:19 +000037882008-09-30 Sam Weinig <sam@webkit.org>
3789
3790 Reviewed by Eric Seidel.
3791
3792 More for https://bugs.webkit.org/show_bug.cgi?id=21122
3793 Autogenerate JS event listeners
3794
3795 - Make EventListener getter/setters names in c++ files match those in
3796 JS (ie. onLoadListener -> onload).
3797 - Add standard way to access the frame associated with the EventTarget
3798 for EventListener lookup.
3799 - Autogenerate dispatchEvent, it wasn't doing anything custom.
3800
3801 * bindings/js/JSDOMApplicationCacheCustom.cpp:
3802 (WebCore::JSDOMApplicationCache::mark):
3803 (WebCore::JSDOMApplicationCache::addEventListener):
3804 (WebCore::JSDOMApplicationCache::removeEventListener):
3805 (WebCore::JSDOMApplicationCache::setOnchecking):
3806 (WebCore::JSDOMApplicationCache::onchecking):
3807 (WebCore::JSDOMApplicationCache::setOnerror):
3808 (WebCore::JSDOMApplicationCache::onerror):
3809 (WebCore::JSDOMApplicationCache::setOnnoupdate):
3810 (WebCore::JSDOMApplicationCache::onnoupdate):
3811 (WebCore::JSDOMApplicationCache::setOndownloading):
3812 (WebCore::JSDOMApplicationCache::ondownloading):
3813 (WebCore::JSDOMApplicationCache::setOnprogress):
3814 (WebCore::JSDOMApplicationCache::onprogress):
3815 (WebCore::JSDOMApplicationCache::setOnupdateready):
3816 (WebCore::JSDOMApplicationCache::onupdateready):
3817 (WebCore::JSDOMApplicationCache::setOncached):
3818 (WebCore::JSDOMApplicationCache::oncached):
3819 * bindings/js/JSEventTargetNodeCustom.cpp:
3820 (WebCore::JSEventTargetNode::addEventListener):
3821 (WebCore::JSEventTargetNode::removeEventListener):
3822 (WebCore::JSEventTargetNode::getListener):
3823 (WebCore::JSEventTargetNode::setListener):
3824 * bindings/js/JSMessagePortCustom.cpp:
3825 (WebCore::JSMessagePort::mark):
3826 (WebCore::JSMessagePort::addEventListener):
3827 (WebCore::JSMessagePort::removeEventListener):
3828 (WebCore::JSMessagePort::setOnmessage):
3829 (WebCore::JSMessagePort::onmessage):
3830 (WebCore::JSMessagePort::setOnclose):
3831 (WebCore::JSMessagePort::onclose):
3832 * bindings/js/JSXMLHttpRequestCustom.cpp:
3833 (WebCore::JSXMLHttpRequest::mark):
3834 (WebCore::JSXMLHttpRequest::onreadystatechange):
3835 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
3836 (WebCore::JSXMLHttpRequest::onabort):
3837 (WebCore::JSXMLHttpRequest::setOnabort):
3838 (WebCore::JSXMLHttpRequest::onerror):
3839 (WebCore::JSXMLHttpRequest::setOnerror):
3840 (WebCore::JSXMLHttpRequest::onload):
3841 (WebCore::JSXMLHttpRequest::setOnload):
3842 (WebCore::JSXMLHttpRequest::onloadstart):
3843 (WebCore::JSXMLHttpRequest::setOnloadstart):
3844 (WebCore::JSXMLHttpRequest::onprogress):
3845 (WebCore::JSXMLHttpRequest::setOnprogress):
3846 (WebCore::JSXMLHttpRequest::addEventListener):
3847 (WebCore::JSXMLHttpRequest::removeEventListener):
3848 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3849 (WebCore::JSXMLHttpRequestUpload::mark):
3850 (WebCore::JSXMLHttpRequestUpload::onabort):
3851 (WebCore::JSXMLHttpRequestUpload::setOnabort):
3852 (WebCore::JSXMLHttpRequestUpload::onerror):
3853 (WebCore::JSXMLHttpRequestUpload::setOnerror):
3854 (WebCore::JSXMLHttpRequestUpload::onload):
3855 (WebCore::JSXMLHttpRequestUpload::setOnload):
3856 (WebCore::JSXMLHttpRequestUpload::onloadstart):
3857 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
3858 (WebCore::JSXMLHttpRequestUpload::onprogress):
3859 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
3860 (WebCore::JSXMLHttpRequestUpload::addEventListener):
3861 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3862 * bindings/scripts/CodeGeneratorJS.pm:
3863 * dom/EventTarget.h:
3864 * dom/EventTargetNode.cpp:
3865 (WebCore::EventTargetNode::associatedFrame):
3866 * dom/EventTargetNode.h:
3867 * dom/EventTargetNode.idl:
3868 * dom/MessagePort.cpp:
3869 (WebCore::MessagePort::associatedFrame):
3870 * dom/MessagePort.h:
3871 (WebCore::MessagePort::setOnmessage):
3872 (WebCore::MessagePort::onmessage):
3873 (WebCore::MessagePort::setOnclose):
3874 (WebCore::MessagePort::onclose):
3875 * dom/MessagePort.idl:
3876 * loader/appcache/DOMApplicationCache.h:
3877 (WebCore::DOMApplicationCache::setOnchecking):
3878 (WebCore::DOMApplicationCache::onchecking):
3879 (WebCore::DOMApplicationCache::setOnerror):
3880 (WebCore::DOMApplicationCache::onerror):
3881 (WebCore::DOMApplicationCache::setOnnoupdate):
3882 (WebCore::DOMApplicationCache::onnoupdate):
3883 (WebCore::DOMApplicationCache::setOndownloading):
3884 (WebCore::DOMApplicationCache::ondownloading):
3885 (WebCore::DOMApplicationCache::setOnprogress):
3886 (WebCore::DOMApplicationCache::onprogress):
3887 (WebCore::DOMApplicationCache::setOnupdateready):
3888 (WebCore::DOMApplicationCache::onupdateready):
3889 (WebCore::DOMApplicationCache::setOncached):
3890 (WebCore::DOMApplicationCache::oncached):
3891 (WebCore::DOMApplicationCache::associatedFrame):
3892 * loader/appcache/DOMApplicationCache.idl:
3893 * svg/EventTargetSVGElementInstance.cpp:
3894 (WebCore::EventTargetSVGElementInstance::associatedFrame):
3895 (WebCore::EventTargetSVGElementInstance::addEventListener):
3896 (WebCore::EventTargetSVGElementInstance::removeEventListener):
3897 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
3898 * svg/EventTargetSVGElementInstance.h:
3899 * xml/XMLHttpRequest.cpp:
3900 (WebCore::XMLHttpRequest::associatedFrame):
3901 * xml/XMLHttpRequest.h:
3902 (WebCore::XMLHttpRequest::setOnreadystatechange):
3903 (WebCore::XMLHttpRequest::onreadystatechange):
3904 (WebCore::XMLHttpRequest::setOnabort):
3905 (WebCore::XMLHttpRequest::onabort):
3906 (WebCore::XMLHttpRequest::setOnerror):
3907 (WebCore::XMLHttpRequest::onerror):
3908 (WebCore::XMLHttpRequest::setOnload):
3909 (WebCore::XMLHttpRequest::onload):
3910 (WebCore::XMLHttpRequest::setOnloadstart):
3911 (WebCore::XMLHttpRequest::onloadstart):
3912 (WebCore::XMLHttpRequest::setOnprogress):
3913 (WebCore::XMLHttpRequest::onprogress):
3914 * xml/XMLHttpRequest.idl:
3915 * xml/XMLHttpRequestUpload.cpp:
3916 (WebCore::XMLHttpRequestUpload::associatedFrame):
3917 * xml/XMLHttpRequestUpload.h:
3918 (WebCore::XMLHttpRequestUpload::setOnabort):
3919 (WebCore::XMLHttpRequestUpload::onabort):
3920 (WebCore::XMLHttpRequestUpload::setOnerror):
3921 (WebCore::XMLHttpRequestUpload::onerror):
3922 (WebCore::XMLHttpRequestUpload::setOnload):
3923 (WebCore::XMLHttpRequestUpload::onload):
3924 (WebCore::XMLHttpRequestUpload::setOnloadstart):
3925 (WebCore::XMLHttpRequestUpload::onloadstart):
3926 (WebCore::XMLHttpRequestUpload::setOnprogress):
3927 (WebCore::XMLHttpRequestUpload::onprogress):
3928 * xml/XMLHttpRequestUpload.idl:
3929
darin@apple.com9451b7f2008-10-01 00:38:06 +000039302008-09-30 Darin Adler <darin@apple.com>
3931
3932 - roll out assertion breaking regression tests
3933
3934 * platform/ScrollView.cpp:
3935 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
3936 that fires in regression tests. Hyatt can add it back later. The assertion
3937 fires in the regression test because of layout that triggers repaint occuring
3938 during the process of removing a frame.
3939
adele@apple.comed74a6e2008-09-30 23:21:50 +000039402008-09-30 Adele Peterson <adele@apple.com>
3941
3942 Reviewed by Darin Adler.
3943
3944 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
3945 <rdar://problem/6222134> add a way to set color for input placeholder text
3946
3947 Test: fast/forms/placeholder-pseudo-style.html
3948
3949 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
3950 input elements when they are displaying the placeholder text.
3951
3952 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
3953 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
3954 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3955 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
3956 * css/html4.css: Add rule to make placeholder text default to darkGray.
3957
3958 * html/HTMLInputElement.cpp:
3959 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
3960 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
3961 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
3962 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
3963 (WebCore::HTMLInputElement::setValue): ditto.
3964 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
3965 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
3966 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
3967 renderer will just ask the node if it should draw the placeholder.
3968 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
3969
3970 * rendering/RenderTextControl.cpp:
3971 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
3972 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
3973 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
3974 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
3975 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
3976 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
3977 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
3978 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
3979 * rendering/RenderTextControl.h:
3980
bdakin@apple.com31845c52008-09-30 23:19:53 +000039812008-09-30 Beth Dakin <bdakin@apple.com>
3982
3983 Reviewed by Darin Adler.
3984
3985 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
3986 by failed allocation due to invalid counter/attr
3987 and corresponding: <rdar://problem/6152371>
3988
3989 * css/CSSParser.cpp:
3990 (WebCore::CSSParser::parseCounterContent): The spec indicates that
3991 only identifiers should be accepted here.
3992
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000039932008-09-30 Kevin McCullough <kmccullough@apple.com>
3994
kmccullough@apple.com88219342008-09-30 22:33:30 +00003995 Reviewed by Oliver Hunt.
3996
3997 Bug 21255: console.profileEnd() without a console.profile() crashes the
3998 web inspector
3999
4000 * page/Console.cpp:
4001 (WebCore::Console::profileEnd):
4002
40032008-09-30 Kevin McCullough <kmccullough@apple.com>
4004
kmccullough@apple.com86834eb2008-09-30 22:31:46 +00004005 Reviewed by Tim Hatcher.
4006
4007 Bug 21252: calling console.profile() with a title that is 2 chars or
4008 shorter does not linkify it
4009
4010 - Previously we tried to not linkify very short URLs but since profile
4011 titles can be any length this is not always true.
4012
4013 * page/inspector/inspector.js:
4014
hyatt@apple.comda9b3072008-09-30 21:30:56 +000040152008-09-30 Dave Hyatt <hyatt@apple.com>
4016
4017 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
4018 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
4019 (1) Not used on Mac
4020 (2) Used on Windows
4021 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
4022 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
4023 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
4024
4025 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
4026 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
4027 With the changes to this method, the new behavior is as follows:
4028 (1) Not used on Mac
4029 (2) Used on Windows
4030 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
4031 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
4032 (5) Not used on wx
4033
4034 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
4035 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
4036
4037 Reviewed by Sam Weinig
4038
4039 * ChangeLog:
4040 * dom/Document.cpp:
4041 (WebCore::Document::implicitClose):
4042 * platform/HostWindow.h:
4043 (WebCore::HostWindow::paint):
4044 * platform/ScrollView.h:
4045 * platform/gtk/ScrollViewGtk.cpp:
4046 * platform/mac/ScrollViewMac.mm:
4047 * platform/qt/ScrollViewQt.cpp:
4048 * platform/win/ScrollViewWin.cpp:
4049 * platform/wx/ScrollViewWx.cpp:
4050
timothy@apple.com92560da2008-09-30 20:57:49 +000040512008-09-30 Timothy Hatcher <timothy@apple.com>
4052
timothy@apple.com26fefbf2008-09-30 20:57:55 +00004053 Focus the DOM tree in the Web Inspector when a node is inspected.
4054 So when the search field has focus, the focus moves to the tree,
4055 allowing the arrow keys work. This can happen when using the new
4056 find in page feature.
4057
4058 https://bugs.webkit.org/show_bug.cgi?id=21251
4059
4060 Reviewed by Geoff Garen.
4061
4062 * page/inspector/ElementsPanel.js:
4063 (WebInspector.ElementsPanel): Set currentFocusElement to
4064 the main-panels element if the panel is visible.
4065 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
4066 Remove a set of currentFocusElement since this moved.
4067 * page/inspector/inspector.js:
4068 (WebInspector.set currentFocusElement): Always focus the element.
4069 This ensures that when focus changes in the page and we don't
4070 catch it, we will still focus the elements even if we think it
4071 was already focused.
4072
40732008-09-30 Timothy Hatcher <timothy@apple.com>
4074
timothy@apple.com92560da2008-09-30 20:57:49 +00004075 Make the Web Inspector's toolbar icons darker when the mouse is
4076 pressed on them. This matches the standard NSToolbar look.
4077
4078 https://bugs.webkit.org/show_bug.cgi?id=21249
4079 rdar://problem/6033752
4080
4081 Reviewed by Adam Roben.
4082
4083 * page/inspector/Images/databasesIcon.png:
4084 * page/inspector/Images/elementsIcon.png:
4085 * page/inspector/Images/profilesIcon.png:
4086 * page/inspector/Images/resourcesIcon.png:
4087 * page/inspector/Images/scriptsIcon.png:
4088 * page/inspector/Panel.js:
4089 * page/inspector/inspector.css:
4090
kmccullough@apple.com622724e2008-09-30 20:26:29 +000040912008-09-30 Kevin McCullough <kmccullough@apple.com>
4092
4093 Reviewed by Tim Hatcher.
4094
4095 Bug 21139: Profiler log message is wrong
4096 - Correctly fix =(
4097 Don't call _format twice.
4098
4099 * page/Page.h:
4100 * page/inspector/Console.js:
4101 * page/inspector/ProfilesPanel.js:
4102 * page/inspector/inspector.js:
4103
hyatt@apple.com70936b52008-09-30 20:09:42 +000041042008-09-30 Dave Hyatt <hyatt@apple.com>
4105
4106 http://bugs.webkit.org/show_bug.cgi?id=21250
4107
4108 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
4109 repaints up through the ChromeClient.
4110
4111 Reviewed by Darin Adler
4112
4113 * loader/EmptyClients.h:
4114 (WebCore::EmptyChromeClient::repaint):
4115 * page/Chrome.cpp:
4116 (WebCore::Chrome::repaint):
4117 * page/Chrome.h:
4118 * page/ChromeClient.h:
4119 * page/FrameView.cpp:
4120 (WebCore::FrameView::hostWindow):
4121 (WebCore::FrameView::repaintContentRectangle):
4122 * page/FrameView.h:
4123 * platform/HostWindow.h:
4124 * platform/ScrollView.cpp:
4125 (WebCore::ScrollView::repaintContentRectangle):
4126 (WebCore::ScrollView::platformRepaintContentRectangle):
4127 * platform/ScrollView.h:
4128 * platform/gtk/ScrollViewGtk.cpp:
4129 * platform/mac/ScrollViewMac.mm:
4130 (WebCore::ScrollView::platformRepaintContentRectangle):
4131 * platform/qt/ScrollViewQt.cpp:
4132 * platform/win/ScrollViewWin.cpp:
4133 * platform/wx/ScrollViewWx.cpp:
4134 (WebCore::ScrollView::platformRepaintContentRectangle):
4135
ap@webkit.org8b67da02008-09-30 17:58:10 +000041362008-09-30 Alexey Proskuryakov <ap@webkit.org>
4137
4138 Non-Mac build fixes.
4139
4140 * GNUmakefile.am:
4141 * WebCore.pro:
4142 * WebCore.vcproj/WebCore.vcproj:
4143 * WebCoreSources.bkl:
4144 * webcore-base.bkl:
4145 Added DOMProtect.{cpp,h}.
4146
kdecker@apple.comdafe5102008-09-30 17:40:02 +000041472008-09-39 Kevin Decker <kdecker@apple.com>
4148
4149 Reviewed by John Sullivan.
4150
4151 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
4152 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
4153
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +000041542008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
4155
4156 Reviewed by Maciej Stachowiak.
4157
4158 Bug 21106: .in format discussed changes
4159 https://bugs.webkit.org/show_bug.cgi?id=21106
4160
4161 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
4162 is the only namespace used.
4163
4164 - Removed "generateFactory" and "generateWrapperFactory" parameters and
4165 re-introduced the command line options.
4166
4167 - Cleaned up the output of make_names.pl (removed unneeded new line).
4168
4169 * DerivedSources.make: Added factories command line options.
4170 * GNUmakefile.am: Ditto.
4171 * WebCore.pro: Ditto and removed some arguments that were migrated to
4172 the .in files.
4173
4174 * dom/make_names.pl: Clean up (see above).
4175
4176 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
4177 and "generateWrapperFactory" occurences.
4178 * html/HTMLTagNames.in: Ditto.
4179 * svg/svgattrs.in: Ditto.
4180 * svg/svgtags.in: Ditto.
4181 * svg/xlinkattrs.in: Ditto.
4182 * xml/xmlattrs.in: Ditto.
4183
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +000041842008-09-29 Chris Fleizach <cfleizach@apple.com>
4185
4186 Reviewed by John Sullivan.
4187
4188 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
4189 Make sure that certain types of elements do not return children and, moreover, do not waste their
4190 energy trying to return children
4191
4192 Test: accessibility/nochildren-elements.html
4193
4194 * page/AccessibilityObject.h:
4195 (WebCore::AccessibilityObject::canHaveChildren):
4196 * page/AccessibilityRenderObject.cpp:
4197 (WebCore::AccessibilityRenderObject::canHaveChildren):
4198 (WebCore::AccessibilityRenderObject::addChildren):
4199 * page/AccessibilityRenderObject.h:
4200
ap@webkit.orga0c037c2008-09-30 15:52:06 +000042012008-09-30 Alexey Proskuryakov <ap@webkit.org>
4202
4203 Reviewed by Sam Weinig.
4204
4205 https://bugs.webkit.org/show_bug.cgi?id=21213
4206 MessagePort crash when GC collects an object with a pending close event
4207
4208 Test: fast/events/message-channel-gc-2.html
4209 fast/events/message-channel-listener-circular-ownership.html
4210
4211 * bindings/DOMProtect.cpp: Added.
4212 (WebCore::gcProtectDOMObject):
4213 (WebCore::gcUnprotectDOMObject):
4214 * bindings/DOMProtect.h: Added.
4215 Added an abstraction for GC protection to avoid the need to call JS bindings code from
4216 DOM objects directly.
4217
4218 * dom/MessagePort.cpp:
4219 (WebCore::CloseMessagePortTimer::fired):
4220 (WebCore::MessagePort::queueCloseEvent):
4221 GC protect MessagePort wrapper while there is a pending close event.
4222 This may be necessary for message events, too, but that case is not a crasher, and actually
4223 behaves to the letter of the current HTML5 text, so I'll consider it later.
4224
4225 * xml/XMLHttpRequest.cpp:
4226 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
4227 (WebCore::XMLHttpRequest::dropProtection):
4228 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
4229
4230 * bindings/js/JSMessagePortCustom.cpp:
4231 (WebCore::JSMessagePort::addEventListener):
4232 (WebCore::JSMessagePort::removeEventListener):
4233 (WebCore::JSMessagePort::setOnmessage):
4234 (WebCore::JSMessagePort::setOnclose):
4235 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
4236 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
4237
4238 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
4239 (WebCore::JSXMLHttpRequestUpload::mark):
4240 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
4241 from XMLHttpRequest.
4242
aroben@apple.comd2272012008-09-30 14:17:28 +000042432008-09-30 Adam Roben <aroben@apple.com>
4244
4245 Windows build fix
4246
4247 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
4248
weinig@apple.comd516a572008-09-30 07:01:45 +000042492008-09-29 Sam Weinig <sam@webkit.org>
4250
4251 Reviewed by Tim Hatcher.
4252
4253 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
4254 Autogenerate JS event listeners
4255
4256 - Generate EventTargetNode.
4257
4258 * DerivedSources.make:
4259 * GNUmakefile.am:
4260 * WebCore.pro:
4261 * WebCore.vcproj/WebCore.vcproj:
4262 * WebCore.xcodeproj/project.pbxproj:
4263 * WebCoreSources.bkl:
4264 * bindings/js/JSEventListener.cpp:
4265 * bindings/js/JSEventTarget.cpp: Added.
4266 (WebCore::toJS):
4267 * bindings/js/JSEventTarget.h: Added.
4268 * bindings/js/JSEventTargetBase.cpp: Removed.
4269 * bindings/js/JSEventTargetBase.h:
4270 * bindings/js/JSEventTargetNode.cpp: Removed.
4271 * bindings/js/JSEventTargetNode.h: Removed.
4272 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
4273 (WebCore::JSEventTargetNode::addEventListener):
4274 (WebCore::JSEventTargetNode::removeEventListener):
4275 (WebCore::JSEventTargetNode::dispatchEvent):
4276 (WebCore::JSEventTargetNode::getListener):
4277 (WebCore::JSEventTargetNode::setListener):
4278 (WebCore::JSEventTargetNode::pushEventHandlerScope):
4279 * bindings/js/JSEventTargetSVGElementInstance.cpp:
4280 (WebCore::):
4281 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
4282 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
4283 (jsEventTargetAddEventListener):
4284 (jsEventTargetRemoveEventListener):
4285 (jsEventTargetDispatchEvent):
4286 * bindings/js/JSEventTargetSVGElementInstance.h:
4287 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
4288 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
4289 * bindings/scripts/CodeGeneratorJS.pm:
4290 * dom/EventTargetNode.idl: Added.
4291
darin@apple.com8d35fe02008-09-30 01:14:26 +000042922008-09-29 Darin Adler <darin@apple.com>
4293
4294 Reviewed by Sam Weinig.
4295
4296 - https://bugs.webkit.org/show_bug.cgi?id=21214
4297 work on getting rid of ExecState
4298
4299 * bindings/js/JSDOMWindowBase.cpp:
4300 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
4301 for base class constructor.
4302
hyatt@apple.com4ba85692008-09-30 00:42:25 +000043032008-09-29 David Hyatt <hyatt@apple.com>
4304
4305 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
4306 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
4307 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
4308 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
4309
4310 Reviewed by Sam Weinig
4311
4312 * WebCore.xcodeproj/project.pbxproj:
4313 * page/Chrome.h:
4314 * platform/HostWindow.h: Added.
4315 (WebCore::HostWindow::HostWindow):
4316 (WebCore::HostWindow::~HostWindow):
4317
kdecker@apple.com0a129d72008-09-30 00:17:15 +000043182008-09-29 Kevin Decker <kdecker@apple.com>
4319
4320 Reviewed by Anders Carlsson.
4321
4322 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
4323 2000.
4324
mitz@apple.comd58d8382008-09-29 23:42:38 +000043252008-09-29 Dan Bernstein <mitz@apple.com>
4326
4327 Reviewed by Adam Roben.
4328
4329 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
4330
4331 * rendering/RenderThemeWin.cpp:
4332 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
4333 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
4334 unloaded, to avoid calling uxtheme.dll functions after that library has
4335 been unloaded.
4336 * rendering/RenderThemeWin.h:
4337
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +000043382008-09-29 Chris Fleizach <cfleizach@apple.com>
4339
4340 Reviewed by John Sullivan
4341
4342 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
4343
4344 Sends AXLoadComplete only when the top level web area is finished loading
4345
4346 * dom/Document.cpp:
4347 (WebCore::Document::implicitClose):
4348
timothy@apple.com96fff242008-09-29 22:34:10 +000043492008-09-29 Timothy Hatcher <timothy@apple.com>
4350
4351 Makes the node highlight always show up when hovering a node in
4352 the Web Inspector now that the highlight does not scroll to reveal
4353 the node. Also adds a hover effect in the inspector when hovering
4354 causes a highlight in the page. This ties the user hovering action
4355 to the highlight so it is clear what causes the highlight to appear.
4356
4357 Also the highlight now temporarily shows up for 2 seconds after
4358 selecting a node in the DOM tree. So arrowing around in the tree
4359 will show the node on the page, providing feedback to the user.
4360
4361 Plus fixes an issue where quickly moving away from hovering
4362 a node would keep showing the page highlight. This was happening
4363 in breadcrumbs and the DOM tree.
4364
4365 https://bugs.webkit.org/show_bug.cgi?id=21220
4366
4367 Reviewed by Kevin McCullough.
4368
4369 * page/inspector/Console.js:
4370 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
4371 hovering DOM nodes in the console.
4372 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
4373 (WebInspector.Console.prototype._formatnode): Use the new event
4374 listeners and add a class name to the anchor element.
4375 * page/inspector/ElementsPanel.js:
4376 (WebInspector.ElementsPanel): Add new event listeners to the
4377 crumbs element to do the node hovering highlight.
4378 (WebInspector.ElementsPanel.prototype.hide):
4379 (WebInspector.ElementsPanel.prototype.reset):
4380 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
4381 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
4382 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
4383 * page/inspector/ElementsTreeOutline.js:
4384 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
4385 Show the node hishlight for 2 seconds then restore the highlight
4386 to the current hovered node.
4387 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
4388 hovered node and set the hovered state on the tree element.
4389 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
4390 hovered node to null and removed the hovered state from the previous
4391 hovered tree element.
4392 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
4393 the hovered class to the list item.
4394 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
4395 * page/inspector/inspector.css:
4396 * page/inspector/inspector.js:
4397 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
4398 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
4399 causes the highlight to change sooner if there is one already showing
4400 and appear later if there isn't one showing. This is like tooltips,
4401 hovering a node for 500ms will cause highlight then mousing between nodes
4402 will keep the highlight and change to the new node.
4403 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
4404 always reset the timeout so continuous mousing does not keep flasshing
4405 the highlight on the screen.
4406 (WebInspector._updateHoverHighlight): Removed the alt key check and added
4407 the showingDOMNodeHighlight property.
4408 (WebInspector.documentKeyDown): Removed the alt key check.
4409 (WebInspector.documentKeyUp): Ditto.
4410 (WebInspector.reset): Clear the hoveredDOMNode.
4411
simon.fraser@apple.com8a565532008-09-29 22:04:38 +000044122008-09-29 Simon Fraser <simon.fraser@apple.com>
4413
4414 Reviewed by Anders Carlsson
4415
4416 Fix RenderStyle leak in animation code, and assert that
4417 keyframe resolution in CSSStyleSelector is not going to clobber
4418 m_style.
4419
4420 * css/CSSStyleSelector.cpp:
4421 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
4422 * page/animation/KeyframeAnimation.cpp:
4423 (WebCore::KeyframeAnimation::~KeyframeAnimation):
4424
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000044252008-09-29 Chris Marrin <cmarrin@apple.com>
4426
simon.fraser@apple.come979de02008-09-29 21:31:26 +00004427 Reviewed by Dave Hyatt
4428
4429 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
4430 Rewrite keyframe resolution to be like styleForElement()
4431
4432 Test: animations/lineheight-animation.html
4433
4434 * css/CSSStyleSelector.cpp:
4435 (WebCore::CSSStyleSelector::addKeyframeStyle):
4436 (WebCore::CSSStyleSelector::~CSSStyleSelector):
4437 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
4438 (WebCore::CSSRuleSet::addRulesFromSheet):
4439 (WebCore::CSSStyleSelector::mapAnimationName):
4440 * css/CSSStyleSelector.h:
4441 * page/animation/CompositeAnimation.cpp:
4442 (WebCore::CompositeAnimation::updateKeyframeAnimations):
4443 * page/animation/KeyframeAnimation.cpp:
4444 (WebCore::KeyframeAnimation::KeyframeAnimation):
4445 (WebCore::KeyframeAnimation::animate):
4446 (WebCore::KeyframeAnimation::hasAnimationForProperty):
4447 (WebCore::KeyframeAnimation::sendAnimationEvent):
4448 (WebCore::KeyframeAnimation::overrideAnimations):
4449 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
4450 (WebCore::KeyframeAnimation::affectsProperty):
4451 (WebCore::KeyframeAnimation::validateTransformFunctionList):
4452 * page/animation/KeyframeAnimation.h:
4453 * rendering/style/Animation.cpp:
4454 (WebCore::Animation::animationsMatch):
4455 * rendering/style/Animation.h:
4456 * rendering/style/KeyframeList.cpp:
4457 (WebCore::KeyframeList::~KeyframeList):
4458 (WebCore::KeyframeList::clear):
4459 (WebCore::KeyframeList::insert):
4460 * rendering/style/KeyframeList.h:
4461 (WebCore::KeyframeValue::KeyframeValue):
4462 (WebCore::KeyframeList::KeyframeList):
4463 (WebCore::KeyframeList::operator!=):
4464 (WebCore::KeyframeList::animationName):
4465 (WebCore::KeyframeList::addProperty):
4466 (WebCore::KeyframeList::containsProperty):
4467 (WebCore::KeyframeList::beginProperties):
4468 (WebCore::KeyframeList::endProperties):
4469 (WebCore::KeyframeList::isEmpty):
4470 (WebCore::KeyframeList::size):
4471 (WebCore::KeyframeList::beginKeyframes):
4472 (WebCore::KeyframeList::endKeyframes):
4473 * rendering/style/RenderStyle.h:
4474 * rendering/style/StyleRareNonInheritedData.cpp:
4475 * rendering/style/StyleRareNonInheritedData.h:
4476
44772008-09-29 Chris Marrin <cmarrin@apple.com>
4478
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +00004479 Reviewed by Eric Seidel
4480
simon.fraser@apple.comff913022008-09-29 21:24:52 +00004481 Clean up fix in PropertyWrapperGetter::equals
4482 https://bugs.webkit.org/show_bug.cgi?id=21011
4483
4484 Test: transitions/override-transition-crash.html
4485
4486 * page/animation/AnimationBase.cpp:
4487 (WebCore::PropertyWrapperGetter::equals):
4488 * page/animation/CompositeAnimation.cpp:
4489 (WebCore::CompositeAnimation::updateTransitions):
4490
44912008-09-29 Chris Marrin <cmarrin@apple.com>
4492
4493 Reviewed by Eric Seidel
4494
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +00004495 https://bugs.webkit.org/show_bug.cgi?id=21001
4496 Starting transition after animation, when animation
4497 is finished, transition is wrong.
4498
4499 Test: animations/transition-and-animation-2.html
4500
4501 * page/animation/AnimationBase.h:
4502 * page/animation/CompositeAnimation.cpp:
4503 (WebCore::CompositeAnimation::updateTransitions):
4504 (WebCore::CompositeAnimation::updateKeyframeAnimations):
4505 (WebCore::CompositeAnimation::resetTransitions):
4506 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
4507 * page/animation/ImplicitAnimation.cpp:
4508 (WebCore::ImplicitAnimation::ImplicitAnimation):
4509 (WebCore::ImplicitAnimation::~ImplicitAnimation):
4510 (WebCore::ImplicitAnimation::animate):
4511 (WebCore::ImplicitAnimation::reset):
4512 * page/animation/ImplicitAnimation.h:
4513
45142008-09-29 Chris Marrin <cmarrin@apple.com>
4515
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +00004516 Reviewed by Sam Weinig
4517
4518 https://bugs.webkit.org/show_bug.cgi?id=20921
4519 -webkit-animation-timing-function: inside of keyframes is ignored
4520
4521 Test: animations/keyframe-timing-functions.html
4522
4523 * page/animation/AnimationBase.cpp:
4524 (WebCore::AnimationBase::progress):
4525 * page/animation/AnimationBase.h:
4526 * page/animation/ImplicitAnimation.cpp:
4527 (WebCore::ImplicitAnimation::animate):
4528 * page/animation/KeyframeAnimation.cpp:
4529 (WebCore::KeyframeAnimation::animate):
4530
mitz@apple.com2449a052008-09-29 20:57:33 +000045312008-09-29 Dan Bernstein <mitz@apple.com>
4532
mitz@apple.com9a3e3c82008-09-29 21:04:54 +00004533 - Windows build fix
4534
4535 * platform/ScrollView.cpp:
4536 (WebCore::ScrollView::platformScroll):
4537
45382008-09-29 Dan Bernstein <mitz@apple.com>
4539
mitz@apple.com2449a052008-09-29 20:57:33 +00004540 - another attempt at a Windows build fix
4541
4542 * platform/ScrollView.cpp:
4543 (WebCore::platformScroll):
4544
45452008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +00004546
4547 - Windows build fix
4548
4549 * platform/ScrollView.cpp:
4550 (WebCore::ScrollView::platformSetScrollPosition):
4551
hyatt@apple.com90abd562008-09-29 19:46:37 +000045522008-09-29 David Hyatt <hyatt@apple.com>
4553
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +00004554 https://bugs.webkit.org/show_bug.cgi?id=21218
4555
4556 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
4557 It's silly that the code was this fragile, but for now just put the check back in.
4558
4559 Reviewed by Dan Bernstein
4560
4561 * platform/ScrollView.cpp:
4562 (WebCore::ScrollView::setScrollbarModes):
4563
45642008-09-29 David Hyatt <hyatt@apple.com>
4565
hyatt@apple.com90abd562008-09-29 19:46:37 +00004566 https://bugs.webkit.org/show_bug.cgi?id=21216
4567
4568 Make setScrollPosition and scroll() cross-platform.
4569
4570 Reviewed by Anders
4571
4572 * platform/ScrollView.cpp:
4573 (WebCore::ScrollView::setScrollPosition):
4574 (WebCore::ScrollView::scroll):
4575 * platform/ScrollView.h:
4576 * platform/gtk/ScrollViewGtk.cpp:
4577 * platform/mac/ScrollViewMac.mm:
4578 (WebCore::ScrollView::platformSetScrollPosition):
4579 (WebCore::ScrollView::platformScroll):
4580 * platform/qt/ScrollViewQt.cpp:
4581 * platform/win/ScrollViewWin.cpp:
4582 * platform/wx/ScrollViewWx.cpp:
4583 (WebCore::ScrollView::platformSetScrollPosition):
4584 (WebCore::ScrollView::platformScroll):
4585
kmccullough@apple.comed371682008-09-29 19:09:44 +000045862008-09-29 Kevin McCullough <kmccullough@apple.com>
4587
4588 Reviewed by Oliver.
4589
4590 Bug 21139: Profiler log message is wrong
4591 - Because _format was called twice the number in the log was incremented
4592 too many times, but we were passing it around in the link the whole time
4593
4594 * page/inspector/ProfilesPanel.js:
4595 * page/inspector/inspector.js:
4596
weinig@apple.com7f3f95f2008-09-29 19:09:02 +000045972008-09-29 Sam Weinig <sam@webkit.org>
4598
4599 Reviewed by Cameron Zwarich.
4600
4601 Autogenerate EventListeners, addEventListener and removeEventListener
4602 for JSDOMWindow.
4603
4604 * bindings/js/JSDOMWindowBase.cpp:
4605 * bindings/js/JSDOMWindowBase.h:
4606 * bindings/js/JSDOMWindowCustom.cpp:
4607 (WebCore::JSDOMWindow::onwebkitanimationstart):
4608 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
4609 (WebCore::JSDOMWindow::onwebkitanimationiteration):
4610 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
4611 (WebCore::JSDOMWindow::onwebkitanimationend):
4612 (WebCore::JSDOMWindow::setOnwebkitanimationend):
4613 (WebCore::JSDOMWindow::onwebkittransitionend):
4614 (WebCore::JSDOMWindow::setOnwebkittransitionend):
4615 (WebCore::JSDOMWindow::addEventListener):
4616 (WebCore::JSDOMWindow::removeEventListener):
4617 (WebCore::JSDOMWindow::setListener):
4618 (WebCore::JSDOMWindow::getListener):
4619 * bindings/scripts/CodeGeneratorJS.pm:
4620 * page/DOMWindow.idl:
4621
hausmann@webkit.orgf6964472008-09-29 12:47:08 +000046222008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
4623
4624 Reviewed by Simon.
4625
4626 Changed copyright from Trolltech ASA to Nokia.
4627
4628 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
4629
4630 * bindings/js/JSMimeTypeArrayCustom.cpp:
4631 * bindings/js/JSNavigatorCustom.cpp:
4632 * bindings/js/JSPluginArrayCustom.cpp:
4633 * bindings/js/JSPluginCustom.cpp:
4634 * bindings/js/ScriptControllerMac.mm:
4635 * bindings/js/ScriptControllerQt.cpp:
4636 * bridge/qt/qt_class.cpp:
4637 * bridge/qt/qt_class.h:
4638 * bridge/qt/qt_instance.cpp:
4639 * bridge/qt/qt_instance.h:
4640 * bridge/qt/qt_runtime.cpp:
4641 * bridge/qt/qt_runtime.h:
4642 * bridge/testqtbindings.cpp:
4643 * css/makegrammar.pl:
4644 * css/makeprop.pl:
4645 * css/makevalues.pl:
4646 * dom/Node.cpp:
4647 * dom/TagNodeList.cpp:
4648 * dom/TagNodeList.h:
4649 * dom/XMLTokenizer.cpp:
4650 * dom/XMLTokenizer.h:
4651 * dom/XMLTokenizerLibxml2.cpp:
4652 * dom/XMLTokenizerQt.cpp:
4653 * editing/Editor.cpp:
4654 * editing/EditorCommand.cpp:
4655 * html/CanvasRenderingContext2D.cpp:
4656 * html/CanvasStyle.cpp:
4657 * html/HTMLAppletElement.cpp:
4658 * html/HTMLEmbedElement.cpp:
4659 * html/HTMLObjectElement.cpp:
4660 * loader/FrameLoader.cpp:
4661 * page/Chrome.cpp:
4662 * page/EditorClient.h:
4663 * page/Frame.cpp:
4664 * page/Frame.h:
4665 * page/FramePrivate.h:
4666 * page/Navigator.cpp:
4667 * page/Navigator.h:
4668 * page/Navigator.idl:
4669 * page/mac/FrameMac.mm:
4670 * page/qt/EventHandlerQt.cpp:
4671 * platform/graphics/qt/FontCacheQt.cpp:
4672 * platform/graphics/qt/FontCustomPlatformData.cpp:
4673 * platform/graphics/qt/FontCustomPlatformData.h:
4674 * platform/graphics/qt/FontPlatformData.h:
4675 * platform/graphics/qt/FontQt.cpp:
4676 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
4677 * platform/graphics/qt/GraphicsContextQt.cpp:
4678 * platform/graphics/qt/ImageDecoderQt.cpp:
4679 * platform/graphics/qt/ImageDecoderQt.h:
4680 * platform/graphics/qt/ImageSourceQt.cpp:
4681 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
4682 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
4683 * platform/graphics/qt/SimpleFontDataQt.cpp:
4684 * platform/gtk/MIMETypeRegistryGtk.cpp:
4685 * platform/mac/MIMETypeRegistryMac.mm:
4686 * platform/network/qt/QNetworkReplyHandler.cpp:
4687 * platform/network/qt/QNetworkReplyHandler.h:
4688 * platform/network/qt/ResourceHandleQt.cpp:
4689 * platform/network/qt/ResourceRequestQt.cpp:
4690 * platform/qt/ClipboardQt.cpp:
4691 * platform/qt/EventLoopQt.cpp:
4692 * platform/qt/KURLQt.cpp:
4693 * platform/qt/LoggingQt.cpp:
4694 * platform/qt/MIMETypeRegistryQt.cpp:
4695 * platform/qt/PasteboardQt.cpp:
4696 * platform/qt/PlatformScreenQt.cpp:
4697 * platform/qt/PopupMenuQt.cpp:
4698 * platform/qt/QWebPopup.cpp:
4699 * platform/qt/QWebPopup.h:
4700 * platform/qt/RenderThemeQt.cpp:
4701 * platform/qt/ScrollbarQt.cpp:
4702 * platform/qt/ScrollbarThemeQt.cpp:
4703 * platform/qt/WheelEventQt.cpp:
4704 * platform/qt/html4-adjustments-qt.css:
4705 * platform/wx/MimeTypeRegistryWx.cpp:
4706 * plugins/MimeType.cpp:
4707 * plugins/MimeType.h:
4708 * plugins/MimeType.idl:
4709 * plugins/MimeTypeArray.cpp:
4710 * plugins/MimeTypeArray.h:
4711 * plugins/MimeTypeArray.idl:
4712 * plugins/Plugin.cpp:
4713 * plugins/Plugin.h:
4714 * plugins/Plugin.idl:
4715 * plugins/PluginArray.cpp:
4716 * plugins/PluginArray.h:
4717 * plugins/PluginArray.idl:
4718 * plugins/PluginData.cpp:
4719 * plugins/PluginData.h:
4720 * plugins/gtk/PluginDataGtk.cpp:
4721 * plugins/mac/PluginDataMac.mm:
4722 * plugins/qt/PluginDataQt.cpp:
4723 * plugins/win/PluginDataWin.cpp:
4724 * rendering/RenderTableCol.cpp:
4725 * rendering/RenderTableCol.h:
4726
hausmann@webkit.org37374992008-09-29 09:03:09 +000047272008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
4728
4729 Reviewed by Simon
4730
4731 Fix compilation with gcc 4.3
4732
4733 gcc 4.3 is stricter and ctype.h isn't getting included
4734 automatically here by dependencies. So do it directly.
4735
4736 * platform/qt/PlatformKeyboardEventQt.cpp:
4737
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +000047382008-09-29 Morten Sørvig <msorvig@trolltech.com>
4739
4740 Reviewed by Simon.
4741
4742 Fix compilation with Qt/Mac without plugins.
4743
4744 * platform/qt/TemporaryLinkStubs.cpp:
4745
mrowe@apple.com2c478db2008-09-29 08:20:37 +000047462008-09-29 Mark Rowe <mrowe@apple.com>
4747
4748 Reviewed by Sam Weinig.
4749
4750 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
4751 In the few places that we call .upper() in WebCore the strings represent things like
4752 tag and attribute names, which are nearly always going to be ASCII.
4753
4754 * platform/text/StringImpl.cpp:
4755 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
4756 in to Unicode::toLower the second time.
4757 (WebCore::StringImpl::upper):
4758
mrowe@apple.com512eca02008-09-29 08:19:09 +000047592008-09-28 Mark Rowe <mrowe@apple.com>
4760
mrowe@apple.com49797322008-09-29 08:19:14 +00004761 Reviewed by Sam Weinig.
4762
4763 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
4764 rather than String::operator+=.
4765
4766 * css/CSSPrimitiveValue.cpp:
4767 (WebCore::CSSPrimitiveValue::cssText):
4768
47692008-09-28 Mark Rowe <mrowe@apple.com>
4770
mrowe@apple.com512eca02008-09-29 08:19:09 +00004771 Reviewed by Oliver Hunt.
4772
4773 Speed up computedStyle.getPropertyValue('color') by 4.5x.
4774
4775 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
4776 as it avoids many memory reallocations.
4777
4778 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
4779 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
4780 unrelated properties on an element.
4781
4782 * css/CSSPrimitiveValue.cpp:
4783 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
4784 and use appendNumber rather than the String::number in order to cut down on memory allocations.
4785 * platform/text/PlatformString.h:
4786 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
4787 into a Vector<UChar>.
4788
weinig@apple.com4df73d92008-09-29 03:41:35 +000047892008-09-28 Sam Weinig <sam@webkit.org>
4790
weinig@apple.com9af39ef2008-09-29 04:16:15 +00004791 Reviewed by Anders Carlsson.
4792
4793 Remove spurious call to lower().
4794
4795 * css/MediaQueryEvaluator.cpp:
4796 (WebCore::MediaQueryEvaluator):
4797
47982008-09-28 Sam Weinig <sam@webkit.org>
4799
weinig@apple.com4df73d92008-09-29 03:41:35 +00004800 Reviewed by Dan Bernstein.
4801
4802 Use a CaseFoldingHash instead of calling lower on family strings.
4803
4804 * css/CSSFontSelector.cpp:
4805 (WebCore::CSSFontSelector::addFontFaceRule):
4806 (WebCore::CSSFontSelector::getFontData):
4807 * css/CSSFontSelector.h:
4808
timothy@apple.com810c9892008-09-28 23:31:25 +000048092008-09-28 Timothy Hatcher <timothy@apple.com>
4810
4811 Remove the scrollIntoViewIfNeeded() call when drawing the
4812 Inspector node highlight.
4813
4814 <rdar://problem/6115804> Don't scroll when highlighting (21000)
4815 https://bugs.webkit.org/show_bug.cgi?id=21000
4816
4817 Reviewed by Dan Bernstein.
4818
4819 * page/InspectorController.cpp:
4820 (WebCore::InspectorController::drawNodeHighlight):
4821
hyatt@apple.come6ebc992008-09-28 19:58:14 +000048222008-09-28 David Hyatt <hyatt@apple.com>
4823
4824 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
4825 changed.
4826
4827 Reviewed by Dan Bernstein
4828
4829 * platform/mac/ScrollbarThemeMac.mm:
4830 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
4831
timothy@apple.com47a6d492008-09-28 19:52:30 +000048322008-09-28 Timothy Hatcher <timothy@apple.com>
4833
4834 Clear the current search results in the Inspector when
4835 the search query is less than 3 characters long. Incremental
4836 searches only occur for 3 characters or longer, but deleting
4837 under this limit would not clear the results unless the whole
4838 query was deleted.
4839
4840 https://bugs.webkit.org/show_bug.cgi?id=21196
4841
4842 Reviewed by Dan Bernstein.
4843
4844 * page/inspector/inspector.js:
4845 (WebInspector.performSearch): Check for short queries in the
4846 if statement that triggers the clear.
4847
mitz@apple.comc7980632008-09-28 19:38:50 +000048482008-09-28 Dan Bernstein <mitz@apple.com>
4849
4850 Reviewed by Dave Hyatt.
4851
4852 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
4853
4854 * platform/graphics/win/FontCustomPlatformData.cpp:
4855 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
4856 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +00004857 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +00004858 m_overlayLength bytes starting at m_overlayDst with the same number of
4859 bytes from m_overlaySrc.
4860 (WebCore::createFontCustomPlatformData): Changed to get overlay
4861 parameters from getEOTHeader.
4862 * platform/graphics/win/GetEOTHeader.cpp:
4863 (WebCore::getEOTHeader): Added code to specify overlaying of the
4864 family name with the prefix of the full name if they differ, because
4865 that such a difference causes TTLoadEmbeddedFont to fail.
4866 * platform/graphics/win/GetEOTHeader.h:
4867
ap@webkit.orgdf67f132008-09-28 13:23:51 +000048682008-09-28 Alexey Proskuryakov <ap@webkit.org>
4869
4870 Reviewed by Eric Seidel.
4871
4872 https://bugs.webkit.org/show_bug.cgi?id=20366
4873 Reproducible test failure for editing/undo/undo-iframe-location-change.html
4874
4875 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
4876
darin@apple.com80c76ce2008-09-28 09:35:06 +000048772008-09-28 Darin Adler <darin@apple.com>
4878
4879 Reviewed by Sam Weinig (except for a few comment and header tweaks).
4880
4881 - https://bugs.webkit.org/show_bug.cgi?id=21158
4882 reduce use of virtual functions in Node for speed
4883
4884 Speeds up Dromaeo a bit less than 1%.
4885
4886 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
4887 Node.h now that some inlines are in there.
4888
4889 * dom/Attr.h: Override both the virtual and non-virtual name functions.
4890
4891 * dom/ChildNodeList.cpp:
4892 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
4893 * dom/ChildNodeList.h: Ditto.
4894 * dom/ClassNodeList.cpp:
4895 (WebCore::ClassNodeList::nodeMatches): Ditto.
4896 * dom/ClassNodeList.h: Ditto.
4897
4898 * dom/Document.h: Put the Node::isDocumentNode() function's inline
4899 definition here where it can see the Document class definition.
4900
4901 * dom/DynamicNodeList.cpp:
4902 (WebCore::DynamicNodeList::length): Changed to pass an Element.
4903 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
4904 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
4905 (WebCore::DynamicNodeList::itemWithName): Ditto.
4906 * dom/DynamicNodeList.h: Ditto.
4907
4908 * dom/Element.cpp: Removed virtualHasTagName.
4909 * dom/Element.h: Made localName, prefix, namespaceURI, and
4910 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
4911 virtualNamespaceURI, and removed virtualHasTagName. Put the
4912 Node::hasTagName, Node::hasAttributes, and Node::attributes
4913 functions' inline definitions here where they can see the Element
4914 class definition.
4915
4916 * dom/NameNodeList.cpp:
4917 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
4918 * dom/NameNodeList.h: Ditto.
4919
4920 * dom/Node.cpp:
4921 (WebCore::Node::virtualPrefix): Renamed from prefix.
4922 (WebCore::Node::virtualLocalName): Renamed from localName.
4923 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
4924 (WebCore::Node::styleForRenderer): Handle the Element case here.
4925
4926 * dom/Node.h: Removed definition of hasTagName that calls virtual,
4927 since we now have a non-virtual version. Made hasAttributes,
4928 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
4929 and styleForRenderer non-virtual. Added virtualPrefix,
4930 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
4931 and setMalformed, which are used only on HTMLFormElement objects.
4932
4933 * dom/TagNodeList.cpp:
4934 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
4935 * dom/TagNodeList.h: Ditto.
4936
4937 * html/HTMLAnchorElement.cpp: Added a comment.
4938 * html/HTMLFormControlElement.cpp: Ditto.
4939
4940 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
4941 function. Marked tabIndex function virtual explicitly for clarity.
4942
4943 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
4944 function. Marked isFocusable function virtual explicitly for clarity.
4945
4946 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
4947 clarity.
4948 * html/HTMLFormControlElement.h: Ditto.
4949
4950 * html/HTMLFormElement.h: Made isMalformed non-virtual.
4951
4952 * html/HTMLParser.cpp:
4953 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
4954 pointer to call localName since that one does not need to call a virtual
4955 function.
4956
4957 * rendering/RenderBlock.cpp:
4958 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
4959 calling isMalformed. We already did a tag name check so we know it's
4960 an HTMLFormELement.
4961
4962 * xml/XPathUtil.cpp:
4963 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
4964 to nodeType(), since it's a virtual function.
4965
hyatt@apple.com2225aef2008-09-28 08:52:26 +000049662008-09-28 David Hyatt <hyatt@apple.com>
4967
4968 Make frameRectsChanged() cross-platform on ScrollView.
4969
4970 Reviewed by Oliver Hunt
4971
4972 * platform/ScrollView.cpp:
4973 (WebCore::ScrollView::frameRectsChanged):
4974 * platform/ScrollView.h:
4975 * platform/gtk/ScrollViewGtk.cpp:
4976 * platform/qt/ScrollViewQt.cpp:
4977 * platform/win/ScrollViewWin.cpp:
4978 * platform/wx/ScrollViewWx.cpp:
4979
oliver@apple.combec35402008-09-28 08:36:39 +000049802008-09-28 Oliver Hunt <oliver@apple.com>
4981
4982 Reviewed by Maciej Stachowiak.
4983
4984 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
4985 <https://bugs.webkit.org/show_bug.cgi?id=21141>
4986
4987 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
4988 were not initialising their StructureID's to indicate that the wrapper
4989 overrides hasInstance, etc. The solution is simply to use the createStructureID
4990 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
4991
4992 * bindings/js/JSInspectedObjectWrapper.cpp:
4993 (WebCore::JSInspectedObjectWrapper::wrap):
4994
hyatt@apple.comaede3de2008-09-28 08:21:09 +000049952008-09-28 David Hyatt <hyatt@apple.com>
4996
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +00004997 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
4998 terms of lines.
4999
5000 Reviewed by Oliver Hunt
5001
5002 * dom/EventTargetNode.cpp:
5003 (WebCore::EventTargetNode::dispatchWheelEvent):
5004
50052008-09-28 David Hyatt <hyatt@apple.com>
5006
hyatt@apple.comaede3de2008-09-28 08:21:09 +00005007 https://bugs.webkit.org/show_bug.cgi?id=21191
5008
5009 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
5010 on ScrollView to be cross-platform.
5011
5012 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
5013 events are now pixel wheel events.
5014
5015 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
5016 (1) Page scrolling has been corrected to be properly detected (on Windows
5017 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
5018 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
5019 you could page scroll horizontally.
5020 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
5021 This caused the scroll amount for page scrolling to be way too large on layers.
5022
5023 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
5024
5025 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
5026 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
5027
5028 Reviewed by Oliver Hunt
5029
5030 * editing/EditorCommand.cpp:
5031 (WebCore::verticalScrollDistance):
5032 * page/EventHandler.cpp:
5033 (WebCore::scrollAndAcceptEvent):
5034 (WebCore::EventHandler::handleWheelEvent):
5035 * platform/PlatformWheelEvent.h:
5036 (WebCore::):
5037 (WebCore::PlatformWheelEvent::pos):
5038 (WebCore::PlatformWheelEvent::globalPos):
5039 (WebCore::PlatformWheelEvent::deltaX):
5040 (WebCore::PlatformWheelEvent::deltaY):
5041 (WebCore::PlatformWheelEvent::granularity):
5042 (WebCore::PlatformWheelEvent::x):
5043 (WebCore::PlatformWheelEvent::globalX):
5044 (WebCore::PlatformWheelEvent::ignore):
5045 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
5046 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
5047 * platform/ScrollView.cpp:
5048 (WebCore::ScrollView::wheelEvent):
5049 * platform/Scrollbar.h:
5050 * platform/gtk/ScrollViewGtk.cpp:
5051 (WebCore::ScrollView::updateScrollbars):
5052 * platform/gtk/WheelEventGtk.cpp:
5053 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
5054 * platform/mac/ScrollViewMac.mm:
5055 * platform/mac/WheelEventMac.mm:
5056 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
5057 * platform/qt/ScrollViewQt.cpp:
5058 (WebCore::ScrollView::updateScrollbars):
5059 * platform/qt/WheelEventQt.cpp:
5060 * platform/win/ScrollViewWin.cpp:
5061 (WebCore::ScrollView::updateScrollbars):
5062 * platform/win/WheelEventWin.cpp:
5063 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
5064 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
5065 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
5066 * platform/wx/ScrollViewWx.cpp:
5067 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
5068 (WebCore::ScrollView::wheelEvent):
5069 * rendering/RenderLayer.cpp:
5070 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
5071
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +000050722008-09-27 Eric Carlson <eric.carlson@apple.com>
5073
5074 Reviewed by Sam Weinig.
5075
5076 fix https://bugs.webkit.org/show_bug.cgi?id=20994
5077 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
5078
5079 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
5080 all unsigned media attributes from string with toUInt() instead of toInt().
5081
5082 * html/HTMLMediaElement.cpp:
5083 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
5084
5085 * html/HTMLVideoElement.cpp:
5086 (WebCore::HTMLVideoElement::videoWidth):
5087 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
5088 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
5089 unsigned value.
5090 (WebCore::HTMLVideoElement::height): Ditto.
5091 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
5092 (WebCore::HTMLVideoElement::setHeight): Ditto.
5093
5094 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
5095
5096 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
5097
timothy@apple.coma8215632008-09-28 04:40:53 +000050982008-09-27 Timothy Hatcher <timothy@apple.com>
5099
timothy@apple.combe91da22008-09-28 04:40:58 +00005100 Fixes an exception when typing a command in the Console.
5101
5102 Reviewed by Oliver Hunt.
5103
5104 * page/inspector/Console.js:
5105 (WebInspector.Console.prototype.addMessage): Null check
5106 this.previosMessage.
5107
51082008-09-27 Timothy Hatcher <timothy@apple.com>
5109
timothy@apple.coma8215632008-09-28 04:40:53 +00005110 Fixes a bug where the Profiles panel sidebar would be empty
5111 after closing and reopening the Web Inspector.
5112
5113 https://bugs.webkit.org/show_bug.cgi?id=21179
5114
5115 Reviewed by Sam Weinig.
5116
5117 * page/inspector/ProfilesPanel.js:
5118 (WebInspector.ProfilesPanel.prototype.reset): Don't call
5119 populateInterface, it is called automatically.
5120 (WebInspector.ProfilesPanel.prototype._populateProfiles):
5121 Return early if the sidebar is already populated.
5122
hyatt@apple.com81664322008-09-28 04:38:21 +000051232008-09-27 Dave Hyatt <hyatt@apple.com>
5124
5125 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
5126 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
5127 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
5128 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
5129
5130 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
5131 (which should never have landed in the first place).
5132
5133 Reviewed by Tim Hatcher, Sam Weinig
5134
5135 * platform/win/ScrollViewWin.cpp:
5136 (WebCore::adjustDeltaForPageScrollMode):
5137 (WebCore::ScrollView::updateScrollbars):
5138 (WebCore::ScrollView::wheelEvent):
5139
hyatt@apple.com880cbb12008-09-28 03:51:41 +000051402008-09-27 David Hyatt <hyatt@apple.com>
5141
5142 Make the scrollbarUnderMouse method cross-platform.
5143
5144 Reviewed by Sam Weinig
5145
5146 * platform/ScrollView.cpp:
5147 (WebCore::ScrollView::scrollbarUnderMouse):
5148 * platform/gtk/ScrollViewGtk.cpp:
5149 * platform/mac/ScrollViewMac.mm:
5150 * platform/qt/ScrollViewQt.cpp:
5151 * platform/win/ScrollViewWin.cpp:
5152 * platform/wx/ScrollViewWx.cpp:
5153
zecke@webkit.org7bf12c62008-09-28 01:50:42 +000051542008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
5155
5156 Gtk+ build fix.
5157
5158 * platform/gtk/ScrollViewGtk.cpp:
5159 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5160
zecke@webkit.org202af282008-09-28 01:49:45 +000051612008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
5162
5163 Reviewed by Holger Freyther.
5164
5165 https://bugs.webkit.org/show_bug.cgi?id=20287
5166 [Gtk] disable plugins for gtk/directfb target
5167
5168 Introduce WTF_PLATFORM_X11 for X11 builds.
5169 Also use target-specific packages when building the port
5170
5171 * platform/gtk/PlatformScreenGtk.cpp:
5172 * plugins/gtk/PluginViewGtk.cpp:
5173 (WebCore::PluginView::updatePluginWidget):
5174 (WebCore::PluginView::getValueStatic):
5175 (WebCore::PluginView::getValue):
5176 (WebCore::PluginView::init):
5177
hyatt@apple.come6f04e52008-09-28 01:07:05 +000051782008-09-27 David Hyatt <hyatt@apple.com>
5179
5180 https://bugs.webkit.org/show_bug.cgi?id=21188
5181
5182 Make scrollbar suppression and resizer avoidance cross-platform.
5183
5184 Reviewed by Anders
5185
5186 * loader/FrameLoader.cpp:
5187 (WebCore::FrameLoader::transitionToCommitted):
5188 * page/FrameView.cpp:
5189 (WebCore::FrameView::resetScrollbars):
5190 (WebCore::FrameView::clear):
5191 (WebCore::FrameView::layout):
5192 (WebCore::FrameView::restoreScrollbar):
5193 (WebCore::FrameView::windowResizerRect):
5194 * page/FrameView.h:
5195 * platform/ScrollView.cpp:
5196 (WebCore::ScrollView::init):
5197 (WebCore::ScrollView::resizerOverlapsContent):
5198 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
5199 (WebCore::ScrollView::setParent):
5200 (WebCore::ScrollView::setScrollbarsSuppressed):
5201 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
5202 * platform/ScrollView.h:
5203 (WebCore::ScrollView::scrollbarsSuppressed):
5204 (WebCore::ScrollView::windowResizerRect):
5205 * platform/Scrollbar.cpp:
5206 (WebCore::Scrollbar::setFrameRect):
5207 (WebCore::Scrollbar::setParent):
5208 * platform/gtk/ScrollViewGtk.cpp:
5209 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5210 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
5211 (WebCore::ScrollView::updateScrollbars):
5212 (WebCore::ScrollView::paint):
5213 * platform/mac/ScrollViewMac.mm:
5214 (WebCore::ScrollView::ScrollView):
5215 (WebCore::ScrollView::~ScrollView):
5216 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
5217 (WebCore::ScrollView::setScrollPosition):
5218 * platform/qt/ScrollViewQt.cpp:
5219 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5220 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5221 (WebCore::ScrollView::frameRectsChanged):
5222 (WebCore::ScrollView::updateScrollbars):
5223 (WebCore::ScrollView::paint):
5224 * platform/win/ScrollViewWin.cpp:
5225 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5226 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5227 (WebCore::ScrollView::updateScrollbars):
5228 (WebCore::ScrollView::paint):
5229 * platform/wx/ScrollViewWx.cpp:
5230 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5231
zecke@webkit.org0034c712008-09-27 23:46:50 +000052322008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
5233
5234 Rubber-stamped by Anders Carlsson.
5235
5236 Compile fix.
5237
5238 * plugins/PluginView.cpp:
5239 (WebCore::PluginView::load):
5240
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +000052412008-09-27 Mark Rowe <mrowe@apple.com>
5242
5243 Rubber-stamped by Sam Weinig.
5244
5245 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
5246 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
5247
5248 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
5249
5250 * loader/CachedResource.cpp:
5251 (WebCore::CachedResource::~CachedResource):
5252
zecke@webkit.org47132852008-09-27 22:45:21 +000052532008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
5254
5255 Reviewed by Simon Hausmann.
5256
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +00005257 [qt] Use QImageReader to figure out which image formats are supported
5258 - Qt can have many different plugins for different image formats. Instead
5259 of checking only for a few in WebCore use Qt to determine if this data
5260 can be treated as an image.
5261
5262 * platform/graphics/qt/ImageSourceQt.cpp:
5263 (WebCore::canHandleImage):
5264 (WebCore::createDecoder):
5265
52662008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
5267
5268
zecke@webkit.org47132852008-09-27 22:45:21 +00005269 [qt] Clean the pattern code
5270 - Use save/restore on the painter after manipulating the
5271 pen/brush
5272 - Make the context and object null checking consistent. CG is using
5273 the object unconditionally so the Qt webkit platform can do the
5274 same.
5275 - Move code below the early exit. Only use the m_ownerElement before
5276 the early exit as the CG code is doing it.
5277
5278 * svg/graphics/SVGPaintServerPattern.h:
5279 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
5280 (WebCore::SVGPaintServerPattern::setup):
5281 (WebCore::SVGPaintServerPattern::teardown):
5282
timothy@apple.com345f1af2008-09-27 22:18:35 +000052832008-09-27 Keishi Hattori <casey.hattori@gmail.com>
5284
5285 Added support for console.trace.
5286
5287 https://bugs.webkit.org/show_bug.cgi?id=19157
5288
5289 Reviewed by Kevin McCullough and Tim Hatcher.
5290
5291 * bindings/js/JSConsoleCustom.cpp:
5292 (WebCore::JSConsole::trace):
5293 * page/Console.cpp:
5294 (WebCore::Console::trace): Calls Machine::retrieveCaller to
5295 get a stack trace.
5296 * page/Console.h:
5297 (WebCore::): Added TraceMessageLevel.
5298 * page/Console.idl: Added console.trace.
5299 * page/inspector/Console.js:
5300 (ConsoleMessage): Added case for TraceMessageLevel.
5301
andersca@apple.com6b8e0a22008-09-27 21:28:40 +000053022008-09-27 Anders Carlsson <andersca@apple.com>
5303
5304 Reviewed by Sam Weinig.
5305
5306 https://bugs.webkit.org/show_bug.cgi?id=21178
5307 <rdar://problem/6248651>
5308
5309 Check if the plug-in is allowed to load the resource. This matches Firefox.
5310
5311 Test: http/tests/plugins/local-geturl-from-remote.html
5312
5313 * plugins/PluginView.cpp:
5314 (WebCore::PluginView::load):
5315
zecke@webkit.org91ee65a2008-09-27 21:06:35 +000053162008-09-22 Dirk Schulze <vbs85@gmx.de>
5317
5318 Reviewed by Eric Seidel.
5319
5320 Added SVG pattern support to Qt.
5321
5322 [Qt] SVG patterns are missing
5323 https://bugs.webkit.org/show_bug.cgi?id=20973
5324
5325 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
5326 (WebCore::SVGPaintServerPattern::setup):
5327
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +000053282008-09-27 Keishi Hattori <casey.hattori@gmail.com>
5329
5330 Fixed a bug in the JS syntax highlighter with multiple line tokens.
5331
5332 https://bugs.webkit.org/show_bug.cgi?id=21171
5333
5334 Reviewed by Tim Hatcher.
5335
5336 * page/inspector/SourceFrame.js:
5337 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
5338
timothy@apple.com5b4b3d02008-09-27 20:18:03 +000053392008-09-27 Timothy Hatcher <timothy@apple.com>
5340
5341 Change searching in the Profiles panel to not match the
5342 Self and Total columns when there are no units. The only
5343 column that is matched for unitless number searches is
5344 now the Calls column.
5345
5346 https://bugs.webkit.org/show_bug.cgi?id=21169
5347
5348 Reviewed by Sam Weinig.
5349
5350 * page/inspector/ProfileView.js:
5351 (WebInspector.ProfileView.prototype.performSearch):
5352
hyatt@apple.com0fd13952008-09-27 19:56:56 +000053532008-09-27 David Hyatt <hyatt@apple.com>
5354
5355 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
5356
5357 Reviewed by Sam Weinig
5358
5359 * platform/ScrollView.h:
5360 * platform/Widget.h:
5361 (WebCore::Widget::boundsRect):
5362 (WebCore::Widget::invalidate):
5363 (WebCore::Widget::frameRectsChanged):
5364 * platform/gtk/ScrollViewGtk.cpp:
5365 (WebCore::ScrollViewScrollbar::frameRectsChanged):
5366 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
5367 (WebCore::ScrollView::setFrameRect):
5368 (WebCore::ScrollView::updateScrollbars):
5369 (WebCore::ScrollView::frameRectsChanged):
5370 * platform/gtk/ScrollbarGtk.cpp:
5371 (ScrollbarGtk::setFrameRect):
5372 (ScrollbarGtk::frameRectsChanged):
5373 * platform/gtk/ScrollbarGtk.h:
5374 * platform/gtk/WidgetGtk.cpp:
5375 * platform/qt/ScrollViewQt.cpp:
5376 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
5377 (WebCore::ScrollView::setFrameRect):
5378 (WebCore::ScrollView::frameRectsChanged):
5379 (WebCore::ScrollView::updateScrollbars):
5380 * platform/win/ScrollViewWin.cpp:
5381 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
5382 (WebCore::ScrollView::setFrameRect):
5383 (WebCore::ScrollView::updateScrollbars):
5384 (WebCore::ScrollView::frameRectsChanged):
5385 * plugins/PluginView.cpp:
5386 (WebCore::PluginView::frameRectsChanged):
5387 * plugins/PluginView.h:
5388
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000053892008-09-27 Simon Hausmann <hausmann@webkit.org>
5390
hausmann@webkit.orge49722f2008-09-27 19:49:01 +00005391 Refix the previous build fix to compile on non-Qt platforms, too.
5392
5393 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
5394 WebCore to generate the PrototypeTable in the WebCore namespace
5395 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
5396 table remains in the Webcore namespace
5397 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
5398
53992008-09-27 Simon Hausmann <hausmann@webkit.org>
5400
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +00005401 Fix compilation with gcc 4.3 (probably > 4.0)
5402
5403 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
5404 get/put functions inside the WebCore namespace.
5405 * bindings/js/JSEventTargetBase.cpp: Ditto.
5406 * bindings/js/JSEventTargetNode.cpp: Ditto.
5407 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
5408 * bindings/js/JSEventTargetBase.h: Forward declare
5409 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
5410 defines it in the JSC namespace.
5411 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
5412 prefix for PrototypeTable symbol.
5413
hyatt@apple.come7c12342008-09-27 07:43:38 +000054142008-09-27 David Hyatt <hyatt@apple.com>
5415
hyatt@apple.com53634ac2008-09-27 08:01:26 +00005416 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
5417
5418 Reviewed by Dan Bernstein
5419
5420 * WebCore.base.exp:
5421 * page/FrameView.cpp:
5422 (WebCore::FrameView::FrameView):
5423 (WebCore::FrameView::updateControlTints):
5424 * platform/ScrollView.h:
5425 * platform/Scrollbar.cpp:
5426 (WebCore::Scrollbar::Scrollbar):
5427 (WebCore::Scrollbar::paint):
5428 (WebCore::Scrollbar::setFrameRect):
5429 * platform/Scrollbar.h:
5430 * platform/ScrollbarThemeComposite.cpp:
5431 (WebCore::ScrollbarThemeComposite::paint):
5432 * platform/Widget.h:
5433 (WebCore::Widget::x):
5434 (WebCore::Widget::y):
5435 (WebCore::Widget::width):
5436 (WebCore::Widget::height):
5437 (WebCore::Widget::size):
5438 (WebCore::Widget::pos):
5439 (WebCore::Widget::resize):
5440 (WebCore::Widget::move):
5441 * platform/gtk/ScrollViewGtk.cpp:
5442 (WebCore::ScrollViewScrollbar::geometryChanged):
5443 (WebCore::ScrollView::update):
5444 (WebCore::ScrollView::setFrameRect):
5445 (WebCore::ScrollView::updateScrollbars):
5446 (WebCore::ScrollView::scrollbarUnderMouse):
5447 (WebCore::ScrollView::paint):
5448 * platform/gtk/ScrollbarGtk.cpp:
5449 (ScrollbarGtk::setFrameRect):
5450 (ScrollbarGtk::geometryChanged):
5451 * platform/gtk/ScrollbarGtk.h:
5452 * platform/gtk/WidgetGtk.cpp:
5453 (WebCore::Widget::frameRect):
5454 (WebCore::Widget::setFrameRect):
5455 * platform/mac/ScrollbarThemeMac.mm:
5456 (WebCore::ScrollbarThemeMac::trackRect):
5457 (WebCore::ScrollbarThemeMac::paint):
5458 * platform/mac/WidgetMac.mm:
5459 (WebCore::Widget::frameRect):
5460 (WebCore::Widget::setFrameRect):
5461 * platform/qt/ScrollViewQt.cpp:
5462 (WebCore::ScrollView::setFrameRect):
5463 (WebCore::ScrollView::updateScrollbars):
5464 (WebCore::ScrollView::scrollbarUnderMouse):
5465 (WebCore::ScrollView::paint):
5466 * platform/qt/ScrollbarThemeQt.cpp:
5467 (WebCore::styleOptionSlider):
5468 * platform/qt/WidgetQt.cpp:
5469 (WebCore::Widget::frameRect):
5470 (WebCore::Widget::setFrameRect):
5471 * platform/win/PopupMenuWin.cpp:
5472 (WebCore::PopupMenu::invalidateItem):
5473 (WebCore::PopupMenu::valueChanged):
5474 (WebCore::PopupWndProc):
5475 * platform/win/ScrollViewWin.cpp:
5476 (WebCore::ScrollView::setFrameRect):
5477 (WebCore::ScrollView::updateScrollbars):
5478 (WebCore::ScrollView::scrollbarUnderMouse):
5479 (WebCore::ScrollView::paint):
5480 * platform/win/ScrollbarThemeSafari.cpp:
5481 (WebCore::ScrollbarThemeSafari::trackRect):
5482 * platform/win/WidgetWin.cpp:
5483 (WebCore::Widget::frameRect):
5484 (WebCore::Widget::setFrameRect):
5485 * platform/wx/WidgetWx.cpp:
5486 (WebCore::Widget::frameRect):
5487 (WebCore::Widget::setFrameRect):
5488 * plugins/PluginView.cpp:
5489 (WebCore::PluginView::setFrameRect):
5490 * plugins/PluginView.h:
5491 * plugins/gtk/PluginViewGtk.cpp:
5492 (WebCore::PluginView::updatePluginWidget):
5493 (WebCore::PluginView::paint):
5494 (WebCore::PluginView::init):
5495 * plugins/qt/PluginViewQt.cpp:
5496 (WebCore::PluginView::updatePluginWidget):
5497 (WebCore::PluginView::init):
5498 * plugins/win/PluginViewWin.cpp:
5499 (WebCore::PluginView::updatePluginWidget):
5500 (WebCore::PluginView::paintMissingPluginIcon):
5501 (WebCore::PluginView::paint):
5502 (WebCore::PluginView::init):
5503 * rendering/RenderLayer.cpp:
5504 (WebCore::RenderLayer::positionOverflowControls):
5505 * rendering/RenderListBox.cpp:
5506 (WebCore::RenderListBox::paintScrollbar):
5507 * rendering/RenderPart.cpp:
5508 (WebCore::RenderPart::updateWidgetPosition):
5509 * rendering/RenderWidget.cpp:
5510 (WebCore::RenderWidget::setWidgetGeometry):
5511 (WebCore::RenderWidget::updateWidgetPosition):
5512
55132008-09-27 David Hyatt <hyatt@apple.com>
5514
hyatt@apple.come7c12342008-09-27 07:43:38 +00005515 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
5516
5517 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
5518 access an actual member variable.
5519
5520 Reviewed by Dan Bernstein
5521
5522 * page/FocusController.cpp:
5523 (WebCore::FocusController::setFocusedFrame):
5524
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +000055252008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
5526
5527 Attempt to fix QT Build. Not reviewed.
5528
5529 * WebCore.pro: add -n WebCore parameter to create_hash_table
5530
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +000055312008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
5532
5533 Reviewed by Eric Seidel.
5534
5535 http://bugs.webkit.org/show_bug.cgi?id=18905
5536 [GTK] Fix build with older pango (1.14.8)
5537
5538 * platform/graphics/gtk/FontGtk.cpp:
5539 * platform/gtk/Language.cpp:
5540 (_pango_get_lc_ctype):
5541 (pango_language_get_default):
5542
hyatt@apple.com0315e532008-09-27 06:23:58 +000055432008-09-26 David Hyatt <hyatt@apple.com>
5544
5545 https://bugs.webkit.org/show_bug.cgi?id=21168
5546
5547 Make contentsToWindow/windowToContents cross-platform.
5548
5549 Reviewed by Oliver Hunt
5550
5551 * platform/ScrollView.cpp:
5552 (WebCore::ScrollView::windowToContents):
5553 (WebCore::ScrollView::contentsToWindow):
5554 * platform/ScrollView.h:
5555 * platform/gtk/ScrollViewGtk.cpp:
5556 * platform/mac/ScrollViewMac.mm:
5557 * platform/qt/ScrollViewQt.cpp:
5558 * platform/win/ScrollViewWin.cpp:
5559 * platform/wx/ScrollViewWx.cpp:
5560
weinig@apple.com0e6acf62008-09-27 06:15:45 +000055612008-09-26 Sam Weinig <sam@webkit.org>
5562
5563 GTK build fix.
5564
5565 * GNUmakefile.am:
5566
hyatt@apple.comb37db692008-09-27 04:43:00 +000055672008-09-26 David Hyatt <hyatt@apple.com>
5568
hyatt@apple.com8d329412008-09-27 05:26:38 +00005569 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
5570 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
5571 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
5572
5573 Reviewed by Oliver Hunt
5574
5575 * page/FrameView.cpp:
5576 (WebCore::FrameView::repaintContentRectangle):
5577 * page/FrameView.h:
5578 * platform/ScrollView.h:
5579 * platform/gtk/ScrollViewGtk.cpp:
5580 (WebCore::ScrollView::isOffscreen):
5581 * platform/mac/ScrollViewMac.mm:
5582 (WebCore::ScrollView::updateContents):
5583 (WebCore::ScrollView::isOffscreen):
5584 * platform/qt/ScrollViewQt.cpp:
5585 (WebCore::ScrollView::isOffscreen):
5586 * platform/win/ScrollViewWin.cpp:
5587 (WebCore::ScrollView::isOffscreen):
5588 * platform/wx/ScrollViewWx.cpp:
5589 (WebCore::ScrollView::isOffscreen):
5590 * rendering/RenderObject.cpp:
5591 (WebCore::RenderObject::willRenderImage):
5592
55932008-09-26 David Hyatt <hyatt@apple.com>
5594
hyatt@apple.comb37db692008-09-27 04:43:00 +00005595 https://bugs.webkit.org/show_bug.cgi?id=21164
5596
5597 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
5598
5599 Reviewed by Sam Weinig
5600
5601 * WebCore.base.exp:
5602 * page/FrameView.cpp:
5603 (WebCore::FrameView::setAllowsScrolling):
5604 * page/FrameView.h:
5605 * platform/ScrollView.cpp:
5606 (WebCore::ScrollView::setAllowsScrolling):
5607 * platform/ScrollView.h:
5608 (WebCore::ScrollView::allowsScrolling):
5609 * platform/win/ScrollViewWin.cpp:
5610 (WebCore::ScrollView::wheelEvent):
5611
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +000056122008-09-26 Kevin Ollivier <kevino@theolliviers.com>
5613
5614 wx build fixes after Widget/ScrollView changes.
5615
5616 * platform/wx/PopupMenuWx.cpp:
5617 (WebCore::PopupMenu::show):
5618 * platform/wx/ScrollViewWx.cpp:
5619 (WebCore::ScrollView::platformSetContentsSize):
5620 (WebCore::ScrollView::platformSetScrollbarModes):
5621 (WebCore::ScrollView::wheelEvent):
5622 * platform/wx/TemporaryLinkStubs.cpp:
5623 * platform/wx/WidgetWx.cpp:
5624 (WebCore::Widget::containingWindow):
5625
timothy@apple.com9b486082008-09-27 02:44:05 +000056262008-09-26 Timothy Hatcher <timothy@apple.com>
5627
5628 Allow searching for paths by always performing the
5629 three search methods in the Elements panel and not
5630 assume a search with a "/" is a XPath query.
5631
5632 https://bugs.webkit.org/show_bug.cgi?id=21159
5633
5634 Reviewed by Geoff Garen.
5635
5636 * page/inspector/ElementsPanel.js:
5637 (WebInspector.ElementsPanel.prototype.performSearch):
5638
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +000056392008-09-26 Sam Weinig <sam@webkit.org>
5640
5641 Reviewed by Darin Adler.
5642
5643 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
5644 Speedup static property get/put
5645
5646 * DerivedSources.make:
5647 * GNUmakefile.am:
5648 * WebCore.pro:
5649 * WebCore.vcproj/WebCore.vcproj:
5650 * WebCore.xcodeproj/project.pbxproj:
5651 * bindings/js/JSDOMBinding.cpp:
5652 * bindings/js/JSDOMBinding.h:
5653 * bindings/js/JSDOMWindowBase.cpp:
5654 (WebCore::getDOMConstructor):
5655 (WebCore::jsDOMWindowBaseCrypto):
5656 (WebCore::jsDOMWindowBaseEvent):
5657 (WebCore::jsDOMWindowBaseImage):
5658 (WebCore::jsDOMWindowBaseMessageChannel):
5659 (WebCore::jsDOMWindowBaseOption):
5660 (WebCore::jsDOMWindowBaseXMLHttpRequest):
5661 (WebCore::jsDOMWindowBaseAudio):
5662 (WebCore::jsDOMWindowBaseXSLTProcessor):
5663 (WebCore::jsDOMWindowBaseOnabort):
5664 (WebCore::jsDOMWindowBaseOnblur):
5665 (WebCore::jsDOMWindowBaseOnchange):
5666 (WebCore::jsDOMWindowBaseOnclick):
5667 (WebCore::jsDOMWindowBaseOndblclick):
5668 (WebCore::jsDOMWindowBaseOnerror):
5669 (WebCore::jsDOMWindowBaseOnfocus):
5670 (WebCore::jsDOMWindowBaseOnkeydown):
5671 (WebCore::jsDOMWindowBaseOnkeypress):
5672 (WebCore::jsDOMWindowBaseOnkeyup):
5673 (WebCore::jsDOMWindowBaseOnload):
5674 (WebCore::jsDOMWindowBaseOnmousedown):
5675 (WebCore::jsDOMWindowBaseOnmousemove):
5676 (WebCore::jsDOMWindowBaseOnmouseout):
5677 (WebCore::jsDOMWindowBaseOnmouseover):
5678 (WebCore::jsDOMWindowBaseOnmouseup):
5679 (WebCore::jsDOMWindowBaseOnMouseWheel):
5680 (WebCore::jsDOMWindowBaseOnreset):
5681 (WebCore::jsDOMWindowBaseOnresize):
5682 (WebCore::jsDOMWindowBaseOnscroll):
5683 (WebCore::jsDOMWindowBaseOnsearch):
5684 (WebCore::jsDOMWindowBaseOnselect):
5685 (WebCore::jsDOMWindowBaseOnsubmit):
5686 (WebCore::jsDOMWindowBaseOnbeforeunload):
5687 (WebCore::jsDOMWindowBaseOnunload):
5688 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
5689 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
5690 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
5691 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
5692 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
5693 (WebCore::JSDOMWindowBase::put):
5694 (WebCore::setJSDOMWindowBaseOnabort):
5695 (WebCore::setJSDOMWindowBaseOnblur):
5696 (WebCore::setJSDOMWindowBaseOnchange):
5697 (WebCore::setJSDOMWindowBaseOnclick):
5698 (WebCore::setJSDOMWindowBaseOndblclick):
5699 (WebCore::setJSDOMWindowBaseOnerror):
5700 (WebCore::setJSDOMWindowBaseOnfocus):
5701 (WebCore::setJSDOMWindowBaseOnkeydown):
5702 (WebCore::setJSDOMWindowBaseOnkeypress):
5703 (WebCore::setJSDOMWindowBaseOnkeyup):
5704 (WebCore::setJSDOMWindowBaseOnload):
5705 (WebCore::setJSDOMWindowBaseOnmousedown):
5706 (WebCore::setJSDOMWindowBaseOnmousemove):
5707 (WebCore::setJSDOMWindowBaseOnmouseout):
5708 (WebCore::setJSDOMWindowBaseOnmouseover):
5709 (WebCore::setJSDOMWindowBaseOnmouseup):
5710 (WebCore::setJSDOMWindowBaseOnMouseWheel):
5711 (WebCore::setJSDOMWindowBaseOnreset):
5712 (WebCore::setJSDOMWindowBaseOnresize):
5713 (WebCore::setJSDOMWindowBaseOnscroll):
5714 (WebCore::setJSDOMWindowBaseOnsearch):
5715 (WebCore::setJSDOMWindowBaseOnselect):
5716 (WebCore::setJSDOMWindowBaseOnsubmit):
5717 (WebCore::setJSDOMWindowBaseOnbeforeunload):
5718 (WebCore::setJSDOMWindowBaseOnunload):
5719 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
5720 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
5721 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
5722 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
5723 (WebCore::setJSDOMWindowBaseEvent):
5724 (WebCore::setJSDOMWindowBaseAudio):
5725 (WebCore::setJSDOMWindowBaseImage):
5726 (WebCore::setJSDOMWindowBaseMessageChannel):
5727 (WebCore::setJSDOMWindowBaseOption):
5728 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
5729 (WebCore::setJSDOMWindowBaseXSLTProcessor):
5730 * bindings/js/JSDOMWindowBase.h:
5731 * bindings/js/JSDOMWindowCustom.cpp:
5732 (WebCore::nonCachingStaticCloseFunctionGetter):
5733 (WebCore::nonCachingStaticBlurFunctionGetter):
5734 (WebCore::nonCachingStaticFocusFunctionGetter):
5735 (WebCore::nonCachingStaticPostMessageFunctionGetter):
5736 * bindings/js/JSDOMWindowCustom.h:
5737 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
5738 * bindings/js/JSEventTargetBase.cpp:
5739 * bindings/js/JSEventTargetBase.h:
5740 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
5741 (WebCore::JSEventTargetBasePrototype::classInfo):
5742 * bindings/js/JSEventTargetNode.cpp:
5743 (WebCore::):
5744 (WebCore::JSEventTargetNode::getOwnPropertySlot):
5745 (WebCore::JSEventTargetNode::put):
5746 * bindings/js/JSEventTargetNode.h:
5747 (WebCore::JSEventTargetNode::classInfo):
5748 (WebCore::JSEventTargetNode::prototypeClassName):
5749 * bindings/js/JSEventTargetSVGElementInstance.cpp:
5750 (WebCore::):
5751 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
5752 (WebCore::JSEventTargetSVGElementInstance::put):
5753 * bindings/js/JSEventTargetSVGElementInstance.h:
5754 (WebCore::JSEventTargetSVGElementInstance::classInfo):
5755 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
5756 * bindings/js/JSHTMLInputElementCustom.cpp:
5757 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
5758 * bindings/js/JSHistoryCustom.cpp:
5759 (WebCore::nonCachingStaticBackFunctionGetter):
5760 (WebCore::nonCachingStaticForwardFunctionGetter):
5761 (WebCore::nonCachingStaticGoFunctionGetter):
5762 (WebCore::JSHistory::customGetOwnPropertySlot):
5763 * bindings/js/JSLocationCustom.cpp:
5764 (WebCore::nonCachingStaticReplaceFunctionGetter):
5765 (WebCore::nonCachingStaticReloadFunctionGetter):
5766 (WebCore::nonCachingStaticAssignFunctionGetter):
5767 (WebCore::JSLocation::customGetOwnPropertySlot):
5768 (WebCore::JSLocation::customPut):
5769 * bindings/scripts/CodeGeneratorJS.pm:
5770
hyatt@apple.com01adde82008-09-26 20:49:34 +000057712008-09-26 David Hyatt <hyatt@apple.com>
5772
5773 https://bugs.webkit.org/show_bug.cgi?id=21149
5774
5775 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
5776 Eliminate the unused isScrollable() method.
5777
5778 Reviewed by Sam Weinig
5779
5780 * WebCore.base.exp:
5781 * page/FrameView.cpp:
5782 (WebCore::FrameView::resetScrollbars):
5783 (WebCore::FrameView::initScrollbars):
5784 (WebCore::FrameView::layout):
5785 * page/FrameView.h:
5786 * page/mac/WebCoreFrameView.h:
5787 * platform/ScrollView.cpp:
5788 (WebCore::ScrollView::init):
5789 (WebCore::ScrollView::setScrollbarModes):
5790 (WebCore::ScrollView::scrollbarModes):
5791 (WebCore::ScrollView::platformSetScrollbarModes):
5792 (WebCore::ScrollView::platformScrollbarModes):
5793 * platform/ScrollView.h:
5794 (WebCore::ScrollView::horizontalScrollbar):
5795 (WebCore::ScrollView::verticalScrollbar):
5796 (WebCore::ScrollView::isScrollViewScrollbar):
5797 (WebCore::ScrollView::setHorizontalScrollbarMode):
5798 (WebCore::ScrollView::setVerticalScrollbarMode):
5799 (WebCore::ScrollView::horizontalScrollbarMode):
5800 (WebCore::ScrollView::verticalScrollbarMode):
5801 (WebCore::ScrollView::convertSelfToChild):
5802 * platform/gtk/ScrollViewGtk.cpp:
5803 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5804 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
5805 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
5806 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5807 (WebCore::ScrollView::updateScrollbars):
5808 (WebCore::ScrollView::scrollbarUnderMouse):
5809 (WebCore::ScrollView::isScrollViewScrollbar):
5810 (WebCore::ScrollView::paint):
5811 (WebCore::ScrollView::scroll):
5812 * platform/mac/ScrollViewMac.mm:
5813 (WebCore::ScrollView::platformSetScrollbarModes):
5814 (WebCore::ScrollView::platformScrollbarModes):
5815 * platform/qt/ScrollViewQt.cpp:
5816 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
5817 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
5818 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5819 (WebCore::ScrollView::horizontalScrollbar):
5820 (WebCore::ScrollView::verticalScrollbar):
5821 (WebCore::ScrollView::invalidateScrollbars):
5822 (WebCore::ScrollView::updateScrollbars):
5823 (WebCore::ScrollView::scrollbarUnderMouse):
5824 (WebCore::ScrollView::paint):
5825 (WebCore::ScrollView::scroll):
5826 * platform/win/ScrollViewWin.cpp:
5827 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
5828 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
5829 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
5830 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5831 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
5832 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
5833 (WebCore::ScrollView::suppressScrollbars):
5834 (WebCore::ScrollView::updateScrollbars):
5835 (WebCore::ScrollView::scrollbarUnderMouse):
5836 (WebCore::ScrollView::paint):
5837 (WebCore::ScrollView::scroll):
5838 * platform/wx/ScrollViewWx.cpp:
5839 (WebCore::ScrollView::platformSetScrollbarModes):
5840 (WebCore::ScrollView::platformScrollbarModes):
5841
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +000058422008-09-26 David Kilzer <ddkilzer@apple.com>
5843
5844 Fix Mac build with XPATH and XSLT disabled
5845
5846 Reviewed by Alexey.
5847
5848 * bindings/objc/DOMUtility.mm:
5849 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
5850 * dom/XMLTokenizerLibxml2.cpp:
5851 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
5852 prevent an unused code warning.
5853
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +000058542008-09-26 Kevin McCullough <kmccullough@apple.com>
5855
5856 Rubber stamped by Tim Hatcher.
5857
5858 Bug 21098: Crashing under Console::log
5859 - Speculative ASSERT to help find the problem.
5860
5861 * page/InspectorController.cpp:
5862 (WebCore::ConsoleMessage::isEqual):
5863
zecke@webkit.org00c54bb2008-09-26 17:56:08 +000058642008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
5865
5866 [gtk+] Build fix for the latest ScrollView changes
5867
5868 * platform/gtk/ScrollViewGtk.cpp:
5869 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
5870 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
5871
timothy@apple.comf49116e2008-09-26 17:27:52 +000058722008-09-26 Timothy Hatcher <timothy@apple.com>
5873
5874 Fixes a bug where the console message repeat count would be wrong
5875 when typing commands in between repeated messages.
5876
5877 https://bugs.webkit.org/show_bug.cgi?id=21145
5878
5879 Reviewed by Kevin McCullough.
5880
5881 * page/InspectorController.cpp:
5882 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
5883 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
5884 * page/inspector/Console.js:
5885 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
5886 for each message as totalRepeatCount, since we now modify repeatCount to mean
5887 repeats since previous console command. If repeatCountBeforeCommand is a number,
5888 subtract that value from the repeatCount.
5889 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
5890 and commandSincePreviousMessage properties.
5891
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +000058922008-09-26 Eric Carlson <eric.carlson@apple.com>
5893
5894 Reviewed by Antti
5895
5896 https://bugs.webkit.org/show_bug.cgi?id=21116
5897 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
5898 back to page with <video>, then closing tab
5899
5900 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
5901 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
5902 deletion.
5903
5904 * dom/Document.cpp:
5905 (WebCore::Document::documentWillBecomeInactive):
5906 (WebCore::Document::documentDidBecomeActive):
5907 (WebCore::Document::registerForDocumentActivationCallbacks):
5908 (WebCore::Document::unregisterForDocumentActivationCallbacks):
5909 * dom/Document.h:
5910 * dom/Element.h:
5911 (WebCore::Element::documentWillBecomeInactive):
5912 (WebCore::Element::documentDidBecomeActive):
5913 * history/CachedPage.cpp:
5914 (WebCore::CachedPage::CachedPage):
5915 * html/HTMLFormElement.cpp:
5916 (WebCore::HTMLFormElement::~HTMLFormElement):
5917 (WebCore::HTMLFormElement::parseMappedAttribute):
5918 (WebCore::HTMLFormElement::documentDidBecomeActive):
5919 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
5920 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
5921 * html/HTMLFormElement.h:
5922 * html/HTMLInputElement.cpp:
5923 (WebCore::HTMLInputElement::~HTMLInputElement):
5924 (WebCore::HTMLInputElement::setInputType):
5925 (WebCore::HTMLInputElement::parseMappedAttribute):
5926 (WebCore::HTMLInputElement::needsActivationCallback):
5927 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
5928 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
5929 (WebCore::HTMLInputElement::documentDidBecomeActive):
5930 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
5931 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
5932 * html/HTMLInputElement.h:
5933 * html/HTMLMediaElement.cpp:
5934 (WebCore::HTMLMediaElement::HTMLMediaElement):
5935 (WebCore::HTMLMediaElement::~HTMLMediaElement):
5936 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
5937 (WebCore::HTMLMediaElement::documentDidBecomeActive):
5938 * html/HTMLMediaElement.h:
5939 (WebCore::HTMLMediaElement::inActiveDocument):
5940 * loader/FrameLoader.cpp:
5941 (WebCore::FrameLoader::opened):
5942 * page/Page.cpp:
5943 (WebCore::Page::~Page):
5944 * rendering/RenderMedia.cpp:
5945 (WebCore::RenderMedia::updateControls):
5946 * rendering/RenderVideo.cpp:
5947 (WebCore::RenderVideo::updatePlayer):
5948 * svg/SVGSVGElement.cpp:
5949 (WebCore::SVGSVGElement::SVGSVGElement):
5950 (WebCore::SVGSVGElement::~SVGSVGElement):
5951 (WebCore::SVGSVGElement::documentWillBecomeInactive):
5952 (WebCore::SVGSVGElement::documentDidBecomeActive):
5953 * svg/SVGSVGElement.h:
5954
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +000059552008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
5956
5957 Reviewed by Simon
5958
5959 Fix the build inside Qt, don't create faulty prl files for now.
5960
5961 * WebCore.pro:
5962
hausmann@webkit.org809f4242008-09-26 13:17:31 +000059632008-09-26 Simon Hausmann <hausmann@webkit.org>
5964
5965 Fix compilation on Qt/Windows
5966
5967 * Add WebCore/ to the include path so that config.h is found that enables JSC
5968 * Link against winmm for the multimedia timer functions
5969 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
5970 subdirectory
5971 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
5972 but set m_window directly as setPlatformWidget takes a QWidget*.
5973
5974 * WebCore.pro:
5975 * platform/win/SystemTimeWin.cpp:
5976 * plugins/win/PluginViewWin.cpp:
5977 (WebCore::PluginView::init):
5978
oliver@apple.com38feb8e2008-09-26 11:53:40 +000059792008-09-26 Oliver Hunt <oliver@apple.com>
5980
5981 Reviewed by Maciej Stachowiak.
5982
5983 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
5984 <https://bugs.webkit.org/show_bug.cgi?id=21054>
5985
5986 This performance regression is actually just a symptom of a correctness
5987 bug. The constructor objects for a number of properties that have security
5988 checks on access were returning new objects each time. The most obvious
5989 symptom of this bug is that window.Image != window.Image, etc.
5990
5991 The solution to this is to make sure we cache these constructors
5992 in the same way as all the other DOM constructors. To achieve this
5993 without causing any refcount cycles it is necessary to replace the
5994 refcounted document pointer in the Image, MessageChannel, Option,
5995 XMLHttpRequest, and Audio constructor objects with a reference to
5996 the document's JS wrapper.
5997
5998 Tests: fast/dom/constructors-cached-navigate.html
5999 fast/dom/constructors-cached.html
6000
6001 * WebCore.xcodeproj/project.pbxproj:
6002 * bindings/js/JSAudioConstructor.cpp:
6003 (WebCore::JSAudioConstructor::mark):
6004 * bindings/js/JSAudioConstructor.h:
6005 (WebCore::JSAudioConstructor::document):
6006 * bindings/js/JSDOMWindowBase.cpp:
6007 (WebCore::getDOMConstructor):
6008 (WebCore::JSDOMWindowBase::getValueProperty):
6009 * bindings/js/JSDOMWindowBase.h:
6010 * bindings/js/JSHTMLOptionElementConstructor.cpp:
6011 (WebCore::JSHTMLOptionElementConstructor::mark):
6012 * bindings/js/JSHTMLOptionElementConstructor.h:
6013 (WebCore::JSHTMLOptionElementConstructor::document):
6014 * bindings/js/JSImageConstructor.cpp:
6015 (WebCore::JSImageConstructor::mark):
6016 * bindings/js/JSImageConstructor.h:
6017 (WebCore::JSImageConstructor::document):
6018 * bindings/js/JSXMLHttpRequestConstructor.cpp:
6019 (WebCore::JSXMLHttpRequestConstructor::mark):
6020 * bindings/js/JSXMLHttpRequestConstructor.h:
6021 (WebCore::JSXMLHttpRequestConstructor::document):
6022
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +000060232008-09-26 Simon Hausmann <hausmann@webkit.org>
6024
6025 Unreviewed one-liner build fix for the Qt/Windows build.
6026
6027 The build requires NPAPI support to be enabled, fix the condition in
6028 the .pro file for that.
6029
6030 * WebCore.pro:
6031
hausmann@webkit.org1ba35342008-09-26 10:51:33 +000060322008-09-26 Trenton Schulz <twschulz@trolltech.com>
6033
6034 Reviewed by Simon.
6035
6036 Fix compilation with the Qt/Cocoa port.
6037
6038 * platform/qt/ScrollViewQt.cpp:
6039 (WebCore::ScrollView::updateScrollbars):
6040
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000060412008-09-26 Simon Hausmann <hausmann@webkit.org>
6042
6043 Reviewed by Holger.
6044
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +00006045 Fix compilation with VC9SP1, work around bug in TR1 library by
6046 disabling it.
6047
6048 * WebCore.pro:
6049
60502008-09-26 Simon Hausmann <hausmann@webkit.org>
6051
6052 Reviewed by Holger.
6053
hausmann@webkit.orge359dd12008-09-26 09:37:09 +00006054 Fix an lupdate() warning.
6055
6056 Don't use tr() in a class that is not a QObject, use
6057 QCoreApplication::translate() directly.
6058
6059 * platform/qt/ScrollbarQt.cpp:
6060 (WebCore::Scrollbar::handleContextMenuEvent):
6061
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000060622008-09-25 David Hyatt <hyatt@apple.com>
6063
hyatt@apple.com4c833152008-09-26 06:21:22 +00006064 Remove the scrollTo() method from FrameView, since it is not used by anyone.
6065
6066 Reviewed by Oliver Hunt
6067
6068 * page/FrameView.cpp:
6069 * page/FrameView.h:
6070
60712008-09-25 David Hyatt <hyatt@apple.com>
6072
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +00006073 Make scrollRectIntoViewRecursively cross-platform.
6074
6075 Reviewed by Oliver Hunt
6076
6077 * platform/ScrollView.cpp:
6078 (WebCore::ScrollView::scrollRectIntoViewRecursively):
6079 * platform/gtk/ScrollViewGtk.cpp:
6080 * platform/mac/ScrollViewMac.mm:
6081 * platform/qt/ScrollViewQt.cpp:
6082 * platform/win/ScrollViewWin.cpp:
6083 * platform/wx/ScrollViewWx.cpp:
6084
60852008-09-25 David Hyatt <hyatt@apple.com>
6086
hyatt@apple.com25cd25e2008-09-26 06:07:14 +00006087 https://bugs.webkit.org/show_bug.cgi?id=21133
6088
6089 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
6090 cross-platform.
6091
6092 Reviewed by Oliver Hunt
6093
6094 * loader/FrameLoader.cpp:
6095 (WebCore::FrameLoader::begin):
6096 * page/FrameView.cpp:
6097 (WebCore::FrameView::adjustViewSize):
6098 * platform/ScrollView.cpp:
6099 (WebCore::ScrollView::setContentsSize):
6100 * platform/ScrollView.h:
6101 (WebCore::ScrollView::updateScrollbars):
6102 * platform/gtk/ScrollViewGtk.cpp:
6103 * platform/mac/ScrollViewMac.mm:
6104 (WebCore::ScrollView::platformSetContentsSize):
6105 * platform/qt/ScrollViewQt.cpp:
6106 * platform/win/ScrollViewWin.cpp:
6107 * platform/wx/ScrollViewWx.cpp:
6108 (WebCore::ScrollView::platformSetContentsSize):
6109
61102008-09-25 David Hyatt <hyatt@apple.com>
6111
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +00006112 https://bugs.webkit.org/show_bug.cgi?id=21132
6113
6114 Clean up the methods that actually do the scrolling in ScrollView.
6115
6116 Reviewed by Oliver Hunt
6117
6118 * html/HTMLBodyElement.cpp:
6119 (WebCore::HTMLBodyElement::setScrollLeft):
6120 (WebCore::HTMLBodyElement::setScrollTop):
6121 * loader/FrameLoader.cpp:
6122 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
6123 * loader/ImageDocument.cpp:
6124 (WebCore::ImageDocument::imageClicked):
6125 * page/DOMWindow.cpp:
6126 (WebCore::DOMWindow::scrollBy):
6127 (WebCore::DOMWindow::scrollTo):
6128 * page/FrameView.cpp:
6129 (WebCore::FrameView::scrollTo):
6130 (WebCore::FrameView::setScrollPosition):
6131 * page/FrameView.h:
6132 * platform/ScrollView.cpp:
6133 (WebCore::ScrollView::maximumScrollPosition):
6134 * platform/ScrollView.h:
6135 (WebCore::ScrollView::contentsWidth):
6136 (WebCore::ScrollView::contentsHeight):
6137 (WebCore::ScrollView::scrollBy):
6138 * platform/gtk/ScrollViewGtk.cpp:
6139 (WebCore::ScrollView::setScrollPosition):
6140 * platform/mac/ScrollViewMac.mm:
6141 (WebCore::ScrollView::setScrollPosition):
6142 * platform/qt/ScrollViewQt.cpp:
6143 (WebCore::ScrollView::setScrollPosition):
6144 (WebCore::ScrollView::scrollRectIntoViewRecursively):
6145 * platform/win/ScrollViewWin.cpp:
6146 (WebCore::ScrollView::setScrollPosition):
6147 (WebCore::ScrollView::scrollRectIntoViewRecursively):
6148 * platform/wx/ScrollViewWx.cpp:
6149 (WebCore::ScrollView::setScrollPosition):
6150 * rendering/RenderLayer.cpp:
6151 (WebCore::RenderLayer::scrollByRecursively):
6152 (WebCore::RenderLayer::scrollRectToVisible):
6153
mitz@apple.com5c920f12008-09-26 05:25:41 +000061542008-09-25 Dan Bernstein <mitz@apple.com>
6155
6156 - attempted Windows build fix
6157
6158 * platform/win/ScrollViewWin.cpp:
6159 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
6160 (WebCore::ScrollView::setContentsPos):
6161 (WebCore::ScrollView::paint):
6162
timothy@apple.comd884aae2008-09-26 04:35:48 +000061632008-09-25 Timothy Hatcher <timothy@apple.com>
6164
6165 Revert the padding changes done in r36905 to prevent the
6166 scrollbar from overlapping the URLs in the Console.
6167
6168 https://bugs.webkit.org/show_bug.cgi?id=21126
6169
6170 * page/inspector/inspector.css:
6171
hyatt@apple.comc01fb232008-09-26 04:28:25 +000061722008-09-25 David Hyatt <hyatt@apple.com>
6173
6174 https://bugs.webkit.org/show_bug.cgi?id=21129
6175
6176 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
6177 of platform-specific methods required of ScrollView implementations.
6178
6179 Reviewed by Tim Hatcher
6180
6181 * dom/MouseRelatedEvent.cpp:
6182 (WebCore::contentsX):
6183 (WebCore::contentsY):
6184 * html/HTMLBodyElement.cpp:
6185 (WebCore::HTMLBodyElement::scrollLeft):
6186 (WebCore::HTMLBodyElement::setScrollLeft):
6187 (WebCore::HTMLBodyElement::scrollTop):
6188 (WebCore::HTMLBodyElement::setScrollTop):
6189 * loader/FrameLoader.cpp:
6190 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
6191 * page/DOMWindow.cpp:
6192 (WebCore::DOMWindow::scrollX):
6193 (WebCore::DOMWindow::scrollY):
6194 * page/EventHandler.cpp:
6195 (WebCore::EventHandler::hitTestResultAtPoint):
6196 * page/FrameView.cpp:
6197 (WebCore::FrameView::scrollTo):
6198 (WebCore::FrameView::windowClipRect):
6199 * platform/ScrollView.cpp:
6200 (WebCore::ScrollView::visibleContentRect):
6201 (WebCore::ScrollView::contentsSize):
6202 (WebCore::ScrollView::platformContentsSize):
6203 * platform/ScrollView.h:
6204 (WebCore::ScrollView::scrollPosition):
6205 (WebCore::ScrollView::scrollOffset):
6206 (WebCore::ScrollView::scrollX):
6207 (WebCore::ScrollView::scrollY):
6208 (WebCore::ScrollView::contentsWidth):
6209 (WebCore::ScrollView::contentsHeight):
6210 * platform/gtk/ScrollViewGtk.cpp:
6211 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
6212 (WebCore::ScrollView::setGtkAdjustments):
6213 (WebCore::ScrollView::resizeContents):
6214 (WebCore::ScrollView::contentsWidth):
6215 (WebCore::ScrollView::contentsHeight):
6216 (WebCore::ScrollView::scrollOffset):
6217 (WebCore::ScrollView::maximumScroll):
6218 (WebCore::ScrollView::scrollBy):
6219 (WebCore::ScrollView::suppressScrollbars):
6220 (WebCore::ScrollView::setHScrollbarMode):
6221 (WebCore::ScrollView::setVScrollbarMode):
6222 (WebCore::ScrollView::setScrollbarsMode):
6223 (WebCore::ScrollView::setFrameGeometry):
6224 (WebCore::ScrollView::updateScrollbars):
6225 * platform/mac/ScrollViewMac.mm:
6226 (WebCore::ScrollView::platformContentsSize):
6227 (WebCore::ScrollView::scrollBy):
6228 * platform/mac/WidgetMac.mm:
6229 (WebCore::Widget::convertFromContainingWindow):
6230 (WebCore::Widget::convertToContainingWindow):
6231 * platform/qt/ScrollViewQt.cpp:
6232 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
6233 (WebCore::ScrollView::resizeContents):
6234 (WebCore::ScrollView::setFrameGeometry):
6235 (WebCore::ScrollView::scrollOffset):
6236 (WebCore::ScrollView::maximumScroll):
6237 (WebCore::ScrollView::scrollBy):
6238 (WebCore::ScrollView::setHScrollbarMode):
6239 (WebCore::ScrollView::setVScrollbarMode):
6240 (WebCore::ScrollView::setScrollbarsMode):
6241 (WebCore::ScrollView::updateScrollbars):
6242 * platform/win/ScrollViewWin.cpp:
6243 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
6244 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
6245 (WebCore::ScrollView::resizeContents):
6246 (WebCore::ScrollView::setFrameGeometry):
6247 (WebCore::ScrollView::scrollOffset):
6248 (WebCore::ScrollView::maximumScroll):
6249 (WebCore::ScrollView::scrollBy):
6250 (WebCore::ScrollView::setHScrollbarMode):
6251 (WebCore::ScrollView::setVScrollbarMode):
6252 (WebCore::ScrollView::setScrollbarsMode):
6253 (WebCore::ScrollView::updateScrollbars):
6254 * platform/wx/ScrollViewWx.cpp:
6255 (WebCore::ScrollView::platformVisibleContentRect):
6256 (WebCore::ScrollView::platformContentsSize):
6257 * rendering/RenderBlock.cpp:
6258 (WebCore::RenderBlock::nodeAtPoint):
6259 * rendering/RenderLayer.cpp:
6260 (WebCore::RenderLayer::scrollRectToVisible):
6261 (WebCore::RenderLayer::calculateClipRects):
6262 (WebCore::RenderLayer::calculateRects):
6263 * rendering/RenderView.cpp:
6264 (WebCore::RenderView::absolutePosition):
6265 (WebCore::RenderView::computeAbsoluteRepaintRect):
6266
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000062672008-09-25 David Smith <catfish.man@gmail.com>
6268
dsmith@webkit.org0fedb622008-09-26 04:05:57 +00006269 Reviewed by Dave Hyatt.
6270
6271 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
6272
6273 * dom/Element.cpp:
6274 (WebCore::Element::rareData):
6275 * dom/Element.h:
6276 * dom/Node.cpp:
6277 (WebCore::Node::rareData):
6278 * dom/Node.h:
6279
62802008-09-25 David Smith <catfish.man@gmail.com>
6281
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +00006282 Reviewed by Darin Adler.
6283
6284 https://bugs.webkit.org/show_bug.cgi?id=20980
6285 Split off uncommonly used data from Node similar to ElementRareData
6286
6287 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
6288 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
6289 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
6290
6291 * WebCore.base.exp:
6292 * WebCore.xcodeproj/project.pbxproj:
6293 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
6294 * dom/ContainerNode.cpp: Set isContainer to true
6295 (WebCore::ContainerNode::ContainerNode):
6296 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
6297 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
6298 (WebCore::Node::containerChildNode): ditto
6299 (WebCore::Node::containerFirstChild): ditto
6300 (WebCore::Node::containerLastChild): ditto
6301 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
6302 (WebCore::Element::Element):
6303 (WebCore::Element::~Element):
6304 (WebCore::Element::rareData):
6305 (WebCore::Element::ensureRareData): Renamed from createRareData
6306 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
6307 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
6308 (WebCore::Element::detach): ditto
6309 (WebCore::Element::recalcStyle): ditto
6310 (WebCore::Element::focus):
6311 (WebCore::Element::minimumSizeForResizing): ditto
6312 (WebCore::Element::setMinimumSizeForResizing): ditto
6313 (WebCore::Element::computedStyle):
6314 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
6315 * dom/Element.h:
6316 * dom/ElementRareData.h: Added; everything copied from Element.cpp
6317 (WebCore::defaultMinimumSizeForResizing):
6318 (WebCore::ElementRareData::ElementRareData):
6319 (WebCore::ElementRareData::resetComputedStyle):
6320 * dom/EventTargetNode.cpp:
6321 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
6322 * dom/EventTargetNode.h:
6323 * dom/Node.cpp:
6324 (WebCore::Node::Node):
6325 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
6326 (WebCore::Node::rareData):
6327 (WebCore::Node::ensureRareData):
6328 (WebCore::Node::createRareData):
6329 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
6330 (WebCore::Node::setTabIndexExplicitly):
6331 (WebCore::Node::childNodes): NodeLists are now in rareData
6332 (WebCore::Node::setFocus):
6333 (WebCore::Node::rareDataFocused):
6334 (WebCore::Node::isFocusable):
6335 (WebCore::Node::isKeyboardFocusable):
6336 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
6337 (WebCore::Node::unregisterDynamicNodeList): ditto
6338 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
6339 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
6340 (WebCore::Node::getElementsByName): ditto
6341 (WebCore::Node::getElementsByClassName): ditto
6342 * dom/Node.h:
6343 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
6344 (WebCore::Node::lastChild): ditto
6345 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
6346 (WebCore::Node::focused): focus is in rareData if set
6347 (WebCore::Node::childTypeAllowed):
6348 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
6349 (WebCore::Node::childNode): ditto
6350 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
6351 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
6352 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
6353 (WebCore::NodeRareData::NodeRareData):
6354 (WebCore::NodeRareData::rareDataMap):
6355 (WebCore::NodeRareData::rareDataFromMap):
6356 (WebCore::NodeRareData::clearNodeLists):
6357 (WebCore::NodeRareData::setNodeLists):
6358 (WebCore::NodeRareData::nodeLists):
6359 (WebCore::NodeRareData::tabIndex):
6360 (WebCore::NodeRareData::setTabIndex):
6361 (WebCore::NodeRareData::tabIndexSetExplicitly):
6362 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
6363 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
6364
zecke@webkit.orge1370432008-09-26 01:47:30 +000063652008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
6366
6367 Reviewed by Simon Hausmann.
6368
zecke@webkit.org9ea87f62008-09-26 01:54:04 +00006369 [qt] ImageBuffer::toDataURL implementation
6370
6371 There needs to be a Qt specific test result for the above mentioned
6372 implementation.
6373
6374 * platform/graphics/qt/ImageBufferQt.cpp:
6375 (WebCore::ImageBuffer::toDataURL):
6376
63772008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
6378
6379 Reviewed by Simon Hausmann.
6380
zecke@webkit.orge1370432008-09-26 01:47:30 +00006381 [qt] Implement SharedBuffer for Qt.
6382
6383 * WebCore.pro:
6384 * platform/qt/SharedBufferQt.cpp: Added.
6385 (WebCore::SharedBuffer::createWithContentsOfFile):
6386 * platform/qt/TemporaryLinkStubs.cpp:
6387
ddkilzer@apple.com91eae552008-09-26 00:53:18 +000063882008-09-25 Feng Qian <feng@chromium.org>
6389
6390 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
6391 <rdar://problem/6243032>
6392
6393 Reviewed by Dave Hyatt.
6394
6395 Test: fast/dom/attribute-downcast-right.html
6396
6397 Add isMappedAttribute function to Attribute for checking if an object
6398 is an instance of MappedAttribute. Removed attributeItem,
6399 getAttributeItem functions from NamedMappedAttrMap, and callers
6400 expecting MappedAttribute have to check isMappedAttribute before
6401 downcasting the return value to MappedAttribute.
6402
6403 * css/CSSStyleSelector.cpp:
6404 (WebCore::CSSStyleSelector::styleForElement):
6405 * dom/Attribute.h:
6406 (WebCore::Attribute::isMappedAttribute):
6407 * dom/MappedAttribute.h:
6408 (WebCore::MappedAttribute::isMappedAttribute):
6409 * dom/NamedMappedAttrMap.cpp:
6410 (WebCore::NamedMappedAttrMap::declCount):
6411 (WebCore::NamedMappedAttrMap::mapsEquivalent):
6412 * dom/NamedMappedAttrMap.h:
6413 * dom/StyledElement.cpp:
6414 (WebCore::StyledElement::attributeChanged):
6415 * html/HTMLInputElement.cpp:
6416 (WebCore::HTMLInputElement::setInputType):
6417 * svg/SVGForeignObjectElement.cpp:
6418 (WebCore::addCSSPropertyAndNotifyAttributeMap):
6419 * svg/SVGStyledElement.cpp:
6420 (WebCore::SVGStyledElement::getPresentationAttribute):
6421
hyatt@apple.com79be62c2008-09-25 22:25:22 +000064222008-09-25 David Hyatt <hyatt@apple.com>
6423
6424 https://bugs.webkit.org/show_bug.cgi?id=21120
6425
6426 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
6427 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
6428 didn't want to mix that change in with this patch).
6429
6430 Reviewed by Sam Weinig
6431
6432 * page/Frame.cpp:
6433 (WebCore::Frame::markAllMatchesForText):
6434 * page/FrameView.cpp:
6435 (WebCore::FrameView::repaintContentRectangle):
6436 (WebCore::FrameView::windowClipRect):
6437 (WebCore::FrameView::updateControlTints):
6438 * platform/ScrollView.cpp:
6439 (WebCore::ScrollView::visibleContentRect):
6440 (WebCore::ScrollView::platformVisibleContentRect):
6441 * platform/ScrollView.h:
6442 (WebCore::ScrollView::visibleWidth):
6443 (WebCore::ScrollView::visibleHeight):
6444 * platform/gtk/ScrollViewGtk.cpp:
6445 (WebCore::ScrollView::horizontalScrollbar):
6446 (WebCore::ScrollView::verticalScrollbar):
6447 * platform/mac/ScrollViewMac.mm:
6448 (WebCore::ScrollView::horizontalScrollbar):
6449 (WebCore::ScrollView::verticalScrollbar):
6450 (WebCore::ScrollView::platformVisibleContentRect):
6451 * platform/qt/ScrollViewQt.cpp:
6452 (WebCore::ScrollView::horizontalScrollbar):
6453 (WebCore::ScrollView::verticalScrollbar):
6454 * platform/win/ScrollViewWin.cpp:
6455 (WebCore::ScrollView::horizontalScrollbar):
6456 (WebCore::ScrollView::verticalScrollbar):
6457 * platform/wx/ScrollViewWx.cpp:
6458 (WebCore::ScrollView::platformVisibleContentRect):
6459 (WebCore::ScrollView::horizontalScrollbar):
6460 (WebCore::ScrollView::verticalScrollbar):
6461 * rendering/RenderLayer.cpp:
6462 (WebCore::RenderLayer::scrollRectToVisible):
6463 (WebCore::frameVisibleRect):
6464 * rendering/RenderView.cpp:
6465 (WebCore::RenderView::viewRect):
6466
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +000064672008-09-25 David Smith <catfish.man@gmail.com>
6468
6469 Reviewed by Timothy Hatcher
6470
6471 https://bugs.webkit.org/show_bug.cgi?id=21052
6472 Generalize id selector special case for querySelectorAll
6473
6474 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
6475 Changes results on http://native.khan.mozilla.org
6476 from
6477 #title: 2ms
6478 h1#title: 55ms
6479 div #title: 55ms
6480
6481 to:
6482 #title: 1ms
6483 h1#title: 2ms
6484 div #title: 5ms
6485
6486 * dom/Node.cpp:
6487 (WebCore::Node::querySelector):
6488 * dom/SelectorNodeList.cpp:
6489 (WebCore::createSelectorNodeList):
6490
hyatt@apple.com64a3be22008-09-25 20:49:17 +000064912008-09-25 David Hyatt <hyatt@apple.com>
6492
6493 https://bugs.webkit.org/show_bug.cgi?id=21118
6494
6495 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
6496
6497 Reviewed by Sam Weinig
6498
6499 * page/FrameView.cpp:
6500 (WebCore::FrameView::clear):
6501 (WebCore::FrameView::layout):
6502 (WebCore::FrameView::setUseSlowRepaints):
6503 (WebCore::FrameView::addSlowRepaintObject):
6504 (WebCore::FrameView::removeSlowRepaintObject):
6505 * platform/ScrollView.cpp:
6506 (WebCore::ScrollView::init):
6507 (WebCore::ScrollView::addChild):
6508 (WebCore::ScrollView::removeChild):
6509 (WebCore::ScrollView::setCanBlitOnScroll):
6510 * platform/ScrollView.h:
6511 (WebCore::ScrollView::canBlitOnScroll):
6512 * platform/gtk/ScrollViewGtk.cpp:
6513 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6514 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
6515 (WebCore::ScrollView::ScrollView):
6516 * platform/mac/ScrollViewMac.mm:
6517 (WebCore::ScrollView::ScrollView):
6518 (WebCore::ScrollView::platformAddChild):
6519 (WebCore::ScrollView::platformRemoveChild):
6520 (WebCore::ScrollView::platformSetCanBlitOnScroll):
6521 * platform/qt/ScrollViewQt.cpp:
6522 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6523 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
6524 (WebCore::ScrollView::ScrollView):
6525 * platform/win/ScrollViewWin.cpp:
6526 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6527 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
6528 (WebCore::ScrollView::ScrollView):
6529 * platform/wx/ScrollViewWx.cpp:
6530 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
6531 (WebCore::ScrollView::ScrollView):
6532 (WebCore::ScrollView::scrollBy):
6533
kmccullough@apple.com03b515b2008-09-25 20:29:57 +000065342008-09-25 Kevin McCullough <kmccullough@apple.com>
6535
6536 Reviewed by Tim Hatcher.
6537
6538 Bug 21109: Console should right-align urls
6539
6540 * page/inspector/Console.js: Re-order the message elements so that when
6541 it overflows it doesn't get mixed in with the next message.
6542 * page/inspector/inspector.css:
6543
hyatt@apple.com95d18752008-09-25 20:15:44 +000065442008-09-25 David Hyatt <hyatt@apple.com>
6545
6546 https://bugs.webkit.org/show_bug.cgi?id=21113
6547
6548 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
6549
6550 Reviewed by Darin Adler
6551
6552 * css/CSSImportRule.cpp:
6553 (WebCore::CSSImportRule::insertedIntoParent):
6554 * css/CSSRule.cpp:
6555 (WebCore::CSSRule::parentStyleSheet):
6556 (WebCore::CSSRule::parentRule):
6557 * css/CSSStyleSheet.cpp:
6558 (WebCore::CSSStyleSheet::CSSStyleSheet):
6559 * css/CSSStyleSheet.h:
6560
darin@apple.com6ca04432008-09-25 20:02:11 +000065612008-09-25 Darin Adler <darin@apple.com>
6562
6563 Reviewed by Adele Peterson.
6564
6565 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
6566 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
6567 bundled documents
6568
6569 * html/HTMLFormElement.cpp:
6570 (WebCore::HTMLFormElement::formData): Use files() instead of value()
6571 to get the path, since value() now returns just the basename.
6572
beidson@apple.comb9a40052008-09-25 18:37:09 +000065732008-09-25 Brady Eidson <beidson@apple.com>
6574
6575 Rubberstamped by Mark Rowe
6576
6577 Roll out 36771 as it caused <rdar://problem/6246554>
6578 "nytimes.com doesn't display after returning to it with back/forward"
6579
6580 * css/CSSImportRule.cpp:
6581 (WebCore::CSSImportRule::insertedIntoParent):
6582 * css/CSSRule.cpp:
6583 (WebCore::CSSRule::parentStyleSheet):
6584 (WebCore::CSSRule::parentRule):
6585 * css/CSSStyleSheet.cpp:
6586 (WebCore::CSSStyleSheet::CSSStyleSheet):
6587 (WebCore::CSSStyleSheet::docLoader):
6588 * css/CSSStyleSheet.h:
6589 (WebCore::CSSStyleSheet::doc):
6590
aroben@apple.comdf5a7322008-09-25 17:47:15 +000065912008-09-25 Adam Roben <aroben@apple.com>
6592
6593 Windows build fix
6594
6595 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
6596
mitz@apple.com0565bc92008-09-25 17:27:37 +000065972008-09-25 Dan Bernstein <mitz@apple.com>
6598
6599 - Windows build fix
6600
6601 * platform/win/ScrollViewWin.cpp:
6602 (WebCore::ScrollView::addChildPlatformWidget):
6603 (WebCore::ScrollView::removeChildPlatformWidget):
6604
timothy@apple.com7a4bf192008-09-25 17:07:43 +000066052008-09-25 Timothy Hatcher <timothy@apple.com>
6606
6607 Fixes a leak of ConsoleMessage seen when repeated console
6608 messages occur.
6609
6610 Reviewed by Mark Rowe.
6611
6612 * page/InspectorController.cpp:
6613 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
6614 since we don't add it to m_consoleMessages.
6615
kmccullough@apple.com340e7272008-09-25 16:04:20 +000066162008-09-25 Kevin McCullough <kmccullough@apple.com>
6617
kmccullough@apple.com364f2992008-09-25 16:48:34 +00006618 Reviewed by Dan Bernstein.
6619
6620 Bug 21105: XHRs logged in the console may show the wrong URL for the
6621 source
6622 - Get the url at the time of the send() and pass it on to the XHR.
6623
6624 * bindings/js/JSXMLHttpRequestCustom.cpp:
6625 (WebCore::JSXMLHttpRequest::send):
6626 * xml/XMLHttpRequest.cpp:
6627 (WebCore::XMLHttpRequest::didFinishLoading):
6628 * xml/XMLHttpRequest.h:
6629 (WebCore::XMLHttpRequest::setLastSendURL):
6630
66312008-09-25 Kevin McCullough <kmccullough@apple.com>
6632
kmccullough@apple.com340e7272008-09-25 16:04:20 +00006633 Reviewed by Geoff and Tim.
6634
6635 Bug 20322: XHRs logged in the console do not have line numbers
6636 - Get the line number at the time of the send and pass it on to the XHR.
6637
6638 * bindings/js/JSXMLHttpRequestCustom.cpp:
6639 (WebCore::JSXMLHttpRequest::send):
6640 * xml/XMLHttpRequest.cpp:
6641 (WebCore::XMLHttpRequest::XMLHttpRequest):
6642 (WebCore::XMLHttpRequest::didFinishLoading):
6643 * xml/XMLHttpRequest.h:
6644 (WebCore::XMLHttpRequest::setLastSendLineNumber):
6645
eric.carlson@apple.comb9404142008-09-25 15:33:02 +000066462008-09-25 Eric Carlson <eric.carlson@apple.com>
6647
6648 Reviewed by Eric Seidel.
6649
6650 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
6651 https://bugs.webkit.org/show_bug.cgi?id=21003
6652
6653 * dom/EventNames.h: remove "begin" event
6654 * html/HTMLMediaElement.cpp:
6655 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
6656
ap@webkit.orgcdec56d2008-09-25 11:30:02 +000066572008-09-25 Alexey Proskuryakov <ap@webkit.org>
6658
6659 Reviewed by Eric Seidel.
6660
6661 https://bugs.webkit.org/show_bug.cgi?id=21097
6662 Calling a MessageChannel constructor from a destroyed document results in a crash
6663
6664 Test: fast/events/message-port-constructor-for-deleted-document.html
6665
6666 * bindings/js/JSMessageChannelConstructor.cpp:
6667 (WebCore::JSMessageChannelConstructor::construct):
6668 * bindings/js/JSMessageChannelConstructor.h:
6669 Made m_document a RefPtr.
6670
ap@webkit.org28b51752008-09-25 10:15:11 +000066712008-09-24 Alexey Proskuryakov <ap@webkit.org>
6672
6673 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
6674
6675 https://bugs.webkit.org/show_bug.cgi?id=20879
6676 Implement HTML5 channel messaging
6677
6678 Tests: fast/events/message-channel-gc.html
6679 fast/events/message-port-deleted-document.html
6680 fast/events/message-port-deleted-frame.html
6681 fast/events/message-port-inactive-document.html
6682 fast/events/message-port.html
6683 http/tests/security/MessagePort/event-listener-context.html
6684
6685 * Configurations/WebCore.xcconfig:
6686 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
6687
6688 * DerivedSources.make:
6689 Added MessageChannel and MessagePort.
6690
6691 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
6692 turmed off anyway. Added new files.
6693
6694 * GNUmakefile.am:
6695 * WebCore.pro:
6696 * WebCore.vcproj/WebCore.vcproj:
6697 * WebCore.xcodeproj/project.pbxproj:
6698 * WebCoreSources.bkl:
6699 Added new files.
6700
6701 * bindings/js/JSDOMWindowBase.h:
6702 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
6703 Added suport for window.MessageChannel constructor.
6704
6705 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
6706 * page/DOMWindow.cpp:
6707 (WebCore::DOMWindow::postMessage):
6708 * page/DOMWindow.h:
6709 * page/DOMWindow.idl:
6710 Added support for three-argument postMessage (that posts a MessagePort).
6711
6712 * dom/EventTarget.cpp:
6713 (WebCore::EventTarget::toMessagePort):
6714 * dom/EventTarget.h:
6715 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
6716 EventTarget variant.
6717
6718 * bindings/js/JSMessageChannelConstructor.h:
6719 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
6720 take a browsing context (document) parameter.
6721
6722 * bindings/js/JSMessageChannelCustom.cpp: Added.
6723 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
6724 port1 and port2 that it owns.
6725
6726 * bindings/js/JSMessagePortCustom.cpp: Added.
6727 (WebCore::JSMessagePort::startConversation):
6728 (WebCore::JSMessagePort::addEventListener):
6729 (WebCore::JSMessagePort::removeEventListener):
6730 (WebCore::JSMessagePort::dispatchEvent):
6731 (WebCore::JSMessagePort::setOnmessage):
6732 (WebCore::JSMessagePort::onmessage):
6733 (WebCore::JSMessagePort::setOnclose):
6734 (WebCore::JSMessagePort::onclose):
6735 (WebCore::JSMessagePort::mark):
6736 * dom/MessagePort.cpp: Added.
6737 * dom/MessagePort.h: Added.
6738 * dom/MessagePort.idl: Added.
6739 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
6740 with Documents as contexts, but in the future, it will be used for communication with worker
6741 threads.
6742
6743 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
6744 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
6745 needed for MessageEvent.
6746
6747 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
6748
6749 * dom/Document.cpp:
6750 (WebCore::MessagePortTimer::MessagePortTimer):
6751 (WebCore::MessagePortTimer::fired):
6752 (WebCore::Document::processMessagePortMessagesSoon):
6753 (WebCore::Document::~Document):
6754 (WebCore::Document::dispatchMessagePortEvents):
6755 (WebCore::Document::createdMessagePort):
6756 (WebCore::Document::destroyedMessagePort):
6757 * dom/Document.h:
6758 Document keeps track of all MessagePort objects that were created when it was fully active
6759 in its context.
6760
6761 * dom/EventNames.h: Added closeEvent.
6762
6763 * dom/MessageChannel.cpp: Added.
6764 (WebCore::MessageChannel::MessageChannel):
6765 (WebCore::MessageChannel::~MessageChannel):
6766 * dom/MessageChannel.h: Added.
6767 (WebCore::MessageChannel::create):
6768 (WebCore::MessageChannel::port1):
6769 (WebCore::MessageChannel::port2):
6770 * dom/MessageChannel.idl: Added.
6771 Addded JSMessageChannel implementation.
6772
6773 * dom/MessageEvent.cpp:
6774 (WebCore::MessageEvent::MessageEvent):
6775 (WebCore::MessageEvent::initMessageEvent):
6776 * dom/MessageEvent.h:
6777 (WebCore::MessageEvent::create):
6778 (WebCore::MessageEvent::messagePort):
6779 * dom/MessageEvent.idl:
6780 MessageEvent has a MessagePort member now, making it possible to pass ports across
6781 documents.
6782
dsmith@webkit.org3e32f422008-09-25 08:57:31 +000067832008-09-25 David Smith <catfish.man@gmail.com>
6784
6785 Reviewed by Eric Seidel
6786
6787 fix https://bugs.webkit.org/show_bug.cgi?id=21091
6788 Regression: querySelector matches tag names case sensitively
6789
6790 Tests: fast/dom/SelectorAPI/caseTag.html
6791 fast/dom/SelectorAPI/caseTagX.xhtml
6792
6793 * css/CSSParser.cpp:
6794 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
6795 * css/CSSParser.h:
6796 * dom/Node.cpp:
6797 (WebCore::Node::querySelector):
6798 (WebCore::Node::querySelectorAll):
6799
hyatt@apple.com912c1b12008-09-25 07:38:56 +000068002008-09-24 David Hyatt <hyatt@apple.com>
6801
6802 https://bugs.webkit.org/show_bug.cgi?id=21084
6803
6804 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
6805 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
6806
6807 Reviewed by Sam Weinig
6808
6809 * GNUmakefile.am:
6810 * WebCore.pro:
6811 * WebCore.vcproj/WebCore.vcproj:
6812 * WebCore.xcodeproj/project.pbxproj:
6813 * WebCoreSources.bkl:
6814 * platform/ScrollView.h:
6815 (WebCore::ScrollView::children):
6816 * platform/Widget.h:
6817 * platform/gtk/ScrollViewGtk.cpp:
6818 (WebCore::ScrollView::addChildPlatformWidget):
6819 (WebCore::ScrollView::removeChildPlatformWidget):
6820 (WebCore::ScrollView::geometryChanged):
6821 * platform/mac/ScrollViewMac.mm:
6822 (WebCore::ScrollView::addChildPlatformWidget):
6823 (WebCore::ScrollView::removeChildPlatformWidget):
6824 * platform/qt/ScrollViewQt.cpp:
6825 (WebCore::ScrollView::geometryChanged):
6826 (WebCore::ScrollView::addChildPlatformWidget):
6827 (WebCore::ScrollView::removeChildPlatformWidget):
6828 * platform/win/ScrollViewWin.cpp:
6829 (WebCore::ScrollView::geometryChanged):
6830 (WebCore::ScrollView::setParentVisible):
6831 (WebCore::ScrollView::show):
6832 (WebCore::ScrollView::hide):
6833 * platform/wx/ScrollViewWx.cpp:
6834 (WebCore::ScrollView::addChildPlatformWidget):
6835 (WebCore::ScrollView::removeChildPlatformWidget):
6836
mitz@apple.com982d2cc2008-09-25 07:16:05 +000068372008-09-25 Dan Bernstein <mitz@apple.com>
6838
6839 Reviewed by Dave Hyatt.
6840
6841 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
6842 <rdar://problem/6240821> Scrollbar not painted until hovered
6843
6844 * rendering/RenderWidget.cpp:
6845 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
6846 this method, which sets both the location and the size.
6847 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
6848 with a call to the new method setWidgetGeometry. Positioning the
6849 widget correctly ensures that the scroll bars invalidate correctly when
6850 they are created and resized.
6851 * rendering/RenderWidget.h:
6852
mitz@apple.com61969a62008-09-25 00:50:05 +000068532008-09-24 Dan Bernstein <mitz@apple.com>
6854
6855 Rubber-stamped by Sam Weinig.
6856
6857 - create a "style" subfolder under "rendering" and move style files to that folder
6858
6859 * WebCore.vcproj/WebCore.vcproj:
6860
weinig@apple.comacfb9e12008-09-25 00:39:11 +000068612008-09-24 Sam Weinig <sam@webkit.org>
6862
6863 Reviewed by Maciej Stachowiak.
6864
6865 Remove staticFunctionGetter. There is only one remaining user of
6866 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
6867
6868 * bindings/js/JSDOMWindowBase.cpp:
6869 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
6870
mitz@apple.com0cb3dff2008-09-24 23:40:29 +000068712008-09-24 Jeremy Moskovich <jeremy@chromium.org>
6872
6873 Reviewed by Dan Bernstein.
6874
6875 Test: editing/spelling/inline_spelling_markers.html
6876
6877 - https://bugs.webkit.org/show_bug.cgi?id=20092
6878 Spelling markers positioned incorrectly in RTL text
6879
6880 Measure spelling markers with selectionRectForText() to fix RTL.
6881
6882 This patch also fixes hit-testing for spelling marker tool tips,
6883 which used to work only on the first line.
6884
6885 * rendering/InlineTextBox.cpp:
6886 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
6887
hyatt@apple.come5925322008-09-24 21:28:08 +000068882008-09-24 David Hyatt <hyatt@apple.com>
6889
hyatt@apple.com31cd6d62008-09-24 21:45:19 +00006890 https://bugs.webkit.org/show_bug.cgi?id=21074
6891
hyatt@apple.come5925322008-09-24 21:28:08 +00006892 Make sure the viewless scrollbar knows how to paint properly when transformed.
6893
6894 Reviewed by Sam Weinig
6895
6896 * platform/mac/ScrollbarThemeMac.mm:
6897 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
6898 (WebCore::ScrollbarThemeMac::paint):
6899
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +000069002008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
6901
6902 Not reviewed. Try to fix win build.
6903
6904 * bindings/js/JSSVGElementInstanceCustom.cpp:
6905 (WebCore::toJS):
6906 * dom/ContainerNodeAlgorithms.h:
6907 (WebCore::removeAllChildrenInContainer):
6908 (WebCore::appendChildToContainer):
6909 (WebCore::Private::addChildNodesToDeletionQueue):
6910
69112008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
6912
6913 Reviewed by Oliver.
6914
6915 Add ContainerNodeAlgorithms.h, as central place to share algorithms
6916 operating on TreeShared-derived classes with a Node-style interface.
6917
6918 This allows SVGElementInstance & ContainerNode to share code.
6919
6920 * dom/ContainerNode.cpp:
6921 (WebCore::ContainerNode::removeAllChildren):
6922 (WebCore::ContainerNode::addChild):
6923 * dom/ContainerNode.h:
6924 * dom/ContainerNodeAlgorithms.h: Added.
6925 (WebCore::removeAllChildrenInContainer):
6926 (WebCore::appendChildToContainer):
6927 (WebCore::Private::NodeRemovalDispatcher::dispatch):
6928 (WebCore::Private::addChildNodesToDeletionQueue):
6929
simon.fraser@apple.com557a0472008-09-24 21:08:23 +000069302008-09-24 Simon Fraser <simon.fraser@apple.com>
6931
6932 Reviewed by Dave Hyatt
6933
6934 Wrap up dirtying the z-order list of the stacking context
6935 RenderLayer into a method.
6936 https://bugs.webkit.org/show_bug.cgi?id=21072
6937
6938 * rendering/RenderLayer.cpp:
6939 (WebCore::RenderLayer::setHasVisibleContent):
6940 (WebCore::RenderLayer::addChild):
6941 (WebCore::RenderLayer::removeChild):
6942 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
6943 (WebCore::RenderLayer::styleChanged):
6944 * rendering/RenderLayer.h:
6945 * rendering/RenderObject.cpp:
6946 (WebCore::RenderObject::setStyle):
6947
kmccullough@apple.comaf908e62008-09-24 20:22:23 +000069482008-09-24 Kevin McCullough <kmccullough@apple.com>
6949
6950 Reviewed by Tim.
6951
6952 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
6953 or displayed multiple times
6954 - The Insepctor Controller was comparing JSValue pointers so thought the
6955 message was not a repeat, but the JS of the inspector compared the
6956 strings and so knew it was the same message and so overwrote the old
6957 message.
6958
6959 * page/InspectorController.cpp:
6960 (WebCore::ConsoleMessage::isEqual):
6961 (WebCore::InspectorController::addMessageToConsole):
6962 (WebCore::InspectorController::addConsoleMessage):
6963 (WebCore::InspectorController::startGroup):
6964 (WebCore::InspectorController::endGroup):
6965 * page/InspectorController.h:
6966
hyatt@apple.comf4c8f172008-09-24 20:19:26 +000069672008-09-24 David Hyatt <hyatt@apple.com>
6968
6969 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
6970 arrow placement preference and the thumb jump preference).
6971
6972 Reviewed by Adam Roben
6973
6974 * platform/Scrollbar.cpp:
6975 (WebCore::Scrollbar::Scrollbar):
6976 (WebCore::Scrollbar::~Scrollbar):
6977 * platform/ScrollbarTheme.h:
6978 (WebCore::ScrollbarTheme::registerScrollbar):
6979 (WebCore::ScrollbarTheme::unregisterScrollbar):
6980 * platform/mac/ScrollbarThemeMac.h:
6981 * platform/mac/ScrollbarThemeMac.mm:
6982 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
6983 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
6984 (+[ScrollbarPrefsObserver registerAsObserver]):
6985 (WebCore::ScrollbarThemeMac::registerScrollbar):
6986 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
6987 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
6988 (WebCore::ScrollbarThemeMac::preferencesChanged):
6989
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +000069902008-09-24 Rob Buis <buis@kde.org>
6991
6992 Reviewed by Darin.
6993
6994 https://bugs.webkit.org/show_bug.cgi?id=20557
6995 getScreenCTM() returns wrong values
6996
6997 Use the absolute position of the svg root when
6998 determining the screen ctm.
6999
7000 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
7001
7002 * svg/SVGSVGElement.cpp:
7003 (WebCore::SVGSVGElement::getScreenCTM):
7004
hyatt@apple.com40a73652008-09-24 18:15:15 +000070052008-09-24 David Hyatt <hyatt@apple.com>
7006
hyatt@apple.come77b7d42008-09-24 18:26:51 +00007007 Turn off support for CSS variables.
7008
7009 * ChangeLog:
7010 * css/CSSParser.cpp:
7011 (WebCore::CSSParser::createVariablesRule):
7012 (WebCore::CSSParser::addVariable):
7013 (WebCore::CSSParser::addVariableDeclarationBlock):
7014
70152008-09-24 David Hyatt <hyatt@apple.com>
7016
hyatt@apple.com40a73652008-09-24 18:15:15 +00007017 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
7018
7019 * css/CSSGrammar.y:
7020 * css/CSSParserValues.cpp:
7021 (WebCore::CSSParserValue::isVariable):
7022 * css/CSSPrimitiveValue.cpp:
7023 (WebCore::CSSPrimitiveValue::cleanup):
7024 (WebCore::CSSPrimitiveValue::getStringValue):
7025 (WebCore::CSSPrimitiveValue::cssText):
7026 (WebCore::CSSPrimitiveValue::parserValue):
7027 * css/CSSPrimitiveValue.h:
7028 (WebCore::CSSPrimitiveValue::):
7029 (WebCore::CSSPrimitiveValue::isVariable):
7030
timothy@apple.com0214f092008-09-24 16:23:17 +000070312008-09-24 Timothy Hatcher <timothy@apple.com>
7032
7033 Fixes a regression where the "incorrect MIME-type" warning would not
7034 show up correctly in the Console or the resources sidebar.
7035
7036 Reviewed by Kevin McCullough.
7037
7038 * page/inspector/Resource.js:
7039 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
7040 to the WebInspector.ConsoleMessage constructor call.
7041 (WebInspector.Resource.prototype._checkWarning): Ditto.
7042
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +000070432008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
7044
7045 Reviewed by Simon.
7046
7047 Remove deprecated JS Qt bindings object call/construct code and fix autotests
7048
7049 * bridge/qt/qt_instance.cpp:
7050 (JSC::Bindings::QtInstance::QtInstance):
7051 * bridge/qt/qt_instance.h:
7052
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +000070532008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
7054
7055 Reviewed by Alp Toker. Landed by Jan Alonzo.
7056
7057 Bug 20883: [CURL] Add deferred loading
7058 https://bugs.webkit.org/show_bug.cgi?id=20883
7059
7060 Implement deferred loading for the libcURL backend using curl_easy_pause.
7061 As the method was introduced in version 7.18.0, all the code checks for libcURL
7062 version.
7063
7064 * platform/network/curl/ResourceHandleCurl.cpp:
7065 (WebCore::ResourceHandle::setDefersLoading):
7066 * platform/network/curl/ResourceHandleManager.cpp:
7067 (WebCore::writeCallback): Add an assertion that deferred loading is not
7068 activated.
7069 (WebCore::headerCallback): Ditto.
7070 (WebCore::readCallback): Ditto.
7071 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
7072 defersLoading to be false in order to avoid triggering an assertion.
7073 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
7074 activated, pause the easy handle.
7075
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +000070762008-09-23 Matt Lilek <webkit@mattlilek.com>
7077
7078 Reviewed by Tim Hatcher.
7079
7080 Inspector search field style tweaks.
7081
7082 * page/inspector/inspector.css:
7083
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +000070842008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
7085
7086 Reviewed by Eric.
7087
7088 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
7089
7090 Fix missing negation in EventTargetNode::insertedIntoDocument.
7091 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
7092 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
7093
7094 * dom/EventTargetNode.cpp:
7095 (WebCore::EventTargetNode::insertedIntoDocument):
7096 (WebCore::EventTargetNode::dispatchGenericEvent):
7097 * dom/EventTargetNode.h:
7098
timothy@apple.combffde042008-09-24 02:07:39 +000070992008-09-23 Timothy Hatcher <timothy@apple.com>
7100
timothy@apple.com99c03532008-09-24 02:08:44 +00007101 Adds search support to the Profiles panel.
7102
7103 The Profiles panel supports a few types of queries:
7104 * Standard string matching for function names and file URLs.
7105 * Greater than and less than search for numeric columns.
7106 So a query of ">24" will match all rows that have calls
7107 greater than 24. Or "<=42" will match all 42 or less.
7108 * Percent and time units. Adding a unit of "s", "ms" or "%"
7109 is supported and will match only the Self and Total columns.
7110 So a query of ">1.25s" will match all rows that took longer
7111 than 1.25 seconds.
7112
7113 Reviewed by Oliver Hunt.
7114
7115 * page/inspector/ProfileView.js:
7116 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
7117 it will start at the first result.
7118 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
7119 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
7120 data grid nodes.
7121 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
7122 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
7123 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
7124 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
7125 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
7126 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
7127 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
7128 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
7129 Expand all the ancestors first so the profile node will have a DataGridNode.
7130 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
7131 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
7132 have search matches.
7133 * page/inspector/ProfilesPanel.js:
7134 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
7135 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
7136 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
7137 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
7138 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
7139 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
7140 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
7141 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
7142 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
7143 * page/inspector/inspector.css: New style rules for the cell highlight color.
7144
71452008-09-23 Timothy Hatcher <timothy@apple.com>
7146
timothy@apple.com33c28442008-09-24 02:08:39 +00007147 Adds search support to the Resources and Scripts panels.
7148
7149 https://bugs.webkit.org/show_bug.cgi?id=21005
7150
7151 Reviewed by Oliver Hunt.
7152
7153 * page/inspector/Images/searchSmallBlue.png: Added.
7154 * page/inspector/Images/searchSmallBrightBlue.png: Added.
7155 * page/inspector/Images/searchSmallGray.png: Added.
7156 * page/inspector/Images/searchSmallWhite.png: Added.
7157 * page/inspector/ResourceView.js:
7158 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
7159 or "script-resource-views" since one might not be created yet.
7160 * page/inspector/ResourcesPanel.js:
7161 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
7162 are not this panel's current visible view. This can happen when a ResourceView is
7163 visible in the Scripts panel then switched to the this panel.
7164 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
7165 visibleView first.
7166 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
7167 that uses the current graph search function. So cycling through results will be in the order
7168 things appear in the sidebar.
7169 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
7170 resource's sidebar tree element.
7171 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
7172 in the sidebar. Calls the Panel prototype's searchCanceled.
7173 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
7174 in the sidebar. Calls the Panel prototype's performSearch.
7175 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
7176 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
7177 if there is a current search query.
7178 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
7179 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
7180 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
7181 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
7182 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
7183 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
7184 * page/inspector/ScriptView.js:
7185 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
7186 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
7187 it will start at the first result.
7188 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
7189 highlighting complete".
7190 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
7191 * page/inspector/ScriptsPanel.js:
7192 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
7193 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
7194 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
7195 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
7196 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
7197 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
7198 * page/inspector/SourceFrame.js:
7199 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
7200 * page/inspector/SourceView.js:
7201 (WebInspector.SourceView.prototype.hide):
7202 (WebInspector.SourceView.prototype.detach):
7203 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
7204 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
7205 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
7206 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
7207 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
7208 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
7209 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
7210 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
7211 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
7212 (WebInspector.SourceView.prototype.showingFirstSearchResult):
7213 (WebInspector.SourceView.prototype.showingLastSearchResult):
7214 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
7215 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
7216 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
7217 * page/inspector/inspector.css:
7218
72192008-09-23 Timothy Hatcher <timothy@apple.com>
7220
timothy@apple.com18950ed2008-09-24 02:08:32 +00007221 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
7222 so future code can be shared.
7223
7224 https://bugs.webkit.org/show_bug.cgi?id=21005
7225
7226 Reviewed by Oliver Hunt.
7227
7228 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
7229 And visibleResourceView to visibleView.
7230 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
7231
72322008-09-23 Timothy Hatcher <timothy@apple.com>
7233
timothy@apple.comcb23f4a2008-09-24 02:08:27 +00007234 Highlight all matched search results in the Elements panel DOM tree.
7235
7236 https://bugs.webkit.org/show_bug.cgi?id=21005
7237
7238 Reviewed by Oliver Hunt.
7239
7240 * page/inspector/ElementsPanel.js:
7241 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
7242 on all previous search results.
7243 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
7244 on all new search results.
7245 * page/inspector/ElementsTreeOutline.js:
7246 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
7247 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
7248 the highlighted class on the listItemElement.
7249 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
7250 if needed. Calls _updateTitle.
7251 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
7252 class so it can be styled when the highlighted class is present.
7253 * page/inspector/inspector.css: New style rules for the hihglight.
7254
72552008-09-23 Timothy Hatcher <timothy@apple.com>
7256
timothy@apple.com574c0522008-09-24 02:08:19 +00007257 Add search support to the Elements panel.
7258
7259 https://bugs.webkit.org/show_bug.cgi?id=21005
7260
7261 Reviewed by Oliver Hunt.
7262
7263 * page/inspector/ElementsPanel.js:
7264 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
7265 with a 0 match count to rest. Reset the other search properties.
7266 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
7267 query and a CSS selector on all the Documents in the page. Remembers the found nodes
7268 and avoids duplicates. Focuses the first result.
7269 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
7270 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
7271
72722008-09-23 Timothy Hatcher <timothy@apple.com>
7273
timothy@apple.com82d233c2008-09-24 02:08:15 +00007274 Add support to Panel that allows easy searching of sub-views.
7275
7276 https://bugs.webkit.org/show_bug.cgi?id=21005
7277
7278 Reviewed by Oliver Hunt.
7279
7280 * page/inspector/Panel.js:
7281 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
7282 views in the search results and delete the currentQuery property. Call
7283 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
7284 other search properties.
7285 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
7286 reset everything we need before doing a new search. Get an array of searchableViews
7287 from the panel, implemented by sub-classes. Iterate over the views one-by-one
7288 with an interval to prevent blocking the UI for large lists of searchableViews.
7289 This keeps the interface really responsive. Pass a finishedCallback function to
7290 the performSearch on each view so it can notify the panel of results.
7291 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
7292 searchResults of the visibleView, so we know where in the results we are.
7293 This is done every time incase the user manually navigates to a new view.
7294 If the view is showing the last result, jump to the next view and show it's
7295 first result. Otherwise jump to the next result in the current view.
7296 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
7297
72982008-09-23 Timothy Hatcher <timothy@apple.com>
7299
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +00007300 Add support for asking the current panel to perform a search, find next/previous and clear.
7301 A search is performed on the new new current panel when switching between panels. The search
7302 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
7303 be searched. The search field contents are selected when Command/Control-F or Enter/Return
7304 is pressed, so the user can easily type an entirely new query. The search match count shows
7305 up in the toolbar next to the search field.
7306
7307 Also changed:
7308 * Rename lastQuery to currentQuery since it better matches the truth.
7309 * Set the search field "results" attribute to zero since results arn't saved for
7310 how we use the search field.
7311 * Make repeated presses of the Return key jump to the next search result instead
7312 of doing nothing.
7313 * Increased the search field width.
7314
7315 https://bugs.webkit.org/show_bug.cgi?id=21005
7316
7317 Reviewed by Oliver Hunt.
7318
7319 * English.lproj/localizedStrings.js: New strings.
7320 * page/inspector/inspector.css: New styles.
7321 * page/inspector/inspector.html: Add the search-results-matches element. Add the
7322 incremental attribute to the search field and set the results attribute to zero.
7323 * page/inspector/inspector.js:
7324 (WebInspector.set currentPanel): perform the search on the new panel.
7325 (WebInspector.loaded): Change the event listeners and remove code that changes
7326 the search label text.
7327 (WebInspector.documentKeyDown): Add support for Command/Control-G and
7328 Command/Control-Shift-G. To jump to the next and previous search results.
7329 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
7330 This does different things depending on the attached state.
7331 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
7332 This prevents a "search" event from firing for key down. We handle the Enter key
7333 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
7334 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
7335 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
7336 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
7337 Call updateSearchMatchesCount to reset the matches count in the toolbar.
7338 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
7339
73402008-09-23 Timothy Hatcher <timothy@apple.com>
7341
timothy@apple.com1d5227a2008-09-24 02:08:01 +00007342 Remove the previous Inspector search code to make room for the new stuff.
7343
7344 https://bugs.webkit.org/show_bug.cgi?id=21005
7345
7346 Reviewed by Oliver Hunt.
7347
7348 * page/inspector/inspector.css:
7349 * page/inspector/inspector.html:
7350 * page/inspector/inspector.js:
7351 (WebInspector.get/set showingSearchResults): Removed.
7352 (WebInspector.searchResultsKeyDown): Removed.
7353 (WebInspector.searchResultsResizerDragStart): Removed.
7354 (WebInspector.searchResultsResizerDragEnd): Removed.
7355 (WebInspector.searchResultsResizerDrag): Removed.
7356 (WebInspector.performSearch): Removed searching parts.
7357
73582008-09-23 Timothy Hatcher <timothy@apple.com>
7359
timothy@apple.com5e915b722008-09-24 02:07:56 +00007360 Use the Array.remove helper function in more places.
7361
7362 https://bugs.webkit.org/show_bug.cgi?id=21037
7363
7364 Reviewed by Kevin McCullough.
7365
7366 * page/inspector/ResourceCategory.js:
7367 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
7368 * page/inspector/ResourcesPanel.js:
7369 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
7370 * page/inspector/inspector.js:
7371 (WebInspector.removeResource): Ditto.
7372
73732008-09-23 Timothy Hatcher <timothy@apple.com>
7374
timothy@apple.com3e116f12008-09-24 02:07:50 +00007375 Fixes a bug where inspecting a node after reloading the page
7376 would not reveal the node in the DOM tree. The TreeOutline
7377 was not being told to forget decendants of a removed child.
7378 So old TreeElements would be found that are not in the tree.
7379
7380 https://bugs.webkit.org/show_bug.cgi?id=21036
7381
7382 Reviewed by Kevin McCullough.
7383
7384 * page/inspector/treeoutline.js:
7385 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
7386 in addition to _forgetTreeElement.
7387 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
7388 in addition to _forgetTreeElement.
7389 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
7390 search for known elements.
7391 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
7392 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
7393 descendants and call _forgetTreeElement.
7394 * page/inspector/utilities.js:
7395 (Array.prototype.remove): Speed up this function by using Array.indexOf
7396 when onlyFirst is true.
7397
73982008-09-23 Timothy Hatcher <timothy@apple.com>
7399
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +00007400 Fixes a bug where inspecting some short text nodes does
7401 not reveal them in the Elements panel DOM tree.
7402
7403 https://bugs.webkit.org/show_bug.cgi?id=21035
7404
7405 Reviewed by Oliver Hunt.
7406
7407 * page/inspector/ElementsTreeOutline.js:
7408 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
7409 The revealAndSelectNode() method might find a different element
7410 if there is inlined text, and the select() call would change the
7411 focusedDOMNode and reenter this setter. So to avoid calling
7412 focusedNodeChanged() twice, first check if _focusedDOMNode is
7413 the same node as the one passed in.
7414 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
7415 this.treeOutline, since this is the TreeOutline.
7416 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
7417 Provides default functions for isAncestor, getParet and equal.
7418 Calls the base protoype's findTreeElement. If that returns null
7419 and the node is a text node, try finding it's parent.
7420 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
7421 Renamed to revealAndSelectNode.
7422 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
7423 Selects and reveals the node passed in. Use the simple findTreeElement.
7424 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
7425 Remove use of this.treeOutline, since this is the TreeOutline.
7426
74272008-09-23 Timothy Hatcher <timothy@apple.com>
7428
timothy@apple.combffde042008-09-24 02:07:39 +00007429 Fixes an exception that happened when removing a Resource
7430 from the ResourcesPanel.
7431
7432 https://bugs.webkit.org/show_bug.cgi?id=21034
7433
7434 Reviewed by Kevin McCullough.
7435
7436 * page/inspector/ResourcesPanel.js:
7437 (WebInspctor.ResourcesPanel.prototype.removeResource):
7438 Remove the graphElement.
7439
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000074402008-09-23 Kevin McCullough <kmccullough@apple.com>
7441
7442 Fixed "Time" to "Tim"
7443
7444 * ChangeLog:
7445
zimmermann@webkit.org718a2232008-09-24 01:00:42 +000074462008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
7447
7448 Reviewed by Oliver.
7449
7450 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
7451 from SVGDocumentExtensions to SVGElement. It's more useful to store
7452 the list of SVGElementInstances per SVGElement, instead of using
7453 a document-wide hash for this purpose.
7454
7455 * svg/SVGAnimateMotionElement.cpp:
7456 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
7457 * svg/SVGAnimateTransformElement.cpp:
7458 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
7459 * svg/SVGAnimationElement.cpp:
7460 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
7461 * svg/SVGDocumentExtensions.cpp:
7462 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
7463 * svg/SVGDocumentExtensions.h:
7464 * svg/SVGElement.cpp:
7465 (WebCore::SVGElement::mapInstanceToElement):
7466 (WebCore::SVGElement::removeInstanceMapping):
7467 (WebCore::SVGElement::instancesForElement):
7468 * svg/SVGElement.h:
7469 * svg/SVGElementInstance.cpp:
7470 (WebCore::SVGElementInstance::SVGElementInstance):
7471 (WebCore::SVGElementInstance::~SVGElementInstance):
7472 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
7473 * svg/SVGElementInstance.h:
7474 * svg/SVGStyledElement.cpp:
7475 (WebCore::SVGStyledElement::svgAttributeChanged):
7476 (WebCore::SVGStyledElement::childrenChanged):
7477 * svg/SVGStyledElement.h:
7478
kevino@webkit.org706ea432008-09-24 00:53:56 +000074792008-09-23 Kevin Ollivier <kevino@theolliviers.com>
7480
7481 wx build fix.
7482
7483 * WebCoreSources.bkl:
7484
zimmermann@webkit.org97c71082008-09-24 00:23:28 +000074852008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
7486
7487 Rubber stamped by Sam.
7488
7489 Move code from EventTarget to EventTargetNode.
7490
7491 I refactored most parts to live in EventTarget, a year ago,
7492 though the implementation of EventTargetSVGElementInstance is
7493 done in another way, that obsoletes this.
7494
7495 * dom/Document.cpp:
7496 (WebCore::Document::addListenerTypeIfNeeded):
7497 * dom/Document.h:
7498 * dom/EventTarget.cpp:
7499 * dom/EventTarget.h:
7500 (WebCore::allowEventDispatch):
7501 * dom/EventTargetNode.cpp:
7502 (WebCore::EventTargetNode::insertedIntoDocument):
7503 (WebCore::EventTargetNode::removedFromDocument):
7504 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
7505 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
7506 (WebCore::EventTargetNode::addEventListener):
7507 (WebCore::EventTargetNode::removeEventListener):
7508 (WebCore::EventTargetNode::removeAllEventListeners):
7509 (WebCore::EventTargetNode::handleLocalEvents):
7510 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
7511 (WebCore::EventTargetNode::dispatchEvent):
7512 (WebCore::EventTargetNode::dispatchGenericEvent):
7513 (WebCore::EventTargetNode::dispatchWindowEvent):
7514 (WebCore::EventTargetNode::removeEventListenerForType):
7515 * dom/EventTargetNode.h:
7516 * svg/EventTargetSVGElementInstance.cpp:
7517 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
7518 * svg/SVGElement.cpp:
7519 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
7520 * svg/SVGElement.h:
7521 (WebCore::SVGElement::supplementalTransform):
7522
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +000075232008-09-23 Dave Hyatt <hyatt@apple.com>
7524
7525 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
7526 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
7527
7528 Reviewed by Sam Weinig
7529
7530 * platform/mac/ScrollbarThemeMac.mm:
7531 (WebCore::ScrollbarThemeMac::trackRect):
7532 * platform/win/ScrollbarThemeSafari.cpp:
7533 (WebCore::ScrollbarTheme::nativeTheme):
7534 (WebCore::ScrollbarThemeSafari::trackRect):
7535
bdakin@apple.comaab5d692008-09-24 00:09:33 +000075362008-09-23 Beth Dakin <bdakin@apple.com>
7537
7538 Reviewed by Sam Weinig.
7539
7540 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
7541 link at gmail does not support AXPress action
7542 and corresponding: <rdar://problem/6216178>
7543
7544 I fixed this bug by making AccessibilityObject::anchorElement
7545 support ARIA links.
7546
7547 * page/AccessibilityImageMapLink.cpp:
7548 (WebCore::AccessibilityImageMapLink::anchorElement):
7549 * page/AccessibilityImageMapLink.h:
7550 * page/AccessibilityObject.cpp:
7551 (WebCore::AccessibilityObject::anchorElement):
7552 * page/AccessibilityObject.h:
7553 (WebCore::AccessibilityObject::isNativeAnchor):
7554 * page/AccessibilityRenderObject.cpp:
7555 (WebCore::AccessibilityRenderObject::isNativeAnchor):
7556 (WebCore::AccessibilityRenderObject::anchorElement):
7557 (WebCore::AccessibilityRenderObject::internalLinkElement):
7558 (WebCore::AccessibilityRenderObject::url):
7559 * page/AccessibilityRenderObject.h:
7560 * page/mac/AccessibilityObjectWrapper.mm:
7561 (AXLinkElementForNode):
7562
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000075632008-09-23 Kevin McCullough <kmccullough@apple.com>
7564
kmccullough@apple.com70d32f22008-09-24 01:18:31 +00007565 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +00007566
7567 Bug 20949: Catch repeated messages in Inspector Controller to limit
7568 memory usage
7569 - Store the repeat count in the Console Message object, in the
7570 Inspector Controller and JS ConsoleMessage object.
7571
7572 * page/InspectorController.cpp:
7573 (WebCore::ConsoleMessage::ConsoleMessage):
7574 (WebCore::ConsoleMessage::operator==):
7575 (WebCore::InspectorController::InspectorController):
7576 (WebCore::InspectorController::addConsoleMessage):
7577 (WebCore::InspectorController::addScriptConsoleMessage):
7578 * page/InspectorController.h:
7579 * page/inspector/Console.js:
7580 * page/inspector/Resource.js:
7581 * page/inspector/ResourcesPanel.js:
7582 * page/inspector/SourceFrame.js:
7583
zimmermann@webkit.org29d22032008-09-23 23:44:20 +000075842008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
7585
7586 Reviewed by Eric.
7587
7588 Working on proper EventTarget support for SVGElementInstance.
7589
7590 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
7591 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
7592
7593 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
7594 implementation. Let it use TreeShared directly.
7595
7596 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
7597 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
7598
7599 * GNUmakefile.am:
7600 * WebCore.pro:
7601 * WebCore.vcproj/WebCore.vcproj:
7602 * WebCore.xcodeproj/project.pbxproj:
7603 * bindings/js/JSEventTargetBase.cpp:
7604 (WebCore::retrieveEventTargetAndCorrespondingNode):
7605 (WebCore::toJS):
7606 * bindings/js/JSEventTargetBase.h:
7607 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
7608 (WebCore::):
7609 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
7610 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
7611 (WebCore::JSEventTargetSVGElementInstance::setListener):
7612 (WebCore::JSEventTargetSVGElementInstance::getListener):
7613 (WebCore::toEventTargetSVGElementInstance):
7614 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
7615 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
7616 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
7617 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
7618 (WebCore::JSEventTargetSVGElementInstance::put):
7619 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
7620 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
7621 (WebCore::toJS):
7622 * bindings/objc/DOM.mm:
7623 (+[DOMNode _wrapEventTarget:WebCore::]):
7624 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
7625 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
7626 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
7627 (-[DOMSVGElementInstance WebCore::]):
7628 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
7629 (-[DOMSVGElementInstance addEventListener:::]):
7630 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
7631 (-[DOMSVGElementInstance removeEventListener:::]):
7632 (-[DOMSVGElementInstance dispatchEvent:]):
7633 * bindings/objc/DOMEvents.h:
7634 * bindings/scripts/CodeGeneratorJS.pm:
7635 * bindings/scripts/CodeGeneratorObjC.pm:
7636 * svg/EventTargetSVGElementInstance.cpp: Added.
7637 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
7638 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
7639 (WebCore::EventTargetSVGElementInstance::addEventListener):
7640 (WebCore::EventTargetSVGElementInstance::removeEventListener):
7641 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
7642 * svg/EventTargetSVGElementInstance.h: Added.
7643 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
7644 (WebCore::EventTargetSVGElementInstance::toNode):
7645 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
7646 (WebCore::EventTargetSVGElementInstance::refEventTarget):
7647 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
7648 (WebCore::EventTargetSVGElementInstanceCast):
7649 * svg/SVGElement.cpp:
7650 (WebCore::SVGElement::dispatchEvent):
7651 * svg/SVGElementInstance.cpp:
7652 (WebCore::SVGElementInstance::SVGElementInstance):
7653 (WebCore::SVGElementInstance::~SVGElementInstance):
7654 * svg/SVGElementInstance.h:
7655 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
7656 * svg/SVGElementInstance.idl:
7657
mitz@apple.come47c5af2008-09-23 21:47:54 +000076582008-09-23 Dan Bernstein <mitz@apple.com>
7659
7660 Reviewed by Dave Hyatt.
7661
7662 - https://bugs.webkit.org/show_bug.cgi?id=21040
7663 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
7664
7665 * platform/graphics/mac/SimpleFontDataMac.mm:
7666 (WebCore::SimpleFontData::getCTFont):
7667
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +000076682008-09-23 David Hyatt <hyatt@apple.com>
7669
7670 https://bugs.webkit.org/show_bug.cgi?id=21039
7671
7672 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
7673
7674 Reviewed by Sam Weinig
7675
7676 * platform/ScrollView.h:
7677 * platform/Scrollbar.cpp:
7678 (WebCore::Scrollbar::setFrameGeometry):
7679 * platform/Scrollbar.h:
7680 * platform/Widget.cpp:
7681 (WebCore::Widget::convertFromContainingWindow):
7682 * platform/Widget.h:
7683 * platform/mac/ScrollViewMac.mm:
7684 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
7685 (WebCore::ScrollView::ScrollView):
7686 (WebCore::ScrollView::~ScrollView):
7687 (WebCore::ScrollView::windowResizerRect):
7688 (WebCore::ScrollView::resizerOverlapsContent):
7689 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
7690 (WebCore::ScrollView::setParent):
7691 * platform/mac/WidgetMac.mm:
7692 (WebCore::Widget::convertFromContainingWindow):
7693
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +000076942008-09-23 Dirk Schulze <vbs85@gmx.de>
7695
7696 Reviewed by Darin Adler. Landed by Jan Alonzo.
7697
7698 Added support for getImageData() and putImageData()
7699 to Cairo.
7700
7701 [CAIRO] needs getImageData and putImageData support
7702 https://bugs.webkit.org/show_bug.cgi?id=20838
7703
7704 * platform/graphics/cairo/ImageBufferCairo.cpp:
7705 (WebCore::ImageBuffer::ImageBuffer):
7706 (WebCore::ImageBuffer::getImageData):
7707 (WebCore::ImageBuffer::putImageData):
7708
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +000077092008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
7710
7711 Reviewed by Holger Freyther.
7712
7713 http://bugs.webkit.org/show_bug.cgi?id=18987
7714 [GTK] Implement SharedBuffer::createWithContentsOfFile and
7715 KURL::fileSystemPath
7716
7717 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
7718 * platform/gtk/KURLGtk.cpp: Added.
7719 (WebCore::KURL::fileSystemPath): Implemented.
7720 * platform/gtk/SharedBufferGtk.cpp: Added.
7721 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
7722 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
7723
ap@webkit.org198304c2008-09-23 16:34:41 +000077242008-09-23 Alexey Proskuryakov <ap@webkit.org>
7725
ap@webkit.orgccfa60a2008-09-23 20:39:22 +00007726 Reviewed by Oliver Hunt, okayed by Darin Adler.
7727
7728 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
7729
7730 * rendering/InlineTextBox.cpp:
7731 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
7732
77332008-09-23 Alexey Proskuryakov <ap@webkit.org>
7734
ap@webkit.org198304c2008-09-23 16:34:41 +00007735 Reviewed by Darin Adler.
7736
7737 https://bugs.webkit.org/show_bug.cgi?id=21023
7738 Don't use TEC for encodings supported by ICU
7739
7740 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
7741 x-mac-greek, and x-mac-turkish.
7742
7743 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
7744 Register aliases for these encodings that are not registered automatically; updated comments.
7745
mjs@apple.coma6dc93d2008-09-23 07:46:55 +000077462008-09-23 Maciej Stachowiak <mjs@apple.com>
7747
7748 Reviewed by Darin.
7749
7750 - speed up instanceof some more
7751 https://bugs.webkit.org/show_bug.cgi?id=20818
7752
7753 ~2% speedup on EarleyBoyer
7754
7755 (WebCore updates.)
7756
7757 * bindings/js/JSQuarantinedObjectWrapper.h:
7758 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
7759
oliver@apple.combc10aae2008-09-23 07:40:49 +000077602008-09-22 Darin Adler <darin@apple.com>
7761
7762 Reviewed by Oliver Hunt.
7763
7764 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
7765 getting pixels by index from CanvasPixelArray is unnecessarily slow
7766
7767 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
7768 * WebCore.vcproj/WebCore.vcproj: Ditto.
7769 * WebCore.xcodeproj/project.pbxproj: Ditto.
7770
7771 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
7772 indexSetter. These are now both inlined, so in the header.
7773 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
7774 function is what's used for HasCustomIndexGetter. Also moved the
7775 indexSetter function here.
7776
7777 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
7778 to use a getByIndex member function rather than an indexGetter static
7779 member function in a property slot. This lets us avoid the property
7780 slot mechanism's rule where it turns numeric property names into
7781 strings in the identifier table, which is good because that's slow.
7782 Also added a new property CustomHeader that allows IDL files to
7783 introduce headers to be included -- useful when we have functions
7784 that we want to inline into the binding.
7785
7786 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
7787
eric@webkit.org924a2d32008-09-23 07:04:11 +000077882008-09-23 Eric Seidel <eric@webkit.org>
7789
7790 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +00007791
7792 Another blind stab in the dark.
7793
7794 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
7795
77962008-09-23 Eric Seidel <eric@webkit.org>
7797
7798 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +00007799
7800 Third time's the charm, eh? My local build is sadly still not done...
7801
7802 * platform/graphics/AffineTransform.cpp: remove extra &
7803 * platform/graphics/AffineTransform.h: remove extra &
7804
eric@webkit.orgf394f462008-09-23 06:38:10 +000078052008-09-22 Eric Seidel <eric@webkit.org>
7806
7807 No review, build fix only.
7808
eric@webkit.orgf9212312008-09-23 06:47:51 +00007809 * platform/graphics/AffineTransform.cpp: remove extra ;
7810
78112008-09-22 Eric Seidel <eric@webkit.org>
7812
7813 No review, build fix only.
7814
eric@webkit.orgf394f462008-09-23 06:38:10 +00007815 Speculative fix for the build while I wait for my compile to finish.
7816
7817 * platform/graphics/AffineTransform.cpp:
7818
eric@webkit.org10583212008-09-23 06:05:59 +000078192008-09-22 Dirk Schulze <vbs85@gmx.de>
7820
7821 Reviewed by eseidel. Landed by eseidel.
7822
7823 Moved makeMapBetweenRects from SVG/CG to AffineTransform
7824 Make SVGResourceClipper::applyClip more cross-platform
7825
7826 * platform/graphics/AffineTransform.cpp:
7827 * platform/graphics/AffineTransform.h:
7828 * svg/graphics/cg/CgSupport.cpp:
7829 * svg/graphics/cg/CgSupport.h:
7830 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
7831 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
7832 * svg/graphics/cg/SVGResourceClipperCg.cpp:
7833 (WebCore::SVGResourceClipper::applyClip):
7834
alp@webkit.orgfaa63e42008-09-23 03:08:57 +000078352008-09-22 Alp Toker <alp@nuanti.com>
7836
7837 Reviewed by David Hyatt.
7838
7839 https://bugs.webkit.org/show_bug.cgi?id=16331
7840 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
7841
7842 Obey GTK+ focusing conventions for controls and anchor elements.
7843
7844 It could be interesting to push these decisions up to Settings or
7845 ChromeClient some day but this gets things working.
7846
7847 Right and middle click events still need some work to match GTK+
7848 conventions.
7849
7850 * html/HTMLAnchorElement.cpp:
7851 (WebCore::HTMLAnchorElement::isMouseFocusable):
7852 * html/HTMLFormControlElement.cpp:
7853 (WebCore::HTMLFormControlElement::isMouseFocusable):
7854 * page/EventHandler.cpp:
7855 (WebCore::EventHandler::sendContextMenuEvent):
7856
darin@apple.com4a266462008-09-23 01:24:31 +000078572008-09-22 Darin Adler <darin@apple.com>
7858
7859 * page/mac/FrameMac.mm:
7860 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
7861
weinig@apple.comb6a39b72008-09-23 01:19:56 +000078622008-09-22 Sam Weinig <sam@webkit.org>
7863
7864 Reviewed by Dan Bernstein.
7865
7866 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
7867 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
7868 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
7869 class!
7870
7871 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
7872 non-selectable input types, but return undefined when accessed.
7873
7874 * DerivedSources.make:
7875 * GNUmakefile.am:
7876 * WebCore.pro:
7877 * WebCore.vcproj/WebCore.vcproj:
7878 * WebCore.xcodeproj/project.pbxproj:
7879 * WebCoreSources.bkl:
7880 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
7881 * bindings/js/JSHTMLInputElementBase.h: Removed.
7882 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
7883 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
7884 (WebCore::JSHTMLInputElement::selectionStart):
7885 (WebCore::JSHTMLInputElement::selectionEnd):
7886 * bindings/js/JSHTMLInputElementCustom.h: Added.
7887 * html/HTMLInputElement.idl:
7888
mitz@apple.com895c54c2008-09-23 00:48:17 +000078892008-09-22 Dan Bernstein <mitz@apple.com>
7890
7891 Reviewed by Sam Weinig.
7892
7893 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
7894
7895 Not testable in DumpRenderTree or in Safari
7896
7897 * page/mac/FrameMac.mm:
7898 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
7899 case that the selection start node is a block.
7900
hyatt@apple.com78083552008-09-22 22:17:40 +000079012008-09-22 David Hyatt <hyatt@apple.com>
7902
7903 https://bugs.webkit.org/show_bug.cgi?id=21007
7904
7905 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
7906
7907 Reviewed by Sam Weinig
7908
7909 * page/EventHandler.cpp:
7910 (WebCore::EventHandler::handleMouseDoubleClickEvent):
7911
eric@webkit.orgb57170b2008-09-22 21:44:28 +000079122008-09-22 Eric Seidel <eric@webkit.org>
7913
7914 No review, rollback only.
7915
7916 Roll out Peter's change (per his request)
7917 http://trac.webkit.org/changeset/36069
7918 https://bugs.webkit.org/show_bug.cgi?id=19663
7919 This change has been the source of numerous regressions
7920 (several of which were latent bugs revealed by this change,
7921 others were bugs in this change)
7922
7923 * platform/graphics/BitmapImage.cpp:
7924 (WebCore::BitmapImage::BitmapImage):
7925 (WebCore::BitmapImage::startAnimation):
7926 (WebCore::BitmapImage::advanceAnimation):
7927 * platform/graphics/BitmapImage.h:
7928 * platform/graphics/cairo/ImageCairo.cpp:
7929 (WebCore::BitmapImage::draw):
7930 * platform/graphics/cg/ImageCG.cpp:
7931 (WebCore::BitmapImage::draw):
7932 * platform/graphics/qt/ImageQt.cpp:
7933 (WebCore::BitmapImage::draw):
7934 * platform/graphics/wx/ImageWx.cpp:
7935 (WebCore::BitmapImage::draw):
7936
mitz@apple.comdc318202008-09-22 21:32:14 +000079372008-09-22 Dan Bernstein <mitz@apple.com>
7938
7939 Reviewed by Sam Weinig.
7940
7941 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
7942
7943 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
7944 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
7945
7946 * config.h: Use Core Text if not building for Leopard or Tiger.
7947
hyatt@apple.com143e97c2008-09-22 21:03:02 +000079482008-09-22 David Hyatt <hyatt@apple.com>
7949
7950 https://bugs.webkit.org/show_bug.cgi?id=21006
7951
7952 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
7953 switched on. There are still a few more refinements to make to the rendering and behavior.
7954
7955 Reviewed by Darin Adler
7956
7957 * platform/ScrollbarThemeComposite.cpp:
7958 (WebCore::ScrollbarThemeComposite::paint):
7959 * platform/ScrollbarThemeComposite.h:
7960 (WebCore::ScrollbarThemeComposite::paintTrack):
7961 (WebCore::ScrollbarThemeComposite::paintButton):
7962 (WebCore::ScrollbarThemeComposite::paintThumb):
7963 * platform/mac/ScrollbarThemeMac.h:
7964 * platform/mac/ScrollbarThemeMac.mm:
7965 (WebCore::ScrollbarThemeMac::backButtonRect):
7966 (WebCore::ScrollbarThemeMac::forwardButtonRect):
7967 (WebCore::scrollbarPartToHIPressedState):
7968 (WebCore::ScrollbarThemeMac::paint):
7969 * platform/mac/WidgetMac.mm:
7970 (WebCore::Widget::invalidateRect):
7971
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +000079722008-09-22 Chris Marrin <cmarrin@apple.com>
7973
7974 Reviewed by Sam Weinig
7975
7976 transition end event when -webkit-transition-property: all puts wrong
7977 propertyName in event
7978 https://bugs.webkit.org/show_bug.cgi?id=20903
7979
7980 * page/animation/ImplicitAnimation.cpp:
7981 (WebCore::ImplicitAnimation::sendTransitionEvent):
7982
cfleizach@apple.com70013042008-09-22 18:30:36 +000079832008-09-22 Chris Fleizach <cfleizach@apple.com>
7984
7985 Reviewed by Darin Adler.
7986
cfleizach@apple.comdebb8722008-09-22 18:47:16 +00007987 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
7988
7989 Test: accessibility/table-one-cell.html
7990
7991 * page/AccessibilityTable.cpp:
7992 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
7993
79942008-09-22 Chris Fleizach <cfleizach@apple.com>
7995
7996 Reviewed by Darin Adler.
7997
cfleizach@apple.com70013042008-09-22 18:30:36 +00007998 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
7999
8000 Test: accessibility/textarea-selected-text-range.html
8001
8002 * page/AccessibilityRenderObject.cpp:
8003 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
8004
hyatt@apple.com4139b152008-09-22 18:21:37 +000080052008-09-22 David Hyatt <hyatt@apple.com>
8006
8007 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
8008 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
8009 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
8010 rule.
8011
8012 Reviewed by Sam Weinig
8013
8014 Added fast/css/nested-rule-parent-sheet.html
8015
8016 * css/CSSImportRule.cpp:
8017 (WebCore::CSSImportRule::insertedIntoParent):
8018 * css/CSSRule.cpp:
8019 (WebCore::CSSRule::parentStyleSheet):
8020 (WebCore::CSSRule::parentRule):
8021 * css/CSSStyleSheet.cpp:
8022 (WebCore::CSSStyleSheet::CSSStyleSheet):
8023 * css/CSSStyleSheet.h:
8024
mitz@apple.comd409a262008-09-22 18:17:57 +000080252008-09-22 Dan Bernstein <mitz@apple.com>
8026
8027 Reviewed by Sam Weinig.
8028
8029 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
8030 Make the ATSUI code path respect spacingDisabled()
8031
8032 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
8033
8034 * platform/graphics/mac/FontMacATSUI.mm:
8035 (WebCore::overrideLayoutOperation):
8036
mjs@apple.com221b4752008-09-22 15:03:52 +000080372008-09-22 Maciej Stachowiak <mjs@apple.com>
8038
8039 Reviewed by Cameron Zwarich.
8040
8041 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
8042
8043 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
8044
8045 2.2% speedup on EarleyBoyer benchmark.
8046
8047 * bindings/js/JSQuarantinedObjectWrapper.cpp:
8048 * bindings/js/JSQuarantinedObjectWrapper.h:
8049 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
8050 * bindings/scripts/CodeGeneratorJS.pm:
8051
aroben@apple.comd5cbddc2008-09-22 14:31:08 +000080522008-09-22 Adam Roben <aroben@apple.com>
8053
8054 Windows build fix
8055
8056 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
8057
mjs@apple.coma173abd2008-09-22 13:59:06 +000080582008-09-22 Maciej Stachowiak <mjs@apple.com>
8059
8060 Reviewed by Dave Hyatt.
8061
8062 Based on initial work by Darin Adler.
8063
8064 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
8065 - use this to JIT inline code for eq_null and neq_null
8066 https://bugs.webkit.org/show_bug.cgi?id=20823
8067
8068 * WebCore.xcodeproj/project.pbxproj:
8069 * WebCore.vcproj/WebCore.vcproj:
8070 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8071 (WebCore::JSCSSStyleDeclaration::nameGetter):
8072 * bindings/js/JSHTMLAllCollection.cpp: Added.
8073 (WebCore::):
8074 * bindings/js/JSHTMLAllCollection.h:
8075 (WebCore::JSHTMLAllCollection::createStructureID):
8076 (WebCore::JSHTMLAllCollection::toBoolean):
8077
vestbo@webkit.orgab848362008-09-22 13:27:06 +000080782008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
8079
8080 Reviewed by Simon.
8081
8082 Fix the QtWebKit build
8083
8084 * bridge/qt/qt_instance.cpp:
8085 (JSC::Bindings::QtRuntimeObjectImp::construct):
8086 * bridge/qt/qt_runtime.cpp:
8087
alp@webkit.orgcc9b0812008-09-22 08:53:06 +000080882008-09-22 Alp Toker <alp@nuanti.com>
8089
8090 Suggested by David Hyatt.
8091
8092 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
8093 so make it public.
8094
8095 * platform/ScrollView.h:
8096
hyatt@apple.com7cb18562008-09-22 07:57:52 +000080972008-09-22 David Hyatt <hyatt@apple.com>
8098
hyatt@apple.combac66582008-09-22 08:36:44 +00008099 Fix a regression in Windows scrollbar painting. (Also fix the same
8100 bug in my new viewless Mac scrollbar painting code). The track rect
8101 was being improperly inflated when painting resulting in the scrollbar
8102 being too tall and painting in the border of overflow sections.
8103
8104 Reviewed by Oliver Hunt
8105
8106 * platform/mac/ScrollbarThemeMac.mm:
8107 (WebCore::ScrollbarThemeMac::trackRect):
8108 * platform/win/ScrollbarThemeSafari.cpp:
8109 (WebCore::ScrollbarThemeSafari::trackRect):
8110
81112008-09-22 David Hyatt <hyatt@apple.com>
8112
hyatt@apple.com7cb18562008-09-22 07:57:52 +00008113 Fix a hit testing bug where events are mistakenly passed to subframes
8114 if the mouse is over the border or padding area of the frame. Add
8115 a boolean flag, isOverWidget(), to hit test results so that EventHandler
8116 can check it to tell if the mouse is really over the content box of a
8117 RenderWidget and not just in the border/padding area.
8118
8119 This is not testable, since the old code properly recovered when it detected
8120 that the mouse was outside the bounds of the view, but this prevents
8121 the extra passdown from even occurring (and is basically a nice cleanup).
8122
8123 Reviewed by Oliver Hunt
8124
8125 * page/EventHandler.cpp:
8126 (WebCore::EventHandler::handleMousePressEvent):
8127 (WebCore::EventHandler::hitTestResultAtPoint):
8128 (WebCore::subframeForHitTestResult):
8129 (WebCore::EventHandler::handleMouseDoubleClickEvent):
8130 (WebCore::EventHandler::handleMouseMoveEvent):
8131 (WebCore::EventHandler::handleMouseReleaseEvent):
8132 (WebCore::EventHandler::handleWheelEvent):
8133 * page/MouseEventWithHitTestResults.h:
8134 (WebCore::MouseEventWithHitTestResults::isOverWidget):
8135 * rendering/HitTestResult.cpp:
8136 (WebCore::HitTestResult::HitTestResult):
8137 (WebCore::HitTestResult::operator=):
8138 * rendering/HitTestResult.h:
8139 (WebCore::HitTestResult::isOverWidget):
8140 (WebCore::HitTestResult::setIsOverWidget):
8141 * rendering/RenderWidget.cpp:
8142 (WebCore::RenderWidget::nodeAtPoint):
8143 * rendering/RenderWidget.h:
8144
hyatt@apple.comb2bf5272008-09-22 05:54:40 +000081452008-09-21 David Hyatt <hyatt@apple.com>
8146
8147 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
8148 both it and ScrollView's updateContents method be off-limits to everyone in
8149 WebCore except for RenderView.
8150
8151 Make repaintViewRectangle the only possible method for WebCore code to do
8152 an invalidation. This ensures that all invalidates triggered by WebCore
8153 cross-platform code that cross ownerElement() boundaries are transform-aware.
8154
8155 Make sure that iframes/frames contained inside objects that have transforms
8156 or reflections are not allowed to blit (this was already true for transparency).
8157
8158 It is not possible to make a test for any of this, since iframe scrolling
8159 still doesn't work on Mac (since the invalidates are not being done
8160 through WebCore's cross-platform invalidation code but are instead going
8161 through NSScrollView's setNeedsDisplay still).
8162
8163 Reviewed by Oliver Hunt
8164
8165 * editing/SelectionController.cpp:
8166 (WebCore::SelectionController::recomputeCaretRect):
8167 (WebCore::SelectionController::invalidateCaretRect):
8168 (WebCore::SelectionController::focusedOrActiveStateChanged):
8169 * page/FrameView.cpp:
8170 (WebCore::FrameView::repaintContentRectangle):
8171 (WebCore::FrameView::endDeferredRepaints):
8172 * page/FrameView.h:
8173 * platform/ScrollView.h:
8174 * rendering/RenderBox.cpp:
8175 (WebCore::RenderBox::paintFillLayerExtended):
8176 * rendering/RenderLayer.cpp:
8177 (WebCore::RenderLayer::enclosingPositionedAncestor):
8178 (WebCore::RenderLayer::requiresSlowRepaints):
8179 * rendering/RenderLayer.h:
8180 (WebCore::RenderLayer::hasTransform):
8181 * rendering/RenderView.cpp:
8182 (WebCore::RenderView::paintBoxDecorations):
8183 (WebCore::RenderView::repaintViewRectangle):
8184 (WebCore::RenderView::setSelection):
8185
mjs@apple.com52b67602008-09-22 03:15:52 +000081862008-09-21 Maciej Stachowiak <mjs@apple.com>
8187
8188 Reviewed by Darin.
8189
8190 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
8191 https://bugs.webkit.org/show_bug.cgi?id=20981
8192
8193 * bindings/js/JSAudioConstructor.cpp:
8194 (WebCore::JSAudioConstructor::JSAudioConstructor):
8195 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8196 (WebCore::JSCSSStyleDeclaration::nameGetter):
8197 * bindings/js/JSDOMBinding.cpp:
8198 (WebCore::createDOMStructure):
8199 * bindings/js/JSDOMBinding.h:
8200 (WebCore::getDOMStructure):
8201 * bindings/js/JSDOMWindowShell.cpp:
8202 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
8203 (WebCore::JSDOMWindowShell::setWindow):
8204 * bindings/js/JSEventTargetNode.cpp:
8205 (WebCore::JSEventTargetNode::createPrototype):
8206 * bindings/js/JSHTMLOptionElementConstructor.cpp:
8207 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
8208 * bindings/js/JSImageConstructor.cpp:
8209 (WebCore::JSImageConstructor::JSImageConstructor):
8210 * bindings/js/JSXMLHttpRequestConstructor.cpp:
8211 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
8212 * bindings/js/JSXSLTProcessorConstructor.cpp:
8213 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
8214 * bindings/scripts/CodeGeneratorJS.pm:
8215
darin@apple.comad89d662008-09-22 02:12:57 +000082162008-09-21 Darin Adler <darin@apple.com>
8217
8218 Reviewed by Maciej Stachowiak.
8219
8220 - fix problem Maciej noticed where every JSNamedNodesCollection
8221 gets its own StructureID
8222
8223 * bindings/js/JSNamedNodesCollection.cpp:
8224 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
8225 getDOMStructure to get the structure.
8226 * bindings/js/JSNamedNodesCollection.h:
8227 (WebCore::JSNamedNodesCollection::createPrototype): Return the
8228 object prototype.
8229
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +000082302008-09-20 David Hyatt <hyatt@apple.com>
8231
8232 Make sure transformed scrollbars in overflow sections position
8233 properly. This patch mimics the same behavior that works for
8234 iframes, namely making sure that the same code that dynamically
8235 adjusts iframe widget positions at paint time for fixed positioning
8236 and transforms also applies to scrollbars. (This is as simple as passing
8237 in the current translation factor at paint time rather than crawling
8238 up the layer tree to compute a "false" absolute position.)
8239
8240 An existing transform test covers this (although only a pixel result
8241 reveals the correct rendering).
8242
8243 Reviewed by Darin Adler
8244
8245 * rendering/RenderLayer.cpp:
8246 (WebCore::RenderLayer::updateLayerPositions):
8247 (WebCore::RenderLayer::positionOverflowControls):
8248 (WebCore::RenderLayer::paintOverflowControls):
8249 (WebCore::RenderLayer::paintLayer):
8250 * rendering/RenderLayer.h:
8251
sfalken@apple.comd0274692008-09-22 00:08:30 +000082522008-09-21 Steve Falkenburg <sfalken@apple.com>
8253
sfalken@apple.com4fe10f92008-09-22 00:12:28 +00008254 Removed unnecessary nested timer check.
8255
8256 Rubber-stamped by Dan Bernstein.
8257
8258 * platform/win/SharedTimerWin.cpp:
8259 (WebCore::TimerWindowWndProc):
8260
82612008-09-21 Steve Falkenburg <sfalken@apple.com>
8262
sfalken@apple.comd0274692008-09-22 00:08:30 +00008263 Improve timer resolution on WinXP.
8264 https://bugs.webkit.org/show_bug.cgi?id=20979
8265
8266 Removed last-chance timer. It should not be necessary.
8267 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
8268 Remove Vista checks. We now run the same code on both XP and Vista.
8269
8270 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
8271 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
8272
8273 Reviewed by Maciej Stachowiak.
8274
8275 * platform/win/SharedTimerWin.cpp:
8276 (WebCore::):
8277 (WebCore::TimerWindowWndProc):
8278 (WebCore::setSharedTimerFireTime):
8279 * platform/win/SystemTimeWin.cpp:
8280 (WebCore::currentTime):
8281
eric@webkit.org3e96c482008-09-21 07:59:58 +000082822008-09-21 Dirk Schulze <vbs85@gmx.de>
8283
8284 Reviewed by eseidel. Landed by eseidel.
8285
eric@webkit.orgc3431282008-09-21 10:37:37 +00008286 All platforms use the DashArray in the GraphicsContext.
8287
8288 * svg/graphics/SVGPaintServer.h:
8289 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
8290 (WebCore::SVGPaintServerGradient::setup):
8291 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
8292 (WebCore::SVGPaintServerPattern::setup):
8293 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
8294 (WebCore::SVGPaintServerSolid::setup):
8295 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
8296 (WebCore::SVGPaintServerGradient::setup):
8297 * svg/graphics/qt/SVGPaintServerQt.cpp:
8298 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
8299 (WebCore::SVGPaintServerSolid::setup):
8300
83012008-09-21 Dirk Schulze <vbs85@gmx.de>
8302
8303 Reviewed by eseidel. Landed by eseidel.
8304
eric@webkit.org3e96c482008-09-21 07:59:58 +00008305 Moved DashArray to GraphicsContext.
8306
8307 * GNUmakefile.am:
8308 * WebCore.vcproj/WebCore.vcproj:
8309 * WebCore.xcodeproj/project.pbxproj:
8310 * platform/graphics/DashArray.h: Added.
8311 * platform/graphics/GraphicsContext.h:
8312 * platform/graphics/cairo/GraphicsContextCairo.cpp:
8313 (WebCore::GraphicsContext::setLineDash):
8314 * platform/graphics/cg/GraphicsContextCG.cpp:
8315 (WebCore::GraphicsContext::setLineDash):
8316 * platform/graphics/qt/GraphicsContextQt.cpp:
8317 (WebCore::GraphicsContext::setLineDash):
8318 * svg/graphics/SVGPaintServer.cpp:
8319 (WebCore::applyStrokeStyleToContext):
8320 * svg/graphics/SVGPaintServer.h:
8321 * svg/graphics/cg/CgSupport.cpp:
8322 * svg/graphics/cg/CgSupport.h:
8323
mitz@apple.com9138eca2008-09-21 07:16:29 +000083242008-09-21 Dan Bernstein <mitz@apple.com>
8325
8326 Reviewed by Mark Rowe.
8327
8328 - fix linker warnings
8329
8330 * WebCore.base.exp:
8331
darin@apple.comb1491772008-09-21 06:34:40 +000083322008-09-20 Darin Adler <darin@apple.com>
8333
darin@apple.comc3215132008-09-21 06:50:35 +00008334 - another try at fixing Qt
8335
8336 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
8337
83382008-09-20 Darin Adler <darin@apple.com>
8339
darin@apple.comb1491772008-09-21 06:34:40 +00008340 - blind attempt to fix Qt build
8341
8342 * bridge/qt/qt_runtime.cpp:
8343 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
8344 of regExpPrototype to make a RegExpObject. There should really be
8345 some sort of public helper function for this. Same thing for
8346 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
8347 (JSC::Bindings::):
8348 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
8349 It is not correct to do this inside the constructor because it could
8350 cause a garbage collect while the QtRuntimeMethod object is half-
8351 allocated, which could lead to a crash; note that RuntimeMethod,
8352 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
8353 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
8354
collinj@webkit.org8e01a432008-09-21 06:26:54 +000083552008-09-20 Collin Jackson <collinj@webkit.org>
8356
8357 Prefetch DNS for hyperlinks that the user mouses over.
8358
8359 https://bugs.webkit.org/show_bug.cgi?id=20931
8360
8361 Reviewed by Sam Weinig.
8362
8363 * page/Chrome.cpp:
8364 (WebCore::Chrome::mouseDidMoveOverElement):
8365
darin@apple.com8281d832008-09-21 02:29:12 +000083662008-09-20 Darin Adler <darin@apple.com>
8367
8368 Reviewed by Maciej Stachowiak.
8369
8370 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
8371 make each distinct C++ class get a distinct JSC::Structure
8372
8373 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8374 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
8375 ID. Note that this makes a new structure every time -- we could
8376 optimize this slightly be caching and reusing a single one.
8377
8378 * bridge/runtime_method.cpp:
8379 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
8380 getDOMStructure.
8381 * bridge/runtime_method.h:
8382 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
8383 getDOMStructure will work.
8384
8385 * bindings/js/JSDOMWindowShell.cpp:
8386 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
8387 0; needed in case garbage collection happens while creating the
8388 JSDOMWindow.
8389
mitz@apple.com9b3ac792008-09-21 00:42:30 +000083902008-09-20 Dan Bernstein <mitz@apple.com>
8391
mitz@apple.comf674f4f2008-09-21 00:49:49 +00008392 Reviewed by Eric Seidel.
8393
8394 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +00008395 <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 +00008396
8397 * svg/SVGTextContentElement.cpp:
8398 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
8399 not include the first character in the extraCharsAvailable count.
8400
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000084012008-09-20 Kevin Ollivier <kevino@theolliviers.com>
8402
kevino@webkit.orge66435f2008-09-20 23:39:25 +00008403 Reviewed by Dan Bernstein.
8404
8405 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +00008406
8407 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +00008408
8409 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
8410 (GetTextExtent):
8411
84122008-09-20 Kevin Ollivier <kevino@theolliviers.com>
8413
kevino@webkit.org2bc0d822008-09-20 22:31:24 +00008414 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
8415
8416 * WebCoreSources.bkl:
8417 * platform/ScrollView.h:
8418 * platform/wx/PopupMenuWx.cpp:
8419 (WebCore::PopupMenu::show):
8420 * platform/wx/RenderThemeWx.cpp:
8421 (WebCore::RenderThemeWx::paintButton):
8422 (WebCore::RenderThemeWx::paintTextField):
8423 (WebCore::RenderThemeWx::paintMenuList):
8424 (WebCore::RenderThemeWx::paintMenuListButton):
8425 * platform/wx/ScrollViewWx.cpp:
8426 (WebCore::ScrollView::setPlatformWidget):
8427 (WebCore::ScrollView::updateContents):
8428 (WebCore::ScrollView::update):
8429 (WebCore::ScrollView::visibleWidth):
8430 (WebCore::ScrollView::visibleHeight):
8431 (WebCore::ScrollView::scrollBy):
8432 (WebCore::ScrollView::resizeContents):
8433 (WebCore::ScrollView::contentsWidth):
8434 (WebCore::ScrollView::contentsHeight):
8435 (WebCore::ScrollView::isScrollViewScrollbar):
8436 (WebCore::ScrollView::adjustScrollbars):
8437 (WebCore::ScrollView::inWindow):
8438 (WebCore::ScrollView::removeChild):
8439 * platform/wx/WidgetWx.cpp:
8440 * plugins/wx/PluginViewWx.cpp:
8441 (WebCore::PluginView::setParentVisible):
8442 (WebCore::PluginView::updatePluginWidget):
8443
timothy@apple.comb697f272008-09-20 22:21:59 +000084442008-09-20 Timothy Hatcher <timothy@apple.com>
8445
8446 Fix the new Node Search button image to not be blurry.
8447
8448 * page/inspector/Images/nodeSearchButtons.png:
8449
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000084502008-09-20 Matt Lilek <webkit@mattlilek.com>
8451
8452 Reviewed by Tim Hatcher.
8453
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +00008454 Cut down some of the inspector javascript -> InspectorController glue code
8455 with two new macros. Also rearrange the exposed function list to be grouped
8456 by implementation and to all explicitly use the WebCore namespace.
8457
8458 * page/InspectorController.cpp:
8459 (WebCore::InspectorController::windowScriptObjectAvailable):
8460
84612008-09-20 Matt Lilek <webkit@mattlilek.com>
8462
8463 Reviewed by Tim Hatcher.
8464
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +00008465 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
8466
8467 * page/inspector/inspector.css:
8468
zimmermann@webkit.org953b7442008-09-20 20:19:45 +000084692008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
8470
8471 Reviewed by Eric.
8472
8473 Refactor HTMLImageLoader/SVGImageLoader code.
8474 Move html/HTMLImageLoader.* to loader/ImageLoader.*
8475
8476 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
8477 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
8478
8479 * GNUmakefile.am:
8480 * WebCore.pro:
8481 * WebCore.vcproj/WebCore.vcproj:
8482 * WebCore.xcodeproj/project.pbxproj:
8483 * WebCoreSources.bkl:
8484 * dom/Document.cpp:
8485 (WebCore::Document::dispatchImageLoadEventSoon):
8486 (WebCore::Document::removeImage):
8487 (WebCore::Document::dispatchImageLoadEventsNow):
8488 * dom/Document.h:
8489 * html/HTMLImageLoader.cpp:
8490 (WebCore::HTMLImageLoader::HTMLImageLoader):
8491 (WebCore::HTMLImageLoader::~HTMLImageLoader):
8492 (WebCore::HTMLImageLoader::sourceURI):
8493 (WebCore::HTMLImageLoader::notifyFinished):
8494 * html/HTMLImageLoader.h:
8495 * loader/DocLoader.h:
8496 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
8497 (WebCore::ImageLoader::ImageLoader):
8498 (WebCore::ImageLoader::~ImageLoader):
8499 (WebCore::ImageLoader::setImage):
8500 (WebCore::ImageLoader::setLoadingImage):
8501 (WebCore::ImageLoader::updateFromElement):
8502 (WebCore::ImageLoader::notifyFinished):
8503 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
8504 * svg/SVGImageElement.cpp:
8505 (WebCore::SVGImageElement::attach):
8506 (WebCore::SVGImageElement::insertedIntoDocument):
8507 (WebCore::SVGImageElement::imageSourceAttributeName):
8508 * svg/SVGImageElement.h:
8509 * svg/SVGImageLoader.cpp:
8510 (WebCore::SVGImageLoader::SVGImageLoader):
8511 (WebCore::SVGImageLoader::dispatchLoadEvent):
8512 (WebCore::SVGImageLoader::sourceURI):
8513 * svg/SVGImageLoader.h:
8514
zecke@webkit.orgf3834492008-09-20 14:23:55 +000085152008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
8516
zecke@webkit.org7a15a532008-09-20 14:24:27 +00008517 Build fix.
8518
zecke@webkit.orga832cca2008-09-20 14:24:45 +00008519 [qtwebkit] ScrollBar build fix after r36684.
8520 BackButtonPart was split into Start and End Part
8521 ForwardButtonPart was split into Start and End Part
8522
zecke@webkit.orga832cca2008-09-20 14:24:45 +00008523 * platform/qt/ScrollbarThemeQt.cpp:
8524 (WebCore::scPart):
8525 (WebCore::scrollbarPart):
8526 (WebCore::styleOptionSlider):
8527
85282008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
8529
8530 Build fix.
8531
zecke@webkit.org7a15a532008-09-20 14:24:27 +00008532 [qtwebkit] Make qt_instance.cpp compile.
8533 Revision of 36675 introduced getDOMStructure to give unique
8534 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
8535 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
8536
8537 * bridge/qt/qt_instance.cpp:
8538 (JSC::Bindings::QtInstance::getRuntimeObject):
8539
85402008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
8541
zecke@webkit.orgf3834492008-09-20 14:23:55 +00008542 Reviewed by Nikolas Zimmermann.
8543
zecke@webkit.org95ff1412008-09-20 14:24:10 +00008544 [svg] Change SVGLocatable to deal with a plain SVGElement
8545 There is no requirement in the code that we have to have a
8546 SVGStyledElement. Remove that artificial limitation and compile
8547 with SVGElement.
8548
8549 * svg/SVGLocatable.cpp:
8550 * svg/SVGLocatable.h:
8551
85522008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
8553
8554 Reviewed by Nikolas Zimmermann.
8555
zecke@webkit.orgf3834492008-09-20 14:23:55 +00008556 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
8557 management.
8558
8559 * dom/Document.cpp:
8560 (WebCore::Document::~Document):
8561 (WebCore::Document::svgExtensions):
8562 (WebCore::Document::accessSVGExtensions):
8563 * dom/Document.h:
8564
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000085652008-09-19 David Hyatt <hyatt@apple.com>
8566
hyatt@apple.com1fe09172008-09-20 05:09:44 +00008567 Fix for crash in updateTransitions. Make sure to test for a style
8568 being null when comparing two RenderStyles.
8569
8570 Reviewed by Oliver Hunt
8571
8572 * page/animation/AnimationBase.cpp:
8573 (WebCore::PropertyWrapperGetter::equals):
8574
85752008-09-19 David Hyatt <hyatt@apple.com>
8576
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +00008577 https://bugs.webkit.org/show_bug.cgi?id=20954
8578
8579 Roll out r36628 since it has caused horrible regressions with
8580 animated GIF CPU usage.
8581
8582 * platform/graphics/BitmapImage.cpp:
8583 (WebCore::BitmapImage::cacheFrame):
8584 (WebCore::BitmapImage::startAnimation):
8585 * platform/graphics/BitmapImage.h:
8586 (WebCore::FrameData::FrameData):
8587 * platform/graphics/cairo/ImageCairo.cpp:
8588 (WebCore::FrameData::clear):
8589 * platform/graphics/cg/ImageCG.cpp:
8590 (WebCore::FrameData::clear):
8591 * platform/graphics/qt/ImageQt.cpp:
8592 (WebCore::FrameData::clear):
8593 * platform/graphics/wx/ImageWx.cpp:
8594 (WebCore::FrameData::clear):
8595
alp@webkit.orgd1e860e2008-09-20 03:43:42 +000085962008-09-20 Alp Toker <alp@nuanti.com>
8597
8598 Reviewed by Timothy Hatcher.
8599
8600 https://bugs.webkit.org/show_bug.cgi?id=20913
8601 Avoid redudant includes
8602
8603 Document.h is included excessively such that a modification to Document.h (or
8604 any of the header it includes itself) triggers a rebuild of many files
8605 including the whole of SVG and a lot of the JS bindings.
8606
8607 Some of these includes can be avoided by only including Document.h where
8608 necessary.
8609
8610 * bindings/js/JSAttrCustom.cpp:
8611 * bindings/js/JSElementCustom.cpp:
8612 * bindings/js/JSEventTargetBase.cpp:
8613 * bindings/js/JSEventTargetBase.h:
8614 * bindings/js/JSEventTargetNode.cpp:
8615 * bindings/js/JSHTMLFrameElementCustom.cpp:
8616 * bindings/js/JSHTMLIFrameElementCustom.cpp:
8617 * bindings/scripts/CodeGeneratorJS.pm:
8618 * css/CSSCursorImageValue.cpp:
8619 * css/SVGCSSStyleSelector.cpp:
8620 * dom/make_names.pl:
8621 * svg/SVGAnimateElement.h:
8622 * svg/SVGAnimatedProperty.h:
8623 (WebCore::::baseValue):
8624 (WebCore::::setBaseValue):
8625 (WebCore::::startAnimation):
8626 (WebCore::::stopAnimation):
8627 * svg/SVGElement.cpp:
8628 (WebCore::SVGElement::accessDocumentSVGExtensions):
8629 * svg/SVGElement.h:
8630 * svg/SVGElementInstance.cpp:
8631 * svg/SVGFitToViewBox.cpp:
8632 * svg/SVGFontElement.cpp:
8633 * svg/SVGFontFaceElement.cpp:
8634 * svg/SVGLinearGradientElement.cpp:
8635 * svg/SVGMPathElement.cpp:
8636 * svg/SVGViewSpec.cpp:
8637
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +000086382008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
8639
8640 Reviewed by Antti & Eric.
8641
8642 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
8643
8644 Finish HTMLScriptElement / SVGScriptElement unification.
8645 SVG <script> support is complete now, full SVGLoad event
8646 respecting the influence of the externalResourcesRequired attribute
8647 as well as SVGError event support. All other features shared with HTML.
8648
8649 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
8650 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
8651 svg/dom/SVGScriptElement/script-load-and-error-events.svg
8652 svg/dom/SVGScriptElement/script-reexecution.svg
8653 svg/dom/SVGScriptElement/script-set-href.svg
8654
8655 * dom/ScriptElement.cpp:
8656 (WebCore::ScriptElementData::ScriptElementData):
8657 (WebCore::ScriptElementData::requestScript):
8658 * dom/ScriptElement.h:
8659 (WebCore::ScriptElementData::haveFiredLoadEvent):
8660 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
8661 * dom/XMLTokenizer.cpp:
8662 (WebCore::XMLTokenizer::notifyFinished):
8663 * html/HTMLScriptElement.cpp:
8664 (WebCore::HTMLScriptElement::dispatchLoadEvent):
8665 * svg/SVGScriptElement.cpp:
8666 (WebCore::SVGScriptElement::setCreatedByParser):
8667 (WebCore::SVGScriptElement::parseMappedAttribute):
8668 (WebCore::SVGScriptElement::svgAttributeChanged):
8669 (WebCore::SVGScriptElement::insertedIntoDocument):
8670 (WebCore::SVGScriptElement::removedFromDocument):
8671 (WebCore::SVGScriptElement::childrenChanged):
8672 (WebCore::SVGScriptElement::isURLAttribute):
8673 (WebCore::SVGScriptElement::finishParsingChildren):
8674 (WebCore::SVGScriptElement::type):
8675 (WebCore::SVGScriptElement::setType):
8676 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
8677 (WebCore::SVGScriptElement::dispatchLoadEvent):
8678 (WebCore::SVGScriptElement::dispatchErrorEvent):
8679 * svg/SVGScriptElement.h:
8680
mitz@apple.comc7b24ea2008-09-20 03:23:22 +000086812008-09-19 Dan Bernstein <mitz@apple.com>
8682
8683 Reviewed by John Sullivan.
8684
8685 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
8686 Typo in Position::getInlineBoxAndOffset()
8687 and add an assertion
8688
8689 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
8690
8691 * dom/Position.cpp:
8692 (WebCore::Position::getInlineBoxAndOffset):
8693 * rendering/InlineTextBox.cpp:
8694 (WebCore::InlineTextBox::positionForOffset):
8695
hyatt@apple.comd48dbf32008-09-20 03:21:14 +000086962008-09-19 David Hyatt <hyatt@apple.com>
8697
8698 Add support for hit testing of all five possible scrollbar button placements.
8699
8700 Reviewed by Sam Weinig
8701
8702 * platform/ScrollbarThemeComposite.cpp:
8703 (WebCore::ScrollbarThemeComposite::paint):
8704 * platform/mac/ScrollbarThemeMac.mm:
8705 (WebCore::):
8706 (WebCore::ScrollbarThemeMac::backButtonRect):
8707 (WebCore::ScrollbarThemeMac::forwardButtonRect):
8708 (WebCore::ScrollbarThemeMac::trackRect):
8709 (WebCore::ScrollbarThemeMac::paintButton):
8710
darin@apple.com1c4cd8f2008-09-20 01:05:35 +000087112008-09-19 Darin Adler <darin@apple.com>
8712
8713 - try to fix Qt build
8714
8715 * bridge/qt/qt_instance.cpp:
8716 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
8717 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
8718 * bridge/runtime_object.cpp:
8719 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
8720 * bridge/runtime_object.h: Ditto.
8721
dino@apple.com7c236592008-09-20 00:53:49 +000087222008-09-19 Chris Marrin <cmarrin@apple.com>
8723
8724 Reviewed by Dave Hyatt.
8725
8726 Transition starts running when it shouldn't
8727 https://bugs.webkit.org/show_bug.cgi?id=20892
8728
8729 When there is a transition and an animation on the
8730 same element, make sure the animation wins.
8731
8732 The fix is to save the unanimated style when an animation is started.
8733 Then, when starting a transition, check to see if there is a current
8734 animation on the same prop. If so, use the unanimated style as the
8735 fromStyle rather than the current style.
8736
8737 Test: animations/transition-and-animation-1.html
8738
8739 * page/animation/CompositeAnimation.cpp:
8740 (WebCore::CompositeAnimation::updateTransitions):
8741 (WebCore::CompositeAnimation::updateKeyframeAnimations):
8742 (WebCore::CompositeAnimation::animate):
8743 (WebCore::CompositeAnimation::getAnimationForProperty):
8744 * page/animation/CompositeAnimation.h:
8745 * page/animation/ImplicitAnimation.cpp:
8746 (WebCore::ImplicitAnimation::reset):
8747 * page/animation/ImplicitAnimation.h:
8748 * page/animation/KeyframeAnimation.cpp:
8749 (WebCore::KeyframeAnimation::hasAnimationForProperty):
8750 * page/animation/KeyframeAnimation.h:
8751 (WebCore::KeyframeAnimation::KeyframeAnimation):
8752 (WebCore::KeyframeAnimation::unanimatedStyle):
8753
hyatt@apple.comea254e22008-09-20 00:42:36 +000087542008-09-19 David Hyatt <hyatt@apple.com>
8755
8756 Add support for painting/hit testing of four possible scrollbar buttons.
8757 The Windows themes simply ignore the two parts that they will never
8758 show. The Mac theme also ignores the other two buttons for now.
8759
8760 The cross-platform base for all three themes, ScrollbarThemeComposite,
8761 has all the proper support though.
8762
8763 Reviewed by Sam Weinig
8764
8765 * platform/ScrollbarThemeComposite.cpp:
8766 (WebCore::ScrollbarThemeComposite::hitTest):
8767 (WebCore::ScrollbarThemeComposite::invalidatePart):
8768 * platform/ScrollbarThemeComposite.h:
8769 * platform/mac/ScrollbarThemeMac.h:
8770 * platform/mac/ScrollbarThemeMac.mm:
8771 (WebCore::ScrollbarThemeMac::backButtonRect):
8772 (WebCore::ScrollbarThemeMac::forwardButtonRect):
8773 (WebCore::ScrollbarThemeMac::paintButton):
8774 * platform/win/ScrollbarThemeSafari.cpp:
8775 (WebCore::ScrollbarThemeSafari::backButtonRect):
8776 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
8777 (WebCore::ScrollbarThemeSafari::paintButton):
8778 * platform/win/ScrollbarThemeSafari.h:
8779 * platform/win/ScrollbarThemeWin.cpp:
8780 (WebCore::ScrollbarThemeWin::backButtonRect):
8781 (WebCore::ScrollbarThemeWin::forwardButtonRect):
8782 (WebCore::ScrollbarThemeWin::paintButton):
8783 * platform/win/ScrollbarThemeWin.h:
8784
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +000087852008-09-19 Matt Lilek <webkit@mattlilek.com>
8786
8787 Reviewed by Tim Hatcher.
8788
8789 Bug 17772: Inspector should support point-and-click to select a node to inspect
8790 https://bugs.webkit.org/show_bug.cgi?id=17772
8791 <rdar://problem/5792395>
8792
8793 * English.lproj/localizedStrings.js:
8794 * page/Chrome.cpp:
8795 (WebCore::Chrome::mouseDidMoveOverElement):
8796 * page/EventHandler.cpp:
8797 (WebCore::EventHandler::handleMousePressEvent):
8798 * page/InspectorController.cpp:
8799 (WebCore::toggleNodeSearch):
8800 (WebCore::searchingForNode):
8801 (WebCore::InspectorController::InspectorController):
8802 (WebCore::InspectorController::toggleSearchForNodeInPage):
8803 (WebCore::InspectorController::mouseDidMoveOverElement):
8804 (WebCore::InspectorController::handleMousePressOnNode):
8805 (WebCore::InspectorController::windowScriptObjectAvailable):
8806 * page/InspectorController.h:
8807 (WebCore::InspectorController::searchingForNodeInPage):
8808 * page/inspector/ElementsPanel.js:
8809 * page/inspector/Images/nodeSearchButtons.png: Added.
8810 * page/inspector/inspector.css:
8811
hyatt@apple.com57b2d522008-09-19 23:39:26 +000088122008-09-19 David Hyatt <hyatt@apple.com>
8813
8814 Add new scrollbar parts to be able to represent back and forward buttons
8815 at either end of the scrollbar. The current scrollbar still just draws
8816 a single button at either end, but the parts now exist.
8817
8818 Reviewed by Sam Weinig
8819
8820 * platform/ScrollTypes.h:
8821 (WebCore::):
8822 * platform/Scrollbar.cpp:
8823 (WebCore::Scrollbar::autoscrollTimerFired):
8824 (WebCore::Scrollbar::pressedPartScrollDirection):
8825 (WebCore::Scrollbar::pressedPartScrollGranularity):
8826 (WebCore::Scrollbar::handleMouseMoveEvent):
8827 * platform/ScrollbarTheme.h:
8828 (WebCore::ScrollbarTheme::buttonsPlacement):
8829 (WebCore::ScrollbarTheme::invalidateParts):
8830 * platform/ScrollbarThemeComposite.cpp:
8831 (WebCore::ScrollbarThemeComposite::paint):
8832 (WebCore::ScrollbarThemeComposite::hitTest):
8833 (WebCore::ScrollbarThemeComposite::invalidatePart):
8834 * platform/ScrollbarThemeComposite.h:
8835
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +000088362008-09-19 Beth Dakin <bdakin@apple.com>
8837
8838 Reviewed by Dave Hyatt.
8839
8840 Fix for <rdar://problem/6231308> crash in AutoTableLayout
8841
8842 The code assumes later on that a TableSection's grid's row vector
8843 will never be empty. So make 1 the minimum number of columns.
8844
8845 * rendering/RenderTableSection.cpp:
8846 (WebCore::RenderTableSection::ensureRows):
8847
hyatt@apple.comaf711ec2008-09-19 22:55:56 +000088482008-09-19 David Hyatt <hyatt@apple.com>
8849
8850 Add a new ScrollbarButtonsPlacement type for specifying where
8851 the button arrows are in a scrollbar.
8852
8853 Read in the placement settings for Mac. Nothing is done with the
8854 setting yet.
8855
8856 Add a new buttonsPlacement() method to ScrollbarTheme composite
8857 so that the arrow settings can be obtained.
8858
8859 Reviewed by Sam Weinig
8860
8861 * platform/ScrollTypes.h:
8862 (WebCore::):
8863 * platform/ScrollbarThemeComposite.h:
8864 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
8865 * platform/mac/ScrollbarThemeMac.mm:
8866 (WebCore::updateArrowPlacement):
8867 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
8868
sfalken@apple.com64602042008-09-19 22:47:45 +000088692008-09-19 Steve Falkenburg <sfalken@apple.com>
8870
8871 Roll out r36626. It is causing variance in SunSpider numbers on XP.
8872
8873 Rubber stamped by Mark Rowe.
8874
8875 * platform/win/SharedTimerWin.cpp:
8876 (WebCore::isRunningOnVistaOrLater):
8877 (WebCore::setSharedTimerFireTime):
8878
kmccullough@apple.comd203b242008-09-19 21:56:14 +000088792008-09-19 Kevin McCullough <kmccullough@apple.com>
8880
8881 Reviewed by Tim.
8882
8883 https://bugs.webkit.org/show_bug.cgi?id=20942
8884 Bug 20942: Repeated messages in resources don't collapse
8885 - Now repeated messages in a resource's view are collapsed and a message
8886 says how many were repeated.
8887
8888 * English.lproj/localizedStrings.js:
8889 * manual-tests/inspector/multiple-console-messages.html:
8890 * page/inspector/Console.js: Send all the messages to the resource's
8891 view before possibly returning early if the message is a repeat.
8892 * page/inspector/SourceFrame.js: Add the text about the message being
8893 repeated, if it is, and increment it when necessary.
8894
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +000088952008-09-19 Chris Fleizach <cfleizach@apple.com>
8896
8897 Removed unnecessary #if
8898
8899 * page/mac/AccessibilityObjectWrapper.mm:
8900
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000089012008-09-19 David Hyatt <hyatt@apple.com>
8902
hyatt@apple.comf658e502008-09-19 22:12:07 +00008903 Read in prefs for the scroll delay repeat values for buttons. Also
8904 honor the option-click pref for jumping to the thumb when clicking in
8905 the track.
8906
8907 Reviewed by Sam Weinig
8908
8909 * platform/mac/ScrollbarThemeMac.h:
8910 * platform/mac/ScrollbarThemeMac.mm:
8911 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
8912 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
8913 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
8914 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
8915
89162008-09-19 David Hyatt <hyatt@apple.com>
8917
hyatt@apple.comc9967ce92008-09-19 21:20:59 +00008918 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
8919 Set the initial button repeat delay to 0.5 for Mac.
8920
8921 Reviewed by Sam Weinig
8922
8923 * WebCore.xcodeproj/project.pbxproj:
8924 * platform/mac/ScrollbarThemeMac.cpp: Removed.
8925 * platform/mac/ScrollbarThemeMac.h:
8926 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
8927 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
8928
darin@apple.com39a180f2008-09-19 21:15:14 +000089292008-09-19 Darin Adler <darin@apple.com>
8930
8931 Reviewed by Sam Weinig.
8932
8933 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
8934 make each distinct C++ class get a distinct JSC::Structure
8935
8936 + Fixed all cases where we were using a shared structure for multiple
8937 C++ classes in WebCore. This still has to be done in JavaScriptCore.
8938
8939 + Got rid of cacheGlobalObject.
8940
8941 + Improved use of PassRefPtr in bindings code.
8942
8943 + Removed a couple cases where we were potentially allocating prototypes
8944 inside a JSObject's construction process -- this can lead to trouble if
8945 we do a garbage collection while an object is only partly constructed.
8946
8947 * bindings/js/JSAudioConstructor.cpp:
8948 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
8949 so we don't implicitly share the structure with other objects that use the object
8950 prototype.
8951
8952 * bindings/js/JSDOMBinding.cpp:
8953 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
8954 don't need cacheGlobalObject any more.
8955 (WebCore::cacheDOMConstructor): Ditto.
8956
8957 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
8958 Added functions and a function template for getting cached DOM constructors.
8959 Removed cacheGlobalObject function template.
8960
8961 * bindings/js/JSDOMWindowBase.cpp:
8962 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
8963 we're taking ownership.
8964 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
8965 we're taking ownership. Added constructor map.
8966 * bindings/js/JSDOMWindowCustom.cpp:
8967 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
8968
8969 * bindings/js/JSDOMWindowShell.cpp:
8970 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
8971 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
8972 this is now done in only that one place.
8973 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
8974 the passed-in DOMWindow. Code was moved here and changed to allocate unique
8975 structures for both the window prototype and the window.
8976 * bindings/js/JSDOMWindowShell.h: Ditto.
8977
8978 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
8979 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
8980 private/friend in JSEventTargetBase. Removed comments referring to defunct
8981 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
8982 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
8983 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
8984
8985 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
8986 for caching structures and prototypes.
8987 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
8988 (WebCore::JSEventTargetNode::createPrototype): Added.
8989 * bindings/js/JSEventTargetNode.h: Updated for above changes.
8990
8991 * bindings/js/JSHTMLAllCollection.h:
8992 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
8993 * bindings/js/JSHTMLCollectionCustom.cpp:
8994 (WebCore::getNamedItems): Pass ExecState instead of prototype.
8995 * bindings/js/JSHTMLFormElementCustom.cpp:
8996 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
8997 * bindings/js/JSHTMLInputElementBase.cpp:
8998 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
8999 * bindings/js/JSHTMLInputElementBase.h: Ditto.
9000 * bindings/js/JSHTMLOptionElementConstructor.cpp:
9001 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
9002 Create a unique structure instead of sharing.
9003 * bindings/js/JSImageConstructor.cpp:
9004 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
9005
9006 * bindings/js/JSInspectedObjectWrapper.cpp:
9007 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
9008 a prototype rather than a structure. Made the use of inheritorID() here
9009 explicit.
9010 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
9011 * bindings/js/JSInspectorCallbackWrapper.cpp:
9012 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
9013 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
9014
9015 * bindings/js/JSNamedNodesCollection.cpp:
9016 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
9017 take an ExecState argument instead of a prototype. Create a unique
9018 StructureID instead of sharing.
9019 * bindings/js/JSNamedNodesCollection.h: Ditto.
9020
9021 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
9022 constructor that takes a prototype instead of a structure.
9023 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
9024
9025 * bindings/js/JSRGBColor.cpp:
9026 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
9027 prototype; create a unique structure.
9028 (WebCore::getJSRGBColor): Ditto.
9029 * bindings/js/JSRGBColor.h: Ditto.
9030
9031 * bindings/js/JSSQLResultSetRowListCustom.cpp:
9032 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
9033 of explicit coding the idiom for making a new object.
9034
9035 * bindings/js/JSXMLHttpRequestConstructor.cpp:
9036 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
9037 Create a unique structure instead of the shared one.
9038 * bindings/js/JSXSLTProcessorConstructor.cpp:
9039 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
9040 Ditto.
9041
9042 * bindings/js/ScriptController.cpp:
9043 (WebCore::ScriptController::clearWindowShell): Let the window shell's
9044 setWindow function create the JSDOMWindow instead of doing it here.
9045
9046 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
9047 the structure and the wrapped object when creating wrappers.
9048 Simplified some of the special cases for DOMWindow so they are
9049 different only in ways the need to be. Eliminated the
9050 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
9051 functions. Moved responsibility for creating the structure and
9052 parent prototype out of the prototype constructor into the
9053 createPrototype function. Removed the unused "DoNotCache" flag for
9054 objects other than DOMWindow. Use getDOMConstructor instead of
9055 cacheGlobalObject for constructors. Make each constructor have
9056 a unique structure ID.
9057
9058 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
9059 name of the info member to s_info so we can use the standard DOM
9060 binding macros to handl the prototype.
9061 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
9062 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
9063 Create a unique structure using getDOMStructure.
9064
9065 * bridge/runtime_array.cpp: Fixed namespacing a bit.
9066 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
9067 getDOMStructure.
9068 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
9069 will work.
9070
9071 * bridge/runtime_object.cpp:
9072 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
9073 getDOMStructure.
9074 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
9075 will work.
9076
9077 * history/CachedPage.cpp:
9078 (WebCore::CachedPage::restore): Let the window shell's
9079 setWindow function create the JSDOMWindow instead of doing it here.
9080
9081 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
9082
mitz@apple.comd6b74252008-09-19 21:02:55 +000090832008-09-19 Dan Bernstein <mitz@apple.com>
9084
9085 Reviewed by Dave Hyatt.
9086
9087 This optimization was suggested by Daniel Fenwick
9088
9089 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
9090
9091 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +00009092 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +00009093 of one, due to the leading space being reordered to the left.
9094
9095 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
9096 getCFStringAttributes() and changed m_CFStringAttributes from an array
9097 to a single value.
9098 * platform/graphics/mac/CoreTextController.cpp:
9099 (WebCore::CoreTextController::CoreTextController): Added a
9100 mayUseNaturalWritingDirection parameter.
9101 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
9102 to force the bidi embedding level whenever
9103 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
9104 case, made the typesetter options dictionaries static.
9105 * platform/graphics/mac/CoreTextController.h:
9106 * platform/graphics/mac/FontMacCoreText.cpp:
9107 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
9108 (WebCore::Font::floatWidthForComplexText): Changed to allow the
9109 CoreTextController to not set the writing direction.
9110 * platform/graphics/mac/SimpleFontDataMac.mm:
9111 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
9112 parameter and the paragraph style attribute.
9113
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +000091142008-09-19 David Hyatt <hyatt@apple.com>
9115
9116 Reviewed by Sam Weinig
9117
9118 https://bugs.webkit.org/show_bug.cgi?id=20941
9119
9120 Incorrect height calculation for replaced element inside nested
9121 positioned elements (where the inner has a percentage height and
9122 the outer implicitly has a fixed height because of explicit top/bottom
9123 values).
9124
9125 Added fast/block/positioning/replaced-inside-top-bottom.html
9126
9127 * rendering/RenderBox.cpp:
9128 (WebCore::RenderBox::availableHeightUsing):
9129
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +000091302008-09-19 Chris Fleizach <cfleizach@apple.com>
9131
9132 Fix Tiger bustage
9133
9134 * page/mac/AccessibilityObjectWrapper.mm:
9135
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +000091362008-09-18 Chris Fleizach <cfleizach@apple.com>
9137
9138 Reviewed by Darin Adler.
9139
9140 <rdar://problem/6211041> Expose legend tag in accessibility
9141
9142 Exposes the legend tag as the titleUIElement of a fieldset
9143
9144 Test: accessibility/legend.html
9145
9146 * page/AccessibilityObject.h:
9147 (WebCore::AccessibilityObject::isFieldset):
9148 * page/AccessibilityRenderObject.cpp:
9149 (WebCore::AccessibilityRenderObject::isFieldset):
9150 (WebCore::AccessibilityRenderObject::titleUIElement):
9151 * page/AccessibilityRenderObject.h:
9152 * rendering/RenderFieldset.h:
9153
cfleizach@apple.comcff26212008-09-19 20:04:13 +000091542008-09-19 Chris Fleizach <cfleizach@apple.com>
9155
9156 Reviewed by Darin Adler.
9157
9158 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
9159
9160 Implement a few AX API methods that will be called by AppKit, which will
9161 speed up access to accessibility objects
9162
9163 * page/mac/AccessibilityObjectWrapper.mm:
9164 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
9165 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
9166 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
9167
zecke@webkit.org7594eb62008-09-19 11:06:55 +000091682008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
9169
9170 Reviewed by Simon Hausmann.
9171
zecke@webkit.org3df68032008-09-19 11:43:27 +00009172 [qtwebkit] Set the m_should* flags to their proper value on entry
9173 With plugins it was possible that we finished a job twice. This was
9174 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
9175 setting the flag to (m_loadMode == LoadDeferred) they will always have
9176 the right value and we will not send responses twice.
9177
9178 * platform/network/qt/QNetworkReplyHandler.cpp:
9179
91802008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
9181
9182 Reviewed by Simon Hausmann.
9183
zecke@webkit.org7594eb62008-09-19 11:06:55 +00009184 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
9185 Handle text decoding errors before instructing the parser to parse. We
9186 have converted the text to QString and all encoding errors are gone and
9187 the parser will not be able to detect them. So handle them before parsing.
9188
9189 * dom/XMLTokenizerQt.cpp:
9190 (WebCore::XMLTokenizer::doWrite):
9191
darin@apple.comc9aea832008-09-19 06:49:35 +000091922008-09-18 Darin Adler <darin@apple.com>
9193
9194 Reviewed by Maciej Stachowiak.
9195
9196 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
9197 make each distinct C++ class get a distinct JSC::Structure
9198
9199 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
9200 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
9201 instead of DOMExceptionTranslator.
9202
9203 * bindings/js/JSDOMBinding.cpp:
9204 (WebCore::getCachedDOMObjectWrapper): Updated function name.
9205 (WebCore::cacheDOMObjectWrapper): Ditto.
9206 (WebCore::forgetDOMObject): Ditto.
9207 (WebCore::getCachedDOMNodeWrapper): Ditto.
9208 (WebCore::forgetDOMNode): Ditto.
9209 (WebCore::cacheDOMNodeWrapper): Ditto.
9210 (WebCore::forgetAllDOMNodesForDocument): Ditto.
9211 (WebCore::markDOMNodesForDocument): Ditto.
9212 (WebCore::updateDOMNodeDocument): Ditto.
9213 (WebCore::getCachedDOMStructure): Added.
9214 (WebCore::createDOMStructure): Ditto.
9215
9216 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
9217 class and replace the static member functions with non-member
9218 functions. Added many other functions for getting at structures,
9219 prototypes, wrappers, and creating them. Also moved the
9220 cacheGlobalObject function here from JavaScriptCore; eventually
9221 I'll remove that once I get rid of the remaining callers. Also
9222 removed the DOMExceptionTranslator class.
9223
9224 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
9225 and put one of those maps in each window.
9226
9227 * bindings/js/JSDOMWindowCustom.cpp:
9228 (WebCore::markDOMObjectWrapper): Updated for function name change.
9229 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
9230 in the structure map.
9231
9232 * bindings/js/JSEventTargetNode.cpp:
9233 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
9234 a structure instead of a prototype.
9235 * bindings/js/JSEventTargetNode.h: Ditto.
9236 * bindings/js/JSHTMLAllCollection.h:
9237 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
9238
9239 * bindings/js/JSHTMLInputElementBase.cpp:
9240 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
9241 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
9242 structure instead of a prototype.
9243 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
9244 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
9245 to take a structure instead of a prototype. Created a dummy prototype
9246 class that causes the HTMLInputElement prototype to have the
9247 HTMLElement prototype.
9248
9249 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
9250 structures instead of prototypes. Changed the prototype self function
9251 to use the getDOMPrototype function -- later we can eliminate it and
9252 have callers invoke getDOMPrototype directly instead. Updated other
9253 functions that have name changes. Added code to generate the
9254 createPrototype member function. Changed use of cacheGlobalObject to
9255 get it from the WebCore namespace instead of the JSC namespace.
9256 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
9257
9258 * dom/Document.cpp:
9259 (WebCore::Document::~Document): Updated for name change and also
9260 removed unnecessary JSLock use -- there's no need to lock around this.
9261 * dom/Node.cpp:
9262 (WebCore::Node::setDocument): Ditto.
9263
9264 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
9265 instead of calling new directly.
9266
9267 * bindings/js/JSCSSRuleCustom.cpp:
9268 (WebCore::toJS): Updated for function name changes and used the
9269 CREATE_DOM_OBJECT_WRAPPER macro.
9270 * bindings/js/JSCSSValueCustom.cpp:
9271 (WebCore::toJS): Ditto.
9272 * bindings/js/JSCanvasPixelArrayCustom.cpp:
9273 (WebCore::toJS): Ditto.
9274 * bindings/js/JSDocumentCustom.cpp:
9275 (WebCore::JSDocument::mark): Ditto.
9276 (WebCore::toJS): Ditto.
9277 * bindings/js/JSElementCustom.cpp:
9278 (WebCore::toJSNewlyCreated): Ditto.
9279 * bindings/js/JSEventCustom.cpp:
9280 (WebCore::toJS): Ditto.
9281 * bindings/js/JSEventTargetBase.cpp:
9282 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
9283 of DOMExceptionTranslator.
9284 (WebCore::toJS): Updated for function name changes and used the
9285 CREATE_DOM_OBJECT_WRAPPER macro.
9286 * bindings/js/JSHTMLCollectionCustom.cpp:
9287 (WebCore::toJS): Ditto.
9288 * bindings/js/JSNodeCustom.cpp:
9289 (WebCore::JSNode::mark): Ditto.
9290 (WebCore::createWrapper): Ditto.
9291 (WebCore::toJS): Ditto.
9292 * bindings/js/JSSVGPathSegCustom.cpp:
9293 (WebCore::toJS): Ditto.
9294 * bindings/js/JSStyleSheetCustom.cpp:
9295 (WebCore::toJS): Ditto.
9296 (WebCore::JSStyleSheet::mark): Ditto.
9297 * bindings/js/JSTextCustom.cpp:
9298 (WebCore::toJSNewlyCreated): Ditto.
9299 * bindings/js/JSXMLHttpRequestConstructor.cpp:
9300 (WebCore::constructXMLHttpRequest): Ditto.
9301 * bindings/js/JSXMLHttpRequestCustom.cpp:
9302 (WebCore::JSXMLHttpRequest::mark): Ditto.
9303 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
9304 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
9305 * bindings/js/JSXSLTProcessorConstructor.cpp:
9306 (WebCore::constructXSLTProcessor): Ditto.
9307 * bindings/js/ScriptController.cpp:
9308 (WebCore::ScriptController::finishedWithEvent): Ditto.
9309 * xml/XMLHttpRequest.cpp:
9310 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
9311 (WebCore::XMLHttpRequest::dropProtection): Ditto.
9312
hyatt@apple.com083539d2008-09-19 06:30:16 +000093132008-09-18 David Hyatt <hyatt@apple.com>
9314
9315 This patch gets a viewless scrollbar working on Mac. It is turned off
9316 by default. Hit testing works. For now the scrollbar just paints ugly
9317 debug rects in the place of the buttons, track and thumb. It does match
9318 Aqua metrics though.
9319
9320 Reviewed by Sam Weinig
9321
9322 * WebCore.xcodeproj/project.pbxproj:
9323 * page/mac/EventHandlerMac.mm:
9324 (WebCore::EventHandler::passMousePressEventToScrollbar):
9325 * platform/ScrollbarThemeComposite.cpp:
9326 (WebCore::ScrollbarThemeComposite::paint):
9327 (WebCore::ScrollbarThemeComposite::trackPosition):
9328 * platform/ScrollbarThemeComposite.h:
9329 * platform/mac/ScrollViewMac.mm:
9330 (WebCore::ScrollView::addChild):
9331 * platform/mac/ScrollbarThemeMac.cpp:
9332 (WebCore::):
9333 (WebCore::ScrollbarThemeMac::hasButtons):
9334 (WebCore::ScrollbarThemeMac::hasThumb):
9335 (WebCore::buttonRepaintRect):
9336 (WebCore::ScrollbarThemeMac::backButtonRect):
9337 (WebCore::ScrollbarThemeMac::forwardButtonRect):
9338 (WebCore::trackRepaintRect):
9339 (WebCore::ScrollbarThemeMac::trackRect):
9340 (WebCore::ScrollbarThemeMac::minimumThumbLength):
9341 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
9342 (WebCore::ScrollbarThemeMac::paintTrack):
9343 (WebCore::ScrollbarThemeMac::paintButton):
9344 (WebCore::ScrollbarThemeMac::paintThumb):
9345 * platform/mac/ScrollbarThemeMac.h:
9346 (WebCore::ScrollbarThemeMac::supportsControlTints):
9347 * platform/qt/ScrollbarThemeQt.cpp:
9348 (WebCore::ScrollbarThemeQt::trackPosition):
9349
collinj@webkit.org51261aa2008-09-19 06:13:22 +000093502008-09-18 Collin Jackson <collinj@webkit.org>
9351
9352 Build fix; added missing header file to GNUmakefile.am
9353
9354 * GNUmakefile.am:
9355
weinig@apple.com39aecbe2008-09-19 04:56:21 +000093562008-09-18 Sam Weinig <sam@webkit.org>
9357
9358 Reviewed by David "the Hair" Hyatt.
9359
9360 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
9361
9362 * GNUmakefile.am:
9363 * WebCore.pro:
9364 * WebCore.vcproj/WebCore.vcproj:
9365 * WebCore.xcodeproj/project.pbxproj:
9366 * rendering/DataRef.h: Removed.
9367 * rendering/SVGRenderStyle.cpp: Removed.
9368 * rendering/SVGRenderStyle.h: Removed.
9369 * rendering/SVGRenderStyleDefs.cpp: Removed.
9370 * rendering/SVGRenderStyleDefs.h: Removed.
9371 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
9372 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
9373 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
9374 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
9375 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
9376
mrowe@apple.coma5206592008-09-19 04:47:58 +000093772008-09-18 Mark Rowe <mrowe@apple.com>
9378
9379 Reviewed by Dan Bernstein.
9380
9381 Add a means of clearing a FrameTree's name.
9382
9383 * WebCore.base.exp:
9384 * page/FrameTree.cpp:
9385 (WebCore::FrameTree::clearName):
9386 * page/FrameTree.h:
9387
hyatt@apple.com6eeef382008-09-19 04:30:53 +000093882008-09-18 David Hyatt <hyatt@apple.com>
9389
9390 Eliminate addToSuperview from Widget, since it was only called
9391 by ScrollViewMac's addChild method. Just shift the original body
9392 of addToSuperView into addChild.
9393
9394 Reviewed by Sam Weinig
9395
9396 * platform/Widget.h:
9397 * platform/mac/ScrollViewMac.mm:
9398 (WebCore::ScrollView::addChild):
9399 * platform/mac/WidgetMac.mm:
9400
collinj@webkit.org9c672f62008-09-19 04:15:14 +000094012008-09-18 Collin Jackson <collinj@webkit.org>
9402
9403 Reviewed by Antti Koivisto and Mark Rowe.
9404
9405 Test: http/tests/misc/dns-prefetch-control.html
9406
9407 https://bugs.webkit.org/show_bug.cgi?id=20690
9408
9409 Invoke WebCore::prefetchDNS() on host names that appear in
9410 in the href of hyperlinks and <link rel="dns-prefetch">. This
9411 can be used to implement DNS prefetching.
9412
9413 * WebCore.vcproj/WebCore.vcproj:
9414 * WebCore.xcodeproj/project.pbxproj:
9415 * dom/Document.cpp:
9416 (WebCore::Document::Document):
9417 (WebCore::Document::processHttpEquiv):
9418 (WebCore::Document::setSecurityOrigin):
9419 (WebCore::Document::initDNSPrefetch):
9420 (WebCore::Document::parseDNSPrefetchControlHeader):
9421 * dom/Document.h:
9422 (WebCore::Document::isDNSPrefetchEnabled):
9423 * html/HTMLAnchorElement.cpp:
9424 (WebCore::HTMLAnchorElement::parseMappedAttribute):
9425 * html/HTMLLinkElement.cpp:
9426 (WebCore::HTMLLinkElement::HTMLLinkElement):
9427 (WebCore::HTMLLinkElement::parseMappedAttribute):
9428 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
9429 (WebCore::HTMLLinkElement::process):
9430 * html/HTMLLinkElement.h:
9431 * html/PreloadScanner.cpp:
9432 (WebCore::PreloadScanner::processAttribute):
9433 * loader/FrameLoader.cpp:
9434 (WebCore::FrameLoader::begin):
9435 * platform/gtk/TemporaryLinkStubs.cpp:
9436 (WebCore::prefetchDNS):
9437 * platform/network/DNS.h: Added.
9438 * platform/network/cf/DNSCFNet.cpp: Added.
9439 (WebCore::prefetchDNS):
9440 * platform/qt/TemporaryLinkStubs.cpp:
9441 (WebCore::prefetchDNS):
9442 * platform/wx/TemporaryLinkStubs.cpp:
9443 (WebCore::prefetchDNS):
9444
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000094452008-09-18 David Hyatt <hyatt@apple.com>
9446
hyatt@apple.comcf31c162008-09-19 04:01:56 +00009447 Eliminate the convertToScreenCoordinate method on Widget, since
9448 ScrollView has redundant methods that already do the same thing.
9449
9450 Reviewed by Sam Weinig
9451
9452 * editing/mac/SelectionControllerMac.mm:
9453 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
9454 * platform/Widget.h:
9455 * platform/mac/WidgetMac.mm:
9456 (WebCore::Widget::containingWindow):
9457
94582008-09-18 David Hyatt <hyatt@apple.com>
9459
hyatt@apple.com179629b3c2008-09-19 03:16:26 +00009460 Move to only one constructor for Widgets. Rename data to m_data and make
9461 it have an #ifdef only for platforms that have platform-specific data (Mac
9462 and Gtk).
9463
9464 Reviewed by Sam Weinig
9465
9466 * WebCore.base.exp:
9467 * platform/Widget.cpp:
9468 (WebCore::Widget::init):
9469 * platform/Widget.h:
9470 * platform/gtk/WidgetGtk.cpp:
9471 (WebCore::Widget::Widget):
9472 (WebCore::Widget::~Widget):
9473 (WebCore::Widget::cursor):
9474 (WebCore::Widget::setCursor):
9475 * platform/mac/WidgetMac.mm:
9476 (WebCore::Widget::Widget):
9477 (WebCore::Widget::~Widget):
9478 (WebCore::Widget::addToSuperview):
9479 (WebCore::Widget::removeFromSuperview):
9480 (WebCore::Widget::beforeMouseDown):
9481 (WebCore::Widget::afterMouseDown):
9482 * platform/qt/WidgetQt.cpp:
9483 (WebCore::Widget::Widget):
9484 * platform/win/WidgetWin.cpp:
9485 (WebCore::Widget::Widget):
9486 * platform/wx/WidgetWx.cpp:
9487 (WebCore::Widget::Widget):
9488
94892008-09-18 David Hyatt <hyatt@apple.com>
9490
hyatt@apple.com470d7e72008-09-19 03:01:08 +00009491 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
9492 was no reason for it to be on Widget. This change eliminates Qt ifdefs
9493 from Widget.
9494
9495 Reviewed by Sam Weinig
9496
9497 * bindings/js/ScriptControllerQt.cpp:
9498 (WebCore::ScriptController::createScriptInstanceForWidget):
9499 * platform/qt/WidgetQt.cpp:
9500 (WebCore::WidgetPrivate::WidgetPrivate):
9501 (WebCore::WidgetPrivate::~WidgetPrivate):
9502 (WebCore::Widget::Widget):
9503 (WebCore::Widget::~Widget):
9504 * plugins/PluginView.cpp:
9505 (WebCore::PluginView::PluginView):
9506 * plugins/PluginView.h:
9507 (WebCore::PluginView::isNPAPIPlugin):
9508 (WebCore::PluginView::setIsNPAPIPlugin):
9509
95102008-09-18 David Hyatt <hyatt@apple.com>
9511
hyatt@apple.com557408b2008-09-19 02:36:08 +00009512 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
9513 ifdefs are now gone from Widget!
9514
9515 Reviewed by Sam Weinig
9516
9517 * platform/Widget.h:
9518 (WebCore::Widget::geometryChanged):
9519 * platform/gtk/WidgetGtk.cpp:
9520 * platform/qt/WidgetQt.cpp:
9521
95222008-09-18 David Hyatt <hyatt@apple.com>
9523
hyatt@apple.com17e57432008-09-19 02:29:27 +00009524 Consolidate convertTo/FromContainingWindow methods so that all platforms
9525 but Mac share the same code.
9526
9527 Move convertSelfToChild and convertChildToSelf to ScrollView, since
9528 Widget should know nothing about children. Make the methods cross-platform
9529 on ScrollView.
9530
9531 Reviewed by Sam Weinig
9532
9533 * platform/ScrollView.h:
9534 (WebCore::ScrollView::convertChildToSelf):
9535 (WebCore::ScrollView::convertSelfToChild):
9536 * platform/Widget.cpp:
9537 (WebCore::Widget::convertToContainingWindow):
9538 (WebCore::Widget::convertFromContainingWindow):
9539 * platform/Widget.h:
9540 (WebCore::Widget::geometryChanged):
9541 * platform/gtk/ScrollViewGtk.cpp:
9542 (WebCore::ScrollView::isScrollViewScrollbar):
9543 * platform/gtk/WidgetGtk.cpp:
9544 * platform/mac/ScrollViewMac.mm:
9545 (WebCore::ScrollView::isScrollViewScrollbar):
9546 * platform/mac/WidgetMac.mm:
9547 * platform/qt/ScrollViewQt.cpp:
9548 (WebCore::ScrollView::isScrollViewScrollbar):
9549 * platform/qt/WidgetQt.cpp:
9550 * platform/win/ScrollViewWin.cpp:
9551 (WebCore::ScrollView::isScrollViewScrollbar):
9552 * platform/win/WidgetWin.cpp:
9553
95542008-09-18 David Hyatt <hyatt@apple.com>
9555
hyatt@apple.comc5b931a2008-09-19 00:39:51 +00009556 Make the conversion methods that go to and from some containingWindow
9557 cross-platform. Implement them on Mac.
9558
9559 Reviewed by Sam Weinig
9560
9561 * platform/Widget.h:
9562 (WebCore::Widget::setContainingWindow):
9563 * platform/mac/WidgetMac.mm:
9564 (WebCore::Widget::convertFromContainingWindow):
9565 (WebCore::Widget::convertToContainingWindow):
9566
weinig@apple.comd1ea02d2008-09-19 00:28:05 +000095672008-09-18 Sam Weinig <sam@webkit.org>
9568
9569 Rubber-stamped by David "Yeah-yeah" Hyatt.
9570
9571 Cleanup RenderStyle.
9572
9573 * WebCore.xcodeproj/project.pbxproj:
9574 * rendering/style/CounterContent.h:
9575 * rendering/style/RenderStyle.cpp:
9576 * rendering/style/RenderStyle.h:
9577
dino@apple.comef93f532008-09-19 00:01:07 +000095782008-09-18 Chris Marrin <cmarrin@apple.com>
9579
9580 Reviewed by Sam Weinig
9581
9582 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
9583 Now TransformOperations and AnimationList no longer
9584 inherit from Vector<> but rather have API to access.
9585
9586 * css/CSSComputedStyleDeclaration.cpp:
9587 (WebCore::computedTransform):
9588 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9589 * css/CSSStyleSelector.cpp:
9590 (WebCore::CSSStyleSelector::createTransformOperations):
9591 * page/animation/AnimationBase.cpp:
9592 (WebCore::blendFunc):
9593 * page/animation/CompositeAnimation.cpp:
9594 (WebCore::CompositeAnimation::updateTransitions):
9595 (WebCore::CompositeAnimation::updateKeyframeAnimations):
9596 (WebCore::CompositeAnimation::animate):
9597 * page/animation/ImplicitAnimation.cpp:
9598 (WebCore::ImplicitAnimation::validateTransformFunctionList):
9599 * page/animation/KeyframeAnimation.cpp:
9600 (WebCore::KeyframeAnimation::validateTransformFunctionList):
9601 * rendering/RenderLayer.cpp:
9602 (WebCore::RenderLayer::updateReflectionStyle):
9603 * rendering/style/AnimationList.cpp:
9604 (WebCore::AnimationList::operator==):
9605 * rendering/style/AnimationList.h:
9606 (WebCore::AnimationList::operator!=):
9607 (WebCore::AnimationList::size):
9608 (WebCore::AnimationList::isEmpty):
9609 (WebCore::AnimationList::resize):
9610 (WebCore::AnimationList::remove):
9611 (WebCore::AnimationList::append):
9612 (WebCore::AnimationList::animation):
9613 * rendering/style/RenderStyle.cpp:
9614 (WebCore::StyleRareNonInheritedData::updateKeyframes):
9615 (WebCore::RenderStyle::applyTransform):
9616 (WebCore::RenderStyle::adjustAnimations):
9617 (WebCore::RenderStyle::adjustTransitions):
9618 (WebCore::RenderStyle::transitionForProperty):
9619 * rendering/style/RenderStyle.h:
9620 (WebCore::RenderStyle::hasTransform):
9621 * rendering/style/TransformOperations.cpp:
9622 (WebCore::TransformOperations::TransformOperations):
9623 (WebCore::TransformOperations::operator==):
9624 * rendering/style/TransformOperations.h:
9625 (WebCore::TransformOperations::apply):
9626 (WebCore::TransformOperations::operations):
9627
zecke@webkit.org20690ef2008-09-18 23:28:34 +000096282008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
9629
zecke@webkit.org30db7422008-09-19 01:00:18 +00009630 Build fix.
9631
9632 [qt] Build fixes after the Widget/ScrollView cleanup
9633 topLevel() is now root()
9634
9635
9636 * platform/qt/ScrollViewQt.cpp:
9637 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
9638 (WebCore::ScrollView::addChild):
9639 (WebCore::ScrollView::removeChild):
9640
96412008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
9642
zecke@webkit.org20690ef2008-09-18 23:28:34 +00009643 Reviewed by Mark Rowe.
9644
9645 https://bugs.webkit.org/show_bug.cgi?id=20437
9646
9647 XMLTokenizer.cpp used to contain two different implementations. One was using
9648 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
9649 separating the two implementations from each other.
9650 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
9651 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
9652 XMLTokenizerLibxml2.cpp. There should be no functional changes.
9653
9654 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
9655 to work.
9656
9657 * GNUmakefile.am:
9658 * WebCore.pro:
9659 * WebCore.vcproj/WebCore.vcproj:
9660 * WebCore.xcodeproj/project.pbxproj:
9661 * WebCoreSources.bkl:
9662 * dom/XMLTokenizer.cpp:
9663 (WebCore::isScriptElement):
9664 (WebCore::castToScriptElement):
9665 (WebCore::XMLTokenizer::setCurrentNode):
9666 (WebCore::XMLTokenizer::write):
9667 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
9668 (WebCore::XMLTokenizer::enterText):
9669 (WebCore::toString):
9670 (WebCore::XMLTokenizer::exitText):
9671 (WebCore::XMLTokenizer::end):
9672 (WebCore::XMLTokenizer::insertErrorMessageBlock):
9673 * dom/XMLTokenizer.h:
9674 (WebCore::XMLTokenizer::wellFormed):
9675 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
9676 (WebCore::createMemoryParser):
9677 (WebCore::XMLTokenizer::XMLTokenizer):
9678 (WebCore::XMLTokenizer::~XMLTokenizer):
9679 (WebCore::XMLTokenizer::doWrite):
9680 (WebCore::ignorableWhitespaceHandler):
9681 (WebCore::XMLTokenizer::initializeParserContext):
9682 (WebCore::XMLTokenizer::doEnd):
9683 (WebCore::XMLTokenizer::lineNumber):
9684 (WebCore::XMLTokenizer::columnNumber):
9685 (WebCore::XMLTokenizer::stopParsing):
9686 (WebCore::XMLTokenizer::resumeParsing):
9687 (WebCore::parseXMLDocumentFragment):
9688 (WebCore::attributesStartElementNsHandler):
9689 (WebCore::parseAttributes):
9690 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
9691 (WebCore::EntityResolver::resolveUndeclaredEntity):
9692 (WebCore::XMLTokenizer::XMLTokenizer):
9693 (WebCore::XMLTokenizer::~XMLTokenizer):
9694 (WebCore::XMLTokenizer::doWrite):
9695 (WebCore::XMLTokenizer::initializeParserContext):
9696 (WebCore::XMLTokenizer::doEnd):
9697 (WebCore::XMLTokenizer::lineNumber):
9698 (WebCore::XMLTokenizer::columnNumber):
9699 (WebCore::XMLTokenizer::stopParsing):
9700 (WebCore::XMLTokenizer::resumeParsing):
9701 (WebCore::parseXMLDocumentFragment):
9702 (WebCore::attributesStartElementNsHandler):
9703 (WebCore::parseAttributes):
9704 (WebCore::):
9705
bdakin@apple.com4c244902008-09-18 23:08:35 +000097062008-09-18 Beth Dakin <bdakin@apple.com>
9707
9708 Reviewed by Geoff Garen.
9709
9710 Build fix for non-Mac builds.
9711
9712 * css/CSSPrimitiveValue.cpp:
9713 (WebCore::CSSPrimitiveValue::cssText):
9714
eric@webkit.org4ac94e62008-09-18 23:07:55 +000097152008-09-18 Peter Kasting <pkasting@google.com>
9716
9717 Reviewed by hyatt. Landed by eseidel.
9718
9719 https://bugs.webkit.org/show_bug.cgi?id=20745
9720 Animated GIFs do not animate properly with (at least) CG.
9721
9722 * WebCore\platform\graphics\BitmapImage.cpp:
9723 * WebCore\platform\graphics\BitmapImage.h:
9724 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
9725 * WebCore\platform\graphics\cg\ImageCG.cpp:
9726 * WebCore\platform\graphics\qt\ImageQt.cpp:
9727 * WebCore\platform\graphics\wx\ImageWx.cpp:
9728
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +000097292008-09-18 Chris Fleizach <cfleizach@apple.com>
9730
9731 Reviewed by Beth Dakin
9732
9733 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
9734 role specifies otherwise
9735
9736 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
9737
9738 Test: accessibility/table-with-aria-role.html
9739
9740 * page/AccessibilityTable.cpp:
9741 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
9742 (WebCore::AccessibilityTable::addChildren):
9743 (WebCore::AccessibilityTable::roleValue):
9744 (WebCore::AccessibilityTable::accessibilityIsIgnored):
9745 (WebCore::AccessibilityTable::title):
9746 * page/AccessibilityTableCell.cpp:
9747 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
9748 (WebCore::AccessibilityTableCell::isTableCell):
9749 (WebCore::AccessibilityTableCell::roleValue):
9750 * page/AccessibilityTableCell.h:
9751 * page/AccessibilityTableRow.cpp:
9752 (WebCore::AccessibilityTableRow::roleValue):
9753 (WebCore::AccessibilityTableRow::isTableRow):
9754 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
9755 * page/AccessibilityTableRow.h:
9756
sfalken@apple.coma96c5d32008-09-18 22:29:34 +000097572008-09-18 Steve Falkenburg <sfalken@apple.com>
9758
9759 Use higher-resolution timers on all variants of Windows.
9760
9761 Reviewed by Darin Adler.
9762
9763 * platform/win/SharedTimerWin.cpp:
9764 (WebCore::setSharedTimerFireTime):
9765
9766
hyatt@apple.comb7d49b62008-09-18 22:21:25 +000097672008-09-18 David Hyatt <hyatt@apple.com>
9768
9769 Make containingWindow() and setContainingWindow() cross-platform.
9770 Add a root() function cross-platform so Qt doesn't have to
9771 define its own.
9772
9773 Reviewed by Darin Adler
9774
9775 * platform/Widget.cpp:
9776 (WebCore::Widget::root):
9777 * platform/Widget.h:
9778 (WebCore::Widget::setContainingWindow):
9779 * platform/gtk/WidgetGtk.cpp:
9780 (WebCore::Widget::Widget):
9781 (WebCore::Widget::containingWindow):
9782 * platform/mac/ScrollViewMac.mm:
9783 (WebCore::ScrollView::addChild):
9784 (WebCore::ScrollView::removeChild):
9785 * platform/mac/WidgetMac.mm:
9786 (WebCore::Widget::containingWindow):
9787 * platform/qt/WidgetQt.cpp:
9788 (WebCore::Widget::invalidateRect):
9789 (WebCore::Widget::containingWindow):
9790 * platform/win/WidgetWin.cpp:
9791 (WebCore::Widget::Widget):
9792 (WebCore::Widget::~Widget):
9793 (WebCore::Widget::containingWindow):
9794
bdakin@apple.comfa1ce162008-09-18 22:18:01 +000097952008-09-18 Beth Dakin <bdakin@apple.com>
9796
9797 Reviewed by Dave Hyatt.
9798
9799 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
9800 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
9801 dashboard-region=
9802 and corresponding: <rdar://problem/6174100>
9803
9804 This patch makes CSSParserValue::createCSSValue handle unknown
9805 identifiers.
9806
9807 * css/CSSParserValues.cpp:
9808 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
9809 with no id (an unknown identifier) create a CSSPrimitiveValue of
9810 type CSS_PARSER_IDENTIFIER
9811 * css/CSSPrimitiveValue.cpp:
9812 (WebCore::CSSPrimitiveValue::cssText):
9813 (WebCore::CSSPrimitiveValue::parserValue):
9814 * css/CSSPrimitiveValue.h:
9815 (WebCore::CSSPrimitiveValue::):
9816
weinig@apple.comfce49be2008-09-18 21:46:14 +000098172008-09-18 Sam Weinig <sam@webkit.org>
9818
9819 Rubber-stamped by David "I'd prefer not" Hyatt.
9820
9821 More the remaining class out of RenderStyle.h/cpp
9822
9823 * GNUmakefile.am:
9824 * WebCore.pro:
9825 * WebCore.vcproj/WebCore.vcproj:
9826 * WebCore.xcodeproj/project.pbxproj:
9827 * WebCoreSources.bkl:
9828 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
9829 (WebCore::CursorData::CursorData):
9830 (WebCore::CursorData::operator==):
9831 (WebCore::CursorData::operator!=):
9832 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
9833 (WebCore::CursorList::operator[]):
9834 (WebCore::CursorList::CursorList):
9835 * rendering/style/RenderStyle.cpp:
9836 * rendering/style/RenderStyle.h:
9837 (WebCore::RenderStyle::deref):
9838 (WebCore::RenderStyle::hasOneRef):
9839 (WebCore::RenderStyle::InheritedFlags::operator!=):
9840 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
9841 (WebCore::RenderStyle::hasBackground):
9842 (WebCore::RenderStyle::outlineWidth):
9843 (WebCore::RenderStyle::autoWrap):
9844 (WebCore::RenderStyle::preserveNewline):
9845 (WebCore::RenderStyle::collapseWhiteSpace):
9846 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
9847 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
9848 (WebCore::RenderStyle::breakWords):
9849 (WebCore::RenderStyle::outlineOffset):
9850 (WebCore::RenderStyle::setLeft):
9851 (WebCore::RenderStyle::setRight):
9852 (WebCore::RenderStyle::setTop):
9853 (WebCore::RenderStyle::setBottom):
9854 (WebCore::RenderStyle::setDashboardRegion):
9855 (WebCore::RenderStyle::setBackgroundColor):
9856 (WebCore::RenderStyle::setBorderImage):
9857 (WebCore::RenderStyle::setBorderRadius):
9858 (WebCore::RenderStyle::setFontDescription):
9859 (WebCore::RenderStyle::adjustBackgroundLayers):
9860 (WebCore::RenderStyle::adjustMaskLayers):
9861 (WebCore::RenderStyle::deleteBindingURIs):
9862 (WebCore::RenderStyle::inheritBindingURIs):
9863 (WebCore::RenderStyle::isDisplayReplacedType):
9864 (WebCore::RenderStyle::isDisplayInlineType):
9865 (WebCore::RenderStyle::isOriginalDisplayInlineType):
9866 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
9867 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
9868 (WebCore::StyleInheritedData::operator!=):
9869 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
9870 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
9871 (WebCore::StyleRareInheritedData::operator!=):
9872 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
9873 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
9874 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
9875
hyatt@apple.com643534d2008-09-18 20:09:41 +000098762008-09-18 David Hyatt <hyatt@apple.com>
9877
hyatt@apple.comd23089a2008-09-18 20:24:16 +00009878 Move the concept of suppression invalidation on Widgets to Scrollbar
9879 instead. Since this is only used by Scrollbars, there is no need for
9880 it to be on Widget.
9881
9882 Reviewed by Sam Weinig
9883
9884 * platform/Scrollbar.cpp:
9885 (WebCore::Scrollbar::Scrollbar):
9886 (WebCore::Scrollbar::invalidateRect):
9887 * platform/Scrollbar.h:
9888 (WebCore::Scrollbar::suppressInvalidation):
9889 (WebCore::Scrollbar::setSuppressInvalidation):
9890 * platform/Widget.h:
9891 * platform/gtk/WidgetGtk.cpp:
9892 (WebCore::Widget::Widget):
9893 (WebCore::Widget::invalidateRect):
9894 * platform/qt/WidgetQt.cpp:
9895 (WebCore::WidgetPrivate::WidgetPrivate):
9896 (WebCore::Widget::invalidateRect):
9897 * platform/win/WidgetWin.cpp:
9898 (WebCore::Widget::Widget):
9899 (WebCore::Widget::invalidateRect):
9900
99012008-09-18 David Hyatt <hyatt@apple.com>
9902
hyatt@apple.com643534d2008-09-18 20:09:41 +00009903 Make invalidate() on Widget non-virtual and make it just call
9904 invalidateRect() on the boundsGeometry() of the Widget.
9905
9906 Reviewed by Dan Bernstein
9907
9908 * platform/Widget.h:
9909 (WebCore::Widget::boundsGeometry):
9910 (WebCore::Widget::invalidate):
9911 * platform/gtk/WidgetGtk.cpp:
9912 * platform/mac/WidgetMac.mm:
9913 * platform/qt/WidgetQt.cpp:
9914 * platform/win/WidgetWin.cpp:
9915 * platform/wx/WidgetWx.cpp:
9916
weinig@apple.comcaf2df42008-09-18 19:40:24 +000099172008-09-18 Sam Weinig <sam@webkit.org>
9918
9919 Rubber-stamped in exile by David Hyatt.
9920
9921 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
9922 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
9923 RenderStyle.h/cpp
9924
9925 * GNUmakefile.am:
9926 * WebCore.pro:
9927 * WebCore.vcproj/WebCore.vcproj:
9928 * WebCore.xcodeproj/project.pbxproj:
9929 * WebCoreSources.bkl:
9930 * css/CSSStyleSelector.cpp:
9931 * css/CSSStyleSelector.h:
9932 * page/animation/CompositeAnimation.cpp:
9933 * page/animation/KeyframeAnimation.cpp:
9934 * page/animation/KeyframeAnimation.h:
9935 * rendering/RenderCounter.h:
9936 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
9937 (WebCore::Animation::~Animation):
9938 (WebCore::Animation::animationsMatch):
9939 (WebCore::Animation::keyframeList):
9940 (WebCore::Animation::setAnimationKeyframe):
9941 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
9942 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
9943 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
9944 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
9945 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
9946 (WebCore::BindingURI::operator!=):
9947 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
9948 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
9949 (WebCore::ContentData::ContentData):
9950 (WebCore::ContentData::~ContentData):
9951 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
9952 (WebCore::CounterContent::CounterContent):
9953 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
9954 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
9955 (WebCore::CounterDirectives::CounterDirectives):
9956 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
9957 (WebCore::KeyframeList::insert):
9958 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
9959 (WebCore::KeyframeValue::KeyframeValue):
9960 (WebCore::KeyframeList::create):
9961 (WebCore::KeyframeList::KeyframeList):
9962 * rendering/style/RenderStyle.cpp:
9963 * rendering/style/RenderStyle.h:
9964 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
9965 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
9966 (WebCore::ShadowData::ShadowData):
9967 (WebCore::ShadowData::~ShadowData):
9968 (WebCore::ShadowData::operator!=):
9969 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
9970 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
9971 (WebCore::StyleFlexibleBoxData::operator!=):
9972 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
9973 (WebCore::TimingFunction::TimingFunction):
9974 (WebCore::TimingFunction::operator==):
9975
adele@apple.com5b2b5da2008-09-18 18:49:44 +000099762008-09-18 Adele Peterson <adele@apple.com>
9977
9978 Reviewed by Dan Bernstein.
9979
9980 Fix RenderStyle leaks.
9981
9982 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
9983
kmccullough@apple.comd4089752008-09-18 17:21:49 +000099842008-09-18 Kevin McCullough <kmccullough@apple.com>
9985
kmccullough@apple.com76c708f2008-09-18 18:03:23 +00009986 Accidentally checked in code.
9987
9988 * html/HTMLElementFactory.cpp:
9989 (WebCore::frameConstructor):
9990 (WebCore::iframeConstructor):
9991
99922008-09-18 Kevin McCullough <kmccullough@apple.com>
9993
kmccullough@apple.comd4089752008-09-18 17:21:49 +00009994 Reviewed by Tim.
9995
9996 <rdar://problem/5722310> gracefully handle too many console messages
9997 (20904)
9998 - Keep track of the most previous message and then compare it to the
9999 subsequent messages as they come in. If there are multiple of the same
10000 message create a count that indicates the current number.
10001
10002 * manual-tests/inspector/multiple-console-messages.html: Added.
10003 * page/inspector/Console.js:
10004 * page/inspector/inspector.css:
10005
alp@webkit.org18a1fbc2008-09-18 11:50:26 +0000100062008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
10007
10008 Reviewed by Alp Toker
10009
10010 https://bugs.webkit.org/show_bug.cgi?id=20830
10011 [GTK] Don't use deprecated pango API
10012
10013 Replace deprecated pango functions with non-deprecated ones for newer
10014 versions of pango
10015
10016 * platform/graphics/gtk/FontGtk.cpp:
10017 (WebCore::getDefaultPangoLayout):
10018 * platform/graphics/gtk/FontPlatformDataPango.cpp:
10019 (WebCore::FontPlatformData::FontPlatformData):
10020
alp@webkit.org2154ef22008-09-18 08:10:49 +0000100212008-09-18 Alp Toker <alp@nuanti.com>
10022
10023 Build fix for r36587. Add new sources (and sort the lists).
10024
10025 * GNUmakefile.am:
10026
weinig@apple.com3a98b2a2008-09-18 05:51:35 +0000100272008-09-17 Sam Weinig <sam@webkit.org>
10028
10029 Fix Windows build.
10030
10031 * WebCore.vcproj/WebCore.vcproj:
10032
hyatt@apple.comb3699722008-09-18 05:10:03 +0000100332008-09-17 David Hyatt <hyatt@apple.com>
10034
10035 Switch back to having frameGeometry be virtual in order to keep Mac
10036 the way it used to be.
10037
10038 Reviewed by Sam Weinig
10039
10040 * WebCore.base.exp:
10041 * platform/Widget.cpp:
10042 (WebCore::Widget::setParent):
10043 * platform/Widget.h:
10044 * platform/gtk/WidgetGtk.cpp:
10045 (WebCore::Widget::frameGeometry):
10046 (WebCore::Widget::setFrameGeometry):
10047 * platform/mac/WidgetMac.mm:
10048 (WebCore::Widget::frameGeometry):
10049 (WebCore::Widget::setFrameGeometry):
10050 * platform/qt/WidgetQt.cpp:
10051 (WebCore::Widget::frameGeometry):
10052 (WebCore::Widget::setFrameGeometry):
10053 * platform/win/WidgetWin.cpp:
10054 (WebCore::Widget::frameGeometry):
10055 (WebCore::Widget::setFrameGeometry):
10056 * platform/wx/WidgetWx.cpp:
10057 (WebCore::Widget::frameGeometry):
10058 (WebCore::Widget::setFrameGeometry):
10059 * plugins/PluginView.cpp:
10060 (WebCore::PluginView::setFrameGeometry):
10061 (WebCore::PluginView::geometryChanged):
10062 * plugins/PluginView.h:
10063 * plugins/gtk/PluginViewGtk.cpp:
10064 (WebCore::PluginView::updatePluginWidget):
10065 * plugins/qt/PluginViewQt.cpp:
10066 (WebCore::PluginView::updatePluginWidget):
10067 * plugins/win/PluginViewWin.cpp:
10068 (WebCore::PluginView::updatePluginWidget):
10069
weinig@apple.com00f4d5c2008-09-18 03:23:08 +0000100702008-09-17 Sam Weinig <sam@webkit.org>
10071
weinig@apple.com4fd54cd2008-09-18 05:03:21 +000010072 Reviewed by Mark Rowe.
10073
10074 Fix assertion in DOMWindow::adjustWindowRect where we were passing
10075 in garbage values and were getting lucky that they were a not Nan.
10076
10077 * bindings/js/JSDOMWindowBase.cpp:
10078 (WebCore::windowProtoFuncOpen):
10079
100802008-09-17 Sam Weinig <sam@webkit.org>
10081
weinig@apple.com95b14762008-09-18 04:28:40 +000010082 Fix gtk build.
10083
10084 * rendering/style/MatrixTransformOperation.cpp:
10085
100862008-09-17 Sam Weinig <sam@webkit.org>
10087
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000010088 Rubber-stamped with love by David Hyatt.
10089
10090 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
10091 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
10092 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
10093
10094 * GNUmakefile.am:
10095 * WebCore.pro:
10096 * WebCore.vcproj/WebCore.vcproj:
10097 * WebCore.xcodeproj/project.pbxproj:
10098 * WebCoreSources.bkl:
10099 * css/CSSStyleSelector.cpp:
10100 * page/animation/AnimationBase.cpp:
10101 (WebCore::solveEpsilon):
10102 * rendering/RenderLayer.cpp:
10103 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10104 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10105 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10106 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
10107 * rendering/style/RenderStyle.cpp:
10108 * rendering/style/RenderStyle.h:
10109 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10110 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10111 (WebCore::RotateTransformOperation::RotateTransformOperation):
10112 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10113 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10114 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
10115 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10116 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10117 (WebCore::SkewTransformOperation::SkewTransformOperation):
10118 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
10119 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
10120 (WebCore::StyleTransformData::operator!=):
10121 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
10122 (WebCore::TransformOperation::):
10123 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
10124 (WebCore::TransformOperations::TransformOperations):
10125 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
10126 (WebCore::TransformOperations::operator!=):
10127 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
10128 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
10129 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
10130
mrowe@apple.comdbfa8852008-09-18 02:59:20 +0000101312008-09-17 Mark Rowe <mrowe@apple.com>
10132
10133 Build fix.
10134
10135 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
10136
hyatt@apple.com76057b42008-09-18 02:48:46 +0000101372008-09-17 David Hyatt <hyatt@apple.com>
10138
10139 (1) Inline a bunch of methods for accessing frame geometry.
10140 (2) Make sure frameGeometry() works even when you have no underlying
10141 native widget.
10142 (3) Cache a frame geometry rect cross-platform (even for widgets that
10143 have underlying native widgets.
10144 (4) PluginView's updateWindow call is now a virtual function on Widget.
10145
10146 Reviewed by Sam Weinig
10147
10148 * ChangeLog:
10149 * WebCore.base.exp:
10150 * platform/Widget.cpp:
10151 (WebCore::Widget::setFrameGeometry):
10152 * platform/Widget.h:
10153 (WebCore::Widget::x):
10154 (WebCore::Widget::y):
10155 (WebCore::Widget::width):
10156 (WebCore::Widget::height):
10157 (WebCore::Widget::size):
10158 (WebCore::Widget::pos):
10159 (WebCore::Widget::frameGeometry):
10160 (WebCore::Widget::resize):
10161 (WebCore::Widget::move):
10162 (WebCore::Widget::isFrameView):
10163 (WebCore::Widget::windowClipRect):
10164 * platform/mac/WidgetMac.mm:
10165 (WebCore::Widget::~Widget):
10166 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
10167 * platform/win/WidgetWin.cpp:
10168 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
10169 * plugins/PluginView.cpp:
10170 (WebCore::PluginView::setFrameGeometry):
10171 (WebCore::PluginView::geometryChanged):
10172 * plugins/PluginView.h:
10173 * plugins/gtk/PluginViewGtk.cpp:
10174 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
10175 * plugins/qt/PluginViewQt.cpp:
10176 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
10177 * plugins/win/PluginViewWin.cpp:
10178 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
10179 * plugins/wx/PluginViewWx.cpp:
10180
weinig@apple.coma812a3ce2008-09-18 01:46:26 +0000101812008-09-17 Sam Weinig <sam@webkit.org>
10182
weinig@apple.comb4b66742008-09-18 02:47:55 +000010183 Reviewed by David "Waterman" Hyatt.
10184
10185 Fix a leak of NSViews in WidgetMac.mm.
10186
10187 * platform/mac/WidgetMac.mm:
10188 (WebCore::Widget::~Widget):
10189
101902008-09-17 Sam Weinig <sam@webkit.org>
10191
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000010192 Rubber-stamped by David Waterman Hyatt.
10193
10194 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
10195 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
10196
10197 * GNUmakefile.am:
10198 * WebCore.pro:
10199 * WebCore.vcproj/WebCore.vcproj:
10200 * WebCore.xcodeproj/project.pbxproj:
10201 * WebCoreSources.bkl:
10202 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
10203 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
10204 (WebCore::FillLayer::operator!=):
10205 (WebCore::FillLayer::hasImage):
10206 (WebCore::FillLayer::hasFixedImage):
10207 * rendering/style/RenderStyle.cpp:
10208 * rendering/style/RenderStyle.h:
10209 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
10210 (WebCore::StyleBackgroundData::StyleBackgroundData):
10211 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
10212 (WebCore::StyleBackgroundData::~StyleBackgroundData):
10213 (WebCore::StyleBackgroundData::operator!=):
10214 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
10215 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
10216 (WebCore::StyleBoxData::operator!=):
10217 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
10218 (WebCore::StyleDashboardRegion::operator!=):
10219 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
10220 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
10221 (WebCore::StyleMarqueeData::operator!=):
10222 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
10223 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
10224 (WebCore::StyleMultiColData::operator!=):
10225 (WebCore::StyleMultiColData::ruleWidth):
10226 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
10227 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
10228 (WebCore::StyleVisualData::operator==):
10229
hyatt@apple.comb4f28b32008-09-18 00:39:36 +0000102302008-09-17 David Hyatt <hyatt@apple.com>
10231
hyatt@apple.com3f19eac2008-09-18 00:56:04 +000010232 Remove WidgetClient from Widget.
10233
10234 Reviewed by Sam Weinig
10235
10236 * WebCore.xcodeproj/project.pbxproj:
10237 * platform/Widget.h:
10238 (WebCore::Widget::setClient):
10239 (WebCore::Widget::client):
10240 * platform/WidgetClient.h: Removed.
10241 * platform/gtk/WidgetGtk.cpp:
10242 * platform/mac/WidgetMac.mm:
10243 (WebCore::Widget::Widget):
10244 (WebCore::Widget::show):
10245 (WebCore::Widget::hide):
10246 * platform/qt/WidgetQt.cpp:
10247 (WebCore::WidgetPrivate::WidgetPrivate):
10248 * platform/win/WidgetWin.cpp:
10249 (WebCore::Widget::Widget):
10250 * platform/wx/WidgetWx.cpp:
10251 (WebCore::Widget::Widget):
10252
102532008-09-17 David Hyatt <hyatt@apple.com>
10254
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000010255 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
10256 only applies to Scrollbars so the method has been moved there and made
10257 cross-platform. Scrollbar subclasses that have a corresponding native
10258 widget can subclass setEnabled to change the enabled state of the native
10259 widget.
10260
10261 Reviewed by Sam Weinig & Darin Adler
10262
10263 * WebCore.base.exp:
10264 * platform/Scrollbar.cpp:
10265 (WebCore::Scrollbar::Scrollbar):
10266 * platform/Scrollbar.h:
10267 (WebCore::Scrollbar::enabled):
10268 (WebCore::Scrollbar::setEnabled):
10269 * platform/Widget.h:
10270 * platform/gtk/ScrollbarGtk.cpp:
10271 (ScrollbarGtk::setEnabled):
10272 * platform/gtk/ScrollbarGtk.h:
10273 * platform/gtk/WidgetGtk.cpp:
10274 * platform/mac/ScrollbarMac.h:
10275 * platform/mac/ScrollbarMac.mm:
10276 (WebCore::ScrollbarMac::scrollbarHit):
10277 (WebCore::ScrollbarMac::setEnabled):
10278 * platform/mac/WidgetMac.mm:
10279 * platform/qt/WidgetQt.cpp:
10280 (WebCore::WidgetPrivate::WidgetPrivate):
10281 * platform/win/WidgetWin.cpp:
10282 (WebCore::Widget::Widget):
10283 * platform/wx/WidgetWx.cpp:
10284
weinig@apple.com1ea40602008-09-17 23:56:27 +0000102852008-09-17 Sam Weinig <sam@webkit.org>
10286
10287 Rubber-stamped by David Hyatt.
10288
10289 Split all RenderStyle enums into their own file.
10290
10291 * GNUmakefile.am:
10292 * WebCore.vcproj/WebCore.vcproj:
10293 * WebCore.xcodeproj/project.pbxproj:
10294 * rendering/style/BorderValue.h:
10295 * rendering/style/CollapsedBorderValue.h:
10296 * rendering/style/RenderStyle.h:
10297 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
10298 (WebCore::):
10299 * rendering/style/StyleCachedImage.h:
10300 * rendering/style/StyleGeneratedImage.h:
10301 * rendering/style/StyleImage.h:
10302
sfalken@apple.combf270912008-09-17 23:53:17 +0000103032008-09-17 Steve Falkenburg <sfalken@apple.com>
10304
10305 Add back isFrameView check to fix failed assertion during scroll bar teardown.
10306
10307 Reviewed by Dave Hyatt.
10308
10309 * platform/Scrollbar.cpp:
10310 (WebCore::Scrollbar::setParent):
10311
beidson@apple.com4398e482008-09-17 23:30:00 +0000103122008-09-17 Brady Eidson <beidson@apple.com>
10313
10314 Reviewed by Mac build fix
10315
10316 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
10317
sfalken@apple.com85cc1392008-09-17 23:28:13 +0000103182008-09-17 Steve Falkenburg <sfalken@apple.com>
10319
10320 Fix build.
10321
10322 * platform/win/ScrollViewWin.cpp:
10323 (WebCore::ScrollView::setParentVisible):
10324 * plugins/win/PluginViewWin.cpp:
10325 (WebCore::PluginView::init):
10326
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +0000103272008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
10328
10329 Reviewed by Simon.
10330
10331 [QtWebKit] Implement error handling in TextCodecQt::decode
10332 Use the QTextCodec parsing state to set the sawError out variable. This
10333 is needed to pass Test 70 of acid3. The test case for this bug is
10334 fast/encoding/invalid-xml.html that is now partially passed. To pass
10335 it completely the Qt text codecs need to be adjusted to have proper
10336 error handling.
10337
10338 * platform/text/qt/TextCodecQt.cpp:
10339 (WebCore::TextCodecQt::decode):
10340
weinig@apple.comf6f0f112008-09-17 23:03:16 +0000103412008-09-17 Sam Weinig <sam@webkit.org>
10342
10343 Rubber-stamped by Dave Hyatt.
10344
10345 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
10346 out of RenderStyle.h/cpp
10347
10348 * GNUmakefile.am:
10349 * WebCore.pro:
10350 * WebCore.vcproj/WebCore.vcproj:
10351 * WebCore.xcodeproj/project.pbxproj:
10352 * WebCoreSources.bkl:
10353 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
10354 (WebCore::BorderData::hasBorderRadius):
10355 (WebCore::BorderData::borderLeftWidth):
10356 (WebCore::BorderData::borderRightWidth):
10357 (WebCore::BorderData::borderTopWidth):
10358 (WebCore::BorderData::borderBottomWidth):
10359 (WebCore::BorderData::operator!=):
10360 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
10361 (WebCore::):
10362 (WebCore::BorderValue::BorderValue):
10363 (WebCore::BorderValue::nonZero):
10364 (WebCore::BorderValue::isTransparent):
10365 (WebCore::BorderValue::isVisible):
10366 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
10367 (WebCore::):
10368 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
10369 (WebCore::CollapsedBorderValue::operator==):
10370 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
10371 (WebCore::OutlineValue::OutlineValue):
10372 * rendering/style/RenderStyle.cpp:
10373 * rendering/style/RenderStyle.h:
10374 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
10375 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
10376 (WebCore::StyleSurroundData::operator!=):
10377
bdakin@apple.com06b97182008-09-17 23:00:29 +0000103782008-09-17 Beth Dakin <bdakin@apple.com>
10379
10380 Reviewed by Darin Adler.
10381
10382 This is a better fix for: Invalid CSS code crashes Safari
10383 https://bugs.webkit.org/show_bug.cgi?id=20512
10384
10385 The spec indicates that the only valid input for a counter is a
10386 number or an identifier. So that is exactly what we allow.
10387
10388 * css/CSSParser.cpp:
10389 (WebCore::CSSParser::parseCounterContent):
10390
alp@webkit.org97ba9222008-09-17 22:16:26 +0000103912008-09-17 Alp Toker <alp@nuanti.com>
10392
10393 GTK+ build fix. Adapt to use PlatformWidget functions.
10394
10395 * platform/gtk/ScrollViewGtk.cpp:
10396 (WebCore::ScrollViewScrollbar::geometryChanged):
10397 (WebCore::ScrollView::addChild):
10398 (WebCore::ScrollView::removeChild):
10399 * platform/gtk/ScrollbarGtk.cpp:
10400 (ScrollbarGtk::ScrollbarGtk):
10401 (ScrollbarGtk::~ScrollbarGtk):
10402 (ScrollbarGtk::geometryChanged):
10403
weinig@apple.com930ed392008-09-17 22:00:45 +0000104042008-09-17 Sam Weinig <sam@webkit.org>
10405
10406 Reviewed by Adele Peterson.
10407
10408 Patch for <rdar://problem/6133884>
10409 Calling window.resizeTo() on a subframe shouldn't change the window size
10410
10411 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
10412
10413 * page/DOMWindow.cpp:
10414 (WebCore::DOMWindow::moveBy):
10415 (WebCore::DOMWindow::moveTo):
10416 (WebCore::DOMWindow::resizeBy):
10417 (WebCore::DOMWindow::resizeTo):
10418
bdakin@apple.com8f952d82008-09-17 21:35:02 +0000104192008-09-17 Beth Dakin <bdakin@apple.com>
10420
10421 Reviewed by Adam Roben.
10422
10423 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
10424 code crashes Safari
10425 and corresponding: <rdar://problem/6173832>
10426
10427 Reading through the spec, it seems like a function is not valid
10428 input for a counter. So this patch checks for that and bails in the
10429 case of invalid input.
10430
10431 * css/CSSParser.cpp:
10432 (WebCore::CSSParser::parseCounterContent):
10433
antti@apple.comb37d4052008-09-17 21:14:13 +0000104342008-09-17 Greg Bolsinga <bolsinga@apple.com>
10435
10436 Reviewed by Antti Koivisto.
10437
10438 Fix <rdar://problem/6227089>
10439 Crash in WebCore::Frame::setNeedsReapplyStyles()
10440
10441 View is null checked elsewhere too.
10442
10443 * page/Frame.cpp:
10444 (WebCore::Frame::setNeedsReapplyStyles):
10445
hyatt@apple.com8e340252008-09-17 20:59:45 +0000104462008-09-17 David Hyatt <hyatt@apple.com>
10447
10448 Make the notion of having a native widget backing a Widget cross-platform.
10449 The PlatformWidget abstraction (which already existed) is used for this.
10450 Windows = HWND
10451 Qt = QWidget
10452 Mac = NSView
10453 wx = wxWindow
10454 Gtk = GtkWidget
10455
10456 There are new cross-platform methods that replace all of the unique
10457 platform-specific methods.
10458 platformWidget()
10459 setPlatformWidget()
10460
10461 For plugins, on every platform except Qt on Windows, the plugin's native
10462 widget is now stored in the Widget base class. Since Qt on Windows uses
10463 HWNDs for plugins instead of QWidget, it is the only platform to keep the
10464 m_window variable in PluginView.
10465
10466 Reviewed by Sam Weinig
10467
10468 * WebCore.base.exp:
10469 * bindings/js/ScriptControllerMac.mm:
10470 (WebCore::ScriptController::createScriptInstanceForWidget):
10471 * page/mac/AccessibilityObjectWrapper.mm:
10472 (-[AccessibilityObjectWrapper attachmentView]):
10473 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
10474 * page/mac/EventHandlerMac.mm:
10475 (WebCore::EventHandler::passMouseDownEventToWidget):
10476 (WebCore::EventHandler::mouseDownViewIfStillGood):
10477 (WebCore::EventHandler::passWheelEventToWidget):
10478 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
10479 * platform/Widget.cpp:
10480 (WebCore::Widget::init):
10481 (WebCore::Widget::setParent):
10482 (WebCore::Widget::releasePlatformWidget):
10483 (WebCore::Widget::retainPlatformWidget):
10484 * platform/Widget.h:
10485 (WebCore::Widget::platformWidget):
10486 (WebCore::Widget::setPlatformWidget):
10487 * platform/gtk/WidgetGtk.cpp:
10488 (WebCore::Widget::Widget):
10489 (WebCore::Widget::setFocus):
10490 (WebCore::gdkDrawable):
10491 (WebCore::Widget::setCursor):
10492 (WebCore::Widget::show):
10493 (WebCore::Widget::hide):
10494 (WebCore::Widget::setEnabled):
10495 (WebCore::Widget::isEnabled):
10496 (WebCore::Widget::paint):
10497 * platform/mac/PlatformScreenMac.mm:
10498 (WebCore::screenRect):
10499 (WebCore::screenAvailableRect):
10500 * platform/mac/ScrollViewMac.mm:
10501 (WebCore::ScrollView::scrollView):
10502 (WebCore::ScrollView::update):
10503 (WebCore::ScrollView::inWindow):
10504 * platform/mac/ScrollbarMac.mm:
10505 (WebCore::ScrollbarMac::ScrollbarMac):
10506 (WebCore::ScrollbarMac::~ScrollbarMac):
10507 (WebCore::ScrollbarMac::updateThumbPosition):
10508 (WebCore::ScrollbarMac::updateThumbProportion):
10509 (WebCore::ScrollbarMac::scrollbarHit):
10510 * platform/mac/WidgetMac.mm:
10511 (WebCore::Widget::Widget):
10512 (WebCore::Widget::setEnabled):
10513 (WebCore::Widget::isEnabled):
10514 (WebCore::Widget::setFocus):
10515 (WebCore::Widget::getOuterView):
10516 (WebCore::Widget::paint):
10517 (WebCore::Widget::invalidate):
10518 (WebCore::Widget::invalidateRect):
10519 (WebCore::Widget::setIsSelected):
10520 (WebCore::Widget::releasePlatformWidget):
10521 (WebCore::Widget::retainPlatformWidget):
10522 * platform/qt/WidgetQt.cpp:
10523 (WebCore::WidgetPrivate::WidgetPrivate):
10524 (WebCore::Widget::Widget):
10525 (WebCore::Widget::setFrameGeometry):
10526 (WebCore::Widget::show):
10527 (WebCore::Widget::hide):
10528 (WebCore::Widget::isEnabled):
10529 (WebCore::Widget::setEnabled):
10530 (WebCore::Widget::invalidateRect):
10531 (WebCore::Widget::containingWindow):
10532 * platform/win/WidgetWin.cpp:
10533 (WebCore::Widget::Widget):
10534 * platform/wx/WidgetWx.cpp:
10535 (WebCore::Widget::Widget):
10536 (WebCore::Widget::frameGeometry):
10537 (WebCore::Widget::setFocus):
10538 (WebCore::Widget::setCursor):
10539 (WebCore::Widget::show):
10540 (WebCore::Widget::hide):
10541 (WebCore::Widget::setFrameGeometry):
10542 (WebCore::Widget::setEnabled):
10543 (WebCore::Widget::isEnabled):
10544 (WebCore::Widget::invalidate):
10545 (WebCore::Widget::invalidateRect):
10546 (WebCore::Widget::paint):
10547 * plugins/PluginView.cpp:
10548 (WebCore::PluginView::PluginView):
10549 * plugins/PluginView.h:
10550 (WebCore::PluginView::platformPluginWidget):
10551 * plugins/gtk/PluginViewGtk.cpp:
10552 (WebCore::PluginView::updateWindow):
10553 (WebCore::PluginView::setFocus):
10554 (WebCore::PluginView::show):
10555 (WebCore::PluginView::hide):
10556 (WebCore::PluginView::setParent):
10557 (WebCore::PluginView::setNPWindowRect):
10558 (WebCore::PluginView::setParentVisible):
10559 (WebCore::PluginView::getValue):
10560 (WebCore::PluginView::forceRedraw):
10561 (WebCore::PluginView::init):
10562 * plugins/qt/PluginViewQt.cpp:
10563 (WebCore::PluginView::updateWindow):
10564 (WebCore::PluginView::setFocus):
10565 (WebCore::PluginView::show):
10566 (WebCore::PluginView::hide):
10567 (WebCore::PluginView::setParent):
10568 (WebCore::PluginView::setNPWindowRect):
10569 (WebCore::PluginView::setParentVisible):
10570 (WebCore::PluginView::getValue):
10571 (WebCore::PluginView::~PluginView):
10572 (WebCore::PluginView::init):
10573 * plugins/win/PluginViewWin.cpp:
10574 (WebCore::PluginView::updateWindow):
10575 (WebCore::PluginView::setFocus):
10576 (WebCore::PluginView::show):
10577 (WebCore::PluginView::hide):
10578 (WebCore::PluginView::paint):
10579 (WebCore::PluginView::setParent):
10580 (WebCore::PluginView::setParentVisible):
10581 (WebCore::PluginView::setNPWindowRect):
10582 (WebCore::PluginView::stop):
10583 (WebCore::PluginView::invalidateRect):
10584 (WebCore::PluginView::forceRedraw):
10585 (WebCore::PluginView::~PluginView):
10586 (WebCore::PluginView::init):
10587
weinig@apple.comf713d132008-09-17 20:16:48 +0000105882008-09-17 Sam Weinig <sam@webkit.org>
10589
10590 Fix assert.
10591
10592 * platform/Widget.cpp:
10593 (WebCore::Widget::setParent):
10594
hyatt@apple.comd9242e32008-09-17 18:46:31 +0000105952008-09-17 David Hyatt <hyatt@apple.com>
10596
10597 Beginnings of Widget refactoring (in order to make the mixing of
10598 widgets with and without corresponding native widgets more cross-platform).
10599
10600 This first patch makes the concept of a parent ScrollView cross-platform.
10601
10602 Note the similarity of the show/hide methods on the three PluginViews. This
10603 will be refactored better in a later patch so that they can all share
10604 a base class Widget show/hide method. For now the changes were made
10605 simply to be able to bring WidgetWin's setParent method up into Widget.
10606
10607 Reviewed by Sam Weinig
10608
10609 * WebCore.base.exp:
10610 * platform/ScrollView.h:
10611 * platform/Widget.cpp:
10612 (WebCore::Widget::init):
10613 (WebCore::Widget::setParent):
10614 * platform/Widget.h:
10615 (WebCore::Widget::isSelfVisible):
10616 (WebCore::Widget::isParentVisible):
10617 (WebCore::Widget::isVisible):
10618 (WebCore::Widget::setParentVisible):
10619 (WebCore::Widget::isPluginView):
10620 (WebCore::Widget::parent):
10621 (WebCore::Widget::handleEvent):
10622 (WebCore::Widget::geometryChanged):
10623 * platform/gtk/WidgetGtk.cpp:
10624 (WebCore::Widget::Widget):
10625 * platform/mac/ScrollViewMac.mm:
10626 (WebCore::ScrollView::addChild):
10627 (WebCore::ScrollView::removeChild):
10628 * platform/mac/ScrollbarMac.mm:
10629 (WebCore::ScrollbarMac::~ScrollbarMac):
10630 * platform/mac/WidgetMac.mm:
10631 (WebCore::Widget::Widget):
10632 (WebCore::Widget::~Widget):
10633 * platform/qt/WidgetQt.cpp:
10634 (WebCore::WidgetPrivate::WidgetPrivate):
10635 (WebCore::Widget::Widget):
10636 (WebCore::Widget::topLevel):
10637 * platform/win/ScrollViewWin.cpp:
10638 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
10639 (WebCore::ScrollView::setAncestorVisible):
10640 (WebCore::ScrollView::show):
10641 (WebCore::ScrollView::hide):
10642 * platform/win/WidgetWin.cpp:
10643 (WebCore::Widget::Widget):
10644 (WebCore::Widget::setParent):
10645 * platform/wx/WidgetWx.cpp:
10646 (WebCore::Widget::Widget):
10647 * plugins/PluginView.cpp:
10648 (WebCore::PluginView::PluginView):
10649 * plugins/PluginView.h:
10650 * plugins/gtk/PluginViewGtk.cpp:
10651 (WebCore::PluginView::show):
10652 (WebCore::PluginView::hide):
10653 (WebCore::PluginView::setParentVisible):
10654 * plugins/qt/PluginViewQt.cpp:
10655 (WebCore::PluginView::show):
10656 (WebCore::PluginView::hide):
10657 (WebCore::PluginView::setParentVisible):
10658 * plugins/win/PluginViewWin.cpp:
10659 (WebCore::PluginView::show):
10660 (WebCore::PluginView::hide):
10661 (WebCore::PluginView::setParentVisible):
10662
ap@webkit.org18da1a32008-09-17 16:50:22 +0000106632008-09-17 Alexey Proskuryakov <ap@webkit.org>
10664
10665 Reviewed by Adam Roben.
10666
10667 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
10668
10669 * platform/text/TextCodecICU.cpp:
10670 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
10671
vestbo@webkit.orge48e6362008-09-17 13:29:42 +0000106722008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
10673
10674 Fix the QtWebKit/Mac build
10675
10676 * platform/qt/ScrollViewQt.cpp: add include
10677
ap@webkit.org18da1a32008-09-17 16:50:22 +0000106782008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +000010679
10680 Add a #define to control whether or not to use an NSScroller on Mac.
10681 This ifdef will allow the new NSView-less NSScroller on Mac to be
10682 developed side by side with the current one.
10683
10684 The new scroller paints a debug red if turned on (although due to
10685 Widget issues you won't see anything paint yet).
10686
10687 Reviewed by olliej
10688
10689 * platform/Scrollbar.cpp:
10690 * platform/Scrollbar.h:
10691 * platform/mac/ScrollbarMac.h:
10692 * platform/mac/ScrollbarMac.mm:
10693 * platform/mac/ScrollbarThemeMac.cpp:
10694 (WebCore::ScrollbarThemeMac::paint):
10695 * platform/mac/ScrollbarThemeMac.h:
10696
alp@webkit.orgf06bac02008-09-17 04:30:12 +0000106972008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
10698
10699 Reviewed by Alp Toker.
10700
10701 http://bugs.webkit.org/show_bug.cgi?id=20854
10702 [GTK] Windows can be not realized in ScrollView::update
10703
10704 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
10705
10706 * platform/gtk/ScrollViewGtk.cpp:
10707 (WebCore::ScrollView::update):
10708
alp@webkit.org226f72a2008-09-17 04:22:02 +0000107092008-09-16 Alp Toker <alp@nuanti.com>
10710
10711 Suggested by Dave Hyatt.
10712
10713 Build fix and cleanup. Rename ScrollBar to Scrollbar.
10714
10715 * GNUmakefile.am:
10716 * WebCore.pro:
10717 * WebCore.vcproj/WebCore.vcproj:
10718 * WebCore.xcodeproj/project.pbxproj:
10719 * WebCoreSources.bkl:
10720 * editing/EditorCommand.cpp:
10721 * page/EventHandler.cpp:
10722 * page/gtk/EventHandlerGtk.cpp:
10723 * page/mac/EventHandlerMac.mm:
10724 * page/mac/FrameMac.mm:
10725 * page/qt/EventHandlerQt.cpp:
10726 * page/wx/EventHandlerWx.cpp:
10727 * platform/PopupMenu.h:
10728 * platform/ScrollBar.cpp: Removed.
10729 * platform/ScrollBar.h: Removed.
10730 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
10731 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
10732 * platform/gtk/ScrollbarGtk.cpp:
10733 (ScrollbarGtk::ScrollbarGtk):
10734 * platform/gtk/ScrollbarGtk.h:
10735 * platform/mac/ScrollbarMac.h:
10736 * platform/qt/ScrollViewQt.cpp:
10737 * platform/qt/ScrollbarQt.cpp:
10738 * platform/qt/ScrollbarThemeQt.cpp:
10739 * platform/win/PlatformScrollBar.h:
10740 * platform/win/PopupMenuWin.cpp:
10741 * platform/win/ScrollViewWin.cpp:
10742 * platform/win/ScrollbarThemeWin.cpp:
10743 * platform/wx/ScrollViewWx.cpp:
10744 * platform/wx/TemporaryLinkStubs.cpp:
10745 * rendering/HitTestResult.cpp:
10746 * rendering/RenderLayer.cpp:
10747 * rendering/RenderTextControl.cpp:
10748
hyatt@apple.com7597c172008-09-17 02:15:08 +0000107492008-09-16 David Hyatt <hyatt@apple.com>
10750
hyatt@apple.comfde412d2008-09-17 03:49:48 +000010751 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
10752 it can be called from ScrollbarQt.
10753
10754 * platform/ScrollBar.cpp:
10755 (WebCore::Scrollbar::moveThumb):
10756 (WebCore::Scrollbar::handleMouseMoveEvent):
10757 (WebCore::Scrollbar::handleMousePressEvent):
10758 * platform/ScrollBar.h:
10759 * platform/qt/ScrollViewQt.cpp:
10760 * platform/qt/ScrollbarQt.cpp:
10761 (WebCore::Scrollbar::handleContextMenuEvent):
10762
107632008-09-16 David Hyatt <hyatt@apple.com>
10764
hyatt@apple.com4e3b8602008-09-17 03:17:11 +000010765 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
10766 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
10767 now just use Scrollbar.
10768
10769 Reviewed by Sam Weinig
10770
10771 * GNUmakefile.am:
10772 * WebCore.pro:
10773 * WebCore.vcproj/WebCore.vcproj:
10774 * WebCore.xcodeproj/project.pbxproj:
10775 * page/mac/FrameMac.mm:
10776 * platform/PopupMenu.h:
10777 (WebCore::PopupMenu::scrollbar):
10778 * platform/ScrollBar.cpp:
10779 (WebCore::createNativeScrollbar):
10780 * platform/ScrollBar.h:
10781 * platform/gtk/PlatformScrollBar.h: Removed.
10782 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
10783 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
10784 (gtkScrollEventCallback):
10785 (ScrollbarGtk::ScrollbarGtk):
10786 (ScrollbarGtk::~ScrollbarGtk):
10787 (ScrollbarGtk::updateThumbPosition):
10788 (ScrollbarGtk::updateThumbProportion):
10789 (ScrollbarGtk::setFrameGeometry):
10790 (ScrollbarGtk::geometryChanged):
10791 (ScrollbarGtk::gtkValueChanged):
10792 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
10793 * platform/mac/PlatformScrollBar.h: Removed.
10794 * platform/mac/PlatformScrollBarMac.mm: Removed.
10795 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
10796 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
10797 (-[WebCoreScrollBar initWithScrollbarMac:]):
10798 (-[WebCoreScrollBar detachScrollbarMac]):
10799 (WebCore::Scrollbar::createNativeScrollbar):
10800 (WebCore::ScrollbarMac::ScrollbarMac):
10801 (WebCore::ScrollbarMac::~ScrollbarMac):
10802 (WebCore::ScrollbarMac::updateThumbPosition):
10803 (WebCore::ScrollbarMac::updateThumbProportion):
10804 (WebCore::ScrollbarMac::scrollbarHit):
10805 * platform/qt/PlatformScrollBar.h: Removed.
10806 * platform/qt/PlatformScrollBarQt.cpp: Removed.
10807 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
10808 (WebCore::Scrollbar::handleContextMenuEvent):
10809 * rendering/HitTestResult.cpp:
10810 * rendering/RenderLayer.cpp:
10811 (WebCore::RenderLayer::createScrollbar):
10812 (WebCore::RenderLayer::destroyScrollbar):
10813 * rendering/RenderLayer.h:
10814 * rendering/RenderListBox.cpp:
10815 (WebCore::RenderListBox::~RenderListBox):
10816 (WebCore::RenderListBox::updateFromElement):
10817 (WebCore::RenderListBox::isPointInOverflowControl):
10818 * rendering/RenderObject.h:
10819 * rendering/RenderTextControl.cpp:
10820
108212008-09-16 David Hyatt <hyatt@apple.com>
10822
hyatt@apple.com7597c172008-09-17 02:15:08 +000010823 Make the scrollbar resizer-dodging logic cross-platform in the
10824 Scrollbar class.
10825
10826 Reviewed by Sam Weinig
10827
10828 * platform/ScrollBar.cpp:
10829 (WebCore::Scrollbar::setFrameGeometry):
10830 (WebCore::Scrollbar::setParent):
10831 (WebCore::Scrollbar::windowClipRect):
10832 * platform/ScrollBar.h:
10833 * platform/ScrollView.h:
10834 (WebCore::ScrollView::windowResizerRect):
10835 (WebCore::ScrollView::resizerOverlapsContent):
10836 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
10837 * platform/Widget.h:
10838 (WebCore::Widget::setParent):
10839 * platform/mac/WidgetMac.mm:
10840 (WebCore::Widget::convertToContainingWindow):
10841 * platform/win/PlatformScrollBar.h:
10842 * platform/win/PlatformScrollBarWin.cpp:
10843
mitz@apple.com6d925202008-09-16 17:34:10 +0000108442008-09-16 Dan Bernstein <mitz@apple.com>
10845
mitz@apple.comd9462a52008-09-16 17:40:20 +000010846 Reviewed by Darin Adler.
10847
10848 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
10849 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
10850
10851 Covered by fast/repaint/4776765.html
10852
10853 * rendering/RenderBlock.cpp:
10854 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
10855 did not have layout in the beginning.
10856 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
10857 layout in the beginning, repaint it in its new position, to compensate
10858 for the above (regardless of whether it "moved").
10859 * rendering/RenderObject.cpp:
10860 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
10861 about generalizing this fix in the future.
10862
108632008-09-16 Dan Bernstein <mitz@apple.com>
10864
mitz@apple.com6d925202008-09-16 17:34:10 +000010865 Reviewed by Dave Hyatt.
10866
10867 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
10868 Div does not notice when grandparent changes height
10869
10870 Test: fast/block/basic/quirk-percent-height-grandchild.html
10871
10872 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
10873 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
10874
10875 Test: fast/replaced/percent-height-in-anonymous-block.html
10876
10877 Added a two-way mapping between boxes with percentage heights and
10878 their non-parent ancestors up to the one the height is computed relative
10879 to. In quirks mode (the first bug), this can be any number of containing
10880 block with auto height. In strict mode (the second bug) this can be
10881 the containing block of an anonymous block containing a replaced
10882 element.
10883
10884 * rendering/RenderBlock.cpp:
10885 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
10886 mapping to/from this block to percentage-height descendants.
10887 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
10888 percentage-height descendants (and their containing block ancestry chain
10889 up to this block) for layout. This ensures that those descendants whose
10890 height depends on the height of this block (or an ancestor) are updated.
10891 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
10892 a two-way mapping between this block and the given box.
10893 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
10894 all the mapping to/from this box.
10895 * rendering/RenderBlock.h:
10896 * rendering/RenderBox.cpp:
10897 (WebCore::RenderBox::setStyle): Added calls to
10898 removePercentHeightDescendant() when style changes and the box
10899 previously had a percentage height. An exception is when the style
10900 change does not require layout, in which case the box still has
10901 a percentage height and the mappings are valid. In all other cases,
10902 any required mappings will be (re-)established during layout.
10903 (WebCore::RenderBox::destroy): Added a call to
10904 removePercentHeightDescendant.
10905 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
10906 mode, if a higher-than-parent containing block is affecting the box's
10907 height, creates a mapping between the box and that block.
10908 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
10909 anonymous containing blocks, if any, and when that happens, use
10910 addPercentHeightDescendant() to ensure that the non-anonymous block
10911 is aware of the dependent percent-height box.
10912
alp@webkit.org1dbd9a92008-09-16 16:59:18 +0000109132008-09-16 Dirk Schulze <vbs85@gmx.de>
10914
10915 Reviewed by Oliver Hunt and Alp Toker.
10916
10917 Implemented toDataURL in Cairo. Only PNG support
10918 at the moment.
10919
10920 Qt, Cairo and wx require toDataURL implementations
10921 https://bugs.webkit.org/show_bug.cgi?id=17719
10922
10923 * platform/MIMETypeRegistry.cpp:
10924 (WebCore::initializeSupportedImageMIMETypesForEncoding):
10925 * platform/graphics/cairo/ImageBufferCairo.cpp:
10926 (WebCore::ImageBuffer::ImageBuffer):
10927 (WebCore::writeFunction):
10928 (WebCore::ImageBuffer::toDataURL):
10929
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +0000109302008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
10931
10932 Reviewed by Simon.
10933
10934 Hide unused media element controls in the QtWebKit port
10935
10936 * platform/qt/html4-adjustments-qt.css
10937
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +0000109382008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
10939
10940 Reviewed by Simon.
10941
10942 Fix compilation of the Qt scrollbar code.
10943
10944 * platform/qt/PlatformScrollBarQt.cpp:
10945 (WebCore::scPart):
10946 (WebCore::styleOptionSlider):
10947 (WebCore::thumbLength):
10948 (WebCore::pixelPosToRangeValue):
10949 (WebCore::PlatformScrollbar::handleContextMenuEvent):
10950
treat@webkit.orga35f6b62008-09-16 14:15:29 +0000109512008-09-16 Adam Treat <treat@kde.org>
10952
10953 Reviewed by Anders Carlsson.
10954
10955 Prevent accesses off of the end of the buffer introduced in r36450
10956 and when checking for descriptions of mime. Also, coding style fix.
10957
10958 * plugins/qt/PluginPackageQt.cpp:
10959 (WebCore::PluginPackage::fetchInfo):
10960
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +0000109612008-09-15 Rob Buis <buis@kde.org>
10962
10963 Reviewed by Eric.
10964
10965 https://bugs.webkit.org/show_bug.cgi?id=20634
10966 SVG transform attribute is ignored by <use> in <clipPath>
10967
10968 Transform the paths with the local transform when part
10969 of a clip path.
10970
10971 Test: svg/custom/use-clipped-transform.svg
10972
10973 * svg/SVGClipPathElement.cpp:
10974 (WebCore::SVGClipPathElement::canvasResource):
10975 * svg/SVGStyledTransformableElement.cpp:
10976 (WebCore::SVGStyledTransformableElement::toClipPath):
10977 * svg/SVGStyledTransformableElement.h:
10978
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +0000109792008-09-15 Dave Hyatt <hyatt@apple.com>
10980
10981 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
10982 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
10983
10984 Reviewed by Sam Weinig
10985
10986 * platform/ScrollBar.cpp:
10987 (WebCore::thumbUnderMouse):
10988 (WebCore::Scrollbar::autoscrollPressedPart):
10989 (WebCore::Scrollbar::startTimerIfNeeded):
10990 (WebCore::moveThumb):
10991 (WebCore::Scrollbar::handleMouseMoveEvent):
10992 (WebCore::Scrollbar::handleMousePressEvent):
10993 * platform/ScrollBar.h:
10994 (WebCore::Scrollbar::pressedPos):
10995 (WebCore::Scrollbar::pixelStep):
10996 (WebCore::Scrollbar::setPressedPos):
10997 * platform/ScrollbarTheme.h:
10998 (WebCore::ScrollbarTheme::thumbPosition):
10999 (WebCore::ScrollbarTheme::thumbLength):
11000 (WebCore::ScrollbarTheme::trackPosition):
11001 (WebCore::ScrollbarTheme::trackLength):
11002 * platform/ScrollbarThemeComposite.cpp:
11003 (WebCore::ScrollbarThemeComposite::trackPosition):
11004 * platform/ScrollbarThemeComposite.h:
11005 * platform/qt/PlatformScrollBarQt.cpp:
11006 (WebCore::PlatformScrollbar::PlatformScrollbar):
11007 (WebCore::):
11008 * platform/qt/ScrollbarThemeQt.cpp:
11009 (WebCore::styleOptionSlider):
11010 (WebCore::ScrollbarThemeQt::hitTest):
11011 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
11012 (WebCore::ScrollbarThemeQt::invalidatePart):
11013 (WebCore::ScrollbarThemeQt::thumbPosition):
11014 (WebCore::):
11015 * platform/qt/ScrollbarThemeQt.h:
11016 * platform/win/ScrollbarThemeSafari.cpp:
11017 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
11018 * platform/win/ScrollbarThemeSafari.h:
11019 * platform/win/ScrollbarThemeWin.cpp:
11020 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
11021 * platform/win/ScrollbarThemeWin.h:
11022
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +0000110232008-09-15 David Smith <catfish.man@gmail.com>
11024
11025 Reviewed by Sam Weinig.
11026
11027 https://bugs.webkit.org/show_bug.cgi?id=20180
11028
11029 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
11030
11031 * GNUmakefile.am: Add CSSNthSelector
11032 * WebCore.pro: Add CSSNthSelector
11033 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
11034 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
11035 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
11036 * css/CSSNthSelector.cpp: Added.
11037 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
11038 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
11039 * css/CSSNthSelector.h: Added.
11040 (WebCore::CSSNthSelector::CSSNthSelector):
11041 (WebCore::CSSNthSelector::~CSSNthSelector):
11042 * css/CSSParser.cpp:
11043 (WebCore::CSSParser::createFloatingNthSelector):
11044 * css/CSSParser.h:
11045 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
11046 (WebCore::CSSSelector::CSSSelector):
11047 * css/CSSStyleSelector.cpp:
11048 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
11049
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +0000110502008-09-15 Matt Lilek <webkit@mattlilek.com>
11051
11052 Reviewed by Tim Hatcher.
11053
11054 Clean up some inspector JS callbacks to remove an extra return.
11055
11056 * page/InspectorController.cpp:
11057 (WebCore::hideDOMNodeHighlight):
11058 (WebCore::loaded):
11059 (WebCore::unloading):
11060 (WebCore::attach):
11061 (WebCore::detach):
11062 (WebCore::startDebuggingAndReloadInspectedPage):
11063 (WebCore::stopDebugging):
11064 (WebCore::debuggerAttached):
11065 (WebCore::pauseOnExceptions):
11066 (WebCore::pauseInDebugger):
11067 (WebCore::resumeDebugger):
11068 (WebCore::stepOverStatementInDebugger):
11069 (WebCore::stepIntoStatementInDebugger):
11070 (WebCore::stepOutOfFunctionInDebugger):
11071 (WebCore::isWindowVisible):
11072 (WebCore::closeWindow):
11073
hyatt@apple.com8e809932008-09-16 02:29:09 +0000110742008-09-15 Dave Hyatt <hyatt@apple.com>
11075
11076 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
11077 now share most of their code.
11078
11079 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
11080 also is never used in our code anyway.
11081
11082 Reviewed by Sam Weinig
11083
11084 * WebCore.vcproj/WebCore.vcproj:
11085 * platform/ScrollTypes.h:
11086 (WebCore::):
11087 * platform/ScrollbarThemeComposite.cpp:
11088 (WebCore::ScrollbarThemeComposite::splitTrack):
11089 (WebCore::ScrollbarThemeComposite::thumbLength):
11090 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
11091 * platform/ScrollbarThemeComposite.h:
11092 * platform/mac/PlatformScrollBarMac.mm:
11093 (NSControlSizeForScrollBarControlSize):
11094 * platform/win/PlatformScrollBar.h:
11095 * platform/win/PlatformScrollBarSafari.cpp: Removed.
11096 * platform/win/PlatformScrollBarWin.cpp:
11097 (WebCore::PlatformScrollbar::PlatformScrollbar):
11098 * platform/win/ScrollbarThemeSafari.cpp:
11099 (WebCore::ScrollbarTheme::nativeTheme):
11100 (WebCore::):
11101 (WebCore::scrollbarControlStateFromThemeState):
11102 (WebCore::ScrollbarThemeSafari::hasButtons):
11103 (WebCore::ScrollbarThemeSafari::hasThumb):
11104 (WebCore::buttonRepaintRect):
11105 (WebCore::ScrollbarThemeSafari::backButtonRect):
11106 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
11107 (WebCore::trackRepaintRect):
11108 (WebCore::ScrollbarThemeSafari::trackRect):
11109 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
11110 (WebCore::ScrollbarThemeSafari::paintTrack):
11111 (WebCore::ScrollbarThemeSafari::paintButton):
11112 (WebCore::ScrollbarThemeSafari::paintThumb):
11113 * platform/win/ScrollbarThemeSafari.h:
11114 * platform/win/ScrollbarThemeWin.cpp:
11115 * platform/win/ScrollbarThemeWin.h:
11116
cfleizach@apple.com0ce07032008-09-16 00:17:58 +0000111172008-09-15 Chris Fleizach <cfleizach@apple.com>
11118
11119 Reviewed by Darin Adler, Beth Dakin
11120
11121 <rdar://problem/4003789> Expose lists as AXList
11122 <rdar://problem/5707399> VO: Definition lists not announced in Safari
11123
11124 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
11125 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
11126 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
11127 as does each <dd> tag ("definition")
11128
11129 Test: accessibility/lists.html
11130
11131 * GNUmakefile.am:
11132 * WebCore.pro:
11133 * WebCore.vcproj/WebCore.vcproj:
11134 * WebCore.xcodeproj/project.pbxproj:
11135 * WebCoreSources.bkl:
11136 * page/AXObjectCache.cpp:
11137 * page/AccessibilityList.cpp: Added.
11138 * page/AccessibilityList.h: Added.
11139 * page/AccessibilityObject.h:
11140 * page/AccessibilityRenderObject.cpp:
11141 * page/AccessibilityTable.cpp:
11142 * page/mac/AccessibilityObjectWrapper.mm:
11143 * page/mac/WebCoreViewFactory.h:
11144 * platform/LocalizedStrings.h:
11145 * platform/mac/LocalizedStringsMac.mm:
11146 * platform/qt/Localizations.cpp:
11147
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +0000111482008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
11149
11150 Reviewed by Eric.
11151
11152 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
11153 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
11154
11155 Several renames:
11156 dispatchHTMLEvent -> dispatchEventForType
11157 setHTMLEventListener -> setEventListenerForType
11158 getHTMLEventListener -> eventListenerForType
11159 removeHTMLEventListener -> removeEventListenerForType
11160 isHTMLEventListener -> isAttachedToEventTargetNode
11161 ...
11162
11163 Similar renames for the dispatch/get/set/*Window*Event functions.
11164 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
11165
11166 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
11167 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
11168
11169 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
11170 SVG is able to use the code as well now. This affects most files in html/.
11171
11172 No functional changes.
11173
11174 * GNUmakefile.am:
11175 * WebCore.pro:
11176 * WebCore.vcproj/WebCore.vcproj:
11177 * WebCore.xcodeproj/project.pbxproj:
11178 * bindings/js/JSDOMWindowBase.cpp:
11179 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
11180 (WebCore::JSDOMWindowBase::setListener):
11181 (WebCore::JSDOMWindowBase::getListener):
11182 (WebCore::JSDOMWindowBase::findJSEventListener):
11183 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
11184 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
11185 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
11186 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
11187 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
11188 * bindings/js/JSDOMWindowBase.h:
11189 * bindings/js/JSEventListener.cpp:
11190 (WebCore::JSAbstractEventListener::handleEvent):
11191 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
11192 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
11193 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
11194 (WebCore::JSEventListener::JSEventListener):
11195 (WebCore::JSEventListener::~JSEventListener):
11196 (WebCore::JSLazyEventListener::JSLazyEventListener):
11197 (WebCore::eventParameterName):
11198 (WebCore::JSLazyEventListener::parseCode):
11199 (WebCore::getNodeEventListener):
11200 * bindings/js/JSEventListener.h:
11201 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
11202 (WebCore::JSUnprotectedEventListener::create):
11203 (WebCore::JSEventListener::create):
11204 (WebCore::JSLazyEventListener::):
11205 (WebCore::JSLazyEventListener::create):
11206 * bindings/js/JSEventTargetNode.cpp:
11207 (WebCore::JSEventTargetNode::setListener):
11208 (WebCore::JSEventTargetNode::getListener):
11209 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
11210 * bindings/js/JSSVGLazyEventListener.h: Removed.
11211 * bindings/js/ScriptController.cpp:
11212 (WebCore::ScriptController::createHTMLEventHandler):
11213 (WebCore::ScriptController::createSVGEventHandler):
11214 * dom/Document.cpp:
11215 (WebCore::Document::setFocusedNode):
11216 (WebCore::Document::handleWindowEvent):
11217 (WebCore::Document::setWindowEventListenerForType):
11218 (WebCore::Document::windowEventListenerForType):
11219 (WebCore::Document::removeWindowEventListenerForType):
11220 (WebCore::Document::addWindowEventListener):
11221 (WebCore::Document::hasWindowEventListener):
11222 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
11223 (WebCore::Document::createEventListener):
11224 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
11225 * dom/Document.h:
11226 * dom/EventListener.h:
11227 (WebCore::EventListener::isAttachedToEventTargetNode):
11228 * dom/EventTargetNode.cpp:
11229 (WebCore::EventTargetNode::dispatchFocusEvent):
11230 (WebCore::EventTargetNode::dispatchBlurEvent):
11231 (WebCore::EventTargetNode::dispatchEventForType):
11232 (WebCore::EventTargetNode::removeEventListenerForType):
11233 (WebCore::EventTargetNode::setEventListenerForType):
11234 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
11235 (WebCore::EventTargetNode::eventListenerForType):
11236 * dom/EventTargetNode.h:
11237 * dom/XMLTokenizer.cpp:
11238 (WebCore::XMLTokenizer::notifyFinished):
11239 * editing/ReplaceSelectionCommand.cpp:
11240 (WebCore::ReplacementFragment::ReplacementFragment):
11241 * html/HTMLBodyElement.cpp:
11242 (WebCore::HTMLBodyElement::parseMappedAttribute):
11243 * html/HTMLButtonElement.cpp:
11244 (WebCore::HTMLButtonElement::parseMappedAttribute):
11245 * html/HTMLElement.cpp:
11246 (WebCore::HTMLElement::parseMappedAttribute):
11247 (WebCore::HTMLElement::checkDTD):
11248 * html/HTMLElement.h:
11249 * html/HTMLFormControlElement.cpp:
11250 (WebCore::HTMLFormControlElement::onChange):
11251 * html/HTMLFormElement.cpp:
11252 (WebCore::HTMLFormElement::prepareSubmit):
11253 (WebCore::HTMLFormElement::reset):
11254 (WebCore::HTMLFormElement::parseMappedAttribute):
11255 * html/HTMLFrameElementBase.cpp:
11256 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
11257 * html/HTMLFrameSetElement.cpp:
11258 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
11259 * html/HTMLImageElement.cpp:
11260 (WebCore::HTMLImageElement::parseMappedAttribute):
11261 * html/HTMLImageLoader.cpp:
11262 (WebCore::HTMLImageLoader::dispatchLoadEvent):
11263 * html/HTMLInputElement.cpp:
11264 (WebCore::HTMLInputElement::parseMappedAttribute):
11265 (WebCore::HTMLInputElement::setValueFromRenderer):
11266 (WebCore::HTMLInputElement::onSearch):
11267 * html/HTMLMediaElement.cpp:
11268 (WebCore::HTMLMediaElement::asyncEventTimerFired):
11269 (WebCore::HTMLMediaElement::load):
11270 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
11271 (WebCore::HTMLMediaElement::setReadyState):
11272 (WebCore::HTMLMediaElement::seek):
11273 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
11274 (WebCore::HTMLMediaElement::willSaveToCache):
11275 * html/HTMLObjectElement.cpp:
11276 (WebCore::HTMLObjectElement::parseMappedAttribute):
11277 * html/HTMLScriptElement.cpp:
11278 (WebCore::HTMLScriptElement::parseMappedAttribute):
11279 (WebCore::HTMLScriptElement::dispatchLoadEvent):
11280 (WebCore::HTMLScriptElement::dispatchErrorEvent):
11281 * html/HTMLSelectElement.cpp:
11282 (WebCore::HTMLSelectElement::parseMappedAttribute):
11283 * html/HTMLTextAreaElement.cpp:
11284 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
11285 * html/HTMLTokenizer.cpp:
11286 (WebCore::HTMLTokenizer::notifyFinished):
11287 * page/AccessibilityRenderObject.cpp:
11288 (WebCore::AccessibilityRenderObject::mouseButtonListener):
11289 * page/EventHandler.cpp:
11290 (WebCore::EventHandler::canMouseDownStartSelect):
11291 (WebCore::EventHandler::canMouseDragExtendSelect):
11292 * page/Frame.cpp:
11293 (WebCore::Frame::sendScrollEvent):
11294 * page/Page.cpp:
11295 (WebCore::networkStateChanged):
11296 * rendering/RenderListBox.cpp:
11297 (WebCore::RenderListBox::valueChanged):
11298 * rendering/RenderTextControl.cpp:
11299 (WebCore::RenderTextControl::selectionChanged):
11300 * svg/SVGDocumentExtensions.cpp:
11301 * svg/SVGDocumentExtensions.h:
11302 * svg/SVGElement.cpp:
11303 (WebCore::SVGElement::parseMappedAttribute):
11304 (WebCore::SVGElement::finishParsingChildren):
11305 * svg/SVGElement.h:
11306 * svg/SVGSVGElement.cpp:
11307 (WebCore::SVGSVGElement::parseMappedAttribute):
11308 * svg/SVGSVGElement.h:
11309
hyatt@apple.com63739ce2008-09-15 23:44:10 +0000113102008-09-15 Dave Hyatt <hyatt@apple.com>
11311
11312 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
11313 need to be converted.
11314
11315 Reviewed by Sam Weinig
11316
11317 * platform/ScrollBar.cpp:
11318 (WebCore::Scrollbar::Scrollbar):
11319 (WebCore::Scrollbar::updateThumbPosition):
11320 (WebCore::Scrollbar::updateThumbProportion):
11321 (WebCore::Scrollbar::autoscrollPressedPart):
11322 (WebCore::Scrollbar::startTimerIfNeeded):
11323 * platform/ScrollBar.h:
11324 * platform/ScrollbarTheme.h:
11325 (WebCore::ScrollbarTheme::invalidateParts):
11326 * platform/ScrollbarThemeComposite.cpp:
11327 (WebCore::ScrollbarThemeComposite::hitTest):
11328 (WebCore::ScrollbarThemeComposite::invalidatePart):
11329 (WebCore::ScrollbarThemeComposite::thumbPosition):
11330 (WebCore::ScrollbarThemeComposite::thumbLength):
11331 (WebCore::ScrollbarThemeComposite::trackLength):
11332 * platform/ScrollbarThemeComposite.h:
11333 * platform/win/PlatformScrollBarSafari.cpp:
11334 (WebCore::PlatformScrollbar::PlatformScrollbar):
11335 * platform/win/PlatformScrollBarWin.cpp:
11336 (WebCore::PlatformScrollbar::PlatformScrollbar):
11337
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +0000113382008-09-15 David Smith <catfish.man@gmail.com>
11339
11340 "Just do it"'d by Mark Rowe
11341
11342 https://bugs.webkit.org/show_bug.cgi?id=20856
11343 Add missing license header
11344
11345 * dom/NodeRenderStyle.h:
11346
dino@apple.combf52b682008-09-15 21:31:43 +0000113472008-09-15 Dean Jackson <dino@apple.com>
11348
11349 Reviewed by Tim Hatcher.
11350
dino@apple.com3db0b8f2008-09-15 21:52:23 +000011351 Add default constructor for ShadowData
11352 https://bugs.webkit.org/show_bug.cgi?id=20757
11353
11354 Test: transitions/shadow.html
11355
11356 * rendering/style/RenderStyle.h:
11357
113582008-09-15 Dean Jackson <dino@apple.com>
11359
11360 Reviewed by Tim Hatcher.
11361
dino@apple.com03abdce2008-09-15 21:40:52 +000011362 RenderStyle should update keyframes.
11363 http://bugs.webkit.org/show_bug.cgi?id=20756
11364
11365 * rendering/style/RenderStyle.cpp:
11366 (WebCore::StyleRareNonInheritedData::updateKeyframes):
11367
113682008-09-15 Dean Jackson <dino@apple.com>
11369
11370 Reviewed by Tim Hatcher.
11371
dino@apple.combf52b682008-09-15 21:31:43 +000011372 Unnecessary ASSERT in ImplicitAnimation destructor.
11373 https://bugs.webkit.org/show_bug.cgi?id=20817
11374
11375 * page/animation/ImplicitAnimation.cpp:
11376 (WebCore::ImplicitAnimation::~ImplicitAnimation):
11377
treat@webkit.org7e5abc22008-09-15 20:53:49 +0000113782008-09-15 Adam Treat <treat@kde.org>
11379
11380 Reviewed by Simon.
11381
11382 Fix plugin extension info. It was returning the mimetype where the
11383 extension was given.
11384
11385 * plugins/qt/PluginPackageQt.cpp:
11386 (WebCore::PluginPackage::fetchInfo):
11387
dino@apple.comecc18dc2008-09-15 20:40:28 +0000113882008-09-15 Dean Jackson <dino@apple.com>
11389
11390 Reviewed by Tim Hatcher
11391
11392 Coding style violation!!!! Cleanup AnimationBase.cpp
11393
11394 * page/animation/AnimationBase.cpp:
11395 (WebCore::blendFunc):
11396
hyatt@apple.comf4a9d932008-09-15 20:03:25 +0000113972008-09-15 David Hyatt <hyatt@apple.com>
11398
11399 Move all hit testing code for scrollbars into the base class. Refactor
11400 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
11401 functions.
11402
11403 No platform is using this code yet. Although it has been moved and compiles
11404 (even on Mac), it is not being used on any platform.
11405
11406 Reviewed by Sam Weinig
11407
11408 * platform/ScrollBar.cpp:
11409 (WebCore::Scrollbar::autoscrollPressedPart):
11410 (WebCore::Scrollbar::startTimerIfNeeded):
11411 (WebCore::Scrollbar::handleMouseMoveEvent):
11412 (WebCore::Scrollbar::handleMouseOutEvent):
11413 (WebCore::Scrollbar::handleMouseReleaseEvent):
11414 (WebCore::Scrollbar::handleMousePressEvent):
11415 * platform/ScrollBar.h:
11416 (WebCore::Scrollbar::handleContextMenuEvent):
11417 * platform/ScrollbarTheme.h:
11418 (WebCore::ScrollbarTheme::hitTest):
11419 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
11420 (WebCore::ScrollbarTheme::invalidatePart):
11421 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
11422 (WebCore::ScrollbarTheme::centerOnThumb):
11423 (WebCore::ScrollbarTheme::thumbPosition):
11424 (WebCore::ScrollbarTheme::thumbLength):
11425 (WebCore::ScrollbarTheme::trackLength):
11426 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
11427 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
11428 * platform/Widget.h:
11429 (WebCore::Widget::parent):
11430 * platform/mac/PlatformScrollBar.h:
11431 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
11432 (WebCore::PlatformScrollbar::handleMouseOutEvent):
11433 (WebCore::PlatformScrollbar::handleMousePressEvent):
11434 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
11435 * platform/mac/WidgetMac.mm:
11436 (WebCore::Widget::convertFromContainingWindow):
11437 * platform/win/ScrollbarThemeWin.cpp:
11438 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
11439 * platform/win/ScrollbarThemeWin.h:
11440
mitz@apple.comd17dc392008-09-15 18:48:20 +0000114412008-09-15 Dan Bernstein <mitz@apple.com>
11442
11443 Reviewed by Sam Weinig.
11444
11445 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
11446
11447 Cache the next breakable position for text nodes in InlineIterator.
11448
11449 * rendering/bidi.cpp:
11450 (WebCore::InlineIterator::InlineIterator):
11451 (WebCore::InlineIterator::increment):
11452 (WebCore::RenderBlock::findNextLineBreak):
11453
simon.fraser@apple.comda604642008-09-15 17:10:48 +0000114542008-09-15 Simon Fraser <simon.fraser@apple.com>
11455
11456 Reviewed by Dan Bernstein
11457
11458 Fix assertion and integral pixel issue when creating subimages.
11459 https://bugs.webkit.org/show_bug.cgi?id=20786
11460
11461 * platform/graphics/cg/ImageCG.cpp:
11462 (WebCore::BitmapImage::draw):
11463
vestbo@webkit.orge7eda302008-09-15 12:43:37 +0000114642008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
11465
11466 Reviewed by Simon.
11467
11468 Implment seek() and clean up and improve debugging output
11469
11470 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11471 (debugMediaObject):
11472 (WebCore::MediaPlayerPrivate::seek):
11473 (WebCore::MediaPlayerPrivate::setVolume):
11474 (WebCore::MediaPlayerPrivate::setMuted):
11475 (WebCore::MediaPlayerPrivate::updateStates):
11476 (WebCore::MediaPlayerPrivate::naturalSize):
11477 (WebCore::MediaPlayerPrivate::paint):
11478 (WebCore::MediaPlayerPrivate::stateChanged):
11479 (WebCore::MediaPlayerPrivate::tick):
11480
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +0000114812008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
11482
11483 Reviewed by Simon.
11484
11485 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
11486
11487 m_mediaObject, m_audioOutput, m_videoWidget get created in the
11488 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
11489 only check if we use the MediaPlayerPrivate after it has been deleted.
11490
11491 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
11492
11493 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11494 (WebCore::MediaPlayerPrivate::play):
11495 (WebCore::MediaPlayerPrivate::setVolume):
11496 (WebCore::MediaPlayerPrivate::updateStates):
11497
andersca@apple.com18d62682008-09-15 11:35:22 +0000114982008-09-15 Anders Carlsson <andersca@apple.com>
11499
11500 Reviewed by Maciej.
11501
11502 <rdar://problem/6163988>
11503 https://bugs.webkit.org/show_bug.cgi?id=20457
11504 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
11505
11506 Check the width and height and throw an exception if any of them are 0.
11507
11508 * html/CanvasRenderingContext2D.cpp:
11509 (WebCore::CanvasRenderingContext2D::createPattern):
11510
vestbo@webkit.org3a27e182008-09-15 11:28:59 +0000115112008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
11512
11513 Reviewed by Simon.
11514
11515 Render media element controls with antialiasing enabled
11516
11517 * platform/qt/RenderThemeQt.cpp:
11518 (WebCore::RenderThemeQt::paintMediaMuteButton):
11519 (WebCore::RenderThemeQt::paintMediaPlayButton):
11520 (WebCore::RenderThemeQt::paintMediaSliderTrack):
11521 (WebCore::RenderThemeQt::paintMediaSliderThumb):
11522
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +0000115232008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
11524
11525 Reviewed by Simon.
11526
11527 Upon non fatal error, switch to the pause state (so that playback can continue)
11528
11529 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
11530 (WebCore::MediaPlayerPrivate::updateStates):
11531
vestbo@webkit.org12a59572008-09-15 11:16:13 +0000115322008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
11533
11534 Reviewed by Simon.
11535
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +000011536 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
11537
11538 * WebCore.pro:
11539
115402008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
11541
11542 Reviewed by Simon.
11543
vestbo@webkit.org12a59572008-09-15 11:16:13 +000011544 Make QtInstance::create() private and fix caching
11545
11546 * bindings/js/ScriptControllerQt.cpp:
11547 (WebCore::ScriptController::createScriptInstanceForWidget):
11548 * bridge/qt/qt_instance.cpp:
11549 (JSC::Bindings::QtInstance::getQtInstance):
11550 (JSC::Bindings::QtInstance::getRuntimeObject):
11551 * bridge/qt/qt_instance.h:
11552 (JSC::Bindings::QtInstance::create):
11553 * bridge/qt/qt_runtime.cpp:
11554 (JSC::Bindings::convertQVariantToValue):
11555 (JSC::Bindings::QtConnectionObject::execute):
11556
dsmith@webkit.orgaba15862008-09-15 08:45:35 +0000115572008-09-15 David Smith <catfish.man@gmail.com>
11558
11559 Reviewed by Dave Hyatt.
11560
11561 https://bugs.webkit.org/show_bug.cgi?id=20180
11562
11563 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
11564 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
11565 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
11566
11567 * css/CSSStyleSelector.cpp:
11568 (WebCore::CSSStyleSelector::CSSStyleSelector):
11569 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
11570 * css/CSSStyleSelector.h:
11571
hyatt@apple.com065494e2008-09-15 06:33:40 +0000115722008-09-14 Dave Hyatt <hyatt@apple.com>
11573
11574 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
11575 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
11576
11577 Reviewed by Sam Weinig
11578
11579 * platform/ScrollBar.h:
11580 (WebCore::Scrollbar::client):
11581 (WebCore::Scrollbar::currentPos):
11582 (WebCore::Scrollbar::totalSize):
11583 * platform/ScrollbarTheme.h:
11584 * platform/ScrollbarThemeComposite.cpp:
11585 (WebCore::pageForScrollView):
11586 (WebCore::ScrollbarThemeComposite::paint):
11587 * platform/ScrollbarThemeComposite.h:
11588 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
11589 * platform/win/PlatformScrollBar.h:
11590 * platform/win/PlatformScrollBarSafari.cpp:
11591 * platform/win/PlatformScrollBarWin.cpp:
11592 * platform/win/ScrollbarThemeSafari.h:
11593 (WebCore::ScrollbarThemeSafari::hasButtons):
11594 (WebCore::ScrollbarThemeSafari::hasThumb):
11595 (WebCore::ScrollbarThemeSafari::backButtonRect):
11596 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
11597 (WebCore::ScrollbarThemeSafari::trackRect):
11598 (WebCore::ScrollbarThemeSafari::splitTrack):
11599 (WebCore::ScrollbarThemeSafari::paintTrack):
11600 (WebCore::ScrollbarThemeSafari::paintButton):
11601 (WebCore::ScrollbarThemeSafari::paintThumb):
11602 * platform/win/ScrollbarThemeWin.cpp:
11603 (WebCore::isRunningOnVistaOrLater):
11604 (WebCore::checkAndInitScrollbarTheme):
11605 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
11606 (WebCore::ScrollbarThemeWin::themeChanged):
11607 (WebCore::ScrollbarThemeWin::hasThumb):
11608 (WebCore::ScrollbarThemeWin::backButtonRect):
11609 (WebCore::ScrollbarThemeWin::forwardButtonRect):
11610 (WebCore::ScrollbarThemeWin::trackRect):
11611 (WebCore::ScrollbarThemeWin::splitTrack):
11612 (WebCore::ScrollbarThemeWin::paintTrack):
11613 (WebCore::ScrollbarThemeWin::paintButton):
11614 (WebCore::gripperRect):
11615 (WebCore::paintGripper):
11616 (WebCore::ScrollbarThemeWin::paintThumb):
11617 (WebCore::ScrollbarThemeWin::thumbPosition):
11618 (WebCore::ScrollbarThemeWin::thumbLength):
11619 (WebCore::ScrollbarThemeWin::trackLength):
11620 * platform/win/ScrollbarThemeWin.h:
11621 (WebCore::ScrollbarThemeWin::hasButtons):
11622 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
11623
timothy@apple.comd91172c2008-09-15 05:38:00 +0000116242008-09-14 Anthony Ricaud <rik24d@gmail.com>
11625
11626 Moving all resource graphs under the same container for future scalable feature.
11627 This is a speedup on resize but maybe a loss on changing the sorting function.
11628
11629 https://bugs.webkit.org/show_bug.cgi?id=20555
11630
11631 Reviewed by Timothy Hatcher.
11632
11633 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
11634 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
11635 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
11636
ap@webkit.orga14074b2008-09-15 04:52:44 +0000116372008-09-14 Alexey Proskuryakov <ap@webkit.org>
11638
11639 Reviewed by Maciej Stachowiak.
11640
11641 https://bugs.webkit.org/show_bug.cgi?id=20738
11642 compareBoundaryPoints gives incorrect results
11643
11644 Test: fast/dom/Range/compareBoundaryPoints-2.html
11645
11646 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
11647 and END_TO_START.
11648 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
11649
mjs@apple.com285bdcf2008-09-15 02:55:16 +0000116502008-09-14 Maciej Stachowiak <mjs@apple.com>
11651
11652 Unreviewed build fix.
11653
mjs@apple.comcbb31e52008-09-15 03:10:35 +000011654 Trying again.
11655
11656 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11657 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
11658
116592008-09-14 Maciej Stachowiak <mjs@apple.com>
11660
11661 Unreviewed build fix.
11662
mjs@apple.com285bdcf2008-09-15 02:55:16 +000011663 Blind attempt to fix build. Correct parameters for hasInstance.
11664
11665 * bindings/js/JSQuarantinedObjectWrapper.cpp:
11666 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
11667 * bindings/js/JSQuarantinedObjectWrapper.h:
11668
mitz@apple.come85f7362008-09-15 02:23:24 +0000116692008-09-14 Dan Bernstein <mitz@apple.com>
11670
11671 Rubber-stamped by Sam Weinig.
11672
11673 - revert <http://trac.webkit.org/changeset/36382> because it exposed
11674 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
11675 on Tiger.
11676
11677 * platform/graphics/mac/FontCacheMac.mm:
11678 (WebCore::FontCache::getFontDataForCharacters):
11679 (WebCore::FontCache::getLastResortFallbackFont):
11680
hyatt@apple.comf18feec2008-09-15 00:56:11 +0000116812008-09-14 Dave Hyatt <hyatt@apple.com>
11682
11683 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
11684 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
11685 theme.
11686
11687 Reviewed by Sam Weinig
11688
11689 * WebCore.vcproj/WebCore.vcproj:
11690 * platform/win/ScrollbarThemeSafari.h:
11691 * platform/win/ScrollbarThemeWin.h:
11692
alp@webkit.orgd694e942008-09-15 00:20:15 +0000116932008-09-14 Alp Toker <alp@nuanti.com>
11694
11695 https://bugs.webkit.org/show_bug.cgi?id=20320
11696 [GTK] A white rectangle is visible behind widgets with rounded corners
11697
11698 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
11699 style exempt).
11700
11701 Requested by Michael Monreal.
11702
11703 * platform/gtk/RenderThemeGtk.cpp:
11704 (WebCore::RenderThemeGtk::RenderThemeGtk):
11705 * platform/gtk/gtk2drawing.c:
11706 (moz_gtk_set_widget_name):
11707 (ensure_window_widget):
11708 (setup_widget_prototype):
11709 (ensure_button_arrow_widget):
11710 (moz_gtk_get_combo_box_inner_button):
11711 (moz_gtk_get_combo_box_button_inner_widgets):
11712 (ensure_combo_box_widgets):
11713 (moz_gtk_get_combo_box_entry_inner_widgets):
11714 (moz_gtk_get_combo_box_entry_arrow):
11715 (ensure_combo_box_entry_widgets):
11716 (ensure_toolbar_widget):
11717 (ensure_tooltip_widget):
11718 (ensure_menu_bar_widget):
11719 (ensure_menu_bar_item_widget):
11720 (ensure_menu_popup_widget):
11721 (ensure_menu_item_widget):
11722 (ensure_image_menu_item_widget):
11723 (ensure_menu_separator_widget):
11724 (ensure_check_menu_item_widget):
11725 (ensure_tree_header_cell_widget):
11726 (ensure_scrolled_window_widget):
11727 (moz_gtk_button_paint):
11728 (moz_gtk_init):
11729 (moz_gtk_button_get_inner_border):
11730 (moz_gtk_toggle_paint):
11731 (calculate_button_inner_rect):
11732 (calculate_arrow_rect):
11733 (moz_gtk_scrollbar_button_paint):
11734 (moz_gtk_scrollbar_thumb_paint):
11735 (moz_gtk_caret_paint):
11736 (moz_gtk_entry_paint):
11737 (moz_gtk_treeview_paint):
11738 (moz_gtk_tree_header_cell_paint):
11739 (moz_gtk_combo_box_paint):
11740 (moz_gtk_downarrow_paint):
11741 (moz_gtk_combo_box_entry_button_paint):
11742 (moz_gtk_toolbar_paint):
11743 (moz_gtk_tab_scroll_arrow_paint):
11744 (moz_gtk_menu_bar_paint):
11745 (moz_gtk_menu_item_paint):
11746 (moz_gtk_get_widget_border):
11747 (moz_gtk_get_combo_box_entry_button_size):
11748 (moz_gtk_get_tab_scroll_arrow_size):
11749 (moz_gtk_get_downarrow_size):
11750 (moz_gtk_images_in_menus):
11751 (moz_gtk_widget_paint):
11752 (moz_gtk_shutdown):
11753 * platform/gtk/gtkdrawing.h:
11754
hyatt@apple.com3ab48302008-09-14 23:55:16 +0000117552008-09-14 David Hyatt <hyatt@apple.com>
11756
11757 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
11758 painting. Mac and Gtk themes don't do anything and just let the
11759 underlying widget paint. Qt now uses the theme to paint. wx doesn't
11760 do anything yet.
11761
11762 Reviewed by Sam Weinig
11763
11764 * platform/ScrollBar.cpp:
11765 (WebCore::Scrollbar::paint):
11766 * platform/ScrollBar.h:
11767 (WebCore::Scrollbar::value):
11768 (WebCore::Scrollbar::visibleSize):
11769 (WebCore::Scrollbar::maximum):
11770 (WebCore::Scrollbar::lineStep):
11771 (WebCore::Scrollbar::pageStep):
11772 (WebCore::Scrollbar::pixelStep):
11773 (WebCore::Scrollbar::pressedPart):
11774 (WebCore::Scrollbar::hoveredPart):
11775 (WebCore::Scrollbar::theme):
11776 * platform/ScrollbarTheme.h:
11777 (WebCore::ScrollbarTheme::paint):
11778 (WebCore::ScrollbarTheme::scrollbarThickness):
11779 (WebCore::ScrollbarTheme::supportsControlTints):
11780 (WebCore::ScrollbarTheme::themeChanged):
11781 * platform/gtk/PlatformScrollBar.h:
11782 * platform/gtk/PlatformScrollBarGtk.cpp:
11783 * platform/mac/PlatformScrollBar.h:
11784 * platform/mac/PlatformScrollBarMac.mm:
11785 * platform/qt/PlatformScrollBar.h:
11786 * platform/qt/PlatformScrollBarQt.cpp:
11787 * platform/qt/ScrollbarThemeQt.cpp:
11788 (WebCore::styleOptionSlider):
11789 * platform/qt/ScrollbarThemeQt.h:
11790 (WebCore::ScrollbarThemeQt::paint):
11791 * platform/win/PlatformScrollBarSafari.cpp:
11792 (WebCore::PlatformScrollbar::paint):
11793 * platform/win/ScrollbarThemeSafari.h:
11794 (WebCore::ScrollbarThemeSafari::supportsControlTints):
11795 * platform/wx/PlatformScrollBar.h:
11796 * platform/wx/TemporaryLinkStubs.cpp:
11797 (PlatformScrollbar::~PlatformScrollbar):
11798
weinig@apple.comcb93e262008-09-14 21:36:11 +0000117992008-09-14 Sam Weinig <sam@webkit.org>
11800
weinig@apple.com6ef2b872008-09-14 22:15:28 +000011801 Qt build fix.
11802
11803 * platform/qt/PlatformScrollBarQt.cpp:
11804
118052008-09-14 Sam Weinig <sam@webkit.org>
11806
weinig@apple.com064861a2008-09-14 22:12:49 +000011807 Reviewed by Mark Rowe.
11808
11809 Remove extraneous semicolons.
11810
11811 * bindings/scripts/CodeGeneratorObjC.pm:
11812 * html/HTMLLinkElement.cpp:
11813 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
11814 * html/HTMLScriptElement.cpp:
11815 (WebCore::HTMLScriptElement::charsetAttributeValue):
11816 (WebCore::HTMLScriptElement::typeAttributeValue):
11817 * platform/graphics/qt/GradientQt.cpp:
11818 (WebCore::Gradient::platformGradient):
11819 * platform/qt/ScrollViewQt.cpp:
11820 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
11821 * platform/win/ScrollViewWin.cpp:
11822 (WebCore::ScrollView::updateScrollbars):
11823 * rendering/RenderBlock.cpp:
11824 (WebCore::RenderBlock::paintEllipsisBoxes):
11825 * svg/SVGPathSegList.cpp:
11826 (WebCore::SVGPathSegList::toPathData):
11827
118282008-09-14 Sam Weinig <sam@webkit.org>
11829
weinig@apple.comcb93e262008-09-14 21:36:11 +000011830 Qt build fix.
11831
weinig@apple.com31311a62008-09-14 22:00:15 +000011832 * platform/qt/ScrollViewQt.cpp:
11833 (WebCore::ScrollView::updateScrollbars):
11834
118352008-09-14 Sam Weinig <sam@webkit.org>
11836
11837 Qt build fix.
11838
weinig@apple.comcb93e262008-09-14 21:36:11 +000011839 * platform/qt/PlatformScrollBarQt.cpp:
11840 (WebCore::PlatformScrollbar::PlatformScrollbar):
11841 (WebCore::PlatformScrollbar::paint):
11842
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +0000118432008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
11844
11845 Gtk build fix, not reviewed.
11846
11847 * platform/gtk/PlatformScrollBarGtk.cpp:
11848 (PlatformScrollbar::PlatformScrollbar):
11849 * platform/gtk/ScrollViewGtk.cpp:
11850 (WebCore::ScrollView::updateScrollbars):
11851
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +0000118522008-09-13 Dave Hyatt <hyatt@apple.com>
11853
hyatt@apple.com21ab7c62008-09-14 01:26:22 +000011854 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
11855 to set the dimensions of a scrollbar.
11856
11857 Reviewed by Sam Weinig
11858
11859 * platform/ScrollBar.h:
11860 * platform/gtk/PlatformScrollBar.h:
11861 * platform/gtk/PlatformScrollBarGtk.cpp:
11862 (PlatformScrollbar::setFrameGeometry):
11863 * platform/gtk/ScrollViewGtk.cpp:
11864 (WebCore::ScrollView::updateScrollbars):
11865 * platform/mac/PlatformScrollBarMac.mm:
11866 * platform/qt/PlatformScrollBarQt.cpp:
11867 * platform/qt/ScrollViewQt.cpp:
11868 (WebCore::ScrollView::updateScrollbars):
11869 * platform/win/PlatformScrollBar.h:
11870 * platform/win/PlatformScrollBarSafari.cpp:
11871 (WebCore::PlatformScrollbar::PlatformScrollbar):
11872 (WebCore::PlatformScrollbar::setFrameGeometry):
11873 * platform/win/PlatformScrollBarWin.cpp:
11874 (WebCore::PlatformScrollbar::PlatformScrollbar):
11875 (WebCore::PlatformScrollbar::setFrameGeometry):
11876 * platform/win/PopupMenuWin.cpp:
11877 (WebCore::PopupWndProc):
11878 * platform/win/ScrollViewWin.cpp:
11879 (WebCore::ScrollView::updateScrollbars):
11880 * platform/wx/PlatformScrollBar.h:
11881 * platform/wx/TemporaryLinkStubs.cpp:
11882 (PlatformScrollbar::updateThumbProportion):
11883 * rendering/RenderLayer.cpp:
11884 (WebCore::RenderLayer::positionOverflowControls):
11885 * rendering/RenderListBox.cpp:
11886 (WebCore::RenderListBox::paintScrollbar):
11887
118882008-09-13 Dave Hyatt <hyatt@apple.com>
11889
hyatt@apple.comed9485a2008-09-14 01:06:57 +000011890 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
11891
11892 Reviewed by Sam Weinig
11893
11894 * platform/ScrollBar.h:
11895 * platform/gtk/PlatformScrollBar.h:
11896 * platform/gtk/PlatformScrollBarGtk.cpp:
11897 * platform/mac/PlatformScrollBar.h:
11898 * platform/mac/PlatformScrollBarMac.mm:
11899 * platform/win/PlatformScrollBar.h:
11900 * platform/win/PlatformScrollBarSafari.cpp:
11901 * platform/win/PlatformScrollBarWin.cpp:
11902 * platform/wx/PlatformScrollBar.h:
11903 * platform/wx/TemporaryLinkStubs.cpp:
11904 (PlatformScrollbar::~PlatformScrollbar):
11905
119062008-09-13 Dave Hyatt <hyatt@apple.com>
11907
hyatt@apple.com64d98032008-09-14 00:58:29 +000011908 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
11909 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
11910
11911 Reviewed by Sam Weinig
11912
11913 * platform/ScrollBar.h:
11914 * platform/gtk/PlatformScrollBar.h:
11915 * platform/gtk/PlatformScrollBarGtk.cpp:
11916 * platform/mac/PlatformScrollBar.h:
11917 * platform/mac/PlatformScrollBarMac.mm:
11918 * platform/win/PlatformScrollBarSafari.cpp:
11919 * platform/win/PlatformScrollBarWin.cpp:
11920 * platform/wx/PlatformScrollBar.h:
11921 * platform/wx/TemporaryLinkStubs.cpp:
11922 (PlatformScrollbar::~PlatformScrollbar):
11923
119242008-09-13 Dave Hyatt <hyatt@apple.com>
11925
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000011926 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
11927
11928 Reviewed by Sam Weinig
11929
11930 * platform/ScrollBar.cpp:
11931 (WebCore::Scrollbar::~Scrollbar):
11932 * platform/ScrollBar.h:
11933 * platform/qt/PlatformScrollBarQt.cpp:
11934 (WebCore::PlatformScrollbar::~PlatformScrollbar):
11935 * platform/win/PlatformScrollBarSafari.cpp:
11936 (WebCore::PlatformScrollbar::~PlatformScrollbar):
11937 * platform/win/PlatformScrollBarWin.cpp:
11938 (WebCore::PlatformScrollbar::~PlatformScrollbar):
11939
hyatt@apple.coma3c52492008-09-13 23:57:08 +0000119402008-09-13 David Hyatt <hyatt@apple.com>
11941
11942 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
11943 function on Scrollbar. Fixes Qt build bustage.
11944
11945 Reviewed by Sam Weinig
11946
11947 * platform/ScrollBar.h:
11948 (WebCore::Scrollbar::orientation):
11949 (WebCore::Scrollbar::value):
11950 (WebCore::Scrollbar::maximum):
11951 * platform/qt/PlatformScrollBar.h:
11952
mitz@apple.comb3d22882008-09-13 23:06:59 +0000119532008-09-13 Dan Bernstein <mitz@apple.com>
11954
11955 Reviewed by Sam Weinig.
11956
11957 - use the LastResort font for missing glyphs instead of showing the
11958 primary font's missing glyph
11959
11960 Test: platform/mac/fast/text/last-resort-font.html
11961
11962 * platform/graphics/mac/FontCacheMac.mm:
11963 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
11964 last resort font if a substitute font cannot be found.
11965 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
11966 comment (the user's preferred standard font is included in the search
11967 thanks to code in FontCache::getFontData()) and changed to return the
11968 LastResort font.
11969
hyatt@apple.com0c378c72008-09-13 22:59:05 +0000119702008-09-13 Dave Hyatt <hyatt@apple.com>
11971
11972 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
11973 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
11974 patches will move rendering and hit testing functionality into this class.
11975
11976 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
11977 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
11978
11979 Reviewed by Sam Weinig
11980
11981 * GNUmakefile.am:
11982 * WebCore.pro:
11983 * WebCore.vcproj/WebCore.vcproj:
11984 * platform/ScrollBar.cpp:
11985 (WebCore::Scrollbar::Scrollbar):
11986 * platform/ScrollBar.h:
11987 * platform/ScrollbarTheme.h: Added.
11988 (WebCore::ScrollbarTheme::~ScrollbarTheme):
11989 (WebCore::ScrollbarTheme::scrollbarThickness):
11990 (WebCore::ScrollbarTheme::themeChanged):
11991 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
11992 (WebCore::ScrollbarTheme::nativeTheme):
11993 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
11994 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
11995 * platform/gtk/ScrollbarThemeGtk.h: Added.
11996 * platform/mac/PlatformScrollBar.h:
11997 * platform/mac/ScrollbarThemeMac.cpp: Added.
11998 (WebCore::ScrollbarTheme::nativeTheme):
11999 (WebCore::):
12000 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
12001 (WebCore::ScrollbarThemeMac::scrollbarThickness):
12002 * platform/mac/ScrollbarThemeMac.h: Added.
12003 * platform/qt/PlatformScrollBarQt.cpp:
12004 * platform/qt/ScrollbarThemeQt.cpp: Added.
12005 (WebCore::ScrollbarTheme::nativeTheme):
12006 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
12007 (WebCore::ScrollbarThemeQt::scrollbarThickness):
12008 * platform/qt/ScrollbarThemeQt.h: Added.
12009 * platform/win/PlatformScrollBar.h:
12010 * platform/win/PlatformScrollBarSafari.cpp:
12011 * platform/win/PlatformScrollBarWin.cpp:
12012 * platform/win/PopupMenuWin.cpp:
12013 (WebCore::PopupMenu::calculatePositionAndSize):
12014 * platform/win/ScrollViewWin.cpp:
12015 (WebCore::ScrollView::updateScrollbars):
12016 (WebCore::ScrollView::themeChanged):
12017 * platform/win/ScrollbarThemeSafari.cpp: Added.
12018 (WebCore::ScrollbarTheme::nativeTheme):
12019 (WebCore::):
12020 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
12021 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
12022 * platform/win/ScrollbarThemeSafari.h: Added.
12023 * platform/win/ScrollbarThemeWin.cpp: Added.
12024 (WebCore::ScrollbarTheme::nativeTheme):
12025 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
12026 (WebCore::ScrollbarThemeWin::scrollbarThickness):
12027 (WebCore::ScrollbarThemeWin::themeChanged):
12028 * platform/win/ScrollbarThemeWin.h: Added.
12029 * platform/wx/TemporaryLinkStubs.cpp:
12030 (ScrollbarTheme::nativeTheme):
12031 * rendering/RenderLayer.cpp:
12032 (WebCore::scrollCornerRect):
12033 * rendering/RenderTextControl.cpp:
12034 (WebCore::RenderTextControl::calcHeight):
12035 (WebCore::RenderTextControl::calcPrefWidths):
12036
cfleizach@apple.comd26c2762008-09-13 21:05:18 +0000120372008-09-13 Chris Fleizach <cfleizach@apple.com>
12038
12039 Reviewed by Timothy Hatcher.
12040
12041 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
12042
12043 * page/mac/AccessibilityObjectWrapper.mm:
12044 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
12045
mitz@apple.com6307c9f2008-09-13 20:27:37 +0000120462008-09-13 Dan Bernstein <mitz@apple.com>
12047
12048 Reviewed by Timothy Hatcher.
12049
12050 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
12051
12052 No regression test because the back/forward cache is disabled in DumpRenderTree
12053
12054 * rendering/RenderContainer.cpp:
12055 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
12056 is being destroyed.
12057
kevino@webkit.org1e178ee2008-09-13 18:48:39 +0000120582008-09-13 Kevin Ollivier <kevino@theolliviers.com>
12059
12060 wx build fixes for new methods recently introduced.
12061
12062 * platform/graphics/wx/AffineTransformWx.cpp:
12063 (WebCore::AffineTransform::AffineTransform):
12064 (WebCore::AffineTransform::setMatrix):
12065 (WebCore::AffineTransform::setA):
12066 (WebCore::AffineTransform::setB):
12067 (WebCore::AffineTransform::setC):
12068 (WebCore::AffineTransform::setD):
12069 (WebCore::AffineTransform::setE):
12070 (WebCore::AffineTransform::setF):
12071 * platform/wx/LocalizedStringsWx.cpp:
12072 (WebCore::AXDefinitionListTermText):
12073 (WebCore::AXDefinitionListDefinitionText):
12074
hyatt@apple.com30ed5442008-09-13 18:39:58 +0000120752008-09-12 Dave Hyatt <hyatt@apple.com>
12076
12077 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
12078 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
12079 "PlatformScrollbar."
12080
12081 Reviewed by Sam Weinig
12082
12083 * WebCore.vcproj/WebCore.vcproj:
12084 * editing/EditorCommand.cpp:
12085 * page/EventHandler.cpp:
12086 (WebCore::EventHandler::selectCursor):
12087 (WebCore::EventHandler::handleMousePressEvent):
12088 (WebCore::EventHandler::handleMouseMoveEvent):
12089 * page/EventHandler.h:
12090 * page/MouseEventWithHitTestResults.cpp:
12091 (WebCore::MouseEventWithHitTestResults::scrollbar):
12092 * page/MouseEventWithHitTestResults.h:
12093 * page/gtk/EventHandlerGtk.cpp:
12094 (WebCore::EventHandler::passMousePressEventToScrollbar):
12095 * page/mac/EventHandlerMac.mm:
12096 (WebCore::EventHandler::passMousePressEventToScrollbar):
12097 * page/qt/EventHandlerQt.cpp:
12098 (WebCore::EventHandler::passMousePressEventToScrollbar):
12099 * page/win/EventHandlerWin.cpp:
12100 (WebCore::EventHandler::passMousePressEventToScrollbar):
12101 * page/wx/EventHandlerWx.cpp:
12102 (WebCore::EventHandler::passMousePressEventToScrollbar):
12103 * platform/PopupMenu.h:
12104 * platform/ScrollBar.cpp:
12105 (WebCore::Scrollbar::Scrollbar):
12106 (WebCore::Scrollbar::autoscrollTimerFired):
12107 (WebCore::Scrollbar::autoscrollPressedPart):
12108 (WebCore::Scrollbar::startTimerIfNeeded):
12109 (WebCore::Scrollbar::stopTimerIfNeeded):
12110 (WebCore::Scrollbar::pressedPartScrollDirection):
12111 (WebCore::Scrollbar::pressedPartScrollGranularity):
12112 * platform/ScrollBar.h:
12113 (WebCore::Scrollbar::handleMousePressEvent):
12114 (WebCore::Scrollbar::invalidatePart):
12115 (WebCore::Scrollbar::thumbUnderMouse):
12116 * platform/ScrollView.h:
12117 * platform/ScrollbarClient.h: Added.
12118 (WebCore::ScrollbarClient::~ScrollbarClient):
12119 * platform/gtk/ScrollViewGtk.cpp:
12120 (WebCore::ScrollView::scrollbarUnderMouse):
12121 * platform/qt/PlatformScrollBar.h:
12122 * platform/qt/PlatformScrollBarQt.cpp:
12123 (WebCore::PlatformScrollbar::PlatformScrollbar):
12124 (WebCore::scrollbarPart):
12125 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
12126 (WebCore::PlatformScrollbar::handleMouseOutEvent):
12127 (WebCore::PlatformScrollbar::handleMousePressEvent):
12128 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
12129 * platform/qt/ScrollViewQt.cpp:
12130 (WebCore::ScrollView::scrollbarUnderMouse):
12131 (WebCore::ScrollView::wheelEvent):
12132 * platform/win/PlatformScrollBar.h:
12133 * platform/win/PlatformScrollBarSafari.cpp:
12134 (WebCore::PlatformScrollbar::PlatformScrollbar):
12135 * platform/win/PlatformScrollBarWin.cpp:
12136 (WebCore::PlatformScrollbar::PlatformScrollbar):
12137 * platform/win/ScrollViewWin.cpp:
12138 (WebCore::ScrollView::scrollbarUnderMouse):
12139 * rendering/HitTestResult.cpp:
12140 (WebCore::HitTestResult::setScrollbar):
12141 * rendering/HitTestResult.h:
12142 (WebCore::HitTestResult::scrollbar):
12143 * rendering/RenderLayer.cpp:
12144 (WebCore::RenderLayer::hitTestOverflowControls):
12145 * rendering/RenderLayer.h:
12146 * rendering/RenderListBox.h:
12147
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000121482008-09-12 Steve Falkenburg <sfalken@apple.com>
12149
12150 Fix Mac build.
12151
12152 * css/CSSStyleSelector.cpp:
12153 (WebCore::getTransformOperationType):
12154
dino@apple.comf937dc62008-09-13 00:45:39 +0000121552008-09-12 Chris Marrin <cmarrin@apple.com>
12156
12157 Reviewed by Dave Hyatt.
12158
12159 Make transform animation behavior match spec
12160 https://bugs.webkit.org/show_bug.cgi?id=20770
12161
12162 Tests: transitions/transform-op-list-match.html
12163 transitions/transform-op-list-no-match.html
12164
12165 * css/CSSStyleSelector.cpp:
12166 * css/CSSStyleSelector.h:
12167 * page/animation/AnimationBase.cpp:
12168 * page/animation/AnimationBase.h:
12169 * page/animation/ImplicitAnimation.cpp:
12170 * page/animation/ImplicitAnimation.h:
12171 * page/animation/KeyframeAnimation.cpp:
12172 * page/animation/KeyframeAnimation.h:
12173 * rendering/RenderLayer.cpp:
12174 * rendering/style/RenderStyle.cpp:
12175 * rendering/style/RenderStyle.h:
12176
timothy@apple.comab374dd2008-09-12 22:43:38 +0000121772008-09-12 Ojan Vafai <ojan@chromium.org>
12178
12179 Properly escape contents of links added to the inspector.
12180 For now, just build the link with the DOM and get the
12181 outerHTML. Eventually, we probably just want to do
12182 this entirely with the DOM.
12183
12184 Reviewed by Timothy Hatcher.
12185
12186 https://bugs.webkit.org/show_bug.cgi?id=20684
12187
12188 * manual-tests/inspector/escape-links.html: Added.
12189 * page/inspector/StylesSidebarPane.js:
12190 * page/inspector/inspector.js:
12191 * page/inspector/utilities.js:
12192
adele@apple.com87fb3c72008-09-12 22:14:13 +0000121932008-09-12 Adele Peterson <adele@apple.com>
12194
12195 Reviewed by John Sullivan and Kevin McCullough.
12196
12197 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
12198
12199 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
12200 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
12201 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
12202
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000122032008-09-12 Kevin McCullough <kmccullough@apple.com>
12204
12205 RS by Tim .
12206
12207 Re-introducing the code since it was not the cause of the crash.
12208 See r36343.
12209
12210 * rendering/RenderObject.cpp:
12211 (WebCore::RenderObject::canBeProgramaticallyScrolled):
12212 * rendering/RenderObject.h:
12213
dino@apple.comf712ed02008-09-12 21:54:57 +0000122142008-09-12 Chris Marrin <cmarrin@apple.com>
12215
12216 Reviewed by Dave Hyatt.
12217
12218 When changing one animation in a list, don't reset other animations
12219 https://bugs.webkit.org/show_bug.cgi?id=20675
12220
12221 Test: animations/change-one-anim.html
12222
12223 * page/animation/AnimationBase.cpp:
12224 (WebCore::AnimationBase::getNumProperties):
12225 * page/animation/AnimationBase.h:
12226 * page/animation/AnimationController.cpp:
12227 * page/animation/CompositeAnimation.cpp:
12228 (WebCore::CompositeAnimation::updateKeyframeAnimations):
12229 * page/animation/CompositeAnimation.h:
12230 * page/animation/ImplicitAnimation.cpp:
12231 * page/animation/KeyframeAnimation.cpp:
12232 * page/animation/KeyframeAnimation.h:
12233 (WebCore::KeyframeAnimation::setIndex):
12234
beidson@apple.com521e2b52008-09-12 18:40:03 +0000122352008-09-12 Brady Eidson <beidson@apple.com>
12236
12237 Reviewed by Mitz Pettel
12238
12239 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
12240
12241 * loader/DocumentLoader.cpp:
12242 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
12243 Subresources can never be created from nil data, but there is always a MainResource, whether
12244 or not there's any data. So in the case where the main resource has no data, fake it for the
12245 sake of creating the ArchiveResource.
12246
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000122472008-09-12 Dave Hyatt <hyatt@apple.com>
12248
12249 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
12250 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
12251 Remove all the isWidget and hasPlatformScrollbars guards.
12252
12253 Reviewed by Tim Hatcher
12254
12255 * platform/ScrollBar.h:
12256 * platform/gtk/PlatformScrollBar.h:
12257 * platform/mac/PlatformScrollBar.h:
12258 * platform/qt/PlatformScrollBar.h:
12259 * platform/win/PlatformScrollBar.h:
12260 * platform/win/ScrollViewWin.cpp:
12261 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
12262 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
12263 * platform/wx/PlatformScrollBar.h:
12264 * rendering/RenderLayer.cpp:
12265 (WebCore::RenderLayer::horizontalScrollbarWidget):
12266 (WebCore::RenderLayer::verticalScrollbarWidget):
12267 (WebCore::RenderLayer::createScrollbar):
12268 (WebCore::RenderLayer::destroyScrollbar):
12269 * rendering/RenderListBox.cpp:
12270 (WebCore::RenderListBox::~RenderListBox):
12271 (WebCore::RenderListBox::updateFromElement):
12272 (WebCore::RenderListBox::isPointInOverflowControl):
12273
mitz@apple.com0bef1302008-09-12 18:22:07 +0000122742008-09-12 Dan Bernstein <mitz@apple.com>
12275
12276 Reviewed by Sam Weinig.
12277
12278 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
12279
12280 * page/animation/AnimationController.cpp:
12281 * page/animation/AnimationController.h:
12282 * page/animation/CompositeAnimation.cpp:
12283 * page/animation/CompositeAnimation.h:
12284 * page/animation/ImplicitAnimation.cpp:
12285 * page/animation/ImplicitAnimation.h:
12286 * page/animation/KeyframeAnimation.cpp:
12287 * page/animation/KeyframeAnimation.h:
12288
timothy@apple.com43203432008-09-12 04:44:40 +0000122892008-09-11 Timothy Hatcher <timothy@apple.com>
12290
12291 Add a renderedImage method to DOMNode to get an image
12292 of the rendering for the node and it's descendants.
12293
12294 <rdar://problem/5849349> Would like API to create
12295 an image for a DOM node
12296
12297 Reviewed by Oliver Hunt.
12298
12299 * bindings/objc/DOM.mm:
12300 (-[DOMNode renderedImage]): Call Frame::nodeImage.
12301 * bindings/objc/DOMPrivate.h:
12302 * page/Frame.h:
12303 * page/mac/FrameMac.mm:
12304 (WebCore::Frame::nodeImage):
12305
dino@apple.com9300a0b2008-09-12 00:36:31 +0000123062008-09-08 Chris Marrin <cmarrin@apple.com>
12307
12308 Reviewed by Dave Hyatt
12309
12310 Need to support comma separated list of key times in keyframes selectors
12311 https://bugs.webkit.org/show_bug.cgi?id=20680
12312
12313 Test: animations/keyframes-comma-separated.html
12314
12315 * css/CSSGrammar.y:
12316 * css/CSSParser.cpp:
12317 (WebCore::CSSParser::createKeyframeRule):
12318 * css/CSSParser.h:
12319 * css/CSSStyleSelector.cpp:
12320 (WebCore::CSSStyleSelector::addKeyframeStyle):
12321 * css/WebKitCSSKeyframeRule.cpp:
12322 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
12323 (WebCore::WebKitCSSKeyframeRule::cssText):
12324 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
12325 * css/WebKitCSSKeyframeRule.h:
12326 (WebCore::WebKitCSSKeyframeRule::keyText):
12327 (WebCore::WebKitCSSKeyframeRule::setKeyText):
12328 (WebCore::WebKitCSSKeyframeRule::getKeys):
12329 * css/WebKitCSSKeyframesRule.cpp:
12330 (WebCore::WebKitCSSKeyframesRule::append):
12331 (WebCore::WebKitCSSKeyframesRule::insertRule):
12332 (WebCore::WebKitCSSKeyframesRule::deleteRule):
12333 (WebCore::WebKitCSSKeyframesRule::findRule):
12334 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
12335 * css/WebKitCSSKeyframesRule.h:
12336 * page/animation/AnimationBase.cpp:
12337 (WebCore::AnimationBase::blendProperties):
12338
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000123392008-09-11 Kevin McCullough <kmccullough@apple.com>
12340
12341 RS by Tim.
12342
12343 Reverting because this caused a crash.
12344
12345 * rendering/RenderObject.cpp:
12346 (WebCore::RenderObject::canBeProgramaticallyScrolled):
12347 (WebCore::RenderObject::hasScrollableView):
12348 * rendering/RenderObject.h:
12349
dino@apple.com19853b32008-09-11 21:59:08 +0000123502008-09-11 Dean Jackson <dino@apple.com>
12351
12352 Reviewed by Dan Bernstein.
12353
12354 Fix assertion on transition property "none"
12355 https://bugs.webkit.org/show_bug.cgi?id=20751
12356
12357 Test: transitions/transition-end-event-set-none.html
12358
12359 * page/animation/CompositeAnimation.cpp:
12360 (WebCore::CompositeAnimation::updateTransitions):
12361
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000123622008-09-11 David Smith <catfish.man@gmail.com>
12363
dsmith@webkit.org08103d92008-09-11 21:54:30 +000012364 Rubber-stamped by mitzpettel.
12365
12366 Remove an accidentally added extra file.
12367
12368 * WebCore: Removed.
12369
123702008-09-11 David Smith <catfish.man@gmail.com>
12371
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000012372 Reviewed by Darin
12373
12374 https://bugs.webkit.org/show_bug.cgi?id=20180
12375
12376 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.
12377
12378 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
12379 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
12380 * dom/Element.cpp: include NodeRenderStyle.h
12381 * dom/Node.cpp: Remove the definition of renderStyle()
12382 (WebCore::Node::nonRendererRenderStyle):
12383 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
12384 * dom/NodeRenderStyle.h: Added.
12385 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
12386 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
12387 * html/HTMLOptGroupElement.h:
12388 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
12389 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
12390 * html/HTMLOptionElement.h:
12391 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
12392 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
12393 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
12394 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
12395
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000123962008-09-11 Kevin McCullough <kmccullough@apple.com>
12397
12398 Reviewed by Adele and Tim.
12399
12400 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
12401 Inspector does not scroll to the line of the results (20167)
12402 - This was put in by Max to fix auto scrolling but is not correct for
12403 the whole web: rdar://problem/6213098
12404
12405 * rendering/RenderObject.cpp:
12406 (WebCore::RenderObject::canBeProgramaticallyScrolled):
12407 * rendering/RenderObject.h:
12408
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000124092008-09-11 Chris Fleizach <cfleizach@apple.com>
12410
12411 Reviewed by Beth Dakin
12412
12413 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
12414
12415 Test: accessibility/frame-with-title.html
12416
12417 * page/AccessibilityRenderObject.cpp:
12418 (WebCore::AccessibilityRenderObject::accessibilityDescription):
12419
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000124202008-09-11 Dirk Schulze <vbs85@gmx.de>
12421
12422 Reviewed by Simon.
12423
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000012424 Fixed stroke() and strokeRect() to support gradients
12425 and patterns on Qt.
12426
12427 [Qt] Canvas stroke don't work for gradients and patterns
12428 [https://bugs.webkit.org/show_bug.cgi?id=20749]
12429
12430 * platform/graphics/qt/GraphicsContextQt.cpp:
12431 (WebCore::GraphicsContext::strokePath):
12432 (WebCore::GraphicsContext::strokeRect):
12433
124342008-09-11 Dirk Schulze <vbs85@gmx.de>
12435
12436 Reviewed by Simon.
12437
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000012438 https://bugs.webkit.org/show_bug.cgi?id=20729
12439
12440 Fixed canvas gradients for Qt
12441
12442 [Qt] Canvas gradients don't work as expected
12443 [https://bugs.webkit.org/show_bug.cgi?id=20729]
12444
12445 * platform/graphics/qt/GradientQt.cpp:
12446 (WebCore::Gradient::platformGradient):
12447
124482008-09-11 Dirk Schulze <vbs85@gmx.de>
12449
12450 Reviewed by Simon.
12451
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000012452 https://bugs.webkit.org/show_bug.cgi?id=20568
12453
12454 Add support for patterns to Qt.
12455
12456 * platform/graphics/qt/PatternQt.cpp:
12457 (WebCore::Pattern::createPlatformPattern):
12458
mitz@apple.com442c5892008-09-10 18:21:14 +0000124592008-09-10 Dan Bernstein <mitz@apple.com>
12460
12461 Reviewed by Sam Weinig.
12462
12463 - clean up AnimationBase
12464
12465 * page/animation/AnimationBase.cpp:
12466 * page/animation/AnimationBase.h:
12467 * page/animation/CompositeAnimation.cpp:
12468 * page/animation/ImplicitAnimation.cpp:
12469 * page/animation/ImplicitAnimation.h:
12470 * page/animation/KeyframeAnimation.cpp:
12471 * page/animation/KeyframeAnimation.h:
12472
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000124732008-09-10 Alexey Proskuryakov <ap@webkit.org>
12474
12475 Reviewed by Darin Adler.
12476
12477 https://bugs.webkit.org/show_bug.cgi?id=20741
12478 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
12479
12480 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
12481 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
12482 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
12483
12484 I also found and fixed a potential crasher for non-Mac ports.
12485
12486 Tests: fast/encoding/hebrew/8859-8-e.html
12487 fast/encoding/hebrew/8859-8-i.html
12488 fast/encoding/hebrew/8859-8.html
12489 fast/encoding/hebrew/csISO88598I.html
12490 fast/encoding/hebrew/hebrew.html
12491 fast/encoding/hebrew/iso-ir-138.html
12492 fast/encoding/hebrew/logical.html
12493
12494 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
12495 (case-insensitively, because different versions of ICU report this MIME name in different
12496 case).
12497
12498 * platform/text/TextCodecICU.cpp:
12499 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
12500 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
12501 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
12502 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
12503 we also support these via TEC (which we should stop doing), but on Windows, this would
12504 likely crash.
12505
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000125062008-09-09 Dave Hyatt <hyatt@apple.com
12507
12508 Resurrect PlatformScrollbarWin.
12509
12510 Reviewed by Adam Roben
12511
12512 * WebCore.vcproj/WebCore.vcproj:
12513 * platform/win/PlatformScrollBarWin.cpp:
12514 (WebCore::isRunningOnVistaOrLater):
12515 (WebCore::checkAndInitScrollbarTheme):
12516 (WebCore::PlatformScrollbar::PlatformScrollbar):
12517 (WebCore::PlatformScrollbar::invalidateTrack):
12518 (WebCore::PlatformScrollbar::invalidatePart):
12519 (WebCore::PlatformScrollbar::paint):
12520 (WebCore::PlatformScrollbar::hasButtons):
12521 (WebCore::PlatformScrollbar::hasThumb):
12522 (WebCore::PlatformScrollbar::backButtonRect):
12523 (WebCore::PlatformScrollbar::forwardButtonRect):
12524 (WebCore::PlatformScrollbar::trackRect):
12525 (WebCore::PlatformScrollbar::gripperRect):
12526 (WebCore::PlatformScrollbar::thumbLength):
12527 (WebCore::PlatformScrollbar::paintButton):
12528 (WebCore::PlatformScrollbar::paintTrack):
12529 (WebCore::PlatformScrollbar::paintThumb):
12530 (WebCore::PlatformScrollbar::paintGripper):
12531 (WebCore::PlatformScrollbar::hitTest):
12532 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
12533 (WebCore::PlatformScrollbar::handleMouseOutEvent):
12534 (WebCore::PlatformScrollbar::themeChanged):
12535
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000125362008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
12537
12538 Reviewed by Maciej Stachowiak.
12539
12540 Bug 20759: Remove MacroAssembler
12541 <https://bugs.webkit.org/show_bug.cgi?id=20759>
12542
12543 Make the necessary changes to ForwardingHeaders to remove
12544 MacroAssembler.
12545
12546 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
12547 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
12548 * ForwardingHeaders/masm/X86Assembler.h: Added.
12549
alp@webkit.org509e3d42008-09-10 01:26:20 +0000125502008-09-09 Alp Toker <alp@nuanti.com>
12551
12552 Reviewed by Dave Hyatt.
12553
12554 https://bugs.webkit.org/show_bug.cgi?id=16792
12555 [GTK] Fails to render Japanese/Chinese text with simple path
12556
12557 https://bugs.webkit.org/show_bug.cgi?id=16942
12558 [GTK] Oddities in font selection and fall back
12559
12560 https://bugs.webkit.org/show_bug.cgi?id=16862
12561 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
12562
12563 GTK+ font fixes and enhancements.
12564
12565 Implement font fallback for the simple FontConfig-based text path and
12566 improve the Pango-based complex text path to make use of requested
12567 font properties and available font selection.
12568
12569 Add text shadow support to the complex path.
12570
12571 * platform/graphics/gtk/FontCacheGtk.cpp:
12572 (WebCore::FontCache::getFontDataForCharacters):
12573 (WebCore::FontCache::getSimilarFontPlatformData):
12574 * platform/graphics/gtk/FontGtk.cpp:
12575 (WebCore::setPangoAttributes):
12576 (WebCore::Font::drawComplexText):
12577 (WebCore::getDefaultPangoLayout):
12578 (WebCore::Font::floatWidthForComplexText):
12579 (WebCore::Font::offsetForPositionForComplexText):
12580 (WebCore::Font::selectionRectForComplexText):
12581 * platform/graphics/gtk/FontPlatformData.h:
12582 (WebCore::FontPlatformData::FontPlatformData):
12583 (WebCore::FontPlatformData::hash):
12584 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
12585 (WebCore::FontPlatformData::FontPlatformData):
12586 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
12587 (WebCore::SimpleFontData::platformDestroy):
12588
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000125892008-09-09 Dave Hyatt <hyatt@apple.com>
12590
12591 Make the Windows classic case work again. Overlap in slider constants and other constants broke
12592 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
12593 value to make sure it's really a slider thumb to resolve this conflict.
12594
12595 Reviewed by Adam Roben
12596
12597 * rendering/RenderThemeWin.cpp:
12598 (WebCore::drawControl):
12599
dino@apple.com442d0652008-09-09 23:36:56 +0000126002008-09-05 Chris Marrin <cmarrin@apple.com>
12601
12602 Reviewed by Sam Weinig.
12603
12604 Need to handle the case when 0% or 100% keyframe is omitted
12605 https://bugs.webkit.org/show_bug.cgi?id=20679
12606
12607 Tests: animations/keyframes-from-missing.html
12608 animations/keyframes-to-missing.html
12609
12610 * css/CSSStyleSelector.cpp:
12611 (WebCore::CSSStyleSelector::addKeyframeStyle):
12612
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000126132008-09-09 Dave Hyatt <hyatt@apple.com>
12614
12615 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
12616 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
12617 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
12618 what changes have been made as compared with the old RenderThemeWin).
12619
12620 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
12621 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
12622 vs. printer advancement rounding).
12623
12624 Reviewed by Adam/Sam
12625
12626 * css/CSSStyleSelector.cpp:
12627 (WebCore::CSSStyleSelector::applyProperty):
12628 * platform/graphics/Icon.h:
12629 (WebCore::Icon::create):
12630 * rendering/RenderThemeWin.cpp:
12631 (WebCore::RenderThemeWin::RenderThemeWin):
12632 (WebCore::RenderThemeWin::~RenderThemeWin):
12633 (WebCore::RenderThemeWin::buttonTheme):
12634 (WebCore::RenderThemeWin::textFieldTheme):
12635 (WebCore::RenderThemeWin::menuListTheme):
12636 (WebCore::RenderThemeWin::sliderTheme):
12637 (WebCore::RenderThemeWin::close):
12638 (WebCore::RenderThemeWin::themeChanged):
12639 (WebCore::RenderThemeWin::supportsHover):
12640 (WebCore::fillFontDescription):
12641 (WebCore::RenderThemeWin::systemFont):
12642 (WebCore::RenderThemeWin::supportsFocus):
12643 (WebCore::RenderThemeWin::determineClassicState):
12644 (WebCore::RenderThemeWin::determineState):
12645 (WebCore::RenderThemeWin::determineSliderThumbState):
12646 (WebCore::RenderThemeWin::getClassicThemeData):
12647 (WebCore::RenderThemeWin::getThemeData):
12648 (WebCore::drawControl):
12649 (WebCore::RenderThemeWin::paintButton):
12650 (WebCore::RenderThemeWin::paintTextField):
12651 (WebCore::RenderThemeWin::paintMenuList):
12652 (WebCore::RenderThemeWin::adjustMenuListStyle):
12653 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
12654 (WebCore::RenderThemeWin::paintMenuListButton):
12655 (WebCore::RenderThemeWin::paintSliderTrack):
12656 (WebCore::RenderThemeWin::paintSliderThumb):
12657 (WebCore::RenderThemeWin::adjustSliderThumbSize):
12658 (WebCore::RenderThemeWin::paintSearchField):
12659 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
12660 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
12661 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
12662 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
12663 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
12664 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
12665 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
12666 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
12667 * rendering/RenderThemeWin.h:
12668 (WebCore::ThemeData::ThemeData):
12669 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
12670 (WebCore::RenderThemeWin::adjustButtonStyle):
12671 (WebCore::RenderThemeWin::adjustTextFieldStyle):
12672 (WebCore::RenderThemeWin::adjustTextAreaStyle):
12673
dino@apple.comd511ce52008-09-09 19:50:25 +0000126742008-09-09 Dean Jackson <dino@apple.com>
12675
12676 Reviewed by Sam Weinig.
12677
12678 Document::createEvent missing cases for animation and
12679 transition events.
12680 https://bugs.webkit.org/show_bug.cgi?id=20734
12681
12682 Test: transitions/transition-end-event-create.html
12683 Test: animations/animation-events-create.html
12684
12685 * dom/Document.cpp:
12686 (WebCore::Document::createEvent):
12687 - add the two cases
12688
mitz@apple.com1da7b882008-09-09 18:12:06 +0000126892008-09-09 Dan Bernstein <mitz@apple.com>
12690
mitz@apple.com54921562008-09-09 18:48:34 +000012691 - Tiger build fix
12692
12693 * WebCore.Tiger.exp:
12694 * WebCore.base.exp:
12695 * platform/mac/WebCoreSystemInterface.h:
12696 * platform/mac/WebCoreSystemInterface.mm:
12697
126982008-09-09 Dan Bernstein <mitz@apple.com>
12699
mitz@apple.com1da7b882008-09-09 18:12:06 +000012700 Reviewed by Darin Adler.
12701
12702 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
12703
12704 * WebCore.Tiger.exp:
12705 * WebCore.base.exp:
12706 * platform/graphics/SimpleFontData.h:
12707 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
12708 (WebCore::GlyphPage::fill):
12709 * platform/graphics/mac/SimpleFontDataMac.mm:
12710 (WebCore::initFontData):
12711 (WebCore::SimpleFontData::platformInit):
12712 (WebCore::SimpleFontData::platformDestroy):
12713 * platform/mac/WebCoreSystemInterface.h:
12714 * platform/mac/WebCoreSystemInterface.mm:
12715
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000127162008-09-09 Kevin McCullough <kmccullough@apple.com>
12717
12718 Reviewed by Tim.
12719
12720 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
12721 breakpoints inside eval.
12722
12723 * page/inspector/inspector.js:
12724
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000127252008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
12726
12727 Reviewed by Simon.
12728
12729 Fix compilation of the Qt port with disabled plugins on Windows
12730
12731 * WebCore.pro:
12732 * plugins/PluginView.cpp:
12733 (WebCore::PluginView::PluginView):
12734 * plugins/PluginView.h:
12735
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000127362008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
12737
12738 Reviewed by Alexey Proskuryakov.
12739
12740 Try MIME charset names before trying IANA names
12741 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
12742
12743 With this change, shorter and more widely used names (preferred MIME
12744 names) are returned by document.charset, document.characterSet,
12745 document.inputEncoding rather than IANA names. This helps
12746 fixing bug 18085 in addition to web developers who are more familiar
12747 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
12748 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
12749 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
12750 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
12751 used, the former is still recognized as aliases to the latter so that
12752 there's very little, if any, to worry about.
12753
12754 * platform/text/TextCodecICU.cpp:
12755 (WebCore::TextCodecICU::registerExtendedEncodingNames):
12756
weinig@apple.com22294302008-09-09 06:55:39 +0000127572008-09-08 Sam Weinig <sam@webkit.org>
12758
12759 Reviewed by Maciej Stachowiak and Oliver Hunt.
12760
12761 Add forwarding headers.
12762
12763 * ForwardingHeaders/wtf/HashFunctions.h: Added.
12764
dino@apple.comd9962af2008-09-09 01:02:00 +0000127652008-09-05 Dean Jackson <dino@apple.com>
12766
12767 Reviewed by Dan Bernstein.
12768
12769 Update grammar so that we can add a keyframe rule via the DOM.
12770 https://bugs.webkit.org/show_bug.cgi?id=20613
12771
12772 * css/CSSGrammar.y:
12773 * css/tokenizer.flex:
12774
antti@apple.com4b17a932008-09-09 00:40:45 +0000127752008-09-08 Antti Koivisto <antti@apple.com>
12776
12777 Reviewed by Dan Bernstein.
12778
12779 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
12780 actually show up in any of the default stylesheets.
12781
12782 * css/CSSStyleSelector.cpp:
12783 (WebCore::elementCanUseSimpleDefaultStyle):
12784
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000127852008-09-08 Dimitri Glazkov <dglazkov@google.com>
12786
12787 Reviewed by Dan Bernstein.
12788
12789 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
12790 Zero width and space characters are displayed incorrectly if not contained in a fallback font
12791
12792 Adds an extra check for Object Replacement Character (U+FFFC) to address
12793 the issue with fast/text/zero-width-characters.html test when run
12794 with Windows system default fonts.
12795
12796 * platform/graphics/Font.h:
12797 (WebCore::Font::treatAsZeroWidthSpace):
12798
dino@apple.comf0a4b212008-09-08 22:51:49 +0000127992008-09-08 Dean Jackson <dino@apple.com>
12800
12801 Reviewed by Sam Weinig.
12802
12803 Code style issue I forgot to fix from previous commit.
12804
12805 * platform/graphics/AffineTransform.cpp:
12806 (WebCore::AffineTransform::blend):
12807
dino@apple.com26625122008-09-08 22:46:41 +0000128082008-09-08 Chris Marrin <cmarrin@apple.com>
12809
12810 Reviewed by Sam Weinig
12811
12812 - Animation of -webkit-transform matrix() function should not do linear interpolation
12813 https://bugs.webkit.org/show_bug.cgi?id=20667
12814
12815 Test: animations/matrix-anim.html
12816
12817 * ChangeLog:
12818 * platform/graphics/AffineTransform.cpp:
12819 (WebCore::affineTransformDecompose):
12820 (WebCore::affineTransformCompose):
12821 (WebCore::AffineTransform::blend):
12822 * platform/graphics/AffineTransform.h:
12823 * rendering/style/RenderStyle.cpp:
12824 (WebCore::MatrixTransformOperation::blend):
12825
ap@webkit.org243a9752008-09-08 16:21:16 +0000128262008-09-08 Alexey Proskuryakov <ap@webkit.org>
12827
12828 Reviewed by Darin Adler.
12829
12830 https://bugs.webkit.org/show_bug.cgi?id=20668
12831 multipart/form-data does not always include Content-type for submitted files
12832
12833 Cannot be tested with DRT or manual tests.
12834
12835 * platform/MIMETypeRegistry.cpp:
12836 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
12837 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
12838 unknown extensions, not just missing ones.
12839
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000128402008-09-08 Simon Hausmann <hausmann@webkit.org>
12841
12842 Build fix for the Qt/Windows build, define USE_JSC to
12843 enable the WebCore::String -> JSC::UString operator that
12844 MSVC insists on seeing
12845
12846 * WebCore.pro:
12847
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000128482008-09-08 Anders Carlsson <andersca@apple.com>
12849
12850 Reviewed by Maciej.
12851
12852 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
12853
12854 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
12855 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
12856
12857 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
12858
12859 * bindings/js/JSDOMWindowBase.h:
12860 * loader/FrameLoader.cpp:
12861 (WebCore::FrameLoader::commitProvisionalLoad):
12862
antti@apple.com57b3a102008-09-08 07:01:36 +0000128632008-09-07 Antti Koivisto <antti@apple.com>
12864
12865 Reviewed by Dave Hyatt.
12866
12867 Don't leak the simple stylesheet.
12868 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
12869
12870 * css/CSSStyleSelector.cpp:
12871 (WebCore::loadFullDefaultStyle):
12872 (WebCore::loadSimpleDefaultStyle):
12873 (WebCore::CSSStyleSelector::styleForElement):
12874
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000128752008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
12876
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000012877 Reviewed by Oliver Hunt.
12878
12879 Bug 20711: Change KJS prefix on preprocessor macros to JSC
12880 <https://bugs.webkit.org/show_bug.cgi?id=20711>
12881
12882 * bindings/js/JSEventTargetBase.h:
12883 * bindings/js/JSHTMLInputElementBase.cpp:
12884 * bindings/js/JSHTMLInputElementBase.h:
12885 * bindings/scripts/CodeGeneratorJS.pm:
12886
128872008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
12888
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000012889 Reviewed by Maciej Stachowiak.
12890
12891 Bug 20704: Replace the KJS namespace
12892 <https://bugs.webkit.org/show_bug.cgi?id=20704>
12893
12894 Rename the KJS namespace to JSC. There are still some uses of KJS in the
12895 names of JNI functions, and I will check if these are safe to change
12896 as well.
12897
12898 * WebCore.base.exp:
12899 * bindings/js/GCController.cpp:
12900 * bindings/js/JSAttrCustom.cpp:
12901 * bindings/js/JSAudioConstructor.cpp:
12902 * bindings/js/JSAudioConstructor.h:
12903 (WebCore::JSAudioConstructor::classInfo):
12904 * bindings/js/JSCSSRuleCustom.cpp:
12905 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
12906 * bindings/js/JSCSSValueCustom.cpp:
12907 * bindings/js/JSCanvasPixelArrayCustom.cpp:
12908 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
12909 * bindings/js/JSClipboardCustom.cpp:
12910 * bindings/js/JSConsoleCustom.cpp:
12911 * bindings/js/JSCustomSQLStatementCallback.cpp:
12912 (WebCore::JSCustomSQLStatementCallback::handleEvent):
12913 * bindings/js/JSCustomSQLStatementCallback.h:
12914 (WebCore::JSCustomSQLStatementCallback::create):
12915 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
12916 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
12917 * bindings/js/JSCustomSQLStatementErrorCallback.h:
12918 (WebCore::JSCustomSQLStatementErrorCallback::create):
12919 * bindings/js/JSCustomSQLTransactionCallback.cpp:
12920 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
12921 * bindings/js/JSCustomSQLTransactionCallback.h:
12922 (WebCore::JSCustomSQLTransactionCallback::create):
12923 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
12924 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
12925 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
12926 (WebCore::JSCustomSQLTransactionErrorCallback::create):
12927 * bindings/js/JSCustomVoidCallback.cpp:
12928 (WebCore::JSCustomVoidCallback::handleEvent):
12929 * bindings/js/JSCustomVoidCallback.h:
12930 (WebCore::JSCustomVoidCallback::create):
12931 * bindings/js/JSCustomXPathNSResolver.cpp:
12932 (WebCore::JSCustomXPathNSResolver::create):
12933 * bindings/js/JSCustomXPathNSResolver.h:
12934 * bindings/js/JSDOMApplicationCacheCustom.cpp:
12935 (WebCore::JSDOMApplicationCache::dispatchEvent):
12936 * bindings/js/JSDOMBinding.cpp:
12937 (WebCore::jsOwnedStringOrNull):
12938 * bindings/js/JSDOMBinding.h:
12939 (WebCore::DOMObject::DOMObject):
12940 (WebCore::cacheDOMObject):
12941 (WebCore::cacheSVGDOMObject):
12942 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
12943 (WebCore::toJS):
12944 * bindings/js/JSDOMWindowBase.cpp:
12945 * bindings/js/JSDOMWindowBase.h:
12946 (WebCore::JSDOMWindowBase::classInfo):
12947 (WebCore::JSDOMWindowBase::d):
12948 * bindings/js/JSDOMWindowCustom.cpp:
12949 (WebCore::JSDOMWindow::getPropertyAttributes):
12950 * bindings/js/JSDOMWindowCustom.h:
12951 (WebCore::asJSDOMWindow):
12952 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
12953 (WebCore::JSDOMWindow::customPut):
12954 (WebCore::JSDOMWindowBase::allowsAccessFrom):
12955 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
12956 * bindings/js/JSDOMWindowShell.cpp:
12957 (WebCore::JSDOMWindowShell::getPropertyAttributes):
12958 * bindings/js/JSDOMWindowShell.h:
12959 (WebCore::JSDOMWindowShell::classInfo):
12960 * bindings/js/JSDatabaseCustom.cpp:
12961 * bindings/js/JSDocumentCustom.cpp:
12962 * bindings/js/JSDocumentFragmentCustom.cpp:
12963 * bindings/js/JSElementCustom.cpp:
12964 * bindings/js/JSEventCustom.cpp:
12965 * bindings/js/JSEventListener.cpp:
12966 * bindings/js/JSEventListener.h:
12967 (WebCore::JSUnprotectedEventListener::create):
12968 (WebCore::JSEventListener::create):
12969 * bindings/js/JSEventTargetBase.cpp:
12970 * bindings/js/JSEventTargetBase.h:
12971 (WebCore::JSEventTargetBase::getValueProperty):
12972 (WebCore::JSEventTargetBase::putValueProperty):
12973 (WebCore::JSEventTargetBase::getOwnPropertySlot):
12974 (WebCore::JSEventTargetBase::put):
12975 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
12976 (WebCore::JSEventTargetPrototype::self):
12977 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
12978 (WebCore::JSEventTargetPrototype::classInfo):
12979 * bindings/js/JSEventTargetNode.cpp:
12980 * bindings/js/JSEventTargetNode.h:
12981 (WebCore::JSEventTargetNode::getOwnPropertySlot):
12982 (WebCore::JSEventTargetNode::getValueProperty):
12983 (WebCore::JSEventTargetNode::put):
12984 (WebCore::JSEventTargetNode::putValueProperty):
12985 * bindings/js/JSHTMLAllCollection.h:
12986 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
12987 (WebCore::JSHTMLAllCollection::toBoolean):
12988 * bindings/js/JSHTMLAppletElementCustom.cpp:
12989 * bindings/js/JSHTMLCollectionCustom.cpp:
12990 * bindings/js/JSHTMLDocumentCustom.cpp:
12991 * bindings/js/JSHTMLElementCustom.cpp:
12992 * bindings/js/JSHTMLEmbedElementCustom.cpp:
12993 * bindings/js/JSHTMLFormElementCustom.cpp:
12994 * bindings/js/JSHTMLFrameElementCustom.cpp:
12995 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
12996 * bindings/js/JSHTMLIFrameElementCustom.cpp:
12997 * bindings/js/JSHTMLInputElementBase.cpp:
12998 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
12999 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
13000 * bindings/js/JSHTMLInputElementBase.h:
13001 (WebCore::JSHTMLInputElementBase::classInfo):
13002 * bindings/js/JSHTMLObjectElementCustom.cpp:
13003 * bindings/js/JSHTMLOptionElementConstructor.cpp:
13004 * bindings/js/JSHTMLOptionElementConstructor.h:
13005 (WebCore::JSHTMLOptionElementConstructor::classInfo):
13006 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
13007 * bindings/js/JSHTMLSelectElementCustom.cpp:
13008 (WebCore::selectIndexSetter):
13009 (WebCore::JSHTMLSelectElement::indexSetter):
13010 * bindings/js/JSHTMLSelectElementCustom.h:
13011 * bindings/js/JSHistoryCustom.cpp:
13012 * bindings/js/JSImageConstructor.cpp:
13013 * bindings/js/JSImageConstructor.h:
13014 (WebCore::JSImageConstructor::classInfo):
13015 * bindings/js/JSInspectedObjectWrapper.cpp:
13016 * bindings/js/JSInspectedObjectWrapper.h:
13017 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
13018 (WebCore::JSInspectedObjectWrapper::classInfo):
13019 * bindings/js/JSInspectorCallbackWrapper.cpp:
13020 * bindings/js/JSInspectorCallbackWrapper.h:
13021 (WebCore::JSInspectorCallbackWrapper::classInfo):
13022 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
13023 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
13024 * bindings/js/JSLocationCustom.cpp:
13025 * bindings/js/JSMimeTypeArrayCustom.cpp:
13026 * bindings/js/JSNSResolver.cpp:
13027 * bindings/js/JSNSResolver.h:
13028 (WebCore::JSNSResolver::create):
13029 * bindings/js/JSNamedNodeMapCustom.cpp:
13030 * bindings/js/JSNamedNodesCollection.cpp:
13031 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
13032 * bindings/js/JSNamedNodesCollection.h:
13033 (WebCore::JSNamedNodesCollection::classInfo):
13034 * bindings/js/JSNavigatorCustom.cpp:
13035 * bindings/js/JSNodeCustom.cpp:
13036 * bindings/js/JSNodeFilterCondition.cpp:
13037 (WebCore::JSNodeFilterCondition::acceptNode):
13038 * bindings/js/JSNodeFilterCondition.h:
13039 (WebCore::JSNodeFilterCondition::create):
13040 * bindings/js/JSNodeFilterCustom.cpp:
13041 * bindings/js/JSNodeIteratorCustom.cpp:
13042 * bindings/js/JSNodeListCustom.cpp:
13043 * bindings/js/JSPluginArrayCustom.cpp:
13044 * bindings/js/JSPluginCustom.cpp:
13045 * bindings/js/JSPluginElementFunctions.cpp:
13046 (WebCore::getRuntimeObject):
13047 * bindings/js/JSPluginElementFunctions.h:
13048 * bindings/js/JSQuarantinedObjectWrapper.cpp:
13049 (WebCore::JSQuarantinedObjectWrapper::construct):
13050 (WebCore::JSQuarantinedObjectWrapper::call):
13051 * bindings/js/JSQuarantinedObjectWrapper.h:
13052 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
13053 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
13054 (WebCore::JSQuarantinedObjectWrapper::className):
13055 * bindings/js/JSRGBColor.cpp:
13056 * bindings/js/JSRGBColor.h:
13057 (WebCore::JSRGBColor::classInfo):
13058 * bindings/js/JSSQLResultSetRowListCustom.cpp:
13059 * bindings/js/JSSQLTransactionCustom.cpp:
13060 * bindings/js/JSSVGLazyEventListener.cpp:
13061 * bindings/js/JSSVGLazyEventListener.h:
13062 * bindings/js/JSSVGLengthCustom.cpp:
13063 * bindings/js/JSSVGMatrixCustom.cpp:
13064 (WebCore::JSSVGMatrix::inverse):
13065 (WebCore::JSSVGMatrix::rotateFromVector):
13066 * bindings/js/JSSVGPathSegCustom.cpp:
13067 * bindings/js/JSSVGPathSegListCustom.cpp:
13068 (WebCore::JSSVGPathSegList::initialize):
13069 (WebCore::JSSVGPathSegList::getItem):
13070 (WebCore::JSSVGPathSegList::insertItemBefore):
13071 (WebCore::JSSVGPathSegList::replaceItem):
13072 (WebCore::JSSVGPathSegList::removeItem):
13073 (WebCore::JSSVGPathSegList::appendItem):
13074 * bindings/js/JSSVGPointListCustom.cpp:
13075 * bindings/js/JSSVGTransformListCustom.cpp:
13076 * bindings/js/JSStorageCustom.cpp:
13077 * bindings/js/JSStyleSheetCustom.cpp:
13078 * bindings/js/JSStyleSheetListCustom.cpp:
13079 * bindings/js/JSTextCustom.cpp:
13080 * bindings/js/JSTreeWalkerCustom.cpp:
13081 * bindings/js/JSXMLHttpRequestConstructor.cpp:
13082 * bindings/js/JSXMLHttpRequestConstructor.h:
13083 (WebCore::JSXMLHttpRequestConstructor::classInfo):
13084 * bindings/js/JSXMLHttpRequestCustom.cpp:
13085 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
13086 * bindings/js/JSXSLTProcessorConstructor.cpp:
13087 * bindings/js/JSXSLTProcessorConstructor.h:
13088 (WebCore::JSXSLTProcessorConstructor::classInfo):
13089 * bindings/js/JSXSLTProcessorCustom.cpp:
13090 * bindings/js/ScheduledAction.cpp:
13091 * bindings/js/ScheduledAction.h:
13092 * bindings/js/ScriptController.cpp:
13093 (WebCore::ScriptController::attachDebugger):
13094 (WebCore::ScriptController::windowScriptNPObject):
13095 * bindings/js/ScriptController.h:
13096 * bindings/js/ScriptControllerGtk.cpp:
13097 (WebCore::ScriptController::createScriptInstanceForWidget):
13098 * bindings/js/ScriptControllerMac.mm:
13099 (WebCore::ScriptController::createScriptInstanceForWidget):
13100 (WebCore::ScriptController::windowScriptObject):
13101 (WebCore::ScriptController::clearPlatformScriptObjects):
13102 (WebCore::updateRenderingForBindings):
13103 (WebCore::ScriptController::initJavaJSBindings):
13104 * bindings/js/ScriptControllerQt.cpp:
13105 (WebCore::ScriptController::createScriptInstanceForWidget):
13106 * bindings/js/ScriptControllerWin.cpp:
13107 (WebCore::ScriptController::createScriptInstanceForWidget):
13108 * bindings/js/ScriptControllerWx.cpp:
13109 (WebCore::ScriptController::createScriptInstanceForWidget):
13110 * bindings/js/StringSourceProvider.h:
13111 (WebCore::StringSourceProvider::getRange):
13112 * bindings/objc/DOM.mm:
13113 (-[DOMNode JSC::Bindings::]):
13114 * bindings/objc/DOMInternal.h:
13115 * bindings/objc/DOMInternal.mm:
13116 (-[WebScriptObject _initializeScriptDOMNodeImp]):
13117 * bindings/objc/DOMUtility.mm:
13118 (JSC::createDOMWrapper):
13119 (WebCore::createDOMWrapper):
13120 * bindings/objc/WebScriptObject.mm:
13121 (WebCore::createJSWrapper):
13122 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
13123 * bindings/objc/WebScriptObjectPrivate.h:
13124 * bindings/scripts/CodeGeneratorJS.pm:
13125 * bridge/NP_jsobject.cpp:
13126 * bridge/NP_jsobject.h:
13127 * bridge/c/c_class.cpp:
13128 * bridge/c/c_class.h:
13129 * bridge/c/c_instance.cpp:
13130 * bridge/c/c_instance.h:
13131 * bridge/c/c_runtime.cpp:
13132 * bridge/c/c_runtime.h:
13133 * bridge/c/c_utility.cpp:
13134 * bridge/c/c_utility.h:
13135 * bridge/jni/jni_class.cpp:
13136 * bridge/jni/jni_class.h:
13137 * bridge/jni/jni_instance.cpp:
13138 * bridge/jni/jni_instance.h:
13139 * bridge/jni/jni_jsobject.h:
13140 * bridge/jni/jni_jsobject.mm:
13141 (JavaJSObject::call):
13142 (JavaJSObject::convertJObjectToValue):
13143 * bridge/jni/jni_objc.mm:
13144 (JSC::Bindings::dispatchJNICall):
13145 * bridge/jni/jni_runtime.cpp:
13146 * bridge/jni/jni_runtime.h:
13147 * bridge/jni/jni_utility.cpp:
13148 * bridge/jni/jni_utility.h:
13149 * bridge/npruntime.cpp:
13150 (_NPN_GetStringIdentifier):
13151 * bridge/objc/WebScriptObject.h:
13152 * bridge/objc/objc_class.h:
13153 * bridge/objc/objc_class.mm:
13154 * bridge/objc/objc_instance.h:
13155 * bridge/objc/objc_instance.mm:
13156 * bridge/objc/objc_runtime.h:
13157 * bridge/objc/objc_runtime.mm:
13158 * bridge/objc/objc_utility.h:
13159 * bridge/objc/objc_utility.mm:
13160 * bridge/qt/qt_class.cpp:
13161 * bridge/qt/qt_class.h:
13162 * bridge/qt/qt_instance.cpp:
13163 * bridge/qt/qt_instance.h:
13164 * bridge/qt/qt_runtime.cpp:
13165 (JSC::Bindings::convertQVariantToValue):
13166 (JSC::Bindings::):
13167 * bridge/qt/qt_runtime.h:
13168 * bridge/runtime.cpp:
13169 * bridge/runtime.h:
13170 * bridge/runtime_array.cpp:
13171 * bridge/runtime_array.h:
13172 * bridge/runtime_method.cpp:
13173 * bridge/runtime_method.h:
13174 * bridge/runtime_object.cpp:
13175 * bridge/runtime_object.h:
13176 * bridge/runtime_root.cpp:
13177 (JSC::Bindings::RootObject::invalidate):
13178 (JSC::Bindings::RootObject::gcProtect):
13179 (JSC::Bindings::RootObject::gcUnprotect):
13180 * bridge/runtime_root.h:
13181 * bridge/testbindings.cpp:
13182 * bridge/testbindings.mm:
13183 * bridge/testqtbindings.cpp:
13184 * dom/Document.cpp:
13185 (WebCore::Document::~Document):
13186 * dom/NSResolver.h:
13187 * dom/Node.cpp:
13188 (WebCore::Node::setDocument):
13189 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
13190 (WebCore::resolveNamespacesForSelector):
13191 (WebCore::Node::querySelector):
13192 (WebCore::Node::querySelectorAll):
13193 * dom/Node.h:
13194 * dom/NodeFilter.cpp:
13195 * dom/NodeFilter.h:
13196 * dom/NodeFilterCondition.cpp:
13197 * dom/NodeFilterCondition.h:
13198 * dom/NodeIterator.cpp:
13199 * dom/NodeIterator.h:
13200 * dom/Traversal.cpp:
13201 * dom/Traversal.h:
13202 * dom/TreeWalker.cpp:
13203 * dom/TreeWalker.h:
13204 * dom/make_names.pl:
13205 * history/CachedPage.cpp:
13206 * history/CachedPage.h:
13207 * html/HTMLPlugInElement.cpp:
13208 (WebCore::HTMLPlugInElement::getInstance):
13209 * html/HTMLPlugInElement.h:
13210 * loader/FrameLoader.cpp:
13211 * loader/FrameLoader.h:
13212 * loader/icon/IconDatabase.cpp:
13213 (WebCore::iconDatabase):
13214 * page/Console.cpp:
13215 * page/Console.h:
13216 * page/InspectorController.cpp:
13217 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
13218 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
13219 (WebCore::InspectorResource::setXMLHttpRequestProperties):
13220 (WebCore::InspectorResource::sourceString):
13221 (WebCore::getResourceDocumentNode):
13222 (WebCore::search):
13223 (WebCore::InspectorController::focusNode):
13224 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
13225 (WebCore::InspectorController::addDatabaseScriptResource):
13226 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
13227 * page/InspectorController.h:
13228 (WebCore::InspectorController::profiles):
13229 * page/JavaScriptCallFrame.cpp:
13230 (WebCore::JavaScriptCallFrame::scopeChain):
13231 * page/JavaScriptCallFrame.h:
13232 (WebCore::JavaScriptCallFrame::create):
13233 (WebCore::JavaScriptCallFrame::update):
13234 * page/JavaScriptDebugListener.h:
13235 * page/JavaScriptDebugServer.cpp:
13236 (WebCore::dispatchDidParseSource):
13237 * page/JavaScriptDebugServer.h:
13238 * page/JavaScriptProfile.cpp:
13239 * page/JavaScriptProfile.h:
13240 * page/JavaScriptProfileNode.cpp:
13241 (WebCore::getTotalTime):
13242 (WebCore::getSelfTime):
13243 (WebCore::getTotalPercent):
13244 (WebCore::getSelfPercent):
13245 (WebCore::getNumberOfCalls):
13246 (WebCore::getChildren):
13247 (WebCore::getVisible):
13248 * page/JavaScriptProfileNode.h:
13249 * page/Page.cpp:
13250 (WebCore::Page::setDebuggerForAllPages):
13251 (WebCore::Page::setDebugger):
13252 * page/Page.h:
13253 (WebCore::Page::debugger):
13254 * page/mac/FrameMac.mm:
13255 * platform/KURL.h:
13256 (WebCore::KURL::operator JSC::UString):
13257 * platform/text/AtomicString.cpp:
13258 (WebCore::AtomicString::add):
13259 (WebCore::AtomicString::find):
13260 * platform/text/AtomicString.h:
13261 (WebCore::AtomicString::AtomicString):
13262 * platform/text/PlatformString.h:
13263 * platform/text/String.cpp:
13264 (WebCore::charactersToDouble):
13265 * platform/win/BString.cpp:
13266 * platform/win/BString.h:
13267 * plugins/MimeTypeArray.h:
13268 * plugins/Plugin.h:
13269 * plugins/PluginArray.h:
13270 * plugins/PluginView.cpp:
13271 (WebCore::PluginView::start):
13272 (WebCore::PluginView::performRequest):
13273 (WebCore::PluginView::bindingInstance):
13274 * plugins/PluginView.h:
13275 * plugins/gtk/PluginViewGtk.cpp:
13276 (WebCore::PluginView::paint):
13277 (WebCore::PluginView::handleKeyboardEvent):
13278 (WebCore::PluginView::handleMouseEvent):
13279 (WebCore::PluginView::setNPWindowRect):
13280 (WebCore::PluginView::stop):
13281 (WebCore::PluginView::init):
13282 * plugins/qt/PluginViewQt.cpp:
13283 (WebCore::PluginView::setNPWindowRect):
13284 (WebCore::PluginView::stop):
13285 (WebCore::PluginView::init):
13286 * plugins/win/PluginViewWin.cpp:
13287 (WebCore::PluginView::dispatchNPEvent):
13288 (WebCore::PluginView::handleKeyboardEvent):
13289 (WebCore::PluginView::handleMouseEvent):
13290 (WebCore::PluginView::setNPWindowRect):
13291 (WebCore::PluginView::stop):
13292 * storage/Database.cpp:
13293 (WebCore::Database::Database):
13294 * xml/XMLHttpRequest.cpp:
13295 (WebCore::XMLHttpRequest::responseText):
13296 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
13297 (WebCore::XMLHttpRequest::clearResponse):
13298 (WebCore::XMLHttpRequest::dropProtection):
13299 (WebCore::XMLHttpRequest::didFinishLoading):
13300 (WebCore::XMLHttpRequest::didReceiveData):
13301 * xml/XMLHttpRequest.h:
13302
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000133032008-09-07 Adam Barth <abarth@webkit.org>
13304
13305 Reviewed by Sam Weinig.
13306
13307 Adopt opener restriction on frame navigation.
13308 https://bugs.webkit.org/show_bug.cgi?id=20642
13309
13310 This restriction helps prevent an attacker from navigating top-level
13311 windows that were created by another web site.
13312
13313 Tests: http/tests/security/frameNavigation/not-opener.html
13314 http/tests/security/frameNavigation/opener.html
13315
13316 * loader/FrameLoader.cpp:
13317 (WebCore::canAccessAncestor):
13318 (WebCore::FrameLoader::shouldAllowNavigation):
13319
mitz@apple.com83469af2008-09-07 22:29:56 +0000133202008-09-07 Dan Bernstein <mitz@apple.com>
13321
mitz@apple.com08ff58c2008-09-07 23:19:11 +000013322 Reviewed by Maciej Stachowiak.
13323
13324 - use the correct sign for vertical offsets of combining marks
13325
13326 * platform/graphics/win/UniscribeController.cpp:
13327 (WebCore::UniscribeController::shapeAndPlaceItem):
13328
133292008-09-07 Dan Bernstein <mitz@apple.com>
13330
mitz@apple.com83469af2008-09-07 22:29:56 +000013331 Reviewed by Dave Hyatt.
13332
mitz@apple.com78685b22008-09-07 22:30:29 +000013333 - add the combining mark offsets in two places where I forgot them
13334
13335 * platform/graphics/win/FontCGWin.cpp:
13336 (WebCore::Font::drawGlyphs):
13337
133382008-09-07 Dan Bernstein <mitz@apple.com>
13339
13340 Reviewed by Dave Hyatt.
13341
mitz@apple.com83469af2008-09-07 22:29:56 +000013342 - correct glyph advances in complex text using web fonts rendered with
13343 Core Graphics
13344
13345 * platform/graphics/win/FontCustomPlatformData.cpp:
13346 (WebCore::FontCustomPlatformData::fontPlatformData):
13347
timothy@apple.com968ebc92008-09-07 16:48:41 +0000133482008-09-07 Keishi Hattori <casey.hattori@gmail.com>
13349
13350 Adds console.dirxml support to the Web Inspector.
13351
13352 https://bugs.webkit.org/show_bug.cgi?id=19156
13353
13354 Reviewed by Timothy Hatcher.
13355
13356 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
13357 * bindings/js/JSConsoleCustom.cpp:
13358 (WebCore::JSConsole::dirxml):
13359 * page/Console.cpp:
13360 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
13361 * page/Console.h:
13362 (WebCore::): Added NodeMessageLevel.
13363 * page/Console.idl: Added console.dirxml.
13364 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
13365 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
13366 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
13367 * page/inspector/ElementsTreeOutline.js: Added.
13368 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
13369 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
13370 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
13371 * page/inspector/inspector.css:
13372 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
13373 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
13374 (WebInspector.altKeyDown):
13375 (WebInspector.forceHoverHighlight):
13376 (WebInspector.hoveredDOMNode):
13377 (WebInspector._updateHoverHighlightSoon):
13378 (WebInspector._updateHoverHighlight):
13379 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
13380 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
13381 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
13382 isAncestorIncludingParentFrames.
13383
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000133842008-09-06 Mark Rowe <mrowe@apple.com>
13385
13386 Qt build fix.
13387
13388 * bridge/qt/qt_runtime.cpp:
13389 (KJS::Bindings::convertQVariantToValue):
13390
mrowe@apple.comf88a4632008-09-07 05:44:58 +000013391=== End merge of squirrelfish-extreme ===
13392
133932008-09-05 Oliver Hunt <oliver@apple.com>
13394
13395 Start bringing up SFX on windows.
13396
13397 Reviewed by Mark Rowe and Sam Weinig
13398
13399 Start doing the work to bring up SFX on windows. Initially
13400 just working on WREC, as it does not make any calls so reduces
13401 the amount of code that needs to be corrected.
13402
13403 Add forwarding headers
13404
13405 * ChangeLog:
13406 * ForwardingHeaders/masm/MacroAssembler.h: Added.
13407 * WebCore.vcproj/WebCore.vcproj:
13408
134092008-08-27 Mark Rowe <mrowe@apple.com>
13410
13411 Reviewed by Oliver Hunt.
13412
13413 Fix the build of the full WebKit stack.
13414
13415 Add forwarding headers.
13416
13417 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
13418 * ForwardingHeaders/wrec/WREC.h: Added.
13419
13420=== Start merge of squirrelfish-extreme ===
13421
antti@apple.com13c24932008-09-07 03:54:21 +0000134222008-09-06 Antti Koivisto <antti@apple.com>
13423
13424 Reviewed by Dave Hyatt.
13425
13426 <rdar://problem/6187043>
13427 Don't parse full HTML user agent style sheet unless it is actually needed
13428 <rdar://problem/6131889>
13429 WebView is significantly more expensive to create recently
13430
13431 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
13432 startup. Some clients may never use most of the rules.
13433
13434 With this patch we use simplified UA stylesheet until we hit something it can't handle.
13435 This avoids full stylesheet parsing on application startup (due to empty document construction)
13436 and also makes it possible for clients with very simple demands (divs and spans only) never to load
13437 the full style.
13438
13439 It also delays view source style parsing until it is used.
13440
13441 * css/CSSStyleSelector.cpp:
13442 (WebCore::elementCanUseSimpleDefaultStyle):
13443 (WebCore::CSSStyleSelector::CSSStyleSelector):
13444 (WebCore::loadFullDefaultStyle):
13445 (WebCore::loadSimpleDefaultStyle):
13446 (WebCore::loadViewSourceStyle):
13447 (WebCore::CSSStyleSelector::matchUARules):
13448 (WebCore::CSSStyleSelector::styleForElement):
13449
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000134502008-09-06 Kevin Ollivier <kevino@theolliviers.com>
13451
13452 wx build fix.
13453
13454 * WebCoreSources.bkl:
13455
antti@apple.come953f862008-09-06 23:27:09 +0000134562008-09-06 Antti Koivisto <antti@apple.com>
13457
antti@apple.com00dfa532008-09-06 23:32:26 +000013458 Reverting r35953 which was causing problems on Windows which relies on
13459 WebCore timers in nested event loops. r36132 did alternative fix.
13460
13461 * page/Chrome.cpp:
13462 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
13463 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
13464
134652008-09-06 Antti Koivisto <antti@apple.com>
13466
antti@apple.come953f862008-09-06 23:27:09 +000013467 Reviewed by Dan Bernstein.
13468
13469 Fix <rdar://problem/6201644>
13470 https://bugs.webkit.org/show_bug.cgi?id=20493
13471 Crash after OK in dialog box and reloading page in secure mode
13472
13473 Limited loader only fix since the general timer fix is causing problems on Windows.
13474
13475 * loader/loader.cpp:
13476 (WebCore::Loader::servePendingRequests):
13477 (WebCore::Loader::Host::Host):
13478 (WebCore::Loader::Host::didFinishLoading):
13479 (WebCore::Loader::Host::didFail):
13480 (WebCore::Loader::Host::didReceiveData):
13481 * loader/loader.h:
13482 (WebCore::Loader::Host::processingResource):
13483
mitz@apple.com046bf642008-09-06 08:31:02 +0000134842008-09-06 Dan Bernstein <mitz@apple.com>
13485
13486 Reviewed by Dave Hyatt.
13487
mitz@apple.comc0b050b2008-09-06 22:39:34 +000013488 The initial Core Text adoption prototype was made by Daniel Fenwick.
13489
13490 - <rdar://problem/5158514> Add a Core Text-based complex text code path
13491
13492 Currently the Core Text code path is not used in any configuration.
13493
13494 * WebCore.xcodeproj/project.pbxproj: Added files.
13495 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
13496 * platform/graphics/Font.cpp:
13497 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
13498 of the loop.
13499 * platform/graphics/GlyphBuffer.h:
13500 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
13501 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
13502 Added getCTFont() and getCFStringAttributes() and corresponding data
13503 members for Core Text.
13504 * platform/graphics/mac/CoreTextController.cpp: Added.
13505 (WebCore::roundCGFloat): Helper function.
13506 (WebCore::ceilCGFloat): Helper function.
13507 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
13508 (WebCore::CoreTextController::CoreTextController):
13509 (WebCore::CoreTextController::offsetForPosition):
13510 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
13511 run into subruns as necessary such that each subrun can be rendered with
13512 a single font. Also separates out soft hyphens and replaces them with
13513 real hyphens, because Core Text does not emit a glyph for soft hyphens.
13514 Then calls collectCoreTextRunsForCharacters() on each subrun.
13515 (WebCore::CoreTextController::advance):
13516 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
13517 a CTLine from the given subrun and collects its CoreTextRuns.
13518 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
13519 rounding hacks, letter- and word-spacing and glyph substitutions and
13520 stores the resulting adjusted glyphs and advances.
13521 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
13522 (WebCore::CoreTextController::totalWidth):
13523 (WebCore::CoreTextController::finalRoundingWidth):
13524 (WebCore::CoreTextController::CoreTextRun::ctRun):
13525 (WebCore::CoreTextController::CoreTextRun::glyphCount):
13526 (WebCore::CoreTextController::CoreTextRun::fontData):
13527 (WebCore::CoreTextController::CoreTextRun::characters):
13528 (WebCore::CoreTextController::CoreTextRun::stringLocation):
13529 (WebCore::CoreTextController::CoreTextRun::stringLength):
13530 (WebCore::CoreTextController::CoreTextRun::indexAt):
13531 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
13532 FontMacATSUI.mm.
13533 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
13534 (WebCore::disableLigatures): Changed to call
13535 FontPlatformData::allowsLigatures().
13536 (WebCore::overrideLayoutOperation): Changed to call
13537 FontPlatformData::roundsGlyphAdvances().
13538 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
13539 (WebCore::Font::selectionRectForComplexText): Changed to use
13540 totalWidth() instead of advancing to the end and using runWidthSoFar().
13541 (WebCore::Font::drawComplexText):
13542 (WebCore::Font::floatWidthForComplexText): Ditto.
13543 (WebCore::Font::offsetForPositionForComplexText):
13544 * platform/graphics/mac/FontPlatformData.h:
13545 * platform/graphics/mac/FontPlatformDataMac.mm:
13546 (WebCore::FontPlatformData::setFont):
13547 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
13548 AppKit rendering mode.
13549 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
13550 heuristic that allows ligatures in fonts that do not have a glyph for
13551 'a', based on the assumption that such fonts are only used in complex
13552 text.
13553 * platform/graphics/mac/SimpleFontDataMac.mm:
13554 (WebCore::SimpleFontData::platformInit):
13555 (WebCore::SimpleFontData::platformDestroy):
13556 (WebCore::SimpleFontData::getCTFont): Added.
13557 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
13558 returns an attributes dictionary.
13559 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
13560 * platform/text/mac/ShapeArabic.h: Ditto.
13561
135622008-09-06 Dan Bernstein <mitz@apple.com>
13563
13564 Reviewed by Dave Hyatt.
13565
mitz@apple.com046bf642008-09-06 08:31:02 +000013566 - make combining mark offsets work in CG text on Windows
13567
13568 * platform/graphics/win/FontCGWin.cpp:
13569 (WebCore::Font::drawGlyphs): The old code tried to translate the text
13570 matrix, but failed for two reasons: it did not actually change the
13571 matrix, and even if it did, CGContextSetTextPosition overwrites the
13572 translation values in the text matrix. Instead, just added the
13573 translation to the anchor point.
13574
alp@webkit.org369cdca2008-09-06 04:08:30 +0000135752008-09-05 Gustavo Noronha Silva <gns@gnome.org>
13576
13577 Reviewed by Alp Toker.
13578
13579 https://bugs.webkit.org/show_bug.cgi?id=18346
13580 [GTK] Remove build warnings
13581
13582 Applied some casts, and removed an unused typedef to make the
13583 compiler happy, printing less warnings when building.
13584
13585 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
13586 * platform/graphics/gtk/SimpleFontDataPango.cpp:
13587 (WebCore::SimpleFontData::containsCharacters):
13588 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
13589 (webkit_video_sink_set_caps):
13590 * platform/network/soup/ResourceHandleSoup.cpp:
13591
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000135922008-09-05 Eric Seidel <eric@webkit.org>
13593
eric@webkit.org5ac37902008-09-06 00:21:58 +000013594 Reviewed by Adam Roben.
13595
13596 Build fix for WebKitWin and Chromium
13597
13598 * platform/FileSystem.h:
13599
136002008-09-05 Eric Seidel <eric@webkit.org>
13601
eric@webkit.org3cb292c2008-09-05 22:17:56 +000013602 Reviewed by Darin Adler.
13603
13604 Try to make Chromium compile with ToT:
13605 - Wrap a few places which depend on KJS:: in #if USE(JSC)
13606 - Include some windows forward declarations
13607
13608 * dom/Node.h:
13609 * page/Console.h:
13610 * page/animation/CompositeAnimation.h:
13611 * platform/FileSystem.h:
13612 * platform/graphics/Image.h:
13613 * platform/text/AtomicString.h:
13614 * platform/text/String.cpp:
13615 * rendering/style/RenderStyle.h:
13616
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000136172008-09-05 Dave Hyatt <hyatt@apple.com>
13618
13619 Add support for runtime switchability of the Aqua look and the native look on Windows.
13620 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
13621
13622 Reviewed by Adam Roben
13623
13624 * WebCore.vcproj/WebCore.vcproj:
13625 * page/Settings.cpp:
13626 (WebCore::Settings::setShouldPaintNativeControls):
13627 * page/Settings.h:
13628 (WebCore::Settings::shouldPaintNativeControls):
13629 * rendering/RenderThemeSafari.cpp:
13630 (WebCore::theme):
13631 * rendering/RenderThemeWin.cpp:
13632
antti@apple.combced97f2008-09-05 18:52:05 +0000136332008-09-05 Antti Koivisto <antti@apple.com>
13634
13635 Qt build fix.
13636
13637 * svg/SVGFEImageElement.cpp:
13638 (WebCore::SVGFEImageElement::build):
13639
aroben@apple.comca0c3362008-09-05 15:33:28 +0000136402008-09-05 Dirk Schulze <vbs85@gmx.de>
13641
13642 Gtk build fix
13643
13644 * GNUmakefile.am:
13645
antti@apple.com72e4a842008-09-05 09:28:11 +0000136462008-09-05 Antti Koivisto <antti@apple.com>
13647
antti@apple.com49e46662008-09-05 10:36:59 +000013648 Another build fix.
13649
13650 * svg/SVGFEImageElement.cpp:
13651 (WebCore::SVGFEImageElement::notifyFinished):
13652
136532008-09-05 Antti Koivisto <antti@apple.com>
13654
antti@apple.comfeec2582008-09-05 10:03:39 +000013655 Build fixes.
13656
13657 * WebCore.xcodeproj/project.pbxproj:
13658 * svg/graphics/filters/SVGFEImage.cpp:
13659 (WebCore::FEImage::cachedImage):
13660
136612008-09-05 Antti Koivisto <antti@apple.com>
13662
darin@apple.com07c80c62008-09-05 18:15:43 +000013663 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000013664
13665 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
13666 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
13667
13668 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
13669 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
13670 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
13671 we avoid re-decoding resources, especially images.
13672
13673 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
13674 CacheControl: max-age=0 header. That would be added in reload case.
13675
13676 The approach for revalidation is to kick the original resource out from the memory cache
13677 and create a new CachedResource that represents the revalidation request. In case
13678 we get 304 back for the request we put the original resource back to the cache, update
13679 its expiration date and switch the clients registered to revalidation resource to be
13680 clients of the original resource.
13681
13682 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
13683 This allows updating the handles to point to the original resource when the revalidation succeeds. It
13684 also acts as refcounting smart pointer.
13685
13686 * WebCore.pro:
13687 * WebCore.vcproj/WebCore.vcproj:
13688 * WebCore.xcodeproj/project.pbxproj:
13689 * css/CSSFontFaceSource.h:
13690 * css/CSSImportRule.h:
13691 * dom/Clipboard.h:
13692 (WebCore::Clipboard::dragImage):
13693 * dom/ProcessingInstruction.h:
13694 * dom/ScriptElement.h:
13695 * dom/XMLTokenizer.cpp:
13696 (WebCore::XMLTokenizer::isWaitingForScripts):
13697 * dom/XMLTokenizer.h:
13698 * html/HTMLImageLoader.cpp:
13699 (WebCore::HTMLImageLoader::setImage):
13700 (WebCore::HTMLImageLoader::updateFromElement):
13701 (WebCore::HTMLImageLoader::notifyFinished):
13702 * html/HTMLImageLoader.h:
13703 (WebCore::HTMLImageLoader::image):
13704 * html/HTMLLinkElement.h:
13705 * html/HTMLTokenizer.cpp:
13706 (WebCore::HTMLTokenizer::reset):
13707 (WebCore::HTMLTokenizer::scriptHandler):
13708 (WebCore::HTMLTokenizer::notifyFinished):
13709 * html/HTMLTokenizer.h:
13710 * loader/Cache.cpp:
13711 (WebCore::Cache::revalidateResource):
13712 (WebCore::Cache::revalidationSucceeded):
13713 (WebCore::Cache::revalidationFailed):
13714 * loader/Cache.h:
13715 * loader/CachedResource.cpp:
13716 (WebCore::CachedResource::CachedResource):
13717 (WebCore::CachedResource::~CachedResource):
13718 (WebCore::CachedResource::isExpired):
13719 (WebCore::CachedResource::setResponse):
13720 (WebCore::CachedResource::deleteIfPossible):
13721 (WebCore::CachedResource::setResourceToRevalidate):
13722 (WebCore::CachedResource::clearResourceToRevalidate):
13723 (WebCore::CachedResource::switchClientsToRevalidatedResource):
13724 (WebCore::CachedResource::canUseCacheValidator):
13725 (WebCore::CachedResource::mustRevalidate):
13726 * loader/CachedResource.h:
13727 (WebCore::CachedResource::canDelete):
13728 (WebCore::CachedResource::registerHandle):
13729 (WebCore::CachedResource::unregisterHandle):
13730 (WebCore::CachedResource::isCacheValidator):
13731 (WebCore::CachedResource::resourceToRevalidate):
13732 (WebCore::CachedResource::setExpirationDate):
13733 * loader/CachedResourceHandle.cpp: Added.
13734 (WebCore::CachedResourceHandleBase::setResource):
13735 * loader/CachedResourceHandle.h: Added.
13736 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
13737 (WebCore::CachedResourceHandleBase::get):
13738 (WebCore::CachedResourceHandleBase::operator!):
13739 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
13740 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
13741 (WebCore::CachedResourceHandleBase::operator=):
13742 (WebCore::CachedResourceHandle::CachedResourceHandle):
13743 (WebCore::CachedResourceHandle::get):
13744 (WebCore::CachedResourceHandle::operator->):
13745 (WebCore::CachedResourceHandle::operator=):
13746 (WebCore::CachedResourceHandle::operator==):
13747 (WebCore::CachedResourceHandle::operator!=):
13748 (WebCore::operator==):
13749 (WebCore::operator!=):
13750 * loader/DocLoader.cpp:
13751 (WebCore::DocLoader::checkForReload):
13752 * loader/UserStyleSheetLoader.h:
13753 * loader/loader.cpp:
13754 (WebCore::Loader::Host::servePendingRequests):
13755 (WebCore::Loader::Host::didFinishLoading):
13756 (WebCore::Loader::Host::didFail):
13757 (WebCore::Loader::Host::didReceiveResponse):
13758 (WebCore::Loader::Host::didReceiveData):
13759 * page/EventHandler.cpp:
13760 (WebCore::EventHandler::selectCursor):
13761 * rendering/RenderImage.cpp:
13762 (WebCore::RenderImage::setCachedImage):
13763 (WebCore::RenderImage::imageChanged):
13764 * rendering/RenderImage.h:
13765 (WebCore::RenderImage::cachedImage):
13766 (WebCore::RenderImage::imagePtr):
13767 * rendering/style/RenderStyle.h:
13768 * rendering/style/StyleCachedImage.h:
13769 (WebCore::StyleCachedImage::data):
13770 (WebCore::StyleCachedImage::cachedImage):
13771 * svg/SVGFEImageElement.h:
13772 * svg/graphics/filters/SVGFEImage.h:
13773 * xml/XSLImportRule.h:
13774
beidson@apple.comab60d982008-09-05 04:58:12 +0000137752008-09-04 Brady Eidson <beidson@apple.com>
13776
13777 Reviewed by Mitz
13778
13779 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
13780
13781 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
13782 to model default NSURLRequest behavior in a cross-platform manner.
13783
13784 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
13785 client that wished to enforce a much larger default timeout using NSURLRequest API.
13786
13787 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
13788 behavior on the web and this restores previous Safari/WebKit behavior.
13789
13790 It would be easy to write a layout test for this, but to be effective it would have
13791 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
13792
13793 * manual-tests/timeout-test.html: Added.
13794 * manual-tests/timeout-test.php: Added.
13795
13796 * platform/network/ResourceRequestBase.h:
13797 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
13798 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
13799 * platform/network/mac/ResourceRequestMac.mm:
13800 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
13801 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
13802 WebKit applications to enforce their own default timeout.
13803
mitz@apple.com20268542008-09-05 04:26:32 +0000138042008-09-04 Dan Bernstein <mitz@apple.com>
13805
13806 Reviewed by Beth Dakin.
13807
13808 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
13809
13810 Test: fast/repaint/button-spurious-layout-hint.html
13811
13812 * rendering/RenderButton.cpp:
13813 (WebCore::RenderButton::setStyle): Reset the inner block's style box
13814 flex to 0 to avoid getting a spurious layout hint.
13815
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000138162008-09-04 Kevin Ollivier <kevino@theolliviers.com>
13817
13818 wx build fixes.
13819
13820 * WebCoreSources.bkl:
13821 * bindings/js/ScriptControllerWx.cpp: Added.
13822 (WebCore::ScriptController::createScriptInstanceForWidget):
13823 * page/wx/AccessibilityObjectWx.cpp: Added.
13824 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
13825 * platform/graphics/wx/GraphicsContextWx.cpp:
13826 * webcore-base.bkl:
13827 * webcore-wx.bkl:
13828
mitz@apple.com95a87502008-09-04 23:27:19 +0000138292008-09-04 Dan Bernstein <mitz@apple.com>
13830
13831 Reviewed by Mark Rowe.
13832
13833 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
13834 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
13835 require a different approach
13836
13837 * css/CSSGrammar.y:
13838
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000138392008-09-04 Mark Rowe <mrowe@apple.com>
13840
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000013841 Reviewed by Eric Seidel.
13842
13843 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
13844 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
13845
13846 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
13847 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
13848 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
13849
138502008-09-04 Mark Rowe <mrowe@apple.com>
13851
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000013852 Mac build fix.
13853
13854 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
13855
eric@webkit.org0716a542008-09-04 20:44:12 +0000138562008-09-04 Eric Seidel <eric@webkit.org>
13857
13858 Build fix only, no review.
13859
13860 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
13861
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000138622008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
13863
13864 Reviewed by Eric Seidel.
13865
13866 http://bugs.webkit.org/show_bug.cgi?id=20380
13867 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
13868
13869 * config.h: Include the configuration header generated by autotools if
13870 available.
13871
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000138722008-09-04 Dan Bernstein <mitz@apple.com>
13873
13874 Rubber-stamped by Dave Hyatt.
13875
13876 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
13877
13878 * loader/CachedFont.cpp:
13879 (WebCore::CachedFont::allClientsRemoved):
13880 * loader/CachedFont.h:
13881 * loader/CachedImage.cpp:
13882 (WebCore::CachedImage::allClientsRemoved):
13883 * loader/CachedImage.h:
13884 * loader/CachedResource.cpp:
13885 (WebCore::CachedResource::removeClient):
13886 * loader/CachedResource.h:
13887 (WebCore::CachedResource::allClientsRemoved):
13888
aroben@apple.com0da404d2008-09-04 16:09:33 +0000138892008-09-04 Adam Roben <aroben@apple.com>
13890
aroben@apple.comdd3861a2008-09-04 16:09:53 +000013891 Windows build fix after r36071
13892
13893 We were getting these errors:
13894
13895 error C2356: initialization segment must not change during translation
13896 unit
13897
13898 This was happening because multiple files #included by
13899 DerivedSources.cpp were themselves #including StaticConstructors.h. I
13900 fixed the error by adding header guards to StaticConstructors.h so its
13901 contents will only be included once.
13902
13903 But it's also not a good idea for StaticConstructors.h to end up in
13904 DerivedSources.cpp, since it ends up "polluting" all the source files
13905 we have in there. So I removed all the files that include
13906 StaticConstructors.h and added some preprocessor directives to
13907 DerivedSources.cpp to catch this error in the future.
13908
13909 * DerivedSources.cpp: Removed the *Names.cpp files, which include
13910 StaticConstructors.h, and added some preprocessor directives to make
13911 sure we don't end up accidentally including StaticConstructors.h in
13912 the future.
13913 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
13914 * platform/StaticConstructors.h: Added header guards.
13915
139162008-09-04 Adam Roben <aroben@apple.com>
13917
aroben@apple.com0da404d2008-09-04 16:09:33 +000013918 Windows build fix
13919
13920 * platform/graphics/win/FontPlatformData.h: Added a missing #include
13921 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
13922 * platform/text/PlatformString.h: Added a missing #include of
13923 PassRefPtr.h.
13924
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000139252008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
13926
13927 Reviewed by Simon.
13928
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000013929 Fix the QtWebKit build to match changes in r36016
13930
13931 * WebCore.pro:
13932 * bridge/qt/qt_instance.cpp:
13933 (KJS::Bindings::QtInstance::getRuntimeObject):
13934 * bridge/qt/qt_runtime.cpp:
13935 (KJS::Bindings::convertQVariantToValue):
13936 (KJS::Bindings::QtConnectionObject::execute):
13937
139382008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
13939
13940 Reviewed by Simon.
13941
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000013942 Re-enable support for user stylesheets in QtWebKit
13943
13944 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
13945 code path, which allows us to keep API support for
13946 loading user style sheets from remote URLs.
13947
13948 As part of the change UserStyleSheetLoader.cpp/h was
13949 moved from WebCore/loader/mac to WebCore/loader.
13950
13951 * WebCore.pro:
13952 * WebCore.xcodeproj/project.pbxproj:
13953 * dom/Document.h:
13954 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
13955 (UserStyleSheetLoader::UserStyleSheetLoader):
13956 (UserStyleSheetLoader::~UserStyleSheetLoader):
13957 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
13958 * page/qt/FrameQt.cpp:
13959 (WebCore::Frame::setUserStyleSheetLocation):
13960 (WebCore::Frame::setUserStyleSheet):
13961
alp@webkit.org539ff852008-09-04 09:14:42 +0000139622008-09-04 Alp Toker <alp@nuanti.com>
13963
13964 Reviewed by Eric.
13965
13966 Remove left-over QT and CAIRO platform checks.
13967
13968 * html/CanvasRenderingContext2D.cpp:
13969
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000139702008-09-04 Eric Seidel <eric@webkit.org>
13971
13972 Reviewed by Mark Rowe.
13973
mitz@apple.com9388d252008-09-04 08:58:58 +000013974 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000013975
13976 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
13977
mitz@apple.com89557c52008-09-04 07:26:53 +0000139782008-09-04 Dan Bernstein <mitz@apple.com>
13979
13980 Reviewed by Dave Hyatt.
13981
13982 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
13983 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
13984
13985 * rendering/RenderBlock.cpp:
13986 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
13987 positioned movement only case, call
13988 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
13989 layout if that fails.
13990 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
13991 * rendering/RenderBox.h:
13992 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
13993 layoutDoingPositionedMovementOnly to this, and made this function
13994 check if the width changed. If it did, return, leaving the object
13995 dirty. The caller can then call layout(). The width can change even
13996 in the "positioned movement only" case if the object is shrink-to-fit
13997 and the available width constraint is met. (This was the case in the
13998 bug).
13999 * rendering/RenderObject.h:
14000 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
14001 Renamed layoutDoingPositionedMovementOnly() to this.
14002
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000140032008-09-03 Eric Seidel <eric@webkit.org>
14004
14005 No review, build fix only.
14006
14007 Attempt to fix the Qt build.
14008
14009 * WebCore.pro: add page/animation to include path
14010
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000140112008-09-03 Mark Rowe <mrowe@apple.com>
14012
14013 Mac build fix. Correctly detect whether dashboard support is enabled.
14014
14015 * DerivedSources.make:
14016
eric@webkit.org3eefe672008-09-04 01:32:26 +0000140172008-09-03 Eric Seidel <eric@webkit.org>
14018
14019 Reviewed by Sam.
14020
eric@webkit.org5e069092008-09-04 01:32:51 +000014021 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
14022
14023 * Configurations/WebCore.xcconfig: add missing ENABLE_*
14024 * config.h: add rules for V8_BINDINGS
14025
140262008-09-03 Eric Seidel <eric@webkit.org>
14027
14028 Reviewed by Sam.
14029
eric@webkit.org3eefe672008-09-04 01:32:26 +000014030 https://bugs.webkit.org/show_bug.cgi?id=20620
14031
14032 Add #if USE(JSC) around KJS dependencies
14033 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
14034 1. Most platforms have it on anyway
14035 2. V8 is going to want to share some of that code
14036 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
14037
14038 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
14039 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
14040 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14041 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14042 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14043 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14044 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14045 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
14046 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
14047 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
14048 * platform/text/AtomicString.cpp: add USE(JSC)
14049 * platform/text/AtomicString.h: add USE(JSC)
14050 * platform/text/PlatformString.h: add USE(JSC)
14051 * platform/text/String.cpp: add USE(JSC)
14052 * platform/text/StringImpl.cpp: add USE(JSC)
14053 * platform/text/StringImpl.h: add USE(JSC)
14054
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000140552008-09-03 Dean McNamee <deanm@chromium.org>
14056
14057 Reviewed by Darin Adler.
14058
14059 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
14060 Bug 20511: Remove static initializers on Windows
14061
14062 Avoid static initializers on Windows by forcing Visual C++ to put
14063 all static initializers in a code segment that is never executed.
14064
14065 * config.h:
14066 * css/MediaFeatureNames.cpp:
14067 * dom/EventNames.cpp:
14068 * dom/QualifiedName.cpp:
14069 * dom/make_names.pl:
14070 * platform/StaticConstructors.h:
14071 * platform/text/AtomicString.cpp:
14072
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000140732008-09-03 Dirk Schulze <vbs85@gmx.de>
14074
14075 Reviewed by Dave Hyatt.
14076
14077 Make FontCairo draw TextStroke and TextFill separately.
14078
14079 [CAIRO] draw TextFill and TextStroke separately.
14080 [https://bugs.webkit.org/show_bug.cgi?id=20631]
14081
14082 * platform/graphics/cairo/FontCairo.cpp:
14083 (WebCore::Font::drawGlyphs):
14084
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000140852008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000014086
14087 Reviewed by Dave Hyatt.
14088
14089 https://bugs.webkit.org/show_bug.cgi?id=19663
14090 Account for paint and timer lag when animating images. Also pretend
14091 that images whose animations were paused (by becoming invisible)
14092 continued to animate, by "catching up" to the correct frame when they're
14093 shown again.
14094
14095 * platform/graphics/BitmapImage.cpp:
14096 (WebCore::BitmapImage::BitmapImage):
14097 (WebCore::BitmapImage::startAnimation):
14098 (WebCore::BitmapImage::advanceAnimation):
14099 (WebCore::BitmapImage::internalAdvanceAnimation):
14100 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
14101 * platform/graphics/BitmapImage.h:
14102 * platform/graphics/cairo/ImageCairo.cpp:
14103 (WebCore::BitmapImage::draw):
14104 * platform/graphics/cg/ImageCG.cpp:
14105 (WebCore::BitmapImage::draw):
14106 * platform/graphics/qt/ImageQt.cpp:
14107 (WebCore::BitmapImage::draw):
14108 * platform/graphics/wx/ImageWx.cpp:
14109 (WebCore::BitmapImage::draw):
14110
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000141112008-09-03 Kevin McCullough <kmccullough@apple.com>
14112
14113 Reviewed by Tim.
14114
14115 Remove the rest of the "zombie" code from the profiler.
14116 - There is no longer a need for the ProfilerClient callback mechanism.
14117
14118 * page/Console.cpp:
14119 (WebCore::Console::Console):
14120 (WebCore::Console::profile):
14121 (WebCore::Console::profileEnd): Move the variables from the header to
14122 here since we don't have to wait for a callback to use them.
14123 * page/Console.h:
14124 * page/InspectorController.cpp:
14125 (WebCore::InspectorController::startUserInitiatedProfiling):
14126 (WebCore::InspectorController::stopUserInitiatedProfiling):
14127 * page/InspectorController.h:
14128
adachan@apple.com38c66182008-09-03 21:43:44 +0000141292008-09-03 Ada Chan <adachan@apple.com>
14130
14131 Windows build fix.
14132
14133 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
14134
dino@apple.com5c917622008-09-03 21:15:53 +0000141352008-09-01 Dean Jackson <dino@apple.com>
14136
14137 Reviewed by Dave Hyatt.
14138
14139 https://bugs.webkit.org/show_bug.cgi?id=20594
14140 Add DOM interfaces for WebKitCSSKeyframeRule
14141 and WebKitCSSKeyframesRule.
14142
14143 TEST: LayoutTests/css3/keyframes-rule.html
14144
14145 * css/WebKitCSSKeyframeRule.idl: Added
14146 * css/WebKitCSSKeyframesRule.idl: Added
14147
14148 * bindings/js/JSCSSRuleCustom.cpp:
14149 (WebCore::toJS):
14150 Add return of new JS Keyframe rules
14151 * bindings/objc/DOMInternal.h:
14152 Include new internal header
14153
14154 * DerivedSources.make:
14155 * GNUmakefile.am:
14156 * WebCore.pro:
14157 * WebCore.vcproj/WebCore.vcproj:
14158 * WebCore.xcodeproj/project.pbxproj:
14159 * WebCoreSources.bkl:
14160 Build configs for new files
14161
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000141622008-09-03 Adam Roben <aroben@apple.com>
14163
14164 Windows build fix
14165
14166 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
14167 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
14168 convenience/consistency.
14169
adele@apple.com27713582008-09-03 20:13:41 +0000141702008-09-03 Adele Peterson <adele@apple.com>
14171
14172 Build fix.
14173
14174 * WebCore.vcproj/WebCore.vcproj:
14175
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000141762008-09-03 David Hyatt <hyatt@apple.com>
14177
14178 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
14179
14180 Reviewed by Darin (ages ago)
14181
14182 Added fast/block/float/clamped-right-float.html
14183
14184 * rendering/RenderBlock.cpp:
14185 (WebCore::RenderBlock::positionNewFloats):
14186
hyatt@apple.comafe62052008-09-03 18:13:39 +0000141872008-09-02 David Hyatt <hyatt@apple.com>
14188
14189 Add support for canvas text drawing APIs.
14190
14191 Reviewed by olliej
14192
14193 Tests added as fast/canvas/canvas-text-*.html
14194
14195 * DerivedSources.make:
14196 * WebCore.xcodeproj/project.pbxproj:
14197 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
14198 (WebCore::JSCanvasRenderingContext2D::fillText):
14199 (WebCore::JSCanvasRenderingContext2D::strokeText):
14200 * css/CSSStyleSelector.cpp:
14201 (WebCore::CSSStyleSelector::initForStyleResolve):
14202 (WebCore::CSSStyleSelector::applyPropertyToStyle):
14203 * css/CSSStyleSelector.h:
14204 * html/CanvasRenderingContext2D.cpp:
14205 (WebCore::CanvasRenderingContext2D::State::State):
14206 (WebCore::CanvasRenderingContext2D::font):
14207 (WebCore::CanvasRenderingContext2D::setFont):
14208 (WebCore::CanvasRenderingContext2D::textAlign):
14209 (WebCore::CanvasRenderingContext2D::setTextAlign):
14210 (WebCore::CanvasRenderingContext2D::textBaseline):
14211 (WebCore::CanvasRenderingContext2D::setTextBaseline):
14212 (WebCore::CanvasRenderingContext2D::fillText):
14213 (WebCore::CanvasRenderingContext2D::strokeText):
14214 (WebCore::CanvasRenderingContext2D::measureText):
14215 (WebCore::CanvasRenderingContext2D::drawTextInternal):
14216 (WebCore::CanvasRenderingContext2D::accessFont):
14217 * html/CanvasRenderingContext2D.h:
14218 * html/CanvasRenderingContext2D.idl:
14219 * html/TextMetrics.h: Added.
14220 (WebCore::TextMetrics::create):
14221 (WebCore::TextMetrics::width):
14222 (WebCore::TextMetrics::setWidth):
14223 (WebCore::TextMetrics::TextMetrics):
14224 * html/TextMetrics.idl: Added.
14225 * platform/graphics/Font.cpp:
14226 (WebCore::Font::lineGap):
14227 * platform/graphics/Font.h:
14228 * platform/graphics/GraphicsContext.cpp:
14229 (WebCore::GraphicsContext::drawBidiText):
14230 * platform/graphics/GraphicsContext.h:
14231 * platform/graphics/GraphicsTypes.cpp:
14232 (WebCore::textAlignName):
14233 (WebCore::parseTextAlign):
14234 (WebCore::textBaselineName):
14235 (WebCore::parseTextBaseline):
14236 * platform/graphics/GraphicsTypes.h:
14237 (WebCore::):
14238
sullivan@apple.combc066af2008-09-03 17:37:24 +0000142392008-09-03 John Sullivan <sullivan@apple.com>
14240
14241 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
14242
14243 Fixed by Darin, reviewed by me
14244
14245 * page/animation/AnimationBase.cpp:
14246 (WebCore::AnimationBase::propertiesEqual):
14247 added ensurePropertyMap() to this static function
14248 (WebCore::AnimationBase::getPropertyAtIndex):
14249 ditto
14250 (WebCore::AnimationBase::getNumProperties):
14251 ditto
14252
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000142532008-09-03 Kevin McCullough <kmccullough@apple.com>
14254
14255 Reviewed by Darin and Tim.
14256
14257 Remove most of the "zombie" mode from the profiler. Next we will need
14258 to remove the client callback mechanism in profiles.
14259 - These changes are a result of changes to JSCore.
14260
14261 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
14262 * page/Console.cpp:
14263 (WebCore::retrieveLastCaller):
14264 (WebCore::Console::profileEnd):
14265 * page/InspectorController.cpp:
14266 (WebCore::InspectorController::stopUserInitiatedProfiling):
14267
adele@apple.com643616b2008-09-03 16:57:58 +0000142682008-09-03 Adele Peterson <adele@apple.com>
14269
14270 Reviewed by Darin Adler.
14271
14272 Test: fast/forms/search-display-none-cancel-button.html
14273
14274 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
14275
14276 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
14277
14278 * rendering/RenderTextControl.cpp:
14279 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
14280 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
14281 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
14282 (WebCore::RenderTextControl::createSubtreeIfNeeded):
14283 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
14284 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
14285 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
14286 (WebCore::RenderTextControl::calcHeight): ditto.
14287 (WebCore::RenderTextControl::nodeAtPoint): ditto.
14288 (WebCore::RenderTextControl::layout): ditto.
14289 (WebCore::RenderTextControl::calcPrefWidths): ditto.
14290 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
14291 (WebCore::RenderTextControl::clientPaddingRight): ditto.
14292
14293 * rendering/TextControlInnerElements.cpp:
14294 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
14295 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
14296 (WebCore::TextControlInnerElement::attachInnerElement): Added.
14297 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
14298 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
14299 * rendering/TextControlInnerElements.h:
14300
ap@webkit.orgacd84142008-09-03 08:08:19 +0000143012008-08-28 Alexey Proskuryakov <ap@webkit.org>
14302
14303 Reviewed by Maciej.
14304
14305 Elminate SQLiteAuthorizer class.
14306
14307 * WebCore.xcodeproj/project.pbxproj:
14308 * WebCore.vcproj/WebCore.vcproj:
14309 * GNUmakefile.am
14310 Removed SQLiteAuthorizer.h.
14311
14312 * platform/sql/SQLiteAuthorizer.cpp:
14313 * platform/sql/SQLiteAuthorizer.h: Removed.
14314 * platform/sql/SQLiteDatabase.cpp:
14315 (WebCore::SQLiteDatabase::authorizerFunction):
14316 (WebCore::SQLiteDatabase::setAuthorizer):
14317 * platform/sql/SQLiteDatabase.h:
14318 * storage/DatabaseAuthorizer.h:
14319 (WebCore::DatabaseAuthorizer::create):
14320 (WebCore::DatabaseAuthorizer::createView):
14321 (WebCore::DatabaseAuthorizer::createTempView):
14322 (WebCore::DatabaseAuthorizer::dropView):
14323 (WebCore::DatabaseAuthorizer::dropTempView):
14324 (WebCore::DatabaseAuthorizer::allowSelect):
14325 (WebCore::DatabaseAuthorizer::allowReindex):
14326 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
14327
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000143282008-09-03 Dirk Schulze <vbs85@gmx.de>
14329
14330 Reviewed by Mark Rowe.
14331
14332 WebKitGtk build fix.
14333
14334 * GNUmakefile.am:
14335 * page/animation/AnimationController.h:
14336
mrowe@apple.come344ad02008-09-03 06:59:03 +0000143372008-09-02 Robert Blaut <webkit@blaut.biz>
14338
14339 Reviewed by Geoff Garen.
14340
14341 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
14342 Misplaced elements should not close DL lists.
14343
14344 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
14345
14346 * html/HTMLParser.cpp:
14347 (WebCore::HTMLParser::handleError):
14348
mrowe@apple.com7a909462008-09-03 06:51:31 +0000143492008-09-02 Glenn Wilson <wilsong@gmail.com>
14350
14351 Reviewed by Darin Adler.
14352
14353 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
14354 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
14355
14356 We would inappropriately interpret and apply an invalid CSS "color" property
14357 when the value is a predefined color preceded by a '#' symbol. For example,
14358 style="color:#gray;" would apply the color gray when it should not.
14359
14360 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
14361 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
14362 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
14363 an ignorable token.
14364
14365 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
14366 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
14367 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
14368
14369 Test: css1/color_and_background/invalid_color.html
14370
14371 * css/CSSGrammar.y:
14372
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000143732008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
14374
14375 Reviewed by Darin Adler.
14376
14377 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
14378 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
14379
14380 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
14381
14382 Test: css3/khtml-background-size-0x0-bmp.html
14383
14384 * rendering/RenderBox.cpp:
14385 (WebCore::RenderBox::repaintLayerRectsForImage):
14386
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000143872008-09-02 Glenn Wilson <wilsong@gmail.com>
14388
14389 Reviewed by Eric Seidel.
14390
14391 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
14392 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
14393
14394 The function checkForOrphanedUnits() would change the length of a list whose size was
14395 was already determined before the call to checkForOrphanedUnits was made. Later in
14396 the caller, the old size was being used for boundary management.
14397
14398 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
14399 calling function, before the size of the list is determined.
14400
14401 Test: fast/css/orphaned_units_crash.html
14402
14403 * css/CSSParser.cpp:
14404 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
14405
mrowe@apple.com170bd522008-09-03 05:49:51 +0000144062008-09-02 Dirk Schulze <vbs85@gmx.de>
14407
14408 Reviewed by Darin Adler.
14409
mrowe@apple.comeb877a52008-09-03 06:01:15 +000014410 Fallback on invalid fill or stroke styles in Canvas was
14411 transparent black. Changed it to last valid style.
14412
14413 Canvas fillStyle() and strokeStyle() needs fallback
14414 https://bugs.webkit.org/show_bug.cgi?id=20474
14415
14416 Tests: fast/canvas/canvas-invalid-fillstyle.html
14417 fast/canvas/canvas-invalid-strokestyle.html
14418
14419 * html/CanvasStyle.cpp:
14420 (WebCore::CanvasStyle::applyStrokeColor):
14421 (WebCore::CanvasStyle::applyFillColor):
14422
144232008-09-02 Dirk Schulze <vbs85@gmx.de>
14424
14425 Reviewed by Darin Adler.
14426
mrowe@apple.com170bd522008-09-03 05:49:51 +000014427 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
14428 Updated drawImage() in canvas to match the current specification.
14429
14430 Test: fast/canvas/drawImage-with-negative-source-destination.html
14431
14432 * html/CanvasRenderingContext2D.cpp:
14433 (WebCore::normalizeRect):
14434 (WebCore::CanvasRenderingContext2D::drawImage):
14435
mrowe@apple.com96916d12008-09-03 05:41:44 +0000144362008-08-26 Mark Rowe <mrowe@apple.com>
14437
14438 Reviewed by Darin Adler.
14439
14440 <rdar://problem/5768210> Switch back to the system version of SQLite
14441
14442 Use the system version of SQLite when it is new enough to provide the functionality
14443 that WebCore requires.
14444
14445 * Configurations/Base.xcconfig:
14446 * Configurations/DebugRelease.xcconfig:
14447 * Configurations/WebCore.xcconfig:
14448
mitz@apple.comce268c12008-09-03 02:59:00 +0000144492008-09-02 Dan Bernstein <mitz@apple.com>
14450
14451 - build fix
14452
14453 * page/animation/AnimationBase.h:
14454
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000144552008-09-02 Chris Marrin <cmarrin@apple.com>
14456
14457 Reviewed by Dave Hyatt.
14458
14459 AnimationController.cpp should be split into separate files
14460 https://bugs.webkit.org/show_bug.cgi?id=20604
14461
14462 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
14463 recommendation of Dave Hyatt.
14464
14465 * GNUmakefile.am:
14466 * WebCore.pro:
14467 * WebCore.vcproj/WebCore.vcproj:
14468 * WebCore.xcodeproj/project.pbxproj:
14469 * WebCoreSources.bkl:
14470 Build files.
14471
14472 * page/AnimationController.cpp: Removed.
14473 * page/AnimationController.h: Removed.
14474 * page/animation: Added.
14475 * page/animation/AnimationBase.cpp: Added.
14476 * page/animation/AnimationBase.h: Added.
14477 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
14478 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
14479 * page/animation/CompositeAnimation.cpp: Added.
14480 * page/animation/CompositeAnimation.h: Added.
14481 * page/animation/ImplicitAnimation.cpp: Added.
14482 * page/animation/ImplicitAnimation.h: Added.
14483 * page/animation/KeyframeAnimation.cpp: Added.
14484 * page/animation/KeyframeAnimation.h: Added.
14485
mitz@apple.comcb917a22008-09-03 00:57:37 +0000144862008-09-02 Dan Bernstein <mitz@apple.com>
14487
14488 - release build fix
14489
14490 * platform/graphics/cg/GraphicsContextCG.cpp:
14491 (WebCore::calculateDrawingMode):
14492
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000144932008-09-02 Timothy Hatcher <timothy@apple.com>
14494
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000014495 Make console functions log the correct resource URL and
14496 line number for where the call originated.
14497
14498 https://bugs.webkit.org/show_bug.cgi?id=17234
14499 <rdar://problem/5732837>
14500
14501 Reviewed by Kevin McCullough.
14502
14503 Test: manual-tests/inspector/console-call-line-numbers.html
14504
14505 * bindings/js/JSConsoleCustom.cpp:
14506 (WebCore::JSConsole::count): Call the impl.
14507 (WebCore::JSConsole::timeEnd): Ditto.
14508 * manual-tests/inspector/console-call-line-numbers.html: Added.
14509 * manual-tests/inspector/resources/script-console-calls.js: Added.
14510 * page/Console.cpp:
14511 (WebCore::retrieveLastCaller): Helper to get the URL and line.
14512 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
14513 line number to pass to addMessageToConsole.
14514 (WebCore::Console::info): Ditto.
14515 (WebCore::Console::log): Ditto.
14516 (WebCore::Console::assertCondition): Ditto.
14517 (WebCore::Console::count): Ditto.
14518 (WebCore::Console::timeEnd): Ditto.
14519 (WebCore::Console::warn): Ditto.
14520 * page/Console.h:
14521 * page/Console.idl: Make count and timeEnd custom.
14522
145232008-09-02 Timothy Hatcher <timothy@apple.com>
14524
timothy@apple.comf3aa7342008-09-02 21:30:26 +000014525 Removed IDL files from WebCore's framework resources.
14526
14527 * WebCore.xcodeproj/project.pbxproj:
14528
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000145292008-09-02 Dan Bernstein <mitz@apple.com>
14530
14531 Reviewed by Dave Hyatt.
14532
14533 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
14534
14535 * html/HTMLParser.cpp:
14536 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
14537 cap on the number of consecutive identical residual style tags to
14538 reopen.
14539 (WebCore::HTMLParser::popBlock): Ditto.
14540
ap@webkit.org879328b2008-09-02 16:16:06 +0000145412008-09-02 Alexey Proskuryakov <ap@webkit.org>
14542
14543 Reviewed by Adam Roben.
14544
14545 A little database quota management cleanup.
14546
14547 * storage/OriginQuotaManager.cpp:
14548 (WebCore::OriginQuotaManager::OriginQuotaManager):
14549 (WebCore::OriginQuotaManager::lock):
14550 (WebCore::OriginQuotaManager::unlock):
14551 (WebCore::OriginQuotaManager::trackOrigin):
14552 (WebCore::OriginQuotaManager::tracksOrigin):
14553 (WebCore::OriginQuotaManager::addDatabase):
14554 (WebCore::OriginQuotaManager::removeDatabase):
14555 (WebCore::OriginQuotaManager::removeOrigin):
14556 (WebCore::OriginQuotaManager::markDatabase):
14557 (WebCore::OriginQuotaManager::diskUsage):
14558 * storage/OriginQuotaManager.h:
14559 Changed to assert that a lock is taken more directly and reliably. Removed comments about
14560 main/background threads, as this is likely to stop being true with synchronous Database calls
14561 being made on worker threads.
14562
14563 * storage/OriginUsageRecord.cpp:
14564 (WebCore::OriginUsageRecord::OriginUsageRecord):
14565 (WebCore::OriginUsageRecord::addDatabase):
14566 (WebCore::OriginUsageRecord::removeDatabase):
14567 (WebCore::OriginUsageRecord::markDatabase):
14568 (WebCore::OriginUsageRecord::diskUsage):
14569 * storage/OriginUsageRecord.h:
14570 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
14571 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
14572 can be replaced with a single boolean for OriginUsageRecord.
14573 Added assertions for string parameters being unshared.
14574
14575
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000145762008-09-01 Adam Barth <abarth@webkit.org>
14577
14578 Reviewed by Sam Weinig.
14579
14580 https://bugs.webkit.org/show_bug.cgi?id=19760
14581
14582 Make granting LoadLocalResources conditional on a policy.
14583
14584 * WebCore.base.exp:
14585 * dom/Document.cpp:
14586 (WebCore::Document::initSecurityContext):
14587 * loader/FrameLoader.cpp:
14588 (WebCore::FrameLoader::setLocalLoadPolicy):
14589 (WebCore::FrameLoader::restrictAccessToLocal):
14590 * loader/FrameLoader.h:
14591 (WebCore::FrameLoader::):
14592 * platform/SecurityOrigin.cpp:
14593 (WebCore::SecurityOrigin::grantLoadLocalResources):
14594 * platform/SecurityOrigin.h:
14595
dino@apple.com6e2db502008-09-01 23:05:28 +0000145962008-09-01 Dean Jackson <dino@apple.com>
14597
dino@apple.com59ca9f52008-09-01 23:34:13 +000014598 Reviewed by Sam Weinig.
14599
14600 https://bugs.webkit.org/show_bug.cgi?id=20571
14601 Make sure Window object can assign Animation/Transition event
14602 listeners via attributes.
14603
14604 Also added a bunch of transition event tests, although
14605 only transition-end-event-window is directly relevant to this patch.
14606
14607 (WebCore::JSDOMWindowBase::put):
14608
14609 Tests: transitions/transition-end-event-all-properties.html
14610 transitions/transition-end-event-attributes.html
14611 transitions/transition-end-event-container.html
14612 transitions/transition-end-event-left.html
14613 transitions/transition-end-event-multiple-01.html
14614 transitions/transition-end-event-multiple-02.html
14615 transitions/transition-end-event-multiple-03.html
14616 transitions/transition-end-event-multiple-04.html
14617 transitions/transition-end-event-nested.html
14618 transitions/transition-end-event-transform.html
14619 transitions/transition-end-event-window.html
14620
146212008-09-01 Dean Jackson <dino@apple.com>
14622
dino@apple.com6e2db502008-09-01 23:05:28 +000014623 Reviewed by Sam Weinig
14624
14625 Code styling cleanup.
14626
14627 * bindings/js/JSDOMWindowBase.cpp:
14628 (WebCore::JSDOMWindowBase::getValueProperty):
14629 (WebCore::JSDOMWindowBase::put):
14630
weinig@apple.com3412bb42008-09-01 21:22:54 +0000146312008-09-01 Geoffrey Garen <ggaren@apple.com>
14632
14633 Reviewed by Darin Adler.
14634
14635 First cut at inline caching for access to vanilla JavaScript properties.
14636
14637 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
14638 to WebCore classes, and PutPropertySlot& arguments to put functions.
14639
14640 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
14641 inline caching for global properties, so global assignment can be optimized.
14642
14643 * ForwardingHeaders/kjs/StructureID.h: Added.
14644 * bindings/js/JSDOMBinding.h:
14645 (WebCore::DOMObject::DOMObject):
14646 * bindings/js/JSDOMWindowBase.cpp:
14647 (WebCore::JSDOMWindowBase::put):
14648 * bindings/js/JSDOMWindowBase.h:
14649 * bindings/js/JSDOMWindowCustom.h:
14650 (WebCore::JSDOMWindow::customPut):
14651 * bindings/js/JSDOMWindowShell.cpp:
14652 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
14653 (WebCore::JSDOMWindowShell::put):
14654 * bindings/js/JSDOMWindowShell.h:
14655 * bindings/js/JSEventTargetBase.h:
14656 (WebCore::JSEventTargetBase::put):
14657 * bindings/js/JSEventTargetNode.h:
14658 (WebCore::JSEventTargetNode::put):
14659 * bindings/js/JSHTMLAppletElementCustom.cpp:
14660 (WebCore::JSHTMLAppletElement::customPut):
14661 * bindings/js/JSHTMLEmbedElementCustom.cpp:
14662 (WebCore::JSHTMLEmbedElement::customPut):
14663 * bindings/js/JSHTMLInputElementBase.cpp:
14664 (WebCore::JSHTMLInputElementBase::put):
14665 * bindings/js/JSHTMLInputElementBase.h:
14666 * bindings/js/JSHTMLObjectElementCustom.cpp:
14667 (WebCore::JSHTMLObjectElement::customPut):
14668 * bindings/js/JSHistoryCustom.cpp:
14669 (WebCore::JSHistory::customPut):
14670 * bindings/js/JSInspectedObjectWrapper.cpp:
14671 (WebCore::JSInspectedObjectWrapper::wrap):
14672 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
14673 * bindings/js/JSInspectedObjectWrapper.h:
14674 * bindings/js/JSInspectorCallbackWrapper.cpp:
14675 (WebCore::JSInspectorCallbackWrapper::wrap):
14676 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
14677 * bindings/js/JSInspectorCallbackWrapper.h:
14678 * bindings/js/JSLocationCustom.cpp:
14679 (WebCore::JSLocation::customPut):
14680 * bindings/js/JSPluginElementFunctions.cpp:
14681 (WebCore::runtimeObjectCustomPut):
14682 * bindings/js/JSPluginElementFunctions.h:
14683 * bindings/js/JSQuarantinedObjectWrapper.cpp:
14684 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
14685 (WebCore::JSQuarantinedObjectWrapper::put):
14686 * bindings/js/JSQuarantinedObjectWrapper.h:
14687 * bindings/js/JSStorageCustom.cpp:
14688 (WebCore::JSStorage::customPut):
14689 * bindings/objc/WebScriptObject.mm:
14690 (-[WebScriptObject setValue:forKey:]):
14691 * bindings/scripts/CodeGeneratorJS.pm:
14692 * bridge/NP_jsobject.cpp:
14693 (_NPN_SetProperty):
14694 * bridge/jni/jni_jsobject.mm:
14695 (JavaJSObject::setMember):
14696 * bridge/objc/objc_class.mm:
14697 (KJS::Bindings::ObjcClass::fallbackObject):
14698 * bridge/objc/objc_runtime.h:
14699 * bridge/objc/objc_runtime.mm:
14700 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
14701 (ObjcFallbackObjectImp::put):
14702 * bridge/runtime.cpp:
14703 (KJS::Bindings::Instance::createRuntimeObject):
14704 * bridge/runtime_array.cpp:
14705 (RuntimeArray::put):
14706 * bridge/runtime_array.h:
14707 * bridge/runtime_object.cpp:
14708 (RuntimeObjectImp::RuntimeObjectImp):
14709 (RuntimeObjectImp::put):
14710 * bridge/runtime_object.h:
14711
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000147122008-09-01 Dirk Schulze <vbs85@gmx.de>
14713
14714 Reviewed by Eric Seidel.
14715
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000014716 Fixed border-radius for Cairo.
14717
14718 * platform/graphics/cairo/GraphicsContextCairo.cpp:
14719 (WebCore::GraphicsContext::strokeArc):
14720
147212008-09-01 Dirk Schulze <vbs85@gmx.de>
14722
14723 Reviewed by Eric Seidel.
14724
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000014725 Added canvas's globalAlpha to cairo.
14726
14727 * platform/graphics/GraphicsContext.h:
14728 * platform/graphics/cairo/GraphicsContextCairo.cpp:
14729 (WebCore::GraphicsContext::fillPath):
14730 (WebCore::GraphicsContext::strokePath):
14731 (WebCore::GraphicsContext::setAlpha):
14732 (WebCore::GraphicsContext::getAlpha):
14733 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
14734 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
14735 * platform/graphics/cairo/ImageCairo.cpp:
14736 (WebCore::BitmapImage::draw):
14737
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000147382008-08-31 Simon Hausmann <hausmann@webkit.org>
14739
14740 Unreviewed Qt build fix.
14741
14742 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
14743 the .h file
14744
darin@apple.come7945852008-08-31 06:58:07 +0000147452008-08-30 Darin Adler <darin@apple.com>
14746
14747 Reviewed by Maciej.
14748
14749 - adopt some new JavaScriptCore functions where appropriate
14750
14751 * bindings/js/JSDOMWindowBase.cpp:
14752 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
14753 (WebCore::windowProtoFuncBToA): Ditto.
14754 * bindings/js/JSEventListener.cpp:
14755 (WebCore::JSLazyEventListener::eventParameterName): Adopted
14756 jsNontrivialString.
14757 * bindings/js/JSSVGLazyEventListener.cpp:
14758 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
14759
beidson@apple.com21c821f2008-08-30 00:26:01 +0000147602008-08-29 Brady Eidson <beidson@apple.com>
14761
beidson@apple.come1bd6032008-08-30 00:30:11 +000014762 Reviewed by Anders' rubberstamp
14763
14764 Style cleanup to match MediaTokenizer::writeRawData()
14765
14766 * loader/PluginDocument.cpp:
14767 (WebCore::PluginTokenizer::writeRawData):
14768
147692008-08-29 Brady Eidson <beidson@apple.com>
14770
beidson@apple.com21c821f2008-08-30 00:26:01 +000014771 Reviewed by Anders
14772
mitz@apple.com098b1e62008-09-24 16:39:55 +000014773 https://bugs.webkit.org/show_bug.cgi?id=20556
14774 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
14775
beidson@apple.com21c821f2008-08-30 00:26:01 +000014776 Fix regression I introducted in 35946
14777 Already covered by media/video-click-dlbclick-standalone.html
14778
14779 * loader/MediaDocument.cpp:
14780 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
14781 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
14782 an ASSERT signifying that this method should only be called once, to more closely follow the
14783 PluginDocument case.
14784
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000147852008-08-29 Beth Dakin <bdakin@apple.com>
14786
14787 Reviewed by Sam Weinig.
14788
14789 Fix for <rdar://problem/6181588>
14790
14791 This patch makes hit testing take into account the new concept of a
14792 disconnected frame, in which some of the content may not be
14793 visible. The current hit testing mechanism starts at a target frame
14794 and drills down for a HitTestResult. In some cases, drilling down
14795 will find a non-visible result. When this happens, we need to try
14796 again, starting at a higher level -- namely, starting at the main
14797 frame.
14798
14799 * editing/Editor.cpp:
14800 (WebCore::Editor::insideVisibleArea): New function that tests if a
14801 point is inside the visible area for a disconnected frame.
14802 * editing/Editor.h:
14803 * page/EventHandler.cpp:
14804 (WebCore::EventHandler::hitTestResultAtPoint):
14805
adele@apple.comfb903062008-08-29 22:30:18 +0000148062008-08-29 Adele Peterson <adele@apple.com>
14807
14808 Reviewed by Adam Roben.
14809
14810 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
14811
14812 * GNUmakefile.am:
14813 * WebCore.pro:
14814 * WebCore.vcproj/WebCore.vcproj:
14815 * WebCore.xcodeproj/project.pbxproj:
14816 * WebCoreSources.bkl:
14817 * html/HTMLTextFieldInnerElement.cpp: Removed.
14818 * html/HTMLTextFieldInnerElement.h: Removed.
14819 * rendering/RenderTextControl.cpp:
14820 (WebCore::RenderTextControl::createSubtreeIfNeeded):
14821 * rendering/RenderTextControl.h:
14822 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
14823 (WebCore::TextControlInnerElement::TextControlInnerElement):
14824 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
14825 (WebCore::TextControlInnerTextElement::defaultEventHandler):
14826 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
14827 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
14828 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
14829 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
14830 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
14831
eric@webkit.org298c65b2008-08-29 21:39:32 +0000148322008-08-29 Eric Seidel <eric@webkit.org>
14833
eric@webkit.org77837ce2008-08-29 21:40:07 +000014834 Rubber-stamped by aroben.
14835
14836 Add GraphicsContext.h include to GraphcisContextPrivate.h
14837
14838 GraphicsContextPrivate uses StrokeStyle which is defined
14839 in GraphicsContext.h but it doesn't include that header.
14840 CoreGraphics build doesn't fail here due to the order
14841 it happens to include files.
14842
14843 * platform/graphics/GraphicsContextPrivate.h:
14844
148452008-08-29 Eric Seidel <eric@webkit.org>
14846
eric@webkit.org298c65b2008-08-29 21:39:32 +000014847 Reviewed by hyatt.
14848
14849 Fix GeneratedImage to respect Image's refcounting
14850 Fixing potential crashers (future if not current)
14851 https://bugs.webkit.org/show_bug.cgi?id=20567
14852
14853 I don't know if it's possible to make the current code
14854 crash, thus I've not made a test.
14855
14856 * css/CSSGradientValue.cpp:
14857 (WebCore::CSSGradientValue::image):
14858 * css/CSSImageGeneratorValue.cpp:
14859 (WebCore::CSSImageGeneratorValue::removeClient):
14860 (WebCore::CSSImageGeneratorValue::getImage):
14861 * css/CSSImageGeneratorValue.h:
14862 * platform/graphics/GeneratedImage.h:
14863 (WebCore::GeneratedImage::GeneratedImage):
14864 * rendering/style/RenderStyle.cpp:
14865 (WebCore::RenderStyle::setContent):
14866 * rendering/style/RenderStyle.h:
14867
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000148682008-08-29 Eric Carlson <eric.carlson@apple.com>
14869
14870 Reviewed by Adele.
14871
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000014872 Fix for <rdar://problem/6093767>
14873 https://bugs.webkit.org/show_bug.cgi?id=20526
14874
14875 Don't allow video to render until unsupported track types have been disabled.
14876
14877 * platform/graphics/win/QTMovieWin.cpp:
14878 (QTMovieWinPrivate::task):
14879 (QTMovieWinPrivate::drawingComplete):
14880 (QTMovieWinPrivate::clearGWorld):
14881
148822008-08-29 Eric Carlson <eric.carlson@apple.com>
14883
14884 Reviewed by Adele.
14885
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000014886 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
14887 <rdar://problem/6169301>
14888
14889 Return the size of the movie data instead of 1000.
14890
14891 Test: media/progress-event-total.html
14892
14893 * platform/graphics/win/QTMovieWin.cpp:
14894 (QTMovieWin::dataSize):
14895
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000148962008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
14897
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000014898 Reviewed by Eric Seidel.
14899
14900 [janitor/qt] Start replacing port specific getters with the generic native getter
14901 To get the native presentation of an image we currently have platform
14902 specific #ifdef's and a generic getter using NativeImagePtr. This patch
14903 extends this to the ImageBuffer and updates the Qt platform to get rid
14904 of the special #ifdefs.
14905
14906 https://bugs.webkit.org/attachment.cgi?id=22861
14907
14908 * platform/graphics/BitmapImage.h:
14909 * platform/graphics/Image.h:
14910 * platform/graphics/qt/ImageQt.cpp:
14911 * platform/graphics/qt/StillImageQt.cpp:
14912 * platform/graphics/qt/StillImageQt.h:
14913 * platform/qt/ClipboardQt.cpp:
14914 (WebCore::ClipboardQt::createDragImage):
14915 (WebCore::ClipboardQt::declareAndWriteDragImage):
14916 * platform/qt/CursorQt.cpp:
14917 * platform/qt/PasteboardQt.cpp:
14918 (WebCore::Pasteboard::writeImage):
14919
149202008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
14921
hausmann@webkit.org0367b582008-08-29 15:56:02 +000014922 Reviewed by Simon.
14923
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000014924 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
14925
14926 * svg/graphics/qt/SVGPaintServerQt.cpp:
14927 (WebCore::SVGPaintServer::renderPath):
14928 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
14929 (WebCore::SVGPaintServerSolid::setup):
14930
149312008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
14932
14933 Reviewed by Simon.
14934
hausmann@webkit.org0367b582008-08-29 15:56:02 +000014935 [network/qt] Implement defering of loading ResourceHandle's
14936 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
14937 implementation is simply not forwarding anything to the
14938 ResourceHandleClient until we are allowed to. This might lead to a deadlock
14939 in Qt as we do not empty the QNetworkReply input buffer and wait until we
14940 are allowed to read. If that happens we are forced to buffer the data
14941 within QNetworkReplyHandler, for now this is not done.
14942
14943 Manual test:
14944 - Open http://acid3.acidtests.org
14945 - Wait for the test to complete
14946 - Click on the Reference Rendering link
14947 - Be fast and see the results of acid3
14948 => assert
14949
14950 * platform/network/qt/QNetworkReplyHandler.cpp:
14951 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
14952 (WebCore::QNetworkReplyHandler::setLoadMode):
14953 (WebCore::QNetworkReplyHandler::finish):
14954 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
14955 (WebCore::QNetworkReplyHandler::forwardData):
14956 (WebCore::QNetworkReplyHandler::start):
14957 (WebCore::QNetworkReplyHandler::resetState):
14958 (WebCore::QNetworkReplyHandler::sendQueuedItems):
14959 * platform/network/qt/QNetworkReplyHandler.h:
14960 (WebCore::QNetworkReplyHandler::):
14961 * platform/network/qt/ResourceHandleQt.cpp:
14962 (WebCore::ResourceHandle::start):
14963 (WebCore::ResourceHandle::loadResourceSynchronously):
14964 (WebCore::ResourceHandle::setDefersLoading):
14965
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000149662008-08-29 Simon Hausmann <hausmann@webkit.org>
14967
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000014968 Reviewed by Holger.
14969
14970 Don't crash when drawing patterns with the HTML canvas. Patterns
14971 remain unimplemented but at least they don't crash anymore. This is
14972 done by changing the PlatformPatternPtr to be a brush for the Qt
14973 platform.
14974
14975 * platform/graphics/Pattern.h:
14976 * platform/graphics/qt/GraphicsContextQt.cpp:
14977 (WebCore::GraphicsContext::fillPath):
14978 (WebCore::GraphicsContext::strokePath):
14979 (WebCore::GraphicsContext::fillRect):
14980 * platform/graphics/qt/PatternQt.cpp:
14981 (WebCore::Pattern::createPlatformPattern):
14982
149832008-08-29 Simon Hausmann <hausmann@webkit.org>
14984
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000014985 Fix the Qt build, fontSelector() is not used by the Qt port yet
14986 and we just return 0 in Font::fontSelector().
14987
14988 * platform/graphics/Font.h:
14989
alp@webkit.org97d8c102008-08-29 05:09:39 +0000149902008-08-28 Alp Toker <alp@nuanti.com>
14991
14992 GTK+ dist/build fix. List newly added header files.
14993
14994 * GNUmakefile.am:
14995
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000149962008-08-28 Simon Fraser <simon.fraser@apple.com>
14997
14998 Reviewed by Dave Hyatt
14999
15000 Various WebKitCSSTransformValue-related fixes
15001 https://bugs.webkit.org/show_bug.cgi?id=20562
15002
15003 Test: css3/transform-value-types.html
15004
15005 * bindings/js/JSCSSValueCustom.cpp:
15006 (WebCore::toJS):
15007 * css/CSSValue.h:
15008 * css/WebKitCSSTransformValue.cpp:
15009 (WebCore::WebKitCSSTransformValue::cssText):
15010 * css/WebKitCSSTransformValue.h:
15011 (WebCore::WebKitCSSTransformValue::):
15012 * css/WebKitCSSTransformValue.idl:
15013
mitz@apple.comd7222352008-08-28 22:53:31 +0000150142008-08-28 Dan Bernstein <mitz@apple.com>
15015
15016 Reviewed by Steve Falkenburg.
15017
15018 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
15019
15020 * platform/win/SharedTimerWin.cpp:
15021 (WebCore::TimerWindowWndProc):
15022
hyatt@apple.com7d335232008-08-28 21:38:45 +0000150232008-08-28 David Hyatt <hyatt@apple.com>
15024
15025 RenderStyle cleanup.
15026
15027 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
15028
15029 Reviewed by Adam
15030
15031 * css/CSSImageGeneratorValue.cpp:
15032 * css/CSSImageValue.cpp:
15033 * css/CSSStyleSelector.cpp:
15034 * rendering/RenderImageGeneratedContent.cpp:
15035 * rendering/style/NinePieceImage.cpp: Added.
15036 * rendering/style/NinePieceImage.h: Added.
15037 * rendering/style/RenderStyle.cpp:
15038 (WebCore::FillLayer::operator==):
15039 (WebCore::FillLayer::containsImage):
15040 (WebCore::StyleInheritedData::operator==):
15041 (WebCore::RenderStyle::contentDataEquivalent):
15042 * rendering/style/RenderStyle.h:
15043 * rendering/style/StyleCachedImage.cpp: Added.
15044 * rendering/style/StyleCachedImage.h: Added.
15045 * rendering/style/StyleGeneratedImage.cpp: Added.
15046 * rendering/style/StyleGeneratedImage.h: Added.
15047 * rendering/style/StyleImage.h: Added.
15048
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000150492008-08-28 Simon Fraser <simon.fraser@apple.com>
15050
15051 Reviewed by Dave Hyatt
15052
15053 Make all the 'isFoo()' methods on CSSValue const,
15054 and fix the subclasses.
15055
15056 https://bugs.webkit.org/show_bug.cgi?id=20561
15057
15058 * css/CSSTimingFunctionValue.h:
15059 * css/CSSValue.h:
15060 (WebCore::CSSValue::isFontValue):
15061 (WebCore::CSSValue::isImageGeneratorValue):
15062 (WebCore::CSSValue::isImageValue):
15063 (WebCore::CSSValue::isImplicitInitialValue):
15064 * css/CSSValueList.h:
15065 * css/FontValue.h:
15066
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000150672008-08-28 David Hyatt <hyatt@apple.com>
15068
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000015069 The great RenderStyle cleanup begins!
15070
15071 Move LengthBox and LengthSize out of RenderStyle and into Length.
15072
15073 Reviewed by Adam
15074
15075 * rendering/Length.h:
15076 (WebCore::):
15077 (WebCore::Length::Length):
15078 (WebCore::Length::operator==):
15079 (WebCore::Length::operator!=):
15080 (WebCore::Length::value):
15081 (WebCore::Length::rawValue):
15082 (WebCore::Length::percent):
15083 (WebCore::Length::type):
15084 (WebCore::Length::quirk):
15085 (WebCore::Length::setValue):
15086 (WebCore::Length::setRawValue):
15087 (WebCore::Length::calcValue):
15088 (WebCore::Length::calcMinValue):
15089 (WebCore::Length::calcFloatValue):
15090 (WebCore::Length::isUndefined):
15091 (WebCore::Length::isZero):
15092 (WebCore::Length::isPositive):
15093 (WebCore::Length::isNegative):
15094 (WebCore::Length::isAuto):
15095 (WebCore::Length::isRelative):
15096 (WebCore::Length::isPercent):
15097 (WebCore::Length::isFixed):
15098 (WebCore::Length::isStatic):
15099 (WebCore::Length::isIntrinsicOrAuto):
15100 (WebCore::Length::blend):
15101 (WebCore::LengthBox::LengthBox):
15102 (WebCore::LengthBox::operator=):
15103 (WebCore::LengthBox::operator==):
15104 (WebCore::LengthBox::operator!=):
15105 (WebCore::LengthBox::nonZero):
15106 (WebCore::LengthSize::LengthSize):
15107 * rendering/style/RenderStyle.h:
15108
151092008-08-28 David Hyatt <hyatt@apple.com>
15110
hyatt@apple.com550a95c2008-08-28 19:53:56 +000015111 Reviewed by Darin
15112
15113 https://bugs.webkit.org/show_bug.cgi?id=18091
15114
15115 font-size should be animatable using -webkit-transition.
15116
15117 * page/AnimationController.cpp:
15118 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
15119 * rendering/style/RenderStyle.h:
15120 (WebCore::RenderStyle::setFontSize):
15121
mitz@apple.com30923ad2008-08-28 17:45:47 +0000151222008-08-28 Brad Garcia <bgarcia@google.com>
15123
15124 Reviewed by Dan Bernstein.
15125
15126 https://bugs.webkit.org/show_bug.cgi?id=20549
15127 Correctly determine when cursor is over a resizable border within
15128 a nested frameset.
15129
15130 * rendering/RenderFrameSet.cpp:
15131 (WebCore::RenderFrameSet::canResizeRow):
15132 (WebCore::RenderFrameSet::canResizeColumn):
15133
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000151342008-08-28 Simon Fraser <simon.fraser@apple.com>
15135
15136 Reviewed by Eric Seidel
15137
15138 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
15139 https://bugs.webkit.org/show_bug.cgi?id=20552
15140
15141 Test: animations/animation-css-rule-types.html
15142
15143 * css/CSSRule.idl:
15144
andersca@apple.com12399c32008-08-28 17:26:46 +0000151452008-08-28 Anders Carlsson <andersca@apple.com>
15146
15147 Reviewed by Kevin and Darin.
15148
15149 <rdar://problem/6182541>
15150 https://bugs.webkit.org/show_bug.cgi?id=20202
15151 Missing http status line from the http headers.
15152
15153 Add a status line to the header string.
15154
15155 * plugins/PluginStream.cpp:
15156 (WebCore::PluginStream::startStream):
15157
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000151582008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
15159
15160 Rubber-stamped by Darin Adler.
15161
15162 https://bugs.webkit.org/show_bug.cgi?id=17261
15163
15164 Make it possible to theme the default Url icon and enable this for
15165 the Qt port. To have a minimal usage of #ifdef in the code the setting
15166 of the icon was moved to a new method which comes in two flavors.
15167
15168 * loader/icon/IconDatabase.cpp:
15169 (WebCore::loadDefaultIconRecord): Load or set the default icon
15170 (WebCore::IconDatabase::defaultIcon):
15171
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000151722008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
15173
15174 Unreviewed compile fix
15175
15176 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
15177
aroben@apple.comfacf5032008-08-28 13:34:01 +0000151782008-08-28 Adam Roben <aroben@apple.com>
15179
15180 Windows (and others?) build fix
15181
15182 * page/Chrome.cpp: Added a missing #include.
15183 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
15184
eric@webkit.org22794fd2008-08-28 12:04:40 +0000151852008-08-27 Eric Seidel <eric@webkit.org>
15186
15187 Reviewed by Oliver Hunt.
15188
eric@webkit.org5f874e92008-08-28 12:04:55 +000015189 Qt and Cairo support from krit (and blind stab @ wx compile support)
15190 https://bugs.webkit.org/show_bug.cgi?id=20373
15191
15192 * platform/graphics/cairo/GraphicsContextCairo.cpp:
15193 (WebCore::GraphicsContext::fillPath):
15194 (WebCore::GraphicsContext::strokePath):
15195 (WebCore::GraphicsContext::drawPath):
15196 (WebCore::GraphicsContext::fillRect):
15197 (WebCore::GraphicsContext::setPlatformFillColor):
15198 (WebCore::GraphicsContext::setPlatformStrokeColor):
15199 (WebCore::GraphicsContext::setPlatformStrokeStyle):
15200 (WebCore::GraphicsContext::strokeRect):
15201 (WebCore::GraphicsContext::setImageInterpolationQuality):
15202 (WebCore::GraphicsContext::imageInterpolationQuality):
15203 (WebCore::GraphicsContext::setPlatformFillPattern):
15204 (WebCore::GraphicsContext::setPlatformStrokePattern):
15205 (WebCore::GraphicsContext::setPlatformFillGradient):
15206 (WebCore::GraphicsContext::setPlatformStrokeGradient):
15207 * platform/graphics/qt/GraphicsContextQt.cpp:
15208 (WebCore::GraphicsContext::fillPath):
15209 (WebCore::GraphicsContext::strokePath):
15210 (WebCore::GraphicsContext::fillRect):
15211 (WebCore::GraphicsContext::strokeRect):
15212 (WebCore::GraphicsContext::clipToImageBuffer):
15213 (WebCore::GraphicsContext::setPlatformFillPattern):
15214 (WebCore::GraphicsContext::setPlatformStrokePattern):
15215 (WebCore::GraphicsContext::setPlatformFillGradient):
15216 (WebCore::GraphicsContext::setPlatformStrokeGradient):
15217 (WebCore::GraphicsContext::setImageInterpolationQuality):
15218 (WebCore::GraphicsContext::imageInterpolationQuality):
15219 * platform/graphics/wx/GraphicsContextWx.cpp:
15220 (WebCore::GraphicsContext::clipToImageBuffer):
15221 (WebCore::GraphicsContext::setImageInterpolationQuality):
15222 (WebCore::GraphicsContext::imageInterpolationQuality):
15223 (WebCore::GraphicsContext::fillPath):
15224 (WebCore::GraphicsContext::strokePath):
15225 (WebCore::GraphicsContext::drawPath):
15226 (WebCore::GraphicsContext::fillRect):
15227 (WebCore::GraphicsContext::setPlatformFillPattern):
15228 (WebCore::GraphicsContext::setPlatformStrokePattern):
15229 (WebCore::GraphicsContext::setPlatformFillGradient):
15230
152312008-08-27 Eric Seidel <eric@webkit.org>
15232
15233 Reviewed by Oliver Hunt.
15234
eric@webkit.org22794fd2008-08-28 12:04:40 +000015235 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
15236 https://bugs.webkit.org/show_bug.cgi?id=20373
15237
15238 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
15239
15240 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
15241 have to store large Gradient objects in the GraphicsContextState
15242
15243 Made Pattern RefCounted for the same reason.
15244
15245 Many updates to GraphicsContext to support easier drawing with
15246 Patterns and Gradients.
15247
15248 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
15249 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
15250 (WebCore::toJS):
15251 * css/CSSGradientValue.cpp:
15252 (WebCore::CSSGradientValue::createGradient):
15253 * css/CSSGradientValue.h:
15254 * html/CanvasGradient.cpp:
15255 (WebCore::CanvasGradient::CanvasGradient):
15256 * html/CanvasGradient.h:
15257 (WebCore::CanvasGradient::gradient):
15258 (WebCore::CanvasGradient::addColorStop):
15259 (WebCore::CanvasGradient::getColor):
15260 * html/CanvasPattern.cpp:
15261 * html/CanvasPattern.h:
15262 (WebCore::CanvasPattern::pattern):
15263 (WebCore::CanvasPattern::originClean):
15264 * html/CanvasRenderingContext2D.cpp:
15265 (WebCore::CanvasRenderingContext2D::State::State):
15266 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
15267 (WebCore::CanvasRenderingContext2D::setFillStyle):
15268 (WebCore::CanvasRenderingContext2D::fill):
15269 (WebCore::CanvasRenderingContext2D::stroke):
15270 (WebCore::CanvasRenderingContext2D::fillRect):
15271 (WebCore::CanvasRenderingContext2D::strokeRect):
15272 * html/CanvasRenderingContext2D.h:
15273 * html/CanvasStyle.cpp:
15274 (WebCore::CanvasStyle::applyStrokeColor):
15275 (WebCore::CanvasStyle::applyFillColor):
15276 * html/CanvasStyle.h:
15277 * platform/graphics/GeneratedImage.h:
15278 (WebCore::GeneratedImage::GeneratedImage):
15279 * platform/graphics/Generator.h:
15280 * platform/graphics/Gradient.h:
15281 (WebCore::Gradient::create):
15282 * platform/graphics/GraphicsContext.cpp:
15283 (WebCore::GraphicsContext::fillRule):
15284 (WebCore::GraphicsContext::setFillRule):
15285 (WebCore::GraphicsContext::setStrokePattern):
15286 (WebCore::GraphicsContext::setFillPattern):
15287 (WebCore::GraphicsContext::setStrokeGradient):
15288 (WebCore::GraphicsContext::setFillGradient):
15289 * platform/graphics/GraphicsContext.h:
15290 * platform/graphics/GraphicsContextPrivate.h:
15291 (WebCore::):
15292 (WebCore::GraphicsContextState::GraphicsContextState):
15293 * platform/graphics/GraphicsTypes.h:
15294 * platform/graphics/Path.h:
15295 * platform/graphics/Pattern.h:
15296 (WebCore::Pattern::create):
15297 (WebCore::Pattern::tileImage):
15298 * platform/graphics/cg/GraphicsContextCG.cpp:
15299 (WebCore::GraphicsContext::drawRect):
15300 (WebCore::GraphicsContext::drawEllipse):
15301 (WebCore::GraphicsContext::drawConvexPolygon):
15302 (WebCore::calculateDrawingMode):
15303 (WebCore::GraphicsContext::drawPath):
15304 (WebCore::fillPathWithFillRule):
15305 (WebCore::GraphicsContext::fillPath):
15306 (WebCore::GraphicsContext::strokePath):
15307 (WebCore::GraphicsContext::fillRect):
15308 (WebCore::GraphicsContext::fillRoundedRect):
15309 (WebCore::GraphicsContext::setPlatformStrokePattern):
15310 (WebCore::GraphicsContext::setPlatformFillPattern):
15311 (WebCore::GraphicsContext::setPlatformStrokeGradient):
15312 (WebCore::GraphicsContext::setPlatformFillGradient):
15313
eric@webkit.org70b099f2008-08-28 11:42:26 +0000153142008-08-20 Eric Seidel <eric@webkit.org>
15315
15316 Reviewed by Darin and Alexey.
15317
15318 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
15319 with timeouts paused.
15320 https://bugs.webkit.org/show_bug.cgi?id=20469
15321
15322 I attempted to clean up the memory management of PausedTimeouts, I'm not
15323 sure the solution I came up with is "cleaner", but it's in some ways
15324 "safer", since it no longer uses raw pointers and manual new/delete.
15325
15326 This also now prevents CachedPage from needlessly creating Window
15327 objects when caching pages which didn't already have one. :)
15328
15329 I also made Chrome.cpp no longer depend on the JavaScript bindings
15330 (aka JSDOMWindowBase.h), since there was no real reason for it to.
15331
15332 * bindings/js/JSDOMWindowBase.cpp:
15333 (WebCore::JSDOMWindowBase::pauseTimeouts):
15334 (WebCore::JSDOMWindowBase::resumeTimeouts):
15335 * bindings/js/JSDOMWindowBase.h:
15336 * bindings/js/ScriptController.cpp:
15337 (WebCore::ScriptController::pauseTimeouts):
15338 (WebCore::ScriptController::resumeTimeouts):
15339 * bindings/js/ScriptController.h:
15340 * history/CachedPage.cpp:
15341 (WebCore::CachedPage::CachedPage):
15342 (WebCore::CachedPage::restore):
15343 * page/Chrome.cpp:
15344 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
15345 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
15346 * page/JavaScriptDebugServer.cpp:
15347 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
15348 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
15349
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000153502008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
15351
15352 Unreviewed compile fix
15353
15354 Add the stub for the Qt port.
15355
15356 * WebCore.pro:
15357 * page/qt/AccessibilityObjectQt.cpp: Added.
15358 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
15359
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000153602008-08-27 Alp Toker <alp@nuanti.com>
15361
15362 Reviewed by Eric.
15363
15364 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000015365 [GTK] search popup crash
15366
15367 * platform/gtk/SearchPopupMenuGtk.cpp:
15368 (WebCore::SearchPopupMenu::enabled):
15369 Fix a search popup crasher by disabling the history popup since we
15370 don't support this feature yet in the GTK+ port.
15371
153722008-08-27 Alp Toker <alp@nuanti.com>
15373
15374 Reviewed by Eric.
15375
15376 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000015377 [GTK] curl crashers
15378
15379 * platform/network/curl/ResourceHandleManager.cpp:
15380 (WebCore::ResourceHandleManager::startScheduledJobs):
15381 Remove the resource handle from the pending list before starting the
15382 job, not afterwards. Fixes crashers in the test suite.
15383
15384 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
15385 Test: fast/encoding/char-encoding.html
15386
eric@webkit.org712cb892008-08-28 00:26:15 +0000153872008-08-27 Dirk Schulze <vbs85@gmx.de>
15388
15389 Reviewed by eseidel.
15390
15391 Fix canvas drawImage to support composite operations.
15392 Composite had no effect on canvas elements like these:
15393 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
15394
15395 [CAIRO] Canvas composite don't work on canvas-elements.
15396 https://bugs.webkit.org/show_bug.cgi?id=20548
15397
15398 * html/CanvasRenderingContext2D.cpp:
15399 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
15400
eric@webkit.org75c83a02008-08-28 00:04:59 +0000154012008-08-27 Mario Bensi <mbensi@pleyo.com>
15402
15403 Reviewed by Eric Seidel.
15404
15405 Fix the data content of an image with a base64.
15406
15407 * platform/network/curl/ResourceHandleManager.cpp:
15408 (WebCore::parseDataUrl): Remove the String and use only the data
15409 Vector because the data.latin1().data() convert the data content and
15410 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
15411 not drawn correctly.
15412
antti@apple.comf66a86b2008-08-27 23:59:50 +0000154132008-08-27 Antti Koivisto <antti@apple.com>
15414
15415 Reviewed by Eric Seidel.
15416
15417 Crash after OK in dialog box and reloading page in secure mode
15418 https://bugs.webkit.org/show_bug.cgi?id=20493
15419
15420 The new run loop spawned by a modal dialog causes a timer in the loader to run
15421 synchronously inside didFinishLoading() deleting "this" object.
15422
15423 Defer all WebCore timers when a modal dialog is up. They are not
15424 safe to execute.
15425
15426 * page/Chrome.cpp:
15427 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
15428 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
15429
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000154302008-08-27 Chris Marrin <cmarrin@apple.com>
15431
15432 Reviewed by Dave Hyatt
15433
15434 Memory leaks when animating transforms
15435 https://bugs.webkit.org/show_bug.cgi?id=20532
15436
15437 * rendering/style/RenderStyle.cpp:
15438 (WebCore::ScaleTransformOperation::blend):
15439 (WebCore::RotateTransformOperation::blend):
15440 (WebCore::SkewTransformOperation::blend):
15441 (WebCore::TranslateTransformOperation::blend):
15442 (WebCore::MatrixTransformOperation::blend):
15443 * rendering/style/RenderStyle.h:
15444
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000154452008-08-27 Timothy Hatcher <timothy@apple.com>
15446
15447 Add support for support for -webkit-appearance: default-button on the Mac platform.
15448
15449 <rdar://problem/6173530>
15450
15451 Reviewed by Dave Hyatt.
15452
15453 * WebCore.base.exp: Export new symbols.
15454 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
15455 * platform/mac/WebCoreSystemInterface.mm: Ditto.
15456 * rendering/RenderButton.cpp:
15457 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
15458 (WebCore::RenderButton::setStyle): Ditto.
15459 * rendering/RenderButton.h: Ditto.
15460 * rendering/RenderThemeMac.mm:
15461 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
15462 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
15463 key if the button is default, otherwise reset the key equivalent.
15464 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
15465 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
15466 the window's previous default button cell when finished.
15467
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000154682008-08-26 David Hyatt <hyatt@apple.com>
15469
15470 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
15471
15472 Reviewed by weinig
15473
15474 Added fast/forms/zoomed-controls.html
15475
15476 * css/CSSStyleSelector.cpp:
15477 (WebCore::addIntrinsicMargins):
15478 * rendering/RenderSlider.cpp:
15479 (WebCore::RenderSlider::calcPrefWidths):
15480 * rendering/RenderThemeMac.h:
15481 * rendering/RenderThemeMac.mm:
15482 (WebCore::RenderThemeMac::adjustRepaintRect):
15483 (WebCore::RenderThemeMac::inflateRect):
15484 (WebCore::RenderThemeMac::baselinePosition):
15485 (WebCore::RenderThemeMac::setControlSize):
15486 (WebCore::RenderThemeMac::sizeForFont):
15487 (WebCore::RenderThemeMac::sizeForSystemFont):
15488 (WebCore::RenderThemeMac::setFontFromControlSize):
15489 (WebCore::RenderThemeMac::paintCheckbox):
15490 (WebCore::RenderThemeMac::setCheckboxCellState):
15491 (WebCore::RenderThemeMac::paintRadio):
15492 (WebCore::RenderThemeMac::setRadioCellState):
15493 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
15494 (WebCore::RenderThemeMac::adjustButtonStyle):
15495 (WebCore::RenderThemeMac::setButtonCellState):
15496 (WebCore::RenderThemeMac::paintButton):
15497 (WebCore::RenderThemeMac::paintMenuList):
15498 (WebCore::RenderThemeMac::paintMenuListButton):
15499 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
15500 (WebCore::RenderThemeMac::popupInternalPaddingRight):
15501 (WebCore::RenderThemeMac::popupInternalPaddingTop):
15502 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
15503 (WebCore::RenderThemeMac::setPopupButtonCellState):
15504 (WebCore::RenderThemeMac::paintSliderTrack):
15505 (WebCore::RenderThemeMac::paintSliderThumb):
15506 (WebCore::RenderThemeMac::adjustSliderThumbSize):
15507 (WebCore::RenderThemeMac::paintSearchField):
15508 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
15509 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
15510 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
15511
beidson@apple.comd0793872008-08-27 19:59:55 +0000155122008-08-27 Brady Eidson <beidson@apple.com>
15513
15514 Reviewed by Anders
15515
15516 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
15517
15518 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
15519 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
15520 away the virtual address space and a crash.
15521
15522 * loader/EmptyClients.h:
15523 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
15524 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
15525 "plugin will handle load"
15526
15527 * loader/MediaDocument.cpp:
15528 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
15529 and cancel the WebCore-managed load
15530 (WebCore::MediaTokenizer::writeRawData):
15531 (WebCore::MediaTokenizer::finish):
15532
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000155332008-08-26 Simon Fraser <simon.fraser@apple.com>
15534
15535 Reviewed by Eric Seidel
15536
15537 Linear timing functions should have control points 0, 0, 1, 1.
15538 https://bugs.webkit.org/show_bug.cgi?id=20535
15539
15540 * css/CSSStyleSelector.cpp:
15541 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
15542 * rendering/style/RenderStyle.h:
15543
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000155442008-08-27 Adam Roben <aroben@apple.com>
15545
15546 Windows build fix
15547
15548 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
15549
mrowe@apple.com37686d42008-09-04 00:10:39 +0000155502008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000015551
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000015552 Reviewed by Beth Dakin.
15553
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000015554 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
15555
15556 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
15557 to determine if an attachment is ignored through accessibility. Added equivalent
15558 methods in Gtk, Win and Mac
15559
15560 Test: accessibility/plugin.html
15561
15562 * GNUmakefile.am:
15563 * WebCore.vcproj/WebCore.vcproj:
15564 * WebCore.xcodeproj/project.pbxproj:
15565 * page/AccessibilityObject.h:
15566 * page/AccessibilityRenderObject.cpp:
15567 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
15568 * page/gtk/AccessibilityObjectAtk.cpp: Added.
15569 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
15570 * page/mac/AccessibilityObjectMac.mm: Added.
15571 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
15572 * page/mac/AccessibilityObjectWrapper.h:
15573 * page/win/AccessibilityObjectWin.cpp: Added.
15574 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
15575
mrowe@apple.com37686d42008-09-04 00:10:39 +0000155762008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000015577
15578 Reviewed by Beth Dakin.
15579
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000015580 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
15581
15582 * page/mac/AccessibilityObjectWrapper.mm:
15583 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
15584 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
15585
mrowe@apple.com37686d42008-09-04 00:10:39 +0000155862008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000015587
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000015588 Reviewed by Darin Adler.
15589
15590 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
15591
15592 Tests: accessibility/table-notbody.html
15593
15594 * page/AccessibilityTable.cpp:
15595 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
15596
weinig@apple.com33705852008-08-26 19:51:28 +0000155972008-08-26 Sam Weinig <sam@webkit.org>
15598
weinig@apple.comf6f553a2008-08-26 21:21:26 +000015599 Reviewed by Beth Dakin.
15600
15601 Fix typo.
15602
15603 * dom/DOMCoreException.h:
15604
156052008-08-26 Sam Weinig <sam@webkit.org>
15606
weinig@apple.com0f34f002008-08-26 19:56:54 +000015607 Reviewed by Oliver Hunt.
15608
15609 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
15610 <rdar://problem/6167660>
15611 Take image redirects into account when tainting the canvas.
15612
15613 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
15614
15615 * html/CanvasRenderingContext2D.cpp:
15616 (WebCore::CanvasRenderingContext2D::drawImage):
15617 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
15618
156192008-08-26 Sam Weinig <sam@webkit.org>
15620
weinig@apple.com33705852008-08-26 19:51:28 +000015621 Reviewed by Darin Adler.
15622
15623 Change canvas tainting logic to ask the image if it contains
15624 any resources outside of its own origin. Since there is no
15625 way to determine if SVG images contain any resources outside its
15626 origin, we always assume it does.
15627
15628 * html/CanvasRenderingContext2D.cpp:
15629 (WebCore::CanvasRenderingContext2D::drawImage):
15630 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
15631 * platform/graphics/BitmapImage.h:
15632 (WebCore::BitmapImage::hasSingleSecurityOrigin):
15633 * platform/graphics/GeneratedImage.h:
15634 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
15635 * platform/graphics/Image.h:
15636 (WebCore::Image::hasSingleSecurityOrigin):
15637 * platform/graphics/cg/PDFDocumentImage.h:
15638 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
15639 * svg/graphics/SVGImage.h:
15640
britto@apple.com616ef6d2008-08-26 17:51:03 +0000156412008-08-26 Maxime Britto <britto@apple.com>
15642
15643 Reviewed by Adele.
15644
15645 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
15646 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.
15647 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.
15648
15649 * page/EventHandler.cpp:
15650 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
15651 * page/EventHandler.h:
15652 * rendering/RenderLayer.cpp:
15653 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
15654 (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.
15655 * rendering/RenderLayer.h:
15656 * rendering/RenderObject.cpp:
15657 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
15658 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
15659 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
15660
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000156612008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
15662
darin@apple.com07c80c62008-09-05 18:15:43 +000015663 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000015664
15665 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
15666 https://bugs.webkit.org/show_bug.cgi?id=20247
15667
15668 <rdar://problem/6118218>
15669
15670 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
15671 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
15672 (case insensitive for HTML elements).
15673
15674 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
15675
15676 * dom/Element.cpp:
15677 (WebCore::Element::getAttribute):
15678 * dom/NamedAttrMap.cpp:
15679 (WebCore::NamedAttrMap::getNamedItem):
15680 (WebCore::NamedAttrMap::getAttributeItem):
15681 * dom/NamedAttrMap.h:
15682
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000156832008-08-25 Sam Weinig <sam@webkit.org>
15684
weinig@apple.com8d3ea722008-08-26 04:19:07 +000015685 Reviewed by Oliver Hunt.
15686
15687 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
15688 <rdar://problem/6174096>
15689 Treat SVG images as dirty when drawing to a canvas.
15690
15691 Test: http/tests/security/canvas-remote-read-svg-image.html
15692
15693 * html/CanvasRenderingContext2D.cpp:
15694 (WebCore::CanvasRenderingContext2D::drawImage):
15695 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
15696 * platform/graphics/Image.h:
15697 (WebCore::Image::isSVGImage):
15698 * svg/graphics/SVGImage.h:
15699 (WebCore::SVGImage::isSVGImage):
15700
157012008-08-25 Sam Weinig <sam@webkit.org>
15702
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000015703 Reviewed by Mark Rowe.
15704
15705 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
15706 Leak in XMLHttpRequest.
15707
15708 * xml/XMLHttpRequest.cpp:
15709 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
15710
beidson@apple.com46421212008-08-25 21:48:56 +0000157112008-08-25 Brady Eidson <beidson@apple.com>
15712
15713 Reviewed by Anders
15714
15715 Speculative fix for <rdar://problem/6173217>
15716
15717 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
15718 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
15719 the first null check invalid.
15720
15721 * loader/FrameLoader.cpp:
15722 (WebCore::FrameLoader::stopAllLoaders):
15723
15724
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000157252008-08-25 Kevin McCullough <kmccullough@apple.com>
15726
15727 Reviewed by Tim.
15728
15729 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
15730 there is no profile, can cause crash
15731
15732 * page/inspector/ProfilesPanel.js:
15733
dino@apple.com1baeea62008-08-25 21:06:21 +0000157342008-08-25 Dean Jackson <dino@apple.com>
15735
15736 Reviewed by Dave Hyatt
15737
15738 Make sure 'inherit' is handled by transition property.
15739 https://bugs.webkit.org/show_bug.cgi?id=20513
15740
15741 Test: transitions/inherit.html
15742 Test: transitions/inherit-other-props.html
15743
15744 * css/CSSStyleSelector.cpp:
15745 fix macro to check existence of list before getting size
15746
andersca@apple.com2866b8302008-08-25 20:56:21 +0000157472008-08-25 Anders Carlsson <andersca@apple.com>
15748
15749 Reviewed by Mark.
15750
15751 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
15752
15753 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
15754 (safely) that any class that needs finalization on the main thread will also need to be deallocated
15755 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
15756 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
15757
15758 * platform/mac/WebCoreObjCExtras.c:
15759 (WebCoreObjCFinalizeOnMainThread):
15760
antti@apple.com60381cb2008-08-25 20:41:11 +0000157612008-08-25 Antti Koivisto <antti@apple.com>
15762
15763 Reviewed by Dan Bernstein.
15764
15765 Rename CachedResource::referenced() to CachedResource::hasClients() to
15766 match previous ref() -> addClient() rename.
15767
15768 * loader/Cache.cpp:
15769 (WebCore::Cache::pruneLiveResources):
15770 (WebCore::Cache::pruneDeadResources):
15771 (WebCore::Cache::remove):
15772 (WebCore::Cache::getStatistics):
15773 (WebCore::Cache::dumpLRULists):
15774 * loader/CachedResource.cpp:
15775 (WebCore::CachedResource::addClient):
15776 (WebCore::CachedResource::removeClient):
15777 (WebCore::CachedResource::setDecodedSize):
15778 (WebCore::CachedResource::setEncodedSize):
15779 * loader/CachedResource.h:
15780 (WebCore::CachedResource::hasClients):
15781 (WebCore::CachedResource::canDelete):
15782
timothy@apple.com7d809242008-08-25 18:33:05 +0000157832008-08-25 Anthony Ricaud <rik24d@gmail.com>
15784
15785 Add a missing Inspector localized string for "other".
15786
15787 https://bugs.webkit.org/show_bug.cgi?id=20509
15788
15789 Reviewed by Tim Hatcher.
15790
15791 * English.lproj/localizedStrings.js:
15792
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000157932008-08-22 Kevin McCullough <kmccullough@apple.com>
15794
15795 Reviewed by Geoff, Mark and Tim.
15796
15797 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
15798 in the console said what file and line number they came from
15799 - Lay the foundation for getting line numbers and other data from the
15800 JavaScript engine.
15801
15802 * ForwardingHeaders/VM: Added.
15803 * ForwardingHeaders/VM/Machine.h: Added.
15804 * page/Console.cpp: Gather the line number and file information when
15805 profileEnd has been called, but don't use it until didFinishProfiling is
15806 called. We won't need to wait once we remove the profiler "zombie" mode
15807 which this patch helps pave the foundation for.
15808 (WebCore::Console::Console):
15809 (WebCore::Console::profileEnd):
15810 (WebCore::Console::finishedProfiling):
15811 * page/Console.h:
15812 * page/InspectorController.cpp: Modify calls to
15813 addProfileMessageToConsole to satisfy the new arguments it takes.
15814 (WebCore::InspectorController::finishedProfiling):
15815 (WebCore::InspectorController::addProfile):
15816 (WebCore::InspectorController::addProfileMessageToConsole):
15817 (WebCore::InspectorController::finishedProfiling):
15818 * page/InspectorController.h:
15819
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000158202008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
15821
15822 Reviewed by Simon.
15823
15824 [inspector] Update the WebKit.qrc Qt resources file
15825 Catchup with the changes in the directory.
15826
15827 * page/inspector/WebKit.qrc:
15828
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000158292008-08-25 Dirk Schulze <vbs85@gmx.de>
15830
15831 Reviewed by Simon.
15832
15833 Transformed the radian to degree, to get rotate()
15834 in canvas work as expected.
15835
15836 [Qt] Canvas.rotate() doesn't work
15837 https://bugs.webkit.org/show_bug.cgi?id=20496
15838
15839 * platform/graphics/qt/GraphicsContextQt.cpp:
15840 (WebCore::GraphicsContext::rotate):
15841
sfalken@apple.com9d442862008-08-25 05:43:33 +0000158422008-08-24 Steve Falkenburg <sfalken@apple.com>
15843
15844 Add a "last chance" WM_TIMER to the Windows shared timer.
15845
15846 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
15847 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
15848 timers if a timer with an earlier expiration is already pending. This results in no timers
15849 firing from that point on.
15850
15851 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
15852 buggy window message hook.
15853
15854 This timer will start when the first WM_TIMER is scheduled, and will
15855 fire every 5 seconds thereafter, causing any lost timers to be fired.
15856
15857 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
15858 and prevents the WebFrame leak.
15859
15860 Reviewed by Darin Adler, Geoff Garen.
15861
15862 * platform/win/SharedTimerWin.cpp:
15863 (WebCore::):
15864 (WebCore::TimerWindowWndProc):
15865 (WebCore::setSharedTimerFireTime):
15866
mitz@apple.com771fb752008-08-25 03:22:44 +0000158672008-08-24 Dan Bernstein <mitz@apple.com>
15868
15869 Reviewed by Darin Adler.
15870
15871 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
15872
15873 Test: fast/css/font-property-priority.html
15874
15875 * css/CSSParser.cpp:
15876 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
15877 to the font-property-parsing functions.
15878 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
15879 changed to use it rather than the m_important member.
15880 (WebCore::CSSParser::parseFontVariant): Ditto.
15881 (WebCore::CSSParser::parseFontWeight): Ditto.
15882 * css/CSSParser.h:
15883
timothy@apple.com4cea2632008-08-24 22:28:44 +0000158842008-08-24 Timothy Hatcher <timothy@apple.com>
15885
15886 Fixes a bug where the Inspector's UI would not animate or
15887 fully function because JavaScript timeouts, intervals and
15888 CSS animation timers where not firing while paused at a
15889 a breakpoint in the inspected page.
15890
15891 https://bugs.webkit.org/show_bug.cgi?id=20042
15892
15893 Reviewed by Darin Adler.
15894
15895 Test: manual-tests/inspector/forzen-ui-while-paused.html
15896
15897 * page/JavaScriptDebugServer.cpp:
15898 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
15899 Add a call to TimerBase::fireTimersInNestedEventLoop before
15900 spinning the EventLoop.
15901
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000159022008-08-24 Rob Buis <buis@kde.org>
15903
15904 Reviewed by Sam Weinig.
15905
15906 https://bugs.webkit.org/show_bug.cgi?id=20324
15907 A change in SVG Glyph wont show up
15908
15909 Invalidate the glyph cache when the d attribute is set.
15910
15911 Test: svg/custom/glyph-setting-d-attribute.svg
15912
15913 * svg/SVGGlyphElement.cpp:
15914 (WebCore::SVGGlyphElement::invalidateGlyphCache):
15915 (WebCore::SVGGlyphElement::parseMappedAttribute):
15916 (WebCore::SVGGlyphElement::insertedIntoDocument):
15917 (WebCore::SVGGlyphElement::removedFromDocument):
15918 * svg/SVGGlyphElement.h:
15919
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000159202008-08-24 Dan Bernstein <mitz@apple.com>
15921
15922 Reviewed by Sam Weinig.
15923
15924 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
15925 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
15926
15927 * rendering/RenderText.cpp:
15928 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
15929 beginWS and endWS before the early return to ensure that they are
15930 initialized in that case.
15931
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000159322008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
15933
15934 Rubber-stamped by Mark Rowe.
15935
15936 Remove modelines.
15937
15938 * WebCore.pro:
15939 * bridge/testbindings.cpp:
15940 * dom/DocPtr.h:
15941 * loader/SubstituteData.h:
15942 * page/Chrome.cpp:
15943 * page/Chrome.h:
15944 * page/ChromeClient.h:
15945 * page/Frame.h:
15946 * page/FrameLoadRequest.h:
15947 * page/FrameTree.cpp:
15948 * page/FrameTree.h:
15949 * page/Page.h:
15950 * page/mac/ChromeMac.mm:
15951 * platform/network/HTTPHeaderMap.h:
15952 * platform/network/ResourceErrorBase.cpp:
15953 * platform/network/ResourceErrorBase.h:
15954 * platform/network/ResourceHandleInternal.h:
15955 * platform/network/ResourceRequestBase.cpp:
15956 * platform/network/ResourceRequestBase.h:
15957 * platform/network/ResourceResponseBase.cpp:
15958 * platform/network/ResourceResponseBase.h:
15959 * platform/network/cf/ResourceError.h:
15960 * platform/network/cf/ResourceRequest.h:
15961 * platform/network/cf/ResourceRequestCFNet.h:
15962 * platform/network/cf/ResourceResponse.h:
15963 * platform/network/cf/ResourceResponseCFNet.h:
15964 * platform/network/curl/ResourceError.h:
15965 * platform/network/curl/ResourceRequest.h:
15966 * platform/network/curl/ResourceResponse.h:
15967 * platform/network/mac/ResourceError.h:
15968 * platform/network/mac/ResourceErrorMac.mm:
15969 * platform/network/mac/ResourceRequest.h:
15970 * platform/network/mac/ResourceRequestMac.mm:
15971 * platform/network/mac/ResourceResponse.h:
15972 * platform/network/mac/ResourceResponseMac.mm:
15973 * platform/network/qt/ResourceError.h:
15974 * platform/network/qt/ResourceRequest.h:
15975 * platform/network/qt/ResourceResponse.h:
15976 * platform/network/soup/CookieJarSoup.cpp:
15977 * platform/network/soup/ResourceError.h:
15978 * platform/network/soup/ResourceRequest.h:
15979 * platform/network/soup/ResourceResponse.h:
15980
mitz@apple.com57a2f482008-08-23 07:16:41 +0000159812008-08-23 Dan Bernstein <mitz@apple.com>
15982
15983 Reviewed by Dave Hyatt.
15984
15985 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
15986
15987 Test: fast/table/vertical-align-baseline.html
15988
15989 * rendering/RenderTable.cpp:
15990 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
15991 baseline of the first table row, if there is one, -1 otherwise.
15992 * rendering/RenderTable.h:
15993 * rendering/RenderTableCell.cpp:
15994 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
15995 CSS2.1 definition of the baseline of a table cell.
15996 * rendering/RenderTableSection.cpp:
15997 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
15998 the baseline of the first row in the section.
15999 * rendering/RenderTableSection.h:
16000
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000160012008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
16002
16003 Add SPI to make a Windows WebView transparent.
16004
16005 Reviewed by Dan Bernstein.
16006
16007 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
16008 determines whether the created context has an alpha channel.
16009 * platform/graphics/win/GraphicsContextCGWin.cpp:
16010 (WebCore::CGContextWithHDC):
16011
timothy@apple.comb63d1172008-08-22 18:39:42 +0000160122008-08-22 Timothy Hatcher <timothy@apple.com>
16013
timothy@apple.com964022d2008-08-22 20:35:20 +000016014 Rolls out r35834 because it caused a regression in the Inspector's
16015 Console where some expressions always threw a syntax error.
16016
16017 https://bugs.webkit.org/show_bug.cgi?id=20487
16018
16019 * page/inspector/Console.js:
16020 (Console.prototype._evalInInspectedWindow): Removes parenthesis
16021 around the expression.
16022
160232008-08-22 Timothy Hatcher <timothy@apple.com>
16024
timothy@apple.com056d4782008-08-22 18:39:52 +000016025 Makes getStyleProperty return a value for the overflow property
16026 when overflow-x and overflow-y are equal.
16027
16028 https://bugs.webkit.org/show_bug.cgi?id=20485
16029
16030 Reviewed by Dan Bernstein.
16031
16032 Test: fast/css/overflow-property.html
16033
16034 * css/CSSMutableStyleDeclaration.cpp:
16035 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
16036
160372008-08-22 Timothy Hatcher <timothy@apple.com>
16038
timothy@apple.comb63d1172008-08-22 18:39:42 +000016039 Fixes a bug where while editing in the Inspector the
16040 sidebar scroll position would jump to the top.
16041
16042 https://bugs.webkit.org/show_bug.cgi?id=20484
16043
16044 Reviewed by Darin Adler.
16045
16046 * page/inspector/treeoutline.js:
16047 (TreeOutline._removeChildren): Remove the offsetTop call that
16048 was forcing a layout, since layout causes scroll positions
16049 to be clamped to the new scrollHeight/Width. Layout will happen
16050 normally when needed.
16051
kevino@webkit.org8271c842008-08-22 16:25:52 +0000160522008-08-22 Kevin Ollivier <kevino@theolliviers.com>
16053
16054 wx build fix. Add AccessibilityTable sources.
16055
16056 * WebCoreSources.bkl:
16057
mitz@apple.com9befc872008-08-22 06:29:33 +0000160582008-08-21 Dan Bernstein <mitz@apple.com>
16059
16060 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
16061
16062 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
16063
16064 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
16065
16066 * platform/graphics/mac/SimpleFontDataMac.mm:
16067 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
16068 ascent and 100% to its reported descent.
16069
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000160702008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
16071
16072 Reviewed by Darin Adler.
16073
mrowe@apple.com22eaa172008-08-22 02:10:15 +000016074 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000016075 [GTK] Crash on some pages due to a plugin
16076
16077 Fix handling of badly formatted and empty plugin mime descriptions
16078
16079 * plugins/gtk/PluginPackageGtk.cpp:
16080 (WebCore::PluginPackage::fetchInfo):
16081
mrowe@apple.com798b3432008-08-22 02:07:48 +0000160822008-08-21 Kevin Watters <kevinwatters@gmail.com>
16083
16084 Reviewed by Darin Adler.
16085
16086 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
16087 animated GIF frame duration of less than 50ms.
16088
16089 * platform/graphics/wx/ImageSourceWx.cpp:
16090 (WebCore::ImageSource::frameDurationAtIndex):
16091
britto@apple.com8ed72772008-08-22 00:39:39 +0000160922008-08-21 Maxime Britto <britto@apple.com>
16093
16094 Reviewed by Kevin McCullough.
16095
16096 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
16097 https://bugs.webkit.org/show_bug.cgi?id=20451
16098
16099 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
16100 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
16101 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
16102
16103 * page/EventHandler.cpp:
16104 (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.
16105
16106 (WebCore::EventHandler::handleMousePressEvent): ditto
16107
timothy@apple.com5d492192008-08-21 23:54:01 +0000161082008-08-21 Anthony Ricaud <rik24d@gmail.com>
16109
16110 Small optimization for when the dividers in the Inspector's
16111 Resources panel are updated.
16112
16113 Reviewed by Tim Hatcher.
16114
16115 * page/inspector/ResourcesPanel.js:
16116 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
16117 Combind a for loop and clone the divider element.
16118
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000161192008-08-21 Chris Marrin <cmarrin@apple.com>
16120
16121 Allow 0 (without units) for Time eg. duration
16122 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
16123
16124 Reviewed by Dave Hyatt.
16125
16126 Test: css1/units/zero-duration-without-units.html
16127
16128 * css/CSSParser.cpp:
16129 (WebCore::CSSParser::validUnit):
16130
timothy@apple.com29c12d02008-08-21 20:12:47 +0000161312008-08-21 Timothy Hatcher <timothy@apple.com>
16132
timothy@apple.comca11cd82008-08-21 20:13:12 +000016133 Make deleting all text while editing a DOM attribute in
16134 the Inspector delete the attribute. This also fixes
16135 an exception that would happen before.
16136
16137 https://bugs.webkit.org/show_bug.cgi?id=20472
16138
16139 Reviewed by Kevin McCullough.
16140
16141 * page/inspector/ElementsPanel.js:
16142 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
16143 Don't check for hasAttributes on the parseElement, continuing
16144 through the function will correctly remove the attribute.
16145 If the parseElement is null, call _editingCancelled not
16146 editingCancelled, this fixes an exception.
16147
161482008-08-21 Timothy Hatcher <timothy@apple.com>
16149
timothy@apple.comde831cf2008-08-21 20:12:59 +000016150 Update the Inspector's Metrics pane when editing in
16151 the Styles pane. This makes sure the metrics shown
16152 always match what the Styles pane shows.
16153
16154 https://bugs.webkit.org/show_bug.cgi?id=20470
16155
16156 Reviewed by Kevin McCullough.
16157
16158 * page/inspector/ElementsPanel.js:
16159 (WebInspector.ElementsPanel): Add event listeners for
16160 the "style edited" and "style property toggled" events,
16161 so the Metrics pane is updated.
16162 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
16163 Update the Metrics pane.
16164 * page/inspector/StylesSidebarPane.js:
16165 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
16166 Dispatch the "style property toggled" event.
16167 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
16168 Dispatch the "style edited" event when the CSS text is restored.
16169 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
16170 Dispatch the "style edited" event.
16171
161722008-08-21 Timothy Hatcher <timothy@apple.com>
16173
timothy@apple.com29c12d02008-08-21 20:12:47 +000016174 Make the Inspector's Metrics sidebar pane editable.
16175
16176 https://bugs.webkit.org/show_bug.cgi?id=17218
16177 rdar://problem/5732818
16178
16179 Reviewed by Kevin McCullough.
16180
16181 * page/inspector/ElementsPanel.js:
16182 (WebInspector.ElementsPanel): Add an event listener for
16183 the "metrics edited" event, so the Styles pane is updated.
16184 * page/inspector/MetricsSidebarPane.js:
16185 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
16186 so future updates work. Add a double click event listener for the
16187 metric values to start editing.
16188 (WebInspector.MetricsSidebarPane.prototype.startEditing):
16189 Call WebInspector.startEditing with some context.
16190 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
16191 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
16192 Set the user input on the elements inline style. Fire the
16193 "metrics edited" event.
16194
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000161952008-08-21 Steve Falkenburg <sfalken@apple.com>
16196
16197 Fix a race condition in Windows timer code.
16198 Timer function could end up being called with a 0 timer, leading to a Windows exception.
16199
16200 Don't post a timer message if one is already pending.
16201
16202 Reviewed by Ada Chan.
16203
16204 * platform/win/SharedTimerWin.cpp:
16205 (WebCore::TimerWindowWndProc):
16206 (WebCore::clearTimer):
16207 (WebCore::queueTimerProc):
16208 (WebCore::setSharedTimerFireTime):
16209
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000162102008-08-21 Anthony Ricaud <rik24d@gmail.com>
16211
timothy@apple.com493212c72008-08-21 16:36:06 +000016212 After trying to add the expression, try again with quotes for
16213 easier edition.
16214
16215 https://bugs.webkit.org/show_bug.cgi?id=20466
16216
16217 Reviewed by Tim Hatcher.
16218
16219 * page/inspector/ObjectPropertiesSection.js: Added an
16220 evaluateExpression function.
16221
162222008-08-21 Anthony Ricaud <rik24d@gmail.com>
16223
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000016224 Perform Inspector searches on search event to clear results when
16225 clicking the cross to empty it. Delete the lastQuery when the field
16226 is emptied in order to perform the search if exactly the same query
16227 is entered next.
16228
16229 https://bugs.webkit.org/show_bug.cgi?id=20462
16230
16231 Reviewed by Tim Hatcher.
16232
16233 * page/inspector/inspector.js:
16234
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000162352008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
16236
16237 Reviewed by Mark Rowe.
16238
16239 http://bugs.webkit.org/show_bug.cgi?id=19656
16240 [SOUP] The gio code should call didFail() instead of
16241 didFinishLoading() in case of error
16242
16243 In case of error call didFail() instead of didReceiveResponse() and
16244 didFinishLoading().
16245
16246 * platform/network/soup/ResourceHandleSoup.cpp:
16247 (WebCore::networkErrorForFile):
16248 (WebCore::readCallback):
16249 (WebCore::openCallback):
16250 (WebCore::queryInfoCallback):
16251
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000162522008-08-20 Mark Rowe <mrowe@apple.com>
16253
mrowe@apple.com4e593f42008-08-21 06:52:42 +000016254 Reviewed by Jon Honeycutt.
16255
16256 Fix build failure.
16257
16258 * bridge/c/c_instance.cpp:
16259 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
16260 as that is what NPEnumerationFunctionPtr is declared as accepting.
16261
162622008-08-20 Mark Rowe <mrowe@apple.com>
16263
mrowe@apple.com72a95b12008-08-21 04:01:51 +000016264 Reviewed by Dan Bernstein.
16265
16266 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
16267
16268 * platform/graphics/GraphicsContext.h:
16269 (WebCore::):
16270 * platform/graphics/cg/GraphicsContextCG.cpp:
16271 (WebCore::GraphicsContext::setImageInterpolationQuality):
16272 (WebCore::GraphicsContext::imageInterpolationQuality):
16273
mitz@apple.comaa938792008-08-21 00:33:29 +0000162742008-08-20 Dan Bernstein <mitz@apple.com>
16275
16276 Rubber-stamped by John Sullivan.
16277
16278 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
16279 rename related methods and variables accordingly.
16280
16281 * WebCore.base.exp:
16282 * page/FrameView.cpp:
16283 (WebCore::FrameViewPrivate::FrameViewPrivate):
16284 (WebCore::FrameView::shouldUpdateWhileOffscreen):
16285 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
16286 * page/FrameView.h:
16287 * platform/ScrollView.h:
16288 * platform/mac/ScrollViewMac.mm:
16289 (WebCore::ScrollView::updateContents):
16290
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000162912008-08-20 Brady Eidson <beidson@apple.com>
16292
16293 Reviewed by Mitzpettel
16294
16295 <rdar://problem/6163636> - Many images broken in Mail
16296
16297 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
16298 sooner than before and confuse the WebArchive machinery.
16299
16300 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
16301 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
16302 machinery and nothing is known about where the data will eventually come from.
16303
16304 * loader/DocumentLoader.cpp:
16305 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
16306 CachedResource::PreloadReferenced.
16307
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000163082008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
16309
16310 Unreviewed compile fix
16311
16312 Catch up with the JSValue::type elimination.
16313
16314 * bridge/qt/qt_instance.cpp:
16315 (KJS::Bindings::QtRuntimeObjectImp::construct):
16316 (KJS::Bindings::QtInstance::defaultValue):
16317 * bridge/qt/qt_runtime.cpp:
16318 (KJS::Bindings::QtRuntimeConnectionMethod::call):
16319
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000163202008-08-20 Chris Teague <chris.teague@gmail.com>
16321
16322 Reviewed by Mark Rowe.
16323
16324 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
16325 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
16326
16327 * ChangeLog:
16328 * loader/FrameLoader.cpp:
16329 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
16330
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000163312008-08-20 Simon Fraser <simon.fraser@apple.com>
16332
16333 Reviewed by Dave Hyatt
16334
16335 getComputedStyle() for webkitTransform should return a transform
16336 that does not have the transform origin baked into it.
16337 https://bugs.webkit.org/show_bug.cgi?id=20464
16338
16339 Test: fast/css/getComputedStyle-transform.html
16340
16341 * css/CSSComputedStyleDeclaration.cpp:
16342 (WebCore::computedTransform):
16343 * rendering/style/RenderStyle.cpp:
16344 (WebCore::RenderStyle::applyTransform):
16345 * rendering/style/RenderStyle.h:
16346
andersca@apple.com021ce772008-08-20 21:04:12 +0000163472008-08-20 Josh Aas <joshmoz@gmail.com>
16348
16349 Reviewed and landed by Anders.
16350
16351 <rdar://problem/6163636>
16352 rename NPCocoaEvent's "event" struct to "data" (20446)
16353
16354 * bridge/npapi.h:
16355 (_NPCocoaEvent::):
16356
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000163572008-08-20 Beth Dakin <bdakin@apple.com>
16358
darin@apple.com07c80c62008-09-05 18:15:43 +000016359 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000016360
16361 Fix for <rdar://problem/6145626>
16362 This patch fixes a number of remaining problems getting
16363 disconnected frames to work correctly with markAllMatchesForText()
16364 and findString(). Details inline.
16365
16366 This was a static helper function in Frame, but this patch requires
16367 the same functionality in Editor, so I just added it as a function
16368 on Node.
16369 * dom/Node.cpp:
16370 (WebCore::Node::isInShadowTree):
16371 * dom/Node.h:
16372
16373 * editing/Editor.cpp:
16374 (WebCore::Editor::insideVisibleArea): Returns false if
16375 excludeFromTextSearch() is true.
16376
16377 In a normal (non-disconnected) frame, findString returns a range of
16378 the document node if the text is not found in the frame. I changed
16379 firstVisibleRange and lastVisibleRange to match that behavior when
16380 the text is not found
16381 (WebCore::Editor::firstVisibleRange):
16382 (WebCore::Editor::lastVisibleRange):
16383
16384 Here are the bulk of the changes in the patch. A lot of text was
16385 not being found in disconnected frames because I failed to account
16386 for all of the possible problems associated with shadow trees. That
16387 is fixed here.
16388 (WebCore::Editor::nextVisibleRange):
16389 * editing/Editor.h:
16390
16391 excludeFromTextSearch() is new. It allows a WebKit client to mark a
16392 frame as not-text-searchable through SPI.
16393 * WebCore.base.exp:
16394 * page/Frame.cpp:
16395 (WebCore::Frame::excludeFromTextSearch):
16396 (WebCore::Frame::setExcludeFromTextSearch):
16397 (WebCore::FramePrivate::FramePrivate):
16398 * page/Frame.h:
16399 * page/FramePrivate.h:
16400
16401 (WebCore::Frame::findString):
16402 (WebCore::Frame::markAllMatchesForText): I kept running into an
16403 assertion failure in paining code because of the forced paint on
16404 empty visible rects.
16405
timothy@apple.com301befc2008-08-20 19:10:54 +0000164062008-08-20 Timothy Hatcher <timothy@apple.com>
16407
16408 Adds a positon box to the Inspector's Metrics sidebar
16409 pane. When an element is not statically positioned, there
16410 is now a position box that show top, right, bottom and
16411 left computed values.
16412
16413 Reviewed by Kevin McCullough.
16414
16415 * English.lproj/localizedStrings.js: Updated the strings.
16416 * page/inspector/MetricsSidebarPane.js:
16417 (WebInspector.MetricsSidebarPane.prototype.update):
16418 Renamed the boxPartValue function to createBoxPartElement
16419 and made it create the entire element. Made it understand
16420 how to get position style properties. Don't use the figure dash
16421 when 0px is used for positions, since the 0 is meaningful there.
16422 Instead use the figure dash when a position is auto.
16423 * page/inspector/inspector.css: Added a new rule for position.
16424
mrowe@apple.com37686d42008-09-04 00:10:39 +0000164252008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000016426
16427 Reviewed by Beth Dakin
16428
16429 Qt build fix
16430
16431 * WebCore.pro:
16432
mitz@apple.comedaa9042008-08-20 18:28:07 +0000164332008-08-20 Dan Bernstein <mitz@apple.com>
16434
16435 Reviewed by Anders Carlsson.
16436
16437 - avoid using a deprecated NSScroller method on Leopard
16438
16439 * platform/mac/PlatformScrollBarMac.mm:
16440 (WebCore::PlatformScrollbar::updateThumbPosition):
16441 (WebCore::PlatformScrollbar::updateThumbProportion):
16442
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000164432008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
16444
16445 Reviewed by Oliver Hunt.
16446
16447 Gtk build fix
16448
16449 * GNUmakefile.am:
16450 * page/AccessibilityTable.cpp: Change nil to 0
16451 (WebCore::AccessibilityTable::cellForColumnAndRow):
16452
ap@webkit.org01aff702008-08-20 07:23:06 +0000164532008-08-19 Alexey Proskuryakov <ap@webkit.org>
16454
16455 Reviewed by Geoff Garen.
16456
16457 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
16458
16459 * ForwardingHeaders/kjs/JSLock.h: Added.
16460 * WebCore.vcproj/WebCore.vcproj:
16461 * bindings/js/GCController.cpp:
16462 (WebCore::collect):
16463 (WebCore::GCController::gcTimerFired):
16464 (WebCore::GCController::garbageCollectNow):
16465 * bindings/js/JSCustomSQLStatementCallback.cpp:
16466 (WebCore::JSCustomSQLStatementCallback::handleEvent):
16467 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
16468 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
16469 * bindings/js/JSCustomSQLTransactionCallback.cpp:
16470 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
16471 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
16472 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
16473 * bindings/js/JSCustomVoidCallback.cpp:
16474 (WebCore::JSCustomVoidCallback::handleEvent):
16475 * bindings/js/JSCustomXPathNSResolver.cpp:
16476 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
16477 * bindings/js/JSDOMWindowBase.cpp:
16478 (WebCore::DOMWindowTimer::~DOMWindowTimer):
16479 (WebCore::JSDOMWindowBase::clear):
16480 (WebCore::JSDOMWindowBase::timerFired):
16481 * bindings/js/JSEventCustom.cpp:
16482 (WebCore::toJS):
16483 * bindings/js/JSEventListener.cpp:
16484 (WebCore::JSAbstractEventListener::handleEvent):
16485 * bindings/js/JSNSResolver.cpp:
16486 (WebCore::JSNSResolver::lookupNamespaceURI):
16487 * bindings/js/JSNodeFilterCondition.cpp:
16488 (WebCore::JSNodeFilterCondition::acceptNode):
16489 * bindings/js/ScheduledAction.cpp:
16490 (WebCore::ScheduledAction::execute):
16491 * bindings/js/ScriptController.cpp:
16492 (WebCore::ScriptController::evaluate):
16493 (WebCore::ScriptController::clearWindowShell):
16494 (WebCore::ScriptController::createHTMLEventHandler):
16495 (WebCore::ScriptController::createSVGEventHandler):
16496 (WebCore::ScriptController::initScript):
16497 (WebCore::ScriptController::updateDocument):
16498 (WebCore::ScriptController::bindingRootObject):
16499 (WebCore::ScriptController::windowScriptNPObject):
16500 (WebCore::ScriptController::createScriptObjectForPluginElement):
16501 (WebCore::ScriptController::clearScriptObjects):
16502 * bindings/js/ScriptControllerMac.mm:
16503 (WebCore::ScriptController::windowScriptObject):
16504 * bindings/objc/WebScriptObject.mm:
16505 (_didExecute):
16506 (-[WebScriptObject callWebScriptMethod:withArguments:]):
16507 (-[WebScriptObject evaluateWebScript:]):
16508 (-[WebScriptObject setValue:forKey:]):
16509 (-[WebScriptObject valueForKey:]):
16510 (-[WebScriptObject removeWebScriptKey:]):
16511 (-[WebScriptObject stringRepresentation]):
16512 (-[WebScriptObject webScriptValueAtIndex:]):
16513 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
16514 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
16515 * bridge/NP_jsobject.cpp:
16516 (_NPN_InvokeDefault):
16517 (_NPN_Invoke):
16518 (_NPN_Evaluate):
16519 (_NPN_GetProperty):
16520 (_NPN_SetProperty):
16521 (_NPN_RemoveProperty):
16522 (_NPN_HasProperty):
16523 (_NPN_HasMethod):
16524 (_NPN_Enumerate):
16525 * bridge/c/c_class.cpp:
16526 (KJS::Bindings::CClass::~CClass):
16527 (KJS::Bindings::CClass::methodsNamed):
16528 (KJS::Bindings::CClass::fieldNamed):
16529 * bridge/c/c_instance.cpp:
16530 (KJS::Bindings::CInstance::invokeMethod):
16531 (KJS::Bindings::CInstance::invokeDefaultMethod):
16532 (KJS::Bindings::CInstance::getPropertyNames):
16533 * bridge/c/c_runtime.cpp:
16534 (KJS::Bindings::CField::valueFromInstance):
16535 (KJS::Bindings::CField::setValueToInstance):
16536 * bridge/c/c_utility.cpp:
16537 (KJS::Bindings::convertValueToNPVariant):
16538 (KJS::Bindings::convertNPVariantToValue):
16539 * bridge/jni/jni_class.cpp:
16540 (JavaClass::JavaClass):
16541 (JavaClass::~JavaClass):
16542 * bridge/jni/jni_instance.cpp:
16543 (JavaInstance::stringValue):
16544 * bridge/jni/jni_jsobject.mm:
16545 (JavaJSObject::call):
16546 (JavaJSObject::eval):
16547 (JavaJSObject::getMember):
16548 (JavaJSObject::setMember):
16549 (JavaJSObject::removeMember):
16550 (JavaJSObject::getSlot):
16551 (JavaJSObject::setSlot):
16552 (JavaJSObject::toString):
16553 (JavaJSObject::convertValueToJObject):
16554 (JavaJSObject::convertJObjectToValue):
16555 * bridge/jni/jni_objc.mm:
16556 (KJS::Bindings::dispatchJNICall):
16557 * bridge/jni/jni_runtime.cpp:
16558 (appendClassName):
16559 (JavaMethod::signature):
16560 * bridge/jni/jni_runtime.h:
16561 (KJS::Bindings::JavaString::JavaString):
16562 (KJS::Bindings::JavaString::_commonInit):
16563 (KJS::Bindings::JavaString::~JavaString):
16564 (KJS::Bindings::JavaString::UTF8String):
16565 * bridge/jni/jni_utility.cpp:
16566 (KJS::Bindings::convertValueToJValue):
16567 * bridge/npruntime.cpp:
16568 (_NPN_GetStringIdentifier):
16569 * bridge/objc/objc_instance.mm:
16570 (ObjcInstance::moveGlobalExceptionToExecState):
16571 (ObjcInstance::invokeMethod):
16572 (ObjcInstance::invokeDefaultMethod):
16573 (ObjcInstance::setValueOfUndefinedField):
16574 (ObjcInstance::getValueOfUndefinedField):
16575 * bridge/objc/objc_runtime.mm:
16576 (ObjcField::valueFromInstance):
16577 (ObjcField::setValueToInstance):
16578 * bridge/objc/objc_utility.mm:
16579 (KJS::Bindings::convertValueToObjcValue):
16580 (KJS::Bindings::convertNSStringToString):
16581 (KJS::Bindings::convertObjcValueToValue):
16582 * bridge/qt/qt_instance.cpp:
16583 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
16584 (KJS::Bindings::QtInstance::~QtInstance):
16585 (KJS::Bindings::QtInstance::getQtInstance):
16586 (KJS::Bindings::QtInstance::getRuntimeObject):
16587 * bridge/qt/qt_runtime.cpp:
16588 (KJS::Bindings::convertValueToQVariant):
16589 (KJS::Bindings::convertQVariantToValue):
16590 (KJS::Bindings::QtRuntimeMetaMethod::call):
16591 (KJS::Bindings::QtRuntimeConnectionMethod::call):
16592 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
16593 (KJS::Bindings::QtConnectionObject::execute):
16594 * bridge/runtime.cpp:
16595 (KJS::Bindings::Instance::createRuntimeObject):
16596 * bridge/testbindings.cpp:
16597 (main):
16598 * bridge/testbindings.mm:
16599 (main):
16600 * bridge/testqtbindings.cpp:
16601 (main):
16602 * dom/Document.cpp:
16603 (WebCore::Document::~Document):
16604 * dom/Node.cpp:
16605 (WebCore::Node::setDocument):
16606 * history/CachedPage.cpp:
16607 (WebCore::CachedPage::CachedPage):
16608 (WebCore::CachedPage::restore):
16609 (WebCore::CachedPage::clear):
16610 * loader/FrameLoader.cpp:
16611 (WebCore::getString):
16612 * page/InspectorController.cpp:
16613 (WebCore::ConsoleMessage::ConsoleMessage):
16614 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
16615 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
16616 (WebCore::getResourceDocumentNode):
16617 (WebCore::search):
16618 (WebCore::inspectedWindow):
16619 (WebCore::wrapCallback):
16620 (WebCore::currentCallFrame):
16621 (WebCore::profiles):
16622 (WebCore::InspectorController::focusNode):
16623 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
16624 (WebCore::InspectorController::addDatabaseScriptResource):
16625 (WebCore::InspectorController::addScriptProfile):
16626 * page/JavaScriptCallFrame.cpp:
16627 (WebCore::JavaScriptCallFrame::evaluate):
16628 * page/JavaScriptProfileNode.cpp:
16629 (WebCore::getTotalTime):
16630 (WebCore::getSelfTime):
16631 (WebCore::getTotalPercent):
16632 (WebCore::getSelfPercent):
16633 (WebCore::getNumberOfCalls):
16634 (WebCore::getChildren):
16635 (WebCore::getVisible):
16636 * page/Page.cpp:
16637 * page/mac/FrameMac.mm:
16638 * plugins/PluginView.cpp:
16639 (WebCore::PluginView::start):
16640 (WebCore::getString):
16641 (WebCore::PluginView::performRequest):
16642 (WebCore::PluginView::bindingInstance):
16643 * plugins/gtk/PluginViewGtk.cpp:
16644 (WebCore::PluginView::paint):
16645 (WebCore::PluginView::handleKeyboardEvent):
16646 (WebCore::PluginView::handleMouseEvent):
16647 (WebCore::PluginView::setNPWindowRect):
16648 (WebCore::PluginView::stop):
16649 (WebCore::PluginView::init):
16650 * plugins/qt/PluginViewQt.cpp:
16651 (WebCore::PluginView::setNPWindowRect):
16652 (WebCore::PluginView::stop):
16653 (WebCore::PluginView::init):
16654 * plugins/win/PluginViewWin.cpp:
16655 (WebCore::PluginView::dispatchNPEvent):
16656 (WebCore::PluginView::handleKeyboardEvent):
16657 (WebCore::PluginView::handleMouseEvent):
16658 (WebCore::PluginView::setNPWindowRect):
16659 (WebCore::PluginView::stop):
16660 * xml/XMLHttpRequest.cpp:
16661 (WebCore::XMLHttpRequest::clearResponse):
16662 (WebCore::XMLHttpRequest::didFinishLoading):
16663 (WebCore::XMLHttpRequest::didReceiveData):
16664
eric@webkit.orgbac93762008-08-19 23:33:07 +0000166652008-08-19 Eric Seidel <eric@webkit.org>
16666
16667 Reviewed by Geoff Garen.
16668
16669 Add the beginnings of Skia graphics support to WebCore
16670 as I try to begin the long process of un-forking the changes
16671 needed to WebCore to make Andriod's WebCore build.
16672
16673 I'll follow this up with actual *Skia.cpp files in a separate patch.
16674
16675 * platform/graphics/AffineTransform.h:
16676 * platform/graphics/FloatPoint.h:
16677 * platform/graphics/FloatRect.h:
16678 * platform/graphics/Gradient.h:
16679 * platform/graphics/GraphicsContext.h:
16680 * platform/graphics/Image.h:
16681 * platform/graphics/ImageBuffer.h:
16682 * platform/graphics/ImageSource.h:
16683 * platform/graphics/IntPoint.h:
16684 * platform/graphics/IntRect.h:
16685 * platform/graphics/Path.h:
16686 * platform/graphics/Pattern.h:
16687 * svg/graphics/SVGPaintServerPattern.h:
16688 * svg/graphics/SVGPaintServerSolid.h:
16689
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000166902008-08-19 Steve Falkenburg <sfalken@apple.com>
16691
sfalken@apple.com45d22802008-08-19 22:46:31 +000016692 Fix Windows build more.
16693
16694 * WebCore.vcproj/WebCore.vcproj:
16695
166962008-08-19 Steve Falkenburg <sfalken@apple.com>
16697
sfalken@apple.com3f69b332008-08-19 22:34:37 +000016698 Fix Windows build.
16699
16700 * page/AccessibilityRenderObject.cpp:
16701 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
16702
mrowe@apple.com37686d42008-09-04 00:10:39 +0000167032008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000016704
16705 Reviewed by Beth Dakin.
16706
16707 <rdar://problem/4003764> Expose tables as AXTables
16708
16709 Tests: accessibility/table-attributes.html
16710 accessibility/table-cell-spans.html
16711 accessibility/table-cells.html
16712 accessibility/table-detection.html
16713 accessibility/table-sections.html
16714 accessibility/table-with-rules.html
16715
16716 * WebCore.xcodeproj/project.pbxproj:
16717 * page/AXObjectCache.cpp:
16718 (WebCore::AXObjectCache::get):
16719 * page/AccessibilityObject.h:
16720 (WebCore::):
16721 (WebCore::AccessibilityObject::isDataTable):
16722 (WebCore::AccessibilityObject::isTableRow):
16723 (WebCore::AccessibilityObject::isTableColumn):
16724 (WebCore::AccessibilityObject::isTableCell):
16725 * page/AccessibilityRenderObject.cpp:
16726 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
16727 * page/AccessibilityTable.cpp: Added.
16728 (WebCore::AccessibilityTable::AccessibilityTable):
16729 (WebCore::AccessibilityTable::~AccessibilityTable):
16730 (WebCore::AccessibilityTable::create):
16731 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
16732 (WebCore::AccessibilityTable::clearChildren):
16733 (WebCore::AccessibilityTable::addChildren):
16734 (WebCore::AccessibilityTable::headerContainer):
16735 (WebCore::AccessibilityTable::columns):
16736 (WebCore::AccessibilityTable::rows):
16737 (WebCore::AccessibilityTable::rowHeaders):
16738 (WebCore::AccessibilityTable::columnHeaders):
16739 (WebCore::AccessibilityTable::cells):
16740 (WebCore::AccessibilityTable::columnCount):
16741 (WebCore::AccessibilityTable::rowCount):
16742 (WebCore::AccessibilityTable::cellForColumnAndRow):
16743 (WebCore::AccessibilityTable::roleValue):
16744 (WebCore::AccessibilityTable::accessibilityIsIgnored):
16745 (WebCore::AccessibilityTable::title):
16746 (WebCore::AccessibilityTable::isDataTable):
16747 * page/AccessibilityTable.h: Added.
16748 * page/AccessibilityTableCell.cpp: Added.
16749 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
16750 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
16751 (WebCore::AccessibilityTableCell::create):
16752 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
16753 (WebCore::AccessibilityTableCell::rowIndexRange):
16754 (WebCore::AccessibilityTableCell::columnIndexRange):
16755 * page/AccessibilityTableCell.h: Added.
16756 (WebCore::AccessibilityTableCell::isTableCell):
16757 (WebCore::AccessibilityTableCell::roleValue):
16758 * page/AccessibilityTableColumn.cpp: Added.
16759 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
16760 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
16761 (WebCore::AccessibilityTableColumn::create):
16762 (WebCore::AccessibilityTableColumn::setParentTable):
16763 (WebCore::AccessibilityTableColumn::elementRect):
16764 (WebCore::AccessibilityTableColumn::size):
16765 (WebCore::AccessibilityTableColumn::children):
16766 (WebCore::AccessibilityTableColumn::headerObject):
16767 (WebCore::AccessibilityTableColumn::headerObjectForSection):
16768 (WebCore::AccessibilityTableColumn::addChildren):
16769 * page/AccessibilityTableColumn.h: Added.
16770 (WebCore::AccessibilityTableColumn::parentObject):
16771 (WebCore::AccessibilityTableColumn::roleValue):
16772 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
16773 (WebCore::AccessibilityTableColumn::isTableColumn):
16774 (WebCore::AccessibilityTableColumn::setColumnIndex):
16775 (WebCore::AccessibilityTableColumn::columnIndex):
16776 * page/AccessibilityTableHeaderContainer.cpp: Added.
16777 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
16778 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
16779 (WebCore::AccessibilityTableHeaderContainer::create):
16780 (WebCore::AccessibilityTableHeaderContainer::children):
16781 (WebCore::AccessibilityTableHeaderContainer::elementRect):
16782 (WebCore::AccessibilityTableHeaderContainer::size):
16783 (WebCore::AccessibilityTableHeaderContainer::addChildren):
16784 * page/AccessibilityTableHeaderContainer.h: Added.
16785 (WebCore::AccessibilityTableHeaderContainer::roleValue):
16786 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
16787 (WebCore::AccessibilityTableHeaderContainer::parentObject):
16788 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
16789 * page/AccessibilityTableRow.cpp: Added.
16790 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
16791 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
16792 (WebCore::AccessibilityTableRow::create):
16793 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
16794 (WebCore::AccessibilityTableRow::headerObject):
16795 * page/AccessibilityTableRow.h: Added.
16796 (WebCore::AccessibilityTableRow::isTableRow):
16797 (WebCore::AccessibilityTableRow::roleValue):
16798 (WebCore::AccessibilityTableRow::setRowIndex):
16799 (WebCore::AccessibilityTableRow::rowIndex):
16800 * page/mac/AccessibilityObjectWrapper.mm:
16801 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
16802 (RoleEntry::):
16803 (-[AccessibilityObjectWrapper roleDescription]):
16804 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
16805 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
16806 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
16807
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000168082008-08-19 Steve Falkenburg <sfalken@apple.com>
16809
16810 Build fix.
16811 Add buildfailed support to stop builds early (preventing inaccurate error messages).
16812 Add missing post-build rule to Release.
16813
16814 * WebCore.vcproj/QTMovieWin.vcproj:
16815
timothy@apple.comda3aa632008-08-19 18:33:02 +0000168162008-08-19 Keishi Hattori <casey.hattori@gmail.com>
16817
timothy@apple.com7d08c322008-08-19 18:33:27 +000016818 Added support for console.count in the inspector.
16819
16820 Reviewed by Geoff Garen.
16821
16822 * page/Console.cpp:
16823 (WebCore::Console::count):
16824 * page/Console.h:
16825 * page/Console.idl: Added console.count.
16826 * page/InspectorController.cpp:
16827 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
16828 (WebCore::InspectorController::count): Updates the count number
16829 sing "title@source:line" as the identifier, and adds a
16830 message to the console.
16831 * page/InspectorController.h: Added m_counts.
16832
168332008-08-19 Keishi Hattori <casey.hattori@gmail.com>
16834
timothy@apple.comda3aa632008-08-19 18:33:02 +000016835 Clear console.time timers when changing page.
16836
16837 Reviewed by Geoff Garen.
16838
16839 * page/InspectorController.cpp:
16840 (WebCore::InspectorController::didCommitLoad):
16841
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000168422008-08-19 Eric Carlson <eric.carlson@apple.com>
16843
16844 Reviewed by Adele.
16845
16846 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
16847 https://bugs.webkit.org/show_bug.cgi?id=20404
16848
16849 Ignore setVisible() when visibility doesn't change.
16850
16851 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
16852 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
16853 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
16854 (WebCore::MediaPlayerPrivate::setVisible):
16855
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000168562008-08-19 Timothy Hatcher <timothy@apple.com>
16857
timothy@apple.come058a792008-08-19 17:01:12 +000016858 Fixes a bug in the Profile view where switching sort order, then
16859 switching from heavy to tree mode would show the tree in the
16860 previous sort order.
16861
16862 https://bugs.webkit.org/show_bug.cgi?id=20441
16863
16864 Reviewed by Kevin McCullough.
16865
16866 * page/inspector/ProfileView.js:
16867 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
16868 on the next profile before assigning it to this.profile.
16869 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
16870 (WebInspector.ProfileView.prototype._sortProfile): Moves from
16871 _sortData and takes a profile argument. If the profile passed in
16872 matches the this.profile, then call refresh.
16873
168742008-08-18 Timothy Hatcher <timothy@apple.com>
16875
timothy@apple.come525e402008-08-19 17:01:00 +000016876 Changed the default sort order now that heavy view is the default.
16877 Also fixes a bug where the heavy profile was not sorted at first.
16878
16879 https://bugs.webkit.org/show_bug.cgi?id=20440
16880
16881 Reviewed by Kevin McCullough.
16882
16883 * page/inspector/ProfileView.js:
16884 (WebInspector.ProfileView): Changed the default sort column. Also assign
16885 heavyProfile to profile, so the sortSelfTimeDescending call happens
16886 on the heavy profile before assigning to this.profile.
16887
168882008-08-18 Timothy Hatcher <timothy@apple.com>
16889
timothy@apple.comc9287f32008-08-19 17:00:36 +000016890 Add support for editing DOM properties and scope variables by double
16891 clicking a property to enter edit mode.
16892
16893 https://bugs.webkit.org/show_bug.cgi?id=20415
16894
16895 Reviewed by Kevin McCullough.
16896
16897 * page/inspector/ObjectPropertiesSection.js:
16898 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
16899 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
16900 Factored out code into update, and calls update.
16901 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
16902 Call removeChildren since this method can be called multiple times now.
16903 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
16904 gets made later in onattach.
16905 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
16906 if shouldRefreshChildren is true. Call removeChildren since this method can be
16907 called multiple times now.
16908 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
16909 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
16910 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
16911 this element (code moved from the constructor.)
16912 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
16913 sibling property elements.
16914 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
16915 WebInspector.startEditing after rememebring some context.
16916 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
16917 for the list element, since it might have scrolled during editing.
16918 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
16919 then restore the state from the context. Then call update to restore the title.
16920 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
16921 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
16922 to commit the user input.
16923 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
16924 and stores the result on the object for the property name of this element. If the expression is
16925 empty, delete the property and remove the tree element.
16926 * page/inspector/ScopeChainSidebarPane.js:
16927 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
16928 property on each ObjectPropertiesSection.
16929 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
16930 since it is now implemented.
16931 * page/inspector/ScriptsPanel.js:
16932 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
16933 that defaults to true if omitted. It specifies whether to call update on the scope chain.
16934 * page/inspector/inspector.css: New styles.
16935 * page/inspector/treeoutline.js:
16936 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
16937 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
16938
169392008-08-18 Timothy Hatcher <timothy@apple.com>
16940
timothy@apple.com9d9821a2008-08-19 17:00:26 +000016941 Surround the expression to be evaluated in parenthesis so the
16942 result of the eval is the result of the whole expression not
16943 the last potential sub-expression. So evaluating {x: 123}
16944 will show the Object not 123.
16945
16946 https://bugs.webkit.org/show_bug.cgi?id=20428
16947
16948 Reviewed by Kevin McCullough.
16949
16950 * page/inspector/Console.js:
16951 (Console.prototype._evalInInspectedWindow): Add parenthesis
16952 around the expression. And add couple comments.
16953
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000169542008-08-19 Kevin McCullough <kmccullough@apple.com>
16955
16956 Reviewed by Geoff.
16957
16958 -Implement a page() function to extract a common code pattern.
16959
16960 * WebCore.xcodeproj/project.pbxproj:
16961 * page/Console.cpp:
16962 (WebCore::Console::addMessage):
16963 (WebCore::Console::error):
16964 (WebCore::Console::info):
16965 (WebCore::Console::log):
16966 (WebCore::Console::dir):
16967 (WebCore::Console::assertCondition):
16968 (WebCore::Console::time):
16969 (WebCore::Console::timeEnd):
16970 (WebCore::Console::group):
16971 (WebCore::Console::groupEnd):
16972 (WebCore::Console::finishedProfiling):
16973 (WebCore::Console::warn):
16974 (WebCore::Console::framePage):
16975 * page/Console.h:
16976
darin@apple.com349e1eb2008-08-19 04:39:04 +0000169772008-08-12 Darin Adler <darin@apple.com>
16978
16979 Reviewed by Geoff.
16980
16981 - eliminate JSValue::type()
16982
16983 * bridge/c/c_instance.cpp:
16984 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
16985 argument instead of JSType argument. Removed unneeded code to handle
16986 boolean, since that's never passed.
16987 * bridge/c/c_instance.h: Ditto.
16988
16989 * bridge/c/c_utility.cpp:
16990 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
16991 instead of JSValue::type(). Removed unneeded code to handle
16992 "unspecified".
16993
16994 * bridge/jni/jni_instance.cpp:
16995 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
16996 instead of JSType argument. Removed unneeded code to handle boolean.
16997 * bridge/jni/jni_instance.h: Ditto.
16998
16999 * bridge/jni/jni_jsobject.mm:
17000 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
17001 instead of JSValue::type().
17002
17003 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
17004 instead of JSType argument. Removed unused argument.
17005 * bridge/objc/objc_instance.mm:
17006 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
17007 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
17008 instead of JSType argument. Removed unneeded code to handle boolean
17009 and another dead code path for unknown types.
17010
17011 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
17012 instead of JSType argument. Removed override of type() that caused
17013 the fallback object to return "UndefinedType" when there is no
17014 invokeUndefinedMethodFromWebScript:withArguments: method defined.
17015 That didn't accomplish much, since most checks for undefined don't
17016 ever call type().
17017 * bridge/objc/objc_runtime.mm:
17018 (ObjcFallbackObjectImp::defaultValue): Ditto.
17019
17020 * bridge/qt/qt_instance.cpp:
17021 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
17022 argument instead of JSType argument. Removed unneeded code to handle
17023 boolean.
17024 * bridge/qt/qt_instance.h: Ditto.
17025
17026 * bridge/runtime.h:
17027 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
17028 unsed argument.
17029 * bridge/runtime_object.cpp:
17030 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
17031 argument instead of JSType argument.
17032 * bridge/runtime_object.h: Ditto.
17033
britto@apple.comaf7f8382008-08-19 00:42:13 +0000170342008-08-18 Maxime Britto <britto@apple.com>
17035
17036 Reviewed by Adele.
17037
17038 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
17039 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
17040 We shouldn't be able to create another window while we are in pan scrolling.
17041 Other browsers behaviors :
17042 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
17043 IE7 : Keys are not disabled but stops immediately the panning.
17044 This patch matches FF3 behavior by disabling every key but the esc key.
17045
17046 * page/EventHandler.cpp:
17047 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
17048 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
17049
mitz@apple.com12404d82008-08-19 00:20:38 +0000170502008-08-18 Dan Bernstein <mitz@apple.com>
17051
17052 Reviewed by Dave Hyatt.
17053
17054 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
17055
17056 Test: fast/replaced/max-width-percent.html
17057
17058 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
17059 When false, max-width is not factored into the
17060 calculation.
17061 Changed RenderReplaced and subclasses' calcPrefWidths() to call
17062 calcReplacedWidth(false) and then apply max-width only if it has a
17063 fixed, positive value.
17064
17065 * rendering/RenderBox.cpp:
17066 (WebCore::RenderBox::calcReplacedWidth):
17067 * rendering/RenderBox.h:
17068 * rendering/RenderImage.cpp:
17069 (WebCore::RenderImage::calcReplacedWidth):
17070 (WebCore::RenderImage::calcPrefWidths):
17071 * rendering/RenderImage.h:
17072 * rendering/RenderReplaced.cpp:
17073 (WebCore::RenderReplaced::calcPrefWidths):
17074 * rendering/RenderSVGRoot.cpp:
17075 (WebCore::RenderSVGRoot::calcPrefWidths):
17076 * rendering/RenderVideo.cpp:
17077 (WebCore::RenderVideo::calcReplacedWidth):
17078 (WebCore::RenderVideo::calcPrefWidths):
17079 * rendering/RenderVideo.h:
17080
mrowe@apple.comced88732008-08-18 22:47:28 +0000170812008-08-18 Daniel Macks <dmacks@netspace.org>
17082
17083 Reviewed by Mark Rowe.
17084
17085 https://bugs.webkit.org/show_bug.cgi?id=20410
17086 More portable/self-documenting replacement for SIZE_MAX.
17087
17088 * platform/network/curl/FormDataStreamCurl.cpp:
17089 (WebCore::FormDataStream::read):
17090
170912008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000017092
17093 Reviewed by Dave Hyatt
17094
17095 Need to make sure we have an Animation in the AnimationList
17096 before setting the initial value.
17097 https://bugs.webkit.org/show_bug.cgi?id=20408
17098
17099 Test: fast/css/transition_shorthand_parsing.html
17100
17101 * css/CSSStyleSelector.cpp:
17102
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000171032008-08-18 Kevin McCullough <kmccullough@apple.com>
17104
kmccullough@apple.com707bd362008-08-18 20:21:57 +000017105 Reviewed by Tim.
17106
17107 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
17108 is another profile.
17109
17110 * page/inspector/ProfilesPanel.js:
17111
171122008-08-18 Kevin McCullough <kmccullough@apple.com>
17113
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000017114 Reviewed by Geoff.
17115
17116 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
17117 all console messages
17118
17119 * page/inspector/Console.js:
17120
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000171212008-08-18 Dirk Schulze <vbs85@gmx.de>
17122
17123 Reviewed by Eric Seidel.
17124
17125 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
17126 the canvas clean up.
17127
17128 https://bugs.webkit.org/show_bug.cgi?id=20405
17129
17130 * html/CanvasRenderingContext2D.cpp:
17131 (WebCore::CanvasRenderingContext2D::fill):
17132 (WebCore::CanvasRenderingContext2D::stroke):
17133 (WebCore::CanvasRenderingContext2D::fillRect):
17134
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000171352008-08-17 Timothy Hatcher <timothy@apple.com>
17136
17137 Complete in scope variables in the Console when paused.
17138
17139 https://bugs.webkit.org/show_bug.cgi?id=19115
17140
17141 Reviewed by Geoffrey Garen.
17142
17143 * page/inspector/Console.js:
17144 (WebInspector.Console.prototype.completions): If the expressionString
17145 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
17146 to get an object that declares all the in scope variables. That way
17147 "top level" expressions are completed.
17148 * page/inspector/ScriptsPanel.js:
17149 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
17150 Return an object that has all the variables that are in scope for the
17151 selected call frame. The value of each property is just true.
17152 The return object is useful for quick lookups or auto completion.
17153
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000171542008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
17155
17156 Not reviewed.
17157
17158 Speculative Qt build fix.
17159
17160 * bridge/qt/qt_runtime.cpp:
17161 (KJS::Bindings::convertValueToQVariant):
17162 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
17163
ggaren@apple.comfea43532008-08-17 20:23:49 +0000171642008-08-17 Geoffrey Garen <ggaren@apple.com>
17165
17166 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000017167
17168 Updated project files to XCode 3.1.
17169
17170 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
17171
171722008-08-17 Geoffrey Garen <ggaren@apple.com>
17173
17174 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000017175
17176 Made room for a free word in JSCell.
17177
17178 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
17179 JSGlobalData, so the two could share a pointer.
17180
17181 Added a bunch of ASSERTs, to help catch over-sized objects.
17182
mrowe@apple.com13570292008-08-16 06:48:10 +0000171832008-08-15 Mark Rowe <mrowe@apple.com>
17184
mitz@apple.comb96c1b92008-08-17 03:28:52 +000017185 Reviewed by Dan Bernstein.
17186
17187 Disable dead code stripping in debug builds.
17188
17189 * Configurations/Base.xcconfig:
17190 * WebCore.xcodeproj/project.pbxproj:
17191
171922008-08-15 Mark Rowe <mrowe@apple.com>
17193
mrowe@apple.com13570292008-08-16 06:48:10 +000017194 Rubber-stamped by Geoff Garen.
17195
17196 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
17197
17198 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
17199 between the Debug configuration and debug Production variant.
17200 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
17201
antti@apple.coma05e8b02008-08-15 22:58:06 +0000172022008-08-15 Antti Koivisto <antti@apple.com>
17203
17204 Reviewed by Anders.
17205
17206 Don't start preloading body resources before the head is complete. This prevents
17207 body preloads from slowing down initial display when there is limited amount
17208 of bandwidth available.
17209
17210 Works by queuing up found body preloads to DocLoader and only issuing them
17211 after document has rendering.
17212
17213 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
17214 without affecting complete load time.
17215
17216 * html/PreloadScanner.cpp:
17217 (WebCore::PreloadScanner::PreloadScanner):
17218 (WebCore::PreloadScanner::scanningBody):
17219 (WebCore::PreloadScanner::emitTag):
17220 (WebCore::PreloadScanner::emitCSSRule):
17221 * html/PreloadScanner.h:
17222 * loader/DocLoader.cpp:
17223 (WebCore::DocLoader::preload):
17224 (WebCore::DocLoader::checkForPendingPreloads):
17225 (WebCore::DocLoader::requestPreload):
17226 * loader/DocLoader.h:
17227 * loader/loader.cpp:
17228 (WebCore::Loader::Host::didFinishLoading):
17229 (WebCore::Loader::Host::didFail):
17230
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000172312008-08-15 Ada Chan <adachan@apple.com>
17232
17233 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
17234 This way style set on an <hr> within a <select> will be honored.
17235
17236 Reviewed by Dave Hyatt and Dan Bernstein.
17237
17238 * rendering/RenderMenuList.cpp:
17239 (WebCore::RenderMenuList::itemStyle):
17240
antti@apple.com9f7911472008-08-15 20:48:06 +0000172412008-08-15 Antti Koivisto <antti@apple.com>
17242
17243 Reviewed by Oliver.
17244
17245 Some loader performance tweaks:
17246 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
17247 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
17248 to not delay rendering.
17249 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
17250 can take long time when latency is high so it is good to get started early.
17251 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
17252 load queues. Issue remaining loads to the network layer.
17253
17254 * loader/loader.cpp:
17255 (WebCore::Loader::determinePriority):
17256 (WebCore::Loader::load):
17257 (WebCore::Loader::Host::servePendingRequests):
17258 * loader/loader.h:
17259
timothy@apple.com2d974c32008-08-15 18:35:39 +0000172602008-08-15 Timothy Hatcher <timothy@apple.com>
17261
17262 Detach the script debugger when the Web Inspector's window closes.
17263 This has always been the intended design, but never fully implemented.
17264
17265 https://bugs.webkit.org/show_bug.cgi?id=20402
17266
17267 Reviewed by Adam Roben.
17268
17269 * page/InspectorController.cpp:
17270 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
17271 if the window is no longer visible.
17272
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000172732008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
17274
17275 Reviewed by Simon.
17276
hausmann@webkit.org58144a72008-08-15 18:12:08 +000017277 Fixes: compile with QT_NO_CONTEXTMENU
17278
17279 * platform/qt/PlatformMouseEventQt.cpp:
17280 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
17281 * platform/qt/PlatformScrollBarQt.cpp:
17282 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
17283 (WebCore::PlatformScrollbar::handleContextMenuEvent):
17284
172852008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
17286
17287 Reviewed by Simon.
17288
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000017289 Fixes: compile with QT_NO_WHEELEVENT
17290
17291 * platform/qt/WheelEventQt.cpp:
17292 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
17293
timothy@apple.com4889e612008-08-15 17:06:14 +0000172942008-08-15 Keishi Hattori <casey.hattori@gmail.com>
17295
timothy@apple.comd64639c2008-08-15 17:48:36 +000017296 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
17297
17298 https://bugs.webkit.org/show_bug.cgi?id=20210
17299
17300 Reviewed by Tim Hatcher.
17301
17302 * page/Console.cpp:
17303 (WebCore::Console::group):
17304 (WebCore::Console::groupEnd):
17305 * page/Console.h:
17306 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
17307 * page/InspectorController.cpp:
17308 (WebCore::InspectorController::startGroup): Increments group level by
17309 one and adds console message with StartGroupMessaageLevel.
17310 (WebCore::InspectorController::endGroup): Decrements group level by one
17311 and adds console message with EndGroupMessaageLevel.
17312 * page/InspectorController.h:
17313 * page/inspector/Console.js:
17314 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
17315 if the message is StartGroupMessaageLevel.
17316 (WebInspector.ConsoleMessage.prototype.toMessageElement):
17317 (WebInspector.ConsoleGroup.prototype.addMessage):
17318 * page/inspector/inspector.js:
17319
173202008-08-15 Keishi Hattori <casey.hattori@gmail.com>
17321
timothy@apple.com7310b6a2008-08-15 17:35:22 +000017322 Adds support for console.dir to the Inspector
17323
17324 https://bugs.webkit.org/show_bug.cgi?id=19155
17325
17326 Reviewed by Tim Hatcher.
17327
17328 * bindings/js/JSConsoleCustom.cpp:
17329 (WebCore::JSConsole::dir):
17330 * page/Console.cpp:
17331 (WebCore::Console::dir):
17332 * page/Console.h: Added ObjectMessageLevel.
17333 * page/Console.idl: Added console.dir.
17334 * page/inspector/Console.js:
17335 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
17336 ObjectPropertiesSection if the MessageLevel is Object.
17337 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
17338 used on primitive data types.
17339 * page/inspector/inspector.css:
17340
173412008-08-15 Keishi Hattori <casey.hattori@gmail.com>
17342
timothy@apple.com4889e612008-08-15 17:06:14 +000017343 Adds support for clear() in the Inspector console.
17344
17345 https://bugs.webkit.org/show_bug.cgi?id=19873
17346
17347 Reviewed by Tim Hatcher.
17348
17349 * page/inspector/Console.js:
17350
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000173512008-08-15 Anthony Ricaud <rik24d@gmail.com>
17352
17353 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
17354
17355 Platform distinction and modifier key matching adjusted
17356 by Daniel Jalkut <jalkut@red-sweater.com>
17357
17358 Bug 16313: text search (find) keybindings should work in the Web Inspector
17359 https://bugs.webkit.org/show_bug.cgi?id=16313
17360
17361 Reviewed by Tim Hatcher.
17362
17363 * page/inspector/inspector.js: Added a case for the F key
17364
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000173652008-08-15 Keishi Hattori <casey.hattori@gmail.com>
17366
17367 Fix for error when the string doesn't contain a webkit-profile link.
17368
17369 https://bugs.webkit.org/show_bug.cgi?id=20399
17370
17371 Reviewed by Tim Hatcher.
17372
17373 * page/inspector/inspector.js:
17374
timothy@apple.com895b2652008-08-15 16:33:27 +0000173752008-08-15 Timothy Hatcher <timothy@apple.com>
17376
17377 Fixes two bugs where JavaScript could be executed from the page
17378 while the debugger is paused.
17379
17380 The first issue was JSLazyEventListener not checking the paused
17381 state before parsing the code.
17382
17383 The second issue was with the PageGroup version of
17384 JavaScriptDebugServer::setJavaScriptPaused always passing false
17385 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
17386 and not the paused argument.
17387
17388 https://bugs.webkit.org/show_bug.cgi?id=20284
17389
17390 Reviewed by Adam Roben.
17391
17392 * bindings/js/JSEventListener.cpp:
17393 (WebCore::JSLazyEventListener::parseCode): Check the paused
17394 state of the ScriptController. Return early if paused.
17395 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
17396 * page/JavaScriptDebugServer.cpp:
17397 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
17398 Pass the paused argument to the Page version of setJavaScriptPaused.
17399
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000174002008-08-15 Alexey Proskuryakov <ap@webkit.org>
17401
17402 Reviewed by Geoff Garen.
17403
17404 JSStringRef is created context-free, but can get linked to one via an identifier table,
17405 breaking an implicit API contract.
17406
17407 * page/InspectorController.cpp:
17408 (WebCore::jsStringRef):
17409 (WebCore::InspectorController::didParseSource):
17410 (WebCore::InspectorController::failedToParseSource):
17411 * page/JavaScriptProfile.cpp:
17412 (WebCore::getTitleCallback):
17413 Updated for JavaScriptCore changes.
17414
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000174152008-08-14 Kevin Ollivier <kevino@theolliviers.com>
17416
17417 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
17418 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
17419
17420 * platform/graphics/AffineTransform.h:
17421
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000174222008-08-14 Eric Carlson <eric.carlson@apple.com>
17423
17424 Reviewed by Adele.
17425
17426 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
17427 <video> elements on Windows never becomes visible when a page is restored from the cache
17428
17429 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
17430 value is different from the cached value. Let the implementation decide when
17431 to avoid work because nothing has changed.
17432
17433 * platform/graphics/MediaPlayer.cpp:
17434 (WebCore::MediaPlayer::setVolume):
17435 (WebCore::MediaPlayer::setRate):
17436 (WebCore::MediaPlayer::setRect):
17437 (WebCore::MediaPlayer::setVisible):
17438
timothy@apple.comda810f42008-08-14 23:57:14 +0000174392008-08-14 Keishi Hattori <casey.hattori@gmail.com>
17440
17441 Make Firebug command line API respect predefined variables.
17442
timothy@apple.com90751f02008-08-14 23:58:19 +000017443 https://bugs.webkit.org/show_bug.cgi?id=20385
17444
timothy@apple.comda810f42008-08-14 23:57:14 +000017445 Reviewed by Tim Hatcher.
17446
17447 * page/inspector/Console.js:
17448
weinig@apple.com4b51d002008-08-14 23:33:22 +0000174492008-08-14 Sam Weinig <sam@webkit.org>
17450
17451 Reviewed by Geoffrey Garen and Timothy Hatcher.
17452
17453 Allow programatically setting the HTMLTokenizers time delay and chunk size
17454 which are used for determining how aggressively we yield.
17455
17456 * WebCore.base.exp:
17457 * html/HTMLTokenizer.cpp:
17458 (WebCore::HTMLTokenizer::begin):
17459 (WebCore::HTMLTokenizer::continueProcessing):
17460 * html/HTMLTokenizer.h:
17461 * page/Page.cpp:
17462 (WebCore::Page::Page):
17463 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
17464 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
17465 * page/Page.h:
17466 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
17467 (WebCore::Page::customHTMLTokenizerTimeDelay):
17468 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
17469 (WebCore::Page::customHTMLTokenizerChunkSize):
17470
eric@webkit.org89613d22008-08-14 23:19:17 +0000174712008-08-14 Eric Seidel <eric@webkit.org>
17472
eric@webkit.org7e897c32008-08-14 23:20:00 +000017473 Reviewed by Beth.
17474
17475 Move us one step closer to cross-platform svg/graphics code
17476
17477 * WebCore.xcodeproj/project.pbxproj:
17478 * html/CanvasStyle.cpp:
17479 * platform/graphics/Color.cpp:
17480 (WebCore::colorWithOverrideAlpha):
17481 * platform/graphics/Color.h:
17482 * svg/graphics/cg/CgSupport.cpp:
17483 (WebCore::applyStrokeStyleToContext):
17484 (WebCore::strokeBoundingBox):
17485 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
17486 (WebCore::SVGPaintServerSolid::setup):
17487
174882008-08-14 Eric Seidel <eric@webkit.org>
17489
eric@webkit.org4f490652008-08-14 23:19:31 +000017490 Reviewed by Alexey.
17491
eric@webkit.org73fa9d12008-08-14 23:19:44 +000017492 Remove un-need includes from HTMLCanvas and use the
17493 Gradient platform abstraction in one place in CanvasStyle
17494
17495 * html/CanvasRenderingContext2D.cpp:
17496 (WebCore::CanvasRenderingContext2D::fillRect):
17497 * html/CanvasStyle.cpp:
17498 * html/HTMLCanvasElement.cpp:
17499
175002008-08-14 Eric Seidel <eric@webkit.org>
17501
17502 Reviewed by Alexey.
17503
eric@webkit.org4f490652008-08-14 23:19:31 +000017504 Clean up GlyphBuffer.h, removing more #ifdefs
17505
17506 * platform/graphics/GlyphBuffer.h:
17507 (WebCore::GlyphBuffer::glyphAt):
17508 (WebCore::GlyphBuffer::advanceAt):
17509 (WebCore::GlyphBuffer::add):
17510
175112008-08-14 Eric Seidel <eric@webkit.org>
17512
eric@webkit.org89613d22008-08-14 23:19:17 +000017513 Reviewed by Sam.
17514
17515 Clean up AffineTransform.h, removing #ifdefs
17516
17517 * platform/graphics/AffineTransform.h:
17518 * platform/graphics/cairo/AffineTransformCairo.cpp:
17519 * platform/graphics/cg/AffineTransformCG.cpp:
17520 * platform/graphics/qt/AffineTransformQt.cpp:
17521 * platform/graphics/wx/AffineTransformWx.cpp:
17522
mitz@apple.com551d6252008-08-14 23:08:09 +0000175232008-08-14 Dan Bernstein <mitz@apple.com>
17524
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000017525 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
17526
17527 * platform/graphics/cairo/ImageSourceCairo.cpp:
17528 (WebCore::ImageSource::frameSizeAtIndex):
17529 * platform/graphics/qt/ImageSourceQt.cpp:
17530 (WebCore::ImageSource::frameSizeAtIndex):
17531 * platform/graphics/wx/ImageSourceWx.cpp:
17532 (WebCore::ImageSource::frameSizeAtIndex):
17533
175342008-08-14 Dan Bernstein <mitz@apple.com>
17535
mitz@apple.com551d6252008-08-14 23:08:09 +000017536 Reviewed by Brady Eidson.
17537
17538 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
17539
17540 * platform/graphics/BitmapImage.cpp:
17541 (WebCore::BitmapImage::BitmapImage): Added initialization of
17542 m_hasUniformFrameSize.
17543 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
17544 cached frame for use in decoded size computation and for setting
17545 m_hasUniformFrameSize.
17546 (WebCore::BitmapImage::currentFrameSize): Added.
17547 (WebCore::BitmapImage::dataChanged): Added code to reset
17548 m_hasUniformFrameSize.
17549 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
17550 m_hasUniformFrameSize.
17551 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
17552 * platform/graphics/cg/ImageCG.cpp:
17553 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
17554 fixes the bug, which resulted from assuming that the frame being drawn
17555 was the same size as the first frame.
17556 * platform/graphics/cg/ImageSourceCG.cpp:
17557 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
17558 changed to get the size of the frame at the given index.
17559 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
17560
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000175612008-08-13 Simon Fraser <simon.fraser@apple.com>
17562
17563 Reviewed by Eric Seidel
17564
17565 Fix @font-face inside @media rule crash.
17566 https://bugs.webkit.org/show_bug.cgi?id=20367
17567
17568 Test: fast/css/font-face-in-media-rule.html
17569
17570 * css/CSSStyleSelector.cpp:
17571 (WebCore::CSSRuleSet::addRulesFromSheet):
17572
kevino@webkit.org141c4602008-08-14 22:52:55 +0000175732008-08-14 Kevin Ollivier <kevino@theolliviers.com>
17574
17575 wx build fixes after recent changes to Canvas and Image classes.
17576
17577 * platform/graphics/Pattern.h:
17578 * platform/graphics/wx/GradientWx.cpp:
17579 (WebCore::Gradient::fill):
17580 * platform/graphics/wx/GraphicsContextWx.cpp:
17581 (WebCore::GraphicsContext::applyFillPattern):
17582 (WebCore::GraphicsContext::applyStrokePattern):
17583 * platform/graphics/wx/ImageBufferWx.cpp:
17584 (WebCore::ImageBuffer::image):
17585 * platform/graphics/wx/ImageWx.cpp:
17586 (WebCore::Image::loadPlatformResource):
17587
britto@apple.comd7008662008-08-14 19:26:02 +0000175882008-08-14 Maxime Britto <britto@apple.com>
17589
17590 Reviewed by Sam Weinig.
17591
17592 rdar://6102511
17593 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
17594 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
17595 Some differences exist between them concerning the kind of key which is pressed :
17596 IE7 : every key leads to a stop of the panning
17597 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
17598 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
17599
17600 * page/EventHandler.cpp:
17601 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
17602
christian@webkit.org0e20f322008-08-14 19:14:47 +0000176032008-08-14 Christian Dywan <christian@twotoasts.de>
17604
17605 Gtk+/ Cairo build fix, patch by Dirk Schulze.
17606
17607 * html/CanvasStyle.cpp:
17608 * platform/graphics/cairo/PatternCairo.cpp:
17609 (WebCore::Pattern::createPlatformPattern):
17610 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
17611
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000176122008-08-14 Kevin McCullough <kmccullough@apple.com>
17613
17614 Reviewed by Tim.
17615
17616 <rdar://problem/6115819> Notify of profile in console
17617
17618 * page/InspectorController.cpp:
17619 (WebCore::InspectorController::addProfile):
17620 (WebCore::InspectorController::addProfileMessageToConsole): Called by
17621 addProfile this is the function that adds a message to the console that
17622 a profile finished.
17623 * page/InspectorController.h:
17624 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
17625 the console log to the profile in the web inspector.
17626 (WebCore::getUniqueIdCallback):
17627 (WebCore::ProfileClass):
17628 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
17629 Id to bring up the requested profile. Also select and reveal the
17630 profile in the profile panel. And created displayTitleForProfileLink()
17631 which formats a title taking into account if it's user initiated or if
17632 there are multiples. Lasty, I put the user initiated profile in a
17633 variable.
17634 * page/inspector/inspector.js: Make the profile title be a clickable
17635 link that will take the user to the identified profile. Also expose
17636 the count of user initiated profiles so they can be displayed in the
17637 console with the correct count.
17638
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000176392008-08-14 Timothy Hatcher <timothy@apple.com>
17640
17641 Avoid formating ConsoleMessages twice unless the message will be
17642 displayed in bubbles of a SourceFrame.
17643
17644 Reviewed by Kevin McCullough.
17645
17646 * page/inspector/Console.js:
17647 (WebInspector.ConsoleMessage): Only format the plain text message
17648 if the URL and line are valid and the level is error or warning.
17649 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
17650 Helper to test for error or warning level.
17651 * page/inspector/SourceFrame.js:
17652 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
17653 message if there is no message or valid line or if the msg
17654 isn't an error or warning.
17655
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000176562008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
17657
17658 partial Gtk build fix, not reviewed
17659
17660 * platform/graphics/cairo/PatternCairo.cpp:
17661
weinig@apple.com45e83142008-08-14 04:49:30 +0000176622008-08-13 Sam Weinig <sam@webkit.org>
17663
weinig@apple.com1c615fe2008-09-29 04:17:33 +000017664 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000017665
17666 Fix style issue.
17667
17668 * html/HTMLMediaElement.cpp:
17669 (WebCore::HTMLMediaElement::pickMedia):
17670
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000176712008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
17672
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000017673 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
17674 Continue Erics build fixes, after the Image cleanup.
17675
17676 * platform/graphics/cairo/ImageBufferCairo.cpp:
17677 (WebCore::ImageBuffer::image):
17678
176792008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
17680
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000017681 Build fix for Qt, not reviewed.
17682 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
17683
17684 * dom/XMLTokenizer.cpp:
17685 (WebCore::eventuallyMarkAsParserCreated): Was erre
17686
176872008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
17688
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000017689 Build fix, not reviewed.
17690 Add ScriptElement.cpp to Gtk build.
17691
17692 * GNUmakefile.am:
17693
176942008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
17695
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000017696 Reviewed by Eric.
17697
17698 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
17699
17700 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
17701 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
17702
17703 This resolves code duplications and allows us to completly replace the old
17704 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
17705
17706 As ScriptElement, doesn't actually inherit from Element, we may want to rename
17707 it, though StyleElement uses the same naming convention, so I left it as is for now.
17708 Eventually we'll rename both files in future.
17709
17710 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
17711
17712 * WebCore.pro: Add new ScriptElement.cpp to build.
17713 * WebCore.vcproj/WebCore.vcproj: Ditto.
17714 * WebCore.xcodeproj/project.pbxproj: Ditto.
17715 * WebCoreSources.bkl: Dutto.
17716 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
17717 (WebCore::ScriptElement::insertedIntoDocument):
17718 (WebCore::ScriptElement::removedFromDocument):
17719 (WebCore::ScriptElement::childrenChanged):
17720 (WebCore::ScriptElement::finishParsingChildren):
17721 (WebCore::ScriptElement::handleSourceAttribute):
17722 (WebCore::isSupportedJavaScriptLanguage):
17723 (WebCore::ScriptElementData::ScriptElementData):
17724 (WebCore::ScriptElementData::~ScriptElementData):
17725 (WebCore::ScriptElementData::requestScript):
17726 (WebCore::ScriptElementData::evaluateScript):
17727 (WebCore::ScriptElementData::stopLoadRequest):
17728 (WebCore::ScriptElementData::notifyFinished):
17729 (WebCore::ScriptElementData::ignoresLoadRequest):
17730 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
17731 (WebCore::ScriptElementData::scriptCharset):
17732 (WebCore::ScriptElementData::scriptContent):
17733 * dom/ScriptElement.h: Added.
17734 (WebCore::ScriptElement::ScriptElement):
17735 (WebCore::ScriptElement::~ScriptElement):
17736 (WebCore::ScriptElementData::element):
17737 (WebCore::ScriptElementData::createdByParser):
17738 (WebCore::ScriptElementData::setCreatedByParser):
17739 * dom/XMLTokenizer.cpp:
17740 (WebCore::isScriptElement):
17741 (WebCore::castToScriptElement):
17742 (WebCore::eventuallyMarkAsParserCreated):
17743 (WebCore::XMLTokenizer::startElementNs):
17744 (WebCore::XMLTokenizer::endElementNs):
17745 (WebCore::createXHTMLParserErrorHeader):
17746 (WebCore::XMLTokenizer::insertErrorMessageBlock):
17747 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
17748 (WebCore::HTMLScriptElement::HTMLScriptElement):
17749 (WebCore::HTMLScriptElement::~HTMLScriptElement):
17750 (WebCore::HTMLScriptElement::isURLAttribute):
17751 (WebCore::HTMLScriptElement::setCreatedByParser):
17752 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
17753 (WebCore::HTMLScriptElement::childrenChanged):
17754 (WebCore::HTMLScriptElement::parseMappedAttribute):
17755 (WebCore::HTMLScriptElement::finishParsingChildren):
17756 (WebCore::HTMLScriptElement::insertedIntoDocument):
17757 (WebCore::HTMLScriptElement::removedFromDocument):
17758 (WebCore::HTMLScriptElement::text):
17759 (WebCore::HTMLScriptElement::setText):
17760 (WebCore::HTMLScriptElement::setHtmlFor):
17761 (WebCore::HTMLScriptElement::setEvent):
17762 (WebCore::HTMLScriptElement::charset):
17763 (WebCore::HTMLScriptElement::src):
17764 (WebCore::HTMLScriptElement::type):
17765 (WebCore::HTMLScriptElement::scriptCharset):
17766 (WebCore::HTMLScriptElement::scriptContent):
17767 (WebCore::HTMLScriptElement::sourceAttributeValue):
17768 (WebCore::HTMLScriptElement::charsetAttributeValue):
17769 (WebCore::HTMLScriptElement::typeAttributeValue):
17770 (WebCore::HTMLScriptElement::languageAttributeValue):
17771 (WebCore::HTMLScriptElement::dispatchLoadEvent):
17772 (WebCore::HTMLScriptElement::dispatchErrorEvent):
17773 * html/HTMLScriptElement.h:
17774 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
17775 * svg/SVGScriptElement.cpp:
17776 (WebCore::SVGScriptElement::SVGScriptElement):
17777 (WebCore::SVGScriptElement::scriptContent):
17778 (WebCore::SVGScriptElement::sourceAttributeValue):
17779 (WebCore::SVGScriptElement::charsetAttributeValue):
17780 (WebCore::SVGScriptElement::typeAttributeValue):
17781 (WebCore::SVGScriptElement::languageAttributeValue):
17782 (WebCore::SVGScriptElement::dispatchLoadEvent):
17783 (WebCore::SVGScriptElement::dispatchErrorEvent):
17784 * svg/SVGScriptElement.h:
17785 (WebCore::SVGScriptElement::setCreatedByParser):
17786
eric@webkit.org7811ef02008-08-14 00:28:51 +0000177872008-08-13 Eric Seidel <eric@webkit.org>
17788
eric@webkit.org3562c592008-08-14 02:17:29 +000017789 Attempt to fix the Gtk build, no review.
17790
17791 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
17792
17793 * platform/graphics/GraphicsContext.h:
17794 * platform/graphics/cairo/GraphicsContextCairo.cpp:
17795 * platform/graphics/qt/GradientQt.cpp:
17796 * platform/graphics/qt/GraphicsContextQt.cpp:
17797 * platform/gtk/RenderThemeGtk.cpp:
17798 (WebCore::paintMozWidget):
17799
178002008-08-13 Eric Seidel <eric@webkit.org>
17801
eric@webkit.org2ec42072008-08-14 02:03:09 +000017802 Yet another attempt to fix the Qt build, no review.
17803
17804 * platform/graphics/qt/GradientQt.cpp:
17805 * platform/graphics/qt/GraphicsContextQt.cpp:
17806 (WebCore::GraphicsContext::applyStrokePattern):
17807 (WebCore::GraphicsContext::applyFillPattern):
17808
178092008-08-13 Eric Seidel <eric@webkit.org>
17810
17811 Attempt to fix the Windows build, no review.
17812
17813 * platform/win/CursorWin.cpp:
17814 (WebCore::loadCursorByName):
17815 * platform/win/ScrollViewWin.cpp:
17816 (WebCore::ScrollView::paint):
17817
178182008-08-13 Eric Seidel <eric@webkit.org>
17819
eric@webkit.org508c0282008-08-14 01:29:34 +000017820 Attempt to fix the Windows build, no review.
17821
17822 * platform/win/CursorWin.cpp:
17823 (WebCore::loadCursorByName):
17824 * platform/win/ScrollViewWin.cpp:
17825 (WebCore::ScrollView::paint):
17826
178272008-08-13 Eric Seidel <eric@webkit.org>
17828
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000017829 Attempt to fix the Qt build, no review.
17830
17831 * platform/graphics/qt/ImageBufferQt.cpp:
17832 (WebCore::ImageBuffer::image):
17833
178342008-08-13 Eric Seidel <eric@webkit.org>
17835
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000017836 Attempt to fix the Windows build, no review.
17837
17838 * platform/graphics/win/ImageWin.cpp:
17839 (WebCore::Image::loadPlatformResource):
17840 * plugins/win/PluginViewWin.cpp:
17841 (WebCore::PluginView::paintMissingPluginIcon):
17842
178432008-08-13 Eric Seidel <eric@webkit.org>
17844
eric@webkit.orgac3f6662008-08-14 01:15:50 +000017845 Another attempt to fix the Qt build, no review.
17846
17847 * platform/graphics/qt/ImageQt.cpp:
17848 * platform/graphics/qt/StillImageQt.h:
17849
178502008-08-13 Eric Seidel <eric@webkit.org>
17851
eric@webkit.org31e0d812008-08-14 01:05:42 +000017852 No review, build fix only.
17853
17854 Fix mac build, due to change in new code since my patch was written.
17855
17856 * svg/graphics/cg/SVGResourceMaskerCg.mm:
17857 (WebCore::SVGResourceMasker::applyMask):
17858
178592008-08-13 Eric Seidel <eric@webkit.org>
17860
eric@webkit.orga20a0032008-08-14 00:42:54 +000017861 Build fix only, no review.
17862
17863 Attempt to fix the Qt build.
17864
eric@webkit.org923255c2008-08-14 00:59:20 +000017865 * platform/graphics/qt/ImageBufferQt.cpp:
17866 * platform/graphics/qt/StillImageQt.h:
17867 (WebCore::StillImage::create):
17868 (WebCore::StillImage::destroyDecodedData):
17869 (WebCore::StillImage::decodedSize):
17870
178712008-08-13 Eric Seidel <eric@webkit.org>
17872
17873 Build fix only, no review.
17874
17875 Attempt to fix the Qt build.
17876
eric@webkit.orga20a0032008-08-14 00:42:54 +000017877 * html/CanvasStyle.cpp:
17878 (WebCore::CanvasStyle::applyStrokeColor):
17879 (WebCore::CanvasStyle::applyFillColor):
17880
178812008-08-13 Eric Seidel <eric@webkit.org>
17882
eric@webkit.org4aca3be2008-08-14 00:30:04 +000017883 Reviewed by Sam.
17884
17885 Match HTML5 spec by throwing INVALID_STATE_ERR when
17886 createPattern is called and the HTMLImageElement is not
17887 yet done loading the image (!isComplete)
17888 https://bugs.webkit.org/show_bug.cgi?id=20351
17889
17890 Test: http/misc/canvas-pattern-from-incremental-image.html
17891
17892 * html/CanvasRenderingContext2D.cpp:
17893 (WebCore::CanvasRenderingContext2D::createPattern):
17894
178952008-08-13 Eric Seidel <eric@webkit.org>
17896
eric@webkit.org5b265602008-08-14 00:29:26 +000017897 Reviewed by Niko.
17898
eric@webkit.orgf0124f62008-08-14 00:29:50 +000017899 Split out a Pattern class from CanvasPattern
17900 and remove all the Pattern-related #ifdefs
17901 (This will break non-mac platforms! I will fix them.)
17902 https://bugs.webkit.org/show_bug.cgi?id=20351
17903
17904 * GNUmakefile.am:
17905 * WebCore.pro:
17906 * WebCore.vcproj/WebCore.vcproj:
17907 * WebCore.xcodeproj/project.pbxproj:
17908 * WebCoreSources.bkl:
17909 * html/CanvasPattern.cpp:
17910 (WebCore::CanvasPattern::parseRepetitionType):
17911 (WebCore::CanvasPattern::CanvasPattern):
17912 * html/CanvasPattern.h:
17913 (WebCore::CanvasPattern::create):
17914 (WebCore::CanvasPattern::pattern):
17915 (WebCore::CanvasPattern::originClean):
17916 * html/CanvasRenderingContext2D.cpp:
17917 (WebCore::CanvasRenderingContext2D::createPattern):
17918 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
17919 (WebCore::CanvasRenderingContext2D::applyFillPattern):
17920 * html/CanvasRenderingContext2D.h:
17921 * html/HTMLCanvasElement.cpp:
17922 * html/HTMLCanvasElement.h:
17923 * loader/FrameLoader.cpp:
17924 (WebCore::FrameLoader::createHistoryItem):
17925 * platform/graphics/GraphicsContext.h:
17926 * platform/graphics/cairo/GraphicsContextCairo.cpp:
17927 (WebCore::GraphicsContext::applyStrokePattern):
17928 (WebCore::GraphicsContext::applyFillPattern):
17929 * platform/graphics/cg/GraphicsContextCG.cpp:
17930 (WebCore::GraphicsContext::clipToImageBuffer):
17931 (WebCore::GraphicsContext::applyStrokePattern):
17932 (WebCore::GraphicsContext::applyFillPattern):
17933
179342008-08-13 Eric Seidel <eric@webkit.org>
17935
17936 Reviewed by Niko.
17937
eric@webkit.org5b265602008-08-14 00:29:26 +000017938 Make Images RefCounted (and clean up callers)
17939 https://bugs.webkit.org/show_bug.cgi?id=20351
17940
17941 * editing/DeleteButtonController.cpp:
17942 (WebCore::DeleteButtonController::createDeletionUI):
17943 * loader/CachedImage.cpp:
17944 (WebCore::CachedImage::CachedImage):
17945 (WebCore::brokenImage):
17946 (WebCore::nullImage):
17947 (WebCore::CachedImage::image):
17948 (WebCore::CachedImage::notifyObservers):
17949 (WebCore::CachedImage::createImage):
17950 * loader/CachedImage.h:
17951 * loader/icon/IconRecord.cpp:
17952 (WebCore::IconRecord::setImageData):
17953 (WebCore::IconRecord::loadImageFromResource):
17954 * loader/icon/IconRecord.h:
17955 * platform/graphics/BitmapImage.h:
17956 (WebCore::BitmapImage::create):
17957 * platform/graphics/GeneratedImage.h:
17958 * platform/graphics/Gradient.cpp:
17959 * platform/graphics/Gradient.h:
17960 * platform/graphics/Image.cpp:
17961 (WebCore::Image::nullImage):
17962 * platform/graphics/Image.h:
17963 * platform/graphics/ImageBuffer.h:
17964 * platform/graphics/cairo/ImageBufferCairo.cpp:
17965 (WebCore::ImageBuffer::image):
17966 * platform/graphics/cg/ImageBufferCG.cpp:
17967 (WebCore::ImageBuffer::image):
17968 (WebCore::ImageBuffer::getImageData):
17969 (WebCore::ImageBuffer::putImageData):
17970 * platform/graphics/cg/PDFDocumentImage.h:
17971 (WebCore::PDFDocumentImage::create):
17972 (WebCore::PDFDocumentImage::destroyDecodedData):
17973 (WebCore::PDFDocumentImage::decodedSize):
17974 * platform/graphics/gtk/ImageGtk.cpp:
17975 (WebCore::Image::loadPlatformResource):
17976 * platform/graphics/mac/ImageMac.mm:
17977 (WebCore::Image::loadPlatformResource):
17978 * rendering/RenderImage.cpp:
17979 * rendering/RenderLayer.cpp:
17980 (WebCore::RenderLayer::paintOverflowControls):
17981 * svg/graphics/SVGImage.cpp:
17982 (WebCore::SVGImage::nativeImageForCurrentFrame):
17983 * svg/graphics/SVGImage.h:
17984 (WebCore::SVGImage::create):
17985 (WebCore::SVGImage::destroyDecodedData):
17986 (WebCore::SVGImage::decodedSize):
17987 (WebCore::SVGImage::frameAtIndex):
17988 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
17989 (WebCore::SVGPaintServerPattern::setup):
17990 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
17991 (WebCore::SVGResourceMasker::applyMask):
17992 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
17993 (WebCore::patternCallback):
17994 * svg/graphics/cg/SVGResourceMaskerCg.mm:
17995 (WebCore::SVGResourceMasker::applyMask):
17996
179972008-08-13 Eric Seidel <eric@webkit.org>
17998
17999 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000018000
18001 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000018002 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000018003
18004 There are some down-sides to this commit.
18005 This commit limits us to 255 levels of grey for calls like:
18006 context.setStrokeStyle(.37, 1.0)
18007 previously CG might have used up to 32bits to store the grey level
18008 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
18009
18010 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
18011 to RGBA32 (like all the rest of colors in WebCore), thus:
18012 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
18013 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
18014
18015 If this is a problem for Dashboard, we can either roll out this commit
18016 or add a beefier Color abstraction, which can be used internally by GraphicsContext
18017 when keeping state, and then GraphicsContext can grow some additional set* routines
18018 for setting the a grey/float/whatever fill and stroke.
18019
18020 * html/CanvasRenderingContext2D.cpp:
18021 (WebCore::CanvasRenderingContext2D::setFillStyle):
18022 * html/CanvasStyle.cpp:
18023 (WebCore::CanvasStyle::CanvasStyle):
18024 (WebCore::colorWithOverrideAlpha):
18025 (WebCore::CanvasStyle::applyStrokeColor):
18026 (WebCore::CanvasStyle::applyFillColor):
18027 * html/CanvasStyle.h:
18028 * platform/graphics/Color.cpp:
18029 (WebCore::colorFloatToRGBAByte):
18030 (WebCore::makeRGBA32FromFloats):
18031 * platform/graphics/Color.h:
18032
adele@apple.com83e44822008-08-13 23:50:41 +0000180332008-08-13 Eric Carlson <eric.carlson@apple.com>
18034
18035 Reviewed by Adele Peterson.
18036
18037 Fix for <rdar://problem/6137931>
18038 https://bugs.webkit.org/show_bug.cgi?id=20360
18039 Remove all parameters from the MIME type before checking with the MIME type registry
18040
18041 Tests: media/video-source-type-params.html
18042
18043 * html/HTMLMediaElement.cpp:
18044 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
18045 to isSupportedMediaMIMEType()
18046
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000180472008-08-13 Beth Dakin <bdakin@apple.com>
18048
18049 Reviewed by Sam Weinig.
18050
18051 Fix for <rdar://problem/6141345>
18052
18053 This patch refines findString and markAllMatchesForText functions'
18054 interactions with disconnected frames. They no longer rely on
18055 knowing where a range is relative to the visible region and work
18056 with disconnected frames that contain frames.
18057
18058 * editing/Editor.cpp:
18059 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
18060 the visiblity enum.
18061 (WebCore::Editor::firstVisibleRange): This now returns the very
18062 first visible range in the document. It's no longer dependent on
18063 searching forward.
18064 (WebCore::Editor::lastVisibleRange): This now returns the very last
18065 visible range in the document. It's no longer dependent on
18066 searching backwards.
18067 (WebCore::Editor::nextVisibleRange): This returns the next visible
18068 range in the appropriate direction from the current range.
18069 * editing/Editor.h:
18070 * page/Frame.cpp:
18071 (WebCore::Frame::findString):
18072 (WebCore::Frame::markAllMatchesForText):
18073
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000180742008-08-13 Kevin Ollivier <kevino@theolliviers.com>
18075
18076 wx build fix for case-sensitive platforms, like Linux.
18077
18078 * WebCoreSources.bkl:
18079
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000180802008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
18081
18082 Reviewed by Holger Freyther.
18083
18084 http://bugs.webkit.org/show_bug.cgi?id=16881
18085 [GTK] PlatformScreenGtk is unimplemented
18086
18087 Original patch by Christian Dywan.
18088
18089 * platform/gtk/PlatformScreenGtk.cpp:
18090 (WebCore::screenDepth):
18091 (WebCore::screenDepthPerComponent):
18092 (WebCore::screenIsMonochrome):
18093 (WebCore::screenRect):
18094 (WebCore::screenAvailableRect):
18095
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000180962008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
18097
18098 Reviewed by Holger Freyther.
18099
18100 http://bugs.webkit.org/show_bug.cgi?id=20318
18101 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
18102
18103 g_idle_add is the same as g_idle_add_full with a priority of
18104 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
18105
18106 * platform/gtk/SharedTimerGtk.cpp:
18107 (WebCore::setSharedTimerFireTime):
18108
timothy@apple.comf0426602008-08-13 18:11:01 +0000181092008-08-13 Timothy Hatcher <timothy@apple.com>
18110
18111 Changed the InspectorController so it can be notified when the
18112 attached state of the Inspector changes in WebKit.
18113
18114 Reviewed by Kevin McCullough.
18115
18116 * WebCore.base.exp: Updated the symbol for setWindowVisible.
18117 * page/InspectorController.cpp:
18118 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
18119 that defaults to false.Call setAttachedWindow with the attached argument.
18120 (WebCore::InspectorController::setAttachedWindow): Call the script version
18121 of setAttachedWindow.
18122 * page/InspectorController.h:
18123 * page/inspector/inspector.js:
18124 (WebInspector.setAttachedWindow): Set the attached property.
18125
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000181262008-08-12 Timothy Hatcher <timothy@apple.com>
18127
timothy@apple.com72c92ae2008-08-13 18:10:45 +000018128 Added a close button to the Inspector's toolbar when docked.
18129
18130 https://bugs.webkit.org/show_bug.cgi?id=14270
18131
18132 Reviewed by Kevin McCullough.
18133
18134 * page/InspectorController.cpp:
18135 (WebCore::closeWindow): Call InspectorController::closeWindow.
18136 (WebCore::InspectorController::windowScriptObjectAvailable):
18137 Added closeWindow to the script class.
18138 * page/InspectorController.h:
18139 * page/inspector/Images/closeButtons.png: Added.
18140 * page/inspector/inspector.css: Added and changed styles.
18141 * page/inspector/inspector.html: Added the close button.
18142 * page/inspector/inspector.js:
18143 (WebInspector.loaded): Added click event listener to the close button.
18144 (WebInspector.close): Call InspectorController.closeWindow.
18145
181462008-08-12 Timothy Hatcher <timothy@apple.com>
18147
timothy@apple.com9ea832b2008-08-13 18:10:36 +000018148 Make the docked Web Inspector resizable. This is the cross platform
18149 portion of the code. Each InspectorClient needs to implement the
18150 real resize code.
18151
18152 https://bugs.webkit.org/show_bug.cgi?id=14282
18153
18154 Reviewed by Kevin McCullough.
18155
18156 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
18157 * page/InspectorClient.h: Added setAttachedWindowHeight.
18158 * page/InspectorController.cpp:
18159 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
18160 on the InspectorController.
18161 (WebCore::InspectorController::setAttachedWindowHeight): Call
18162 setAttachedWindowHeight on the client.
18163 (WebCore::InspectorController::windowScriptObjectAvailable):
18164 Added setAttachedWindowHeight to the script class.
18165 * page/InspectorController.h:
18166 * page/inspector/inspector.css: Make the cursor on the toolbar be
18167 row-resize when docked.
18168 * page/inspector/inspector.js:
18169 (WebInspector.loaded): Always add the toolbarDragStart event listener.
18170 (WebInspector.toolbarDragStart): Return early if we are not attached
18171 and not on Leopard. Call WebInspector.elementDragStart.
18172 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
18173 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
18174 otherwise call moveByUnrestricted.
18175
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000181762008-08-13 Simon Hausmann <hausmann@webkit.org>
18177
18178 Reviewed by Holger.
18179
18180 Initialize m_zoomsTextOnly in the Settings constructor.
18181
18182 * page/Settings.cpp:
18183 (WebCore::Settings::Settings):
18184
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000181852008-08-13 Brad Hughes <bhughes@trolltech.com>
18186
18187 Reviewed by Simon.
18188
18189 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
18190
18191 The latest upgrade of the intel compiler allows us to compile all of
18192 Qt with optimizations enabled (yay!).
18193
18194 * WebCore.pro:
18195
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000181962008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
18197
18198 Reviewed by Simon.
18199
18200 Fix QtWebKit not displaying content on 403 HTTP responses
18201
18202 Just like with 404 responses also display content with 403, as
18203 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
18204
18205 * platform/network/qt/QNetworkReplyHandler.cpp:
18206 (WebCore::QNetworkReplyHandler::finish):
18207
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000182082008-08-13 Simon Hausmann <hausmann@webkit.org>
18209
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000018210 Reviewed by Holger.
18211
18212 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
18213
18214 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
18215
18216 * platform/text/String.cpp:
18217 (WebCore::String::format):
18218
182192008-08-13 Simon Hausmann <hausmann@webkit.org>
18220
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000018221 Reviewed by Lars.
18222
18223 Fix QWebFrame::setHtml() not setting the new contents immediately.
18224
18225 Added a setter to the DocumentLoader to toggle the deferred loading of the main
18226 resource when it comes from substitute data.
18227
18228 Disable deferred loading of the main resource when we have valid substitute data,
18229 as used by QWebFrame::setHtml.
18230
18231 * loader/DocumentLoader.h:
18232
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000182332008-08-13 Mark Rowe <mrowe@apple.com>
18234
18235 Speculative GTK build fix.
18236
18237 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
18238
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000182392008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
18240
18241 Reviewed by Simon.
18242
18243 Fix encoding of [ and ] in the host part of the URL
18244
18245 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
18246 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
18247 doesn't encode [ and ] when they are found in the host part. That is, the
18248 following URL:
18249 http://[::1]/
18250 is valid and should not be reencoded to:
18251 http://%5b::1%5d/
18252
18253 * platform/qt/KURLQt.cpp:
18254 (WebCore::KURL::operator QUrl):
18255
mitz@apple.come198b012008-08-12 21:49:07 +0000182562008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
18257
18258 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
18259 Broken HTML object elements cause de-reference of pointer to freed memory.
18260 If we fail to load an image for an object tag and we no longer believe the object tag points at
18261 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
18262 fall back content.
18263
18264 Reviewed by Dave Hyatt and Alexey Proskuryakov.
18265
18266 Test: http/tests/misc/object-image-error-with-onload.html
18267
18268 * html/HTMLObjectElement.cpp:
18269 (WebCore::HTMLObjectElement::renderFallbackContent):
18270 * page/Frame.cpp:
18271 (WebCore::Frame::Frame):
18272
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000182732008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
18274
18275 Reviewed by Dave.
18276
18277 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
18278 Masks are translated, and the mask images are swapped on the y-axis.
18279
18280 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
18281 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
18282
18283 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
18284 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
18285
18286 * svg/graphics/cg/SVGResourceMaskerCg.mm:
18287 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
18288
mitz@apple.comf8a98692008-08-12 17:04:42 +0000182892008-08-12 Dan Bernstein <mitz@apple.com>
18290
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000018291 - WebCore part of <rdar://problem/6121636>
18292 Make fast*alloc() abort() on failure and add "try" variants that
18293 return NULL on failure.
18294
18295 Reviewed by Darin Adler.
18296
18297 * platform/Arena.cpp:
18298 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
18299 result.
18300 * platform/graphics/cg/ImageBufferCG.cpp:
18301 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
18302
183032008-08-12 Dan Bernstein <mitz@apple.com>
18304
mitz@apple.com1e09cd72008-08-12 18:27:58 +000018305 Reviewed by Darin Adler.
18306
18307 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
18308 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
18309
18310 Test: fast/frames/frameset-style-recalc.html
18311
18312 * html/HTMLFrameSetElement.cpp:
18313 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
18314 class implementation after marking for layout.
18315
183162008-08-12 Dan Bernstein <mitz@apple.com>
18317
mitz@apple.comf8a98692008-08-12 17:04:42 +000018318 Reviewed by John Sullivan.
18319
18320 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
18321
18322 * WebCore.base.exp:
18323 * page/FrameView.cpp:
18324 (WebCore::FrameViewPrivate::FrameViewPrivate):
18325 (WebCore::FrameView::shouldUpdateWhileHidden):
18326 (WebCore::FrameView::setShouldUpdateWhileHidden):
18327 * page/FrameView.h:
18328 * page/Settings.cpp:
18329 * page/Settings.h:
18330
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000183312008-08-12 Adam Roben <aroben@apple.com>
18332
18333 Windows build fix
18334
18335 * bindings/js/JSSVGPODTypeWrapper.h: Align
18336 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
18337 members on 16-byte boundaries to avoid an alignment warning.
18338
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000183392008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
18340
18341 Reviewed by Oliver.
18342
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000018343 Add new dynamice-update layout tests covering SVGMarkerElement.
18344 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
18345 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
18346
18347 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
18348 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
18349 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
18350 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
18351 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
18352 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
18353 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
18354 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
18355 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
18356 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
18357 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
18358 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
18359 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
18360 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
18361 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
18362
18363 * svg/SVGMarkerElement.cpp:
18364 (WebCore::SVGMarkerElement::SVGMarkerElement):
18365 (WebCore::SVGMarkerElement::parseMappedAttribute):
18366 (WebCore::SVGMarkerElement::svgAttributeChanged):
18367 (WebCore::SVGMarkerElement::childrenChanged):
18368 (WebCore::SVGMarkerElement::setOrientToAuto):
18369 (WebCore::SVGMarkerElement::setOrientToAngle):
18370 (WebCore::SVGMarkerElement::canvasResource):
18371
183722008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
18373
18374 Reviewed by Oliver.
18375
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000018376 Add new dynamic-update layout tests covering SVGImageElement.
18377 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
18378
18379 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
18380 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
18381 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
18382 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
18383 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
18384 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
18385 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
18386 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
18387 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
18388 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
18389
18390 * svg/SVGImageElement.cpp:
18391 (WebCore::SVGImageElement::svgAttributeChanged):
18392
timothy@apple.com93114722008-08-12 04:20:25 +0000183932008-08-11 Anthony Ricaud <rik24d@gmail.com>
18394
timothy@apple.com2f2cde32008-08-12 04:28:16 +000018395 Changed Option/Alt-Up or Down in CSS editing when the value is
18396 near zero to jump to the next integer.
18397
18398 Reviewed by Tim Hatcher.
18399
18400 https://bugs.webkit.org/show_bug.cgi?id=20326
18401
18402 * page/inspector/StylesSidebarPane.js:
18403
184042008-08-11 Anthony Ricaud <rik24d@gmail.com>
18405
timothy@apple.com93114722008-08-12 04:20:25 +000018406 Changed the line highlight transition for an easier animation.
18407
18408 Reviewed by Tim Hatcher.
18409
18410 * page/inspector/SourceFrame.js:
18411
timothy@apple.com24a14852008-08-12 03:57:39 +0000184122008-08-11 Keishi Hattori <casey.hattori@gmail.com>
18413
18414 Added support for some Firebug Command Line APIs.
18415
18416 Reviewed by Tim Hatcher.
18417
18418 https://bugs.webkit.org/show_bug.cgi?id=19867
18419 https://bugs.webkit.org/show_bug.cgi?id=19868
18420 https://bugs.webkit.org/show_bug.cgi?id=19869
18421 https://bugs.webkit.org/show_bug.cgi?id=19875
18422 https://bugs.webkit.org/show_bug.cgi?id=19876
18423 https://bugs.webkit.org/show_bug.cgi?id=19880
18424
18425 * page/inspector/Console.js:
18426 (WebInspector.Console.prototype._evalInInspectedWindow):
18427 Create an object on the inspected window that holds the console
18428 command line API functions. This object is used in a with statement
18429 around the typed expression.
18430
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000184312008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
18432
18433 Reviewed by Antti.
18434
18435 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
18436
18437 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
18438 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
18439
18440 Added tests: svg/custom/svg-modify-currentTranslate.html
18441 svg/custom/tearoffs-with-tearoffs.html
18442 svg/custom/immutable-properties.html
18443
18444 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
18445
18446 * bindings/js/JSSVGPODTypeWrapper.h:
18447 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
18448 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
18449 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
18450 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
18451 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
18452 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
18453 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
18454 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
18455 * bindings/scripts/CodeGenerator.pm:
18456 * bindings/scripts/CodeGeneratorJS.pm:
18457 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
18458 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
18459
beidson@apple.com0e772f72008-08-12 00:34:46 +0000184602008-08-11 Brady Eidson <beidson@apple.com>
18461
18462 Reviewed by John and Anders
18463
18464 Fix for <rdar://problem/6141797>
18465
18466 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
18467 would never have nil data.
18468
18469 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
18470 semantics with some WebKit applications.
18471
18472 The guarantee was a good one and should be restored.
18473
18474 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
18475 creates an empty data object in the case of null data for its own purposes.
18476
18477 * loader/SubstituteResource.h:
18478 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
18479 well help any future subclassers not make this mistake.
18480
18481 * loader/archive/ArchiveResource.cpp:
18482 (WebCore::ArchiveResource::create): Return 0 if the data is null.
18483
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000184842008-08-11 Simon Fraser <simon.fraser@apple.com>
18485
18486 Reviewed by Dave Hyatt
18487
18488 https://bugs.webkit.org/show_bug.cgi?id=20328
18489 Fix a problem when an 'all' transition transition with more than
18490 one property changing is interrupted, and did some AnimationController
18491 cleanup.
18492
18493 Test: transitions/interrupted-all-transition.html
18494
18495 * page/AnimationController.cpp:
18496 (WebCore::ImplicitAnimation::ImplicitAnimation):
18497 (WebCore::AnimationControllerPrivate::blendProperties):
18498 (WebCore::CompositeAnimation::updateTransitions):
18499 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
18500 (WebCore::CompositeAnimation::setTransitionStartTime):
18501 (WebCore::CompositeAnimation::overrideImplicitAnimations):
18502 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
18503 (WebCore::ImplicitAnimation::animate):
18504 (WebCore::ImplicitAnimation::onAnimationEnd):
18505 (WebCore::ImplicitAnimation::sendTransitionEvent):
18506 (WebCore::ImplicitAnimation::affectsProperty):
18507 (WebCore::KeyframeAnimation::endAnimation):
18508 (WebCore::KeyframeAnimation::onAnimationEnd):
18509
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000185102008-08-11 Kevin McCullough <kmccullough@apple.com>
18511
18512 Reviewed by Tim.
18513
18514 - Because console messages have group levels now, newly created messages
18515 that do not specify the level lose their message since the number of
18516 arguments is wrong.
18517
18518 * page/inspector/Console.js:
18519 * page/inspector/Resource.js:
18520
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000185212008-08-11 Alp Toker <alp@nuanti.com>
18522
18523 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
18524 the opportunity to sort the sources lists.
18525
18526 * GNUmakefile.am:
18527
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000185282008-08-11 Timothy Hatcher <timothy@apple.com>
18529
18530 Speed up the the JavaScript syntax highlighter by generating
18531 the finders only once per script instead of per line.
18532
18533 https://bugs.webkit.org/show_bug.cgi?id=20346
18534
18535 Reviewed by Adam Roben.
18536
18537 * page/inspector/SourceFrame.js:
18538 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
18539 Removed, factored into syntaxHighlightJavascript as an inline function.
18540 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
18541 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
18542 Generate the finders before iterating the lines.
18543
aroben@apple.com957d2d32008-08-11 18:31:37 +0000185442008-08-11 Adam Roben <aroben@apple.com>
18545
18546 Windows build fix
18547
18548 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
18549 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
18550 too.
18551
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000185522008-08-11 Dan Bernstein <mitz@apple.com>
18553
18554 Reviewed by Darin Adler.
18555
18556 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
18557
18558 Test: fast/css/counters/invalidate-cached-counter-node.html
18559
18560 * rendering/RenderContainer.cpp:
18561 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
18562 RenderCounters in :before and :after content.
18563 * rendering/RenderContainer.h:
18564 * rendering/RenderCounter.cpp:
18565 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
18566 to match the RenderObject method.
18567 (WebCore::RenderCounter::invalidate): Added. Resets the cached
18568 CounterNode and invalidates the object's layout and preferred widths.
18569 (WebCore::destroyCounterNodeChildren): Added a call to
18570 invalidateCounters().
18571 * rendering/RenderCounter.h:
18572 * rendering/RenderObject.h:
18573 (WebCore::RenderObject::invalidateCounters):
18574
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000185752008-08-11 Dean Jackson <dino@apple.com>
18576
18577 Implement CSS Animation and Transition Events
18578 https://bugs.webkit.org/show_bug.cgi?id=20337
18579
18580 Implement the events defined in the CSS Animations
18581 and Transitions specifications so code can react
18582 to animations and transitions.
18583
18584 Reviewed by Tim Hatcher and Dave Hyatt.
18585
18586 * DerivedSources.make:
18587 * GNUmakefile.am:
18588 * WebCore.pro:
18589 * WebCore.vcproj/WebCore.vcproj:
18590 * WebCore.xcodeproj/project.pbxproj:
18591 * WebCoreSources.bkl:
18592 Build configs for new files
18593
18594 * bindings/js/JSDOMWindowBase.cpp:
18595 * bindings/js/JSDOMWindowBase.h:
18596 * bindings/js/JSEventCustom.cpp:
18597 * dom/Document.h:
18598 * dom/Event.cpp:
18599 * dom/Event.h:
18600 * dom/EventTarget.cpp:
18601 * dom/EventTargetNode.cpp:
18602 * dom/EventTargetNode.h:
18603 * html/HTMLElement.cpp:
18604 * page/AnimationController.cpp:
18605 do all the new event stuff
18606
18607 * html/HTMLAttributeNames.in:
18608 the onwebkitanimation* and onwebkittransitionend attrs
18609
18610 * dom/WebKitAnimationEvent.cpp: Added.
18611 * dom/WebKitAnimationEvent.h: Added.
18612 * dom/WebKitAnimationEvent.idl: Added.
18613 * dom/WebKitTransitionEvent.cpp: Added.
18614 * dom/WebKitTransitionEvent.h: Added.
18615 * dom/WebKitTransitionEvent.idl: Added.
18616 New files for the events
18617
18618 * manual-tests/transition-events.html: Added.
18619 New testfile
18620
aroben@apple.com3eae8622008-08-11 17:21:23 +0000186212008-08-11 Adam Roben <aroben@apple.com>
18622
18623 Add a ForwardingHeader for wtf/NotFound.h
18624
18625 Rubberstamped by Darin Adler.
18626
18627 * ForwardingHeaders/wtf/NotFound.h: Added.
18628
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000186292008-08-11 Timothy Hatcher <timothy@apple.com>
18630
18631 Fixes a bug where error bubbles in JavaScript resources would
18632 be clobbered by the syntax highlighter.
18633
18634 https://bugs.webkit.org/show_bug.cgi?id=20345
18635
18636 Reviewed by Adam Roben.
18637
18638 * manual-tests/inspector/resources/script-error.js: Added.
18639 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
18640 * page/inspector/SourceFrame.js:
18641 (WebInspector.SourceFrame.prototype._addMessageToSource):
18642 Check the nodeType and not the nodeName, this is less fragile.
18643 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
18644 Check if the lastChild is an error bubble, if so remove it before
18645 getting the line's textContent. Add the error bubble back at the end.
18646
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000018647== Rolled over to ChangeLog-2008-08-10 ==