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