c5c9ea22d844350d0a6e3ae2fdf4587534ed970e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-14  Anders Carlsson  <andersca@apple.com>
2
3         HostWindow invalidation functions should use root view coordinates
4         https://bugs.webkit.org/show_bug.cgi?id=72338
5
6         Reviewed by Dan Bernstein.
7
8         Rename invalidateWindow to invalidateRootView, and invalidateContentsAndWindow
9         to invalidateContentsAndRootView. Make sure that the rects passed to the renamed functions
10         are in root view coordinates by changing contentsToWindow calls to contentsToRootView.
11         
12         In practice this doesn't matter because for all platforms except Mac WebKit1, root view coordinates
13         and window coordinates are equivalent, and Mac WebKit1 doesn't use these invalidation functions.
14
15         * loader/EmptyClients.h:
16         * page/Chrome.cpp:
17         (WebCore::Chrome::invalidateRootView):
18         (WebCore::Chrome::invalidateContentsAndRootView):
19         * page/Chrome.h:
20         * page/ChromeClient.h:
21         * page/Frame.cpp:
22         (WebCore::Frame::tiledBackingStorePaintEnd):
23         * page/FrameView.cpp:
24         (WebCore::FrameView::invalidateRect):
25         (WebCore::FrameView::scrollContentsFastPath):
26         * platform/HostWindow.h:
27         * platform/ScrollView.cpp:
28         (WebCore::ScrollView::rectToCopyOnScroll):
29         (WebCore::ScrollView::scrollContents):
30         (WebCore::ScrollView::wheelEvent):
31         * platform/chromium/FramelessScrollView.cpp:
32         (WebCore::FramelessScrollView::invalidateRect):
33         * svg/graphics/SVGImage.cpp:
34         (WebCore::SVGImageChromeClient::invalidateContentsAndRootView):
35
36 2011-11-15  Philip Rogers  <pdr@google.com>
37
38         Implement maxWidth for fillText and strokeText, fixing the canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html test.
39         https://bugs.webkit.org/show_bug.cgi?id=61528
40
41         Reviewed by Stephen White.
42
43         Tests: fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
44                fast/canvas/2d.text.draw.fill.maxWidth.negative.html
45                fast/canvas/2d.text.draw.fill.maxWidth.veryLarge.html
46                fast/canvas/2d.text.draw.fill.maxWidth.verySmall.html
47
48         * html/canvas/CanvasRenderingContext2D.cpp:
49         (WebCore::CanvasRenderingContext2D::drawTextInternal):
50
51 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
52
53         [GTK] Implement download support in WebKit2
54         https://bugs.webkit.org/show_bug.cgi?id=72258
55
56         Reviewed by Martin Robinson.
57
58         Add common download errors to ErrorsGtk.
59
60         * platform/gtk/ErrorsGtk.cpp:
61         (WebCore::downloadNetworkError):
62         (WebCore::downloadCancelledByUserError):
63         (WebCore::downloadDestinationError):
64         * platform/gtk/ErrorsGtk.h:
65
66 2011-11-15  Cary Clark  <caryclark@google.com>
67
68         [chromium-mac] Enable vertical text using Skia
69         https://bugs.webkit.org/show_bug.cgi?id=72137
70
71         Use Skia to draw vertical text. This is much
72         faster and has higher fidelity than the old method
73         of drawing text on a path.
74
75         The graphics context passed to Skia has been
76         rotated 90 degrees but the character advances
77         have not, so it is necessary to unrotate the canvas,
78         and re-rotate the positions.
79
80         This generates correct output (or, at least,
81         consistent with Chromium CG on Mac) for all vertical
82         text tests, one of which is mentioned below.
83         
84         Reviewed by Stephen White.
85
86         Test: fast/writing-mode/text-orientation-basic.html
87
88         * platform/graphics/skia/FontSkia.cpp:
89         (WebCore::setupPaint):
90         (WebCore::Font::drawGlyphs):
91
92 2011-11-15  Philip Rogers  <pdr@google.com>
93
94         Fix SVG hit testing when padding is present
95         https://bugs.webkit.org/show_bug.cgi?id=37325
96
97         Reviewed by Nikolas Zimmermann.
98
99         Test: svg/hittest/svg-padding.xhtml
100
101         * rendering/svg/RenderSVGRoot.cpp:
102         (WebCore::RenderSVGRoot::nodeAtPoint):
103
104 2011-11-15  Pavel Feldman  <pfeldman@google.com>
105
106         Web Inspector: move generic code from DevTools.js into the WebCore.
107         https://bugs.webkit.org/show_bug.cgi?id=72377
108
109         re-landing r100269.
110
111         Reviewed by Yury Semikhatsky.
112
113         * English.lproj/localizedStrings.js:
114         * inspector/front-end/InspectorFrontendHostStub.js:
115         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
116         * inspector/front-end/ProfilesPanel.js:
117         * inspector/front-end/Resource.js:
118         * inspector/front-end/Settings.js:
119         * inspector/front-end/UIUtils.js:
120         (WebInspector.setToolbarColors):
121         (WebInspector.resetToolbarColors):
122         * inspector/front-end/inspector.js:
123
124 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
125
126         Unreviewed, rolling out r100269.
127         http://trac.webkit.org/changeset/100269
128         https://bugs.webkit.org/show_bug.cgi?id=72383
129
130         "Broke dozens of tests due to exception in loadingFinished"
131         (Requested by tonyg-cr on #webkit).
132
133         * English.lproj/localizedStrings.js:
134         * inspector/front-end/InspectorFrontendHostStub.js:
135         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
136         * inspector/front-end/ProfilesPanel.js:
137         * inspector/front-end/Resource.js:
138         * inspector/front-end/Settings.js:
139         * inspector/front-end/UIUtils.js:
140         * inspector/front-end/inspector.js:
141
142 2011-11-15  Alexander Pavlov  <apavlov@chromium.org>
143
144         font property does not show up as "shorthand" in inspector
145         https://bugs.webkit.org/show_bug.cgi?id=15598
146
147         Reviewed by Nikolas Zimmermann.
148
149         The "font" CSS property is turned into a real shorthand, as its longhands used to float around
150         in the resulting style declaration without any reference to their underlying "font" property.
151
152         Test: fast/css/font-shorthand.html
153
154         * css/CSSMutableStyleDeclaration.cpp:
155         (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Extracted the "font" value building into fontValue().
156         (WebCore::CSSMutableStyleDeclaration::appendFontLonghandValueIfExplicit): Added
157         (WebCore::CSSMutableStyleDeclaration::fontValue): Build the "font" value from longhands.
158         * css/CSSMutableStyleDeclaration.h:
159         * css/CSSParser.cpp:
160         (WebCore::CSSParser::addProperty): Added optional "implicit" parameter.
161         (WebCore::CSSParser::parseFont): Build respective longhands instead of the shorthand "font" property.
162         * css/CSSParser.h: Added optional "implicit" parameter to addProperty().
163         * css/CSSPropertyLonghand.cpp:
164         (WebCore::initShorthandMap): Added "font" shorthand map entry.
165         * css/CSSStyleSelector.cpp:
166         (WebCore::CSSStyleSelector::applyPropertyToStyle): Separated the property application from the instance setup.
167         (WebCore::CSSStyleSelector::applyPropertyToCurrentStyle): Added.
168         * css/CSSStyleSelector.h: Made updateFont() public.
169         * css/FontValue.cpp:
170         (WebCore::FontValue::customCssText): Made use of StringBuilder.
171         * html/canvas/CanvasRenderingContext2D.cpp:
172         (WebCore::CanvasRenderingContext2D::setFont): Apply "font" longhands rather than the (non-existent) "font" property.
173         * inspector/front-end/StylesSidebarPane.js:
174         (WebInspector.StylesSidebarPane.prototype._markUsedProperties): Removed a workaround for "font" not being a shorthand.
175         * page/animation/AnimationBase.cpp:
176         (WebCore::addShorthandProperties): Removed a workaround for "font" not being a shorthand.
177
178 2011-11-15  Pierre Rossi  <pierre.rossi@gmail.com>
179
180         [Qt] Clean up the remaining duplicate code after the RenderThemeQt refactoring.
181         https://bugs.webkit.org/show_bug.cgi?id=72262
182
183         Reviewed by Antonio Gomes.
184
185         No new tests needed, this is purely cosmetic.
186
187         * platform/qt/RenderThemeQStyle.cpp:
188         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
189         * platform/qt/RenderThemeQStyle.h:
190         * platform/qt/RenderThemeQt.cpp:
191         (WebCore::RenderThemeQt::adjustMenuListButtonStyle): remove the call to resetBorderRadius()
192         since the mobile theme actually didn't do this.
193         * platform/qt/RenderThemeQtMobile.cpp:
194         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
195
196 2011-11-15  Pavel Feldman  <pfeldman@google.com>
197
198         Web Inspector: move generic code from DevTools.js into the WebCore.
199         https://bugs.webkit.org/show_bug.cgi?id=72377
200
201         This includes support for themed toolbar, remote debugging routines,
202         removes a couple of obsolete overrides from the DevTools.js
203
204         Reviewed by Yury Semikhatsky.
205
206         * English.lproj/localizedStrings.js:
207         * inspector/front-end/InspectorFrontendHostStub.js:
208         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
209         * inspector/front-end/ProfilesPanel.js:
210         * inspector/front-end/Resource.js:
211         * inspector/front-end/Settings.js:
212         * inspector/front-end/UIUtils.js:
213         (WebInspector.setToolbarColors):
214         (WebInspector.resetToolbarColors):
215         * inspector/front-end/inspector.js:
216
217 2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
218
219         [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
220
221         Reviewed by Tor Arne Vestbø.
222
223         * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
224
225 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
226
227         Unreviewed, rolling out r100213.
228         http://trac.webkit.org/changeset/100213
229         https://bugs.webkit.org/show_bug.cgi?id=72371
230
231         "Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).
232
233         * page/SecurityOrigin.cpp:
234         (WebCore::SecurityOrigin::SecurityOrigin):
235         * platform/SchemeRegistry.cpp:
236         (WebCore::schemesWithUniqueOrigins):
237
238 2011-11-15  Alpha Lam  <hclam@chromium.org>
239
240         [chromium] scroll deltas are cleared during commit to the main thread
241         https://bugs.webkit.org/show_bug.cgi?id=71916
242
243         Reviewed by James Robinson.
244
245         Patch is covered by unit test.
246
247         Add a member m_sentScrollDelta to CCLayerImpl to keep track of the scroll delta being
248         sent to the main thread during commit. This gives a simpler approach to keep tracking of a
249         layer's scroll delta in impl thread.
250
251         * platform/graphics/chromium/LayerChromium.h:
252         (WebCore::LayerChromium::sentScrollDelta):
253         * platform/graphics/chromium/cc/CCLayerImpl.h:
254         (WebCore::CCLayerImpl::sentScrollDelta):
255         (WebCore::CCLayerImpl::setSentScrollDelta):
256         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
257         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
258         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
259
260 2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
261
262         [Qt] REGRESSION(100123): It made inspector tests crash
263         https://bugs.webkit.org/show_bug.cgi?id=72274
264
265         Reviewed by Tor Arne Vestbø.
266
267         * platform/qt/RenderThemeQStyle.h: Remove uninitialized and duplicated
268         m_page member that should really come from RenderThemeQt.
269
270 2011-11-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
271
272         Unreviewed. Fix build breaks when EFL port is built.
273
274         * CMakeLists.txt:
275         * UseJSC.cmake:
276
277 2011-11-15  Noel Gordon  <noel.gordon@gmail.com>
278
279         Make ImageFrame member getAddr() public
280         https://bugs.webkit.org/show_bug.cgi?id=72321
281
282         Reviewed by Adam Barth.
283
284         Make ImageFrame member getAddr() public to allow ImageFrame users access to the
285         underlying frame pixels if needed. Image decoders, for example, could with care
286         use this service to write decoded pixels direct to the ImageFrame pixel buffer,
287         avoiding intermeadiate data copies from temporary decoded pixel row buffers and
288         the decoding performance loss that that entails.
289
290         No new tests, refactoring only.
291
292         * platform/image-decoders/ImageDecoder.h:
293         (WebCore::ImageFrame::getAddr):
294
295 2011-11-14  Alexander Pavlov  <apavlov@chromium.org>
296
297         Web Inspector: [Crash] Crash when inspecting namespaced SVG styled via element names
298         https://bugs.webkit.org/show_bug.cgi?id=72261
299
300         Reviewed by Pavel Feldman.
301
302         Test: inspector/styles/svg-style.xhtml
303
304         * inspector/InspectorStyleSheet.cpp:
305         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
306
307 2011-11-15  Kent Tamura  <tkent@chromium.org>
308
309         [V8] Fix incorrect handling of JavaScript properties in DOMStringMap
310         https://bugs.webkit.org/show_bug.cgi?id=53578
311
312         Reviewed by Adam Barth.
313
314         Follows a JSC behavior change by r96893.
315
316         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
317         (WebCore::V8DOMStringMap::namedPropertyGetter):
318         Propagate to the JavaScript object if the DOMStringMap object
319         doesn't have the requested item.
320         (WebCore::V8DOMStringMap::namedPropertyDeleter): ditto.
321         (WebCore::V8DOMStringMap::namedPropertySetter):
322         Try to set a property to only a DOMStringMap object.
323
324 2011-11-14  Pavel Feldman  <pfeldman@google.com>
325
326         Web Inspector: Command line $x fails for 3 of 4 types of XPath query
327         https://bugs.webkit.org/show_bug.cgi?id=72276
328
329         Reviewed by Timothy Hatcher.
330
331         Test: inspector/console/console-xpath.html
332
333         * inspector/InjectedScriptSource.js:
334         (.):
335
336 2011-11-14  Ryosuke Niwa  <rniwa@webkit.org>
337
338         Fix the change log entry for r59190.
339
340         * ChangeLog-2010-05-24:
341
342 2011-11-14  Dmitry Lomov  <dslomov@google.com>
343         
344         [V8][Chromium]Serialize dense arrays densly
345         https://bugs.webkit.org/show_bug.cgi?id=72198
346         This patch ensures that:
347         - Dense arrays are serialized densly, and not as name-value pairs
348         - Sparse arrays are allocated as sparse on deserialization.
349         The criteria to choose whether to serialize densly or sparsely is the size
350         of a resulting serialized stream.
351
352         Reviewed by David Levin.
353
354         Test: fast/dom/Window/window-postmessage-arrays.html
355
356         * bindings/v8/SerializedScriptValue.cpp:
357         (WebCore::V8ObjectMap::Writer::writeDenseArray):
358         (WebCore::V8ObjectMap::Writer::writeGenerateFreshSparseArray):
359         (WebCore::V8ObjectMap::Writer::writeGenerateFreshDenseArray):
360         (WebCore::V8ObjectMap::Serializer::writeDenseArray):
361         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
362         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::serializeProperties):
363         (WebCore::V8ObjectMap::Serializer::ObjectState::advance):
364         (WebCore::V8ObjectMap::Serializer::DenseArrayState::DenseArrayState):
365         (WebCore::V8ObjectMap::Serializer::DenseArrayState::advance):
366         (WebCore::V8ObjectMap::Serializer::DenseArrayState::objectDone):
367         (WebCore::V8ObjectMap::Serializer::SparseArrayState::SparseArrayState):
368         (WebCore::V8ObjectMap::Serializer::SparseArrayState::advance):
369         (WebCore::V8ObjectMap::Serializer::serializeDensely):
370         (WebCore::V8ObjectMap::Serializer::startArrayState):
371         (WebCore::V8ObjectMap::Serializer::startObjectState):
372         (WebCore::V8ObjectMap::Serializer::doSerialize):
373         (WebCore::V8ObjectMap::Reader::read):
374         (WebCore::V8ObjectMap::Deserializer::newSparseArray):
375         (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
376         (WebCore::V8ObjectMap::Deserializer::completeDenseArray):
377
378 2011-11-14  Alexandre Elias  <aelias@google.com>
379
380         [chromium] Fix scaleDelta zoom-out visibility rect bug
381         https://bugs.webkit.org/show_bug.cgi?id=72208
382
383         Since the scroll is no longer applied at the top layer of the layer
384         tree, the scaleDelta transformation needs to be moved down to the
385         same level.
386
387         Also fix zoomAnimator to be applied the same way.  I removed zoom
388         animator layout tests, as they aren't testing the actual impl-side
389         codepath, and are hard to continue supporting -- we should cover zoom
390         features with unit tests in the future.
391
392         Reviewed by James Robinson.
393
394         No new tests (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
395
396         * platform/graphics/chromium/LayerChromium.h:
397         (WebCore::LayerChromium::scaleDelta):
398         * platform/graphics/chromium/LayerRendererChromium.cpp:
399         (WebCore::LayerRendererChromium::drawLayersInternal):
400         * platform/graphics/chromium/LayerRendererChromium.h:
401         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
402         (WebCore::CCLayerImpl::CCLayerImpl):
403         (WebCore::CCLayerImpl::setScaleDelta):
404         * platform/graphics/chromium/cc/CCLayerImpl.h:
405         (WebCore::CCLayerImpl::scaleDelta):
406         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
407         (WebCore::calculateDrawTransformsAndVisibilityInternal):
408         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
409         (WebCore::CCLayerTreeHostImpl::setScaleDelta):
410         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
411
412 2011-11-14  Chris Fleizach  <cfleizach@apple.com>
413
414         WebProcess crashes when trying to display your "uploaded videos" page on Facebook
415         https://bugs.webkit.org/show_bug.cgi?id=72334
416
417         Reviewed by Beth Dakin.
418
419         Protect against documents without frames.
420
421         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
422         (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
423
424 2011-11-14  Oliver Hunt  <oliver@apple.com>
425
426         More V8 build fixes.
427
428         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
429         (WebCore::setWebGLArrayHelper):
430
431 2011-11-14  Oliver Hunt  <oliver@apple.com>
432
433         Fix V8 build again.
434
435         * bindings/scripts/CodeGeneratorV8.pm:
436         * bindings/scripts/test/V8/V8Float64Array.cpp:
437         (WTF::Float64Array::neuterBinding):
438
439 2011-11-14  Oliver Hunt  <oliver@apple.com>
440
441         Fix V8 build.
442
443         * bindings/scripts/CodeGeneratorV8.pm:
444         * bindings/scripts/test/V8/V8Float64Array.cpp:
445         (WTF::Float64Array::neuterBinding):
446
447 2011-11-14  Oliver Hunt  <oliver@apple.com>
448
449         Start migrating typed array impl types to WTF
450         https://bugs.webkit.org/show_bug.cgi?id=72336
451
452         Reviewed by Geoffrey Garen.
453
454         Move typed arrays from WebCore namespace to WTF, and
455         start reducing dependencies on WebCore types.
456
457         * bindings/js/JSArrayBufferViewHelper.h:
458         (WebCore::setWebGLArrayHelper):
459         * bindings/scripts/CodeGeneratorJS.pm:
460         (IsTypedArrayType):
461         (AddClassForwardIfNeeded):
462         (GenerateImplementation):
463         * bindings/scripts/CodeGeneratorV8.pm:
464         (IsTypedArrayType):
465         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Added.
466         (WebDOMFloat64Array::WebDOMFloat64Array):
467         (WebDOMFloat64Array::impl):
468         (toWebCore):
469         (toWebKit):
470         * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Added.
471         (WebDOMFloat64Array::~WebDOMFloat64Array):
472         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp: Added.
473         (WebKit::kit):
474         (WebKit::core):
475         (webkit_dom_float64array_finalize):
476         (webkit_dom_float64array_set_property):
477         (webkit_dom_float64array_get_property):
478         (webkit_dom_float64array_constructed):
479         (webkit_dom_float64array_class_init):
480         (webkit_dom_float64array_init):
481         (WebKit::wrapFloat64Array):
482         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h: Added.
483         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h: Added.
484         * bindings/scripts/test/JS/JSFloat64Array.cpp: Added.
485         (WebCore::JSFloat64ArrayConstructor::JSFloat64ArrayConstructor):
486         (WebCore::JSFloat64ArrayConstructor::finishCreation):
487         (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
488         (WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
489         (WebCore::JSFloat64ArrayConstructor::getConstructData):
490         (WebCore::getJSFloat64ArrayPrototypeTable):
491         (WebCore::JSFloat64ArrayPrototype::self):
492         (WebCore::getJSFloat64ArrayTable):
493         (WebCore::JSFloat64Array::JSFloat64Array):
494         (WebCore::JSFloat64Array::finishCreation):
495         (WebCore::JSFloat64Array::createPrototype):
496         (WebCore::JSFloat64Array::getOwnPropertySlot):
497         (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
498         (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
499         (WebCore::jsFloat64ArrayConstructor):
500         (WebCore::JSFloat64Array::put):
501         (WebCore::JSFloat64Array::putByIndex):
502         (WebCore::JSFloat64Array::getOwnPropertyNames):
503         (WebCore::JSFloat64Array::getConstructor):
504         (WebCore::JSFloat64Array::getByIndex):
505         (WebCore::toFloat64Array):
506         (WTF::Float64Array::neuterBinding):
507         * bindings/scripts/test/JS/JSFloat64Array.h: Added.
508         (WebCore::JSFloat64Array::create):
509         (WebCore::JSFloat64Array::createStructure):
510         (WebCore::JSFloat64Array::impl):
511         (WebCore::JSFloat64ArrayPrototype::create):
512         (WebCore::JSFloat64ArrayPrototype::createStructure):
513         (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
514         (WebCore::JSFloat64ArrayConstructor::create):
515         (WebCore::JSFloat64ArrayConstructor::createStructure):
516         * bindings/scripts/test/ObjC/DOMFloat64Array.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
517         * bindings/scripts/test/ObjC/DOMFloat64Array.mm: Copied from Source/WebCore/html/canvas/Float32Array.cpp.
518         (core):
519         (kit):
520         * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
521         * bindings/scripts/test/TestTypedArray.idl: Copied from Source/WebCore/html/canvas/Float64Array.cpp.
522         * bindings/scripts/test/V8/V8Float64Array.cpp: Added.
523         (WebCore::Float64ArrayInternal::V8_USE):
524         (WebCore::ConfigureV8Float64ArrayTemplate):
525         (WebCore::V8Float64Array::GetRawTemplate):
526         (WebCore::V8Float64Array::GetTemplate):
527         (WebCore::V8Float64Array::HasInstance):
528         (WebCore::V8Float64Array::wrapSlow):
529         (WTF::Float64Array::neuterBinding):
530         (WebCore::V8Float64Array::derefObject):
531         * bindings/scripts/test/V8/V8Float64Array.h: Added.
532         (WebCore::V8Float64Array::toNative):
533         (WebCore::V8Float64Array::existingWrapper):
534         (WebCore::V8Float64Array::wrap):
535         (WebCore::toV8):
536         * fileapi/FileReader.h:
537         * fileapi/FileReaderLoader.h:
538         * fileapi/FileReaderSync.h:
539         * fileapi/WebKitBlobBuilder.h:
540         * html/HTMLMediaElement.h:
541         * html/canvas/ArrayBuffer.cpp:
542         * html/canvas/ArrayBuffer.h:
543         * html/canvas/ArrayBufferView.cpp:
544         (WTF::ArrayBufferView::setImpl):
545         (WTF::ArrayBufferView::setRangeImpl):
546         (WTF::ArrayBufferView::zeroRangeImpl):
547         (WTF::ArrayBufferView::neuter):
548         * html/canvas/ArrayBufferView.h:
549         * html/canvas/Float32Array.cpp:
550         * html/canvas/Float32Array.h:
551         (WTF::Float32Array::set):
552         * html/canvas/Float64Array.cpp:
553         * html/canvas/Float64Array.h:
554         (WTF::Float64Array::set):
555         * html/canvas/Int16Array.cpp:
556         * html/canvas/Int16Array.h:
557         (WTF::Int16Array::set):
558         * html/canvas/Int32Array.cpp:
559         * html/canvas/Int32Array.h:
560         (WTF::Int32Array::set):
561         * html/canvas/Int8Array.cpp:
562         * html/canvas/Int8Array.h:
563         (WTF::Int8Array::set):
564         * html/canvas/IntegralTypedArrayBase.h:
565         * html/canvas/TypedArrayBase.h:
566         (WTF::TypedArrayBase::set):
567         (WTF::TypedArrayBase::setRange):
568         (WTF::TypedArrayBase::zeroRange):
569         * html/canvas/Uint16Array.cpp:
570         * html/canvas/Uint16Array.h:
571         (WTF::Uint16Array::set):
572         * html/canvas/Uint32Array.cpp:
573         * html/canvas/Uint32Array.h:
574         (WTF::Uint32Array::set):
575         * html/canvas/Uint8Array.cpp:
576         * html/canvas/Uint8Array.h:
577         (WTF::Uint8Array::set):
578         * html/canvas/WebGLBuffer.h:
579         * page/Crypto.h:
580         * webaudio/AsyncAudioDecoder.h:
581         * webaudio/AudioBuffer.cpp:
582         (WebCore::AudioBuffer::AudioBuffer):
583         (WebCore::AudioBuffer::zero):
584         * webaudio/AudioContext.h:
585         * webaudio/JavaScriptAudioNode.h:
586         * webaudio/RealtimeAnalyser.h:
587         * webaudio/RealtimeAnalyserNode.h:
588         * webaudio/WaveShaperNode.h:
589         * websockets/ThreadableWebSocketChannel.h:
590         * websockets/WebSocket.h:
591         * websockets/WebSocketChannel.h:
592         * xml/XMLHttpRequest.h:
593
594 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
595
596         Add --css-grid-layout to build-webkit and the build systems
597         https://bugs.webkit.org/show_bug.cgi?id=72320
598
599         Reviewed by Ojan Vafai.
600
601         * Configurations/FeatureDefines.xcconfig:
602
603 2011-11-14  Daniel Bates  <dbates@rim.com>
604
605         Remove unnecessary #include SVGResourcesCache.h in SVGDocumentExtensions.h; use forward declaration
606         https://bugs.webkit.org/show_bug.cgi?id=72335
607
608         Reviewed by Eric Seidel.
609
610         It's sufficient to forward declare SVGResourcesCache in SVGDocumentExtensions.h and #include SVGResourcesCache.h
611         in SVGDocumentExtensions.cpp. This will reduce the number of files we need to re-compile after the file
612         SVGResourcesCache.h has been modified. Currently we #include SVGResourcesCache.h in SVGDocumentExtensions.h.
613
614         * rendering/svg/RenderSVGBlock.cpp: Include SVGResourcesCache.h.
615         * rendering/svg/RenderSVGContainer.cpp: Ditto.
616         * rendering/svg/RenderSVGForeignObject.cpp: Ditto.
617         * rendering/svg/RenderSVGImage.cpp: Ditto.
618         * rendering/svg/RenderSVGInline.cpp: Ditto.
619         * rendering/svg/RenderSVGModelObject.cpp: Ditto.
620         * rendering/svg/RenderSVGPath.cpp: Ditto.
621         * rendering/svg/RenderSVGResource.cpp: Ditto.
622         * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
623         * rendering/svg/RenderSVGResourceContainer.cpp: Ditto.
624         * rendering/svg/RenderSVGRoot.cpp: Ditto.
625         * rendering/svg/RenderSVGText.cpp: Ditto.
626         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
627         * rendering/svg/SVGRenderSupport.cpp: Ditto.
628         * svg/SVGDocumentExtensions.cpp: Ditto.
629         * svg/SVGDocumentExtensions.h: Forward declare SVGResourcesCache.
630
631 2011-11-14  Rafael Weinstein  <rafaelw@chromium.org>
632
633         [MutationObservers] Add histogram collection for usage of DOM Mutation Events
634         https://bugs.webkit.org/show_bug.cgi?id=72316
635
636         Reviewed by Ryosuke Niwa.
637
638         This patch adds six calls in ~Document() which simply pipe-out to the embedder
639         the (already-collected) bits of whether varous DOM Mutation Events were registered
640         on the document.
641
642         No tests needed. No functional changes.
643
644         * dom/Document.cpp:
645         (WebCore::histogramMutationEventUsage):
646         (WebCore::Document::~Document):
647
648 2011-11-14  Simon Fraser  <simon.fraser@apple.com>
649
650         div with webkit-transform + webkit-box-reflect disappears when switching tabs
651         https://bugs.webkit.org/show_bug.cgi?id=53355
652
653         Reviewed by Dean Jackson.
654
655         Tickle Core Animation into updating the layer's content property when
656         switching back to a tab which has composited reflections. This hack is
657         needed becuase reflections involve sharing layer contents between layers.
658
659         * platform/graphics/mac/WebLayer.mm:
660         (-[WebLayer actionForKey:]):
661
662 2011-11-14  Adam Barth  <abarth@webkit.org>
663
664         Unique origins shouldn't remember their scheme, host, or port
665         https://bugs.webkit.org/show_bug.cgi?id=72308
666
667         Reviewed by Eric Seidel.
668
669         This patch contains the bulk (all?) of the behavior differences in this
670         patch series.  Unique origins shouldn't remember their schemes.  Doing
671         so causes some privileges (e.g., local access) to leak into unique
672         origins.
673
674         * page/SecurityOrigin.cpp:
675         (WebCore::SecurityOrigin::SecurityOrigin):
676             - Explicitly clear out the protocol, host, and port for unique
677               origins.  A future patch will refactor all this code to be more
678               elegant.
679         * platform/SchemeRegistry.cpp:
680         (WebCore::schemesWithUniqueOrigins):
681             - Merge "about" and "javascript" in with the general case now that
682               we don't have a separate notion of an empty origin.
683
684 2011-11-14  Adam Barth  <abarth@webkit.org>
685
686         Don't special-case "data" URLs in drag-and-drop logic
687         https://bugs.webkit.org/show_bug.cgi?id=72322
688
689         Reviewed by Eric Seidel.
690
691         See the bug for more details.
692
693         Test: editing/pasteboard/drag-drop-to-data-url.html
694
695         * page/SecurityOrigin.cpp:
696         (WebCore::SecurityOrigin::canReceiveDragData):
697
698 2011-11-14  Adrienne Walker  <enne@google.com>
699
700         [chromium] Pipe compositor commit/swap up to WebWidgetClient
701         https://bugs.webkit.org/show_bug.cgi?id=72041
702
703         Reviewed by Darin Fisher.
704
705         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
706         (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
707         (WebCore::CCLayerTreeHost::didCompleteSwapBuffers):
708         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
709         (WebCore::CCSingleThreadProxy::doComposite):
710         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
711         (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
712         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
713         (WebCore::CCThreadProxy::didCommitAndDrawFrame):
714         (WebCore::CCThreadProxy::didCompleteSwapBuffers):
715         * platform/graphics/chromium/cc/CCThreadProxy.h:
716
717 2011-11-14  Tony Chang  <tony@chromium.org>
718
719         Remove the CSS3_FLEXBOX compile time flag and enable on all ports
720         https://bugs.webkit.org/show_bug.cgi?id=72196
721
722         Reviewed by Ojan Vafai.
723
724         * Configurations/FeatureDefines.xcconfig:
725         * css/CSSComputedStyleDeclaration.cpp:
726         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
727         * css/CSSFlexValue.cpp:
728         * css/CSSFlexValue.h:
729         * css/CSSParser.cpp:
730         (WebCore::CSSParser::parseValue):
731         (WebCore::CSSParser::parseFlex):
732         * css/CSSPrimitiveValueMappings.h:
733         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
734         * css/CSSProperty.cpp:
735         (WebCore::CSSProperty::isInheritedProperty):
736         * css/CSSPropertyNames.in:
737         * css/CSSStyleApplyProperty.cpp:
738         (WebCore::ApplyPropertyLength::applyValue):
739         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
740         * css/CSSStyleSelector.cpp:
741         (WebCore::CSSStyleSelector::applyProperty):
742         * css/CSSValue.cpp:
743         (WebCore::CSSValue::cssText):
744         (WebCore::CSSValue::destroy):
745         * css/CSSValue.h:
746         * css/CSSValueKeywords.in:
747         * rendering/RenderFlexibleBox.cpp:
748         * rendering/RenderFlexibleBox.h:
749         * rendering/RenderObject.cpp:
750         (WebCore::RenderObject::createObject):
751         * rendering/RenderObject.h:
752         (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated):
753         * rendering/style/RenderStyle.cpp:
754         (WebCore::RenderStyle::RenderStyle):
755         (WebCore::RenderStyle::diff):
756         * rendering/style/RenderStyle.h:
757         * rendering/style/RenderStyleConstants.h:
758         * rendering/style/StyleFlexibleBoxData.cpp:
759         * rendering/style/StyleFlexibleBoxData.h:
760         * rendering/style/StyleRareNonInheritedData.cpp:
761         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
762         (WebCore::StyleRareNonInheritedData::operator==):
763         * rendering/style/StyleRareNonInheritedData.h:
764
765 2011-11-14  Vincent Scheib  <scheib@chromium.org>
766
767         Mouse Lock: Renaming to 'Pointer Lock': Runtime Enable Flags
768         https://bugs.webkit.org/show_bug.cgi?id=72303
769
770         Reviewed by Darin Fisher.
771
772         * bindings/generic/RuntimeEnabledFeatures.cpp:
773         * bindings/generic/RuntimeEnabledFeatures.h:
774         (WebCore::RuntimeEnabledFeatures::webkitPointerLockEnabled):
775         (WebCore::RuntimeEnabledFeatures::setWebkitPointerLockEnabled):
776         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
777         * page/Settings.cpp:
778         (WebCore::Settings::Settings):
779         * page/Settings.h:
780         (WebCore::Settings::setPointerLockEnabled):
781         (WebCore::Settings::PointerLockEnabled):
782
783 2011-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
784
785         Unreviewed, rolling out r100176.
786         http://trac.webkit.org/changeset/100176
787         https://bugs.webkit.org/show_bug.cgi?id=72309
788
789         it broke the Mac builds (missing symbols) in a non-obvious way
790         (Requested by jchaffraix on #webkit).
791
792         * CMakeLists.txt:
793         * GNUmakefile.list.am:
794         * Target.pri:
795         * WebCore.gypi:
796         * bindings/js/JSWebGLRenderingContextCustom.cpp:
797         (WebCore::toJS):
798         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
799         (WebCore::toV8Object):
800         * html/canvas/WebGLExperimentalCompressedTextures.cpp: Removed.
801         * html/canvas/WebGLExperimentalCompressedTextures.h: Removed.
802         * html/canvas/WebGLExperimentalCompressedTextures.idl: Removed.
803         * html/canvas/WebGLExtension.h:
804         * html/canvas/WebGLRenderingContext.cpp:
805         (WebCore::WebGLRenderingContext::getExtension):
806         (WebCore::WebGLRenderingContext::getParameter):
807         (WebCore::WebGLRenderingContext::getSupportedExtensions):
808         * html/canvas/WebGLRenderingContext.h:
809         * platform/graphics/Extensions3D.h:
810         * platform/graphics/GraphicsContext3D.h:
811         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
812         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
813         * platform/graphics/qt/GraphicsContext3DQt.cpp:
814
815 2011-11-14  Tony Chang  <tony@chromium.org>
816
817         remove -wap-marquee css propery value
818         https://bugs.webkit.org/show_bug.cgi?id=72296
819
820         Reviewed by Adam Barth.
821
822         This css value is no longer used.
823
824         * css/CSSValueKeywords.in:
825
826 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
827
828         Crash in RenderTableSection::splitColumn
829         https://bugs.webkit.org/show_bug.cgi?id=70171
830
831         Reviewed by David Hyatt.
832
833         Tests: fast/table/crash-splitColumn-2.html
834                fast/table/crash-splitColumn-3.html
835                fast/table/crash-splitColumn.html
836
837         The old code would not take into account the fact that each RenderTableSection
838         can set its m_needsCellRecalc flag independently of the rest.
839
840         This means that you cannot assume that you can always split or append columns to
841         all the sections. Our approach is to skip sections needing cell recalc in several
842         parts of the code as they will be properly reset to the table's representations
843         during a cell recalc.
844
845         * rendering/RenderTable.cpp:
846         (WebCore::RenderTable::splitColumn):
847         (WebCore::RenderTable::appendColumn):
848         Skip sections needing cell recalc as they will be properly updated later.
849
850         * rendering/RenderTableSection.cpp:
851         (WebCore::RenderTableSection::addCell):
852         Ignore a section needing cell recalc as addCell will be called after sync'ing
853         the internal column representation in recalcCells.
854
855         (WebCore::RenderTableSection::recalcCells):
856         Clear the flag at the beginning of the function to activate the previous functions.
857         Added a comment as to why this is fine.
858
859         (WebCore::RenderTableSection::appendColumn):
860         Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
861         of recalcCells().
862
863 2011-11-14  Adam Barth  <abarth@webkit.org>
864
865         Remove the concept of an empty SecurityOrigin
866         https://bugs.webkit.org/show_bug.cgi?id=72287
867
868         Reviewed by Eric Seidel.
869
870         This concept is fragile and doesn't exist in the specs.  Previous
871         patches have removed most of the code relying upon this function.  This
872         patch removes a couple stragglers.
873
874         * page/DOMWindow.cpp:
875         (WebCore::DOMWindow::postMessage):
876             - This check should really be about unique origins because it
877               doesn't make sense to target postMessages at unique origins, as
878               explained in the comment.
879         * page/SecurityOrigin.cpp:
880         * page/SecurityOrigin.h:
881
882 2011-11-14  Adam Barth  <abarth@webkit.org>
883
884         SecurityContext::isSecureTransitionTo should not refer to empty security origins
885         https://bugs.webkit.org/show_bug.cgi?id=72277
886
887         Reviewed by Eric Seidel.
888
889         Now that we're tracking the "failed to initialized SecurityOrigin"
890         state explicitly, we should use that to determine whether we can make a
891         secure transition.
892
893         * dom/SecurityContext.cpp:
894         (WebCore::SecurityContext::isSecureTransitionTo):
895
896 2011-11-14  Vincent Scheib  <scheib@chromium.org>
897
898         Mouse Lock: Renaming to 'Pointer Lock': ENABLE Flags
899         https://bugs.webkit.org/show_bug.cgi?id=72286
900
901         Reviewed by Adam Barth.
902
903         * bindings/generic/RuntimeEnabledFeatures.cpp:
904         * bindings/generic/RuntimeEnabledFeatures.h:
905         * dom/MouseEvent.idl:
906         * dom/MouseRelatedEvent.h:
907         * page/MouseLockable.cpp:
908         * page/MouseLockable.h:
909         * page/MouseLockable.idl:
910         * page/Navigator.cpp:
911         * page/Navigator.h:
912         * page/Navigator.idl:
913         * page/Settings.cpp:
914         (WebCore::Settings::Settings):
915         * page/Settings.h:
916
917 2011-11-14  Anna Cavender  <annacc@chromium.org>
918
919         Remove TextTrackCueIndex and TextTrackCueSet.  No longer needed.
920         https://bugs.webkit.org/show_bug.cgi?id=72216
921
922         Reviewed by Sam Weinig.
923
924         No new tests. No new functionality.
925
926         * CMakeLists.txt:
927         * GNUmakefile.list.am:
928         * Target.pri:
929         * WebCore.gypi:
930         * WebCore.xcodeproj/project.pbxproj:
931         * html/TextTrackCueIndex.cpp: Removed.
932         * html/TextTrackCueIndex.h: Removed.
933
934 2011-10-10  Robert Hogan  <robert@webkit.org>
935
936         CSS 2.1 failure: border-spacing-applies-to-015.htm
937         https://bugs.webkit.org/show_bug.cgi?id=69773
938
939         Reviewed by David Hyatt.
940
941         The CSS test suite expects UAs to allow multiple captions per table.
942         Replace m_caption with a Vector called m_captions.
943
944         * rendering/RenderTable.cpp:
945         (WebCore::RenderTable::RenderTable):
946         (WebCore::RenderTable::addChild):
947         (WebCore::RenderTable::removeChild):
948         (WebCore::RenderTable::adjustLogicalHeightForCaption):
949         (WebCore::RenderTable::layout):
950         (WebCore::RenderTable::addOverflowFromChildren):
951         (WebCore::RenderTable::paintObject):
952         (WebCore::RenderTable::subtractCaptionRect):
953         (WebCore::RenderTable::computePreferredLogicalWidths):
954         (WebCore::RenderTable::nextColElement):
955         (WebCore::RenderTable::colElement):
956         (WebCore::RenderTable::recalcCaption):
957         (WebCore::RenderTable::recalcSections):
958         (WebCore::RenderTable::overflowClipRect):
959         (WebCore::RenderTable::nodeAtPoint):
960         * rendering/RenderTable.h:
961
962 2011-11-14  Gregg Tavares  <gman@google.com>
963
964         Implement WEBGL_EXPERIMENTAL_compressed_textures WebGL extension
965         https://bugs.webkit.org/show_bug.cgi?id=72086
966
967         Reviewed by Kenneth Russell.
968
969         No new tests. Will write final test once on hardware.
970
971         * CMakeLists.txt:
972         * GNUmakefile.list.am:
973         * WebCore.gypi:
974         * WebCore.pro:
975         * bindings/js/JSWebGLRenderingContextCustom.cpp:
976         (WebCore::toJS):
977         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
978         (WebCore::toV8Object):
979         * html/canvas/WebGLExperimentalCompressedTextures.cpp: Added.
980         (WebCore::WebGLExperimentalCompressedTextures::WebGLExperimentalCompressedTextures):
981         (WebCore::WebGLExperimentalCompressedTextures::~WebGLExperimentalCompressedTextures):
982         (WebCore::WebGLExperimentalCompressedTextures::getName):
983         (WebCore::WebGLExperimentalCompressedTextures::create):
984         (WebCore::WebGLExperimentalCompressedTextures::supported):
985         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFormat):
986         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFuncData):
987         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexSubDimensions):
988         (WebCore::WebGLExperimentalCompressedTextures::compressedTexImage2D):
989         (WebCore::WebGLExperimentalCompressedTextures::compressedTexSubImage2D):
990         (WebCore::WebGLExperimentalCompressedTextures::getCompressedTextureFormats):
991         * html/canvas/WebGLExperimentalCompressedTextures.h: Added.
992         * html/canvas/WebGLExperimentalCompressedTextures.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
993         * html/canvas/WebGLExtension.h:
994         * html/canvas/WebGLRenderingContext.cpp:
995         (WebCore::WebGLRenderingContext::getExtension):
996         (WebCore::WebGLRenderingContext::getParameter):
997         (WebCore::WebGLRenderingContext::getSupportedExtensions):
998         * html/canvas/WebGLRenderingContext.h:
999         * platform/graphics/Extensions3D.h:
1000         * platform/graphics/GraphicsContext3D.h:
1001         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1002         (WebCore::GraphicsContext3D::compressedTexImage2D):
1003         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1004         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1005         (WebCore::GraphicsContext3D::compressedTexImage2D):
1006         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1007         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1008         (WebCore::GraphicsContext3D::compressedTexImage2D):
1009         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
1010
1011 2011-11-14  Michael Nordman  <michaeln@google.com>
1012
1013         Return more complete error and exception messages when a
1014         WebSQLDatabase function fails. Produce console logging
1015         for openDatabase() errors and vacuum errors. Add a lastErrorMessage
1016         accessor to the DatabaseSync interface.
1017         https://bugs.webkit.org/show_bug.cgi?id=71575
1018
1019         Reviewed by David Levin.
1020
1021         Yes, see LayoutTests/ChangeLog in this patch.
1022
1023         * platform/sql/SQLiteDatabase.cpp:
1024         (WebCore::SQLiteDatabase::SQLiteDatabase):
1025         (WebCore::SQLiteDatabase::open):
1026         (WebCore::SQLiteDatabase::close):
1027         (WebCore::SQLiteDatabase::lastError):
1028         (WebCore::SQLiteDatabase::lastErrorMsg):
1029         (WebCore::SQLiteDatabase:: runVacuumCommand):
1030         (WebCore::SQLiteDatabase:: runIncrementalVacuumCommand):
1031         Reflect errors in the open() method in lastError() and lastErrorMsg().
1032         Return an error codes for runVacuumCommand() and runIncrementalVacuumCommand().
1033
1034         * platform/sql/SQLiteDatabase.h:
1035         * storage/AbstractDatabase.cpp:
1036         (WebCore::formatErrorMessage):
1037         (WebCore::AbstractDatabase::performOpenAndVerify):
1038         (WebCore::AbstractDatabase::logErrorMessage):
1039         During openAndVerify, produce formatted error messages that include what was being done, the sqlite error code,
1040         and the sqlite error message. Add a helper to log message to the console.
1041
1042         * storage/AbstractDatabase.h:
1043         * storage/ChangeVersionWrapper.cpp:
1044         (WebCore::ChangeVersionWrapper::performPreflight):
1045         (WebCore::ChangeVersionWrapper::performPostflight):
1046         * storage/Database.cpp:
1047         (WebCore::Database::openDatabase):
1048         (WebCore::Database::openAndVerifyVersion):
1049         (WebCore::Database::performOpenAndVerify):
1050         * storage/Database.h:
1051         * storage/DatabaseSync.cpp:
1052         (WebCore::DatabaseSync::openDatabaseSync):
1053         (WebCore::DatabaseSync::changeVersion):
1054         (WebCore::DatabaseSync::runTransaction):
1055         * storage/DatabaseSync.h:
1056         (WebCore::DatabaseSync::lastErrorMessage):
1057         (WebCore::DatabaseSync::setLastErrorMessage):
1058         * storage/DatabaseSync.idl:
1059         Add a lastErrorMessage attribute so javascript callers can
1060         retrieve more detailed information about what went wrong.
1061
1062         * storage/DatabaseTask.cpp:
1063         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
1064         (WebCore::Database::DatabaseOpenTask::doPerformTask):
1065         * storage/DatabaseTask.h:
1066         (WebCore::Database::DatabaseOpenTask::create):
1067         Return an errorMessage in addition to the exception code.
1068
1069         * storage/SQLError.h:
1070         (WebCore::SQLError::create):
1071         Add helpers to produced formatted error messages.
1072
1073         * storage/SQLStatement.cpp:
1074         (WebCore::SQLStatement::execute):
1075         * storage/SQLStatementSync.cpp:
1076         (WebCore::SQLStatementSync::execute):
1077         * storage/SQLTransaction.cpp:
1078         (WebCore::SQLTransaction::openTransactionAndPreflight):
1079         (WebCore::SQLTransaction::postflightAndCommit):
1080         * storage/SQLTransactionSync.cpp:
1081         (WebCore::SQLTransactionSync::executeSQL):
1082         (WebCore::SQLTransactionSync::begin):
1083         (WebCore::SQLTransactionSync::execute):
1084         (WebCore::SQLTransactionSync::commit):
1085
1086 2011-11-14  Adam Barth  <abarth@webkit.org>
1087
1088         SecurityOrigin inheritance should depend on document URL, not on "emptiness" of the SecurityOrigin
1089         https://bugs.webkit.org/show_bug.cgi?id=72283
1090
1091         Reviewed by Sam Weinig.
1092
1093         This change aligns our implementation more closely with the spec.  I
1094         don't think this change has an observable effects, but it moves us
1095         closer to removing the concept of an empty security origin.
1096
1097         * dom/Document.cpp:
1098         (WebCore::shouldInheritSecurityOriginFromOwner):
1099         (WebCore::Document::initSecurityContext):
1100
1101 2011-11-14  Erik Arvidsson  <arv@chromium.org>
1102
1103         Remove getParameter from HTMLAnchorElement and Location
1104         https://bugs.webkit.org/show_bug.cgi?id=71966
1105
1106         Reviewed by Adam Barth.
1107
1108         * html/HTMLAnchorElement.cpp: Removed getParameter.
1109         * html/HTMLAnchorElement.h: Ditto.
1110         * html/HTMLAnchorElement.idl: Ditto.
1111         * page/Location.cpp: Ditto.
1112         * page/Location.h: Ditto.
1113         * page/Location.idl: Ditto.
1114
1115 2011-11-14  Erik Arvidsson  <arv@chromium.org>
1116
1117         Remove RequiresAllArguments
1118         https://bugs.webkit.org/show_bug.cgi?id=71503
1119
1120         Reviewed by Adam Barth.
1121
1122         This removes RequiresAllArguments from the idl files as well as from the code generators.
1123         For window.move/resize/scroll we now match IE and treat missing arguments as 0.
1124         For Clipboard we now match Gecko and IE and throw an exception when setData is called with too few arguments.
1125
1126         Test: fast/events/drag-and-drop-set-drag-data-arguments.html
1127
1128         * bindings/js/JSSVGLengthCustom.cpp:
1129         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1130         * bindings/scripts/CodeGeneratorJS.pm:
1131         (GenerateArgumentsCountCheck): Remove RequiresAllArguments.
1132         * bindings/scripts/CodeGeneratorV8.pm:
1133         (GenerateArgumentsCountCheck): Ditto.
1134         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1135         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1136         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1137         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1138         * bindings/scripts/test/JS/JSTestObj.cpp:
1139         * bindings/scripts/test/JS/JSTestObj.h:
1140         * bindings/scripts/test/ObjC/DOMTestObj.h:
1141         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1142         * bindings/scripts/test/TestObj.idl:
1143         * bindings/scripts/test/V8/V8TestObj.cpp:
1144         (WebCore::ConfigureV8TestObjTemplate):
1145         * dom/Clipboard.idl: Remove [RequireAllArguments] from setData which actually means we now require all arguments and throw instead of silently fail.
1146         * page/DOMWindow.idl: Treat missing arguments as 0 which makes us match IE.
1147         * websockets/WebSocket.idl: Comment changes only.
1148
1149 2011-11-08  Jer Noble  <jer.noble@apple.com>
1150
1151         Implement MediaController.
1152         https://bugs.webkit.org/show_bug.cgi?id=71408
1153
1154         Reviewed by Eric Carlson.
1155
1156         Tests: media/media-controller-playback.html
1157                media/media-controller.html
1158
1159         Adds support for the MediaController DOM object, and the mediagroup and mediacontroller
1160         HTMLMediaElement attributes.
1161
1162         MediaController is an DOM object which synchronizes playback of multiple HTMLMediaElements. It can
1163         either be created by a page script and assigned to a HTMLMediaElement using the controller property,
1164         or all HTMLMediaElements with identical mediagroup attributes will have a MediaController assigned 
1165         automatically.
1166
1167         Add an abstract interface implemented by both MediaController and HTMLMediaElement.
1168         * html/MediaControllerInterface.h: Added.
1169         (WebCore::MediaControllerInterface::~MediaControllerInterface):
1170
1171         Add the MediaController object and IDL.
1172         * html/MediaController.cpp: Added.
1173         (mediaGroupToMediaControllerMap):
1174         (MediaController::mediaControllerForMediaGroup):
1175         (MediaController::create):
1176         (MediaController::MediaController):
1177         (MediaController::~MediaController):
1178         (MediaController::addMediaElement):
1179         (MediaController::removeMediaElement):
1180         (MediaController::containsMediaElement):
1181         (MediaController::buffered):
1182         (MediaController::seekable):
1183         (MediaController::played):
1184         (MediaController::duration):
1185         (MediaController::currentTime):
1186         (MediaController::setCurrentTime):
1187         (MediaController::play):
1188         (MediaController::pause):
1189         (MediaController::setDefaultPlaybackRate):
1190         (MediaController::setPlaybackRate):
1191         (MediaController::setVolume):
1192         (MediaController::setMuted):
1193         (MediaController::reportControllerState):
1194         (MediaController::updateReadyState):
1195         (MediaController::updatePlaybackState):
1196         (MediaController::updateMediaElements):
1197         (MediaController::scheduleEvent):
1198         (MediaController::asyncEventTimerFired):
1199         (MediaController::scriptExecutionContext):
1200         (MediaController::hasAudio):
1201         (MediaController::hasVideo):
1202         (MediaController::hasClosedCaptions):
1203         (MediaController::setClosedCaptionsVisible):
1204         (MediaController::supportsScanning):
1205         (MediaController::beginScrubbing):
1206         (MediaController::endScrubbing):
1207         (MediaController::canPlay):
1208         (MediaController::isLiveStream):
1209         (MediaController::hasSource):
1210         (MediaController::returnToRealtime):
1211         (MediaController::isBlocked):
1212         (MediaController::hasEnded):
1213         * html/MediaController.h: Added.
1214         (WebCore::MediaController::mediaGroup):
1215         (WebCore::MediaController::paused):
1216         (WebCore::MediaController::defaultPlaybackRate):
1217         (WebCore::MediaController::playbackRate):
1218         (WebCore::MediaController::volume):
1219         (WebCore::MediaController::muted):
1220         (WebCore::MediaController::readyState):
1221         (WebCore::MediaController::playbackState):
1222         (WebCore::MediaController::supportsFullscreen):
1223         (WebCore::MediaController::isFullscreen):
1224         (WebCore::MediaController::enterFullscreen):
1225         (WebCore::MediaController::closedCaptionsVisible):
1226         (WebCore::MediaController::refEventTarget):
1227         (WebCore::MediaController::derefEventTarget):
1228         (WebCore::MediaController::toMediaController):
1229         (WebCore::MediaController::eventTargetData):
1230         (WebCore::MediaController::ensureEventTargetData):
1231         * html/MediaController.idl: Added.
1232
1233         Add convenience functions to TimeRanges which can calculate intersections and
1234         unions between TimeRanges objects.
1235         * html/TimeRanges.cpp:
1236         (TimeRanges::copy):
1237         (TimeRanges::invert):
1238         (TimeRanges::intersectWith):
1239         (TimeRanges::unionWith):
1240         * html/TimeRanges.h:
1241
1242         Add MediaControllerConstructor to the Window object.
1243         * page/DOMWindow.idl:
1244
1245         Add the two new attribute names, mediagroup and controller.
1246         * html/HTMLAttributeNames.in:
1247
1248         Add support for the new attributes, and add overridden behavior when a media element
1249         has a current media controller:
1250         * html/HTMLMediaElement.cpp:
1251         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1252         (WebCore::HTMLMediaElement::parseMappedAttribute):
1253         (WebCore::HTMLMediaElement::prepareForLoad):
1254         (WebCore::HTMLMediaElement::setReadyState):
1255         (WebCore::HTMLMediaElement::setCurrentTime):
1256         (WebCore::HTMLMediaElement::setPlaybackRate):
1257         (WebCore::HTMLMediaElement::playInternal):
1258         (WebCore::HTMLMediaElement::togglePlayState):
1259         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
1260         (WebCore::HTMLMediaElement::seekable):
1261         (WebCore::HTMLMediaElement::potentiallyPlaying):
1262         (WebCore::HTMLMediaElement::endedPlayback):
1263         (WebCore::HTMLMediaElement::updateVolume):
1264         (WebCore::HTMLMediaElement::updatePlayState):
1265         (WebCore::HTMLMediaElement::userCancelledLoad):
1266         (WebCore::HTMLMediaElement::mediaGroup):
1267         (WebCore::HTMLMediaElement::setMediaGroup):
1268         (WebCore::HTMLMediaElement::controller):
1269         (WebCore::HTMLMediaElement::setController):
1270         (WebCore::HTMLMediaElement::updateMediaController):
1271         (WebCore::HTMLMediaElement::isBlockedOnMediaController):
1272         * html/HTMLMediaElement.h:
1273         (WebCore::HTMLMediaElement::hasSource):
1274         (WebCore::HTMLMediaElement::isLiveStream):
1275         * html/HTMLMediaElement.idl:
1276         * bindings/js/JSHTMLMediaElementCustom.cpp: Added.
1277         (WebCore::JSHTMLMediaElement::setMediaController):
1278
1279         Add convenience functions to store a mapping of media-elements-per-document to allow
1280         a quick lookup of media elements with the same media group within a given document:
1281         * html/HTMLMediaElement.cpp:
1282         (WebCore::documentToElementSetMap):
1283         (WebCore::addElementToDocumentMap):
1284         (WebCore::removeElementFromDocumentMap):
1285         
1286         Add a function "seekable" which returns a TimeRanges containing the seekable time ranges
1287         in a media element.  By default this is a single range of [0, maxTimeSeekable].
1288         * platform/graphics/MediaPlayer.cpp:
1289         (WebCore::MediaPlayer::seekable):
1290         * platform/graphics/MediaPlayer.h:
1291         * platform/graphics/MediaPlayerPrivate.h:
1292         (WebCore::MediaPlayerPrivateInterface::seekable):
1293
1294         Support functions to cast between MediaController and EventTarget.
1295         * bindings/js/JSEventTarget.cpp:
1296         (WebCore::toJS):
1297         * dom/EventTarget.cpp:
1298         (WebCore::EventTarget::toMediaController):
1299         * dom/EventTarget.h:
1300
1301         Fixed an infinite-recursion bug due to a collision between WTF::currentTime and
1302         ClockGeneric::currentTime:
1303         * platform/ClockGeneric.cpp:
1304         (ClockGeneric::ClockGeneric):
1305         (ClockGeneric::setCurrentTime):
1306         (ClockGeneric::currentTime):
1307         (ClockGeneric::setPlayRate):
1308         (ClockGeneric::start):
1309         (ClockGeneric::stop):
1310         (ClockGeneric::now):
1311         * platform/ClockGeneric.h:
1312
1313         Boilerplate to support creating the derived sources for MediaController and adding new sources
1314         to the project:
1315         * CMakeLists.txt:
1316         * DerivedSources.cpp:
1317         * DerivedSources.make:
1318         * GNUmakefile.list.am:
1319         * WebCore.gypi:
1320         * WebCore.xcodeproj/project.pbxproj:
1321
1322 2011-11-14  Florin Malita  <fmalita@google.com>
1323
1324         Multiple foreign objects not rendered
1325         https://bugs.webkit.org/show_bug.cgi?id=72151
1326
1327         Reviewed by Adam Barth.
1328
1329         SVG end tags need to be case-adjusted (just like their start counterparts).
1330
1331         Test: svg/foreignObject/multiple-foreign-objects.html
1332
1333         * html/parser/HTMLTreeBuilder.cpp:
1334         (WebCore::HTMLTreeBuilder::processEndTag):
1335
1336 2011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>
1337
1338         Add support for the caretBrowsingEnabled preference in WebKit2
1339         https://bugs.webkit.org/show_bug.cgi?id=72266
1340
1341         Reviewed by Chris Fleizach.
1342
1343         * WebCore.exp.in: Exported settings for setCaretBrowsingEnabled.
1344
1345 2011-11-14  Jonathan Backer  <backer@chromium.org>
1346
1347         [chromium] Plumb through partial swap
1348         https://bugs.webkit.org/show_bug.cgi?id=72028
1349
1350         Reviewed by Kenneth Russell.
1351
1352         * platform/graphics/chromium/Extensions3DChromium.h:
1353         * platform/graphics/chromium/LayerRendererChromium.cpp:
1354         (WebCore::LayerRendererChromium::initialize):
1355         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1356         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
1357
1358 2011-11-14  Andrey Kosyakov  <caseq@chromium.org>
1359
1360         Web Inspector: expose iframe window to the onShown event handler of panels & sidebars
1361         https://bugs.webkit.org/show_bug.cgi?id=72268
1362
1363         Reviewed by Pavel Feldman.
1364
1365         - replace IFrameView with ExtensionView;
1366         - inherit both ExtensionPanel and ExtensionSidebarPane from ExtensionView in the API;
1367         - move Panel.{onShow|onHide} to ExtensionView, effectively disabling show/hide notifications for non-extension panels and enabling it for sidebar panes;
1368         - expose iframe's window object in the onShow event handler.
1369
1370         * WebCore.gypi:
1371         * WebCore.vcproj/WebCore.vcproj:
1372         * inspector/compile-front-end.sh:
1373         * inspector/front-end/ExtensionAPI.js:
1374         (injectedExtensionAPI.ExtensionViewImpl.dispatchShowEvent):
1375         (injectedExtensionAPI):
1376         (injectedExtensionAPI.PanelWithSidebarImpl):
1377         (injectedExtensionAPI.ExtensionPanelImpl):
1378         (injectedExtensionAPI.ExtensionSidebarPaneImpl):
1379         * inspector/front-end/ExtensionPanel.js:
1380         (WebInspector.ExtensionView):
1381         (WebInspector.ExtensionView.prototype.wasShown):
1382         (WebInspector.ExtensionView.prototype.willHide):
1383         (WebInspector.ExtensionView.prototype._onLoad):
1384         (WebInspector.ExtensionPanel):
1385         (WebInspector.ExtensionSidebarPane.prototype.setPage):
1386         * inspector/front-end/ExtensionServer.js:
1387         (WebInspector.ExtensionServer.prototype.notifyViewShown):
1388         (WebInspector.ExtensionServer.prototype.notifyViewHidden):
1389         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1390         * inspector/front-end/IFrameView.js: Removed.
1391         * inspector/front-end/Panel.js:
1392         (WebInspector.Panel.prototype.wasShown):
1393         (WebInspector.Panel.prototype.willHide):
1394         * inspector/front-end/WebKit.qrc:
1395         * inspector/front-end/inspector.html:
1396
1397 2011-11-14  Yury Semikhatsky  <yurys@chromium.org>
1398
1399         Web Inspector: add 'Show function definition' context menu item for function values
1400         https://bugs.webkit.org/show_bug.cgi?id=72265
1401
1402         Allow navigating to JavaScript function definition using context menu.
1403
1404         Reviewed by Pavel Feldman.
1405
1406         * English.lproj/localizedStrings.js:
1407         * inspector/front-end/DebuggerPresentationModel.js:
1408         (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
1409         * inspector/front-end/ObjectPropertiesSection.js:
1410         (WebInspector.ObjectPropertyTreeElement.prototype.update):
1411         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
1412         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
1413         * inspector/front-end/ScriptsPanel.js:
1414         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
1415         * inspector/front-end/inspector.js:
1416         (WebInspector.showPanelForAnchorNavigation):
1417
1418 2011-11-14  Pavel Feldman  <pfeldman@google.com>
1419
1420         Web Inspector: console's protocol payload does not have url and line properties.
1421         https://bugs.webkit.org/show_bug.cgi?id=72256
1422
1423         Reviewed by Yury Semikhatsky.
1424
1425         Test: inspector/console/console-url-and-line.html
1426
1427         * inspector/ConsoleMessage.cpp:
1428         (WebCore::ConsoleMessage::ConsoleMessage):
1429         * inspector/front-end/ConsoleMessage.js:
1430         (WebInspector.ConsoleMessageImpl):
1431
1432 2011-11-14  Pavel Feldman  <pfeldman@google.com>
1433
1434         Web Inspector: [regression r99960] null callback access.
1435         https://bugs.webkit.org/show_bug.cgi?id=72263
1436
1437         Reviewed by Yury Semikhatsky.
1438
1439         * inspector/CodeGeneratorInspector.py:
1440
1441 2011-11-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1442
1443         [Qt] Unbreak the build on Mac OS X
1444
1445         QMacStyle is guarded by Q_WS_MAC, which is not the case for QPA. Until
1446         that's been fixed in Qt we have to use the same guards in WebKit, not
1447         Q_OS_MAC.
1448
1449         * platform/qt/RenderThemeQStyle.cpp:
1450         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
1451         (WebCore::RenderThemeQStyle::adjustButtonStyle):
1452         (WebCore::RenderThemeQStyle::paintMenuList):
1453         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
1454         * platform/qt/ScrollbarThemeQt.cpp:
1455         (WebCore::ScrollbarThemeQt::paint):
1456
1457 2011-11-14  Simon Hausmann  <simon.hausmann@nokia.com>
1458
1459         [Qt] Replace use of QApplication with QGuiApplication.
1460
1461         Reviewed by Tor Arne Vestbø.
1462
1463         Replace use of QApplication by QGuiApplication where applicable.
1464
1465         * platform/qt/RenderThemeQt.cpp:
1466         (WebCore::RenderThemeQt::RenderThemeQt):
1467         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
1468         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
1469         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
1470         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
1471         (WebCore::RenderThemeQt::platformFocusRingColor):
1472         (WebCore::RenderThemeQt::systemColor):
1473         (WebCore::RenderThemeQt::minimumMenuListSize):
1474         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
1475         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
1476         (WebCore::RenderThemeQt::caretBlinkInterval):
1477
1478 2011-11-14  Jaehoon Jeong  <jh4u.jeong@samsung.com>
1479
1480         [CMAKE] Add the UseV8.cmake to WebCore.
1481         https://bugs.webkit.org/show_bug.cgi?id=72000
1482
1483         Reviewed by Daniel Bates.
1484
1485         Add the UseV8.cmake to WebCore to build bindings of V8 and
1486         generate JavaScript codes given IDL input.
1487
1488         * UseV8.cmake: Added.
1489
1490 2011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>
1491
1492         [Qt] Remove the QStyle dependency in Qt's mobile theme
1493         https://bugs.webkit.org/show_bug.cgi?id=67773
1494
1495         This refactoring splits up RenderThemeQt with two
1496         subclasses, a QStyle-backed one, and a Mobile version
1497         that uses the old mobile theme for now.
1498
1499         QStyle availability is detected at compile time, and
1500         its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
1501         environment variable.
1502
1503         Reviewed by Simon Hausmann.
1504
1505         Covered by the existing tests.
1506
1507         * Target.pri:
1508         * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
1509         now lives within RenderThemeQtMobile.
1510         * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
1511         * platform/qt/RenderThemeQStyle.cpp: Added.
1512         (WebCore::initStyleOption):
1513         (WebCore::RenderThemeQStyle::getStylePainter):
1514         (WebCore::StylePainterQStyle::StylePainterQStyle):
1515         (WebCore::StylePainterQStyle::init):
1516         (WebCore::RenderThemeQStyle::create):
1517         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
1518         (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
1519         (WebCore::RenderThemeQStyle::fallbackStyle):
1520         (WebCore::RenderThemeQStyle::qStyle):
1521         (WebCore::RenderThemeQStyle::findFrameLineWidth):
1522         (WebCore::RenderThemeQStyle::inflateButtonRect):
1523         (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
1524         (WebCore::RenderThemeQStyle::adjustButtonStyle):
1525         (WebCore::RenderThemeQStyle::setButtonPadding):
1526         (WebCore::RenderThemeQStyle::paintButton):
1527         (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
1528         (WebCore::RenderThemeQStyle::paintTextField):
1529         (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
1530         (WebCore::RenderThemeQStyle::paintTextArea):
1531         (WebCore::RenderThemeQStyle::setPopupPadding):
1532         (WebCore::RenderThemeQStyle::paintMenuList):
1533         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
1534         (WebCore::RenderThemeQStyle::paintMenuListButton):
1535         (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
1536         (WebCore::RenderThemeQStyle::paintProgressBar):
1537         (WebCore::RenderThemeQStyle::paintSliderTrack):
1538         (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
1539         (WebCore::RenderThemeQStyle::paintSliderThumb):
1540         (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
1541         (WebCore::RenderThemeQStyle::paintSearchField):
1542         (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
1543         (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
1544         (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
1545         (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
1546         (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
1547         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
1548         (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
1549         (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
1550         * platform/qt/RenderThemeQStyle.h: Added.
1551         (WebCore::StylePainterQStyle::isValid):
1552         (WebCore::StylePainterQStyle::drawPrimitive):
1553         (WebCore::StylePainterQStyle::drawControl):
1554         (WebCore::StylePainterQStyle::drawComplexControl):
1555         * platform/qt/RenderThemeQt.cpp:
1556         (WebCore::RenderThemeQt::RenderThemeQt):
1557         (WebCore::RenderThemeQt::isControlStyled):
1558         (WebCore::RenderThemeQt::inflateButtonRect):
1559         (WebCore::RenderThemeQt::adjustRepaintRect):
1560         (WebCore::RenderThemeQt::minimumMenuListSize):
1561         (WebCore::RenderThemeQt::adjustTextFieldStyle):
1562         (WebCore::RenderThemeQt::adjustMenuListStyle):
1563         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1564         (WebCore::RenderThemeQt::adjustProgressBarStyle):
1565         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
1566         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
1567         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
1568         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
1569         (WebCore::RenderThemeQt::paintMediaMuteButton):
1570         (WebCore::RenderThemeQt::paintMediaPlayButton):
1571         (WebCore::RenderThemeQt::paintMediaCurrentTime):
1572         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
1573         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
1574         (WebCore::RenderThemeQt::paintMediaSliderTrack):
1575         (WebCore::RenderThemeQt::paintMediaSliderThumb):
1576         (WebCore::RenderThemeQt::adjustSliderThumbSize):
1577         (WebCore::RenderThemeQt::caretBlinkInterval):
1578         (WebCore::RenderThemeQt::fileListNameForWidth):
1579         (WebCore::StylePainter::StylePainter):
1580         (WebCore::StylePainter::init):
1581         (WebCore::StylePainter::~StylePainter):
1582         * platform/qt/RenderThemeQt.h:
1583         (WebCore::RenderThemeQt::useMobileTheme):
1584         (WebCore::StylePainter::isValid):
1585         * platform/qt/RenderThemeQtMobile.cpp: Added.
1586         (WebCore::drawRectangularControlBackground):
1587         (WebCore::RenderThemeQtMobile::getStylePainter):
1588         (WebCore::StylePainterMobile::StylePainterMobile):
1589         (WebCore::StylePainterMobile::drawChecker):
1590         (WebCore::StylePainterMobile::findChecker):
1591         (WebCore::StylePainterMobile::drawRadio):
1592         (WebCore::StylePainterMobile::findRadio):
1593         (WebCore::StylePainterMobile::drawMultipleComboButton):
1594         (WebCore::StylePainterMobile::drawSimpleComboButton):
1595         (WebCore::StylePainterMobile::getButtonImageSize):
1596         (WebCore::StylePainterMobile::findComboButton):
1597         (WebCore::StylePainterMobile::drawLineEdit):
1598         (WebCore::StylePainterMobile::drawCheckBox):
1599         (WebCore::StylePainterMobile::drawRadioButton):
1600         (WebCore::StylePainterMobile::drawPushButton):
1601         (WebCore::StylePainterMobile::drawComboBox):
1602         (WebCore::RenderThemeQtMobile::create):
1603         (WebCore::RenderTheme::themeForPage):
1604         (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
1605         (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
1606         (WebCore::RenderThemeQtMobile::isControlStyled):
1607         (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
1608         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
1609         (WebCore::RenderThemeQtMobile::adjustButtonStyle):
1610         (WebCore::RenderThemeQtMobile::setButtonPadding):
1611         (WebCore::RenderThemeQtMobile::paintButton):
1612         (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
1613         (WebCore::RenderThemeQtMobile::paintTextField):
1614         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
1615         (WebCore::RenderThemeQtMobile::setPopupPadding):
1616         (WebCore::RenderThemeQtMobile::paintMenuList):
1617         (WebCore::RenderThemeQtMobile::paintMenuListButton):
1618         (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
1619         (WebCore::RenderThemeQtMobile::paintProgressBar):
1620         (WebCore::RenderThemeQtMobile::paintSliderTrack):
1621         (WebCore::RenderThemeQtMobile::paintSliderThumb):
1622         (WebCore::RenderThemeQtMobile::checkMultiple):
1623         (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
1624         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
1625         * platform/qt/RenderThemeQtMobile.h: Added.
1626         * platform/qt/ScrollbarThemeQt.cpp:
1627         (WebCore::ScrollbarTheme::nativeTheme):
1628         (WebCore::ScrollbarThemeQt::paint):
1629         (WebCore::ScrollbarThemeQt::scrollbarThickness):
1630         (WebCore::ScrollbarThemeQt::paintScrollCorner):
1631
1632 2011-11-14  Adam Barth  <abarth@webkit.org>
1633
1634         SecurityContext should track whether the SecurityOrigin has been initialized
1635         https://bugs.webkit.org/show_bug.cgi?id=72250
1636
1637         Reviewed by Eric Seidel.
1638
1639         This patch is another step towards https://bugs.webkit.org/show_bug.cgi?id=71745.
1640
1641         One of the things we use "empty" SecurityOrigins for is detecting
1642         whether a Document's SecurityOrigin has been initialized.  In this
1643         patch, we track that state directly on SecurityContext (which is a base
1644         class of Document), moving us closer to removing the concept of an
1645         empty SecurityOrigin.
1646
1647         * dom/Document.cpp:
1648         (WebCore::Document::initSecurityContext):
1649         * dom/SecurityContext.cpp:
1650         (WebCore::SecurityContext::SecurityContext):
1651         (WebCore::SecurityContext::setSecurityOrigin):
1652         * dom/SecurityContext.h:
1653         (WebCore::SecurityContext::didFailToInitializeSecurityOrigin):
1654         (WebCore::SecurityContext::haveInitializedSecurityOrigin):
1655
1656 2011-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1657
1658         Unreviewed. Fix make distcheck build.
1659
1660         * GNUmakefile.list.am: Add missing files.
1661
1662 2011-11-14  Joseph Pecoraro  <pecoraro@apple.com>
1663
1664         Web Inspector: Give HTML ContextMenu a more Native look
1665         https://bugs.webkit.org/show_bug.cgi?id=72207
1666
1667         Reviewed by Pavel Feldman.
1668
1669         * inspector/front-end/SoftContextMenu.js:
1670         (.WebInspector.SoftContextMenu.prototype._createMenuItem):
1671         Give the checkmark a class name so that it can be styled more
1672         with CSS instead of with JavaScript.
1673
1674         * inspector/front-end/inspector.css:
1675         (.soft-context-menu): tweak the border and shadow.
1676         (.soft-context-menu-item): tweak the font size and positioning.
1677         (.soft-context-menu-separator): tweak the whitespace.
1678         (.soft-context-menu-item-mouse-over): solid blue for non-mac platforms.
1679         (body.platform-mac .soft-context-menu-item-mouse-over): gradient for mac platforms.
1680         (.soft-context-menu-item-checkmark): gray color normally.
1681         (.soft-context-menu-item-mouse-over .soft-context-menu-item-checkmark): white on hover.
1682
1683 2011-11-10  Yury Semikhatsky  <yurys@chromium.org>
1684
1685         Web Inspector: function remote objetct should provide access to function position in the script
1686         https://bugs.webkit.org/show_bug.cgi?id=71808
1687
1688         Added Debugger.getFunctionLocation command for resolving function location including
1689         start line, column and script id.
1690
1691         Reviewed by Pavel Feldman.
1692
1693         Test: inspector/debugger/function-location.html
1694
1695         * bindings/js/JSInjectedScriptHostCustom.cpp:
1696         (WebCore::JSInjectedScriptHost::functionLocation):
1697         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1698         (WebCore::V8InjectedScriptHost::functionLocationCallback):
1699         * inspector/InjectedScript.cpp:
1700         (WebCore::InjectedScript::getFunctionLocation):
1701         * inspector/InjectedScript.h:
1702         * inspector/InjectedScriptHost.idl:
1703         * inspector/InjectedScriptSource.js:
1704         (.):
1705         * inspector/Inspector.json:
1706         * inspector/InspectorDebuggerAgent.cpp:
1707         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
1708         * inspector/InspectorDebuggerAgent.h:
1709
1710 2011-11-14  Rakesh KN  <rakesh.kn@motorola.com>
1711
1712         Cannot select multiple options by mouse dragging in <select multiple="multiple" size="7"> list
1713         https://bugs.webkit.org/show_bug.cgi?id=70496
1714
1715         Reviewed by Kent Tamura.
1716
1717         Select Multiple options in a select element with a mouse drag when no. of options
1718         are less than the no. specified in size attribute.
1719         Other browsers(IE, Opera, Firefox) support this feature
1720
1721         Test: fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html
1722
1723         * html/HTMLSelectElement.cpp:
1724         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
1725         Handled mouse move event with Left button pressed. We select the options under mouse
1726         when mouse drag happens and the select element cannot autoscroll.
1727
1728 2011-11-14  Yury Semikhatsky  <yurys@chromium.org>
1729
1730         Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
1731         https://bugs.webkit.org/show_bug.cgi?id=72020
1732
1733         Collect information about dedicated workers even when inspector is closed. This
1734         way we can list all dedicated workers if the front-end opens later.
1735
1736         Reviewed by Pavel Feldman.
1737
1738         Test: http/tests/inspector-enabled/dedicated-workers-list.html
1739
1740         * inspector/InspectorInstrumentation.h:
1741         (WebCore::InspectorInstrumentation::didStartWorkerContext):
1742         * inspector/InspectorWorkerAgent.cpp:
1743         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
1744         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
1745         (WebCore::InspectorWorkerAgent::setFrontend):
1746         (WebCore::InspectorWorkerAgent::restore):
1747         (WebCore::InspectorWorkerAgent::clearFrontend):
1748         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
1749         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
1750         (WebCore::InspectorWorkerAgent::workerContextTerminated):
1751         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
1752         (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
1753         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
1754         * inspector/InspectorWorkerAgent.h:
1755
1756 2011-11-14  Zalan Bujtas  <zbujtas@gmail.com>
1757
1758         Build breaks with --no-javascript-debugger --no-inspector
1759         https://bugs.webkit.org/show_bug.cgi?id=72228
1760
1761         Reviewed by Simon Hausmann.
1762
1763         * workers/WorkerMessagingProxy.cpp:
1764         (WebCore::PostMessageToPageInspectorTask::performTask):
1765         (WebCore::WorkerMessagingProxy::connectToInspector):
1766         * workers/WorkerThread.cpp:
1767         (WebCore::WorkerThread::workerThread):
1768
1769 2011-11-14  Kentaro Hara  <haraken@chromium.org>
1770
1771         Remove all custom constructors of Events in V8
1772         https://bugs.webkit.org/show_bug.cgi?id=72074
1773
1774         Reviewed by Adam Barth.
1775
1776         V8 has [ConstructorTemplate=Event] IDL, which generates
1777         Event constructors. This patch removes all the custom constructors
1778         in V8EventConstructors.cpp and generates them using
1779         [ConstructorTemplate=Event] IDL.
1780
1781         Tests: fast/events/constructors/before-load-event-constructor.html
1782                fast/events/constructors/close-event-constructor.html
1783                fast/events/constructors/custom-event-constructor.html
1784                fast/events/constructors/error-event-constructor.html
1785                fast/events/constructors/event-constructors.html
1786                fast/events/constructors/hash-change-event-constructor.html
1787                fast/events/constructors/message-event-constructor.html
1788                fast/events/constructors/overflow-event-constructor.html
1789                fast/events/constructors/page-transition-event-constructor.html
1790                fast/events/constructors/pop-state-event-constructor.html
1791                fast/events/constructors/progress-event-constructor.html
1792                fast/events/constructors/track-event-constructor.html
1793                fast/events/constructors/webkit-animation-event-constructor.html
1794                fast/events/constructors/webkit-transition-event-constructor.html
1795
1796         * Target.pri: Removed V8EventConstructors.cpp.
1797         * WebCore.gypi: Ditto.
1798         * bindings/v8/custom/V8EventConstructors.cpp: Removed.
1799         * dom/BeforeLoadEvent.idl: Replaced [V8CustomConstructor] with [V8ConstructorTemplate=Event]. Added [InitializedByConstructor] IDL to attributes that can be initialized by the generated constructor.
1800         * dom/CustomEvent.idl: Ditto.
1801         * dom/ErrorEvent.idl: Ditto.
1802         * dom/HashChangeEvent.idl: Ditto.
1803         * dom/MessageEvent.idl: Ditto.
1804         * dom/OverflowEvent.idl: Ditto.
1805         * dom/PageTransitionEvent.idl: Ditto.
1806         * dom/PopStateEvent.idl: Ditto.
1807         * dom/ProgressEvent.idl: Ditto.
1808         * dom/WebKitAnimationEvent.idl: Ditto.
1809         * dom/WebKitTransitionEvent.idl: Ditto.
1810         * html/track/TrackEvent.idl: Ditto.
1811         * websockets/CloseEvent.idl: Ditto.
1812
1813 2011-11-13  Patrick Gansterer  <paroga@webkit.org>
1814
1815         [WX] Make FontPlatformData::m_size private
1816         https://bugs.webkit.org/show_bug.cgi?id=72214
1817
1818         Reviewed by Andreas Kling.
1819
1820         Also change the order of member variables to match
1821         the order in the constructor to fix many warnings.
1822
1823         * platform/graphics/wx/FontPlatformData.h:
1824
1825 2011-11-13  Adam Barth  <abarth@webkit.org>
1826
1827         Document::initSecurityOrigin should return earlier more often
1828         https://bugs.webkit.org/show_bug.cgi?id=72244
1829
1830         Reviewed by Eric Seidel.
1831
1832         This minor tweak was suggested by Darin to make the subsequent patches
1833         easier to read.
1834
1835         * dom/Document.cpp:
1836         (WebCore::Document::initSecurityContext):
1837
1838 2011-11-13  Adam Barth  <abarth@webkit.org>
1839
1840         SecurityPolicy should refer to isUnique rather than isEmpty
1841         https://bugs.webkit.org/show_bug.cgi?id=72242
1842
1843         Reviewed by Eric Seidel.
1844
1845         It doesn't make sense to tweak the security policy for unique origins
1846         because they're different every time.  Previously, this code checked
1847         for empty origins, which are technically a subset of unique origins.  I
1848         don't think it's possible to call this code in a way that can detect
1849         the difference, but we're eventually going to remove the isEmpty
1850         function.
1851
1852         * page/SecurityPolicy.cpp:
1853         (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
1854         (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
1855
1856 2011-11-13  Adam Barth  <abarth@webkit.org>
1857
1858         Move isSecureTransitionTo from SecurityOrigin to SecurityContext
1859         https://bugs.webkit.org/show_bug.cgi?id=72241
1860
1861         Reviewed by Eric Seidel.
1862
1863         This patch is a step towards breaking the patch for
1864         https://bugs.webkit.org/show_bug.cgi?id=71745 up into tiny,
1865         digestible pieces.
1866
1867         * dom/SecurityContext.cpp:
1868         (WebCore::SecurityContext::isSecureTransitionTo):
1869         * dom/SecurityContext.h:
1870         * loader/DocumentWriter.cpp:
1871         (WebCore::DocumentWriter::begin):
1872         * loader/FrameLoader.cpp:
1873         (WebCore::FrameLoader::stopLoading):
1874         * page/SecurityOrigin.cpp:
1875         * page/SecurityOrigin.h:
1876
1877 2011-11-13  Nat Duca  <nduca@chromium.org>
1878
1879         [chromium] LayerRendererChromium::initialize should fail when GaphicsContext3D::makeCurrent fails
1880         https://bugs.webkit.org/show_bug.cgi?id=72102
1881
1882         Reviewed by James Robinson.
1883
1884         * platform/graphics/chromium/LayerRendererChromium.cpp:
1885         (WebCore::LayerRendererChromium::initialize):
1886         (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
1887         (WebCore::LayerRendererChromium::makeContextCurrent):
1888         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1889         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
1890
1891 2011-11-11  Vincent Scheib  <scheib@chromium.org>
1892
1893         Mouse Lock: MouseEvent IDL
1894         https://bugs.webkit.org/show_bug.cgi?id=72158
1895
1896         Reviewed by Dimitri Glazkov.
1897
1898         Tests for movementX/Y pending mock mouse lock test infrastructure.
1899
1900         * dom/MouseEvent.idl:
1901         * dom/MouseRelatedEvent.h:
1902         (WebCore::MouseRelatedEvent::movementX):
1903         (WebCore::MouseRelatedEvent::movementY):
1904
1905 2011-11-13  Julien Chaffraix  <jchaffraix@webkit.org>
1906
1907         REGRESSION(99849): NULL-deref in updateLastMediaLine when parsing some media-queries
1908         https://bugs.webkit.org/show_bug.cgi?id=72222
1909
1910         Reviewed by Pavel Feldman.
1911
1912         Test: fast/media/update-media-query-css-parser.html
1913
1914         * css/CSSGrammar.y: Added a proper NULL-check.
1915
1916 2011-11-12  Vincent Scheib  <scheib@chromium.org>
1917
1918         Mouse Lock Navigator IDL
1919         https://bugs.webkit.org/show_bug.cgi?id=72150
1920
1921         Reviewed by Dimitri Glazkov.
1922
1923         Tests require mocking (similar to geolocation) that will be built after this.
1924
1925         * WebCore.gypi:
1926         * bindings/generic/RuntimeEnabledFeatures.h:
1927         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
1928         * page/MouseLockable.cpp: Added.
1929         (WebCore::MouseLockable::MouseLockable):
1930         (WebCore::MouseLockable::~MouseLockable):
1931         (WebCore::MouseLockable::webkitLock):
1932         (WebCore::MouseLockable::webkitUnlock):
1933         (WebCore::MouseLockable::webkitIsLocked):
1934         * page/MouseLockable.h: Added.
1935         (WebCore::MouseLockable::create):
1936         * page/MouseLockable.idl: Added.
1937         * page/Navigator.cpp:
1938         (WebCore::Navigator::webkitPointer):
1939         * page/Navigator.h:
1940         * page/Navigator.idl:
1941
1942 2011-11-11  Andreas Kling  <kling@webkit.org>
1943
1944         Only HTMLAllCollection needs stateful named item traversal.
1945         <http://webkit.org/b/71987>
1946
1947         Reviewed by Antti Koivisto.
1948
1949         After the ability to call collections (excluding document.all) was removed
1950         in <http://webkit.org/b/67579>, chunks of code remained in HTMLCollection
1951         and HTMLFormCollection that was only used for this purpose.
1952
1953         Restrict the nextNamedItem() mechanism to HTMLAllCollection, since it's no
1954         longer used by any of the other collections.
1955
1956         * html/HTMLCollection.h:
1957
1958             Moved nextNamedItem() to HTMLAllCollection (and made it non-virtual.)
1959             Promoted itemAfter() and checkForNameMatch() to protected methods so
1960             they can be called from HTMLAllCollection.
1961
1962         * html/HTMLAllCollection.h:
1963         * html/HTMLAllCollection.cpp:
1964         (WebCore::HTMLAllCollection::HTMLAllCollection):
1965         (WebCore::HTMLAllCollection::nextNamedItem):
1966         * html/HTMLCollection.cpp:
1967         (WebCore::HTMLCollection::HTMLCollection):
1968         (WebCore::HTMLCollection::namedItem):
1969         * html/HTMLFormCollection.cpp:
1970         (WebCore::HTMLFormCollection::namedItem):
1971         * html/HTMLFormCollection.h:
1972
1973 2011-11-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1974
1975         Update binding generator tests to use jsCast
1976         https://bugs.webkit.org/show_bug.cgi?id=72224
1977
1978         Reviewed by Geoffrey Garen.
1979
1980         Update the expected results for JS generator after r100006 added jsCast.
1981
1982         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1983         (WebCore::JSTestEventConstructor::getOwnPropertySlot):
1984         (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
1985
1986 2011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1987
1988         Unreviewed, rolling out r100038.
1989         http://trac.webkit.org/changeset/100038
1990         https://bugs.webkit.org/show_bug.cgi?id=72225
1991
1992         It broke more than 500 layout tests on the Qt bots (Requested
1993         by Ossy_night on #webkit).
1994
1995         * platform/qt/ScrollbarThemeQt.h:
1996
1997 2011-11-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1998
1999         [Qt][Symbian] Remove support for WINSCW compiler
2000         https://bugs.webkit.org/show_bug.cgi?id=70178
2001
2002         Reviewed by Chang Shu.
2003
2004         No new tests as there is no new functionality.
2005
2006         * config.h: Revert r57076.
2007         * loader/cache/CachedResourceHandle.h: Revert r49017 and r49556.
2008         (WebCore::CachedResourceHandle::CachedResourceHandle):
2009         * rendering/style/RenderStyle.h: Revert r52733.
2010         (compareEqual):
2011         * bindings/scripts/CodeGeneratorJS.pm: Revert r45553.
2012         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
2013         * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
2014         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
2015         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
2016         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
2017         * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
2018
2019 2011-11-12  Anna Cavender  <annacc@chromium.org>
2020
2021         Add WebVTT parsing layout tests.  Patch also includes creating a TextTrackCueList
2022         in TextTrack::cues() and observing WebVTT chronological cue order.
2023         https://bugs.webkit.org/show_bug.cgi?id=72215
2024
2025         Reviewed by Eric Carlson.
2026
2027         Tests: media/track/track-webvtt-tc000-empty.html
2028                media/track/track-webvtt-tc001-utf8.html
2029                media/track/track-webvtt-tc002-bom.html
2030                media/track/track-webvtt-tc003-newlines.html
2031                media/track/track-webvtt-tc004-magic-header.html
2032                media/track/track-webvtt-tc005-header-comment.html
2033                media/track/track-webvtt-tc006-cue-identifiers.html
2034                media/track/track-webvtt-tc007-cue-no-id.html
2035                media/track/track-webvtt-tc008-timings-no-hours.html
2036                media/track/track-webvtt-tc009-timings-hour.html
2037                media/track/track-webvtt-tc010-no-timings.html
2038                media/track/track-webvtt-tc011-blank-lines.html
2039                media/track/track-webvtt-tc012-out-of-order.html
2040                media/track/track-webvtt-tc013-settings.html
2041                media/track/track-webvtt-tc014-alignment.html
2042                media/track/track-webvtt-tc015-positioning.html
2043                media/track/track-webvtt-tc016-align-positioning.html
2044                media/track/track-webvtt-tc017-line-position.html
2045                media/track/track-webvtt-tc018-align-text-line-position.html
2046                media/track/track-webvtt-tc019-cue-size.html
2047                media/track/track-webvtt-tc020-cue-size-align.html
2048                media/track/track-webvtt-tc021-valign.html
2049                media/track/track-webvtt-tc022-entities.html
2050                media/track/track-webvtt-tc023-markup.html
2051                media/track/track-webvtt-tc024-timestamp.html
2052                media/track/track-webvtt-tc025-class-markup.html
2053                media/track/track-webvtt-tc026-voice.html
2054                media/track/track-webvtt-tc027-empty-cue.html
2055                media/track/track-webvtt-tc028-unsupported-markup.html
2056
2057         * html/TextTrack.cpp:
2058         (WebCore::TextTrack::~TextTrack): Only call client if m_cues has been allocated.
2059         (WebCore::TextTrack::cues): Create a TextTrackCueList if we don't already have one.
2060         * html/TextTrack.h: The cues() function can no longer be const.
2061         * html/TextTrackCueList.cpp:
2062         (WebCore::TextTrackCueList::add): Only add the cue if the startTime comes after
2063             all other startTimes in the list.
2064
2065 2011-11-12  Nat Duca  <nduca@chromium.org>
2066
2067         Fixes to GraphicsContext3D::makeCurrent on gtk and mac
2068         https://bugs.webkit.org/show_bug.cgi?id=72218
2069
2070         Unreviewed. Forgot to handle corner cases. Thanks Nico!
2071
2072         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
2073         (WebCore::GraphicsContext3D::makeContextCurrent):
2074         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
2075         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2076         * platform/graphics/mac/GraphicsContext3DMac.mm:
2077         (WebCore::GraphicsContext3D::makeContextCurrent):
2078
2079 2011-11-12  Patrick Gansterer  <paroga@webkit.org>
2080
2081         Add stub implementation for SVGResources::filter()
2082         https://bugs.webkit.org/show_bug.cgi?id=72211
2083
2084         Reviewed by Dirk Schulze.
2085
2086         Add an empty implementation, which only returns 0 for !ENABLE(FILTERS)
2087         to reduce the #if ENABLE(FILTERS) complexity a bit.
2088
2089         * rendering/svg/RenderSVGContainer.cpp:
2090         (WebCore::RenderSVGContainer::selfWillPaint):
2091         * rendering/svg/RenderSVGRoot.cpp:
2092         (WebCore::RenderSVGRoot::selfWillPaint):
2093         * rendering/svg/SVGRenderSupport.cpp:
2094         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
2095         * rendering/svg/SVGResources.h:
2096         (WebCore::SVGResources::filter):
2097         * rendering/svg/SVGResourcesCache.cpp:
2098         (WebCore::SVGResourcesCache::clientLayoutChanged):
2099         (WebCore::SVGResourcesCache::clientUpdatedFromElement):
2100
2101 2011-11-12  Antti Koivisto  <antti@apple.com>
2102
2103         REGRESSION(r98542): Rendering error on Google maps
2104         https://bugs.webkit.org/show_bug.cgi?id=71996
2105
2106         Reviewed by Andreas Kling.
2107         
2108         r98542 exposed that StyleBoxData copy constructor and operator== are missing a field.
2109         
2110         Test reduction by David Barr.
2111
2112         Test: fast/css/vertical-align-length-copy-bug.html
2113
2114         * rendering/style/StyleBoxData.cpp:
2115         (WebCore::StyleBoxData::StyleBoxData):
2116         (WebCore::StyleBoxData::operator==):
2117
2118 2011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2119
2120         Unreviewed, rolling out r100013.
2121         http://trac.webkit.org/changeset/100013
2122         https://bugs.webkit.org/show_bug.cgi?id=72210
2123
2124         It breaks all mac builds (Requested by WildFox on #webkit).
2125
2126         * html/HTMLAnchorElement.idl:
2127         * html/HTMLAreaElement.idl:
2128         * html/HTMLButtonElement.idl:
2129         * html/HTMLElement.idl:
2130         * html/HTMLInputElement.idl:
2131         * html/HTMLLabelElement.idl:
2132         * html/HTMLLegendElement.idl:
2133         * html/HTMLTextAreaElement.idl:
2134
2135 2011-11-12  Nikolas Zimmermann  <nzimmermann@rim.com>
2136
2137         Finish SVGLengthContext conversion in svg/
2138         https://bugs.webkit.org/show_bug.cgi?id=72105
2139
2140         Reviewed by Antti Koivisto.
2141
2142         Make SVGLengthContext(const SVGElement*) explicit, adapt all remaining call sites.
2143         Now that this process is finished, SVGLengthContext can be shared across renders,
2144         so that its possible to override the length context in a single place. This will
2145         be done in future patches.
2146
2147         Doesn't affect any tests yet.
2148
2149         * bindings/js/JSSVGLengthCustom.cpp:
2150         (WebCore::JSSVGLength::value):
2151         (WebCore::JSSVGLength::setValue):
2152         (WebCore::JSSVGLength::convertToSpecifiedUnits):
2153         * bindings/scripts/CodeGeneratorObjC.pm:
2154         (GenerateImplementation):
2155         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2156         (WebCore::V8SVGLength::valueAccessorGetter):
2157         (WebCore::V8SVGLength::valueAccessorSetter):
2158         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
2159         * css/CSSCursorImageValue.cpp:
2160         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
2161         * rendering/svg/RenderSVGForeignObject.cpp:
2162         (WebCore::RenderSVGForeignObject::layout):
2163         * rendering/svg/RenderSVGImage.cpp:
2164         (WebCore::RenderSVGImage::updateFromElement):
2165         * rendering/svg/RenderSVGPath.cpp:
2166         (WebCore::RenderSVGPath::zeroLengthSubpathRect):
2167         (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
2168         * rendering/svg/RenderSVGResourceMarker.cpp:
2169         (WebCore::RenderSVGResourceMarker::referencePoint):
2170         (WebCore::RenderSVGResourceMarker::calcViewport):
2171         * rendering/svg/RenderSVGText.cpp:
2172         (WebCore::RenderSVGText::strokeBoundingBox):
2173         * rendering/svg/RenderSVGViewportContainer.cpp:
2174         (WebCore::RenderSVGViewportContainer::calcViewport):
2175         * rendering/svg/SVGRenderSupport.cpp:
2176         (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
2177         * rendering/svg/SVGRenderTreeAsText.cpp:
2178         (WebCore::writeStyle):
2179         (WebCore::operator<<):
2180         * rendering/svg/SVGShadowTreeElements.cpp:
2181         (WebCore::SVGShadowTreeContainerElement::containerTranslation):
2182         * rendering/svg/SVGTextChunkBuilder.cpp:
2183         (WebCore::SVGTextChunkBuilder::addTextChunk):
2184         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
2185         (WebCore::extractFloatValuesFromSVGLengthList):
2186         * rendering/svg/SVGTextLayoutEngine.cpp:
2187         (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
2188         (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
2189         * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
2190         (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
2191         * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
2192         (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
2193         * svg/SVGElement.h:
2194         * svg/SVGLengthContext.cpp:
2195         (WebCore::SVGLengthContext::determineViewport):
2196         * svg/SVGLengthContext.h:
2197         * svg/SVGSVGElement.cpp:
2198         (WebCore::SVGSVGElement::viewport):
2199         (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
2200         (WebCore::SVGSVGElement::currentViewBoxRect):
2201         * svg/SVGUseElement.cpp:
2202         (WebCore::SVGUseElement::toClipPath):
2203
2204 2011-11-12  Patrick Gansterer  <paroga@webkit.org>
2205
2206         Unreviewed build fix for !ENABLE(FILTERS) after r100036.
2207
2208         * rendering/svg/SVGRenderSupport.cpp:
2209         (WebCore::SVGRenderSupport::filtersForceContainerLayout):
2210
2211 2011-11-11  Patrick Gansterer  <paroga@webkit.org>
2212
2213         [WIN] Fix build without precompiled header.
2214         https://bugs.webkit.org/show_bug.cgi?id=72115
2215
2216         Unreviewed. Add missing includes to fix build without precompiled header.
2217
2218         * platform/ContextMenu.h:
2219         * platform/graphics/win/DIBPixelData.h:
2220         * platform/graphics/win/FontCustomPlatformData.h:
2221         * platform/network/cf/ResourceError.h:
2222         * platform/win/LanguageWin.cpp:
2223         * platform/win/LocalizedStringsWin.cpp:
2224         * platform/win/LoggingWin.cpp:
2225
2226 2011-11-11  Joseph Pecoraro  <pecoraro@apple.com>
2227
2228         Remove Duplicate Symbol Exports
2229         https://bugs.webkit.org/show_bug.cgi?id=72205
2230
2231         Reviewed by Dan Bernstein.
2232
2233         * WebCore.exp.in: Remove duplicate symbols listed.
2234         Each dup in this case was already always exported.
2235
2236 2011-11-11  Nico Weber  <thakis@chromium.org>
2237
2238         [chromium] Remove 2 static initializers and 3 exit time destructors. Turn on -Wexit-time-destructors.
2239         https://bugs.webkit.org/show_bug.cgi?id=72146
2240
2241         Reviewed by Nate Chapin.
2242
2243         * WebCore.gyp/WebCore.gyp:
2244
2245 2011-11-11  Nat Duca  <nduca@chromium.org>
2246
2247         Since GraphicsContext3D::makeContextCurrent can fail, return bool.
2248
2249         https://bugs.webkit.org/show_bug.cgi?id=72101
2250
2251         Reviewed by Kenneth Russell.
2252
2253         * platform/graphics/GraphicsContext3D.h:
2254         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2255         (WebCore::GraphicsContext3D::makeContextCurrent):
2256         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
2257         (WebCore::GraphicsContext3D::makeContextCurrent):
2258         * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
2259         (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
2260         * platform/graphics/gtk/GraphicsContext3DPrivate.h:
2261         * platform/graphics/mac/GraphicsContext3DMac.mm:
2262         (WebCore::GraphicsContext3D::makeContextCurrent):
2263         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2264         (WebCore::GraphicsContext3D::makeContextCurrent):
2265
2266 2011-11-11  Ojan Vafai  <ojan@chromium.org>
2267
2268         Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
2269         https://bugs.webkit.org/show_bug.cgi?id=72203
2270         r99744 causes crash in Chromium's dom_perf test.
2271
2272         * rendering/RenderTable.cpp:
2273         (WebCore::RenderTable::splitColumn):
2274         (WebCore::RenderTable::appendColumn):
2275         * rendering/RenderTableSection.cpp:
2276         (WebCore::RenderTableSection::addCell):
2277         (WebCore::RenderTableSection::recalcCells):
2278         (WebCore::RenderTableSection::appendColumn):
2279
2280 2011-11-11  James Robinson  <jamesr@chromium.org>
2281
2282         [chromium] Removed unused local from CCThreadProxy::scheduledActionCommit
2283         https://bugs.webkit.org/show_bug.cgi?id=72200
2284
2285         Reviewed by Kenneth Russell.
2286
2287         How did I get here I am not good with computers.
2288
2289         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2290         (WebCore::CCThreadProxy::scheduledActionCommit):
2291
2292 2011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
2293
2294         Fix a crash when an anonymous render block is in a continuation.
2295         https://bugs.webkit.org/show_bug.cgi?id=70994
2296
2297         Reviewed by Chris Fleizach.
2298
2299         Test: accessibility/anonymous-render-block-in-continuation-causes-crash.html
2300
2301         * accessibility/AccessibilityRenderObject.cpp:
2302         (WebCore::AccessibilityRenderObject::renderParentObject):
2303
2304 2011-11-11  Anna Cavender  <annacc@chromium.org>
2305
2306         Storage and retrieval of TextTrackCues during video playback, including
2307         cuechange, enter, and exit events.
2308         https://bugs.webkit.org/show_bug.cgi?id=70452
2309
2310         Reviewed by Eric Carlson.
2311
2312         Tests: media/track/track-cues-cuechange.html
2313                media/track/track-cues-enter-exit.html
2314                media/track/track-cues-seeking.html
2315
2316         Add cuechange, enter, and exit events and make TextTrack and
2317         TextTrackCue EventTargets:
2318         * dom/EventNames.h:
2319         * dom/EventTarget.h:
2320         * dom/EventTargetFactory.in:
2321
2322         * html/HTMLMediaElement.cpp:
2323         (WebCore::HTMLMediaElement::loadTimerFired):
2324             Use scheduleLoad() instead of configureTextTracks() to start an async load.
2325         (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
2326             Updates the list of currently active cues during playback.
2327         (WebCore::HTMLMediaElement::textTrackAddCues):
2328             Adds cues to cueTree.  Called when cues are discovered/loaded.
2329         (WebCore::HTMLMediaElement::textTrackRemoveCues):
2330             Removes cues from cueTree.  Called when cues and/or tracks die.
2331         (WebCore::HTMLMediaElement::textTrackAddCue):
2332             Adds a cue to cueTree.  Called when cues are discovered/loaded.
2333         (WebCore::HTMLMediaElement::textTrackRemoveCue):
2334             Removes a cue from cueTree.  Called when cues and/or tracks die.
2335
2336         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
2337             Update the active TextTrackCues when playbackProgressTimerFired.
2338         (WebCore::HTMLMediaElement::addTrack):
2339             Pass along a ScriptExecutionContext to TextTrack::create().
2340         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
2341             Update the active TextTrackCues when the media player time changes.
2342         * html/HTMLMediaElement.h:
2343             Use a PodIntervalTree cueTree to store and retrieve TextTrackCues
2344             during playback.
2345
2346         * html/HTMLTrackElement.cpp:
2347         (WebCore::HTMLTrackElement::ensureTrack):
2348             Pass along a ScriptExecutionContext needed for EventTarget interface.
2349         * html/LoadableTextTrack.cpp:
2350         (WebCore::LoadableTextTrack::LoadableTextTrack):
2351             Pass along a ScriptExecutionContext needed for EventTarget interface.
2352         (WebCore::LoadableTextTrack::fireCueChangeEvent):
2353             Fire a cue change event on this TextTrack's <track>
2354         * html/LoadableTextTrack.h:
2355         (WebCore::LoadableTextTrack::create):
2356             Pass along a ScriptExecutionContext needed for EventTarget interface.
2357         * html/TextTrack.cpp:
2358         (WebCore::TextTrack::TextTrack):
2359             Pass along a ScriptExecutionContext needed for EventTarget interface.
2360         (WebCore::TextTrack::cues):
2361         (WebCore::TextTrack::activeCues):
2362             Return a TextTrackCueList that represents the currently active cues.
2363         (WebCore::TextTrack::fireCueChangeEvent):
2364             Fires a cue change event.
2365         * html/TextTrack.h:
2366         (WebCore::TextTrack::create):
2367             Pass along a ScriptExecutionContext needed for EventTarget interface.
2368         * html/TextTrack.idl:
2369             Makes TextTrack extend EventTarget interface and add oncuechange.
2370         * html/TextTrackCue.cpp:
2371         (WebCore::TextTrackCue::TextTrackCue):
2372             TextTrackCue should extend EventTarget, not ActiveDOMObject.
2373         (WebCore::TextTrackCue::isActive):
2374         (WebCore::TextTrackCue::setIsActive):
2375             Dispatch an enter or exit event depending on active state and notify
2376             the corresponding track to fire a cuechange event.
2377
2378         The following are needed for EventTarget interface:
2379         (WebCore::TextTrackCue::interfaceName):
2380         (WebCore::TextTrackCue::scriptExecutionContext):
2381         (WebCore::TextTrackCue::eventTargetData):
2382         (WebCore::TextTrackCue::ensureEventTargetData):
2383         * html/TextTrackCue.h:
2384         (WebCore::TextTrackCue::refEventTarget):
2385         (WebCore::TextTrackCue::derefEventTarget):
2386
2387         * html/TextTrackCue.idl:
2388             Extend EventTarget and add onenter and onexit.
2389         * html/TextTrackCueList.cpp:
2390         (WebCore::TextTrackCueList::activeCues):
2391             Update and return the list of currently active cues.
2392         (WebCore::TextTrackCueList::clear):
2393             Clear the cues from list (needed to return same object each time).
2394         * html/TextTrackCueList.h:
2395
2396         The following are needed for EventTarget interface:
2397         * html/track/TrackBase.cpp:
2398         (WebCore::TrackBase::TrackBase):
2399         (WebCore::TrackBase::interfaceName):
2400         (WebCore::TrackBase::scriptExecutionContext):
2401         (WebCore::TrackBase::eventTargetData):
2402         (WebCore::TrackBase::ensureEventTargetData):
2403         * html/track/TrackBase.h:
2404         (WebCore::TrackBase::refEventTarget):
2405         (WebCore::TrackBase::derefEventTarget):
2406
2407 2011-11-11  David Reveman  <reveman@chromium.org>
2408
2409         [Chromium] Remove unused variable added by r99813.
2410         https://bugs.webkit.org/show_bug.cgi?id=72199
2411
2412         Reviewed by James Robinson.
2413
2414         * platform/graphics/chromium/TiledLayerChromium.cpp:
2415         (WebCore::TiledLayerChromium::prepareToUpdate):
2416
2417 2011-11-11  James Robinson  <jamesr@chromium.org>
2418
2419         Rollout http://trac.webkit.org/changeset/99844
2420         Solution is more complicated than the problem it was intended to solve.
2421
2422         * platform/graphics/chromium/LayerChromium.cpp:
2423         * platform/graphics/chromium/LayerChromium.h:
2424         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2425         * platform/graphics/chromium/cc/CCLayerImpl.h:
2426         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2427         (WebCore::CCLayerTreeHost::applyScrollAndScale):
2428         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2429         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2430         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
2431         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2432         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2433         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2434         (WebCore::CCThreadProxy::beginFrameAndCommit):
2435         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2436         * platform/graphics/chromium/cc/CCThreadProxy.h:
2437
2438 2011-11-11  Levi Weintraub  <leviw@chromium.org>
2439
2440         Revert Page to operate on integers
2441         https://bugs.webkit.org/show_bug.cgi?id=72185
2442
2443         Reviewed by Eric Seidel.
2444
2445         Reverting the page classes to integers from LayoutUnits. It's not necessary to expose
2446         LayoutUnits in these classes, so we'll avoid doing so.
2447
2448         No new tests, no change in behavior.
2449
2450         * page/EventHandler.cpp:
2451         (WebCore::EventHandler::handleMousePressEvent):
2452         (WebCore::EventHandler::sendContextMenuEventForKey):
2453         (WebCore::EventHandler::dragHysteresisExceeded):
2454         (WebCore::EventHandler::handleDrag):
2455         * page/EventHandler.h:
2456         * page/Frame.cpp:
2457         (WebCore::Frame::documentAtPoint):
2458         * page/Frame.h:
2459         * page/FrameView.cpp:
2460         (WebCore::FrameView::create):
2461         (WebCore::FrameView::invalidateRect):
2462         (WebCore::FrameView::setFrameRect):
2463         (WebCore::FrameView::setContentsSize):
2464         (WebCore::FrameView::adjustViewSize):
2465         (WebCore::FrameView::repaintContentRectangle):
2466         (WebCore::FrameView::invalidateScrollbarRect):
2467         (WebCore::FrameView::getTickmarks):
2468         (WebCore::FrameView::windowResizerRect):
2469         (WebCore::FrameView::setVisibleScrollerThumbRect):
2470         (WebCore::FrameView::updateScrollCorner):
2471         (WebCore::FrameView::paintScrollCorner):
2472         (WebCore::FrameView::paintContents):
2473         (WebCore::FrameView::paintOverhangAreas):
2474         (WebCore::FrameView::convertFromRenderer):
2475         (WebCore::FrameView::convertToRenderer):
2476         (WebCore::FrameView::convertToContainingView):
2477         (WebCore::FrameView::convertFromContainingView):
2478         * page/FrameView.h:
2479         * page/Page.cpp:
2480         (WebCore::Page::setPageScaleFactor):
2481         * page/Page.h:
2482         * page/SpatialNavigation.cpp:
2483         (WebCore::scrollInDirection):
2484
2485 2011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
2486
2487         New iframe content may not be reflected in the ax tree.
2488         https://bugs.webkit.org/show_bug.cgi?id=72100
2489
2490         Reviewed by Chris Fleizach.
2491
2492         The core issue was that when childrenChanged was called on a
2493         web area from an iframe that was just detached, it wasn't calling
2494         childrenChanged on its parent scroll area, or that scroll area's
2495         parent iframe element. To fix this, now AccessibilityScrollView
2496         implements setNeedsToUpdateChildren and parentObjectIfExists,
2497         and childrenChanged calls setNeedsToUpdateChildren on every object
2498         in the parent chain, not just AccessibilityRenderObjects.
2499
2500         Test: accessibility/loading-iframe-updates-axtree.html
2501
2502         * accessibility/AXObjectCache.h:
2503         * accessibility/AccessibilityObject.h:
2504         (WebCore::AccessibilityObject::setNeedsToUpdateChildren):
2505         * accessibility/AccessibilityRenderObject.cpp:
2506         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
2507         (WebCore::AccessibilityRenderObject::childrenChanged):
2508         * accessibility/AccessibilityRenderObject.h:
2509         (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
2510         * accessibility/AccessibilityScrollView.cpp:
2511         (WebCore::AccessibilityScrollView::AccessibilityScrollView):
2512         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
2513         (WebCore::AccessibilityScrollView::parentObject):
2514         (WebCore::AccessibilityScrollView::parentObjectIfExists):
2515         * accessibility/AccessibilityScrollView.h:
2516         (WebCore::AccessibilityScrollView::setNeedsToUpdateChildren):
2517
2518 2011-11-11  Iain Merrick  <husky@google.com>
2519
2520         [chromium] Fix CCThreadProxy::setVisible
2521         https://bugs.webkit.org/show_bug.cgi?id=71903
2522
2523         The behavior is different depending on whether we're showing
2524         or hiding the compositor. This patch fixes both code paths.
2525
2526         Reviewed by James Robinson.
2527
2528         * platform/graphics/chromium/cc/CCCompletionEvent.h:
2529         (WebCore::CCCompletionEvent::CCCompletionEvent):
2530         (WebCore::CCCompletionEvent::~CCCompletionEvent):
2531         (WebCore::CCCompletionEvent::wait):
2532         (WebCore::CCCompletionEvent::signal):
2533         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2534         (WebCore::CCThreadProxy::setVisible):
2535
2536 2011-11-11  Iain Merrick  <husky@google.com>
2537
2538         [chromium] CCThreadProxy::finishAllRendering hangs if !visible
2539         https://bugs.webkit.org/show_bug.cgi?id=71920
2540
2541         Reviewed by James Robinson.
2542
2543         * platform/graphics/chromium/cc/CCScheduler.cpp:
2544         (WebCore::CCScheduler::setNeedsForcedRedraw):
2545         * platform/graphics/chromium/cc/CCScheduler.h:
2546         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2547         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
2548         (WebCore::CCSchedulerStateMachine::nextAction):
2549         (WebCore::CCSchedulerStateMachine::updateState):
2550         (WebCore::CCSchedulerStateMachine::setNeedsForcedRedraw):
2551         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
2552         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2553         (WebCore::CCThreadProxy::requestReadbackOnImplThread):
2554         (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
2555
2556 2011-11-11  John Knottenbelt  <jknotten@chromium.org>
2557
2558         [Chromium] Enable building without shared workers.
2559         https://bugs.webkit.org/show_bug.cgi?id=72122
2560
2561         Reviewed by Yury Semikhatsky.
2562
2563         * bindings/v8/WorkerScriptDebugServer.cpp:
2564         (WebCore::retrieveWorkerContext):
2565
2566 2011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>
2567
2568         Crash in styleDidChange when changing a table cell's height.
2569         <http://webkit.org/b/72004>
2570
2571         Reviewed by Darin Adler.
2572
2573         Tests: fast/table/crash-table-cell-change-height.html
2574                fast/table/table-cell-change-height-with-needsCellRecalc-section.html
2575                fast/table/table-cell-change-last-row-with-needsCellRecalc-section.html
2576                fast/table/table-row-change-height-with-needsCellRecalc-section.html
2577
2578         r99212 removed our call to recalcCells when the logical height changed. This
2579         means that we could end up with a cells without having set its row() properly
2580         which would crash.
2581
2582         The change exposes the was-the-row-properly-set information so that we don't
2583         try to access a bogus index. This should work properly even if the section
2584         needs a cell recalc as the current section's row structure would still be
2585         accurate in this case.
2586
2587         * rendering/RenderTableCell.cpp:
2588         (WebCore::RenderTableCell::styleDidChange): Check that our row index
2589         was properly set before calling
2590
2591         * rendering/RenderTableCell.h:
2592         (WebCore::RenderTableCell::rowWasSet): Helper function to detect
2593         if we have set up our a row.
2594         (WebCore::RenderTableCell::row): Use the previous function in the
2595         ASSERT.
2596
2597 2011-11-11  Shinya Kawanaka  <shinyak@google.com>
2598
2599         Implement legacy text check emulation in unified text check interface.
2600         https://bugs.webkit.org/show_bug.cgi?id=70299
2601
2602         Reviewed by Hajime Morita.
2603
2604         When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
2605         TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
2606
2607         This emulation can be used by setting the flag on.
2608         This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
2609
2610         Test: editing/spelling/spelling-unified-emulation.html
2611
2612         * editing/TextCheckingHelper.cpp:
2613         (WebCore::findBadGrammars): Added.
2614         (WebCore::findMisspellings): Added.
2615         (WebCore::checkTextOfParagraph):
2616           Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
2617         * testing/Internals.cpp:
2618         (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
2619         (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
2620         * testing/Internals.h:
2621         * testing/Internals.idl:
2622
2623 2011-11-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2624
2625         [CMAKE] Add a missing file to PlatformEfl.cmake for curl network backend.
2626         https://bugs.webkit.org/show_bug.cgi?id=72092
2627
2628         Unreviewed. Fix build break when using curl.
2629
2630         ProxyServerCurl.cpp file is not included in PlatformEfl.cmake. So, the file is not built
2631         when EFL port uses curl as network backend.
2632
2633         * PlatformEfl.cmake: Add missing ProxyServerCurl.cpp.
2634
2635 2011-11-11  Emil A Eklund  <eae@chromium.org>
2636
2637         Switch remaining RenderBlock/Box methods to to new layout types
2638         https://bugs.webkit.org/show_bug.cgi?id=72075
2639
2640         Reviewed by Eric Seidel.
2641
2642         Move margins, floats and line layout block logic to layout abstraction.
2643
2644         No new tests.
2645
2646         * rendering/RenderBlockLineLayout.cpp:
2647         (WebCore::borderPaddingMarginStart):
2648         (WebCore::borderPaddingMarginEnd):
2649         (WebCore::inlineLogicalWidth):
2650         (WebCore::setStaticPositions):
2651         (WebCore::LineLayoutState::LineLayoutState):
2652         (WebCore::LineLayoutState::setRepaintRange):
2653         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
2654         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2655         (WebCore::RenderBlock::linkToEndLineIfNeeded):
2656         (WebCore::RenderBlock::layoutInlineChildren):
2657         (WebCore::RenderBlock::checkFloatsInCleanLine):
2658         (WebCore::RenderBlock::determineStartPosition):
2659         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
2660         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2661         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2662         (WebCore::RenderBlock::checkLinesForTextOverflow):
2663         (WebCore::RenderBlock::positionNewFloatOnLine):
2664         * rendering/RenderBox.cpp:
2665         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
2666         (WebCore::RenderBox::offsetFromContainer):
2667         (WebCore::RenderBox::positionLineBox):
2668         (WebCore::RenderBox::computeInlineDirectionMargins):
2669         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2670         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
2671         * rendering/RenderBox.h:
2672         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
2673
2674 2011-11-11  Antoine Labour  <piman@chromium.org>
2675
2676         [chromium] Add translation/scaling to WebExternalTextureLayer
2677         https://bugs.webkit.org/show_bug.cgi?id=72087
2678
2679         Reviewed by James Robinson.
2680
2681         Covered by WebLayerTest.
2682
2683         * platform/graphics/chromium/PluginLayerChromium.cpp:
2684         (WebCore::PluginLayerChromium::PluginLayerChromium):
2685         (WebCore::PluginLayerChromium::setUVRect):
2686         (WebCore::PluginLayerChromium::pushPropertiesTo):
2687         * platform/graphics/chromium/PluginLayerChromium.h:
2688         (WebCore::PluginLayerChromium::uvRect):
2689         * platform/graphics/chromium/ShaderChromium.cpp:
2690         (WebCore::VertexShaderPosTexStretch::VertexShaderPosTexStretch):
2691         (WebCore::VertexShaderPosTexStretch::init):
2692         (WebCore::VertexShaderPosTexStretch::getShaderString):
2693         * platform/graphics/chromium/ShaderChromium.h:
2694         (WebCore::VertexShaderPosTexStretch::matrixLocation):
2695         (WebCore::VertexShaderPosTexStretch::offsetLocation):
2696         (WebCore::VertexShaderPosTexStretch::scaleLocation):
2697         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2698         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
2699         (WebCore::CCPluginLayerImpl::draw):
2700         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2701         (WebCore::CCPluginLayerImpl::setUVRect):
2702
2703 2011-11-11  Stephen Chenney  <schenney@chromium.org>
2704
2705         Null deref when no use element exists for SVG element instance
2706         https://bugs.webkit.org/show_bug.cgi?id=59136
2707
2708         Second attempt, with a fix to handle JS garbage collection.
2709
2710         Reviewed by Nikolas Zimmermann.
2711
2712         Test: svg/custom/element-instance-held-by-js-crash.svg
2713
2714         * svg/SVGElementInstance.cpp:
2715         (WebCore::SVGElementInstance::~SVGElementInstance): Added call to detach() to clear
2716           anything not yet cleared.
2717         (WebCore::SVGElementInstance::detach): New method to replace old clear methods. This one
2718           clears all the pointers it can, and removes the instance from the corresponding elements
2719           instance list.
2720         * svg/SVGElementInstance.h: Removed clear methods and replaced with detach.
2721         * svg/SVGUseElement.cpp: 
2722         (WebCore::SVGUseElement::detachInstance): Modified calls to clean up an SVGElementInstance.
2723
2724 2011-11-11  Florin Malita  <fmalita@google.com>
2725
2726         clipPath does not work on foreignObject
2727         https://bugs.webkit.org/show_bug.cgi?id=68251
2728
2729         Reviewed by Dirk Schulze.
2730
2731         Add ForeignObject clipping, filtering and masking support using the SVGRenderSupport helpers
2732         (prepareToRenderSVGContent, finishRenderSVGContent) on RenderSVGForeignObject's paint path.
2733         This also allows us to remove explicit transparency handling, since the helpers already cover it.
2734
2735         Tests: svg/foreignObject/clip.html
2736                svg/foreignObject/filter.html
2737                svg/foreignObject/mask.html
2738
2739         * rendering/svg/RenderSVGForeignObject.cpp:
2740         (WebCore::RenderSVGForeignObject::paint):
2741         * rendering/svg/SVGResources.cpp:
2742         (WebCore::clipperFilterMaskerTags):
2743
2744 2011-11-11  Adam Klein  <adamk@chromium.org>
2745
2746         Remove no-op StorageNamespace::unlock method
2747         https://bugs.webkit.org/show_bug.cgi?id=72181
2748
2749         Reviewed by Darin Adler.
2750
2751         The method was meant to support the localStorage mutex,
2752         but the approach of using a mutex for localStorage has never been
2753         implemented (and almost certainly won't be). Even if it were implemented,
2754         it's not being called at the right time, due to bugs in the V8 bindings'
2755         use of V8Proxy (see http://webkit.org/b/72063 for details).
2756
2757         If, in the future, some replacement for a mutex is used to synchronize
2758         localStorage access, it can easily be re-added to the (hopefully
2759         fixed-by-then) replacement for V8Proxy::didLeaveScriptContext.
2760
2761         * bindings/v8/V8Proxy.cpp:
2762         (WebCore::V8Proxy::didLeaveScriptContext): Stop calling unlock().
2763         * page/Navigator.cpp:
2764         (WebCore::Navigator::getStorageUpdates): Remove implementation (a call to unlock), but leave code as it's exposed to the platform.
2765         * page/Navigator.idl: Added a FIXME to remove getStorageUpdates from the platform.
2766         * storage/StorageNamespace.h:
2767         * storage/StorageNamespaceImpl.cpp:
2768         * storage/StorageNamespaceImpl.h:
2769
2770 2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>
2771
2772         [Qt][WK2] Make sure Scrollbars are in their own layer.
2773         https://bugs.webkit.org/show_bug.cgi?id=72064
2774
2775         Reviewed by Kenneth Rohde Christiansen.
2776
2777         Make sure we render our scrollbars in a separate layer.
2778
2779         No new tests : existing ones should cover.
2780
2781         * platform/qt/ScrollbarThemeQt.h:
2782         (WebCore::ScrollbarThemeQt::usesOverlayScrollbars):
2783
2784 2011-11-11  Joel Webber  <jgw@google.com>
2785
2786         Repaint broken when children of filtered SVG elements are updated
2787         https://bugs.webkit.org/show_bug.cgi?id=71733
2788
2789         Reviewed by Nikolas Zimmermann.
2790
2791         Test: svg/repaint/filter-child-repaint.svg
2792
2793         * rendering/svg/RenderSVGContainer.cpp:
2794         (WebCore::RenderSVGContainer::layout):
2795         * rendering/svg/RenderSVGRoot.cpp:
2796         (WebCore::RenderSVGRoot::layout):
2797         * rendering/svg/SVGRenderSupport.cpp:
2798         (WebCore::SVGRenderSupport::setNeedsLayoutForFilteredContainer):
2799
2800 2011-11-11  Timothy Hatcher  <timothy@apple.com>
2801
2802         Don't remove InspectorBackendStub.js in Release builds after it has been
2803         combined into inspector.js. Also remove any *.qrc file on Mac.
2804
2805         https://webkit.org/b/72186
2806
2807         Reviewed by Joseph Pecoraro.
2808
2809         * WebCore.xcodeproj/project.pbxproj:
2810
2811 2011-11-11  Jeff Timanus  <twiz@chromium.org>
2812
2813         [chromium] Patch that implementing the changes required to allow WebGL
2814         to share its backing store directly with the compositor.
2815         WebGL rendering contexts create and render to FBOs managed by a
2816         DrawingBuffer instance. All PlatformLayer lifetime management is
2817         performed by the DrawingBuffer.
2818         Changes are only relevant to Chromium ports. Functionality is
2819         unchanged for other ports.
2820         https://bugs.webkit.org/show_bug.cgi?id=53201
2821
2822         Reviewed by Stephen White.
2823
2824         * html/canvas/WebGLRenderingContext.cpp: Construct a DrawingBuffer
2825         during initialization, and forward all framebuffer management calls to
2826         it.
2827         (WebCore::WebGLRenderingContext::create):
2828         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2829         (WebCore::WebGLRenderingContext::initializeNewContext):
2830         (WebCore::WebGLRenderingContext::markContextChanged):
2831         (WebCore::WebGLRenderingContext::clearIfComposited):
2832         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
2833         (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
2834         (WebCore::WebGLRenderingContext::reshape):
2835         (WebCore::WebGLRenderingContext::drawingBufferWidth):
2836         (WebCore::WebGLRenderingContext::drawingBufferHeight):
2837         (WebCore::WebGLRenderingContext::bindFramebuffer):
2838         (WebCore::WebGLRenderingContext::copyTexImage2D):
2839         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2840         (WebCore::WebGLRenderingContext::deleteFramebuffer):
2841         (WebCore::WebGLRenderingContext::disable):
2842         (WebCore::WebGLRenderingContext::enable):
2843         (WebCore::WebGLRenderingContext::readPixels):
2844         (WebCore::WebGLRenderingContext::platformLayer):
2845         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
2846         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
2847         (WebCore::WebGLRenderingContext::maybeRestoreContext):
2848         * html/canvas/WebGLRenderingContext.h:
2849         * platform/graphics/GraphicsContext3D.cpp:
2850         * platform/graphics/GraphicsContext3D.h:  WebGLLayerChromium instances
2851         are no longer tracked by GraphicsContext3D. Callers can now pass a
2852         DrawingBuffer instance to provide access to the WebGLLayerChromium data.
2853         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2854         (WebCore::generateColorTexture):
2855         (WebCore::DrawingBuffer::DrawingBuffer):
2856         (WebCore::DrawingBuffer::initialize):
2857         (WebCore::DrawingBuffer::publishToPlatformLayer):
2858         (WebCore::DrawingBuffer::platformLayer):
2859         (WebCore::DrawingBuffer::platformColorBuffer):
2860         (WebCore::DrawingBuffer::framebuffer):
2861         (WebCore::DrawingBuffer::markContextChanged):
2862         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
2863         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2864         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
2865         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
2866         (WebCore::WebGLLayerChromium::drawsContent):
2867         (WebCore::WebGLLayerChromium::updateCompositorResources):
2868         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
2869         (WebCore::WebGLLayerChromium::contentChanged):
2870         (WebCore::WebGLLayerChromium::setDrawingBuffer):
2871         (WebCore::WebGLLayerChromium::context):
2872         * platform/graphics/chromium/WebGLLayerChromium.h: WebGLLayerChromium instances
2873         have a raw reference to their owning DrawingBuffer.  This reference is set to NULL on
2874         destruction of the DrawingBuffer.  This follows the old code, which had the WebGLLayerChromium
2875         refer rawly to a GraphicsContext3D instance, which was also revoked during tear-down of the
2876         GraphicsContext3D.
2877         (WebCore::WebGLLayerChromium::drawingBuffer):
2878         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2879         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2880         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2881         * platform/graphics/gpu/DrawingBuffer.cpp: The DrawingBuffer is now the
2882         central point between the GraphicsContext3D, WebGLRenderingContext, and
2883         WebGLLayerChromium classes.  GraphicsContext3D, and WebGLLayerChromium only
2884         depend on the DrawingBuffer interface.
2885         (WebCore::DrawingBuffer::create):
2886         (WebCore::DrawingBuffer::clear):
2887         (WebCore::DrawingBuffer::clearFramebuffer):
2888         (WebCore::DrawingBuffer::reset):
2889         (WebCore::DrawingBuffer::commit):
2890         (WebCore::DrawingBuffer::multisample):
2891         (WebCore::DrawingBuffer::paintRenderingResultsToImageData):
2892         (WebCore::DrawingBuffer::discardResources):
2893         * platform/graphics/gpu/DrawingBuffer.h:
2894         (WebCore::DrawingBuffer::setScissorEnabled):
2895         * platform/graphics/gpu/mac/DrawingBufferMac.mm:
2896         (WebCore::DrawingBuffer::DrawingBuffer):
2897         * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
2898         (WebCore::DrawingBuffer::DrawingBuffer):
2899         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2900         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2901         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2902         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2903         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2904         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2905
2906 2011-11-11  Darin Adler  <darin@apple.com>
2907
2908         Remove all releaseRef implementations except for RetainPtr
2909         https://bugs.webkit.org/show_bug.cgi?id=71423
2910
2911         Reviewed by Julien Chaffraix.
2912
2913         * platform/win/COMPtr.h: Removed releaseRef.
2914
2915 2011-11-11  Darin Adler  <darin@apple.com>
2916
2917         * WebCore.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
2918         If an older Xcode downgrades this file and we have a risk of some kind of
2919         oscillating commit situation, please contact me so I know not to do this again.
2920
2921 2011-11-11  Ojan Vafai  <ojan@chromium.org>
2922
2923         Unreviewed, rolling out r99953.
2924         Caused 4 tests to hit an assert.
2925         https://bugs.webkit.org/show_bug.cgi?id=72163
2926
2927         * inspector/InspectorInstrumentation.h:
2928         (WebCore::InspectorInstrumentation::didStartWorkerContext):
2929         * inspector/InspectorWorkerAgent.cpp:
2930         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
2931         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
2932         (WebCore::InspectorWorkerAgent::setFrontend):
2933         (WebCore::InspectorWorkerAgent::restore):
2934         (WebCore::InspectorWorkerAgent::clearFrontend):
2935         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
2936         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
2937         (WebCore::InspectorWorkerAgent::workerContextTerminated):
2938         * inspector/InspectorWorkerAgent.h:
2939
2940 2011-11-11  Vincent Scheib  <scheib@chromium.org>
2941
2942         Unreviewed, rolling out r100024.
2943         http://trac.webkit.org/changeset/100024
2944         https://bugs.webkit.org/show_bug.cgi?id=72158
2945
2946         Broke chromium build
2947
2948         * dom/MouseEvent.cpp:
2949         (WebCore::MouseEvent::initMouseEvent):
2950         (WebCore::MouseEventDispatchMediator::dispatchEvent):
2951         * dom/MouseEvent.h:
2952         * dom/MouseEvent.idl:
2953         * dom/MouseRelatedEvent.h:
2954
2955 2011-11-11  Vincent Scheib  <scheib@chromium.org>
2956
2957         Mouse Lock: MouseEvent IDL
2958         https://bugs.webkit.org/show_bug.cgi?id=72158
2959
2960         Reviewed by Dimitri Glazkov.
2961
2962         Tests for movementX/Y pending mock mouse lock test infrastructure.
2963
2964         * dom/MouseEvent.cpp:
2965         (WebCore::MouseEvent::initMouseEvent):
2966         (WebCore::MouseEventDispatchMediator::dispatchEvent):
2967         * dom/MouseEvent.h:
2968         * dom/MouseEvent.idl:
2969         * dom/MouseRelatedEvent.h:
2970         (WebCore::MouseRelatedEvent::movementX):
2971         (WebCore::MouseRelatedEvent::movementY):
2972
2973 2011-11-11  Beth Dakin  <bdakin@apple.com>
2974
2975         https://bugs.webkit.org/show_bug.cgi?id=72167
2976         REGRESSION: Scroll position not restored on back after scroll 
2977         -and corresponding-
2978         <rdar://problem/10410684>
2979
2980         Reviewed by Simon Fraser.
2981
2982         We can't just return early if we are not on an active page. 
2983         notifyPositionChanged() is called when a page is going into the page cache (and 
2984         therefore when not on an active page). We should not notify AppKit that the page 
2985         has scrolled in that case, but we still need to call 
2986         ScrollAnimator::notifyPositionChanged();. So this patch removes the early return, 
2987         and replaces it with a conditional around the relevant code.
2988         * platform/mac/ScrollAnimatorMac.mm:
2989         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2990
2991 2011-11-11  Julien Chaffraix  <jchaffraix@codeaurora.org>, Zaheer Ahmad  <zahimad@codeaurora.org>, Joone Hur  <joone.hur@collabora.co.uk>, Tomasz Morawski  <t.morawski@samsung.com>
2992
2993         Added TileCairo and TiledBackingStoreBackendCairo files
2994         https://bugs.webkit.org/show_bug.cgi?id=71350
2995
2996         Reviewed by Martin Robinson.
2997
2998         Added TileCairo and TiledBackingStoreBackend files needed by Tiled Backing Store implementation that uses cairo
2999         library eg. EFL and Gtk WebKit port.
3000
3001         This patch contains some parts of rebased and updated code from 45423 bug. Originals authors of the code are:
3002         - Julien Chaffraix  <jchaffraix@codeaurora.org>
3003         - Zaheer Ahmad  <zahmad@codeaurora.org>
3004         - Joone Hur  <joone.hur@collabora.co.uk>
3005
3006         * platform/graphics/cairo/RefPtrCairo.cpp: Added support of RefPtr for cairo_region object.
3007         (WTF::refIfNotNull): New refIfNotNull function for cairo_region object.
3008         (WTF::derefIfNotNull): New derefIfNotNull function for cairo_region object.
3009         * platform/graphics/cairo/RefPtrCairo.h: Added support of RefPtr for cairo_region object.
3010         * platform/graphics/cairo/TileCairo.cpp: Added a new file. Implementation of TileCairo class.
3011         (WebCore::TileCairo::TileCairo):
3012         (WebCore::TileCairo::~TileCairo):
3013         (WebCore::TileCairo::isDirty):
3014         (WebCore::TileCairo::isReadyToPaint):
3015         (WebCore::TileCairo::invalidate):
3016         (WebCore::TileCairo::updateBackBuffer):
3017         (WebCore::TileCairo::swapBackBufferToFront):
3018         (WebCore::TileCairo::paint):
3019         (WebCore::TileCairo::resize):
3020         * platform/graphics/cairo/TileCairo.h: Added a new file. Implementation of TileCairo class.
3021         (WebCore::TileCairo::create):
3022         (WebCore::TileCairo::coordinate):
3023         (WebCore::TileCairo::rect):
3024         * platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp: Added a new file. Implementation of
3025         TiledBackingStoreBackend methods.
3026         (WebCore::TiledBackingStoreBackend::createTile):
3027         (WebCore::checkeredSurface): Helper function that creates checkered surface (see below function)
3028         (WebCore::TiledBackingStoreBackend::paintCheckerPattern): Function is used to draw a place holder when tile no
3029         exist or it is not ready to paint yet. The checkered surface is used here.
3030
3031 2011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>
3032
3033         Remove unneeded frame check in FrameView::detachCustomScrollbars
3034         https://bugs.webkit.org/show_bug.cgi?id=71980
3035
3036         Reviewed by Anders Carlsson.
3037
3038         Change covered by the existing tests in scrollbars/.
3039
3040         * page/FrameView.cpp:
3041         (WebCore::FrameView::detachCustomScrollbars):
3042         Remove the leftover check that was forgotten by the different refactoring.
3043
3044 2011-11-11  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
3045
3046         Access key should work on all elements.
3047         https://bugs.webkit.org/show_bug.cgi?id=71854
3048
3049         Reviewed by Adam Barth.
3050
3051         As per specification http://dev.w3.org/html5/spec/Overview.html#elements-in-the-dom
3052         says All HTML elements can have the accesskey content attribute set. Adding "accessKey"
3053         attribute idl file as [Reflect].
3054
3055         Test: fast/forms/access-key-for-all-elements.html
3056
3057         * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
3058         * html/HTMLAreaElement.idl: Ditto. 
3059         * html/HTMLButtonElement.idl: Ditto.
3060         * html/HTMLElement.idl: Added accessKey IDL attribute.
3061         * html/HTMLInputElement.idl: Ditto.
3062         * html/HTMLLabelElement.idl: Ditto.
3063         * html/HTMLLegendElement.idl: Ditto.
3064         * html/HTMLTextAreaElement.idl: Ditto.
3065
3066 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
3067
3068         Add jsCast to replace static_cast
3069         https://bugs.webkit.org/show_bug.cgi?id=72071
3070
3071         Reviewed by Geoffrey Garen.
3072
3073         No new tests. 
3074
3075         Added new jsCast and changed all of the static_cast sites in functions that 
3076         are in the MethodTable to use jsCast instead.
3077
3078         * bindings/js/JSAttrCustom.cpp:
3079         (WebCore::JSAttr::visitChildren):
3080         * bindings/js/JSAudioContextCustom.cpp:
3081         (WebCore::JSAudioContext::visitChildren):
3082         * bindings/js/JSCSSRuleCustom.cpp:
3083         (WebCore::JSCSSRule::visitChildren):
3084         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3085         (WebCore::JSCSSStyleDeclaration::visitChildren):
3086         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3087         (WebCore::toHTMLCanvasStyle):
3088         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3089         (WebCore::JSCanvasRenderingContext::visitChildren):
3090         * bindings/js/JSDOMGlobalObject.cpp:
3091         (WebCore::JSDOMGlobalObject::visitChildren):
3092         * bindings/js/JSDOMStringMapCustom.cpp:
3093         (WebCore::JSDOMStringMap::getOwnPropertyNames):
3094         (WebCore::JSDOMStringMap::deleteProperty):
3095         * bindings/js/JSDOMWindowBase.cpp:
3096         (WebCore::JSDOMWindowBase::toThisObject):
3097         * bindings/js/JSDOMWindowCustom.cpp:
3098         (WebCore::JSDOMWindow::visitChildren):
3099         (WebCore::JSDOMWindow::getOwnPropertySlot):
3100         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
3101         (WebCore::JSDOMWindow::put):
3102         (WebCore::JSDOMWindow::deleteProperty):
3103         (WebCore::JSDOMWindow::getPropertyNames):
3104         (WebCore::JSDOMWindow::getOwnPropertyNames):
3105         (WebCore::JSDOMWindow::defineGetter):
3106         (WebCore::JSDOMWindow::defineSetter):
3107         (WebCore::JSDOMWindow::defineOwnProperty):
3108         * bindings/js/JSDOMWindowShell.cpp:
3109         (WebCore::JSDOMWindowShell::className):
3110         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
3111         (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
3112         (WebCore::JSDOMWindowShell::put):
3113         (WebCore::JSDOMWindowShell::putWithAttributes):
3114         (WebCore::JSDOMWindowShell::defineOwnProperty):
3115         (WebCore::JSDOMWindowShell::deleteProperty):
3116         (WebCore::JSDOMWindowShell::getPropertyNames):
3117         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
3118         (WebCore::JSDOMWindowShell::defineGetter):
3119         (WebCore::JSDOMWindowShell::defineSetter):
3120         * bindings/js/JSHTMLAppletElementCustom.cpp:
3121         (WebCore::JSHTMLAppletElement::getCallData):
3122         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3123         (WebCore::JSHTMLEmbedElement::getCallData):
3124         * bindings/js/JSHTMLObjectElementCustom.cpp:
3125         (WebCore::JSHTMLObjectElement::getCallData):
3126         * bindings/js/JSHistoryCustom.cpp:
3127         (WebCore::JSHistory::deleteProperty):
3128         (WebCore::JSHistory::getOwnPropertyNames):
3129         * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
3130         (WebCore::JSJavaScriptAudioNode::visitChildren):
3131         * bindings/js/JSLocationCustom.cpp:
3132         (WebCore::JSLocation::deleteProperty):
3133         (WebCore::JSLocation::getOwnPropertyNames):
3134         * bindings/js/JSMessageChannelCustom.cpp:
3135         (WebCore::JSMessageChannel::visitChildren):
3136         * bindings/js/JSMessagePortCustom.cpp:
3137         (WebCore::JSMessagePort::visitChildren):
3138         * bindings/js/JSNamedNodeMapCustom.cpp:
3139         (WebCore::JSNamedNodeMap::visitChildren):
3140         * bindings/js/JSNodeCustom.cpp:
3141         (WebCore::JSNode::visitChildren):
3142         * bindings/js/JSNodeFilterCustom.cpp:
3143         (WebCore::JSNodeFilter::visitChildren):
3144         * bindings/js/JSNodeIteratorCustom.cpp:
3145         (WebCore::JSNodeIterator::visitChildren):
3146         * bindings/js/JSSVGElementInstanceCustom.cpp:
3147         (WebCore::JSSVGElementInstance::visitChildren):
3148         * bindings/js/JSSharedWorkerCustom.cpp:
3149         (WebCore::JSSharedWorker::visitChildren):
3150         * bindings/js/JSStorageCustom.cpp:
3151         (WebCore::JSStorage::deleteProperty):
3152         (WebCore::JSStorage::getOwnPropertyNames):
3153         * bindings/js/JSStyleSheetCustom.cpp:
3154         (WebCore::JSStyleSheet::visitChildren):
3155         * bindings/js/JSTreeWalkerCustom.cpp:
3156         (WebCore::JSTreeWalker::visitChildren):
3157         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3158         (WebCore::JSWebGLRenderingContext::visitChildren):
3159         * bindings/js/JSWorkerContextCustom.cpp:
3160         (WebCore::JSWorkerContext::visitChildren):
3161         * bindings/js/JSXMLHttpRequestCustom.cpp:
3162         (WebCore::JSXMLHttpRequest::visitChildren):
3163         * bindings/js/JSXPathResultCustom.cpp:
3164         (WebCore::JSXPathResult::visitChildren):
3165         * bindings/scripts/CodeGeneratorJS.pm:
3166         (GenerateHeader):
3167         (GenerateImplementation):
3168         * bindings/scripts/test/JS/JSTestInterface.cpp:
3169         (WebCore::JSTestInterface::getOwnPropertySlot):
3170         (WebCore::JSTestInterface::getOwnPropertyDescriptor):
3171         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3172         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
3173         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
3174         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
3175         (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
3176         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
3177         (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
3178         (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
3179         * bindings/scripts/test/JS/JSTestObj.cpp:
3180         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
3181         (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
3182         (WebCore::JSTestObj::getOwnPropertySlot):
3183         (WebCore::JSTestObj::getOwnPropertyDescriptor):
3184         (WebCore::JSTestObj::put):
3185         (WebCore::JSTestObj::visitChildren):
3186         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3187         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
3188         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
3189         * bridge/objc/objc_runtime.mm:
3190         (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
3191         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
3192         * bridge/qt/qt_instance.cpp:
3193         (JSC::Bindings::QtRuntimeObject::visitChildren):
3194         * bridge/qt/qt_runtime.cpp:
3195         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
3196         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
3197         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
3198         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
3199         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
3200         * bridge/runtime_array.cpp:
3201         (JSC::RuntimeArray::getOwnPropertyNames):
3202         (JSC::RuntimeArray::getOwnPropertySlot):
3203         (JSC::RuntimeArray::getOwnPropertyDescriptor):
3204         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
3205         (JSC::RuntimeArray::put):
3206         (JSC::RuntimeArray::putByIndex):
3207         * bridge/runtime_method.cpp:
3208         (JSC::RuntimeMethod::getOwnPropertySlot):
3209         (JSC::RuntimeMethod::getOwnPropertyDescriptor):
3210         * bridge/runtime_object.cpp:
3211         (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
3212         (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
3213         (JSC::Bindings::RuntimeObject::put):
3214         (JSC::Bindings::RuntimeObject::defaultValue):
3215         (JSC::Bindings::RuntimeObject::getCallData):
3216         (JSC::Bindings::RuntimeObject::getConstructData):
3217         (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
3218
3219 2011-11-11  Vincent Scheib  <scheib@chromium.org>
3220
3221         Unreviewed, rolling out r99994.
3222         http://trac.webkit.org/changeset/99994
3223         https://bugs.webkit.org/show_bug.cgi?id=72150
3224
3225         Broke chromium windows build
3226
3227         * WebCore.gypi:
3228         * bindings/generic/RuntimeEnabledFeatures.h:
3229         (WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
3230         (WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
3231         (WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
3232         * page/MouseLockable.cpp: Removed.
3233         * page/MouseLockable.h: Removed.
3234         * page/MouseLockable.idl: Removed.
3235         * page/Navigator.cpp:
3236         * page/Navigator.h:
3237         * page/Navigator.idl:
3238
3239 2011-11-11  Adam Klein  <adamk@chromium.org>
3240
3241         [v8] Remove unused V8Proxy::executingScript method
3242         https://bugs.webkit.org/show_bug.cgi?id=72160
3243
3244         Reviewed by Nate Chapin.
3245
3246         * bindings/v8/V8Proxy.cpp:
3247         * bindings/v8/V8Proxy.h:
3248
3249 2011-11-11  Brady Eidson  <beidson@apple.com>
3250
3251         Rubberstamped by Andy Estes
3252
3253         100,000!
3254         Congratulations WebKit, and here's to hundreds of thousands more!
3255         
3256         * ChangeLog: Point out revision 100,000.
3257
3258 2011-11-11  David Kilzer  <ddkilzer@apple.com>
3259
3260         <http://webkit.org/b/71921> Remove use of strcpy in KURL
3261
3262         Reviewed by Antti Koivisto.
3263
3264         * platform/KURL.cpp:
3265         (WebCore::KURL::init): Replace strcpy() with strncpy().
3266
3267 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
3268
3269         De-virtualize supportsProfiling, supportsRichSourceInfo, shouldInterruptScript in JSGlobalObject
3270         https://bugs.webkit.org/show_bug.cgi?id=72035
3271
3272         Reviewed by Geoffrey Garen.
3273
3274         No new tests.
3275
3276         * bindings/js/JSDOMGlobalObject.cpp: Changed constructor to support passing new GlobalObjectMethodTable pointer to parent class.
3277         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
3278         * bindings/js/JSDOMGlobalObject.h:
3279         * bindings/js/JSDOMWindowBase.cpp: Added static const GlobalObjectMethodTable and filled it in with the proper function pointers.
3280         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3281         (WebCore::JSDOMWindowBase::supportsProfiling): Changed to static to put in the method table.
3282         (WebCore::JSDOMWindowBase::supportsRichSourceInfo): Ditto.
3283         (WebCore::JSDOMWindowBase::shouldInterruptScript): Ditto.
3284         * bindings/js/JSDOMWindowBase.h:
3285
3286
3287 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3288
3289         Unreviewed, rolling out r99869.
3290         http://trac.webkit.org/changeset/99869
3291         https://bugs.webkit.org/show_bug.cgi?id=72157
3292
3293         "Caused a ~400% perf regression on the Chromium intl1 page
3294         cyclers" (Requested by ojan on #webkit).
3295
3296         * dom/Document.cpp:
3297         (WebCore::Document::Document):
3298         (WebCore::Document::images):
3299         (WebCore::Document::applets):
3300         (WebCore::Document::embeds):
3301         (WebCore::Document::plugins):
3302         (WebCore::Document::objects):
3303         (WebCore::Document::scripts):
3304         (WebCore::Document::links):
3305         (WebCore::Document::forms):
3306         (WebCore::Document::anchors):
3307         * dom/Document.h:
3308         * html/CollectionType.h:
3309
3310 2011-11-11  Vincent Scheib  <scheib@chromium.org>
3311
3312         Mouse Lock Navigator IDL
3313         https://bugs.webkit.org/show_bug.cgi?id=72150
3314
3315         Reviewed by Dimitri Glazkov.
3316
3317         Tests require mocking (similar to geolocation) that will be built after this.
3318
3319         * WebCore.gypi:
3320         * bindings/generic/RuntimeEnabledFeatures.h:
3321         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
3322         * page/MouseLockable.cpp: Added.
3323         (WebCore::MouseLockable::MouseLockable):
3324         (WebCore::MouseLockable::~MouseLockable):
3325         (WebCore::MouseLockable::webkitLock):
3326         (WebCore::MouseLockable::webkitUnlock):
3327         (WebCore::MouseLockable::webkitIsLocked):
3328         * page/MouseLockable.h: Added.
3329         (WebCore::MouseLockable::create):
3330         * page/MouseLockable.idl: Added.
3331         * page/Navigator.cpp:
3332         (WebCore::Navigator::webkitPointer):
3333         * page/Navigator.h:
3334         * page/Navigator.idl:
3335
3336 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
3337
3338         De-virtualize JSGlobalObject::allowsAccessFrom
3339         https://bugs.webkit.org/show_bug.cgi?id=71969
3340
3341         Reviewed by Darin Adler.
3342
3343         No new tests.
3344
3345         Since allowsAccessFrom is only used by WebScriptObject, we know that we'll always have a 
3346         JSDOMWindowBase, so we can simply have allowsAccessFrom to live in JSDOMWindowBase rather 
3347         than JSGlobalObject.
3348
3349         * bindings/js/JSDOMWindowBase.h: De-virtualized allowsAccessFrom.
3350         * bindings/objc/WebScriptObject.mm:
3351         (-[WebScriptObject _isSafeScript]): Added a cast from a JSGlobalObject to a JSDOMWindowBase in 
3352         order to call the allowsAccessFrom method.
3353
3354 2011-11-11  Rafael Weinstein  <rafaelw@chromium.org>
3355
3356         [MutationObservers] Support attributeFilter for attribute mutations
3357         https://bugs.webkit.org/show_bug.cgi?id=70860
3358
3359         Reviewed by Dimitri Glazkov.
3360
3361         This patch adds an attributeFilter to the MutationObserverRegistration and
3362         adds support for only observing attributes whose name are in the provided
3363         filter set (array of strings).
3364
3365         Test: fast/mutation/observe-attributes.html.
3366
3367         * bindings/js/JSWebKitMutationObserverCustom.cpp:
3368         (WebCore::JSWebKitMutationObserver::observe):
3369         * bindings/v8/OptionsObject.cpp:
3370         (WebCore::OptionsObject::get):
3371         * bindings/v8/OptionsObject.h:
3372         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
3373         (WebCore::V8WebKitMutationObserver::observeCallback):
3374         * dom/Element.cpp:
3375         (WebCore::enqueueAttributesMutationRecord):
3376         * dom/MutationObserverRegistration.cpp:
3377         (WebCore::MutationObserverRegistration::resetObservation):
3378         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
3379         (WebCore::MutationObserverRegistration::caseInsensitiveAttributeFilter):
3380         * dom/MutationObserverRegistration.h:
3381         * dom/Node.cpp:
3382         (WebCore::Node::collectMatchingObserversForMutation):
3383         (WebCore::Node::getRegisteredMutationObserversOfType):
3384         * dom/Node.h:
3385         * dom/WebKitMutationObserver.cpp:
3386         (WebCore::WebKitMutationObserver::observe):
3387         * dom/WebKitMutationObserver.h:
3388
3389 2011-11-11  Vsevolod Vlasov  <vsevik@chromium.org>
3390
3391         Application cache status indicator gets stuck at DOWNLOADING after a failure
3392         https://bugs.webkit.org/show_bug.cgi?id=60793
3393
3394         Reviewed by Pavel Feldman.
3395
3396         Test: http/tests/inspector/resource-tree/appcache-manifest-with-non-existing-file.html
3397
3398         * inspector/InspectorApplicationCacheAgent.cpp:
3399         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
3400         (WebCore::InspectorApplicationCacheAgent::restore):
3401         (WebCore::InspectorApplicationCacheAgent::enable):
3402         * inspector/InspectorApplicationCacheAgent.h:
3403         * inspector/InspectorController.cpp:
3404         (WebCore::InspectorController::InspectorController):
3405         (WebCore::InspectorController::restoreInspectorStateFromCookie):
3406         * inspector/front-end/ApplicationCacheItemsView.js:
3407         (WebInspector.ApplicationCacheItemsView):
3408         (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
3409
3410 2011-11-11  Eric Carlson  <eric.carlson@apple.com>
3411
3412         Implement TextTrackList and the textTracks attribute of HTMLMediaElement
3413         https://bugs.webkit.org/show_bug.cgi?id=71123
3414
3415         Reviewed by Sam Weinig.
3416
3417         Test: media/track/track-add-track.html
3418               media/track/tracklist-is-reachable.html
3419
3420         * CMakeLists.txt: Add new files for TextTrackList.
3421         * DerivedSources.cpp: Ditto.
3422         * DerivedSources.make: Ditto.
3423         * DerivedSources.pri: Ditto.
3424         * GNUmakefile.list.am: Ditto.
3425         * Target.pri: Ditto.
3426         * WebCore.gypi: Ditto.
3427         * WebCore.xcodeproj/project.pbxproj: Ditto.
3428         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
3429
3430         * bindings/js/JSTextTrackListCustom.cpp: Added.
3431         (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
3432
3433         * dom/EventTargetFactory.in: Add TextTrackList, conditional on VIDEO_TRACK.
3434
3435         * html/HTMLAudioElement.cpp:
3436         (WebCore::HTMLAudioElement::createForJSConstructor): Update for scheduleLoad change.
3437
3438         * html/HTMLMediaElement.cpp:
3439         (WebCore::HTMLMediaElement::~HTMLMediaElement): Update for m_textTracks change from
3440             generic Vector to TextTrackList.
3441         (WebCore::HTMLMediaElement::attributeChanged): Ditto.
3442         (WebCore::HTMLMediaElement::insertedIntoDocument): Update for scheduleLoad change.
3443         (WebCore::HTMLMediaElement::scheduleLoad): Add a parameter so caller can specify if
3444             the main resource or a text track should be loaded.
3445         (WebCore::HTMLMediaElement::loadTimerFired): Update to allow text track loading.
3446         (WebCore::HTMLMediaElement::loadInternal): Don't call loadTextTracks.
3447         (WebCore::HTMLMediaElement::isSafeToLoadURL): Log when CSP denies load.
3448         (WebCore::HTMLMediaElement::playInternal): Update for scheduleLoad change.
3449         (WebCore::HTMLMediaElement::pauseInternal): Ditto.
3450         (WebCore::HTMLMediaElement::addTrack): Update for m_textTracks change from
3451             generic Vector to TextTrackList.
3452         (WebCore::HTMLMediaElement::addTextTrack): New, add track to m_textTracks and configure.
3453         (WebCore::HTMLMediaElement::configureTextTracks): New, add comments about what this should
3454             do eventually.
3455         (WebCore::HTMLMediaElement::textTracks): New, return TextTrackList.
3456         (WebCore::HTMLMediaElement::trackWasAdded): Bail if runtime feature is not enabled, schedule
3457             asynchronous text track load.
3458         (WebCore::HTMLMediaElement::trackWillBeRemoved): Minor cleanup.
3459         (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
3460         (WebCore::HTMLMediaElement::sourceWasAdded): Update for scheduleLoad change.
3461         * html/HTMLMediaElement.h:
3462         * html/HTMLMediaElement.idl: Add textTracks attribute.
3463
3464         * html/HTMLTrackElement.cpp: 
3465         (WebCore::HTMLTrackElement::insertedIntoTree): Use new mediaElement() method.
3466         (WebCore::HTMLTrackElement::willRemove): Ditto.
3467         (WebCore::HTMLTrackElement::attributeChanged): When 'src' is changed, call scheduleLoad
3468             instead of HTMLMediaElement
3469         (WebCore::HTMLTrackElement::isDefault): hasAttribute -> fastHasAttribute.
3470         (WebCore::HTMLTrackElement::track): Allocate track if necessary.
3471         (WebCore::HTMLTrackElement::scheduleLoad): New, tell the track to schedule a load.
3472         (WebCore::HTMLTrackElement::canLoadUrl): New, check security policy to see if it is OK
3473             to load a text track. If so, dispatch 'beforeload' event to give it a chance to disallow
3474             load.
3475         (WebCore::HTMLTrackElement::loadingCompleted): Renamed from textTrackLoadingCompleted.
3476         (WebCore::HTMLTrackElement::textTrackReadyStateChanged): New, TextTrackLoadingClient interface
3477             used to inform parent of TextTrack state changes.
3478         (WebCore::HTMLTrackElement::textTrackModeChanged): Ditto.
3479         (WebCore::HTMLTrackElement::textTrackAddCues): Ditto.
3480         (WebCore::HTMLTrackElement::textTrackRemoveCues): Ditto.
3481         (WebCore::HTMLTrackElement::textTrackAddCue): Ditto.
3482         (WebCore::HTMLTrackElement::textTrackRemoveCue): Ditto.
3483         (WebCore::HTMLTrackElement::mediaElement): New, return parent element.
3484         * html/HTMLTrackElement.h:
3485
3486         * html/LoadableTextTrack.cpp:
3487         (WebCore::LoadableTextTrack::LoadableTextTrack): Initialize new instance variables.
3488         (WebCore::LoadableTextTrack::scheduleLoad): New, prime a timer to kick off loading.
3489         (WebCore::LoadableTextTrack::loadTimerFired): Cancel current load, if any, check to see if
3490             new url is allowed to load, and start new load.
3491         (WebCore::LoadableTextTrack::cueLoadingCompleted): 
3492         * html/LoadableTextTrack.h:
3493         (WebCore::LoadableTextTrackClient::~LoadableTextTrackClient): TextTrackLoadingClient -> LoadableTextTrackClient
3494         (WebCore::LoadableTextTrackClient::canLoadUrl): 
3495         (WebCore::LoadableTextTrackClient::loadingCompleted):
3496         (WebCore::LoadableTextTrack::create):
3497
3498         * html/TextTrack.cpp:
3499         (WebCore::TextTrack::TextTrack): setClient(0) -> clearClient().
3500         * html/TextTrack.h:
3501         (WebCore::TextTrack::clearClient): Renamed from setClient, because it is only used to clear the client pointer.
3502
3503         * html/TextTrackCueList.cpp:
3504         (WebCore::TextTrackCueList::add): Get rid of a compiler warning that breaks the OS X build.
3505
3506         * html/track/TextTrackList.cpp: Added. Implement the TextTrackList object.
3507         (TextTrackList::TextTrackList):
3508         (TextTrackList::~TextTrackList):
3509         (TextTrackList::length):
3510         (TextTrackList::item):
3511         (TextTrackList::append):
3512         (TextTrackList::remove):
3513         (TextTrackList::interfaceName):
3514         (TextTrackList::scheduleAddTrackEvent):
3515         (TextTrackList::asyncEventTimerFired):
3516         * html/track/TextTrackList.h: Added.
3517         (WebCore::TextTrackList::create):
3518         (WebCore::TextTrackList::scriptExecutionContext):
3519         (WebCore::TextTrackList::clearOwner):
3520         (WebCore::TextTrackList::owner):
3521         (WebCore::TextTrackList::refEventTarget):
3522         (WebCore::TextTrackList::derefEventTarget):
3523         (WebCore::TextTrackList::eventTargetData):
3524         (WebCore::TextTrackList::ensureEventTargetData):
3525         * html/track/TextTrackList.idl: Added.
3526
3527         * loader/TextTrackLoader.cpp:
3528         (WebCore::TextTrackLoader::cancelLoad): New, cancel pending or in progress load and delete loader.
3529         (WebCore::TextTrackLoader::notifyFinished): Call cancelLoad.
3530         (WebCore::TextTrackLoader::load): Ditto.
3531         * loader/TextTrackLoader.h:
3532         * page/DOMWindow.idl: Add TextTrackList.
3533
3534 2011-11-11  Pavel Feldman  <pfeldman@google.com>
3535
3536         Web Inspector: reimplement DOM search using no XPath.
3537         https://bugs.webkit.org/show_bug.cgi?id=72125
3538
3539         Reviewed by Yury Semikhatsky.
3540
3541         * inspector/InspectorDOMAgent.cpp:
3542         (WebCore::InspectorDOMAgent::performSearch):
3543         (WebCore::InspectorDOMAgent::buildObjectForNode):
3544         * inspector/InspectorDOMAgent.h:
3545
3546 2011-11-11  Gavin Peters  <gavinp@chromium.org>
3547
3548         Protect Document during error responses
3549         https://bugs.webkit.org/show_bug.cgi?id=72068
3550
3551         Add a Document protector to the error response code handler, just
3552         as exists for other ends of requests.
3553
3554         Reviewed by Nate Chapin.
3555
3556         Test: http/tests/misc/xslt-bad-import.html
3557
3558         * loader/cache/CachedResourceRequest.cpp:
3559         (WebCore::CachedResourceRequest::didReceiveData):
3560
3561 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3562
3563         Unreviewed, rolling out r99979.
3564         http://trac.webkit.org/changeset/99979
3565         https://bugs.webkit.org/show_bug.cgi?id=72136
3566
3567         bad commit message (Requested by gavinp on #webkit).
3568
3569         * loader/cache/CachedResourceRequest.cpp:
3570         (WebCore::CachedResourceRequest::didReceiveData):
3571
3572 2011-11-11  Gavin Peters  <gavinp@chromium.org>
3573
3574         Protect Document during error responses
3575         https://bugs.webkit.org/show_bug.cgi?id=72068
3576
3577         Add a Document protector to the error response code handler, just
3578         as exists for other ends of requests.
3579
3580         Reviewed by Nate Chapin.
3581
3582         Test: http/tests/misc/xslt-bad-import.html
3583
3584         * loader/cache/CachedResourceRequest.cpp:
3585         (WebCore::CachedResourceRequest::didReceiveData):
3586
3587 2011-11-10  Philippe Normand  <pnormand@igalia.com>
3588
3589         [GStreamer] GstCaps and GstPad RefPtr implementation
3590         https://bugs.webkit.org/show_bug.cgi?id=72023
3591
3592         Reviewed by Martin Robinson.
3593
3594         Smart pointer implementations for GstCaps and GstPad and them
3595         in the media player code.
3596
3597         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
3598         (WTF::GstPad):
3599         (WTF::GstCaps):
3600         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
3601         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
3602         (WebCore::GStreamerGWorld::enterFullscreen):
3603         (WebCore::GStreamerGWorld::exitFullscreen):
3604         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3605         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
3606         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
3607         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
3608         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3609         (webkit_web_src_init):
3610         (StreamingClient::didReceiveResponse):
3611
3612 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3613
3614         Unreviewed, rolling out r99964.
3615         http://trac.webkit.org/changeset/99964
3616         https://bugs.webkit.org/show_bug.cgi?id=72124
3617
3618         Broke too many Qt tests (Requested by tronical_ on #webkit).
3619
3620         * Target.pri:
3621         * html/HTMLSelectElement.h:
3622         (WebCore::HTMLSelectElement::usesMenuList):
3623         * platform/qt/QtMobileWebStyle.cpp: Added.
3624         (QtMobileWebStyle::QtMobileWebStyle):
3625         (drawRectangularControlBackground):
3626         (QtMobileWebStyle::drawChecker):
3627         (QtMobileWebStyle::findChecker):
3628         (QtMobileWebStyle::drawRadio):
3629         (QtMobileWebStyle::findRadio):
3630         (QtMobileWebStyle::drawControl):
3631         (QtMobileWebStyle::drawPrimitive):
3632         (QtMobileWebStyle::drawMultipleComboButton):
3633         (QtMobileWebStyle::drawSimpleComboButton):
3634         (QtMobileWebStyle::getButtonImageSize):
3635         (QtMobileWebStyle::findComboButton):
3636         (QtMobileWebStyle::drawComplexControl):
3637         * platform/qt/QtMobileWebStyle.h: Added.
3638         * platform/qt/QtStyleOptionWebComboBox.h:
3639         (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
3640         (WebCore::QtStyleOptionWebComboBox::checkMultiple):
3641         * platform/qt/RenderThemeQStyle.cpp: Removed.
3642         * platform/qt/RenderThemeQStyle.h: Removed.
3643         * platform/qt/RenderThemeQt.cpp:
3644         (WebCore::initStyleOption):
3645         (WebCore::StylePainter::StylePainter):
3646         (WebCore::StylePainter::init):
3647         (WebCore::StylePainter::~StylePainter):
3648         (WebCore::RenderThemeQt::create):
3649         (WebCore::RenderTheme::themeForPage):
3650         (WebCore::RenderThemeQt::RenderThemeQt):
3651         (WebCore::RenderThemeQt::~RenderThemeQt):
3652         (WebCore::RenderThemeQt::isControlStyled):
3653         (WebCore::RenderThemeQt::popupInternalPaddingBottom):
3654         (WebCore::RenderThemeQt::fallbackStyle):
3655         (WebCore::RenderThemeQt::qStyle):
3656         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
3657         (WebCore::RenderThemeQt::findFrameLineWidth):
3658         (WebCore::inflateButtonRect):
3659         (WebCore::RenderThemeQt::adjustRepaintRect):
3660         (WebCore::RenderThemeQt::minimumMenuListSize):
3661         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3662         (WebCore::RenderThemeQt::adjustButtonStyle):
3663         (WebCore::RenderThemeQt::setButtonPadding):
3664         (WebCore::RenderThemeQt::paintButton):
3665         (WebCore::RenderThemeQt::adjustTextFieldStyle):
3666         (WebCore::RenderThemeQt::paintTextField):
3667         (WebCore::RenderThemeQt::adjustMenuListStyle):
3668         (WebCore::RenderThemeQt::setPopupPadding):
3669         (WebCore::RenderThemeQt::paintMenuList):
3670         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
3671         (WebCore::RenderThemeQt::paintMenuListButton):
3672         (WebCore::RenderThemeQt::animationDurationForProgressBar):
3673         (WebCore::RenderThemeQt::paintProgressBar):
3674         (WebCore::RenderThemeQt::paintSliderTrack):
3675         (WebCore::RenderThemeQt::paintSliderThumb):
3676         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
3677         (WebCore::RenderThemeQt::paintInnerSpinButton):
3678         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
3679         (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
3680         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
3681         (WebCore::RenderThemeQt::paintMediaMuteButton):
3682         (WebCore::RenderThemeQt::paintMediaPlayButton):
3683         (WebCore::RenderThemeQt::paintMediaCurrentTime):
3684         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
3685         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
3686         (WebCore::RenderThemeQt::paintMediaSliderTrack):
3687         (WebCore::RenderThemeQt::paintMediaSliderThumb):
3688         (WebCore::RenderThemeQt::adjustSliderThumbSize):
3689         (WebCore::RenderThemeQt::caretBlinkInterval):
3690         (WebCore::RenderThemeQt::fileListNameForWidth):
3691         * platform/qt/RenderThemeQt.h:
3692         (WebCore::StylePainter::isValid):
3693         (WebCore::StylePainter::drawPrimitive):
3694         (WebCore::StylePainter::drawControl):
3695         (WebCore::StylePainter::drawComplexControl):
3696         * platform/qt/RenderThemeQtMobile.cpp: Removed.
3697         * platform/qt/RenderThemeQtMobile.h: Removed.
3698         * platform/qt/ScrollbarThemeQt.cpp:
3699         (WebCore::ScrollbarTheme::nativeTheme):
3700         (WebCore::ScrollbarThemeQt::paint):
3701         (WebCore::ScrollbarThemeQt::scrollbarThickness):
3702         (WebCore::ScrollbarThemeQt::paintScrollCorner):
3703
3704 2011-11-11  Pavel Feldman  <pfeldman@google.com>
3705
3706         Not reviewed: fix Snow Leopard build.
3707
3708         * inspector/InspectorDOMAgent.cpp:
3709         (WebCore::InspectorDOMAgent::performSearch):
3710
3711 2011-11-11  Pavel Feldman  <pfeldman@google.com>
3712
3713         Web Inspector: make search in DOM panel scale.
3714         https://bugs.webkit.org/show_bug.cgi?id=72118
3715
3716         Reviewed by Yury Semikhatsky.
3717
3718         * inspector/Inspector.json:
3719         * inspector/InspectorDOMAgent.cpp:
3720         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3721         (WebCore::InspectorDOMAgent::reset):
3722         (WebCore::InspectorDOMAgent::performSearch):
3723         (WebCore::InspectorDOMAgent::getSearchResults):
3724         (WebCore::InspectorDOMAgent::discardSearchResults):
3725         * inspector/InspectorDOMAgent.h:
3726         * inspector/front-end/DOMAgent.js:
3727         (WebInspector.DOMAgent.prototype.performSearch.callback):
3728         (WebInspector.DOMAgent.prototype.performSearch):
3729         (WebInspector.DOMAgent.prototype.searchResult.mycallback):
3730         (WebInspector.DOMAgent.prototype.searchResult):
3731         (WebInspector.DOMAgent.prototype.cancelSearch):
3732         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
3733         * inspector/front-end/ElementsPanel.js:
3734         (WebInspector.ElementsPanel.prototype.searchCanceled):
3735         (WebInspector.ElementsPanel.prototype.performSearch.resultCountCallback):
3736         (WebInspector.ElementsPanel.prototype.performSearch):
3737         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
3738         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
3739         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult.):
3740         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
3741         (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
3742         * inspector/front-end/NetworkPanel.js:
3743         (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
3744         * inspector/front-end/ResourcesPanel.js:
3745         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
3746         (WebInspector.ResourcesPanel.prototype._showSearchResult):
3747         * inspector/front-end/ScriptsPanel.js:
3748         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
3749         (WebInspector.ScriptsPanel.prototype.performSearch):
3750         (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
3751         (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
3752         * inspector/front-end/SearchController.js:
3753         (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
3754
3755 2011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>
3756
3757         [Qt] Remove the QStyle dependency in Qt's mobile theme
3758         https://bugs.webkit.org/show_bug.cgi?id=67773
3759
3760         This refactoring splits up RenderThemeQt with two
3761         subclasses, a QStyle-backed one, and a Mobile version
3762         that uses the old mobile theme for now.
3763
3764         QStyle availability is detected at compile time, and
3765         its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
3766         environment variable.
3767
3768         Reviewed by Simon Hausmann.
3769
3770         Covered by the existing tests.
3771
3772         * Target.pri:
3773         * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
3774         now lives within RenderThemeQtMobile.
3775         * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
3776         * platform/qt/RenderThemeQStyle.cpp: Added.
3777         (WebCore::initStyleOption):
3778         (WebCore::RenderThemeQStyle::getStylePainter):
3779         (WebCore::StylePainterQStyle::StylePainterQStyle):
3780         (WebCore::StylePainterQStyle::init):
3781         (WebCore::RenderThemeQStyle::create):
3782         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
3783         (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
3784         (WebCore::RenderThemeQStyle::fallbackStyle):
3785         (WebCore::RenderThemeQStyle::qStyle):
3786         (WebCore::RenderThemeQStyle::findFrameLineWidth):
3787         (WebCore::RenderThemeQStyle::inflateButtonRect):
3788         (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
3789         (WebCore::RenderThemeQStyle::adjustButtonStyle):
3790         (WebCore::RenderThemeQStyle::setButtonPadding):
3791         (WebCore::RenderThemeQStyle::paintButton):
3792         (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
3793         (WebCore::RenderThemeQStyle::paintTextField):
3794         (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
3795         (WebCore::RenderThemeQStyle::paintTextArea):
3796         (WebCore::RenderThemeQStyle::setPopupPadding):
3797         (WebCore::RenderThemeQStyle::paintMenuList):
3798         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
3799         (WebCore::RenderThemeQStyle::paintMenuListButton):
3800         (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
3801         (WebCore::RenderThemeQStyle::paintProgressBar):
3802         (WebCore::RenderThemeQStyle::paintSliderTrack):
3803         (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
3804         (WebCore::RenderThemeQStyle::paintSliderThumb):
3805         (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
3806         (WebCore::RenderThemeQStyle::paintSearchField):
3807         (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
3808         (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
3809         (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
3810         (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
3811         (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
3812         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
3813         (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
3814         (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
3815         * platform/qt/RenderThemeQStyle.h: Added.
3816         (WebCore::StylePainterQStyle::isValid):
3817         (WebCore::StylePainterQStyle::drawPrimitive):
3818         (WebCore::StylePainterQStyle::drawControl):
3819         (WebCore::StylePainterQStyle::drawComplexControl):
3820         * platform/qt/RenderThemeQt.cpp:
3821         (WebCore::RenderThemeQt::RenderThemeQt):
3822         (WebCore::RenderThemeQt::isControlStyled):
3823         (WebCore::RenderThemeQt::inflateButtonRect):
3824         (WebCore::RenderThemeQt::adjustRepaintRect):
3825         (WebCore::RenderThemeQt::minimumMenuListSize):
3826         (WebCore::RenderThemeQt::adjustTextFieldStyle):
3827         (WebCore::RenderThemeQt::adjustMenuListStyle):
3828         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
3829         (WebCore::RenderThemeQt::adjustProgressBarStyle):
3830         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
3831         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
3832         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
3833         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
3834         (WebCore::RenderThemeQt::paintMediaMuteButton):
3835         (WebCore::RenderThemeQt::paintMediaPlayButton):
3836         (WebCore::RenderThemeQt::paintMediaCurrentTime):
3837         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
3838         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
3839         (WebCore::RenderThemeQt::paintMediaSliderTrack):
3840         (WebCore::RenderThemeQt::paintMediaSliderThumb):
3841         (WebCore::RenderThemeQt::adjustSliderThumbSize):
3842         (WebCore::RenderThemeQt::caretBlinkInterval):
3843         (WebCore::RenderThemeQt::fileListNameForWidth):
3844         (WebCore::StylePainter::StylePainter):
3845         (WebCore::StylePainter::init):
3846         (WebCore::StylePainter::~StylePainter):
3847         * platform/qt/RenderThemeQt.h:
3848         (WebCore::RenderThemeQt::useMobileTheme):
3849         (WebCore::StylePainter::isValid):
3850         * platform/qt/RenderThemeQtMobile.cpp: Added.
3851         (WebCore::drawRectangularControlBackground):
3852         (WebCore::RenderThemeQtMobile::getStylePainter):
3853         (WebCore::StylePainterMobile::StylePainterMobile):
3854         (WebCore::StylePainterMobile::drawChecker):
3855         (WebCore::StylePainterMobile::findChecker):
3856         (WebCore::StylePainterMobile::drawRadio):
3857         (WebCore::StylePainterMobile::findRadio):
3858         (WebCore::StylePainterMobile::drawMultipleComboButton):
3859         (WebCore::StylePainterMobile::drawSimpleComboButton):
3860         (WebCore::StylePainterMobile::getButtonImageSize):
3861         (WebCore::StylePainterMobile::findComboButton):
3862         (WebCore::StylePainterMobile::drawLineEdit):
3863         (WebCore::StylePainterMobile::drawCheckBox):
3864         (WebCore::StylePainterMobile::drawRadioButton):
3865         (WebCore::StylePainterMobile::drawPushButton):
3866         (WebCore::StylePainterMobile::drawComboBox):
3867         (WebCore::RenderThemeQtMobile::create):
3868         (WebCore::RenderTheme::themeForPage):
3869         (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
3870         (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
3871         (WebCore::RenderThemeQtMobile::isControlStyled):
3872         (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
3873         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
3874         (WebCore::RenderThemeQtMobile::adjustButtonStyle):
3875         (WebCore::RenderThemeQtMobile::setButtonPadding):
3876         (WebCore::RenderThemeQtMobile::paintButton):
3877         (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
3878         (WebCore::RenderThemeQtMobile::paintTextField):
3879         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
3880         (WebCore::RenderThemeQtMobile::setPopupPadding):
3881         (WebCore::RenderThemeQtMobile::paintMenuList):
3882         (WebCore::RenderThemeQtMobile::paintMenuListButton):
3883         (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
3884         (WebCore::RenderThemeQtMobile::paintProgressBar):
3885         (WebCore::RenderThemeQtMobile::paintSliderTrack):
3886         (WebCore::RenderThemeQtMobile::paintSliderThumb):
3887         (WebCore::RenderThemeQtMobile::checkMultiple):
3888         (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
3889         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
3890         * platform/qt/RenderThemeQtMobile.h: Added.
3891         * platform/qt/ScrollbarThemeQt.cpp:
3892         (WebCore::ScrollbarTheme::nativeTheme):
3893         (WebCore::ScrollbarThemeQt::paint):
3894         (WebCore::ScrollbarThemeQt::scrollbarThickness):
3895         (WebCore::ScrollbarThemeQt::paintScrollCorner):
3896
3897 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
3898
3899         Web Inspector: Option to configure indentation of pretty-printed Javascript
3900         https://bugs.webkit.org/show_bug.cgi?id=72119
3901
3902         Reviewed by Pavel Feldman.
3903
3904         Drive-by fix for field names and added indent caching, as suggested by Pavel Podivilov.
3905
3906         * inspector/front-end/JavaScriptFormatter.js:
3907         (FormattedContentBuilder):
3908         (FormattedContentBuilder.prototype.increaseNestingLevel):
3909         (FormattedContentBuilder.prototype.decreaseNestingLevel):
3910         (FormattedContentBuilder.prototype._addIndent):
3911         * inspector/front-end/ScriptFormatter.js:
3912         * inspector/front-end/ScriptFormatterWorker.js:
3913         (onmessage):
3914         (formatScript):
3915         (HTMLScriptFormatter):
3916         (HTMLScriptFormatter.prototype.scriptEnded):
3917
3918 2011-11-11  Andreas Kling  <kling@webkit.org>
3919
3920         Unreviewed Chromium build fix after r99958.
3921
3922         * bindings/scripts/CodeGeneratorV8.pm:
3923         (GenerateImplementationCustomCall):o
3924
3925             Remove hack that forced HTMLOptionsCollection to have a custom
3926             callAsFunctionCallback().
3927
3928 2011-11-11  Mike Lewis <mikelikespie@gmail.com>
3929
3930         Web Inspector: DevTools InspectorStubs.js incorrectly converting responses to arguments.
3931         https://bugs.webkit.org/show_bug.cgi?id=72096
3932
3933         JSON.parse doesn't garantee the order of keys.
3934         We have to explicitly order the results according to Inspector.json spec.
3935
3936         Reviewed by Pavel Feldman.
3937
3938         * inspector/CodeGeneratorInspector.py:
3939
3940 2011-11-10  Andreas Kling  <kling@webkit.org>
3941
3942         Remove ability to call HTMLCollections in V8 bindings as well.
3943         <http://webkit.org/b/72045>
3944
3945         Reviewed by Anders Carlsson.
3946
3947         Follow the JSC bindings and remove the ability to call HTMLCollections
3948         in the V8 bindings (excluding HTMLAllCollection.)
3949
3950         * bindings/scripts/CodeGeneratorV8.pm:
3951         (GenerateHeaderCustomCall):
3952         (GenerateImplementationCustomCall):
3953         * dom/NodeList.idl:
3954         * html/HTMLCollection.idl:
3955
3956             Remove the V8CustomCall attribute as it's no longer needed.
3957
3958         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3959         * bindings/v8/custom/V8NodeListCustom.cpp:
3960
3961 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
3962
3963         Web Inspector: Interactive color box for gradients in CSS property values
3964         https://bugs.webkit.org/show_bug.cgi?id=72112
3965
3966         Reviewed by Yury Semikhatsky.
3967
3968         Add "background-image" to the list of color-aware properties (may contain gradient definition).
3969
3970         * inspector/front-end/CSSKeywordCompletions.js:
3971
3972 2011-11-11  Yury Semikhatsky  <yurys@chromium.org>
3973
3974         Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
3975         https://bugs.webkit.org/show_bug.cgi?id=72020
3976
3977         Collect information about dedicated workers even when inspector is closed. This
3978         way we can list all dedicated workers if the front-end opens later.
3979
3980         Reviewed by Pavel Feldman.
3981
3982         Test: http/tests/inspector-enabled/dedicated-workers-list.html
3983
3984         * inspector/InspectorInstrumentation.h:
3985         (WebCore::InspectorInstrumentation::didStartWorkerContext):
3986         * inspector/InspectorWorkerAgent.cpp:
3987         (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
3988         (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
3989         (WebCore::InspectorWorkerAgent::setFrontend):
3990         (WebCore::InspectorWorkerAgent::restore):
3991         (WebCore::InspectorWorkerAgent::clearFrontend):
3992         (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
3993         (WebCore::InspectorWorkerAgent::didStartWorkerContext):
3994         (WebCore::InspectorWorkerAgent::workerContextTerminated):
3995         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
3996         (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
3997         (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
3998         * inspector/InspectorWorkerAgent.h:
3999
4000 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
4001
4002         Unreviewed, rolling out r99950.
4003         http://trac.webkit.org/changeset/99950
4004         https://bugs.webkit.org/show_bug.cgi?id=72117
4005
4006         "Landed wrong patch by mistake" (Requested by yurys on
4007         #webkit).
4008
4009         * bindings/js/JSInjectedScriptHostCustom.cpp:
4010         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4011         * inspector/InjectedScript.cpp:
4012         * inspector/InjectedScript.h:
4013         * inspector/InjectedScriptHost.idl:
4014         * inspector/InjectedScriptSource.js:
4015         * inspector/Inspector.json:
4016         * inspector/InspectorDebuggerAgent.cpp:
4017         * inspector/InspectorDebuggerAgent.h:
4018
4019 2011-11-10  Yury Semikhatsky  <yurys@chromium.org>
4020
4021         Web Inspector: function remote objetct should provide access to function position in the script
4022         https://bugs.webkit.org/show_bug.cgi?id=71808
4023
4024         Added Debugger.getFunctionLocation command for resolving function location including
4025         start line, column and script id.
4026
4027         Reviewed by Pavel Feldman.
4028
4029         Test: inspector/debugger/function-location.html
4030
4031         * bindings/js/JSInjectedScriptHostCustom.cpp:
4032         (WebCore::JSInjectedScriptHost::functionLocation):
4033         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4034         (WebCore::V8InjectedScriptHost::functionLocationCallback):
4035         * inspector/InjectedScript.cpp:
4036         (WebCore::InjectedScript::getFunctionLocation):
4037         * inspector/InjectedScript.h:
4038         * inspector/InjectedScriptHost.idl:
4039         * inspector/InjectedScriptSource.js:
4040         (.):
4041         * inspector/Inspector.json:
4042         * inspector/InspectorDebuggerAgent.cpp:
4043         (WebCore::InspectorDebuggerAgent::getFunctionLocation):
4044         * inspector/InspectorDebuggerAgent.h:
4045
4046 2011-11-11  Pavel Feldman  <pfeldman@google.com>
4047
4048         Not reviewed: roll out changes to InspectorDOMAgent that squeezed into 99933.
4049
4050         * inspector/InspectorDOMAgent.cpp:
4051         (WebCore::MatchJob::MatchJob):
4052         (WebCore::InspectorDOMAgent::onMatchJobsTimer):
4053
4054 2011-11-11  Alexander Pavlov  <apavlov@chromium.org>
4055
4056         Web Inspector: [Metrics] Editor is committed when scrolling a content box dimension up/down for the first time
4057         https://bugs.webkit.org/show_bug.cgi?id=72108
4058
4059         Reviewed by Pavel Feldman.
4060
4061         * inspector/front-end/MetricsSidebarPane.js:
4062         (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
4063
4064 2011-11-11  Alpha Lam  <hclam@chromium.org>
4065
4066         [chromium] scrolling is broken with compositor thread
4067         https://bugs.webkit.org/show_bug.cgi?id=72059
4068
4069         Reviewed by James Robinson.
4070
4071         No new test. Existing test CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls checks scroll deltas are applied
4072         on the right layer.
4073
4074         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
4075         (WebCore::CCLayerTreeHostImpl::scrollLayer):
4076         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
4077         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
4078         Instead of calling on the root layer which doesn't have scroll delta applied. Change this to scrollLayer()
4079         which actually has scroll delta.
4080
4081 2011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
4082
4083         Unreviewed, rolling out r99826.
4084         http://trac.webkit.org/changeset/99826