Remove unnecessary calls to columnRectAt()
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-17  Dan Bernstein  <mitz@apple.com>
2
3         Remove unnecessary calls to columnRectAt()
4         https://bugs.webkit.org/show_bug.cgi?id=70283
5
6         Reviewed by Darin Adler.
7
8         These call sites only needed one of the column dimensions, which are independent of the column
9         index, and can be retrieved directly from the ColumnInfo.
10
11         * rendering/RenderBlock.cpp:
12         (WebCore::RenderBlock::paintColumnRules):
13         (WebCore::RenderBlock::hitTestColumns):
14
15 2011-10-17  Andreas Kling  <kling@webkit.org>
16
17         Protect against incorrect Element::fast*Attribute() usage.
18         https://bugs.webkit.org/show_bug.cgi?id=67612
19
20         Reviewed by Darin Adler.
21
22         Add debug-only checks in Element's fastHasAttribute() and fastGetAttribute() to verify
23         that we aren't looking up the "style" attribute or any of the SVG animatable attributes.
24
25         No new tests, erroneous behavior is covered by assertions.
26
27         * WebCore.exp.in: Export Element::fastAttributeLookupAllowed() for debug builds
28         since it's used by the inline fast*Attribute() calls.
29         * css/CSSStyleSelector.cpp:
30         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use getAttribute() for class.
31         * css/SelectorChecker.cpp:
32         (WebCore::linkAttribute): Use getAttribute() for xlink:href.
33         * dom/Element.cpp:
34         (WebCore::Element::getAttribute): Manually inline fastGetAttribute() in ideal case.
35         (WebCore::Element::fastAttributeLookupAllowed): Checks if an attribute can be used
36         with the fast lookup functions.
37         * dom/Element.h:
38         (WebCore::Element::fastHasAttribute): Add assertion.
39         (WebCore::Element::fastGetAttribute): Ditto.
40         * editing/ApplyStyleCommand.cpp:
41         (WebCore::hasNoAttributeOrOnlyStyleAttribute): Use getAttribute() for class.
42         * editing/ReplaceSelectionCommand.cpp:
43         (WebCore::isInlineNodeWithStyle): Ditto.
44         * html/ClassList.cpp:
45         (WebCore::ClassList::ClassList): Ditto.
46         (WebCore::ClassList::addInternal): Ditto.
47         (WebCore::ClassList::removeInternal): Ditto.
48         (WebCore::ClassList::toString): Ditto.
49         * svg/SVGAltGlyphElement.cpp:
50         (WebCore::SVGAltGlyphElement::hasValidGlyphElements): Use getAttribute() for xlink:href.
51         * svg/SVGAnimateMotionElement.cpp:
52         (WebCore::SVGAnimateMotionElement::rotateMode): Use getAttribute() for rotate.
53         * svg/SVGAnimationElement.cpp:
54         (WebCore::SVGAnimationElement::animationMode): Use getAttribute() for values.
55         * svg/SVGElement.cpp:
56         (WebCore::SVGElement::isAnimatableAttribute): Added, returns true if the given
57         QualifiedName represents an animatable attribute.
58         * svg/SVGElement.h:
59         * svg/SVGFontFaceUriElement.cpp:
60         (WebCore::SVGFontFaceUriElement::srcValue): Use getAttribute() for xlink:href.
61         (WebCore::SVGFontFaceUriElement::loadFont): Ditto.
62         * svg/animation/SVGSMILElement.cpp:
63         (WebCore::SVGSMILElement::xlinkHref): Ditto.
64         * svg/SVGGlyphRefElement.cpp:
65         (WebCore::SVGGlyphRefElement::hasValidGlyphElement): Ditto.
66         * svg/SVGStyleElement.cpp:
67         (WebCore::SVGStyleElement::type): Use getAttribute() for type.
68
69 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
70
71         AX: buttons of number type <input> controls are not fully accessible
72         https://bugs.webkit.org/show_bug.cgi?id=70241
73
74         Expose the spin button object to the AX hierarchy. Since there is no distinct
75         render object that backs this object, a mock object needs to be created for the entire
76         spin button and the actual increment and decrement buttons inside.
77
78         Reviewed by Darin Adler.
79
80         Test: platform/mac/accessibility/html5-input-number.html
81
82         * CMakeLists.txt:
83         * GNUmakefile.list.am:
84         * WebCore.gypi:
85         * WebCore.pro:
86         * WebCore.vcproj/WebCore.vcproj:
87         * WebCore.xcodeproj/project.pbxproj:
88         * accessibility/AXObjectCache.cpp:
89         (WebCore::AXObjectCache::getOrCreate):
90         * accessibility/AccessibilityMockObject.cpp:
91         (WebCore::AccessibilityMockObject::AccessibilityMockObject):
92         * accessibility/AccessibilityMockObject.h:
93         (WebCore::AccessibilityMockObject::isMockObject):
94         * accessibility/AccessibilityObject.cpp:
95         (WebCore::AccessibilityObject::boundingBoxForQuads):
96         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
97         * accessibility/AccessibilityObject.h:
98         (WebCore::AccessibilityObject::isSpinButton):
99         (WebCore::AccessibilityObject::isSpinButtonPart):
100         (WebCore::AccessibilityObject::isMockObject):
101         * accessibility/AccessibilityRenderObject.cpp:
102         (WebCore::AccessibilityRenderObject::boundingBoxRect):
103         (WebCore::AccessibilityRenderObject::addImageMapChildren):
104         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
105         (WebCore::AccessibilityRenderObject::addChildren):
106         * accessibility/AccessibilityRenderObject.h:
107         * accessibility/AccessibilitySpinButton.cpp: Added.
108         (WebCore::AccessibilitySpinButton::create):
109         (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
110         (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
111         (WebCore::AccessibilitySpinButton::incrementButton):
112         (WebCore::AccessibilitySpinButton::decrementButton):
113         (WebCore::AccessibilitySpinButton::elementRect):
114         (WebCore::AccessibilitySpinButton::addChildren):
115         (WebCore::AccessibilitySpinButton::step):
116         (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
117         (WebCore::AccessibilitySpinButtonPart::create):
118         (WebCore::AccessibilitySpinButtonPart::elementRect):
119         (WebCore::AccessibilitySpinButtonPart::press):
120         * accessibility/AccessibilitySpinButton.h: Added.
121         (WebCore::AccessibilitySpinButton::setSpinButtonElement):
122         (WebCore::AccessibilitySpinButton::roleValue):
123         (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
124         (WebCore::AccessibilitySpinButton::isSpinButton):
125         (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
126         (WebCore::AccessibilitySpinButtonPart::isIncrementor):
127         (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
128         (WebCore::AccessibilitySpinButtonPart::roleValue):
129         (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
130         (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
131         (WebCore::toAccessibilitySpinButton):
132         (WebCore::toAccessibilitySpinButtonPart):
133         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
134         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
135         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
136         (-[WebAccessibilityObjectWrapper subrole]):
137         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
138         * html/shadow/TextControlInnerElements.cpp:
139         (WebCore::SpinButtonElement::step):
140         (WebCore::SpinButtonElement::repeatingTimerFired):
141         * html/shadow/TextControlInnerElements.h:
142
143 2011-10-17  Dmitry Titov  <dimich@chromium.org>
144
145         Re-landing: window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
146         https://bugs.webkit.org/show_bug.cgi?id=70147
147
148         Reviewed by David Levin.
149
150         I only found a way to test this manually, since Chromium TestShell uses static instance
151         of NotificationPresenter instead of per-page one so the issue does not reproduce.
152         Adding manual test that works in full build of Chromium.
153
154         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
155         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
156         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
157         * notifications/NotificationCenter.cpp:
158         (WebCore::NotificationCenter::disconnectFrame):
159         * page/DOMWindow.cpp:
160         (WebCore::DOMWindow::resetNotifications):
161         * page/DOMWindow.h:
162         * page/Frame.cpp:
163         (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
164
165 2011-10-17  Arno Renevier  <arno@renevier.net>
166
167         quote "attributes" keyword in CodeGeneratorGObject.pm
168         https://bugs.webkit.org/show_bug.cgi?id=64348
169
170         Reviewed by Darin Adler.
171
172         No change of functionality. No new tests.
173
174         * bindings/scripts/CodeGeneratorGObject.pm:
175
176 2011-10-17  Ojan Vafai  <ojan@chromium.org>
177
178         Unreviewed, rolling out r97654.
179         http://trac.webkit.org/changeset/97654
180         https://bugs.webkit.org/show_bug.cgi?id=68497
181
182         Caused a number of Chromium failures.
183
184         * rendering/RenderBox.cpp:
185         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
186
187 2011-10-17  Ojan Vafai  <ojan@chromium.org>
188
189         Unreviewed, rolling out r97653.
190         http://trac.webkit.org/changeset/97653
191         https://bugs.webkit.org/show_bug.cgi?id=69957
192
193         Caused a number of Chromium failures.
194
195         * rendering/RenderBlock.cpp:
196         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
197
198 2011-10-17  Rafael Weinstein  <rafaelw@chromium.org>
199
200         [MutationObservers] Implement WebKitMutationObserver.observe for attributes
201         https://bugs.webkit.org/show_bug.cgi?id=68956
202
203         Reviewed by Ryosuke Niwa.
204
205         Test: fast/mutation/observe-attributes.html
206
207         This adds an initial implementation for registering mutation observers on nodes,
208         delivering mutation records at the end of the outer-most script invokation and
209         observing mutations to element attributes.
210
211         Note that the outer-most script invokation only works in V8.
212
213         Note also that support for observing changes to the style attribute when updated
214         via the style property is not implemented here.
215
216         * bindings/v8/V8Proxy.cpp:
217         (WebCore::V8Proxy::didLeaveScriptContext):
218         * dom/Element.cpp:
219         (WebCore::enqueueAttributesMutationRecord):
220         (WebCore::Element::setAttribute):
221         * dom/MutationRecord.cpp:
222         (WebCore::MutationRecord::createAttributes):
223         * dom/MutationRecord.h:
224         * dom/MutationRecord.idl:
225         * dom/Node.cpp:
226         (WebCore::Node::clearRareData):
227         (WebCore::Node::mutationObserverData):
228         (WebCore::Node::ensureMutationObserverData):
229         (WebCore::Node::registeredMutationObserversOfType):
230         (WebCore::Node::registerMutationObserver):
231         (WebCore::Node::deregisterMutationObserver):
232         * dom/Node.h:
233         * dom/NodeRareData.h:
234         (WebCore::MutationObserverRegistration::MutationObserverRegistration):
235         (WebCore::MutationObserverRegistration::operator==):
236         (WebCore::MutationObserverData::MutationObserverData):
237         (WebCore::MutationObserverData::~MutationObserverData):
238         (WebCore::NodeRareData::mutationObserverData):
239         (WebCore::NodeRareData::ensureMutationObserverData):
240         * dom/WebKitMutationObserver.cpp:
241         (WebCore::WebKitMutationObserver::observe):
242         (WebCore::WebKitMutationObserver::disconnect):
243         (WebCore::WebKitMutationObserver::wasDeregistered):
244         (WebCore::activeMutationObservers):
245         (WebCore::WebKitMutationObserver::enqueueMutationRecord):
246         (WebCore::WebKitMutationObserver::deliverAllMutations):
247         (WebCore::WebKitMutationObserver::deliver):
248         * dom/WebKitMutationObserver.h:
249
250 2011-10-17  Andreas Kling  <kling@webkit.org>
251
252         HTMLKeygenElement: Don't cache keytype and challenge attributes.
253         https://bugs.webkit.org/show_bug.cgi?id=68365
254
255         Reviewed by Darin Adler.
256
257         * html/HTMLKeygenElement.cpp:
258         (WebCore::HTMLKeygenElement::parseMappedAttribute):
259         (WebCore::HTMLKeygenElement::appendFormData):
260         * html/HTMLKeygenElement.h:
261
262 2011-09-22  Ojan Vafai  <ojan@chromium.org>
263
264         incorrect height with height:auto and writing-mode:vertical-rl
265         https://bugs.webkit.org/show_bug.cgi?id=68497
266
267         Reviewed by David Hyatt.
268
269         * rendering/RenderBox.cpp:
270         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
271
272 2011-10-12  Ojan Vafai  <ojan@chromium.org>
273
274         display:inline-block elements don't correctly handle orthogonal writing-modes
275         https://bugs.webkit.org/show_bug.cgi?id=69957
276
277         Reviewed by David Hyatt.
278
279         Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode.
280         Instead, we need to grab the result based on the parent's writing-mode.
281         In the case of orthogonal writing-modes, we need the child's logical height.
282
283         Tests: fast/writing-mode/borders-expected.html
284                fast/writing-mode/borders.html
285
286         * rendering/RenderBlock.cpp:
287         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
288
289 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
290
291         Unreviewed, rolling out r97643.
292         http://trac.webkit.org/changeset/97643
293         https://bugs.webkit.org/show_bug.cgi?id=70270
294
295         Broke iframe reparenting tests (Requested by dimich on
296         #webkit).
297
298         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Removed.
299         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Removed.
300         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Removed.
301         * notifications/NotificationCenter.cpp:
302         (WebCore::NotificationCenter::disconnectFrame):
303         * page/DOMWindow.cpp:
304         (WebCore::DOMWindow::webkitNotifications):
305         * page/DOMWindow.h:
306         * page/Frame.cpp:
307         (WebCore::Frame::transferChildFrameToNewDocument):
308
309 2011-10-17  Dmitry Titov  <dimich@chromium.org>
310
311         window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
312         https://bugs.webkit.org/show_bug.cgi?id=70147
313
314         Reviewed by David Levin.
315
316         I only found a way to test this manually, since Chromium TestShell uses static instance
317         of NotificationPresenter instead of per-page one so the issue does not reproduce.
318         Adding manual test that works in full build of Chromium.
319
320         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
321         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
322         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
323         * notifications/NotificationCenter.cpp:
324         (WebCore::NotificationCenter::disconnectFrame):
325         * page/DOMWindow.cpp:
326         (WebCore::DOMWindow::resetNotifications):
327         * page/DOMWindow.h:
328         * page/Frame.cpp:
329         (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
330
331 2011-10-17  Jeff Miller  <jeffm@apple.com>
332
333         Widget window coordinate functions should use root view coordinate functions
334         https://bugs.webkit.org/show_bug.cgi?id=70152
335
336         Reviewed by Darin Adler.
337
338         No new tests, no changes to functionality.
339
340         * platform/Widget.cpp:
341         (WebCore::Widget::convertFromContainingWindow): Use convertFromRootView().
342         (WebCore::Widget::convertToContainingWindow): Use convertToRootView().
343
344 2011-10-14  Chris Marrin  <cmarrin@apple.com>
345
346         Throttle rate of requestAnimationFrame when page is not visible
347         https://bugs.webkit.org/show_bug.cgi?id=67873
348
349         Reviewed by Anders Carlsson.
350
351         Add logic to suspend and resume scripted animations when page is hidden,
352         minimized or the tab is not visible. The hide/minimize notification comes
353         in from WebKit/WebKit2 to a new set of functions.
354
355         * WebCore.exp.in:
356         * page/Page.cpp:
357         (WebCore::Page::didMoveOnscreen):
358         (WebCore::Page::willMoveOffscreen):
359         (WebCore::Page::suspendScriptedAnimations):
360         (WebCore::Page::resumeScriptedAnimations):
361         * page/Page.h:
362
363 2011-10-17  Antti Koivisto  <antti@apple.com>
364
365         https://bugs.webkit.org/show_bug.cgi?id=69966
366         Eliminate separate RenderStyle for visited link style
367
368         Reviewed by Dave Hyatt and Nikolas Zimmermann.
369
370         There are only a few properties that can apply to visited links and they can
371         be part of the regular style. Many things will get simpler when the separate 
372         RenderStyle for visited links is eliminated.
373         
374         - Add valid visited link properties as separate fields to RenderStyle. The  
375           visitedLinkColor goes to inherited, everything else goes to rare data structures.
376         - Make RenderStyle::visitedDependentColor() get the visited style from the new fields.
377         - As VISITED_LINK pseudo style doesn't exists anymore, remove all code dealing with it.
378         - Make CSSStyleSelector and ApplyPropertyColor apply the visited link style to the
379           newly added fields instead of a separate RenderStyle.
380         - Same thing with SVGRenderStyle, SVGCSSStyleSelector.
381         - Fixup the SVG visited link style code to use the new fields.
382
383         This is ~15% progression in styleForElement performance over the HTML5 spec load.
384
385         * css/CSSStyleApplyProperty.cpp:
386         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
387         (WebCore::ApplyPropertyColor::applyInheritValue):
388         (WebCore::ApplyPropertyColor::applyInitialValue):
389         (WebCore::ApplyPropertyColor::applyValue):
390         (WebCore::ApplyPropertyColor::applyColorValue):
391         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
392         * css/CSSStyleSelector.cpp:
393         (WebCore::CSSStyleSelector::CSSStyleSelector):
394         (WebCore::CSSStyleSelector::styleForElement):
395         (WebCore::CSSStyleSelector::pseudoStyleForElement):
396         (WebCore::CSSStyleSelector::updateFont):
397         (WebCore::CSSStyleSelector::applyDeclaration):
398         (WebCore::CSSStyleSelector::applyDeclarations):
399         (WebCore::CSSStyleSelector::applyProperty):
400         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
401         * css/CSSStyleSelector.h:
402         (WebCore::CSSStyleSelector::applyPropertyToRegularStyle):
403         (WebCore::CSSStyleSelector::applyPropertyToVisitedLinkStyle):
404         * css/SVGCSSStyleSelector.cpp:
405         (WebCore::CSSStyleSelector::applySVGProperty):
406         * dom/Element.cpp:
407         (WebCore::Element::pseudoStyleCacheIsInvalid):
408         * rendering/style/RenderStyle.cpp:
409         (WebCore::RenderStyle::getCachedPseudoStyle):
410         (WebCore::RenderStyle::colorIncludingFallback):
411         (WebCore::RenderStyle::visitedDependentColor):
412         * rendering/style/RenderStyle.h:
413         (WebCore::InheritedFlags::setVisitedLinkColor):
414         (WebCore::InheritedFlags::setVisitedLinkBackgroundColor):
415         (WebCore::InheritedFlags::setVisitedLinkBorderLeftColor):
416         (WebCore::InheritedFlags::setVisitedLinkBorderRightColor):
417         (WebCore::InheritedFlags::setVisitedLinkBorderBottomColor):
418         (WebCore::InheritedFlags::setVisitedLinkBorderTopColor):
419         (WebCore::InheritedFlags::setVisitedLinkOutlineColor):
420         (WebCore::InheritedFlags::setVisitedLinkColumnRuleColor):
421         (WebCore::InheritedFlags::setVisitedLinkTextEmphasisColor):
422         (WebCore::InheritedFlags::setVisitedLinkTextFillColor):
423         (WebCore::InheritedFlags::setVisitedLinkTextStrokeColor):
424         * rendering/style/RenderStyleConstants.h:
425         * rendering/style/SVGRenderStyle.h:
426         (WebCore::SVGRenderStyle::setVisitedLinkFillPaint):
427         (WebCore::SVGRenderStyle::setVisitedLinkStrokePaint):
428         (WebCore::SVGRenderStyle::visitedLinkFillPaintType):
429         (WebCore::SVGRenderStyle::visitedLinkFillPaintColor):
430         (WebCore::SVGRenderStyle::visitedLinkStrokePaintType):
431         (WebCore::SVGRenderStyle::visitedLinkStrokePaintColor):
432         * rendering/style/SVGRenderStyleDefs.cpp:
433         (WebCore::StyleFillData::StyleFillData):
434         (WebCore::StyleFillData::operator==):
435         (WebCore::StyleStrokeData::StyleStrokeData):
436         (WebCore::StyleStrokeData::operator==):
437         * rendering/style/SVGRenderStyleDefs.h:
438         * rendering/style/StyleInheritedData.cpp:
439         (WebCore::StyleInheritedData::StyleInheritedData):
440         (WebCore::StyleInheritedData::operator==):
441         * rendering/style/StyleInheritedData.h:
442         * rendering/style/StyleMultiColData.cpp:
443         (WebCore::StyleMultiColData::StyleMultiColData):
444         (WebCore::StyleMultiColData::operator==):
445         * rendering/style/StyleMultiColData.h:
446         * rendering/style/StyleRareInheritedData.cpp:
447         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
448         (WebCore::StyleRareInheritedData::operator==):
449         * rendering/style/StyleRareInheritedData.h:
450         * rendering/style/StyleRareNonInheritedData.cpp:
451         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
452         (WebCore::StyleRareNonInheritedData::operator==):
453         * rendering/style/StyleRareNonInheritedData.h:
454         * rendering/svg/RenderSVGResource.cpp:
455         (WebCore::requestPaintingResource):
456
457 2011-10-17  Eric Carlson  <eric.carlson@apple.com>
458
459         Cues should be loaded by the cached resource loader
460         https://bugs.webkit.org/show_bug.cgi?id=70134
461
462         Reviewed by Darin Adler.
463
464         No new tests, changes covered by existing tests.
465
466         * CMakeLists.txt: Add CachedCues.cpp/h.
467         * GNUmakefile.list.am: Ditto.
468         * WebCore.gypi: Ditto.
469         * WebCore.xcodeproj/project.pbxproj: Ditto.
470
471         * loader/cache/CachedCues.cpp: Added.
472         (WebCore::CachedCues::CachedCues):
473         (WebCore::CachedCues::~CachedCues):
474         (WebCore::CachedCues::data): Called when new data has been loaded, pass it to all registered
475             clients.
476         * loader/cache/CachedCues.h: Added.
477
478         * loader/cache/CachedResource.cpp:
479         (WebCore::defaultPriorityForResourceType): Cues have low loader priority.
480         * loader/cache/CachedResource.h:
481
482         * loader/cache/CachedResourceClient.h:
483         (WebCore::CachedResourceClient::didReceiveData): New client interface.
484
485         * loader/cache/CachedResourceLoader.cpp:
486         (WebCore::createResource): Create and return a new cue loader.
487         (WebCore::CachedResourceLoader::requestCues):
488         (WebCore::CachedResourceLoader::checkInsecureContent): Cues aren't mentioned in the CPS spec
489             yet, but they only work with a media element so use the mdia policy.
490         (WebCore::CachedResourceLoader::canRequest): Allow cues to be loaded from any origin like media.
491         * loader/cache/CachedResourceLoader.h:
492
493         * loader/cache/CachedResourceRequest.cpp:
494         (WebCore::cachedResourceTypeToTargetType):
495         * platform/network/chromium/ResourceRequest.h:
496
497 2011-10-17  Dan Bernstein  <mitz@apple.com>
498
499         <rdar://problem/10293929> REGRESSION (r97525): iChat transcript has horizontal scroll bar when the conversation includes a wide image
500         https://bugs.webkit.org/show_bug.cgi?id=70204
501
502         Reviewed by Darin Adler.
503
504         Reverted r97525, which was supposed to fix <http://webkit.org/b/29447>.
505
506         * rendering/RenderBox.cpp:
507         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
508         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
509         * rendering/RenderBox.h:
510
511 2011-10-17  Ada Chan  <adachan@apple.com>
512
513         Export KURL::baseAsString() so it can be called in WebProcessProxy::assumeReadAccessToBaseURL() in WebKit2.
514         https://bugs.webkit.org/show_bug.cgi?id=70168
515
516         Reviewed by Alexey Proskuryakov.
517
518         No new tests. There is no change in functionality.
519
520         * WebCore.exp.in: Export KURL::baseAsString().
521
522 2011-10-17  Ryosuke Niwa  <rniwa@webkit.org>
523
524         Touch Internals.cpp to make 64-bit GTK+ build happy.
525
526         * testing/Internals.cpp:
527
528 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
529
530         AX: children() method should be consolidated in AccessibilityObject
531         https://bugs.webkit.org/show_bug.cgi?id=70243
532
533         Code cleanup, no new tests.
534
535         Reviewed by Darin Adler.
536
537         * accessibility/AccessibilityObject.cpp:
538         (WebCore::AccessibilityObject::children):
539         * accessibility/AccessibilityObject.h:
540         * accessibility/AccessibilityRenderObject.cpp:
541         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
542         * accessibility/AccessibilityRenderObject.h:
543         * accessibility/AccessibilityScrollView.cpp:
544         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
545         (WebCore::AccessibilityScrollView::updateScrollbars):
546         (WebCore::AccessibilityScrollView::addChildren):
547         * accessibility/AccessibilityScrollView.h:
548         * accessibility/AccessibilitySlider.cpp:
549         * accessibility/AccessibilitySlider.h:
550         * accessibility/AccessibilityTableColumn.cpp:
551         * accessibility/AccessibilityTableColumn.h:
552         * accessibility/AccessibilityTableHeaderContainer.cpp:
553         * accessibility/AccessibilityTableHeaderContainer.h:
554
555 2011-10-17  Vsevolod Vlasov  <vsevik@chromium.org>
556
557         Web Inspector: Search matches highlighting in text does not work correctly.
558         https://bugs.webkit.org/show_bug.cgi?id=70244
559
560         Reviewed by Pavel Feldman.
561
562         Test: inspector/utilities-highlight-results.html
563
564         * inspector/front-end/utilities.js:
565         ():
566
567 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
568
569         AX: webkit won't always send live region notifications
570         https://bugs.webkit.org/show_bug.cgi?id=70030
571
572         Webkit purposefully does not send live region notifications if some AT client has not accessed the AX tree in between 
573         the last live region update (ostensibly to improve performance).
574         However, this is problematic if a screen reader misses one notification... it has no idea what happened and the only 
575         recourse is to rescan the page for changes. The correct thing to do is to always send notifications.
576
577         Reviewed by Darin Adler.
578
579         Test: platform/mac/accessibility/aria-liveregions-notifications-always-sent.html
580
581         * accessibility/AccessibilityRenderObject.cpp:
582         (WebCore::AccessibilityRenderObject::childrenChanged):
583
584 2011-10-12  Pavel Podivilov  <podivilov@chromium.org>
585
586         Web Inspector: fix handling of source mapping entries with no mapping.
587         https://bugs.webkit.org/show_bug.cgi?id=69941
588
589         Reviewed by Pavel Feldman.
590
591         * inspector/front-end/CompilerSourceMapping.js:
592         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
593
594 2011-10-17  Mikhail Naganov  <mnaganov@chromium.org>
595
596         Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
597         https://bugs.webkit.org/show_bug.cgi?id=61179
598
599         This is exteremely helpful when dealing with DOM wrappers, as
600         their properties are mostly implemented with getters and thus not
601         stored in heap snapshots.
602
603         Reviewed by Pavel Feldman.
604
605         * English.lproj/localizedStrings.js:
606         * bindings/js/ScriptProfiler.cpp:
607         (WebCore::ScriptProfiler::objectByHeapObjectId):
608         * bindings/js/ScriptProfiler.h:
609         * bindings/v8/ScriptProfiler.cpp:
610         (WebCore::ScriptProfiler::objectByHeapObjectId):
611         * bindings/v8/ScriptProfiler.h:
612         * inspector/Inspector.json:
613         * inspector/InspectorController.cpp:
614         (WebCore::InspectorController::InspectorController):
615         * inspector/InspectorProfilerAgent.cpp:
616         (WebCore::InspectorProfilerAgent::create):
617         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
618         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
619         * inspector/InspectorProfilerAgent.h:
620         * inspector/front-end/DetailedHeapshotGridNodes.js:
621         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
622         (WebInspector.HeapSnapshotGenericObjectNode):
623         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
624         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
625         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
626         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
627         * inspector/front-end/DetailedHeapshotView.js:
628         (WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
629         * inspector/front-end/HeapSnapshot.js:
630         (WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
631         (WebInspector.HeapSnapshotNode.prototype.get flags):
632         (WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
633         (WebInspector.HeapSnapshot.prototype._init):
634         (WebInspector.HeapSnapshot.prototype.dispose):
635         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
636         (WebInspector.HeapSnapshot.prototype._calculateFlags):
637         (WebInspector.HeapSnapshot.prototype.updateStaticData):
638         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
639         * inspector/front-end/HeapSnapshotProxy.js:
640         (WebInspector.HeapSnapshotProxy.prototype.get nodeFlags):
641         * inspector/front-end/RemoteObject.js:
642         (WebInspector.RemoteObject.fromError):
643         * inspector/front-end/heapProfiler.css:
644         (.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight):
645
646 2011-10-17  Alexander Pavlov  <apavlov@chromium.org>
647
648         Web Inspector: Editing CSS selector doesn't fire onResourceContentCommitted
649         https://bugs.webkit.org/show_bug.cgi?id=70018
650
651         Reviewed by Yury Semikhatsky.
652
653         Test: inspector/styles/commit-selector.html
654
655         * inspector/front-end/CSSStyleModel.js:
656         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
657         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
658
659 2011-10-17  Andreas Kling  <kling@webkit.org>
660
661         CSS/XSLStyleSheet: Remove insert() and remove().
662         https://bugs.webkit.org/show_bug.cgi?id=70226
663
664         Reviewed by Antti Koivisto.
665
666         Remove insert() and remove() from XSLStyleSheet. CSSStyleSheet retains remove()
667         since it's used by InspectorStyleSheet as well as SVGFontFaceElement.
668
669         * css/CSSStyleSheet.cpp:
670         (WebCore::CSSStyleSheet::remove):
671
672             Remove range check. This method is internal to WebKit and the call sites
673             already take care of it.
674
675         (WebCore::CSSStyleSheet::insertRule):
676         (WebCore::CSSStyleSheet::deleteRule):
677         * css/CSSStyleSheet.h:
678         * xml/XSLStyleSheet.h:
679
680 2011-10-17  Rosen Dash  <rosen.dash@motorola.com>
681
682         when CSS pseudo selectors are applied (:before and :after) the *-of-line keyboard navigation does not work
683         https://bugs.webkit.org/show_bug.cgi?id=10123
684
685         Reviewed by Ryosuke Niwa.
686
687         This patch addresses folllowing two issues:
688         1. When CSS pseudo elements are before or after is used with content attribute containing single character
689            at the start/end of text and we try to move cursor by right navigation key, the page freezes falling
690            into an infinite loop.
691         2. When these elements try to insert some text between a text line, navigation by right/left arrow key is prohibited.
692
693         Tests: editing/selection/css-pseudo-element-hang.html
694                editing/selection/css-pseudo-element.html
695
696         * editing/VisiblePosition.cpp:
697         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
698         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
699
700 2011-10-15  Antti Koivisto  <antti@apple.com>
701
702         Test :visited pseudo class
703         https://bugs.webkit.org/show_bug.cgi?id=70219
704
705         Reviewed by Andreas Kling.
706         
707         Currently DRT doesn't support :visited. All tests where it should match have wrong checked in results.
708         
709         - Make <a href=""> to match :visited in DRT. It already does on browsers. A number of existing tests 
710           for :visited use it already, the rest can be modified to use it.
711         - Make render tree dumps correctly dump the visited state dependent color.
712
713         * css/SelectorChecker.cpp:
714         (WebCore::SelectorChecker::determineLinkStateSlowCase):
715         * rendering/RenderTreeAsText.cpp:
716         (WebCore::RenderTreeAsText::writeRenderObject):
717
718 2011-10-17  Satish Sampath  <satish@chromium.org>
719
720         Avoid leaking document when leaving google.com due to geolocation
721         permission request.
722         https://bugs.webkit.org/show_bug.cgi?id=58027
723
724         Reviewed by Kenneth Rohde Christiansen.
725
726         * page/Geolocation.cpp:
727         (WebCore::Geolocation::Watchers::find): added
728         (WebCore::Geolocation::reset): cleared all pending notifiers.
729         (WebCore::Geolocation::clearWatch): removed from pending notifier set.
730         * page/Geolocation.h:
731         (WebCore::Geolocation::Watchers::find): added
732
733 2011-10-17  Andrei Lavreniyuk  <andy.lavr@gmail.com>
734
735         Fix clang WebKitGTK+ build.
736
737         Reviewed by Martin Robinson.
738
739         * plugins/gtk/PluginViewGtk.cpp:
740
741 2011-10-16  Adam Barth  <abarth@webkit.org>
742
743         Always disable ENABLE(ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL) and delete associated code
744         https://bugs.webkit.org/show_bug.cgi?id=70216
745
746         Reviewed by Eric Seidel.
747
748         No port enables this feature.  It was added for the previous Android
749         port (and should have been an editing behavior in any case).
750
751         * html/HTMLTextAreaElement.cpp:
752         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
753
754 2011-10-16  Ryosuke Niwa  <rniwa@webkit.org>
755
756         Expose rangeFromLocationAndLength and locationAndLengthFromRange via internals object
757         https://bugs.webkit.org/show_bug.cgi?id=68330
758
759         Reviewed by Hajime Morita.
760
761         Add rangeFromLocationAndLength, locationFromRange, and lengthFromRange to window.internals.
762
763         Test: editing/text-iterator/range-to-from-location-and-length.html
764
765         * WebCore.exp.in:
766         * testing/Internals.cpp:
767         (WebCore::Internals::scrollElementToRect):
768         (WebCore::Internals::rangeFromLocationAndLength):
769         (WebCore::Internals::locationFromRange):
770         (WebCore::Internals::lengthFromRange):
771         * testing/Internals.h:
772         * testing/Internals.idl:
773
774 2011-10-16  Kentaro Hara  <haraken@chromium.org>
775
776         Generate MessageChannel constructor by [Constructor] IDL
777         https://bugs.webkit.org/show_bug.cgi?id=70214
778
779         Reviewed by Adam Barth.
780
781         This patch generates an MessageChannel constructor for JSC by [Constructor] IDL,
782         but V8 is still using a custom constructor since the V8 constructor requires special logic.
783
784         Tests: fast/dom/global-constructors.html
785                fast/events/message-port.html
786                fast/events/message-port-no-wrapper.html
787                fast/dom/Window/window-postmessage-args.html
788
789         * bindings/js/JSMessageChannelCustom.cpp: Removed the MessageChannel constructor.
790         * dom/MessageChannel.idl: Generates the MessageChannel constructor for JSC.
791
792 2011-10-16  Ryosuke Niwa  <rniwa@webkit.org>
793
794         [Mac] fontForSelection and styleForSelectionStart should be moved to EditorMac
795         https://bugs.webkit.org/show_bug.cgi?id=70114
796
797         Reviewed by Hajime Morita.
798
799         Moved fontForSelection and styleForSelectionStart from Editor to EditorMac
800         and made styleForSelectionStart static local.
801
802         * editing/Editor.cpp:
803         * editing/Editor.h:
804         * editing/mac/EditorMac.mm:
805         (WebCore::styleForSelectionStart):
806         (WebCore::Editor::fontForSelection):
807         (WebCore::Editor::fontAttributesForSelectionStart):
808
809 2011-10-16  Kentaro Hara  <haraken@chromium.org>
810
811         Generate EventSource constructor for JSC by [Constructor] IDL
812         https://bugs.webkit.org/show_bug.cgi?id=70212
813
814         Reviewed by Adam Barth.
815
816         Removed JSEventSourceCustom.cpp.
817
818         Tests: fast/dom/global-constructors.html
819                fast/eventsource/eventsource-constructor.html
820                fast/eventsource/eventsource-attribute-listeners.html
821
822         * GNUmakefile.list.am: Removed JSEventSourceCustom.cpp.
823         * UseJSC.cmake: Ditto.
824         * WebCore.gypi: Ditto.
825         * WebCore.pro: Ditto.
826         * WebCore.xcodeproj/project.pbxproj: Ditto.
827         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
828         * bindings/js/JSEventSourceCustom.cpp: Removed this file.
829         * page/EventSource.idl: Removed 'JSCustomConstructor' IDL.
830
831 2011-10-16  David Barr  <davidbarr@chromium.org>
832
833         Inline CSSPrimitiveValue::isQuirkValue() as non-virtual function
834         https://bugs.webkit.org/show_bug.cgi?id=64865
835
836         Reviewed by Darin Adler.
837
838         Based on profiling and patch from:
839         Tamas Czene <Czene.Tamas@stud.u-szeged.hu>
840
841         This is expected to produce a small performance progression.
842         Additional memory overhead is avoided by using spare bits.
843         CSSQuirkPrimitiveValue is removed as it becomes just a factory.
844
845         * GNUmakefile.list.am:
846         * WebCore.gypi:
847         * WebCore.order:
848         * WebCore.vcproj/WebCore.vcproj:
849         * WebCore.xcodeproj/project.pbxproj:
850         * css/CSSParser.cpp:
851         (WebCore::CSSParser::parseValidPrimitive):
852         * css/CSSParserValues.cpp:
853         (WebCore::CSSParserValue::createCSSValue):
854         * css/CSSPrimitiveValue.cpp:
855         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
856         * css/CSSPrimitiveValue.h:
857         (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
858         Moved from CSSQuirkPrimitiveValue::create.
859         (WebCore::CSSPrimitiveValue::isQuirkValue):
860         * css/CSSQuirkPrimitiveValue.h: Removed.
861         * css/SVGCSSParser.cpp:
862         (WebCore::CSSParser::parseSVGValue):
863
864 2011-10-16  Kentaro Hara  <haraken@chromium.org>
865
866         Generate XMLHttpRequest constructor for JSC by [Constructor] IDL
867         https://bugs.webkit.org/show_bug.cgi?id=70208
868
869         Reviewed by Adam Barth.
870
871         This patch generates an XMLHttpRequest constructor for JSC by [Constructor] IDL,
872         but V8 is still using a custom constructor since the V8 constructor requires a special logic.
873
874         Tests: fast/dom/global-constructors.html
875                fast/dom/XMLHttpRequest-constants.html
876                fast/dom/xmlhttprequest-constructor-in-detached-document.html
877                http/tests/security/cookies/xmlhttprequest.html
878
879         * bindings/js/JSXMLHttpRequestCustom.cpp: Removed an XMLHttpRequest custom constructor.
880         * bindings/scripts/CodeGeneratorV8.pm: Currently, CodeGeneratorV8.pm generates constructor code whenever [Constructor] is specified, even if [V8CustomConstructor] is specified. This is wrong. This patch fixes the condition where the constructor code is generated.
881         * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-binding-tests result.
882         * xml/XMLHttpRequest.h: Added a necessary header.
883         * xml/XMLHttpRequest.idl: V8 is still using a custom constructor.
884
885 2011-10-16  Kentaro Hara  <haraken@chromium.org>
886
887         Generate XSLTProcessor constructor for JSC by [Constructor] IDL.
888         https://bugs.webkit.org/show_bug.cgi?id=70206
889
890         Reviewed by Adam Barth.
891
892         Tests: fast/xsl/xslt-processor.html
893                fast/xsl/default-html.html
894                fast/dom/global-constructors.html
895
896         * bindings/js/JSXSLTProcessorCustom.cpp: Removed a custom constructor.
897         * xml/XSLTProcessor.idl: Removed 'JSCustomConstructor'.
898
899 2011-10-16  Kentaro Hara  <haraken@chromium.org>
900
901         Support [Constructor] IDL for JSC.
902         https://bugs.webkit.org/show_bug.cgi?id=70101
903
904         Reviewed by Adam Barth.
905
906         The spec for [Constructor] IDL is here: http://www.w3.org/TR/WebIDL/#Constructor
907         This patch introduced [Constructor] IDL for JSC. This patch also added
908         [ConstructorRaisesException] for JSC. If [ConstructorRaisesException] is specified,
909         a placeholder for ExceptionCode is passed to XXX::create(), like XXX::create(..., ec).
910
911         Notes:
912         - We do not yet support constructor overloading.
913         - We do not yet support [Optional] without CallWithDefaultValue for constructor arguments.
914
915         Tests: Source/WebCore/bindings/scripts/test/TestInterface.idl
916                Source/WebCore/bindings/scripts/test/TestObj.idl
917
918         * bindings/scripts/CodeGeneratorJS.pm:
919         (GenerateHeader): Generates constructor declaration code to a header file, if a given DOM object has constructor.
920         (GenerateImplementation): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
921         (GenerateArgumentsCountCheck): Splits out of GenerateImplementation() for reuse.
922         (GenerateParametersCheck): Splits out of GenerateImplementation() for reuse.
923         (GenerateConstructorDefinition): Generates constructor definition code.
924         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the run-binding-tests results.
925         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
926         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
927         (WebCore::JSTestInterfaceConstructor::create):
928         (WebCore::JSTestInterfaceConstructor::createStructure):
929         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
930         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
931         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
932         (WebCore::JSTestMediaQueryListListenerConstructor::create):
933         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
934         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
935         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
936         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
937         (WebCore::jsTestObjPrototypeFunctionIntMethod):
938         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
939         (WebCore::jsTestObjPrototypeFunctionObjMethod):
940         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
941         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
942         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
943         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
944         (WebCore::jsTestObjPrototypeFunctionIdbKey):
945         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
946         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
947         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
948         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
949         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
950         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
951         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
952         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
953         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
954         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
955         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
956         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
957         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
958         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
959         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
960         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
961         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
962         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
963         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
964         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
965         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
966         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
967         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
968         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
969         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
970         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
971         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
972         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
973         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
974         (WebCore::jsTestObjPrototypeFunctionClassMethod):
975         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
976         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
977         (WebCore::JSTestObjConstructor::create):
978         (WebCore::JSTestObjConstructor::createStructure):
979         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
980         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
981         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
982         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
983
984 2011-10-16  Dmitry Lomov  <dslomov@google.com>
985
986         https://bugs.webkit.org/show_bug.cgi?id=70186
987         Pass MessagePortArray to JSC's SerializedScriptValue::serialize/deserialize.
988
989         Reviewed by Oliver Hunt.
990
991         * bindings/js/JSDOMWindowCustom.cpp:
992         (WebCore::handlePostMessage):
993         (WebCore::JSDOMWindow::postMessage):
994         (WebCore::JSDOMWindow::webkitPostMessage):
995         * bindings/js/JSDictionary.cpp:
996         (WebCore::JSDictionary::convertValue):
997         * bindings/js/JSHistoryCustom.cpp:
998         (WebCore::JSHistory::pushState):
999         (WebCore::JSHistory::replaceState):
1000         * bindings/js/JSMessageEventCustom.cpp:
1001         (WebCore::JSMessageEvent::data):
1002         (WebCore::handleInitMessageEvent):
1003         (WebCore::JSMessageEvent::initMessageEvent):
1004         (WebCore::JSMessageEvent::webkitInitMessageEvent):
1005         * bindings/js/JSMessagePortCustom.h:
1006         (WebCore::handlePostMessage):
1007         * bindings/js/JSPopStateEventCustom.cpp:
1008         (WebCore::JSPopStateEvent::state):
1009         * bindings/js/ScriptValue.cpp:
1010         (WebCore::ScriptValue::serialize):
1011         (WebCore::ScriptValue::deserialize):
1012         * bindings/js/SerializedScriptValue.cpp:
1013         (WebCore::SerializedScriptValue::create):
1014         (WebCore::SerializedScriptValue::deserialize):
1015         * bindings/js/SerializedScriptValue.h:
1016
1017 2011-10-16  Dan Bernstein  <mitz@apple.com>
1018
1019         REGRESSION (r96620): Float-avoiding block positioned incorrectly in right-to-left block
1020         https://bugs.webkit.org/show_bug.cgi?id=70197
1021
1022         Reviewed by Dave Kilzer.
1023
1024         Test: fast/block/float/avoidance-rtl.html
1025
1026         * rendering/RenderBlock.cpp:
1027         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Changed
1028         logicalLeftOffsetForContent() to startOffsetForContent() to get the right value in the
1029         right-to-left case.
1030
1031 2011-10-16  Adam Barth  <abarth@webkit.org>
1032
1033         Always enable ENABLE(DOM_STORAGE)
1034         https://bugs.webkit.org/show_bug.cgi?id=70189
1035
1036         Reviewed by Eric Seidel.
1037
1038         As discussed on webkit-dev, we are reducing the complexity of WebKit by
1039         removing unnecessary configuration options.  DOMStorage is not a core
1040         part of the web platform.  It should always be enabled.
1041
1042         * CMakeLists.txt:
1043         * Configurations/FeatureDefines.xcconfig:
1044         * GNUmakefile.am:
1045         * GNUmakefile.list.am:
1046         * UseJSC.cmake:
1047         * WebCore.exp.in:
1048         * WebCore.pro:
1049         * bindings/js/JSEventCustom.cpp:
1050         * bindings/js/JSInjectedScriptHostCustom.cpp:
1051         * bindings/js/JSStorageCustom.cpp:
1052         * bindings/v8/custom/V8EventCustom.cpp:
1053         (WebCore::toV8):
1054         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1055         (WebCore::V8InjectedScriptHost::storageIdCallback):
1056         * bindings/v8/custom/V8StorageCustom.cpp:
1057         * dom/Document.cpp:
1058         (WebCore::Document::createEvent):
1059         * dom/Event.cpp:
1060         (WebCore::Event::isStorageEvent):
1061         * dom/Event.h:
1062         * dom/Node.cpp:
1063         * features.pri:
1064         * inspector/InjectedScriptHost.cpp:
1065         (WebCore::InjectedScriptHost::InjectedScriptHost):
1066         (WebCore::InjectedScriptHost::disconnect):
1067         (WebCore::InjectedScriptHost::storageIdImpl):
1068         * inspector/InjectedScriptHost.h:
1069         (WebCore::InjectedScriptHost::init):
1070         * inspector/InspectorController.cpp:
1071         (WebCore::InspectorController::InspectorController):
1072         (WebCore::InspectorController::connectFrontend):
1073         (WebCore::InspectorController::disconnectFrontend):
1074         (WebCore::InspectorController::restoreInspectorStateFromCookie):
1075         * inspector/InspectorController.h:
1076         * inspector/InspectorDOMStorageAgent.cpp:
1077         * inspector/InspectorDOMStorageResource.cpp:
1078         * inspector/InspectorDOMStorageResource.h:
1079         * inspector/InspectorInstrumentation.cpp:
1080         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1081         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
1082         * inspector/InspectorInstrumentation.h:
1083         (WebCore::InspectorInstrumentation::didUseDOMStorage):
1084         * inspector/InstrumentingAgents.h:
1085         (WebCore::InstrumentingAgents::InstrumentingAgents):
1086         * inspector/WorkerInspectorController.cpp:
1087         (WebCore::WorkerInspectorController::WorkerInspectorController):
1088         (WebCore::WorkerInspectorController::connectFrontend):
1089         * inspector/generate-inspector-idl:
1090         * page/Chrome.cpp:
1091         * page/DOMWindow.cpp:
1092         (WebCore::DOMWindow::~DOMWindow):
1093         (WebCore::DOMWindow::clear):
1094         (WebCore::DOMWindow::localStorage):
1095         * page/DOMWindow.h:
1096         * page/DOMWindow.idl:
1097         * page/Navigator.cpp:
1098         (WebCore::Navigator::getStorageUpdates):
1099         * page/Navigator.h:
1100         * page/Navigator.idl:
1101         * page/Page.cpp:
1102         * page/Page.h:
1103         * page/PageGroup.cpp:
1104         (WebCore::PageGroup::closeLocalStorage):
1105         * page/PageGroup.h:
1106         * page/Settings.cpp:
1107         (WebCore::Settings::Settings):
1108         (WebCore::Settings::setSessionStorageQuota):
1109         * page/Settings.h:
1110         (WebCore::Settings::sessionStorageQuota):
1111         * storage/LocalStorageTask.cpp:
1112         * storage/LocalStorageTask.h:
1113         * storage/LocalStorageThread.cpp:
1114         * storage/LocalStorageThread.h:
1115         * storage/Storage.cpp:
1116         * storage/Storage.h:
1117         * storage/Storage.idl:
1118         * storage/StorageArea.h:
1119         * storage/StorageAreaImpl.cpp:
1120         * storage/StorageAreaImpl.h:
1121         * storage/StorageAreaSync.cpp:
1122         (WebCore::StorageAreaSync::scheduleSync):
1123         * storage/StorageAreaSync.h:
1124         * storage/StorageEvent.cpp:
1125         * storage/StorageEvent.h:
1126         * storage/StorageEvent.idl:
1127         * storage/StorageEventDispatcher.cpp:
1128         * storage/StorageEventDispatcher.h:
1129         * storage/StorageMap.cpp:
1130         * storage/StorageMap.h:
1131         * storage/StorageNamespace.cpp:
1132         * storage/StorageNamespace.h:
1133         * storage/StorageNamespaceImpl.cpp:
1134         * storage/StorageNamespaceImpl.h:
1135         * storage/StorageSyncManager.cpp:
1136         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
1137         * storage/StorageSyncManager.h:
1138         * storage/StorageTracker.cpp:
1139         * storage/StorageTracker.h:
1140
1141 2011-10-15  Adam Barth  <abarth@webkit.org>
1142
1143         Rename ENABLE(SKIA_TEXT) to USE(SKIA_TEXT)
1144         https://bugs.webkit.org/show_bug.cgi?id=70191
1145
1146         Reviewed by Daniel Bates.
1147
1148         SKIA_TEXT is not a WebKit feature.  It's a macro that determines
1149         whether we use a feature of the underly library (Skia).
1150
1151         * platform/graphics/chromium/FontChromiumWin.cpp:
1152         (WebCore::Font::drawComplexText):
1153         * platform/graphics/chromium/UniscribeHelper.cpp:
1154         (WebCore::UniscribeHelper::draw):
1155         * platform/graphics/skia/PlatformContextSkia.cpp:
1156         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
1157         * platform/graphics/skia/PlatformContextSkia.h:
1158         * platform/graphics/skia/SkiaFontWin.cpp:
1159         * platform/graphics/skia/SkiaFontWin.h:
1160
1161 2011-10-15  Eric Carlson  <eric.carlson@apple.com>
1162
1163         Make VIDEO_TRACK compile with warnings as errors enabled
1164         https://bugs.webkit.org/show_bug.cgi?id=70188
1165
1166         Reviewed by Filip Pizlo.
1167
1168         No new tests, no functionality changed.
1169
1170         * html/TextTrackCueList.h: Fix an include.
1171         * html/track/CueParser.cpp:
1172         (WebCore::CueParser::supportsType): Remove unused param.
1173         * html/track/CueParser.h:
1174         (WebCore::CueParserClient::~CueParserClient): Add virtual destructor.
1175         * html/track/CueParserPrivate.h:
1176         (WebCore::CueParserPrivateClient::~CueParserPrivateClient): Ditto.
1177         * loader/CueLoader.h:
1178         (WebCore::CueLoaderClient::~CueLoaderClient): Ditto.
1179         (WebCore::CueLoader::~CueLoader): Ditto.
1180
1181 2011-10-15  Adam Barth  <abarth@webkit.org>
1182
1183         Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
1184         https://bugs.webkit.org/show_bug.cgi?id=70194
1185
1186         Reviewed by Daniel Bates.
1187
1188         TILED_BACKING_STORE isn't a web platform feature.  It's an
1189         implementation strategy for WebKit that's used by some ports
1190         and not by others.
1191
1192         * features.pri:
1193         * loader/EmptyClients.h:
1194         * page/Chrome.cpp:
1195         * page/Chrome.h:
1196         * page/ChromeClient.h:
1197         * page/Frame.cpp:
1198         (WebCore::Frame::Frame):
1199         (WebCore::Frame::setView):
1200         * page/Frame.h:
1201         * page/FrameView.cpp:
1202         (WebCore::FrameView::repaintContentRectangle):
1203         (WebCore::FrameView::doDeferredRepaints):
1204         * page/Settings.cpp:
1205         (WebCore::Settings::setTiledBackingStoreEnabled):
1206         * platform/HostWindow.h:
1207         * platform/ScrollView.cpp:
1208         (WebCore::ScrollView::setScrollPosition):
1209         * platform/graphics/Tile.h:
1210         * platform/graphics/TiledBackingStore.cpp:
1211         * platform/graphics/TiledBackingStore.h:
1212         * platform/graphics/TiledBackingStoreBackend.h:
1213         * platform/graphics/TiledBackingStoreClient.h:
1214         * platform/graphics/qt/GraphicsLayerQt.cpp:
1215         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
1216         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
1217         (WebCore::GraphicsLayerQtImpl::recache):
1218         (WebCore::GraphicsLayerQtImpl::paint):
1219         * platform/graphics/qt/TileQt.cpp:
1220         * platform/graphics/qt/TileQt.h:
1221         * platform/graphics/texmap/TextureMapperNode.cpp:
1222         (WebCore::TextureMapperNode::computeTiles):
1223         (WebCore::TextureMapperNode::renderContent):
1224         (WebCore::TextureMapperNode::paintSelf):
1225         (WebCore::TextureMapperNode::syncCompositingStateSelf):
1226         * platform/graphics/texmap/TextureMapperNode.h:
1227         (WebCore::TextureMapperNode::State::State):
1228
1229 2011-10-15  Adam Barth  <abarth@webkit.org>
1230
1231         Remove the last remnant of WBXML
1232         https://bugs.webkit.org/show_bug.cgi?id=70187
1233
1234         Reviewed by Daniel Bates.
1235
1236         The bulk of the WBXML code was removed in 2009, but we missed one block.
1237
1238         * platform/wince/MIMETypeRegistryWinCE.cpp:
1239         (WebCore::initMIMETypeEntensionMap):
1240
1241 2011-10-15  Darin Adler  <darin@apple.com>
1242
1243         REGRESSION(r97533): fast/forms/select-script-onchange.html failed after
1244         https://bugs.webkit.org/show_bug.cgi?id=70173
1245
1246         Reviewed by Ryosuke Niwa.
1247
1248         * html/HTMLSelectElement.cpp:
1249         (WebCore::HTMLSelectElement::setValue): Removed unneeded boolean argument
1250         [true for deselect].
1251         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Added explicit
1252         boolean arguments for all calls to setSelectedIndex to restore pre-r97533
1253         behavior.
1254         (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
1255         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
1256
1257         * html/HTMLSelectElement.h:
1258         Removed default of true for userDrivenChange. Each caller should pass it
1259         explicitly. Longer term we should use an enum instead of a boolean or find
1260         some other way of avoiding the argument.
1261         (WebCore::HTMLSelectElement::setSelectedIndex):
1262         Pass false for userDrivenChange as the old code did pre-r97533.
1263
1264 2011-10-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1265
1266         [Qt] [Symbian] Remove support for the Symbian platform for the QtWebKit port
1267         https://bugs.webkit.org/show_bug.cgi?id=69920
1268
1269         Reviewed by Kenneth Rohde Christiansen.
1270
1271         No new tests as there is no new functionality.
1272
1273         * WebCore.gypi:
1274         * WebCore.pri:
1275         * WebCore.pro:
1276         * bindings/v8/V8GCController.cpp:
1277         (WebCore::V8GCController::checkMemoryUsage):
1278         * config.h:
1279         * css/CSSPrimitiveValueMappings.h:
1280         (WebCore::CSSPrimitiveValue::operator int):
1281         * features.pri:
1282         * page/NavigatorBase.cpp:
1283         * platform/graphics/qt/GraphicsContextQt.cpp:
1284         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1285         * platform/network/qt/ResourceRequestQt.cpp:
1286         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
1287         * platform/text/qt/TextCodecQt.cpp:
1288         (WebCore::TextCodecQt::decode):
1289         * plugins/PluginDatabase.cpp:
1290         * plugins/PluginPackage.cpp:
1291         (WebCore::PluginPackage::unload):
1292         * plugins/PluginPackage.h:
1293         (WebCore::PluginPackage::version):
1294         * plugins/PluginView.cpp:
1295         (WebCore::PluginView::setFrameRect):
1296         * plugins/PluginView.h:
1297         * plugins/npapi.h:
1298         * plugins/symbian: Removed.
1299         * plugins/symbian/PluginContainerSymbian.cpp: Removed.
1300         * plugins/symbian/PluginContainerSymbian.h: Removed.
1301         * plugins/symbian/PluginDatabaseSymbian.cpp: Removed.
1302         * plugins/symbian/PluginPackageSymbian.cpp: Removed.
1303         * plugins/symbian/PluginViewSymbian.cpp: Removed.
1304         * plugins/symbian/npinterface.h: Removed.
1305
1306 2011-10-08  Robert Hogan  <robert@webkit.org>
1307
1308         CSS 2.1 failure: height-width-table-001.htm
1309         https://bugs.webkit.org/show_bug.cgi?id=69709
1310
1311         Reviewed by Simon Fraser.
1312
1313         CSS 2.1 expects CSS table elements to treat fixed height/width as
1314         excluding table borders, but HTML table elements to treat fixed height/width as
1315         including them.
1316         
1317         See http://lists.w3.org/Archives/Public/www-style/2011Jan/0178.html
1318             http://lists.w3.org/Archives/Public/public-css-testsuite/2011Oct/0005.html
1319             
1320         It looks like some clarification is pending in the specs, but the new behaviour
1321         lets WebKit pass the following tests in the suite CSS and also match FF:
1322           height-width-table-001.htm
1323           height-width-inline-table-001.htm
1324           abspos-containing-block-initial-004d.htm
1325
1326         * rendering/RenderTable.cpp:
1327         (WebCore::RenderTable::computeLogicalWidth):
1328         (WebCore::RenderTable::layout):
1329
1330 2011-10-15  Darin Adler  <darin@apple.com>
1331
1332         Make toHTMLElement fail to compile if you try to use it on an HTMLElement*
1333         https://bugs.webkit.org/show_bug.cgi?id=70164
1334
1335         Reviewed by Adam Barth.
1336
1337         Refactoring covered by existing tests.
1338
1339         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1340         (WebCore::JSHTMLFrameSetElement::nameGetter): Removed unneeded casts and
1341         some unneeded local variables as well. Changed the name of the local variable
1342         for the HTMLFrameElement to frameElement to avoid confusion with the Frame.
1343         * dom/Document.cpp:
1344         (WebCore::Document::openSearchDescriptionURL): Removed unneeded HTMLElement
1345         check; we can call hasTagName directly on a Node and that takes care of
1346         checking both that it's an HTMLElement and checking the tag name.
1347         * dom/MicroDataItemList.cpp:
1348         (WebCore::MicroDataItemList::nodeMatches): Use toHTMLElement instead of
1349         a cast. Also changed hasAttribute calls to fastHasAttribute and getAttribute
1350         calls to fastGetAttribute since these are neither style attributes nor SVG
1351         animatables.
1352         * editing/ApplyStyleCommand.cpp:
1353         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Use toHTMLElement.
1354         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
1355         * editing/DeleteButtonController.cpp:
1356         (WebCore::DeleteButtonController::show): Removed unneeded toHTMLElement call.
1357         * html/HTMLElement.cpp:
1358         (WebCore::HTMLElement::setOuterHTML): Use toHTMLElement.
1359         * html/HTMLElement.h: Added toHTMLElement overload to catch calls when the
1360         pointer is already HTMLElement* or a pointer to a class derived from it.
1361         * html/HTMLSelectElement.cpp:
1362         (WebCore::HTMLSelectElement::recalcListItems): Use toHTMLElement.
1363         * html/HTMLTextAreaElement.cpp:
1364         (WebCore::HTMLTextAreaElement::innerTextElement): Use toHTMLElement.
1365
1366 2011-10-15  Antoine Labour  <piman@chromium.org>
1367
1368         Add WebAcceleratedContentLayer backed by a texture to support accelerated content hosting
1369         https://bugs.webkit.org/show_bug.cgi?id=70084
1370
1371         Reviewed by James Robinson.
1372
1373         Covered by existing compositing/ tests
1374
1375         * platform/graphics/chromium/LayerChromium.h:
1376         * platform/graphics/chromium/LayerRendererChromium.cpp:
1377         (WebCore::LayerRendererChromium::pluginLayerProgramFlip):
1378         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1379         * platform/graphics/chromium/LayerRendererChromium.h:
1380         * platform/graphics/chromium/PluginLayerChromium.cpp:
1381         (WebCore::PluginLayerChromium::PluginLayerChromium):
1382         (WebCore::PluginLayerChromium::setTextureId):
1383         (WebCore::PluginLayerChromium::setFlipped):
1384         (WebCore::PluginLayerChromium::pushPropertiesTo):
1385         * platform/graphics/chromium/PluginLayerChromium.h:
1386         (WebCore::PluginLayerChromium::flipped):
1387         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
1388         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
1389         (WebCore::CCPluginLayerImpl::draw):
1390         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
1391         (WebCore::CCPluginLayerImpl::setFlipped):
1392
1393 2011-10-15  Michael Nordman  <michaeln@google.com>
1394
1395         [Chromium] Some WebSQLDatabase in worker bug fixes.
1396         https://bugs.webkit.org/show_bug.cgi?id=70071
1397
1398         - Test for a NULL webView WebWorkerClientImpl.
1399         - Avoid altering Database instance lifetimes during WorkerThread::stop().
1400
1401         Existing tests coverage applies.
1402
1403         Reviewed by David Levin.
1404
1405         * storage/chromium/DatabaseTrackerChromium.cpp:
1406         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
1407
1408 2011-10-14  Adam Barth  <abarth@webkit.org>
1409
1410         Update expected results.
1411
1412         * bindings/scripts/test/V8/V8TestObj.cpp:
1413         (WebCore::TestObjInternal::serializedValueCallback):
1414
1415 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
1416
1417         GTK build fix after r97533.
1418
1419         * accessibility/gtk/AXObjectCacheAtk.cpp:
1420         (WebCore::notifyChildrenSelectionChange):
1421         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1422         (optionFromSelection):
1423         (webkit_accessible_selection_get_selection_count):
1424
1425 2011-10-14  David Kilzer  <ddkilzer@apple.com>
1426
1427         <http://webkit.org/b/70158> Fix clang compiler warnings
1428
1429         Reviewed by Darin Adler.
1430
1431         * dom/ViewportArguments.cpp:
1432         (WebCore::computeViewportAttributes): Use std::max<float>()
1433         instead of std::max().
1434
1435 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1436
1437         Rename getOwnPropertySlot to getOwnPropertySlotVirtual
1438         https://bugs.webkit.org/show_bug.cgi?id=69810
1439
1440         Reviewed by Geoffrey Garen.
1441
1442         No new tests.
1443
1444         Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
1445         in preparation for when we add the static getOwnPropertySlot to the MethodTable 
1446         in ClassInfo.
1447
1448         Also added a few static getOwnPropertySlot functions where they had been overlooked 
1449         before (especially in CodeGeneratorJS.pm).
1450
1451         * WebCore.exp.in:
1452         * bindings/js/JSDOMWindowCustom.cpp:
1453         (WebCore::JSDOMWindow::getOwnPropertySlotVirtual):
1454         (WebCore::JSDOMWindow::getOwnPropertySlot):
1455         (WebCore::DialogHandler::returnValue):
1456         * bindings/js/JSDOMWindowShell.cpp:
1457         (WebCore::JSDOMWindowShell::getOwnPropertySlotVirtual):
1458         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
1459         * bindings/js/JSDOMWindowShell.h:
1460         * bindings/js/JSWorkerContextCustom.cpp:
1461         (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
1462         * bindings/js/SerializedScriptValue.cpp:
1463         (WebCore::CloneSerializer::getSparseIndex):
1464         (WebCore::CloneSerializer::getProperty):
1465         * bindings/scripts/CodeGeneratorJS.pm:
1466         (GenerateGetOwnPropertySlotBody):
1467         (GenerateHeader):
1468         (GenerateImplementation):
1469         (GenerateConstructorDeclaration):
1470         (GenerateConstructorDefinition):
1471         * bindings/scripts/test/JS/JSTestInterface.cpp:
1472         (WebCore::JSTestInterfaceConstructor::getOwnPropertySlotVirtual):
1473         (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
1474         (WebCore::JSTestInterface::getOwnPropertySlotVirtual):
1475         (WebCore::JSTestInterface::getOwnPropertySlot):
1476         * bindings/scripts/test/JS/JSTestInterface.h:
1477         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1478         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlotVirtual):
1479         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
1480         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlotVirtual):
1481         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
1482         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlotVirtual):
1483         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
1484         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1485         * bindings/scripts/test/JS/JSTestObj.cpp:
1486         (WebCore::JSTestObjConstructor::getOwnPropertySlotVirtual):
1487         (WebCore::JSTestObjConstructor::getOwnPropertySlot):
1488         (WebCore::JSTestObjPrototype::getOwnPropertySlotVirtual):
1489         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
1490         (WebCore::JSTestObj::getOwnPropertySlotVirtual):
1491         (WebCore::JSTestObj::getOwnPropertySlot):
1492         * bindings/scripts/test/JS/JSTestObj.h:
1493         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1494         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlotVirtual):
1495         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
1496         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlotVirtual):
1497         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
1498         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1499         * bridge/objc/objc_runtime.h:
1500         * bridge/objc/objc_runtime.mm:
1501         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlotVirtual):
1502         * bridge/qt/qt_instance.cpp:
1503         (JSC::Bindings::QtInstance::getOwnPropertySlot):
1504         * bridge/qt/qt_runtime.cpp:
1505         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlotVirtual):
1506         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlotVirtual):
1507         * bridge/qt/qt_runtime.h:
1508         * bridge/runtime_array.cpp:
1509         (JSC::RuntimeArray::getOwnPropertySlotVirtual):
1510         * bridge/runtime_array.h:
1511         * bridge/runtime_method.cpp:
1512         (JSC::RuntimeMethod::getOwnPropertySlotVirtual):
1513         * bridge/runtime_method.h:
1514         * bridge/runtime_object.cpp:
1515         (JSC::Bindings::RuntimeObject::getOwnPropertySlotVirtual):
1516         * bridge/runtime_object.h:
1517
1518 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
1519
1520         Windows build fix attempt after r97533.
1521
1522         * html/HTMLSelectElementWin.cpp:
1523         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
1524
1525 2011-10-14  Darin Adler  <darin@apple.com>
1526
1527         Follow up the recent HTMLSelectElement improvements with a little bit more
1528         https://bugs.webkit.org/show_bug.cgi?id=70139
1529
1530         Reviewed by Ryosuke Niwa.
1531
1532         Refactoring, covered by existing tests.
1533
1534         Mostly, this adds a toHTMLSelectElement and uses it wherever possible.
1535
1536         * accessibility/AccessibilityListBox.cpp:
1537         (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute): Use toHTMLSelectElement.
1538         (WebCore::AccessibilityListBox::addChildren): Ditto. Also removed unneeded toHTMLElement.
1539         * accessibility/AccessibilityMenuListPopup.cpp:
1540         (WebCore::AccessibilityMenuListPopup::addChildren): Ditto.
1541         * accessibility/AccessibilityRenderObject.cpp:
1542         (WebCore::AccessibilityRenderObject::isMultiSelectable): Ditto.
1543         (WebCore::AccessibilityRenderObject::stringValue): Removed checks on the type of the
1544         underlying node, since other code already assumes that a menu list renderer is only
1545         created for a select element. Streamlined the code a bit and removed some unneeded
1546         local variables.
1547         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1548         (WebCore::JSHTMLOptionsCollection::indexSetter): Use toHTMLSelectElement.
1549         * bindings/js/JSHTMLSelectElementCustom.cpp:
1550         (WebCore::JSHTMLSelectElement::remove): Ditto.
1551         (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
1552         * editing/FrameSelection.cpp:
1553         (WebCore::FrameSelection::selectAll): Ditto.
1554         * html/HTMLKeygenElement.cpp:
1555         (WebCore::HTMLKeygenElement::shadowSelect): Ditto.
1556         * html/HTMLOptGroupElement.cpp:
1557         (WebCore::HTMLOptGroupElement::recalcSelectOptions): Ditto.
1558         (WebCore::HTMLOptGroupElement::ownerSelectElement): Ditto.
1559         * html/HTMLOptionElement.cpp:
1560         (WebCore::HTMLOptionElement::selected): Changed code to call renamed
1561         updateListItemSelectedStates rather than the confusing old name
1562         recalcListItemsIfNeeded.
1563         (WebCore::HTMLOptionElement::childrenChanged): Changed to call
1564         optionElementChildrenChanged rather than calling childrenChanged,
1565         because the children of the select element did not change!
1566         (WebCore::HTMLOptionElement::ownerSelectElement): Use toHTMLSelectElement.
1567         * html/HTMLOptionsCollection.cpp:
1568         (WebCore::HTMLOptionsCollection::add): Use toHTMLSelectElement.
1569         (WebCore::HTMLOptionsCollection::remove): Use toHTMLSelectElement.
1570         (WebCore::HTMLOptionsCollection::selectedIndex): Use toHTMLSelectElement.
1571         (WebCore::HTMLOptionsCollection::setSelectedIndex): Use toHTMLSelectElement.
1572         (WebCore::HTMLOptionsCollection::setLength): Use toHTMLSelectElement.
1573         * html/HTMLSelectElement.cpp:
1574         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Call setSelectedIndex
1575         without the now-unneeded internal suffix.
1576         (WebCore::HTMLSelectElement::parseMappedAttribute): When the code says that
1577         we should "determine selectedness of the items", call updateListItemSelectedStates
1578         rather than the confusingly named recalcListItemsIfNeeded.
1579         (WebCore::HTMLSelectElement::updateListItemSelectedStates): Renamed
1580         recalcListItemsIfNeeded to this, since that's what this function is for.
1581         (WebCore::HTMLSelectElement::optionElementChildrenChanged): Added. Does
1582         the same work as childrenChanged, although it does not call up to the
1583         base class childrenChanged function. Later we might find we can remove
1584         some of the work here, for example it's not clear we should call the
1585         accessibility childrenChanged function.
1586         (WebCore::HTMLSelectElement::nextValidIndex): Changed this to a member function
1587         and made it get the list items itself rather than requiring they be passed in.
1588         (WebCore::HTMLSelectElement::nextSelectableListIndex): Updated for change to
1589         nextValidIndex.
1590         (WebCore::HTMLSelectElement::previousSelectableListIndex): Ditto.
1591         (WebCore::HTMLSelectElement::firstSelectableListIndex): Ditto.
1592         (WebCore::HTMLSelectElement::lastSelectableListIndex): Ditto.
1593         (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): Ditto.
1594         (WebCore::HTMLSelectElement::listItems): Removed unneeded const_cast, since
1595         recalcListItems is now a const member function. Call recalcListItems by that
1596         name instead of recalcListItemsInternal.
1597         (WebCore::HTMLSelectElement::recalcListItems): Renamed from recalcListItemsInternal
1598         and made this a const member function. The data members that this needs to modify
1599         are now mutable.
1600         (WebCore::HTMLSelectElement::setSelectedIndex): Renamed from setSelectedIndexInternal.
1601         Changed call to updateValidity to instead call setNeedsValidityCheck, since both
1602         do the same thing.
1603         (WebCore::HTMLSelectElement::parseMultipleAttribute): Ditto.
1604         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Updated for change to
1605         nextValidIndex, removed unneeded comparison with zero that's already handled by
1606         casting to an unsigned type, and use setSelectedIndex instead of using
1607         setSelectedIndexInternal since they are both the same thing.
1608         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Removed another unneeded
1609         comparision with zero that's handled by casting to an unsigned type.
1610         (WebCore::HTMLSelectElement::lastSelectedListIndex): Use size_t instead of unsigned
1611         for a vector index.
1612         (WebCore::HTMLSelectElement::typeAheadFind): Use setSelectedIndex instead of
1613         setSelectedIndexInternal.
1614         (WebCore::HTMLSelectElement::insertedIntoTree): Removed unneeded explicit boolean
1615         when calling a function that already has a default value of true.
1616         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Use setSelectedIndex
1617         instead of setSelectedIndexInternal.
1618
1619         * html/HTMLSelectElement.h: Made childrenChanged private. Added
1620         optionElementChildrenChanged. Renamed recalcListItemsIfNeeded to the clearer
1621         updateListItemSelectedStates. Removed unused listBoxSelectItem. Removed
1622         updateValidity after changing all callers to instead call setNeedsValidityCheck.
1623         Made canSelectAll and selectAll non-virtual. Removed recalcListItemsInternal
1624         since it's the same thing as recalcListItems now. Renamed setSelectedIndexInternal
1625         to setSelectedIndex since it's the same function, just with a few arguments we
1626         don't want to allow outside callers to pass. Changed nextValidIndex into a
1627         non-static member function. Made m_listItems and m_shouldRecalcListItems mutable.
1628         Added a toHTMLSelectElement function, modeled on the toElement function.
1629
1630         * html/ValidityState.cpp:
1631         (WebCore::ValidityState::valueMissing): Use toHTMLSelectElement.
1632         * rendering/RenderListBox.cpp:
1633         (WebCore::RenderListBox::updateFromElement): Ditto.
1634         (WebCore::RenderListBox::scrollToRevealSelection): Ditto.
1635         (WebCore::RenderListBox::size): Ditto.
1636         (WebCore::RenderListBox::numItems): Ditto.
1637         (WebCore::RenderListBox::addFocusRingRects): Ditto.
1638         (WebCore::RenderListBox::paintItemForeground): Ditto.
1639         (WebCore::RenderListBox::paintItemBackground): Ditto.
1640         (WebCore::RenderListBox::panScroll): Ditto.
1641         (WebCore::RenderListBox::autoscroll): Ditto.
1642         (WebCore::RenderListBox::stopAutoscroll): Ditto.
1643         (WebCore::RenderListBox::valueChanged): Ditto.
1644         (WebCore::RenderListBox::nodeAtPoint): Ditto.
1645         * rendering/RenderMenuList.cpp:
1646         (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
1647         (WebCore::RenderMenuList::updateFromElement): Ditto.
1648         (WebCore::RenderMenuList::setTextFromOption): Ditto.
1649         (WebCore::RenderMenuList::showPopup): Ditto.
1650         (WebCore::RenderMenuList::valueChanged): Ditto.
1651         (WebCore::RenderMenuList::listBoxSelectItem): Ditto.
1652         (WebCore::RenderMenuList::multiple): Ditto.
1653         (WebCore::RenderMenuList::didSetSelectedIndex): Ditto.
1654         (WebCore::RenderMenuList::didUpdateActiveOption): Ditto.
1655         (WebCore::RenderMenuList::itemText): Ditto.
1656         (WebCore::RenderMenuList::itemAccessibilityText): Ditto.
1657         (WebCore::RenderMenuList::itemToolTip): Ditto.
1658         (WebCore::RenderMenuList::itemIsEnabled): Ditto. Also use the
1659         disabled function instead of the virtual isEnabledFormControl
1660         function to check if the optgroup is enabled.
1661         (WebCore::RenderMenuList::itemStyle): Ditto.
1662         (WebCore::RenderMenuList::itemBackgroundColor): Ditto.
1663         (WebCore::RenderMenuList::listSize): Ditto.
1664         (WebCore::RenderMenuList::selectedIndex): Ditto.
1665         (WebCore::RenderMenuList::itemIsSeparator): Ditto.
1666         (WebCore::RenderMenuList::itemIsLabel): Ditto.
1667         (WebCore::RenderMenuList::itemIsSelected): Ditto.
1668         (WebCore::RenderMenuList::setTextFromItem): Ditto.
1669
1670 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1671
1672         Rename virtual put to putVirtual
1673         https://bugs.webkit.org/show_bug.cgi?id=69851
1674
1675         Reviewed by Darin Adler.
1676
1677         No new tests.
1678
1679         Renamed virtual versions of put to putVirtual in prepration for 
1680         adding the static put to the MethodTable in ClassInfo since the 
1681         compiler gets mad if the virtual and static versions have the same 
1682         name.
1683
1684         * WebCore.exp.in:
1685         * bindings/js/JSDOMWindowCustom.cpp:
1686         (WebCore::JSDOMWindow::putVirtual):
1687         * bindings/js/JSDOMWindowShell.cpp:
1688         (WebCore::JSDOMWindowShell::putVirtual):
1689         * bindings/js/JSDOMWindowShell.h:
1690         * bindings/js/JSLocationCustom.cpp:
1691         (WebCore::JSLocation::putDelegate):
1692         * bindings/js/JSPluginElementFunctions.cpp:
1693         (WebCore::runtimeObjectCustomPut):
1694         * bindings/js/SerializedScriptValue.cpp:
1695         (WebCore::CloneDeserializer::putProperty):
1696         * bindings/objc/WebScriptObject.mm:
1697         (-[WebScriptObject setValue:forKey:]):
1698         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1699         * bindings/scripts/CodeGeneratorJS.pm:
1700         (GenerateHeader):
1701         (GenerateImplementation):
1702         * bindings/scripts/test/JS/JSTestObj.cpp:
1703         (WebCore::JSTestObj::putVirtual):
1704         * bindings/scripts/test/JS/JSTestObj.h:
1705         * bridge/NP_jsobject.cpp:
1706         (_NPN_SetProperty):
1707         * bridge/jni/jni_jsobject.mm:
1708         (JavaJSObject::setMember):
1709         (JavaJSObject::setSlot):
1710         * bridge/objc/objc_runtime.h:
1711         * bridge/objc/objc_runtime.mm:
1712         (JSC::Bindings::ObjcFallbackObjectImp::putVirtual):
1713         * bridge/qt/qt_instance.cpp:
1714         (JSC::Bindings::QtInstance::put):
1715         * bridge/qt/qt_runtime.cpp:
1716         (JSC::Bindings::convertQVariantToValue):
1717         * bridge/runtime_array.cpp:
1718         (JSC::RuntimeArray::putVirtual):
1719         * bridge/runtime_array.h:
1720         * bridge/runtime_object.cpp:
1721         (JSC::Bindings::RuntimeObject::putVirtual):
1722         * bridge/runtime_object.h:
1723         * bridge/testqtbindings.cpp:
1724         (main):
1725
1726 2011-10-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1727
1728         Unreviewed, rolling out r97519.
1729         http://trac.webkit.org/changeset/97519
1730         https://bugs.webkit.org/show_bug.cgi?id=70156
1731
1732         Broke 79+ tests on bots (Requested by dglazkov on #webkit).
1733
1734         * platform/graphics/skia/GraphicsContextSkia.cpp:
1735         (WebCore::getFocusRingOutset):
1736         (WebCore::GraphicsContext::drawFocusRing):
1737
1738 2011-09-28  Robert Hogan  <robert@webkit.org>
1739
1740         Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
1741         https://bugs.webkit.org/show_bug.cgi?id=29447
1742
1743         If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
1744         a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
1745
1746         Reviewed by David Hyatt.
1747
1748         Test: fast/replaced/table-percent-width.html
1749
1750         * rendering/RenderBox.cpp:
1751         (WebCore::shouldExpandToIntrinsicDimension):
1752         (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
1753         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1754         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1755         * rendering/RenderBox.h:
1756
1757 2011-10-14  Cary Clark  <caryclark@google.com>
1758
1759         [Chromium Skia on Mac] Improve focus ring
1760         https://bugs.webkit.org/show_bug.cgi?id=70124
1761
1762         Reviewed by Eric Seidel.
1763         
1764         The focus ring code formerly outset the bounds of
1765         the component rectangles by fractional amounts. Because
1766         the rectangles are SkIRect (integer based), the fractional
1767         outset had no effect.
1768
1769         The equivalent code in GraphicsContextMac.mm computes
1770         the curve radius and rectangle outset with integers, so
1771         the use of floats in Skia's case, besides not working,
1772         is unnecessary.
1773
1774         The Skia code also failed to take the offset into account.
1775         In LayoutTests, the focus rings either have an offset of
1776         0 or 2. The CoreGraphics code increases the ring's rectangles
1777         by the offset, then passes the result to wkDrawFocusRing.
1778
1779         I did not find any documentation about how wkDrawFocusRing
1780         further inflates the focus ring, but empirically I determined
1781         that adding 2 to the offset generated rings with identical
1782         outer diameters.
1783  
1784         With these adjustments, the layout tests generate focus rings
1785         in the Skia on Mac case that match the coverage of the
1786         Chromium CG-based platform, in particular, matching:
1787         
1788         editing/inserting/editable-inline-element.html
1789         editing/selection/3690703-2.html
1790
1791         * platform/graphics/skia/GraphicsContextSkia.cpp:
1792         (WebCore::getFocusRingOutset):
1793         (WebCore::GraphicsContext::drawFocusRing):
1794
1795 2011-10-14  Chang Shu  <cshu@webkit.org>
1796
1797         [Qt] Enable fullscreen api on Qt
1798         https://bugs.webkit.org/show_bug.cgi?id=70131
1799
1800         As a result, we have 3 passed tests.
1801
1802         Reviewed by Noam Rosenthal.
1803
1804         * features.pri:
1805
1806 2011-10-14  Beth Dakin  <bdakin@apple.com>
1807
1808         https://bugs.webkit.org/show_bug.cgi?id=70148
1809         Should switch to CoreUI version of CorrectionDot, GrammarDot, and SpellingDot
1810         -and corresponding-
1811         <rdar://problem/10208281>
1812
1813         Reviewed by Anders Carlsson.
1814
1815         Use NS*Dot whenever it's available, and fallback to *Dot only when it is not.
1816         * platform/graphics/mac/GraphicsContextMac.mm:
1817         (WebCore::createPatternColor):
1818         (WebCore::GraphicsContext::drawLineForTextChecking):
1819
1820 2011-10-14  Dmitry Lomov  <dslomov@google.com>
1821
1822         https://bugs.webkit.org/show_bug.cgi?id=70120
1823         [Chromium] Pass MessagePortArray to SerializedScriptValue::serialize/deserialize.
1824         This patch augments SerializedScriptValue with MessagePortArray* parameter to implement MessagePort 
1825         transfer within the message in the future.
1826
1827         Reviewed by David Levin.
1828
1829         * bindings/scripts/CodeGeneratorV8.pm:
1830         (GenerateParametersCheck):
1831         * bindings/v8/SerializedScriptValue.cpp:
1832         (WebCore::SerializedScriptValue::create):
1833         (WebCore::SerializedScriptValue::SerializedScriptValue):
1834         (WebCore::SerializedScriptValue::deserialize):
1835         * bindings/v8/SerializedScriptValue.h:
1836         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1837         (WebCore::handlePostMessageCallback):
1838         (WebCore::V8DOMWindow::postMessageCallback):
1839         (WebCore::V8DOMWindow::webkitPostMessageCallback):
1840         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1841         (WebCore::handlePostMessageCallback):
1842         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
1843         (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
1844         * bindings/v8/custom/V8HistoryCustom.cpp:
1845         (WebCore::V8History::pushStateCallback):
1846         (WebCore::V8History::replaceStateCallback):
1847         * bindings/v8/custom/V8MessageEventCustom.cpp:
1848         (WebCore::V8MessageEvent::dataAccessorGetter):
1849         * bindings/v8/custom/V8MessagePortCustom.cpp:
1850         (WebCore::handlePostMessageCallback):
1851         (WebCore::V8MessagePort::postMessageCallback):
1852         (WebCore::V8MessagePort::webkitPostMessageCallback):
1853         * bindings/v8/custom/V8WorkerCustom.cpp:
1854         (WebCore::handlePostMessageCallback):
1855         (WebCore::V8Worker::postMessageCallback):
1856         (WebCore::V8Worker::webkitPostMessageCallback):
1857         * workers/Worker.idl:
1858
1859 2011-10-14  Jeff Miller  <jeffm@apple.com>
1860
1861         InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
1862         https://bugs.webkit.org/show_bug.cgi?id=69963
1863         
1864         Add infrastructure to convert from any frame view's coordinate system to the
1865         root view's coordinate system.
1866
1867         Reviewed by Simon Fraser.
1868
1869         No new tests (yet), this is covered by <https://bugs.webkit.org/show_bug.cgi?id=70136>.
1870
1871         * WebCore.exp.in: Exported WebCore::ScrollView::contentsToRootView(), used by InjectedBundleHitTestResult.cpp.
1872         
1873         * platform/ScrollView.cpp:
1874         (WebCore::ScrollView::rootViewToContents): Added (both point and rect versions).
1875         (WebCore::ScrollView::contentsToRootView): Ditto.
1876         
1877         * platform/ScrollView.h: Added member functions to convert to/from root view coordinates.
1878         
1879         * platform/Widget.cpp:
1880         (WebCore::Widget::convertFromRootView): Added (both point and rect versions).
1881         (WebCore::Widget::convertToRootView): Ditto.
1882         
1883         * platform/Widget.h: Added member functions to convert to/from root view coordinates.
1884
1885 2011-10-14  Andreas Kling  <kling@webkit.org>
1886
1887         CSSParser: Remove StyleBase usage.
1888         https://bugs.webkit.org/show_bug.cgi?id=70150
1889
1890         Reviewed by Darin Adler.
1891
1892         Split CSSParser::m_parsedStyleObjects into two vectors of
1893         CSSRules and MediaLists.
1894
1895         * css/CSSParser.cpp:
1896         (WebCore::CSSParser::createMediaList):
1897         (WebCore::CSSParser::createCharsetRule):
1898         (WebCore::CSSParser::createImportRule):
1899         (WebCore::CSSParser::createMediaRule):
1900         (WebCore::CSSParser::createKeyframesRule):
1901         (WebCore::CSSParser::createStyleRule):
1902         (WebCore::CSSParser::createFontFaceRule):
1903         (WebCore::CSSParser::createPageRule):
1904         (WebCore::CSSParser::createKeyframeRule):
1905         * css/CSSParser.h:
1906
1907 2011-10-14  Adam Barth  <abarth@webkit.org>
1908
1909         canvas getImageData should explain why it throws SECURITY_ERR
1910         https://bugs.webkit.org/show_bug.cgi?id=70088
1911
1912         Reviewed by Darin Adler.
1913
1914         Log as message to the console when getImageData fails because the
1915         canvas is tainted.
1916
1917         * html/canvas/CanvasRenderingContext2D.cpp:
1918         (WebCore::CanvasRenderingContext2D::getImageData):
1919
1920 2011-10-14  Andreas Kling  <kling@webkit.org>
1921
1922         Inspector: Remove StyleBase usage.
1923         https://bugs.webkit.org/show_bug.cgi?id=70138
1924
1925         Reviewed by Antti Koivisto.
1926
1927         Be fully specific about whether we're operating on a CSSRule or
1928         a CSSStyleSheet.
1929
1930         No behavior change expected, this merely is a cleanup.
1931
1932         * inspector/InspectorCSSAgent.cpp:
1933         (WebCore::InspectorCSSAgent::parentStyleSheet):
1934         (WebCore::InspectorCSSAgent::asCSSStyleRule):
1935         * inspector/InspectorCSSAgent.h:
1936         * inspector/InspectorStyleSheet.cpp:
1937         (WebCore::asCSSRuleList):
1938
1939 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1940
1941         Rename virtual deleteProperty to deletePropertyVirtual
1942         https://bugs.webkit.org/show_bug.cgi?id=69884
1943
1944         Reviewed by Darin Adler.
1945
1946         No new tests.
1947
1948         Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for 
1949         adding the static deleteProperty to the MethodTable in ClassInfo since the 
1950         compiler gets mad if the virtual and static versions have the same name.
1951
1952         * WebCore.exp.in:
1953         * bindings/js/JSDOMStringMapCustom.cpp:
1954         (WebCore::JSDOMStringMap::deletePropertyVirtual):
1955         * bindings/js/JSDOMWindowCustom.cpp:
1956         (WebCore::JSDOMWindow::deletePropertyVirtual):
1957         * bindings/js/JSDOMWindowShell.cpp:
1958         (WebCore::JSDOMWindowShell::deletePropertyVirtual):
1959         * bindings/js/JSDOMWindowShell.h:
1960         * bindings/js/JSHistoryCustom.cpp:
1961         (WebCore::JSHistory::deletePropertyVirtual):
1962         * bindings/js/JSLocationCustom.cpp:
1963         (WebCore::JSLocation::deletePropertyVirtual):
1964         * bindings/js/JSStorageCustom.cpp:
1965         (WebCore::JSStorage::deletePropertyVirtual):
1966         * bindings/js/ScriptObject.cpp:
1967         (WebCore::ScriptGlobalObject::remove):
1968         * bindings/objc/WebScriptObject.mm:
1969         (-[WebScriptObject removeWebScriptKey:]):
1970         * bindings/scripts/CodeGeneratorJS.pm:
1971         (GenerateHeader):
1972         * bridge/NP_jsobject.cpp:
1973         (_NPN_RemoveProperty):
1974         * bridge/jni/jni_jsobject.mm:
1975         (JavaJSObject::removeMember):
1976         * bridge/objc/objc_runtime.h:
1977         * bridge/objc/objc_runtime.mm:
1978         (JSC::Bindings::ObjcFallbackObjectImp::deletePropertyVirtual):
1979         * bridge/runtime_array.cpp:
1980         (JSC::RuntimeArray::deletePropertyVirtual):
1981         * bridge/runtime_array.h:
1982         * bridge/runtime_object.cpp:
1983         (JSC::Bindings::RuntimeObject::deletePropertyVirtual):
1984         * bridge/runtime_object.h:
1985
1986 2011-10-14  Simon Fraser  <simon.fraser@apple.com>
1987
1988         Web Inspector: WebProcess crashes hard when inspecting elements with border-images applied
1989         https://bugs.webkit.org/show_bug.cgi?id=70105
1990
1991         Reviewed by Dave Hyatt.
1992         
1993         Fix three different crashes related to getting computed style for border-image.
1994         In both valueForNinePieceImageSlice() and valueForNinePieceImageQuad(),
1995         assign 'right' to 'left' because we've computed a value for 'right' already.
1996         Otherwise this would leave 'right' as null, causing later crashes in cssText().
1997         
1998         In mapNinePieceImage(), borderImage->imageValue() can be null for a border-image
1999         shorthand that is missing the image value.
2000
2001         Test: fast/css/getComputedStyle/computed-style-border-image.html
2002
2003         * css/CSSComputedStyleDeclaration.cpp:
2004         (WebCore::valueForNinePieceImageSlice):
2005         (WebCore::valueForNinePieceImageQuad):
2006         * css/CSSStyleSelector.cpp:
2007         (WebCore::CSSStyleSelector::mapNinePieceImage):
2008
2009 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
2010
2011         Mac build fix after r97497.
2012
2013         * editing/markup.cpp:
2014         (WebCore::isNonTableCellHTMLBlockElement):
2015
2016 2011-10-14  Daniel Cheng  <dcheng@chromium.org>
2017
2018         Context-aware HTML paste for Chromium
2019         https://bugs.webkit.org/show_bug.cgi?id=62112
2020
2021         Reviewed by Ryosuke Niwa.
2022
2023         Add createFragmentFromMarkupWithContext which understands enough about DOM structure to
2024         retain necessary elements to preserve structure and appearance when extracting a subset of
2025         a DOM tree.
2026
2027         Covered by existing layout tests.
2028
2029         * editing/MarkupAccumulator.h:
2030         * editing/markup.cpp:
2031         (WebCore::isNonTableCellHTMLBlockElement):
2032         (WebCore::isHTMLBlockElement):
2033         (WebCore::ancestorToRetainStructureAndAppearanceForBlock):
2034         (WebCore::ancestorToRetainStructureAndAppearance):
2035         (WebCore::ancestorToRetainStructureAndAppearanceWithNoRenderer):
2036         (WebCore::findNodesSurroundingContext):
2037         (WebCore::trimFragment):
2038         (WebCore::createFragmentFromMarkupWithContext):
2039         * editing/markup.h:
2040         * platform/chromium/ChromiumDataObject.cpp:
2041         (WebCore::ChromiumDataObject::getData):
2042         * platform/chromium/DataTransferItemChromium.cpp:
2043         (WebCore::DataTransferItemChromium::getAsString):
2044         * platform/chromium/PasteboardChromium.cpp:
2045         (WebCore::Pasteboard::documentFragment):
2046         * platform/chromium/PlatformSupport.h:
2047
2048 2011-10-14  Peter Beverloo  <peter@chromium.org>
2049
2050         [Chromium] Inherit settings from Chromium's envsetup.sh, address a NDK todo
2051         https://bugs.webkit.org/show_bug.cgi?id=70028
2052
2053         Reviewed by Adam Barth.
2054
2055         * WebCore.gyp/WebCore.gyp:
2056
2057 2011-10-14  Nate Chapin  <japhet@chromium.org>
2058
2059         Check CachedResourceClient types with ASSERTs rather
2060         than if statements.
2061         https://bugs.webkit.org/show_bug.cgi?id=70113
2062
2063         Reviewed by Adam Barth.
2064
2065         No new tests, no functionality change.
2066
2067         * loader/cache/CachedCSSStyleSheet.cpp:
2068         * loader/cache/CachedFont.cpp:
2069         * loader/cache/CachedImage.cpp:
2070         * loader/cache/CachedResourceClientWalker.h:
2071         * loader/cache/CachedXSLStyleSheet.cpp:
2072
2073 2011-10-14  Andreas Kling  <kling@webkit.org>
2074
2075         Don't assert that CSSRules are CSSRules.
2076
2077         Rubber-stamped by Antti Koivisto.
2078
2079         * css/CSSRule.h:
2080         (WebCore::CSSRule::isRule):
2081         * css/CSSStyleSheet.cpp:
2082         (WebCore::CSSStyleSheet::append):
2083         (WebCore::CSSStyleSheet::insert):
2084
2085 2011-10-14  Beth Dakin  <bdakin@apple.com>
2086
2087         Attempted Leopard build fix.
2088
2089         * platform/graphics/GraphicsContext.cpp:
2090         (WebCore::GraphicsContext::createCompatibleBuffer):
2091
2092 2011-10-14  Andreas Kling  <kling@webkit.org>
2093
2094         CSSStyleSheet should only ever contain CSSRules.
2095         https://bugs.webkit.org/show_bug.cgi?id=70116
2096
2097         Reviewed by Antti Koivisto.
2098
2099         Move child management from the StyleSheet class down into
2100         CSSStyleSheet and XSLStyleSheet. XSLStyleSheet continues to
2101         manage StyleBase objects, while CSSStyleSheet now only contains
2102         CSSRule.
2103
2104         This is enforced at both compile time and runtime with explicit
2105         types and assertions.
2106
2107         * css/CSSRule.h:
2108         (WebCore::CSSRule::isRule):
2109
2110             Promoted to a public method so we can use it in assertions.
2111
2112         * css/CSSRuleList.h:
2113         (WebCore::CSSRuleList::create):
2114         (WebCore::CSSRuleList::styleSheet):
2115         * css/CSSRuleList.cpp:
2116         (WebCore::CSSRuleList::CSSRuleList):
2117         * bindings/js/JSCSSRuleListCustom.cpp:
2118         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
2119
2120             Change backing to a CSSStyleSheet instead of a StyleSheet.
2121
2122         * css/CSSRuleList.cpp:
2123         (WebCore::CSSRuleList::item):
2124
2125             Remove redundant assertions.
2126
2127         * css/CSSStyleSheet.cpp:
2128         (WebCore::CSSStyleSheet::isLoading):
2129         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
2130         * css/CSSStyleSelector.cpp:
2131         (WebCore::RuleSet::addRulesFromSheet):
2132         * inspector/InspectorCSSAgent.cpp:
2133         (WebCore::InspectorCSSAgent::collectStyleSheets):
2134         * page/PageSerializer.cpp:
2135         (WebCore::PageSerializer::serializeCSSStyleSheet):
2136
2137             Use more specific CSSRule* since that's what we get from
2138             CSSStyleSheet::item() now.
2139
2140         * css/StyleSheet.cpp:
2141         (WebCore::StyleSheet::~StyleSheet):
2142         * css/CSSStyleSheet.cpp:
2143         (WebCore::CSSStyleSheet::~CSSStyleSheet):
2144         * xml/XSLStyleSheetLibxslt.cpp:
2145         (WebCore::XSLStyleSheet::~XSLStyleSheet):
2146         * xml/XSLStyleSheetQt.cpp:
2147         (WebCore::XSLStyleSheet::~XSLStyleSheet):
2148
2149             Orphaning logic from ~StyleSheet() moved to subclass dtors.
2150
2151         * css/StyleSheet.h:
2152         * css/CSSStyleSheet.h:
2153         (WebCore::CSSStyleSheet::length):
2154         (WebCore::CSSStyleSheet::item):
2155         * css/CSSStyleSheet.cpp:
2156         (WebCore::CSSStyleSheet::append):
2157         (WebCore::CSSStyleSheet::insert):
2158         (WebCore::CSSStyleSheet::remove):
2159
2160             Moved from StyleSheet and changed to only accept CSSRules.
2161
2162         * css/StyleSheet.h:
2163         * xml/XSLStyleSheet.h:
2164         (WebCore::XSLStyleSheet::length):
2165         (WebCore::XSLStyleSheet::item):
2166         (WebCore::XSLStyleSheet::append):
2167         (WebCore::XSLStyleSheet::insert):
2168         (WebCore::XSLStyleSheet::remove):
2169
2170             Moved from StyleSheet though still uses StyleBase.
2171
2172 2011-10-14 Yuji Sanachan <sanachan.y@gmail.com>
2173
2174         Include dom/ExceptionCode.h instead of Filesystem APIs headers
2175         to fix compile error when ENABLE_WORKERS=1 and ENABLE_FILE_SYSTEM=0
2176         https://bugs.webkit.org/show_bug.cgi?id=70036
2177
2178         Reviewed by Darin Adler.
2179
2180         * workers/WorkerContext.cpp:
2181         (WebCore::WorkerContext::importScript):
2182
2183 2011-10-14  Darin Adler  <darin@apple.com>
2184
2185         Text drawn via -webkit-background-clip:text should be non-blurry with all scaling 
2186         techniques
2187         https://bugs.webkit.org/show_bug.cgi?id=68641
2188
2189         Reviewed by Simon Fraser. Committed by Beth Dakin.
2190
2191         * platform/graphics/GraphicsContext.cpp:
2192         (WebCore::GraphicsContext::createCompatibleBuffer): Allocate a buffer based on the 
2193         scale
2194         factor of the context.
2195         * platform/graphics/GraphicsContext.h: Added createCompatibleBuffer.
2196
2197         * rendering/RenderBoxModelObject.cpp:
2198         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use 
2199         createCompatibleBuffer.
2200
2201 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
2202
2203         Move selectionStartStyle and selectionHasStyle to EditingStyle
2204         https://bugs.webkit.org/show_bug.cgi?id=69882
2205
2206         Reviewed by Enrica Casucci.
2207
2208         Moved selectionHasStyle and selectionStartStyle from Editor to EditingStyle.
2209         Also moved much of code in Editor::selectionStartCSSPropertyValue to method of EditingStyle.
2210
2211         In addition, moved Range::editingStartPosition to htmlediting where it belongs
2212         and renamed it to adjustedSelectionStartForStyleComputation.
2213
2214         * dom/Range.cpp:
2215         * dom/Range.h:
2216         * editing/EditingStyle.cpp:
2217         (WebCore::EditingStyle::triStateOfStyle): Extracted from selectionHasStyle.
2218         (WebCore::EditingStyle::legacyFontSize): Extracted from selectionStartCSSPropertyValue.
2219         (WebCore::EditingStyle::styleAtSelectionStart): Moved from Editor::selectionStartStyle.
2220         * editing/EditingStyle.h:
2221         * editing/Editor.cpp:
2222         (WebCore::Editor::fontForSelection):
2223         (WebCore::Editor::selectionStartHasStyle):
2224         (WebCore::Editor::selectionHasStyle):
2225         (WebCore::Editor::selectionStartCSSPropertyValue):
2226         * editing/Editor.h:
2227         * editing/EditorCommand.cpp:
2228         (WebCore::executeToggleStyleInList):
2229         * editing/htmlediting.cpp:
2230         (WebCore::adjustedSelectionStartForStyleComputation): Moved from Range::editingStartPosition.
2231         * editing/htmlediting.h:
2232
2233 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
2234
2235         Redundant comparison in AccessibilityObject.cpp updateAXLineStartForVisiblePosition
2236         https://bugs.webkit.org/show_bug.cgi?id=70074
2237
2238         Reviewed by Chris Fleizach.
2239
2240         Removed redundant code.
2241
2242         * accessibility/AccessibilityObject.cpp:
2243         (WebCore::updateAXLineStartForVisiblePosition):
2244
2245 2011-10-12  Ryosuke Niwa  <rniwa@webkit.org>
2246
2247         Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
2248         https://bugs.webkit.org/show_bug.cgi?id=69964
2249
2250         Reviewed by Enrica Casucci.
2251
2252         Extracted the logic to determine the scope element as FrameSelection::rootEditableElementOrDocumentElement
2253         and deployed it in WebKit layer. Made locationAndLengthFromRange take a scope element and renamed it to
2254         getLocationAndLengthFromRange.
2255
2256         * WebCore.exp.in:
2257         * editing/FrameSelection.cpp:
2258         (WebCore::FrameSelection::rootEditableElementOrDocumentElement):
2259         * editing/FrameSelection.h:
2260         * editing/TextIterator.cpp:
2261         (WebCore::TextIterator::getLocationAndLengthFromRange):
2262         * editing/TextIterator.h:
2263
2264 2011-10-13  Arko Saha  <arko@motorola.com>
2265
2266         Microdata: Basic implementation of document.getItems() method.
2267         https://bugs.webkit.org/show_bug.cgi?id=68610
2268
2269         Reviewed by Ryosuke Niwa.
2270
2271         Added ENABLE(MICRODATA) feature flag. Implement document.getItems() DOM API.
2272         Spec: http://www.whatwg.org/specs/web-apps/current-work/complete/microdata.html
2273
2274         Tests: fast/dom/MicroData/001.html
2275                fast/dom/MicroData/002.html
2276                fast/dom/MicroData/003.html
2277                fast/dom/MicroData/004.html
2278                fast/dom/MicroData/005.html
2279                fast/dom/MicroData/006.html
2280                fast/dom/MicroData/007.html
2281                fast/dom/MicroData/008.html
2282                fast/dom/MicroData/009.html
2283
2284         * CMakeLists.txt:
2285         * DerivedSources.make:
2286         * GNUmakefile.am:
2287         * GNUmakefile.list.am:
2288         * WebCore.gypi:
2289         * WebCore.pro:
2290         * WebCore.vcproj/WebCore.vcproj:
2291         * dom/Document.cpp:
2292         (WebCore::Document::getItems): Returns NodeList of the element in the Document that
2293         create items, that are not part of other items, and that are of one of the types
2294         given in the argument. If no tokens specified/undefined in the argument, then
2295         return a NodeList containing all top level microdata items.
2296         (WebCore::Document::removeCachedMicroDataItemList): Remove Microdata item node list
2297         from cache.
2298         * dom/Document.h:
2299         * dom/Document.idl: Added getItems() microdata DOM API.
2300         * dom/MicroDataItemList.cpp: Added.
2301         (WebCore::MicroDataItemList::MicroDataItemList):
2302         (WebCore::MicroDataItemList::~MicroDataItemList):
2303         (WebCore::MicroDataItemList::nodeMatches):
2304         * dom/MicroDataItemList.h: Added.
2305         (WebCore::MicroDataItemList::create):
2306         * dom/Node.cpp:
2307         (WebCore::Node::itemTypeAttributeChanged): It is responsible to invalidate the Microdata
2308         item node cache when itemType attribute changes.
2309         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
2310         (WebCore::NodeListsNodeData::invalidateMicrodataItemListCaches): Invalidate Microdata item
2311         list cache.
2312         (WebCore::NodeListsNodeData::isEmpty):
2313         * dom/Node.h:
2314         * dom/NodeRareData.h:
2315         * features.pri:
2316         * html/HTMLAttributeNames.in: Added itemid, itemprop, itemscope, itemtype attributes.
2317         * html/HTMLElement.cpp:
2318         (WebCore::HTMLElement::parseMappedAttribute): Handle itemtype attribute change.
2319         * html/HTMLElement.idl: Added itemid, itemprop, itemscope, itemtypes microdata attributes.
2320
2321 2011-10-14  Andreas Kling  <kling@webkit.org>
2322
2323         Stricter management of WebKitCSSKeyframeRules.
2324         https://bugs.webkit.org/show_bug.cgi?id=70109
2325
2326         Reviewed by Antti Koivisto.
2327
2328         Covered by existing tests.
2329
2330         * css/CSSParser.h:
2331         * css/CSSParser.cpp:
2332         (WebCore::CSSParser::parseKeyframeRule):
2333
2334             Return a WebKitCSSKeyframeRule instead of a CSSRule.
2335
2336         * css/CSSRuleList.cpp:
2337         (WebCore::CSSRuleList::deleteRule):
2338         * css/WebKitCSSKeyframesRule.cpp:
2339         (WebCore::WebKitCSSKeyframesRule::deleteRule):
2340
2341             Moved style sheet orphaning logic for @-webkit-keyframe
2342             from CSSRuleList into WebKitCSSKeyframesRule::deleteRule()
2343             since that's the only caller operating on those rules.
2344
2345         * css/WebKitCSSKeyframesRule.cpp:
2346         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
2347         (WebCore::WebKitCSSKeyframesRule::length):
2348         (WebCore::WebKitCSSKeyframesRule::item):
2349         (WebCore::WebKitCSSKeyframesRule::insertRule):
2350
2351             Change isKeyframeRule() checks to assertions since we know
2352             our rules are always WebKitCSSKeyframeRules. Also tidied up.
2353
2354 2011-10-14  Andreas Kling  <kling@webkit.org>
2355
2356         Unreviewed, actually remove StyleList.* after r97640.
2357
2358         * css/StyleList.cpp: Removed.
2359         * css/StyleList.h: Removed.
2360
2361 2011-10-14  Andreas Kling  <kling@webkit.org>
2362
2363         Merge StyleList into StyleSheet.
2364         https://bugs.webkit.org/show_bug.cgi?id=70100
2365
2366         Reviewed by Antti "printf" Koivisto.
2367
2368         Merge all functionality from StyleList into StyleSheet,
2369         since StyleSheet was the only subclass of StyleList anyway.
2370
2371         Also removed FIXME's about throwing exceptions in CSSRuleList
2372         since they were incorrect. The call sites already handle the
2373         relevant cases.
2374
2375         * CMakeLists.txt:
2376         * GNUmakefile.list.am:
2377         * WebCore.gypi:
2378         * WebCore.pro:
2379         * WebCore.vcproj/WebCore.vcproj:
2380         * WebCore.xcodeproj/project.pbxproj:
2381         * bindings/js/JSCSSRuleListCustom.cpp:
2382         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
2383         * css/CSSRuleList.cpp:
2384         (WebCore::CSSRuleList::CSSRuleList):
2385         (WebCore::CSSRuleList::length):
2386         (WebCore::CSSRuleList::item):
2387         (WebCore::CSSRuleList::deleteRule):
2388         (WebCore::CSSRuleList::append):
2389         (WebCore::CSSRuleList::insertRule):
2390         * css/CSSRuleList.h:
2391         (WebCore::CSSRuleList::create):
2392         (WebCore::CSSRuleList::styleSheet):
2393         * css/StyleList.cpp: Removed.
2394         * css/StyleList.h: Removed.
2395         * css/StyleSheet.cpp:
2396         (WebCore::StyleSheet::StyleSheet):
2397         (WebCore::StyleSheet::append):
2398         (WebCore::StyleSheet::insert):
2399         (WebCore::StyleSheet::remove):
2400         * css/StyleSheet.h:
2401         (WebCore::StyleSheet::length):
2402         (WebCore::StyleSheet::item):
2403
2404 2011-10-14  Mihnea Ovidenie  <mihnea@adobe.com>
2405
2406         [CSS Regions] Change -webkit-flow to -webkit-flow-into
2407         https://bugs.webkit.org/show_bug.cgi?id=70014
2408
2409         Reviewed by David Hyatt.
2410
2411         1. -webkit-flow is renamed to -webkit-flow-into
2412         2. -webkit-flow-into takes <ident> instead of strings
2413
2414         * css/CSSComputedStyleDeclaration.cpp:
2415         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2416         * css/CSSParser.cpp:
2417         (WebCore::CSSParser::parseValue):
2418         (WebCore::validFlowName):
2419         (WebCore::CSSParser::parseFlowThread):
2420         * css/CSSPropertyNames.in:
2421         * css/CSSStyleSelector.cpp:
2422         (WebCore::CSSStyleSelector::applyProperty):
2423
2424 2011-10-12  Hans Wennborg  <hans@chromium.org>
2425
2426         IndexedDB: Remove SQLite backing store
2427         https://bugs.webkit.org/show_bug.cgi?id=69620
2428
2429         Reviewed by Darin Fisher.
2430
2431         Remove the SQLite backing store implementation; it is not used anymore.
2432         Also remove the maximumSize parameter, it is not used either.
2433
2434         No new functionality, so no new tests.
2435
2436         * GNUmakefile.list.am:
2437         * WebCore.gypi:
2438         * storage/IDBBackingStore.h:
2439         * storage/IDBFactory.cpp:
2440         (WebCore::IDBFactory::getDatabaseNames):
2441         (WebCore::IDBFactory::open):
2442         * storage/IDBFactoryBackendImpl.cpp:
2443         (WebCore::computeFileIdentifier):
2444         (WebCore::computeUniqueIdentifier):
2445         (WebCore::IDBFactoryBackendImpl::getDatabaseNames):
2446         (WebCore::IDBFactoryBackendImpl::open):
2447         (WebCore::IDBFactoryBackendImpl::openBackingStore):
2448         * storage/IDBFactoryBackendImpl.h:
2449         * storage/IDBFactoryBackendInterface.h:
2450         * storage/IDBLevelDBBackingStore.cpp:
2451         (WebCore::IDBLevelDBBackingStore::open):
2452         * storage/IDBLevelDBBackingStore.h:
2453         * storage/IDBSQLiteBackingStore.cpp: Removed.
2454         * storage/IDBSQLiteBackingStore.h: Removed.
2455
2456 2011-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
2457
2458         Not reviewed. Fix mac builds. r97448 broke them.
2459
2460         * WebCore.xcodeproj/project.pbxproj: Set ImageBySizeCache.h role to private.
2461
2462 2011-10-14  Justin Schuh  <jschuh@chromium.org>
2463
2464         Clear WebMediaPlayerClientImpl back pointer on destruction
2465         https://bugs.webkit.org/show_bug.cgi?id=69973
2466
2467         Reviewed by James Robinson.
2468
2469         Clear the backpointer and remove the unused m_currentFrame
2470
2471         * platform/graphics/chromium/VideoLayerChromium.cpp:
2472         (WebCore::VideoLayerChromium::VideoLayerChromium):
2473         (WebCore::VideoLayerChromium::cleanupResources):
2474         (WebCore::VideoLayerChromium::updateCompositorResources):
2475         (WebCore::VideoLayerChromium::releaseProvider):
2476         * platform/graphics/chromium/VideoLayerChromium.h:
2477
2478 2011-10-13  Hans Wennborg  <hans@chromium.org>
2479
2480         IndexedDB: Make IDBCursor.value() return an IDBAny object
2481         https://bugs.webkit.org/show_bug.cgi?id=70024
2482
2483         Reviewed by Tony Chang.
2484
2485         This is to work around the fact that the V8 bindings mechanism does
2486         eager deserialization of SerializedScriptValue attributes. This means
2487         that the value is fetched from the back-end only once, when the
2488         IDBCursor is first wrapped. When the cursor's value changes, this is
2489         not reflected.
2490
2491         We work around this by making IDBCursor.value() return the
2492         SerializedScriptValue wrapped in an IDBAny object.
2493
2494         * storage/IDBCursor.cpp:
2495         (WebCore::IDBCursor::value):
2496         * storage/IDBCursor.h:
2497         * storage/IDBCursorWithValue.idl:
2498
2499 2011-10-14  Rémi Duraffort  <remi.duraffort@st.com>
2500
2501         Fix compilation when the JS Debugger is disabled.
2502         https://bugs.webkit.org/show_bug.cgi?id=70007
2503
2504         Reviewed by Antti Koivisto.
2505
2506         * inspector/InspectorInstrumentation.cpp:
2507         (WebCore::InspectorInstrumentation::willEvaluateWorkerScript):
2508         * inspector/InspectorRuntimeAgent.cpp:
2509         * inspector/InspectorRuntimeAgent.h:
2510         * inspector/WorkerInspectorController.cpp:
2511         * inspector/WorkerInspectorController.h:
2512         * workers/WorkerMessagingProxy.cpp:
2513         (WebCore::WorkerMessagingProxy::disconnectFromInspector):
2514         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
2515
2516 2011-10-13  Nikolas Zimmermann  <nzimmermann@rim.com>
2517
2518         Prepare SVGImage intrinsic size negotiation: Introduce an IntSize <-> SVGImage cache in CachedImage
2519         https://bugs.webkit.org/show_bug.cgi?id=69416
2520
2521         Reviewed by Antti Koivisto.
2522
2523         Refactor ImageBySizeCache out of CSSImageGeneratorValue as CachedImage wants to use the same type of cache for its purposes.
2524         When introducing the SVGImage intrinsic size negotiation the container size of an SVGImage is dependant on the place where
2525         it gets embedded (eg width/height attributes of host documents <img> force a certain size).
2526
2527         Currently CachedImage only contains a single RefPtr<Image>, which it constructs out of the decoded data.
2528         Multiple RenderObjects share the same CachedImages, when embedding eg. a SVG document in a <html:img> or using it in a background-image for a <div>.
2529         Consider the case where two RenderObjects use the same CachedImage, each with a different container size (200x100 vs 100x200) and the embedded
2530         document contains a viewBox and some arbitary preserveAspectRatio settings. To honour these we have to relayout the document with the desired
2531         size (percentual unit resolving etc, all depend on the RenderSVGRoots size).
2532
2533         With the current design this is hard to realize, w/o requring to relayout the embedded document for each embedder that uses an SVGImage.
2534         This patch introduces a cache right within CachedImage, which manages a map of images to certain sizes, by utilizing the new ImageBySizeCache.
2535
2536         CachedImage::imageForRenderer() takes a RenderObject* parameter, which it uses to look up the last set image container size for a renderer.
2537         Using that size it queries the cache whether it already has an SVGImage for that size, if not it gets created, by creating a whole
2538         new instance of SVGImage, filling it with the already decoded data, and passing on a fixed image container size, which overrides the
2539         size that RenderSVGRoot reports, when computeReplacedLogicalWidth/Height is called and thus laying out the document at the desired size.
2540         This image is then put in the cache for further reusability.
2541
2542         Likewise CachedImage::setContainerSizeForRenderer() now takes a RenderObject* parameter and stores that in the cache with an associated container size.
2543         It requires to touch several files which use CachedImage throughout WebCore/WebKit/WebKit2.
2544
2545         The actual cache is not yet turned on yet, so this is not a functional change so far, as it needs some other changes to SVGImage,
2546         which will come with the master patch in bug 47156.
2547
2548         No new tests yet, as the new cache isn't turned on yet.
2549
2550         * CMakeLists.txt: Add rendering/ImageBySizeCache.* to build.
2551         * GNUmakefile.list.am: Ditto.
2552         * WebCore.gypi: Ditto.
2553         * WebCore.pro: Ditto.
2554         * WebCore.vcproj/WebCore.vcproj: Ditto.
2555         * WebCore.xcodeproj/project.pbxproj: Ditto.
2556         * accessibility/AccessibilityRenderObject.cpp:
2557         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use new CachedImage::imageSizeForRenderer(RenderObject*) method.
2558         * bindings/objc/DOM.mm: Ditto (for CachedImage::image()).
2559         (-[DOMElement image]):
2560         (-[DOMElement _imageTIFFRepresentation]):
2561         * bridge/qt/qt_pixmapruntime.cpp:
2562         (JSC::Bindings::QtPixmapInstance::variantFromObject): Ditto (for CachedImage::image()).
2563         * css/CSSCanvasValue.cpp: s/m_clients/clients()/, which now live in the ImageBySizeCache instead of CSSImageGeneratorValue.
2564         (WebCore::CSSCanvasValue::canvasChanged):
2565         (WebCore::CSSCanvasValue::canvasResized):
2566         (WebCore::CSSCanvasValue::image):
2567         * css/CSSGradientValue.cpp: Ditto.
2568         (WebCore::CSSGradientValue::image):
2569         * css/CSSImageGeneratorValue.cpp: Move the sizes/clients/images cache into a new ImageBySizeCache class, to make it usable for CachedImage as well.
2570         (WebCore::CSSImageGeneratorValue::addClient): Adapt to move.
2571         (WebCore::CSSImageGeneratorValue::removeClient): Ditto.
2572         (WebCore::CSSImageGeneratorValue::getImage): Ditto.
2573         (WebCore::CSSImageGeneratorValue::putImage): Ditto.
2574         * css/CSSImageGeneratorValue.h:
2575         (WebCore::CSSImageGeneratorValue::clients): Forwarded to the ImageBySizeCache.
2576         * editing/DeleteButtonController.cpp: 
2577         (WebCore::isDeletableElement): CachedImage::canRender() now takes a RenderObject* parameter.
2578         * html/HTMLImageElement.cpp:
2579         (WebCore::HTMLImageElement::width): Use new CachedImage::imageSizeForRenderer(RenderObject*) method.
2580         (WebCore::HTMLImageElement::height): Ditto.
2581         (WebCore::HTMLImageElement::naturalWidth): Ditto.
2582         (WebCore::HTMLImageElement::naturalHeight): Ditto.
2583         * html/ImageDocument.cpp:
2584         (WebCore::ImageDocumentParser::finish): Ditto.
2585         (WebCore::ImageDocument::scale): Ditto.
2586         (WebCore::ImageDocument::resizeImageToFit): Ditto.
2587         (WebCore::ImageDocument::imageUpdated): Ditto.
2588         (WebCore::ImageDocument::restoreImageSize): Ditto.
2589         (WebCore::ImageDocument::imageFitsInWindow): Ditto.
2590         * html/canvas/CanvasRenderingContext.cpp:
2591         (WebCore::CanvasRenderingContext::wouldTaintOrigin): Use new CachedImage::imageForRenderer(RenderObject*) method.
2592         * html/canvas/CanvasRenderingContext2D.cpp:
2593         (WebCore::isOriginClean): Ditto.
2594         (WebCore::size): Ditto (for CachedImage::imageSizeForRenderer()).
2595         (WebCore::CanvasRenderingContext2D::drawImage): Ditto.
2596         (WebCore::CanvasRenderingContext2D::createPattern): Ditto.
2597         * html/canvas/WebGLRenderingContext.cpp:
2598         (WebCore::WebGLRenderingContext::texImage2D): Ditto.
2599         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
2600         * loader/cache/CachedImage.cpp: Add currently _disabled_ cache for SVGImages. The intrinsic size negotiation will need to use multiple SVGImages
2601         for each requested size (equal to the size of the embedding place for the image) - make it possible to cache these SVGImages, and maintain a cache
2602         for them. The hash code is a 1:1 refactoring from the already present code in CSSImageGeneratorValue, now named 'ImageBySizeCache'.
2603         (WebCore::CachedImage::lookupImageForSize): Looks up an Image from the cache for a given IntSize. Currently turned off.
2604         (WebCore::CachedImage::lookupImageForRenderer): Looks up an Image from the cache for a given renderer. Currently turned off.
2605         (WebCore::CachedImage::lookupOrCreateImageForRenderer): Looks up an Image from the cache or creates a new SVGImage for a given size and caches it, if possible. Currently turned off.
2606         All following changes share this: Don't operate on m_image directly, instead always look up one from the cache for a given size or renderer - if that's not present fallback to m_image.
2607         When an SVGImage is first created by CachedImage::createImage() and stored in m_image, the cache remains empty.
2608
2609         If eg. <img width="30" height="70" src="foo.svg"> is used which implies a container size of 30x70 a new SVGImage is created with the additional information of a 30x70 container size
2610         which is immediately passed to the SVGImage after its creation. This SVGImage is put in the ImageBySizeCache associated with a container size of 30x70.
2611         We now have two SVGImage objects present, one living in CachedImage::m_image, created by createImage() during data decoding, and one living in the ImageBySizeCache
2612         created by lookupOrCreateImageForRenderer() associated with the 30x70 container. The first SVGImage::size() will return a value as defined in the referenced foo.svg,
2613         whereas the SVGImage::size() call of the new SVGImage living in the cache reports 30x70 and renders according to that.
2614
2615         Whenever any method of CachedImage is called with a RenderObject* or IntSize, we can't just operate on m_image anymore but instead have to lookup the right
2616         images for a certain renderer/size from the cache and operate on these. When calling eg. CachedImage::image() with a null renderer, m_image is returned.
2617         When passing with a valid renderer only cache lookups are done if the m_image is actually a SVGImage, otherwhise lookupImageForSize/Renderer will just return the m_image.
2618         There is no logical change induced for non-SVGImage derived images.
2619
2620         CachedImage::image() of course needs a RenderObject* parameter now, to identify which of the images from the cache to use, if the underlying image is a SVGImage.
2621         Luckily these information are already present in StyleCachedImage/StyleImage & friends and only need to be added for some additional methods.
2622         (WebCore::CachedImage::image): FIXME
2623         (WebCore::CachedImage::imageForRenderer): Call lookupOrCreateImageForRenderer() instead of returning m_image, if it's not null. Its a no-op for non SVGImage derived objects.
2624         (WebCore::CachedImage::setContainerSizeForRenderer): For non-SVGImages, just pass on the size to the m_image. For SVGImages, associate the passed in renderer with the IntSize in the cache.
2625                                                              This does NOT create the SVGImage yet, this is delayed until imageForRenderer() is called for a given renderer that wants this size.
2626         (WebCore::CachedImage::imageSize): Don't operate on m_image, ask lookupImageForRenderer() with the incoming renderer.
2627         (WebCore::CachedImage::imageRect): Ditto.
2628         (WebCore::CachedImage::clear): Force clearing the m_svgImageCache.
2629         (WebCore::CachedImage::data): Call m_image->size() instead of imageSize(), to avoid having to pass a null renderer to imageSize() as here no renderer is available yet.
2630         (WebCore::CachedImage::destroyDecodedData): Don't destroy decoded data for SVG images, as m_data needs to be accessable at any time to construct a cloned SVGImage.
2631                                                     In future we don't need this anymore if we make sure multiple SVGImages share the same trees, but that's for a follow-up patch.
2632         (WebCore::CachedImage::decodedSizeChanged): Don't operate on m_image, ask lookupImageForRenderer() with the incoming renderer.
2633         (WebCore::CachedImage::didDraw): Ditto.
2634         (WebCore::CachedImage::shouldPauseAnimation): Ditto.
2635         (WebCore::CachedImage::animationAdvanced): Ditto.
2636         (WebCore::CachedImage::changedInRect): Ditto. (eg. when leaving out this change animated SVG images wouldn't update anymore, as the animation didn't happen on m_image!)
2637         * loader/cache/CachedImage.h: imageForRenderer/canRender/setContainerSizeForRenderer/imageSizeForRenderer now all take a RenderObject* parameter to identifiy the current user of the image.
2638         (WebCore::CachedImage::canRender): Pass on the incoming renderer to imageSizeForRenderer().
2639         * page/DragController.cpp:
2640         (WebCore::getImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
2641         * page/EventHandler.cpp:
2642         (WebCore::EventHandler::selectCursor): Ditto.
2643         * page/PageSerializer.cpp:
2644         (WebCore::PageSerializer::serializeFrame): Ditto.
2645         (WebCore::PageSerializer::addImageToResources): Ditto.
2646         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration): Ditto.
2647         * page/PageSerializer.h:
2648         * platform/chromium/ClipboardChromium.cpp:
2649         (WebCore::writeImageToDataObject): Ditto.
2650         * platform/chromium/PasteboardChromium.cpp:
2651         (WebCore::Pasteboard::writeImage): Ditto.
2652         * platform/graphics/Image.h:
2653         (WebCore::Image::isSVGImage): Add boolean helper to identify SVGImages, just like isBitmapImage().
2654         * platform/gtk/ClipboardGtk.cpp:
2655         (WebCore::ClipboardGtk::declareAndWriteDragImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
2656         * platform/gtk/PasteboardGtk.cpp:
2657         (WebCore::Pasteboard::writeImage): Ditto.
2658         * platform/mac/HTMLConverter.mm:
2659         (fileWrapperForElement): Ditto.
2660         * platform/mac/PasteboardMac.mm:
2661         (WebCore::Pasteboard::writeImage): Ditto.
2662         * platform/qt/ClipboardQt.cpp:
2663         (WebCore::ClipboardQt::declareAndWriteDragImage): Ditto.
2664         * platform/qt/PasteboardQt.cpp:
2665         (WebCore::Pasteboard::writeImage): Ditto.
2666         * platform/win/ClipboardWin.cpp:
2667         (WebCore::writeImageToDataObject): Ditto.
2668         * platform/win/PasteboardWin.cpp:
2669         (WebCore::Pasteboard::writeImage): Ditto.
2670         * platform/wince/PasteboardWinCE.cpp:
2671         (WebCore::Pasteboard::writeImage): Ditto.
2672         * rendering/HitTestResult.cpp:
2673         (WebCore::HitTestResult::image): Ditto.
2674         * rendering/ImageBySizeCache.cpp: Copied from WebCore/css/CSSImageGeneratorValue.cpp, to preserve history for the original cache code.
2675         (WebCore::ImageBySizeCache::ImageBySizeCache): Straight copy from CSSImageGeneratorValue, renamed to ImageBySizeCache, removing all but the cache relevant code.
2676         (WebCore::ImageBySizeCache::addClient): Ditto.
2677         (WebCore::ImageBySizeCache::removeClient): Ditto.
2678         (WebCore::ImageBySizeCache::getImage): Ditto.
2679         (WebCore::ImageBySizeCache::putImage): Ditto.
2680         (WebCore::ImageBySizeCache::clear): New function, that clears the cache, introduced for the needs of CachedImage.
2681         (WebCore::ImageBySizeCache::imageForSize): New function to query an Image* for a given IntSize, introduced for the needs of CachedImage.
2682         (WebCore::ImageBySizeCache::sizeForClient): New function to query an IntSize for a given renderer.
2683         * rendering/ImageBySizeCache.h: Copied from WebCore/css/CSSImageGeneratorValue.h.
2684         (WebCore::ImageBySizeCache::clients):
2685         * rendering/InlineFlowBox.cpp:
2686         (WebCore::InlineFlowBox::paintFillLayer): CachedImage::canRender() now takes a RenderObject* parameter.
2687         (WebCore::InlineFlowBox::paintBoxDecorations): Ditto.
2688         (WebCore::InlineFlowBox::paintMask): Ditto.
2689         * rendering/RenderBox.cpp:
2690         (WebCore::RenderBox::paintMaskImages): Ditto.
2691         (WebCore::RenderBox::repaintLayerRectsForImage): Ditto.
2692         * rendering/RenderBoxModelObject.cpp:
2693         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Ditto.
2694         (WebCore::RenderBoxModelObject::calculateFillTileSize): Ditto (for CachedImage::setContainerSizeForRenderer()).
2695         (WebCore::RenderBoxModelObject::paintNinePieceImage): Ditto.
2696         * rendering/RenderImage.cpp:
2697         (WebCore::RenderImage::imageSizeForError): Use new CachedImage::imageForRenderer(RenderObject*) method.
2698         (WebCore::RenderImage::setImageSizeForAltText): Ditto.
2699         (WebCore::RenderImage::computeReplacedLogicalWidth): FIXME
2700         * rendering/RenderImageResource.cpp:
2701         (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass on m_renderer to CachedImage::setContainerSizeForRenderer().
2702         * rendering/RenderImageResource.h: Remove constness from setContainerSizeForRenderer.
2703         (WebCore::RenderImageResource::image): Pass on m_renderer to CachedImage::image().
2704         (WebCore::RenderImageResource::imageSize): Pass on m_renderer to CachedImage::imageSizeForRenderer().
2705         * rendering/RenderImageResourceStyleImage.h:
2706         (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Remove constness, pass on m_renderer to StyleImage::setContainerSizeForRenderer().
2707         * rendering/RenderLayerBacking.cpp:
2708         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use new CachedImage::imageForRenderer(RenderObject*) method.
2709         (WebCore::RenderLayerBacking::updateImageContents): Ditto.
2710         * rendering/RenderListMarker.cpp:
2711         (WebCore::RenderListMarker::computePreferredLogicalWidths): CachedImage::setContainerSizeForRenderer() now takes a RenderObject* parameter.
2712         * rendering/RenderObject.cpp:
2713         (WebCore::mustRepaintFillLayers): CachedImage::canRender() now takes a RenderObject* parameter.
2714         (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Ditto.
2715         * rendering/style/StyleCachedImage.cpp:
2716         (WebCore::StyleCachedImage::canRender): Pass on incoming renderer to CachedImage::canRender().
2717         (WebCore::StyleCachedImage::imageSize): Pass on incoming renderer to CachedImage::imageSizeForRenderer().
2718         (WebCore::StyleCachedImage::setContainerSizeForRenderer): Pass on incoming renderer to CachedImage::setContainerSizeForRenderer().
2719         (WebCore::StyleCachedImage::addClient): Remove unneeded return statment in void method.
2720         (WebCore::StyleCachedImage::removeClient): Ditto.
2721         (WebCore::StyleCachedImage::image): Pass on incoming renderer to CachedImage::image().
2722         * rendering/style/StyleCachedImage.h: Add RenderObject* parameter to canRender()/setContainerSizeForRenderer(). image() already has one, that was unused so far.
2723         * rendering/style/StyleGeneratedImage.cpp: Inlined setContainerSizeForRenderer.
2724         * rendering/style/StyleGeneratedImage.h: 
2725         (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Add RenderObject* parameter.
2726         * rendering/style/StyleImage.h:
2727         (WebCore::StyleImage::canRender): Ditto.
2728         * rendering/style/StylePendingImage.h:
2729         (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
2730         * svg/SVGFEImageElement.cpp:
2731         (WebCore::SVGFEImageElement::build): Use new CachedImage::imageForRenderer(RenderObject*) method.
2732         * svg/graphics/SVGImage.cpp: Cleanup file, the include hack seems not needed anymore.
2733         (WebCore::SVGImage::setContainerSize): s/LayoutSize/IntSize/ to match the code in platform/.
2734         * svg/graphics/SVGImage.h: Ditto.
2735         (WebCore::SVGImage::isSVGImage): Return true.
2736
2737 2011-10-13  Kenichi Ishibashi  <bashi@chromium.org>
2738
2739         [Chromium] Uninitialized read in WebCore::*Font* / HB_GSUB_Select_Feature
2740         https://bugs.webkit.org/show_bug.cgi?id=70087
2741
2742         Reviewed by Kent Tamura.
2743
2744         Initialize local variables in ComplexTextControllerLinux::setupfontFeatures.
2745
2746         No new tests because there is no behavior change. Manually tested with valgrind.
2747
2748         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
2749         (WebCore::setupFontFeatures):
2750
2751 2011-10-13  Csaba Osztrogonác  <ossy@webkit.org>
2752
2753         [Qt][Win] Unreviewed buildfix after r97433.
2754
2755         * platform/MemoryPressureHandler.h: Add a missing include.
2756
2757 2011-10-13  Adam Barth  <abarth@webkit.org>
2758
2759         Spelling error in v8WebSocket::constructorCallback error
2760         https://bugs.webkit.org/show_bug.cgi?id=63943
2761
2762         Reviewed by Kent Tamura.
2763
2764         Fix typo.
2765
2766         * bindings/v8/custom/V8WebSocketCustom.cpp:
2767         (WebCore::V8WebSocket::constructorCallback):
2768
2769 2011-10-13  Mark Hahnenberg  <mhahnenberg@apple.com>
2770
2771         Rename virtual getConstructData to getConstructDataVirtual
2772         https://bugs.webkit.org/show_bug.cgi?id=69872
2773
2774         Reviewed by Geoffrey Garen.
2775
2776         No new tests.
2777
2778         Renamed virtual getConstructData functions to getConstructDataVirtual to 
2779         avoid conflicts when we add static getConstructData to the MethodTable.
2780
2781         * WebCore.exp.in:
2782         * bindings/js/JSAudioConstructor.cpp:
2783         (WebCore::JSAudioConstructor::getConstructDataVirtual):
2784         * bindings/js/JSAudioConstructor.h:
2785         * bindings/js/JSImageConstructor.cpp:
2786         (WebCore::JSImageConstructor::getConstructDataVirtual):
2787         * bindings/js/JSImageConstructor.h:
2788         * bindings/js/JSOptionConstructor.cpp:
2789         (WebCore::JSOptionConstructor::getConstructDataVirtual):
2790         * bindings/js/JSOptionConstructor.h:
2791         * bindings/js/ScriptFunctionCall.cpp:
2792         (WebCore::ScriptFunctionCall::construct):
2793         * bindings/scripts/CodeGeneratorJS.pm:
2794         (GenerateConstructorDeclaration):
2795         (GenerateConstructorDefinition):
2796         * bindings/scripts/test/JS/JSTestInterface.cpp:
2797         (WebCore::JSTestInterfaceConstructor::getConstructDataVirtual):
2798         * bridge/runtime_object.cpp:
2799         (JSC::Bindings::RuntimeObject::getConstructDataVirtual):
2800         * bridge/runtime_object.h:
2801
2802 2011-10-13  Simon Fraser  <simon.fraser@apple.com>
2803
2804         Remove #include of <QuartzCore/QuartzCore.h> in a widely-used header.
2805
2806         Reviewed by Sam Weinig.
2807
2808         * platform/PlatformScreen.h: Typedef PlatformDisplayID to a uint32_t.
2809         * platform/graphics/DisplayRefreshMonitor.h: Typedef CVDisplayLinkRef as
2810         an opaque type to avoid bringing in QuartzCore.h, and move displayLinkCallback
2811         to the .cpp file since it uses Core Video types.
2812         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
2813         (WebCore::displayLinkCallback): Make this a local static function, that
2814         calls a member fuction on the object.
2815         (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
2816         (WebCore::DisplayRefreshMonitor::displayLinkFired):
2817
2818 2011-10-13  Michael Saboff  <msaboff@apple.com>
2819
2820         REGRESSION: High frequency memory warnings cause Safari to hog the CPU doing useless garbage collection
2821         https://bugs.webkit.org/show_bug.cgi?id=69774
2822
2823         Throttle the processing of memory pressure events to no more often than once every 5 seconds.
2824
2825         Reviewed by Geoffrey Garen.
2826
2827         No new tests.
2828
2829         * platform/MemoryPressureHandler.cpp:
2830         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
2831         * platform/MemoryPressureHandler.h:
2832         * platform/mac/MemoryPressureHandlerMac.mm:
2833         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2834
2835 2011-10-13  Kentaro Hara  <haraken@chromium.org>
2836
2837         Implement an OverflowEvent constructor for V8
2838         https://bugs.webkit.org/show_bug.cgi?id=70017
2839
2840         Reviewed by Adam Barth.
2841
2842         Test: fast/events/constructors/overflow-event-constructor.html
2843
2844         * bindings/v8/custom/V8EventConstructors.cpp: Added an OverflowEvent constructor.
2845         * dom/OverflowEvent.idl: Replaced 'JSCustomConstructor' with 'CustomConstructor'.
2846
2847 2011-10-13  Anantanarayanan G Iyengar  <ananta@chromium.org>
2848
2849         https://bugs.webkit.org/show_bug.cgi?id=70064
2850         
2851         The NPObjectWrapper class used by V8 bindings in Chromium to wrap the window
2852         script object was allocating an instance of itself in the NPAllocate
2853         implementation and returning this pointer. It should be returning a pointer
2854         to the wrapped NPObject structure (NPProxyObject). The member function
2855         getUnderlyingNPObject should return 0 if we fail to find the underlying NPObject
2856         for the call. It was incorrectly returning a pointer to the same NPObject in
2857         this case which could cause recursion. 
2858
2859         Reviewed by Nate Chapin.
2860
2861         No new tests as there is no change in functionality.
2862
2863         * bindings/v8/NPObjectWrapper.cpp:
2864         (WebCore::NPObjectWrapper::getObjectForCall):
2865         (WebCore::NPObjectWrapper::NPAllocate):
2866         * bindings/v8/NPObjectWrapper.h:
2867
2868 2011-10-13  Arthur Hsu  <arthurhsu@chromium.org>
2869
2870         Ensure font loaded before calling Skia to drawPosText in Chrome sandbox
2871         https://bugs.webkit.org/show_bug.cgi?id=69370
2872
2873         Reviewed by James Robinson.
2874
2875         * platform/graphics/chromium/FontChromiumWin.cpp:
2876         (WebCore::Font::drawGlyphs):
2877
2878 2011-10-13  Kentaro Hara  <haraken@chromium.org>
2879
2880         Regarding constructor, replace [ConstructorWith=...] IDL with [CallWith=...] IDL
2881         https://bugs.webkit.org/show_bug.cgi?id=69801
2882
2883         As for constructors, [ConstructorWith=...] has the same meaning as [CallWith=...].
2884         We should deprecate [ConstructorWith=...]. This is a clean-up bug for the bug 65839.
2885
2886         Reviewed by Adam Barth.
2887
2888         No new tests, since no change in behavior.
2889
2890         * bindings/scripts/CodeGeneratorV8.pm: Replaced [ConstructorWith=...] IDL with [CallWith=...] IDL.
2891         (GenerateConstructorCallback):
2892         * bindings/scripts/test/TestInterface.idl: Ditto.
2893         * fileapi/FileReader.idl: Ditto.
2894         * p2p/PeerConnection.idl: Ditto.
2895         * page/EventSource.idl: Ditto.
2896         * workers/Worker.idl: Ditto.
2897
2898 2011-10-13  Kentaro Hara  <haraken@chromium.org>
2899
2900         Constructor should not be called if the object is being constructed inside WebCore
2901         https://bugs.webkit.org/show_bug.cgi?id=70015
2902
2903         Reviewed by Adam Barth.
2904
2905         Summary: A DOM object can be created from the JS context and from the WebCore context.
2906         Constructor should be called if the object is created from the JS context,
2907         but should not be called if the object is created from the WebCore context.
2908
2909         Details:
2910         - Expected behavior when the object is created from the JS context (e.g. "new Event()"):
2911         (1) V8XXXX::constructorCallback() is called.
2912         (2) V8XXXX::constructorCallback() calls XXXX::create().
2913         (3) XXXX::create() creates a C++ object.
2914         (4) V8XXXX::constructorCallback() calls toV8() for the C++ object.
2915         (5) toV8() wraps the C++ object and returns the wrapped JS object.
2916
2917         - Actual behavior when the object is created from the JS context (e.g. "new Event()"):
2918         As described above (1) - (5). That's fine!!
2919
2920         - Expected behavior when the object is created from the WebCore context.
2921         (e.g. "window.addEventListener("load", function (event) { ... });". In this case,
2922         the Event object is created inside the WebCore context):
2923         (1) WebCore calls XXXX::create().
2924         (2) XXXX::create() creates a C++ object.
2925         (3) WebCore calls toV8() for the C++ object.
2926         (4) toV8() wraps the C++ object and returns the wrapped JS object.
2927
2928         - Actual behavior when the object is created from the WebCore context.
2929         (e.g. "window.addEventListener("load", function (event) { ... });"):
2930         (1) WebCore calls XXXX::create().
2931         (2) XXXX::create() creates a C++ object.
2932         (3) WebCore calls toV8() for the C++ object.
2933         (4) toV8() can call XXXX::constructorCallback(). (Whether or not toV8() calls
2934         XXXX::constructorCallback() depends on the implementation of toV8().)
2935         (5) V8XXXX::constructorCallback() calls XXXX::create().
2936         (6) XXXX::create() creates __another__ C++ object.
2937         (7) V8XXXX::constructorCallback() calls toV8() for the C++ object.
2938         (8) toV8() wraps the C++ object and returns the wrapped JS object.
2939
2940         This actual behavior definitely causes the following problems:
2941
2942         - Problem1: The object returned to JS is not the object created in (2)
2943         but the object created in (6). However, I do not yet know a test case that causes
2944         some visible bug because of this problem.
2945
2946         - Problem2: In (4), XXXX::constructorCallback() can be called with no argument.
2947         If XXXX::constructorCallback() expects at least one argument, XXXX::constructorCallback()
2948         throws TypeError, resulting in crash. For example, Event caused this problem
2949         when I implemented constructor for Event. Based on the discussion with Dominicc,
2950         we solved this problem by adding the following two lines of code to Event::constructorCallback()
2951         (See here: http://codesearch.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/bindings/v8/custom/V8EventConstructors.cpp&exact_package=chromium&q=allowallocation&type=cs):
2952
2953         XXXX::constructorCallback(...) {
2954             ...;
2955             if (AllowAllocation::current())
2956                 return args.Holder();
2957             ...;
2958         }
2959
2960         This if check means "XXXX::constructorCallback() returns immediately if it is called
2961         from the WebCore context".
2962
2963         With these observations, we think that all constructorCallback() should have the above
2964         if check. This patch adds the if check to CodeGeneratorV8.pm. After this patch is landed,
2965         I would like to add the if check to all existing custom V8 constructors.
2966
2967         No new tests, since we could not find a test case that causes some visible bug without the if check.
2968
2969         * bindings/scripts/CodeGeneratorV8.pm:
2970         (GenerateConstructorCallback): Generates a constructor so that it returns immediately without doing anything if the constructor is called from the WebCore context.
2971         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated the result.
2972         (WebCore::V8TestInterface::constructorCallback):
2973         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
2974         (WebCore::V8TestObj::constructorCallback):
2975
2976 2011-10-13  Kentaro Hara  <haraken@chromium.org>
2977
2978         Implement a BeforeLoadEvent constructor for V8
2979         https://bugs.webkit.org/show_bug.cgi?id=69980
2980
2981         Reviewed by Adam Barth.
2982
2983         Test: fast/events/constructors/before-load-event-constructor.html
2984
2985         * bindings/v8/custom/V8EventConstructors.cpp: Added a BeforeLoadEvent constructor.
2986         * dom/BeforeLoadEvent.idl: Replaced 'JSCustomConstructor' with 'CustomConstructor'.
2987
2988 2011-10-13  Joshua Bell  <jsbell@chromium.org>
2989
2990         make IDBFactory.open wait for pending setVersion transactions to complete
2991         https://bugs.webkit.org/show_bug.cgi?id=69307
2992
2993         Reviewed by Tony Chang.
2994
2995         Added a queue of pending open calls, similar to the queue of pending
2996         setVersion calls. Ensure pending calls are processed in the correct
2997         order when transactions complete.
2998
2999         Tests: storage/indexeddb/open-close-version.html
3000                storage/indexeddb/two-version-changes.html
3001                storage/indexeddb/version-change-exclusive.html
3002
3003         * storage/IDBDatabaseBackendImpl.cpp:
3004         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
3005         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::callbacks):
3006         (WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
3007         (WebCore::IDBDatabaseBackendImpl::setVersion):
3008         (WebCore::IDBDatabaseBackendImpl::transactionStarted):
3009         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
3010         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
3011         (WebCore::IDBDatabaseBackendImpl::openConnection):
3012         (WebCore::IDBDatabaseBackendImpl::close):
3013         * storage/IDBDatabaseBackendImpl.h:
3014         * storage/IDBFactoryBackendImpl.cpp:
3015         (WebCore::IDBFactoryBackendImpl::open):
3016         * storage/IDBTransactionBackendImpl.cpp:
3017         (WebCore::IDBTransactionBackendImpl::abort):
3018         (WebCore::IDBTransactionBackendImpl::start):
3019         (WebCore::IDBTransactionBackendImpl::commit):
3020
3021 2011-10-13  Chris Marrin  <cmarrin@apple.com>
3022
3023         Fix Leopard build
3024
3025         Unreviewed.
3026
3027         * platform/graphics/DisplayRefreshMonitor.h: Added.
3028
3029 2011-10-12  Chris Marrin  <cmarrin@apple.com>
3030
3031         Sync requestAnimationFrame callback to CVDisplayLink on Mac
3032         https://bugs.webkit.org/show_bug.cgi?id=68911
3033
3034         Reviewed by Simon Fraser.
3035
3036         Test: fast/animation/request-animation-frame-iframe.html
3037
3038         Implement CVDisplayLink which checks to see if any scheduleAnimation requests
3039         have come in. If so, remember the timestamp and do a callOnMainThread to fire
3040         the callbacks. A DisplayRefreshMonitorManager is a singleton which has a list
3041         of DisplayRefreshMonitors, one for each display. Each monitor has one or more
3042         DisplayRefreshMonitorClients, which is a abstract virtual class implemented
3043         by ScriptAnimationController. When an animation is scheduled, the
3044         displayRefreshFired method is called on the client, which in turn calls the
3045         requestAnimationFrame callbacks. 
3046
3047         DisplayRefreshMonitor and therefore the CVDisplayLink it owns is discarded
3048         when it no longer has any clients. This minimizes the number of concurrent
3049         CVDisplayLink threads.
3050
3051         * WebCore.exp.in:
3052         * WebCore.xcodeproj/project.pbxproj:
3053         * dom/Document.cpp:
3054         (WebCore::Document::windowScreenDidChange):
3055         (WebCore::Document::webkitRequestAnimationFrame):
3056         * dom/Document.h:
3057         * dom/ScriptedAnimationController.cpp:
3058         (WebCore::ScriptedAnimationController::ScriptedAnimationController):
3059         (WebCore::ScriptedAnimationController::windowScreenDidChange):
3060         (WebCore::ScriptedAnimationController::scheduleAnimation):
3061         * dom/ScriptedAnimationController.h:
3062         (WebCore::ScriptedAnimationController::displayRefreshFired):
3063         * page/Page.cpp:
3064         (WebCore::Page::Page):
3065         (WebCore::Page::windowScreenDidChange):
3066         * page/Page.h:
3067         (WebCore::Page::displayID):
3068         * platform/PlatformScreen.h:
3069         * platform/graphics/DisplayRefreshMonitor.cpp: Added.
3070         (WebCore::DisplayRefreshMonitorClient::DisplayRefreshMonitorClient):
3071         (WebCore::DisplayRefreshMonitorClient::~DisplayRefreshMonitorClient):
3072         (WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded):
3073         (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
3074         (WebCore::DisplayRefreshMonitor::refreshDisplayOnMainThread):
3075         (WebCore::DisplayRefreshMonitorManager::sharedManager):
3076         (WebCore::DisplayRefreshMonitorManager::findMonitor):
3077         (WebCore::DisplayRefreshMonitorManager::registerClient):
3078         (WebCore::DisplayRefreshMonitorManager::unregisterClient):
3079         (WebCore::DisplayRefreshMonitorManager::scheduleAnimation):
3080         (WebCore::DisplayRefreshMonitorManager::windowScreenDidChange):
3081         * platform/graphics/DisplayRefreshMonitor.h: Added.
3082         (WebCore::DisplayRefreshMonitorClient::scheduleAnimation):
3083         (WebCore::DisplayRefreshMonitor::hasClients):
3084         (WebCore::DisplayRefreshMonitor::addClient):
3085         (WebCore::DisplayRefreshMonitor::removeClient):
3086         (WebCore::DisplayRefreshMonitor::displayID):
3087         (WebCore::DisplayRefreshMonitorManager::DisplayRefreshMonitorManager):
3088         * platform/graphics/mac/DisplayRefreshMonitorMac.cpp: Added.
3089         (WebCore::DisplayRefreshMonitor::displayLinkCallback):
3090         (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
3091         (WebCore::DisplayRefreshMonitor::scheduleAnimation):
3092
3093 2011-10-13  Abhishek Arya  <inferno@chromium.org>
3094
3095         Unreviewed. Qt compile fix.
3096
3097         * css/CSSFontFaceSource.cpp: include Document.h.
3098
3099 2011-10-12  Abhishek Arya  <inferno@chromium.org>
3100
3101         Register custom fonts at their creation time,  
3102         rather than at retirement time.
3103         https://bugs.webkit.org/show_bug.cgi?id=68929
3104
3105         Reviewed by Dan Bernstein.
3106
3107         Test: fast/text/custom-font-data-crash2.html
3108
3109         * css/CSSFontFace.cpp:
3110         * css/CSSFontFace.h: remove function added in r94508,
3111         which is no longer needed. We now register custom fonts
3112         at creation time.
3113         * css/CSSFontFaceSource.cpp:
3114         (WebCore::CSSFontFaceSource::pruneTable): no longer need
3115         to delete/retire font data here, it will be handled in ~Document.
3116         (WebCore::CSSFontFaceSource::getFontData): register custom
3117         font to document's m_customFonts.
3118         * css/CSSFontSelector.cpp:
3119         * css/CSSFontSelector.h: remove function added in r94508,
3120         which is no longer needed. We now register custom fonts
3121         at creation time.
3122         * css/CSSSegmentedFontFace.cpp:
3123         (WebCore::CSSSegmentedFontFace::pruneTable): no longer need
3124         to delete/retire font data here, it will be handled in ~Document.
3125         (WebCore::CSSSegmentedFontFace::getFontData): register custom
3126         font to document's m_customFonts.
3127         * dom/Document.cpp: Change function names to registerCustomFont
3128         , deleteCustomFonts and local to m_customFont.
3129         (WebCore::Document::~Document):
3130         (WebCore::Document::recalcStyle): yanking out the comment. We
3131         no longer keep retired custom fonts. We clear all custom fonts
3132         on Document destruction.
3133         (WebCore::Document::registerCustomFont): 
3134         (WebCore::Document::deleteCustomFonts):
3135         * dom/Document.h:
3136
3137 2011-10-13  Ryosuke Niwa  <rniwa@webkit.org>
3138
3139         Crash in DeleteSelectionCommand::handleGeneralDelete
3140         https://bugs.webkit.org/show_bug.cgi?id=70045
3141
3142         Reviewed by Darin Adler.
3143
3144         Exit early when m_upstreamStart is null.
3145
3146         No new tests because we don't have a reduction.
3147
3148         * editing/DeleteSelectionCommand.cpp:
3149         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3150
3151 2011-10-13  David Hyatt  <hyatt@apple.com>
3152
3153         https://bugs.webkit.org/show_bug.cgi?id=70049
3154         
3155         [CSS Regions] Add a test of a float being pushed down because it can't fit
3156         next to another float and make sure it re-evaluates its position when it changes
3157         regions as a result of the push.
3158
3159         Reviewed by Sam Weinig.
3160
3161         Added new test in fast/regions.
3162
3163         * rendering/RenderBlock.cpp:
3164         (WebCore::RenderBlock::computeLogicalLocationForFloat):
3165
3166 2011-10-13  Adam Barth  <abarth@webkit.org>
3167
3168         Move XSTL to script-src in Content-Security-Policy
3169         https://bugs.webkit.org/show_bug.cgi?id=63637
3170
3171         Reviewed by Eric Seidel.
3172
3173         The spec was unclear about how to treat XSLT.  My reading was that they
3174         should fall under style-src, but further discussion on the mailing list
3175         settled on using script-src because an XSLT can inject arbitrary DOM
3176         and script into a page, which is more risky than including style.
3177
3178         Tests: http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-1.php
3179                http/tests/security/contentSecurityPolicy/xsl-unaffected-by-style-src-2.php
3180
3181         * loader/cache/CachedResourceLoader.cpp:
3182         (WebCore::CachedResourceLoader::canRequest):
3183
3184 2011-10-13  Zeno Albisser  <zeno.albisser@nokia.com>
3185
3186         [Qt] QtWebKit build error for Mac 32bit
3187         https://bugs.webkit.org/show_bug.cgi?id=69914
3188
3189         In WebCore.pro and QtWebKit.pro we define NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES
3190         when compiling with ENABLE_VIDEO and with WTF_USE_QTKIT.
3191         But this is meant to be defined in NSGeometry.h under certain preconditions.
3192         Without setting NS_BUILD_32_LIKE_64 none of these preconditions is
3193         met and therefore NSGeometry.h will create several conflicting type definitions.
3194
3195         With this patch we create consistent definitions again.
3196         Due to the order of include files we cannot remove
3197         NSGEOMETRY_TYPES_SAME_AS_CGGEOMETRY_TYPES from WebCore.pro.
3198
3199         Reviewed by Andreas Kling.
3200
3201         * WebCore.pro:
3202
3203 2011-10-13  Tom Hudson  <tomhudson@google.com>
3204
3205         Revert border radius clips (r95239) for Chromium due to performance issues. Update test expectations to skip border radius clip layout tests.
3206         https://bugs.webkit.org/show_bug.cgi?id=69844
3207
3208         Reviewed by Simon Fraser.
3209
3210         * rendering/RenderLayer.cpp:
3211         (WebCore::RenderLayer::clipToRect): Only process border radius clips #if !PLATFORM(CHROMIUM)
3212
3213 2011-10-13  Julien Chaffraix  <jchaffraix@webkit.org>
3214
3215         Deprecate event.layerX and event.layerY in WebKit
3216         https://bugs.webkit.org/show_bug.cgi?id=69951
3217
3218         Reviewed by Darin Adler.
3219
3220         layerX and layerY were concepts of the old Netscape code that stayed
3221         in WebKit for a long time without changes. Now the code is completely
3222         wrong and Mozilla has expressed some interest in removing it from their
3223         API too.
3224
3225         This is a first step in the removal as layerX and layerY are exposed
3226         in some APIs. Chromium and Win are fine with removing the property
3227         directly, but ObjC needs to deprecate them first.
3228
3229         * bindings/objc/PublicDOMInterfaces.h: Mark the API as deprecated.
3230
3231         * dom/MouseRelatedEvent.cpp:
3232         (WebCore::MouseRelatedEvent::layerX):
3233         (WebCore::MouseRelatedEvent::layerY):
3234         * dom/UIEvent.cpp:
3235         (WebCore::UIEvent::layerX):
3236         (WebCore::UIEvent::layerY):
3237         Added a call to warnDeprecatedLayerXYUsage in the previous functions.
3238
3239         (WebCore::UIEvent::warnDeprecatedLayerXYUsage): Print a warning in the
3240         console about the removal of event.layerX and event.layerY in the near future.
3241
3242         * dom/UIEvent.h: Added warnDeprecatedLayerXYUsage.
3243
3244 2011-10-03  Robert Hogan  <robert@webkit.org>
3245
3246         CSS 2.1 failure: inline-replaced-height-008.htm
3247         https://bugs.webkit.org/show_bug.cgi?id=69273
3248
3249         Reviewed by Simon Fraser.
3250
3251         Test: css2.1/20110323/inline-block-replaced-height-008.html
3252
3253         Per http://www.w3.org/TR/CSS21/visudet.html#inline-replaced-height,  if 'height' has computed value of 
3254         'auto', the replaced element has an intrinsic ratio and its used width is known or resolved, then 
3255         the used value of 'height' is determined by the equation (used width) / (intrinsic ratio).
3256
3257         * rendering/RenderImage.cpp:
3258         (WebCore::RenderImage::computeReplacedLogicalHeight):
3259         * rendering/RenderReplaced.h:
3260
3261 2011-10-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3262
3263         Unreviewed, rolling out r97362.
3264         http://trac.webkit.org/changeset/97362
3265         https://bugs.webkit.org/show_bug.cgi?id=70039
3266
3267         Relies on V8 APIs that have been reverted upstream. (Requested
3268         by dglazkov on #webkit).
3269
3270         * English.lproj/localizedStrings.js:
3271         * bindings/js/ScriptProfiler.cpp:
3272         * bindings/js/ScriptProfiler.h:
3273         * bindings/v8/ScriptProfiler.cpp:
3274         * bindings/v8/ScriptProfiler.h:
3275         * inspector/Inspector.json:
3276         * inspector/InspectorController.cpp:
3277         (WebCore::InspectorController::InspectorController):
3278         * inspector/InspectorProfilerAgent.cpp:
3279         (WebCore::InspectorProfilerAgent::create):
3280         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3281         * inspector/InspectorProfilerAgent.h:
3282         * inspector/front-end/DetailedHeapshotGridNodes.js:
3283         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.hoverMessage):
3284         (WebInspector.HeapSnapshotGenericObjectNode):
3285         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
3286         (WebInspector.HeapSnapshotGenericObjectNode.prototype.hoverMessage):
3287         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
3288         * inspector/front-end/DetailedHeapshotView.js:
3289         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopover):
3290         * inspector/front-end/HeapSnapshot.js:
3291         (WebInspector.HeapSnapshot.prototype._init):
3292         (WebInspector.HeapSnapshot.prototype.dispose):
3293         (WebInspector.HeapSnapshot.prototype.updateStaticData):
3294         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
3295         * inspector/front-end/HeapSnapshotProxy.js:
3296         * inspector/front-end/RemoteObject.js:
3297         * inspector/front-end/heapProfiler.css:
3298
3299 2011-10-13  David Hyatt  <hyatt@apple.com>
3300
3301         https://bugs.webkit.org/show_bug.cgi?id=69932
3302         
3303         Layout repainting messed up for objects in regions. There were two bugs here.
3304         The first is that the regionOverflowRect needs to at least be the size of the 
3305         region's rect. When you're in the middle of layout, you haven't computed the
3306         overflow rect for the flow thread yet (the flow thread's height could even be 0),
3307         and so you just need to enforce a minimum size. Also removed the region-overflow:break
3308         clipping behavior, since it was established that was wrong.
3309         
3310         The second bug is that when you tell a region to repaint, you need to disable layout state,
3311         since applying layout deltas from the flow thread makes no sense. The region is in a totally
3312         different place in the render tree, so the current flow thread layout state can't be used
3313         to determine your coordinate offset.
3314
3315         Reviewed by Dan Bernstein.
3316
3317         Added fast/repaint test.
3318
3319         * rendering/RenderFlowThread.cpp:
3320         (WebCore::RenderFlowThread::repaintRectangleInRegions):
3321         * rendering/RenderRegion.cpp:
3322         (WebCore::RenderRegion::regionOverflowRect):
3323
3324 2011-10-13  Renata Hodovan  <reni@webkit.org>
3325
3326         FEComponentTransfer element doesn't support dynamic invalidation
3327         https://bugs.webkit.org/show_bug.cgi?id=69747
3328
3329         The dynamic changes are captured by the svgAttributeChange() function, and
3330         invalidate the filter primitive if necessary.
3331         invalidateFilterPrimitiveParent() is a new free function in
3332         SVGFilterPrimitiveStanardAttributes what makes the invalidation possible
3333         by objects not inherited from SVGFilterPrimitiveStanardAttributes too.
3334         This solution was used in SVGFEMergeNodeElement::svgAttributeChanged()
3335         previously and now it can use this new function too.
3336
3337         Reviewed by Nikolas Zimmermann.
3338
3339         Tests: svg/dynamic-updates/SVGFEComponentTransferElement-dom-amplitude-attr.html
3340                svg/dynamic-updates/SVGFEComponentTransferElement-dom-exponent-attr.html
3341                svg/dynamic-updates/SVGFEComponentTransferElement-dom-intercept-attr.html
3342                svg/dynamic-updates/SVGFEComponentTransferElement-dom-offset-attr.html
3343                svg/dynamic-updates/SVGFEComponentTransferElement-dom-slope-attr.html
3344                svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr.html
3345                svg/dynamic-updates/SVGFEComponentTransferElement-dom-type-attr.html
3346                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-amplitude-prop.html
3347                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-exponent-prop.html
3348                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-intercept-prop.html
3349                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-offset-prop.html
3350                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-slope-prop.html
3351                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop.html
3352                svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-type-prop.html
3353
3354         * svg/SVGComponentTransferFunctionElement.cpp:
3355         (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
3356         * svg/SVGComponentTransferFunctionElement.h:
3357         * svg/SVGFEComponentTransferElement.cpp:
3358         (WebCore::SVGFEComponentTransferElement::build):
3359         * svg/SVGFEMergeNodeElement.cpp:
3360         (WebCore::SVGFEMergeNodeElement::svgAttributeChanged):
3361         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3362         (WebCore::invalidateFilterPrimitiveParent):
3363         * svg/SVGFilterPrimitiveStandardAttributes.h:
3364
3365 2011-10-13  Deepak Sherveghar  <bpwv64@motorola.com>
3366
3367         REGRESSION (r95381): Standalone video can be focused and draws a focus ring.
3368         https://bugs.webkit.org/show_bug.cgi?id=69097
3369
3370         Reviewed by Eric Carlson.
3371
3372         We don't want to focus a media element in a standalone document.
3373
3374         Test: fast/events/media-focus-in-standalone-media-document.html
3375
3376         * html/HTMLMediaElement.cpp:
3377         (WebCore::HTMLMediaElement::supportsFocus): return false if media element is in a standalone media document.
3378
3379 2011-10-13  Mikhail Naganov  <mnaganov@chromium.org>
3380
3381         Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
3382         https://bugs.webkit.org/show_bug.cgi?id=61179
3383
3384         This is exteremely helpful when dealing with DOM wrappers, as
3385         their properties are mostly implemented with getters and thus not
3386         stored in heap snapshots.
3387
3388         Reviewed by Pavel Feldman.
3389
3390         * English.lproj/localizedStrings.js:
3391         * bindings/js/ScriptProfiler.cpp:
3392         (WebCore::ScriptProfiler::objectByHeapObjectId):
3393         * bindings/js/ScriptProfiler.h:
3394         * bindings/v8/ScriptProfiler.cpp:
3395         (WebCore::ScriptProfiler::objectByHeapObjectId):
3396         * bindings/v8/ScriptProfiler.h:
3397         * inspector/Inspector.json:
3398         * inspector/InspectorController.cpp:
3399         (WebCore::InspectorController::InspectorController):
3400         * inspector/InspectorProfilerAgent.cpp:
3401         (WebCore::InspectorProfilerAgent::create):
3402         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
3403         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
3404         * inspector/InspectorProfilerAgent.h:
3405         * inspector/front-end/DetailedHeapshotGridNodes.js:
3406         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
3407         (WebInspector.HeapSnapshotGenericObjectNode):
3408         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
3409         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
3410         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
3411         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
3412         * inspector/front-end/DetailedHeapshotView.js:
3413         (WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
3414         * inspector/front-end/HeapSnapshot.js:
3415         (WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
3416         (WebInspector.HeapSnapshotNode.prototype.get flags):
3417         (WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
3418         (WebInspector.HeapSnapshot.prototype._init):