f05a0cf54f6a06e90fe4af58efc57b1d81471310
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-09  Robert Hogan  <robert@webkit.org>
2
3         CSS 2.1 failure: outline-color-* tests fail
4         https://bugs.webkit.org/show_bug.cgi?id=71931
5
6         Reviewed by Julien Chaffraix.
7
8         WebKit wasn't displaying the top block in these tests because it did not paint the outline
9         of divs with zero size.
10
11         * rendering/RenderObject.cpp:
12         (WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size
13
14 2011-11-17  Sergio Villar Senin  <svillar@igalia.com>
15
16         [GTK] plugins/get-url-notify-with-url-that-fails-to-load.html on bots after r100466
17         https://bugs.webkit.org/show_bug.cgi?id=72613
18
19         Reviewed by Martin Robinson.
20
21         Do not assume that a SoupRequest always exists, it is not
22         generated for example when the provided URL is
23         invalid. ResourceHandle::platformSetDefersLoading was crashing
24         because of that.
25
26         * platform/network/soup/ResourceHandleSoup.cpp:
27         (WebCore::ResourceHandle::platformSetDefersLoading):
28
29 2011-11-17  Vsevolod Vlasov  <vsevik@chromium.org>
30
31         Web Inspector: Remove onlineDetectionEnabled from Preferences
32         https://bugs.webkit.org/show_bug.cgi?id=72617
33
34         Reviewed by Pavel Feldman.
35
36         * inspector/front-end/ApplicationCacheItemsView.js:
37         (WebInspector.ApplicationCacheItemsView):
38         (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
39         * inspector/front-end/Settings.js:
40
41 2011-11-17  Ken Buchanan  <kenrb@chromium.org>
42
43         Crash from nested tables with generated content
44         https://bugs.webkit.org/show_bug.cgi?id=68811
45
46         Reviewed by David Hyatt.
47
48         When adding a child to a table that has generated content, this change
49         ensures that we leave alone any generated content renderers that belong
50         to descendants in the tree. They don't need to be touched, and doing so
51         can create confusion about who the content belongs to.
52
53         This patch also simplifies some existing code for finding pseudoelement
54         renderers. 
55
56         * rendering/RenderBlock.cpp:
57         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
58         * rendering/RenderObject.cpp:
59         (WebCore::RenderObject::addChild):
60         (WebCore::RenderObject::isBeforeAfterContentGeneratedByAncestor): Added
61         * rendering/RenderObject.h:
62         (WebCore::RenderObject::findAfterContentRenderer): Deleted
63         (WebCore::RenderObject::findBeforeContentRenderer): Deleted
64         * rendering/RenderObjectChildList.cpp:
65         (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
66         (WebCore::RenderObjectChildList::afterPseudoElementRenderer):
67         * rendering/RenderTable.cpp:
68         (WebCore::RenderTable::addChild):
69         * rendering/RenderTableRow.cpp:
70         (WebCore::RenderTableRow::addChild):
71         * rendering/RenderTableSection.cpp:
72         (WebCore::RenderTableSection::addChild):
73
74 2011-11-17  Patrick Gansterer  <paroga@webkit.org>
75
76         Unreviewed WinCE build fix for r94119.
77
78         MSVC throws multiply defined symbols linker error when using local class in inline function.
79
80         * bindings/js/JSDictionary.h:
81         (WebCore::JSDictionary::IdentitySetter::identitySetter):
82         (WebCore::JSDictionary::tryGetProperty):
83
84 2011-11-17  Eric Carlson  <eric.carlson@apple.com>
85
86         TextTrackList not sorted correctly
87         https://bugs.webkit.org/show_bug.cgi?id=72545
88
89         Reviewed by Darin Adler.
90
91         Test: media/track/track-texttracks.html
92
93         * WebCore.xcodeproj/project.pbxproj: Add TextTrack.h to WebCore private headers because 
94             it is included by HTMLMediaElement.h.
95         * html/LoadableTextTrack.cpp:
96         (WebCore::LoadableTextTrack::LoadableTextTrack): Pass track type to base class constructor.
97         (WebCore::LoadableTextTrack::trackElementIndex): New, return the <track> element's tree order
98             for sorting.
99         * html/LoadableTextTrack.h:
100
101         * html/TextTrack.cpp:
102         (WebCore::TextTrack::TextTrack): Set track type.
103         * html/TextTrack.h:
104         (WebCore::TextTrack::create): Ditto.
105         (WebCore::TextTrack::trackType): Ditto.
106
107         * html/track/TextTrackList.cpp:
108         (TextTrackList::length): Update to deal with two TextTrack vectors.
109         (TextTrackList::item): Ditto.
110         (TextTrackList::append): Ditto.
111         (TextTrackList::remove): Ditto
112         * html/track/TextTrackList.h: Store the two types of TextTracks in separate Vectors to make
113             it simpler to keep them in the correct order.
114
115 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
116
117         [Qt] Layer violation: WebCore::dnsPrefetch uses QWebSettings::globalSettings()
118         https://bugs.webkit.org/show_bug.cgi?id=72596
119
120         Reviewed by Kenneth Rohde Christiansen.
121
122         We don't need to use QWebSettings here, because we now propagate the DNS prefetch
123         setting to WebCore::Settings and the rest of WebCore checks the setting before calling
124         WebCore::prefetchDNS.
125
126         * platform/network/qt/DnsPrefetchHelper.cpp:
127         (WebCore::prefetchDNS): Removed the use of QWebSettings.
128         * platform/network/qt/DnsPrefetchHelper.h: Remove offending qwebsettings.h inclusion.
129
130 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
131
132         [Qt] Layer violation: Image::loadPlatformResource uses QWebSettings::webGraphic
133         https://bugs.webkit.org/show_bug.cgi?id=72594
134
135         Reviewed by Kenneth Rohde Christiansen.
136
137         Move the cache for the resource pixmaps into ImageQt.cpp.
138
139         * platform/graphics/Image.h: Add Qt specific setter for resource pixmaps.
140         * platform/graphics/qt/ImageQt.cpp: Moved resource pixmap hash from qwebsettings.
141         (earlyClearGraphics):
142         (graphics):
143         (loadResourcePixmap):
144         (WebCore::Image::setPlatformResource):
145
146 2011-11-17  Zeno Albisser  <zeno@webkit.org>
147
148         [Qt][WK2] Touch/Mouse events are delivered with wrong coordinates.
149         https://bugs.webkit.org/show_bug.cgi?id=72604
150
151         When using the QtViewportInterationEngine for zooming/panning,
152         no additional scroll offset should be applied to input events
153         by the ScrollView.
154
155         This patch is based on work by Andreas Kling.
156
157         Reviewed by Kenneth Rohde Christiansen.
158
159         * platform/ScrollView.cpp:
160         (WebCore::ScrollView::windowToContents):
161         (WebCore::ScrollView::contentsToWindow):
162
163 2011-11-17  Ben Murdoch  <benm@google.com>
164
165         Unreviewed build fix.
166
167         Fix the Windows builds by adding WorkerEventQueue.cpp|h to the
168         vcproj. Build break was introduced in
169         https://bugs.webkit.org/show_bug.cgi?id=72528
170
171         * WebCore.vcproj/WebCore.vcproj: Add missing files.
172
173 2011-11-17  Mihnea Ovidenie  <mihnea@adobe.com>
174
175         CSS Exclusions: parse the wrap-margin and wrap-padding properties
176         https://bugs.webkit.org/show_bug.cgi?id=71900
177
178         Reviewed by Dean Jackson.
179
180         Tests: fast/exclusions/wrap-margin-parsing.html
181                fast/exclusions/wrap-padding-parsing.html
182
183         * css/CSSComputedStyleDeclaration.cpp:
184         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
185         * css/CSSParser.cpp:
186         (WebCore::isSimpleLengthPropertyID):
187         (WebCore::CSSParser::parseValue):
188         * css/CSSProperty.cpp:
189         (WebCore::CSSProperty::isInheritedProperty):
190         * css/CSSPropertyNames.in:
191         * css/CSSStyleApplyProperty.cpp:
192         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
193         * css/CSSStyleSelector.cpp:
194         (WebCore::CSSStyleSelector::applyProperty):
195         * rendering/style/RenderStyle.cpp:
196         (WebCore::RenderStyle::diff):
197         * rendering/style/RenderStyle.h:
198         (WebCore::InheritedFlags::wrapPadding):
199         (WebCore::InheritedFlags::setWrapPadding):
200         (WebCore::InheritedFlags::initialWrapPadding):
201         (WebCore::InheritedFlags::wrapMargin):
202         (WebCore::InheritedFlags::setWrapMargin):
203         (WebCore::InheritedFlags::initialWrapMargin):
204         * rendering/style/StyleRareNonInheritedData.cpp:
205         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
206         (WebCore::StyleRareNonInheritedData::operator==):
207         * rendering/style/StyleRareNonInheritedData.h:
208
209 2011-11-17  Kenichi Ishibashi  <bashi@chromium.org>
210
211         [chromium] don't call fontconfig twice in complex text path
212         https://bugs.webkit.org/show_bug.cgi?id=38701
213
214         Adds a new API for getting font family. For now, FontCacheLinux calls the new API, but don't use additional properties for compatibility. The old API will be removed when Chromium is ready to use new API.
215
216         Reviewed by Tony Chang.
217
218         No new tests. No behavior changes for now.
219
220         * platform/chromium/PlatformSupport.h: Added FontFamily struct and changed the declaration of getFontFamilyForCharacters().
221         * platform/graphics/chromium/FontCacheLinux.cpp:
222         (WebCore::FontCache::getFontDataForCharacters): Uses new PlatformSupport::getFontFamilyForCharacters().
223         * platform/graphics/chromium/FontPlatformDataLinux.h:
224         (WebCore::FontPlatformData::setFakeBold): Added.
225         (WebCore::FontPlatformData::setFakeItalic): Added.
226
227 2011-11-17  Mario Sanchez Prada  <msanchez@igalia.com>
228
229         [GTK] Consider parent AtkObject in webkit_accessible_get_parent(), if already set
230         https://bugs.webkit.org/show_bug.cgi?id=72525
231
232         Reviewed by Xan Lopez.
233
234         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
235         (webkit_accessible_get_parent): Call to the implementation of
236         atk_object_get_parent in AtkObject class to check whether a parent
237         AtkObject has been previously set, before trying to find one.
238
239 2011-11-17  Pavel Feldman  <pfeldman@google.com>
240
241         Not reviewed: fix IE user agents strings in the inspector.
242
243         * inspector/front-end/SettingsScreen.js:
244         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
245
246 2011-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
247
248         Make use-fixed-layout work reliable
249         https://bugs.webkit.org/show_bug.cgi?id=72511
250
251         Reviewed by Simon Hausmann.
252
253         Always send a viewport update per page load as we depend on that,
254         to reset all viewport handling before doing layout.
255
256         * page/Page.cpp:
257         (WebCore::Page::updateViewportArguments):
258
259 2011-11-16  Alexander Pavlov  <apavlov@chromium.org>
260
261         Web Inspector: inspector follows javascript: hrefs as relative
262         https://bugs.webkit.org/show_bug.cgi?id=72373
263
264         javascript: hrefs should never be linkified for security.
265
266         Reviewed by Yury Semikhatsky.
267
268         * inspector/front-end/ElementsTreeOutline.js:
269         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
270         * inspector/front-end/ResourceUtils.js:
271         (WebInspector.completeURL):
272
273 2011-11-17  Nikolas Zimmermann  <nzimmermann@rim.com>
274
275         Not reviewed. Fix 32bit builds.
276
277         * platform/ClockGeneric.cpp:
278         (ClockGeneric::now): Use narrowPrecisionToFloat.
279         * rendering/FilterEffectRenderer.cpp:
280         (WebCore::FilterEffectRenderer::build): Use it correctly.
281
282 2011-11-17  Dominic Mazzoni  <dmazzoni@google.com>
283
284         Accessibility: Chromium requires an AX notification when an iframe loads.
285         https://bugs.webkit.org/show_bug.cgi?id=72239
286
287         When a document finishes loading, we were sending an AXLoadComplete if it
288         was the top document. Now, if it's a document in an iframe, send an
289         AXLayoutComplete on the iframe.
290
291         Reviewed by Chris Fleizach.
292
293         Test: accessibility/loading-iframe-sends-notification.html
294
295         * dom/Document.cpp:
296         (WebCore::Document::implicitClose):
297
298 2011-11-16  Mark Rowe  <mrowe@apple.com>
299
300         <http://webkit.org/b/72574> Remove unnecessary use of CarbonCore APIs from Audio code
301
302         Reviewed by Andy Estes.
303
304         * platform/audio/mac/AudioDestinationMac.cpp:
305         (WebCore::AudioDestinationMac::AudioDestinationMac): Switch from using the Carbon Component Manager
306         to using AudioUnit's own component interface.
307         (WebCore::AudioDestinationMac::~AudioDestinationMac): Ditto.
308         * platform/audio/mac/AudioFileReaderMac.cpp:
309         (WebCore::AudioFileReader::AudioFileReader): Remove an unncessary trip through the Carbon File Manager
310         when converting a char* path to a CFURLRef representing the same.
311
312 2011-11-17  Adam Barth  <abarth@webkit.org>
313
314         CSP report-only mode doesn't work from an HTTP header
315         https://bugs.webkit.org/show_bug.cgi?id=71958
316
317         Reviewed by Eric Seidel.
318
319         "It's tested or it's broken." -- Adam Leventhal
320
321         Test: http/tests/security/contentSecurityPolicy/report-only-from-header.php
322
323         * loader/FrameLoader.cpp:
324         (WebCore::FrameLoader::didBeginDocument):
325
326 2011-11-15  Pavel Feldman  <pfeldman@google.com>
327
328         Web Inspector: introduce Debugger domain capabilities concept.
329         https://bugs.webkit.org/show_bug.cgi?id=72393
330
331         Many of the Preferences that we have in Settings.js and override in DevTools.js
332         are really not preferences, but capabilities. Protocol clients should have a way
333         of figuring out whether some capability is present before using it.
334
335         Reviewed by Yury Semikhatsky.
336
337         * bindings/js/ScriptDebugServer.cpp:
338         (WebCore::ScriptDebugServer::canSetScriptSource):
339         * bindings/js/ScriptDebugServer.h:
340         * bindings/v8/ScriptDebugServer.cpp:
341         (WebCore::ScriptDebugServer::canSetScriptSource):
342         * bindings/v8/ScriptDebugServer.h:
343         * inspector/CodeGeneratorInspector.py:
344         * inspector/Inspector.json:
345         * inspector/InspectorDebuggerAgent.cpp:
346         (WebCore::InspectorDebuggerAgent::getCapabilities):
347         * inspector/InspectorDebuggerAgent.h:
348         * inspector/front-end/DebuggerModel.js:
349         (WebInspector.DebuggerModel):
350         (WebInspector.DebuggerModel.prototype.enableDebugger):
351         (WebInspector.DebuggerModel.prototype.canSetScriptSource):
352         * inspector/front-end/DebuggerPresentationModel.js:
353         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
354         * inspector/front-end/Settings.js:
355
356 2011-11-17  Mihnea Ovidenie  <mihnea@adobe.com>
357
358         CSS exclusions: parse the wrap-flow and wrap-through properties
359         https://bugs.webkit.org/show_bug.cgi?id=71904
360
361         Reviewed by Dean Jackson.
362
363         Tests: fast/exclusions/wrap-flow-parsing.html
364                fast/exclusions/wrap-through-parsing.html
365
366         * css/CSSComputedStyleDeclaration.cpp:
367         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
368         * css/CSSParser.cpp:
369         (WebCore::CSSParser::parseValue):
370         * css/CSSPrimitiveValueMappings.h:
371         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
372         (WebCore::CSSPrimitiveValue::operator WrapFlow):
373         (WebCore::CSSPrimitiveValue::operator WrapThrough):
374         * css/CSSProperty.cpp:
375         (WebCore::CSSProperty::isInheritedProperty):
376         * css/CSSPropertyNames.in:
377         * css/CSSStyleSelector.cpp:
378         (WebCore::CSSStyleSelector::applyProperty):
379         * css/CSSValueKeywords.in:
380         * rendering/style/RenderStyle.cpp:
381         (WebCore::RenderStyle::diff):
382         * rendering/style/RenderStyle.h:
383         (WebCore::InheritedFlags::wrapFlow):
384         (WebCore::InheritedFlags::wrapThrough):
385         (WebCore::InheritedFlags::setWrapFlow):
386         (WebCore::InheritedFlags::setWrapThrough):
387         (WebCore::InheritedFlags::initialWrapFlow):
388         (WebCore::InheritedFlags::initialWrapThrough):
389         * rendering/style/RenderStyleConstants.h:
390         * rendering/style/StyleRareNonInheritedData.cpp:
391         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
392         (WebCore::StyleRareNonInheritedData::operator==):
393         * rendering/style/StyleRareNonInheritedData.h:
394
395 2011-11-16  Dean Jackson  <dino@apple.com>
396
397         Implement filter function shorthands
398         https://bugs.webkit.org/show_bug.cgi?id=68475
399
400         Reviewed by Simon Fraser.
401
402         Implement the shorthand functions for filter effects.
403         This includes grayscale, sepia, invert, hue-rotate, saturate,
404         opacity, gamma, drop-shadow and blur. At the moment sharpen
405         and url are not supported.
406
407         CSSParser needed to be updated because it was mistakenly
408         clamping saturation values to [0,1]. Any positive number
409         is allowed so you can produce super-saturated images.
410
411         The biggest change was the API to FilterEffectRenderer. It now
412         builds a list of effects and applies the filter itself.
413
414         Note that the drop-shadow and blur operations don't yet
415         provide accurate results because they produce an output image
416         that is larger than the input. See
417         https://bugs.webkit.org/show_bug.cgi?id=71929
418         https://bugs.webkit.org/show_bug.cgi?id=71930
419
420         While I was there, I fixed a small style issue in
421         CustomFilterOperation.
422
423         Tests: css3/filters/effect-blur.html
424                css3/filters/effect-combined.html
425                css3/filters/effect-drop-shadow.html
426                css3/filters/effect-gamma.html
427                css3/filters/effect-grayscale.html
428                css3/filters/effect-hue-rotate.html
429                css3/filters/effect-invert.html
430                css3/filters/effect-opacity.html
431                css3/filters/effect-saturate.html
432                css3/filters/effect-sepia.html
433
434         * WebCore.xcodeproj/project.pbxproj: Add StyleShader.h to
435         the project (missing from earlier commit).
436         * css/CSSParser.cpp:
437         (WebCore::CSSParser::isValidFilterArgument): Don't clamp
438         saturate to [0,1]
439         * platform/graphics/filters/CustomFilterOperation.h:
440         * rendering/FilterEffectRenderer.cpp:
441         (WebCore::endMatrixRow):
442         (WebCore::lastMatrixRow):
443         (WebCore::FilterEffectRenderer::FilterEffectRenderer):
444         (WebCore::FilterEffectRenderer::inputContext):
445         (WebCore::FilterEffectRenderer::build):
446         (WebCore::FilterEffectRenderer::prepare):
447         (WebCore::FilterEffectRenderer::apply):
448         * rendering/FilterEffectRenderer.h:
449         (WebCore::FilterEffectRenderer::setSourceImageRect):
450         (WebCore::FilterEffectRenderer::output):
451         (WebCore::FilterEffectRenderer::setMaxEffectRects):
452         (WebCore::FilterEffectRenderer::lastEffect):
453         * rendering/RenderLayer.cpp:
454         (WebCore::RenderLayer::paintLayer):
455         (WebCore::RenderLayer::updateOrRemoveFilterEffect):
456         (WebCore::RenderLayer::updateFilterBackingStore):
457
458 2011-11-16  Kentaro Hara  <haraken@chromium.org>
459
460         Remove all custom constructors of Events from JSC
461         https://bugs.webkit.org/show_bug.cgi?id=72577
462
463         Reviewed by Adam Barth.
464
465         - Makes CodeGeneratorJS.pm generate Event constructors
466         if [ConstructorTemplate=Event] IDL is specified.
467         - Removes EventConstructors.h and JSEventConstructors.cpp.
468         - Replaces all JSC custom constructors of Events
469         with the generated code by [ConstructorTemplate=Event] IDL.
470
471         Tests: fast/events/constructors/before-load-event-constructor.html
472                fast/events/constructors/close-event-constructor.html
473                fast/events/constructors/custom-event-constructor.html
474                fast/events/constructors/error-event-constructor.html
475                fast/events/constructors/event-constructors.html
476                fast/events/constructors/hash-change-event-constructor.html
477                fast/events/constructors/message-event-constructor.html
478                fast/events/constructors/overflow-event-constructor.html
479                fast/events/constructors/page-transition-event-constructor.html
480                fast/events/constructors/pop-state-event-constructor.html
481                fast/events/constructors/progress-event-constructor.html
482                fast/events/constructors/track-event-constructor.html
483                fast/events/constructors/webkit-animation-event-constructor.html
484                fast/events/constructors/webkit-transition-event-constructor.html
485
486         * bindings/generic/EventConstructors.h: Removed. This is what we wanted to do in this patch.
487         * bindings/js/JSEventConstructors.cpp: Ditto.
488         * GNUmakefile.list.am: Removed EventConstructors.h and JSEventConstructors.cpp.
489         * Target.pri: Ditto.
490         * UseJSC.cmake: Ditto.
491         * WebCore.gypi: Ditto.
492         * WebCore.vcproj/WebCore.vcproj: Ditto.
493         * WebCore.xcodeproj/project.pbxproj: Ditto.
494         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
495
496         * bindings/scripts/CodeGeneratorJS.pm:
497         (GenerateHeader): Added JSDictionary.h.
498         (GenerateConstructorDeclaration): Added a header for fillXXXXEventInit(...).
499         (GenerateConstructorDefinition): Generates an Event constructor. The generated code is the same as the code that had been written in JSEventConstructors.cpp.
500         (IsConstructable): Judges if a given interface is constructable.
501         (IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
502
503         * bindings/scripts/test/TestEventConstructor.idl: Changed 'CustomConstructor=Event' to 'ConstructorTemplate=Event'. We should have changed this in r100108.
504         * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Updated a run-bindings-tests result.
505         (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
506         (WebCore::fillTestEventConstructorInit):
507         * bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
508         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
509         (WebCore::V8TestEventConstructor::constructorCallback):
510         (WebCore::fillTestEventConstructorInit):
511         * bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
512
513         * dom/BeforeLoadEvent.idl: In essence, replaced [JSCustomConstructor] IDL with [JSConstructorTemplate=Event] IDL.
514         * dom/CustomEvent.idl: Ditto.
515         * dom/ErrorEvent.idl: Ditto.
516         * dom/Event.idl: Ditto.
517         * dom/HashChangeEvent.idl: Ditto.
518         * dom/MessageEvent.idl: Ditto.
519         * dom/OverflowEvent.idl: Ditto.
520         * dom/PageTransitionEvent.idl: Ditto.
521         * dom/PopStateEvent.idl: Ditto.
522         * dom/ProgressEvent.idl: Ditto.
523         * dom/WebKitAnimationEvent.idl: Ditto.
524         * dom/WebKitTransitionEvent.idl: Ditto.
525         * html/track/TrackEvent.idl: Ditto.
526         * websockets/CloseEvent.idl: Ditto.
527
528 2011-11-16  Dean Jackson  <dino@apple.com>
529
530         Build fix for Apple WebKit due to r100560.
531         When I removed the violating header file it lost the
532         reference to Color.
533
534         No review.
535
536         * platform/graphics/filters/FilterOperation.h:
537
538 2011-11-16  Dean Jackson  <dino@apple.com>
539
540         DropShadowFilterOperation violates platform isolation
541         https://bugs.webkit.org/show_bug.cgi?id=72544
542
543         Reviewed by Simon Fraser.
544
545         Move ShadowData properties into the DropShadowFilterOperation
546         to avoid depending on something outside platform.
547
548         * css/CSSComputedStyleDeclaration.cpp:
549         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
550         * css/CSSStyleSelector.cpp:
551         (WebCore::CSSStyleSelector::createFilterOperations):
552         * platform/graphics/filters/FilterOperation.h:
553         (WebCore::DropShadowFilterOperation::create):
554         (WebCore::DropShadowFilterOperation::x):
555         (WebCore::DropShadowFilterOperation::y):
556         (WebCore::DropShadowFilterOperation::stdDeviation):
557         (WebCore::DropShadowFilterOperation::color):
558         (WebCore::DropShadowFilterOperation::operator==):
559         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
560
561 2011-11-16  Adam Bergkvist  <adam.bergkvist@ericsson.com>
562
563         Use a simple page client for user consent in getUserMedia()
564         https://bugs.webkit.org/show_bug.cgi?id=70897
565
566         Reviewed by Adam Barth.
567
568         This is one in a series of patches that update the MediaStream feature
569         to use WebCore platform interfaces.
570
571         Covered by existing tests.
572
573         * GNUmakefile.list.am:
574         * WebCore.gypi:
575         * mediastream/MediaStreamClient.h: Removed.
576         * mediastream/MediaStreamController.cpp: Removed.
577         * mediastream/MediaStreamController.h: Removed.
578         * mediastream/MediaStreamFrameController.cpp: Removed.
579         * mediastream/MediaStreamFrameController.h: Removed.
580         * mediastream/UserMediaClient.h: Added.
581         (WebCore::UserMediaClient::~UserMediaClient):
582         * mediastream/UserMediaRequest.cpp: Added.
583         (WebCore::UserMediaRequest::create):
584         (WebCore::UserMediaRequest::UserMediaRequest):
585         (WebCore::UserMediaRequest::~UserMediaRequest):
586         (WebCore::UserMediaRequest::start):
587         (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
588         (WebCore::UserMediaRequest::succeed):
589         (WebCore::UserMediaRequest::fail):
590         (WebCore::UserMediaRequest::contextDestroyed):
591         (WebCore::UserMediaRequest::parseOptions):
592         * mediastream/UserMediaRequest.h: Added.
593         (WebCore::UserMediaRequest::audio):
594         (WebCore::UserMediaRequest::video):
595         (WebCore::UserMediaRequest::cameraPreferenceUser):
596         (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
597         (WebCore::UserMediaRequest::successCallback):
598         (WebCore::UserMediaRequest::errorCallback):
599         * page/CallbackTask.h: Removed.
600         * page/Frame.cpp:
601         (WebCore::Frame::Frame):
602         (WebCore::Frame::~Frame):
603         (WebCore::Frame::pageDestroyed):
604         (WebCore::Frame::transferChildFrameToNewDocument):
605         * page/Frame.h:
606         * page/Navigator.cpp:
607         (WebCore::Navigator::webkitGetUserMedia):
608         * page/NavigatorUserMediaErrorCallback.h:
609         * page/Page.cpp:
610         (WebCore::Page::Page):
611         (WebCore::Page::~Page):
612         (WebCore::Page::PageClients::PageClients):
613         * page/Page.h:
614         (WebCore::Page::userMediaClient):
615
616 2011-11-16  David Grogan  <dgrogan@chromium.org>
617
618         instantiate WorkerEventQueue in WorkerContext
619         https://bugs.webkit.org/show_bug.cgi?id=72528
620
621         Reviewed by David Levin.
622
623         No new tests - nothing uses it yet.
624
625         * workers/WorkerContext.cpp:
626         (WebCore::WorkerContext::WorkerContext):
627         Instantiate WorkerEventQueue in InitializerList
628
629         * workers/WorkerEventQueue.h:
630         Don't inherit from RefCounted, WorkerContext has an OwnPtr to it
631
632 2011-11-16  Kentaro Hara  <haraken@chromium.org>
633
634         Unreviewed. Rebaselined run-bindings-tests results.
635
636         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
637         (WebCore::JSTestEventConstructor::JSTestEventConstructor):
638         (WebCore::JSTestEventConstructorOwner::finalize):
639         * bindings/scripts/test/JS/JSTestEventConstructor.h:
640         (WebCore::JSTestEventConstructor::impl):
641         (WebCore::JSTestEventConstructor::releaseImpl):
642         * bindings/scripts/test/JS/JSTestInterface.cpp:
643         (WebCore::JSTestInterface::JSTestInterface):
644         (WebCore::JSTestInterfaceOwner::finalize):
645         * bindings/scripts/test/JS/JSTestInterface.h:
646         (WebCore::JSTestInterface::impl):
647         (WebCore::JSTestInterface::releaseImpl):
648         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
649         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
650         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
651         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
652         (WebCore::JSTestMediaQueryListListener::impl):
653         (WebCore::JSTestMediaQueryListListener::releaseImpl):
654         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
655         (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
656         (WebCore::JSTestNamedConstructorOwner::finalize):
657         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
658         (WebCore::JSTestNamedConstructor::impl):
659         (WebCore::JSTestNamedConstructor::releaseImpl):
660         * bindings/scripts/test/JS/JSTestObj.cpp:
661         (WebCore::JSTestObj::JSTestObj):
662         (WebCore::JSTestObjOwner::finalize):
663         * bindings/scripts/test/JS/JSTestObj.h:
664         (WebCore::JSTestObj::impl):
665         (WebCore::JSTestObj::releaseImpl):
666         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
667         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
668         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
669         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
670         (WebCore::JSTestSerializedScriptValueInterface::impl):
671         (WebCore::JSTestSerializedScriptValueInterface::releaseImpl):
672
673 2011-11-16  Jay Civelli  <jcivelli@chromium.org>
674
675         Make sure MHTML documents use the domain of the MHTML file.
676         https://bugs.webkit.org/show_bug.cgi?id=72445
677
678         Reviewed by Adam Barth.
679
680         * dom/Document.h:
681         (WebCore::Document::setBaseURL):
682         * loader/FrameLoader.cpp:
683         (WebCore::FrameLoader::receivedFirstData):
684
685 2011-11-16  Julien Chaffraix  <jchaffraix@webkit.org>
686
687         Update supported display list after -webkit-grid and -webkit-inline-grid addition
688         https://bugs.webkit.org/show_bug.cgi?id=72559
689
690         Reviewed by Tony Chang.
691
692         * css/CSSParser.cpp:
693         (WebCore::CSSParser::parseValue): Added the 2 new supported
694         values (forgotten in the previous change).
695
696 2011-11-11  Adrienne Walker  <enne@google.com>
697
698         [chromium] Expose mock scrollbars to window.internals
699         https://bugs.webkit.org/show_bug.cgi?id=72195
700
701         Reviewed by James Robinson.
702
703         * testing/Internals.cpp:
704         (WebCore::Internals::setMockScrollbarsEnabled):
705         * testing/Internals.h:
706         * testing/Internals.idl:
707
708 2011-11-16  Michael Nordman  <michaeln@google.com>
709
710         ApplicationCache manifest should work with any MIME type.
711         https://bugs.webkit.org/show_bug.cgi?id=72082
712
713         Reviewed by Alexey Proskuryakov.
714
715         * loader/appcache/ApplicationCacheGroup.cpp:
716         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Remove the test for a particular type.
717
718 2011-11-16  Daniel Sievers  <sievers@chromium.org>
719
720         [Chromium] Avoid color mask operations for root layers
721         https://bugs.webkit.org/show_bug.cgi?id=72452
722
723         Instead of relying on the combination of clearing the surface and initializing
724         the alpha channel to 1.0 followed by disabling alpha in the color mask when
725         rendering the root layer tiles, add shaders to support writing out opaque layers
726         (alpha channel values written as 1.0).
727
728         Reviewed by James Robinson.
729
730         No functional change made that requires new tests.
731
732         * platform/graphics/chromium/LayerRendererChromium.cpp:
733         (WebCore::LayerRendererChromium::drawLayersInternal):
734         (WebCore::LayerRendererChromium::initializeSharedObjects):
735         (WebCore::LayerRendererChromium::tilerProgramOpaque):
736         (WebCore::LayerRendererChromium::tilerProgramOpaqueAA):
737         (WebCore::LayerRendererChromium::tilerProgramSwizzleOpaque):
738         (WebCore::LayerRendererChromium::tilerProgramSwizzleOpaqueAA):
739         (WebCore::LayerRendererChromium::cleanupSharedObjects):
740         * platform/graphics/chromium/LayerRendererChromium.h:
741         * platform/graphics/chromium/ShaderChromium.cpp:
742         (WebCore::FragmentTexOpaqueBinding::FragmentTexOpaqueBinding):
743         (WebCore::FragmentTexOpaqueBinding::init):
744         (WebCore::FragmentShaderRGBATexOpaque::getShaderString):
745         (WebCore::FragmentShaderRGBATexSwizzleOpaque::getShaderString):
746         (WebCore::FragmentTexClampOpaqueAABinding::FragmentTexClampOpaqueAABinding):
747         (WebCore::FragmentTexClampOpaqueAABinding::init):
748         (WebCore::FragmentShaderRGBATexClampOpaqueAA::getShaderString):
749         (WebCore::FragmentShaderRGBATexClampSwizzleOpaqueAA::getShaderString):
750         * platform/graphics/chromium/ShaderChromium.h:
751         (WebCore::FragmentTexOpaqueBinding::alphaLocation):
752         (WebCore::FragmentTexOpaqueBinding::samplerLocation):
753         (WebCore::FragmentTexClampOpaqueAABinding::alphaLocation):
754         (WebCore::FragmentTexClampOpaqueAABinding::samplerLocation):
755         (WebCore::FragmentTexClampOpaqueAABinding::fragmentTexTransformLocation):
756         (WebCore::FragmentTexClampOpaqueAABinding::edgeLocation):
757         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
758         (WebCore::CCTiledLayerImpl::draw):
759         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
760
761 2011-11-16  Tim Horton  <timothy_horton@apple.com>
762
763         Implement CSS3 Images cross-fade() image function
764         https://bugs.webkit.org/show_bug.cgi?id=52162
765         <rdar://problem/10209254>
766
767         Reviewed by Simon Fraser.
768
769         Render -webkit-cross-fade. Only cross-fades entirely composed of images will render for now,
770         cross-fades involving generated images are not yet implemented.
771
772         Reorganize GeneratedImage to be the base class for GeneratorGeneratedImage and CrossfadeGeneratedImage.
773
774         Add a pending state to CSSImageGeneratorValue, which is used to enable the pending-images loading
775         mechanism for -webkit-cross-fade's sub-images. Rework the logic in CSSStyleSelector to support pending
776         generated images.
777         
778         Support parsing fractional values for the cross-fade amount (for example, 0.5 = 50%). Clamp cross-fade
779         amount to 0-1 range.
780
781         Tests: css3/images/cross-fade-invalidation.html
782                css3/images/cross-fade-simple.html
783                css3/images/cross-fade-sizing.html
784                css3/images/cross-fade-tiled.html
785
786         * CMakeLists.txt:
787         * GNUmakefile.list.am:
788         * Target.pri:
789         * WebCore.gypi:
790         * WebCore.xcodeproj/project.pbxproj:
791         * css/CSSCanvasValue.h:
792         (WebCore::CSSCanvasValue::isPending):
793         (WebCore::CSSCanvasValue::loadSubimages):
794         * css/CSSCrossfadeValue.cpp:
795         (WebCore::CSSCrossfadeValue::isPending):
796         (WebCore::CSSCrossfadeValue::loadSubimages):
797         (WebCore::subimageIsPending):
798         (WebCore::loadSubimage):
799         (WebCore::cachedImageForCSSValue):
800         (WebCore::CSSCrossfadeValue::image):
801         (WebCore::CSSCrossfadeValue::crossfadeChanged):
802         * css/CSSCrossfadeValue.h:
803         (WebCore::CSSCrossfadeValue::create):
804         (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
805         (WebCore::CSSCrossfadeValue::fixedSize):
806         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
807         (WebCore::CSSCrossfadeValue::CrossfadeObserverProxy::CrossfadeObserverProxy):
808         * css/CSSGradientValue.cpp:
809         (WebCore::CSSGradientValue::image):
810         * css/CSSGradientValue.h:
811         (WebCore::CSSGradientValue::isPending):
812         (WebCore::CSSGradientValue::loadSubimages):
813         * css/CSSImageGeneratorValue.cpp:
814         (WebCore::CSSImageGeneratorValue::generatedOrPendingImage):
815         (WebCore::CSSImageGeneratorValue::generatedImage):
816         (WebCore::CSSImageGeneratorValue::isPending):
817         (WebCore::CSSImageGeneratorValue::loadSubimages):
818         * css/CSSImageGeneratorValue.h:
819         * css/CSSParser.cpp:
820         (WebCore::CSSParser::parseCrossfade):
821         * css/CSSStyleSelector.cpp:
822         (WebCore::CSSStyleSelector::styleImage):
823         (WebCore::CSSStyleSelector::generatedOrPendingFromValue):
824         (WebCore::CSSStyleSelector::loadPendingImage):
825         (WebCore::CSSStyleSelector::loadPendingImages):
826         * css/CSSStyleSelector.h:
827         * platform/graphics/BitmapImage.h:
828         * platform/graphics/CrossfadeGeneratedImage.cpp: Added.
829         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
830         (WebCore::CrossfadeGeneratedImage::~CrossfadeGeneratedImage):
831         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
832         (WebCore::CrossfadeGeneratedImage::draw):
833         (WebCore::CrossfadeGeneratedImage::drawPattern):
834         (WebCore::CrossfadeGeneratedImage::imageChanged):
835         * platform/graphics/CrossfadeGeneratedImage.h: Added.
836         (WebCore::CrossfadeGeneratedImage::create):
837         (WebCore::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
838         (WebCore::CrossfadeSubimageObserverProxy::setReady):
839         * platform/graphics/GeneratedImage.h:
840         (WebCore::GeneratedImage::GeneratedImage):
841         * platform/graphics/GeneratorGeneratedImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratedImage.cpp.
842         (WebCore::GeneratorGeneratedImage::draw):
843         (WebCore::GeneratorGeneratedImage::drawPattern):
844         (WebCore::GeneratedImage::computeIntrinsicDimensions):
845         * platform/graphics/GeneratorGeneratedImage.h: Copied from Source/WebCore/platform/graphics/GeneratedImage.h.
846         (WebCore::GeneratorGeneratedImage::create):
847         (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
848         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
849         * platform/graphics/Image.h:
850         * platform/graphics/ImageBuffer.h:
851         * rendering/style/StylePendingImage.h:
852         (WebCore::StylePendingImage::create):
853         (WebCore::StylePendingImage::data):
854         (WebCore::StylePendingImage::cssImageValue):
855         (WebCore::StylePendingImage::cssImageGeneratorValue):
856         (WebCore::StylePendingImage::StylePendingImage):
857
858
859 2011-11-16  Dan Bernstein  <mitz@apple.com>
860
861         WebCore part of <rdar://problem/10262242> Add API for paginated display
862         https://bugs.webkit.org/show_bug.cgi?id=72537
863
864         Reviewed by Anders Carlsson.
865
866         * WebCore.exp.in: Exported Page::pageCount().
867         * page/Page.cpp:
868         (WebCore::Page::pageCount): Added this getter.
869         * page/Page.h:
870
871 2011-11-16  Shawn Singh  <shawnsingh@chromium.org>
872
873         [chromium] Track property changes for render surfaces.
874         https://bugs.webkit.org/show_bug.cgi?id=72521
875
876         Reviewed by James Robinson.
877
878         Created CCRenderSurfaceTest for testing.
879
880         * platform/graphics/chromium/LayerRendererChromium.cpp:
881         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
882         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
883         (WebCore::CCLayerImpl::resetPropertyChangedFlagForSubtree):
884         * platform/graphics/chromium/cc/CCLayerImpl.h:
885         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
886         (WebCore::CCRenderSurface::CCRenderSurface):
887         (WebCore::CCRenderSurface::setClipRect):
888         (WebCore::CCRenderSurface::setContentRect):
889         (WebCore::CCRenderSurface::surfacePropertyChanged):
890         * platform/graphics/chromium/cc/CCRenderSurface.h:
891         (WebCore::CCRenderSurface::resetPropertyChangedFlag):
892
893 2011-11-16  Ben Wells  <benwells@chromium.org>
894
895         Seaming on border corners with mixed colour alpha borders
896         https://bugs.webkit.org/show_bug.cgi?id=70471
897
898         Reviewed by Simon Fraser.
899
900         Seaming is fixed by antialiasing mitred corners for edges that have alpha and are joining
901         a side that is of a different color.
902
903         Test: fast/borders/border-mixed-alpha.html
904
905         * rendering/RenderBoxModelObject.cpp:
906         (WebCore::colorNeedsAntiAliasAtCorner):
907         (WebCore::RenderBoxModelObject::paintOneBorderSide):
908
909 2011-11-16  Sam Weinig  <sam@webkit.org>
910
911         JS wrappers of DOM objects should have no-op constructors
912         https://bugs.webkit.org/show_bug.cgi?id=72556
913
914         Reviewed by Geoffrey Garen.
915
916         Stop using a RefPtr to hold DOM objects contained by JavaScript
917         wrappers and instead use a raw pointer. We were already releasing
918         the underlying object before the destructor ran (via the finalizer)
919         so the default behavior of destroying the RefPtr is always unnecessary
920         busy work. 
921
922         * bindings/js/JSCSSValueCustom.cpp:
923         (WebCore::JSCSSValueOwner::finalize):
924         * bindings/js/JSNodeCustom.cpp:
925         (WebCore::JSNodeOwner::finalize):
926         (WebCore::JSNode::visitChildren):
927         Call releaseImpl() instead of clearImpl().
928
929         * bindings/scripts/CodeGeneratorJS.pm:
930         (GenerateHeader):
931         Stop storing m_impl in a RefPtr and instead use a raw pointer. Switch
932         clearImpl() to releaseImpl(), which explicitly derefs the pointer and
933         clear it.
934
935         (GenerateImplementation):
936         Use leakPtr() to explicitly adopt the PassRefPtr into the raw pointer.
937         Change default finalize to call releaseImpl() instead of clearImpl().
938
939 2011-11-16  Michael Saboff  <msaboff@apple.com>
940
941         Enable 8 Bit Strings in JavaScriptCore
942         https://bugs.webkit.org/show_bug.cgi?id=71337
943
944         This patch turns on 8 bit strings in StringImpl and enables
945         their use in JavaScriptCore. Some of the changes are to
946         turn on code that had been staged (Lexer.cpp, Identifier.cpp,
947         SmallStrings.cpp and some of StringImpl.{h,cpp}).
948         Other changes are minor fixes to make 8 bit strings work
949         (UString.h, StringImpl::getData16SlowCase()).
950         Changed StringBuffer to be a templated class based on character
951         type.  This change riplled into WebCore code as well.
952
953         Reviewed by Geoffrey Garen.
954
955         No new tests - Changes in response to refactoring StringBuffer to
956         be a template on character type.
957
958         * css/CSSParser.cpp:
959         (WebCore::quoteCSSString):
960         * css/CSSPrimitiveValue.cpp:
961         (WebCore::formatNumber):
962         * dom/Document.cpp:
963         (WebCore::canonicalizedTitle):
964         * platform/Length.cpp:
965         (WebCore::newCoordsArray):
966         * platform/sql/SQLiteStatement.cpp:
967         (WebCore::SQLiteStatement::prepare):
968         * platform/text/TextCodecUTF16.cpp:
969         (WebCore::TextCodecUTF16::decode):
970         * platform/text/TextCodecUTF8.cpp:
971         (WebCore::TextCodecUTF8::decode):
972         * rendering/RenderText.cpp:
973         (WebCore::makeCapitalized):
974         * xml/XSLTProcessorLibxslt.cpp:
975         (WebCore::writeToStringBuilder):
976
977 2011-11-16  Alexandre Elias  <aelias@google.com>
978
979         [chromium] Improvements for page scale delta during commit
980         https://bugs.webkit.org/show_bug.cgi?id=72471
981
982         Reviewed by James Robinson.
983
984         Page scale now follows the same commit flow as scroll position:
985         the delta is folded into m_pageScale at BFAC time, and a "sent" value
986         is preserved for temporary use until the commit finishes.
987
988         I also merged setPageScaleFactor and setPageScaleFactorLimits into one
989         function on the impl side.  The reason is that setPageFactor must
990         be applied after the limits are updated, but on the other hand setting
991         the limits first may cause an unnecessary clamp of the scale delta.
992         Merging the methods avoids this bind.
993
994         No new tests. (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
995
996         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
997         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
998         (WebCore::CCLayerTreeHost::applyScrollAndScale):
999         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
1000         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1001         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1002         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
1003         (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
1004         (WebCore::CCLayerTreeHostImpl::setScaleDelta):
1005         (WebCore::CCLayerTreeHostImpl::applyScaleDeltaToScrollLayer):
1006         (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
1007         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
1008         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1009
1010 2011-11-16  Joshua Bell  <jsbell@chromium.org>
1011
1012         IndexedDB: Reduce nested key depth threshold, re-enable flaky test
1013         https://bugs.webkit.org/show_bug.cgi?id=72529
1014
1015         Reviewed by Adam Barth.
1016
1017         Drop maximum array key depth from 20k to 2k.
1018
1019         * bindings/v8/IDBBindingUtilities.cpp:
1020
1021 2011-11-16  Nate Chapin  <japhet@chromium.org>
1022
1023         Fix incorrect multipart handling in r100311.
1024         SubresourceLoader::didReceiveData() is getting called
1025         twice, which has unintended side effects.
1026         https://bugs.webkit.org/show_bug.cgi?id=72436
1027
1028         Reviewed by Adam Barth.
1029
1030         http/tests/multipart/invalid-image-data.html should stop
1031         asserting after this.
1032
1033         * loader/SubresourceLoader.cpp:
1034         (WebCore::SubresourceLoader::didReceiveResponse):
1035         (WebCore::SubresourceLoader::didReceiveData):
1036         (WebCore::SubresourceLoader::sendDataToResource):
1037         * loader/SubresourceLoader.h:
1038
1039 2011-11-16  Justin Schuh  <jschuh@chromium.org>
1040
1041         Clear SVG filter client when its node is detached
1042         https://bugs.webkit.org/show_bug.cgi?id=71741
1043
1044         Reviewed by Eric Seidel.
1045
1046         Test: svg/filters/reparent-animated-filter-target.html
1047
1048         * rendering/svg/SVGResourcesCache.cpp:
1049         (WebCore::SVGResourcesCache::clientDestroyed):
1050
1051 2011-11-16  John Bates  <jbates@google.com>
1052
1053         Page/layer flashes after GPU-accelerated CSS transition
1054         https://bugs.webkit.org/show_bug.cgi?id=72343
1055
1056         LayerRendererChromium was resizing the window to 1x1 at initialization.
1057         In some cases, there is no drawLayers before switching back to
1058         software rendering. This left the window resized to 1x1 and the
1059         following software paints would therefore not be visible. This change
1060         moves the reshape call into drawLayers so that it will only be called
1061         if rendering will occur.
1062
1063         Reviewed by James Robinson.
1064
1065         New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.
1066
1067         * platform/graphics/chromium/LayerRendererChromium.cpp:
1068         (WebCore::LayerRendererChromium::viewportChanged):
1069         (WebCore::LayerRendererChromium::doViewportChanged):
1070         (WebCore::LayerRendererChromium::drawLayersInternal):
1071         * platform/graphics/chromium/LayerRendererChromium.h:
1072
1073 2011-11-16  Alexandre Elias  <aelias@google.com>
1074
1075         [chromium] Add null pointer check in setDeviceScaleFactor
1076         https://bugs.webkit.org/show_bug.cgi?id=72464
1077
1078         Reviewed by James Robinson.
1079
1080         No new tests. (Tiny fix.)
1081
1082         * page/Page.cpp:
1083         (WebCore::Page::setDeviceScaleFactor):
1084
1085 2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1086
1087         Unreviewed, rolling out r100438.
1088         http://trac.webkit.org/changeset/100438
1089         https://bugs.webkit.org/show_bug.cgi?id=72536
1090
1091         Broke unit tests (Requested by jamesr_ on #webkit).
1092
1093         * platform/PlatformScreen.h:
1094         * platform/chromium/PlatformScreenChromium.cpp:
1095         * platform/chromium/PlatformSupport.h:
1096         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1097         (WebCore::CCSettings::CCSettings):
1098         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1099         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1100
1101 2011-11-16  Andy Estes  <aestes@apple.com>
1102
1103         Assertion failure in LayerFlushScheduler::resume() when running some layout tests in WebKitTestRunner
1104         https://bugs.webkit.org/show_bug.cgi?id=72535
1105
1106         Reviewed by Anders Carlsson.
1107
1108         LayerFlushScheduler attempted to use a counter strategy for calls to
1109         suspend() and resume(), which allowed us to assert that these calls
1110         were balanced. Unfortunately it is hard to guarantee this in WebKit2,
1111         where we sometimes try to call suspend() before we've entered
1112         compositing mode (hence before we have a LayerTreeHost and a
1113         LayerFlushScheduler). When we later call resume(), this call ends up
1114         being unbalanced and asserts.
1115
1116         For now, remove the assertions and allow unbalanced calls to suspend()
1117         and resume().
1118
1119         * platform/graphics/ca/LayerFlushScheduler.cpp:
1120         (WebCore::LayerFlushScheduler::suspend):
1121         (WebCore::LayerFlushScheduler::resume):
1122         * platform/graphics/ca/LayerFlushScheduler.h:
1123         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
1124         (WebCore::LayerFlushScheduler::LayerFlushScheduler):
1125         (WebCore::LayerFlushScheduler::runLoopObserverCallback):
1126         (WebCore::LayerFlushScheduler::schedule):
1127
1128 2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1129
1130         Unreviewed, rolling out r100473.
1131         http://trac.webkit.org/changeset/100473
1132         https://bugs.webkit.org/show_bug.cgi?id=72534
1133
1134         "Broke the Mac Build" (Requested by mwenge2 on #webkit).
1135
1136         * CMakeLists.txt:
1137         * GNUmakefile.list.am:
1138         * Target.pri:
1139         * WebCore.gypi:
1140         * rendering/RenderBlock.cpp:
1141         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1142         * rendering/RenderObject.cpp:
1143         (WebCore::RenderObject::createObject):
1144         (WebCore::RenderObject::addChild):
1145         * rendering/RenderObject.h:
1146         * rendering/RenderTable.cpp:
1147         (WebCore::RenderTable::addChild):
1148         * rendering/RenderTable.h:
1149         * rendering/RenderTableCaption.cpp: Removed.
1150         * rendering/RenderTableCaption.h: Removed.
1151
1152 2011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1153
1154         Unreviewed, rolling out r100479.
1155         http://trac.webkit.org/changeset/100479
1156         https://bugs.webkit.org/show_bug.cgi?id=72533
1157
1158         "Broke the Mac Build" (Requested by mwenge2 on #webkit).
1159
1160         * WebCore.vcproj/WebCore.vcproj:
1161         * WebCore.xcodeproj/project.pbxproj:
1162         * rendering/RenderingAllInOne.cpp:
1163
1164 2011-11-16  Chris Fleizach  <cfleizach@apple.com>
1165
1166         WebKitTestRunner needs to support accessibility-related DRT APIs
1167         https://bugs.webkit.org/show_bug.cgi?id=42131
1168
1169         Minor changes needed to support AX testing in WKTestRunner.
1170
1171         Reviewed by Beth Dakin.
1172
1173         * WebCore.exp.in:
1174              Expose focusedUIElementForPage so that the WK2 injected bundle can retrieve it.
1175         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1176         (accessibilitySearchKeyForString):
1177             Remove an unncessary assert that was causing issues with the WK2 test run.
1178
1179 2011-11-16  Sergio Villar Senin  <svillar@igalia.com>
1180
1181         [Soup] Somet tests fail with FAIL Unexpected response data received: Wrong method: GET
1182         https://bugs.webkit.org/show_bug.cgi?id=69219
1183
1184         Reviewed by Martin Robinson.
1185
1186         Do not stop appending data to the request body if any of the blob
1187         items to upload is not accesible.
1188
1189         * platform/network/soup/ResourceHandleSoup.cpp:
1190         (WebCore::addEncodedBlobToSoupMessageBody):
1191
1192 2011-11-16  Beth Dakin  <bdakin@apple.com>
1193
1194         https://bugs.webkit.org/show_bug.cgi?id=72400
1195         Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
1196         -and corresponding-
1197         <rdar://problem/10409328>
1198
1199         Reviewed by Darin Adler.
1200
1201         This patch makes it so we track the mouse all the time when we have legacy 
1202         scrollbars (rather than only tracking the mouse when the window is key). When 
1203         we're in that mode, we want to do as little work as possible when handling the 
1204         mouseMoved event so that this extra tracking has little to no performance impact. 
1205         Also, we don't want to change basic behaviors by having normal web content hover 
1206         effects start happening when a window is in the background. So this patch also 
1207         introduces a way to handle a mouseMoved event that will only affect scrollbars.
1208
1209         EventHandler::mouseMoved() and EventHandler::handleMouseEvent() both now take a 
1210         boolean parameter that indicates if we are only updating scrollbars. If that is 
1211         the case, then we make our HitTestRequest ReadOnly, and we return early once 
1212         updateLastScrollbarUnderMouse() is called.
1213         * WebCore.exp.in:
1214         * page/EventHandler.cpp:
1215         (WebCore::EventHandler::mouseMoved):
1216         (WebCore::EventHandler::handleMouseMoveEvent):
1217
1218         In addition to calling Scrollbar::mouseExited() when appropriate, this function 
1219         now calls a new function, Scrollbar::mouseEntered() when appropriate. 
1220         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
1221         * page/EventHandler.h:
1222
1223         Scrollbar::mouseMoved() used to be responsible for calling 
1224         ScrollAnimator::mouseEnteredScrollbar(), but now Scrollbar::mouseEntered() takes 
1225         care of that instead, much like how Scrollbar::mouseExited() takes care of calling 
1226         the animator's exit function.
1227         * platform/Scrollbar.cpp:
1228         (WebCore::Scrollbar::mouseMoved):
1229         (WebCore::Scrollbar::mouseEntered):
1230         * platform/Scrollbar.h:
1231
1232 2011-11-16  Andreas Kling  <kling@webkit.org>
1233
1234         CSSValue: isInheritedValue() doesn't need a dedicated bit.
1235         <http://webkit.org/b/72514>
1236
1237         Reviewed by Antti Koivisto.
1238
1239         Remove CSSValue::m_isInherited and have isInheritedValue() check the
1240         class type instead. There's no compelling reason for CSSInheritedValue
1241         to have a dedicated bit, since nobody subclasses it anyway.
1242
1243         * css/CSSValue.h:
1244         (WebCore::CSSValue::isInheritedValue):
1245         (WebCore::CSSValue::CSSValue):
1246
1247 2011-11-16  Robert Hogan  <robert@webkit.org>
1248
1249         Fix build on Windows and Mac after r100473
1250
1251         Unreviewed, fix build.
1252
1253         * WebCore.vcproj/WebCore.vcproj:
1254         * WebCore.xcodeproj/project.pbxproj:
1255         * rendering/RenderingAllInOne.cpp:
1256
1257 2011-11-16  Philip Rogers  <pdr@google.com>
1258
1259         Remove extra GraphicsContextStateSaver restore() call.
1260         https://bugs.webkit.org/show_bug.cgi?id=72497
1261
1262         Reviewed by Andreas Kling.
1263
1264         * html/canvas/CanvasRenderingContext2D.cpp:
1265         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1266
1267 2011-11-08  Robert Hogan  <robert@webkit.org>
1268
1269         CSS 2.1 failure: border-collapse-offset-002.htm fails
1270         https://bugs.webkit.org/show_bug.cgi?id=71705
1271
1272         Table captions are implemented as children of the table but have a special
1273         requirement to expand to the full width of the table rather than just the 'available'
1274         width, i.e. the full width minus padding and borders.
1275
1276         To accomodate this create a RenderTableCaption object that reimplements containingBlockLogicalWidthForContent()
1277         to return the full width of the containing block (i.e. the table) rather than the available width.
1278
1279         Reviewed by Antti Koivisto.
1280
1281         * CMakeLists.txt: Add RenderTableCaption.[cpp|h]
1282         * GNUmakefile.list.am: Add RenderTableCaption.[cpp|h]
1283         * Target.pri: Add RenderTableCaption.[cpp|h]
1284         * WebCore.gypi: Add RenderTableCaption.[cpp|h]
1285         * rendering/RenderBlock.cpp:
1286         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use RenderTableCaption
1287         * rendering/RenderObject.cpp:
1288         (WebCore::RenderObject::createObject): Add RenderTableCaption.[cpp|h]
1289         (WebCore::RenderObject::addChild): ditto
1290         * rendering/RenderObject.h:
1291         (WebCore::RenderObject::isTableCaption):
1292         * rendering/RenderTable.cpp:
1293         (WebCore::RenderTable::addChild):
1294         * rendering/RenderTable.h:
1295         * rendering/RenderTableCaption.cpp: Added.
1296         (WebCore::RenderTableCaption::RenderTableCaption): Implement RenderTableCaption
1297         (WebCore::RenderTableCaption::~RenderTableCaption):
1298         (WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Return the containing block's full width rather than it's available width.
1299         * rendering/RenderTableCaption.h: Added.
1300         (WebCore::RenderTableCaption::isTableCaption):
1301         (WebCore::toRenderTableCaption):
1302
1303 2011-11-16  Antaryami Pandia  <antaryami.pandia@motorola.com>
1304
1305         [Gtk] display:none has no effect on <option> element.
1306         https://bugs.webkit.org/show_bug.cgi?id=72370
1307
1308         Reviewed by Martin Robinson.
1309
1310         * platform/gtk/GtkPopupMenu.cpp:
1311         (WebCore::GtkPopupMenu::appendItem):
1312         * platform/gtk/PopupMenuGtk.cpp:
1313         (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
1314
1315 2011-11-16  Dan Winship  <danw@gnome.org>
1316
1317         [GTK] Fix platformDefersLoading to handle non-http requests, and
1318         to not use broken-ish libsoup APIs.
1319         https://bugs.webkit.org/show_bug.cgi?id=72227
1320
1321         Reviewed by Martin Robinson.
1322
1323         * platform/network/ResourceHandleInternal.h:
1324         * platform/network/soup/ResourceHandleSoup.cpp:
1325         (WebCore::sendRequestCallback):
1326         (WebCore::startHTTPRequest):
1327         (WebCore::hasBeenSent):
1328         (WebCore::ResourceHandle::platformSetDefersLoading):
1329         (WebCore::readCallback): rather than deferring by using
1330         soup_session_pause_message(), let the read complete, but just don't
1331         process the result until we're no longer deferred.
1332         (WebCore::startNonHTTPRequest): Don't start the request if
1333         it's deferred.
1334
1335 2011-11-16  Vsevolod Vlasov  <vsevik@chromium.org>
1336
1337         Web Inspector: Application cache status should be updated after swapCache().
1338         https://bugs.webkit.org/show_bug.cgi?id=72123
1339
1340         Reviewed by Pavel Feldman.
1341
1342         Application cache view resources and status are now updated after swapCache() call.
1343         Refresh button removed from application cache view.
1344         Application cache inspector tests are moved to their own folder.
1345
1346         Tests: http/tests/inspector/appcache/appcache-iframe-manifests.html
1347                http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
1348                http/tests/inspector/appcache/appcache-swap.html
1349
1350         * inspector/front-end/ApplicationCacheItemsView.js:
1351         (WebInspector.ApplicationCacheItemsView):
1352         (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
1353         (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
1354         (WebInspector.ApplicationCacheItemsView.prototype._maybeUpdate):
1355         (WebInspector.ApplicationCacheItemsView.prototype._markDirty):
1356         (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
1357         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
1358         (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
1359         * loader/appcache/ApplicationCacheGroup.cpp:
1360         (WebCore::ApplicationCacheGroup::setNewestCache):
1361         (WebCore::ApplicationCacheGroup::makeObsolete):
1362         (WebCore::ApplicationCacheGroup::setUpdateStatus):
1363         * loader/appcache/ApplicationCacheHost.cpp:
1364         (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
1365         (WebCore::ApplicationCacheHost::swapCache):
1366
1367 2011-11-16  Eric Carlson  <eric.carlson@apple.com>
1368
1369         addTrack() must throw an exception if 'kind' is unknown
1370         https://bugs.webkit.org/show_bug.cgi?id=71915
1371
1372         Reviewed by Philippe Normand.
1373
1374         Tests: media/track/track-addtrack-kind.html
1375                media/track/track-kind.html
1376
1377         * html/HTMLMediaElement.cpp:
1378         (WebCore::HTMLMediaElement::textTrackKindChanged): New. Will be implemented for 62885.
1379         (WebCore::HTMLMediaElement::addTrack): Throw if  'kind' is not a known value.
1380         (WebCore::HTMLMediaElement::addTextTrack): Call textTracks(), it will allocate the track
1381             list object if necessary.
1382         (WebCore::HTMLMediaElement::textTracks): Never return NULL, a TextTrackList with no tracks
1383             is allowed.
1384         * html/HTMLMediaElement.h:
1385         (WebCore::HTMLMediaElement::addTrack): Add variants to deal with optional parameters plus
1386             a mandatory ExceptionCode parameter.
1387         * html/HTMLMediaElement.idl: addTrack can generate an exception.
1388
1389         * html/HTMLTrackElement.cpp:
1390         (WebCore::HTMLTrackElement::attributeChanged): kind, label, and srclang attribute changes should
1391             percolate down the the TextTrack.
1392         (WebCore::HTMLTrackElement::kind): Return the TextTrack kind because it is not necessarily the
1393             same as the attribute value.
1394         (WebCore::HTMLTrackElement::ensureTrack): Only pass legal 'kind' keywords to create a TextTrack.
1395         (WebCore::HTMLTrackElement::textTrackKindChanged): Notify parent element, if any.
1396         * html/HTMLTrackElement.h:
1397
1398         * html/TextTrack.cpp:
1399         (WebCore::TextTrack::subtitlesKeyword): New, return legal kind attribute value.
1400         (WebCore::TextTrack::captionsKeyword): Ditto.
1401         (WebCore::TextTrack::descriptionsKeyword): Ditto.
1402         (WebCore::TextTrack::chaptersKeyword): Ditto.
1403         (WebCore::TextTrack::metadataKeyword): Ditto.
1404         (WebCore::TextTrack::TextTrack): Call setKind to make sure m_kind is always set to legal value.
1405         (WebCore::TextTrack::isValidKindKeyword): New, validate 'kind' value.
1406         (WebCore::TextTrack::setKind): Only allow legal values.
1407         * html/TextTrack.h:
1408         (WebCore::TextTrack::kind):
1409         (WebCore::TextTrack::label):
1410         (WebCore::TextTrack::setLabel):
1411         (WebCore::TextTrack::language):
1412         (WebCore::TextTrack::setLanguage):
1413         (WebCore::TextTrack::readyState):
1414         (WebCore::TextTrack::mode):
1415
1416 2011-11-16  Andreas Kling  <kling@webkit.org>
1417
1418         CSSValue: Clean up initial value construction.
1419         <http://webkit.org/b/72502>
1420
1421         Reviewed by Antti Koivisto.
1422
1423         Instead of determining whether a given CSSInitialValue is 'implicit' or not by
1424         querying the CSSValue::ClassType (InitialClass vs. ImplicitInitialClass),
1425         add a protected CSSValue member and set it from the CSSInitialValue constructor.
1426
1427         Also get rid of the CSSValue::m_isInitial bit since we can now replace the
1428         checks by classType() == InitialClass.
1429
1430         No new tests, this is a cleanup.
1431
1432         * css/CSSInitialValue.h:
1433         (WebCore::CSSInitialValue::CSSInitialValue):
1434
1435             Poke 'implicit' constructor argument into CSSValue::m_isImplicit.
1436
1437         * css/CSSValue.cpp:
1438         (WebCore::CSSValue::cssText):
1439         (WebCore::CSSValue::destroy):
1440
1441             Remove ImplicitInitialClass cases.
1442
1443         * css/CSSValue.h:
1444         (WebCore::CSSValue::isImplicitInitialValue):
1445         (WebCore::CSSValue::isInitialValue):
1446         (WebCore::CSSValue::CSSValue):
1447
1448 2011-11-16  Antaryami Pandia  <antaryami.pandia@motorola.com>
1449
1450         Remove unnecessary if check from RenderListBox::paintItemForeground.
1451         https://bugs.webkit.org/show_bug.cgi?id=72488
1452
1453         Reviewed by Andreas Kling.
1454
1455         * rendering/RenderListBox.cpp:
1456         (WebCore::RenderListBox::paintItemForeground):
1457
1458 2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
1459
1460         [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
1461
1462         Reviewed by Tor Arne Vestbø.
1463
1464         * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
1465
1466 2011-11-16  Iain Merrick  <husky@google.com>
1467
1468         [chromium] Pass screen refresh rate into compositor.
1469         https://bugs.webkit.org/show_bug.cgi?id=71040
1470
1471         Reviewed by Tony Gentilcore.
1472
1473         * platform/PlatformScreen.h:
1474         * platform/chromium/PlatformScreenChromium.cpp:
1475         (WebCore::screenRefreshRate):
1476         * platform/chromium/PlatformSupport.h:
1477         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1478         (WebCore::CCSettings::CCSettings):
1479         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1480         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1481
1482 2011-11-15  Andrey Kosyakov  <caseq@chromium.org>
1483
1484         Web Inspector: [Extensions API] drop ExtensionSidebarPane.onUpdated, use callbacks instead
1485         https://bugs.webkit.org/show_bug.cgi?id=72388
1486
1487         Reviewed by Pavel Feldman.
1488
1489         Tests: inspector/extensions/extensions-panel.html
1490                inspector/extensions/extensions-sidebar.html
1491
1492         - fire ExtensionSidebarPane.on{Hidden,Shown} for non-iframe content (experssions/objects);
1493         - drop ExtensionsSidebarPane.onUpdated, provide callback for setObject()/setExpression() instead;
1494         - fix an exception when a page is replaced with object/expression.
1495
1496          inspector/front-end/ExtensionAPI.js:
1497         (injectedExtensionAPI.ExtensionSidebarPaneImpl):
1498         (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
1499         (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setObject):
1500         * inspector/front-end/ExtensionPanel.js:
1501         (WebInspector.ExtensionNotifierView):
1502         (WebInspector.ExtensionNotifierView.prototype.wasShown):
1503         (WebInspector.ExtensionNotifierView.prototype.willHide):
1504         (WebInspector.ExtensionSidebarPane.prototype.setObject):
1505         (WebInspector.ExtensionSidebarPane.prototype.setExpression):
1506         (WebInspector.ExtensionSidebarPane.prototype.setPage):
1507         (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
1508         (WebInspector.ExtensionSidebarPane.prototype._makeObjectPropertiesView):
1509         (WebInspector.ExtensionSidebarPane.prototype._setObject):
1510         * inspector/front-end/ExtensionServer.js:
1511         (WebInspector.ExtensionServer.prototype._onSetSidebarContent.callback):
1512         (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
1513         (WebInspector.ExtensionServer.prototype._dispatchCallback):
1514         * inspector/front-end/View.js:
1515         (WebInspector.View.prototype.detach):
1516
1517 2011-11-16  Simon Hausmann  <simon.hausmann@nokia.com>
1518
1519         Unreviewed, rolling out r100266.
1520         http://trac.webkit.org/changeset/100266
1521
1522         Broke WTR.
1523
1524         * Target.pri:
1525
1526 2011-11-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
1527
1528         [GTK] fast/events/event-creation.html fails creating MediaStreamEvent
1529         https://bugs.webkit.org/show_bug.cgi?id=70720
1530
1531         Reviewed by Philippe Normand.
1532
1533         Added missing overriding of Event::interfaceName()
1534
1535         * mediastream/MediaStreamEvent.cpp:
1536         (WebCore::MediaStreamEvent::stream): Changed return value to raw pointer.
1537         (WebCore::MediaStreamEvent::interfaceName): Added back from r98044.
1538         * mediastream/MediaStreamEvent.h:
1539         * mediastream/MediaStreamEvent.idl: Changed module name to "events".
1540
1541 2011-11-16  Mario Sanchez Prada  <msanchez@igalia.com>
1542
1543         [GTK] Use GQuark's in the ATK wrapper to get and set arbitrary data
1544         https://bugs.webkit.org/show_bug.cgi?id=72394
1545
1546         Reviewed by Martin Robinson.
1547
1548         No new functionality, no new tests needed.
1549
1550         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1551         (webkit_accessible_class_init): Initialize GQuarks.
1552         (getGailTextUtilForAtk): Use gailTextUtilQuark.
1553         (getPangoLayoutForAtk): Remove unused call to
1554         g_object_set_data_full, since that data is no used anywhere.
1555         (webkitAccessibleHyperlinkImplGetHyperlink): Use hyperlinkObjectQuark.
1556
1557 2011-11-15  Alexandru Chiculita  <achicu@adobe.com>
1558
1559         [CSSShaders] Implement the style cached resources and computed style for the shader urls
1560         https://bugs.webkit.org/show_bug.cgi?id=72378
1561
1562         Reviewed by Dean Jackson.
1563
1564         Test: css3/filters/custom-filter-property-computed-style.html
1565
1566         * GNUmakefile.list.am:
1567         * Target.pri:
1568         * WebCore.gypi:
1569         * WebCore.vcproj/WebCore.vcproj:
1570         * WebCore.xcodeproj/project.pbxproj:
1571         * css/CSSComputedStyleDeclaration.cpp:
1572         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
1573         * css/CSSStyleSelector.cpp:
1574         (WebCore::CSSStyleSelector::CSSStyleSelector):
1575         (WebCore::CSSStyleSelector::styleForKeyframe):
1576         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1577         (WebCore::CSSStyleSelector::styleForPage):
1578         (WebCore::CSSStyleSelector::applyMatchedDeclarations):
1579         (WebCore::CSSStyleSelector::styleShader):
1580         (WebCore::CSSStyleSelector::cachedOrPendingStyleShaderFromValue):
1581         (WebCore::CSSStyleSelector::loadPendingShaders):
1582         (WebCore::CSSStyleSelector::createCustomFilterOperation):
1583         (WebCore::CSSStyleSelector::createFilterOperations):
1584         * css/CSSStyleSelector.h:
1585         * css/WebKitCSSShaderValue.cpp:
1586         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
1587         (WebCore::WebKitCSSShaderValue::~WebKitCSSShaderValue):
1588         (WebCore::WebKitCSSShaderValue::cachedShader):
1589         (WebCore::WebKitCSSShaderValue::cachedOrPendingShader):
1590         * css/WebKitCSSShaderValue.h:
1591         * loader/cache/CachedResource.cpp:
1592         (WebCore::defaultPriorityForResourceType):
1593         * loader/cache/CachedResource.h:
1594         * loader/cache/CachedResourceLoader.cpp:
1595         (WebCore::createResource):
1596         (WebCore::CachedResourceLoader::requestShader):
1597         (WebCore::CachedResourceLoader::checkInsecureContent):
1598         (WebCore::CachedResourceLoader::canRequest):
1599         * loader/cache/CachedResourceLoader.h:
1600         * loader/cache/CachedShader.cpp:
1601         (WebCore::CachedShader::CachedShader):
1602         (WebCore::CachedShader::~CachedShader):
1603         * loader/cache/CachedShader.h:
1604         * platform/graphics/filters/CustomFilterOperation.h:
1605         * rendering/style/RenderStyle.h:
1606         (WebCore::InheritedFlags::filter):
1607         * rendering/style/StyleCachedShader.cpp:
1608         (WebCore::StyleCachedShader::StyleCachedShader):
1609         (WebCore::StyleCachedShader::cssValue):
1610         * rendering/style/StyleCachedShader.h:
1611         (WebCore::StyleCachedShader::create):
1612         * rendering/style/StylePendingShader.h:
1613         (WebCore::StylePendingShader::create):
1614         (WebCore::StylePendingShader::cssValue):
1615         (WebCore::StylePendingShader::cssShaderValue):
1616         (WebCore::StylePendingShader::StylePendingShader):
1617         * rendering/style/StyleShader.h:
1618         (WebCore::StyleShader::~StyleShader):
1619         (WebCore::StyleShader::isCachedShader):
1620         (WebCore::StyleShader::isPendingShader):
1621         (WebCore::StyleShader::StyleShader):
1622
1623 2011-11-15  Sergio Villar Senin  <svillar@igalia.com>
1624
1625         [WK2] [GTK] fast/css/webkit-mask-crash-fieldset-legend.html asserts WebKitWebProcess
1626         https://bugs.webkit.org/show_bug.cgi?id=69510
1627
1628         Reviewed by Simon Fraser.
1629
1630         End the current transparency layer before early returning from
1631         paintMask() when there is a maskBoxImage which is still being
1632         loaded. This will balance the previous call to
1633         beginTransparencyLayer().
1634
1635         * rendering/InlineFlowBox.cpp:
1636         (WebCore::InlineFlowBox::paintMask):
1637
1638 2011-11-15  Darin Adler  <darin@apple.com>
1639
1640         Incorrect type checks in RenderTheme media code
1641         https://bugs.webkit.org/show_bug.cgi?id=72184
1642
1643         Reviewed by Eric Carlson.
1644
1645         No tests added. Ideally this patch should be revised to add tests!
1646
1647         * accessibility/AccessibilityMediaControls.cpp:
1648         (WebCore::AccessibilityMediaControl::create): Use mediaControlElementType.
1649         (WebCore::AccessibilityMediaControl::controlType): Ditto.
1650         (WebCore::AccessibilityMediaTimeline::valueDescription): Use early return
1651         rather than an assertion to check type of input element.
1652
1653         * html/shadow/MediaControlElements.cpp:
1654         (WebCore::mediaControlElementType): Added. A type-safe way to get the
1655         media control element type after checking isMediaControlElement but with
1656         no other assumptions.
1657         * html/shadow/MediaControlElements.h: Added mediaControlElementType.
1658
1659         * platform/efl/RenderThemeEfl.cpp:
1660         (WebCore::RenderThemeEfl::paintMediaPlayButton): Use mediaControlElementType.
1661         (WebCore::RenderThemeEfl::paintMediaSeekBackButton): Use mediaControlElementType.
1662         (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): Use mediaControlElementType.
1663         * platform/gtk/RenderThemeGtk.cpp:
1664         (WebCore::RenderThemeGtk::paintMediaPlayButton): Check isMediaControlElement and
1665         use mediaControlElementType.
1666         * rendering/RenderThemeMac.mm:
1667         (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto. Also remove uneeded
1668         redundant null check.
1669         (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
1670         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton): Ditto.
1671
1672 2011-11-15  Jeff Timanus  <twiz@chromium.org>
1673
1674         [chromium] During tear down, prevent the WebGLLayerChromium instance from attempting to stop a timer for a NULL context.
1675         https://bugs.webkit.org/show_bug.cgi?id=72423
1676
1677         Reviewed by Kenneth Russell.
1678
1679         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1680         (WebCore::WebGLLayerChromium::setDrawingBuffer):
1681
1682 2011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
1683
1684         Rebaseline generated WebCore bindings
1685
1686         Unreviewed build fix
1687
1688         No new tests.
1689
1690         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1691         (WebCore::isObservable):
1692         (WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
1693         (WebCore::JSTestEventConstructorOwner::finalize):
1694         * bindings/scripts/test/JS/JSTestEventConstructor.h:
1695         (WebCore::JSTestEventConstructor::clearImpl):
1696         (WebCore::wrapperOwner):
1697         (WebCore::wrapperContext):
1698         * bindings/scripts/test/JS/JSTestInterface.cpp:
1699         (WebCore::JSTestInterfaceOwner::finalize):
1700         * bindings/scripts/test/JS/JSTestInterface.h:
1701         (WebCore::JSTestInterface::clearImpl):
1702         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1703         (WebCore::isObservable):
1704         (WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
1705         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
1706         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1707         (WebCore::JSTestMediaQueryListListener::clearImpl):
1708         (WebCore::wrapperOwner):
1709         (WebCore::wrapperContext):
1710         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1711         (WebCore::JSTestNamedConstructorOwner::finalize):
1712         * bindings/scripts/test/JS/JSTestNamedConstructor.h:
1713         (WebCore::JSTestNamedConstructor::clearImpl):
1714         * bindings/scripts/test/JS/JSTestObj.cpp:
1715         (WebCore::isObservable):
1716         (WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
1717         (WebCore::JSTestObjOwner::finalize):
1718         * bindings/scripts/test/JS/JSTestObj.h:
1719         (WebCore::JSTestObj::clearImpl):
1720         (WebCore::wrapperOwner):
1721         (WebCore::wrapperContext):
1722         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1723         (WebCore::isObservable):
1724         (WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
1725         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
1726         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1727         (WebCore::JSTestSerializedScriptValueInterface::clearImpl):
1728         (WebCore::wrapperOwner):
1729         (WebCore::wrapperContext):
1730
1731 2011-11-15  Jeff Timanus  <twiz@chromium.org>
1732
1733         Patch removing duplicated code in the setup of the DrawingBuffer used
1734         to host the back-buffer for WebGL contents.
1735         https://bugs.webkit.org/show_bug.cgi?id=72327
1736
1737         Reviewed by Kenneth Russell.
1738
1739         * html/canvas/WebGLRenderingContext.cpp:
1740         (WebCore::WebGLRenderingContext::copyTexImage2D):
1741         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
1742         (WebCore::WebGLRenderingContext::readPixels):
1743
1744 2011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
1745
1746         JS DOM wrappers depend on destructor to deref impl RefPtrs
1747         https://bugs.webkit.org/show_bug.cgi?id=72341
1748
1749         Reviewed by Sam Weinig.
1750
1751         No new tests.
1752
1753         Added clearing of impl RefPtrs to JS DOM wrapper nodes and removed the default 
1754         wrapperOwner function in favor of generating all WeakHandleOwners and wrapperOwner functions.
1755
1756         * bindings/js/JSCSSValueCustom.cpp:
1757         (WebCore::JSCSSValueOwner::finalize):
1758         * bindings/js/JSDOMBinding.h:
1759         * bindings/js/JSNodeCustom.cpp:
1760         (WebCore::JSNodeOwner::finalize):
1761         * bindings/scripts/CodeGeneratorJS.pm:
1762         (GenerateHeader):
1763         (GenerateImplementation):
1764
1765 2011-11-15  Joseph Pecoraro  <pecoraro@apple.com>
1766
1767         Web Inspector: Share Highlight Code for Drawing Outlined Quad
1768         https://bugs.webkit.org/show_bug.cgi?id=72451
1769
1770         Reviewed by Timothy Hatcher.
1771
1772         * inspector/DOMNodeHighlighter.cpp:
1773
1774 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1775
1776         Unreviewed, rolling out r100308.
1777         http://trac.webkit.org/changeset/100308
1778         https://bugs.webkit.org/show_bug.cgi?id=72450
1779
1780         Introduces WebGL conformance test regressions. (Requested by
1781         twiz on #webkit).
1782
1783         * html/canvas/WebGLRenderingContext.cpp:
1784         (WebCore::WebGLRenderingContext::copyTexImage2D):
1785         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
1786         (WebCore::WebGLRenderingContext::readPixels):
1787
1788 2011-11-15  James Robinson  <jamesr@chromium.org>
1789
1790         Rollout http://trac.webkit.org/changeset/99813, caused some crashes in
1791         TiledLayerChromium::updateCompositorResources()
1792
1793         * WebCore.gypi:
1794         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
1795         * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
1796         * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
1797         * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
1798         * platform/graphics/chromium/ContentLayerChromium.cpp:
1799         (WebCore::ContentLayerChromium::createTextureUpdater):
1800         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
1801         * platform/graphics/chromium/ImageLayerChromium.cpp:
1802         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
1803         * platform/graphics/chromium/LayerRendererChromium.cpp:
1804         * platform/graphics/chromium/LayerTextureUpdater.h:
1805         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp.
1806         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
1807         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
1808         (WebCore::FrameBuffer::FrameBuffer::initialize):
1809         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
1810         (WebCore::LayerTextureUpdaterCanvas::paintContents):
1811         (WebCore::LayerTextureUpdaterBitmap::create):
1812         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
1813         (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
1814         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
1815         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
1816         (WebCore::LayerTextureUpdaterSkPicture::create):
1817         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
1818         (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
1819         (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
1820         (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
1821         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1822         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
1823         (WebCore::LayerTextureUpdaterCanvas::contentRect):
1824         (WebCore::LayerTextureUpdaterBitmap::orientation):
1825         (WebCore::LayerTextureUpdaterSkPicture::orientation):
1826         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
1827         * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
1828         * platform/graphics/chromium/TiledLayerChromium.cpp:
1829         (WebCore::UpdatableTile::UpdatableTile):
1830         (WebCore::UpdatableTile::texture):
1831         (WebCore::TiledLayerChromium::updateCompositorResources):
1832         (WebCore::TiledLayerChromium::pushPropertiesTo):
1833         (WebCore::TiledLayerChromium::createTile):
1834         (WebCore::TiledLayerChromium::protectTileTextures):
1835         (WebCore::TiledLayerChromium::prepareToUpdate):
1836         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
1837         (WebCore::CCTextureUpdater::append):
1838         (WebCore::CCTextureUpdater::update):
1839         * platform/graphics/chromium/cc/CCTextureUpdater.h:
1840
1841 2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
1842
1843         Add the needed plumbing to parse display: -webkit-inline-grid
1844         https://bugs.webkit.org/show_bug.cgi?id=72438
1845
1846         Reviewed by Tony Chang.
1847
1848         Test: fast/css-grid-layout/display-grid-set-get.html
1849
1850         Added the needed constants and plugged everything together.
1851         Again we treat display: -webkit-inline-grid like display: none
1852         for the moment.
1853
1854         * css/CSSParser.cpp:
1855         (WebCore::CSSParser::parseValue):
1856         * css/CSSPrimitiveValueMappings.h:
1857         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1858         * css/CSSValueKeywords.in:
1859         * rendering/RenderObject.cpp:
1860         (WebCore::RenderObject::createObject):
1861         * rendering/style/RenderStyleConstants.h:
1862
1863 2011-11-15  W. James MacLean  <wjmaclean@chromium.org>
1864
1865         [chromium] Move setVisibleRect() calls into calculateDrawTransformAndVisibility()
1866         https://bugs.webkit.org/show_bug.cgi?id=72162
1867
1868         Reviewed by Kenneth Russell.
1869
1870         Refactoring of existing functionality, so uses existing tests.
1871
1872         * platform/graphics/chromium/LayerRendererChromium.cpp:
1873         (WebCore::LayerRendererChromium::drawLayer):
1874         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1875         (WebCore::paintContentsIfDirty):
1876         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1877         (WebCore::CCLayerTreeHost::paintLayerContents):
1878         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1879         (WebCore::walkLayersAndCalculateVisibleLayerRects):
1880         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
1881
1882 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1883
1884         Unreviewed, rolling out r100340.
1885         http://trac.webkit.org/changeset/100340
1886         https://bugs.webkit.org/show_bug.cgi?id=72448
1887
1888         Caused assertion failure in Win dbg canary. (Requested by
1889         pkasting on #webkit).
1890
1891         * platform/graphics/chromium/LayerRendererChromium.cpp:
1892         (WebCore::LayerRendererChromium::LayerRendererChromium):
1893         (WebCore::LayerRendererChromium::viewportChanged):
1894         (WebCore::LayerRendererChromium::drawLayersInternal):
1895         * platform/graphics/chromium/LayerRendererChromium.h:
1896
1897 2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
1898
1899         Switch table indexing to unsigned
1900         https://bugs.webkit.org/show_bug.cgi?id=72083
1901
1902         Reviewed by Darin Adler.
1903
1904         No expected change in behavior.
1905
1906         All of the code is now using unsigned for indexing!
1907
1908         * rendering/FixedTableLayout.cpp:
1909         (WebCore::FixedTableLayout::layout):
1910         * rendering/RenderTable.cpp:
1911         (WebCore::RenderTable::colElement):
1912         (WebCore::RenderTable::cellAbove):
1913         * rendering/RenderTableSection.cpp:
1914         (WebCore::RenderTableSection::splitColumn):
1915         Added some ASSERTs to make sure we don't underflow. Looking at how
1916         the different variables are populated, they should not be reached.
1917
1918         * rendering/RenderTableCell.cpp:
1919         (WebCore::RenderTableCell::colSpan):
1920         (WebCore::RenderTableCell::rowSpan):
1921         Those 2 functions promotes HTMLTableCellElement's int to unsigned
1922         which should be fine as we make sure their are positive. Also HTML5
1923         makes those 2 fields "unsigned long" which goes in the same direction.
1924
1925         * rendering/AutoTableLayout.cpp:
1926         (WebCore::AutoTableLayout::layout):
1927         * rendering/RenderTableSection.cpp:
1928         (WebCore::RenderTableSection::nodeAtPoint):
1929         Rewrote a couple of reverse iterating to be able to use unsigned
1930         without overflowing.
1931
1932         * rendering/AutoTableLayout.cpp:
1933         (WebCore::AutoTableLayout::recalcColumn):
1934         (WebCore::AutoTableLayout::fullRecalc):
1935         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
1936         (WebCore::AutoTableLayout::insertSpanCell):
1937         * rendering/AutoTableLayout.h:
1938         * rendering/FixedTableLayout.cpp:
1939         (WebCore::FixedTableLayout::calcWidthArray):
1940         * rendering/RenderTable.cpp:
1941         (WebCore::RenderTable::splitColumn):
1942         (WebCore::RenderTable::appendColumn):
1943         (WebCore::RenderTable::recalcSections):
1944         * rendering/RenderTable.h:
1945         (WebCore::RenderTable::getColumnPos):
1946         (WebCore::RenderTable::spanOfEffCol):
1947         (WebCore::RenderTable::effColToCol):
1948         * rendering/RenderTableCell.cpp:
1949         (WebCore::RenderTableCell::styleOrColLogicalWidth):
1950         (WebCore::CollapsedBorders::nextBorder):
1951         * rendering/RenderTableCell.h:
1952         * rendering/RenderTableCol.cpp:
1953         (WebCore::RenderTableCol::updateFromElement):
1954         * rendering/RenderTableCol.h:
1955         (WebCore::RenderTableCol::span):
1956         (WebCore::RenderTableCol::setSpan):
1957         * rendering/RenderTableSection.cpp:
1958         (WebCore::RenderTableSection::addCell):
1959         (WebCore::RenderTableSection::setCellLogicalWidths):
1960         (WebCore::RenderTableSection::layoutRows):
1961         (WebCore::RenderTableSection::calcOuterBorderBefore):
1962         (WebCore::RenderTableSection::calcOuterBorderAfter):
1963         (WebCore::RenderTableSection::calcOuterBorderStart):
1964         (WebCore::RenderTableSection::calcOuterBorderEnd):
1965         (WebCore::RenderTableSection::paintObject):
1966         (WebCore::RenderTableSection::appendColumn):
1967         * rendering/RenderTableSection.h:
1968         (WebCore::RenderTableSection::cellAt):
1969         (WebCore::RenderTableSection::primaryCellAt):
1970         (WebCore::RenderTableSection::getBaseline):
1971         Mechanical change int -> unsigned.
1972
1973 2011-11-15  Andy Estes  <aestes@apple.com>
1974
1975         Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
1976         https://bugs.webkit.org/show_bug.cgi?id=72106
1977
1978         Reviewed by Anders Carlsson.
1979
1980         Add a class that encapsulates the logic of scheduling, enabling and
1981         invalidating a run loop observer that fires before Core Animation's
1982         commit observer. Clients can subclass LayerFlushSchedulerClient and
1983         implement flushLayers(), which will be called by the observer.
1984
1985         * WebCore.exp.in:
1986         * WebCore.xcodeproj/project.pbxproj:
1987         * platform/graphics/ca/LayerFlushScheduler.cpp: Added.
1988         (WebCore::LayerFlushScheduler::suspend): Suspend scheduling by
1989         invalidating the run loop observer. Keep a count of calls to suspend()
1990         in m_suspendCount.
1991         (WebCore::LayerFlushScheduler::resume): Decrement m_suspendCount.
1992         Install the run loop observer when it reaches 0.
1993         * platform/graphics/ca/LayerFlushSchedulerClient.h: Added.
1994         (WebCore::LayerFlushSchedulerClient::~LayerFlushSchedulerClient):
1995         * platform/graphics/ca/LayerFlushScheduler.h: Added.
1996         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp: Added.
1997         (LayerFlushScheduler::LayerFlushScheduler):
1998         (LayerFlushScheduler::~LayerFlushScheduler):
1999         (LayerFlushScheduler::runLoopObserverCallback): Call flushLayers() on
2000         the LayerFlushSchedulerClient.
2001         (LayerFlushScheduler::schedule): Install the run loop observer.
2002         (LayerFlushScheduler::invalidate): Remove the run loop
2003         observer if it is installed.
2004
2005 2011-11-15  Adam Klein  <adamk@chromium.org>
2006
2007         [v8] Use throwError instead of compiling and running script in handleMaxRecursionDepthExceeded
2008         https://bugs.webkit.org/show_bug.cgi?id=72432
2009
2010         Reviewed by Adam Barth.
2011
2012         * bindings/v8/V8Proxy.cpp:
2013         (WebCore::handleMaxRecursionDepthExceeded):
2014
2015 2011-11-15  Vincent Scheib  <scheib@chromium.org>
2016
2017         Pointer Lock: Refactoring: PointerLock.idl: Dropping webkit prefix
2018         https://bugs.webkit.org/show_bug.cgi?id=72431
2019
2020         Reviewed by Adam Barth.
2021
2022         * page/PointerLock.cpp:
2023         (WebCore::PointerLock::lock):
2024         (WebCore::PointerLock::unlock):
2025         (WebCore::PointerLock::isLocked):
2026         * page/PointerLock.h:
2027         * page/PointerLock.idl:
2028
2029 2011-11-15  Nat Duca  <nduca@chromium.org>
2030
2031         [chromium] Fuse MainThread and CCThread
2032         https://bugs.webkit.org/show_bug.cgi?id=72426
2033
2034         Reviewed by James Robinson.
2035
2036         * WebCore.gypi:
2037         * platform/graphics/chromium/LayerRendererChromium.cpp:
2038         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2039         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2040         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2041         * platform/graphics/chromium/cc/CCMainThread.cpp: Removed.
2042         * platform/graphics/chromium/cc/CCMainThread.h: Removed.
2043         * platform/graphics/chromium/cc/CCMainThreadTask.h: Removed.
2044         * platform/graphics/chromium/cc/CCProxy.cpp:
2045         (WebCore::CCProxy::setMainThread):
2046         (WebCore::CCProxy::mainThread):
2047         (WebCore::CCProxy::setImplThread):
2048         (WebCore::CCProxy::implThread):
2049         (WebCore::CCProxy::isMainThread):
2050         (WebCore::CCProxy::isImplThread):
2051         (WebCore::CCProxy::~CCProxy):
2052         * platform/graphics/chromium/cc/CCProxy.h:
2053         * platform/graphics/chromium/cc/CCScopedThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCScopedMainThreadProxy.h.
2054         (WebCore::CCScopedThreadProxy::create):
2055         (WebCore::CCScopedThreadProxy::postTask):
2056         (WebCore::CCScopedThreadProxy::shutdown):
2057         (WebCore::CCScopedThreadProxy::CCScopedThreadProxy):
2058         (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):
2059         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2060         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2061         (WebCore::CCThreadProxy::CCThreadProxy):
2062         (WebCore::CCThreadProxy::compositeAndReadback):
2063         (WebCore::CCThreadProxy::finishAllRendering):
2064         (WebCore::CCThreadProxy::initializeLayerRenderer):
2065         (WebCore::CCThreadProxy::setNeedsAnimate):
2066         (WebCore::CCThreadProxy::setNeedsCommit):
2067         (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
2068         (WebCore::CCThreadProxy::setNeedsRedraw):
2069         (WebCore::CCThreadProxy::setVisible):
2070         (WebCore::CCThreadProxy::start):
2071         (WebCore::CCThreadProxy::stop):
2072         (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
2073         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
2074         (WebCore::CCThreadProxy::beginFrameAndCommit):
2075         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
2076         (WebCore::CCThreadProxy::initializeImplOnImplThread):
2077         * platform/graphics/chromium/cc/CCThreadProxy.h:
2078
2079 2011-11-15  Vincent Scheib  <scheib@chromium.org>
2080
2081         Pointer Lock: Refactor: MouseEvent.idl movementX/Y
2082         https://bugs.webkit.org/show_bug.cgi?id=72427
2083
2084         - [Conditional...] vs #if defined
2085         - Runtime enabled
2086         - .movementX/Y prefixed with 'webkit'
2087
2088         Reviewed by Adam Barth.
2089
2090         No new tests.
2091
2092         * bindings/generic/RuntimeEnabledFeatures.h:
2093         (WebCore::RuntimeEnabledFeatures::webkitMovementXEnabled):
2094         (WebCore::RuntimeEnabledFeatures::webkitMovementYEnabled):
2095         * dom/MouseEvent.idl:
2096         * dom/MouseRelatedEvent.h:
2097         (WebCore::MouseRelatedEvent::webkitMovementX):
2098         (WebCore::MouseRelatedEvent::webkitMovementY):
2099
2100 2011-10-28  Ojan Vafai  <ojan@chromium.org>
2101
2102         implement flex-align for flex-flow: column
2103         https://bugs.webkit.org/show_bug.cgi?id=70754
2104
2105         Reviewed by David Hyatt.
2106
2107         Tests: css3/flexbox/flex-align-column.html
2108                css3/flexbox/line-wrapping.html
2109
2110         * rendering/RenderBox.cpp:
2111         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
2112         When flexitems are column, they should size to the intrinsic width unless flex-flow is stretch.
2113
2114         * rendering/RenderFlexibleBox.cpp:
2115         (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
2116         This was just using the wrong, non-flow-aware method.
2117
2118 2011-11-15  Jochen Eisinger  <jochen@chromium.org>
2119
2120         Rename ReferrerPolicy to clarify its meaning
2121         https://bugs.webkit.org/show_bug.cgi?id=72420
2122
2123         Reviewed by Nate Chapin.
2124
2125         On the one hand, even if the ReferrerPolicy was set to SendReferrer, the
2126         referrer wasn't necessarily send. On the other hand, I want to use the
2127         name ReferrerPolicy when implementing the meta referrer tag.
2128
2129         No change in behavior expected so no test.
2130
2131         * html/HTMLAnchorElement.cpp:
2132         (WebCore::HTMLAnchorElement::handleClick):
2133         (WebCore::handleLinkClick):
2134         * loader/FrameLoader.cpp:
2135         (WebCore::FrameLoader::changeLocation):
2136         (WebCore::FrameLoader::urlSelected):
2137         (WebCore::FrameLoader::loadFrameRequest):
2138         * loader/FrameLoader.h:
2139         * loader/FrameLoaderTypes.h:
2140         * loader/NavigationScheduler.cpp:
2141         (WebCore::ScheduledHistoryNavigation::fire):
2142         (WebCore::ScheduledFormSubmission::fire):
2143         * page/ContextMenuController.cpp:
2144         (WebCore::openNewWindow):
2145         (WebCore::ContextMenuController::contextMenuItemSelected):
2146         * WebCore.exp.in: updated.
2147
2148 2011-11-15  Adam Klein  <adamk@chromium.org>
2149
2150         Factor out V8Proxy's max recursion depth handling code
2151         https://bugs.webkit.org/show_bug.cgi?id=72422
2152
2153         Reviewed by Nate Chapin.
2154
2155         Previously, V8Proxy used slightly different code to handle stack limit
2156         violations depending on whether they occured in runScript or
2157         callFunction. As described in http://webkit.org/b/72063, I intend to
2158         expand the usage of m_recursion when calling into script. This patch
2159         is intended to unify the existing handling code, making it easier to
2160         move elsewhere without causing unintended side-effects.
2161
2162         No tests changed, as the only change in behavior is the string passed
2163         to RangeError in the runScript case, and it's not mentioned anywhere
2164         in the LayoutTests.
2165
2166         * bindings/v8/V8Proxy.cpp:
2167         (WebCore::handleMaxRecursionDepthExceeded):
2168         (WebCore::V8Proxy::runScript): Use callFunction's factored-out code.
2169         (WebCore::V8Proxy::callFunction): Simplify and factor out code into handleMaxRecursionDepthExceeded.
2170
2171 2011-11-15  Jessie Berlin  <jberlin@apple.com>
2172
2173         NSURLRequest leak beneath ResourceRequest::setStorageSession seen on Leaks bot.
2174         https://bugs.webkit.org/show_bug.cgi?id=72419
2175
2176         Reviewed by Adam Roben.
2177
2178         Adopt the copied NSURLRequest.
2179
2180         * platform/network/mac/ResourceRequestMac.mm:
2181         (WebCore::ResourceRequest::setStorageSession):
2182
2183 2011-11-15  John Bates  <jbates@google.com>
2184
2185         Page/layer flashes after GPU-accelerated CSS transition
2186         https://bugs.webkit.org/show_bug.cgi?id=72343
2187
2188         LayerRendererChromium was resizing the window to 1x1 at initialization.
2189         In some cases, there is no drawLayers before switching back to
2190         software rendering. This left the window resized to 1x1 and the
2191         following software paints would therefore not be visible. This change
2192         moves the reshape call into drawLayers so that it will only be called
2193         if rendering will occur.
2194
2195         Reviewed by James Robinson.
2196
2197         New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.
2198
2199         * platform/graphics/chromium/LayerRendererChromium.cpp:
2200         (WebCore::LayerRendererChromium::viewportChanged):
2201         (WebCore::LayerRendererChromium::doViewportChanged):
2202         (WebCore::LayerRendererChromium::drawLayersInternal):
2203         * platform/graphics/chromium/LayerRendererChromium.h:
2204
2205 2011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
2206
2207         Add the needed plumbing to parse display: -webkit-grid
2208         https://bugs.webkit.org/show_bug.cgi?id=72331
2209
2210         Reviewed by Tony Chang.
2211
2212         Test: fast/css-grid-layout/display-grid-set-get.html
2213
2214         Added parsing support for display: -webkit-grid. From a rendering perspective,
2215         the value is equivalent to display: none until we properly implement it.
2216
2217         * css/CSSParser.cpp:
2218         (WebCore::CSSParser::parseValue):
2219         * css/CSSPrimitiveValueMappings.h:
2220         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2221         * css/CSSValueKeywords.in:
2222         * rendering/style/RenderStyleConstants.h:
2223         Added the new CSS value and plumbed the parsing and style application of
2224         the new value.
2225
2226         * css/CSSPrimitiveValueMappings.h:
2227         (WebCore::CSSPrimitiveValue::operator EDisplay):
2228         Added an ASSERT here as I bumped into some non-trivial issues due to bug 72296.
2229         -wap-marquee was offsetting the new value and was wrongly casted by the CSSPrimitiveValueMapping
2230         logic outside the EDisplay range which would lead to crashes.
2231
2232         * rendering/RenderObject.cpp:
2233         (WebCore::RenderObject::createObject):
2234         Fixed the indentation to follow our coding rules.
2235
2236 2011-11-15  Vincent Scheib  <scheib@chromium.org>
2237
2238         Mouse Lock: Renaming to 'Pointer Lock': MouseLockable to PointerLock
2239         https://bugs.webkit.org/show_bug.cgi?id=72315
2240
2241         Reviewed by Dimitri Glazkov.
2242
2243         * WebCore.gypi:
2244         * page/Navigator.cpp:
2245         (WebCore::Navigator::webkitPointer):
2246         * page/Navigator.h:
2247         * page/Navigator.idl:
2248         * page/PointerLock.cpp: Renamed from Source/WebCore/page/MouseLockable.cpp.
2249         (WebCore::PointerLock::PointerLock):
2250         (WebCore::PointerLock::~PointerLock):
2251         (WebCore::PointerLock::webkitLock):
2252         (WebCore::PointerLock::webkitUnlock):
2253         (WebCore::PointerLock::webkitIsLocked):
2254         * page/PointerLock.h: Renamed from Source/WebCore/page/MouseLockable.h.
2255         (WebCore::PointerLock::create):
2256         * page/PointerLock.idl: Renamed from Source/WebCore/page/MouseLockable.idl.
2257
2258 2011-10-28  Ojan Vafai  <ojan@chromium.org>
2259
2260         Overflow and relayout are broken in the new flexboxes
2261         https://bugs.webkit.org/show_bug.cgi?id=71161
2262
2263         Reviewed by David Hyatt.
2264
2265         Tests: css3/flexbox/auto-height-dynamic.html
2266                css3/flexbox/flex-item-child-overflow-expected.html
2267                css3/flexbox/flex-item-child-overflow.html
2268
2269         * rendering/RenderFlexibleBox.cpp:
2270         (WebCore::RenderFlexibleBox::layoutBlock):
2271         -Always set the logical height to 0 to start with to ensure we don't
2272         use the height from the previous layout when we are computing the
2273         intrinsic size of the flexbox.
2274         -Call computeOverflow after computeLogicalHeight so that flex-item's children's
2275         overflow is properly rendered.
2276
2277         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
2278         -Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
2279         -Refactor flipping code. The behavior is the same, but the variable names are just
2280         more correct.
2281
2282 2011-10-28  Ojan Vafai  <ojan@chromium.org>
2283
2284         Overflow and relayout are broken in the new flexboxes
2285         https://bugs.webkit.org/show_bug.cgi?id=71161
2286
2287         Reviewed by David Hyatt.
2288
2289         Tests: css3/flexbox/auto-height-dynamic.html
2290                css3/flexbox/flex-item-child-overflow-expected.html
2291                css3/flexbox/flex-item-child-overflow.html
2292
2293         * rendering/RenderFlexibleBox.cpp:
2294         (WebCore::RenderFlexibleBox::layoutBlock):
2295         -Always set the logical height to 0 to start with to ensure we don't
2296         use the height from the previous layout when we are computing the
2297         intrinsic size of the flexbox.
2298         -Call computeOverflow after computeLogicalHeight so that flex-item's children's
2299         overflow is properly rendered.
2300
2301         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
2302         -Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
2303         -Refactor flipping code. The behavior is the same, but the variable names are just
2304         more correct.
2305
2306 2011-11-15  Nate Chapin  <japhet@chromium.org>
2307
2308         CachedResourceRequest is now the only SubresourceLoaderClient
2309         Merge CachedResourceRequest into SubresourceLoader and delete
2310         the SubresourceLoaderClient interface. A few items were moved
2311         to CachedResource instead of SubresourceLoader.
2312         https://bugs.webkit.org/show_bug.cgi?id=71149
2313
2314         Reviewed by Adam Barth.
2315
2316         * CMakeLists.txt:
2317         * GNUmakefile.list.am:
2318         * WebCore.gypi:
2319         * WebCore.pro:
2320         * WebCore.vcproj/WebCore.vcproj:
2321         * WebCore.xcodeproj/project.pbxproj:
2322         * loader/ResourceLoadScheduler.cpp:
2323         * loader/ResourceLoadScheduler.h:
2324         * loader/ResourceLoader.cpp:
2325         * loader/SubresourceLoader.cpp:
2326         (WebCore::SubresourceLoader::SubresourceLoader):
2327         (WebCore::SubresourceLoader::create):
2328         (WebCore::SubresourceLoader::init): Do work that had previously been
2329             done in SubresourceLoader::create() after the constructor.
2330         (WebCore::SubresourceLoader::willSendRequest):
2331         (WebCore::SubresourceLoader::didSendData):
2332         (WebCore::SubresourceLoader::didReceiveResponse):
2333         (WebCore::SubresourceLoader::didReceiveData):
2334         (WebCore::SubresourceLoader::didReceiveCachedMetadata):
2335         (WebCore::SubresourceLoader::didFinishLoading):
2336         (WebCore::SubresourceLoader::didFail):
2337         (WebCore::SubresourceLoader::willCancel):
2338         (WebCore::SubresourceLoader::releaseResources): Do the cleanup work that was
2339             duplicated throughout the various terminal CachedResourceRequest callbacks.
2340         * loader/SubresourceLoader.h: Fix indentation style issues.
2341         * loader/SubresourceLoaderClient.h: Removed.
2342         * loader/cache/CachedImage.cpp:
2343         * loader/cache/CachedRawResource.cpp:
2344         * loader/cache/CachedResource.cpp:
2345         (WebCore::cachedResourceTypeToTargetType):
2346         (WebCore::CachedResource::load): Do the work that had been done in
2347             CachedResourceRequest::load().
2348         (WebCore::CachedResource::finish):
2349         (WebCore::CachedResource::setResponse):
2350         (WebCore::CachedResource::stopLoading):
2351         * loader/cache/CachedResource.h:
2352         (WebCore::CachedResource::canDelete):
2353         * loader/cache/CachedResourceLoader.cpp:
2354         * loader/cache/CachedResourceRequest.cpp: Removed.
2355         * loader/cache/CachedResourceRequest.h: Removed.
2356         * loader/cf/SubresourceLoaderCF.cpp:
2357         * loader/chromium/CachedResourceRequestChromium.cpp: Removed.
2358         * loader/chromium/SubresourceLoaderChromium.cpp:
2359
2360 2011-11-15  Anders Carlsson  <andersca@apple.com>
2361
2362         HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
2363         https://bugs.webkit.org/show_bug.cgi?id=72397
2364
2365         Reviewed by Dan Bernstein.
2366
2367         screenToWindow and windowToScreen already use root view coordinates everywhere, with the
2368         exception of Mac WebKit1 which doesn't even implement the functions.
2369
2370         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2371         (-[WebAccessibilityObjectWrapper position]):
2372         * loader/EmptyClients.h:
2373         * page/Chrome.cpp:
2374         (WebCore::Chrome::screenToRootView):
2375         (WebCore::Chrome::rootViewToScreen):
2376         * page/Chrome.h:
2377         * page/ChromeClient.h:
2378         * platform/HostWindow.h:
2379         * platform/ScrollView.cpp:
2380         (WebCore::ScrollView::contentsToScreen):
2381         (WebCore::ScrollView::screenToContents):
2382         * platform/chromium/PopupContainer.cpp:
2383         (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
2384         (WebCore::PopupContainer::refresh):
2385
2386 2011-11-15  Jeff Timanus  <twiz@chromium.org>
2387
2388         Patch removing duplicated code in the setup of the DrawingBuffer used
2389         to host the back-buffer for WebGL contents.
2390         https://bugs.webkit.org/show_bug.cgi?id=72327
2391
2392         Reviewed by Julien Chaffraix.
2393
2394         * html/canvas/WebGLRenderingContext.cpp:
2395         (WebCore::WebGLRenderingContext::copyTexImage2D):
2396         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2397         (WebCore::WebGLRenderingContext::readPixels):
2398
2399 2011-11-15  Eugene Nalimov  <enal@google.com>
2400
2401         Event listener for active DOM object that is also DOM node can be garbage collected prematurely.
2402         https://bugs.webkit.org/show_bug.cgi?id=70421 
2403
2404         Reviewed by Adam Barth.
2405
2406         Problem demonstrated itself when HTMLAudioElement was changed to become active DOM object.
2407         Before that there were no DOM objects that simultaneously were nodes and active objects.
2408         DOM object could be held in one of 3 maps -- node map, active objects map, and all other
2409         objects map, and HTMLAudioElement should be in 2 maps simultaneously. When it was in the
2410         active DOM objects map only, its event listener could be garbage collected, because special
2411         code that groups listeners with wrappers could handle only wrappers for objects in the node
2412         map. If we put HTMLAudioElement into nodes map, it would not be active DOM node, and can be
2413         garbage collected prematurely itself (see https://bugs.webkit.org/show_bug.cgi?id=66878).
2414         Fix is to introduce 4th map -- active nodes map, and change the code accordingly.
2415
2416         Test: media/audio-garbage-collect.html
2417
2418         * bindings/scripts/CodeGeneratorV8.pm:
2419         (GenerateNamedConstructorCallback):
2420         (GetDomMapFunction):
2421         * bindings/v8/DOMDataStore.cpp:
2422         (WebCore::DOMDataStore::DOMDataStore):
2423         (WebCore::DOMDataStore::getDOMWrapperMap):
2424         (WebCore::DOMDataStore::weakNodeCallback):
2425         * bindings/v8/DOMDataStore.h:
2426         (WebCore::DOMDataStore::activeDomNodeMap):
2427         * bindings/v8/ScopedDOMDataStore.cpp:
2428         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
2429         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
2430         * bindings/v8/StaticDOMDataStore.cpp:
2431         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
2432         * bindings/v8/StaticDOMDataStore.h:
2433         * bindings/v8/V8DOMMap.cpp:
2434         (WebCore::getActiveDOMNodeMap):
2435         (WebCore::removeAllDOMObjects):
2436         (WebCore::visitActiveDOMNodes):
2437         * bindings/v8/V8DOMMap.h:
2438         * bindings/v8/V8DOMWrapper.cpp:
2439         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
2440         (WebCore::V8DOMWrapper::getWrapperSlow):
2441         * bindings/v8/V8GCController.cpp:
2442         (WebCore::GCPrologueSpecialCase):
2443         (WebCore::void):
2444         (WebCore::Node):
2445         (WebCore::GCPrologueVisitor::visitDOMWrapper):
2446         (WebCore::V8GCController::gcPrologue):
2447         (WebCore::GCEpilogueHelper::GCEpilogueSpecialCase):
2448         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
2449         (WebCore::V8GCController::gcEpilogue):
2450         * dom/Node.h:
2451         (WebCore::Node::isActiveNode):
2452         * html/HTMLAudioElement.h:
2453         (WebCore::HTMLAudioElement::isActiveNode):
2454
2455 2011-11-15  David Kilzer  <ddkilzer@apple.com>
2456
2457         Remove useless const modifier from KURL::init
2458         <http://webkit.org/b/72387>
2459
2460         Reviewed by Darin Adler.
2461
2462         * platform/KURL.cpp:
2463         (WebCore::KURL::init): Remove useless const.
2464
2465 2011-11-14  Anders Carlsson  <andersca@apple.com>
2466
2467         HostWindow invalidation functions should use root view coordinates
2468         https://bugs.webkit.org/show_bug.cgi?id=72338
2469
2470         Reviewed by Dan Bernstein.
2471
2472         Rename invalidateWindow to invalidateRootView, and invalidateContentsAndWindow
2473         to invalidateContentsAndRootView. Make sure that the rects passed to the renamed functions
2474         are in root view coordinates by changing contentsToWindow calls to contentsToRootView.
2475         
2476         In practice this doesn't matter because for all platforms except Mac WebKit1, root view coordinates
2477         and window coordinates are equivalent, and Mac WebKit1 doesn't use these invalidation functions.
2478
2479         * loader/EmptyClients.h:
2480         * page/Chrome.cpp:
2481         (WebCore::Chrome::invalidateRootView):
2482         (WebCore::Chrome::invalidateContentsAndRootView):
2483         * page/Chrome.h:
2484         * page/ChromeClient.h:
2485         * page/Frame.cpp:
2486         (WebCore::Frame::tiledBackingStorePaintEnd):
2487         * page/FrameView.cpp:
2488         (WebCore::FrameView::invalidateRect):
2489         (WebCore::FrameView::scrollContentsFastPath):
2490         * platform/HostWindow.h:
2491         * platform/ScrollView.cpp:
2492         (WebCore::ScrollView::rectToCopyOnScroll):
2493         (WebCore::ScrollView::scrollContents):
2494         (WebCore::ScrollView::wheelEvent):
2495         * platform/chromium/FramelessScrollView.cpp:
2496         (WebCore::FramelessScrollView::invalidateRect):
2497         * svg/graphics/SVGImage.cpp:
2498         (WebCore::SVGImageChromeClient::invalidateContentsAndRootView):
2499
2500 2011-11-15  Philip Rogers  <pdr@google.com>
2501
2502         Implement maxWidth for fillText and strokeText, fixing the canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html test.
2503         https://bugs.webkit.org/show_bug.cgi?id=61528
2504
2505         Reviewed by Stephen White.
2506
2507         Tests: fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
2508                fast/canvas/2d.text.draw.fill.maxWidth.negative.html
2509                fast/canvas/2d.text.draw.fill.maxWidth.veryLarge.html
2510                fast/canvas/2d.text.draw.fill.maxWidth.verySmall.html
2511
2512         * html/canvas/CanvasRenderingContext2D.cpp:
2513         (WebCore::CanvasRenderingContext2D::drawTextInternal):
2514
2515 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2516
2517         [GTK] Implement download support in WebKit2
2518         https://bugs.webkit.org/show_bug.cgi?id=72258
2519
2520         Reviewed by Martin Robinson.
2521
2522         Add common download errors to ErrorsGtk.
2523
2524         * platform/gtk/ErrorsGtk.cpp:
2525         (WebCore::downloadNetworkError):
2526         (WebCore::downloadCancelledByUserError):
2527         (WebCore::downloadDestinationError):
2528         * platform/gtk/ErrorsGtk.h:
2529
2530 2011-11-15  Cary Clark  <caryclark@google.com>
2531
2532         [chromium-mac] Enable vertical text using Skia
2533         https://bugs.webkit.org/show_bug.cgi?id=72137
2534
2535         Use Skia to draw vertical text. This is much
2536         faster and has higher fidelity than the old method
2537         of drawing text on a path.
2538
2539         The graphics context passed to Skia has been
2540         rotated 90 degrees but the character advances
2541         have not, so it is necessary to unrotate the canvas,
2542         and re-rotate the positions.
2543
2544         This generates correct output (or, at least,
2545         consistent with Chromium CG on Mac) for all vertical
2546         text tests, one of which is mentioned below.
2547         
2548         Reviewed by Stephen White.
2549
2550         Test: fast/writing-mode/text-orientation-basic.html
2551
2552         * platform/graphics/skia/FontSkia.cpp:
2553         (WebCore::setupPaint):
2554         (WebCore::Font::drawGlyphs):
2555
2556 2011-11-15  Philip Rogers  <pdr@google.com>
2557
2558         Fix SVG hit testing when padding is present
2559         https://bugs.webkit.org/show_bug.cgi?id=37325
2560
2561         Reviewed by Nikolas Zimmermann.
2562
2563         Test: svg/hittest/svg-padding.xhtml
2564
2565         * rendering/svg/RenderSVGRoot.cpp:
2566         (WebCore::RenderSVGRoot::nodeAtPoint):
2567
2568 2011-11-15  Pavel Feldman  <pfeldman@google.com>
2569
2570         Web Inspector: move generic code from DevTools.js into the WebCore.
2571         https://bugs.webkit.org/show_bug.cgi?id=72377
2572
2573         re-landing r100269.
2574
2575         Reviewed by Yury Semikhatsky.
2576
2577         * English.lproj/localizedStrings.js:
2578         * inspector/front-end/InspectorFrontendHostStub.js:
2579         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
2580         * inspector/front-end/ProfilesPanel.js:
2581         * inspector/front-end/Resource.js:
2582         * inspector/front-end/Settings.js:
2583         * inspector/front-end/UIUtils.js:
2584         (WebInspector.setToolbarColors):
2585         (WebInspector.resetToolbarColors):
2586         * inspector/front-end/inspector.js:
2587
2588 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2589
2590         Unreviewed, rolling out r100269.
2591         http://trac.webkit.org/changeset/100269
2592         https://bugs.webkit.org/show_bug.cgi?id=72383
2593
2594         "Broke dozens of tests due to exception in loadingFinished"
2595         (Requested by tonyg-cr on #webkit).
2596
2597         * English.lproj/localizedStrings.js:
2598         * inspector/front-end/InspectorFrontendHostStub.js:
2599         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
2600         * inspector/front-end/ProfilesPanel.js:
2601         * inspector/front-end/Resource.js:
2602         * inspector/front-end/Settings.js:
2603         * inspector/front-end/UIUtils.js:
2604         * inspector/front-end/inspector.js:
2605
2606 2011-11-15  Alexander Pavlov  <apavlov@chromium.org>
2607
2608         font property does not show up as "shorthand" in inspector
2609         https://bugs.webkit.org/show_bug.cgi?id=15598
2610
2611         Reviewed by Nikolas Zimmermann.
2612
2613         The "font" CSS property is turned into a real shorthand, as its longhands used to float around
2614         in the resulting style declaration without any reference to their underlying "font" property.
2615
2616         Test: fast/css/font-shorthand.html
2617
2618         * css/CSSMutableStyleDeclaration.cpp:
2619         (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Extracted the "font" value building into fontValue().
2620         (WebCore::CSSMutableStyleDeclaration::appendFontLonghandValueIfExplicit): Added
2621         (WebCore::CSSMutableStyleDeclaration::fontValue): Build the "font" value from longhands.
2622         * css/CSSMutableStyleDeclaration.h:
2623         * css/CSSParser.cpp:
2624         (WebCore::CSSParser::addProperty): Added optional "implicit" parameter.
2625         (WebCore::CSSParser::parseFont): Build respective longhands instead of the shorthand "font" property.
2626         * css/CSSParser.h: Added optional "implicit" parameter to addProperty().
2627         * css/CSSPropertyLonghand.cpp:
2628         (WebCore::initShorthandMap): Added "font" shorthand map entry.
2629         * css/CSSStyleSelector.cpp:
2630         (WebCore::CSSStyleSelector::applyPropertyToStyle): Separated the property application from the instance setup.
2631         (WebCore::CSSStyleSelector::applyPropertyToCurrentStyle): Added.
2632         * css/CSSStyleSelector.h: Made updateFont() public.
2633         * css/FontValue.cpp:
2634         (WebCore::FontValue::customCssText): Made use of StringBuilder.
2635         * html/canvas/CanvasRenderingContext2D.cpp:
2636         (WebCore::CanvasRenderingContext2D::setFont): Apply "font" longhands rather than the (non-existent) "font" property.
2637         * inspector/front-end/StylesSidebarPane.js:
2638         (WebInspector.StylesSidebarPane.prototype._markUsedProperties): Removed a workaround for "font" not being a shorthand.
2639         * page/animation/AnimationBase.cpp:
2640         (WebCore::addShorthandProperties): Removed a workaround for "font" not being a shorthand.
2641
2642 2011-11-15  Pierre Rossi  <pierre.rossi@gmail.com>
2643
2644         [Qt] Clean up the remaining duplicate code after the RenderThemeQt refactoring.
2645         https://bugs.webkit.org/show_bug.cgi?id=72262
2646
2647         Reviewed by Antonio Gomes.
2648
2649         No new tests needed, this is purely cosmetic.
2650
2651         * platform/qt/RenderThemeQStyle.cpp:
2652         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
2653         * platform/qt/RenderThemeQStyle.h:
2654         * platform/qt/RenderThemeQt.cpp:
2655         (WebCore::RenderThemeQt::adjustMenuListButtonStyle): remove the call to resetBorderRadius()
2656         since the mobile theme actually didn't do this.
2657         * platform/qt/RenderThemeQtMobile.cpp:
2658         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
2659
2660 2011-11-15  Pavel Feldman  <pfeldman@google.com>
2661
2662         Web Inspector: move generic code from DevTools.js into the WebCore.
2663         https://bugs.webkit.org/show_bug.cgi?id=72377
2664
2665         This includes support for themed toolbar, remote debugging routines,
2666         removes a couple of obsolete overrides from the DevTools.js
2667
2668         Reviewed by Yury Semikhatsky.
2669
2670         * English.lproj/localizedStrings.js:
2671         * inspector/front-end/InspectorFrontendHostStub.js:
2672         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
2673         * inspector/front-end/ProfilesPanel.js:
2674         * inspector/front-end/Resource.js:
2675         * inspector/front-end/Settings.js:
2676         * inspector/front-end/UIUtils.js:
2677         (WebInspector.setToolbarColors):
2678         (WebInspector.resetToolbarColors):
2679         * inspector/front-end/inspector.js:
2680
2681 2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
2682
2683         [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
2684
2685         Reviewed by Tor Arne Vestbø.
2686
2687         * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
2688
2689 2011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2690
2691         Unreviewed, rolling out r100213.
2692         http://trac.webkit.org/changeset/100213
2693         https://bugs.webkit.org/show_bug.cgi?id=72371
2694
2695         "Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).
2696
2697         * page/SecurityOrigin.cpp:
2698         (WebCore::SecurityOrigin::SecurityOrigin):
2699         * platform/SchemeRegistry.cpp:
2700         (WebCore::schemesWithUniqueOrigins):
2701
2702 2011-11-15  Alpha Lam  <hclam@chromium.org>
2703
2704         [chromium] scroll deltas are cleared during commit to the main thread
2705         https://bugs.webkit.org/show_bug.cgi?id=71916
2706
2707         Reviewed by James Robinson.
2708
2709         Patch is covered by unit test.
2710
2711         Add a member m_sentScrollDelta to CCLayerImpl to keep track of the scroll delta being
2712         sent to the main thread during commit. This gives a simpler approach to keep tracking of a
2713         layer's scroll delta in impl thread.
2714
2715         * platform/graphics/chromium/LayerChromium.h:
2716         (WebCore::LayerChromium::sentScrollDelta):
2717         * platform/graphics/chromium/cc/CCLayerImpl.h:
2718         (WebCore::CCLayerImpl::sentScrollDelta):
2719         (WebCore::CCLayerImpl::setSentScrollDelta):
2720         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2721         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2722         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2723
2724 2011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
2725
2726         [Qt] REGRESSION(100123): It made inspector tests crash
2727         https://bugs.webkit.org/show_bug.cgi?id=72274
2728
2729         Reviewed by Tor Arne Vestbø.
2730
2731         * platform/qt/RenderThemeQStyle.h: Remove uninitialized and duplicated
2732         m_page member that should really come from RenderThemeQt.
2733
2734 2011-11-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2735
2736         Unreviewed. Fix build breaks when EFL port is built.
2737
2738         * CMakeLists.txt:
2739         * UseJSC.cmake:
2740
2741 2011-11-15  Noel Gordon  <noel.gordon@gmail.com>
2742
2743         Make ImageFrame member getAddr() public
2744         https://bugs.webkit.org/show_bug.cgi?id=72321
2745
2746         Reviewed by Adam Barth.
2747
2748         Make ImageFrame member getAddr() public to allow ImageFrame users access to the
2749         underlying frame pixels if needed. Image decoders, for example, could with care
2750         use this service to write decoded pixels direct to the ImageFrame pixel buffer,
2751         avoiding intermeadiate data copies from temporary decoded pixel row buffers and
2752         the decoding performance loss that that entails.
2753
2754         No new tests, refactoring only.
2755
2756         * platform/image-decoders/ImageDecoder.h:
2757         (WebCore::ImageFrame::getAddr):
2758
2759 2011-11-14  Alexander Pavlov  <apavlov@chromium.org>
2760
2761         Web Inspector: [Crash] Crash when inspecting namespaced SVG styled via element names
2762         https://bugs.webkit.org/show_bug.cgi?id=72261
2763
2764         Reviewed by Pavel Feldman.
2765
2766         Test: inspector/styles/svg-style.xhtml
2767
2768         * inspector/InspectorStyleSheet.cpp:
2769         (WebCore::InspectorStyleSheet::inlineStyleSheetText):
2770
2771 2011-11-15  Kent Tamura  <tkent@chromium.org>
2772
2773         [V8] Fix incorrect handling of JavaScript properties in DOMStringMap
2774         https://bugs.webkit.org/show_bug.cgi?id=53578
2775
2776         Reviewed by Adam Barth.
2777
2778         Follows a JSC behavior change by r96893.
2779
2780         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2781         (WebCore::V8DOMStringMap::namedPropertyGetter):
2782         Propagate to the JavaScript object if the DOMStringMap object
2783         doesn't have the requested item.
2784         (WebCore::V8DOMStringMap::namedPropertyDeleter): ditto.
2785         (WebCore::V8DOMStringMap::namedPropertySetter):
2786         Try to set a property to only a DOMStringMap object.
2787
2788 2011-11-14  Pavel Feldman  <pfeldman@google.com>
2789
2790         Web Inspector: Command line $x fails for 3 of 4 types of XPath query
2791         https://bugs.webkit.org/show_bug.cgi?id=72276
2792
2793         Reviewed by Timothy Hatcher.
2794
2795         Test: inspector/console/console-xpath.html
2796
2797         * inspector/InjectedScriptSource.js:
2798         (.):
2799
2800 2011-11-14  Ryosuke Niwa  <rniwa@webkit.org>
2801
2802         Fix the change log entry for r59190.
2803
2804         * ChangeLog-2010-05-24:
2805
2806 2011-11-14  Dmitry Lomov  <dslomov@google.com>
2807         
2808         [V8][Chromium]Serialize dense arrays densly
2809         https://bugs.webkit.org/show_bug.cgi?id=72198
2810         This patch ensures that:
2811         - Dense arrays are serialized densly, and not as name-value pairs
2812         - Sparse arrays are allocated as sparse on deserialization.
2813         The criteria to choose whether to serialize densly or sparsely is the size
2814         of a resulting serialized stream.
2815
2816         Reviewed by David Levin.
2817
2818         Test: fast/dom/Window/window-postmessage-arrays.html
2819
2820         * bindings/v8/SerializedScriptValue.cpp:
2821         (WebCore::V8ObjectMap::Writer::writeDenseArray):
2822         (WebCore::V8ObjectMap::Writer::writeGenerateFreshSparseArray):
2823         (WebCore::V8ObjectMap::Writer::writeGenerateFreshDenseArray):
2824         (WebCore::V8ObjectMap::Serializer::writeDenseArray):
2825         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
2826         (WebCore::V8ObjectMap::Serializer::AbstractObjectState::serializeProperties):
2827         (WebCore::V8ObjectMap::Serializer::ObjectState::advance):
2828         (WebCore::V8ObjectMap::Serializer::DenseArrayState::DenseArrayState):
2829         (WebCore::V8ObjectMap::Serializer::DenseArrayState::advance):
2830         (WebCore::V8ObjectMap::Serializer::DenseArrayState::objectDone):
2831         (WebCore::V8ObjectMap::Serializer::SparseArrayState::SparseArrayState):
2832         (WebCore::V8ObjectMap::Serializer::SparseArrayState::advance):
2833         (WebCore::V8ObjectMap::Serializer::serializeDensely):
2834         (WebCore::V8ObjectMap::Serializer::startArrayState):
2835         (WebCore::V8ObjectMap::Serializer::startObjectState):
2836         (WebCore::V8ObjectMap::Serializer::doSerialize):
2837         (WebCore::V8ObjectMap::Reader::read):
2838         (WebCore::V8ObjectMap::Deserializer::newSparseArray):
2839         (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
2840         (WebCore::V8ObjectMap::Deserializer::completeDenseArray):
2841
2842 2011-11-14  Alexandre Elias  <aelias@google.com>
2843
2844         [chromium] Fix scaleDelta zoom-out visibility rect bug
2845         https://bugs.webkit.org/show_bug.cgi?id=72208
2846
2847         Since the scroll is no longer applied at the top layer of the layer
2848         tree, the scaleDelta transformation needs to be moved down to the
2849         same level.
2850
2851         Also fix zoomAnimator to be applied the same way.  I removed zoom
2852         animator layout tests, as they aren't testing the actual impl-side
2853         codepath, and are hard to continue supporting -- we should cover zoom
2854         features with unit tests in the future.
2855
2856         Reviewed by James Robinson.
2857
2858         No new tests (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
2859
2860         * platform/graphics/chromium/LayerChromium.h:
2861         (WebCore::LayerChromium::scaleDelta):
2862         * platform/graphics/chromium/LayerRendererChromium.cpp:
2863         (WebCore::LayerRendererChromium::drawLayersInternal):
2864         * platform/graphics/chromium/LayerRendererChromium.h:
2865         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2866         (WebCore::CCLayerImpl::CCLayerImpl):
2867         (WebCore::CCLayerImpl::setScaleDelta):
2868         * platform/graphics/chromium/cc/CCLayerImpl.h:
2869         (WebCore::CCLayerImpl::scaleDelta):
2870         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2871         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2872         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2873         (WebCore::CCLayerTreeHostImpl::setScaleDelta):
2874         (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
2875
2876 2011-11-14  Chris Fleizach  <cfleizach@apple.com>
2877
2878         WebProcess crashes when trying to display your "uploaded videos" page on Facebook
2879         https://bugs.webkit.org/show_bug.cgi?id=72334
2880
2881         Reviewed by Beth Dakin.
2882
2883         Protect against documents without frames.
2884
2885         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2886         (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
2887
2888 2011-11-14  Oliver Hunt  <oliver@apple.com>
2889
2890         More V8 build fixes.
2891
2892         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2893         (WebCore::setWebGLArrayHelper):
2894
2895 2011-11-14  Oliver Hunt  <oliver@apple.com>
2896
2897         Fix V8 build again.
2898
2899         * bindings/scripts/CodeGeneratorV8.pm:
2900         * bindings/scripts/test/V8/V8Float64Array.cpp:
2901         (WTF::Float64Array::neuterBinding):
2902
2903 2011-11-14  Oliver Hunt  <oliver@apple.com>
2904
2905         Fix V8 build.
2906
2907         * bindings/scripts/CodeGeneratorV8.pm:
2908         * bindings/scripts/test/V8/V8Float64Array.cpp:
2909         (WTF::Float64Array::neuterBinding):
2910
2911 2011-11-14  Oliver Hunt  <oliver@apple.com>
2912
2913         Start migrating typed array impl types to WTF
2914         https://bugs.webkit.org/show_bug.cgi?id=72336
2915
2916         Reviewed by Geoffrey Garen.
2917
2918         Move typed arrays from WebCore namespace to WTF, and
2919         start reducing dependencies on WebCore types.
2920
2921         * bindings/js/JSArrayBufferViewHelper.h:
2922         (WebCore::setWebGLArrayHelper):
2923         * bindings/scripts/CodeGeneratorJS.pm:
2924         (IsTypedArrayType):
2925         (AddClassForwardIfNeeded):
2926         (GenerateImplementation):
2927         * bindings/scripts/CodeGeneratorV8.pm:
2928         (IsTypedArrayType):
2929         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Added.
2930         (WebDOMFloat64Array::WebDOMFloat64Array):
2931         (WebDOMFloat64Array::impl):
2932         (toWebCore):
2933         (toWebKit):
2934         * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Added.
2935         (WebDOMFloat64Array::~WebDOMFloat64Array):
2936         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp: Added.
2937         (WebKit::kit):
2938         (WebKit::core):
2939         (webkit_dom_float64array_finalize):
2940         (webkit_dom_float64array_set_property):
2941         (webkit_dom_float64array_get_property):
2942         (webkit_dom_float64array_constructed):
2943         (webkit_dom_float64array_class_init):
2944         (webkit_dom_float64array_init):
2945         (WebKit::wrapFloat64Array):
2946         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h: Added.
2947         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h: Added.
2948         * bindings/scripts/test/JS/JSFloat64Array.cpp: Added.
2949         (WebCore::JSFloat64ArrayConstructor::JSFloat64ArrayConstructor):
2950         (WebCore::JSFloat64ArrayConstructor::finishCreation):
2951         (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
2952         (WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
2953         (WebCore::JSFloat64ArrayConstructor::getConstructData):
2954         (WebCore::getJSFloat64ArrayPrototypeTable):
2955         (WebCore::JSFloat64ArrayPrototype::self):
2956         (WebCore::getJSFloat64ArrayTable):
2957         (WebCore::JSFloat64Array::JSFloat64Array):
2958         (WebCore::JSFloat64Array::finishCreation):
2959         (WebCore::JSFloat64Array::createPrototype):
2960         (WebCore::JSFloat64Array::getOwnPropertySlot):
2961         (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
2962         (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
2963         (WebCore::jsFloat64ArrayConstructor):
2964         (WebCore::JSFloat64Array::put):
2965         (WebCore::JSFloat64Array::putByIndex):
2966         (WebCore::JSFloat64Array::getOwnPropertyNames):
2967         (WebCore::JSFloat64Array::getConstructor):
2968         (WebCore::JSFloat64Array::getByIndex):
2969         (WebCore::toFloat64Array):
2970         (WTF::Float64Array::neuterBinding):
2971         * bindings/scripts/test/JS/JSFloat64Array.h: Added.
2972         (WebCore::JSFloat64Array::create):
2973         (WebCore::JSFloat64Array::createStructure):
2974         (WebCore::JSFloat64Array::impl):
2975         (WebCore::JSFloat64ArrayPrototype::create):
2976         (WebCore::JSFloat64ArrayPrototype::createStructure):
2977         (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
2978         (WebCore::JSFloat64ArrayConstructor::create):
2979         (WebCore::JSFloat64ArrayConstructor::createStructure):
2980         * bindings/scripts/test/ObjC/DOMFloat64Array.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
2981         * bindings/scripts/test/ObjC/DOMFloat64Array.mm: Copied from Source/WebCore/html/canvas/Float32Array.cpp.
2982         (core):
2983         (kit):
2984         * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
2985         * bindings/scripts/test/TestTypedArray.idl: Copied from Source/WebCore/html/canvas/Float64Array.cpp.
2986         * bindings/scripts/test/V8/V8Float64Array.cpp: Added.
2987         (WebCore::Float64ArrayInternal::V8_USE):
2988         (WebCore::ConfigureV8Float64ArrayTemplate):
2989         (WebCore::V8Float64Array::GetRawTemplate):
2990         (WebCore::V8Float64Array::GetTemplate):
2991         (WebCore::V8Float64Array::HasInstance):
2992         (WebCore::V8Float64Array::wrapSlow):
2993         (WTF::Float64Array::neuterBinding):
2994         (WebCore::V8Float64Array::derefObject):
2995         * bindings/scripts/test/V8/V8Float64Array.h: Added.
2996         (WebCore::V8Float64Array::toNative):
2997         (WebCore::V8Float64Array::existingWrapper):
2998         (WebCore::V8Float64Array::wrap):
2999         (WebCore::toV8):
3000         * fileapi/FileReader.h:
3001         * fileapi/FileReaderLoader.h:
3002         * fileapi/FileReaderSync.h:
3003         * fileapi/WebKitBlobBuilder.h:
3004         * html/HTMLMediaElement.h:
3005         * html/canvas/ArrayBuffer.cpp:
3006         * html/canvas/ArrayBuffer.h:
3007         * html/canvas/ArrayBufferView.cpp:
3008         (WTF::ArrayBufferView::setImpl):
3009         (WTF::ArrayBufferView::setRangeImpl):
3010         (WTF::ArrayBufferView::zeroRangeImpl):
3011         (WTF::ArrayBufferView::neuter):
3012         * html/canvas/ArrayBufferView.h:
3013         * html/canvas/Float32Array.cpp:
3014         * html/canvas/Float32Array.h:
3015         (WTF::Float32Array::set):
3016         * html/canvas/Float64Array.cpp:
3017         * html/canvas/Float64Array.h:
3018         (WTF::Float64Array::set):
3019         * html/canvas/Int16Array.cpp:
3020         * html/canvas/Int16Array.h:
3021         (WTF::Int16Array::set):
3022         * html/canvas/Int32Array.cpp:
3023         * html/canvas/Int32Array.h:
3024         (WTF::Int32Array::set):
3025         * html/canvas/Int8Array.cpp:
3026         * html/canvas/Int8Array.h:
3027         (WTF::Int8Array::set):
3028         * html/canvas/IntegralTypedArrayBase.h:
3029         * html/canvas/TypedArrayBase.h:
3030         (WTF::TypedArrayBase::set):
3031         (WTF::TypedArrayBase::setRange):
3032         (WTF::TypedArrayBase::zeroRange):
3033         * html/canvas/Uint16Array.cpp:
3034         * html/canvas/Uint16Array.h:
3035         (WTF::Uint16Array::set):
3036         * html/canvas/Uint32Array.cpp:
3037         * html/canvas/Uint32Array.h:
3038         (WTF::Uint32Array::set):
3039         * html/canvas/Uint8Array.cpp:
3040         * html/canvas/Uint8Array.h:
3041         (WTF::Uint8Array::set):
3042         * html/canvas/WebGLBuffer.h:
3043         * page/Crypto.h:
3044         * webaudio/AsyncAudioDecoder.h:
3045         * webaudio/AudioBuffer.cpp:
3046         (WebCore::AudioBuffer::AudioBuffer):
3047         (WebCore::AudioBuffer::zero):
3048         * webaudio/AudioContext.h:
3049         * webaudio/JavaScriptAudioNode.h:
3050         * webaudio/RealtimeAnalyser.h:
3051         * webaudio/RealtimeAnalyserNode.h:
3052         * webaudio/WaveShaperNode.h:
3053         * websockets/ThreadableWebSocketChannel.h:
3054         * websockets/WebSocket.h:
3055         * websockets/WebSocketChannel.h:
3056         * xml/XMLHttpRequest.h:
3057
3058 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
3059
3060         Add --css-grid-layout to build-webkit and the build systems
3061         https://bugs.webkit.org/show_bug.cgi?id=72320
3062
3063         Reviewed by Ojan Vafai.
3064
3065         * Configurations/FeatureDefines.xcconfig:
3066
3067 2011-11-14  Daniel Bates  <dbates@rim.com>
3068
3069         Remove unnecessary #include SVGResourcesCache.h in SVGDocumentExtensions.h; use forward declaration
3070         https://bugs.webkit.org/show_bug.cgi?id=72335
3071
3072         Reviewed by Eric Seidel.
3073
3074         It's sufficient to forward declare SVGResourcesCache in SVGDocumentExtensions.h and #include SVGResourcesCache.h
3075         in SVGDocumentExtensions.cpp. This will reduce the number of files we need to re-compile after the file
3076         SVGResourcesCache.h has been modified. Currently we #include SVGResourcesCache.h in SVGDocumentExtensions.h.
3077
3078         * rendering/svg/RenderSVGBlock.cpp: Include SVGResourcesCache.h.
3079         * rendering/svg/RenderSVGContainer.cpp: Ditto.
3080         * rendering/svg/RenderSVGForeignObject.cpp: Ditto.
3081         * rendering/svg/RenderSVGImage.cpp: Ditto.
3082         * rendering/svg/RenderSVGInline.cpp: Ditto.
3083         * rendering/svg/RenderSVGModelObject.cpp: Ditto.
3084         * rendering/svg/RenderSVGPath.cpp: Ditto.
3085         * rendering/svg/RenderSVGResource.cpp: Ditto.
3086         * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
3087         * rendering/svg/RenderSVGResourceContainer.cpp: Ditto.
3088         * rendering/svg/RenderSVGRoot.cpp: Ditto.
3089         * rendering/svg/RenderSVGText.cpp: Ditto.
3090         * rendering/svg/SVGInlineTextBox.cpp: Ditto.
3091         * rendering/svg/SVGRenderSupport.cpp: Ditto.
3092         * svg/SVGDocumentExtensions.cpp: Ditto.
3093         * svg/SVGDocumentExtensions.h: Forward declare SVGResourcesCache.
3094
3095 2011-11-14  Rafael Weinstein  <rafaelw@chromium.org>
3096
3097         [MutationObservers] Add histogram collection for usage of DOM Mutation Events
3098         https://bugs.webkit.org/show_bug.cgi?id=72316
3099
3100         Reviewed by Ryosuke Niwa.
3101
3102         This patch adds six calls in ~Document() which simply pipe-out to the embedder
3103         the (already-collected) bits of whether varous DOM Mutation Events were registered
3104         on the document.
3105
3106         No tests needed. No functional changes.
3107
3108         * dom/Document.cpp:
3109         (WebCore::histogramMutationEventUsage):
3110         (WebCore::Document::~Document):
3111
3112 2011-11-14  Simon Fraser  <simon.fraser@apple.com>
3113
3114         div with webkit-transform + webkit-box-reflect disappears when switching tabs
3115         https://bugs.webkit.org/show_bug.cgi?id=53355
3116
3117         Reviewed by Dean Jackson.
3118
3119         Tickle Core Animation into updating the layer's content property when
3120         switching back to a tab which has composited reflections. This hack is
3121         needed becuase reflections involve sharing layer contents between layers.
3122
3123         * platform/graphics/mac/WebLayer.mm:
3124         (-[WebLayer actionForKey:]):
3125
3126 2011-11-14  Adam Barth  <abarth@webkit.org>
3127
3128         Unique origins shouldn't remember their scheme, host, or port
3129         https://bugs.webkit.org/show_bug.cgi?id=72308
3130
3131         Reviewed by Eric Seidel.
3132
3133         This patch contains the bulk (all?) of the behavior differences in this
3134         patch series.  Unique origins shouldn't remember their schemes.  Doing
3135         so causes some privileges (e.g., local access) to leak into unique
3136         origins.
3137
3138         * page/SecurityOrigin.cpp:
3139         (WebCore::SecurityOrigin::SecurityOrigin):
3140             - Explicitly clear out the protocol, host, and port for unique
3141               origins.  A future patch will refactor all this code to be more
3142               elegant.
3143         * platform/SchemeRegistry.cpp:
3144         (WebCore::schemesWithUniqueOrigins):
3145             - Merge "about" and "javascript" in with the general case now that
3146               we don't have a separate notion of an empty origin.
3147
3148 2011-11-14  Adam Barth  <abarth@webkit.org>
3149
3150         Don't special-case "data" URLs in drag-and-drop logic
3151         https://bugs.webkit.org/show_bug.cgi?id=72322
3152
3153         Reviewed by Eric Seidel.
3154
3155         See the bug for more details.
3156
3157         Test: editing/pasteboard/drag-drop-to-data-url.html
3158
3159         * page/SecurityOrigin.cpp:
3160         (WebCore::SecurityOrigin::canReceiveDragData):
3161
3162 2011-11-14  Adrienne Walker  <enne@google.com>
3163
3164         [chromium] Pipe compositor commit/swap up to WebWidgetClient
3165         https://bugs.webkit.org/show_bug.cgi?id=72041
3166
3167         Reviewed by Darin Fisher.
3168
3169         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3170         (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
3171         (WebCore::CCLayerTreeHost::didCompleteSwapBuffers):
3172         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3173         (WebCore::CCSingleThreadProxy::doComposite):
3174         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3175         (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
3176         (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
3177         (WebCore::CCThreadProxy::didCommitAndDrawFrame):
3178         (WebCore::CCThreadProxy::didCompleteSwapBuffers):
3179         * platform/graphics/chromium/cc/CCThreadProxy.h:
3180
3181 2011-11-14  Tony Chang  <tony@chromium.org>
3182
3183         Remove the CSS3_FLEXBOX compile time flag and enable on all ports
3184         https://bugs.webkit.org/show_bug.cgi?id=72196
3185
3186         Reviewed by Ojan Vafai.
3187
3188         * Configurations/FeatureDefines.xcconfig:
3189         * css/CSSComputedStyleDeclaration.cpp:
3190         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3191         * css/CSSFlexValue.cpp:
3192         * css/CSSFlexValue.h:
3193         * css/CSSParser.cpp:
3194         (WebCore::CSSParser::parseValue):
3195         (WebCore::CSSParser::parseFlex):
3196         * css/CSSPrimitiveValueMappings.h:
3197         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3198         * css/CSSProperty.cpp:
3199         (WebCore::CSSProperty::isInheritedProperty):
3200         * css/CSSPropertyNames.in:
3201         * css/CSSStyleApplyProperty.cpp:
3202         (WebCore::ApplyPropertyLength::applyValue):
3203         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3204         * css/CSSStyleSelector.cpp:
3205         (WebCore::CSSStyleSelector::applyProperty):
3206         * css/CSSValue.cpp:
3207         (WebCore::CSSValue::cssText):
3208         (WebCore::CSSValue::destroy):
3209         * css/CSSValue.h:
3210         * css/CSSValueKeywords.in:
3211         * rendering/RenderFlexibleBox.cpp:
3212         * rendering/RenderFlexibleBox.h:
3213         * rendering/RenderObject.cpp:
3214         (WebCore::RenderObject::createObject):
3215         * rendering/RenderObject.h:
3216         (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated):
3217         * rendering/style/RenderStyle.cpp:
3218         (WebCore::RenderStyle::RenderStyle):
3219         (WebCore::RenderStyle::diff):
3220         * rendering/style/RenderStyle.h:
3221         * rendering/style/RenderStyleConstants.h:
3222         * rendering/style/StyleFlexibleBoxData.cpp:
3223         * rendering/style/StyleFlexibleBoxData.h:
3224         * rendering/style/StyleRareNonInheritedData.cpp:
3225         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3226         (WebCore::StyleRareNonInheritedData::operator==):
3227         * rendering/style/StyleRareNonInheritedData.h:
3228
3229 2011-11-14  Vincent Scheib  <scheib@chromium.org>
3230
3231         Mouse Lock: Renaming to 'Pointer Lock': Runtime Enable Flags
3232         https://bugs.webkit.org/show_bug.cgi?id=72303
3233
3234         Reviewed by Darin Fisher.
3235
3236         * bindings/generic/RuntimeEnabledFeatures.cpp:
3237         * bindings/generic/RuntimeEnabledFeatures.h:
3238         (WebCore::RuntimeEnabledFeatures::webkitPointerLockEnabled):
3239         (WebCore::RuntimeEnabledFeatures::setWebkitPointerLockEnabled):
3240         (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
3241         * page/Settings.cpp:
3242         (WebCore::Settings::Settings):
3243         * page/Settings.h:
3244         (WebCore::Settings::setPointerLockEnabled):
3245         (WebCore::Settings::PointerLockEnabled):
3246
3247 2011-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3248
3249         Unreviewed, rolling out r100176.
3250         http://trac.webkit.org/changeset/100176
3251         https://bugs.webkit.org/show_bug.cgi?id=72309
3252
3253         it broke the Mac builds (missing symbols) in a non-obvious way
3254         (Requested by jchaffraix on #webkit).
3255
3256         * CMakeLists.txt:
3257         * GNUmakefile.list.am:
3258         * Target.pri:
3259         * WebCore.gypi:
3260         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3261         (WebCore::toJS):
3262         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3263         (WebCore::toV8Object):
3264         * html/canvas/WebGLExperimentalCompressedTextures.cpp: Removed.
3265         * html/canvas/WebGLExperimentalCompressedTextures.h: Removed.
3266         * html/canvas/WebGLExperimentalCompressedTextures.idl: Removed.
3267         * html/canvas/WebGLExtension.h:
3268         * html/canvas/WebGLRenderingContext.cpp:
3269         (WebCore::WebGLRenderingContext::getExtension):
3270         (WebCore::WebGLRenderingContext::getParameter):
3271         (WebCore::WebGLRenderingContext::getSupportedExtensions):
3272         * html/canvas/WebGLRenderingContext.h:
3273         * platform/graphics/Extensions3D.h:
3274         * platform/graphics/GraphicsContext3D.h:
3275         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3276         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3277         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3278
3279 2011-11-14  Tony Chang  <tony@chromium.org>
3280
3281         remove -wap-marquee css propery value
3282         https://bugs.webkit.org/show_bug.cgi?id=72296
3283
3284         Reviewed by Adam Barth.
3285
3286         This css value is no longer used.
3287
3288         * css/CSSValueKeywords.in:
3289
3290 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
3291
3292         Crash in RenderTableSection::splitColumn
3293         https://bugs.webkit.org/show_bug.cgi?id=70171
3294
3295         Reviewed by David Hyatt.
3296
3297         Tests: fast/table/crash-splitColumn-2.html
3298                fast/table/crash-splitColumn-3.html
3299                fast/table/crash-splitColumn.html
3300
3301         The old code would not take into account the fact that each RenderTableSection
3302         can set its m_needsCellRecalc flag independently of the rest.
3303
3304         This means that you cannot assume that you can always split or append columns to
3305         all the sections. Our approach is to skip sections needing cell recalc in several
3306         parts of the code as they will be properly reset to the table's representations
3307         during a cell recalc.
3308
3309         * rendering/RenderTable.cpp:
3310         (WebCore::RenderTable::splitColumn):
3311         (WebCore::RenderTable::appendColumn):
3312         Skip sections needing cell recalc as they will be properly updated later.
3313
3314         * rendering/RenderTableSection.cpp:
3315         (WebCore::RenderTableSection::addCell):
3316         Ignore a section needing cell recalc as addCell will be called after sync'ing
3317         the internal column representation in recalcCells.
3318
3319         (WebCore::RenderTableSection::recalcCells):
3320         Clear the flag at the beginning of the function to activate the previous functions.
3321         Added a comment as to why this is fine.
3322
3323         (WebCore::RenderTableSection::appendColumn):
3324         Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
3325         of recalcCells().
3326
3327 2011-11-14  Adam Barth  <abarth@webkit.org>
3328
3329         Remove the concept of an empty SecurityOrigin
3330         https://bugs.webkit.org/show_bug.cgi?id=72287
3331
3332         Reviewed by Eric Seidel.
3333
3334         This concept is fragile and doesn't exist in the specs.  Previous
3335         patches have removed most of the code relying upon this function.  This
3336         patch removes a couple stragglers.
3337
3338         * page/DOMWindow.cpp:
3339         (WebCore::DOMWindow::postMessage):
3340             - This check should really be about unique origins because it
3341               doesn't make sense to target postMessages at unique origins, as
3342               explained in the comment.
3343         * page/SecurityOrigin.cpp:
3344         * page/SecurityOrigin.h:
3345
3346 2011-11-14  Adam Barth  <abarth@webkit.org>
3347
3348         SecurityContext::isSecureTransitionTo should not refer to empty security origins
3349         https://bugs.webkit.org/show_bug.cgi?id=72277
3350
3351         Reviewed by Eric Seidel.
3352
3353         Now that we're tracking the "failed to initialized SecurityOrigin"
3354         state explicitly, we should use that to determine whether we can make a
3355         secure transition.
3356
3357         * dom/SecurityContext.cpp:
3358         (WebCore::SecurityContext::isSecureTransitionTo):
3359
3360 2011-11-14  Vincent Scheib  <scheib@chromium.org>
3361
3362         Mouse Lock: Renaming to 'Pointer Lock': ENABLE Flags
3363         https://bugs.webkit.org/show_bug.cgi?id=72286
3364
3365         Reviewed by Adam Barth.
3366
3367         * bindings/generic/RuntimeEnabledFeatures.cpp:
3368         * bindings/generic/RuntimeEnabledFeatures.h:
3369         * dom/MouseEvent.idl:
3370         * dom/MouseRelatedEvent.h:
3371         * page/MouseLockable.cpp:
3372         * page/MouseLockable.h:
3373         * page/MouseLockable.idl:
3374         * page/Navigator.cpp:
3375         * page/Navigator.h:
3376         * page/Navigator.idl:
3377         * page/Settings.cpp:
3378         (WebCore::Settings::Settings):
3379         * page/Settings.h:
3380
3381 2011-11-14  Anna Cavender  <annacc@chromium.org>
3382
3383         Remove TextTrackCueIndex and TextTrackCueSet.  No longer needed.
3384         https://bugs.webkit.org/show_bug.cgi?id=72216
3385
3386         Reviewed by Sam Weinig.
3387
3388         No new tests. No new functionality.
3389
3390         * CMakeLists.txt:
3391         * GNUmakefile.list.am:
3392         * Target.pri:
3393         * WebCore.gypi:
3394         * WebCore.xcodeproj/project.pbxproj:
3395         * html/TextTrackCueIndex.cpp: Removed.
3396         * html/TextTrackCueIndex.h: Removed.
3397
3398 2011-10-10  Robert Hogan  <robert@webkit.org>
3399
3400         CSS 2.1 failure: border-spacing-applies-to-015.htm
3401         https://bugs.webkit.org/show_bug.cgi?id=69773
3402
3403         Reviewed by David Hyatt.
3404
3405         The CSS test suite expects UAs to allow multiple captions per table.
3406         Replace m_caption with a Vector called m_captions.
3407
3408         * rendering/RenderTable.cpp:
3409         (WebCore::RenderTable::RenderTable):
3410         (WebCore::RenderTable::addChild):
3411         (WebCore::RenderTable::removeChild):
3412         (WebCore::RenderTable::adjustLogicalHeightForCaption):
3413         (WebCore::RenderTable::layout):
3414         (WebCore::RenderTable::addOverflowFromChildren):
3415         (WebCore::RenderTable::paintObject):
3416         (WebCore::RenderTable::subtractCaptionRect):
3417         (WebCore::RenderTable::computePreferredLogicalWidths):
3418         (WebCore::RenderTable::nextColElement):
3419         (WebCore::RenderTable::colElement):
3420         (WebCore::RenderTable::recalcCaption):
3421         (WebCore::RenderTable::recalcSections):
3422         (WebCore::RenderTable::overflowClipRect):
3423         (WebCore::RenderTable::nodeAtPoint):
3424         * rendering/RenderTable.h:
3425
3426 2011-11-14  Gregg Tavares  <gman@google.com>
3427
3428         Implement WEBGL_EXPERIMENTAL_compressed_textures WebGL extension
3429         https://bugs.webkit.org/show_bug.cgi?id=72086
3430
3431         Reviewed by Kenneth Russell.
3432
3433         No new tests. Will write final test once on hardware.
3434
3435         * CMakeLists.txt:
3436         * GNUmakefile.list.am:
3437         * WebCore.gypi:
3438         * WebCore.pro:
3439         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3440         (WebCore::toJS):
3441         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3442         (WebCore::toV8Object):
3443         * html/canvas/WebGLExperimentalCompressedTextures.cpp: Added.
3444         (WebCore::WebGLExperimentalCompressedTextures::WebGLExperimentalCompressedTextures):
3445         (WebCore::WebGLExperimentalCompressedTextures::~WebGLExperimentalCompressedTextures):
3446         (WebCore::WebGLExperimentalCompressedTextures::getName):
3447         (WebCore::WebGLExperimentalCompressedTextures::create):
3448         (WebCore::WebGLExperimentalCompressedTextures::supported):
3449         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFormat):
3450         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFuncData):
3451         (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexSubDimensions):
3452         (WebCore::WebGLExperimentalCompressedTextures::compressedTexImage2D):
3453         (WebCore::WebGLExperimentalCompressedTextures::compressedTexSubImage2D):
3454         (WebCore::WebGLExperimentalCompressedTextures::getCompressedTextureFormats):
3455         * html/canvas/WebGLExperimentalCompressedTextures.h: Added.
3456         * html/canvas/WebGLExperimentalCompressedTextures.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
3457         * html/canvas/WebGLExtension.h:
3458         * html/canvas/WebGLRenderingContext.cpp:
3459         (WebCore::WebGLRenderingContext::getExtension):
3460         (WebCore::WebGLRenderingContext::getParameter):
3461         (WebCore::WebGLRenderingContext::getSupportedExtensions):
3462         * html/canvas/WebGLRenderingContext.h:
3463         * platform/graphics/Extensions3D.h:
3464         * platform/graphics/GraphicsContext3D.h:
3465         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
3466         (WebCore::GraphicsContext3D::compressedTexImage2D):
3467         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
3468         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3469         (WebCore::GraphicsContext3D::compressedTexImage2D):
3470         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
3471         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3472         (WebCore::GraphicsContext3D::compressedTexImage2D):
3473         (WebCore::GraphicsContext3D::compressedTexSubImage2D):
3474
3475 2011-11-14  Michael Nordman  <michaeln@google.com>
3476
3477         Return more complete error and exception messages when a
3478         WebSQLDatabase function fails. Produce console logging
3479         for openDatabase() errors and vacuum errors. Add a lastErrorMessage
3480         accessor to the DatabaseSync interface.
3481         https://bugs.webkit.org/show_bug.cgi?id=71575
3482
3483         Reviewed by David Levin.
3484
3485         Yes, see LayoutTests/ChangeLog in this patch.
3486
3487         * platform/sql/SQLiteDatabase.cpp:
3488         (WebCore::SQLiteDatabase::SQLiteDatabase):
3489         (WebCore::SQLiteDatabase::open):
3490         (WebCore::SQLiteDatabase::close):
3491         (WebCore::SQLiteDatabase::lastError):
3492         (WebCore::SQLiteDatabase::lastErrorMsg):
3493         (WebCore::SQLiteDatabase:: runVacuumCommand):
3494         (WebCore::SQLiteDatabase:: runIncrementalVacuumCommand):
3495         Reflect errors in the open() method in lastError() and lastErrorMsg().
3496         Return an error codes for runVacuumCommand() and runIncrementalVacuumCommand().
3497
3498         * platform/sql/SQLiteDatabase.h:
3499         * storage/AbstractDatabase.cpp:
3500         (WebCore::formatErrorMessage):
3501         (WebCore::AbstractDatabase::performOpenAndVerify):
3502         (WebCore::AbstractDatabase::logErrorMessage):
3503         During openAndVerify, produce formatted error messages that include what was being done, the sqlite error code,
3504         and the sqlite error message. Add a helper to log message to the console.
3505
3506         * storage/AbstractDatabase.h:
3507         * storage/ChangeVersionWrapper.cpp:
3508         (WebCore::ChangeVersionWrapper::performPreflight):
3509         (WebCore::ChangeVersionWrapper::performPostflight):
3510         * storage/Database.cpp:
3511         (WebCore::Database::openDatabase):
3512         (WebCore::Database::openAndVerifyVersion):
3513         (WebCore::Database::performOpenAndVerify):
3514         * storage/Database.h:
3515         * storage/DatabaseSync.cpp:
3516         (WebCore::DatabaseSync::openDatabaseSync):
3517         (WebCore::DatabaseSync::changeVersion):
3518         (WebCore::DatabaseSync::runTransaction):
3519         * storage/DatabaseSync.h:
3520         (WebCore::DatabaseSync::lastErrorMessage):
3521         (WebCore::DatabaseSync::setLastErrorMessage):
3522         * storage/DatabaseSync.idl:
3523         Add a lastErrorMessage attribute so javascript callers can
3524         retrieve more detailed information about what went wrong.
3525
3526         * storage/DatabaseTask.cpp:
3527         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
3528         (WebCore::Database::DatabaseOpenTask::doPerformTask):
3529         * storage/DatabaseTask.h:
3530         (WebCore::Database::DatabaseOpenTask::create):
3531         Return an errorMessage in addition to the exception code.
3532
3533         * storage/SQLError.h:
3534         (WebCore::SQLError::create):
3535         Add helpers to produced formatted error messages.
3536
3537         * storage/SQLStatement.cpp:
3538         (WebCore::SQLStatement::execute):
3539         * storage/SQLStatementSync.cpp:
3540         (WebCore::SQLStatementSync::execute):
3541         * storage/SQLTransaction.cpp:
3542         (WebCore::SQLTransaction::openTransactionAndPreflight):
3543         (WebCore::SQLTransaction::postflightAndCommit):
3544         * storage/SQLTransactionSync.cpp:
3545         (WebCore::SQLTransactionSync::executeSQL):
3546         (WebCore::SQLTransactionSync::begin):
3547         (WebCore::SQLTransactionSync::execute):
3548         (WebCore::SQLTransactionSync::commit):
3549
3550 2011-11-14  Adam Barth  <abarth@webkit.org>
3551
3552         SecurityOrigin inheritance should depend on document URL, not on "emptiness" of the SecurityOrigin
3553         https://bugs.webkit.org/show_bug.cgi?id=72283
3554
3555         Reviewed by Sam Weinig.
3556
3557         This change aligns our implementation more closely with the spec.  I
3558         don't think this change has an observable effects, but it moves us
3559         closer to removing the concept of an empty security origin.
3560
3561         * dom/Document.cpp:
3562         (WebCore::shouldInheritSecurityOriginFromOwner):
3563         (WebCore::Document::initSecurityContext):
3564
3565 2011-11-14  Erik Arvidsson  <arv@chromium.org>
3566
3567         Remove getParameter from HTMLAnchorElement and Location
3568         https://bugs.webkit.org/show_bug.cgi?id=71966
3569
3570         Reviewed by Adam Barth.
3571
3572         * html/HTMLAnchorElement.cpp: Removed getParameter.
3573         * html/HTMLAnchorElement.h: Ditto.
3574         * html/HTMLAnchorElement.idl: Ditto.
3575         * page/Location.cpp: Ditto.
3576         * page/Location.h: Ditto.
3577         * page/Location.idl: Ditto.
3578
3579 2011-11-14  Erik Arvidsson  <arv@chromium.org>
3580
3581         Remove RequiresAllArguments
3582         https://bugs.webkit.org/show_bug.cgi?id=71503
3583
3584         Reviewed by Adam Barth.
3585
3586         This removes RequiresAllArguments from the idl files as well as from the code generators.
3587         For window.move/resize/scroll we now match IE and treat missing arguments as 0.
3588         For Clipboard we now match Gecko and IE and throw an exception when setData is called with too few arguments.
3589
3590         Test: fast/events/drag-and-drop-set-drag-data-arguments.html
3591
3592         * bindings/js/JSSVGLengthCustom.cpp:
3593         (WebCore::JSSVGLength::convertToSpecifiedUnits):
3594         * bindings/scripts/CodeGeneratorJS.pm:
3595         (GenerateArgumentsCountCheck): Remove RequiresAllArguments.
3596         * bindings/scripts/CodeGeneratorV8.pm:
3597         (GenerateArgumentsCountCheck): Ditto.
3598         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
3599         * bindings/scripts/test/CPP/WebDOMTestObj.h:
3600         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3601         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
3602         * bindings/scripts/test/JS/JSTestObj.cpp:
3603         * bindings/scripts/test/JS/JSTestObj.h:
3604         * bindings/scripts/test/ObjC/DOMTestObj.h:
3605         * bindings/scripts/test/ObjC/DOMTestObj.mm:
3606         * bindings/scripts/test/TestObj.idl:
3607         * bindings/scripts/test/V8/V8TestObj.cpp:
3608         (WebCore::ConfigureV8TestObjTemplate):
3609         * dom/Clipboard.idl: Remove [RequireAllArguments] from setData which actually means we now require all arguments and throw instead of silently fail.
3610         * page/DOMWindow.idl: Treat missing arguments as 0 which makes us match IE.
3611         * websockets/WebSocket.idl: Comment changes only.
3612
3613 2011-11-08  Jer Noble  <jer.noble@apple.com>
3614
3615         Implement MediaController.
3616         https://bugs.webkit.org/show_bug.cgi?id=71408
3617
3618         Reviewed by Eric Carlson.
3619
3620         Tests: media/media-controller-playback.html
3621                media/media-controller.html
3622
3623         Adds support for the MediaController DOM object, and the mediagroup and mediacontroller
3624         HTMLMediaElement attributes.
3625
3626         MediaController is an DOM object which synchronizes playback of multiple HTMLMediaElements. It can
3627         either be created by a page script and assigned to a HTMLMediaElement using the controller property,
3628         or all HTMLMediaElements with identical mediagroup attributes will have a MediaController assigned 
3629         automatically.
3630
3631         Add an abstract interface implemented by both MediaController and HTMLMediaElement.
3632         * html/MediaControllerInterface.h: Added.
3633         (WebCore::MediaControllerInterface::~MediaControllerInterface):
3634
3635         Add the MediaController object and IDL.
3636         * html/MediaController.cpp: Added.
3637         (mediaGroupToMediaControllerMap):
3638         (MediaController::mediaControllerForMediaGroup):
3639         (MediaController::create):
3640         (MediaController::MediaController):
3641         (MediaController::~MediaController):
3642         (MediaController::addMediaElement):
3643         (MediaController::removeMediaElement):
3644         (MediaController::containsMediaElement):
3645         (MediaController::buffered):
3646         (MediaController::seekable):
3647         (MediaController::played):
3648         (MediaController::duration):
3649         (MediaController::currentTime):
3650         (MediaController::setCurrentTime):
3651         (MediaController::play):
3652         (MediaController::pause):
3653         (MediaController::setDefaultPlaybackRate):
3654         (MediaController::setPlaybackRate):
3655         (MediaController::setVolume):
3656         (MediaController::setMuted):
3657         (MediaController::reportControllerState):
3658         (MediaController::updateReadyState):
3659         (MediaController::updatePlaybackState):
3660         (MediaController::updateMediaElements):
3661         (MediaController::scheduleEvent):
3662         (MediaController::asyncEventTimerFired):
3663         (MediaController::scriptExecutionContext):
3664         (MediaController::hasAudio):
3665         (MediaController::hasVideo):
3666         (MediaController::hasClosedCaptions):
3667         (MediaController::setClosedCaptionsVisible):
3668         (MediaController::supportsScanning):
3669         (MediaController::beginScrubbing):
3670         (MediaController::endScrubbing):
3671         (MediaController::canPlay):
3672         (MediaController::isLiveStream):
3673         (MediaController::hasSource):
3674         (MediaController::returnToRealtime):
3675         (MediaController::isBlocked):
3676         (MediaController::hasEnded):
3677         * html/MediaController.h: Added.
3678         (WebCore::MediaController::mediaGroup):
3679         (WebCore::MediaController::paused):
3680         (WebCore::MediaController::defaultPlaybackRate):
3681         (WebCore::MediaController::playbackRate):
3682         (WebCore::MediaController::volume):
3683         (WebCore::MediaController::muted):
3684         (WebCore::MediaController::readyState):
3685         (WebCore::MediaController::playbackState):
3686         (WebCore::MediaController::supportsFullscreen):
3687         (WebCore::MediaController::isFullscreen):
3688         (WebCore::MediaController::enterFullscreen):
3689         (WebCore::MediaController::closedCaptionsVisible):
3690         (WebCore::MediaController::refEventTarget):
3691         (WebCore::MediaController::derefEventTarget):
3692         (WebCore::MediaController::toMediaController):
3693         (WebCore::MediaController::eventTargetData):
3694         (WebCore::MediaController::ensureEventTargetData):
3695         * html/MediaController.idl: Added.
3696
3697         Add convenience functions to TimeRanges which can calculate intersections and
3698         unions between TimeRanges objects.
3699         * html/TimeRanges.cpp:
3700         (TimeRanges::copy):
3701         (TimeRanges::invert):
3702         (TimeRanges::intersectWith):
3703         (TimeRanges::unionWith):
3704         * html/TimeRanges.h:
3705
3706         Add MediaControllerConstructor to the Window object.
3707         * page/DOMWindow.idl:
3708
3709         Add the two new attribute names, mediagroup and controller.
3710         * html/HTMLAttributeNames.in:
3711
3712         Add support for the new attributes, and add overridden behavior when a media element
3713         has a current media controller:
3714         * html/HTMLMediaElement.cpp:
3715         (WebCore::HTMLMediaElement::~HTMLMediaElement):
3716         (WebCore::HTMLMediaElement::parseMappedAttribute):
3717         (WebCore::HTMLMediaElement::prepareForLoad):
3718         (WebCore::HTMLMediaElement::setReadyState):
3719         (WebCore::HTMLMediaElement::setCurrentTime):
3720         (WebCore::HTMLMediaElement::setPlaybackRate):
3721         (WebCore::HTMLMediaElement::playInternal):
3722         (WebCore::HTMLMediaElement::togglePlayState):
3723         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3724         (WebCore::HTMLMediaElement::seekable):
3725         (WebCore::HTMLMediaElement::potentiallyPlaying):
3726         (WebCore::HTMLMediaElement::endedPlayback):
3727         (WebCore::HTMLMediaElement::updateVolume):
3728         (WebCore::HTMLMediaElement::updatePlayState):
3729         (WebCore::HTMLMediaElement::userCancelledLoad):
3730         (WebCore::HTMLMediaElement::mediaGroup):
3731         (WebCore::HTMLMediaElement::setMediaGroup):
3732         (WebCore::HTMLMediaElement::controller):
3733         (WebCore::HTMLMediaElement::setController):
3734         (WebCore::HTMLMediaElement::updateMediaController):
3735         (WebCore::HTMLMediaElement::isBlockedOnMediaController):
3736         * html/HTMLMediaElement.h:
3737         (WebCore::HTMLMediaElement::hasSource):
3738         (WebCore::HTMLMediaElement::isLiveStream):
3739         * html/HTMLMediaElement.idl:
3740         * bindings/js/JSHTMLMediaElementCustom.cpp: Added.
3741         (WebCore::JSHTMLMediaElement::setMediaController):
3742
3743         Add convenience functions to store a mapping of media-elements-per-document to allow
3744         a quick lookup of media elements with the same media group within a given document:
3745         * html/HTMLMediaElement.cpp:
3746         (WebCore::documentToElementSetMap):
3747         (WebCore::addElementToDocumentMap):
3748         (WebCore::removeElementFromDocumentMap):
3749         
3750         Add a function "seekable" which returns a TimeRanges containing the seekable time ranges
3751         in a media element.  By default this is a single range of [0, maxTimeSeekable].
3752         * platform/graphics/MediaPlayer.cpp:
3753         (WebCore::MediaPlayer::seekable):
3754         * platform/graphics/MediaPlayer.h:
3755         * platform/graphics/MediaPlayerPrivate.h:
3756         (WebCore::MediaPlayerPrivateInterface::seekable):
3757
3758         Support functions to cast between MediaController and EventTarget.
3759         * bindings/js/JSEventTarget.cpp:
3760         (WebCore::toJS):
3761         * dom/EventTarget.cpp:
3762         (WebCore::EventTarget::toMediaController):
3763         * dom/EventTarget.h:
3764
3765         Fixed an infinite-recursion bug due to a collision between WTF::currentTime and
3766         ClockGeneric::currentTime:
3767         * platform/ClockGeneric.cpp:
3768         (ClockGeneric::ClockGeneric):
3769         (ClockGeneric::setCurrentTime):
3770         (ClockGeneric::currentTime):
3771         (ClockGeneric::setPlayRate):
3772         (ClockGeneric::start):
3773         (ClockGeneric::stop):
3774         (ClockGeneric::now):
3775         * platform/ClockGeneric.h:
3776
3777         Boilerplate to support creating the derived sources for MediaController and adding new sources
3778         to the project:
3779         * CMakeLists.txt:
3780         * DerivedSources.cpp:
3781         * DerivedSources.make:
3782         * GNUmakefile.list.am:
3783         * WebCore.gypi:
3784         * WebCore.xcodeproj/project.pbxproj:
3785
3786 2011-11-14  Florin Malita  <fmalita@google.com>
3787
3788         Multiple foreign objects not rendered
3789         https://bugs.webkit.org/show_bug.cgi?id=72151
3790
3791         Reviewed by Adam Barth.
3792
3793         SVG end tags need to be case-adjusted (just like their start counterparts).
3794
3795         Test: svg/foreignObject/multiple-foreign-objects.html
3796
3797         * html/parser/HTMLTreeBuilder.cpp:
3798         (WebCore::HTMLTreeBuilder::processEndTag):
3799
3800 2011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>
3801
3802         Add support for the caretBrowsingEnabled preference in WebKit2
3803         https://bugs.webkit.org/show_bug.cgi?id=72266
3804
3805         Reviewed by Chris Fleizach.
3806
3807         * WebCore.exp.in: Exported settings for setCaretBrowsingEnabled.
3808
3809 2011-11-14  Jonathan Backer  <backer@chromium.org>
3810
3811         [chromium] Plumb through partial swap
3812         https://bugs.webkit.org/show_bug.cgi?id=72028
3813
3814         Reviewed by Kenneth Russell.
3815
3816         * platform/graphics/chromium/Extensions3DChromium.h:
3817         * platform/graphics/chromium/LayerRendererChromium.cpp:
3818         (WebCore::LayerRendererChromium::initialize):
3819         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3820         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
3821
3822 2011-11-14  Andrey Kosyakov  <caseq@chromium.org>
3823
3824         Web Inspector: expose iframe window to the onShown event handler of panels & sidebars
3825         https://bugs.webkit.org/show_bug.cgi?id=72268
3826
3827         Reviewed by Pavel Feldman.
3828
3829         - replace IFrameView with ExtensionView;
3830         - inherit both ExtensionPanel and ExtensionSidebarPane from ExtensionView in the API;
3831         - move Panel.{onShow|onHide} to ExtensionView, effectively disabling show/hide notifications for non-extension panels and enabling it for sidebar panes;
3832         - expose iframe's window object in the onShow event handler.
3833
3834         * WebCore.gypi:
3835         * WebCore.vcproj/WebCore.vcproj:
3836         * inspector/compile-front-end.sh:
3837         * inspector/front-end/ExtensionAPI.js:
3838         (injectedExtensionAPI.ExtensionViewImpl.dispatchShowEvent):
3839         (injectedExtensionAPI):
3840         (injectedExtensionAPI.PanelWithSidebarImpl):
3841         (injectedExtensionAPI.ExtensionPanelImpl):
3842         (injectedExtensionAPI.ExtensionSidebarPaneImpl):
3843         * inspector/front-end/ExtensionPanel.js:
3844         (WebInspector.ExtensionView):
3845         (WebInspector.ExtensionView.prototype.wasShown):
3846         (WebInspector.ExtensionView.prototype.willHide):
3847         (WebInspector.ExtensionView.prototype._onLoad):
3848         (WebInspector.ExtensionPanel):
3849         (WebInspector.ExtensionSidebarPane.prototype.setPage):
3850         * inspector/front-end/ExtensionServer.js:
3851         (WebInspector.ExtensionServer.prototype.notifyViewShown):
3852         (WebInspector.ExtensionServer.prototype.notifyViewHidden):
3853         (WebInspector.ExtensionServer.prototype._onCreatePanel):
3854         * inspector/front-end/IFrameView.js: Removed.
3855         * inspector/front-end/Panel.js:
3856         (WebInspector.Panel.prototype.wasShown):
3857         (WebInspector.Panel.prototype.willHide):
3858         * inspector/front-end/WebKit.qrc:
3859         * inspector/front-end/inspector.html:
3860
3861 2011-11-14  Yury Semikhatsky  <yurys@chromium.org>
3862
3863         Web Inspector: add 'Show function definition' context menu item for function values
3864         https://bugs.webkit.org/show_bug.cgi?id=72265
3865
3866         Allow navigating to JavaScript function definition using context menu.
3867
3868         Reviewed by Pavel Feldman.
3869
3870         * English.lproj/localizedStrings.js:
3871         * inspector/front-end/DebuggerPresentationModel.js:
3872         (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
3873         * inspector/front-end/ObjectPropertiesSection.js:
3874         (WebInspector.ObjectPropertyTreeElement.prototype.update):
3875         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
3876         (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
3877         * inspector/front-end/ScriptsPanel.js:
3878         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
3879         * inspector/front-end/inspector.js:
3880         (WebInspector.showPanelForAnchorNavigation):
3881
3882 2011-11-14  Pavel Feldman  <pfeldman@google.com>
3883
3884         Web Inspector: console's protocol payload does not have url and line properties.
3885         https://bugs.webkit.org/show_bug.cgi?id=72256
3886
3887         Reviewed by Yury Semikhatsky.
3888
3889         Test: inspector/console/console-url-and-line.html
3890
3891         * inspector/ConsoleMessage.cpp:
3892         (WebCore::ConsoleMessage::ConsoleMessage):
3893         * inspector/front-end/ConsoleMessage.js:
3894         (WebInspector.ConsoleMessageImpl):
3895
3896 2011-11-14  Pavel Feldman  <pfeldman@google.com>
3897
3898         Web Inspector: [regression r99960] null callback access.
3899         https://bugs.webkit.org/show_bug.cgi?id=72263
3900
3901         Reviewed by Yury Semikhatsky.
3902
3903         * inspector/CodeGeneratorInspector.py:
3904
3905 2011-11-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3906
3907         [Qt] Unbreak the build on Mac OS X
3908
3909         QMacStyle is guarded by Q_WS_MAC, which is not the case for QPA. Until
3910         that's been fixed in Qt we have to use the same guards in WebKit, not
3911         Q_OS_MAC.
3912
3913         * platform/qt/RenderThemeQStyle.cpp:
3914         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
3915         (WebCore::RenderThemeQStyle::adjustButtonStyle):
3916         (WebCore::RenderThemeQStyle::paintMenuList):
3917         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
3918         * platform/qt/ScrollbarThemeQt.cpp:
3919         (WebCore::ScrollbarThemeQt::paint):
3920
3921 2011-11-14  Simon Hausmann  <simon.hausmann@nokia.com>
3922
3923         [Qt] Replace use of QApplication with QGuiApplication.
3924
3925         Reviewed by Tor Arne Vestbø.
3926
3927         Replace use of QApplication by QGuiApplication where applicable.
3928
3929         * platform/qt/RenderThemeQt.cpp:
3930         (WebCore::RenderThemeQt::RenderThemeQt):
3931         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
3932         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
3933         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
3934         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
3935         (WebCore::RenderThemeQt::platformFocusRingColor):
3936         (WebCore::RenderThemeQt::systemColor):
3937         (WebCore::RenderThemeQt::minimumMenuListSize):
3938         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
3939         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
3940         (WebCore::RenderThemeQt::caretBlinkInterval):
3941
3942 2011-11-14  Jaehoon Jeong  <jh4u.jeong@samsung.com>
3943
3944         [CMAKE] Add the UseV8.cmake to WebCore.
3945         https://bugs.webkit.org/show_bug.cgi?id=72000
3946
3947         Reviewed by Daniel Bates.
3948
3949         Add the UseV8.cmake to WebCore to build bindings of V8 and
3950         generate JavaScript codes given IDL input.
3951
3952         * UseV8.cmake: Added.
3953
3954 2011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>
3955
3956         [Qt] Remove the QStyle dependency in Qt's mobile theme
3957         https://bugs.webkit.org/show_bug.cgi?id=67773
3958
3959         This refactoring splits up RenderThemeQt with two
3960         subclasses, a QStyle-backed one, and a Mobile version
3961         that uses the old mobile theme for now.
3962
3963         QStyle availability is detected at compile time, and
3964         its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
3965         environment variable.
3966
3967         Reviewed by Simon Hausmann.
3968
3969         Covered by the existing tests.
3970
3971         * Target.pri:
3972         * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
3973         now lives within RenderThemeQtMobile.
3974         * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
3975         * platform/qt/RenderThemeQStyle.cpp: Added.
3976         (WebCore::initStyleOption):
3977         (WebCore::RenderThemeQStyle::getStylePainter):
3978         (WebCore::StylePainterQStyle::StylePainterQStyle):
3979         (WebCore::StylePainterQStyle::init):
3980         (WebCore::RenderThemeQStyle::create):
3981         (WebCore::RenderThemeQStyle::RenderThemeQStyle):
3982         (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
3983         (WebCore::RenderThemeQStyle::fallbackStyle):
3984         (WebCore::RenderThemeQStyle::qStyle):
3985         (WebCore::RenderThemeQStyle::findFrameLineWidth):
3986         (WebCore::RenderThemeQStyle::inflateButtonRect):
3987         (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
3988         (WebCore::RenderThemeQStyle::adjustButtonStyle):
3989         (WebCore::RenderThemeQStyle::setButtonPadding):
3990         (WebCore::RenderThemeQStyle::paintButton):
3991         (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
3992         (WebCore::RenderThemeQStyle::paintTextField):
3993         (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
3994         (WebCore::RenderThemeQStyle::paintTextArea):
3995         (WebCore::RenderThemeQStyle::setPopupPadding):
3996         (WebCore::RenderThemeQStyle::paintMenuList):
3997         (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
3998         (WebCore::RenderThemeQStyle::paintMenuListButton):
3999         (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
4000         (WebCore::RenderThemeQStyle::paintProgressBar):
4001         (WebCore::RenderThemeQStyle::paintSliderTrack):
4002         (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
4003         (WebCore::RenderThemeQStyle::paintSliderThumb):
4004         (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
4005         (WebCore::RenderThemeQStyle::paintSearchField):
4006         (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
4007         (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
4008         (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
4009         (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
4010         (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
4011         (WebCore::RenderThemeQStyle::paintInnerSpinButton):
4012         (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
4013         (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
4014         * platform/qt/RenderThemeQStyle.h: Added.
4015         (WebCore::StylePainterQStyle::isValid):
4016         (WebCore::StylePainterQStyle::drawPrimitive):
4017         (WebCore::StylePainterQStyle::drawControl):
4018         (WebCore::StylePainterQStyle::drawComplexControl):
4019         * platform/qt/RenderThemeQt.cpp:
4020         (WebCore::RenderThemeQt::RenderThemeQt):
4021         (WebCore::RenderThemeQt::isControlStyled):
4022         (WebCore::RenderThemeQt::inflateButtonRect):
4023         (WebCore::RenderThemeQt::adjustRepaintRect):
4024         (WebCore::RenderThemeQt::minimumMenuListSize):
4025         (WebCore::RenderThemeQt::adjustTextFieldStyle):
4026         (WebCore::RenderThemeQt::adjustMenuListStyle):
4027         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
4028         (WebCore::RenderThemeQt::adjustProgressBarStyle):
4029         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
4030         (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
4031         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
4032         (WebCore::RenderThemeQt::paintMediaFullscreenButton):
4033         (WebCore::RenderThemeQt::paintMediaMuteButton):
4034         (WebCore::RenderThemeQt::paintMediaPlayButton):
4035         (WebCore::RenderThemeQt::paintMediaCurrentTime):
4036         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
4037         (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
4038         (WebCore::RenderThemeQt::paintMediaSliderTrack):
4039         (WebCore::RenderThemeQt::paintMediaSliderThumb):
4040         (WebCore::RenderThemeQt::adjustSliderThumbSize):
4041         (WebCore::RenderThemeQt::caretBlinkInterval):
4042         (WebCore::RenderThemeQt::fileListNameForWidth):
4043         (WebCore::StylePainter::StylePainter):
4044         (WebCore::StylePainter::init):
4045         (WebCore::StylePainter::~StylePainter):
4046         * platform/qt/RenderThemeQt.h:
4047         (WebCore::RenderThemeQt::useMobileTheme):
4048         (WebCore::StylePainter::isValid):
4049         * platform/qt/RenderThemeQtMobile.cpp: Added.
4050         (WebCore::drawRectangularControlBackground):
4051         (WebCore::RenderThemeQtMobile::getStylePainter):
4052         (WebCore::StylePainterMobile::StylePainterMobile):
4053         (WebCore::StylePainterMobile::drawChecker):
4054         (WebCore::StylePainterMobile::findChecker):
4055         (WebCore::StylePainterMobile::drawRadio):
4056         (WebCore::StylePainterMobile::findRadio):
4057         (WebCore::StylePainterMobile::drawMultipleComboButton):
4058         (WebCore::StylePainterMobile::drawSimpleComboButton):
4059         (WebCore::StylePainterMobile::getButtonImageSize):
4060         (WebCore::StylePainterMobile::findComboButton):
4061         (WebCore::StylePainterMobile::drawLineEdit):
4062         (WebCore::StylePainterMobile::drawCheckBox):
4063         (WebCore::StylePainterMobile::drawRadioButton):
4064         (WebCore::StylePainterMobile::drawPushButton):
4065         (WebCore::StylePainterMobile::drawComboBox):
4066         (WebCore::RenderThemeQtMobile::create):
4067         (WebCore::RenderTheme::themeForPage):
4068         (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
4069         (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
4070         (WebCore::RenderThemeQtMobile::isControlStyled):
4071         (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
4072         (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
4073         (WebCore::RenderThemeQtMobile::adjustButtonStyle):
4074         (WebCore::RenderThemeQtMobile::setButtonPadding):
4075         (WebCore::RenderThemeQtMobile::paintButton):
4076         (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
4077         (WebCore::RenderThemeQtMobile::paintTextField):
4078         (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
4079         (WebCore::RenderThemeQtMobile::setPopupPadding):
4080         (WebCore::RenderThemeQtMobile::paintMenuList):
4081         (WebCore::RenderThemeQtMobile::paintMenuListButton):
4082         (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
4083         (WebCore::RenderThemeQtMobile::paintProgressBar):
4084         (WebCore::RenderThemeQtMobile::paintSliderTrack):
4085         (WebCore::RenderThemeQtMobile::paintSliderThumb):
4086         (WebCore::RenderThemeQtMobile::checkMultiple):
4087         (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
4088         (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
4089         * platform/qt/RenderThemeQtMobile.h: Added.
4090         * platform/qt/ScrollbarThemeQt.cpp:
4091         (WebCore::ScrollbarTheme::nativeTheme):
4092         (WebCore::ScrollbarThemeQt::paint):
4093         (WebCore::ScrollbarThemeQt::scrollbarThickness):
4094         (WebCore::ScrollbarThemeQt::paintScrollCorner):