331ab71190b5f0a613343a1870a9e24c343ae0c7
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
2
3         [Texmap][Qt] Avoid an image copy when uploading textures in WebKit1
4         https://bugs.webkit.org/show_bug.cgi?id=77748
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Use QPixmap::buffer() API to get access to the QPixmap's pixels without implicit copies.
9
10         Instrumentation shows that the deep image copies created from TextureMapperGL are
11         eliminated.
12
13         * platform/graphics/opengl/TextureMapperGL.cpp:
14         (WebCore::BitmapTextureGL::updateContents):
15
16 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
17
18         LayoutTest failures on r106797
19         https://bugs.webkit.org/show_bug.cgi?id=77868
20
21         Call suspendIfNeeded from subclass of IDBRequest, IDBVersionChangeRequest.
22
23         Reviewed by Simon Hausmann.
24
25         * storage/IDBVersionChangeRequest.cpp:
26         (WebCore::IDBVersionChangeRequest::create):
27
28 2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
29
30         [Qt] Implement ImageBuffer::copyImage(ImageBuffer::DontCopyBackingStore)
31         https://bugs.webkit.org/show_bug.cgi?id=77689
32
33         Reviewed by Kenneth Rohde Christiansen.
34
35         Use StillImageQt::createForRendering when using DontCopyBackingStore.
36         Enable DontCopyBackingStore in TextureMapperNode.
37         This removes deep copies resulting from the use of ImageBuffer.
38
39         Instrumentation shows that deep image copies resulted from ImageBuffer are eliminated.
40
41         * platform/graphics/qt/ImageBufferQt.cpp:
42         (WebCore::ImageBuffer::copyImage):
43         * platform/graphics/texmap/TextureMapperNode.cpp:
44         (WebCore::TextureMapperNode::renderContent):
45
46 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
47
48         WebGestureEvent can not encode delta and area.
49         https://bugs.webkit.org/show_bug.cgi?id=77728
50
51         Add area field to PlatformGestureEvent.
52
53         Reviewed by Kenneth Rohde Christiansen.
54
55         * platform/PlatformGestureEvent.h:
56         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
57         (WebCore::PlatformGestureEvent::area):
58
59 2012-02-06  Charles Wei  <charles.wei@torchmobile.com.cn>
60
61         [BlackBerry]Use extension for a mimetype as the suggested extension
62         if the url file doesn't have an extension.
63         https://bugs.webkit.org/show_bug.cgi?id=76779
64
65         Reviewed by Antonio Gomes.
66
67         No new tests. 
68
69         * platform/network/blackberry/NetworkJob.cpp:
70         (WebCore::NetworkJob::sendResponseIfNeeded):
71
72 2012-02-06  Kentaro Hara  <haraken@chromium.org>
73
74         Rename [HasIndexGetter], [HasNameGetter] and [HasCustomIndexSetter] IDLs
75         https://bugs.webkit.org/show_bug.cgi?id=77848
76
77         Reviewed by Adam Barth.
78
79         For naming consistency with [CustomGetter] and [CustomSetter],
80         this patch renames the following IDLs:
81
82         [HasIndexGetter] => [IndexedGetter]  (Remove "Has". This IDL is for "indexed" properties
83         in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-indexed-properties)
84         [HasCustomIndexSetter] => [CustomIndexedSetter]  (Ditto.)
85         [HasNameGetter] => [NamedGetter] (Remove "Has". This IDL is for "named" properties
86         in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties)
87
88         No tests. No change in behavior.
89
90         * bindings/scripts/CodeGeneratorJS.pm:
91         (GenerateGetOwnPropertySlotBody):
92         (GenerateGetOwnPropertyDescriptorBody):
93         (GenerateHeader):
94         (GenerateImplementation):
95         * bindings/scripts/CodeGeneratorV8.pm:
96         (GenerateHeaderNamedAndIndexedPropertyAccessors):
97         (GenerateImplementationIndexer):
98         (GenerateImplementationNamedPropertyGetter):
99
100         * bindings/scripts/test/TestEventTarget.idl: No change in run-bindings-tests results.
101         * bindings/scripts/test/TestTypedArray.idl: Ditto.
102
103         * Modules/gamepad/GamepadList.idl:
104         * css/CSSRuleList.idl:
105         * css/CSSStyleDeclaration.idl:
106         * css/CSSValueList.idl:
107         * css/MediaList.idl:
108         * css/StyleSheetList.idl:
109         * css/WebKitCSSFilterValue.idl:
110         * css/WebKitCSSKeyframesRule.idl:
111         * css/WebKitCSSTransformValue.idl:
112         * dom/ClientRectList.idl:
113         * dom/DOMStringList.idl:
114         * dom/DOMStringMap.idl:
115         * dom/DataTransferItemList.idl:
116         * dom/NamedNodeMap.idl:
117         * dom/NodeList.idl:
118         * dom/TouchList.idl:
119         * fileapi/EntryArray.idl:
120         * fileapi/EntryArraySync.idl:
121         * fileapi/FileList.idl:
122         * html/DOMSettableTokenList.idl:
123         * html/DOMTokenList.idl:
124         * html/HTMLAllCollection.idl:
125         * html/HTMLCollection.idl:
126         * html/HTMLFormElement.idl:
127         * html/HTMLOptionsCollection.idl:
128         * html/HTMLPropertiesCollection.idl:
129         * html/HTMLSelectElement.idl:
130         * html/TextTrackCueList.idl:
131         * html/canvas/CanvasPixelArray.idl:
132         * html/canvas/Float32Array.idl:
133         * html/canvas/Float64Array.idl:
134         * html/canvas/Int16Array.idl:
135         * html/canvas/Int32Array.idl:
136         * html/canvas/Int8Array.idl:
137         * html/canvas/Uint16Array.idl:
138         * html/canvas/Uint32Array.idl:
139         * html/canvas/Uint8Array.idl:
140         * html/canvas/Uint8ClampedArray.idl:
141         * html/track/TextTrackList.idl:
142         * mediastream/MediaStreamList.idl:
143         * mediastream/MediaStreamTrackList.idl:
144         * page/SpeechInputResultList.idl:
145         * page/WebKitAnimationList.idl:
146         * plugins/DOMMimeTypeArray.idl:
147         * plugins/DOMPlugin.idl:
148         * plugins/DOMPluginArray.idl:
149         * storage/Storage.idl:
150
151 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
152
153         Ensure timers and other active DOM objects do not fire in suspended documents.
154         https://bugs.webkit.org/show_bug.cgi?id=53733
155
156         ScriptExecutionContext now remembers it has suspended active DOM objects
157         and suspends all newly installed active DOM objects as well.
158
159         All create-calls active DOM objects now calls the post constructor method
160         suspendIfNeeded that updates the suspend state. It is post constructor
161         because the suspend/resume functions are virtual and thus can not be called
162         from constructors.
163
164         Reviewed by Mihai Parparita.
165
166         Test: fast/events/suspend-timers.html
167
168         * Modules/intents/IntentRequest.cpp:
169         (WebCore::IntentRequest::create):
170         * bindings/generic/ActiveDOMCallback.cpp:
171         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
172         * dom/ActiveDOMObject.cpp:
173         (WebCore::ActiveDOMObject::ActiveDOMObject):
174         (WebCore::ActiveDOMObject::~ActiveDOMObject):
175         (WebCore::ActiveDOMObject::suspendIfNeeded):
176         * dom/ActiveDOMObject.h:
177         (WebCore::ActiveDOMObject::suspendIfNeededCalled):
178         * dom/DocumentEventQueue.cpp:
179         (WebCore::DocumentEventQueue::DocumentEventQueue):
180         * dom/ScriptExecutionContext.cpp:
181         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
182         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
183         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
184         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
185         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
186         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
187         (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
188         * dom/ScriptExecutionContext.h:
189         (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
190         * fileapi/DOMFileSystem.cpp:
191         (WebCore::DOMFileSystem::create):
192         * fileapi/FileReader.cpp:
193         (WebCore::FileReader::create):
194         * fileapi/FileReader.h:
195         * fileapi/FileWriter.cpp:
196         (WebCore::FileWriter::create):
197         * fileapi/FileWriter.h:
198         * history/CachedFrame.cpp:
199         (WebCore::CachedFrame::CachedFrame):
200         * html/HTMLAudioElement.cpp:
201         (WebCore::HTMLAudioElement::create):
202         * html/HTMLMarqueeElement.cpp:
203         (WebCore::HTMLMarqueeElement::create):
204         * html/HTMLVideoElement.cpp:
205         (WebCore::HTMLVideoElement::create):
206         * mediastream/PeerConnection.cpp:
207         (WebCore::PeerConnection::create):
208         * notifications/Notification.cpp:
209         (WebCore::Notification::create):
210         * notifications/NotificationCenter.cpp:
211         (WebCore::NotificationCenter::create):
212         * notifications/NotificationCenter.h:
213         * page/DOMTimer.cpp:
214         (WebCore::DOMTimer::install):
215         (WebCore::DOMTimer::fired):
216         * page/EventSource.cpp:
217         (WebCore::EventSource::create):
218         * page/SuspendableTimer.cpp:
219         (WebCore::SuspendableTimer::SuspendableTimer):
220         * storage/IDBDatabase.cpp:
221         (WebCore::IDBDatabase::create):
222         * storage/IDBRequest.cpp:
223         (WebCore::IDBRequest::create):
224         * storage/IDBTransaction.cpp:
225         (WebCore::IDBTransaction::create):
226         * webaudio/AudioContext.cpp:
227         (WebCore::AudioContext::create):
228         * websockets/WebSocket.cpp:
229         (WebCore::WebSocket::create):
230         * websockets/WebSocket.h:
231         * workers/SharedWorker.cpp:
232         (WebCore::SharedWorker::create):
233         * workers/Worker.cpp:
234         (WebCore::Worker::create):
235         * xml/XMLHttpRequest.cpp:
236         (WebCore::XMLHttpRequest::create):
237
238 2012-02-06  Philippe Normand  <pnormand@igalia.com>
239
240         Adding FFTFrameGStreamer.cpp that I forgot to commit
241         in r106537. That new file was reviewed in https://bugs.webkit.org/show_bug.cgi?id=73545.
242
243         * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
244
245 2012-02-06  Hayato Ito  <hayato@chromium.org>
246
247         Add <shadow> element, which is guarded by SHADOW_DOM flag.
248         https://bugs.webkit.org/show_bug.cgi?id=76435
249
250         Reviewed by Dimitri Glazkov.
251
252         Test: fast/dom/shadow/shadow-element.html
253
254         * CMakeLists.txt:
255         * DerivedSources.cpp:
256         * DerivedSources.make:
257         * DerivedSources.pri:
258         * GNUmakefile.list.am:
259         * Target.pri:
260         * WebCore.gypi:
261         * WebCore.vcproj/WebCore.vcproj:
262         * WebCore.xcodeproj/project.pbxproj:
263         * html/HTMLElementsAllInOne.cpp:
264         * html/HTMLTagNames.in:
265         * html/shadow/HTMLShadowElement.cpp: Added.
266         (WebCore):
267         (WebCore::HTMLShadowElement::HTMLShadowElement):
268         (WebCore::HTMLShadowElement::create):
269         (WebCore::HTMLShadowElement::~HTMLShadowElement):
270         * html/shadow/HTMLShadowElement.h: Added.
271         (WebCore):
272         (HTMLShadowElement):
273         * html/shadow/HTMLShadowElement.idl: Added.
274
275 2012-02-06  Joe Thomas  <joethomas@motorola.com>
276
277         https://bugs.webkit.org/show_bug.cgi?id=76995.
278         WebKit fails IETC :indeterminate and input type=radio test.
279
280         All input types should respect indeterminate property(getter and setter). This is true with other browsers.
281         Indeterminate appearance for radio input type is supported by IOS platform. Webkit need not support indeterminate appearance
282         for radio input type on other platforms.
283
284         Reviewed by Kent Tamura.
285
286         Test: fast/forms/indeterminate-input-types.html
287
288         * html/CheckboxInputType.cpp:
289         (WebCore::CheckboxInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
290         (WebCore):
291         * html/CheckboxInputType.h:
292         (CheckboxInputType):
293         * html/HTMLInputElement.cpp:
294         (WebCore::HTMLInputElement::setIndeterminate): Removed the check isCheckable().
295         (WebCore::HTMLInputElement::isIndeterminate): Checks indeterminate appearance is supported.
296         (WebCore):
297         * html/HTMLInputElement.h:
298         (HTMLInputElement):
299         * html/InputType.cpp:
300         (WebCore::InputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
301         (WebCore):
302         * html/InputType.h:
303         (InputType):
304         * html/RadioInputType.cpp:
305         (WebCore::RadioInputType::willDispatchClick): Indeterminate related code is moved to IOS specific.
306         (WebCore::RadioInputType::didDispatchClick): Ditto.
307         (WebCore::RadioInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
308         (WebCore):
309         * html/RadioInputType.h:
310         (RadioInputType):
311
312 2012-02-06  Robin Cao  <robin.cao@torchmobile.com.cn>
313
314         [BlackBerry] Remove unused variable in PluginViewBlackBerry
315         https://bugs.webkit.org/show_bug.cgi?id=77847
316
317         Reviewed by Kentaro Hara.
318
319         No changes in behavior, so no new tests.
320
321         * plugins/blackberry/PluginViewBlackBerry.cpp:
322         (WebCore::PluginView::updatePluginWidget):
323
324 2012-02-06  Peter Rybin  <peter.rybin@gmail.com>
325
326         Web Inspector: Fix CallArgument type in Inspector.json
327         https://bugs.webkit.org/show_bug.cgi?id=77839
328
329         Reviewed by Yury Semikhatsky.
330
331         Protocol description is fixed: field type is changed. No changes to
332         program code are necessary.
333
334         * inspector/Inspector-0.1.json:
335         * inspector/Inspector-1.0.json:
336         * inspector/Inspector.json:
337
338 2012-02-05  Gavin Barraclough  <barraclough@apple.com>
339
340         Remove JSObject defineGetter/defineSetter lookupGetter/lookupSetter
341         https://bugs.webkit.org/show_bug.cgi?id=77451
342
343         Reviewed by Sam Weinig.
344
345         These can now all be implemented in terms of defineOwnProperty & getPropertyDescriptor.
346         Also remove initializeGetterSetterProperty, since this is equivalent to putDirectAccessor.
347
348         * bindings/js/JSDOMWindowCustom.cpp:
349         (WebCore):
350         (WebCore::JSDOMWindow::defineOwnProperty):
351         * bindings/js/JSDOMWindowShell.cpp:
352         (WebCore):
353         * bindings/js/JSDOMWindowShell.h:
354         (JSDOMWindowShell):
355         * bindings/js/JSLocationCustom.cpp:
356         (WebCore::JSLocation::defineOwnProperty):
357         (WebCore::JSLocationPrototype::defineOwnProperty):
358         * bindings/scripts/CodeGeneratorJS.pm:
359         (GenerateHeader):
360         * page/DOMWindow.idl:
361         * page/Location.idl:
362
363 2012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
364
365         Unreviewed. Fix make distrcheck.
366
367         * GNUmakefile.am: Fix typo in inspector json file.
368         * GNUmakefile.list.am: Remove non existent file.
369
370 2012-02-06  Yury Semikhatsky  <yurys@chromium.org>
371
372         Unreviewed. Qt minimal compilation fix after r106777.
373
374         * inspector/InspectorDatabaseAgent.h: added missing #if ENABLED guards.
375
376 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
377
378         Web Inspector: REGRESSION detached dom nodes aren't highlighted
379         https://bugs.webkit.org/show_bug.cgi?id=77829
380
381         This functionality was lost when I replaced (Native roots) with (Detached DOM trees) on v8 side.
382
383         Reviewed by Yury Semikhatsky.
384
385         * inspector/front-end/HeapSnapshot.js:
386         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTreesRoot):
387         (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
388
389 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
390
391         Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
392         https://bugs.webkit.org/show_bug.cgi?id=77850
393
394         Reviewed by Yury Semikhatsky.
395
396         * inspector/front-end/DetailedHeapshotGridNodes.js:
397         (WebInspector.HeapSnapshotObjectNode):
398         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
399         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
400         * inspector/front-end/HeapSnapshot.js:
401         (WebInspector.HeapSnapshotNode.prototype.get isArtificial):
402         (WebInspector.HeapSnapshot.prototype._init):
403
404 2012-02-05  Peter Rybin  <peter.rybin@gmail.com>
405
406         Web Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces in BackendDispatcher
407         https://bugs.webkit.org/show_bug.cgi?id=77444
408
409         Reviewed by Yury Semikhatsky.
410
411         All agent code is switched to formal interfaces. Actual agent class
412         names and includes are dropped from InspectorBackendDispatcher.h.
413
414         * inspector/CodeGeneratorInspector.py:
415         (DomainNameFixes.get_fixed_data):
416         (Generator.go):
417         * inspector/InspectorAgent.h:
418         * inspector/InspectorApplicationCacheAgent.h:
419         * inspector/InspectorCSSAgent.cpp:
420         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
421         * inspector/InspectorCSSAgent.h:
422         (InspectorCSSAgent):
423         * inspector/InspectorConsoleAgent.h:
424         * inspector/InspectorDOMAgent.cpp:
425         (WebCore::InspectorDOMAgent::highlightNode):
426         * inspector/InspectorDOMAgent.h:
427         (InspectorDOMAgent):
428         * inspector/InspectorDOMDebuggerAgent.h:
429         * inspector/InspectorDOMStorageAgent.h:
430         * inspector/InspectorDatabaseAgent.h:
431         * inspector/InspectorDebuggerAgent.cpp:
432         (WebCore::InspectorDebuggerAgent::setBreakpoint):
433         (WebCore::InspectorDebuggerAgent::continueToLocation):
434         * inspector/InspectorDebuggerAgent.h:
435         (InspectorDebuggerAgent):
436         * inspector/InspectorFileSystemAgent.h:
437         * inspector/InspectorIndexedDBAgent.h:
438         * inspector/InspectorMemoryAgent.h:
439         * inspector/InspectorPageAgent.h:
440         * inspector/InspectorProfilerAgent.cpp:
441         (WebCore::InspectorProfilerAgent::getProfile):
442         (WebCore::InspectorProfilerAgent::removeProfile):
443         * inspector/InspectorProfilerAgent.h:
444         (InspectorProfilerAgent):
445         * inspector/InspectorResourceAgent.cpp:
446         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
447         * inspector/InspectorResourceAgent.h:
448         (InspectorResourceAgent):
449         * inspector/InspectorRuntimeAgent.h:
450         * inspector/InspectorTimelineAgent.cpp:
451         (WebCore::InspectorTimelineAgent::start):
452         * inspector/InspectorTimelineAgent.h:
453         (InspectorTimelineAgent):
454         * inspector/InspectorWorkerAgent.cpp:
455         (WebCore::InspectorWorkerAgent::sendMessageToWorker):
456         * inspector/InspectorWorkerAgent.h:
457         (InspectorWorkerAgent):
458
459 2012-02-05  Kentaro Hara  <haraken@chromium.org>
460
461         Rename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
462         [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString]
463         https://bugs.webkit.org/show_bug.cgi?id=77611
464
465         Reviewed by Adam Barth.
466
467         While the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString],
468         the current WebKit treats them as (not an empty string but) a null string.
469         To avoid confusion, this patch renames [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
470         and [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString].
471         (Eventually we should fix WebKit so that it uses an empty string and then
472         rename them to [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].)
473
474         No tests. No change in behavior.
475
476         * bindings/scripts/CodeGeneratorJS.pm: Added FIXME.
477         (JSValueToNative):
478         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
479         (GetNativeTypeFromSignature):
480
481         * bindings/scripts/test/TestObj.idl:
482         * css/CSSCharsetRule.idl:
483         * css/CSSPageRule.idl:
484         * css/CSSRule.idl:
485         * css/CSSStyleDeclaration.idl:
486         * css/CSSStyleRule.idl:
487         * css/CSSValue.idl:
488         * css/MediaList.idl:
489         * css/WebKitCSSKeyframesRule.idl:
490         * dom/Attr.idl:
491         * dom/CharacterData.idl:
492         * dom/DOMImplementation.idl:
493         * dom/Document.idl:
494         * dom/Element.idl:
495         * dom/NamedNodeMap.idl:
496         * dom/Node.idl:
497         * dom/ProcessingInstruction.idl:
498         * dom/ShadowRoot.idl:
499         * fileapi/Blob.idl:
500         * fileapi/DirectoryEntry.idl:
501         * fileapi/DirectoryEntrySync.idl:
502         * fileapi/Entry.idl:
503         * fileapi/EntrySync.idl:
504         * fileapi/WebKitBlobBuilder.idl:
505         * html/HTMLAnchorElement.idl:
506         * html/HTMLButtonElement.idl:
507         * html/HTMLCanvasElement.idl:
508         * html/HTMLDocument.idl:
509         * html/HTMLElement.idl:
510         * html/HTMLFieldSetElement.idl:
511         * html/HTMLFormElement.idl:
512         * html/HTMLFrameElement.idl:
513         * html/HTMLInputElement.idl:
514         * html/HTMLKeygenElement.idl:
515         * html/HTMLMediaElement.idl:
516         * html/HTMLObjectElement.idl:
517         * html/HTMLOutputElement.idl:
518         * html/HTMLScriptElement.idl:
519         * html/HTMLSelectElement.idl:
520         * html/HTMLTextAreaElement.idl:
521         * html/HTMLTitleElement.idl:
522         * html/canvas/CanvasRenderingContext2D.idl:
523         * page/Console.idl:
524         * page/DOMWindow.idl:
525         * storage/StorageEvent.idl:
526         * svg/SVGAngle.idl:
527         * svg/SVGElement.idl:
528         * svg/SVGLength.idl:
529         * svg/SVGScriptElement.idl:
530
531 2012-02-05  Kentaro Hara  <haraken@chromium.org>
532
533         Rename [JSCCustom*] IDL to [JSCustom*] IDL
534         https://bugs.webkit.org/show_bug.cgi?id=77844
535
536         Reviewed by Adam Barth.
537
538         Most existing JSC-specific IDLs have "JS" prefix. We can rename [JSCCustom] to
539         [JSCustom], [JSCCustomGetter] to [JSCustomGetter], and [JSCCustomSetter] to
540         [JSCustomSetter].
541
542         No tests. No change in behavior.
543
544         * bindings/scripts/CodeGeneratorJS.pm:
545         (GenerateHeader):
546         (GenerateImplementation):
547         * css/CSSStyleDeclaration.idl:
548         * html/HTMLDocument.idl:
549         * html/canvas/DataView.idl:
550         * page/DOMWindow.idl:
551         * page/MemoryInfo.idl:
552         * webaudio/ConvolverNode.idl:
553         * webaudio/DOMWindowWebAudio.idl:
554         * webaudio/WaveShaperNode.idl:
555         * websockets/DOMWindowWebSocket.idl:
556         * workers/WorkerContext.idl:
557
558 2012-02-05  ChangSeok Oh  <shivamidow@gmail.com>
559
560         [EFL] Enable WebGL with glx backend
561         https://bugs.webkit.org/show_bug.cgi?id=77308
562
563         Reviewed by Martin Robinson.
564
565         Implemented WebGL feature for EFL port. The way is very similar to the one of GTK port.
566
567         No new tests required. We can verify this feature with the existing test cases.
568
569         * CMakeLists.txt: Revised common files required for WebGL.
570         * PlatformEfl.cmake: Added EFL specific files.
571         * html/HTMLCanvasElement.cpp:
572         (WebCore::HTMLCanvasElement::getContext):
573         * platform/graphics/ANGLEWebKitBridge.h:
574         * platform/graphics/GraphicsContext3D.h:
575         (WebCore):
576         (WebCore::GraphicsContext3D::platformTexture):
577         (GraphicsContext3D):
578         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
579         * platform/graphics/efl/DrawingBufferEfl.cpp: Copied from GTK port.
580         (WebCore):
581         (WebCore::DrawingBuffer::DrawingBuffer):
582         (WebCore::DrawingBuffer::~DrawingBuffer):
583         (WebCore::DrawingBuffer::platformColorBuffer):
584         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
585         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Almost same with GraphicsContext3DGtk.cpp.
586         (WebCore::GraphicsContext3D::create):
587         (WebCore::GraphicsContext3D::GraphicsContext3D):
588         (WebCore::GraphicsContext3D::~GraphicsContext3D):
589         (WebCore::GraphicsContext3D::makeContextCurrent):
590         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
591         (WebCore::GraphicsContext3D::isGLES2Compliant):
592         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
593         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
594         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
595         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
596         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
597         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
598         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
599
600 2012-02-05  Abhishek Arya  <inferno@chromium.org>
601
602         Crash in FormSubmission::create.
603         https://bugs.webkit.org/show_bug.cgi?id=77813
604
605         Reviewed by Kent Tamura.
606
607         Test: fast/forms/form-submission-create-crash.xhtml
608
609         * loader/FormSubmission.cpp:
610         (WebCore::FormSubmission::create):
611
612 2012-02-05  Andreas Kling  <awesomekling@apple.com>
613
614         Remove unused file MappedAttributeEntry.h.
615         <http://webkit.org/b/77841>
616
617         Reviewed by Anders Carlsson.
618
619         * GNUmakefile.list.am:
620         * WebCore.gypi:
621         * WebCore.vcproj/WebCore.vcproj:
622         * WebCore.xcodeproj/project.pbxproj:
623         * dom/MappedAttributeEntry.h: Removed.
624         * dom/StyledElement.h:
625
626 2012-02-05  Andreas Kling  <awesomekling@apple.com>
627
628         StyledElement: Rename parseMappedAttribute() to parseAttribute().
629         <http://webkit.org/b/77830>
630
631         Reviewed by Anders Carlsson.
632
633         Rename across the board and decorate subclasses with OVERRIDE.
634
635 2012-02-05  Gustavo Noronha Silva  <gns@gnome.org>
636
637         Unreviewed syntax fix.
638
639         * English.lproj/localizedStrings.js:
640
641 2012-02-05  Andreas Kling  <awesomekling@apple.com>
642
643         Swedish buildfix.
644
645         * dom/Document.cpp:
646         (WebCore::wheelEventHandlerCountChanged):
647
648 2012-02-05  Anders Carlsson  <andersca@apple.com>
649
650         The scrolling tree should be aware of any wheel event handlers on the page
651         https://bugs.webkit.org/show_bug.cgi?id=77840
652
653         Reviewed by Andreas Kling.
654
655         If there are wheel event handlers on the page, any wheel events must be redispatched
656         to the main thread so they can go through the DOM event handling.
657
658         * dom/Document.cpp:
659         (WebCore::wheelEventHandlerCountChanged):
660         Inform the scrolling coordinator that the wheel event count changed.
661
662         (WebCore::Document::didAddWheelEventHandler):
663         (WebCore::Document::didRemoveWheelEventHandler):
664         Call wheelEventHandlerCountChanged.
665
666         * page/scrolling/ScrollingCoordinator.cpp:
667         (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
668         Call recomputeWheelEventHandlerCount.
669
670         (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCount):
671         Update the scrolling tree state.
672
673         * page/scrolling/ScrollingTree.cpp:
674         (WebCore::ScrollingTree::ScrollingTree):
675         Initialize m_hasWheelEventHandlers to false.
676
677         (WebCore::ScrollingTree::tryToHandleWheelEvent):
678         If m_hasWheelEventHandlers is true, bail.
679
680         (WebCore::ScrollingTree::commitNewTreeState):
681         Update m_hasWheelEventHandlers.
682
683         * page/scrolling/ScrollingTreeState.cpp:
684         (WebCore::ScrollingTreeState::ScrollingTreeState):
685         (WebCore::ScrollingTreeState::setWheelEventHandlerCount):
686         Add getter and setter for the wheel event handler count.
687
688 2012-02-05  Andreas Kling  <awesomekling@apple.com>
689
690         Remove mapped vs non-mapped attribute distinction.
691         <http://webkit.org/b/77827>
692
693         Reviewed by Antti Koivisto.
694
695         Removed the isMappedAttribute flag from Attribute as it no longer serves
696         a practical purpose. Previously, StyledElement would generate mapped
697         attributes and plain Element would generate non-mapped ones.
698
699         The distinction is now made much more clearly by dividing the work between
700         Element's and StyledElement's attributeChanged() methods. The only thing
701         that StyledElement wants to do in addition to what Element does is
702         calling parseMappedAttribute() (which we'll rename in a later patch.)
703
704         * dom/Attribute.cpp:
705         (WebCore::Attribute::clone):
706         * dom/Attribute.h:
707         (WebCore::Attribute::create):
708         (WebCore::Attribute::Attribute):
709         (Attribute):
710         * dom/Document.cpp:
711         (WebCore::Document::createAttributeNS):
712         * dom/Element.cpp:
713         (WebCore::Element::attributeChanged):
714         * dom/Element.h:
715         (Element):
716         * dom/Node.cpp:
717         (WebCore::Node::dumpStatistics):
718         * dom/StyledElement.cpp:
719         (WebCore::StyledElement::attributeChanged):
720         (WebCore::StyledElement::parseMappedAttribute):
721         * dom/StyledElement.h:
722         (StyledElement):
723         * html/parser/HTMLConstructionSite.cpp:
724         (WebCore):
725         * html/parser/HTMLTreeBuilder.cpp:
726         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
727         * html/parser/TextDocumentParser.cpp:
728         (WebCore::TextDocumentParser::insertFakePreElement):
729         * svg/SVGStyledElement.cpp:
730         (WebCore::SVGStyledElement::getPresentationAttribute):
731         * xml/parser/MarkupTokenBase.h:
732         (WebCore::::initializeAttributes):
733
734 2012-02-05  Andreas Kling  <awesomekling@apple.com>
735
736         Kill CSSMappedAttributeDeclaration.
737         <http://webkit.org/b/77820>
738
739         Reviewed by Antti Koivisto.
740
741         Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
742         Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
743         to the add/remove-CSS-property helpers in StyledElement.
744
745         This removes one step of indirection for attribute styles and reduces
746         the size of elements that have presentational attributes by one pointer.
747
748         * CMakeLists.txt:
749         * GNUmakefile.list.am:
750         * Target.pri:
751         * WebCore.gypi:
752         * WebCore.order:
753         * WebCore.vcproj/WebCore.vcproj:
754         * WebCore.xcodeproj/project.pbxproj:
755         * dom/CSSMappedAttributeDeclaration.cpp: Removed.
756         * dom/CSSMappedAttributeDeclaration.h: Removed.
757         * dom/DOMAllInOne.cpp:
758
759             Remove CSSMappedAttributeDeclaration.{cpp,h}
760
761         * css/CSSParser.h:
762         * css/CSSParser.cpp:
763         (WebCore::parseSimpleLengthValue):
764
765             Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
766             directly instead. We lose the benefit of caching new CSSValues in the
767             document's CSSValuePool but this optimization can be added back later.
768
769         * css/CSSStyleSelector.cpp:
770         (WebCore::CSSStyleSelector::matchAllRules):
771         * dom/ElementAttributeData.h:
772         (ElementAttributeData):
773         * dom/NamedNodeMap.cpp:
774         (WebCore::NamedNodeMap::ensureAttributeStyle):
775         * dom/NamedNodeMap.h:
776         (WebCore::NamedNodeMap::attributeStyle):
777         (NamedNodeMap):
778         * dom/StyledElement.cpp:
779         (WebCore::StyledElement::removeCSSProperties):
780         (WebCore::StyledElement::addCSSProperty):
781         (WebCore::StyledElement::addCSSImageProperty):
782         (WebCore::StyledElement::addCSSLength):
783         (WebCore::StyledElement::addCSSColor):
784         * dom/StyledElement.h:
785         (WebCore):
786         (WebCore::StyledElement::attributeStyle):
787         (WebCore::StyledElement::ensureAttributeStyle):
788         * inspector/InspectorCSSAgent.cpp:
789         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
790
791 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
792
793         Web Inspector: beautify retaining tree items view.
794         https://bugs.webkit.org/show_bug.cgi?id=77810
795
796         Reviewed by Yury Semikhatsky.
797
798         * inspector/front-end/DetailedHeapshotGridNodes.js:
799         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
800         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
801         * inspector/front-end/heapProfiler.css:
802         (.cycled-ancessor-node):
803         * inspector/front-end/profilesPanel.css:
804
805 2012-02-04  Shawn Singh  <shawnsingh@chromium.org>
806
807         [chromium] Add support to force full damage in CCDamageTracker
808         https://bugs.webkit.org/show_bug.cgi?id=76805
809
810         Reviewed by James Robinson.
811
812         Unit test added to CCDamageTrackerTest.cpp.
813
814         This feature is needed for events that should cause the entire
815         surface to be damaged, even if layers themselves had only partial
816         damage or no damage at all. For example, tab-switching is one such
817         event.
818
819         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
820         (WebCore::CCDamageTracker::CCDamageTracker):
821         (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
822         * platform/graphics/chromium/cc/CCDamageTracker.h:
823         (WebCore::CCDamageTracker::forceFullDamageNextUpdate):
824         (CCDamageTracker):
825
826 2012-02-04  Anders Carlsson  <andersca@apple.com>
827
828         Remove dead code from ScrollingCoordinator
829         https://bugs.webkit.org/show_bug.cgi?id=77821
830
831         Reviewed by Sam Weinig.
832
833         * WebCore.exp.in:
834         * page/scrolling/ScrollingCoordinator.cpp:
835         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
836         * page/scrolling/ScrollingCoordinator.h:
837         (ScrollingCoordinator):
838         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
839         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
840         * rendering/RenderLayerCompositor.cpp:
841         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
842         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
843
844 2012-02-04  Anders Carlsson  <andersca@apple.com>
845
846         The scrolling tree should inform the main scrolling coordinator when the scroll position changes
847         https://bugs.webkit.org/show_bug.cgi?id=77818
848
849         Reviewed by Sam Weinig.
850
851         * page/scrolling/ScrollingCoordinator.cpp:
852         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
853         Set the main frame scroll position.
854
855         * page/scrolling/ScrollingTree.cpp:
856         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
857         Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.
858
859         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
860         (WebCore::ScrollingTreeNodeMac::scrollBy):
861         Call ScrollingTree::updateMainFrameScrollPosition.
862
863 2012-02-04  Andreas Kling  <awesomekling@apple.com>
864
865         Element: Remove unnecessary attributeChanged() argument.
866         <http://webkit.org/b/77814>
867
868         Reviewed by Ryosuke Niwa.
869
870         Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
871         longer needed after the removal of per-attribute style declarations.
872         Decorated subclass overrides with OVERRIDE since we're touching the lines.
873
874         Also removed an old inaccurate comment in NamedNodeMap::setAttributes() - calling
875         attributeChanged() is absolutely necessary to initialize element-specific state.
876
877         * dom/Element.cpp:
878         (WebCore::Element::attributeChanged):
879         * dom/Element.h:
880         (Element):
881         * dom/NamedNodeMap.cpp:
882         (WebCore::NamedNodeMap::setAttributes):
883         * dom/StyledElement.cpp:
884         (WebCore::StyledElement::attributeChanged):
885         * dom/StyledElement.h:
886         (StyledElement):
887         * html/HTMLInputElement.cpp:
888         (WebCore::HTMLInputElement::updateType):
889         * html/HTMLMediaElement.cpp:
890         (WebCore::HTMLMediaElement::attributeChanged):
891         * html/HTMLMediaElement.h:
892         (HTMLMediaElement):
893         * html/HTMLScriptElement.cpp:
894         (WebCore::HTMLScriptElement::attributeChanged):
895         * html/HTMLScriptElement.h:
896         (HTMLScriptElement):
897         * html/HTMLTrackElement.cpp:
898         (WebCore::HTMLTrackElement::attributeChanged):
899         * html/HTMLTrackElement.h:
900         (HTMLTrackElement):
901         * svg/SVGAnimationElement.cpp:
902         (WebCore::SVGAnimationElement::attributeChanged):
903         * svg/SVGAnimationElement.h:
904         * svg/SVGElement.cpp:
905         (WebCore::SVGElement::attributeChanged):
906         * svg/SVGElement.h:
907         (SVGElement):
908         * svg/animation/SVGSMILElement.cpp:
909         (WebCore::SVGSMILElement::attributeChanged):
910         * svg/animation/SVGSMILElement.h:
911         (SVGSMILElement):
912
913 2012-02-04  Ken Buchanan  <kenrb@chromium.org>
914
915         Crash when reparenting children of flexible boxes
916         https://bugs.webkit.org/show_bug.cgi?id=77458
917
918         Reviewed by Ojan Vafai.
919
920         This fixes some regressions I introduced in r106150. RenderBlock::
921         removeChild needs to be careful about not collapsing anonymous
922         blocks underneath flexible boxes, and also about node ordering
923         when there is an after block.
924
925         * rendering/RenderBlock.cpp:
926         (WebCore::RenderBlock::removeChild):
927         (WebCore::RenderBlock::collapseAnonymousBoxChild):
928
929 2012-02-04  Ryosuke Niwa  <rniwa@webkit.org>
930
931         Debug build fix after r106715.
932
933         * html/HTMLDetailsElement.cpp:
934         (WebCore::DetailsSummaryElement::create):
935
936 2012-02-04  Andreas Kling  <awesomekling@apple.com>
937
938         Unreviewed test fix after r106740.
939         <http://webkit.org/b/77204>
940
941         Disable matched declaration caching for elements with attribute style until we can
942         figure out how it's supposed to work.
943
944         * css/CSSStyleSelector.cpp:
945         (WebCore::CSSStyleSelector::matchAllRules):
946
947 2012-02-03  Andreas Kling  <awesomekling@apple.com>
948
949         Kill per-Attribute style declarations.
950         <http://webkit.org/b/77204>
951
952         Reviewed by Antti Koivisto.
953
954         TL;DR summary: Remove the per-Attribute style declarations and replace them by a single
955         style declaration on StyledElement that acts as a secondary inline style.
956
957         The previous design was conceived in the Age of the Old Web(tm) where the majority of
958         element styling was accomplished via attributes. Nowadays, CSS is a much better tool for
959         this and we should optimize around that instead.
960
961         StyledElements now have an attributeStyle() which contains all the styling from attributes.
962         parseMappedAttribute() is responsible for adding/removing properties to the attributeStyle
963         as the corresponding attributes come in/out of the element.
964
965         Each Attribute instance shrinks by one pointer, each element that has attributes grows by
966         one pointer. The styles from individual attributes are no longer shared, so content that
967         uses a lot of repeating styling attributes will see a slight memory regression from this.
968         Future improvements to this could enable sharing the attributeStyle between elements that
969         have the same exact attributes to mitigate some of the damage.
970
971         There should be no web-facing behavior change from this, but it does break two things:
972
973         - The Inspector feature for displaying per-attribute styles. To keep things manageable,
974           this patch simply files all the attribute styles together under an anonymous attribute
975           in the Inspector.
976
977         - The Obj-C DOM binding for Attr::style() has to be kept for compatibility reasons,
978           though it's already deprecated. It will now always return nil, since there's no way to
979           retrieve a live style declaration that's specific to a certain Attr.
980
981         * css/CSSStyleSelector.cpp:
982         (WebCore::CSSStyleSelector::matchAllRules):
983         (WebCore::CSSStyleSelector::canShareStyleWithElement):
984         * dom/Attr.h:
985         (WebCore):
986         (Attr):
987         (WebCore::Attr::style):
988         * dom/Attribute.cpp:
989         (WebCore::Attribute::clone):
990         * dom/Attribute.h:
991         (WebCore):
992         (WebCore::Attribute::create):
993         (WebCore::Attribute::createMapped):
994         (Attribute):
995         (WebCore::Attribute::Attribute):
996         * dom/CSSMappedAttributeDeclaration.cpp:
997         (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
998         (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
999         * dom/CSSMappedAttributeDeclaration.h:
1000         (CSSMappedAttributeDeclaration):
1001         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
1002         * dom/Element.h:
1003         (Element):
1004         * dom/ElementAttributeData.h:
1005         (ElementAttributeData):
1006         * dom/NamedNodeMap.cpp:
1007         (WebCore::NamedNodeMap::ensureAttributeStyle):
1008         (WebCore):
1009         * dom/NamedNodeMap.h:
1010         (WebCore::NamedNodeMap::attributeStyle):
1011         (NamedNodeMap):
1012         * dom/StyledElement.cpp:
1013         (WebCore):
1014         (WebCore::StyledElement::attributeChanged):
1015         (WebCore::StyledElement::removeCSSProperties):
1016         (WebCore::StyledElement::addCSSProperty):
1017         (WebCore::StyledElement::addCSSImageProperty):
1018         (WebCore::StyledElement::addCSSLength):
1019         (WebCore::StyledElement::addCSSColor):
1020         * dom/StyledElement.h:
1021         (StyledElement):
1022         (WebCore::StyledElement::removeCSSProperty):
1023         (WebCore::StyledElement::attributeStyle):
1024         (WebCore::StyledElement::ensureAttributeStyle):
1025         * html/HTMLBRElement.cpp:
1026         (WebCore::HTMLBRElement::parseMappedAttribute):
1027         * html/HTMLBRElement.h:
1028         (HTMLBRElement):
1029         * html/HTMLBodyElement.cpp:
1030         (WebCore::HTMLBodyElement::parseMappedAttribute):
1031         * html/HTMLBodyElement.h:
1032         (HTMLBodyElement):
1033         * html/HTMLDivElement.cpp:
1034         (WebCore::HTMLDivElement::parseMappedAttribute):
1035         * html/HTMLDivElement.h:
1036         (HTMLDivElement):
1037         * html/HTMLElement.cpp:
1038         (WebCore::HTMLElement::applyBorderAttribute):
1039         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
1040         (WebCore::HTMLElement::parseMappedAttribute):
1041         (WebCore::HTMLElement::removeHTMLAlignment):
1042         (WebCore):
1043         (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
1044         (WebCore::HTMLElement::setContentEditable):
1045         * html/HTMLElement.h:
1046         (HTMLElement):
1047         * html/HTMLEmbedElement.cpp:
1048         (WebCore::HTMLEmbedElement::parseMappedAttribute):
1049         * html/HTMLEmbedElement.h:
1050         (HTMLEmbedElement):
1051         * html/HTMLFontElement.cpp:
1052         (WebCore::HTMLFontElement::parseMappedAttribute):
1053         * html/HTMLFontElement.h:
1054         (HTMLFontElement):
1055         * html/HTMLFrameSetElement.cpp:
1056         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1057         * html/HTMLFrameSetElement.h:
1058         (HTMLFrameSetElement):
1059         * html/HTMLHRElement.cpp:
1060         (WebCore::HTMLHRElement::parseMappedAttribute):
1061         * html/HTMLHRElement.h:
1062         (HTMLHRElement):
1063         * html/HTMLIFrameElement.cpp:
1064         (WebCore::HTMLIFrameElement::parseMappedAttribute):
1065         * html/HTMLIFrameElement.h:
1066         (HTMLIFrameElement):
1067         * html/HTMLImageElement.cpp:
1068         (WebCore::HTMLImageElement::parseMappedAttribute):
1069         * html/HTMLImageElement.h:
1070         (HTMLImageElement):
1071         * html/HTMLInputElement.cpp:
1072         (WebCore::HTMLInputElement::parseMappedAttribute):
1073         * html/HTMLInputElement.h:
1074         (HTMLInputElement):
1075         * html/HTMLLIElement.cpp:
1076         (WebCore::HTMLLIElement::parseMappedAttribute):
1077         * html/HTMLLIElement.h:
1078         (HTMLLIElement):
1079         * html/HTMLMarqueeElement.cpp:
1080         (WebCore::HTMLMarqueeElement::parseMappedAttribute):
1081         * html/HTMLMarqueeElement.h:
1082         (HTMLMarqueeElement):
1083         * html/HTMLOListElement.cpp:
1084         (WebCore::HTMLOListElement::parseMappedAttribute):
1085         * html/HTMLOListElement.h:
1086         (HTMLOListElement):
1087         * html/HTMLOutputElement.cpp:
1088         * html/HTMLOutputElement.h:
1089         (HTMLOutputElement):
1090         * html/HTMLParagraphElement.cpp:
1091         (WebCore::HTMLParagraphElement::parseMappedAttribute):
1092         * html/HTMLParagraphElement.h:
1093         (HTMLParagraphElement):
1094         * html/HTMLPlugInElement.cpp:
1095         (WebCore::HTMLPlugInElement::parseMappedAttribute):
1096         * html/HTMLPlugInElement.h:
1097         (HTMLPlugInElement):
1098         * html/HTMLPreElement.cpp:
1099         (WebCore::HTMLPreElement::parseMappedAttribute):
1100         * html/HTMLPreElement.h:
1101         (HTMLPreElement):
1102         * html/HTMLTableCaptionElement.cpp:
1103         (WebCore::HTMLTableCaptionElement::parseMappedAttribute):
1104         * html/HTMLTableCaptionElement.h:
1105         (HTMLTableCaptionElement):
1106         * html/HTMLTableCellElement.cpp:
1107         (WebCore::HTMLTableCellElement::parseMappedAttribute):
1108         * html/HTMLTableCellElement.h:
1109         (HTMLTableCellElement):
1110         * html/HTMLTableColElement.cpp:
1111         (WebCore::HTMLTableColElement::parseMappedAttribute):
1112         * html/HTMLTableColElement.h:
1113         (HTMLTableColElement):
1114         * html/HTMLTableElement.cpp:
1115         (WebCore::HTMLTableElement::parseMappedAttribute):
1116         * html/HTMLTableElement.h:
1117         (HTMLTableElement):
1118         * html/HTMLTablePartElement.cpp:
1119         (WebCore):
1120         (WebCore::HTMLTablePartElement::parseMappedAttribute):
1121         * html/HTMLTablePartElement.h:
1122         * html/HTMLTextAreaElement.cpp:
1123         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1124         * html/HTMLUListElement.cpp:
1125         (WebCore::HTMLUListElement::parseMappedAttribute):
1126         * html/HTMLUListElement.h:
1127         (HTMLUListElement):
1128         * html/HTMLVideoElement.cpp:
1129         (WebCore::HTMLVideoElement::parseMappedAttribute):
1130         * inspector/InspectorCSSAgent.cpp:
1131         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
1132         * mathml/MathMLElement.cpp:
1133         (WebCore::MathMLElement::parseMappedAttribute):
1134         * mathml/MathMLElement.h:
1135         * svg/SVGImageElement.cpp:
1136         (WebCore::SVGImageElement::parseMappedAttribute):
1137         * svg/SVGStyledElement.cpp:
1138         (WebCore::SVGStyledElement::parseMappedAttribute):
1139         (WebCore::SVGStyledElement::getPresentationAttribute):
1140         * svg/SVGStyledElement.h:
1141         (SVGStyledElement):
1142         * svg/SVGTextContentElement.cpp:
1143         (WebCore::SVGTextContentElement::parseMappedAttribute):
1144
1145 2012-02-03  Ilya Tikhonovsky  <loislo@chromium.org>
1146
1147         Web Inspector: get rid of cycles in retaining tree
1148         https://bugs.webkit.org/show_bug.cgi?id=77801
1149
1150         Drive by fix: 'retained by' prefix was removed.
1151
1152         Reviewed by Yury Semikhatsky.
1153
1154         * inspector/front-end/DetailedHeapshotGridNodes.js:
1155         (WebInspector.HeapSnapshotObjectNode):
1156         (WebInspector.HeapSnapshotObjectNode.prototype._updateHasChildren):
1157         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
1158         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
1159         * inspector/front-end/profilesPanel.css:
1160         (.cycled-ancessor-node):
1161
1162 2012-02-04  Kentaro Hara  <haraken@chromium.org>
1163
1164         Add the "JS" prefix to JSC specific IDL attributes
1165         https://bugs.webkit.org/show_bug.cgi?id=77693
1166
1167         Reviewed by Darin Adler.
1168
1169         Some JSC specific IDLs do not have "JS" prefix, e.g. [CustomIsReachable].
1170         It might be OK since JSC is the main JavaScript engine in WebKit, but
1171         distinguishing IDLs widely used in WebKit and IDLs used in JSC only would help
1172         people understand the role of IDLs.
1173
1174         This patch renames the following JSC specific IDLs:
1175
1176             CustomFinalize => JSCustomFinalize
1177             CustomIsReachable => JSCustomIsReachable
1178             CustomMarkFunction => JSCustomMarkFunction
1179             CustomToJS => JSCustomToJS
1180             CustomNativeConverter => JSCustomToNativeObject (Note: For naming consistency with [JSCustomToJS])
1181             GenerateIsReachable => JSGenerateIsReachable
1182             GenerateToJS => JSGenerateToJS
1183             NoStaticTables => JSNoStaticTables
1184             WindowEventListener => JSWindowEventListener
1185             InlineGetOwnPropertySlot => JSInlineGetOwnPropertySlot
1186             DelegatingPrototypePutFunction => JSCustomPrototypePutDelegate
1187
1188         No tests. No changes in behavior.
1189
1190         * bindings/scripts/CodeGeneratorJS.pm:
1191         (GenerateGetOwnPropertySlotBody):
1192         (GenerateGetOwnPropertyDescriptorBody):
1193         (GenerateHeader):
1194         (GenerateImplementation):
1195         * bindings/scripts/CodeGeneratorV8.pm:
1196         (HasCustomToV8Implementation):
1197
1198         * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
1199
1200         * css/CSSRule.idl:
1201         * css/CSSRuleList.idl:
1202         * css/CSSStyleDeclaration.idl:
1203         * css/CSSValue.idl:
1204         * css/MediaList.idl:
1205         * css/MediaQueryListListener.idl:
1206         * css/StyleMedia.idl:
1207         * css/StyleSheet.idl:
1208         * css/StyleSheetList.idl:
1209         * dom/Attr.idl:
1210         * dom/DOMCoreException.idl:
1211         * dom/DOMImplementation.idl:
1212         * dom/DOMStringMap.idl:
1213         * dom/Document.idl:
1214         * dom/Element.idl:
1215         * dom/ErrorEvent.idl:
1216         * dom/Event.idl:
1217         * dom/EventException.idl:
1218         * dom/EventListener.idl:
1219         * dom/MessageChannel.idl:
1220         * dom/MessageEvent.idl:
1221         * dom/MessagePort.idl:
1222         * dom/NamedNodeMap.idl:
1223         * dom/Node.idl:
1224         * dom/NodeFilter.idl:
1225         * dom/NodeIterator.idl:
1226         * dom/NodeList.idl:
1227         * dom/TreeWalker.idl:
1228         * dom/WebKitNamedFlow.idl:
1229         * fileapi/Blob.idl:
1230         * fileapi/DOMFileSystem.idl:
1231         * fileapi/DOMFileSystemSync.idl:
1232         * fileapi/DirectoryEntry.idl:
1233         * fileapi/DirectoryEntrySync.idl:
1234         * fileapi/DirectoryReader.idl:
1235         * fileapi/DirectoryReaderSync.idl:
1236         * fileapi/Entry.idl:
1237         * fileapi/EntryArray.idl:
1238         * fileapi/EntryArraySync.idl:
1239         * fileapi/EntrySync.idl:
1240         * fileapi/File.idl:
1241         * fileapi/FileEntry.idl:
1242         * fileapi/FileEntrySync.idl:
1243         * fileapi/FileError.idl:
1244         * fileapi/FileException.idl:
1245         * fileapi/FileList.idl:
1246         * fileapi/FileReader.idl:
1247         * fileapi/FileReaderSync.idl:
1248         * fileapi/FileWriter.idl:
1249         * fileapi/Metadata.idl:
1250         * fileapi/OperationNotAllowedException.idl:
1251         * fileapi/WebKitBlobBuilder.idl:
1252         * html/DOMFormData.idl:
1253         * html/DOMSettableTokenList.idl:
1254         * html/DOMTokenList.idl:
1255         * html/DOMURL.idl:
1256         * html/HTMLAllCollection.idl:
1257         * html/HTMLBodyElement.idl:
1258         * html/HTMLCollection.idl:
1259         * html/HTMLFrameSetElement.idl:
1260         * html/ImageData.idl:
1261         * html/MediaController.idl:
1262         * html/TextTrack.idl:
1263         * html/TextTrackCue.idl:
1264         * html/VoidCallback.idl:
1265         * html/canvas/ArrayBuffer.idl:
1266         * html/canvas/ArrayBufferView.idl:
1267         * html/canvas/CanvasRenderingContext.idl:
1268         * html/canvas/DataView.idl:
1269         * html/canvas/Float32Array.idl:
1270         * html/canvas/Float64Array.idl:
1271         * html/canvas/Int16Array.idl:
1272         * html/canvas/Int32Array.idl:
1273         * html/canvas/Int8Array.idl:
1274         * html/canvas/OESStandardDerivatives.idl:
1275         * html/canvas/OESTextureFloat.idl:
1276         * html/canvas/OESVertexArrayObject.idl:
1277         * html/canvas/Uint16Array.idl:
1278         * html/canvas/Uint32Array.idl:
1279         * html/canvas/Uint8Array.idl:
1280         * html/canvas/Uint8ClampedArray.idl:
1281         * html/canvas/WebGLCompressedTextures.idl:
1282         * html/canvas/WebGLDebugRendererInfo.idl:
1283         * html/canvas/WebGLDebugShaders.idl:
1284         * html/canvas/WebGLLoseContext.idl:
1285         * html/canvas/WebGLRenderingContext.idl:
1286         * html/track/TextTrackList.idl:
1287         * loader/appcache/DOMApplicationCache.idl:
1288         * mediastream/LocalMediaStream.idl:
1289         * page/BarInfo.idl:
1290         * page/Console.idl:
1291         * page/DOMSelection.idl:
1292         * page/DOMWindow.idl:
1293         * page/EventSource.idl:
1294         * page/Geolocation.idl:
1295         * page/History.idl:
1296         * page/Location.idl:
1297         * page/Navigator.idl:
1298         * page/Screen.idl:
1299         * page/WorkerNavigator.idl:
1300         * plugins/DOMMimeTypeArray.idl:
1301         * plugins/DOMPluginArray.idl:
1302         * storage/Database.idl:
1303         * storage/DatabaseSync.idl:
1304         * storage/IDBAny.idl:
1305         * storage/IDBKey.idl:
1306         * storage/SQLError.idl:
1307         * storage/SQLException.idl:
1308         * storage/SQLResultSet.idl:
1309         * storage/SQLResultSetRowList.idl:
1310         * storage/SQLTransaction.idl:
1311         * storage/SQLTransactionSync.idl:
1312         * storage/Storage.idl:
1313         * svg/SVGElementInstance.idl:
1314         * svg/SVGPathSeg.idl:
1315         * webaudio/AudioBufferCallback.idl:
1316         * webaudio/AudioBufferSourceNode.idl:
1317         * webaudio/AudioContext.idl:
1318         * webaudio/AudioDestinationNode.idl:
1319         * webaudio/AudioGain.idl:
1320         * webaudio/AudioGainNode.idl:
1321         * webaudio/AudioPannerNode.idl:
1322         * webaudio/AudioProcessingEvent.idl:
1323         * webaudio/BiquadFilterNode.idl:
1324         * webaudio/ConvolverNode.idl:
1325         * webaudio/DelayNode.idl:
1326         * webaudio/DynamicsCompressorNode.idl:
1327         * webaudio/HighPass2FilterNode.idl:
1328         * webaudio/JavaScriptAudioNode.idl:
1329         * webaudio/LowPass2FilterNode.idl:
1330         * webaudio/MediaElementAudioSourceNode.idl:
1331         * webaudio/OfflineAudioCompletionEvent.idl:
1332         * webaudio/RealtimeAnalyserNode.idl:
1333         * webaudio/WaveShaperNode.idl:
1334         * websockets/CloseEvent.idl:
1335         * websockets/WebSocket.idl:
1336         * workers/AbstractWorker.idl:
1337         * workers/DedicatedWorkerContext.idl:
1338         * workers/SharedWorker.idl:
1339         * workers/SharedWorkerContext.idl:
1340         * workers/Worker.idl:
1341         * workers/WorkerContext.idl:
1342         * workers/WorkerLocation.idl:
1343         * xml/XMLHttpRequest.idl:
1344         * xml/XMLHttpRequestException.idl:
1345         * xml/XMLHttpRequestProgressEvent.idl:
1346         * xml/XMLHttpRequestUpload.idl:
1347         * xml/XPathResult.idl:
1348
1349 2012-02-04  Emil A Eklund  <eae@chromium.org>
1350
1351         Convert RenderTheme over to new layout abstraction
1352         https://bugs.webkit.org/show_bug.cgi?id=77783
1353
1354         Reviewed by Eric Seidel.
1355
1356         Change the RenderTheme classes to use the new layout abstraction as a
1357         part of the ongoing conversion work.
1358
1359         No new tests.
1360
1361         * rendering/RenderTheme.cpp:
1362         (WebCore::RenderTheme::paint):
1363         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
1364         (WebCore::RenderTheme::baselinePosition):
1365         (WebCore::RenderTheme::adjustRepaintRect):
1366         (WebCore::RenderTheme::meterSizeForBounds):
1367         * rendering/RenderTheme.h:
1368         (RenderTheme):
1369         (WebCore::RenderTheme::paintCapsLockIndicator):
1370         * rendering/RenderThemeChromiumMac.h:
1371         (RenderThemeChromiumMac):
1372         * rendering/RenderThemeChromiumMac.mm:
1373         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
1374         * rendering/RenderThemeChromiumSkia.cpp:
1375         (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
1376         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
1377         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
1378         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
1379         * rendering/RenderThemeChromiumSkia.h:
1380         * rendering/RenderThemeMac.h:
1381         (RenderThemeMac):
1382         * rendering/RenderThemeMac.mm:
1383         (WebCore::RenderThemeMac::adjustRepaintRect):
1384         (WebCore::RenderThemeMac::inflateRect):
1385         (WebCore::RenderThemeMac::setControlSize):
1386         (WebCore::RenderThemeMac::paintCapsLockIndicator):
1387         (WebCore::RenderThemeMac::paintMenuList):
1388         (WebCore::RenderThemeMac::meterSizeForBounds):
1389         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1390         (WebCore::RenderThemeMac::setPopupButtonCellState):
1391         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1392         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
1393         * rendering/RenderThemeSafari.cpp:
1394         (WebCore::RenderThemeSafari::baselinePosition):
1395         * rendering/RenderThemeSafari.h:
1396         (RenderThemeSafari):
1397         * rendering/RenderThemeWin.cpp:
1398         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
1399         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
1400         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
1401         (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
1402         * rendering/RenderThemeWin.h:
1403         (RenderThemeWin):
1404
1405 2012-02-04  Stephen White  <senorblanco@chromium.org>
1406
1407         [chromium] Fix multi-second hangs in compositor invalidating large layers
1408         https://bugs.webkit.org/show_bug.cgi?id=77774
1409
1410         Reviewed by James Robinson.
1411
1412         Correctness covered by existing tests.
1413
1414         * platform/graphics/chromium/TiledLayerChromium.cpp:
1415         (WebCore::TiledLayerChromium::pushPropertiesTo):
1416         Remove tiles from the tiler when they are invalid (ie., no longer have
1417         texture backing).
1418         (WebCore::TiledLayerChromium::invalidateRect):
1419         Instead of iterating over the tile indices (which may be very large),
1420         iterate over the tile hash map instead.
1421
1422 2012-02-04  Swapna P  <spottabathini@innominds.com>
1423
1424         Reviewed by Antonio Gomes.
1425         
1426         Bug: iframe with scrolling=no incorrectly autoscrollable
1427         https://bugs.webkit.org/show_bug.cgi?id=61558
1428         
1429         Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect
1430         
1431         Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html
1432         
1433         * rendering/RenderLayer.cpp:
1434         (WebCore::RenderLayer::scrollRectToVisible):
1435
1436 2012-02-03  Tim Horton  <timothy_horton@apple.com>
1437
1438         Canvas-into-canvas drawing should respect backing store scale ratio
1439         https://bugs.webkit.org/show_bug.cgi?id=77784
1440         <rdar://problem/10549729>
1441
1442         Reviewed by Dan Bernstein.
1443
1444         Respect the backing store scale ratio when drawing a canvas into another
1445         canvas via ctx.drawImage(canvas, x, y). Previous behavior caused canvas
1446         drawing to differ based on the size of the backing store, which is ideally
1447         an implementation detail to authors.
1448
1449         Also, rename the source canvas arguments to CanvasRenderingContext2D::drawImage
1450         to be more clear.
1451
1452         No new tests.
1453
1454         * html/canvas/CanvasRenderingContext2D.cpp:
1455         (WebCore::CanvasRenderingContext2D::drawImage):
1456
1457 2012-02-03  Beth Dakin  <bdakin@apple.com>
1458
1459         https://bugs.webkit.org/show_bug.cgi?id=77782
1460         WebPageProxy::didNewFirstVisuallyNonEmptyLayout should is called more than 
1461         once on some pages with frames
1462         -and corresponding-
1463         <rdar://problem/10798474>
1464
1465         Reviewed by Sam Weinig.
1466
1467         startCountingRelevantRepaintedObjects() should only be called for the main 
1468         frame. Otherwise, the counter will be re-set inappropriately, and 
1469         didNewFirstVisuallyNonEmptyLayout may even end up firing more than once. 
1470         * page/FrameView.cpp:
1471         (WebCore::FrameView::performPostLayoutTasks):
1472
1473 2012-02-03  Benjamin Poulain  <bpoulain@apple.com>
1474
1475         Reduce the memory allocations of WebCore's cssPropertyName()
1476         https://bugs.webkit.org/show_bug.cgi?id=74782
1477
1478         Reviewed by Geoffrey Garen.
1479
1480         Add a fast path to avoid the use of the StringBuilder.
1481
1482         The string builder is needed for two cases:
1483         -CSS prefix (the character after the prefix must be uppercase)
1484         -JavaScript CamelCase name for CSS properties
1485
1486         We can skip all memory allocations if the property is not in those
1487         two cases. We start by testing the string for uppercase characters,
1488         and just return the an identical string.
1489
1490         This patch create a "fast case" 2.7 times faster than previously.
1491         The "slow case" is 2-3% slower due to the additional check at the beginning.
1492
1493         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1494         (WebCore):
1495         (WebCore::containsASCIIUpperChar):
1496         (WebCore::cssPropertyName):
1497         (WebCore::isCSSPropertyName):
1498
1499 2012-02-03  Anders Carlsson  <andersca@apple.com>
1500
1501         WebKit2 should dispatch wheel events to the new ScrollingTree class
1502         https://bugs.webkit.org/show_bug.cgi?id=77795
1503
1504         Reviewed by Andreas Kling.
1505
1506         * WebCore.exp.in:
1507         Add new symbols needed by WebKit2.
1508
1509         * WebCore.xcodeproj/project.pbxproj:
1510         Make ScrollingTree.h private so it can be included by WebKit2.
1511
1512         * page/scrolling/ScrollingCoordinator.cpp:
1513         (WebCore::ScrollingCoordinator::scrollingTree):
1514         * page/scrolling/ScrollingCoordinator.h:
1515         Add a scrolling tree getter.
1516
1517 2012-02-03  Dmitry Lomov  <dslomov@google.com>
1518
1519         [Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
1520         https://bugs.webkit.org/show_bug.cgi?id=77686.
1521
1522         Reviewed by Adam Barth.
1523
1524         * bindings/v8/V8Helpers.cpp:
1525         (WebCore::toV8Context):
1526
1527 2012-02-03  Anders Carlsson  <andersca@apple.com>
1528
1529         The scrolling tree should be able to handle wheel events
1530         https://bugs.webkit.org/show_bug.cgi?id=77794
1531
1532         Reviewed by Andreas Kling.
1533
1534         * page/scrolling/ScrollingTree.cpp:
1535         (WebCore::ScrollingTree::tryToHandleWheelEvent):
1536         New function. Currently this always returns that it was able to handle the wheel event,
1537         but this will change in the future.
1538
1539         (WebCore::ScrollingTree::handleWheelEvent):
1540         Ask the root node to handle the wheel event.
1541
1542         * page/scrolling/ScrollingTreeNode.h:
1543         Add a handleWheelEvent pure virtual member function.
1544
1545         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1546         (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
1547         Call scrollBy for now. Eventually this should use a scroll elasticity controller to handle
1548         things like rubber-banding.
1549
1550         (WebCore::ScrollingTreeNodeMac::scrollPosition):
1551         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
1552         Add getters and setters for the scroll position.
1553
1554         (WebCore::ScrollingTreeNodeMac::scrollBy):
1555         Update the scroll position given the offset.
1556
1557 2012-02-03  Ryosuke Niwa  <rniwa@webkit.org>
1558
1559         Crash in Node::dispatchSubtreeModifiedEvent
1560         https://bugs.webkit.org/show_bug.cgi?id=77449
1561
1562         Reviewed by Alexey Proskuryakov.
1563
1564         The bug was caused by appendChild not retaining this pointer.
1565         This is normally okay because there's another owner within JSC/V8 binding code that
1566         holds onto the node but this isn't the case when nodes are created as a part
1567         of setting document.title. Fixed the crash by retaining the pointer as needed.
1568
1569         Test: fast/dom/remove-body-during-title-creation.html
1570
1571         * dom/ContainerNode.cpp:
1572         (WebCore::ContainerNode::appendChild):
1573
1574 2012-02-03  Anders Carlsson  <andersca@apple.com>
1575
1576         Apply changed properties from the updated scrolling tree state
1577         https://bugs.webkit.org/show_bug.cgi?id=77792
1578
1579         Reviewed by Andreas Kling.
1580
1581         * page/scrolling/ScrollingTreeNode.cpp:
1582         (WebCore::ScrollingTreeNode::update):
1583         Update the tree node properties from the scrolling tree state.
1584
1585         * page/scrolling/ScrollingTreeNode.h:
1586         (WebCore::ScrollingTreeNode::scrollingTree):
1587         (WebCore::ScrollingTreeNode::viewportRect):
1588         (WebCore::ScrollingTreeNode::contentsSize):
1589         Add getters.
1590
1591         * page/scrolling/ScrollingTreeState.h:
1592         (WebCore::ScrollingTreeState::changedProperties):
1593         New function for accessing the changed properties of the scrolling tree state.
1594
1595         * page/scrolling/mac/ScrollingTreeNodeMac.h:
1596         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1597         (WebCore::ScrollingTreeNodeMac::update):
1598         Update the scroll layer from the scrolling tree if necessary.
1599
1600 2012-02-03  Brady Eidson  <beidson@apple.com>
1601
1602         <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
1603         Need a WK2 API to filter which subframes go into WebArchives as they are created.
1604
1605         Reviewed by Darin Adler.
1606
1607         This adds a filter callback object that allows clients to get called back for each
1608         subframe that might be added to a WebArchive.
1609
1610         API only, No new layout tests.
1611
1612         * WebCore.exp.in:
1613         * loader/archive/cf/LegacyWebArchive.cpp:
1614         (WebCore::LegacyWebArchive::create):
1615         (WebCore::LegacyWebArchive::createFromSelection):
1616         * loader/archive/cf/LegacyWebArchive.h:
1617         (FrameFilter):
1618         (WebCore:: FrameFilter::~ FrameFilter):
1619         (LegacyWebArchive):
1620
1621 2012-02-03  Joshua Bell  <jsbell@chromium.org>
1622
1623         IndexedDB: Key generators not rolled back if insertion fails or is aborted
1624         https://bugs.webkit.org/show_bug.cgi?id=77060
1625
1626         Reviewed by Tony Chang.
1627
1628         Test: storage/indexeddb/key-generator.html
1629
1630         * storage/IDBObjectStoreBackendImpl.cpp:
1631         (WebCore::IDBObjectStoreBackendImpl::put): Add abort task to reset cache.
1632         (WebCore::IDBObjectStoreBackendImpl::revertAutoIncrementKeyCache):
1633         (WebCore):
1634         (WebCore::IDBObjectStoreBackendImpl::putInternal): Reset cache on error.
1635         * storage/IDBObjectStoreBackendImpl.h:
1636         (IDBObjectStoreBackendImpl):
1637
1638 2012-02-03  Tony Chang  <tony@chromium.org>
1639
1640         positive and negative flex values are not being cleared on style changes
1641         https://bugs.webkit.org/show_bug.cgi?id=77771
1642
1643         Reviewed by Ojan Vafai.
1644
1645         If the width or height was a flex() value, but is no longer a flex
1646         value, we weren't clearing the positive and negative flex values in
1647         RenderStyle.
1648
1649         Test: css3/flexbox/flex-no-flex.html
1650
1651         * css/CSSStyleApplyProperty.cpp:
1652         (WebCore::ApplyPropertyLength::applyValue):
1653
1654 2012-02-03  James Robinson  <jamesr@chromium.org>
1655
1656         [chromium] Defer makeContextCurrent in compositor until first frame
1657         https://bugs.webkit.org/show_bug.cgi?id=77269
1658
1659         Reviewed by Kenneth Russell.
1660
1661         There are situations where we need to instantiate a compositor, but can't call makeContextCurrent() until some
1662         initialization work completes on another thread that we cannot block for. This defers the first
1663         makeContextCurrent() call until we need to produce the first frame at which point we know the call can succeed,
1664         assuming that the scheduler does the right thing.
1665
1666         This is accomplished by splitting up proxy initialization into two pieces:
1667         *) initializeContext() which attempts to instantiate a GraphicsContext3D. This can fail if we can't make a
1668         context at all, in which case we abort completely and return NULL from CCLayerTreeHost::create().
1669
1670         *) initializeLayerRenderer() which uses the previously-created context to instantiate our compositor objects and
1671             grab our renderer capabilities. This can fail if the context is not usable for compositing, which we report
1672             to the client as a lost context event.
1673
1674         Internally this introduces a new state to the CCLayerTreeHostImpl where it has a context but does not yet have a
1675         LayerRendererChromium, which has fairly minimal impact. One other change is that we don't instantiate the
1676         TextureManagers until we have the renderer capabilities, but this isn't necessary until we want to start
1677         painting so it doesn't have any impact outside of some overly intrustive unit tests.
1678
1679         * platform/graphics/chromium/ContentLayerChromium.cpp:
1680         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1681         (WebCore::ContentLayerChromium::createTextureUpdater):
1682         * platform/graphics/chromium/ContentLayerChromium.h:
1683         (ContentLayerChromium):
1684         * platform/graphics/chromium/ImageLayerChromium.cpp:
1685         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1686         * platform/graphics/chromium/ImageLayerChromium.h:
1687         (ImageLayerChromium):
1688         * platform/graphics/chromium/TiledLayerChromium.cpp:
1689         * platform/graphics/chromium/TiledLayerChromium.h:
1690         (WebCore::TiledLayerChromium::setSampledTexelFormat):
1691         (TiledLayerChromium):
1692         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1693         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1694         (WebCore::CCLayerTreeHost::initialize):
1695         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1696         (WebCore):
1697         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
1698         (WebCore::CCLayerTreeHost::compositeAndReadback):
1699         (WebCore::CCLayerTreeHost::finishAllRendering):
1700         (WebCore::CCLayerTreeHost::setViewportSize):
1701         (WebCore::CCLayerTreeHost::setVisible):
1702         (WebCore::CCLayerTreeHost::updateLayers):
1703         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1704         (CCLayerTreeHost):
1705         ():
1706         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1707         (WebCore::CCLayerTreeHostImpl::isContextLost):
1708         * platform/graphics/chromium/cc/CCProxy.h:
1709         (CCProxy):
1710         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1711         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
1712         (WebCore::CCSingleThreadProxy::compositeAndReadback):
1713         (WebCore::CCSingleThreadProxy::initializeContext):
1714         (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
1715         (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
1716         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1717         (CCSingleThreadProxy):
1718         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1719         (WebCore::CCThreadProxy::CCThreadProxy):
1720         (WebCore::CCThreadProxy::compositeAndReadback):
1721         (WebCore::CCThreadProxy::initializeContext):
1722         (WebCore):
1723         (WebCore::CCThreadProxy::initializeLayerRenderer):
1724         (WebCore::CCThreadProxy::layerRendererCapabilities):
1725         (WebCore::CCThreadProxy::initializeImplOnImplThread):
1726         (WebCore::CCThreadProxy::initializeContextOnImplThread):
1727         (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
1728         * platform/graphics/chromium/cc/CCThreadProxy.h:
1729         (CCThreadProxy):
1730
1731 2012-02-03  James Robinson  <jamesr@chromium.org>
1732
1733         Unreviewed compile fix for chromium - add commas after entries in list in WebCore.gypi
1734
1735         * WebCore.gypi:
1736
1737 2012-02-03  Andreas Kling  <awesomekling@apple.com>
1738
1739         Unreviewed build fix attempt after r106695.
1740
1741         CSSMutableStyleDeclaration was renamed to StylePropertySet.
1742
1743         * bindings/scripts/CodeGeneratorCPP.pm:
1744         (AddIncludesForType):
1745         * bindings/scripts/CodeGeneratorV8.pm:
1746         (AddIncludesForType):
1747         * bindings/v8/V8DOMWindowShell.cpp:
1748         * bindings/v8/V8DOMWrapper.cpp:
1749         * bindings/v8/V8Proxy.cpp:
1750
1751 2012-02-03  Yong Li  <yoli@rim.com>
1752
1753         [BlackBerry] Let userIdleTime() return maximum number instead of 0 as
1754         most of other ports do.
1755         https://bugs.webkit.org/show_bug.cgi?id=77769
1756
1757         Reviewed by Rob Buis.
1758
1759         userIdleTime() should return a big number so it won't block page cache
1760         from releasing cached pages. See PageCache::releaseAutoreleasedPagesNowOrReschedule().
1761
1762         No new tests as no visible functional changes.
1763
1764         * platform/blackberry/SystemTimeBlackBerry.cpp:
1765         (WebCore::userIdleTime):
1766
1767 2012-02-03  Anders Carlsson  <andersca@apple.com>
1768
1769         Commit scrolling tree state changes to the scrolling tree
1770         https://bugs.webkit.org/show_bug.cgi?id=77780
1771
1772         Reviewed by Darin Adler.
1773
1774         * WebCore.xcodeproj/project.pbxproj:
1775         * page/scrolling/ScrollingCoordinator.cpp:
1776         (WebCore::ScrollingCoordinator::commitTreeState):
1777         Send the new scrolling tree state over to the ScrollingTree on the scrolling thread.
1778
1779         * page/scrolling/ScrollingTree.cpp:
1780         (WebCore::ScrollingTree::ScrollingTree):
1781         Create a root node.
1782
1783         (WebCore::ScrollingTree::commitNewTreeState):
1784         Update the root node.
1785
1786         * page/scrolling/ScrollingTreeNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
1787         * page/scrolling/ScrollingTreeNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
1788         Stub out an abstract ScrollingTreeNode class.
1789
1790         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1791         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
1792         Update the scroll layer on the tree state.
1793
1794         * page/scrolling/mac/ScrollingTreeNodeMac.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
1795         * page/scrolling/mac/ScrollingTreeNodeMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
1796         Stub out the concrete ScrollingTreeNodeMac subclass.
1797
1798 2012-02-03  Antti Koivisto  <antti@apple.com>
1799
1800         Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp 
1801         https://bugs.webkit.org/show_bug.cgi?id=77779
1802
1803         Reviewed by Darin Adler.
1804
1805         Match the new class name.
1806
1807         * CMakeLists.txt:
1808         * GNUmakefile.list.am:
1809         * Target.pri:
1810         * WebCore.gypi:
1811         * WebCore.vcproj/WebCore.vcproj:
1812         * WebCore.xcodeproj/project.pbxproj:
1813         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1814         * bindings/js/JSDOMBinding.h:
1815         * bindings/scripts/CodeGeneratorJS.pm:
1816         (NativeToJSValue):
1817         * bindings/scripts/CodeGeneratorObjC.pm:
1818         (AddIncludesForType):
1819         * css/CSSAllInOne.cpp:
1820         * css/CSSComputedStyleDeclaration.cpp:
1821         * css/CSSFontFaceRule.cpp:
1822         * css/CSSFontFaceRule.h:
1823         * css/CSSFontSelector.cpp:
1824         * css/CSSMutableStyleDeclaration.cpp: Removed.
1825         * css/CSSMutableStyleDeclaration.h: Removed.
1826         * css/CSSPageRule.cpp:
1827         * css/CSSParser.cpp:
1828         * css/CSSStyleRule.cpp:
1829         * css/CSSStyleRule.h:
1830         * css/StylePropertySet.cpp: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.cpp.
1831         * css/StylePropertySet.h: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.h.
1832         * css/WebKitCSSKeyframeRule.cpp:
1833         * css/WebKitCSSKeyframeRule.h:
1834         * css/WebKitCSSKeyframesRule.cpp:
1835         * css/WebKitCSSMatrix.cpp:
1836         * dom/CSSMappedAttributeDeclaration.h:
1837         * dom/ElementAttributeData.h:
1838         * dom/StyledElement.cpp:
1839         * dom/StyledElement.h:
1840         * editing/ApplyStyleCommand.cpp:
1841         * editing/DeleteButtonController.cpp:
1842         * editing/EditingStyle.cpp:
1843         * editing/Editor.cpp:
1844         * editing/EditorCommand.cpp:
1845         * editing/RemoveCSSPropertyCommand.cpp:
1846         * editing/ReplaceSelectionCommand.cpp:
1847         * editing/markup.cpp:
1848         * html/canvas/CanvasRenderingContext2D.cpp:
1849         * html/shadow/MeterShadowElement.cpp:
1850         * inspector/InspectorCSSAgent.cpp:
1851         * inspector/InspectorDOMAgent.cpp:
1852         * page/DragController.cpp:
1853         * page/Frame.cpp:
1854         * rendering/RenderLayer.cpp:
1855         * rendering/RenderTreeAsText.cpp:
1856         * svg/SVGFontFaceElement.h:
1857         (WebCore):
1858
1859 2012-02-03  Mihnea Ovidenie  <mihnea@adobe.com>
1860
1861         Crash in RenderFlowThread::setRegionBoxesRegionStyle
1862         https://bugs.webkit.org/show_bug.cgi?id=77474
1863
1864         Reviewed by David Hyatt.
1865
1866         Flexbox and deprecated flexible box should also compute their region range
1867         when they are part of a named flow. Until now, only RenderBlock elements
1868         were doing that. Flexbox and deprecated flexible box, while implementing
1869         their own layoutBlock method, were not doing that.
1870
1871         Tests: fast/regions/flexbox-in-region-crash.html
1872                fast/regions/select-in-region-crash.html
1873
1874         * rendering/RenderBlock.cpp:
1875         (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
1876         (WebCore):
1877         (WebCore::RenderBlock::computeRegionRangeForBlock):
1878         (WebCore::RenderBlock::layoutBlock):
1879         * rendering/RenderBlock.h:
1880         (RenderBlock):
1881         * rendering/RenderDeprecatedFlexibleBox.cpp:
1882         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1883         * rendering/RenderFlexibleBox.cpp:
1884         (WebCore::RenderFlexibleBox::layoutBlock):
1885         * rendering/RenderFlowThread.cpp:
1886         (WebCore::RenderFlowThread::removeRegionFromThread):
1887         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
1888         * rendering/RenderRegion.cpp:
1889         (WebCore::RenderRegion::RenderRegion):
1890         (WebCore::RenderRegion::paintReplaced):
1891         * rendering/RenderRegion.h:
1892         (RenderRegion):
1893
1894 2012-02-03  Anders Carlsson  <andersca@apple.com>
1895
1896         Update the tree state after layout and add a way to commit it
1897         https://bugs.webkit.org/show_bug.cgi?id=77767
1898
1899         Reviewed by Andreas Kling.
1900
1901         * page/FrameView.cpp:
1902         (WebCore::FrameView::performPostLayoutTasks):
1903         Call ScrollingCoordinator::frameViewLayoutUpdated if we have a scrolling coordinator.
1904
1905         * page/scrolling/ScrollingCoordinator.cpp:
1906         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
1907         Initialize m_scrollingTreeStateCommitterTimer.
1908
1909         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
1910         Update the viewport rect and contents size of the frame view.
1911
1912         (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
1913         Schedule a tree state commit unless we've already scheduled one or there are no changed properties.
1914
1915         (WebCore::ScrollingCoordinator::scrollingTreeStateCommitterTimerFired):
1916         Call commitTreeState().
1917
1918         (WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
1919         Commit the tree state unless there are no changed properties.
1920
1921         (WebCore::ScrollingCoordinator::commitTreeState):
1922         Commit the tree state. We currently don't do anything with the committed state yet.
1923
1924         * page/scrolling/ScrollingCoordinator.h:
1925         Add new member functions and the timer member variable.
1926
1927         * page/scrolling/ScrollingTreeState.cpp:
1928         (WebCore::ScrollingTreeState::commit):
1929         Copy the current tree state and restore the changed properties on the original.
1930
1931         * page/scrolling/ScrollingTreeState.h:
1932         (WebCore::ScrollingTreeState::hasChangedProperties):
1933         Return whether there are any changed properties in the tree state.
1934
1935 2012-02-03  Andreas Kling  <awesomekling@apple.com>
1936
1937         HTMLElement: Clean up tabindex attribute parsing.
1938         <http://webkit.org/b/77763>
1939
1940         Reviewed by Antti Koivisto.
1941
1942         Remove an unnecessary getAttribute() call when parsing tabindexAttr.
1943
1944         * html/HTMLElement.cpp:
1945         (WebCore::HTMLElement::parseMappedAttribute):
1946
1947 2012-02-03  Anders Carlsson  <andersca@apple.com>
1948
1949         ScrollingTreeState should keep track of the scroll layer
1950         https://bugs.webkit.org/show_bug.cgi?id=77762
1951
1952         Reviewed by Andreas Kling.
1953
1954         * WebCore.xcodeproj/project.pbxproj:
1955         * page/scrolling/ScrollingTreeState.h:
1956         (ScrollingTreeState):
1957         * page/scrolling/mac/ScrollingTreeStateMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTreeState.h.
1958         (WebCore):
1959         (WebCore::ScrollingTreeState::platformScrollLayer):
1960         (WebCore::ScrollingTreeState::setScrollLayer):
1961
1962 2012-02-03  Antti Koivisto  <antti@apple.com>
1963
1964         https://bugs.webkit.org/show_bug.cgi?id=77740
1965         Split CSSMutableStyleDeclaration into separate internal and CSSOM types 
1966
1967         Reviewed by Andreas Kling and Darin Adler.
1968
1969         Split the CSSMutableStyleDeclaration into an internal type (StylePropertySet) and a CSSOM implementation type (PropertySetCSSStyleDeclaration).
1970         
1971         To keep things somewhat manageable, this patch does NOT
1972
1973         - rename or add any files (so files names won't match types)
1974         - rename fields, methods or variables to match new type names (like CSSStyleRule::declaration() -> CSSStyleRule::propertySet())
1975         - try to realize any memory or performance gains (StylePropertySet loses the vptr but gains PropertySetCSSStyleDeclaration*)
1976
1977         * WebCore.exp.in:
1978         * css/CSSComputedStyleDeclaration.cpp:
1979         (WebCore::CSSComputedStyleDeclaration::copy):
1980         (WebCore::CSSComputedStyleDeclaration::makeMutable):
1981         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1982         * css/CSSComputedStyleDeclaration.h:
1983         (WebCore):
1984         (CSSComputedStyleDeclaration):
1985         * css/CSSFontFaceRule.h:
1986         (WebCore::CSSFontFaceRule::style):
1987         (WebCore::CSSFontFaceRule::declaration):
1988         (WebCore::CSSFontFaceRule::setDeclaration):
1989         (CSSFontFaceRule):
1990         * css/CSSFontSelector.cpp:
1991         (WebCore::CSSFontSelector::addFontFaceRule):
1992         * css/CSSMutableStyleDeclaration.cpp:
1993         (PropertySetCSSStyleDeclaration):
1994         (WebCore::PropertySetCSSStyleDeclaration::create):
1995         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
1996         (WebCore):
1997         (WebCore::StylePropertySet::StylePropertySet):
1998         (WebCore::StylePropertySet::~StylePropertySet):
1999         (WebCore::StylePropertySet::deref):
2000         (WebCore::StylePropertySet::contextStyleSheet):
2001         (WebCore::StylePropertySet::copyPropertiesFrom):
2002         (WebCore::StylePropertySet::getPropertyValue):
2003         (WebCore::StylePropertySet::borderSpacingValue):
2004         (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
2005         (WebCore::StylePropertySet::fontValue):
2006         (WebCore::StylePropertySet::get4Values):
2007         (WebCore::StylePropertySet::getLayeredShorthandValue):
2008         (WebCore::StylePropertySet::getShorthandValue):
2009         (WebCore::StylePropertySet::getCommonValue):
2010         (WebCore::StylePropertySet::getPropertyCSSValue):
2011         (WebCore::StylePropertySet::removeShorthandProperty):
2012         (WebCore::StylePropertySet::removeProperty):
2013         (WebCore::StylePropertySet::setNeedsStyleRecalc):
2014         (WebCore::StylePropertySet::propertyIsImportant):
2015         (WebCore::StylePropertySet::getPropertyShorthand):
2016         (WebCore::StylePropertySet::isPropertyImplicit):
2017         (WebCore::StylePropertySet::setProperty):
2018         (WebCore::StylePropertySet::parseDeclaration):
2019         (WebCore::StylePropertySet::addParsedProperties):
2020         (WebCore::StylePropertySet::addParsedProperty):
2021         (WebCore::StylePropertySet::asText):
2022         (WebCore::StylePropertySet::merge):
2023         (WebCore::StylePropertySet::addSubresourceStyleURLs):
2024         (WebCore::StylePropertySet::copyBlockProperties):
2025         (WebCore::StylePropertySet::removeBlockProperties):
2026         (WebCore::StylePropertySet::removePropertiesInSet):
2027         (WebCore::StylePropertySet::findPropertyWithId):
2028         (WebCore::StylePropertySet::propertyMatches):
2029         (WebCore::StylePropertySet::removeEquivalentProperties):
2030         (WebCore::StylePropertySet::copy):
2031         (WebCore::StylePropertySet::copyPropertiesInSet):
2032         (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
2033         (WebCore::PropertySetCSSStyleDeclaration::length):
2034         (WebCore::PropertySetCSSStyleDeclaration::item):
2035         (WebCore::PropertySetCSSStyleDeclaration::parentRule):
2036         (WebCore::PropertySetCSSStyleDeclaration::cssText):
2037         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
2038         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
2039         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
2040         (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
2041         (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
2042         (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
2043         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
2044         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
2045         (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
2046         (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
2047         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
2048         (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
2049         (WebCore::PropertySetCSSStyleDeclaration::copy):
2050         (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
2051         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
2052         * css/CSSMutableStyleDeclaration.h:
2053         (WebCore):
2054         (StylePropertySet):
2055         (WebCore::StylePropertySet::create):
2056         (WebCore::StylePropertySet::createInline):
2057         * css/CSSPageRule.h:
2058         (WebCore):
2059         * css/CSSParser.cpp:
2060         (WebCore::parseColorValue):
2061         (WebCore::parseSimpleLengthValue):
2062         (WebCore::CSSParser::parseValue):
2063         (WebCore::CSSParser::parseDeclaration):
2064         (WebCore::CSSParser::createStyleRule):
2065         (WebCore::CSSParser::createFontFaceRule):
2066         (WebCore::CSSParser::createPageRule):
2067         (WebCore::CSSParser::createKeyframeRule):
2068         * css/CSSParser.h:
2069         (WebCore):
2070         (CSSParser):
2071         * css/CSSStyleDeclaration.h:
2072         (WebCore):
2073         (CSSStyleDeclaration):
2074         * css/CSSStyleRule.h:
2075         (WebCore::CSSStyleRule::style):
2076         (WebCore::CSSStyleRule::setDeclaration):
2077         (WebCore::CSSStyleRule::declaration):
2078         (CSSStyleRule):
2079         * css/CSSStyleSelector.cpp:
2080         (WebCore::leftToRightDeclaration):
2081         (WebCore::rightToLeftDeclaration):
2082         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2083         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2084         (WebCore::CSSStyleSelector::matchAllRules):
2085         (WebCore::CSSStyleSelector::styleForKeyframe):
2086         (WebCore::isInsideRegionRule):
2087         (WebCore::CSSStyleSelector::applyDeclaration):
2088         (WebCore::CSSStyleSelector::applyDeclarations):
2089         (WebCore::CSSStyleSelector::matchPageRulesForList):
2090         * css/CSSStyleSelector.h:
2091         (CSSStyleSelector):
2092         (MatchedStyleDeclaration):
2093         * css/WebKitCSSKeyframeRule.cpp:
2094         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
2095         * css/WebKitCSSKeyframeRule.h:
2096         (WebCore::WebKitCSSKeyframeRule::style):
2097         (WebCore::WebKitCSSKeyframeRule::declaration):
2098         (WebKitCSSKeyframeRule):
2099         * css/WebKitCSSMatrix.cpp:
2100         (WebCore::WebKitCSSMatrix::setMatrixValue):
2101         * dom/Attr.h:
2102         (WebCore::Attr::style):
2103         * dom/Attribute.h:
2104         (WebCore::Attribute::decl):
2105         * dom/CSSMappedAttributeDeclaration.h:
2106         (WebCore::CSSMappedAttributeDeclaration::declaration):
2107         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
2108         (CSSMappedAttributeDeclaration):
2109         * dom/Document.cpp:
2110         (WebCore::Document::createCSSStyleDeclaration):
2111         * dom/ElementAttributeData.h:
2112         (ElementAttributeData):
2113         * dom/NamedNodeMap.cpp:
2114         (WebCore::NamedNodeMap::ensureInlineStyleDecl):
2115         * dom/NamedNodeMap.h:
2116         (WebCore::NamedNodeMap::inlineStyleDecl):
2117         (NamedNodeMap):
2118         * dom/StyledElement.cpp:
2119         (WebCore::StyledElement::updateStyleAttribute):
2120         (WebCore::StyledElement::copyNonAttributeProperties):
2121         (WebCore::StyledElement::addSubresourceAttributeURLs):
2122         * dom/StyledElement.h:
2123         (WebCore::StyledElement::additionalAttributeStyle):
2124         (WebCore::StyledElement::inlineStyleDecl):
2125         (WebCore::StyledElement::ensureInlineStyleDecl):
2126         * editing/ApplyStyleCommand.cpp:
2127         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2128         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
2129         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
2130         (WebCore::ApplyStyleCommand::removeCSSStyle):
2131         (WebCore::ApplyStyleCommand::addBlockStyle):
2132         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2133         * editing/DeleteButtonController.cpp:
2134         (WebCore::DeleteButtonController::createDeletionUI):
2135         * editing/EditingStyle.cpp:
2136         (WebCore::copyEditingProperties):
2137         (WebCore::editingStyleFromComputedStyle):
2138         (WebCore):
2139         (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
2140         (HTMLElementEquivalent):
2141         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
2142         (HTMLTextDecorationEquivalent):
2143         (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
2144         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
2145         (HTMLAttributeEquivalent):
2146         (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
2147         (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
2148         (WebCore::EditingStyle::EditingStyle):
2149         (WebCore::getRGBAFontColor):
2150         (WebCore::EditingStyle::setProperty):
2151         (WebCore::EditingStyle::setStyle):
2152         (WebCore::EditingStyle::overrideWithStyle):
2153         (WebCore::EditingStyle::extractAndRemoveTextDirection):
2154         (WebCore::EditingStyle::removeStyleAddedByNode):
2155         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
2156         (WebCore::EditingStyle::triStateOfStyle):
2157         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
2158         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
2159         (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
2160         (WebCore::EditingStyle::mergeStyle):
2161         (WebCore::styleFromMatchedRulesForElement):
2162         (WebCore::EditingStyle::mergeStyleFromRules):
2163         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
2164         (WebCore::removePropertiesInStyle):
2165         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
2166         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
2167         (WebCore::EditingStyle::forceInline):
2168         (WebCore::reconcileTextDecorationProperties):
2169         (WebCore::StyleChange::StyleChange):
2170         (WebCore::setTextDecorationProperty):
2171         (WebCore::StyleChange::extractTextStyles):
2172         (WebCore::diffTextDecorations):
2173         (WebCore::fontWeightIsBold):
2174         (WebCore::getTextAlignment):
2175         (WebCore::getPropertiesNotIn):
2176         (WebCore::getIdentifierValue):
2177         (WebCore::isTransparentColorValue):
2178         (WebCore::hasTransparentBackgroundColor):
2179         * editing/EditingStyle.h:
2180         (WebCore):
2181         (WebCore::EditingStyle::create):
2182         (EditingStyle):
2183         (WebCore::EditingStyle::style):
2184         (StyleChange):
2185         * editing/Editor.cpp:
2186         (WebCore::Editor::setBaseWritingDirection):
2187         (WebCore::Editor::applyEditingStyleToElement):
2188         * editing/EditorCommand.cpp:
2189         (WebCore::applyCommandToFrame):
2190         (WebCore::executeApplyStyle):
2191         (WebCore::executeToggleStyleInList):
2192         (WebCore::executeApplyParagraphStyle):
2193         (WebCore::executeMakeTextWritingDirectionLeftToRight):
2194         (WebCore::executeMakeTextWritingDirectionNatural):
2195         (WebCore::executeMakeTextWritingDirectionRightToLeft):
2196         * editing/FrameSelection.cpp:
2197         (WebCore::FrameSelection::copyTypingStyle):
2198         * editing/FrameSelection.h:
2199         (WebCore):
2200         * editing/RemoveCSSPropertyCommand.cpp:
2201         (WebCore::RemoveCSSPropertyCommand::doApply):
2202         (WebCore::RemoveCSSPropertyCommand::doUnapply):
2203         * editing/ReplaceSelectionCommand.cpp:
2204         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2205         * editing/ReplaceSelectionCommand.h:
2206         (WebCore):
2207         * editing/markup.cpp:
2208         (WebCore):
2209         (StyledMarkupAccumulator):
2210         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
2211         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
2212         (WebCore::propertyMissingOrEqualToNone):
2213         * html/HTMLTableCellElement.cpp:
2214         (WebCore::HTMLTableCellElement::additionalAttributeStyle):
2215         * html/HTMLTableCellElement.h:
2216         (HTMLTableCellElement):
2217         * html/HTMLTableColElement.cpp:
2218         (WebCore::HTMLTableColElement::additionalAttributeStyle):
2219         * html/HTMLTableColElement.h:
2220         (HTMLTableColElement):
2221         * html/HTMLTableElement.cpp:
2222         (WebCore::leakBorderStyle):
2223         (WebCore::HTMLTableElement::additionalAttributeStyle):
2224         (WebCore::HTMLTableElement::createSharedCellStyle):
2225         (WebCore::HTMLTableElement::additionalCellStyle):
2226         (WebCore::leakGroupBorderStyle):
2227         (WebCore::HTMLTableElement::additionalGroupStyle):
2228         * html/HTMLTableElement.h:
2229         (HTMLTableElement):
2230         * html/HTMLTableSectionElement.cpp:
2231         (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
2232         * html/HTMLTableSectionElement.h:
2233         (HTMLTableSectionElement):
2234         * html/ValidationMessage.cpp:
2235         (WebCore::adjustBubblePosition):
2236         * html/canvas/CanvasRenderingContext2D.cpp:
2237         (WebCore::CanvasRenderingContext2D::setFont):
2238         * html/shadow/MediaControlElements.cpp:
2239         (WebCore::MediaControlPanelElement::setPosition):
2240         (WebCore::MediaControlPanelElement::resetPosition):
2241         (WebCore::MediaControlPanelElement::makeOpaque):
2242         (WebCore::MediaControlPanelElement::makeTransparent):
2243         * html/shadow/SliderThumbElement.cpp:
2244         (WebCore::TrackLimiterElement::create):
2245         * inspector/InspectorCSSAgent.cpp:
2246         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
2247         * inspector/InspectorStyleSheet.cpp:
2248         (WebCore::InspectorStyle::setPropertyText):
2249         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2250         * page/DragController.cpp:
2251         (WebCore::DragController::concludeEditDrag):
2252         * page/PageSerializer.cpp:
2253         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
2254         * page/PageSerializer.h:
2255         (WebCore):
2256         (PageSerializer):
2257         * rendering/RenderLayer.cpp:
2258         (WebCore::RenderLayer::resize):
2259         * rendering/RenderTreeAsText.cpp:
2260         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
2261         * svg/SVGFontFaceElement.cpp:
2262         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2263
2264 2012-02-03  Jochen Eisinger  <jochen@chromium.org>
2265
2266         Remove unneccesary canExecuteScripts check from v8 bindings, and correctly indeicate when we're about to execute a script
2267         https://bugs.webkit.org/show_bug.cgi?id=76704
2268
2269         Reviewed by Adam Barth.
2270
2271         Test: http/tests/security/isolatedWorld/sandboxed-iframe.html
2272
2273         * bindings/v8/ScheduledAction.cpp:
2274         (WebCore::ScheduledAction::execute):
2275         * bindings/v8/V8EventListener.cpp:
2276         (WebCore::V8EventListener::callListenerFunction):
2277         * bindings/v8/V8LazyEventListener.cpp:
2278         (WebCore::V8LazyEventListener::callListenerFunction):
2279         * bindings/v8/V8Proxy.cpp:
2280         (WebCore::V8Proxy::handleOutOfMemory):
2281         (WebCore::toV8Context):
2282
2283 2012-02-03  Anders Carlsson  <andersca@apple.com>
2284
2285         Add ScrollingTreeState class
2286         https://bugs.webkit.org/show_bug.cgi?id=77756
2287
2288         Reviewed by Andreas Kling.
2289
2290         Add a new ScrollingTreeState whose intent is to be a data container for the current
2291         scrolling tree state. the ScrollingCoordinator class will update it and periodically
2292         send over the new state to the ScrollingTree object on the scrolling thread.
2293
2294         * WebCore.xcodeproj/project.pbxproj:
2295         * page/scrolling/ScrollingCoordinator.cpp:
2296         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
2297         * page/scrolling/ScrollingCoordinator.h:
2298         (WebCore):
2299         (ScrollingCoordinator):
2300         * page/scrolling/ScrollingTreeState.cpp: Added.
2301         (WebCore):
2302         (WebCore::ScrollingTreeState::create):
2303         (WebCore::ScrollingTreeState::ScrollingTreeState):
2304         (WebCore::ScrollingTreeState::~ScrollingTreeState):
2305         (WebCore::ScrollingTreeState::setViewportRect):
2306         (WebCore::ScrollingTreeState::setContentsSize):
2307         * page/scrolling/ScrollingTreeState.h: Added.
2308         (WebCore):
2309         (ScrollingTreeState):
2310         (WebCore::ScrollingTreeState::viewportRect):
2311         (WebCore::ScrollingTreeState::contentsSize):
2312
2313 2012-02-03  Beth Dakin  <bdakin@apple.com>
2314
2315         https://bugs.webkit.org/show_bug.cgi?id=77691
2316         Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 
2317         of device scale
2318
2319         Reviewed by Andy Estes.
2320
2321         Make screenAvailableRect() and screenRect() take a Widget again instead of a 
2322         FrameView since taking a FrameView is a layering violation.
2323         * WebCore.exp.in:
2324         * platform/PlatformScreen.h:
2325         (WebCore):
2326         * platform/blackberry/PlatformScreenBlackBerry.cpp:
2327         (WebCore::screenAvailableRect):
2328         (WebCore::screenRect):
2329         * platform/chromium/PlatformScreenChromium.cpp:
2330         (WebCore::screenRect):
2331         (WebCore::screenAvailableRect):
2332         * platform/chromium/PlatformSupport.h:
2333         (WebCore):
2334         (PlatformSupport):
2335         * platform/efl/PlatformScreenEfl.cpp:
2336         (WebCore::screenRect):
2337         (WebCore::screenAvailableRect):
2338         * platform/gtk/PlatformScreenGtk.cpp:
2339         (WebCore::screenRect):
2340         (WebCore::screenAvailableRect):
2341         * platform/qt/PlatformScreenQt.cpp:
2342         (WebCore::screenRect):
2343         (WebCore::screenAvailableRect):
2344         * platform/win/PlatformScreenWin.cpp:
2345         (WebCore::screenRect):
2346         (WebCore::screenAvailableRect):
2347         * platform/wx/ScreenWx.cpp:
2348         (WebCore::screenRect):
2349         (WebCore::screenAvailableRect):
2350
2351         It's wrong for the deviceScaleFactor to be taken into consideration here at 
2352         all.
2353         * platform/mac/PlatformScreenMac.mm:
2354         (WebCore::screenRect):
2355         (WebCore::screenAvailableRect):
2356         (WebCore::toUserSpace):
2357         (WebCore::toDeviceSpace):
2358
2359 2012-02-03  Dan Bernstein  <mitz@apple.com>
2360
2361         <rdar://problem/10352073> Floating image leaves hole in previous column when wrapped to next column
2362         https://bugs.webkit.org/show_bug.cgi?id=77694
2363
2364         Reviewed by Darin Adler.
2365
2366         Tests: fast/dynamic/float-moved-downwards-for-pagination-expected.html
2367                fast/dynamic/float-moved-downwards-for-pagination.html
2368
2369         * rendering/RenderBlock.cpp:
2370         (WebCore::RenderBlock::clearFloats): When determining which lines to dirty,
2371         also check for changes to the top edge of the float, which can happen when
2372         float gets pushed down by a pagination strut.
2373
2374 2012-02-03  Alexis Menard  <alexis.menard@openbossa.org>
2375
2376         REGRESSION (r105401-105403): Blue flash on css border transition
2377         https://bugs.webkit.org/show_bug.cgi?id=77491
2378
2379         Reviewed by Simon Fraser.
2380
2381         The new blend function added with r105403 takes unsigned as parameters therefore
2382         we have to be careful to not overflow in case the to is less than from (animating
2383         from 400 to 0 for example).
2384
2385         Test: animations/animation-border-overflow.html
2386
2387         * platform/animation/AnimationUtilities.h:
2388         (WebCore::blend):
2389
2390 2012-02-03  Justin Novosad  <junov@chromium.org>
2391
2392         [Chromium] ImageBufferSkia: remove unnecessary overload of flush in
2393         AcceleratedDeviceContext
2394         https://bugs.webkit.org/show_bug.cgi?id=77741
2395
2396         Reviewed by Stephen White.
2397
2398         Removing dead code.
2399
2400         * platform/graphics/skia/ImageBufferSkia.cpp:
2401         (AcceleratedDeviceContext):
2402
2403 2012-02-03  Balazs Kelemen  <kbalazs@webkit.org>
2404
2405         Speculative unreviewed build fix for Qt-Windows
2406         after http://trac.webkit.org/changeset/106659.
2407
2408         * platform/graphics/texmap/TextureMapper.h:
2409         (WebCore::TextureMapper::platformCreateAccelerated):
2410
2411 2012-02-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2412
2413         Unreviewed, rolling out r106654.
2414         http://trac.webkit.org/changeset/106654
2415         https://bugs.webkit.org/show_bug.cgi?id=77742
2416
2417         triggers asserts on mac, win, gtk, qt debug bots (Requested by
2418         philn-tp on #webkit).
2419
2420         * Modules/intents/IntentRequest.cpp:
2421         (WebCore::IntentRequest::create):
2422         * bindings/generic/ActiveDOMCallback.cpp:
2423         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2424         * dom/ActiveDOMObject.cpp:
2425         (WebCore::ActiveDOMObject::ActiveDOMObject):
2426         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2427         * dom/ActiveDOMObject.h:
2428         (ActiveDOMObject):
2429         * dom/DocumentEventQueue.cpp:
2430         (WebCore::DocumentEventQueue::DocumentEventQueue):
2431         * dom/ScriptExecutionContext.cpp:
2432         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2433         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2434         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2435         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2436         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2437         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2438         * dom/ScriptExecutionContext.h:
2439         (ScriptExecutionContext):
2440         * fileapi/DOMFileSystem.cpp:
2441         (WebCore::DOMFileSystem::create):
2442         * fileapi/FileReader.cpp:
2443         (WebCore):
2444         * fileapi/FileReader.h:
2445         (WebCore::FileReader::create):
2446         * fileapi/FileWriter.cpp:
2447         (WebCore):
2448         * fileapi/FileWriter.h:
2449         (WebCore::FileWriter::create):
2450         * history/CachedFrame.cpp:
2451         (WebCore::CachedFrame::CachedFrame):
2452         * html/HTMLAudioElement.cpp:
2453         (WebCore::HTMLAudioElement::create):
2454         * html/HTMLMarqueeElement.cpp:
2455         (WebCore::HTMLMarqueeElement::create):
2456         * html/HTMLVideoElement.cpp:
2457         (WebCore::HTMLVideoElement::create):
2458         * mediastream/PeerConnection.cpp:
2459         (WebCore::PeerConnection::create):
2460         * notifications/Notification.cpp:
2461         (WebCore::Notification::create):
2462         * notifications/NotificationCenter.cpp:
2463         * notifications/NotificationCenter.h:
2464         (WebCore::NotificationCenter::create):
2465         * page/DOMTimer.cpp:
2466         (WebCore::DOMTimer::install):
2467         (WebCore::DOMTimer::fired):
2468         * page/EventSource.cpp:
2469         (WebCore::EventSource::create):
2470         * page/SuspendableTimer.cpp:
2471         (WebCore::SuspendableTimer::SuspendableTimer):
2472         * storage/IDBDatabase.cpp:
2473         (WebCore::IDBDatabase::create):
2474         * storage/IDBRequest.cpp:
2475         (WebCore::IDBRequest::create):
2476         * storage/IDBTransaction.cpp:
2477         (WebCore::IDBTransaction::create):
2478         * webaudio/AudioContext.cpp:
2479         (WebCore::AudioContext::create):
2480         * websockets/WebSocket.cpp:
2481         * websockets/WebSocket.h:
2482         (WebCore::WebSocket::create):
2483         * workers/SharedWorker.cpp:
2484         (WebCore::SharedWorker::create):
2485         * workers/Worker.cpp:
2486         (WebCore::Worker::create):
2487         * xml/XMLHttpRequest.cpp:
2488         (WebCore::XMLHttpRequest::create):
2489
2490 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2491
2492         Add the "V8" prefix to V8 specific IDL attributes
2493         https://bugs.webkit.org/show_bug.cgi?id=77713
2494
2495         Reviewed by Adam Barth.
2496
2497         This patch adds the "V8" prefix to a V8 specific IDL attribute:
2498         [EnabledAtRuntime] => [V8EnabledAtRuntime]
2499
2500         No tests. No change in behavior.
2501
2502         * bindings/scripts/CodeGeneratorV8.pm:
2503         (GenerateHeader):
2504         (GenerateImplementation):
2505         (GetRuntimeEnableFunctionName):
2506
2507         * bindings/scripts/test/TestObj.idl:
2508         * bindings/scripts/test/V8/V8TestObj.cpp: Updated the run-bindings-tests results.
2509         (WebCore::ConfigureV8TestObjTemplate):
2510
2511         * Modules/gamepad/NavigatorGamepad.idl:
2512         * dom/Clipboard.idl:
2513         * dom/Document.idl:
2514         * dom/Element.idl:
2515         * dom/MouseEvent.idl:
2516         * dom/ShadowRoot.idl:
2517         * html/HTMLInputElement.idl:
2518         * html/HTMLMediaElement.idl:
2519         * html/HTMLTrackElement.idl:
2520         * html/TextTrack.idl:
2521         * html/TextTrackCue.idl:
2522         * html/TextTrackCueList.idl:
2523         * html/shadow/HTMLContentElement.idl:
2524         * html/track/TextTrackList.idl:
2525         * html/track/TrackEvent.idl:
2526         * page/DOMWindow.idl:
2527         * page/History.idl:
2528         * page/Navigator.idl:
2529         * storage/DOMWindowSQLDatabase.idl:
2530         * webaudio/DOMWindowWebAudio.idl:
2531         * websockets/DOMWindowWebSocket.idl:
2532         * workers/WorkerContext.idl:
2533         * xml/XMLHttpRequest.idl:
2534
2535 2012-02-03  Alexei Filippov  <alexeif@chromium.org>
2536
2537         Web Inspector: Retained size for classes is too conservative in heap profiler
2538         https://bugs.webkit.org/show_bug.cgi?id=77726
2539
2540         Reviewed by Yury Semikhatsky.
2541
2542         Makes retained size of all objects of particular class show correct value
2543         in Summary view of heap profiler.
2544
2545         * inspector/front-end/DetailedHeapshotGridNodes.js:
2546         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2547         * inspector/front-end/HeapSnapshot.js:
2548         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2549         (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
2550
2551 2012-02-02  Alexander Pavlov  <apavlov@chromium.org>
2552
2553         Web Inspector: Introduce "Copy XPath" popup menu item for DOM elements
2554         https://bugs.webkit.org/show_bug.cgi?id=77619
2555
2556         Reviewed by Vsevolod Vlasov.
2557
2558         XPath is optimized whenever an element has the "id" attribute.
2559
2560         Test: inspector/elements/node-xpath.xhtml
2561
2562         * English.lproj/localizedStrings.js:
2563         * inspector/front-end/DOMAgent.js:
2564         (WebInspector.DOMNode.XPathStep):
2565         (WebInspector.DOMNode.XPathStep.prototype.toString):
2566         (WebInspector.DOMNode.prototype.copyXPath):
2567         (WebInspector.DOMNode.prototype.isXMLNode):
2568         (WebInspector.DOMNode.prototype.xPath):
2569         (WebInspector.DOMNode.prototype._xPathValue):
2570         (WebInspector.DOMNode.prototype._xPathIndex):
2571         * inspector/front-end/ElementsTreeOutline.js:
2572         (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
2573
2574 2012-02-03  Dana Jansens  <danakj@chromium.org>
2575
2576         [Chromium] Use the current clip when marking paints as opaque
2577         https://bugs.webkit.org/show_bug.cgi?id=77582
2578
2579         Reviewed by Stephen White.
2580
2581         New unit test in PlatformContextSkiaTest.cpp
2582
2583         * platform/graphics/skia/OpaqueRegionSkia.cpp:
2584         (WebCore::OpaqueRegionSkia::markRectAsOpaque):
2585         * platform/graphics/skia/PlatformContextSkia.h:
2586         (WebCore::PlatformContextSkia::canvas):
2587
2588 2012-02-03  Yury Semikhatsky  <yurys@chromium.org>
2589
2590         inspector/debugger/pause-in-inline-script.html asserts in chromium debug
2591         https://bugs.webkit.org/show_bug.cgi?id=77663
2592
2593         Make ASSERT in MainResourceLoader not fail if debugger hits breakpoint
2594         in the main resource inline script.
2595
2596         Reviewed by Pavel Feldman.
2597
2598         Test: inspector/debugger/pause-in-inline-script.html
2599
2600         * bindings/js/ScriptDebugServer.h:
2601         (WebCore::ScriptDebugServer::isPaused):
2602         (ScriptDebugServer):
2603         * bindings/v8/ScriptDebugServer.h:
2604         (ScriptDebugServer):
2605         * inspector/InspectorDebuggerAgent.cpp:
2606         (WebCore::InspectorDebuggerAgent::didClearMainFrameWindowObject):
2607         (WebCore):
2608         (WebCore::InspectorDebuggerAgent::isPaused):
2609         * inspector/InspectorDebuggerAgent.h:
2610         (InspectorDebuggerAgent):
2611         * inspector/InspectorInstrumentation.cpp:
2612         (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
2613         (WebCore):
2614         * inspector/InspectorInstrumentation.h:
2615         (InspectorInstrumentation):
2616         (WebCore::InspectorInstrumentation::isDebuggerPaused):
2617         (WebCore):
2618         * loader/MainResourceLoader.cpp:
2619         (WebCore::MainResourceLoader::didFinishLoading):
2620
2621 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2622
2623         Fix typo
2624         https://bugs.webkit.org/show_bug.cgi?id=77708
2625
2626         Reviewed by Adam Roben.
2627
2628         This patch fixes typos: [ObjCLegacyUnamedParameters] => [ObjCLegacyUnnamedParameters]
2629
2630         No tests. No change in behavior.
2631
2632         * css/CSSMediaRule.idl:
2633         * css/CSSPrimitiveValue.idl:
2634         * css/CSSStyleDeclaration.idl:
2635         * css/CSSStyleSheet.idl:
2636         * dom/CharacterData.idl:
2637         * dom/DOMImplementation.idl:
2638         * dom/Document.idl:
2639         * dom/Element.idl:
2640         * dom/Event.idl:
2641         * dom/EventTarget.idl:
2642         * dom/MouseEvent.idl:
2643         * dom/MutationEvent.idl:
2644         * dom/NamedNodeMap.idl:
2645         * dom/Node.idl:
2646         * dom/Range.idl:
2647         * dom/UIEvent.idl:
2648         * html/HTMLSelectElement.idl:
2649         * xml/XPathExpression.idl:
2650
2651 2012-02-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
2652
2653         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
2654         https://bugs.webkit.org/show_bug.cgi?id=77148
2655
2656         Reviewed by Martin Robinson.
2657
2658         Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
2659         which responds to an "Software" mode of TextureMapper, instead of creating subclasses
2660         of TextureMapper directly. This allows using the software fallback of TextureMapper by any
2661         sort.
2662
2663         To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
2664         an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
2665         as converting data to/from Image references in Qt generates unnecessary deep copies of the
2666         image data.
2667
2668         Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
2669         3D transforms in cross platform code.
2670         After this patch everything renders the same. An additional bug report was created to allow
2671         ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
2672
2673         Covered extensively by existing tests, no behavioral changes.
2674
2675         * Target.pri:
2676         * platform/graphics/GraphicsContext.cpp:
2677         * platform/graphics/GraphicsContext.h:
2678         (WebCore):
2679         (GraphicsContext):
2680         * platform/graphics/cairo/TextureMapperCairo.cpp:
2681         * platform/graphics/opengl/TextureMapperGL.cpp:
2682         (TextureMapperGLData):
2683         (BitmapTextureGL):
2684         (WebCore::BitmapTextureGL::BitmapTextureGL):
2685         (WebCore::TextureMapperGL::beginPainting):
2686         (WebCore::BitmapTextureGL::reset):
2687         (WebCore):
2688         (WebCore::swizzleBGRAToRGBA):
2689         (WebCore::BitmapTextureGL::updateContents):
2690         (WebCore::BitmapTextureGL::destroy):
2691         (WebCore::TextureMapperGL::bindSurface):
2692         (WebCore::TextureMapper::platformCreateAccelerated):
2693         * platform/graphics/opengl/TextureMapperGL.h:
2694         (TextureMapperGL):
2695         (WebCore::TextureMapperGL::accelerationMode):
2696         (WebCore):
2697         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2698         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2699         * platform/graphics/qt/GraphicsContextQt.cpp:
2700         (WebCore):
2701         (WebCore::GraphicsContext::get3DTransform):
2702         (WebCore::GraphicsContext::concat3DTransform):
2703         (WebCore::GraphicsContext::set3DTransform):
2704         * platform/graphics/qt/TextureMapperQt.cpp: Removed.
2705         * platform/graphics/qt/TextureMapperQt.h: Removed.
2706         * platform/graphics/texmap/TextureMapper.cpp:
2707         (WebCore):
2708         (BitmapTextureImageBuffer):
2709         (TextureMapperImageBuffer):
2710         * platform/graphics/texmap/TextureMapper.h:
2711         (WebCore::BitmapTexture::BitmapTexture):
2712         (BitmapTexture):
2713         (WebCore::BitmapTexture::bpp):
2714         (WebCore::BitmapTexture::isOpaque):
2715         (WebCore::TextureMapper::setGraphicsContext):
2716         (WebCore::TextureMapper::graphicsContext):
2717         (TextureMapper):
2718         (WebCore::TextureMapper::TextureMapper):
2719         (WebCore::TextureMapper::platformCreateAccelerated):
2720         * platform/graphics/texmap/TextureMapperNode.cpp:
2721         (WebCore::TextureMapperNode::renderContent):
2722         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
2723         * platform/graphics/texmap/TextureMapperNode.h:
2724         (TextureMapperNode):
2725
2726 2012-01-27  Yury Semikhatsky  <yurys@chromium.org>
2727
2728         Web Inspector: console evaluation doesn't work on breakpoint in pages with CSP
2729         https://bugs.webkit.org/show_bug.cgi?id=77203
2730
2731         Inspector console evaluation now works when debugger is paused in a page with
2732         content-security-policy prohibiting evals.
2733
2734         Reviewed by Pavel Feldman.
2735
2736         Test: inspector/debugger/eval-on-pause-blocked.html
2737
2738         * bindings/js/JSInjectedScriptHostCustom.cpp:
2739         * bindings/js/ScriptState.cpp:
2740         (WebCore::evalEnabled):
2741         (WebCore):
2742         (WebCore::setEvalEnabled):
2743         * bindings/js/ScriptState.h:
2744         (WebCore):
2745         * bindings/v8/ScriptObject.h:
2746         (WebCore::ScriptObject::ScriptObject):
2747         * bindings/v8/ScriptState.cpp:
2748         (WebCore::evalEnabled):
2749         (WebCore):
2750         (WebCore::setEvalEnabled):
2751         * bindings/v8/ScriptState.h:
2752         (WebCore):
2753         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2754         * inspector/InjectedScript.cpp:
2755         (WebCore::InjectedScript::makeCall):
2756         * inspector/InjectedScriptHost.idl:
2757         * inspector/InjectedScriptSource.js:
2758         (.):
2759
2760 2012-02-03  Rob Buis  <rbuis@rim.com>
2761
2762         Upstream targetType usage on ResourceRequest for BlackBerry port
2763         https://bugs.webkit.org/show_bug.cgi?id=77649
2764
2765         Reviewed by Antonio Gomes.
2766
2767         Upstream bits that make use of targetType enum.
2768
2769         * loader/PingLoader.cpp:
2770         (WebCore::PingLoader::loadImage):
2771         (WebCore::PingLoader::sendPing):
2772         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
2773         * platform/network/blackberry/ResourceRequest.h:
2774         (ResourceRequest):
2775         (WebCore::ResourceRequest::targetType):
2776         (WebCore::ResourceRequest::setTargetType):
2777         * xml/XMLHttpRequest.cpp:
2778         (WebCore::XMLHttpRequest::createRequest):
2779
2780 2012-02-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2781
2782         Ensure timers and other active DOM objects do not fire in suspended documents.
2783         https://bugs.webkit.org/show_bug.cgi?id=53733
2784
2785         ScriptExecutionContext now remembers it has suspended active DOM objects
2786         and suspends all newly installed active DOM objects as well.
2787
2788         All create-calls active DOM objects now calls the post constructor method
2789         suspendIfNeeded that updates the suspend state. It is post constructor
2790         because the suspend/resume functions are virtual and thus can not be called
2791         from constructors.
2792
2793         Reviewed by Mihai Parparita.
2794
2795         Test: fast/events/suspend-timers.html
2796
2797         * Modules/intents/IntentRequest.cpp:
2798         (WebCore::IntentRequest::create):
2799         * bindings/generic/ActiveDOMCallback.cpp:
2800         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2801         * dom/ActiveDOMObject.cpp:
2802         (WebCore::ActiveDOMObject::ActiveDOMObject):
2803         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2804         (WebCore::ActiveDOMObject::suspendIfNeeded):
2805         * dom/ActiveDOMObject.h:
2806         (WebCore::ActiveDOMObject::suspendIfNeededCalled):
2807         * dom/DocumentEventQueue.cpp:
2808         (WebCore::DocumentEventQueue::DocumentEventQueue):
2809         * dom/ScriptExecutionContext.cpp:
2810         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2811         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2812         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2813         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2814         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2815         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2816         (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
2817         * dom/ScriptExecutionContext.h:
2818         (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
2819         * fileapi/DOMFileSystem.cpp:
2820         (WebCore::DOMFileSystem::create):
2821         * fileapi/FileReader.cpp:
2822         (WebCore::FileReader::create):
2823         * fileapi/FileReader.h:
2824         * fileapi/FileWriter.cpp:
2825         (WebCore::FileWriter::create):
2826         * fileapi/FileWriter.h:
2827         * history/CachedFrame.cpp:
2828         (WebCore::CachedFrame::CachedFrame):
2829         * html/HTMLAudioElement.cpp:
2830         (WebCore::HTMLAudioElement::create):
2831         * html/HTMLMarqueeElement.cpp:
2832         (WebCore::HTMLMarqueeElement::create):
2833         * html/HTMLVideoElement.cpp:
2834         (WebCore::HTMLVideoElement::create):
2835         * mediastream/PeerConnection.cpp:
2836         (WebCore::PeerConnection::create):
2837         * notifications/Notification.cpp:
2838         (WebCore::Notification::create):
2839         * notifications/NotificationCenter.cpp:
2840         (WebCore::NotificationCenter::create):
2841         * notifications/NotificationCenter.h:
2842         * page/DOMTimer.cpp:
2843         (WebCore::DOMTimer::install):
2844         (WebCore::DOMTimer::fired):
2845         * page/EventSource.cpp:
2846         (WebCore::EventSource::create):
2847         * page/SuspendableTimer.cpp:
2848         (WebCore::SuspendableTimer::SuspendableTimer):
2849         * storage/IDBDatabase.cpp:
2850         (WebCore::IDBDatabase::create):
2851         * storage/IDBRequest.cpp:
2852         (WebCore::IDBRequest::create):
2853         * storage/IDBTransaction.cpp:
2854         (WebCore::IDBTransaction::create):
2855         * webaudio/AudioContext.cpp:
2856         (WebCore::AudioContext::create):
2857         * websockets/WebSocket.cpp:
2858         (WebCore::WebSocket::create):
2859         * websockets/WebSocket.h:
2860         * workers/SharedWorker.cpp:
2861         (WebCore::SharedWorker::create):
2862         * workers/Worker.cpp:
2863         (WebCore::Worker::create):
2864         * xml/XMLHttpRequest.cpp:
2865         (WebCore::XMLHttpRequest::create):
2866
2867 2012-02-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2868
2869         Do not ASSERT on TouchStationary TouchPoint state.
2870         https://bugs.webkit.org/show_bug.cgi?id=77620
2871
2872         Reviewed by Kenneth Rohde Christiansen.
2873
2874         * page/EventHandler.cpp:
2875         (WebCore::eventNameForTouchPointState): Explicitly show that TouchStationary is asserted.
2876         (WebCore::EventHandler::handleTouchEvent):
2877             Remove TouchStationary from ASSERT. The value of HitTestRequest is restored to the
2878             value it should have if hittested, but is not used.
2879
2880 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2881
2882         Add the "ObjC" prefix to ObjC specific IDL attributes
2883         https://bugs.webkit.org/show_bug.cgi?id=77708
2884
2885         Reviewed by Adam Barth.
2886
2887         This patch adds the "ObjC" prefix to ObjC specific IDL attributes, as follows:
2888
2889             [Polymorphic] => [ObjCPolymorphic]
2890             [OldStyleObjC] => [ObjCLegacyUnamedParameters]
2891             [UsesView] => [ObjCUseDefaultView] (Note: Renamed for clarification)
2892
2893         No tests. No changes in behavior.
2894
2895         * bindings/scripts/CodeGeneratorObjC.pm:
2896         (GenerateHeader):
2897         (GenerateImplementation):
2898         * css/CSSMediaRule.idl:
2899         * css/CSSPrimitiveValue.idl:
2900         * css/CSSRule.idl:
2901         * css/CSSStyleDeclaration.idl:
2902         * css/CSSStyleSheet.idl:
2903         * css/CSSValue.idl:
2904         * css/StyleSheet.idl:
2905         * dom/CharacterData.idl:
2906         * dom/DOMImplementation.idl:
2907         * dom/Document.idl:
2908         * dom/Element.idl:
2909         * dom/Event.idl:
2910         * dom/EventTarget.idl:
2911         * dom/MouseEvent.idl:
2912         * dom/MutationEvent.idl:
2913         * dom/NamedNodeMap.idl:
2914         * dom/Node.idl:
2915         * dom/Range.idl:
2916         * dom/UIEvent.idl:
2917         * html/HTMLCollection.idl:
2918         * html/HTMLSelectElement.idl:
2919         * svg/SVGPathSeg.idl:
2920         * xml/XPathExpression.idl:
2921
2922 2012-02-03  MORITA Hajime  <morrita@google.com>
2923
2924         TypingCommand should be prepared against detached document.
2925         https://bugs.webkit.org/show_bug.cgi?id=77216
2926
2927         Reviewed by Ryosuke Niwa.
2928
2929         Added null checks for document()->frame().
2930
2931         No new tests. Just tighten guards for possible codepaths.
2932
2933         * editing/TypingCommand.cpp:
2934         (WebCore::TypingCommand::markMisspellingsAfterTyping):
2935         (WebCore::TypingCommand::typingAddedToOpenCommand):
2936         (WebCore::TypingCommand::deleteKeyPressed):
2937         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2938
2939 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2940
2941         Rename [DontEnum] IDL to [NotEnumerable] IDL
2942         https://bugs.webkit.org/show_bug.cgi?id=77710
2943
2944         Reviewed by Adam Barth.
2945
2946         [DontEnum] is a negation of [[Enumerable]] in the ECMAScript spec
2947         (8.6.1 of http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf).
2948         This patch renames [DontEnum] to [NotEnumerable].
2949
2950         No tests. No change in behavior.
2951
2952         * bindings/scripts/CodeGeneratorJS.pm:
2953         (GenerateAttributesHashTable):
2954         (GenerateImplementation):
2955         * bindings/scripts/CodeGeneratorV8.pm:
2956         (GenerateSingleBatchedAttribute):
2957         (GenerateImplementation):
2958
2959         * css/WebKitCSSMatrix.idl:
2960         * dom/DOMCoreException.idl:
2961         * dom/Document.idl:
2962         * dom/Element.idl:
2963         * dom/EventException.idl:
2964         * dom/RangeException.idl:
2965         * fileapi/FileException.idl:
2966         * fileapi/OperationNotAllowedException.idl:
2967         * html/DOMTokenList.idl:
2968         * html/HTMLAnchorElement.idl:
2969         * html/HTMLBodyElement.idl:
2970         * html/HTMLFrameSetElement.idl:
2971         * html/HTMLInputElement.idl:
2972         * page/DOMSelection.idl:
2973         * page/DOMWindow.idl:
2974         * page/Location.idl:
2975         * storage/IDBDatabaseException.idl:
2976         * storage/Storage.idl:
2977         * svg/SVGElementInstance.idl:
2978         * svg/SVGException.idl:
2979         * workers/WorkerLocation.idl:
2980         * xml/XMLHttpRequestException.idl:
2981         * xml/XPathException.idl:
2982
2983 2012-02-03  Kentaro Hara  <haraken@chromium.org>
2984
2985         Rename [InitializedByConstructor] IDL to [InitializedByEventConstructor] IDL
2986         https://bugs.webkit.org/show_bug.cgi?id=77711
2987
2988         Reviewed by Adam Barth.
2989
2990         [InitializedByConstructor] can be used only when [ConstructorTemplate=Event]
2991         is specified on the interface. This patch renames [InitializedByConstructor] to
2992         [InitializedByEventConstructor] for clarification.
2993
2994         No tests. No change in behavior.
2995
2996         * bindings/scripts/CodeGeneratorJS.pm:
2997         (GenerateConstructorDefinition):
2998         * bindings/scripts/CodeGeneratorV8.pm:
2999         (GenerateEventConstructorCallback):
3000
3001         * bindings/scripts/test/TestEventConstructor.idl:
3002         * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated the run-bindings-tests results.
3003         (WebCore):
3004
3005         * dom/BeforeLoadEvent.idl:
3006         * dom/CustomEvent.idl:
3007         * dom/ErrorEvent.idl:
3008         * dom/Event.idl:
3009         * dom/HashChangeEvent.idl:
3010         * dom/MessageEvent.idl:
3011         * dom/OverflowEvent.idl:
3012         * dom/PageTransitionEvent.idl:
3013         * dom/PopStateEvent.idl:
3014         * dom/ProgressEvent.idl:
3015         * dom/WebKitAnimationEvent.idl:
3016         * dom/WebKitTransitionEvent.idl:
3017         * html/canvas/WebGLContextEvent.idl:
3018         * html/track/TrackEvent.idl:
3019         * storage/StorageEvent.idl:
3020         * websockets/CloseEvent.idl:
3021
3022 2012-02-03  Kentaro Hara  <haraken@chromium.org>
3023
3024         Add the "CPP" prefix to CPP specific IDL attributes
3025         https://bugs.webkit.org/show_bug.cgi?id=77707
3026
3027         Reviewed by Adam Barth.
3028
3029         This patch adds the "CPP" prefix to a CPP specific IDL attribute.
3030         Specifically, this patch renames [PureInterface] to [CPPPureInterface]
3031
3032         No tests. No change in behavior.
3033
3034         * bindings/scripts/CodeGeneratorCPP.pm:
3035         (GenerateHeader):
3036         (GenerateImplementation):
3037         * css/MediaQueryListListener.idl:
3038         * dom/EventListener.idl:
3039         * dom/EventTarget.idl:
3040         * dom/NodeFilter.idl:
3041
3042 2012-01-27  Alexander Pavlov  <apavlov@chromium.org>
3043
3044         Implement touch event emulation in the WebCore layer
3045         https://bugs.webkit.org/show_bug.cgi?id=77105
3046
3047         Reviewed by Ryosuke Niwa.
3048
3049         This change essentially maps mouse events into single-touch events in the following way:
3050         - mousedown -> touchstart
3051         - mouseup -> touchend
3052         - mousemove -> touchmove (between mousedown and mouseup).
3053
3054         Test: fast/events/touch/emulate-touch-events.html
3055
3056         * page/EventHandler.cpp:
3057         (SyntheticTouchPoint): A synthetic touch point built from PlatformMouseEvent.
3058         (WebCore::SyntheticTouchPoint::SyntheticTouchPoint):
3059         (SyntheticSingleTouchEvent): A synthetic touch point event built from PlatformMouseEvent.
3060         (WebCore::SyntheticSingleTouchEvent::SyntheticSingleTouchEvent):
3061         (WebCore::EventHandler::handleMouseReleaseEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
3062         (WebCore::EventHandler::handleMousePressEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
3063         (WebCore::EventHandler::mouseMoved): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
3064         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Dispatch a synthetic touch event if necessary.
3065         * page/EventHandler.h: Added new method.
3066         * page/Settings.cpp:
3067         (WebCore::Settings::Settings): Added m_touchEventEmulationEnabled initializer.
3068         * page/Settings.h: Added m_touchEventEmulationEnabled, getter, and setter.
3069         (WebCore::Settings::setTouchEventEmulationEnabled): Added.
3070         (WebCore::Settings::isTouchEventEmulationEnabled): Added.
3071         * platform/PlatformTouchPoint.h:
3072         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Unconditionally compile the parameterless ctor.
3073         * testing/InternalSettings.cpp:
3074         (WebCore::InternalSettings::setTouchEventEmulationEnabled): Added for testing.
3075         * testing/InternalSettings.h: Added setTouchEventEmulationEnabled() for testing.
3076         * testing/InternalSettings.idl: Added setTouchEventEmulationEnabled() for testing.
3077
3078 2012-02-03  Kentaro Hara  <haraken@chromium.org>
3079
3080         Remove [NoCPPCustom] IDL
3081         https://bugs.webkit.org/show_bug.cgi?id=77704
3082
3083         Reviewed by Adam Barth.
3084
3085         This patch removes [NoCPPCustom], by replacing [Custom, NoCPPCustom]
3086         in HTMLDocument.idl with [JSCCustom, V8Custom].
3087
3088         No tests. No change in behavior.
3089
3090         * bindings/scripts/CodeGeneratorCPP.pm:
3091         (ShouldSkipType):
3092         * html/HTMLDocument.idl:
3093
3094 2012-02-03  Kentaro Hara  <haraken@chromium.org>
3095
3096         Remove [LegacyParent] from CodeGeneratorGObject.pm, and rename it to [JSLegacyParent]
3097         https://bugs.webkit.org/show_bug.cgi?id=77706
3098
3099         Reviewed by Adam Barth.
3100
3101         This patch removes dead code about [LegacyParent] from CodeGeneratorGObject.pm,
3102         and renames [LegacyParent] to [JSLegacyParent].
3103
3104         No tests. No changes in behavior.
3105
3106         * bindings/scripts/CodeGeneratorGObject.pm:
3107         (Generate):
3108         * bindings/scripts/CodeGeneratorJS.pm:
3109         (GetParentClassName):
3110         (GenerateHeader):
3111         (GenerateImplementation):
3112         * page/DOMWindow.idl:
3113         * workers/WorkerContext.idl:
3114
3115 2012-02-03  Pavel Feldman  <pfeldman@google.com>
3116
3117         Web Inspector: preserve elements panel selection upon node drag'n'drop
3118         https://bugs.webkit.org/show_bug.cgi?id=77722
3119
3120         Reviewed by Vsevolod Vlasov.
3121
3122         Test: inspector/elements/move-node.html
3123
3124         * inspector/front-end/DOMAgent.js:
3125         (WebInspector.DOMAgent.prototype._markRevision):
3126         * inspector/front-end/ElementsTreeOutline.js:
3127         (WebInspector.ElementsTreeOutline.prototype._ondrop):
3128         (WebInspector.ElementsTreeOutline.prototype._doMove.callback):
3129         (WebInspector.ElementsTreeOutline.prototype._doMove):
3130
3131 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
3132
3133        Reimplement DETAILS and SUMMARY using selector query.
3134         https://bugs.webkit.org/show_bug.cgi?id=75930
3135
3136         Reviewed by Hajime Morita.
3137
3138         DETAILS is reimplemented using content element and its fallback feature.
3139         We don't need to recreate DOM even if SUMMARY is removed from or added into DETAILS.
3140
3141         No new tests, should be covered by existing tests.
3142
3143         * html/HTMLDetailsElement.cpp:
3144         (WebCore::DetailsSummaryElement::fallbackSummary):
3145           Takes fallback element of content summary.
3146         (DetailsSummaryElement):
3147         (WebCore::DetailsSummaryElement::create):
3148           Creates a fallback element also.
3149         (WebCore):
3150         (WebCore::HTMLDetailsElement::create):
3151         (WebCore::HTMLDetailsElement::HTMLDetailsElement):
3152         (WebCore::HTMLDetailsElement::createShadowSubtree):
3153         (WebCore::HTMLDetailsElement::findMainSummary):
3154         (WebCore::HTMLDetailsElement::parseMappedAttribute):
3155         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
3156         (WebCore::HTMLDetailsElement::toggleOpen):
3157         * html/HTMLDetailsElement.h:
3158         (HTMLDetailsElement):
3159         * html/HTMLSummaryElement.cpp:
3160         (WebCore::HTMLSummaryElement::isMainSummary):
3161
3162 2012-02-03  Jochen Eisinger  <jochen@chromium.org>
3163
3164         Crash when trying to add a timer to a detached document.
3165         https://bugs.webkit.org/show_bug.cgi?id=77692
3166
3167         Reviewed by Alexey Proskuryakov.
3168
3169         In http://webkit.org/b/77370, a timer is fired on a detached document.
3170         Since a document clears all timers when it is detached, and it
3171         shouldn't be possible to add a timer to a detached document, we crash
3172         if this should happen anyway. This will hopefully result in an easier
3173         to debug crash dump.
3174
3175         * page/DOMTimer.cpp:
3176         (WebCore::DOMTimer::DOMTimer):
3177
3178 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
3179
3180         Stop calling Element::ensureShadowRoot in Internals.
3181         https://bugs.webkit.org/show_bug.cgi?id=77612
3182
3183         Reviewed by Hajime Morita.
3184
3185         We want to check a shadow root is built-in or created by users to support multiple shadow subtrees.
3186         But Element::ensureShadowRoot() makes it difficult, because it doesn't care about the returning shadow element
3187         is built-in or user generated, so let's remove Element::ensureShadowRoot().
3188
3189         As a first step, this patch removes ensureShadowRoot() in Internals.
3190
3191         No new tests, because no changes in behavior.
3192
3193         * WebCore.exp.in:
3194         * testing/Internals.cpp:
3195         (WebCore::Internals::ensureShadowRoot):
3196
3197 2012-02-02  Alexei Filippov  <alexeif@chromium.org>
3198
3199         Web Inspector: Always show percents together with counters in heap inspector.
3200         https://bugs.webkit.org/show_bug.cgi?id=77434
3201
3202         Reviewed by Pavel Feldman.
3203
3204         * inspector/front-end/DetailedHeapshotGridNodes.js:
3205         (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
3206         (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
3207         (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
3208         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
3209         (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
3210         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
3211         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
3212         * inspector/front-end/DetailedHeapshotView.js:
3213         (WebInspector.HeapSnapshotContainmentDataGrid):
3214         (WebInspector.HeapSnapshotConstructorsDataGrid):
3215         (WebInspector.HeapSnapshotDiffDataGrid):
3216         (WebInspector.HeapSnapshotDominatorsDataGrid):
3217         (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
3218         (WebInspector.DetailedHeapshotView.prototype.get _isShowingAsPercent):
3219         (WebInspector.DetailedHeapshotView.prototype._percentClicked):
3220         * inspector/front-end/heapProfiler.css:
3221         (.detailed-heapshot-view .data-grid span.percent-column):
3222
3223 2012-02-02  Matt Falkenhagen  <falken@chromium.org>
3224
3225         Use content-language from http-equiv to set document locale and font
3226         https://bugs.webkit.org/show_bug.cgi?id=76701
3227
3228         Reviewed by Darin Adler.
3229
3230         So far, only content-language set through http-equiv is used; the HTTP Content-Language
3231         header is not yet supported.
3232
3233         Tests: fast/text/content-language-case-insensitivity.html
3234                fast/text/content-language-mapped-to-webkit-locale.html
3235                fast/text/international/content-language-font-selection-expected.html
3236                fast/text/international/content-language-font-selection.html
3237                fast/text/international/content-language-with-subtags-expected.html
3238                fast/text/international/content-language-with-subtags.html
3239
3240         * css/CSSStyleSelector.cpp:
3241         (WebCore::CSSStyleSelector::styleForDocument): Use content language when selecting initial font.
3242         * dom/Document.cpp:
3243         (WebCore::Document::setContentLanguage): Recalculate style so language is taken into account.
3244         (WebCore):
3245         * dom/Document.h:
3246         (Document):
3247
3248 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3249
3250         Unreviewed, rolling out r106620.
3251         http://trac.webkit.org/changeset/106620
3252         https://bugs.webkit.org/show_bug.cgi?id=77716
3253
3254         It broke non ENABLE(3D_RENDERING) builds (Requested by
3255         Ossy_morning on #webkit).
3256
3257         * GNUmakefile.list.am:
3258         * Target.pri:
3259         * WebCore.gypi:
3260         * platform/graphics/GraphicsContext.h:
3261         (WebCore):
3262         (GraphicsContext):
3263         * platform/graphics/cairo/TextureMapperCairo.cpp:
3264         (WebCore::TextureMapper::create):
3265         (WebCore):
3266         * platform/graphics/opengl/TextureMapperGL.cpp:
3267         (Entry):
3268         (DirectlyCompositedImageRepository):
3269         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
3270         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
3271         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
3272         (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
3273         (TextureMapperGLData):
3274         (BitmapTextureGL):
3275         (WebCore::BitmapTextureGL::isOpaque):
3276         (WebCore::BitmapTextureGL::pack):
3277         (WebCore::BitmapTextureGL::unpack):
3278         (WebCore::BitmapTextureGL::isPacked):
3279         (WebCore::BitmapTextureGL::BitmapTextureGL):
3280         (WebCore::TextureMapperGL::beginPainting):
3281         (WebCore::BitmapTextureGL::reset):
3282         (WebCore::BitmapTextureGL::beginPaint):
3283         (WebCore::BitmapTextureGL::endPaint):
3284         (WebCore):
3285         (WebCore::BitmapTextureGL::updateContents):
3286         (WebCore::BitmapTextureGL::updateRawContents):
3287         (WebCore::BitmapTextureGL::setContentsToImage):
3288         (WebCore::BitmapTextureGL::destroy):
3289         (WebCore::TextureMapperGL::bindSurface):
3290         * platform/graphics/opengl/TextureMapperGL.h:
3291         (TextureMapperGL):
3292         (WebCore::TextureMapperGL::allowSurfaceForRoot):
3293         (BGRA32PremultimpliedBuffer):
3294         (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
3295         (WebCore):
3296         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3297         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3298         * platform/graphics/qt/GraphicsContextQt.cpp:
3299         * platform/graphics/qt/TextureMapperQt.cpp: Added.
3300         (WebCore):
3301         (WebCore::BitmapTextureQt::destroy):
3302         (WebCore::BitmapTextureQt::reset):
3303         (WebCore::BitmapTextureQt::beginPaint):
3304         (WebCore::BitmapTextureQt::endPaint):
3305         (WebCore::BitmapTextureQt::updateContents):
3306         (WebCore::BitmapTextureQt::save):
3307         (WebCore::BitmapTextureQt::setContentsToImage):
3308         (WebCore::BitmapTextureQt::pack):
3309         (WebCore::BitmapTextureQt::unpack):
3310         (WebCore::TextureMapperQt::beginClip):
3311         (WebCore::TextureMapperQt::endClip):
3312         (WebCore::TextureMapperQt::viewportSize):
3313         (WebCore::TextureMapperQt::TextureMapperQt):
3314         (WebCore::TextureMapperQt::setGraphicsContext):
3315         (WebCore::TextureMapperQt::graphicsContext):
3316         (WebCore::TextureMapperQt::bindSurface):
3317         (WebCore::TextureMapperQt::drawTexture):
3318         (WebCore::TextureMapper::create):
3319         (WebCore::TextureMapperQt::createTexture):
3320         (WebCore::BitmapTextureQt::BitmapTextureQt):
3321         (WebCore::TextureMapperQt::beginPainting):
3322         (WebCore::TextureMapperQt::endPainting):
3323         (BGRA32PremultimpliedBufferQt):
3324         (WebCore::BGRA32PremultimpliedBufferQt::beginPaint):
3325         (WebCore::BGRA32PremultimpliedBufferQt::endPaint):
3326         (WebCore::BGRA32PremultimpliedBufferQt::data):
3327         (WebCore::BGRA32PremultimpliedBuffer::create):
3328         (WebCore::uidForImage):
3329         * platform/graphics/qt/TextureMapperQt.h: Added.
3330         (WebCore):
3331         (BitmapTextureQt):
3332         (WebCore::BitmapTextureQt::~BitmapTextureQt):
3333         (WebCore::BitmapTextureQt::size):
3334         (WebCore::BitmapTextureQt::isValid):
3335         (WebCore::BitmapTextureQt::sourceRect):
3336         (WebCore::BitmapTextureQt::isPacked):
3337         (WebCore::BitmapTextureQt::painter):
3338         (TextureMapperQt):
3339         (WebCore::TextureMapperQt::allowSurfaceForRoot):
3340         (WebCore::TextureMapperQt::initialize):
3341         (WebCore::TextureMapperQt::create):
3342         (WebCore::TextureMapperQt::currentPainter):
3343         * platform/graphics/texmap/TextureMapper.cpp:
3344         * platform/graphics/texmap/TextureMapper.h:
3345         (WebCore::BitmapTexture::BitmapTexture):
3346         (WebCore::BitmapTexture::allowOfflineTextureUpload):
3347         (BitmapTexture):
3348         (WebCore::BitmapTexture::pack):
3349         (WebCore::BitmapTexture::unpack):
3350         (WebCore::BitmapTexture::isPacked):
3351         (WebCore::BitmapTexture::updateRawContents):
3352         (WebCore::BitmapTexture::beginPaintMedia):
3353         (WebCore::BitmapTexture::save):
3354         (WebCore::BitmapTexture::lock):
3355         (WebCore::BitmapTexture::unlock):
3356         (WebCore::BitmapTexture::isLocked):
3357         (TextureMapper):
3358         (WebCore::TextureMapper::viewportSize):
3359         (WebCore::TextureMapper::setViewportSize):
3360         (WebCore::TextureMapper::allowPartialUpdates):
3361         (WebCore::TextureMapper::isOpenGLBacked):
3362         (WebCore::TextureMapper::setTransform):
3363         (WebCore::TextureMapper::transform):
3364         * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Removed.
3365         * platform/graphics/texmap/TextureMapperImageBuffer.h: Removed.
3366         * platform/graphics/texmap/TextureMapperNode.cpp:
3367         (WebCore::TextureMapperNode::renderContent):
3368         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
3369         * platform/graphics/texmap/TextureMapperNode.h:
3370         (TextureMapperNode):
3371
3372 2012-02-02  Keishi Hattori  <keishi@webkit.org>
3373
3374         ColorInputType needs to use ensureInlineStyleDecl
3375         https://bugs.webkit.org/show_bug.cgi?id=77699
3376
3377         Reviewed by Kent Tamura.
3378
3379         Because WebCore internally should use the more specific CSSMutableStyleDeclaration
3380         http://trac.webkit.org/changeset/105739
3381
3382         * html/ColorInputType.cpp:
3383         (WebCore::ColorInputType::updateColorSwatch):
3384
3385 2012-02-02  Roland Steiner  <rolandsteiner@chromium.org>
3386
3387         Simplify SelectorChecker::checkSelector and checkOneSelector
3388         https://bugs.webkit.org/show_bug.cgi?id=77697
3389
3390         Make use of Element::previous/nextElementSibling.
3391         Made those methods inline.
3392         Simplify code in checkSelector and checkOneSelector, esp. for first/nth/nth-last/last/only-child implementations.
3393
3394         Reviewed by Andreas Kling.
3395
3396         No new tests. (refactoring)
3397
3398         * css/SelectorChecker.cpp:
3399         (WebCore::SelectorChecker::checkSelector):
3400         (WebCore::SelectorChecker::checkOneSelector):
3401         * dom/Element.cpp:
3402         * dom/Element.h:
3403         (WebCore::Element::previousElementSibling):
3404         (WebCore):
3405         (WebCore::Element::nextElementSibling):
3406
3407 2012-02-02  Keishi Hattori  <keishi@webkit.org>
3408
3409         ColorChooserClient is missing a virtual destructor
3410         https://bugs.webkit.org/show_bug.cgi?id=77698
3411
3412         Reviewed by Kent Tamura.
3413
3414         * platform/ColorChooserClient.h:
3415         (WebCore::ColorChooserClient::~ColorChooserClient): Added.
3416
3417 2012-02-02  Keishi Hattori  <keishi@webkit.org>
3418
3419         Remove OVERRIDE from ColorInputType::valueAsColor
3420         https://bugs.webkit.org/show_bug.cgi?id=77701
3421
3422         Reviewed by Kent Tamura.
3423
3424         * html/ColorInputType.h:
3425         (WebCore::ColorInputType::valueAsColor):
3426
3427 2012-02-02  Bear Travis  <betravis@adobe.com>
3428
3429         Support 'disabled' attribute on SVGStyleElement
3430         https://bugs.webkit.org/show_bug.cgi?id=52130
3431
3432         Adding disabled property to SVGStyleElement, which
3433         mirrors the functionality added to HTMLStyleElement
3434         for DOM1. The disabled property reflects and sets
3435         the disabled state of its style sheet.
3436
3437         Based off of patch for bug 25287
3438
3439         Reviewed by Dirk Schulze.
3440
3441         Test: svg/dom/SVGStyleElement/disable-svg-style-element.html
3442
3443         * svg/SVGStyleElement.cpp:
3444         (WebCore::SVGStyleElement::disabled):
3445         (WebCore):
3446         (WebCore::SVGStyleElement::setDisabled):
3447         * svg/SVGStyleElement.h:
3448         (SVGStyleElement):
3449         * svg/SVGStyleElement.idl:
3450
3451 2012-02-02  Hayato Ito  <hayato@chromium.org>
3452
3453         Make ShadowRoot interface inherit DocumentFragment interface in IDL.
3454         https://bugs.webkit.org/show_bug.cgi?id=77511
3455
3456         Reviewed by Kentaro Hara.
3457
3458         This patch contains only the change of IDL to isolate issues.
3459         Other changes, such as tests for querySelector of ShadowRoot, will be added in follow-up patches.
3460
3461         No tests. No change in behavior.
3462
3463         * dom/ShadowRoot.idl:
3464
3465 2012-02-02  Raymond Toy  <rtoy@google.com>
3466
3467         Check parameters to biquad filters
3468         https://bugs.webkit.org/show_bug.cgi?id=71413
3469
3470         Reviewed by Kenneth Russell.
3471
3472         Tests added for each filter type and for the limiting cases for
3473         each filter type.
3474
3475         * platform/audio/Biquad.cpp:
3476         (WebCore::Biquad::setLowpassParams):
3477         (WebCore::Biquad::setHighpassParams):
3478         (WebCore::Biquad::setLowShelfParams):
3479         (WebCore::Biquad::setHighShelfParams):
3480         (WebCore::Biquad::setPeakingParams):
3481         (WebCore::Biquad::setAllpassParams):
3482         (WebCore::Biquad::setNotchParams):
3483         (WebCore::Biquad::setBandpassParams):
3484         Check for invalid parameters and clip them to something sensible.
3485         Also check for the limiting cases and try to use the limiting form
3486         of the z-transform for the biquad.  Some issues cannot be
3487         consistently handled because the z-transform is not continuous as
3488         the parameters approach the limit.
3489
3490 2012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
3491
3492         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
3493         https://bugs.webkit.org/show_bug.cgi?id=77148
3494
3495         Reviewed by Martin Robinson.
3496
3497         Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
3498         which responds to an "Software" mode of TextureMapper, instead of creating subclasses
3499         of TextureMapper directly. This allows using the software fallback of TextureMapper by any
3500         sort.
3501
3502         To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
3503         an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
3504         as converting data to/from Image references in Qt generates unnecessary deep copies of the
3505         image data.
3506
3507         Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
3508         3D transforms in cross platform code.
3509         After this patch everything renders the same. An additional bug report was created to allow
3510         ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
3511
3512         Covered extensively by existing tests, no behavioral changes.
3513
3514         * Target.pri:
3515         * platform/graphics/GraphicsContext.cpp:
3516         * platform/graphics/GraphicsContext.h:
3517         (WebCore):
3518         (GraphicsContext):
3519         * platform/graphics/cairo/TextureMapperCairo.cpp:
3520         * platform/graphics/opengl/TextureMapperGL.cpp:
3521         (TextureMapperGLData):
3522         (BitmapTextureGL):
3523         (WebCore::BitmapTextureGL::BitmapTextureGL):
3524         (WebCore::TextureMapperGL::beginPainting):
3525         (WebCore::BitmapTextureGL::reset):
3526         (WebCore):
3527         (WebCore::swizzleBGRAToRGBA):
3528         (WebCore::BitmapTextureGL::updateContents):
3529         (WebCore::BitmapTextureGL::destroy):
3530         (WebCore::TextureMapperGL::bindSurface):
3531         (WebCore::TextureMapper::platformCreateAccelerated):
3532         * platform/graphics/opengl/TextureMapperGL.h:
3533         (TextureMapperGL):
3534         (WebCore::TextureMapperGL::accelerationMode):
3535         (WebCore):
3536         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3537         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
3538         * platform/graphics/qt/GraphicsContextQt.cpp:
3539         (WebCore):
3540         (WebCore::GraphicsContext::get3DTransform):
3541         (WebCore::GraphicsContext::concat3DTransform):
3542         (WebCore::GraphicsContext::set3DTransform):
3543         * platform/graphics/qt/TextureMapperQt.cpp: Removed.
3544         * platform/graphics/qt/TextureMapperQt.h: Removed.
3545         * platform/graphics/texmap/TextureMapper.cpp:
3546         (WebCore):
3547         (BitmapTextureImageBuffer):
3548         (TextureMapperImageBuffer):
3549         * platform/graphics/texmap/TextureMapper.h:
3550         (WebCore::BitmapTexture::BitmapTexture):
3551         (BitmapTexture):
3552         (WebCore::BitmapTexture::bpp):
3553         (WebCore::BitmapTexture::isOpaque):
3554         (WebCore::TextureMapper::setGraphicsContext):
3555         (WebCore::TextureMapper::graphicsContext):
3556         (TextureMapper):
3557         (WebCore::TextureMapper::TextureMapper):
3558         (WebCore::TextureMapper::platformCreateAccelerated):
3559         * platform/graphics/texmap/TextureMapperNode.cpp:
3560         (WebCore::TextureMapperNode::renderContent):
3561         (WebCore::TextureMapperNode::setContentsTileBackBuffer):
3562         * platform/graphics/texmap/TextureMapperNode.h:
3563         (TextureMapperNode):
3564
3565 2012-02-02  Adam Barth  <abarth@webkit.org>
3566
3567         Rename checkNodeSecurity and allowsAccessFromFrame to have sensible names
3568         https://bugs.webkit.org/show_bug.cgi?id=75796
3569
3570         Reviewed by Eric Seidel.
3571
3572         As requested by Darin Adler, this patch renames these functions be
3573         clear that we're asking whether the access should be allowed rather
3574         than explicitly allowing the access.
3575
3576         * bindings/generic/BindingSecurity.h:
3577         (BindingSecurity):
3578         (WebCore::::shouldAllowAccessToNode):
3579         (WebCore::::allowSettingFrameSrcToJavascriptUrl):
3580         * bindings/js/JSDOMBinding.cpp:
3581         (WebCore::shouldAllowAccessToNode):
3582         (WebCore::shouldAllowAccessToFrame):
3583         * bindings/js/JSDOMBinding.h:
3584         (WebCore):
3585         * bindings/js/JSHTMLFrameElementCustom.cpp:
3586         (WebCore::allowSettingJavascriptURL):
3587         * bindings/js/JSHistoryCustom.cpp:
3588         (WebCore::JSHistory::getOwnPropertySlotDelegate):
3589         (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
3590         (WebCore::JSHistory::putDelegate):
3591         (WebCore::JSHistory::deleteProperty):
3592         (WebCore::JSHistory::getOwnPropertyNames):
3593         * bindings/js/JSLocationCustom.cpp:
3594         (WebCore::JSLocation::getOwnPropertySlotDelegate):
3595         (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
3596         (WebCore::JSLocation::putDelegate):
3597         (WebCore::JSLocation::deleteProperty):
3598         (WebCore::JSLocation::getOwnPropertyNames):
3599         (WebCore::JSLocation::toStringFunction):
3600         * bindings/js/ScriptController.cpp:
3601         (WebCore::ScriptController::canAccessFromCurrentOrigin):
3602         * bindings/scripts/CodeGeneratorJS.pm:
3603         (GenerateGetOwnPropertyDescriptorBody):
3604         (GenerateImplementation):
3605         * bindings/scripts/CodeGeneratorV8.pm:
3606         (GenerateNormalAttrGetter):
3607         (GenerateFunctionCallback):
3608         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3609         (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
3610         * bindings/scripts/test/JS/JSTestObj.cpp:
3611         (WebCore::jsTestObjContentDocument):
3612         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
3613         * bindings/scripts/test/V8/V8TestObj.cpp:
3614         (WebCore::TestObjInternal::contentDocumentAttrGetter):
3615         (WebCore::TestObjInternal::getSVGDocumentCallback):
3616
3617 2012-02-02  Kalev Lember  <kalevlember@gmail.com>
3618
3619         [GTK] Make gtk+ symbols available to WidgetBackingStoreCairo.cpp
3620         https://bugs.webkit.org/show_bug.cgi?id=77679
3621
3622         WidgetBackingStoreCairo.cpp uses GTK+ symbols, so we need it in
3623         webcoregtk_sources instead of webcore_sources.
3624
3625         Reviewed by Martin Robinson.
3626
3627         * GNUmakefile.list.am: Move WidgetBackingStoreCairo.cpp to webcoregtk.
3628
3629 2012-02-02  Shinya Kawanaka  <shinyak@google.com>
3630
3631         StyleRecalc should occur when shadow root exists and light children are changed.
3632         https://bugs.webkit.org/show_bug.cgi?id=76262
3633
3634         Reviewed by Hajime Morita.
3635
3636         When light children is changed, the element included in HTMLContentElement may also be changed.
3637         So we have to recalculate inclusion of content element again.
3638
3639         Test: fast/dom/shadow/shadow-contents-fallback-dynamic.html
3640
3641         * dom/Element.cpp:
3642         (WebCore::Element::childrenChanged):
3643
3644 2012-02-02  Ami Fischman  <fischman@chromium.org>
3645
3646         Avoid crashing renderer when GPU process dies by not caching textures between video frames.
3647         https://bugs.webkit.org/show_bug.cgi?id=77654
3648
3649         Reviewed by James Robinson.
3650
3651         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
3652         (WebCore::CCVideoLayerImpl::draw):
3653
3654 2012-02-02  Anders Carlsson  <andersca@apple.com>
3655
3656         Add ScrollingTree class
3657         https://bugs.webkit.org/show_bug.cgi?id=77695
3658
3659         Reviewed by Andreas Kling.
3660
3661         * WebCore.xcodeproj/project.pbxproj:
3662         Add new files.
3663
3664         * page/scrolling/ScrollingCoordinator.cpp:
3665         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
3666         Create a scrolling tree.
3667
3668         (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
3669         Assert that the scrolling tree is null.
3670
3671         (WebCore::ScrollingCoordinator::pageDestroyed):
3672         Null out the scrolling tree member variable and tell it to invalidate itself.
3673
3674         * page/scrolling/ScrollingTree.cpp: Added.
3675
3676         (WebCore::ScrollingTree::invalidate):
3677         Null out the scrolling coordinator, breaking the reference cycle between the scrolling
3678         coordinator and the scrolling tree.
3679     
3680         * page/scrolling/ScrollingTree.h: Added.
3681
3682 2012-02-02  Tim Dresser  <tdresser@chromium.org>
3683
3684         Refactor plugin drawing to be more data driven
3685         https://bugs.webkit.org/show_bug.cgi?id=76715
3686
3687         Reviewed by James Robinson.
3688
3689         CCPluginLayerImpl no longer handles drawing itself, but produces a list of CCPluginDrawQuads.
3690         These quads are then drawn by LayerRendererChromium.
3691
3692         CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
3693         This allows for CCLayerImpl objects to allocate textures before appendQuads is called.
3694
3695         This is a refactor, so no new tests were added.
3696         Flash was tested manually on Linux and Mac.
3697
3698         * platform/graphics/chromium/LayerRendererChromium.cpp:
3699         (WebCore::PluginProgramBinding::set):
3700         (PluginProgramBinding):
3701         (WebCore):
3702         (WebCore::TexStretchPluginProgramBinding::set):
3703         (TexStretchPluginProgramBinding):
3704         (WebCore::TexTransformPluginProgramBinding::set):
3705         (TexTransformPluginProgramBinding):
3706         (WebCore::LayerRendererChromium::drawPluginQuad):
3707         * platform/graphics/chromium/cc/CCLayerImpl.h:
3708         (WebCore::CCLayerImpl::willDraw):
3709         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3710         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3711         * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp:
3712         (WebCore::CCPluginDrawQuad::create):
3713         (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
3714         * platform/graphics/chromium/cc/CCPluginDrawQuad.h:
3715         (CCPluginDrawQuad):
3716         (WebCore::CCPluginDrawQuad::uvRect):
3717         (WebCore::CCPluginDrawQuad::textureId):
3718         (WebCore::CCPluginDrawQuad::flipped):
3719         (WebCore::CCPluginDrawQuad::ioSurfaceWidth):
3720         (WebCore::CCPluginDrawQuad::ioSurfaceHeight):
3721         (WebCore::CCPluginDrawQuad::ioSurfaceTextureId):
3722         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
3723         (WebCore::CCPluginLayerImpl::willDraw):
3724         (WebCore::CCPluginLayerImpl::appendQuads):
3725         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
3726         (CCPluginLayerImpl):
3727
3728 2012-01-29  Pablo Flouret  <pablof@motorola.com>
3729
3730         V8 idl code generator doesn't handle SerializedScriptValue attributes properly.
3731         https://bugs.webkit.org/show_bug.cgi?id=77295
3732
3733         Reviewed by Kentaro Hara.
3734
3735         Only the case of one (and only one) SerializedScriptValue attribute was
3736         handled, and it was deserialized eagerly in the constructor instead of
3737         generating getters/setters. This patch gets rid of that behavior and
3738         generates the getters and setters instead (similar to what the JSC
3739         generator does).
3740         Also handle the case of SSV attributes with [CachedAttribute]
3741         declaration, caching the deserialized value in a hidden attribute on the
3742         object.
3743
3744         * bindings/scripts/CodeGeneratorV8.pm:
3745         (GenerateNormalAttrGetter):
3746         (GenerateNormalAttrSetter):
3747         (GenerateConstructorCallback):
3748         (GenerateNamedConstructorCallback):
3749         (GenerateSingleBatchedAttribute):
3750         (GenerateImplementation):
3751         (GenerateToV8Converters):
3752         (JSValueToNative):
3753         (NativeToJSValue):
3754         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
3755         (WebDOMTestSerializedScriptValueInterface::setValue):
3756         (WebDOMTestSerializedScriptValueInterface::readonlyValue):
3757         (WebDOMTestSerializedScriptValueInterface::cachedValue):
3758         (WebDOMTestSerializedScriptValueInterface::setCachedValue):
3759         (WebDOMTestSerializedScriptValueInterface::cachedReadonlyValue):
3760         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
3761         (WebDOMTestSerializedScriptValueInterface):
3762         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3763         (webkit_dom_test_serialized_script_value_interface_set_value):
3764         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
3765         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
3766         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
3767         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
3768         (webkit_dom_test_serialized_script_value_interface_get_property):
3769         (webkit_dom_test_serialized_script_value_interface_class_init):
3770         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
3771         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3772         ():
3773         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
3774         (WebCore):
3775         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
3776         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
3777         (WebCore::JSTestSerializedScriptValueInterface::put):
3778         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
3779         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
3780         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
3781         (JSTestSerializedScriptValueInterface):
3782         (JSTestSerializedScriptValueInterfacePrototype):
3783         (WebCore):
3784         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
3785         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
3786         (-[DOMTestSerializedScriptValueInterface setValue:]):
3787         (-[DOMTestSerializedScriptValueInterface readonlyValue]):
3788         (-[DOMTestSerializedScriptValueInterface cachedValue]):
3789         (-[DOMTestSerializedScriptValueInterface setCachedValue:]):
3790         (-[DOMTestSerializedScriptValueInterface cachedReadonlyValue]):
3791         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
3792         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3793         (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrGetter):
3794         (TestSerializedScriptValueInterfaceInternal):
3795         (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrSetter):
3796         (WebCore::TestSerializedScriptValueInterfaceInternal::readonlyValueAttrGetter):
3797         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrGetter):
3798         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrSetter):
3799         (WebCore::TestSerializedScriptValueInterfaceInternal::cachedReadonlyValueAttrGetter):
3800         ():
3801         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
3802         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
3803         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
3804
3805 2012-02-02  Adam Barth  <abarth@webkit.org>
3806
3807         BMW Car Configuration Page doesn't work (Only manifests in Chromium)
3808         https://bugs.webkit.org/show_bug.cgi?id=77312
3809
3810         Reviewed by Dimitri Glazkov.
3811
3812         When we autogenerated the event factory, we missed the check for
3813         whether touch events were enabled at runtime:
3814         http://trac.webkit.org/changeset/97933/trunk/Source/WebCore/dom/Document.cpp
3815
3816         This patch adds the check back.
3817
3818         Unfortunately, there isn't a testing frame work for
3819         RuntimeEnabledFeatures.  The main difficulty is that these static bools
3820         need to be set when WebKit is initialized and can't be changed (which
3821         is why they're not part of WebCore::Settings).  To test them properly,
3822         we'd need a testing framework that booted up WebKit for each test.
3823
3824         We could test this particular change (which doesn't need the bool to be
3825         constant through the runtime of WebKit), but that would create a
3826         sandtrap for future patches who might thing that this testing framework
3827         can really be used to test RuntimeEnabledFeatures.
3828
3829         The net result is that Chromium is going to end up living with the
3830         non-default codepath for these settings being untested, which will lead
3831         to regressions like this one.  If we ened up with a bunch of these
3832         regressions, we'll likely end up with a testing framework similar to
3833         Chromium's browsers_tests, which create a fresh subprocess for each
3834         test.
3835
3836         * dom/EventFactory.in:
3837         * dom/make_event_factory.pl:
3838         (defaultItemFactory):
3839         (generateImplementation):
3840
3841 2012-02-02  Justin Novosad  <junov@chromium.org>
3842
3843         [Chromium] Use SkCanvas::flush in skia port
3844         https://bugs.webkit.org/show_bug.cgi?id=77463
3845
3846         Reviewed by Stephen White.
3847
3848         Code cleanup in skia port. Using SkCanvas::flush to remove
3849         unnecessary dependency on GrContext.  Removed unnecessary inclusions
3850         and forward declarations of GrContext in several source files.
3851
3852         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
3853         (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
3854         * platform/graphics/chromium/LayerRendererChromium.cpp:
3855         * platform/graphics/chromium/LayerRendererChromium.h:
3856         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3857         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3858         * platform/graphics/chromium/cc/CCProxy.h:
3859         * platform/graphics/skia/PlatformContextSkia.cpp:
3860
3861 2012-02-02  Chris Marrin  <cmarrin@apple.com>
3862
3863         Turn on CSS Filters on Windows
3864         https://bugs.webkit.org/show_bug.cgi?id=76667
3865
3866         Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
3867
3868         Reviewed by Adele Peterson.
3869
3870         * WebCore.vcproj/copyForwardingHeaders.cmd:
3871         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3872         (PlatformCALayer::setFilters):
3873         (PlatformCALayer::filtersCanBeComposited):
3874
3875 2012-02-02  Jon Lee  <jonlee@apple.com>
3876
3877         Clear shown notifications when context is no longer active
3878         https://bugs.webkit.org/show_bug.cgi?id=77363
3879         <rdar://problem/10568907>
3880
3881         Reviewed by Darin Adler.
3882
3883         * notifications/NotificationPresenter.h: Add new virtual function to clear notifications
3884         associated with a given execution context. By default the notifications are left alone, as
3885         before. Individual implementations can override to allow notifications to clear them.
3886
3887         * notifications/NotificationCenter.cpp:
3888         (WebCore::NotificationCenter::disconnectFrame): When disconnecting the page from the frame, we
3889         call clearNotifications().
3890         * page/Frame.cpp:
3891         (WebCore::Frame::pageDestroyed): When the page is destroyed, tell the DOM window to reset notifications.
3892
3893 2012-02-02  Anders Carlsson  <andersca@apple.com>
3894
3895         The overhang area layer should have a linen background
3896         https://bugs.webkit.org/show_bug.cgi?id=77670
3897         <rdar://problem/10797727>
3898
3899         Reviewed by Andreas Kling.
3900
3901         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3902         (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
3903         Add an #ifdef so that scroll position clamping can be disabled. This will be
3904         removed once rubber-banding works properly.
3905
3906         * platform/ScrollbarTheme.h:
3907         (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
3908         Add new empty function.
3909
3910         * platform/mac/ScrollbarThemeMac.h:
3911         (ScrollbarThemeMac):
3912         * platform/mac/ScrollbarThemeMac.mm:
3913         (WebCore::linenBackgroundColor):
3914         Helper function for getting the CGColorRef that represents the linen background color.
3915
3916         (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
3917         Set the linen background color as the overhang areas layer background color.
3918
3919         * rendering/RenderLayerCompositor.cpp:
3920         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
3921         Call ScrollbarTheme::setUpOverhangAreasLayerContents.
3922
3923 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3924
3925         Unreviewed, rolling out r106566.
3926         http://trac.webkit.org/changeset/106566
3927         https://bugs.webkit.org/show_bug.cgi?id=77673
3928
3929         Broke the Windows build (Requested by jessieberlin on
3930         #webkit).
3931
3932         * WebCore.vcproj/copyForwardingHeaders.cmd:
3933         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3934
3935 2012-02-02  Tommy Widenflycht  <tommyw@google.com>
3936
3937         [chromium] MediaStream API: Adding the embedding code for MediaStreamCenter
3938         https://bugs.webkit.org/show_bug.cgi?id=73130
3939
3940         Reviewed by Darin Fisher.
3941
3942         Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
3943
3944         * mediastream/UserMediaClient.h:
3945         (UserMediaClient):
3946         * mediastream/UserMediaRequest.cpp:
3947         (WebCore::UserMediaRequest::didCompleteQuery):
3948         * mediastream/UserMediaRequest.h:
3949         (UserMediaRequest):
3950         (WebCore::UserMediaRequest::audio):
3951         (WebCore::UserMediaRequest::video):
3952         (WebCore::UserMediaRequest::cameraPreferenceUser):
3953         (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
3954         * platform/mediastream/MediaStreamCenter.cpp:
3955         (WebCore):
3956         (WebCore::MediaStreamCenter::queryMediaStreamSources):
3957         * platform/mediastream/MediaStreamCenter.h:
3958         (WebCore):
3959         (MediaStreamSourcesQueryClient):
3960         (MediaStreamCenter):
3961
3962 2012-02-02  Raymond Toy  <rtoy@google.com>
3963
3964         Constant values to set "distanceModel" are undefined
3965         https://bugs.webkit.org/show_bug.cgi?id=74273
3966
3967         Reviewed by Kenneth Russell.
3968
3969         Tests: webaudio/distance-exponential.html
3970                webaudio/distance-inverse.html
3971                webaudio/distance-linear.html
3972
3973         * webaudio/AudioPannerNode.h: Define enum for the new constants
3974         for the distance models.
3975         * webaudio/AudioPannerNode.idl: Define matching constants for the
3976         distance models.
3977
3978 2012-02-02  Raymond Toy  <rtoy@google.com>
3979
3980         Illegal panner model values should throw an exception
3981         https://bugs.webkit.org/show_bug.cgi?id=77235
3982
3983         Reviewed by Kenneth Russell.
3984
3985         Modified existing panner-set-model test to catch exceptions.
3986         Debug build should not crash anymore.
3987
3988         * webaudio/AudioPannerNode.cpp:
3989         (WebCore::AudioPannerNode::setPanningModel):  Throw exception for
3990         invalid model values.
3991         * webaudio/AudioPannerNode.h:
3992         (AudioPannerNode): Update declaration
3993         * webaudio/AudioPannerNode.idl: Setting panner model can throw
3994         exception. 
3995
3996 2012-02-02  Kentaro Hara  <haraken@chromium.org>
3997
3998         Rename [ConvertUndefinedOrNullToNullString] to
3999         [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString]
4000         https://bugs.webkit.org/show_bug.cgi?id=77611
4001
4002         Reviewed by Adam Barth.
4003
4004         This patch renames [ConvertUndefinedOrNullToNullString] to
4005         [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString], according to the spec
4006         (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs,
4007         http://dev.w3.org/2006/webapi/WebIDL/#TreatUndefinedAs).
4008
4009         No tests. No changes in behavior.
4010
4011         * bindings/scripts/CodeGeneratorJS.pm:
4012         (JSValueToNative):
4013         * bindings/scripts/CodeGeneratorV8.pm:
4014         (GetNativeTypeFromSignature):
4015         * dom/DOMImplementation.idl:
4016         * dom/Document.idl:
4017         * fileapi/Blob.idl:
4018         * fileapi/DirectoryEntry.idl:
4019         * fileapi/DirectoryEntrySync.idl:
4020         * fileapi/Entry.idl:
4021         * fileapi/EntrySync.idl:
4022         * fileapi/WebKitBlobBuilder.idl:
4023         * html/HTMLButtonElement.idl:
4024         * html/HTMLCanvasElement.idl:
4025         * html/HTMLFieldSetElement.idl:
4026         * html/HTMLInputElement.idl:
4027         * html/HTMLKeygenElement.idl:
4028         * html/HTMLObjectElement.idl:
4029         * html/HTMLOutputElement.idl:
4030         * html/HTMLSelectElement.idl:
4031         * html/HTMLTextAreaElement.idl:
4032         * page/Console.idl:
4033         * page/DOMWindow.idl:
4034
4035         * bindings/scripts/test/TestObj.idl: No changes in run-bindings-tests results.
4036
4037 2012-02-02  Anders Carlsson  <andersca@apple.com>
4038
4039         NPAPI will not send mouse up events when mouse is outside plugin area
4040         https://bugs.webkit.org/show_bug.cgi?id=77657
4041         <rdar://problem/10160674>
4042
4043         Reviewed by Andreas Kling.
4044
4045         Export EventHandler::setCapturingMouseEventsNode.
4046
4047         * WebCore.exp.in:
4048
4049 2012-02-02  Antti Koivisto  <antti@apple.com>
4050
4051         Move remaining implementation from CSSStyleDeclaration to subclasses 
4052         https://bugs.webkit.org/show_bug.cgi?id=77621
4053
4054         Reviewed by Andreas Kling.
4055
4056         This leaves CSSStyleDeclaration a near-pure CSSOM interface.
4057
4058         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4059         (WebCore::isCSSPropertyName):
4060         (WebCore::JSCSSStyleDeclaration::putDelegate):
4061         * css/CSSComputedStyleDeclaration.cpp:
4062         (WebCore::CSSComputedStyleDeclaration::parentRule):
4063         (WebCore):
4064         * css/CSSComputedStyleDeclaration.h:
4065         (CSSComputedStyleDeclaration):
4066         * css/CSSMutableStyleDeclaration.cpp:
4067         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
4068         (WebCore::CSSMutableStyleDeclaration::contextStyleSheet):
4069         (WebCore):
4070         (WebCore::CSSMutableStyleDeclaration::parentRule):
4071         * css/CSSMutableStyleDeclaration.h:
4072         (WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
4073         (WebCore::CSSMutableStyleDeclaration::parentRuleInternal):
4074         (WebCore::CSSMutableStyleDeclaration::clearParentRule):
4075         (CSSMutableStyleDeclaration):
4076         (WebCore::CSSMutableStyleDeclaration::parentElement):
4077         (WebCore::CSSMutableStyleDeclaration::clearParentElement):
4078         (WebCore::CSSMutableStyleDeclaration::parentStyleSheet):
4079         * css/CSSParser.cpp:
4080         (WebCore::parseColorValue):
4081         (WebCore::parseSimpleLengthValue):
4082         (WebCore::CSSParser::parseValue):
4083         (WebCore::CSSParser::parseDeclaration):
4084         * css/CSSStyleDeclaration.cpp:
4085         (WebCore):
4086         * css/CSSStyleDeclaration.h:
4087         (CSSStyleDeclaration):
4088         (WebCore::CSSStyleDeclaration::parentStyleSheet):
4089         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
4090         * css/CSSStyleRule.cpp:
4091         (WebCore::CSSStyleRule::setSelectorText):
4092                             
4093             Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
4094
4095         * css/CSSStyleRule.h:
4096         (WebCore::CSSStyleRule::setDeclaration):
4097         * css/CSSStyleSelector.cpp:
4098         (WebCore::isInsideRegionRule):
4099         (WebCore::CSSStyleSelector::applyDeclaration):
4100         * css/WebKitCSSKeyframeRule.cpp:
4101         (WebCore::WebKitCSSKeyframeRule::setDeclaration):
4102         * page/PageSerializer.cpp:
4103         (WebCore::PageSerializer::serializeFrame):
4104         (WebCore::PageSerializer::serializeCSSStyleSheet):
4105         (WebCore::PageSerializer::retrieveResourcesForCSSRule):
4106         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
4107         * page/PageSerializer.h:
4108         
4109             Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
4110         
4111         (WebCore):
4112         (PageSerializer):
4113
4114 2012-02-02  Chris Marrin  <cmarrin@apple.com>
4115
4116         Turn on CSS Filters on Windows
4117         https://bugs.webkit.org/show_bug.cgi?id=76667
4118
4119         Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
4120
4121         Reviewed by Adele Peterson.
4122
4123         * WebCore.vcproj/copyForwardingHeaders.cmd:
4124         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
4125         (PlatformCALayer::setFilters):
4126         (PlatformCALayer::filtersCanBeComposited):
4127
4128 2012-02-02  Anders Carlsson  <andersca@apple.com>
4129
4130         Move ScrollingThread to its own file
4131         https://bugs.webkit.org/show_bug.cgi?id=77652
4132
4133         Reviewed by Sam Weinig.