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