[wx] Unreviewed build fix. Remove from WebDOMEventTarget bindings methods that have...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
2
3         [wx] Unreviewed build fix. Remove from WebDOMEventTarget
4         bindings methods that have been removed from EventTarget.
5
6         * bindings/cpp/WebDOMEventTarget.cpp:
7         (toWebKit):
8         * bindings/cpp/WebDOMEventTarget.h:
9
10 2011-11-09  Martin Robinson  <mrobinson@igalia.com>
11
12         [Cairo] Avoid clipping when painting more often
13         https://bugs.webkit.org/show_bug.cgi?id=71179
14
15         Reviewed by Xan Lopez.
16
17         No new tests. These changes are covered by existing tests.
18
19         * platform/graphics/Gradient.h: Add a Cairo-specific method
20         that gets the platform gradient with a particular alpha value.
21         * platform/graphics/cairo/GradientCairo.cpp: Now cache the alpha
22         value of the last created platform gradient.
23         (WebCore::Gradient::platformGradient): If the cached platform gradient
24         has a different alpha value than the one requested, destroy it and start
25         over.
26         * platform/graphics/cairo/GraphicsContextCairo.cpp:
27         (WebCore::drawPathShadow): Adjust the source to avoid calling
28         cairo_clip/cairo_paint_with_alpha and just do a fill.
29         (WebCore::shadowAndFillCurrentCairoPath): No need to clip here. Just
30         call cairo_fill.
31         * platform/graphics/cairo/PlatformContextCairo.cpp:
32         (WebCore::drawPatternToCairoContext): If we have a >= 1 alpha value
33         we can simply fill and avoid calling cairo_clip here.
34         (WebCore::prepareCairoContextSource): Remove TODO about recreating the
35         gradient. No longer need to reduce the gradient source.
36
37 2011-11-09  Alexey Proskuryakov  <ap@apple.com>
38
39         <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
40         https://bugs.webkit.org/show_bug.cgi?id=71964
41
42         Reviewed by Darin Adler.
43
44         * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
45         * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
46         Don't ask the client for proxy credentials. CFNetwork results are authoritative, and proxy
47         credentials are system-wide.
48
49 2011-11-09  Daniel Sievers  <sievers@chromium.org>
50
51         [chromium] Fix typo in checkerboarding code
52         https://bugs.webkit.org/show_bug.cgi?id=71981
53
54         Reviewed by James Robinson.
55
56         No new tests.
57
58         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
59         (WebCore::CCTiledLayerImpl::drawTiles):
60
61 2011-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
62
63         Unreviewed, rolling out r99782.
64         http://trac.webkit.org/changeset/99782
65         https://bugs.webkit.org/show_bug.cgi?id=71979
66
67         broke most of the feImage tests (Requested by thorton on
68         #webkit).
69
70         * svg/SVGFEImageElement.cpp:
71         (WebCore::SVGFEImageElement::parseMappedAttribute):
72         (WebCore::SVGFEImageElement::build):
73
74 2011-11-09  Kentaro Hara  <haraken@chromium.org>
75
76         Remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm
77         https://bugs.webkit.org/show_bug.cgi?id=71938
78
79         Reviewed by Darin Adler.
80
81         Now no IDL files are using [CanBeConstructed] IDL.
82         We can safely remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm.
83
84         No tests. No change in behavior.
85
86         * bindings/scripts/CodeGeneratorJS.pm: Removed [CanBeConstructed]-related code.
87         (GenerateConstructorDeclaration):
88         (GenerateConstructorDefinition):
89         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
90         (GenerateImplementation):
91         * bindings/scripts/test/TestInterface.idl: Removed [CanBeConstructed].
92         * bindings/v8/V8Proxy.h: Removed V8Proxy::constructDOMObject and V8Proxy::constructDOMObjectWithScriptExecutionContext, which had been used only by [CanBeConstructed].
93
94 2011-11-09  Tim Horton  <timothy_horton@apple.com>
95
96         feImage referencing a primitive draws incorrectly
97         https://bugs.webkit.org/show_bug.cgi?id=71731
98         <rdar://problem/10408178>
99
100         Reviewed by Simon Fraser.
101         
102         Don't attempt to resolve an <feImage>'s referenced element until it's used, as it
103         may not exist at the time the attribute is set on the <feImage>.
104         
105         Don't attempt to render an <feImage> if the referenced element is of size 0x0.
106
107         Tests: svg/filters/feImage-reference-svg-primitive.svg
108                svg/filters/feImage-zero-size-crash.svg
109
110         * svg/SVGFEImageElement.cpp:
111         (WebCore::SVGFEImageElement::parseMappedAttribute):
112         (WebCore::SVGFEImageElement::build):
113
114 2011-11-09  Dominic Cooney  <dominicc@chromium.org>
115
116         Remove WebGLContextEvent.initEvent method
117         https://bugs.webkit.org/show_bug.cgi?id=71720
118
119         Reviewed by Adam Barth.
120
121         The WebGL spec calls this method initWebGLContextEvent, but it may
122         adopt a constructor instead. Deleting the initEvent method for now
123         since it is definitely wrong and we don't want people to come to
124         depend on it.
125
126         No new tests--removing untested code.
127
128         * html/canvas/WebGLContextEvent.cpp:
129         * html/canvas/WebGLContextEvent.h:
130         * html/canvas/WebGLContextEvent.idl:
131
132 2011-11-09  Anders Carlsson  <andersca@apple.com>
133
134         Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
135         https://bugs.webkit.org/show_bug.cgi?id=71955
136
137         Reviewed by Sam Weinig.
138
139         Element::boundsInWindowSpace is only used by WebKit2, where the window coordinate space is the
140         same as the root view coordinate space. This lets us get rid of another use of contentsToWindow.
141
142         * WebCore.exp.in:
143         * dom/Element.cpp:
144         (WebCore::Element::boundsInRootViewSpace):
145         * dom/Element.h:
146
147 2011-11-09  Kentaro Hara  <haraken@chromium.org>
148
149         Unreviewed, rebaseline run-bindings-tests results.
150
151         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
152         (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
153         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
154         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
155
156 2011-11-09  Alexandre Elias  <aelias@google.com>
157
158         [chromium] Add draw-time scale delta to compositor thread
159         https://bugs.webkit.org/show_bug.cgi?id=71595
160
161         Reviewed by James Robinson.
162
163         There are two magnify values:
164         1. The WebKit-side pageScale value corresponding to the resolution of
165            the painted content.
166         2. The Impl-side-only scaleDelta value representing the additional
167            degree of current magnification, applied as a draw transform.  WebKit
168            is never explicitly aware of this value and the only way to change it
169            currently is via pinch events (and in the future, double-tap/etc
170            events).  At the end of a pinch zoom, we multiply pageScale *
171            scaleDelta and tell WebKit to use it as the new pageScale.
172
173         Scroll offsets and max-extents are maintained in pageScale space.
174         When the scale changes, we need to take care to convert them to the
175         new scale and avoid getting them clamped to the extents at the wrong
176         scale.
177
178         I removed maxScrollPosition on the non-impl side because it makes no
179         sense to precompute it in the presence of an impl-side zoom.  Replaced
180         with a simple 'bool m_scrollable'.
181
182         zoomAnimatorTransform is not used because it currently isn't in the
183         branch, and mostly doesn't behave the way we want anyway (it does most
184         things in WebKit thread).  We will need to unify these later.
185
186         Also introduce deviceOrPageScaleFactorChanged() call which invalidates
187         layers.
188
189         No new tests (filed 71529 to remember to do it later).
190
191         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
192         (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
193         * platform/graphics/chromium/GraphicsLayerChromium.h:
194         * platform/graphics/chromium/LayerChromium.cpp:
195         (WebCore::LayerChromium::LayerChromium):
196         (WebCore::LayerChromium::setBounds):
197         (WebCore::LayerChromium::pushPropertiesTo):
198         * platform/graphics/chromium/LayerChromium.h:
199         (WebCore::LayerChromium::scrollable):
200         (WebCore::LayerChromium::setScrollable):
201         (WebCore::LayerChromium::pageScaleChanged):
202         * platform/graphics/chromium/LayerRendererChromium.cpp:
203         (WebCore::LayerRendererChromium::drawLayersInternal):
204         * platform/graphics/chromium/LayerRendererChromium.h:
205         (WebCore::LayerRendererChromium::setPageMagnifyTransform):
206         * platform/graphics/chromium/NonCompositedContentHost.cpp:
207         (WebCore::NonCompositedContentHost::setViewport):
208         * platform/graphics/chromium/NonCompositedContentHost.h:
209         (WebCore::NonCompositedContentHost::topLevelRootLayer):
210         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
211         (WebCore::CCLayerImpl::CCLayerImpl):
212         * platform/graphics/chromium/cc/CCLayerImpl.h:
213         (WebCore::CCLayerImpl::scrollable):
214         (WebCore::CCLayerImpl::setScrollable):
215         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
216         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
217         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
218         (WebCore::CCLayerTreeHost::setPageScale):
219         (WebCore::CCLayerTreeHost::setPageScaleFactorLimits):
220         (WebCore::CCLayerTreeHost::applyScrollAndScale):
221         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
222         (WebCore::CCLayerTreeHost::pageScale):
223         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
224         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
225         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
226         (WebCore::CCLayerTreeHostImpl::commitComplete):
227         (WebCore::findScrollLayer):
228         (WebCore::CCLayerTreeHostImpl::setViewport):
229         (WebCore::CCLayerTreeHostImpl::setPageScale):
230         (WebCore::CCLayerTreeHostImpl::setScaleDelta):
231         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorLimits):
232         (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
233         (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
234         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
235         (WebCore::CCLayerTreeHostImpl::pinchGestureEnd):
236         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
237         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
238         (WebCore::CCLayerTreeHostImpl::pageScale):
239         * platform/graphics/chromium/cc/CCScrollController.h:
240         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
241         (WebCore::CCSingleThreadProxy::doCommit):
242         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
243         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
244         (WebCore::CCThreadProxy::beginFrameAndCommit):
245         * platform/graphics/chromium/cc/CCThreadProxy.h:
246
247 2011-11-09  Jay Civelli  <jcivelli@chromium.org>
248
249         Fix MHTML generation to use the QuotedPrintable encoding for text resources.
250         This was regressed when we added binary encoding support.
251         https://bugs.webkit.org/show_bug.cgi?id=71857
252
253         Reviewed by Adam Barth.
254
255         * loader/archive/mhtml/MHTMLArchive.cpp:
256         (WebCore::MHTMLArchive::generateMHTMLData):
257
258 2011-11-09  Kentaro Hara  <haraken@chromium.org>
259
260         Replace [CanBeConstructed] IDL with [Constructor] IDL
261         https://bugs.webkit.org/show_bug.cgi?id=71927
262
263         Reviewed by Adam Barth.
264
265         With respect to the IDL files that have [CanBeConstructed]
266         but do not have [Constructor] nor [CustomConstructor],
267         [CanBeConstructed] is now equivalent to [Constructor].
268         Thus, this patch replaces [CanBeConstructed] with [Constructor].
269
270         No tests. No change in behavior.
271
272         * fileapi/FileReaderSync.idl: As I described above.
273         * fileapi/WebKitBlobBuilder.idl: Ditto.
274         * fileapi/WebKitFlags.idl: Ditto.
275         * xml/DOMParser.idl: Ditto.
276         * xml/XMLSerializer.idl: Ditto.
277         * xml/XPathEvaluator.idl: Ditto.
278
279 2011-11-09  Noel Gordon  <noel.gordon@gmail.com>
280
281         [chromium] Separate image encoding from dataURL construction
282         https://bugs.webkit.org/show_bug.cgi?id=71846
283
284         Reviewed by Adam Barth.
285
286         Remove the implicit assumption that a dataURL is the only desired output format of the
287         the image encoding phase.
288
289         No new tests, refactoring only, covered by existing canvas tests.
290
291         * platform/graphics/skia/ImageBufferSkia.cpp:
292         (WebCore::encodeImage):  Output the encoded image to a Vector.
293         (WebCore::ImageBuffer::toDataURL):  Format the dataURL encoding of the mimeType encoded
294         image Vector here.  Move the mimeType encoding debug check here to better align this
295         code with the CG (CoreGraphics) ImageBuffer.cpp implementation.
296         (WebCore::ImageDataToDataURL): ditto.
297
298 2011-11-09  Alexei Svitkine  <asvitkine@chromium.org>
299
300         Chromium: Fix bad rubber-band overhang shadows being drawn in the presence of custom scrollbar css.
301         https://bugs.webkit.org/show_bug.cgi?id=71719
302
303         This was caused by the overhang calculation logic not being consistent when subtracting the scrollbar sizes from the overhang areas. This resulted in for e.g. a horizontal overhang that didn't overlap with the scrollbar while the vertical overhang overlapped with it. This fix makes the logic consistent so that the overhang areas do not overlap with the scrollbars (when scrollbars are opaque).
304
305         Reviewed by Beth Dakin.
306
307         Tests: platform/chromium/rubberbanding/custom-scrollbars-ne.html
308                platform/chromium/rubberbanding/custom-scrollbars-nw.html
309                platform/chromium/rubberbanding/custom-scrollbars-se.html
310                platform/chromium/rubberbanding/custom-scrollbars-sw.html
311
312         * platform/ScrollView.cpp:
313         (WebCore::ScrollView::wheelEvent):
314
315 2011-11-09  Ken Buchanan  <kenrb@chromium.org>
316
317         Indentation error in RenderObject::container
318         https://bugs.webkit.org/show_bug.cgi?id=64780
319
320         Reviewed by Eric Seidel.
321
322         A conditional block was indented too far; correcting.
323
324         * rendering/RenderObject.cpp:
325         (WebCore::RenderObject::container):
326
327 2011-11-09  Anders Carlsson  <andersca@apple.com>
328
329         Use contentsToRootView/rootViewToContents when converting between frame coordinate systems
330         https://bugs.webkit.org/show_bug.cgi?id=71947
331
332         Reviewed by Sam Weinig.
333
334         This gets rid of a few calls to contentsToWindow and windowToContents.
335
336         * inspector/DOMNodeHighlighter.cpp:
337         * page/DragController.cpp:
338         (WebCore::DragController::startDrag):
339         (WebCore::DragController::doSystemDrag):
340         * page/EventHandler.cpp:
341         (WebCore::EventHandler::hitTestResultAtPoint):
342
343 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
344
345         De-virtualize JSObject::getOwnPropertyDescriptor
346         https://bugs.webkit.org/show_bug.cgi?id=71523
347
348         Reviewed by Sam Weinig.
349
350         No new tests.
351
352         Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
353         virtual versions of getOwnPropertyDescriptor to static ones, and 
354         changed all of the call sites to the corresponding lookup in the MethodTable.
355
356         * WebCore.exp.in:
357         * bindings/js/JSDOMWindowCustom.cpp:
358         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
359         * bindings/js/JSDOMWindowShell.cpp:
360         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
361         * bindings/js/JSDOMWindowShell.h:
362         * bindings/js/JSWorkerContextCustom.cpp:
363         (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
364         * bindings/scripts/CodeGeneratorJS.pm:
365         (GenerateGetOwnPropertyDescriptorBody):
366         (GenerateHeader):
367         (GenerateImplementation):
368         (GenerateConstructorDeclaration):
369         (GenerateConstructorDefinition):
370         * bindings/scripts/test/JS/JSTestInterface.cpp:
371         (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
372         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
373         * bindings/scripts/test/JS/JSTestInterface.h:
374         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
375         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
376         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
377         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
378         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
379         * bindings/scripts/test/JS/JSTestObj.cpp:
380         (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
381         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
382         (WebCore::JSTestObj::getOwnPropertyDescriptor):
383         * bindings/scripts/test/JS/JSTestObj.h:
384         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
385         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
386         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
387         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
388         * bridge/objc/objc_runtime.h:
389         * bridge/objc/objc_runtime.mm:
390         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
391         * bridge/qt/qt_runtime.cpp:
392         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
393         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
394         * bridge/qt/qt_runtime.h:
395         * bridge/runtime_array.cpp:
396         (JSC::RuntimeArray::getOwnPropertyDescriptor):
397         * bridge/runtime_array.h:
398         * bridge/runtime_method.cpp:
399         (JSC::RuntimeMethod::vtableAnchor): Added to prevent a weak vtable.
400         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
401         * bridge/runtime_method.h: Changed getOwnPropertyDescriptor from private to protected to allow 
402         subclasses to use it in their MethodTables.
403         * bridge/runtime_object.cpp:
404         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
405         * bridge/runtime_object.h:
406
407 2011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>
408
409         REGRESSION (r93614): Content remains despite parent element being scrolled off page using javascript.
410         https://bugs.webkit.org/show_bug.cgi?id=71550
411
412         Reviewed by Simon Fraser.
413
414         Tests: fast/repaint/overflow-auto-in-overflow-auto-scrolled.html
415                fast/repaint/overflow-hidden-in-overflow-hidden-scrolled.html
416                fast/repaint/overflow-scroll-in-overflow-scroll-scrolled.html
417                fast/repaint/scroll-inside-table-cell.html
418                fast/repaint/scroll-relative-table-inside-table-cell.html
419                fast/repaint/table-overflow-auto-in-overflow-auto-scrolled.html
420                fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled.html
421                fast/repaint/table-overflow-scroll-in-overflow-scroll-scrolled.html
422
423         The issue was that updateLayerPositionsAfterScroll would not update some layer's
424         repaint rectangles. Thus we would not properly repaint (if at all).
425
426         The optimization added in 93614 was short-sighted and missed the fact that tables are a
427         special case when it comes to updating the repaint rectangles. When we scroll a layer
428         with an overflow clip, most layers *do* need to update their repaint rectangles.
429
430         This changes keeps the optimization for cells as this is the hotest case for tables
431         with overflow: hidden on cells but is much more conservative: if we encounter an
432         overflow clip, we update the descendant's repaint rectangles.
433
434         * rendering/RenderLayer.cpp:
435         (WebCore::RenderLayer::RenderLayer):
436         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
437         Refactored the code to use some flags (HasSeenFixedPositionedAncestor and
438         HasSeenAncestorWithOverflowClip). Also added an exception if
439         m_canSkipRepaintRectsUpdateOnScroll is set.
440
441         * rendering/RenderLayer.h:
442         Added a new field when it is fine to not update our repaint rects on scroll.
443
444 2011-11-09  Kentaro Hara  <haraken@chromium.org>
445
446         Generate the HTMLAudioElement constructor using [NamedConstructor] IDL
447         https://bugs.webkit.org/show_bug.cgi?id=71924
448
449         Reviewed by Adam Barth.
450
451         This patch removes a custom constructor of HTMLAudioElement
452         and generates it using [NamedConstructor] IDL.
453
454         Tests:  fast/js/custom-constructors.html
455                 media/audio-constructor.html
456                 media/audio-constructor-src.html
457                 media/audio-constructor-preload.html
458                 media/audio-controls-do-not-fade-out.html
459                 media/audio-controls-rendering.html
460
461         * Target.pri: Removed V8HTMLAudioElementConstructor.{h,cpp}
462         * WebCore.gypi: Ditto.
463         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Removed.
464         * bindings/v8/custom/V8HTMLAudioElementConstructor.h: Removed.
465         * html/HTMLAudioElement.idl: Added [NamedConstructor] IDL.
466         * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
467
468 2011-11-09  Antti Koivisto  <antti@apple.com>
469
470         Eliminate CSSMutableValue
471         https://bugs.webkit.org/show_bug.cgi?id=71811
472
473         Reviewed by Darin Adler, Andreas Kling and Nikolas Zimmerman.
474
475         Remove the implementations of setter functions in SVGColor and SVGPaint. These interfaces are
476         deprecated in SVG 1.1 (2nd edition) and are not really used by anybody. This allows
477         removal of CSSMutableValue and the associated (rather broken) code.
478         
479         The setters now throw NO_MODIFICATION_ALLOWED_ERR. 
480
481         * GNUmakefile.list.am:
482         * WebCore.gypi:
483         * WebCore.xcodeproj/project.pbxproj:
484         * css/CSSMutableStyleDeclaration.cpp:
485         (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
486         * css/CSSMutableValue.h: Removed.
487         * css/CSSStyleDeclaration.cpp:
488         (WebCore::CSSStyleDeclaration::getPropertyCSSValue):
489         * css/CSSValue.h:
490         (WebCore::CSSValue::CSSValue):
491         * svg/SVGColor.cpp:
492         (WebCore::SVGColor::SVGColor):
493         (WebCore::SVGColor::setRGBColor):
494         (WebCore::SVGColor::setRGBColorICCColor):
495         (WebCore::SVGColor::setColor):
496         * svg/SVGColor.h:
497         * svg/SVGPaint.cpp:
498         (WebCore::SVGPaint::setUri):
499         (WebCore::SVGPaint::setPaint):
500         * svg/SVGPaint.h:
501
502 2011-11-09  Kentaro Hara  <haraken@chromium.org>
503
504         Generate the HTMLOptionElement constructor using [NamedConstructor] IDL
505         https://bugs.webkit.org/show_bug.cgi?id=71925
506
507         Reviewed by Adam Barth.
508
509         This patch removes a custom constructor of HTMLOptionElement,
510         and generates it using [NamedConstructor] IDL.
511
512         Tests: fast/js/custom-constructors.html
513                fast/forms/option-index.html
514                fast/forms/add-and-remove-option.html
515                fast/dom/dom-add-optionelement.html
516
517         * Target.pri: Removed V8HTMLOptionElementConstructor.{h,cpp}
518         * WebCore.gypi: Ditto.
519         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Removed.
520         * bindings/v8/custom/V8HTMLOptionElementConstructor.h: Removed.
521         * html/HTMLOptionElement.idl: Added [NamedConstructor] IDL.
522         * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
523
524 2011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>
525
526         Crash in RenderTableSection::splitColumn
527         https://bugs.webkit.org/show_bug.cgi?id=70171
528
529         Reviewed by David Hyatt.
530
531         Tests: fast/table/crash-splitColumn-2.html
532                fast/table/crash-splitColumn-3.html
533                fast/table/crash-splitColumn.html
534
535         The old code would not take into account the fact that each RenderTableSection
536         can set its m_needsCellRecalc flag independently of the rest.
537
538         This means that you cannot assume that you can always split or append columns to
539         all the sections. Our approach is to skip sections needing cell recalc in several
540         parts of the code as they will be properly reset to the table's representations
541         during a cell recalc.
542
543         * rendering/RenderTable.cpp:
544         (WebCore::RenderTable::splitColumn):
545         (WebCore::RenderTable::appendColumn):
546         Skip sections needing cell recalc as they will be properly updated later.
547
548         * rendering/RenderTableSection.cpp:
549         (WebCore::RenderTableSection::addCell):
550         Ignore a section needing cell recalc as addCell will be called after sync'ing
551         the internal column representation in recalcCells.
552
553         (WebCore::RenderTableSection::recalcCells):
554         Clear the flag at the beginning of the function to activate the previous functions.
555         Added a comment as to why this is fine.
556
557         (WebCore::RenderTableSection::appendColumn):
558         Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
559         of recalcCells().
560
561 2011-11-09  Arko Saha  <arko@motorola.com>
562
563         Microdata: fast/dom/MicroData/itemid-attribute-test.html assertion failure in Element::getURLAttribute().
564         https://bugs.webkit.org/show_bug.cgi?id=71510
565
566         Reviewed by Darin Adler.
567
568         Override isURLAttribute() for HTMLElement and return true if attribute is itemidAttr.
569         All the classes derived from HTMLElement overrides this function should return true if attribute is itemidAttr.
570         Removed HTMLIFrameElement::isURLAttribute() method as HTMLFrameElementBase already takes care of it.
571
572         Test: fast/dom/MicroData/itemid-attribute-test-001.html
573
574         * html/HTMLAnchorElement.cpp:
575         (WebCore::HTMLAnchorElement::isURLAttribute):
576         * html/HTMLBaseElement.cpp:
577         (WebCore::HTMLBaseElement::isURLAttribute):
578         * html/HTMLBodyElement.cpp:
579         (WebCore::HTMLBodyElement::isURLAttribute):
580         * html/HTMLButtonElement.cpp:
581         (WebCore::HTMLButtonElement::isURLAttribute):
582         * html/HTMLElement.cpp:
583         (WebCore::HTMLElement::isURLAttribute):
584         * html/HTMLElement.h:
585         * html/HTMLEmbedElement.cpp:
586         (WebCore::HTMLEmbedElement::isURLAttribute):
587         * html/HTMLFormElement.cpp:
588         (WebCore::HTMLFormElement::isURLAttribute):
589         * html/HTMLFrameElementBase.cpp:
590         (WebCore::HTMLFrameElementBase::isURLAttribute):
591         * html/HTMLHtmlElement.cpp:
592         (WebCore::HTMLHtmlElement::isURLAttribute):
593         * html/HTMLIFrameElement.cpp:
594         * html/HTMLIFrameElement.h:
595         * html/HTMLImageElement.cpp:
596         (WebCore::HTMLImageElement::isURLAttribute):
597         * html/HTMLInputElement.cpp:
598         (WebCore::HTMLInputElement::isURLAttribute):
599         * html/HTMLLinkElement.cpp:
600         (WebCore::HTMLLinkElement::isURLAttribute):
601         * html/HTMLMediaElement.cpp:
602         (WebCore::HTMLMediaElement::isURLAttribute):
603         * html/HTMLModElement.cpp:
604         (WebCore::HTMLModElement::isURLAttribute):
605         * html/HTMLObjectElement.cpp:
606         (WebCore::HTMLObjectElement::isURLAttribute):
607         * html/HTMLParamElement.cpp:
608         (WebCore::HTMLParamElement::isURLAttribute):
609         * html/HTMLQuoteElement.cpp:
610         (WebCore::HTMLQuoteElement::isURLAttribute):
611         * html/HTMLScriptElement.cpp:
612         (WebCore::HTMLScriptElement::isURLAttribute):
613         * html/HTMLSourceElement.cpp:
614         (WebCore::HTMLSourceElement::isURLAttribute):
615         * html/HTMLTableCellElement.cpp:
616         (WebCore::HTMLTableCellElement::isURLAttribute):
617         * html/HTMLTableElement.cpp:
618         (WebCore::HTMLTableElement::isURLAttribute):
619         * html/HTMLTrackElement.cpp:
620         (WebCore::HTMLTrackElement::isURLAttribute):
621
622 2011-11-09  Chris Fleizach  <cfleizach@apple.com>
623
624         AX: crash when accessing selectedTab in a tab list
625         https://bugs.webkit.org/show_bug.cgi?id=70938
626
627         Reviewed by Beth Dakin.
628
629         There were a few methods accessing m_children directly without first validating that those elements
630         needed to be updated (because the layout changed). Changing those to call children() ensures
631         that they will have the correct children.
632
633         Test: platform/mac/accessibility/selected-tab-crash.html
634
635         * accessibility/AccessibilityRenderObject.cpp:
636         (WebCore::AccessibilityRenderObject::isChecked):
637         (WebCore::AccessibilityRenderObject::selectedRadioButton):
638         (WebCore::AccessibilityRenderObject::selectedTabItem):
639         (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
640         (WebCore::AccessibilityRenderObject::tabChildren):
641
642 2011-11-09  Andreas Kling  <kling@webkit.org>
643
644         Shrink HTMLCollection.
645         <http://webkit.org/b/71928>
646
647         Reviewed by Darin Adler.
648
649         Rearrange the members of HTMLCollection, effectively shrinking
650         it by 16 bytes on 64-bit. This reduces memory consumption
651         by 531 kB when loading the full HTML5 spec.
652
653         On 32-bit it shrinks by 8 bytes, saving 265 kB.
654
655         * html/HTMLCollection.cpp:
656         (WebCore::HTMLCollection::HTMLCollection):
657         * html/HTMLCollection.h:
658         (WebCore::HTMLCollection::type):
659
660 2011-11-09  Kentaro Hara  <haraken@chromium.org>
661
662         Remove redundant [CanBeConstructed] IDLs
663         https://bugs.webkit.org/show_bug.cgi?id=71868
664
665         Reviewed by Adam Barth.
666
667         If a class has [Constructor] or [CustomConstructor],
668         then [CanBeConstructed] is not necessary.
669         This patch just removes [CanBeConstructed] from all the classes
670         that already have [Constructor] or [CustomConstructor].
671
672         No tests. No change in behavior.
673
674         * bindings/scripts/CodeGeneratorV8.pm: Corrected typo. This correction is required for this patch.
675         * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-bindings-tests result.
676         (WebCore::ConfigureV8TestObjTemplate):
677         * css/WebKitCSSMatrix.idl:
678         * dom/BeforeLoadEvent.idl:
679         * dom/CustomEvent.idl:
680         * dom/ErrorEvent.idl:
681         * dom/Event.idl:
682         * dom/HashChangeEvent.idl:
683         * dom/MessageChannel.idl:
684         * dom/MessageEvent.idl:
685         * dom/OverflowEvent.idl:
686         * dom/PageTransitionEvent.idl:
687         * dom/PopStateEvent.idl:
688         * dom/ProgressEvent.idl:
689         * dom/WebKitAnimationEvent.idl:
690         * dom/WebKitMutationObserver.idl:
691         * dom/WebKitTransitionEvent.idl:
692         * fileapi/FileReader.idl:
693         * html/DOMFormData.idl:
694         * html/TextTrackCue.idl:
695         * html/canvas/ArrayBuffer.idl:
696         * html/canvas/DataView.idl:
697         * html/canvas/Float32Array.idl:
698         * html/canvas/Float64Array.idl:
699         * html/canvas/Int16Array.idl:
700         * html/canvas/Int32Array.idl:
701         * html/canvas/Int8Array.idl:
702         * html/canvas/Uint16Array.idl:
703         * html/canvas/Uint32Array.idl:
704         * html/canvas/Uint8Array.idl:
705         * html/track/TrackEvent.idl:
706         * mediastream/PeerConnection.idl:
707         * page/EventSource.idl:
708         * page/WebKitPoint.idl:
709         * webaudio/AudioContext.idl:
710         * websockets/CloseEvent.idl:
711         * websockets/WebSocket.idl:
712         * workers/SharedWorker.idl:
713         * workers/Worker.idl:
714         * xml/XMLHttpRequest.idl:
715         * xml/XSLTProcessor.idl:
716
717 2011-11-09  Ken Buchanan  <kenrb@chromium.org>
718
719         SVG foreignObject wrong container
720         https://bugs.webkit.org/show_bug.cgi?id=64780
721
722         Reviewed by Simon Fraser.
723
724         Resubmitting a patch originally by scottmg@chromium.org.
725         In determining where to add to m_positionedObjects during a repaint,
726         containingBlock is used, which adds the absolute positioned object to
727         the containing foreignObject. But, when the contained object is
728         dirtied, container() was used to dirty up the tree, which skipped over
729         the foreignObject causing the wrong parent to needsLayout(). This fix
730         makes container() and containingBlock() handle svg foreignObject's in
731         the same way.
732
733         This patch will cause svg/overflow/overflow-on-foreignObject.svg to
734         require rebaselined results on qt and gtk ports.
735
736         * rendering/RenderObject.cpp:
737         (WebCore::RenderObject::container):
738
739 2011-11-09  Andreas Kling  <kling@webkit.org>
740
741         Shrink StyleSheet on 64-bit.
742         <http://webkit.org/b/71923>
743
744         Reviewed by Darin Adler.
745
746         Move m_disabled to the top so it folds into the padding at
747         the end of RefCounted on 64-bit, shrinking StyleSheet by 8 bytes.
748
749         * css/StyleSheet.cpp:
750         (WebCore::StyleSheet::StyleSheet):
751         * css/StyleSheet.h:
752
753 2011-11-09  Andreas Kling  <kling@webkit.org>
754
755         StyleSheet: Devirtualize styleSheetChanged().
756         <http://webkit.org/b/71913>
757
758         Reviewed by Antti Koivisto.
759
760         Since this mechanism is only used by CSSStyleSheet, move it there.
761         Out-of-lined StyleSheet::setDisabled() so we can do a type check
762         before invoking it from there.
763
764         * css/CSSStyleSheet.h:
765         * css/StyleSheet.cpp:
766         (WebCore::StyleSheet::setDisabled):
767         * css/StyleSheet.h:
768
769 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
770
771         [Qt] Unreviewed, adding missing files to the build.
772
773         * Target.pri: Add ContentTypeParser.cpp/h
774
775 2011-11-09  Andrey Kosyakov  <caseq@chromium.org>
776
777         Web Inspector: [refactoring] remove a bunch of methods from JavaScriptSourceFrameDelegate
778         https://bugs.webkit.org/show_bug.cgi?id=71826
779
780         Reviewed by Pavel Feldman.
781
782         * inspector/front-end/JavaScriptSourceFrame.js:
783         (WebInspector.JavaScriptSourceFrame):
784         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
785         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
786         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
787         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
788         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
789         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
790         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
791         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
792         * inspector/front-end/ScriptsPanel.js:
793
794 2011-11-09  Pavel Feldman  <pfeldman@google.com>
795
796         Not reviewed: annotate inspector front-end javascript so that it compiled again.
797
798         * inspector/front-end/ShortcutsScreen.js:
799         * inspector/front-end/WorkerManager.js:
800
801 2011-11-09  Andreas Kling  <kling@webkit.org>
802
803         Unreviewed build fix after r99711. (Signed/unsigned compare.)
804
805         * css/CSSPrimitiveValue.cpp:
806         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
807
808 2011-11-09  Alexander Pavlov  <apavlov@chromium.org>
809
810         Web Inspector: Provisionally change StylesSidebarPane section DOM layout to allow media queries
811         https://bugs.webkit.org/show_bug.cgi?id=71902
812
813         Reviewed by Pavel Feldman.
814
815         * inspector/front-end/StylesSidebarPane.js:
816         (WebInspector.StylePropertiesSection):
817         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
818         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
819         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
820         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
821         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
822
823 2011-11-09  Andreas Kling  <kling@webkit.org>
824
825         CSSPrimitiveValue: Fix up bitfield member types.
826         <http://webkit.org/b/71751>
827
828         Reviewed by Antti Koivisto.
829
830         The primitive unit type doesn't need to be a signed value,
831         and by making it unsigned, we can shave one bit off of it.
832         Furthermore, m_hasCachedCSSText and m_isQuirkValue should be
833         bool, not unsigned.
834
835         * css/CSSValue.h:
836
837 2011-11-09  Pavel Feldman  <pfeldman@google.com>
838
839         Web Inspector: discard injected scripts upon front-end disconnect.
840         https://bugs.webkit.org/show_bug.cgi?id=71823
841
842         Reviewed by Yury Semikhatsky.
843
844         Test: http/tests/inspector-enabled/injected-script-discard.html
845
846         * inspector/InspectorAgent.cpp:
847         (WebCore::InspectorAgent::clearFrontend):
848
849 2011-11-09  Andreas Kling  <kling@webkit.org>
850
851         CSS: Remove empty value and rule destructors.
852         <http://webkit.org/b/71901>
853
854         Reviewed by Antti Koivisto.
855
856         * css/CSSAspectRatioValue.h:
857         * css/CSSBorderImageSliceValue.h:
858         (WebCore::CSSBorderImageSliceValue::create):
859         * css/CSSBorderImageValue.h:
860         (WebCore::CSSBorderImageValue::create):
861         * css/CSSCharsetRule.cpp:
862         * css/CSSCharsetRule.h:
863         * css/CSSCrossfadeValue.h:
864         * css/CSSFlexValue.h:
865         * css/CSSFontFaceSrcValue.h:
866         * css/CSSFunctionValue.h:
867         * css/CSSPageRule.cpp:
868         * css/CSSPageRule.h:
869         * css/CSSUnicodeRangeValue.h:
870         * css/CSSValueList.h:
871         * css/WebKitCSSFilterValue.h:
872         * css/WebKitCSSTransformValue.h:
873
874 2011-11-09  Andreas Kling  <kling@webkit.org>
875
876         CSS: Remove redudant WTF_MAKE_FAST_ALLOCATED macros.
877         <http://webkit.org/b/71897>
878
879         Reviewed by Antti Koivisto.
880
881         Everything that inherits from RefCounted<T> is already fast-allocated,
882         so we don't need this in subclasses.
883
884         * css/CSSImageValue.h:
885         * css/CSSImportRule.h:
886         * css/WebKitCSSShaderValue.h:
887
888 2011-11-09  Igor Oliveira  <igor.oliveira@openbossa.org>
889
890         [TextureMapper] Clean up TextureMapperAnimation constructor
891         https://bugs.webkit.org/show_bug.cgi?id=71892
892
893         Remove copyAnimationValue and copyTimingFunction static functions. KeyframeList has
894         a copy constructor and it does not need anymore these copy functions.
895
896         Reviewed by Simon Hausmann.
897
898         * platform/graphics/texmap/TextureMapperNode.cpp:
899         (WebCore::TextureMapperAnimation::TextureMapperAnimation):
900
901 2011-11-09  Alexandru Chiculita  <achicu@adobe.com>
902
903         [Part 1] Parse the custom() function in -webkit-filter
904         https://bugs.webkit.org/show_bug.cgi?id=71441
905
906         Added code that parses the custom() function. There's no code
907         for the CSSStyleSelector yet, so the only way to test this was to
908         check the "styleSheets" rules.
909
910         Reviewed by Dean Jackson.
911
912         Tests: css3/filters/custom-filter-property-parsing-invalid.html
913                css3/filters/custom-filter-property-parsing.html
914
915         * GNUmakefile.list.am:
916         * Target.pri:
917         * WebCore.gypi:
918         * WebCore.vcproj/WebCore.vcproj:
919         * WebCore.xcodeproj/project.pbxproj:
920         * css/CSSComputedStyleDeclaration.cpp:
921         (WebCore::computedFilter):
922         * css/CSSParser.cpp:
923         (WebCore::filterInfoForName):
924         (WebCore::acceptCommaOperator):
925         (WebCore::CSSParser::parseCustomFilter):
926         (WebCore::CSSParser::parseFilter):
927         * css/CSSParser.h:
928         * css/CSSStyleSelector.cpp:
929         (WebCore::filterOperationForType):
930         (WebCore::CSSStyleSelector::createFilterOperations):
931         * css/CSSValue.cpp:
932         (WebCore::CSSValue::cssText):
933         (WebCore::CSSValue::destroy):
934         * css/CSSValue.h:
935         (WebCore::CSSValue::isWebKitCSSShaderValue):
936         * css/CSSValueKeywords.in:
937         * css/WebKitCSSFilterValue.cpp:
938         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
939         (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
940         (WebCore::WebKitCSSFilterValue::customCssText):
941         * css/WebKitCSSFilterValue.h:
942         * css/WebKitCSSFilterValue.idl:
943         * css/WebKitCSSShaderValue.h: Added.
944         (WebCore::WebKitCSSShaderValue::create):
945         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
946         * platform/graphics/filters/FilterOperation.h:
947
948 2011-11-09  Yury Semikhatsky  <yurys@chromium.org>
949
950         Web Inspector: exception in remote front-end load handler due to undefined reference to workerManager
951         https://bugs.webkit.org/show_bug.cgi?id=71889
952
953         Move calls to WorkerManager load handlers into doLoadedDone method which is
954         called in case of remote front-end too.
955
956         Reviewed by Pavel Feldman.
957
958         * inspector/front-end/inspector.js:
959         (WebInspector.loaded):
960
961 2011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
962
963         Web Inspector: Extract ApplicationCacheModel from ApplicationCacheItemsView.
964         https://bugs.webkit.org/show_bug.cgi?id=71850
965
966         Reviewed by Pavel Feldman.
967
968         * WebCore.gypi:
969         * WebCore.vcproj/WebCore.vcproj:
970         * inspector/compile-front-end.sh:
971         * inspector/front-end/ApplicationCacheItemsView.js:
972         (WebInspector.ApplicationCacheItemsView):
973         (WebInspector.ApplicationCacheItemsView.prototype._update):
974         * inspector/front-end/ApplicationCacheModel.js: Added.
975         (WebInspector.ApplicationCacheModel):
976         (WebInspector.ApplicationCacheModel.prototype.getApplicationCachesAsync):
977         (WebInspector.ApplicationCacheDispatcher):
978         (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
979         (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
980         * inspector/front-end/ResourcesPanel.js:
981         (WebInspector.ResourcesPanel.prototype.wasShown):
982         (WebInspector.ResourcesPanel.prototype.reset):
983         (WebInspector.ResourcesPanel.prototype._populateResourceTree):
984         (WebInspector.ResourcesPanel.prototype.showApplicationCache):
985         (WebInspector.ResourcesPanel.prototype._initializeApplicationCacheModel):
986         * inspector/front-end/WebKit.qrc:
987         * inspector/front-end/inspector.html:
988
989 2011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
990
991         Web Inspector: ResourcesPanel should support adding subtitle to any BaseStorageTreeElement.
992         https://bugs.webkit.org/show_bug.cgi?id=71848
993
994         Reviewed by Pavel Feldman.
995
996         * inspector/front-end/ResourcesPanel.js:
997         (WebInspector.BaseStorageTreeElement.prototype.onattach):
998         (WebInspector.BaseStorageTreeElement.prototype.get displayName):
999         (WebInspector.BaseStorageTreeElement.prototype._updateDisplayName):
1000         (WebInspector.BaseStorageTreeElement.prototype._updateTitle):
1001         (WebInspector.BaseStorageTreeElement.prototype._updateSubtitle):
1002         (WebInspector.BaseStorageTreeElement.prototype.set titleText):
1003         (WebInspector.BaseStorageTreeElement.prototype.get subtitleText):
1004         (WebInspector.BaseStorageTreeElement.prototype.set subtitleText):
1005         (WebInspector.FrameTreeElement.prototype.frameNavigated):
1006         (WebInspector.FrameTreeElement.prototype.get itemURL):
1007         (WebInspector.FrameTreeElement.prototype.onselect):
1008
1009 2011-11-08  Pavel Feldman  <pfeldman@google.com>
1010
1011         Web Inspector: crash upon InspectorValue serialization that has 0 value / array entry.
1012         https://bugs.webkit.org/show_bug.cgi?id=71806
1013
1014         Reviewed by Yury Semikhatsky.
1015
1016         Test: inspector/elements/resolve-alien-node.html
1017
1018         * inspector/InspectorDOMAgent.cpp:
1019         (WebCore::InspectorDOMAgent::resolveNode):
1020         * inspector/InspectorValues.h:
1021         (WebCore::InspectorObject::setValue):
1022         (WebCore::InspectorObject::setObject):
1023         (WebCore::InspectorObject::setArray):
1024         (WebCore::InspectorArray::pushValue):
1025         (WebCore::InspectorArray::pushObject):
1026         (WebCore::InspectorArray::pushArray):
1027
1028 2011-11-08  Andreas Kling  <kling@webkit.org>
1029
1030         Move CSSPrimitiveValue bitfields up into CSSValue.
1031         <http://webkit.org/b/71835>
1032
1033         Reviewed by Darin Adler.
1034
1035         Move m_type (and rename it to m_primitiveUnitType),
1036         m_hasCachedCSSText and m_isQuirkValue from CSSPrimitiveValue
1037         up into CSSValue to share the space.
1038
1039         This, together with the devirtualization of CSSValue that
1040         happened on <http://webkit.org/b/71666>, reduces the size
1041         of CSSPrimitiveValue by one CPU word.
1042
1043         More specifically, we go from 16 to 12 bytes on 32-bit,
1044         and from 24 to 16 bytes on 64-bit.
1045
1046         * css/CSSPrimitiveValue.cpp:
1047         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1048         (WebCore::CSSPrimitiveValue::init):
1049         (WebCore::CSSPrimitiveValue::cleanup):
1050         (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
1051         (WebCore::CSSPrimitiveValue::getStringValue):
1052         (WebCore::CSSPrimitiveValue::getCounterValue):
1053         (WebCore::CSSPrimitiveValue::getRectValue):
1054         (WebCore::CSSPrimitiveValue::getQuadValue):
1055         (WebCore::CSSPrimitiveValue::getRGBColorValue):
1056         (WebCore::CSSPrimitiveValue::getPairValue):
1057         (WebCore::CSSPrimitiveValue::getIdent):
1058         (WebCore::CSSPrimitiveValue::customCssText):
1059         (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
1060         * css/CSSPrimitiveValue.h:
1061         (WebCore::CSSPrimitiveValue::isLength):
1062         (WebCore::CSSPrimitiveValue::primitiveType):
1063         (WebCore::CSSPrimitiveValue::setPrimitiveType):
1064         (WebCore::CSSPrimitiveValue::getCounterValue):
1065         (WebCore::CSSPrimitiveValue::getRectValue):
1066         (WebCore::CSSPrimitiveValue::getQuadValue):
1067         (WebCore::CSSPrimitiveValue::getRGBA32Value):
1068         (WebCore::CSSPrimitiveValue::getPairValue):
1069         (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
1070         (WebCore::CSSPrimitiveValue::getShapeValue):
1071         * css/CSSPrimitiveValueMappings.h:
1072         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1073         (WebCore::CSSPrimitiveValue::operator short):
1074         (WebCore::CSSPrimitiveValue::operator unsigned short):
1075         (WebCore::CSSPrimitiveValue::operator int):
1076         (WebCore::CSSPrimitiveValue::operator unsigned):
1077         (WebCore::CSSPrimitiveValue::operator float):
1078         (WebCore::CSSPrimitiveValue::operator ColumnSpan):
1079         * css/CSSValue.h:
1080         (WebCore::CSSValue::CSSValue):
1081
1082 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
1083
1084         De-virtualize JSObject::defineOwnProperty
1085         https://bugs.webkit.org/show_bug.cgi?id=71429
1086
1087         Reviewed by Geoffrey Garen.
1088
1089         No new tests.
1090
1091         Added defineOwnProperty to the MethodTable, changed all the virtual 
1092         implementations of defineOwnProperty to static ones, and replaced 
1093         all call sites with corresponding lookups in the MethodTable.
1094
1095         * bindings/js/JSDOMWindowCustom.cpp:
1096         (WebCore::JSDOMWindow::defineOwnProperty):
1097         * bindings/js/JSDOMWindowShell.cpp:
1098         (WebCore::JSDOMWindowShell::defineOwnProperty):
1099         * bindings/js/JSDOMWindowShell.h:
1100         * bindings/scripts/CodeGeneratorJS.pm:
1101         (GenerateHeader):
1102
1103 2011-11-09  Kentaro Hara  <haraken@chromium.org>
1104
1105         Make [CanBeConstructed] IDL redundant
1106         https://bugs.webkit.org/show_bug.cgi?id=71871
1107
1108         Reviewed by Adam Barth.
1109
1110         As the first step to remove [CanBeConstructed] IDL completely,
1111         we need to make [CanBeConstructed] IDL redundant.
1112         This patch replaces '[CanBeConstructed]' in CodeGeneratorV8.pm
1113         with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]',
1114         and replaces '[CanBeConstructed]' in CodeGeneratorJS.pm
1115         with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [JSCustomConstructor]'
1116
1117         An example:
1118             before: '[CanBeConstructed] and ![V8CustomConstructor]'
1119             after: '([CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]) and ![V8CustomConstructor]' <==> '([CanBeConstructed] or [Constructor] or [CustomConstructor]) and ![V8CustomConstructor]'
1120
1121         Tests: bindings/scripts/test/TestObj.idl
1122
1123         * bindings/scripts/CodeGeneratorJS.pm: Modified as I described above.
1124         (GenerateConstructorDeclaration):
1125         (GenerateConstructorDefinition):
1126         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
1127         * bindings/scripts/test/JS/JSTestObj.cpp: Updated a run-bindings-tests result.
1128         (WebCore::JSTestObjConstructor::constructJSTestObj):
1129         (WebCore::JSTestObjConstructor::getConstructData):
1130         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
1131         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1132         (WebCore::V8TestObj::constructorCallback):
1133
1134 2011-11-09  Nikolas Zimmermann  <nzimmermann@rim.com>
1135
1136         svg failures after r99561
1137         https://bugs.webkit.org/show_bug.cgi?id=71830
1138
1139         Reviewed by Antti Koivisto.
1140
1141         Fix regressions in svg/zoom/page/relative-sized-document-scrollbars.svg and svg/zoom/page/zoom-svg-as-relative-image.html.
1142         Fix merging problem in r99561, bug 71780. It moved several methods from SVGLength to SVGLengthContext, and unfortunately
1143         the SVGLength changes part of r98852, bug 47156, got reverted again, making these two tests fail.
1144
1145         * svg/SVGLengthContext.cpp:
1146         (WebCore::SVGLengthContext::determineViewport):
1147
1148 2011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
1149
1150         Select multiple options with mouse drag in Select element.
1151         https://bugs.webkit.org/show_bug.cgi?id=71128
1152
1153         Reviewed by Ryosuke Niwa.
1154
1155         Multiple selection of option elements in select element with an mouse drag.
1156         Other browsers(IE, Firefox, Opera) support this feature.
1157
1158         Test: fast/forms/select-multiple-elements-with-mouse-drag.html
1159
1160         * page/EventHandler.cpp:
1161         (WebCore::EventHandler::handleMouseDraggedEvent):
1162         Allow auto scroll to be fired if current node(option) under mouse does not have renderer
1163         but its container node(select) can autoscroll and has renderer for specific case of ListBox
1164
1165 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
1166
1167         [Qt] Build system cleanup
1168         https://bugs.webkit.org/show_bug.cgi?id=71815
1169
1170         Reviewed by Kenneth Rohde Christiansen.
1171
1172         * Target.pri: Removed CodeGenHSL.cpp from the angle build. In the angle build the back-end has to
1173         be either GLSL or HSL, it can't be both. Make a choice for GLSL as that's what it seems to be used for
1174         at the moment.
1175
1176 2011-11-09  Mark Rowe  <mrowe@apple.com>
1177
1178         Fix the build.
1179
1180         * WebCore.exp.in: Export the right symbol names.
1181         * WebCore.xcodeproj/project.pbxproj: Make the header file available outside of WebCore.
1182
1183 2011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>
1184
1185         [Qt] Replace use of QApplication with QGuiApplication
1186         https://bugs.webkit.org/show_bug.cgi?id=71794
1187
1188         Reviewed by Andreas Kling.
1189
1190         * Target.pri: Add compat include dir when compiling with Qt 4.
1191         * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
1192         (FullScreenVideoWindow::closeEvent): Replace use of QApplication with QGuiApplication.
1193         (FullScreenVideoWindow::hideCursor): Ditto.
1194         (FullScreenVideoWindow::showCursor): Ditto.
1195         * platform/graphics/qt/TileQt.cpp: Remove unnecessary inclusion of QApplication.
1196         * platform/qt/ClipboardQt.cpp: Replace use of QApplication with QGuiApplication.
1197         (WebCore::ClipboardQt::ClipboardQt):
1198         (WebCore::ClipboardQt::clearData):
1199         (WebCore::ClipboardQt::clearAllData):
1200         (WebCore::ClipboardQt::setData):
1201         (WebCore::ClipboardQt::declareAndWriteDragImage):
1202         (WebCore::ClipboardQt::writeURL):
1203         (WebCore::ClipboardQt::writeRange):
1204         (WebCore::ClipboardQt::writePlainText):
1205         * platform/qt/PasteboardQt.cpp: Ditto.
1206         (WebCore::Pasteboard::writeSelection):
1207         (WebCore::Pasteboard::canSmartReplace):
1208         (WebCore::Pasteboard::plainText):
1209         (WebCore::Pasteboard::documentFragment):
1210         (WebCore::Pasteboard::writePlainText):
1211         (WebCore::Pasteboard::writeURL):
1212         (WebCore::Pasteboard::writeImage):
1213
1214 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
1215
1216         Mac Build fix part 2: Oops, use the correct wtf/ prefix for the WTF include.
1217
1218         * page/SecurityPolicy.cpp:
1219
1220 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
1221
1222         Prospective build fix for Windows: Include MainThread.h for ASSERT(isMainThread())
1223         to compile.
1224
1225         * page/SecurityPolicy.cpp:
1226
1227 2011-11-07  Adam Barth  <abarth@webkit.org>
1228
1229         Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
1230         https://bugs.webkit.org/show_bug.cgi?id=71755
1231
1232         Reviewed by Eric Seidel.
1233
1234         The SecurityOrigin class should be focused on representing a web
1235         security origin rather than being a dumping ground for all
1236         security-related state.  This patch moves a bunch of static "policy"
1237         state into its own SecurityPolicy class.
1238
1239         * WebCore.exp.in:
1240         * WebCore.gypi:
1241         * dom/Document.cpp:
1242         (WebCore::Document::initSecurityContext):
1243         * html/HTMLAnchorElement.cpp:
1244         (WebCore::HTMLAnchorElement::handleClick):
1245         * loader/FrameLoader.cpp:
1246         (WebCore::FrameLoader::loadFrameRequest):
1247         (WebCore::FrameLoader::loadResourceSynchronously):
1248         * loader/PingLoader.cpp:
1249         (WebCore::PingLoader::loadImage):
1250         (WebCore::PingLoader::sendPing):
1251         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
1252         * loader/SubframeLoader.cpp:
1253         (WebCore::SubframeLoader::loadSubframe):
1254         * loader/SubresourceLoader.cpp:
1255         (WebCore::SubresourceLoader::create):
1256         * page/SecurityOrigin.cpp:
1257         (WebCore::SecurityOrigin::canRequest):
1258         (WebCore::SecurityOrigin::canDisplay):
1259         (WebCore::SecurityOrigin::grantLoadLocalResources):
1260         * page/SecurityOrigin.h:
1261
1262 2011-11-08  Antaryami Pandia  <antaryami.pandia@motorola.com>
1263
1264         Default <select multiple> expands up to 10 items instead of showing 4.
1265         https://bugs.webkit.org/show_bug.cgi?id=70765
1266
1267         Reviewed by Darin Adler.
1268
1269         Tests: fast/forms/select-clientheight-large-size.html
1270                fast/forms/select-clientheight-with-multiple-attr.html
1271
1272         * rendering/RenderListBox.cpp:
1273         (WebCore::RenderListBox::size):
1274
1275 2011-11-08  Chris Evans  <cevans@google.com>
1276
1277         Crash accessing font fact rule parent
1278         https://bugs.webkit.org/show_bug.cgi?id=71860
1279
1280         Reviewed by Adam Barth.
1281
1282         Test: fast/css/css-fontface-rule-crash.html
1283
1284         * css/CSSFontFaceRule.cpp:
1285         (WebCore::CSSFontFaceRule::~CSSFontFaceRule): tell our child rule when we are going away.
1286
1287 2011-11-08  Adam Klein  <adamk@chromium.org>
1288
1289         Use a typedef for ExceptionCode in all header files instead of including ExceptionCode.h
1290         https://bugs.webkit.org/show_bug.cgi?id=71845
1291
1292         Reviewed by Adam Barth.
1293
1294         Some headers in WebCore include ExceptionCode.h to get the ExceptionCode typedef,
1295         while others provide the typedef themselves. Per Darin, the latter is preferred,
1296         so this patch updates all references, and fixes up .cpp files that
1297         need the include in order to access the enum.
1298
1299         * bindings/js/JSSVGLengthCustom.cpp:
1300         * bindings/scripts/CodeGeneratorJS.pm:
1301         (GenerateImplementation): #include ExceptionCode.h when needed for SVG.
1302         * bindings/scripts/CodeGeneratorObjC.pm:
1303         (GenerateImplementation): #include ExceptionCode.h when needed for SVG.
1304         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1305         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1306         * css/WebKitCSSMatrix.h:
1307         * fileapi/DirectoryReaderSync.h:
1308         * fileapi/EntrySync.h:
1309         * fileapi/FileReader.h:
1310         * fileapi/FileReaderSync.h:
1311         * fileapi/SyncCallbackHelper.h:
1312         * html/ClassList.h:
1313         * html/DOMSettableTokenList.h:
1314         * html/DOMTokenList.cpp:
1315         * html/DOMTokenList.h:
1316         * html/TextTrack.cpp:
1317         * html/TextTrack.h:
1318         * html/TimeRanges.cpp:
1319         * html/TimeRanges.h:
1320         * html/canvas/ArrayBuffer.cpp:
1321         * html/canvas/ArrayBuffer.h:
1322         * html/canvas/ArrayBufferView.cpp:
1323         * html/canvas/ArrayBufferView.h:
1324         * html/canvas/DataView.cpp:
1325         * html/canvas/DataView.h:
1326         * html/canvas/OESVertexArrayObject.h:
1327         * html/canvas/WebGLDebugShaders.h:
1328         * html/canvas/WebGLRenderingContext.cpp:
1329         * html/canvas/WebGLRenderingContext.h:
1330         * mediastream/MediaStreamFrameController.cpp:
1331         * mediastream/MediaStreamFrameController.h:
1332         * notifications/Notification.h:
1333         * notifications/NotificationCenter.h:
1334         * storage/AbstractDatabase.cpp:
1335         * storage/AbstractDatabase.h:
1336         * storage/Database.h:
1337         * storage/DatabaseSync.h:
1338         * storage/DatabaseTask.h:
1339         * storage/IDBCursor.h:
1340         * storage/IDBCursorBackendInterface.h:
1341         * storage/IDBDatabase.h:
1342         * storage/IDBDatabaseBackendInterface.h:
1343         * storage/IDBFactory.h:
1344         * storage/IDBFactoryBackendInterface.h:
1345         * storage/IDBIndexBackendInterface.h:
1346         * storage/IDBKeyRange.h:
1347         * storage/IDBObjectStoreBackendInterface.h:
1348         * storage/IDBRequest.h:
1349         * storage/IDBTransactionBackendInterface.h:
1350         * storage/SQLResultSet.cpp:
1351         * storage/SQLResultSet.h:
1352         * storage/SQLStatementSync.h:
1353         * storage/SQLTransaction.cpp:
1354         * storage/SQLTransaction.h:
1355         * storage/SQLTransactionSync.h:
1356         * svg/ElementTimeControl.h:
1357         * svg/SVGAngle.cpp:
1358         * svg/SVGAngle.h:
1359         * svg/SVGLength.cpp:
1360         * svg/SVGLength.h:
1361         * svg/SVGLengthContext.cpp:
1362         * svg/SVGLengthContext.h:
1363         * svg/SVGLocatable.h:
1364         * svg/SVGMatrix.h:
1365         * svg/SVGPreserveAspectRatio.cpp:
1366         * svg/SVGPreserveAspectRatio.h:
1367         * testing/Internals.h:
1368         * webaudio/AudioContext.cpp:
1369         * workers/DefaultSharedWorkerRepository.cpp:
1370         * workers/DefaultSharedWorkerRepository.h:
1371         * workers/SharedWorkerRepository.h:
1372
1373 2011-11-08  Kentaro Hara  <haraken@chromium.org>
1374
1375         CodeGeneratorV8.pm can generate a NamedConstructor
1376         https://bugs.webkit.org/show_bug.cgi?id=71756
1377
1378         Reviewed by Adam Barth.
1379
1380         - IDLParser.pm can parse [NamedConstructor] IDL.
1381         - CodeGeneratorV8.pm can generate a NamedConstructor
1382         and a template getter for the NamedConstructor.
1383         - Added a new binding test named TestNamedConstructor.idl.
1384
1385         Tests: WebCore/bindings/scripts/test/TestNamedConstructor.idl
1386
1387         * bindings/scripts/CodeGeneratorV8.pm:
1388         (GenerateHeader): Generates a header for a NamedConstructor.
1389         (GenerateNamedConstructorCallback): Generates the NamedConstructor and a template getter for the NamedConstructor.
1390         (GenerateSingleBatchedAttribute): If an IDL type is "XXXXConstructorConstructor", then we do not add a header file of XXXXConstructor, because the XXXXConstructor declaration is written in the header file of class XXXX.
1391         * bindings/scripts/IDLParser.pm:
1392         (parseExtendedAttributes): Parses 'NamedConstructor' '=' name '(' parameters ')' ','?
1393         (ParseInterface): Creates the signature of a NamedConstructor.
1394         * bindings/scripts/test/TestNamedConstructor.idl: Added a new test for the [NamedConstructor] IDL.
1395         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Added a run-binding-test result of TestNamedConstructor.idl.
1396         (WebDOMTestNamedConstructor::WebDOMTestNamedConstructorPrivate::WebDOMTestNamedConstructorPrivate):
1397         (WebDOMTestNamedConstructor::WebDOMTestNamedConstructor):
1398         (WebDOMTestNamedConstructor::operator=):
1399         (WebDOMTestNamedConstructor::impl):
1400         (WebDOMTestNamedConstructor::~WebDOMTestNamedConstructor):
1401         (toWebCore):
1402         (toWebKit):
1403         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Ditto.
1404         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp: Ditto.
1405         (WebKit::kit):
1406         (WebKit::core):
1407         (webkit_dom_test_named_constructor_finalize):
1408         (webkit_dom_test_named_constructor_set_property):
1409         (webkit_dom_test_named_constructor_get_property):
1410         (webkit_dom_test_named_constructor_constructed):
1411         (webkit_dom_test_named_constructor_class_init):
1412         (webkit_dom_test_named_constructor_init):
1413         (WebKit::wrapTestNamedConstructor):
1414         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h: Ditto.
1415         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h: Ditto.
1416         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
1417         (WebCore::JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor):
1418         (WebCore::JSTestNamedConstructorConstructor::finishCreation):
1419         (WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
1420         (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
1421         (WebCore::JSTestNamedConstructorPrototype::self):
1422         (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
1423         (WebCore::JSTestNamedConstructor::finishCreation):
1424         (WebCore::JSTestNamedConstructor::createPrototype):
1425         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
1426         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
1427         (WebCore::jsTestNamedConstructorConstructor):
1428         (WebCore::JSTestNamedConstructor::getConstructor):
1429         (WebCore::isObservable):
1430         (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
1431         (WebCore::JSTestNamedConstructorOwner::finalize):
1432         (WebCore::toJS):
1433         (WebCore::toTestNamedConstructor):
1434         * bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
1435         (WebCore::JSTestNamedConstructor::create):
1436         (WebCore::JSTestNamedConstructor::createStructure):
1437         (WebCore::JSTestNamedConstructor::impl):
1438         (WebCore::wrapperOwner):
1439         (WebCore::wrapperContext):
1440         (WebCore::JSTestNamedConstructorPrototype::create):
1441         (WebCore::JSTestNamedConstructorPrototype::createStructure):
1442         (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
1443         (WebCore::JSTestNamedConstructorConstructor::create):
1444         (WebCore::JSTestNamedConstructorConstructor::createStructure):
1445         * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Ditto.
1446         * bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Ditto.
1447         (-[DOMTestNamedConstructor dealloc]):
1448         (-[DOMTestNamedConstructor finalize]):
1449         (core):
1450         (kit):
1451         * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Ditto.
1452         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
1453         (WebCore::TestNamedConstructorInternal::V8_USE):
1454         (WebCore::V8TestNamedConstructorConstructorCallback):
1455         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1456         (WebCore::ConfigureV8TestNamedConstructorTemplate):
1457         (WebCore::V8TestNamedConstructor::GetRawTemplate):
1458         (WebCore::V8TestNamedConstructor::GetTemplate):
1459         (WebCore::V8TestNamedConstructor::HasInstance):
1460         (WebCore::V8TestNamedConstructor::toActiveDOMObject):
1461         (WebCore::V8TestNamedConstructor::wrapSlow):
1462         (WebCore::V8TestNamedConstructor::derefObject):
1463         * bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
1464         (WebCore::V8TestNamedConstructor::toNative):
1465         (WebCore::V8TestNamedConstructor::existingWrapper):
1466         (WebCore::V8TestNamedConstructor::wrap):
1467         (WebCore::toV8):
1468         * page/DOMWindow.idl: Added [CustomConstructor] IDL to HTMLAudioElement, HTMLImageElement and HTMLOptionElement.
1469
1470 2011-11-08  Philip Rogers  <pdr@google.com>
1471
1472         fix REGRESSION: SVG feColorMatrix causes crash
1473         https://bugs.webkit.org/show_bug.cgi?id=71287
1474
1475         Reviewed by Simon Fraser.
1476
1477         Test: svg/filters/feColorMatrix-invalid-animation.svg
1478
1479         * svg/SVGAnimatedNumberList.cpp:
1480         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
1481
1482 2011-11-08  Scott Graham  <scottmg@chromium.org>
1483
1484         Add support for arrays of numbers to IDL bindings code generator
1485         https://bugs.webkit.org/show_bug.cgi?id=71763
1486
1487         Adds support for float[] and double[] to IDL. Support for other types
1488         appears to be more complicated (or at least more copy-paste) so not
1489         doing that for now for lack of need.
1490
1491         Reviewed by Adam Barth.
1492
1493         Tests added to TestObj.idl.
1494
1495         * bindings/scripts/CodeGeneratorV8.pm:
1496         (IsRefPtrType):
1497         (GetNativeType):
1498         (JSValueToNative):
1499         (NativeToJSValue):
1500         * bindings/scripts/test/TestObj.idl:
1501         * bindings/scripts/test/V8/V8TestObj.cpp:
1502         (WebCore::TestObjInternal::floatArrayAttrGetter):
1503         (WebCore::TestObjInternal::floatArrayAttrSetter):
1504         (WebCore::TestObjInternal::doubleArrayAttrGetter):
1505         (WebCore::TestObjInternal::doubleArrayAttrSetter):
1506         * bindings/v8/V8Binding.h:
1507         (WebCore::v8NumberArray):
1508         (WebCore::v8NumberArrayToVector):
1509
1510 2011-11-08  Dan Bernstein  <mitz@apple.com>
1511
1512         REGRESSION (r99613): Incomplete painting of the root element background in flipped blocks writing mode
1513         https://bugs.webkit.org/show_bug.cgi?id=71863
1514
1515         Reviewed by Anders Carlsson.
1516
1517         * rendering/RenderBox.cpp:
1518         (WebCore::RenderBox::paintRootBoxFillLayers): Instead of unconditionally flipping the background
1519         rect here...
1520         * rendering/RenderView.cpp:
1521         (WebCore::RenderView::backgroundRect): ...flip it only in column mode here.
1522         * rendering/RenderView.h:
1523
1524 2011-11-08  Michael Saboff  <msaboff@apple.com>
1525
1526         Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
1527         https://bugs.webkit.org/show_bug.cgi?id=71761
1528
1529         Cleaned up SourceCode data() to return StringImpl* and eliminated
1530         the recently added stringData() virtual method.
1531
1532         No tests added - refactored base class SourceCode and its subclasses.
1533
1534         * bindings/js/CachedScriptSourceProvider.h:
1535         (WebCore::CachedScriptSourceProvider::data):
1536         * bindings/js/ScriptDebugServer.cpp:
1537         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1538         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
1539         * bindings/js/StringSourceProvider.h:
1540         (WebCore::StringSourceProvider::data):
1541
1542 2011-11-08  Xiaomei Ji  <xji@chromium.org>
1543
1544         REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
1545         https://bugs.webkit.org/show_bug.cgi?id=70395
1546
1547         Reviewed by Tony Chang.
1548
1549         Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
1550         to be correct for RTL page as well, which is checking either the scroll position change or
1551         the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).
1552
1553         And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
1554         the pass-in offset is adjusted within the current scroll range, it could be the same as
1555         m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old 
1556         scroll range, but scolling is still needed when page resize and scroll range changes.
1557
1558         Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html
1559
1560         * platform/ScrollAnimator.cpp:
1561         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
1562         * platform/ScrollView.cpp:
1563         (WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
1564         correct for RTL pages as well.
1565         * platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
1566         (WebCore::ScrollableArea::ScrollableArea):
1567         (WebCore::ScrollableArea::setScrollOrigin):
1568         (WebCore::ScrollableArea::setScrollOriginX):
1569         (WebCore::ScrollableArea::setScrollOriginY):
1570         * platform/ScrollableArea.h: Add m_scrollOriginChanged.
1571         (WebCore::ScrollableArea::scrollOriginChanged):
1572         (WebCore::ScrollableArea::resetScrollOriginChanged):
1573
1574 2011-11-08  Dan Bernstein  <mitz@apple.com>
1575
1576         <rdar://problem/10262225> Allow RenderView to have columns
1577         https://bugs.webkit.org/show_bug.cgi?id=71840
1578
1579         Reviewed by Simon Fraser.
1580
1581         Tests: fast/multicol/pagination-h-horizontal-bt.html
1582                fast/multicol/pagination-h-horizontal-tb.html
1583                fast/multicol/pagination-h-vertical-lr.html
1584                fast/multicol/pagination-h-vertical-rl.html
1585                fast/multicol/pagination-v-horizontal-bt.html
1586                fast/multicol/pagination-v-horizontal-tb.html
1587                fast/multicol/pagination-v-vertical-lr.html
1588                fast/multicol/pagination-v-vertical-rl.html
1589
1590         * WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
1591         * css/CSSStyleSelector.cpp:
1592         (WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
1593         document style if the view is paginated.
1594         * page/Page.cpp:
1595         (WebCore::Page::setPagination): Added this setter.
1596         * page/Page.h:
1597         (WebCore::Page::Pagination::Pagination):
1598         (WebCore::Page::pagination): Added this getter.
1599         * rendering/RenderBlock.cpp:
1600         (WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
1601         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
1602         * rendering/RenderBlock.h:
1603         * rendering/RenderBox.cpp:
1604         (WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
1605         instead of unscaledDocumentRect().
1606         * rendering/RenderView.cpp:
1607         (WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
1608         is paginated.
1609         (WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
1610         across all columns.
1611         * rendering/RenderView.h:
1612         * testing/Internals.cpp:
1613         (WebCore::Internals::reset): Also reset pagination.
1614         (WebCore::Internals::setPagination): Added this setter for testing.
1615         * testing/Internals.h:
1616         * testing/Internals.idl:
1617
1618 2011-11-08  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
1619
1620         Document.importNode's 'deep' argument should default to true.
1621         https://bugs.webkit.org/show_bug.cgi?id=71190
1622
1623         Reviewed by Adam Barth.
1624
1625         As new specification says deep argument of importNode should be default to true.
1626
1627         Test: fast/dom/document-importNode-arguments.html
1628
1629         * dom/Document.h: Added supportive method.
1630         (WebCore::Document::importNode):
1631         * dom/Document.idl: Modified deep argument as optional.
1632
1633 2011-11-08  Adam Klein  <adamk@chromium.org>
1634
1635         WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments
1636         https://bugs.webkit.org/show_bug.cgi?id=71596
1637
1638         Reviewed by Ryosuke Niwa.
1639
1640         Adds two cases where WebKitMutationObserver.observe throws an exception:
1641           - When passed a null Node*.
1642           - When passed options that don't make sense, e.g.,
1643             'attributeOldValue' but not 'attributes'.
1644
1645         * bindings/js/JSWebKitMutationObserverCustom.cpp:
1646         (WebCore::JSWebKitMutationObserver::observe):
1647         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
1648         (WebCore::V8WebKitMutationObserver::observeCallback):
1649         * dom/WebKitMutationObserver.cpp:
1650         (WebCore::WebKitMutationObserver::validateOptions):
1651         (WebCore::WebKitMutationObserver::observe):
1652         * dom/WebKitMutationObserver.h:
1653         * dom/WebKitMutationObserver.idl:
1654
1655 2011-11-08  Joshua Bell  <jsbell@chromium.org>
1656
1657         IndexedDB: implement compound (array) key support
1658         https://bugs.webkit.org/show_bug.cgi?id=62284
1659
1660         Reviewed by Tony Chang.
1661
1662         Add support for Array values as IDBKeys. (Multirow indexes are still
1663         not yet supported.)
1664
1665         Tests: storage/indexeddb/cursor-key-order.html
1666                storage/indexeddb/key-type-array.html
1667
1668         * bindings/js/JSIDBKeyCustom.cpp:
1669         (WebCore::toJS):
1670         * bindings/v8/IDBBindingUtilities.cpp:
1671         (WebCore::createIDBKeyFromValue):
1672         * bindings/v8/custom/V8IDBKeyCustom.cpp:
1673         (WebCore::toV8):
1674         * storage/IDBKey.cpp:
1675         (WebCore::IDBKey::compare):
1676         * storage/IDBKey.h:
1677         (WebCore::IDBKey::createArray):
1678         (WebCore::IDBKey::valid):
1679         (WebCore::IDBKey::array):
1680         (WebCore::IDBKey::compareTypes):
1681         * storage/IDBLevelDBCoding.cpp:
1682         (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
1683         (WebCore::IDBLevelDBCoding::encodeIDBKey):
1684         (WebCore::IDBLevelDBCoding::decodeIDBKey):
1685         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
1686         (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
1687         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
1688         * storage/IDBLevelDBCoding.h:
1689
1690 2011-11-08  Daniel Bates  <dbates@webkit.org>
1691
1692         Remove get() defined in CredentialStorageQt.cpp
1693         https://bugs.webkit.org/show_bug.cgi?id=71829
1694
1695         Reviewed by Andreas Kling.
1696
1697         CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
1698         provides the base implementation for each platform. We shouldn't re-define
1699         CredentialStorage::get() in CredentialStorageQt.cpp.
1700
1701         * Target.pri: Add files CredentialStorage.{cpp, h}.
1702         * platform/network/qt/CredentialStorageQt.cpp:
1703
1704 2011-11-08  Joshua Bell  <jsbell@chromium.org>
1705
1706         IndexedDB: reference cycle between IDBDatabase and IDBTransaction
1707         https://bugs.webkit.org/show_bug.cgi?id=71749
1708
1709         Reviewed by Tony Chang.
1710
1711         Break a cyclic reference leak following a setVersion call.
1712
1713         * storage/IDBDatabase.cpp:
1714         (WebCore::IDBDatabase::setVersionChangeTransaction):
1715         (WebCore::IDBDatabase::clearVersionChangeTransaction):
1716         (WebCore::IDBDatabase::createObjectStore):
1717         (WebCore::IDBDatabase::deleteObjectStore):
1718         * storage/IDBDatabase.h:
1719         * storage/IDBRequest.cpp:
1720         (WebCore::IDBRequest::onSuccess):
1721         * storage/IDBTransaction.cpp:
1722         (WebCore::IDBTransaction::create):
1723         (WebCore::IDBTransaction::onAbort):
1724         (WebCore::IDBTransaction::onComplete):
1725
1726 2011-11-08  Daniel Bates  <dbates@webkit.org>
1727
1728         Remove get() defined in CredentialStorageSoup.cpp
1729         https://bugs.webkit.org/show_bug.cgi?id=71825
1730
1731         Reviewed by Martin Robinson.
1732
1733         CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
1734         provides the base implementation for each platform. We shouldn't re-define
1735         CredentialStorage::get() in CredentialStorageSoup.cpp.
1736
1737         * GNUmakefile.list.am: Add source file CredentialStorage.cpp.
1738         * platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
1739         CredentialStorage::get() is defined in CredentialStorage.cpp.
1740
1741 2011-11-08  Roland Steiner  <rolandsteiner@chromium.org>
1742
1743         Rename CSS document() -> findDocument(), to indicate tree climbing
1744         https://bugs.webkit.org/show_bug.cgi?id=71764
1745
1746         Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().
1747
1748         Reviewed by Darin Adler.
1749
1750         No new tests. (simple refactoring)
1751
1752         * css/CSSGrammar.y:
1753         * css/CSSImportRule.cpp:
1754         (WebCore::CSSImportRule::setCSSStyleSheet):
1755         (WebCore::CSSImportRule::requestStyleSheet):
1756         * css/CSSMutableStyleDeclaration.cpp:
1757         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
1758         * css/CSSParser.cpp:
1759         (WebCore::parseColorValue):
1760         (WebCore::parseSimpleLengthValue):
1761         (WebCore::CSSParser::setStyleSheet):
1762         (WebCore::CSSParser::findDocument):
1763         (WebCore::CSSParser::parseAttr):
1764         * css/CSSParser.h:
1765         * css/CSSStyleRule.cpp:
1766         (WebCore::CSSStyleRule::setSelectorText):
1767         * css/CSSStyleSheet.cpp:
1768         (WebCore::CSSStyleSheet::cssRules):
1769         (WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
1770         (WebCore::CSSStyleSheet::findDocument):
1771         (WebCore::CSSStyleSheet::styleSheetChanged):
1772         * css/CSSStyleSheet.h:
1773         * inspector/InspectorCSSAgent.cpp:
1774         (WebCore::InspectorCSSAgent::bindStyleSheet):
1775         * inspector/InspectorStyleSheet.cpp:
1776         (WebCore::InspectorStyleSheet::ownerDocument):
1777         * page/PageSerializer.cpp:
1778         (WebCore::PageSerializer::serializeCSSStyleSheet):
1779         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
1780
1781 2011-11-07  Ryosuke Niwa  <rniwa@webkit.org>
1782
1783         Indent command can insert block quote in non editable content
1784         https://bugs.webkit.org/show_bug.cgi?id=71754
1785
1786         Reviewed by Enrica Casucci.
1787
1788         The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
1789         not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
1790         outerNode even if it was body. Fixed those bugs.
1791
1792         Test: editing/execCommand/indent-images.html
1793               editing/execCommand/indent-images-2.html
1794               editing/execCommand/indent-images-3.html
1795
1796         * editing/CompositeEditCommand.cpp:
1797         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
1798         * editing/IndentOutdentCommand.cpp:
1799         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
1800
1801 2011-11-08  Adam Klein  <adamk@chromium.org>
1802
1803         Only walk up the tree in search of MutationObservers if one has been added
1804         https://bugs.webkit.org/show_bug.cgi?id=71499
1805
1806         Reviewed by Ojan Vafai.
1807
1808         Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
1809         to Document that keeps track of which observer types have been added.
1810         This allows us to avoid doing any extra work if MutationObservers are
1811         not attached to a document.
1812
1813         This could be improved upon to keep a count of each type, as removing
1814         an observer currently has no effect on m_subtreeMutationObserverTypes.
1815         But that would require a more complex implementation: one counter per
1816         mutation type. And it would be easier to get wrong: if the counter
1817         gets out of sync with the actual state of the DOM, we could start
1818         dropping mutation notifications.
1819
1820         Test: fast/mutation/cross-document.html
1821
1822         * dom/Document.h:
1823         (WebCore::Document::hasSubtreeMutationObserverOfType):
1824         (WebCore::Document::hasSubtreeMutationObserver):
1825         (WebCore::Document::addSubtreeMutationObserverTypes):
1826         * dom/MutationObserverRegistration.h:
1827         (WebCore::MutationObserverRegistration::isSubtree):
1828         (WebCore::MutationObserverRegistration::deliveryOptions):
1829         (WebCore::MutationObserverRegistration::mutationTypes):
1830         * dom/Node.cpp:
1831         (WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
1832         (WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
1833         (WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
1834         * dom/WebKitMutationObserver.cpp:
1835         (WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
1836         * dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum
1837
1838 2011-11-08  Andreas Kling  <kling@webkit.org>
1839
1840         Devirtualize CSSValue.
1841         <http://webkit.org/b/71666>
1842
1843         Reviewed by Antti Koivisto.
1844
1845         Make the CSSValue destructor non-virtual (along with all the subclasses.)
1846         This removes the vtables, and the pointers thereto in each value instance,
1847         shrinking each object by one CPU word (4 or 8 bytes.)
1848
1849         We use the same trick as CSSRule to implement destruction; providing our
1850         own deref() instead of RefCounted's, and performing a statically typed
1851         delete in a destroy() method called when the ref count reaches 0.
1852
1853         Also made all the empty subclass destructors inline.
1854
1855         * css/CSSAspectRatioValue.cpp:
1856         * css/CSSAspectRatioValue.h:
1857         (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
1858         * css/CSSBorderImageSliceValue.cpp:
1859         * css/CSSBorderImageSliceValue.h:
1860         (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
1861         * css/CSSBorderImageValue.cpp:
1862         * css/CSSBorderImageValue.h:
1863         (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
1864         * css/CSSCanvasValue.h:
1865         * css/CSSCrossfadeValue.cpp:
1866         * css/CSSCrossfadeValue.h:
1867         (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
1868         * css/CSSCursorImageValue.h:
1869         * css/CSSFlexValue.cpp:
1870         * css/CSSFlexValue.h:
1871         (WebCore::CSSFlexValue::~CSSFlexValue):
1872         * css/CSSFontFaceSrcValue.cpp:
1873         * css/CSSFontFaceSrcValue.h:
1874         (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
1875         * css/CSSFunctionValue.cpp:
1876         * css/CSSFunctionValue.h:
1877         (WebCore::CSSFunctionValue::~CSSFunctionValue):
1878         * css/CSSImageGeneratorValue.h:
1879         * css/CSSImageValue.h:
1880         * css/CSSMutableValue.h:
1881         (WebCore::CSSMutableValue::~CSSMutableValue):
1882         * css/CSSParserValues.h:
1883         * css/CSSPrimitiveValue.h:
1884         * css/CSSUnicodeRangeValue.cpp:
1885         * css/CSSUnicodeRangeValue.h:
1886         (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
1887         * css/CSSValue.cpp:
1888         (WebCore::CSSValue::destroy):
1889         * css/CSSValue.h:
1890         (WebCore::CSSValue::deref):
1891         (WebCore::CSSValue::~CSSValue):
1892         * css/CSSValueList.cpp:
1893         * css/CSSValueList.h:
1894         (WebCore::CSSValueList::~CSSValueList):
1895         * css/WebKitCSSFilterValue.cpp:
1896         * css/WebKitCSSFilterValue.h:
1897         (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
1898         * css/WebKitCSSTransformValue.cpp:
1899         * css/WebKitCSSTransformValue.h:
1900         (WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):
1901
1902 2011-11-08  Darin Adler  <darin@apple.com>
1903
1904         Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding
1905         https://bugs.webkit.org/show_bug.cgi?id=71828
1906
1907         Reviewed by Nate Chapin.
1908
1909         No new tests; not sure how to reproduce this, but crash traces indicate it
1910         is an otherwise-harmless null dereference.
1911
1912         * loader/DocumentWriter.cpp:
1913         (WebCore::DocumentWriter::deprecatedFrameEncoding):
1914         Handle null document the same as a document without a URL.
1915
1916 2011-11-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1917
1918         Unreviewed, rolling out r95720.
1919         http://trac.webkit.org/changeset/95720
1920         https://bugs.webkit.org/show_bug.cgi?id=71831
1921
1922         This has made the menulists on WebKit patch reviews much less
1923         usable (Requested by mrobinson on #webkit).
1924
1925         * platform/gtk/GtkPopupMenu.cpp:
1926         (WebCore::GtkPopupMenu::menuPositionFunction):
1927
1928 2011-11-08  Nico Weber  <thakis@chromium.org>
1929
1930         [chromium] Remove 6 exit time destructors and 6 static initializers
1931         https://bugs.webkit.org/show_bug.cgi?id=71760
1932
1933         Reviewed by Nate Chapin.
1934
1935         Do this by moving global statics into function-local statics, and using
1936         DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
1937         thread, this is a safe change to make.
1938
1939         No behavior change, so no new tests.
1940
1941         * bindings/v8/ScriptGCEvent.cpp:
1942         (WebCore::sEventListeners):
1943         (WebCore::ScriptGCEvent::addEventListener):
1944         (WebCore::ScriptGCEvent::removeEventListener):
1945         (WebCore::ScriptGCEvent::gcEpilogueCallback):
1946         * bindings/v8/ScriptGCEvent.h:
1947         * bindings/v8/V8NPObject.cpp:
1948         (WebCore::staticTemplateMap):
1949         (WebCore::weakTemplateCallback):
1950         (WebCore::npObjectGetProperty):
1951         (WebCore::staticNPObjectMap):
1952         (WebCore::weakNPObjectCallback):
1953         (WebCore::createV8ObjectForNPObject):
1954         (WebCore::forgetV8ObjectForNPObject):
1955         * bindings/v8/V8Proxy.cpp:
1956         (WebCore::staticExtensionsList):
1957         (WebCore::V8Proxy::registeredExtensionWithV8):
1958         (WebCore::V8Proxy::registerExtension):
1959         (WebCore::V8Proxy::extensions):
1960         * bindings/v8/V8Proxy.h:
1961         * bindings/v8/npruntime.cpp:
1962         * plugins/chromium/PluginDataChromium.cpp:
1963         (WebCore::pluginCache):
1964         (WebCore::PluginData::initPlugins):
1965         (WebCore::PluginData::refresh):
1966         (WebCore::getPluginMimeTypeFromExtension):
1967
1968 2011-11-08  Hans Wennborg  <hans@chromium.org>
1969
1970         IndexedDB: Start using the onSuccessWithContinuation() callback
1971         https://bugs.webkit.org/show_bug.cgi?id=71565
1972
1973         Reviewed by Tony Chang.
1974
1975         This is a follow-up to r99169 where we start using this new
1976         callback for cursors.
1977
1978         * storage/IDBCursorBackendImpl.cpp:
1979         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
1980         * storage/IDBRequest.cpp:
1981         (WebCore::IDBRequest::setCursor):
1982
1983 2011-11-08  Justin Schuh  <jschuh@chromium.org>
1984
1985         Document::loader should use documentLoader(), not activeDocumentLoader()
1986         https://bugs.webkit.org/show_bug.cgi?id=65895
1987
1988         Reviewed by Brady Eidson.
1989
1990         Test: fast/loader/stateobjects/replacestate-in-onunload.html
1991
1992         * dom/Document.cpp:
1993         (WebCore::Document::loader):
1994
1995 2011-11-08  Andreas Kling  <kling@webkit.org>
1996
1997         CSSImageGeneratorValue: Devirtualize image(), isFixedSize() and fixedSize().
1998         <http://webkit.org/b/71824>
1999
2000         Reviewed by Darin Adler.
2001
2002         Redirect the calls to the appropriate subclass in CSSImageGeneratorValue.cpp.
2003
2004         * css/CSSCanvasValue.h:
2005         (WebCore::CSSCanvasValue::isFixedSize):
2006         * css/CSSCrossfadeValue.h:
2007         (WebCore::CSSCrossfadeValue::isFixedSize):
2008         * css/CSSGradientValue.h:
2009         (WebCore::CSSGradientValue::isFixedSize):
2010         (WebCore::CSSGradientValue::fixedSize):
2011         * css/CSSImageGeneratorValue.cpp:
2012         (WebCore::CSSImageGeneratorValue::image):
2013         (WebCore::CSSImageGeneratorValue::isFixedSize):
2014         (WebCore::CSSImageGeneratorValue::fixedSize):
2015         * css/CSSImageGeneratorValue.h:
2016
2017 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
2018
2019         Web Inspector: [Extension API][Chromium] injected extension API needs to return an object
2020         https://bugs.webkit.org/show_bug.cgi?id=71822
2021
2022         Reviewed by Pavel Feldman.
2023
2024         * inspector/front-end/ExtensionAPI.js:
2025         (buildExtensionAPIInjectedScript):
2026
2027 2011-11-08  Andreas Kling  <kling@webkit.org>
2028
2029         CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
2030         <http://webkit.org/b/71814>
2031
2032         Reviewed by Antti Koivisto.
2033
2034         Defer to CSSCursorImageValue (the only CSSImageValue subclass)
2035         when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).
2036
2037         * css/CSSCursorImageValue.h:
2038         * css/CSSImageValue.cpp:
2039         (WebCore::CSSImageValue::cachedImage):
2040         * css/CSSImageValue.h:
2041
2042 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
2043
2044         Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel
2045         https://bugs.webkit.org/show_bug.cgi?id=71817
2046
2047         Reviewed by Pavel Feldman.
2048
2049         * English.lproj/localizedStrings.js:
2050         * inspector/front-end/ConsoleView.js:
2051         (WebInspector.ConsoleView.prototype.evaluate):
2052         (WebInspector.ConsoleView.prototype._enterKeyPressed):
2053         * inspector/front-end/JavaScriptSourceFrame.js:
2054         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
2055         * inspector/front-end/ScriptsPanel.js:
2056         (WebInspector.ScriptsPanel.prototype._evaluateSelectionInConsole):
2057         * inspector/front-end/ShortcutsScreen.js:
2058         (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
2059         (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
2060         * inspector/front-end/externs.js:
2061         (WebInspector.evaluateInConsole):
2062         * inspector/front-end/inspector.js:
2063         (WebInspector.evaluateInConsole):
2064
2065 2011-11-08  Andreas Kling  <kling@webkit.org>
2066
2067         CSSValue: Devirtualize cssText().
2068         <http://webkit.org/b/71813>
2069
2070         Reviewed by Antti Koivisto.
2071
2072         Rename all subclass implementations to customCssText() and add
2073         a CSSValue::cssText() that defers to the appropriate subclass
2074         based on the type info.
2075
2076         The rename is both for clarity, and to ensure that calling
2077         cssText() will always end up in the correct method.
2078
2079         * css/CSSAspectRatioValue.cpp:
2080         (WebCore::CSSAspectRatioValue::customCssText):
2081         * css/CSSAspectRatioValue.h:
2082         * css/CSSBorderImageSliceValue.cpp:
2083         (WebCore::CSSBorderImageSliceValue::customCssText):
2084         * css/CSSBorderImageSliceValue.h:
2085         * css/CSSBorderImageValue.cpp:
2086         (WebCore::CSSBorderImageValue::customCssText):
2087         * css/CSSBorderImageValue.h:
2088         * css/CSSCanvasValue.cpp:
2089         (WebCore::CSSCanvasValue::customCssText):
2090         * css/CSSCanvasValue.h:
2091         * css/CSSCrossfadeValue.cpp:
2092         (WebCore::CSSCrossfadeValue::customCssText):
2093         * css/CSSCrossfadeValue.h:
2094         * css/CSSFlexValue.cpp:
2095         (WebCore::CSSFlexValue::customCssText):
2096         * css/CSSFlexValue.h:
2097         * css/CSSFontFaceSrcValue.cpp:
2098         (WebCore::CSSFontFaceSrcValue::customCssText):
2099         * css/CSSFontFaceSrcValue.h:
2100         * css/CSSFunctionValue.cpp:
2101         (WebCore::CSSFunctionValue::customCssText):
2102         * css/CSSFunctionValue.h:
2103         * css/CSSGradientValue.cpp:
2104         (WebCore::CSSLinearGradientValue::customCssText):
2105         (WebCore::CSSRadialGradientValue::customCssText):
2106         * css/CSSGradientValue.h:
2107         * css/CSSInheritedValue.cpp:
2108         (WebCore::CSSInheritedValue::customCssText):
2109         * css/CSSInheritedValue.h:
2110         * css/CSSInitialValue.cpp:
2111         (WebCore::CSSInitialValue::customCssText):
2112         * css/CSSInitialValue.h:
2113         * css/CSSLineBoxContainValue.cpp:
2114         (WebCore::CSSLineBoxContainValue::customCssText):
2115         * css/CSSLineBoxContainValue.h:
2116         * css/CSSPrimitiveValue.cpp:
2117         (WebCore::CSSPrimitiveValue::customCssText):
2118         * css/CSSPrimitiveValue.h:
2119         * css/CSSReflectValue.cpp:
2120         (WebCore::CSSReflectValue::customCssText):
2121         * css/CSSReflectValue.h:
2122         * css/CSSTimingFunctionValue.cpp:
2123         (WebCore::CSSLinearTimingFunctionValue::customCssText):
2124         (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
2125         (WebCore::CSSStepsTimingFunctionValue::customCssText):
2126         * css/CSSTimingFunctionValue.h:
2127         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
2128         * css/CSSUnicodeRangeValue.cpp:
2129         (WebCore::CSSUnicodeRangeValue::customCssText):
2130         * css/CSSUnicodeRangeValue.h:
2131         * css/CSSValue.cpp:
2132         (WebCore::CSSValue::cssText):
2133         * css/CSSValue.h:
2134         * css/CSSValueList.cpp:
2135         (WebCore::CSSValueList::customCssText):
2136         * css/CSSValueList.h:
2137         * css/FontFamilyValue.cpp:
2138         (WebCore::FontFamilyValue::customCssText):
2139         * css/FontFamilyValue.h:
2140         * css/FontFeatureValue.cpp:
2141         (WebCore::FontFeatureValue::customCssText):
2142         * css/FontFeatureValue.h:
2143         * css/FontValue.cpp:
2144         (WebCore::FontValue::customCssText):
2145         * css/FontValue.h:
2146         * css/ShadowValue.cpp:
2147         (WebCore::ShadowValue::customCssText):
2148         * css/ShadowValue.h:
2149         * css/WebKitCSSFilterValue.cpp:
2150         (WebCore::WebKitCSSFilterValue::customCssText):
2151         * css/WebKitCSSFilterValue.h:
2152         * css/WebKitCSSTransformValue.cpp:
2153         (WebCore::WebKitCSSTransformValue::customCssText):
2154         * css/WebKitCSSTransformValue.h:
2155         * svg/SVGColor.cpp:
2156         (WebCore::SVGColor::customCssText):
2157         * svg/SVGColor.h:
2158         * svg/SVGPaint.cpp:
2159         (WebCore::SVGPaint::customCssText):
2160         * svg/SVGPaint.h:
2161
2162 2011-11-08  Gavin Peters  <gavinp@chromium.org>
2163
2164         Fix width of m_type in CachedResource
2165         https://bugs.webkit.org/show_bug.cgi?id=71727
2166
2167         Reviewed by Nate Chapin.
2168
2169         Test: fast/dom/HTMLLinkElement/cachedresource-types.html
2170
2171         * loader/cache/CachedResource.cpp:
2172         (WebCore::CachedResource::CachedResource):
2173         * loader/cache/CachedResource.h:
2174
2175 2011-11-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2176
2177         [Qt] Don't set OBJECTS_DIR and DEFINES in default_pre
2178
2179         If a pro file needs to access the OBJECTS_DIR it should use the
2180         form ${QMAKE_VAR_OBJECTS_DIR} to ensure the value is evaluated
2181         after defaults_post has been processed.
2182
2183         Setting DEFINES in defaults_pre is also bad, as any DEFINES=foo on
2184         the command line will override whatever we set in defaults_pre.
2185
2186         Reviewed by Simon Hausmann.
2187
2188         * Target.pri:
2189
2190 2011-11-08  Pavel Feldman  <pfeldman@google.com>
2191
2192         Web Inspector: add JavaScript keywords to the autocomplete.
2193         https://bugs.webkit.org/show_bug.cgi?id=71782
2194
2195         Reviewed by Yury Semikhatsky.
2196
2197         * inspector/front-end/ConsoleView.js:
2198         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
2199         (WebInspector.ConsoleView.prototype._completions):
2200         (WebInspector.ConsoleView.prototype._reportCompletions):
2201
2202 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2203
2204         Introduce SVGLengthContext, to allow to resolve relative units to arbitary viewports
2205         https://bugs.webkit.org/show_bug.cgi?id=71780
2206
2207         Reviewed by Zoltan Herczeg.
2208
2209         Introduce SVGLengthContext to cleanup SVGLength, by moving all conversion of relative units that depend on style or viewport
2210         out of SVGLength, into SVGLengthContext. Pass SVGLengthContext& to SVGLength::value/setValue/... functions instead of a pure
2211         "const SVGElement* context", which was previously used to determine the viewport when resolving percentage units.
2212         SVGLengthContext carries an additional FloatRect of the custom viewport, to which percentages are resolved, if specified.
2213
2214         This allows us to kill several duplicates of the same code, which handles objectBoundingBox mode for gradients/patterns/masks/etc..
2215         A follow-up patch will convert filters to use the new SVGLengthContext::resolveRectangle code as well.
2216
2217         This is a preparation for bug 10430, to fix feImage + objectBoundingBox support when rendering referenced elements, instead of files.
2218
2219         Doesn't affect any tests yet.
2220
2221         * CMakeLists.txt:
2222         * GNUmakefile.list.am:
2223         * Target.pri:
2224         * WebCore.gypi:
2225         * WebCore.vcproj/WebCore.vcproj:
2226         * WebCore.xcodeproj/project.pbxproj:
2227         * rendering/svg/RenderSVGResourceGradient.cpp:
2228         (WebCore::RenderSVGResourceGradient::applyResource):
2229         * rendering/svg/RenderSVGResourceGradient.h:
2230         * rendering/svg/RenderSVGResourceLinearGradient.h:
2231         (WebCore::RenderSVGResourceLinearGradient::gradientUnits):
2232         * rendering/svg/RenderSVGResourcePattern.cpp:
2233         (WebCore::RenderSVGResourcePattern::applyResource):
2234         (WebCore::calculatePatternBoundaries):
2235         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
2236         (WebCore::RenderSVGResourcePattern::createTileImage):
2237         * rendering/svg/RenderSVGResourceRadialGradient.h:
2238         (WebCore::RenderSVGResourceRadialGradient::gradientUnits):
2239         * rendering/svg/SVGRenderTreeAsText.cpp:
2240         (WebCore::writeCommonGradientProperties):
2241         (WebCore::writeSVGResourceContainer):
2242         * svg/GradientAttributes.h:
2243         (WebCore::GradientAttributes::GradientAttributes):
2244         (WebCore::GradientAttributes::gradientUnits):
2245         (WebCore::GradientAttributes::setGradientUnits):
2246         (WebCore::GradientAttributes::hasGradientUnits):
2247         * svg/PatternAttributes.h:
2248         (WebCore::PatternAttributes::PatternAttributes):
2249         (WebCore::PatternAttributes::patternUnits):
2250         (WebCore::PatternAttributes::patternContentUnits):
2251         (WebCore::PatternAttributes::setPatternUnits):
2252         (WebCore::PatternAttributes::setPatternContentUnits):
2253         (WebCore::PatternAttributes::hasPatternUnits):
2254         (WebCore::PatternAttributes::hasPatternContentUnits):
2255         * svg/SVGAllInOne.cpp:
2256         * svg/SVGElement.h:
2257         (WebCore::SVGElement::operator SVGLengthContext):
2258         * svg/SVGFilterElement.cpp:
2259         (WebCore::SVGFilterElement::filterBoundingBox):
2260         * svg/SVGLength.cpp:
2261         (WebCore::SVGLength::SVGLength):
2262         (WebCore::SVGLength::unitMode):
2263         (WebCore::SVGLength::value):
2264         (WebCore::SVGLength::setValue):
2265         (WebCore::SVGLength::convertToSpecifiedUnits):
2266         * svg/SVGLength.h:
2267         (WebCore::SVGLength::blend):
2268         * svg/SVGLengthContext.cpp: Added.
2269         (WebCore::SVGLengthContext::SVGLengthContext):
2270         (WebCore::SVGLengthContext::resolveRectangle):
2271         (WebCore::SVGLengthContext::resolvePoint):
2272         (WebCore::SVGLengthContext::resolveLength):
2273         (WebCore::SVGLengthContext::convertValueToUserUnits):
2274         (WebCore::SVGLengthContext::convertValueFromUserUnits):
2275         (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
2276         (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
2277         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
2278         (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
2279         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
2280         (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
2281         (WebCore::SVGLengthContext::determineViewport):
2282         * svg/SVGLengthContext.h: Added.
2283         (WebCore::SVGLengthContext::resolveRectangle):
2284         * svg/SVGLinearGradientElement.cpp:
2285         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
2286         (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
2287         * svg/SVGMaskElement.cpp:
2288         (WebCore::SVGMaskElement::maskBoundingBox):
2289         * svg/SVGPatternElement.cpp:
2290         (WebCore::SVGPatternElement::collectPatternAttributes):
2291         * svg/SVGRadialGradientElement.cpp:
2292         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
2293         (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
2294
2295 2011-11-08  Andreas Kling  <kling@webkit.org>
2296
2297         CSSValue: Devirtualize addSubresourceStyleURLs().
2298         <http://webkit.org/b/71805>
2299
2300         Reviewed by Antti Koivisto.
2301
2302         Make addSubresourceStyleURLs() non-virtual and call the appropriate
2303         subclass implementation based on the subclass type info.
2304
2305         * css/CSSBorderImageValue.h:
2306         * css/CSSFontFaceSrcValue.h:
2307         * css/CSSPrimitiveValue.h:
2308         * css/CSSReflectValue.h:
2309         * css/CSSValue.cpp:
2310         (WebCore::CSSValue::addSubresourceStyleURLs):
2311         * css/CSSValue.h:
2312         (WebCore::CSSValue::addSubresourceStyleURLs):
2313         * css/CSSValueList.h:
2314
2315 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
2316
2317         Web Inspector: do not show object popover when selection is active
2318         https://bugs.webkit.org/show_bug.cgi?id=71804
2319
2320         Reviewed by Yury Semikhatsky.
2321
2322         * inspector/front-end/JavaScriptSourceFrame.js:
2323         (WebInspector.JavaScriptSourceFrame.prototype._shouldShowPopover):
2324
2325 2011-11-08  Alexander Pavlov  <apavlov@chromium.org>
2326
2327         Web Inspector: Do not hide SuggestBox if typed-in string in the middle of input equals one of suggestions
2328         https://bugs.webkit.org/show_bug.cgi?id=71797
2329
2330         Reviewed by Yury Semikhatsky.
2331
2332         * inspector/front-end/TextPrompt.js:
2333         (WebInspector.TextPrompt.prototype.onKeyDown):
2334         (WebInspector.TextPrompt.prototype.complete):
2335
2336 2011-11-08  Andreas Kling  <kling@webkit.org>
2337
2338         CSSGradientValue: Devirtualize createGradient().
2339         <http://webkit.org/b/71800>
2340
2341         Reviewed by Antti Koivisto.
2342
2343         Make createGradient() non-virtual and call the appropriate subclass
2344         implementation in image() based on is{Linear,Radial}Gradient().
2345
2346         * css/CSSGradientValue.cpp:
2347         (WebCore::CSSGradientValue::image):
2348         * css/CSSGradientValue.h:
2349
2350 2011-11-08  Andreas Kling  <kling@webkit.org>
2351
2352         CSSCanvasValue: Remove inheritance from CanvasObserver.
2353         <http://webkit.org/b/71796>
2354
2355         Reviewed by Antti Koivisto.
2356
2357         To completely devirtualize all the CSSValues, we need to remove
2358         CSSCanvasValue's inheritance from CanvasObserver, as that is forcing
2359         a vptr into the class.
2360
2361         Use the same approach as CSSImportRule and make a simple proxying
2362         CanvasObserver subclass and put that as a member variable of the value.
2363
2364         * css/CSSCanvasValue.cpp:
2365         (WebCore::CSSCanvasValue::~CSSCanvasValue):
2366         (WebCore::CSSCanvasValue::element):
2367         * css/CSSCanvasValue.h:
2368         (WebCore::CSSCanvasValue::CSSCanvasValue):
2369         (WebCore::CSSCanvasValue::CanvasObserverProxy::CanvasObserverProxy):
2370         (WebCore::CSSCanvasValue::CanvasObserverProxy::~CanvasObserverProxy):
2371         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasChanged):
2372         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasResized):
2373         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasDestroyed):
2374
2375 2011-11-08  Yury Semikhatsky  <yurys@chromium.org>
2376
2377         Web Inspector: display notification in the front-end when inspected worker terminates
2378         https://bugs.webkit.org/show_bug.cgi?id=71770
2379
2380         When inspected worker terminates we will show a notification similar to the help
2381         screen. The notification disappears when the worker restarts or the user closes it
2382         manually.
2383
2384         Reviewed by Pavel Feldman.
2385
2386         * English.lproj/localizedStrings.js:
2387         * inspector/front-end/ScriptsPanel.js:
2388         * inspector/front-end/WorkerManager.js:
2389         (WebInspector.WorkerManager.loaded):
2390         (WebInspector.WorkerManager.showWorkerTerminatedScreen):
2391         (WebInspector.WorkerTerminatedScreen):
2392         * inspector/front-end/inspector.js:
2393         (WebInspector.disconnectFromBackend):
2394         (WebInspector.frontendReused):
2395
2396 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2397
2398         Fold ImageBySizeCache again into CSSImageGeneratorValue
2399         https://bugs.webkit.org/show_bug.cgi?id=71785
2400
2401         Reviewed by Zoltan Herczeg.
2402
2403         Remove ImageBySizeCache, and fold it into CSSImageGeneratorValue, as it used to be.
2404         CachedImage has switched to SVGImageCache and no longer needs it.
2405
2406         * CMakeLists.txt:
2407         * GNUmakefile.list.am:
2408         * Target.pri:
2409         * WebCore.gypi:
2410         * WebCore.vcproj/WebCore.vcproj:
2411         * WebCore.xcodeproj/project.pbxproj:
2412         * css/CSSImageGeneratorValue.cpp:
2413         (WebCore::CSSImageGeneratorValue::addClient):
2414         (WebCore::CSSImageGeneratorValue::removeClient):
2415         (WebCore::CSSImageGeneratorValue::getImage):
2416         (WebCore::CSSImageGeneratorValue::putImage):
2417         * css/CSSImageGeneratorValue.h:
2418         (WebCore::SizeAndCount::SizeAndCount):
2419         (WebCore::CSSImageGeneratorValue::clients):
2420         * rendering/ImageBySizeCache.cpp: Removed.
2421         * rendering/ImageBySizeCache.h: Removed.
2422
2423 2011-11-08  Alexander Pavlov  <apavlov@chromium.org>
2424
2425         Web Inspector: Avoid automatic Console suggestions with empty expression
2426         https://bugs.webkit.org/show_bug.cgi?id=71783
2427
2428         Reviewed by Yury Semikhatsky.
2429
2430         * inspector/front-end/ConsoleView.js:
2431
2432 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2433
2434         Not reviewed. Fix build, by removing an unused variable.
2435
2436         * html/canvas/CanvasRenderingContext2D.cpp:
2437         (WebCore::isOriginClean):
2438         (WebCore::CanvasRenderingContext2D::createPattern):
2439
2440 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2441
2442         Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
2443         https://bugs.webkit.org/show_bug.cgi?id=71368
2444
2445         Reviewed by Zoltan Herczeg.
2446
2447         When determining whether the canvas would be tainted, we need access to the SVGImage, not its cached BitmapImage.
2448         Otherwhise wrong assumptions are mode, leading to regressions.
2449
2450         Fixes http/tests/security/canvas-remote-read-svg-image.html and related tests on the bots.
2451
2452         * html/canvas/CanvasRenderingContext.cpp:
2453         (WebCore::CanvasRenderingContext::wouldTaintOrigin): Forgot to switch them back to use cachedImage->image().
2454         * html/canvas/CanvasRenderingContext2D.cpp:
2455         (WebCore::isOriginClean): Ditto.
2456
2457 2011-11-08  Vsevolod Vlasov  <vsevik@chromium.org>
2458
2459         Web Inspector: Console should be scrolled to bottom when shown for the first time.
2460         https://bugs.webkit.org/show_bug.cgi?id=71781
2461
2462         Reviewed by Pavel Feldman.
2463
2464         * inspector/front-end/ConsoleView.js:
2465
2466 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2467
2468         Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
2469         https://bugs.webkit.org/show_bug.cgi?id=71368
2470
2471         Reviewed by Antti Koivisto.
2472
2473         Fix regressions/races introduced by r98852. SVGImage repainting didn't work under certain circumstances.
2474         The problem was hard to reproduce on Mac ports, but easily visible on Chromium, when opening two files
2475         that shared the same animated SVG image. The problem of sharing a single ImageObserver across multiple
2476         instances of the same SVGImage, leads to nasty problems, that are timing dependant. changedInRect() calls
2477         that should only by received in one document, are received in the other as well, due the shared nature
2478         of CachedImage. To avoid these problems alltogether, a new approach is needed, that was initially suggested
2479         by Antti.
2480
2481         Avoid creating multiple SVGImages and caching them for different sizes/zoom levels. Introduce SVGImageCache
2482         which holds rendered versions of the SVGImage at certain sizes/zoom levels. It holds (ImageBuffer, Image) pairs
2483         for each renderer, associated with a size and zoom level.
2484
2485         This is a major change to the cache as introduced some weeks ago. Instead of holding multiple SVGImages, each containing
2486         a whole DOM/render tree, we now create bitmap images rendered at the requested sizes/zoom levels and cache them.
2487
2488         Revert ImageBySizeCache changes that were needed to make it usable wih SVGImage. Its now used only in CSSImageGeneratorValue and
2489         thus the extra information that CSSImageGeneratorValue doesn't need can be removed again (desired/actual size differentations, and the zoom level).
2490
2491         Tests: svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html
2492                svg/as-image/animated-svg-as-image-same-image.html
2493
2494         * CMakeLists.txt: Add svg/graphics/SVGImageCache.* to build.
2495         * GNUmakefile.list.am: Ditto.
2496         * Target.pri: Ditto.
2497         * WebCore.gypi: Ditto.
2498         * WebCore.vcproj/WebCore.vcproj: Ditto.
2499         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from svg/graphics, as SVGImageCache is needed by CachedImage in SVG enabled builds.
2500         * WebCore.xcodeproj/project.pbxproj: Add svg/graphics/SVGImageCache.* to build.
2501         * css/CSSImageGeneratorValue.cpp: Remove zoom parameter from addClient/getImage, no need to pass 1 default values anymore.
2502         (WebCore::CSSImageGeneratorValue::addClient):
2503         (WebCore::CSSImageGeneratorValue::getImage):
2504         * loader/cache/CachedImage.cpp: Stop using ImageBySizeCache, and switch to the new SVGImageCache.
2505         (WebCore::CachedImage::removeClientForRenderer):
2506         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
2507         (WebCore::CachedImage::setContainerSizeForRenderer):
2508         (WebCore::CachedImage::imageSizeForRenderer):
2509         (WebCore::CachedImage::clear):
2510         (WebCore::CachedImage::createImage):
2511         (WebCore::CachedImage::destroyDecodedData):
2512         (WebCore::CachedImage::decodedSizeChanged):
2513         (WebCore::CachedImage::didDraw):
2514         (WebCore::CachedImage::shouldPauseAnimation):
2515         (WebCore::CachedImage::animationAdvanced):
2516         (WebCore::CachedImage::changedInRect):
2517         * loader/cache/CachedImage.h:
2518         * page/DragController.cpp: Stop using imageForRenderer(), as it may return cached BitmapImages, that don't carry a filename extension anymore, which is required here.
2519         (WebCore::getImage):
2520         * rendering/ImageBySizeCache.cpp: Revert changes to ImageBySizeCache, which were needed to make it usable for SVGImages. CSSImageGenerator doesn't need it.
2521         (WebCore::ImageBySizeCache::addClient):
2522         (WebCore::ImageBySizeCache::removeClient):
2523         (WebCore::ImageBySizeCache::getImage):
2524         * rendering/ImageBySizeCache.h: Ditto.
2525         (WebCore::SizeAndCount::SizeAndCount):
2526         * rendering/RenderImage.cpp: Stop using imageForRenderer(), use cachedImage()->image(), which is guaranteed to be a SVGImage for svg images, and not a cached bitmap copy.
2527         (WebCore::RenderImage::embeddedContentBox):
2528         * rendering/RenderReplaced.cpp: Simplify logic to figure out the intrinsic size - the special logic for the old SVGImage cache can go away now.
2529         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
2530         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
2531         * rendering/style/StyleCachedImage.cpp: Call removeClientForRenderer(), which takes care of clearing SVGImageCache entries as well.
2532         (WebCore::StyleCachedImage::removeClient): This change is needed, as we don't want to make removeClient() virtual in CachedResource.
2533         * rendering/svg/RenderSVGRoot.cpp: Rename isEmbeddedThroughImageElement to isEmbeddedThroughSVGImage, as this is what it actually checks.
2534         (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
2535         * rendering/svg/RenderSVGRoot.h:
2536         * svg/SVGSVGElement.cpp: Fix bug that's visible now with the SVGImageCache, which was already there before, but hard to trigger.
2537         (WebCore::SVGSVGElement::currentViewBoxRect): The viewBox depends on who's asking for it: the host document or the embedded document? Take that into account.
2538         * svg/SVGSVGElement.h:
2539         * svg/graphics/SVGImage.cpp: Cleanup some code. Add new logic that draws a SVGImage into an ImageBuffer at a desired size & zoom.
2540         (WebCore::SVGImage::setContainerSize):
2541         (WebCore::SVGImage::size):
2542         (WebCore::SVGImage::drawSVGToImageBuffer):
2543         * svg/graphics/SVGImage.h:
2544         * svg/graphics/SVGImageCache.cpp: Added. SVGImageCache caches Image/ImageBuffer pairs for each _renderer_ and size/zoom level. The ImageBySizeCache only cared about size.
2545         (WebCore::SVGImageCache::SVGImageCache):
2546         (WebCore::SVGImageCache::~SVGImageCache):
2547         (WebCore::SVGImageCache::removeRendererFromCache):
2548         (WebCore::SVGImageCache::setRequestedSizeAndZoom):
2549         (WebCore::SVGImageCache::getRequestedSizeAndZoom):
2550         (WebCore::SVGImageCache::imageContentChanged):
2551         (WebCore::SVGImageCache::redrawTimerFired):
2552         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
2553         * svg/graphics/SVGImageCache.h: Added.
2554         (WebCore::SVGImageCache::create):
2555         (WebCore::SVGImageCache::CachedSizeAndZoom::CachedSizeAndZoom):
2556         (WebCore::SVGImageCache::CachedImageData::CachedImageData):
2557
2558 2011-11-07  Yury Semikhatsky  <yurys@chromium.org>
2559
2560         Web Inspector: refactor shortcuts and settings screens
2561         https://bugs.webkit.org/show_bug.cgi?id=71773
2562
2563         Keep pointer to the visible screen and hide it automatically when new one is going
2564         to be displayed.
2565
2566         Reviewed by Pavel Feldman.
2567
2568         * inspector/front-end/HelpScreen.js:
2569         (WebInspector.HelpScreen.prototype.show):
2570         (WebInspector.HelpScreen.prototype.hide):
2571         * inspector/front-end/ShortcutsScreen.js:
2572         (WebInspector.ShortcutsScreen): ShortcutsScreen is now a descendant of HelpScreen.
2573         (WebInspector.ShortcutsScreen.prototype.show):
2574         * inspector/front-end/inspector.js:
2575         (WebInspector._hideSettingsScreen):
2576         (WebInspector.documentKeyDown):
2577
2578 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
2579
2580         Not reviewed. Fix Snow Leopard 32bit builds.
2581
2582         * css/CSSParser.cpp:
2583         (WebCore::CSSParser::parseAspectRatio): CSSParserValue::fValue is a double, use narrowPrecisionToFloat() to convert double->float.
2584         * platform/ClockGeneric.cpp: Remove unneeded variable out of 32bit integer value range.
2585         * webaudio/BiquadDSPKernel.cpp:
2586         (WebCore::BiquadDSPKernel::getFrequencyResponse): Use narrowPrecisionTofloat() to convert double->float.
2587
2588 2011-11-07  Daniel Bates  <dbates@rim.com>
2589
2590         Add CredentialStorage.cpp to WebCore/CMakeLists.txt
2591         https://bugs.webkit.org/show_bug.cgi?id=71748
2592
2593         Reviewed by Martin Robinson.
2594
2595         Adds CredentialStorage.cpp to WebCore/CMakeLists.txt since its provides a
2596         base implementation of this feature.
2597
2598         Also adds a stub implementation of CredentialStorage to the WinCE port.
2599
2600         * CMakeLists.txt: Added source file CredentialStorage.cpp.
2601         * CMakeListsEfl.txt: Added source file CredentialStorageCurl.cpp when building
2602           with the Curl networking backend.
2603         * CMakeListsWinCE.txt: Added source file CredentialStorageWin.cpp.
2604         * platform/network/win/CredentialStorageWin.cpp: Added.
2605         (WebCore::Credential::getFromPersistentStorage): Stub implementation.
2606
2607 2011-11-07  Kentaro Hara  <haraken@chromium.org>
2608
2609         Remove [CustomGetter] IDL for window.Image of V8
2610         https://bugs.webkit.org/show_bug.cgi?id=71739
2611
2612         Reviewed by Adam Barth.
2613
2614         Currently, window.Image uses a custom getter to get the template
2615         of 'HTMLImageElementConstructor'. However, this getter does not need to
2616         be custom and can use a default getter
2617         'DOMWindowInternal::DOMWindowConstructorGetter'.
2618
2619         Tests: fast/js/custom-constructors.html
2620                fast/dom/image-object.html
2621                fast/dom/gc-image-element.html
2622                fast/dom/Window/custom-constructors.html
2623
2624         * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
2625         * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Image of V8. Renamed 'HTMLImageElementConstructor' to 'HTMLImageElementConstructorConstructor' in order to make window.Image use the template of (not 'HTMLImageElement' but) 'HTMLImageElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
2626
2627 2011-11-07  Chris Fleizach  <cfleizach@apple.com>
2628
2629         REGRESSION(r99025-r99037): platform/mac/accessibility/select-element-selection-with-optgroups.html is asserting
2630         https://bugs.webkit.org/show_bug.cgi?id=71421
2631
2632         Reviewed by Ryosuke Niwa.
2633
2634         Remove an assert that was added by r99035. It was added based on a comment in the code, but not tested.
2635
2636         * html/HTMLSelectElement.cpp:
2637         (WebCore::HTMLSelectElement::selectOption):
2638
2639 2011-11-07  Emil A Eklund  <eae@chromium.org>
2640
2641         Revert platform and scrolling to ints
2642         https://bugs.webkit.org/show_bug.cgi?id=71585
2643
2644         Reviewed by Eric Seidel.
2645
2646         Replace all uses of LayoutUnit and related types with ints in platform
2647         and scrolling code.
2648
2649         No new tests.
2650
2651         * page/FrameView.cpp:
2652         * page/FrameView.h:
2653         * platform/PopupMenuClient.h:
2654         * platform/ScrollAnimatorNone.cpp:
2655         * platform/ScrollAnimatorNone.h:
2656         * platform/ScrollView.cpp:
2657         * platform/ScrollView.h:
2658         * platform/ScrollableArea.h:
2659         * rendering/RenderLayer.cpp:
2660         * rendering/RenderLayer.h:
2661         * rendering/RenderListBox.cpp:
2662         * rendering/RenderListBox.h:
2663         * rendering/RenderMenuList.cpp:
2664         * rendering/RenderMenuList.h:
2665         * rendering/RenderTextControlSingleLine.cpp:
2666         * rendering/RenderTextControlSingleLine.h:
2667
2668 2011-11-07  Kentaro Hara  <haraken@chromium.org>
2669
2670         Fixed wrong test results of fast/js/custom-constructors.html
2671         https://bugs.webkit.org/show_bug.cgi?id=71669
2672
2673         Reviewed by Darin Adler.
2674
2675         According to the HTMLOptionElement spec
2676         (http://dev.w3.org/html5/spec/the-button-element.html#the-option-element),
2677         'text', 'label' and 'value' have neither [TreatUndefinedAs=EmptyString]
2678         nor [TreatNullAs=EmptyString]. Thus, an undefined value should be
2679         converted to a string "undefined" and a null value should be
2680         converted to a string "null", following the step 3 of the IDL
2681         conversion spec (http://dev.w3.org/2006/webapi/WebIDL/#es-DOMString).
2682
2683         * bindings/js/JSOptionConstructor.cpp:
2684         (WebCore::constructHTMLOptionElement): Removed isUndefined() check from 'text' and 'value' since the spec does not have [TreatUndefinedAs=EmptyString].
2685         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
2686         (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
2687         * html/HTMLOptionElement.idl: Removed [ConvertNullToNullString] from 'text', 'label' and 'value' since the spec does not have [TreatNullAs=EmptyString].
2688
2689 2011-11-07  Adam Barth  <abarth@webkit.org>
2690
2691         Move DomainRelaxationForbidden scheme registry to SchemeRegistry
2692         https://bugs.webkit.org/show_bug.cgi?id=71750
2693
2694         Reviewed by Eric Seidel.
2695
2696         As stated in the FIXME, scheme registries belong in SchemeRegistry, not
2697         in SecurityOrigin.
2698
2699         * WebCore.exp.in:
2700         * dom/Document.cpp:
2701         (WebCore::Document::setDomain):
2702         * page/SecurityOrigin.cpp:
2703         * page/SecurityOrigin.h:
2704         * platform/SchemeRegistry.cpp:
2705         (WebCore::schemesForbiddenFromDomainRelaxation):
2706         (WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme):
2707         (WebCore::SchemeRegistry::isDomainRelaxationForbiddenForURLScheme):
2708         * platform/SchemeRegistry.h:
2709
2710 2011-11-07  Dan Bernstein  <mitz@apple.com>
2711
2712         <rdar://problem/10405215> REGRESSION (r98178): World of Warcraft Launcher crashes in FrameView::isOnActivePage()
2713         https://bugs.webkit.org/show_bug.cgi?id=71743
2714
2715         Reviewed by Beth Dakin.
2716
2717         * page/FrameView.cpp:
2718         (WebCore::FrameView::isOnActivePage): Added a check for a null m_frame.
2719
2720 2011-11-07  Dmitry Lomov  <dslomov@google.com>
2721
2722         https://bugs.webkit.org/show_bug.cgi?id=71534
2723         [V8] On neutering TypedArrayViews, V8 should be notified to drain code generation cache.
2724
2725         Reviewed by David Levin.
2726
2727         * bindings/scripts/CodeGeneratorJS.pm:
2728         (GenerateImplementation):
2729         * bindings/scripts/CodeGeneratorV8.pm:
2730         * html/canvas/DataView.cpp:
2731         * html/canvas/DataView.h:
2732         * html/canvas/Float32Array.h:
2733         * html/canvas/Float64Array.h:
2734         * html/canvas/Int16Array.h:
2735         * html/canvas/Int32Array.h:
2736         * html/canvas/Int8Array.h:
2737         * html/canvas/TypedArrayBase.h:
2738         * html/canvas/Uint16Array.h:
2739         * html/canvas/Uint32Array.h:
2740         * html/canvas/Uint8Array.h:
2741
2742 2011-11-07  Adam Barth  <abarth@webkit.org>
2743
2744         addMessage's last few arguments should be optional
2745         https://bugs.webkit.org/show_bug.cgi?id=70946
2746
2747         Reviewed by Darin Adler.
2748
2749         As requested by Darin Adler.  I wanted to call this method addMessage,
2750         but the compiler was unhappy locating the overload on
2751         ScriptExecutionContext when Document had an override too.  Changing the
2752         name to addConsoleMessage made all the code happier.
2753
2754         * dom/Document.cpp:
2755         (WebCore::Document::processHttpEquiv):
2756         * dom/ScriptExecutionContext.cpp:
2757         (WebCore::ScriptExecutionContext::addMessage):
2758         * dom/ScriptExecutionContext.h:
2759         * html/canvas/CanvasRenderingContext2D.cpp:
2760         (WebCore::CanvasRenderingContext2D::getImageData):
2761         * html/parser/XSSAuditor.cpp:
2762         (WebCore::XSSAuditor::filterToken):
2763         * loader/ImageLoader.cpp:
2764         (WebCore::ImageLoader::notifyFinished):
2765         * page/ContentSecurityPolicy.cpp:
2766         (WebCore::ContentSecurityPolicy::reportViolation):
2767         (WebCore::ContentSecurityPolicy::logUnrecognizedDirective):
2768         * page/EventSource.cpp:
2769         (WebCore::EventSource::didReceiveResponse):
2770         * webaudio/AudioBufferSourceNode.cpp:
2771         (WebCore::AudioBufferSourceNode::looping):
2772         (WebCore::AudioBufferSourceNode::setLooping):
2773         * webaudio/AudioContext.cpp:
2774         (WebCore::AudioContext::createLowPass2Filter):
2775         (WebCore::AudioContext::createHighPass2Filter):
2776         * xml/XMLHttpRequest.cpp:
2777         (WebCore::reportUnsafeUsage):
2778
2779 2011-11-07  Adam Barth  <abarth@webkit.org>
2780
2781         WebWorkers fail with document.domain set when accessing from subdomain
2782         https://bugs.webkit.org/show_bug.cgi?id=67978
2783
2784         Reviewed by Sam Weinig.
2785
2786         Workers should ignore document.domain when deciding which URLs a
2787         document can request, just like XMLHttpRequest and every other API.
2788
2789         Test: http/tests/workers/worker-document-domain-security.html
2790
2791         * workers/AbstractWorker.cpp:
2792         (WebCore::AbstractWorker::resolveURL):
2793
2794 2011-11-07  Scott Graham  <scottmg@chromium.org>
2795
2796         Allow gamepad API to be enabled at runtime
2797         https://bugs.webkit.org/show_bug.cgi?id=71736
2798
2799         Part of full patch, found at
2800         https://bugs.webkit.org/show_bug.cgi?id=69451
2801
2802         Reviewed by Adam Barth.
2803
2804         No new tests. No new functionality.
2805
2806         * bindings/generic/RuntimeEnabledFeatures.cpp:
2807         * bindings/generic/RuntimeEnabledFeatures.h:
2808         (WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
2809         (WebCore::RuntimeEnabledFeatures::gamepadsEnabled):
2810
2811 2011-11-07  Kentaro Hara  <haraken@chromium.org>
2812
2813         Remove [CustomGetter] IDL for window.Option of V8
2814         https://bugs.webkit.org/show_bug.cgi?id=71735
2815
2816         Reviewed by Nate Chapin.
2817
2818         Currently, window.Option uses a custom getter to get the template
2819         of 'HTMLOptionElementConstructor'. However, this getter does not need to
2820         be custom and can use a default getter
2821         'DOMWindowInternal::DOMWindowConstructorGetter'.
2822
2823         Tests: fast/js/custom-constructors.html
2824                fast/forms/option-index.html
2825                fast/forms/add-and-remove-option.html
2826                fast/dom/dom-add-optionelement.html
2827
2828         * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
2829         * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Option of V8. Renamed 'HTMLOptionElementConstructor' to 'HTMLOptionElementConstructorConstructor' in order to make window.Option use the template of (not 'HTMLOptionElement' but) 'HTMLOptionElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
2830
2831 2011-11-07  Mark Hahnenberg  <mhahnenberg@apple.com>
2832
2833         De-virtualize JSObject::putWithAttributes
2834         https://bugs.webkit.org/show_bug.cgi?id=71716
2835
2836         Reviewed by Darin Adler.
2837
2838         No new tests.
2839
2840         Added putWithAttributes to the MethodTable, changed all the virtual 
2841         implementations of putWithAttributes to static ones, and replaced 
2842         all call sites with corresponding lookups in the MethodTable.
2843
2844         * bindings/js/JSDOMWindowShell.cpp:
2845         (WebCore::JSDOMWindowShell::putWithAttributes):
2846         * bindings/js/JSDOMWindowShell.h:
2847
2848 2011-11-07  Beth Dakin  <bdakin@apple.com>
2849
2850         https://bugs.webkit.org/show_bug.cgi?id=71490
2851         Support uiStateTransitionProgress for scrollbars
2852         -and corresponding-
2853         <rdar://problem/9849612>
2854
2855         Reviewed by Sam Weinig.
2856
2857         Step 1 of supporting uiStateTransitionProgress is knowing when the mouse has 
2858         entered or exited a scrollbar. These changes to Scrollbar pass that information 
2859         on to the ScrollAnimator. Also, Scrollbar::mouseUp() now takes a 
2860         PlatformMouseEvent as a parameter. This is necessary because m_hoveredNode is not 
2861         always up to date on a mouseUp, so mouseUp must hitTest the scrollbar to see if 
2862         the mouse has exited the scrollbar.
2863         * platform/Scrollbar.cpp:
2864         (WebCore::Scrollbar::mouseMoved):
2865         (WebCore::Scrollbar::mouseExited):
2866         (WebCore::Scrollbar::mouseUp):
2867         * platform/Scrollbar.h:
2868
2869         These changes are required now that Scrollbar::mouseUp() takes a parameter.
2870         * WebCore.exp.in:
2871         * page/EventHandler.cpp:
2872         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2873         (WebCore::EventHandler::handleMouseReleaseEvent):
2874         * platform/chromium/PopupListBox.cpp:
2875         (WebCore::PopupListBox::handleMouseReleaseEvent):
2876         * platform/win/PopupMenuWin.cpp:
2877         (WebCore::PopupMenuWin::wndProc):
2878         
2879         ScrollAnimator passes the information on to AppKit.
2880         * platform/ScrollAnimator.h:
2881         (WebCore::ScrollAnimator::mouseEnteredScrollbar):
2882         (WebCore::ScrollAnimator::mouseExitedScrollbar):
2883         * platform/mac/ScrollAnimatorMac.h:
2884         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
2885         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
2886
2887         There are several new pieces of AppKit api we must call into.
2888         * platform/mac/NSScrollerImpDetails.h:
2889
2890         This is a temporary function that is needed for the time being since there is new 
2891         AppKit api required for this to work.
2892         * platform/mac/ScrollAnimatorMac.mm:
2893         (supportsUIStateTransitionProgress):
2894
2895         I refactored WebScrollbarPartAnimation so that it can handle the 
2896         uiStateTransitionProgress animation as well as the alpha animations it already 
2897         handled. This mostly involved re-naming things and making use of a new enum called 
2898         FeatureToAnimate which keeps track of what the instance of 
2899         WebScrollbarPartAnimation is animating.
2900         (-[WebScrollbarPartAnimation initWithScrollbarPainter:animate:scrollAnimator:animateFrom:animateTo:duration:]):
2901         (-[WebScrollbarPartAnimation setScrollbarPainter:]):
2902         (-[WebScrollbarPartAnimation setStartValue:]):
2903         (-[WebScrollbarPartAnimation setEndValue:]):
2904         (-[WebScrollbarPartAnimation setCurrentProgress:]):
2905
2906         WebScrollbarPainterDelegate has two new animations, 
2907         _verticalUIStateTransitionAnimation, and _horizontalUIStateTransitionAnimation. It 
2908         also responds to a few new delegate calls.
2909         (-[WebScrollbarPainterDelegate cancelAnimations]):
2910
2911         This is a new delegate call needed for uiStateTransitionProgress.
2912         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
2913
2914         I re-named setUpAnimation to setUpAlphaAnimation since it does a lot of things 
2915         that are specific to the alpha animation and I chose not to re-use it for 
2916         uiStateTransition.
2917         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
2918         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2919         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2920
2921         New delegate call for the uiStateTransition animation that sets up that animation 
2922         and kicks it off.
2923         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
2924         (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
2925
2926 2011-11-07  Alice Boxhall  <aboxhall@chromium.org>
2927
2928         Remove unnecessary use of function pointer in FrameSelection::modify()
2929         https://bugs.webkit.org/show_bug.cgi?id=71646
2930
2931         Reviewed by Ryosuke Niwa.
2932
2933         * editing/FrameSelection.cpp:
2934         (WebCore::FrameSelection::modify):
2935
2936 2011-11-07  Andreas Kling  <kling@webkit.org>
2937
2938         Unreviewed Windows build fix after r99468.
2939
2940         * css/CSSPrimitiveValue.h: Unmark single-argument constructors
2941         as explicit, since this conflicts with the template constructors
2942         in CSSPrimitiveValueMappings.h.
2943
2944 2011-11-07  Jer Noble  <jer.noble@apple.com>
2945
2946         Build fix due to a erroneous search-and-replace.
2947
2948         Unreviewed build fix.
2949
2950         Replace all instances of GenericClock with ClockGeneric.
2951
2952         * WebCore.xcodeproj/project.pbxproj:
2953         * platform/ClockGeneric.cpp:
2954         (ClockGeneric::ClockGeneric):
2955
2956 2011-11-07  Adam Barth  <abarth@webkit.org>
2957
2958         Move parseSandboxPolicy to SecurityContext
2959         https://bugs.webkit.org/show_bug.cgi?id=71732
2960
2961         Reviewed by Eric Seidel.
2962
2963         As requested by Eric, this patch resolves a layering inversion.  Now
2964         that we have SecurityContext to hold the sandbox bits and the origin,
2965         it's a logical place to put the parser for sandbox policies.
2966
2967         * dom/SecurityContext.cpp:
2968         (WebCore::SecurityContext::parseSandboxPolicy):
2969         * dom/SecurityContext.h:
2970         * html/HTMLIFrameElement.cpp:
2971         (WebCore::HTMLIFrameElement::parseMappedAttribute):
2972         * page/ContentSecurityPolicy.cpp:
2973         (WebCore::ContentSecurityPolicy::applySandboxPolicy):
2974         * page/SecurityOrigin.cpp:
2975         * page/SecurityOrigin.h:
2976
2977 2011-11-07  Jer Noble  <jer.noble@apple.com>
2978
2979         Rename PlatformClockPOSIX -> ClockGeneric, and use WTF::currentTime() for its timing source.
2980         https://bugs.webkit.org/show_bug.cgi?id=71702
2981
2982         Reviewed by Sam Weinig.
2983
2984         No new tests; covered by existing tests.
2985
2986         * platform/Clock.cpp:
2987         (Clock::create):
2988         * platform/ClockGeneric.cpp: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.cpp.
2989         (ClockGeneric::ClockGeneric):
2990         (ClockGeneric::setCurrentTime):
2991         (ClockGeneric::currentTime):
2992         (ClockGeneric::setPlayRate):
2993         (ClockGeneric::start):
2994         (ClockGeneric::stop):
2995         * platform/ClockGeneric.h: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.h.
2996         (WebCore::ClockGeneric::playRate):
2997         (WebCore::ClockGeneric::isRunning):
2998
2999         Boilerplate project file changes:
3000         * CMakeLists.txt:
3001         * Target.pri:
3002         * WebCore.gypi:
3003         * WebCore.xcodeproj/project.pbxproj:
3004
3005 2011-11-07  Vangelis Kokkevis  <vangelis@chromium.org>
3006
3007         Create a separate setting for compositing of for scrollable [i]frames
3008         that forceCompositingMode can be used without turning frames into composited layers.
3009         https://bugs.webkit.org/show_bug.cgi?id=71714
3010
3011         Reviewed by James Robinson.
3012
3013         * page/Settings.cpp:
3014         (WebCore::Settings::Settings):
3015         * page/Settings.h:
3016         (WebCore::Settings::setAcceleratedCompositingForScrollableFramesEnabled):
3017         (WebCore::Settings::acceleratedCompositingForScrollableFramesEnabled):
3018         * rendering/RenderLayerCompositor.cpp:
3019         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
3020         * testing/Internals.cpp:
3021         (WebCore::Internals::setEnableCompositingForScrollableFrames):
3022         * testing/Internals.h:
3023         * testing/Internals.idl:
3024
3025 2011-11-07  Rafael Weinstein  <rafaelw@chromium.org>
3026
3027         [MutationObservers] Fix mac build (with mutation_observers enabled)
3028         https://bugs.webkit.org/show_bug.cgi?id=71728
3029
3030         Reviewed by Tony Chang.
3031
3032         Errant forward declaration of MutationObserverRegistration removed from
3033         Node.h this would have broken a port that tried to build with mutation_observers=1.
3034
3035         * dom/Node.h:
3036
3037 2011-11-07  Kentaro Hara  <haraken@chromium.org>
3038
3039         Remove [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8
3040         https://bugs.webkit.org/show_bug.cgi?id=71660
3041
3042         Reviewed by Adam Barth.
3043
3044         Currently, "new Audio()" uses a custom getter to get the template
3045         of 'HTMLAudioElementConstructor'. However, this getter does not need to
3046         be custom and can use a default getter 'DOMWindowInternal::DOMWindowConstructorGetter'.
3047
3048         Tests: fast/js/custom-constructors.html
3049                media/audio-constructor.html
3050                media/audio-constructor-src.html
3051                media/audio-constructor-preload.html
3052                media/audio-controls-do-not-fade-out.html
3053                media/audio-controls-rendering.html
3054
3055         * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
3056         * page/DOMWindow.idl: Removed [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8. Renamed 'HTMLAudioElementConstructor' to 'HTMLAudioElementConstructorConstructor' in order to make 'new Audio()' use the template of (not 'HTMLAudioElement' but) 'HTMLAudioElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from an IDL type.
3057         * bindings/scripts/CodeGeneratorJS.pm:
3058         (GenerateImplementation): If an IDL type is 'XXXXConstructorConstructor', then we do not add a header file 'XXXXConstructor.h' to JSDOMWindow.cpp, because the NamedConstructor declaration is written in the header file of class XXXX 'XXXX.h'. Incidentally, the reason why CodeGeneratorV8.pm does not need a corresponding change is that V8 is still generating the NamedConstructor declaration in its dedicated header file 'XXXXConstructor.h'. This V8 issue will be fixed in the upcoming patch that implements [NamedConstructor] IDL in V8.
3059
3060 2011-11-07  Robert Sesek  <rsesek@chromium.org>
3061
3062         [chromium] Update WebCore.gyp to not use WebKitLibraries in include_dirs
3063         https://bugs.webkit.org/show_bug.cgi?id=71694
3064
3065         Reviewed by Adam Barth.
3066
3067         * WebCore.gyp/WebCore.gyp:
3068
3069 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
3070
3071         Remove initPopStateEvent method
3072         https://bugs.webkit.org/show_bug.cgi?id=71691
3073
3074         Reviewed by Ojan Vafai.
3075
3076         * dom/PopStateEvent.cpp:
3077         * dom/PopStateEvent.h:
3078         * dom/PopStateEvent.idl:
3079
3080 2011-11-07  Andreas Kling  <kling@webkit.org>
3081
3082         CSSValue: Devirtualize isFooType().
3083         <http://webkit.org/b/71668>
3084
3085         Reviewed by Darin Adler.
3086
3087         Add a member to CSSValue to determine which subclass a given
3088         value object is, along with 5 bits to tell us whether the
3089         value is primitive/mutable/initial/inherited/a list.
3090
3091         All non-private subclass constructors now take CSSValue::ClassType
3092         as their first argument. A few constructors were duplicated as
3093         private members to allow calling them from ::create() methods
3094         without passing an explicit ClassType.
3095
3096         Furthermore, since CSSValue::cssValueType() can be inferred from
3097         the subclass type, we compute it instead of storing it in a member.
3098
3099         * CMakeLists.txt:
3100         * GNUmakefile.list.am:
3101         * Target.pri:
3102         * WebCore.gypi:
3103         * WebCore.vcproj/WebCore.vcproj:
3104         * WebCore.xcodeproj/project.pbxproj:
3105
3106             Adding CSSValue.cpp.
3107
3108         * css/CSSValue.cpp: Added.
3109         (WebCore::CSSValue::cssValueType):
3110
3111             Out-of-line implementation of this method. Only used by CSSOM.
3112
3113         * css/CSSValue.h:
3114         (WebCore::CSSValue::isMutableValue):
3115         (WebCore::CSSValue::isPrimitiveValue):
3116         (WebCore::CSSValue::isValueList):
3117         (WebCore::CSSValue::isInitialValue):
3118         (WebCore::CSSValue::isInheritedValue):
3119         (WebCore::CSSValue::isBorderImageValue):
3120         (WebCore::CSSValue::isBorderImageSliceValue):
3121         (WebCore::CSSValue::isCursorImageValue):
3122         (WebCore::CSSValue::isFontFamilyValue):
3123         (WebCore::CSSValue::isFontFeatureValue):
3124         (WebCore::CSSValue::isFontValue):
3125         (WebCore::CSSValue::isImageGeneratorValue):
3126         (WebCore::CSSValue::isImageValue):
3127         (WebCore::CSSValue::isImplicitInitialValue):
3128         (WebCore::CSSValue::isReflectValue):
3129         (WebCore::CSSValue::isShadowValue):
3130         (WebCore::CSSValue::isTimingFunctionValue):
3131         (WebCore::CSSValue::isWebKitCSSTransformValue):
3132         (WebCore::CSSValue::isCSSLineBoxContainValue):
3133         (WebCore::CSSValue::isFlexValue):
3134         (WebCore::CSSValue::isWebKitCSSFilterValue):
3135         (WebCore::CSSValue::isSVGColor):
3136         (WebCore::CSSValue::isSVGPaint):
3137         (WebCore::CSSValue::classType):
3138         (WebCore::CSSValue::CSSValue):
3139         (WebCore::CSSValue::isPrimitiveType):
3140         (WebCore::CSSValue::isListType):
3141         (WebCore::CSSValue::isMutableType):
3142         (WebCore::CSSValue::isInheritedType):
3143         (WebCore::CSSValue::isInitialType):
3144
3145             Store subclass type information into a member variable and
3146             made all the isFooValue() functions non-virtual and inline.
3147             Some subclass type lookups (primitive values, notably) are
3148             cached in a bool member on construction.
3149
3150         * css/CSSAspectRatioValue.h:
3151         (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
3152         * css/CSSBorderImageSliceValue.cpp:
3153         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
3154         * css/CSSBorderImageSliceValue.h:
3155         * css/CSSBorderImageValue.cpp:
3156         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
3157         * css/CSSBorderImageValue.h:
3158         * css/CSSCanvasValue.h:
3159         (WebCore::CSSCanvasValue::CSSCanvasValue):
3160         * css/CSSCrossfadeValue.h:
3161         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
3162         * css/CSSCursorImageValue.cpp:
3163         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
3164         * css/CSSCursorImageValue.h:
3165         * css/CSSFlexValue.h:
3166         (WebCore::CSSFlexValue::CSSFlexValue):
3167         * css/CSSFontFaceSrcValue.h:
3168         (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
3169         * css/CSSFunctionValue.cpp:
3170         (WebCore::CSSFunctionValue::CSSFunctionValue):
3171         * css/CSSGradientValue.h:
3172         (WebCore::CSSGradientValue::isLinearGradient):
3173         (WebCore::CSSGradientValue::isRadialGradient):
3174         (WebCore::CSSGradientValue::CSSGradientValue):
3175         (WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
3176         (WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
3177         * css/CSSImageGeneratorValue.cpp:
3178         (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
3179         * css/CSSImageGeneratorValue.h:
3180         * css/CSSImageValue.cpp:
3181         (WebCore::CSSImageValue::CSSImageValue):
3182         * css/CSSImageValue.h:
3183         * css/CSSInheritedValue.h:
3184         (WebCore::CSSInheritedValue::CSSInheritedValue):
3185         * css/CSSInitialValue.h:
3186         (WebCore::CSSInitialValue::CSSInitialValue):
3187         (WebCore::CSSInitialValue::create):
3188         * css/CSSLineBoxContainValue.cpp:
3189         (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
3190         * css/CSSLineBoxContainValue.h:
3191         * css/CSSMutableValue.h:
3192         (WebCore::CSSMutableValue::CSSMutableValue):
3193         * css/CSSPrimitiveValue.cpp:
3194         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3195         * css/CSSPrimitiveValue.h:
3196         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3197         * css/CSSPrimitiveValueMappings.h:
3198         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3199         * css/CSSReflectValue.h:
3200         (WebCore::CSSReflectValue::CSSReflectValue):
3201         * css/CSSTimingFunctionValue.h:
3202         (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
3203         (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
3204         (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
3205         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
3206         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
3207         (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
3208         (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
3209         * css/CSSUnicodeRangeValue.h:
3210         (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
3211         * css/CSSValueList.cpp:
3212         (WebCore::CSSValueList::CSSValueList):
3213         * css/CSSValueList.h:
3214         * css/FontFamilyValue.cpp:
3215         (WebCore::FontFamilyValue::FontFamilyValue):
3216         * css/FontFamilyValue.h:
3217         * css/FontFeatureValue.cpp:
3218         (WebCore::FontFeatureValue::FontFeatureValue):
3219         * css/FontFeatureValue.h:
3220         * css/FontValue.h:
3221         (WebCore::FontValue::FontValue):
3222         * css/ShadowValue.cpp:
3223         (WebCore::ShadowValue::ShadowValue):
3224         * css/ShadowValue.h:
3225         * css/WebKitCSSFilterValue.cpp:
3226         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
3227         * css/WebKitCSSFilterValue.h:
3228         * css/WebKitCSSTransformValue.cpp:
3229         (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
3230         * css/WebKitCSSTransformValue.h:
3231         * svg/SVGColor.cpp:
3232         (WebCore::SVGColor::SVGColor):
3233         * svg/SVGColor.h:
3234         * svg/SVGPaint.cpp:
3235         (WebCore::SVGPaint::SVGPaint):
3236         * svg/SVGPaint.h:
3237
3238             Propagate subclass type information and kill isFooType() virtuals.
3239
3240 2011-11-07  Mihnea Ovidenie  <mihnea@adobe.com>
3241
3242         Leaks seen in RenderRegion::setRenderBoxRegionInfo on Leaks bot
3243         https://bugs.webkit.org/show_bug.cgi?id=71259
3244
3245         Reviewed by Darin Adler.
3246
3247         Leak fixes covered by existing tests.
3248
3249         * rendering/RenderFlowThread.cpp:
3250         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
3251         The RenderBoxRegionInfo taken out of RenderRegion must be deleted on all code paths.
3252         * rendering/RenderRegion.cpp:
3253         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
3254         The RenderBoxRegionInfo map owns the values, therefore, when values are removed from map
3255         they must also be deleted.
3256
3257 2011-11-07  Adam Barth  <abarth@webkit.org>
3258
3259         iframe sandbox treats vertical tab as a valid delimiter
3260         https://bugs.webkit.org/show_bug.cgi?id=71704
3261
3262         Reviewed by Eric Seidel.
3263
3264         This patch adjusts our parser slightly to match the HTML5 spec.  The
3265         only difference is in how we handle vertical tabs.  Previously, we
3266         treated them as a delimiter, but we're not supposed to do that.
3267
3268         Test: fast/frames/sandboxed-iframe-parsing-space-characters.html
3269
3270         * page/SecurityOrigin.cpp:
3271         (WebCore::SecurityOrigin::parseSandboxPolicy):
3272
3273 2011-11-07  Adam Barth  <abarth@webkit.org>
3274
3275         Factor SecurityContext out of ScriptExecutionContext
3276         https://bugs.webkit.org/show_bug.cgi?id=71721
3277
3278         Reviewed by Eric Seidel.
3279
3280         The new SecurityContext object lets us tightly scope control of
3281         the security-critical information in ScriptExecutionContext.
3282         Originally I had hoped to put all this state on SecurityOrigin, but
3283         SecurityOrigin gets shared between documents in some corner cases, so
3284         it's not a good fit for state like the sandbox flags and the CSP policy
3285         that really needs to be per-document.
3286
3287         * CMakeLists.txt:
3288         * GNUmakefile.list.am:
3289         * Target.pri:
3290         * WebCore.gypi:
3291         * WebCore.vcproj/WebCore.vcproj:
3292         * WebCore.xcodeproj/project.pbxproj:
3293         * dom/DOMAllInOne.cpp:
3294         * dom/ScriptExecutionContext.cpp:
3295         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3296         * dom/ScriptExecutionContext.h:
3297         * loader/FrameLoader.h:
3298         * loader/FrameLoaderTypes.h:
3299         * page/SecurityOrigin.h:
3300
3301 2011-11-07  Kentaro Hara  <haraken@chromium.org>
3302
3303         Refactor CodeGeneratorV8.pm before making a core change for bug 71093.
3304         https://bugs.webkit.org/show_bug.cgi?id=71659
3305
3306         Reviewed by Adam Barth.
3307
3308         Just refactor CodeGeneratorV8.pm without any change in behavior,
3309         as the first step for fixing bug 71093.
3310
3311         Tests: WebCore/bindings/scripts/test/TestObj.idl
3312                WebCore/bindings/scripts/test/TestInterface.idl
3313
3314         * bindings/scripts/CodeGeneratorV8.pm:
3315         (GenerateHeader): Sort generated headers in alphabetical order. Removed unnecessary variable names from method signatures. These changes are for silencing style check errors when a new TestXXXX.idl is added.
3316         (GenerateConstructorCallback): Renamed variables to clarify their roles.
3317         (WriteData): Removed an unused array @implHeaderContent.
3318         * bindings/scripts/test/V8/V8TestInterface.h: Updated a run-binding-tests result.
3319         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
3320         * bindings/scripts/test/V8/V8TestObj.h: Ditto.
3321         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
3322
3323 2011-11-07  Ken Buchanan <kenrb@chromium.org>
3324
3325         Crash due to mixed direction text runs
3326         https://bugs.webkit.org/show_bug.cgi?id=66015
3327
3328         Reviewed by David Hyatt.
3329
3330         Test for bug fix.
3331
3332         * fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html: Added
3333         * fast/text/international/bidi-neutral-in-mixed-direction-run-cras-expected.txt: Added
3334
3335 2011-11-07  Tim Horton  <timothy_horton@apple.com>
3336
3337         getBBox() on a SVGPathElement with curves incorrectly includes control points
3338         https://bugs.webkit.org/show_bug.cgi?id=53512
3339         <rdar://problem/9861154>
3340
3341         Reviewed by Oliver Hunt.
3342
3343         Split Path::boundingRect() into two, adding Path::fastBoundingRect()
3344         for a rough estimate of the bounding rect (always equal to or larger
3345         than boundingRect()). fastBoundingRect() currently falls back to
3346         boundingRect() for all ports besides CG, though in most cases
3347         (on a port-by-port basis) the current implementation of boundingRect()
3348         will need to become fastBoundingRect(), and a new, more accurate method will
3349         be implemented for boundingRect().
3350
3351         All previous callers of boundingRect() are transitioned to using fastBoundingRect()
3352         except SVGPathElement::getBBox, which wants an accurate bounding box.
3353
3354         The CoreGraphics implementation of Path::boundingRect() called
3355         CGPathGetBoundingBox, which includes the path's control points in its
3356         calculations. Snow Leopard added CGPathGetPathBoundingBox, which
3357         finds the bounding box of only points within the path, and does not
3358         include control points. On Snow Leopard and above, we now use the latter.
3359
3360         Test: svg/custom/getBBox-path.svg
3361
3362         * html/HTMLAreaElement.cpp:
3363         * html/canvas/CanvasRenderingContext2D.cpp:
3364         * platform/graphics/Path.cpp:
3365         * platform/graphics/Path.h:
3366         * platform/graphics/cg/GraphicsContextCG.cpp:
3367         * platform/graphics/cg/PathCG.cpp:
3368         (WebCore::Path::boundingRect):
3369         * rendering/RenderObject.h:
3370         * rendering/svg/RenderSVGPath.cpp:
3371         * svg/SVGPathElement.cpp:
3372         * svg/SVGPathElement.h:
3373
3374 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
3375
3376         Web Inspector: Suggest box should be open immediately if forced by Ctrl+Space.
3377         https://bugs.webkit.org/show_bug.cgi?id=71710
3378
3379         Reviewed by Pavel Feldman.
3380
3381         * inspector/front-end/TextPrompt.js:
3382         (WebInspector.TextPrompt.prototype.clearAutoComplete):
3383         (WebInspector.TextPrompt.prototype.autoCompleteSoon):
3384
3385 2011-11-07  vsevik@chromium.org  <vsevik@chromium.org>
3386
3387         Web Inspector: Suggest box should consume enter key pressed event.
3388         https://bugs.webkit.org/show_bug.cgi?id=71700
3389
3390         Reviewed by Pavel Feldman.
3391
3392         * inspector/front-end/ConsoleView.js:
3393         (WebInspector.ConsoleView):
3394         * inspector/front-end/TextPrompt.js:
3395         (WebInspector.TextPrompt.prototype._attachInternal):
3396         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
3397
3398 2011-11-07  David Barr  <davidbarr@chromium.org>
3399
3400         Optimize outline rendering to avoid transparency layers
3401         https://bugs.webkit.org/show_bug.cgi?id=60750
3402
3403         Add fast path for solid block outlines with alpha.
3404         Improve readability of piecewise path while at it.
3405
3406         Reviewed by Simon Fraser.
3407
3408         No intended change in behaviour, no new tests.
3409
3410         * rendering/RenderObject.cpp:
3411         (WebCore::RenderObject::paintOutline):
3412
3413 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
3414
3415         Web Inspector: Suggest box should not accept suggestion on space key pressed.
3416         https://bugs.webkit.org/show_bug.cgi?id=71706
3417
3418         Reviewed by Pavel Feldman.
3419
3420         * inspector/front-end/TextPrompt.js:
3421         (WebInspector.TextPrompt.prototype.onKeyDown):
3422         (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
3423
3424 2011-11-07  Andreas Kling  <kling@webkit.org>
3425
3426         Don't use CSSOM's CSSValue.cssValueType internally in WebCore.
3427         <http://webkit.org/b/71679>
3428
3429         Reviewed by Darin Adler.
3430
3431         Swap out cssValueType() usage for isPrimitiveValue(), isInitialValue()
3432         and isInheritedValue() to increase code clarity.
3433
3434         The plan is to turn cssValueType() into a computed value based on the
3435         CSSValue subclass (coming soon to <http://webkit.org/b/71668>.)
3436         This is a clean-up in preparation for that.
3437
3438         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3439         (WebCore::JSCSSStyleDeclaration::nameGetter):
3440         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3441         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
3442         * css/CSSInheritedValue.h:
3443         (WebCore::CSSInheritedValue::isInheritedValue):
3444         * css/CSSInitialValue.h:
3445         (WebCore::CSSInitialValue::isInitialValue):
3446         * css/CSSParser.cpp:
3447         (WebCore::CSSParser::parseColor):
3448         * css/CSSStyleSelector.cpp:
3449         (WebCore::CSSStyleSelector::applyDeclaration):
3450         (WebCore::CSSStyleSelector::applyProperty):
3451         (WebCore::CSSStyleSelector::mapFillAttachment):
3452         (WebCore::CSSStyleSelector::mapFillClip):
3453         (WebCore::CSSStyleSelector::mapFillComposite):
3454         (WebCore::CSSStyleSelector::mapFillOrigin):
3455         (WebCore::CSSStyleSelector::mapFillImage):
3456         (WebCore::CSSStyleSelector::mapFillRepeatX):
3457         (WebCore::CSSStyleSelector::mapFillRepeatY):
3458         (WebCore::CSSStyleSelector::mapFillSize):
3459         (WebCore::CSSStyleSelector::mapFillXPosition):
3460         (WebCore::CSSStyleSelector::mapFillYPosition):
3461         (WebCore::CSSStyleSelector::mapAnimationDelay):
3462         (WebCore::CSSStyleSelector::mapAnimationDirection):
3463         (WebCore::CSSStyleSelector::mapAnimationDuration):
3464         (WebCore::CSSStyleSelector::mapAnimationFillMode):
3465         (WebCore::CSSStyleSelector::mapAnimationIterationCount):
3466         (WebCore::CSSStyleSelector::mapAnimationName):
3467         (WebCore::CSSStyleSelector::mapAnimationPlayState):
3468         (WebCore::CSSStyleSelector::mapAnimationProperty):
3469         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
3470         * css/CSSValue.h:
3471         (WebCore::CSSValue::isInheritedValue):
3472         (WebCore::CSSValue::isInitialValue):
3473         *&n