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