Check parameters to biquad filters
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-02  Raymond Toy  <rtoy@google.com>
2
3         Check parameters to biquad filters
4         https://bugs.webkit.org/show_bug.cgi?id=71413
5
6         Reviewed by Kenneth Russell.
7
8         Tests added for each filter type and for the limiting cases for
9         each filter type.
10
11         * platform/audio/Biquad.cpp:
12         (WebCore::Biquad::setLowpassParams):
13         (WebCore::Biquad::setHighpassParams):
14         (WebCore::Biquad::setLowShelfParams):
15         (WebCore::Biquad::setHighShelfParams):
16         (WebCore::Biquad::setPeakingParams):
17         (WebCore::Biquad::setAllpassParams):
18         (WebCore::Biquad::setNotchParams):
19         (WebCore::Biquad::setBandpassParams):
20         Check for invalid parameters and clip them to something sensible.
21         Also check for the limiting cases and try to use the limiting form
22         of the z-transform for the biquad.  Some issues cannot be
23         consistently handled because the z-transform is not continuous as
24         the parameters approach the limit.
25
26 2012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
27
28         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
29         https://bugs.webkit.org/show_bug.cgi?id=77148
30
31         Reviewed by Martin Robinson.
32
33         Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
34         which responds to an "Software" mode of TextureMapper, instead of creating subclasses
35         of TextureMapper directly. This allows using the software fallback of TextureMapper by any
36         sort.
37
38         To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
39         an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
40         as converting data to/from Image references in Qt generates unnecessary deep copies of the
41         image data.
42
43         Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
44         3D transforms in cross platform code.
45         After this patch everything renders the same. An additional bug report was created to allow
46         ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
47
48         Covered extensively by existing tests, no behavioral changes.
49
50         * Target.pri:
51         * platform/graphics/GraphicsContext.cpp:
52         * platform/graphics/GraphicsContext.h:
53         (WebCore):
54         (GraphicsContext):
55         * platform/graphics/cairo/TextureMapperCairo.cpp:
56         * platform/graphics/opengl/TextureMapperGL.cpp:
57         (TextureMapperGLData):
58         (BitmapTextureGL):
59         (WebCore::BitmapTextureGL::BitmapTextureGL):
60         (WebCore::TextureMapperGL::beginPainting):
61         (WebCore::BitmapTextureGL::reset):
62         (WebCore):
63         (WebCore::swizzleBGRAToRGBA):
64         (WebCore::BitmapTextureGL::updateContents):
65         (WebCore::BitmapTextureGL::destroy):
66         (WebCore::TextureMapperGL::bindSurface):
67         (WebCore::TextureMapper::platformCreateAccelerated):
68         * platform/graphics/opengl/TextureMapperGL.h:
69         (TextureMapperGL):
70         (WebCore::TextureMapperGL::accelerationMode):
71         (WebCore):
72         * platform/graphics/qt/GraphicsContext3DQt.cpp:
73         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
74         * platform/graphics/qt/GraphicsContextQt.cpp:
75         (WebCore):
76         (WebCore::GraphicsContext::get3DTransform):
77         (WebCore::GraphicsContext::concat3DTransform):
78         (WebCore::GraphicsContext::set3DTransform):
79         * platform/graphics/qt/TextureMapperQt.cpp: Removed.
80         * platform/graphics/qt/TextureMapperQt.h: Removed.
81         * platform/graphics/texmap/TextureMapper.cpp:
82         (WebCore):
83         (BitmapTextureImageBuffer):
84         (TextureMapperImageBuffer):
85         * platform/graphics/texmap/TextureMapper.h:
86         (WebCore::BitmapTexture::BitmapTexture):
87         (BitmapTexture):
88         (WebCore::BitmapTexture::bpp):
89         (WebCore::BitmapTexture::isOpaque):
90         (WebCore::TextureMapper::setGraphicsContext):
91         (WebCore::TextureMapper::graphicsContext):
92         (TextureMapper):
93         (WebCore::TextureMapper::TextureMapper):
94         (WebCore::TextureMapper::platformCreateAccelerated):
95         * platform/graphics/texmap/TextureMapperNode.cpp:
96         (WebCore::TextureMapperNode::renderContent):
97         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
98         * platform/graphics/texmap/TextureMapperNode.h:
99         (TextureMapperNode):
100
101 2012-02-02  Adam Barth  <abarth@webkit.org>
102
103         Rename checkNodeSecurity and allowsAccessFromFrame to have sensible names
104         https://bugs.webkit.org/show_bug.cgi?id=75796
105
106         Reviewed by Eric Seidel.
107
108         As requested by Darin Adler, this patch renames these functions be
109         clear that we're asking whether the access should be allowed rather
110         than explicitly allowing the access.
111
112         * bindings/generic/BindingSecurity.h:
113         (BindingSecurity):
114         (WebCore::::shouldAllowAccessToNode):
115         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
116         * bindings/js/JSDOMBinding.cpp:
117         (WebCore::shouldAllowAccessToNode):
118         (WebCore::shouldAllowAccessToFrame):
119         * bindings/js/JSDOMBinding.h:
120         (WebCore):
121         * bindings/js/JSHTMLFrameElementCustom.cpp:
122         (WebCore::allowSettingJavascriptURL):
123         * bindings/js/JSHistoryCustom.cpp:
124         (WebCore::JSHistory::getOwnPropertySlotDelegate):
125         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
126         (WebCore::JSHistory::putDelegate):
127         (WebCore::JSHistory::deleteProperty):
128         (WebCore::JSHistory::getOwnPropertyNames):
129         * bindings/js/JSLocationCustom.cpp:
130         (WebCore::JSLocation::getOwnPropertySlotDelegate):
131         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
132         (WebCore::JSLocation::putDelegate):
133         (WebCore::JSLocation::deleteProperty):
134         (WebCore::JSLocation::getOwnPropertyNames):
135         (WebCore::JSLocation::toStringFunction):
136         * bindings/js/ScriptController.cpp:
137         (WebCore::ScriptController::canAccessFromCurrentOrigin):
138         * bindings/scripts/CodeGeneratorJS.pm:
139         (GenerateGetOwnPropertyDescriptorBody):
140         (GenerateImplementation):
141         * bindings/scripts/CodeGeneratorV8.pm:
142         (GenerateNormalAttrGetter):
143         (GenerateFunctionCallback):
144         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
145         (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
146         * bindings/scripts/test/JS/JSTestObj.cpp:
147         (WebCore::jsTestObjContentDocument):
148         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
149         * bindings/scripts/test/V8/V8TestObj.cpp:
150         (WebCore::TestObjInternal::contentDocumentAttrGetter):
151         (WebCore::TestObjInternal::getSVGDocumentCallback):
152
153 2012-02-02  Kalev Lember  <kalevlember@gmail.com>
154
155         [GTK] Make gtk+ symbols available to WidgetBackingStoreCairo.cpp
156         https://bugs.webkit.org/show_bug.cgi?id=77679
157
158         WidgetBackingStoreCairo.cpp uses GTK+ symbols, so we need it in
159         webcoregtk_sources instead of webcore_sources.
160
161         Reviewed by Martin Robinson.
162
163         * GNUmakefile.list.am: Move WidgetBackingStoreCairo.cpp to webcoregtk.
164
165 2012-02-02  Shinya Kawanaka  <shinyak@google.com>
166
167         StyleRecalc should occur when shadow root exists and light children are changed.
168         https://bugs.webkit.org/show_bug.cgi?id=76262
169
170         Reviewed by Hajime Morita.
171
172         When light children is changed, the element included in HTMLContentElement may also be changed.
173         So we have to recalculate inclusion of content element again.
174
175         Test: fast/dom/shadow/shadow-contents-fallback-dynamic.html
176
177         * dom/Element.cpp:
178         (WebCore::Element::childrenChanged):
179
180 2012-02-02  Ami Fischman  <fischman@chromium.org>
181
182         Avoid crashing renderer when GPU process dies by not caching textures between video frames.
183         https://bugs.webkit.org/show_bug.cgi?id=77654
184
185         Reviewed by James Robinson.
186
187         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
188         (WebCore::CCVideoLayerImpl::draw):
189
190 2012-02-02  Anders Carlsson  <andersca@apple.com>
191
192         Add ScrollingTree class
193         https://bugs.webkit.org/show_bug.cgi?id=77695
194
195         Reviewed by Andreas Kling.
196
197         * WebCore.xcodeproj/project.pbxproj:
198         Add new files.
199
200         * page/scrolling/ScrollingCoordinator.cpp:
201         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
202         Create a scrolling tree.
203
204         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
205         Assert that the scrolling tree is null.
206
207         (WebCore::ScrollingCoordinator::pageDestroyed):
208         Null out the scrolling tree member variable and tell it to invalidate itself.
209
210         * page/scrolling/ScrollingTree.cpp: Added.
211
212         (WebCore::ScrollingTree::invalidate):
213         Null out the scrolling coordinator, breaking the reference cycle between the scrolling
214         coordinator and the scrolling tree.
215     
216         * page/scrolling/ScrollingTree.h: Added.
217
218 2012-02-02  Tim Dresser  <tdresser@chromium.org>
219
220         Refactor plugin drawing to be more data driven
221         https://bugs.webkit.org/show_bug.cgi?id=76715
222
223         Reviewed by James Robinson.
224
225         CCPluginLayerImpl no longer handles drawing itself, but produces a list of CCPluginDrawQuads.
226         These quads are then drawn by LayerRendererChromium.
227
228         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
229         This allows for CCLayerImpl objects to allocate textures before appendQuads is called.
230
231         This is a refactor, so no new tests were added.
232         Flash was tested manually on Linux and Mac.
233
234         * platform/graphics/chromium/LayerRendererChromium.cpp:
235         (WebCore::PluginProgramBinding::set):
236         (PluginProgramBinding):
237         (WebCore):
238         (WebCore::TexStretchPluginProgramBinding::set):
239         (TexStretchPluginProgramBinding):
240         (WebCore::TexTransformPluginProgramBinding::set):
241         (TexTransformPluginProgramBinding):
242         (WebCore::LayerRendererChromium::drawPluginQuad):
243         * platform/graphics/chromium/cc/CCLayerImpl.h:
244         (WebCore::CCLayerImpl::willDraw):
245         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
246         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
247         * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp:
248         (WebCore::CCPluginDrawQuad::create):
249         (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
250         * platform/graphics/chromium/cc/CCPluginDrawQuad.h:
251         (CCPluginDrawQuad):
252         (WebCore::CCPluginDrawQuad::uvRect):
253         (WebCore::CCPluginDrawQuad::textureId):
254         (WebCore::CCPluginDrawQuad::flipped):
255         (WebCore::CCPluginDrawQuad::ioSurfaceWidth):
256         (WebCore::CCPluginDrawQuad::ioSurfaceHeight):
257         (WebCore::CCPluginDrawQuad::ioSurfaceTextureId):
258         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
259         (WebCore::CCPluginLayerImpl::willDraw):
260         (WebCore::CCPluginLayerImpl::appendQuads):
261         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
262         (CCPluginLayerImpl):
263
264 2012-01-29  Pablo Flouret  <pablof@motorola.com>
265
266         V8 idl code generator doesn't handle SerializedScriptValue attributes properly.
267         https://bugs.webkit.org/show_bug.cgi?id=77295
268
269         Reviewed by Kentaro Hara.
270
271         Only the case of one (and only one) SerializedScriptValue attribute was
272         handled, and it was deserialized eagerly in the constructor instead of
273         generating getters/setters. This patch gets rid of that behavior and
274         generates the getters and setters instead (similar to what the JSC
275         generator does).
276         Also handle the case of SSV attributes with [CachedAttribute]
277         declaration, caching the deserialized value in a hidden attribute on the
278         object.
279
280         * bindings/scripts/CodeGeneratorV8.pm:
281         (GenerateNormalAttrGetter):
282         (GenerateNormalAttrSetter):
283         (GenerateConstructorCallback):
284         (GenerateNamedConstructorCallback):
285         (GenerateSingleBatchedAttribute):
286         (GenerateImplementation):
287         (GenerateToV8Converters):
288         (JSValueToNative):
289         (NativeToJSValue):
290         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
291         (WebDOMTestSerializedScriptValueInterface::setValue):
292         (WebDOMTestSerializedScriptValueInterface::readonlyValue):
293         (WebDOMTestSerializedScriptValueInterface::cachedValue):
294         (WebDOMTestSerializedScriptValueInterface::setCachedValue):
295         (WebDOMTestSerializedScriptValueInterface::cachedReadonlyValue):
296         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
297         (WebDOMTestSerializedScriptValueInterface):
298         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
299         (webkit_dom_test_serialized_script_value_interface_set_value):
300         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
301         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
302         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
303         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
304         (webkit_dom_test_serialized_script_value_interface_get_property):
305         (webkit_dom_test_serialized_script_value_interface_class_init):
306         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
307         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
308         ():
309         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
310         (WebCore):
311         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
312         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
313         (WebCore::JSTestSerializedScriptValueInterface::put):
314         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
315         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
316         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
317         (JSTestSerializedScriptValueInterface):
318         (JSTestSerializedScriptValueInterfacePrototype):
319         (WebCore):
320         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
321         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
322         (-[DOMTestSerializedScriptValueInterface setValue:]):
323         (-[DOMTestSerializedScriptValueInterface readonlyValue]):
324         (-[DOMTestSerializedScriptValueInterface cachedValue]):
325         (-[DOMTestSerializedScriptValueInterface setCachedValue:]):
326         (-[DOMTestSerializedScriptValueInterface cachedReadonlyValue]):
327         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
328         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
329         (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrGetter):
330         (TestSerializedScriptValueInterfaceInternal):
331         (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrSetter):
332         (WebCore::TestSerializedScriptValueInterfaceInternal::readonlyValueAttrGetter):
333         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrGetter):
334         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrSetter):
335         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedReadonlyValueAttrGetter):
336         ():
337         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
338         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
339         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
340
341 2012-02-02  Adam Barth  <abarth@webkit.org>
342
343         BMW Car Configuration Page doesn't work (Only manifests in Chromium)
344         https://bugs.webkit.org/show_bug.cgi?id=77312
345
346         Reviewed by Dimitri Glazkov.
347
348         When we autogenerated the event factory, we missed the check for
349         whether touch events were enabled at runtime:
350         http://trac.webkit.org/changeset/97933/trunk/Source/WebCore/dom/Document.cpp
351
352         This patch adds the check back.
353
354         Unfortunately, there isn't a testing frame work for
355         RuntimeEnabledFeatures.  The main difficulty is that these static bools
356         need to be set when WebKit is initialized and can't be changed (which
357         is why they're not part of WebCore::Settings).  To test them properly,
358         we'd need a testing framework that booted up WebKit for each test.
359
360         We could test this particular change (which doesn't need the bool to be
361         constant through the runtime of WebKit), but that would create a
362         sandtrap for future patches who might thing that this testing framework
363         can really be used to test RuntimeEnabledFeatures.
364
365         The net result is that Chromium is going to end up living with the
366         non-default codepath for these settings being untested, which will lead
367         to regressions like this one.  If we ened up with a bunch of these
368         regressions, we'll likely end up with a testing framework similar to
369         Chromium's browsers_tests, which create a fresh subprocess for each
370         test.
371
372         * dom/EventFactory.in:
373         * dom/make_event_factory.pl:
374         (defaultItemFactory):
375         (generateImplementation):
376
377 2012-02-02  Justin Novosad  <junov@chromium.org>
378
379         [Chromium] Use SkCanvas::flush in skia port
380         https://bugs.webkit.org/show_bug.cgi?id=77463
381
382         Reviewed by Stephen White.
383
384         Code cleanup in skia port. Using SkCanvas::flush to remove
385         unnecessary dependency on GrContext.  Removed unnecessary inclusions
386         and forward declarations of GrContext in several source files.
387
388         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
389         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
390         * platform/graphics/chromium/LayerRendererChromium.cpp:
391         * platform/graphics/chromium/LayerRendererChromium.h:
392         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
393         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
394         * platform/graphics/chromium/cc/CCProxy.h:
395         * platform/graphics/skia/PlatformContextSkia.cpp:
396
397 2012-02-02  Chris Marrin  <cmarrin@apple.com>
398
399         Turn on CSS Filters on Windows
400         https://bugs.webkit.org/show_bug.cgi?id=76667
401
402         Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
403
404         Reviewed by Adele Peterson.
405
406         * WebCore.vcproj/copyForwardingHeaders.cmd:
407         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
408         (PlatformCALayer::setFilters):
409         (PlatformCALayer::filtersCanBeComposited):
410
411 2012-02-02  Jon Lee  <jonlee@apple.com>
412
413         Clear shown notifications when context is no longer active
414         https://bugs.webkit.org/show_bug.cgi?id=77363
415         <rdar://problem/10568907>
416
417         Reviewed by Darin Adler.
418
419         * notifications/NotificationPresenter.h: Add new virtual function to clear notifications
420         associated with a given execution context. By default the notifications are left alone, as
421         before. Individual implementations can override to allow notifications to clear them.
422
423         * notifications/NotificationCenter.cpp:
424         (WebCore::NotificationCenter::disconnectFrame): When disconnecting the page from the frame, we
425         call clearNotifications().
426         * page/Frame.cpp:
427         (WebCore::Frame::pageDestroyed): When the page is destroyed, tell the DOM window to reset notifications.
428
429 2012-02-02  Anders Carlsson  <andersca@apple.com>
430
431         The overhang area layer should have a linen background
432         https://bugs.webkit.org/show_bug.cgi?id=77670
433         <rdar://problem/10797727>
434
435         Reviewed by Andreas Kling.
436
437         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
438         (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
439         Add an #ifdef so that scroll position clamping can be disabled. This will be
440         removed once rubber-banding works properly.
441
442         * platform/ScrollbarTheme.h:
443         (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
444         Add new empty function.
445
446         * platform/mac/ScrollbarThemeMac.h:
447         (ScrollbarThemeMac):
448         * platform/mac/ScrollbarThemeMac.mm:
449         (WebCore::linenBackgroundColor):
450         Helper function for getting the CGColorRef that represents the linen background color.
451
452         (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
453         Set the linen background color as the overhang areas layer background color.
454
455         * rendering/RenderLayerCompositor.cpp:
456         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
457         Call ScrollbarTheme::setUpOverhangAreasLayerContents.
458
459 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
460
461         Unreviewed, rolling out r106566.
462         http://trac.webkit.org/changeset/106566
463         https://bugs.webkit.org/show_bug.cgi?id=77673
464
465         Broke the Windows build (Requested by jessieberlin on
466         #webkit).
467
468         * WebCore.vcproj/copyForwardingHeaders.cmd:
469         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
470
471 2012-02-02  Tommy Widenflycht  <tommyw@google.com>
472
473         [chromium] MediaStream API: Adding the embedding code for MediaStreamCenter
474         https://bugs.webkit.org/show_bug.cgi?id=73130
475
476         Reviewed by Darin Fisher.
477
478         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
479
480         * mediastream/UserMediaClient.h:
481         (UserMediaClient):
482         * mediastream/UserMediaRequest.cpp:
483         (WebCore::UserMediaRequest::didCompleteQuery):
484         * mediastream/UserMediaRequest.h:
485         (UserMediaRequest):
486         (WebCore::UserMediaRequest::audio):
487         (WebCore::UserMediaRequest::video):
488         (WebCore::UserMediaRequest::cameraPreferenceUser):
489         (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
490         * platform/mediastream/MediaStreamCenter.cpp:
491         (WebCore):
492         (WebCore::MediaStreamCenter::queryMediaStreamSources):
493         * platform/mediastream/MediaStreamCenter.h:
494         (WebCore):
495         (MediaStreamSourcesQueryClient):
496         (MediaStreamCenter):
497
498 2012-02-02  Raymond Toy  <rtoy@google.com>
499
500         Constant values to set "distanceModel" are undefined
501         https://bugs.webkit.org/show_bug.cgi?id=74273
502
503         Reviewed by Kenneth Russell.
504
505         Tests: webaudio/distance-exponential.html
506                webaudio/distance-inverse.html
507                webaudio/distance-linear.html
508
509         * webaudio/AudioPannerNode.h: Define enum for the new constants
510         for the distance models.
511         * webaudio/AudioPannerNode.idl: Define matching constants for the
512         distance models.
513
514 2012-02-02  Raymond Toy  <rtoy@google.com>
515
516         Illegal panner model values should throw an exception
517         https://bugs.webkit.org/show_bug.cgi?id=77235
518
519         Reviewed by Kenneth Russell.
520
521         Modified existing panner-set-model test to catch exceptions.
522         Debug build should not crash anymore.
523
524         * webaudio/AudioPannerNode.cpp:
525         (WebCore::AudioPannerNode::setPanningModel):  Throw exception for
526         invalid model values.
527         * webaudio/AudioPannerNode.h:
528         (AudioPannerNode): Update declaration
529         * webaudio/AudioPannerNode.idl: Setting panner model can throw
530         exception. 
531
532 2012-02-02  Kentaro Hara  <haraken@chromium.org>
533
534         Rename [ConvertUndefinedOrNullToNullString] to
535         [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString]
536         https://bugs.webkit.org/show_bug.cgi?id=77611
537
538         Reviewed by Adam Barth.
539
540         This patch renames [ConvertUndefinedOrNullToNullString] to
541         [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString], according to the spec
542         (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs,
543         http://dev.w3.org/2006/webapi/WebIDL/#TreatUndefinedAs).
544
545         No tests. No changes in behavior.
546
547         * bindings/scripts/CodeGeneratorJS.pm:
548         (JSValueToNative):
549         * bindings/scripts/CodeGeneratorV8.pm:
550         (GetNativeTypeFromSignature):
551         * dom/DOMImplementation.idl:
552         * dom/Document.idl:
553         * fileapi/Blob.idl:
554         * fileapi/DirectoryEntry.idl:
555         * fileapi/DirectoryEntrySync.idl:
556         * fileapi/Entry.idl:
557         * fileapi/EntrySync.idl:
558         * fileapi/WebKitBlobBuilder.idl:
559         * html/HTMLButtonElement.idl:
560         * html/HTMLCanvasElement.idl:
561         * html/HTMLFieldSetElement.idl:
562         * html/HTMLInputElement.idl:
563         * html/HTMLKeygenElement.idl:
564         * html/HTMLObjectElement.idl:
565         * html/HTMLOutputElement.idl:
566         * html/HTMLSelectElement.idl:
567         * html/HTMLTextAreaElement.idl:
568         * page/Console.idl:
569         * page/DOMWindow.idl:
570
571         * bindings/scripts/test/TestObj.idl: No changes in run-bindings-tests results.
572
573 2012-02-02  Anders Carlsson  <andersca@apple.com>
574
575         NPAPI will not send mouse up events when mouse is outside plugin area
576         https://bugs.webkit.org/show_bug.cgi?id=77657
577         <rdar://problem/10160674>
578
579         Reviewed by Andreas Kling.
580
581         Export EventHandler::setCapturingMouseEventsNode.
582
583         * WebCore.exp.in:
584
585 2012-02-02  Antti Koivisto  <antti@apple.com>
586
587         Move remaining implementation from CSSStyleDeclaration to subclasses 
588         https://bugs.webkit.org/show_bug.cgi?id=77621
589
590         Reviewed by Andreas Kling.
591
592         This leaves CSSStyleDeclaration a near-pure CSSOM interface.
593
594         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
595         (WebCore::isCSSPropertyName):
596         (WebCore::JSCSSStyleDeclaration::putDelegate):
597         * css/CSSComputedStyleDeclaration.cpp:
598         (WebCore::CSSComputedStyleDeclaration::parentRule):
599         (WebCore):
600         * css/CSSComputedStyleDeclaration.h:
601         (CSSComputedStyleDeclaration):
602         * css/CSSMutableStyleDeclaration.cpp:
603         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
604         (WebCore::CSSMutableStyleDeclaration::contextStyleSheet):
605         (WebCore):
606         (WebCore::CSSMutableStyleDeclaration::parentRule):
607         * css/CSSMutableStyleDeclaration.h:
608         (WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
609         (WebCore::CSSMutableStyleDeclaration::parentRuleInternal):
610         (WebCore::CSSMutableStyleDeclaration::clearParentRule):
611         (CSSMutableStyleDeclaration):
612         (WebCore::CSSMutableStyleDeclaration::parentElement):
613         (WebCore::CSSMutableStyleDeclaration::clearParentElement):
614         (WebCore::CSSMutableStyleDeclaration::parentStyleSheet):
615         * css/CSSParser.cpp:
616         (WebCore::parseColorValue):
617         (WebCore::parseSimpleLengthValue):
618         (WebCore::CSSParser::parseValue):
619         (WebCore::CSSParser::parseDeclaration):
620         * css/CSSStyleDeclaration.cpp:
621         (WebCore):
622         * css/CSSStyleDeclaration.h:
623         (CSSStyleDeclaration):
624         (WebCore::CSSStyleDeclaration::parentStyleSheet):
625         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
626         * css/CSSStyleRule.cpp:
627         (WebCore::CSSStyleRule::setSelectorText):
628                             
629             Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
630
631         * css/CSSStyleRule.h:
632         (WebCore::CSSStyleRule::setDeclaration):
633         * css/CSSStyleSelector.cpp:
634         (WebCore::isInsideRegionRule):
635         (WebCore::CSSStyleSelector::applyDeclaration):
636         * css/WebKitCSSKeyframeRule.cpp:
637         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
638         * page/PageSerializer.cpp:
639         (WebCore::PageSerializer::serializeFrame):
640         (WebCore::PageSerializer::serializeCSSStyleSheet):
641         (WebCore::PageSerializer::retrieveResourcesForCSSRule):
642         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
643         * page/PageSerializer.h:
644         
645             Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
646         
647         (WebCore):
648         (PageSerializer):
649
650 2012-02-02  Chris Marrin  <cmarrin@apple.com>
651
652         Turn on CSS Filters on Windows
653         https://bugs.webkit.org/show_bug.cgi?id=76667
654
655         Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
656
657         Reviewed by Adele Peterson.
658
659         * WebCore.vcproj/copyForwardingHeaders.cmd:
660         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
661         (PlatformCALayer::setFilters):
662         (PlatformCALayer::filtersCanBeComposited):
663
664 2012-02-02  Anders Carlsson  <andersca@apple.com>
665
666         Move ScrollingThread to its own file
667         https://bugs.webkit.org/show_bug.cgi?id=77652
668
669         Reviewed by Sam Weinig.
670
671         This just shuffles some classes around and makes ScrollingCoordinator call into ScrollingThread.
672         Hopefully we'll be able to make ScrollingThread use the new WebCore::RunLoop class eventually.
673
674         * WebCore.xcodeproj/project.pbxproj:
675         * page/scrolling/ScrollingCoordinator.cpp:
676         (WebCore::ScrollingCoordinator::handleWheelEvent):
677         * page/scrolling/ScrollingCoordinator.h:
678         (ScrollingCoordinator):
679         * page/scrolling/ScrollingThread.cpp: Added.
680         (WebCore):
681         (WebCore::ScrollingThread::ScrollingThread):
682         (WebCore::ScrollingThread::isCurrentThread):
683         (WebCore::ScrollingThread::dispatch):
684         (WebCore::ScrollingThread::shared):
685         (WebCore::ScrollingThread::createThreadIfNeeded):
686         (WebCore::ScrollingThread::threadCallback):
687         (WebCore::ScrollingThread::threadBody):
688         (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
689         * page/scrolling/ScrollingThread.h: Added.
690         (WebCore):
691         (ScrollingThread):
692         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
693         (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
694         (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
695         * page/scrolling/mac/ScrollingThreadMac.mm: Added.
696         (WebCore):
697         (WebCore::ScrollingThread::initializeRunLoop):
698         (WebCore::ScrollingThread::wakeUpRunLoop):
699         (WebCore::ScrollingThread::threadRunLoopSourceCallback):
700
701 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
702
703         Unreviewed, rolling out r106551.
704         http://trac.webkit.org/changeset/106551
705         https://bugs.webkit.org/show_bug.cgi?id=77648
706
707         Breaking mac and gtk tests due to font differences. (Requested
708         by _pdr_ on #webkit).
709
710         * platform/graphics/SVGGlyph.cpp:
711         (WebCore::charactersWithArabicForm):
712         * svg/SVGFontData.cpp:
713         (WebCore::SVGFontData::applySVGGlyphSelection):
714         * svg/SVGFontData.h:
715         (SVGFontData):
716
717 2012-02-02  Alexander Pavlov  <apavlov@chromium.org>
718
719         Web Inspector: [REGRESSION] Slow continuous DOM traversal with Up/Down keys
720         https://bugs.webkit.org/show_bug.cgi?id=77643
721
722         Reviewed by Pavel Feldman.
723
724         Test: inspector/styles/updates-during-dom-traversal.html
725
726         * inspector/front-end/StylesSidebarPane.js:
727         (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
728
729 2012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
730
731         [GTK] WebKitWebView won't work in a GtkOffscreenWindow
732         https://bugs.webkit.org/show_bug.cgi?id=76911
733
734         Reviewed by Philippe Normand.
735
736         * platform/gtk/GtkUtilities.cpp:
737         (WebCore::widgetIsOnscreenToplevelWindow): Added this helper.
738         * platform/gtk/GtkUtilities.h:
739         (WebCore): Added helper declaration.
740
741 2012-02-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
742
743         Update active and hover state on touch release.
744         https://bugs.webkit.org/show_bug.cgi?id=77620
745
746         Reviewed by Kenneth Rohde Christiansen.
747
748         * rendering/HitTestRequest.h:
749         (WebCore::HitTestRequest::move):
750         (WebCore::HitTestRequest::release):
751         (WebCore::HitTestRequest::touchEvent):
752         (WebCore::HitTestRequest::mouseEvent):
753         (WebCore::HitTestRequest::touchMove):
754         (WebCore::HitTestRequest::touchRelease):
755             Rename the enum values in HitTestRequest to be mouse/touch
756             agnostic, and add value for recognizing touch events.
757         * rendering/RenderFrameSet.cpp:
758         (WebCore::RenderFrameSet::nodeAtPoint): Update for HitTestRequest rename.
759         * rendering/RenderLayer.cpp:
760         (WebCore::RenderLayer::hitTest): ditto
761         (WebCore::RenderLayer::updateHoverActiveState): Reset hoverstate on touch release.
762         * page/EventHandler.cpp:
763         (WebCore::EventHandler::updateSelectionForMouseDrag): Update for HitTestRequest rename.
764         (WebCore::EventHandler::handleMouseMoveEvent): ditto
765         (WebCore::EventHandler::handleMouseReleaseEvent): ditto
766         (WebCore::EventHandler::hoverTimerFired): ditto
767         (WebCore::EventHandler::dragSourceEndedAt): ditto
768         (WebCore::EventHandler::handleTouchEvent): Hittest touch release to reset
769             active and hover states and add touch enum to all touch hittests.
770
771 2012-02-02  Pavel Feldman  <pfeldman@google.com>
772
773         Web Inspector: enable editing of selected rows on single click in elements panel.
774         https://bugs.webkit.org/show_bug.cgi?id=77627
775
776         Reviewed by Vsevolod Vlasov.
777
778         * inspector/front-end/ElementsTreeOutline.js:
779         (WebInspector.ElementsTreeElement.prototype.onattach):
780         (WebInspector.ElementsTreeElement.prototype.onselect):
781         (WebInspector.ElementsTreeElement.prototype._mouseDown):
782         * inspector/front-end/treeoutline.js:
783         (TreeElement.prototype.selectOnMouseDown):
784         (TreeElement.prototype.select):
785
786 2012-02-02  Philip Rogers  <pdr@google.com>
787
788         Fix mirroring with SVG fonts
789         https://bugs.webkit.org/show_bug.cgi?id=77067
790
791         Reviewed by Nikolas Zimmermann.
792
793         SVG fonts were incorrectly handling mirrored characters in bidi text.
794         In this change I added the function createStringWithMirroredCharacters
795         which handles mirroring the characters when selecting glyphs for SVG
796         fonts. I also made a small cosmetic change in the function
797         charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
798         which better reflects what it actually does.
799
800         Several new tests were added to test mirroring with SVG fonts in the
801         presence of Arabic forms and non-BMP characters.
802
803         Tests: svg/custom/glyph-selection-arabic-forms.svg
804                svg/custom/glyph-selection-bidi-mirror.svg
805                svg/custom/glyph-selection-non-bmp.svg
806
807         * platform/graphics/SVGGlyph.cpp:
808         (WebCore::charactersWithArabicForm):
809         * svg/SVGFontData.cpp:
810         (WebCore::SVGFontData::applySVGGlyphSelection):
811         (WebCore::SVGFontData::createStringWithMirroredCharacters):
812         * svg/SVGFontData.h:
813         (SVGFontData):
814
815 2012-02-02  Pavel Feldman  <pfeldman@google.com>
816
817         Web Inspector: add experiment for single click styles editing.
818         https://bugs.webkit.org/show_bug.cgi?id=77624
819
820         Reviewed by Vsevolod Vlasov.
821
822         * inspector/front-end/Settings.js:
823         (WebInspector.ExperimentsSettings):
824         * inspector/front-end/StylesSidebarPane.js:
825         (WebInspector.StylePropertiesSection):
826         (WebInspector.StylePropertyTreeElement.prototype.onattach):
827         (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
828         (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
829         (WebInspector.StylePropertyTreeElement.prototype):
830         (WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
831
832 2012-02-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
833
834         Make the tap highlighting work for all test cases
835         https://bugs.webkit.org/show_bug.cgi?id=77626
836
837         Reviewed by Simon Hausmann.
838
839         Clean up of the current code to make it more generic. Now uses
840         addFocusRingRects for finding the areas to highlight.
841
842         Tested by current manual tests.
843
844         * page/GestureTapHighlighter.cpp:
845         (WebCore::GestureTapHighlighter::pathForNodeHighlight):
846
847 2012-02-02  Mario Sanchez Prada  <msanchez@igalia.com>
848
849         [Gtk] atk_text_get_text_at_offset() sometimes fails to provide the correct line
850         https://bugs.webkit.org/show_bug.cgi?id=72382
851
852         Reviewed by Martin Robinson.
853
854         Do not add unnecesary blanks at the end of a line of text.
855
856         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
857         (textForRenderer): Do not just append a '\n' at the end of a line
858         if the linebreak for that line was already considered.
859
860 2012-02-02  Raul Hudea  <rhudea@adobe.com>
861
862         Regions should ignore the saved currentRenderFlowThread during repainting
863         because if there are imbricated flow threads, it might end using the wrong one.
864
865         [CSSRegions] Assert failure in RenderView::computeRectForRepaint
866         https://bugs.webkit.org/show_bug.cgi?id=77430
867
868         Reviewed by David Hyatt.
869
870         Test: fast/regions/imbricated-flow-threads-crash.html
871
872         * rendering/RenderFlowThread.cpp:
873         (CurrentRenderFlowThreadDisabler):
874         (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
875         (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
876         (WebCore):
877         (WebCore::RenderFlowThread::repaintRectangleInRegions):
878
879 2012-02-02  Kinuko Yasuda  <kinuko@chromium.org>
880
881         Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory (re-landing r105395)
882         https://bugs.webkit.org/show_bug.cgi?id=76551
883
884         Reviewed by David Levin.
885
886         Moved the implementation of crackFileSystemURL() and toURL() from
887         WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
888         so that each platform can extend/implement their behavior if necessary.
889
890         No new tests as it has no functional changes.
891
892         * fileapi/DOMFileSystemBase.cpp: Moved crackFileSystemURL() to AsyncFileSystem.
893         * fileapi/DOMFileSystemBase.h:
894         (DOMFileSystemBase):
895         * fileapi/EntryBase.cpp: Moved toURL() to AsyncFileSystem.
896         (WebCore::EntryBase::toURL):
897         * page/DOMWindow.cpp: Made corresponding callsite changes.
898         (WebCore::DOMWindow::webkitRequestFileSystem):
899         (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
900         * page/DOMWindow.h:
901         * platform/AsyncFileSystem.cpp:
902         (WebCore::AsyncFileSystem::isValidType): Added.
903         * platform/AsyncFileSystem.h:
904         (AsyncFileSystem):
905         * workers/WorkerContext.cpp: Made corresponding callsite changes.
906         (WebCore::WorkerContext::webkitRequestFileSystem):
907         (WebCore::WorkerContext::webkitRequestFileSystemSync):
908         (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
909         (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
910         * workers/WorkerContext.h:
911
912 2012-02-02  Yury Semikhatsky  <yurys@chromium.org>
913
914         Web Inspector: pause on uncaugh exceptions state is not properly restored
915         https://bugs.webkit.org/show_bug.cgi?id=77558
916
917         'Pause on exceptions' state is now stored in InspectorState object so that it is
918         properly restored on inspected process change.
919
920         Reviewed by Vsevolod Vlasov.
921
922         * inspector/InspectorDebuggerAgent.cpp:
923         (DebuggerAgentState):
924         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
925         (WebCore::InspectorDebuggerAgent::disable):
926         (WebCore::InspectorDebuggerAgent::restore):
927         (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
928         (WebCore):
929         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
930         * inspector/InspectorDebuggerAgent.h:
931         (InspectorDebuggerAgent):
932
933 2012-02-02  Kentaro Hara  <haraken@chromium.org>
934
935         The third argument of addEventListener/removeEventListener of PeerConnection should be optional
936         https://bugs.webkit.org/show_bug.cgi?id=77606
937
938         Reviewed by Adam Barth.
939
940         This patch corrects a typo in PeerConnection.idl, i.e. [optional] => [Optional].
941
942         Test: fast/mediastream/peerconnection-eventlistener-optional-argument.html
943
944         * mediastream/PeerConnection.idl:
945
946 2012-02-02  Rakesh KN  <rakesh.kn@motorola.com>
947
948         hidden attribute on <input type=file /> suppresses the file selection dialog
949         https://bugs.webkit.org/show_bug.cgi?id=58208
950
951         Reviewed by Ryosuke Niwa.
952
953         We want to allow opening file dialog on hidden element when click() is called
954         on the element. The behaviour is similar to Firefox and IE.
955
956         Added manual test as the file dialog opens only on user gesture.
957
958         * html/FileInputType.cpp:
959         (WebCore::FileInputType::handleDOMActivateEvent):
960         Removed renderer check as input can be hidden.
961
962 2012-02-01  Philippe Normand  <pnormand@igalia.com>
963
964         [GStreamer] FFTFrame implementation
965         https://bugs.webkit.org/show_bug.cgi?id=73545
966
967         Reviewed by Chris Rogers.
968
969         FFTFrame implementation based on GStreamer's FFT processing
970         library.
971
972         No new tests, existing WebAudio tests cover this.
973
974         * GNUmakefile.am:
975         * GNUmakefile.list.am:
976         * platform/audio/FFTFrame.h:
977         * platform/audio/FFTFrameStub.cpp:
978         * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
979         (WebCore::FFTFrame::FFTFrame):
980         (WebCore::FFTFrame::initialize):
981         (WebCore::FFTFrame::cleanup):
982         (WebCore::FFTFrame::~FFTFrame):
983         (WebCore::FFTFrame::multiply):
984         (WebCore::FFTFrame::doFFT):
985         (WebCore::FFTFrame::doInverseFFT):
986         (WebCore::FFTFrame::realData):
987         (WebCore::FFTFrame::imagData):
988
989 2012-02-02  Kentaro Hara  <haraken@chromium.org>
990
991         Rename [CheckFrameSecurity] and [SVGCheckSecurity] to [CheckAccessToNode]
992         https://bugs.webkit.org/show_bug.cgi?id=77601
993
994         Reviewed by Adam Barth.
995
996         [CheckFrameSecurity] and [SVGCheckSecurity] have the same meaning; i.e. generate code
997         to check allowAccessToNode() for a given attribute or method. This patch renames them
998         to [CheckAccessToNode].
999
1000         No tests. No changes in behavior.
1001
1002         * bindings/scripts/CodeGeneratorJS.pm:
1003         (GenerateImplementation):
1004         * bindings/scripts/CodeGeneratorV8.pm:
1005         (GenerateNormalAttrGetter):
1006         (GenerateFunctionCallback):
1007         * html/HTMLEmbedElement.idl:
1008         * html/HTMLFrameElement.idl:
1009         * html/HTMLIFrameElement.idl:
1010         * html/HTMLObjectElement.idl:
1011
1012         * bindings/scripts/test/TestObj.idl:
1013         * bindings/scripts/test/V8/V8TestObj.cpp: Updated the test results.
1014         (WebCore):
1015
1016 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1017
1018         Rename [V8DisallowShadowing] to [V8Unforgeable]
1019         https://bugs.webkit.org/show_bug.cgi?id=77599
1020
1021         Reviewed by Adam Barth.
1022
1023         This patch renames [V8DisallowShadowing] to [V8Unforgeable], following the Web IDL
1024         spec (http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable).
1025
1026         No tests. No change in behavior.
1027
1028         * bindings/scripts/CodeGeneratorV8.pm:
1029         (GenerateNormalAttrGetter):
1030         (GenerateSingleBatchedAttribute):
1031         (GenerateImplementation):
1032         * page/DOMWindow.idl:
1033         * page/Location.idl:
1034
1035 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1036
1037         Rename [ConvertNullToNullString] to [TreatNullAs=EmptyString]
1038         https://bugs.webkit.org/show_bug.cgi?id=77602
1039
1040         Reviewed by Adam Barth.
1041
1042         This patch renames [ConvertNullToNullString] to [TreatNullAs=EmptyString],
1043         according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs).
1044
1045         No tests. No changes in behavior.
1046
1047         * bindings/scripts/CodeGeneratorJS.pm:
1048         (JSValueToNative):
1049         * bindings/scripts/CodeGeneratorV8.pm:
1050         (GetNativeTypeFromSignature):
1051
1052         * css/CSSCharsetRule.idl:
1053         * css/CSSPageRule.idl:
1054         * css/CSSRule.idl:
1055         * css/CSSStyleDeclaration.idl:
1056         * css/CSSStyleRule.idl:
1057         * css/CSSValue.idl:
1058         * css/MediaList.idl:
1059         * css/WebKitCSSKeyframesRule.idl:
1060         * dom/Attr.idl:
1061         * dom/CharacterData.idl:
1062         * dom/DOMImplementation.idl:
1063         * dom/Document.idl:
1064         * dom/Element.idl:
1065         * dom/NamedNodeMap.idl:
1066         * dom/Node.idl:
1067         * dom/ProcessingInstruction.idl:
1068         * dom/ShadowRoot.idl:
1069         * html/HTMLAnchorElement.idl:
1070         * html/HTMLButtonElement.idl:
1071         * html/HTMLDocument.idl:
1072         * html/HTMLElement.idl:
1073         * html/HTMLFormElement.idl:
1074         * html/HTMLFrameElement.idl:
1075         * html/HTMLInputElement.idl:
1076         * html/HTMLMediaElement.idl:
1077         * html/HTMLOutputElement.idl:
1078         * html/HTMLScriptElement.idl:
1079         * html/HTMLSelectElement.idl:
1080         * html/HTMLTextAreaElement.idl:
1081         * html/HTMLTitleElement.idl:
1082         * html/canvas/CanvasRenderingContext2D.idl:
1083         * page/DOMWindow.idl:
1084         * storage/StorageEvent.idl:
1085         * svg/SVGAngle.idl:
1086         * svg/SVGElement.idl:
1087         * svg/SVGLength.idl:
1088         * svg/SVGScriptElement.idl:
1089
1090         * bindings/scripts/test/TestObj.idl: No change in the run-bindings-tests results.
1091
1092 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1093
1094         Remove [GenerateConstructor] from IDL files
1095         https://bugs.webkit.org/show_bug.cgi?id=77598
1096
1097         Reviewed by Adam Barth.
1098
1099         [GenerateConstructor] is used in some IDL files but it is not implemented
1100         in code generators. I could not find any history about [GenerateConstructor]
1101         in code generators. This patch removes them from IDL files.
1102
1103         Maybe we want to replace [GenerateConstructor] with [Constructor] eventually,
1104         but currently no tests are written for their constructors (e.g. "new DOMTokenList()").
1105         So simply removing them would make sense.
1106
1107         No new tests. No change in behavior.
1108
1109         * dom/DOMStringList.idl:
1110         * html/DOMSettableTokenList.idl:
1111         * html/DOMTokenList.idl:
1112         * svg/SVGFEConvolveMatrixElement.idl:
1113         * webaudio/AudioPannerNode.idl:
1114
1115 2012-02-01  Eric Carlson  <eric.carlson@apple.com>
1116
1117         Consider user's preferred language when choosing text tracks
1118         https://bugs.webkit.org/show_bug.cgi?id=74121
1119
1120         Reviewed by Alexey Proskuryakov.
1121
1122         Tests: media/track/track-language-preference.html
1123                media/track/track-prefer-captions.html
1124
1125         * html/HTMLMediaElement.cpp:
1126         (WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
1127         (WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
1128         (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
1129         (WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
1130         (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,
1131             don't consider user's language preference.
1132         (WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group, 
1133             considering user's kind and language preferences.
1134         (WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.
1135         * html/HTMLMediaElement.h:
1136         (WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
1137         (TrackGroup):
1138
1139         * platform/Language.cpp:
1140         (WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
1141         (WebCore::bestMatchingLanguage): New, return the language from the list that best matches the 
1142             specified language.
1143         (WebCore::preferredLanguageFromList): New, return the language in the specified list that best
1144             matches the user's language preference.
1145         * platform/Language.h:
1146
1147         * testing/Internals.cpp:
1148         (WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
1149         (WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.
1150         * testing/Internals.h:
1151         * testing/Internals.idl:
1152
1153 2012-02-01  Hayato Ito  <hayato@chromium.org>
1154
1155         Change class hierarycy so that ShadowRoot can inherit DocumentFragment.
1156         https://bugs.webkit.org/show_bug.cgi?id=76693
1157
1158         Reviewed by Darin Adler.
1159
1160         Make ShadowRoot inherit DocumentFragment so that it matches the class hierarchy of IDL in the spec.
1161         TreeScope becomes a separated class, which is now inherited by Document and ShadowRoot using multiple-inheritance.
1162         This patch is pre-requirement for coming IDL change.
1163
1164         No tests. No change in behavior.
1165
1166         * dom/Document.cpp:
1167         (WebCore::Document::Document):
1168         (WebCore::Document::~Document):
1169         (WebCore::Document::buildAccessKeyMap):
1170         (WebCore::Document::childrenChanged):
1171         (WebCore::Document::attach):
1172         (WebCore::Document::detach):
1173         * dom/Document.h:
1174         (Document):
1175         * dom/DocumentFragment.cpp:
1176         (WebCore::DocumentFragment::DocumentFragment):
1177         * dom/DocumentFragment.h:
1178         (DocumentFragment):
1179         * dom/DocumentOrderedMap.cpp:
1180         (WebCore::DocumentOrderedMap::get):
1181         * dom/ShadowRoot.cpp:
1182         (WebCore::ShadowRoot::ShadowRoot):
1183         (WebCore::ShadowRoot::~ShadowRoot):
1184         (WebCore::ShadowRoot::attach):
1185         * dom/ShadowRoot.h:
1186         * dom/TreeScope.cpp:
1187         (WebCore::TreeScope::TreeScope):
1188         (WebCore::TreeScope::~TreeScope):
1189         (WebCore::TreeScope::setParentTreeScope):
1190         (WebCore::TreeScope::getImageMap):
1191         (WebCore::TreeScope::findAnchor):
1192         * dom/TreeScope.h:
1193         (WebCore):
1194         (WebCore::TreeScope::rootNode):
1195         (TreeScope):
1196         * dom/TreeScopeAdopter.cpp:
1197         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1198         * page/DragController.cpp:
1199         (WebCore::asFileInput):
1200         * page/FocusController.cpp:
1201         (WebCore::ownerOfTreeScope):
1202         (WebCore::FocusController::nextFocusableNode):
1203         (WebCore::FocusController::previousFocusableNode):
1204
1205 2012-02-01  Benjamin Poulain  <bpoulain@apple.com>
1206
1207         WorkerScriptController::evaluate() should not return anything
1208         https://bugs.webkit.org/show_bug.cgi?id=77587
1209
1210         Reviewed by Adam Barth.
1211
1212         Remove the return value from WorkerScriptController as it is
1213         (and should be) unused.
1214
1215         * bindings/js/WorkerScriptController.cpp:
1216         (WebCore::WorkerScriptController::evaluate):
1217         * bindings/js/WorkerScriptController.h:
1218         (WorkerScriptController):
1219         * bindings/v8/WorkerScriptController.cpp:
1220         (WebCore::WorkerScriptController::evaluate):
1221         * bindings/v8/WorkerScriptController.h:
1222         (WorkerScriptController):
1223
1224 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1225
1226         Remove [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
1227         [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators
1228         https://bugs.webkit.org/show_bug.cgi?id=77585
1229
1230         Reviewed by Adam Barth.
1231
1232         This patch removes [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
1233         [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators,
1234         since they are not used by no IDL files.
1235
1236         No tests. No change in behavior.
1237
1238         * bindings/scripts/CodeGenerator.pm:
1239         (GetterExpression):
1240         * bindings/scripts/CodeGeneratorJS.pm:
1241         (GenerateGetOwnPropertySlotBody):
1242         (GenerateGetOwnPropertyDescriptorBody):
1243         (GenerateHeader):
1244         (GenerateImplementation):
1245         (IsConstructable):
1246         (IsConstructorTemplate):
1247
1248         * bindings/scripts/test/TestObj.idl:
1249         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated the run-bindings-tests results.
1250         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
1251         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
1252         (webkit_dom_test_obj_set_property):
1253         (webkit_dom_test_obj_get_property):
1254         (webkit_dom_test_obj_class_init):
1255         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
1256         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1257         (WebCore):
1258         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
1259         (WebCore):
1260         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
1261         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
1262         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1263         (WebCore):
1264
1265 2012-02-01  Shinya Kawanaka  <shinyak@google.com>
1266
1267         Select attribute of HTMLContentElement should be able be changed dynamically.
1268         https://bugs.webkit.org/show_bug.cgi?id=76261
1269
1270         Reviewed by Hajime Morita.
1271
1272         When select attribute is changed, the flag to recalc style is set.
1273
1274         Test: fast/dom/shadow/content-element-select-dynamic.html
1275
1276         * html/shadow/HTMLContentElement.cpp:
1277         (WebCore::HTMLContentElement::parseMappedAttribute):
1278           Sets recalc style when select is changed.
1279         * html/shadow/HTMLContentElement.h:
1280         (HTMLContentElement):
1281
1282 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1283
1284         Remove [ImplementationUUID] and [InterfaceUUID] from html/canvas/*.idl
1285         https://bugs.webkit.org/show_bug.cgi?id=77589
1286
1287         Reviewed by Adam Barth.
1288
1289         [ImplementationUUID] and [InterfaceUUID] are used in html/canvas/*.idl,
1290         but they are not implemented in code generators and thus have no meaning.
1291         This patch removes them.
1292
1293         No tests. No change in behavior.
1294
1295         * html/canvas/CanvasGradient.idl:
1296         * html/canvas/CanvasPattern.idl: The file is now empty though.
1297         * html/canvas/CanvasRenderingContext.idl:
1298         * html/canvas/CanvasRenderingContext2D.idl:
1299         * html/canvas/WebGLRenderingContext.idl:
1300
1301 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1302
1303         Unreviewed, rolling out r106408.
1304         http://trac.webkit.org/changeset/106408
1305         https://bugs.webkit.org/show_bug.cgi?id=77592
1306
1307         crashes in chromium mac release tests (Requested by japhet on
1308         #webkit).
1309
1310         * platform/graphics/Region.cpp:
1311         * platform/graphics/Region.h:
1312         (Region):
1313         (Shape):
1314
1315 2012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
1316
1317         [Texmap] Use glScissors for clipping in TextureMapperGL when possible
1318         https://bugs.webkit.org/show_bug.cgi?id=77575
1319
1320         Reviewed by Martin Robinson.
1321
1322         Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
1323         We apply scissors when the clip region is rectalinear, and stencil when it's not.
1324
1325         No behavior changes so no new tests.
1326
1327         * platform/graphics/opengl/TextureMapperGL.cpp:
1328         (SharedGLData):
1329         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
1330         (WebCore::TextureMapperGL::drawTexture):
1331         (WebCore::TextureMapperGL::bindSurface):
1332         (WebCore):
1333         (WebCore::scissorClip):
1334         (WebCore::TextureMapperGL::beginScissorClip):
1335         (WebCore::TextureMapperGL::endScissorClip):
1336         (WebCore::TextureMapperGL::beginClip):
1337         (WebCore::TextureMapperGL::endClip):
1338         * platform/graphics/opengl/TextureMapperGL.h:
1339         (TextureMapperGL):
1340
1341 2012-02-01  Anders Carlsson  <andersca@apple.com>
1342
1343         Move the scrolling coordinator to page/scrolling
1344         https://bugs.webkit.org/show_bug.cgi?id=77590
1345
1346         Reviewed by Dan Bernstein.
1347
1348         Put scrolling related files in page/scrolling to avoid cluttering the page directory.
1349
1350         * WebCore.xcodeproj/project.pbxproj:
1351         * page/scrolling/ScrollingCoordinator.cpp: Renamed from Source/WebCore/page/ScrollingCoordinator.cpp.
1352         * page/scrolling/ScrollingCoordinator.h: Renamed from Source/WebCore/page/ScrollingCoordinator.h.
1353         * page/scrolling/mac/ScrollingCoordinatorMac.mm: Renamed from Source/WebCore/page/mac/ScrollingCoordinatorMac.mm.
1354
1355 2012-02-01  Kentaro Hara  <haraken@chromium.org>
1356
1357         Remove [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
1358         [v8implname] and [v8referenceattr] from code generators
1359         https://bugs.webkit.org/show_bug.cgi?id=77588
1360
1361         Reviewed by Adam Barth.
1362
1363         This patch removes [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
1364         [v8implname] and [v8referenceattr] from code generators, since they are not used
1365         by any IDL files.
1366
1367         No tests. No changes in behavior.
1368
1369         * bindings/scripts/CodeGeneratorJS.pm:
1370         (GenerateImplementation):
1371         * bindings/scripts/CodeGeneratorObjC.pm:
1372         (GenerateHeader):
1373         (GenerateImplementation):
1374         * bindings/scripts/CodeGeneratorV8.pm:
1375         (IsConstructable):
1376         (IsConstructorTemplate):
1377         (GenerateNormalAttrGetter):
1378         (GenerateFunctionCallString):
1379
1380 2012-02-01  Pablo Flouret  <pablof@motorola.com>
1381
1382         Support targetOrigin = "/" in postMessage for sending messages to same origin as source document.
1383         https://bugs.webkit.org/show_bug.cgi?id=77580
1384
1385         Reviewed by Adam Barth.
1386
1387         No new tests. Modified http/tests/security/postMessage/target-origin.html
1388         to test this case as well.
1389
1390         * page/DOMWindow.cpp:
1391         (WebCore::DOMWindow::postMessage):
1392
1393 2012-02-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1394
1395         Avoid creating NamedNodeMap unnecessarily
1396         https://bugs.webkit.org/show_bug.cgi?id=77574
1397
1398         Reviewed by Ryosuke Niwa.
1399
1400         The method Element::attributes() was being used for multiple things in our
1401         codebase: (1) as the getter for NamedNodeMap exposed to DOM, (2) as a way to other WebCore
1402         code get the "attribute storage" (currently inside NamedNodeMap), and (3) as a way to
1403         get the attribute storage creating one if necessary.
1404
1405         This commit separate the jobs in different functions:
1406
1407         1) attributes() keeps being the DOM getter, and loses its boolean parameter.
1408
1409         2) updatedAttributes() updates the invalid attributes and returns the attribute
1410         storage. If we don't have one, return 0.
1411
1412         3) ensureUpdatedAttributes() updates the invalid attributes and forces the
1413         creation of attribute storage to return.
1414
1415         There is also another way to get to the attribute storage currently, via
1416         attributeMap(), which doesn't update the attributes for possible changes in Style
1417         or SVG attributes.
1418
1419         Note that the new functions are not available in Node class, so C++ code manipulating
1420         attributes should cast to Element.
1421
1422         This separation also made easier to spot and fix some places where we do not
1423         need to create the attribute storage if it doesn't exist.
1424
1425         No new tests, this commit shouldn't change the behavior of existing code.
1426
1427         * css/SelectorChecker.cpp:
1428         (WebCore::SelectorChecker::checkOneSelector):
1429         * dom/DatasetDOMStringMap.cpp:
1430         (WebCore::DatasetDOMStringMap::getNames):
1431         (WebCore::DatasetDOMStringMap::item):
1432         (WebCore::DatasetDOMStringMap::contains):
1433         * dom/Document.cpp:
1434         (WebCore::Document::importNode):
1435         * dom/Element.cpp:
1436         (WebCore::Element::setAttribute):
1437         (WebCore::Element::hasAttributes):
1438         (WebCore::Element::setAttributeNode):
1439         (WebCore::Element::setAttributeNodeNS):
1440         (WebCore::Element::removeAttributeNode):
1441         (WebCore::Element::getAttributeNode):
1442         (WebCore::Element::getAttributeNodeNS):
1443         (WebCore::Element::hasAttribute):
1444         (WebCore::Element::hasAttributeNS):
1445         (WebCore::Element::normalizeAttributes):
1446         * dom/Element.h:
1447         (Element):
1448         (WebCore::Element::attributes):
1449         (WebCore::Element::ensureAttributeData):
1450         (WebCore::Element::ensureUpdatedAttributes):
1451         (WebCore::Element::updatedAttributes):
1452         (WebCore::Element::setAttributesFromElement):
1453         (WebCore::Element::ensureAttributeMap): Made const to be reused by ensureUpdatedAttributes().
1454         (WebCore::Element::updateInvalidAttributes):
1455         (WebCore):
1456         * dom/NamedNodeMap.cpp:
1457         (WebCore::NamedNodeMap::mapsEquivalent): Having no attributes is equivalent to
1458         not having an attribute storage because the attribute storage is lazily created.
1459         * dom/Node.cpp:
1460         (WebCore::Node::isEqualNode): Do not force the creation of attribute storage to
1461         compare two nodes.
1462         (WebCore::Node::isDefaultNamespace): Use updatedAttributes(). Since we iterate
1463         using length, it's OK if the attribute storage is empty.
1464         (WebCore::Node::lookupNamespaceURI): Ditto.
1465         (WebCore::Node::lookupNamespacePrefix): Ditto.
1466         (WebCore::Node::compareDocumentPosition): Ditto.
1467         * editing/ApplyStyleCommand.cpp:
1468         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
1469         (WebCore::isEmptyFontTag):
1470         * editing/CompositeEditCommand.cpp:
1471         (WebCore::CompositeEditCommand::isRemovableBlock): Use isElementNode() explicitly
1472         to identify non-Element nodes, then use hasAttributes() if is Element.
1473         * editing/InsertParagraphSeparatorCommand.cpp:
1474         (WebCore::highestVisuallyEquivalentDivBelowRoot):
1475         * editing/MarkupAccumulator.cpp:
1476         (WebCore::MarkupAccumulator::appendElement): Do not create the attribute storage
1477         unnecessarily.
1478         * editing/htmlediting.cpp:
1479         (WebCore::areIdenticalElements): Do not create the attribute storage
1480         unnecessarily. Use mapsEquivalent() for comparing the attributes.
1481         * editing/markup.cpp:
1482         (WebCore::completeURLs): Do not create the attribute storage unnecessarily.
1483         (WebCore::StyledMarkupAccumulator::appendElement): Ditto.
1484         (WebCore::isPlainTextMarkup): hasAttributes() will avoid creating the attribute
1485         storage unnecessarily.
1486         * html/HTMLEmbedElement.cpp:
1487         (WebCore::HTMLEmbedElement::parametersForPlugin):
1488         * html/HTMLObjectElement.cpp:
1489         (WebCore::HTMLObjectElement::parametersForPlugin):
1490         * html/HTMLParamElement.cpp:
1491         (WebCore::HTMLParamElement::isURLAttribute): Do not create the attribute storage
1492         unnecessarily.
1493         * html/parser/HTMLConstructionSite.cpp:
1494         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): Use
1495         ensureUpdatedAttributes() since we will add new attributes.
1496         (WebCore):
1497         * inspector/InspectorCSSAgent.cpp:
1498         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
1499         * inspector/InspectorDOMAgent.cpp:
1500         (WebCore::InspectorDOMAgent::setAttributesAsText):
1501         (WebCore::InspectorDOMAgent::performSearch):
1502         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
1503         * page/PageSerializer.cpp:
1504         (WebCore::isCharsetSpecifyingNode): Do not assume attributeMap will exist.
1505         * svg/properties/SVGAnimatedPropertySynchronizer.h: Use ensureUpdatedAttributes()
1506         since we will add new attributes.
1507         * xml/XPathFunctions.cpp:
1508         (WebCore::XPath::FunLang::evaluate): Do not create the attribute storage
1509         unnecessarily.
1510         * xml/XPathNodeSet.cpp:
1511         (WebCore::XPath::NodeSet::traversalSort):
1512         * xml/XPathStep.cpp:
1513         (WebCore::XPath::Step::nodesInAxis): Use isElementNode() instead of comparing
1514         nodeType() manually. Do not create the attribute storage unnecessarily.
1515         * xml/parser/XMLDocumentParserLibxml2.cpp:
1516         (WebCore::XMLDocumentParser::XMLDocumentParser): Do not create the attribute
1517         storage unnecessarily.
1518         * xml/parser/XMLDocumentParserQt.cpp:
1519         (WebCore::XMLDocumentParser::XMLDocumentParser): Ditto.
1520         * xml/parser/XMLTreeBuilder.cpp:
1521         (WebCore::XMLTreeBuilder::XMLTreeBuilder): Ditto.
1522
1523 2012-02-01  Adam Barth  <abarth@webkit.org>
1524
1525         contentDispositionType misparses the Content-Disposition header in some obscure corner cases
1526         https://bugs.webkit.org/show_bug.cgi?id=77577
1527
1528         Reviewed by Eric Seidel.
1529
1530         The contentDispositionType extracts the disposition-type from the
1531         Content-Disposition header.  According to RFC 6266 (and previous RFCs),
1532         the disposition-type must be an RFC 2616 token.  Rather than enforce
1533         this general rule, we had special-cased some examples (including
1534         name=foo and filename=bar).  This patch generalizes our check to
1535         properly validate that the disposition-type is an RFC 2616 token.
1536
1537         In conjunction with some other work in the Chromium network stack, this
1538         causes Chromium to pass the following tests:
1539
1540           http://greenbytes.de/tech/tc2231/#inlonlyquoted
1541           http://greenbytes.de/tech/tc2231/#attonlyquoted
1542
1543         Without this patch, these test cases neither trigger a navigation nor a
1544         download in Chromium.  This patch does not appear to cause any visible
1545         change in Safari.  (Safari passes these tests both before and after
1546         this patch.)
1547
1548         * platform/network/HTTPParsers.cpp:
1549         (WebCore::isRFC2616Token):
1550         (WebCore::contentDispositionType):
1551             - This patch also adds a comment to
1552               filenameFromHTTPContentDisposition, which explains some of the
1553               was this function incorrectly implements the requirements in
1554               RFC 6266.  Resolving these issues is a subject for a future
1555               patch.
1556         * platform/network/HTTPParsers.h:
1557
1558 2012-02-01  Dan Bernstein  <mitz@apple.com>
1559
1560         WebCore part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
1561         https://bugs.webkit.org/show_bug.cgi?id=77505
1562
1563         Reviewed by Darin Adler.
1564
1565         * page/Page.h:
1566         (WebCore::Page::Pagination::Pagination): Added initializer for the behavesLikeColumns member
1567         variable.
1568         (WebCore::Page::Pagination::operator==): Added comparison of behavesLikeColumns values.
1569         (Pagination): Added behavesLikeColumns member variable. When set to false (the default),
1570         paginated display respects the page-break-{before,after} properties rather than the
1571         column-break-{before,after} ones.
1572         * rendering/ColumnInfo.h:
1573         (WebCore::ColumnInfo::ColumnInfo): Added initializer for the m_paginationUnit member.
1574         (WebCore::ColumnInfo::paginationUnit): Added this getter.
1575         (WebCore::ColumnInfo::setPaginationUnit): Added this setter.
1576         (ColumnInfo): Added m_paginationUnit member. It defaults to Column.
1577         * rendering/LayoutState.h:
1578         (WebCore::LayoutState::isPaginatingColumns): Changed to check the pagination unit.
1579         * rendering/RenderBlock.cpp:
1580         (WebCore::RenderBlock::layoutBlock): Added code to set the pagination unit in the ColumnInfo.
1581         (WebCore::RenderBlock::paginationUnit): Added. The base class implementation returns Column.
1582         * rendering/RenderBlock.h:
1583         * rendering/RenderView.cpp:
1584         (WebCore::RenderView::paginationUnit): Added this override that returns Page, unless
1585         this is the RenderView for the main frame and pagination is set to behave like columns.
1586         * rendering/RenderView.h:
1587
1588 2012-02-01  Florin Malita  <fmalita@google.com>
1589
1590         Backgrounds in HTML inside foreignObject don't draw
1591         https://bugs.webkit.org/show_bug.cgi?id=23111
1592
1593         Reviewed by Eric Seidel.
1594
1595         Test: svg/foreignObject/body-background.svg
1596
1597         * rendering/RenderBox.cpp:
1598         (WebCore::RenderBox::paintBackground):
1599         Tweak the <body> background inhibiting logic to allow drawing when the element is embedded in FOs.
1600
1601
1602 2012-02-01  Gustavo Lima Chaves  <glima@profusion.mobi>
1603
1604         Make one able to set the local storage (tracker) database dir's path
1605         https://bugs.webkit.org/show_bug.cgi?id=77006
1606
1607         Reviewed by Darin Adler.
1608
1609         There are no behavior changes with the diff, so no need for new tests.
1610
1611         * storage/StorageTracker.cpp:
1612         (WebCore::StorageTracker::setDatabaseDirectoryPath):
1613         (WebCore):
1614         (WebCore::StorageTracker::databaseDirectoryPath):
1615         * storage/StorageTracker.h:
1616         (StorageTracker):
1617
1618 2012-02-01  Anders Carlsson  <andersca@apple.com>
1619
1620         Fix Window build.
1621
1622         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1623         (WebCore::LayerClient::platformCALayerDidCreateTiles):
1624         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
1625         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
1626
1627 2012-02-01  John Yani  <vanuan@gmail.com>
1628
1629         GetMIMEDescription should return const char *
1630         https://bugs.webkit.org/show_bug.cgi?id=77297
1631
1632         Reviewed by Alexey Proskuryakov.
1633
1634         No new tests. No change in behaviour.
1635
1636         * plugins/blackberry/PluginPackageBlackBerry.cpp:
1637         (WebCore::PluginPackage::fetchInfo):
1638         * plugins/efl/PluginPackageEfl.cpp:
1639         (WebCore):
1640         (WebCore::PluginPackage::fetchInfo):
1641         * plugins/npapi.h:
1642         * plugins/npfunctions.h:
1643         * plugins/qt/PluginPackageQt.cpp:
1644         (WebCore::PluginPackage::fetchInfo):
1645
1646 2012-02-01  Timothy Hatcher  <timothy@apple.com>
1647
1648         Consolidate duplicate "willHide" functions in DetailedHeapshotView.js to fix
1649         a syntax error in JSC and make the Inspector open again in Release builds.
1650
1651         https://webkit.org/b/77424
1652
1653         Reviewed by Brian Weinstein.
1654
1655         * inspector/front-end/DetailedHeapshotView.js:
1656         (WebInspector.DetailedHeapshotView.prototype.willHide): Consolidated.
1657         (WebInspector.DetailedHeapshotView.prototype.willHide): Removed.
1658
1659 2012-02-01  Justin Novosad  <junov@chromium.org>
1660
1661         [Chromium] Enable deferred canvas rendering in the skia port
1662         https://bugs.webkit.org/show_bug.cgi?id=76732
1663
1664         Reviewed by Stephen White.
1665
1666         No new tests: covered by existing canvas layout tests
1667
1668         Adding a new setting to enable deferred 2d canvas rendering.
1669         Added support for deferred 2d canvas rendering in ImageBufferSkia
1670         and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
1671         implementation is provided by skia (class SkDeferredCanvas).
1672
1673         * html/HTMLCanvasElement.cpp:
1674         (WebCore::HTMLCanvasElement::shouldDefer):
1675         (WebCore):
1676         (WebCore::HTMLCanvasElement::createImageBuffer):
1677         * html/HTMLCanvasElement.h:
1678         (HTMLCanvasElement):
1679         * page/Settings.cpp:
1680         (WebCore::Settings::Settings):
1681         (WebCore::Settings::setAccelerated2dCanvasEnabled):
1682         (WebCore):
1683         (WebCore::Settings::setDeferred2dCanvasEnabled):
1684         * page/Settings.h:
1685         (Settings):
1686         (WebCore::Settings::deferred2dCanvasEnabled):
1687         * platform/graphics/ImageBuffer.h:
1688         (WebCore::ImageBuffer::create):
1689         (ImageBuffer):
1690         * platform/graphics/cairo/ImageBufferCairo.cpp:
1691         (WebCore::ImageBuffer::ImageBuffer):
1692         * platform/graphics/cg/ImageBufferCG.cpp:
1693         (WebCore::ImageBuffer::ImageBuffer):
1694         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1695         (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
1696         (WebCore):
1697         (WebCore::Canvas2DLayerChromium::setCanvas):
1698         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
1699         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1700         (Canvas2DLayerChromium):
1701         * platform/graphics/qt/ImageBufferQt.cpp:
1702         (WebCore::ImageBuffer::ImageBuffer):
1703         * platform/graphics/skia/ImageBufferSkia.cpp:
1704         (AcceleratedDeviceContext):
1705         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
1706         (WebCore::AcceleratedDeviceContext::prepareForDraw):
1707         (WebCore::AcceleratedDeviceContext::flush):
1708         (WebCore):
1709         (WebCore::createAcceleratedCanvas):
1710         (WebCore::ImageBuffer::ImageBuffer):
1711         * platform/graphics/wince/ImageBufferWinCE.cpp:
1712         (WebCore::ImageBuffer::ImageBuffer):
1713         * platform/graphics/wx/ImageBufferWx.cpp:
1714         (WebCore::ImageBuffer::ImageBuffer):
1715
1716 2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
1717
1718         Gcc build fix after r106482.
1719
1720         * platform/graphics/ca/GraphicsLayerCA.h:
1721         (GraphicsLayerCA):
1722
1723 2012-02-01  Beth Dakin  <bdakin@apple.com>
1724
1725         https://bugs.webkit.org/show_bug.cgi?id=77383
1726         Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
1727         -and corresponding-
1728         <rdar://problem/10709560>
1729
1730         Reviewed by Sam Weinig.
1731
1732         The goal is to re-vamp didFirstVisuallyNonEmptyLayout to be more accurate. 
1733         This patch adds a new heuristic called didNewFirstVisuallNonEmptyLayout and 
1734         leaves the old one for the time being. That is temporary.
1735
1736         The heuristic for didNewFirstVisuallNonEmptyLayout is to count relevant 
1737         painted RenderObjects on Page.
1738         * page/Page.cpp:
1739         (WebCore::Page::Page):
1740         (WebCore::Page::setPaintedObjectsCounterThreshold):
1741         (WebCore::Page::addRelevantRepaintedObject):
1742         * page/Page.h:
1743         (WebCore):
1744         (Page):
1745         (WebCore::Page::startCountingRepaintedObjects):
1746         * WebCore.exp.in:
1747
1748         Start counting relevant painted RenderObjects on the page once the first 
1749         layout is complete.
1750         * page/FrameView.cpp:
1751         (WebCore::FrameView::performPostLayoutTasks):
1752
1753         Machinery for firing didNewFirstVisuallNonEmptyLayout.
1754         * loader/EmptyClients.h:
1755         (WebCore::EmptyFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
1756         * loader/FrameLoader.cpp:
1757         (WebCore::FrameLoader::didNewFirstVisuallyNonEmptyLayout):
1758         (WebCore):
1759         * loader/FrameLoader.h:
1760         (FrameLoader):
1761         * loader/FrameLoaderClient.h:
1762         (WebCore::FrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
1763
1764         These RenderObjects are the ones that this api currently consider to be 
1765         relevant. If their repaint rects intersect with the viewRect, then they are 
1766         added to the relevant objects set on the Page.
1767         * rendering/InlineBox.cpp:
1768         (WebCore::InlineBox::paint):
1769         * rendering/InlineTextBox.cpp:
1770         (WebCore::InlineTextBox::paint):
1771         * rendering/RenderEmbeddedObject.cpp:
1772         (WebCore::RenderEmbeddedObject::paintReplaced):
1773         * rendering/RenderHTMLCanvas.cpp:
1774         (WebCore::RenderHTMLCanvas::paintReplaced):
1775         * rendering/RenderImage.cpp:
1776         (WebCore::RenderImage::paintReplaced):
1777         * rendering/RenderRegion.cpp:
1778         (WebCore::RenderRegion::paintReplaced):
1779         * rendering/RenderReplaced.cpp:
1780         (WebCore::RenderReplaced::paint):
1781         * rendering/RenderVideo.cpp:
1782         (WebCore::RenderVideo::paintReplaced):
1783         * rendering/svg/RenderSVGRoot.cpp:
1784         (WebCore::RenderSVGRoot::paintReplaced):
1785
1786 2012-02-01  Alexis Menard  <alexis.menard@openbossa.org>
1787
1788         CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with 'important' priority
1789         https://bugs.webkit.org/show_bug.cgi?id=49058
1790
1791         Reviewed by Andreas Kling.
1792
1793         CSSMutableStyleDeclaration::getPropertyPriority was not handling shorthands properly. Shorthands are
1794         not part of the property list of the style so we need to query the longhands which are the one added
1795         in the list. Only if the longhands have equal priority the shorthand priority is known. I also renamed
1796         getPropertyPriority (not the CSSOM exposed method) to something more consistent with WebKit naming guidelines.
1797
1798         Test: fast/css/shorthand-priority.html
1799
1800         * css/CSSMutableStyleDeclaration.cpp:
1801         (WebCore::CSSMutableStyleDeclaration::propertyIsImportant):
1802         (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
1803         (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
1804         * css/CSSMutableStyleDeclaration.h:
1805         (CSSMutableStyleDeclaration):
1806         * editing/EditingStyle.cpp:
1807         (WebCore::EditingStyle::extractAndRemoveTextDirection):
1808         (WebCore::EditingStyle::collapseTextDecorationProperties):
1809         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
1810         (WebCore::setTextDecorationProperty):
1811         * editing/RemoveCSSPropertyCommand.cpp:
1812         (WebCore::RemoveCSSPropertyCommand::doApply):
1813
1814 2012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
1815
1816         Crash in EventHandler::updateDragAndDrop
1817         https://bugs.webkit.org/show_bug.cgi?id=77569
1818
1819         Reviewed by Alexey Proskuryakov.
1820
1821         Test: fast/events/remove-target-with-shadow-in-drag.html
1822
1823         * page/EventHandler.cpp:
1824         (WebCore::EventHandler::updateDragAndDrop):
1825
1826 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1827
1828         Unreviewed, rolling out r106382.
1829         http://trac.webkit.org/changeset/106382
1830         https://bugs.webkit.org/show_bug.cgi?id=77571
1831
1832         Causing chromium crashes in PNGImageDecoder (Requested by
1833         japhet on #webkit).
1834
1835         * bindings/v8/V8Proxy.cpp:
1836         (WebCore::V8Proxy::evaluate):
1837         * page/Console.cpp:
1838         (WebCore::Console::time):
1839         (WebCore::Console::timeEnd):
1840         * platform/chromium/PlatformSupport.h:
1841         * platform/chromium/TraceEvent.h:
1842         (internal):
1843         (ScopeTracer):
1844         (WebCore::internal::ScopeTracer::ScopeTracer):
1845         (WebCore::internal::ScopeTracer::~ScopeTracer):
1846
1847 2012-02-01  Anders Carlsson  <andersca@apple.com>
1848
1849         Reviewed by Darin Adler.
1850
1851         Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
1852         slot in the hash map and assign directly into it.
1853
1854         * platform/graphics/ca/mac/TileCache.mm:
1855         (WebCore::TileCache::revalidateTiles):
1856
1857 2012-02-01  Anders Carlsson  <andersca@apple.com>
1858
1859         Tile cache doesn't have an upper limit
1860         https://bugs.webkit.org/show_bug.cgi?id=77564
1861         <rdar://problem/10710744>
1862
1863         Reviewed by Darin Adler.
1864
1865         Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
1866         and drop tiles that are outside that area.
1867
1868         * platform/graphics/ca/GraphicsLayerCA.cpp:
1869         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
1870         Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
1871         the page layout is up to date before the new tiles are painted.
1872
1873         * platform/graphics/ca/PlatformCALayerClient.h:
1874         Add platformCALayerDidCreateTiles member function.
1875
1876         * platform/graphics/ca/mac/TileCache.h:
1877         Update for new/removed member functions and member variables.
1878
1879         * platform/graphics/ca/mac/TileCache.mm:
1880         (WebCore::TileCache::TileCache):
1881         Initialize the tile revalidation timer.
1882
1883         (WebCore::TileCache::tileCacheLayerBoundsChanged):
1884         If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
1885         schedule the revalidation timer.
1886
1887         (WebCore::TileCache::setNeedsDisplayInRect):
1888         Return early if we have no tiles.
1889
1890         (WebCore::TileCache::visibleRectChanged):
1891         Schedule tile revalidation.
1892
1893         (WebCore::TileCache::rectForTileIndex):
1894         New helper function that returns the bounds rect of a tile given its tile index.
1895
1896         (WebCore::TileCache::getTileIndexRangeForRect):
1897         Clamp the rect to the bounds of the tile cache layer.
1898
1899         (WebCore::TileCache::scheduleTileRevalidation):
1900         Schedule the revalidation timer if it hasn't already been scheduled.
1901
1902         (WebCore::TileCache::tileRevalidationTimerFired):
1903         Call revalidateTiles.
1904
1905         (WebCore::TileCache::revalidateTiles):
1906         Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
1907         parts of the tile coverage rect that don't have tiles already.
1908
1909         (WebCore::TileCache::tileLayerAtIndex):
1910         Remove invalid assertions.
1911
1912 2012-02-01  Max Vujovic  <mvujovic@adobe.com>
1913
1914         Add support for fixed and percent min-width on the table element for table-layout: auto to
1915         match Firefox and Opera's behavior.
1916
1917         In FixedTableLayout.cpp, the computePreferredLogicalWidths method looks like it has
1918         issues based on the comment: "FIXME: This entire calculation is incorrect for both
1919         minwidth and maxwidth." (minwidth and maxwidth refer to the preferred widths, not the
1920         min-width and max-width styles). I have not implemented min-width for FixedTableLayout
1921         in this patch since it requires some more research around that comment.
1922
1923         min-width and max-width on the table element was discussed on the www-style list:
1924         http://lists.w3.org/Archives/Public/www-style/2012Jan/0684.html
1925
1926         min-width is not implemented on <table> for table-layout: auto
1927         https://bugs.webkit.org/show_bug.cgi?id=76553
1928
1929         Reviewed by Julien Chaffraix.
1930
1931         Test: fast/table/min-width.html
1932
1933         * rendering/AutoTableLayout.cpp:
1934         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
1935
1936             If the min or max preferred logical width is less than a fixed min width style, it is
1937             set to the fixed min width style. Like a percent width style, a percent min-width style
1938             does not affect the min or max preferred logical widths computed by the table layout
1939             algorithm. RenderTable's computeLogicalWidth method handles percent min-width styles.
1940
1941             min-width for the table-layout: fixed case has been split out into this bug:
1942             https://bugs.webkit.org/show_bug.cgi?id=76948
1943
1944         * rendering/RenderTable.cpp:
1945         (WebCore::RenderTable::computeLogicalWidth):
1946
1947             If the RenderStyle's logical min width is defined and greater than the logical width
1948             calculation, this method sets the logical width to the logical min width.
1949
1950         (WebCore::RenderTable::convertStyleWidthToComputedWidth):
1951
1952             This new method generalizes and factors out logic from RenderTable::computeLogicalWidth
1953             that converted the width style to a computed value in the fixed and percent case.
1954             RenderTable::computeLogicalWidth now calls this method to determine the computed values
1955             for both the width style and the min-width style. In the future, it can also be used for
1956             the max-width style.
1957
1958             Note that this method handles the special CSS table case, which requires borders and
1959             paddings to be included in the computed width calculation. This applies to all width
1960             styles, including width, min-width, and max-width. Before, this special case was handled
1961             in RenderTable::computeLogicalWidth.
1962
1963         * rendering/RenderTable.h:
1964
1965 2012-02-01  Brian Salomon  <bsalomon@google.com>
1966
1967         [SKIA/CHROMIUM] Perform getImageData format conversions using Skia
1968         https://bugs.webkit.org/show_bug.cgi?id=77553
1969
1970         Reviewed by Stephen White.
1971
1972         Many existing canvas tests exercise this functionality.
1973
1974         * platform/graphics/skia/ImageBufferSkia.cpp:
1975         (WebCore::getImageData):
1976
1977 2012-02-01  Nate Chapin  <japhet@chromium.org>
1978
1979         preventDefault() in a mousedown in a subframe should not
1980         prevent the scrollbar from handling mouse movements if the
1981         cursor leaves the subframe.
1982         https://bugs.webkit.org/show_bug.cgi?id=73097
1983
1984         Reviewed by Darin Adler.
1985
1986         Test: fast/events/scroll-div-with-prevent-default-in-subframe.html
1987
1988         * page/EventHandler.cpp:
1989         (WebCore::EventHandler::handleMousePressEvent):
1990
1991 2012-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
1992
1993         [GTK] editing/inserting/4960120-2.html flaky crash
1994         https://bugs.webkit.org/show_bug.cgi?id=76815
1995
1996         Reviewed by Martin Robinson.
1997
1998         Check if the node for the first parent object not ignoring
1999         accessibility is null before using it. This might happen with
2000         certain kind of accessibility objects, such as the root one (the
2001         scroller containing the webArea object as its only child).
2002
2003         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
2004         (objectFocusedAndCaretOffsetUnignored): Add missing null check.
2005
2006 2012-02-01  Antti Koivisto  <antti@apple.com>
2007
2008         Make CSSMappedAttributeDeclaration have CSSMutableStyleDeclaration instead of being one
2009         https://bugs.webkit.org/show_bug.cgi?id=77545
2010
2011         Reviewed by Andreas Kling.
2012
2013         This is the easiest path for eliminating the last remaining subclass of CSSMutableStyleDeclaration.
2014         
2015         On negative side this increases memory use of CSSMappedAttributeDeclaration by one ptr and refcount
2016         (it loses the vptr) in total.
2017         
2018         This is not meant to be the end state, just an intermediate refactoring step. CSSMappedAttributeDeclaration
2019         should clearly be renamed too but this patch doesn't do that. It might not exist in its current form
2020         much longer.
2021
2022         * css/CSSMutableStyleDeclaration.cpp:
2023         (WebCore::CSSMutableStyleDeclaration::setProperty):
2024         (WebCore::CSSMutableStyleDeclaration::merge):
2025         * css/CSSMutableStyleDeclaration.h:
2026
2027             Remove protected section. No subclasses remain.        
2028             Rename setPropertyInternal() to setProperty(). All public methods here are internal.
2029         
2030         (CSSMutableStyleDeclaration):
2031         * css/CSSParser.cpp:
2032         (WebCore::CSSParser::parseMappedAttributeValue):
2033         * dom/Attribute.cpp:
2034         (WebCore::Attribute::clone):
2035         * dom/Attribute.h:
2036         (Attribute):
2037         (WebCore::Attribute::decl):
2038         (WebCore::Attribute::mappedAttributeDeclaration):
2039         (WebCore::Attribute::setMappedAttributeDeclaration):
2040         (WebCore::Attribute::Attribute):
2041         * dom/CSSMappedAttributeDeclaration.cpp:
2042         (WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
2043         (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
2044         (WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
2045         * dom/CSSMappedAttributeDeclaration.h:
2046         (CSSMappedAttributeDeclaration):
2047         (WebCore::CSSMappedAttributeDeclaration::declaration):
2048         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
2049         
2050             Make CSSMutableStyleDeclaration a member instead of the base class.
2051         
2052         * dom/StyledElement.cpp:
2053         (WebCore::StyledElement::attributeChanged):
2054         (WebCore::StyledElement::removeCSSProperty):
2055         (WebCore::StyledElement::addCSSProperty):
2056         (WebCore::StyledElement::addCSSImageProperty):
2057         (WebCore::StyledElement::addCSSLength):
2058         (WebCore::StyledElement::addCSSColor):
2059         (WebCore::StyledElement::createMappedDecl):
2060         * svg/SVGStyledElement.cpp:
2061         (WebCore::SVGStyledElement::getPresentationAttribute):
2062
2063 2012-02-01  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2064
2065         [Qt] Set all PlatformTouchPoint values possible from a QTouch event.
2066         https://bugs.webkit.org/show_bug.cgi?id=77442
2067
2068         Reviewed by Kenneth Rohde Christiansen.
2069
2070         * platform/qt/PlatformTouchPointQt.cpp:
2071         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
2072
2073 2012-02-01  Peter Rybin  <peter.rybin@gmail.com>
2074
2075         Web Inspector: CodeGeneratorInspector.py: move type builder code to dedicated InspectorTypeBuilder .h/.cpp
2076         https://bugs.webkit.org/show_bug.cgi?id=77471
2077
2078         Reviewed by Yury Semikhatsky.
2079
2080         Code is moved physically to other file -- generator is changed accrodingly.
2081
2082         * inspector/CodeGeneratorInspector.py:
2083         (String):
2084         (provides):
2085         (typename):
2086         (Array):
2087
2088 2012-02-01  Yury Semikhatsky  <yurys@chromium.org>
2089
2090         Web Inspector: debugger reports wrong sources when paused in inline script on page reload
2091         https://bugs.webkit.org/show_bug.cgi?id=77548
2092
2093         V8 returns treats each script source as ending with \n, now we take
2094         this into account when reporting script line count to the inspector
2095         front-end.
2096
2097         Reviewed by Vsevolod Vlasov.
2098
2099         Test: inspector/debugger/pause-in-inline-script.html
2100
2101         * bindings/js/ScriptDebugServer.cpp:
2102         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2103         * bindings/v8/DebuggerScript.js:
2104
2105 2012-02-01  Shinya Kawanaka  <shinyak@google.com>
2106
2107         Content element should be able to be dynamically added/removed/replaced in a shadow tree.
2108         https://bugs.webkit.org/show_bug.cgi?id=76611
2109
2110         Reviewed by Hajime Morita
2111
2112         When a content element is added/removed/replaced in a shadow tree, we have to recreate
2113         the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
2114         when content element is removed. (When added, it is recalculated.)
2115         This patch enables us to recalcurate the shadow tree when content element is removed.
2116
2117         Test: fast/dom/shadow/content-element-move.html
2118
2119         * dom/Element.cpp:
2120         (WebCore::Element::attach):
2121           If a shadow root exists, attaches shadow tree before attaching child elements.
2122         * dom/ShadowRoot.cpp:
2123           Added a flag to recalculate shadow tree.
2124         (WebCore::ShadowRoot::ShadowRoot):
2125         (WebCore::ShadowRoot::recalcShadowTreeStyle):
2126           Recalculates light children and shadow tree.
2127         (WebCore::ShadowRoot::setNeedsReattachHostChildrenAndShadow):
2128         (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
2129           Detaches shadow tree and host light children, and attaches them again.
2130         * dom/ShadowRoot.h:
2131         (WebCore::ShadowRoot::clearNeedsReattachHostChildrenAndShadow):
2132         (WebCore::ShadowRoot::needsReattachHostChildrenAndShadow):
2133         * html/shadow/HTMLContentElement.cpp:
2134         (WebCore::HTMLContentElement::attach):
2135           Does not need to detach included elements, because they are not attached in ContainerNode anymore.
2136         (WebCore::HTMLContentElement::detach):
2137           When a content element detached, reattaches a shadow tree.
2138
2139 2012-02-01  Peter Beverloo  <peter@chromium.org>
2140
2141         getIntersectionList causes transforms to be recalculated in SVG
2142         https://bugs.webkit.org/show_bug.cgi?id=77179
2143
2144         Reviewed by Nikolas Zimmermann.
2145
2146         Introduce a local variable to store the element's local-to-parent
2147         transformation matrix in, removing the need for the const_cast and
2148         stopping us from modifying any matrices elsewhere.
2149
2150         Test: svg/custom/intersection-list-transforms.svg
2151
2152         * rendering/svg/RenderSVGModelObject.cpp:
2153         (WebCore::getElementCTM):
2154
2155 2012-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
2156
2157         Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
2158         https://bugs.webkit.org/show_bug.cgi?id=77439
2159
2160         Reviewed by Pavel Feldman.
2161
2162         Tests: http/tests/inspector/indexeddb/database-names.html
2163                http/tests/inspector/indexeddb/database-structure.html
2164
2165         * inspector/front-end/IndexedDBModel.js:
2166         (WebInspector.IndexedDBModel.prototype.refreshDatabase):
2167
2168 2012-01-31  Vsevolod Vlasov  <vsevik@chromium.org>
2169
2170         Web Inspector: Scripts navigator becomes empty after "show folders" settings change.
2171         https://bugs.webkit.org/show_bug.cgi?id=77441
2172
2173         Reviewed by Pavel Feldman.
2174
2175         * inspector/front-end/ScriptsNavigator.js:
2176         (WebInspector.ScriptsNavigator.prototype._reset):
2177         * inspector/front-end/utilities.js:
2178
2179 2012-02-01  Shawn Singh  <shawnsingh@chromium.org>
2180
2181         Fix the semantics of passing contentsVisible flag to GraphicsLayers
2182         https://bugs.webkit.org/show_bug.cgi?id=76975
2183
2184         Reviewed by Simon Fraser.
2185
2186         This patch is covered by existing tests, in particular
2187         compositing/visibility/layer-visible-content.html; its
2188         expectations are rebaselined.
2189
2190         * rendering/RenderLayerBacking.cpp:
2191         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2192
2193 2012-02-01  Philippe Normand  <pnormand@igalia.com>
2194
2195         Unreviewed, another GTK build fix after r106446.
2196
2197         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2198         Restore webKitWebSrcGetProtocols as it was before r106446.
2199
2200 2012-02-01  Philippe Normand  <pnormand@igalia.com>
2201
2202         Unreviewed, GTK build fix after r106446.
2203
2204         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2205
2206 2012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2207
2208         Unreviewed, rolling out r106432.
2209         http://trac.webkit.org/changeset/106432
2210         https://bugs.webkit.org/show_bug.cgi?id=77529
2211
2212         it breaks tests (Requested by shinyak on #webkit).
2213
2214         * dom/Element.cpp:
2215         (WebCore::Element::attach):
2216         * dom/ShadowRoot.cpp:
2217         (WebCore::ShadowRoot::recalcShadowTreeStyle):
2218         * dom/ShadowRoot.h:
2219         (ShadowRoot):
2220         * html/shadow/HTMLContentElement.cpp:
2221         (WebCore::HTMLContentElement::attach):
2222         (WebCore::HTMLContentElement::detach):
2223
2224 2012-02-01  Hayato Ito  <hayato@chromium.org>
2225
2226         Remove unnecessary [OldStyleObjC] from ShadowRoot.idl.
2227         https://bugs.webkit.org/show_bug.cgi?id=77516
2228
2229         Reviewed by Kentaro Hara.
2230
2231         No new tests. No change in behavior.
2232
2233         * dom/ShadowRoot.idl:
2234
2235 2012-01-26  Philippe Normand  <pnormand@igalia.com>
2236
2237         [GStreamer] 0.11 webkitwebsrc
2238         https://bugs.webkit.org/show_bug.cgi?id=77086
2239
2240         Port the webkitwebsrc element to GStreamer 0.11 APIs.
2241
2242         Reviewed by Gustavo Noronha Silva.
2243
2244         No new tests, existing http media layout tests should cover this.
2245
2246         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2247         (webkit_web_src_class_init):
2248
2249 2012-01-31  Hans Wennborg  <hans@chromium.org>
2250
2251         Speech Input: Report speech element rect relative to window rather than frame
2252         https://bugs.webkit.org/show_bug.cgi?id=76443
2253
2254         Reviewed by Darin Fisher.
2255
2256         When requesting speech input, report the speech element rect relative
2257         to the window rather than the frame. The embedder will typically use
2258         this position to show a bubble indicating that speech recognition is
2259         in progress.
2260
2261         Test: fast/speech/bubble-position.html
2262
2263         * html/shadow/TextControlInnerElements.cpp:
2264         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2265
2266 2012-01-31  Andreas Kling  <awesomekling@apple.com>
2267
2268         Make elements that don't have attributes smaller.
2269         <http://webkit.org/b/76876>
2270
2271         Reviewed by Sam Weinig and Antti Koivisto.
2272
2273         Move the inline style declaration from StyledElement to ElementAttributeData, since having
2274         an inline style declaration also implies having a style attribute on the element.
2275         This saves one CPU word per element that has no attributes.
2276
2277         This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
2278         HTML5 spec at <http://whatwg.org/c>.
2279
2280         This was rolled out once because of a performance regression which has been averted this
2281         time around by adding an Element::ensureAttributeMap() so we can force creation of the
2282         NamedNodeMap without also serializing the inline style for the "style" attribute.
2283
2284         * dom/Element.h:
2285         (Element):
2286         (WebCore::Element::ensureAttributeMap):
2287         (WebCore):
2288         * dom/ElementAttributeData.h:
2289         (ElementAttributeData):
2290         * dom/NamedNodeMap.cpp:
2291         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
2292         (WebCore):
2293         (WebCore::NamedNodeMap::destroyInlineStyleDecl):
2294         * dom/NamedNodeMap.h:
2295         (WebCore::NamedNodeMap::inlineStyleDecl):
2296         (NamedNodeMap):
2297         * dom/StyledElement.cpp:
2298         (WebCore::StyledElement::addSubresourceAttributeURLs):
2299         * dom/StyledElement.h:
2300         (WebCore::StyledElement::inlineStyleDecl):
2301         (WebCore::StyledElement::ensureInlineStyleDecl):
2302         (StyledElement):
2303         (WebCore::StyledElement::destroyInlineStyleDecl):
2304
2305 2012-01-31  Hayato Ito  <hayato@chromium.org>
2306
2307         Add APIs, getElementsByXXX family, to ShadowRoot IDL.
2308         https://bugs.webkit.org/show_bug.cgi?id=77323
2309
2310         Reviewed by Dimitri Glazkov.
2311
2312         Add APIs (getElementById, getElemesntByTagName, getElementsByClassName and getElementsByTagNameNS)
2313         to ShadowRoot IDL.
2314
2315         * dom/ShadowRoot.idl:
2316
2317 2012-01-31  Shinya Kawanaka  <shinyak@google.com>
2318
2319         Content element should be able to be dynamically added/removed/replaced in a shadow tree.
2320         https://bugs.webkit.org/show_bug.cgi?id=76611
2321
2322         Reviewed by Hajime Morita.
2323
2324         When a content element is added/removed/replaced in a shadow tree, we have to recreate
2325         the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
2326         when content element is removed. (When added, it is recalculated.)
2327         This patch enables us to recalcurate the shadow tree when content element is removed.
2328
2329         Test: fast/dom/shadow/content-element-move.html
2330
2331         * dom/Element.cpp:
2332         (WebCore::Element::attach):
2333           If a shadow root exists, attaches shadow tree before attaching child elements.
2334         * dom/ShadowRoot.cpp:
2335         (WebCore::ShadowRoot::recalcShadowTreeStyle):
2336           Recalculates light children and shadow tree.
2337         (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
2338           Detaches shadow tree and host light children, and attaches them again.
2339         * dom/ShadowRoot.h:
2340           Added a flag to recalculate shadow tree.
2341         (WebCore::ShadowRoot::setNeedsShadowTreeStyleRecalc):
2342         (WebCore::ShadowRoot::clearNeedsShadowTreeStyleRecalc):
2343         (WebCore::ShadowRoot::needsShadowTreeStyleRecalc):
2344         * html/shadow/HTMLContentElement.cpp:
2345         (WebCore::HTMLContentElement::attach):
2346           Does not need to detach included elements, because they are not attached in ContainerNode anymore.
2347         (WebCore::HTMLContentElement::detach):
2348           When a content element detached, reattaches a shadow tree.
2349
2350 2012-01-31  Joe Thomas  <joethomas@motorola.com>
2351
2352         https://bugs.webkit.org/show_bug.cgi?id=76801
2353         Listboxes incorrectly display contents when cleared and then re-populated.
2354
2355         Whenever the number of items in the listbox is less than the size of listbox (number of visible items the listbox can accomodate),
2356         we set the listbox scroll-offset to zero. The scroll-offset of the Scrollbar should also be set to 0 so that when the listbox is re-populated,
2357         scrollbar position and the content inside the listbox are in sync.
2358
2359         Reviewed by Andreas Kling.
2360
2361         Tests: fast/forms/listbox-clear-restore.html
2362
2363         * rendering/RenderListBox.cpp:
2364         (WebCore::RenderListBox::computeLogicalHeight): Setting the scroll-offset of the Scrollbar to 0 when scrollbar is not needed.
2365
2366 2012-01-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2367
2368         Unreviewed. Fix build break after r106373.
2369
2370         * CMakeLists.txt:
2371
2372 2012-01-31  Adam Barth  <abarth@webkit.org>
2373
2374         HTMLPreloadScanner should understand the <base> element
2375         https://bugs.webkit.org/show_bug.cgi?id=77231
2376
2377         Reviewed by Eric Seidel.
2378
2379         Previously, the HTMLPreloadScanner would ignore the <base> element when
2380         preloading resources.  If there was a <base> tag, this could cause the
2381         preload scanner to make a bunch of useless requests.
2382
2383         This patch teaches the preload scanner to use <base> tags to better
2384         predict which URLs will be used by the document.
2385
2386         Tests: fast/preloader/first-base-tag-scanned-wins.html
2387                fast/preloader/first-base-tag-wins.html
2388                fast/preloader/understands-base-tag.html
2389
2390         * dom/Document.cpp:
2391         (WebCore::Document::completeURL):
2392         (WebCore):
2393         * dom/Document.h:
2394         (Document):
2395         (WebCore::Document::baseElementURL):
2396         * html/parser/HTMLPreloadScanner.cpp:
2397         (WebCore::HTMLNames::PreloadTask::PreloadTask):
2398         (WebCore::HTMLNames::PreloadTask::processAttributes):
2399         (WebCore::HTMLNames::PreloadTask::preload):
2400         (WebCore::HTMLNames::PreloadTask::baseElementHref):
2401         (PreloadTask):
2402         (WebCore::HTMLPreloadScanner::scan):
2403         (WebCore::HTMLPreloadScanner::processToken):
2404         (WebCore::HTMLPreloadScanner::updatePredictedBaseElementURL):
2405         (WebCore):
2406         * html/parser/HTMLPreloadScanner.h:
2407         (HTMLPreloadScanner):
2408
2409 2012-01-31  Raymond Liu  <raymond.liu@intel.com>
2410
2411         Dynamic allocate AudioBus with required number of channels for AudioNodeInput
2412         https://bugs.webkit.org/show_bug.cgi?id=76516
2413
2414         Reviewed by Kenneth Russell.
2415
2416         No new tests required.
2417
2418         * webaudio/AudioBasicProcessorNode.cpp:
2419         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
2420         * webaudio/AudioChannelMerger.cpp:
2421         (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
2422         * webaudio/AudioGainNode.cpp:
2423         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
2424         * webaudio/AudioNode.cpp:
2425         (WebCore::AudioNode::checkNumberOfChannelsForInput):
2426         * webaudio/AudioNode.h:
2427         * webaudio/AudioNodeInput.cpp:
2428         (WebCore::AudioNodeInput::AudioNodeInput):
2429         (WebCore::AudioNodeInput::updateInternalBus):
2430         (WebCore::AudioNodeInput::internalSummingBus):
2431         * webaudio/AudioNodeInput.h:
2432
2433 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
2434
2435         REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
2436         https://bugs.webkit.org/show_bug.cgi?id=77473
2437         <rdar://problem/10751357>
2438
2439         Reviewed by Darin Adler.
2440
2441         Test: platform/mac/fast/events/non-roman-key-code.html
2442
2443         * WebCore.exp.in:
2444         * platform/mac/PlatformEventFactoryMac.h:
2445         * platform/mac/PlatformEventFactoryMac.mm:
2446         (WebCore::keyIdentifierForKeyEvent):
2447         (WebCore::windowsKeyCodeForKeyEvent):
2448         Export functions for reuse in WebKit2. I did not attempt any larger refactoring at this time.
2449
2450 2012-01-31  Gregg Tavares  <gman@google.com>
2451
2452         Make WebGL put synthesized errors in the JS console
2453         https://bugs.webkit.org/show_bug.cgi?id=77267
2454
2455         Reviewed by Kenneth Russell.
2456
2457         No new functionality so no new tests.
2458
2459         * html/canvas/WebGLCompressedTextures.cpp:
2460         (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
2461         (WebCore::WebGLCompressedTextures::compressedTexImage2D):
2462         (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
2463         * html/canvas/WebGLCompressedTextures.h:
2464         (WebGLCompressedTextures):
2465         * html/canvas/WebGLDebugShaders.cpp:
2466         (WebCore::WebGLDebugShaders::getTranslatedShaderSource):
2467         * html/canvas/WebGLRenderingContext.cpp:
2468         (WebCore::WebGLRenderingContext::activeTexture):
2469         (WebCore::WebGLRenderingContext::attachShader):
2470         (WebCore::WebGLRenderingContext::bindAttribLocation):
2471         (WebCore::WebGLRenderingContext::checkObjectToBeBound):
2472         (WebCore::WebGLRenderingContext::bindBuffer):
2473         (WebCore::WebGLRenderingContext::bindFramebuffer):
2474         (WebCore::WebGLRenderingContext::bindRenderbuffer):
2475         (WebCore::WebGLRenderingContext::bindTexture):
2476         (WebCore::WebGLRenderingContext::blendEquation):
2477         (WebCore::WebGLRenderingContext::blendEquationSeparate):
2478         (WebCore::WebGLRenderingContext::blendFunc):
2479         (WebCore::WebGLRenderingContext::blendFuncSeparate):
2480         (WebCore::WebGLRenderingContext::bufferData):
2481         (WebCore::WebGLRenderingContext::bufferSubData):
2482         (WebCore::WebGLRenderingContext::checkFramebufferStatus):
2483         (WebCore::WebGLRenderingContext::clear):
2484         (WebCore::WebGLRenderingContext::compileShader):
2485         (WebCore::WebGLRenderingContext::compressedTexImage2D):
2486         (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
2487         (WebCore::WebGLRenderingContext::copyTexImage2D):
2488         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2489         (WebCore::WebGLRenderingContext::createShader):
2490         (WebCore::WebGLRenderingContext::deleteObject):
2491         (WebCore::WebGLRenderingContext::depthRange):
2492         (WebCore::WebGLRenderingContext::detachShader):
2493         (WebCore::WebGLRenderingContext::disable):
2494         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2495         (WebCore::WebGLRenderingContext::validateWebGLObject):
2496         (WebCore::WebGLRenderingContext::drawArrays):
2497         (WebCore::WebGLRenderingContext::drawElements):
2498         (WebCore::WebGLRenderingContext::enable):
2499         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2500         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
2501         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2502         (WebCore::WebGLRenderingContext::generateMipmap):
2503         (WebCore::WebGLRenderingContext::getActiveAttrib):
2504         (WebCore::WebGLRenderingContext::getActiveUniform):
2505         (WebCore::WebGLRenderingContext::getAttachedShaders):
2506         (WebCore::WebGLRenderingContext::getAttribLocation):
2507         (WebCore::WebGLRenderingContext::getBufferParameter):
2508         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
2509         (WebCore::WebGLRenderingContext::getParameter):
2510         (WebCore::WebGLRenderingContext::getProgramParameter):
2511         (WebCore::WebGLRenderingContext::getProgramInfoLog):
2512         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
2513         (WebCore::WebGLRenderingContext::getShaderParameter):
2514         (WebCore::WebGLRenderingContext::getShaderInfoLog):
2515         (WebCore::WebGLRenderingContext::getShaderSource):
2516         (WebCore::WebGLRenderingContext::getTexParameter):
2517         (WebCore::WebGLRenderingContext::getUniform):
2518         (WebCore::WebGLRenderingContext::getUniformLocation):
2519         (WebCore::WebGLRenderingContext::getVertexAttrib):
2520         (WebCore::WebGLRenderingContext::hint):
2521         (WebCore::WebGLRenderingContext::isEnabled):
2522         (WebCore::WebGLRenderingContext::linkProgram):
2523         (WebCore::WebGLRenderingContext::pixelStorei):
2524         (WebCore::WebGLRenderingContext::readPixels):
2525         (WebCore::WebGLRenderingContext::renderbufferStorage):
2526         (WebCore::WebGLRenderingContext::scissor):
2527         (WebCore::WebGLRenderingContext::shaderSource):
2528         (WebCore::WebGLRenderingContext::stencilFunc):
2529         (WebCore::WebGLRenderingContext::stencilFuncSeparate):
2530         (WebCore::WebGLRenderingContext::stencilMaskSeparate):
2531         (WebCore::WebGLRenderingContext::texImage2DBase):
2532         (WebCore::WebGLRenderingContext::texImage2DImpl):
2533         (WebCore::WebGLRenderingContext::texImage2D):
2534         (WebCore::WebGLRenderingContext::videoFrameToImage):
2535         (WebCore::WebGLRenderingContext::texParameter):
2536         (WebCore::WebGLRenderingContext::texSubImage2DBase):
2537         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
2538         (WebCore::WebGLRenderingContext::texSubImage2D):
2539         (WebCore::WebGLRenderingContext::uniform1f):
2540         (WebCore::WebGLRenderingContext::uniform1fv):
2541         (WebCore::WebGLRenderingContext::uniform1i):
2542         (WebCore::WebGLRenderingContext::uniform1iv):
2543         (WebCore::WebGLRenderingContext::uniform2f):
2544         (WebCore::WebGLRenderingContext::uniform2fv):
2545         (WebCore::WebGLRenderingContext::uniform2i):
2546         (WebCore::WebGLRenderingContext::uniform2iv):
2547         (WebCore::WebGLRenderingContext::uniform3f):
2548         (WebCore::WebGLRenderingContext::uniform3fv):
2549         (WebCore::WebGLRenderingContext::uniform3i):
2550         (WebCore::WebGLRenderingContext::uniform3iv):
2551         (WebCore::WebGLRenderingContext::uniform4f):
2552         (WebCore::WebGLRenderingContext::uniform4fv):
2553         (WebCore::WebGLRenderingContext::uniform4i):
2554         (WebCore::WebGLRenderingContext::uniform4iv):
2555         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
2556         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
2557         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
2558         (WebCore::WebGLRenderingContext::useProgram):
2559         (WebCore::WebGLRenderingContext::validateProgram):
2560         (WebCore::WebGLRenderingContext::vertexAttrib1f):
2561         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
2562         (WebCore::WebGLRenderingContext::vertexAttrib2f):
2563         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
2564         (WebCore::WebGLRenderingContext::vertexAttrib3f):
2565         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
2566         (WebCore::WebGLRenderingContext::vertexAttrib4f):
2567         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
2568         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2569         (WebCore::WebGLRenderingContext::viewport):
2570         (WebCore::WebGLRenderingContext::forceLostContext):
2571         (WebCore::WebGLRenderingContext::loseContextImpl):
2572         (WebCore::WebGLRenderingContext::forceRestoreContext):
2573         (WebCore::WebGLRenderingContext::validateTextureBinding):
2574         (WebCore::WebGLRenderingContext::validateLocationLength):
2575         (WebCore::WebGLRenderingContext::validateSize):
2576         (WebCore::WebGLRenderingContext::validateString):
2577         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
2578         (WebCore::WebGLRenderingContext::validateTexFuncLevel):
2579         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
2580         (WebCore::WebGLRenderingContext::validateTexFuncData):
2581         (WebCore::WebGLRenderingContext::validateDrawMode):
2582         (WebCore::WebGLRenderingContext::validateStencilSettings):
2583         (WebCore::WebGLRenderingContext::validateStencilFunc):
2584         (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
2585         (WebCore::WebGLRenderingContext::validateBlendEquation):
2586         (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
2587         (WebCore::WebGLRenderingContext::validateCapability):
2588         (WebCore::WebGLRenderingContext::validateUniformParameters):
2589         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
2590         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
2591         (WebCore::WebGLRenderingContext::validateHTMLImageElement):
2592         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2593         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2594         (WebCore::WebGLRenderingContext::maybeRestoreContext):
2595         (WebCore):
2596         (WebCore::WebGLRenderingContext::synthesizeGLError):
2597         * html/canvas/WebGLRenderingContext.h:
2598         (WebGLRenderingContext):
2599
2600 2012-01-31  Raymond Liu  <raymond.liu@intel.com>
2601
2602         Clean up m_processLock logic in AudioBasicProcessorNode and AudioGainNode
2603         https://bugs.webkit.org/show_bug.cgi?id=76772
2604
2605         Reviewed by Kenneth Russell.
2606
2607         No new tests required.
2608
2609         * webaudio/AudioBasicProcessorNode.cpp:
2610         (WebCore::AudioBasicProcessorNode::process):
2611         (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
2612         * webaudio/AudioBasicProcessorNode.h:
2613         * webaudio/AudioGainNode.cpp:
2614         (WebCore::AudioGainNode::process):
2615         (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
2616         * webaudio/AudioGainNode.h:
2617         (AudioGainNode):
2618
2619 2012-01-31  Adam Klein  <adamk@chromium.org>
2620
2621         ProcessingInstruction should not be a ContainerNode
2622         https://bugs.webkit.org/show_bug.cgi?id=75141
2623
2624         Reviewed by Darin Adler.
2625
2626         Per the DOM spec, ProcessingInstruction can't have any children.
2627         And the WebCore behavior already matches the spec by always returning
2628         false for childTypeAllowed(). This change simplifies
2629         ProcessingInstruction's implementation by making it subclass Node
2630         instead of ContainerNode.
2631
2632         Test: fast/dom/processing-instruction-appendChild-exceptions.xhtml
2633
2634         * dom/ContainerNode.cpp: Moved dispatchBeforeLoadEvent up to Node.
2635         * dom/ContainerNode.h:
2636         * dom/Node.cpp:
2637         (WebCore::Node::dispatchBeforeLoadEvent): Moved up from ContainerNode
2638         since it's used both by ProcessingInstruction and various Element
2639         subclasses.
2640         * dom/Node.h:
2641         * dom/ProcessingInstruction.cpp:
2642         (WebCore::ProcessingInstruction::ProcessingInstruction): Call Node constructor.
2643         (WebCore::ProcessingInstruction::insertedIntoDocument): Call Node impl.
2644         (WebCore::ProcessingInstruction::removedFromDocument): ditto.
2645         (WebCore::ProcessingInstruction::finishParsingChildren): ditto.
2646         * dom/ProcessingInstruction.h:
2647
2648 2012-01-31  Matthew Delaney  <mdelaney@apple.com>
2649
2650         Failing 2d.shadow.enable.off.2.html on Lion
2651         https://bugs.webkit.org/show_bug.cgi?id=77489
2652
2653         Reviewed by Dan Bernstein.
2654
2655         The canvas spec requires that shadows not be drawn under certain
2656         circumstances outlined here: http://www.whatwg.org/specs/web-apps/current-work/#shadows
2657         This patch adds in those checks which allows us to pass now (on Lion)
2658         the philip canvas test that was checking that constraint.
2659
2660         No new tests. Unskipping the test on Lion that this patch fixes.
2661
2662         * html/canvas/CanvasRenderingContext2D.cpp:
2663         (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
2664         (WebCore::CanvasRenderingContext2D::setShadow):
2665         (WebCore::CanvasRenderingContext2D::applyShadow):
2666         (WebCore::CanvasRenderingContext2D::shouldDrawShadows):
2667         * html/canvas/CanvasRenderingContext2D.h:
2668         (CanvasRenderingContext2D):
2669
2670 2012-01-31  Anders Carlsson  <andersca@apple.com>
2671
2672         TileCache::setNeedsDisplayInRect cleanup
2673         https://bugs.webkit.org/show_bug.cgi?id=77486
2674
2675         Reviewed by Andreas Kling.
2676
2677         * platform/graphics/ca/mac/TileCache.h:
2678         * platform/graphics/ca/mac/TileCache.mm:
2679         (WebCore::TileCache::setNeedsDisplayInRect):
2680         TileCache::tileLayerAtIndex can in the future return nil, so cope with that. Also, replace
2681         nested if statements with continue statements.
2682
2683         (WebCore::TileCache::getTileIndexRangeForRect):
2684         Rename this to better indicate that it returns a range of indices.
2685
2686 2012-01-31  Dana Jansens  <danakj@chromium.org>
2687
2688         Add contains() test to Region
2689         https://bugs.webkit.org/show_bug.cgi?id=72294
2690
2691         Reviewed by Anders Carlsson.
2692
2693         * platform/graphics/Region.cpp:
2694         (WebCore::Region::contains):
2695         (WebCore):
2696         * platform/graphics/Region.h:
2697         (Region):
2698         (Shape):
2699         (WebCore::operator==):
2700         (WebCore):
2701
2702 2012-01-31  Sami Kyostila  <skyostil@chromium.org>
2703
2704         [chromium] Compositor debug borders are not scaled correctly
2705         https://bugs.webkit.org/show_bug.cgi?id=77468
2706
2707         Use CCLayerImpl::contentBounds() instead of CCLayerImpl::bounds() to calculate debug
2708         border geometry so that the borders are properly scaled.
2709
2710         Reviewed by James Robinson.
2711
2712         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2713         (WebCore::CCLayerImpl::appendDebugBorderQuad):
2714
2715 2012-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
2716
2717         Unreviewed, rolling out r106376.
2718         http://trac.webkit.org/changeset/106376
2719         https://bugs.webkit.org/show_bug.cgi?id=77481
2720
2721         Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
2722         by kbr_google on #webkit).
2723
2724         * platform/graphics/gpu/DrawingBuffer.cpp:
2725         (WebCore):
2726         (WebCore::DrawingBuffer::reset):
2727
2728 2012-01-31  Mihnea Ovidenie  <mihnea@adobe.com>
2729
2730         [CSSRegions]Reduce the cases when the box style in region is computed
2731         https://bugs.webkit.org/show_bug.cgi?id=77446
2732
2733         Reviewed by David Hyatt.
2734
2735         Covered by existing region style tests.
2736
2737         * rendering/RenderRegion.cpp:
2738         (WebCore::RenderRegion::setRegionBoxesRegionStyle):
2739         (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
2740
2741 2012-01-31  Anders Carlsson  <andersca@apple.com>
2742
2743         Put tiles in a HashMap
2744         https://bugs.webkit.org/show_bug.cgi?id=77480
2745
2746         Reviewed by Antti Koivisto.
2747
2748         Put tiles in a hash map keyed off the tile index.
2749
2750         * platform/graphics/ca/mac/TileCache.h:
2751         Shuffle member variables around so the order makes more sense.
2752         Add the tile map.
2753
2754         * platform/graphics/ca/mac/TileCache.mm:
2755         (WebCore::TileCache::TileCache):
2756         Update member initializers.
2757
2758         (WebCore::TileCache::setNeedsDisplayInRect):
2759         Call tileLayerAtIndex instead of tileLayerAtPosition.
2760
2761         (WebCore::TileCache::setAcceleratesDrawing):
2762         (WebCore::TileCache::setTileDebugBorderWidth):
2763         (WebCore::TileCache::setTileDebugBorderColor):
2764         Iterate over the hash map instead of the sublayers.
2765
2766         (WebCore::TileCache::resizeTileGrid):
2767         Add the created layers to the map.
2768
2769         (WebCore::TileCache::tileLayerAtIndex):
2770         Rename from tileLayerAtPoint to better reflect that this member function
2771         returns a tile layer at the given index and not the given point.
2772
2773 2012-01-31  Antti Koivisto  <antti@apple.com>
2774
2775         Make CSSOM style() return CSSStyleDeclaration*
2776         https://bugs.webkit.org/show_bug.cgi?id=77475
2777
2778         Reviewed by Anders Carlsson
2779
2780         CSSStyleRule::style() and some other places return CSSMutableStyleDeclaration. 
2781         They should return the plain CSSOM type instead.
2782         
2783         CSSMutableStyleDeclaration* should be available through non-CSSOM function.
2784
2785         * css/CSSFontFaceRule.h:
2786         (WebCore::CSSFontFaceRule::style):
2787         (WebCore::CSSFontFaceRule::declaration):
2788         * css/CSSFontSelector.cpp:
2789         (WebCore::CSSFontSelector::addFontFaceRule):
2790         * css/CSSStyleRule.h:
2791         (WebCore::CSSStyleRule::style):
2792         (WebCore::CSSStyleRule::declaration):
2793         * css/CSSStyleSelector.cpp:
2794         (WebCore::CSSStyleSelector::styleForKeyframe):
2795         * css/WebKitCSSKeyframeRule.h:
2796         (WebCore):
2797         (WebCore::WebKitCSSKeyframeRule::style):
2798         (WebCore::WebKitCSSKeyframeRule::declaration):
2799         (WebKitCSSKeyframeRule):
2800         * editing/EditingStyle.cpp:
2801         (WebCore::styleFromMatchedRulesForElement):
2802         * inspector/InspectorStyleSheet.cpp:
2803         (WebCore::InspectorStyleSheet::revalidateStyle):
2804         * page/PageSerializer.cpp:
2805         (WebCore::PageSerializer::retrieveResourcesForCSSRule):
2806         * svg/SVGFontFaceElement.cpp:
2807         (WebCore::SVGFontFaceElement::parseMappedAttribute):
2808         (WebCore::SVGFontFaceElement::fontFamily):
2809         (WebCore::SVGFontFaceElement::rebuildFontFace):
2810
2811 2012-01-31  Scott Graham  <scottmg@chromium.org>
2812
2813         [Chromium] Remove references to gyp cygwin build target
2814         https://bugs.webkit.org/show_bug.cgi?id=77253
2815
2816         Reviewed by Julien Chaffraix.
2817
2818         Target dependency is no longer required, it's done earlier in the
2819         build process.
2820
2821         * WebCore.gyp/WebCore.gyp:
2822
2823 2012-01-31  Jon Lee  <jonlee@apple.com>
2824
2825         Hidden form elements do not save their state prior to form submission
2826         https://bugs.webkit.org/show_bug.cgi?id=77391
2827         <rdar://problem/10563108>
2828
2829         Reviewed by Brady Eidson.
2830
2831         Test: fast/forms/state-restore-hidden.html
2832
2833         * html/HiddenInputType.cpp: Teach hidden inputs to save and restore their state.
2834         (WebCore::HiddenInputType::saveFormControlState):
2835         (WebCore::HiddenInputType::restoreFormControlState):
2836         * html/HiddenInputType.h:
2837         (HiddenInputType):
2838
2839 2012-01-31  Joshua Bell  <jsbell@chromium.org>
2840
2841         IndexedDB: IDBCursor.update() should raise exception if key changed
2842         https://bugs.webkit.org/show_bug.cgi?id=76952
2843
2844         Move the test from the async task to the synchronous call, per spec. Also re-ordered the tests
2845         done during the synchronous call and the asynchronous task to follow the spec order.
2846
2847         Reviewed by Tony Chang.
2848
2849         Tests: storage/indexeddb/cursor-update.html
2850
2851         * storage/IDBObjectStoreBackendImpl.cpp:
2852         (WebCore::IDBObjectStoreBackendImpl::put): Added check during update() call, order checks per spec.
2853         (WebCore::IDBObjectStoreBackendImpl::putInternal): Move effective key calculation inline.
2854         * storage/IDBObjectStoreBackendImpl.h: Removed selectKeyForPut method.
2855
2856 2012-01-31  Anders Carlsson  <andersca@apple.com>
2857
2858         Inform the tile cache whenever the visible rect changes
2859         https://bugs.webkit.org/show_bug.cgi?id=77470
2860
2861         Reviewed by Andreas Kling.
2862
2863         * platform/graphics/GraphicsLayer.h:
2864         (WebCore::GraphicsLayer::visibleRectChanged):
2865         Add empty function.
2866
2867         * platform/graphics/ca/GraphicsLayerCA.cpp:
2868         (WebCore::GraphicsLayerCA::visibleRectChanged):
2869         Call through to the PlatformCALayer.
2870
2871         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2872         (PlatformCALayer::visibleRectChanged):
2873         Call through to the underlying WebTileCacheLayer.
2874
2875         * platform/graphics/ca/mac/TileCache.mm:
2876         (WebCore::TileCache::visibleRectChanged):
2877         Add empty stub.
2878
2879         (WebCore::TileCache::visibleRect):
2880         Add new (currently unused) helper function that returns the visible rect of the
2881         tile cache layer.
2882
2883         * platform/graphics/ca/mac/WebTileCacheLayer.h:
2884         * platform/graphics/ca/mac/WebTileCacheLayer.mm:
2885         (-[WebTileCacheLayer visibleRectChanged]):
2886         Call through to the TielCache object.
2887
2888         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
2889         (PlatformCALayer::visibleRectChanged):
2890         Add stub.
2891
2892         * rendering/RenderLayerCompositor.cpp:
2893         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2894         Call GraphicsLayer::visibleRectChanged.
2895
2896 2012-01-31  Antti Koivisto  <antti@apple.com>
2897
2898         Remove CSSStyleDeclaration isElementStyleDeclaration bit
2899         https://bugs.webkit.org/show_bug.cgi?id=77460
2900
2901         Reviewed by Andreas Kling.
2902
2903         Inline style declaration is now the only type of style declaration with element parent.
2904         We can remove the bit and the associated logic.
2905
2906         * bindings/js/JSDOMBinding.h:
2907         (WebCore::root):
2908         * css/CSSMutableStyleDeclaration.cpp:
2909         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2910         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2911         * css/CSSMutableStyleDeclaration.h:
2912         (WebCore::CSSMutableStyleDeclaration::createInline):
2913         (CSSMutableStyleDeclaration):
2914         * css/CSSStyleDeclaration.cpp:
2915         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
2916         (WebCore):
2917         (WebCore::CSSStyleDeclaration::parentStyleSheet):
2918         * css/CSSStyleDeclaration.h:
2919         (WebCore::CSSStyleDeclaration::parentRule):
2920         (WebCore::CSSStyleDeclaration::clearParentRule):
2921         (WebCore::CSSStyleDeclaration::parentElement):
2922         (WebCore::CSSStyleDeclaration::clearParentElement):
2923         (CSSStyleDeclaration):
2924
2925 2012-01-31  Dana Jansens  <danakj@chromium.org>
2926
2927         [chromium] Compute occlusion during paint loop
2928         https://bugs.webkit.org/show_bug.cgi?id=76858
2929
2930         Reviewed by James Robinson.
2931
2932         New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
2933
2934         * platform/graphics/FloatRect.cpp:
2935         (WebCore::enclosedIntRect):
2936         (WebCore):
2937         * platform/graphics/FloatRect.h:
2938         (WebCore):
2939         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2940         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
2941         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2942         (Canvas2DLayerChromium):
2943         * platform/graphics/chromium/ContentLayerChromium.cpp:
2944         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2945         * platform/graphics/chromium/ContentLayerChromium.h:
2946         (ContentLayerChromium):
2947         * platform/graphics/chromium/ImageLayerChromium.cpp:
2948         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2949         * platform/graphics/chromium/ImageLayerChromium.h:
2950         (ImageLayerChromium):
2951         * platform/graphics/chromium/LayerChromium.cpp:
2952         (WebCore::LayerChromium::contentToScreenSpaceTransform):
2953         (WebCore):
2954         (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
2955         (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
2956         * platform/graphics/chromium/LayerChromium.h:
2957         (WebCore):
2958         (WebCore::LayerChromium::paintContentsIfDirty):
2959         (LayerChromium):
2960         * platform/graphics/chromium/RenderSurfaceChromium.h:
2961         (RenderSurfaceChromium):
2962         * platform/graphics/chromium/TiledLayerChromium.cpp:
2963         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
2964         * platform/graphics/chromium/TiledLayerChromium.h:
2965         (WebCore):
2966         ():
2967         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2968         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
2969         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
2970         (RenderSurfaceRegion):
2971         (WebCore):
2972         (WebCore::pushTargetRenderSurfaceRegion):
2973         (WebCore::popAndPushTargetRenderSurfaceRegion):
2974         (WebCore::CCLayerTreeHost::paintLayerContents):
2975         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2976         (WebCore):
2977         ():
2978         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
2979
2980 2012-01-31  John Bates  <jbates@google.com>
2981
2982         [Chromium] Add chromium-style tracing support
2983         https://bugs.webkit.org/show_bug.cgi?id=76885
2984
2985         Reviewed by Darin Fisher.
2986
2987         This code enables WebKit trace events to pass through more data to the
2988         chromium platform tracing API and generally to use the full tracing
2989         API provided by chromium.
2990
2991         * bindings/v8/V8Proxy.cpp:
2992         (WebCore::V8Proxy::evaluate): Replace old tracing API.
2993         * page/Console.cpp:
2994         (WebCore::Console::time): Replace old tracing API.
2995         (WebCore::Console::timeEnd): Replace old tracing API.
2996         * platform/chromium/PlatformSupport.h:
2997         * platform/chromium/TraceEvent.h:
2998         (WebCore::TraceEvent::TraceID::TraceID):
2999         (WebCore::TraceEvent::TraceID::data):
3000         (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
3001         (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
3002         (WebCore::TraceEvent::setTraceValue):
3003         (WebCore::TraceEvent::addTraceEvent):
3004         (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
3005         (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
3006         (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
3007         (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
3008         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
3009         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
3010         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
3011         (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):
3012
3013 2012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
3014
3015         Crash in DeleteSelectionCommand::handleGeneralDelete when attempting to delete the start block
3016         https://bugs.webkit.org/show_bug.cgi?id=77077
3017
3018         Reviewed by Enrica Casucci.
3019
3020         The crash was caused by a missing null check after removing the position out of the start block.
3021         Fixed the bug by adding an early return.
3022
3023         Tests: editing/deleting/delete-start-block.html
3024                editing/selection/move-into-empty-root-inline-box.html
3025
3026         * editing/DeleteSelectionCommand.cpp:
3027         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
3028
3029 2012-01-31  Rafael Brandao  <rafael.lobo@openbossa.org>
3030
3031         HTMLIsIndexElement should not expose HTMLInputElement properties
3032         https://bugs.webkit.org/show_bug.cgi?id=76095
3033
3034         Reviewed by Eric Seidel.
3035
3036         This is a buildfix for r106373.
3037
3038         * DerivedSources.pri: Removed reference to HTMLIsIndexElement.idl
3039
3040 2012-01-31  Yongsheng Zhu  <yongsheng.zhu@intel.com>
3041
3042         WebGL must allocate smaller drawing buffer when the allocation fails. 
3043         https://bugs.webkit.org/show_bug.cgi?id=76654
3044
3045         Reviewed by Kenneth Russell.
3046
3047         Test: fast/canvas/webgl/drawingbuffer-test.html
3048
3049         * platform/graphics/gpu/DrawingBuffer.cpp:
3050         (WebCore):
3051         (WebCore::DrawingBuffer::create):
3052         (WebCore::DrawingBuffer::reset):
3053
3054 2012-01-25  Eric Seidel  <eric@webkit.org>
3055
3056         HTMLIsIndexElement should not expose HTMLInputElement properties
3057         https://bugs.webkit.org/show_bug.cgi?id=76095
3058
3059         Reviewed by Adam Barth.
3060
3061         document.createElement("isindex") should produce an HTMLUnknownElement
3062         per the HTML5 spec.  The parser automagically translates <isindex> into
3063         a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
3064
3065         This patch just removes our support for HTMLIsIndexElement.  The parser
3066         support was already in.  Having support for HTMLIsIndexElement was causing
3067         one of the IE TestCenter tests to fail.
3068
3069         Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
3070
3071         * DerivedSources.cpp:
3072         * DerivedSources.make:
3073         * DerivedSources.pri:
3074         * GNUmakefile.list.am:
3075         * Target.pri:
3076         * WebCore.exp.in:
3077         * WebCore.gypi:
3078         * WebCore.order:
3079         * WebCore.vcproj/WebCore.vcproj:
3080         * WebCore.xcodeproj/project.pbxproj:
3081         * bindings/gobject/GNUmakefile.am:
3082         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
3083         (WebKit::createHTMLElementWrapper):
3084         * bindings/objc/DOM.mm:
3085         (WebCore::createElementClassMap):
3086         * bindings/objc/DOMHTML.h:
3087         * bindings/objc/PublicDOMInterfaces.h:
3088         * html/HTMLElementsAllInOne.cpp:
3089         * html/HTMLIsIndexElement.cpp: Removed.
3090         * html/HTMLIsIndexElement.h: Removed.
3091         * html/HTMLIsIndexElement.idl: Removed.
3092         * html/HTMLTagNames.in:
3093         * page/DOMWindow.idl:
3094
3095 2012-01-31  Alexis Menard  <alexis.menard@openbossa.org>
3096
3097         Unreviewed include cleanup.
3098
3099         Tested locally on Qt and Chromium port.
3100
3101         * dom/Node.cpp:
3102
3103 2012-01-31  Arko Saha  <arko@motorola.com>
3104
3105         The spec renamed addTrack() to addTextTrack().
3106         https://bugs.webkit.org/show_bug.cgi?id=77381
3107
3108         Reviewed by Eric Carlson.
3109
3110         Renamed addTrack() to addTextTrack().
3111         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#media-elements
3112
3113         * html/HTMLMediaElement.cpp:
3114         (WebCore::HTMLMediaElement::addTextTrack):
3115         * html/HTMLMediaElement.h:
3116         (WebCore::HTMLMediaElement::addTextTrack):
3117         * html/HTMLMediaElement.idl:
3118
3119 2012-01-31  Peter Rybin  <peter.rybin@gmail.com>
3120
3121         Web Inspector: CodeGeneratorInspector.py: reimplement generated array types
3122         https://bugs.webkit.org/show_bug.cgi?id=77289
3123
3124         Reviewed by Vsevolod Vlasov.
3125
3126         Arrays are now rendered as a single template class. Its type-specific
3127         details are provided by an additional ArrayItemHelper class that is
3128         defined using C++ specialization technique.
3129
3130         * inspector/CodeGeneratorInspector.py:
3131         (RawTypes.String):
3132         (RawTypes.String.get_array_item_raw_c_type_text):
3133         (RawTypes.Int):
3134         (RawTypes.Int.get_array_item_raw_c_type_text):
3135         (RawTypes.Number):
3136         (RawTypes.Number.get_array_item_raw_c_type_text):
3137         (RawTypes.Bool):
3138         (RawTypes.Bool.get_array_item_raw_c_type_text):
3139         (RawTypes.Object):
3140         (RawTypes.Object.get_array_item_raw_c_type_text):
3141         (RawTypes.Any):
3142         (RawTypes.Any.get_array_item_raw_c_type_text):
3143         (RawTypes.Array):
3144         (RawTypes.Array.get_array_item_raw_c_type_text):
3145         (RawTypes):
3146         (TypeBindings.create_type_declaration_.EnumBinding):
3147         (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
3148         (TypeBindings.create_type_declaration_.PlainString):
3149         (TypeBindings.create_type_declaration_.PlainString.get_array_item_c_type_text):
3150         (TypeBindings.create_type_declaration_.TypedefString):
3151         (TypeBindings.create_type_declaration_.TypedefString.get_array_item_c_type_text):
3152         (StructItemTraits):
3153         (get_array_item_c_type_text):
3154         (PlainObjectBinding):
3155         (PlainObjectBinding.get_array_item_c_type_text):
3156         (AdHocTypeContext):
3157         (AdHocTypeContext.get_type_name_fix):
3158         (AdHocTypeContext.add_type):
3159         (ArrayBinding):
3160         (ArrayBinding.resolve_inner):
3161         (ArrayBinding.resolve_inner.ResolveData):
3162         (ArrayBinding.request_user_runtime_cast):
3163         (ArrayBinding.request_internal_runtime_cast):
3164         (ArrayBinding.get_code_generator):
3165         (ArrayBinding.get_code_generator.CodeGenerator):
3166         (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
3167         (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
3168         (ArrayBinding.get_code_generator.CodeGenerator.register_use):
3169         (ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
3170         (ArrayBinding.get_validator_call_text):
3171         (ArrayBinding.get_in_c_type_text):
3172         (ArrayBinding.get_array_item_c_type_text):
3173         (ArrayBinding.get_setter_value_expression_pattern):
3174         (ArrayBinding.reduce_to_raw_type):
3175         (RawTypeBinding.get_array_item_c_type_text):
3176         (ArrayItemHelper):
3177         (typename):
3178         (ArrayOf):
3179         (Traits):
3180
3181 2012-01-31  Antti Koivisto  <antti@apple.com>
3182
3183         Parent SVGFontFaceElements style declaration to the rule
3184         https://bugs.webkit.org/show_bug.cgi?id=77421
3185
3186         Reviewed by Adam Roben.
3187
3188         For some reason the declaration is parented to the element which adds a bunch of unnecessary special case code.
3189         The invalidation on mutation is done explicitly by SVGFontFaceElement so that is not affected. The declaration
3190         is not exposed so the change is not observable with a test.
3191
3192         * css/CSSFontFaceRule.cpp:
3193         (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
3194         * css/CSSMutableStyleDeclaration.h:
3195         (WebCore::CSSMutableStyleDeclaration::createInline):
3196         * svg/SVGFontFaceElement.cpp:
3197         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
3198         (WebCore::SVGFontFaceElement::parseMappedAttribute):
3199         (WebCore::SVGFontFaceElement::fontFamily):
3200         (WebCore::SVGFontFaceElement::rebuildFontFace):
3201         * svg/SVGFontFaceElement.h:
3202         
3203             Remove the unnecessary m_styleDeclaration field, access through m_fontFaceRule instead.
3204
3205 2012-01-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3206
3207         Tap highlighting: Support better outlines for multiline inlines
3208         https://bugs.webkit.org/show_bug.cgi?id=77428
3209
3210         Reviewed by Simon Hausmann.
3211
3212         Covered by manual tests.
3213
3214         Do not use the linesBoundingBox anymore but draw a custom path
3215         with rounded corners. Inlines are drawn as max 3 rects, first
3216         line rect, joined middle rect and the rect for the last line.
3217
3218         * page/GestureTapHighlighter.cpp:
3219         * platform/graphics/Path.h: Make addBeziersForRoundedRect public.
3220
3221 2012-01-31  Alexei Filippov  <alexeif@chromium.org>
3222
3223         Web Inspector: show sizes in bytes instead of KB, MB in heap profiler.
3224         https://bugs.webkit.org/show_bug.cgi?id=77199
3225
3226         Reviewed by Pavel Feldman.
3227
3228         * inspector/front-end/DetailedHeapshotGridNodes.js:
3229         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
3230         (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
3231         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
3232         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
3233         * inspector/front-end/UIUtils.js:
3234         (Number.withThousandsSeparator):
3235
3236 2012-01-26  Hans Wennborg  <hans@chromium.org>
3237
3238         Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
3239         https://bugs.webkit.org/show_bug.cgi?id=77083
3240
3241         Reviewed by Darin Fisher.
3242
3243         Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
3244         implementation.
3245
3246         No new tests, just refactoring.
3247
3248         * GNUmakefile.list.am:
3249         * Target.pri:
3250         * WebCore.gypi:
3251         * WebCore.vcproj/WebCore.vcproj:
3252         * WebCore.xcodeproj/project.pbxproj:
3253         * platform/mock/SpeechInputClientMock.cpp: Removed.
3254         * platform/mock/SpeechInputClientMock.h: Removed.
3255
3256 2012-01-31  Pavel Feldman  <pfeldman@google.com>
3257
3258         Web Inspector: boost protocol version to 1.0
3259         https://bugs.webkit.org/show_bug.cgi?id=77408
3260
3261         Reviewed by Yury Semikhatsky.
3262
3263         * inspector/Inspector-1.0.json: Copied from Source/WebCore/inspector/Inspector.json.
3264         * inspector/Inspector.json:
3265
3266 2012-01-31  Roland Steiner  <rolandsteiner@chromium.org>
3267
3268         <style scoped>: Improve shortcut code for cases where <style scoped> isn't used
3269         https://bugs.webkit.org/show_bug.cgi?id=77410
3270
3271         Move shortcut from setupScopingElementStack(), do it at the calling sites instead
3272         (where a larger chunk of work can be skipped).
3273
3274         Reviewed by Antti Koivisto.
3275
3276         No new tests. (refactoring)
3277
3278         * css/CSSStyleSelector.cpp:
3279         (WebCore::CSSStyleSelector::setupScopingElementStack): remove shortcut code
3280         (WebCore::CSSStyleSelector::pushParent): add shortcut code
3281         (WebCore::CSSStyleSelector::matchScopedAuthorRules): factor matching scoped rules out from matchAuthorRules
3282         (WebCore::CSSStyleSelector::matchAuthorRules): add shortcut code
3283         * css/CSSStyleSelector.h:
3284         (CSSStyleSelector): add matchScopedAuthorRules
3285
3286 2012-01-31  Pavel Feldman  <pfeldman@google.com>
3287
3288         Web Inspector: DOMDebugger.setEventListenerBreakpoint should accept regular DOM event names.
3289         https://bugs.webkit.org/show_bug.cgi?id=77409
3290
3291         Reviewed by Yury Semikhatsky.
3292
3293         * inspector/Inspector.json:
3294         * inspector/InspectorDOMDebuggerAgent.cpp:
3295         (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
3296         (WebCore):
3297         (WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
3298         (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
3299         (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
3300         (WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
3301         (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
3302         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
3303         * inspector/InspectorDOMDebuggerAgent.h:
3304         (InspectorDOMDebuggerAgent):
3305         * inspector/InspectorInstrumentation.cpp:
3306         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
3307         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
3308         (WebCore::InspectorInstrumentation::willHandleEventImpl):
3309         (WebCore::InspectorInstrumentation::willFireTimerImpl):
3310         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3311         * inspector/InspectorInstrumentation.h:
3312         (InspectorInstrumentation):
3313         * inspector/front-end/BreakpointsSidebarPane.js:
3314         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
3315         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
3316
3317 2012-01-31  Pablo Flouret  <pablof@motorola.com>
3318
3319         Fix compilation errors on build-webkit --debug --no-workers on mac.
3320         https://bugs.webkit.org/show_bug.cgi?id=75869
3321
3322         Reviewed by Adam Barth.
3323
3324         * WebCore.exp.in:
3325
3326 2012-01-30  Konrad Piascik  <kpiascik@rim.com>
3327
3328         Web Inspector: [BlackBerry] Add BlackBerry UA Strings to the Inspector's UA switcher
3329         https://bugs.webkit.org/show_bug.cgi?id=77343
3330
3331         Reviewed by Yury Semikhatsky.
3332
3333         * inspector/front-end/SettingsScreen.js:
3334         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
3335
3336 2012-01-30  Yury Semikhatsky  <yurys@chromium.org>
3337
3338         Web Inspector: should be possible to step through all event listeners when event listener breakpoint is hit
3339         https://bugs.webkit.org/show_bug.cgi?id=77331
3340
3341         Inspector instrumentation is called before and after each event handler invokation.
3342         In case inspector front-end is closed it is no-op, otherwise it may stop execution
3343         on an event listener breakpoint.
3344
3345         Reviewed by Pavel Feldman.
3346
3347         Test: inspector/debugger/step-through-event-listeners.html
3348
3349         * dom/EventTarget.cpp:
3350         (WebCore::EventTarget::fireEventListeners):
3351         * inspector/InspectorInstrumentation.cpp:
3352         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
3353         (WebCore::InspectorInstrumentation::willHandleEventImpl):
3354         (WebCore):
3355         (WebCore::InspectorInstrumentation::didHandleEventImpl):
3356         (WebCore::InspectorInstrumentation::didDispatchEventImpl):
3357         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
3358         (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
3359         * inspector/InspectorInstrumentation.h:
3360         (InspectorInstrumentation):
3361         (WebCore::InspectorInstrumentation::willHandleEvent):
3362         (WebCore):
3363         (WebCore::InspectorInstrumentation::didHandleEvent):
3364
3365 2011-01-30  Hayato Ito  <hayato@chromium.org>
3366
3367         Attach light children after removing a shadow root.
3368         https://bugs.webkit.org/show_bug.cgi?id=74267
3369
3370         Reviewed by Ryosuke Niwa.
3371
3372         Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
3373                fast/dom/shadow/dynamically-created-shadow-root.html:
3374
3375         * dom/Element.cpp:
3376         (WebCore::Element::removeShadowRoot):
3377
3378 2012-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3379
3380         Unreviewed, rolling out r106324.
3381         http://trac.webkit.org/changeset/106324
3382         https://bugs.webkit.org/show_bug.cgi?id=77406
3383
3384         Broke CCLayerTreeHostTestLayerOcclusion.runMultiThread and
3385         runSingleThread (Requested by yuzo1 on #webkit).
3386
3387         * platform/graphics/FloatRect.cpp:
3388         * platform/graphics/FloatRect.h:
3389         (WebCore):
3390         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3391         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
3392         * platform/graphics/chromium/Canvas2DLayerChromium.h:
3393         (WebCore):
3394         (Canvas2DLayerChromium):
3395         * platform/graphics/chromium/ContentLayerChromium.cpp:
3396         (WebCore::ContentLayerChromium::paintContentsIfDirty):
3397         * platform/graphics/chromium/ContentLayerChromium.h:
3398         (WebCore):
3399         (ContentLayerChromium):
3400         * platform/graphics/chromium/ImageLayerChromium.cpp:
3401         (WebCore::ImageLayerChromium::paintContentsIfDirty):
3402         * platform/graphics/chromium/ImageLayerChromium.h:
3403         (WebCore):
3404         (ImageLayerChromium):
3405         * platform/graphics/chromium/LayerChromium.cpp:
3406         * platform/graphics/chromium/LayerChromium.h:
3407         (WebCore):
3408         (WebCore::LayerChromium::paintContentsIfDirty):
3409         (LayerChromium):
3410         * platform/graphics/chromium/RenderSurfaceChromium.h:
3411         * platform/graphics/chromium/TiledLayerChromium.cpp:
3412         * platform/graphics/chromium/TiledLayerChromium.h:
3413         (WebCore):
3414         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3415         (WebCore::CCLayerTreeHost::paintContentsIfDirty):
3416         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
3417         (WebCore::CCLayerTreeHost::paintLayerContents):
3418         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3419         (WebCore):
3420         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
3421         (WebCore::enclosedIntRect):
3422         (WebCore):
3423
3424 2012-01-30  Raymond Liu  <raymond.liu@intel.com>
3425
3426         Fix ASSERT fail within AudioBus::processWithGainFrom()
3427         https://bugs.webkit.org/show_bug.cgi?id=76685
3428
3429         Reviewed by Daniel Bates.
3430
3431         Test: webaudio/audionode-connect-order.html
3432
3433         * webaudio/AudioBasicProcessorNode.cpp:
3434         (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
3435
3436 2012-01-30  Roland Steiner  <rolandsteiner@chromium.org>
3437
3438         <style scoped>: Implement scoped stylesheets and basic application
3439         https://bugs.webkit.org/show_bug.cgi?id=73190
3440
3441         Implementing support for <style scoped>:
3442         Add a vector stack to CSSStyleSelector that keeps track of encountered scoping elements. This is
3443         used for O(1) access to all relevant style sheets for a given element.
3444         Adapt matching of author style sheets to also consult appropriate scoped sheets.
3445         Finally, prevent style sharing from crossing into/out of scoped style boundaries.
3446
3447         Reviewed by Antti Koivisto.
3448
3449         Tests: fast/css/style-scoped/style-scoped-attach.html
3450                fast/css/style-scoped/style-scoped-basic.html
3451                fast/css/style-scoped/style-scoped-detach.html
3452                fast/css/style-scoped/style-scoped-remove-scoped.html
3453                fast/css/style-scoped/style-scoped-set-scoped.html
3454
3455         * css/CSSStyleSelector.cpp:
3456         (RuleSet):
3457         (WebCore::CSSStyleSelector::CSSStyleSelector): add code for scoped style sheets
3458         (WebCore::CSSStyleSelector::collectFeatures): ditto
3459         (WebCore):
3460         (WebCore::CSSStyleSelector::determineScopingElement): determine whether an author sheet is scoped (and to which scope), or global
3461         (WebCore::CSSStyleSelector::scopedRuleSetForElement): returns the RuleSet for the <style scoped> contained by the passed-in element (if any), or 0
3462         (WebCore::CSSStyleSelector::appendAuthorStylesheets): add code for scoped style sheets
3463         (WebCore::CSSStyleSelector::setupScopingElementStack): determine scoping element ancestors of the given element
3464         (WebCore::CSSStyleSelector::pushParent): simplify and refactor SelectorChecker::pushParent, as code in CSStyleSelector needs partial access
3465         (WebCore::CSSStyleSelector::popParent): ditto
3466         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules): helper function
3467         (WebCore::CSSStyleSelector::matchAuthorRules): use AuthorRuleSetIterator to iterate over all relevant RuleSets
3468         (WebCore::CSSStyleSelector::matchRules): adapt for scoped style rules
3469         (WebCore::CSSStyleSelector::matchAllRules): ditto
3470         (WebCore::CSSStyleSelector::locateCousinList): prevent style sharing across scope boundaries
3471         (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto
3472         (WebCore::CSSStyleSelector::locateSharedStyle): ditto
3473         (WebCore::CSSStyleSelector::pseudoStyleForElement): changed call to matchAuthorRules
3474         (WebCore::CSSStyleSelector::styleForPage): add comment
3475         (WebCore::CSSStyleSelector::checkRegionStyle): add global scope parameter
3476         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): changed call to matchAuthorRules
3477         (WebCore::RuleSet::addRulesFromSheet): adapt for scoped style rules
3478         * css/CSSStyleSelector.h:
3479         (CSSStyleSelector):
3480         (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame): struct holding an Element pointer and a RuleSet pointer, to be used in a Vector
3481         (WebCore::CSSStyleSelector::scopingElementStackIsConsistent): returns if the last seen parent matches the passed-in element
3482         * css/SelectorChecker.cpp:
3483         (WebCore::SelectorChecker::setupParentStack): set up the parent stack (refactoring)
3484         (WebCore::SelectorChecker::pushParent): simplify and refactor
3485         * css/SelectorChecker.h:
3486         (WebCore::SelectorChecker::popParent): ditto
3487         (WebCore::SelectorChecker::parentStackIsEmpty): ditto
3488         (WebCore::SelectorChecker::parentStackIsConsistent): make parameter const
3489
3490 2012-01-30  Dana Jansens  <danakj@chromium.org>
3491
3492         [chromium] Compute occlusion during paint loop
3493         https://bugs.webkit.org/show_bug.cgi?id=76858
3494
3495         Reviewed by James Robinson.
3496
3497         New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
3498
3499         * platform/graphics/FloatRect.cpp:
3500         (WebCore::enclosedIntRect):
3501      &nbs