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