Make RenderBlock::paintChildren virtual so sub classes can change the paint order
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-07-24  Tony Chang  <tony@chromium.org>
2
3         Make RenderBlock::paintChildren virtual so sub classes can change the paint order
4         https://bugs.webkit.org/show_bug.cgi?id=92042
5
6         Reviewed by Ojan Vafai.
7
8         The flexbox spec says that the order property should change the paint order of flex children.
9         To make that possible, make paintChildren virtual so RenderFlexibleBox can override it.
10
11         No new tests, this is just a refactoring.
12
13         * rendering/RenderBlock.cpp:
14         (WebCore::RenderBlock::paintContents): Move some code out of paintChildren into paintContents.
15         (WebCore::RenderBlock::paintChildren): Make virtual and just have it be a simple for loop.
16         (WebCore::RenderBlock::paintChild): Move code out of paintChildren so subclasses can reuse.
17         * rendering/RenderBlock.h:
18         (RenderBlock): Make paintChildren virtual and protected so sub classes can call paintChild.
19
20 2012-07-24  Anna Cavender  <annacc@chromium.org>
21
22         Create SourceBuffer and SourceBufferList objects
23         https://bugs.webkit.org/show_bug.cgi?id=91771
24
25         Reviewed by Eric Carlson.
26
27         SourceBuffer and SourceBufferList objects are needed in order to
28         implement the new object-oriented MediaSource API:
29         http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html
30
31         No new tests - will be able to test after landing BUGWK91775
32
33         Adding new files to build files:
34         * CMakeLists.txt:
35         * DerivedSources.cpp:
36         * DerivedSources.make:
37         * DerivedSources.pri:
38         * GNUmakefile.am:
39         * GNUmakefile.list.am:
40         * Target.pri:
41         * WebCore.gyp/WebCore.gyp:
42         * WebCore.gypi:
43         * WebCore.vcproj/WebCore.vcproj:
44         * WebCore.vcproj/WebCoreCommon.vsprops:
45         * WebCore.vcproj/copyForwardingHeaders.cmd:
46         * WebCore.xcodeproj/project.pbxproj:
47
48         New objects:
49         * Modules/mediasource/SourceBuffer.cpp: Added.
50         * Modules/mediasource/SourceBuffer.h: Added.
51         * Modules/mediasource/SourceBuffer.idl: Added.
52         * Modules/mediasource/SourceBufferList.cpp: Added.
53         * Modules/mediasource/SourceBufferList.h: Added.
54         * Modules/mediasource/SourceBufferList.idl: Added.
55
56         New events:
57         * dom/EventNames.h:
58         (WebCore):
59         * dom/EventTarget.h:
60         (WebCore):
61         * dom/EventTargetFactory.in:
62
63         Object constructors:
64         * page/DOMWindow.idl:
65
66 2012-07-24  Patrick Gansterer  <paroga@webkit.org>
67
68         Store the full year in GregorianDateTime
69         https://bugs.webkit.org/show_bug.cgi?id=92067
70
71         Reviewed by Geoffrey Garen.
72
73         Use the full year instead of the offset from year 1900 
74         for the year member variable of GregorianDateTime.
75
76         * bridge/qt/qt_runtime.cpp:
77         (JSC::Bindings::convertValueToQVariant):
78         (JSC::Bindings::convertQVariantToValue):
79         * bridge/qt/qt_runtime_qt4.cpp:
80         (JSC::Bindings::convertValueToQVariant):
81         (JSC::Bindings::convertQVariantToValue):
82
83 2012-07-24  Benjamin Poulain  <bpoulain@apple.com>
84
85         Do not perform 8 to 16bits characters conversion when converting a WTFString to NSString/CFString
86         https://bugs.webkit.org/show_bug.cgi?id=90720
87
88         Reviewed by Geoffrey Garen.
89
90         In most String to CFString conversion, we should be able to use the "NoCopy" constructor and have
91         a relatively cheap conversion from WTF::String to CFString.
92
93         When the String is 8 bits, it was converted to 16 bits by getData16SlowCase() because of the call
94         to String::characters().
95
96         This patch adds a path for creating a CFString from a 8bits string using CFStringCreateWithBytes.
97
98         This is covered by existing tests.
99
100         * platform/text/cf/StringCF.cpp:
101         (WTF::String::createCFString): CFSTR() create static CFString, it is unecessary to retain it.
102         * platform/text/cf/StringImplCF.cpp:
103         (WTF::StringImpl::createCFString): The logic to avoid the StringWrapperCFAllocator has also been simplified.
104         The allocator creation is now closer to where it is useful.
105
106 2012-07-24  Kentaro Hara  <haraken@chromium.org>
107
108         [V8] String wrappers should be marked Independent
109         https://bugs.webkit.org/show_bug.cgi?id=91251
110
111         Reviewed by Adam Barth.
112
113         Currently V8 String wrappers are not marked Independent.
114         By marking them Independent, they can be reclaimed by the scavenger GC.
115         Although I couldn't find a case where this change reduces memory usage,
116         this change would be important for upcoming changes in string conversion
117         between V8 and WebKit (https://bugs.webkit.org/show_bug.cgi?id=91850).
118
119         'm_lastStringImpl = 0' in StringCache::remove() is important.
120         Look at the following code:
121
122             static void cachedStringCallback(v8::Persistent<v8::Value> wrapper, void* parameter)
123             {
124                 ...;
125                 stringCache()->remove(stringImpl);
126                 wrapper.Dispose();
127             }
128
129             void StringCache::remove(StringImpl* stringImpl)
130             {
131                 ...
132                 if (m_lastStringImpl.get() == stringImpl)
133                     m_lastStringImpl = 0;
134             }
135
136             v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, v8::Isolate* isolate)
137             {
138                 if (m_lastStringImpl.get() == stringImpl) {
139                     return v8::Local<v8::String>::New(m_lastV8String); // m_lastV8String points to a wrapper object that was accessed most recently.
140                 }
141                 return v8ExternalStringSlow(stringImpl, isolate);
142             }
143
144         Without 'm_lastStringImpl = 0', already disposed m_lastV8String can be used
145         in v8ExternalString(). This was a cause of the crashes of r122614.
146
147         Tests: At the initial commit of this patch (r122614),
148                the following tests had been broken due to missing 'm_lastStringImpl = 0'.
149                fast/workers/worker-location.html
150                Dromaeo/cssquery-jquery.html
151                Dromaeo/jslib-event-jquery.html
152                Dromaeo/jslib-style-jquery.html
153                Dromaeo/jslib-style-prototype.html
154
155         * bindings/v8/V8Binding.cpp:
156         (WebCore::StringCache::remove):
157         (WebCore::StringCache::v8ExternalStringSlow):
158
159 2012-07-24  Tommy Widenflycht  <tommyw@google.com>
160
161         MediaStream API: Update MediaStreamTrack to match the specification
162         https://bugs.webkit.org/show_bug.cgi?id=90180
163
164         Reviewed by Adam Barth.
165
166         MediaStreamTracks are now required to show the status of the underlying source,
167         and trigger events when that status changes.
168
169         Test: fast/mediastream/MediaStreamTrack.html
170
171         * GNUmakefile.list.am:
172         * Modules/mediastream/MediaStream.cpp:
173         (WebCore::MediaStream::MediaStream):
174         (WebCore::MediaStream::addTrack):
175         * Modules/mediastream/MediaStreamTrack.cpp:
176         (WebCore::MediaStreamTrack::create):
177         (WebCore::MediaStreamTrack::MediaStreamTrack):
178         (WebCore::MediaStreamTrack::~MediaStreamTrack):
179         (WebCore::MediaStreamTrack::setEnabled):
180         (WebCore::MediaStreamTrack::readyState):
181         (WebCore):
182         (WebCore::MediaStreamTrack::sourceChangedState):
183         (WebCore::MediaStreamTrack::stop):
184         (WebCore::MediaStreamTrack::interfaceName):
185         (WebCore::MediaStreamTrack::scriptExecutionContext):
186         (WebCore::MediaStreamTrack::eventTargetData):
187         (WebCore::MediaStreamTrack::ensureEventTargetData):
188         * Modules/mediastream/MediaStreamTrack.h:
189         * Modules/mediastream/MediaStreamTrack.idl:
190         * WebCore.gypi:
191         * dom/EventNames.h:
192         (WebCore):
193         * dom/EventTargetFactory.in:
194         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
195         * platform/chromium/support/WebMediaStreamSource.cpp:
196         (WebKit::WebMediaStreamSource::setReadyState):
197         (WebKit):
198         (WebKit::WebMediaStreamSource::readyState):
199         * platform/mediastream/MediaStreamSource.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.h.
200         (WebCore):
201         (WebCore::MediaStreamSource::create):
202         (WebCore::MediaStreamSource::MediaStreamSource):
203         (WebCore::MediaStreamSource::setReadyState):
204         (WebCore::MediaStreamSource::addObserver):
205         (WebCore::MediaStreamSource::removeObserver):
206         * platform/mediastream/MediaStreamSource.h:
207         (Observer):
208         (WebCore::MediaStreamSource::Observer::~Observer):
209         (MediaStreamSource):
210         (WebCore::MediaStreamSource::readyState):
211         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
212         (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
213         (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
214
215 2012-07-24  Scott Graham  <scottmg@chromium.org>
216
217         Use native (non-cygwin) binaries for perl, gperf, and bison in Chromium
218         https://bugs.webkit.org/show_bug.cgi?id=91667
219
220         Reviewed by Tony Chang.
221
222         Using native tools instead of cygwin version improves build time
223         performance by roughly 50% (on top of previous cl-instead-of-gcc
224         change).
225
226         Also, use - instead of / for cl flags, otherwise preprocessing fails
227         very slowly (due to retry loop). And, replace \ with / in gperf
228         command line. Without this, gperf emits the filename literally in
229         #line directives which causes VS to error with "unescaped \ in
230         string". Bizarrely, building ColorData.cpp with those \ in place
231         causes the IDE to exit with no error message, which was the cause of
232         the previous canary failures.
233
234         No new tests.
235
236         * WebCore.gyp/WebCore.gyp:
237         * WebCore.gyp/scripts/rule_bison.py:
238         * bindings/scripts/preprocessor.pm:
239         (applyPreprocessor):
240         * make-hash-tools.pl:
241
242 2012-07-24  Daniel Cheng  <dcheng@chromium.org>
243
244         Files from drag and file <input> should use getMIMETypeForExtension to determine content type.
245         https://bugs.webkit.org/show_bug.cgi?id=91702
246
247         Reviewed by Jian Li.
248
249         Awhile back, we changed File to only use getWellKnownMIMETypeForExtension to prevent web
250         pages from being able to detect what applications a user has installed indirectly through
251         the MIME types. However, some sites like YouTube's drag and drop uploader use MIME types
252         that aren't in WebKit's internal list, so we relax the restriction for Files that originate
253         from an user action.
254
255         * fileapi/File.cpp:
256         (WebCore::getContentTypeFromFileName):
257         (WebCore::createBlobDataForFile):
258         (WebCore::createBlobDataForFileWithName):
259         (WebCore::createBlobDataForFileWithMetadata):
260         (WebCore::File::createWithRelativePath):
261         (WebCore::File::File):
262         * fileapi/File.h:
263         (File):
264         (WebCore::File::create):
265         (WebCore::File::createWithName):
266         * html/FileInputType.cpp:
267         (WebCore::FileInputType::createFileList):
268         * platform/chromium/ChromiumDataObject.cpp:
269         (WebCore::ChromiumDataObject::addFilename):
270         * platform/gtk/ClipboardGtk.cpp:
271         (WebCore::ClipboardGtk::files):
272         * platform/mac/ClipboardMac.mm:
273         (WebCore::ClipboardMac::files):
274         * platform/qt/ClipboardQt.cpp:
275         (WebCore::ClipboardQt::files):
276         * platform/win/ClipboardWin.cpp:
277         (WebCore::ClipboardWin::files):
278
279 2012-07-24  Vsevolod Vlasov  <vsevik@chromium.org>
280
281         Web Inspector: Snippets UI polish
282         https://bugs.webkit.org/show_bug.cgi?id=92142
283
284         Reviewed by Pavel Feldman.
285
286         Changed snippets context menu items.
287         Added run snippet status bar button.
288         Removed unused edit source button.
289
290         * English.lproj/localizedStrings.js:
291         * inspector/front-end/Images/statusbarButtonGlyphs.png:
292         * inspector/front-end/ScriptSnippetModel.js:
293         (WebInspector.SnippetJavaScriptSourceFrame):
294         (WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
295         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
296         * inspector/front-end/ScriptsNavigator.js:
297         (WebInspector.SnippetsNavigatorView.prototype.getOrCreateFolderTreeElement):
298         (WebInspector.SnippetsNavigatorView.prototype.handleContextMenu):
299         * inspector/front-end/ScriptsPanel.js:
300         (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):
301         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
302         * inspector/front-end/SourceFrame.js:
303         (WebInspector.SourceFrame.prototype.statusBarItems):
304         * inspector/front-end/inspector.css:
305         * inspector/front-end/scriptsPanel.css:
306         (.evaluate-snippet-status-bar-item .glyph):
307         (.evaluate-snippet-status-bar-item.toggled .glyph):
308
309 2012-07-24  Nico Weber  <thakis@chromium.org>
310
311         [chromium/mac] Remove webcore_resource_files from WebCore.gypi
312         https://bugs.webkit.org/show_bug.cgi?id=92129
313
314         Reviewed by Adam Barth.
315
316         It was added in http://trac.webkit.org/changeset/81706/trunk/Source/WebCore/WebCore.gypi .
317         The changes in that revision were mostly reverted in http://trac.webkit.org/changeset/119921 ,
318         but this block was forgotten. Since it just confused me for a bit, remove it.
319
320         * WebCore.gyp/WebCore.gyp:
321
322 2012-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
323
324         inline-table wrapper should be generated for display: inline element only
325         https://bugs.webkit.org/show_bug.cgi?id=92054
326
327         Reviewed by Abhishek Arya.
328
329         CSS 2.1 only takes into account the display when determining if we should generate
330         an inline-table. My misreading of the spec would make us generate an inline-table
331         wrapper for any inline formatting context.
332
333         Test: fast/table/inline-block-generates-table-wrapper.html
334
335         * rendering/RenderTable.cpp:
336         (WebCore::RenderTable::createAnonymousWithParentRenderer):
337         Changed to use display instead of isInline to properly match the spec.
338
339 2012-07-24  Alec Flett  <alecflett@chromium.org>
340
341         IndexedDB: Temporarily continue generating backend keys for empty key lists
342         https://bugs.webkit.org/show_bug.cgi?id=92012
343
344         Reviewed by Tony Chang.
345
346         Temporarily change key behavior to allow chromium in_process_webkit
347         to call putWithIndexKeys without inadvertently preventing index
348         key generation. Note this is temporary until frontend key generation
349         patch lands.
350
351         No new tests, this is part of a refactor that doesn't change behavior.
352
353         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
354         (WebCore::IDBObjectStoreBackendImpl::putInternal):
355
356 2012-07-24  Pavel Feldman  <pfeldman@chromium.org>
357
358         Web Inspector: introduce UISourceCodeFrame.
359         https://bugs.webkit.org/show_bug.cgi?id=92124
360
361         Reviewed by Vsevolod Vlasov.
362
363         Generic implementation of SourceFrame over UISourceCode added.
364
365         * WebCore.gypi:
366         * WebCore.vcproj/WebCore.vcproj:
367         * inspector/compile-front-end.py:
368         * inspector/front-end/ScriptsPanel.js:
369         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
370         * inspector/front-end/StylesPanel.js:
371         * inspector/front-end/UISourceCodeFrame.js: Added.
372         (WebInspector.UISourceCodeFrame):
373         (WebInspector.UISourceCodeFrame.prototype.canEditSource):
374         (WebInspector.UISourceCodeFrame.prototype.commitEditing):
375         (WebInspector.UISourceCodeFrame.prototype.afterTextChanged):
376         (WebInspector.UISourceCodeFrame.prototype._didEditContent):
377         (WebInspector.UISourceCodeFrame.prototype._onContentChanged):
378         (WebInspector.UISourceCodeFrame.prototype.populateTextAreaContextMenu):
379         * inspector/front-end/WebKit.qrc:
380         * inspector/front-end/inspector.html:
381
382 2012-07-24  Dan Bernstein  <mitz@apple.com>
383
384         <rdar://problem/11945102> REGRESSION (r109451): Overlay scrollbars always use the default style, regardless of background color
385         https://bugs.webkit.org/show_bug.cgi?id=92115
386
387         Reviewed by Mark Rowe.
388
389         * platform/Scrollbar.cpp:
390         (WebCore::Scrollbar::scrollbarOverlayStyle): Reversed an incorrect null check.
391
392 2012-07-24  Andrew Wilson  <atwilson@chromium.org>
393
394         Another prospective build fix for Chromium. Unreviewed.
395
396         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
397
398 2012-07-24  Andrew Wilson  <atwilson@chromium.org>
399
400         Unreviewed prospective build fix for Chromium. Changed include of hb.h in HarfBuzzNGFace.h
401
402         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
403
404 2012-07-24  Dominik Röttsches  <dominik.rottsches@intel.com>
405
406         HarfBuzzFaceNG.h forward declarations conflict with newer versions of Harfbuzz
407         https://bugs.webkit.org/show_bug.cgi?id=92103
408
409         Reviewed by Philippe Normand.
410
411         As preparation for enabling harfbuzz-ng for EFL, I would like to include the header
412         here since the forward declarations are conflicting with the harfbuzz version
413         we will use for EFL.
414
415         No new tests, no change in behavior.
416
417         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
418
419 2012-07-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
420
421         Fix blend filter for autovectorizing
422         https://bugs.webkit.org/show_bug.cgi?id=91398
423
424         Reviewed by Nikolas Zimmermann.
425
426         To support auto-vectorizing, the loop had to be unswitched, and regular arrays used that 
427         did not do boundary-checks in the inner loop. Finally the integer division by 255
428         was optimized not use integer division intrinsics.
429
430         On a X86-64 architechture using GCC -O3 on the file, this gives a speed-up of 2.9x.
431
432         * platform/graphics/filters/FEBlend.cpp:
433         (WebCore::fastDivideBy255):
434         (BlendNormal):
435         (WebCore::BlendNormal::apply):
436         (BlendMultiply):
437         (WebCore::BlendMultiply::apply):
438         (BlendScreen):
439         (WebCore::BlendScreen::apply):
440         (BlendDarken):
441         (WebCore::BlendDarken::apply):
442         (BlendLighten):
443         (WebCore::BlendLighten::apply):
444         (BlendUnknown):
445         (WebCore::BlendUnknown::apply):
446         (WebCore::platformApply):
447         (WebCore::FEBlend::platformApplyGeneric):
448         (WebCore::FEBlend::platformApplySoftware):
449         * platform/graphics/filters/FEBlend.h:
450         (FEBlend):
451
452 2012-07-23  Hans Wennborg  <hans@chromium.org>
453
454         Speech JavaScript API: Add the SpeechRecognitionResult.emma attribute
455         https://bugs.webkit.org/show_bug.cgi?id=91743
456
457         Reviewed by Adam Barth.
458
459         Implement the 'emma' attribute as described in the spec draft at
460         http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
461
462         Test: fast/speech/scripted/emma.html
463
464         * Modules/speech/SpeechRecognitionResult.cpp:
465         (WebCore::SpeechRecognitionResult::~SpeechRecognitionResult):
466         (WebCore):
467         (WebCore::SpeechRecognitionResult::emma):
468         * Modules/speech/SpeechRecognitionResult.h:
469         (WebCore):
470         (SpeechRecognitionResult):
471         * Modules/speech/SpeechRecognitionResult.idl:
472         * WebCore.gypi:
473         * bindings/v8/custom/V8SpeechRecognitionResultCustom.cpp:
474         (WebCore):
475         (WebCore::V8SpeechRecognitionResult::visitDOMWrapper):
476           We need to add an implicit reference from the result object to the
477           emma object to keep the latters DOM tree alive across
478           garbage-collection.
479
480 2012-07-24  Andrei Poenaru  <poenaru@adobe.com>
481
482         Web Inspector: Protocol Extension: add getFlowByName command
483         https://bugs.webkit.org/show_bug.cgi?id=91855
484
485         Reviewed by Pavel Feldman.
486
487         The "getFlowByName" command should return a NamedFlow for a given document and name.
488
489         Test: inspector/styles/protocol-css-regions-commands.html
490
491         * inspector/Inspector.json:
492         * inspector/InspectorCSSAgent.cpp:
493         (WebCore::InspectorCSSAgent::getFlowByName):
494         (WebCore):
495         * inspector/InspectorCSSAgent.h:
496         (InspectorCSSAgent):
497         * inspector/front-end/CSSStyleModel.js:
498         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
499         (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
500         (WebInspector.NamedFlow):
501         (WebInspector.NamedFlow.parsePayload):
502
503 2012-07-23  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
504
505         [Qt] Fix compilation against namespaced Qt
506
507         Reviewed by Simon Hausmann.
508
509         * platform/graphics/Font.h:
510         * platform/network/ResourceHandleInternal.h:
511         * platform/qt/ThirdPartyCookiesQt.h:
512
513 2012-07-24  Anthony Scian  <ascian@rim.com>
514
515         Web Inspector [JSC]: Enable initiator column in network panel.
516         https://bugs.webkit.org/show_bug.cgi?id=65533
517
518         Reviewed by Vsevolod Vlasov.
519
520         With 40118 fixed for webkit, Preferences.displayInitiator should be set to true.
521         Removed references to it since the optionality is no longer required.
522
523         Test: http/tests/inspector/network/network-initiator.html
524
525         * inspector/front-end/NetworkPanel.js:
526         (WebInspector.NetworkLogView.prototype._createTable):
527         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
528         (WebInspector.NetworkLogView.prototype.switchToBriefView):
529         (WebInspector.NetworkDataGridNode.prototype.createCells):
530         (WebInspector.NetworkDataGridNode.prototype.refreshRequest):
531         * inspector/front-end/Settings.js:
532
533 2012-07-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
534
535         Missing *explicit* keyword in dom and page.
536         https://bugs.webkit.org/show_bug.cgi?id=92074
537
538         Reviewed by Kentaro Hara.
539
540         Some constructors missed to use *explicit* keyword. They need to be added
541         *explicit* keyword to contructor which has a parameter in order to avoid
542         implicit type conversion.
543
544         Some files in dom directory can't use explicit keyword because of build breaks.
545
546         No new tests. Covered by existing tests.
547
548         * dom/BeforeLoadEvent.h:
549         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
550         * dom/BeforeTextInsertedEvent.h:
551         (BeforeTextInsertedEvent):
552         * dom/ChildListMutationScope.h:
553         (WebCore::ChildListMutationScope::ChildListMutationScope):
554         * dom/ChildNodeList.h:
555         (ChildNodeList):
556         * dom/ClientRect.h:
557         (ClientRect):
558         * dom/ClientRectList.h:
559         (ClientRectList):
560         * dom/ComposedShadowTreeWalker.h:
561         (ComposedShadowTreeParentWalker):
562         * dom/DOMCoreException.h:
563         (WebCore::DOMCoreException::DOMCoreException):
564         * dom/DOMImplementation.h:
565         (DOMImplementation):
566         * dom/DatasetDOMStringMap.h:
567         (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
568         * dom/DeviceMotionController.h:
569         (DeviceMotionController):
570         * dom/DeviceOrientationController.h:
571         (DeviceOrientationController):
572         * dom/DocumentParser.h:
573         (DocumentParser):
574         * dom/EventException.h:
575         (WebCore::EventException::EventException):
576         * dom/EventListener.h:
577         (WebCore::EventListener::EventListener):
578         * dom/ExceptionBase.h:
579         (ExceptionBase):
580         * dom/GenericEventQueue.h:
581         (GenericEventQueue):
582         * dom/KeyboardEvent.h:
583         (WebCore::KeypressCommand::KeypressCommand):
584         * dom/MemoryInstrumentation.h:
585         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
586         * dom/MessageChannel.h:
587         (MessageChannel):
588         * dom/MessagePort.h:
589         (MessagePort):
590         * dom/MessagePortChannel.h:
591         (MessagePortChannel):
592         * dom/MutationObserver.h:
593         * dom/NamedNodeMap.h:
594         (WebCore::NamedNodeMap::NamedNodeMap):
595         * dom/NodeFilter.h:
596         (WebCore::NodeFilter::NodeFilter):
597         * dom/NodeWithIndex.h:
598         (WebCore::NodeWithIndex::NodeWithIndex):
599         * dom/Range.h:
600         * dom/RangeException.h:
601         (WebCore::RangeException::RangeException):
602         * dom/RawDataDocumentParser.h:
603         (WebCore::RawDataDocumentParser::RawDataDocumentParser):
604         * dom/ScriptRunner.h:
605         (ScriptRunner):
606         * dom/SelectorQuery.h:
607         (SelectorQuery):
608         * dom/ShadowRoot.h:
609         (ShadowRoot):
610         * dom/SpaceSplitString.h:
611         (SpaceSplitStringData):
612         * dom/StaticHashSetNodeList.h:
613         (StaticHashSetNodeList):
614         * dom/StaticNodeList.h:
615         (WebCore::StaticNodeList::StaticNodeList):
616         * dom/TransformSource.h:
617         (TransformSource):
618         * dom/TreeScope.h:
619         (TreeScope):
620         * dom/WebKitNamedFlowCollection.h:
621         (WebKitNamedFlowCollection):
622         * page/EventHandler.h:
623         (EventHandler):
624         * page/FocusController.h:
625         (FocusController):
626         * page/FrameView.h:
627         (FrameView):
628         * page/MemoryInfo.h:
629         (MemoryInfo):
630         * page/Page.h:
631         (Page):
632         * page/PageGroup.h:
633         (PageGroup):
634         * page/PrintContext.h:
635         (PrintContext):
636         * page/Settings.h:
637         (Settings):
638         * page/SpeechInput.h:
639         (SpeechInput):
640         * page/SpeechInputResultList.h:
641         (SpeechInputResultList):
642         * page/WebKitAnimation.h:
643         * page/WindowFeatures.h:
644         (WindowFeatures):
645         * page/WorkerNavigator.h:
646         (WorkerNavigator):
647
648 2012-07-24  Kent Tamura  <tkent@chromium.org>
649
650         Replace some callsites of shadowAncestorNode() with shadowHost()
651         https://bugs.webkit.org/show_bug.cgi?id=92060
652
653         Reviewed by Hajime Morita.
654
655         shadowAncestorNode() is deprecated.
656
657         No new tests. This shouldn't change behaviors.
658
659         * html/shadow/MediaControlElements.cpp:
660         (WebCore::toParentMediaElement):
661         * html/shadow/TextControlInnerElements.h:
662         (WebCore::SpinButtonElement::isEnabledFormControl):
663         (WebCore::SpinButtonElement::isReadOnlyFormControl):
664         * platform/efl/RenderThemeEfl.cpp:
665         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
666         (WebCore::RenderThemeEfl::paintMediaMuteButton):
667         * platform/gtk/RenderThemeGtk.cpp:
668         (WebCore::getMediaElementFromRenderObject):
669         (WebCore::centerRectVerticallyInParentInputElement):
670         * platform/qt/RenderThemeQt.cpp:
671         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
672         (WebCore::RenderThemeQt::paintMediaSliderThumb):
673         Removed an ASSERT() because nullness of o->node() is already asserted.
674         * rendering/RenderInputSpeech.cpp:
675         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
676         * rendering/RenderMediaControlsChromium.cpp:
677         (WebCore::paintMediaSliderThumb):
678         Passing shadowHost() to toParentMediaElement(), which accepts 0 and will return 0.
679         (WebCore::paintMediaVolumeSliderThumb): ditto.
680         * rendering/RenderThemeChromiumSkia.cpp:
681         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
682         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
683         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
684         * rendering/RenderThemeMac.mm:
685         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
686         Remove an ASSERT(input) because input never be null unless o->node() is
687         null. If o->node() is null, this function crashes.
688         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
689         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
690         (WebCore::RenderThemeMac::paintMediaMuteButton):
691         It's ok to ignore "node is a media element" case because this function
692         works only if node->isMediaControlElement().
693         (WebCore::RenderThemeMac::paintMediaPlayButton): ditto.
694         (WebCore::RenderThemeMac::paintMediaSliderTrack): ditto.
695         * rendering/RenderThemeSafari.cpp:
696         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
697         Remove an ASSERT(input) because input never be null unless o->node() is
698         null. If o->node() is null, this function crashes.
699         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): ditto.
700         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): ditto.
701         * rendering/RenderThemeWinCE.cpp:
702         (WebCore::mediaElementParent):
703
704 2012-07-24  Peter Beverloo  <peter@chromium.org>
705
706         [Chromium] Build fix for Android after r123424
707         https://bugs.webkit.org/show_bug.cgi?id=92082
708
709         Unreviewed build fix.
710
711         Mark removed the PlatformSupport.h header from ScrollbarThemeChromiumAndroid.cpp
712         in r123424, while there still are two references left to another method and a
713         constant. Re-add the include directive.
714
715         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
716
717 2012-07-24  Kentaro Hara  <haraken@chromium.org>
718
719         [JSC] REGRESSION(r122912): CodeGeneratorJS.pm generates wrong code
720         for static attributes in supplemental IDL files
721         https://bugs.webkit.org/show_bug.cgi?id=91925
722
723         Reviewed by Adam Barth.
724
725         r122912 implemented static attributes in CodeGeneratorJS.pm.
726         However, it generates wrong code for static attributes in supplemental
727         IDL files. This patch fixes it as shown in JSTestInterface.cpp.
728         This fix aligns with the fix in CodeGeneratorV8.pm (r123308).
729
730         Test: bindings/scripts/test/TestSupplemental.idl
731
732         * bindings/scripts/CodeGeneratorJS.pm:
733         (GenerateImplementation):
734         * bindings/scripts/test/JS/JSTestInterface.cpp:
735         (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
736         (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
737         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
738
739 2012-07-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
740
741         Add *explicit* keyword to constructor which has a parameter in bridge, history, loader and plugins.
742         https://bugs.webkit.org/show_bug.cgi?id=92064
743
744         Reviewed by Kentaro Hara.
745
746         Some constructors missed to use *explicit* keyword. They need to be added
747         *explicit* keyword to contructor which has a parameter in order to avoid
748         implicit type conversion.
749
750         No new tests. Covered by existing tests.
751
752         * bridge/IdentifierRep.h:
753         (WebCore::IdentifierRep::IdentifierRep):
754         * history/BackForwardListImpl.h:
755         (BackForwardListImpl):
756         * history/CachedFrame.h:
757         (CachedFrame):
758         * history/HistoryItem.h:
759         (HistoryItem):
760         * loader/DocumentWriter.h:
761         (DocumentWriter):
762         * loader/FrameNetworkingContext.h:
763         (WebCore::FrameNetworkingContext::FrameNetworkingContext):
764         * loader/HistoryController.h:
765         * loader/ImageLoader.h:
766         (ImageLoader):
767         * loader/LinkLoader.h:
768         (LinkLoader):
769         * loader/MainResourceLoader.h:
770         (MainResourceLoader):
771         * loader/NavigationAction.h:
772         (NavigationAction):
773         * loader/NavigationScheduler.h:
774         (NavigationScheduler):
775         * loader/PolicyChecker.h:
776         (PolicyChecker):
777         * loader/SubframeLoader.h:
778         (SubframeLoader):
779         * loader/ThreadableLoaderClientWrapper.h:
780         (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
781         * plugins/PluginData.h:
782         (PluginData):
783         * plugins/PluginViewBase.h:
784         (WebCore::PluginViewBase::PluginViewBase):
785
786 2012-07-24  Patrick Gansterer  <paroga@webkit.org>
787
788         [Qt] Fix conversion from GregorianDateTime to QTime
789         https://bugs.webkit.org/show_bug.cgi?id=92068
790
791         Reviewed by Simon Hausmann.
792
793         * bridge/qt/qt_runtime.cpp:
794         (JSC::Bindings::convertValueToQVariant):
795         * bridge/qt/qt_runtime_qt4.cpp:
796         (JSC::Bindings::convertValueToQVariant):
797
798 2012-07-24  Arko Saha  <arko@motorola.com>
799
800         Microdata: Implement PropertyNodeList interface.
801         https://bugs.webkit.org/show_bug.cgi?id=80269
802
803         Reviewed by Ryosuke Niwa.
804
805         Added support for PropertyNodeList interface. Currently HTMLPropertiesCollection.namedItem(name)
806         returns NodeList object. Made changes so that it will return PropertyNodeList object.
807
808         Implemented propertyNodeList.getValues() method. It returns an array of various values. Its
809         values are obtained from the "itemValue" DOM property of each of the elements represented by
810         the object, in tree order.
811
812         Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#propertynodelist
813
814         Tests: fast/dom/MicroData/nameditem-returns-propertynodelist.html
815                fast/dom/MicroData/propertynodelist-getvalues-array-values-obtained-from-itemvalue-of-each-element.html
816                fast/dom/MicroData/propertynodelist-getvalues-test.html
817                fast/dom/MicroData/propertynodelist-test-add-remove-element.html
818
819         * CMakeLists.txt:
820         * DerivedSources.cpp:
821         * DerivedSources.make:
822         * DerivedSources.pri:
823         * GNUmakefile.list.am:
824         * Target.pri:
825         * UseJSC.cmake:
826         * UseV8.cmake:
827         * WebCore.gypi:
828         * WebCore.vcproj/WebCore.vcproj:
829         * WebCore.xcodeproj/project.pbxproj:
830         * bindings/gobject/GNUmakefile.am:
831         * bindings/js/JSBindingsAllInOne.cpp:
832         * bindings/js/JSMicroDataItemValueCustom.cpp: Added.
833         (WebCore):
834         (WebCore::toJS): Added toJS() custom method. Returns Node if itemValue is node else returns String.
835         * bindings/v8/custom/V8MicroDataItemValueCustom.cpp: Added.
836         (WebCore):
837         (WebCore::toV8): Added toV8 custom code.
838         * dom/DynamicNodeList.cpp:
839         (WebCore::DynamicNodeListCacheBase::rootNode): Return document if owner node has itemref attribute specified.
840         (WebCore):
841         (WebCore::DynamicNodeListCacheBase::ownerNodeHasItemRefAttribute): Returns true if owner node has itemref attribute
842         specified with root type NodeListRootedAtDocumentIfOwnerHasItemrefAttr.
843         (WebCore::DynamicNodeListCacheBase::invalidateCache):
844         (WebCore::DynamicNodeList::itemWithName): Update itemrefElements cache if root type is
845         NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr.
846         * dom/DynamicNodeList.h: Added m_hasItemRefElements in DynamicNodeListCacheBase to check if itemRefElmenets cache
847         is valid.
848         (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
849         (WebCore::DynamicNodeListCacheBase::isRootedAtDocument):
850         (DynamicNodeListCacheBase):
851         (WebCore::DynamicNodeListCacheBase::isItemRefElementsCacheValid):
852         (WebCore::DynamicNodeListCacheBase::setItemRefElementsCacheValid):
853         (WebCore::DynamicNodeListCacheBase::rootType): Returns cached root type.
854         (WebCore::DynamicNodeListCacheBase::shouldInvalidateTypeOnAttributeChange): Invalidate NodeListCache on itemref
855         attribute change.
856         * dom/Node.cpp:
857         (WebCore::Node::propertyNodeList):
858         * dom/Node.h:
859         (WebCore):
860         (Node):
861         * dom/PropertyNodeList.cpp: Added.
862         (WebCore):
863         (WebCore::PropertyNodeList::PropertyNodeList):
864         (WebCore::PropertyNodeList::~PropertyNodeList):
865         (WebCore::PropertyNodeList::elementIsPropertyOfRefElement): Checks if the testElement is a property of Microdata
866         item.
867         (WebCore::PropertyNodeList::updateRefElements):
868         (WebCore::PropertyNodeList::nodeMatches):
869         (WebCore::PropertyNodeList::getValues): Returns PropertyValueArray whose values are obtained from the
870         itemValue DOM property of each of the elements represented by the object, in tree order.
871         * dom/PropertyNodeList.h: Added.
872         (WebCore):
873         (PropertyNodeList):
874         (WebCore::PropertyNodeList::create):
875         * dom/PropertyNodeList.idl: Added.
876         * html/HTMLCollection.cpp:
877         (WebCore::DynamicNodeListCacheBase::itemCommon): Update itemrefElements cache if its a NodeListCollectionType with
878         root type NodeListIsRootedAtDocumentIfOwnerHasItemrefAttr.
879         * html/HTMLElement.cpp:
880         (WebCore::HTMLElement::properties):
881         (WebCore):
882         (WebCore::HTMLElement::getItemRefElements): Returns the ItemRefElements list of given element. Added this
883         method to share the code between HTMLPropertiesCollection and PropertyNodeList to update itemRefElements.
884         * html/HTMLElement.h:
885         (HTMLElement):
886         * html/HTMLPropertiesCollection.cpp:
887         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
888         (WebCore::HTMLPropertiesCollection::updateRefElements):
889         (WebCore::HTMLPropertiesCollection::updateNameCache):
890         (WebCore::HTMLPropertiesCollection::namedItem): Return PropertyNodeList object instead of NodeList.
891         (WebCore::HTMLPropertiesCollection::hasNamedItem): Return true if it finds an item with given
892         name in the properties collection.
893         * html/HTMLPropertiesCollection.h: Removed m_hasItemRefElements member variable, now DynamicNodeListCacheBase
894         has isItemRefElementsCacheValid. Also removed m_hasPropertyNameCache, as DynamicNodeListCacheBase already has
895         hasNameCache() and setHasNameCache().
896         (WebCore):
897         (HTMLPropertiesCollection):
898         (WebCore::HTMLPropertiesCollection::invalidateCache):
899         (WebCore::HTMLPropertiesCollection::updatePropertyCache):
900         * html/HTMLPropertiesCollection.idl:
901         * html/MicroDataItemValue.idl: Added.
902         * page/DOMWindow.idl:
903
904 2012-07-24  Kentaro Hara  <haraken@chromium.org>
905
906         [JSC] REGRESSION(r122912): CodeGeneratorJS.pm should not
907         implicitly assume ScriptExecutionContext for static attributes
908         https://bugs.webkit.org/show_bug.cgi?id=91924
909
910         Reviewed by Adam Barth.
911
912         r122912 implemented static attributes in CodeGeneratorJS.pm.
913         However, the generated code assumes that static attributes
914         always require ScriptExecutionContext, which is wrong.
915         If we need a ScriptExecutionContext, we should specify
916         [CallWith=ScriptExecutionContext].
917
918         This patch fixes CodeGeneratorJS.pm so that static attributes
919         do not assume ScriptExecutionContext. This fix aligns with
920         the fix in CodeGeneratorV8.pm in r123308.
921
922         Test: bindings/scripts/test/TestObj.idl
923
924         * bindings/scripts/CodeGeneratorJS.pm:
925         (GenerateImplementation):
926         * bindings/scripts/test/JS/JSTestInterface.cpp:
927         (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
928         (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
929         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
930         * bindings/scripts/test/JS/JSTestObj.cpp:
931         (WebCore::jsTestObjConstructorStaticReadOnlyIntAttr):
932         (WebCore::jsTestObjConstructorStaticStringAttr):
933         (WebCore::setJSTestObjConstructorStaticStringAttr):
934
935 2012-07-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
936
937         Missing *explicit* keyword in editing.
938         https://bugs.webkit.org/show_bug.cgi?id=92055
939
940         Reviewed by Ryosuke Niwa.
941
942         Some constructors missed to use *explicit* keyword. They need to be added
943         *explicit* keyword to contructor which has a parameter in order to avoid
944         implicit type conversion.
945
946         No new tests. Covered by existing tests.
947
948         * editing/AlternativeTextController.h:
949         (WebCore::AlternativeTextController::UNLESS_ENABLED):
950         * editing/BreakBlockquoteCommand.h:
951         (BreakBlockquoteCommand):
952         * editing/DeleteButton.h:
953         (DeleteButton):
954         * editing/DeleteButtonController.h:
955         (DeleteButtonController):
956         * editing/EditCommand.h:
957         (EditCommand):
958         (WebCore::SimpleEditCommand::SimpleEditCommand):
959         * editing/EditingBehavior.h:
960         (WebCore::EditingBehavior::EditingBehavior):
961         * editing/EditingStyle.h:
962         (EditingStyle):
963         * editing/Editor.h:
964         (Editor):
965         * editing/FrameSelection.h:
966         (FrameSelection):
967         * editing/InsertLineBreakCommand.h:
968         (InsertLineBreakCommand):
969         * editing/ModifySelectionListLevel.h:
970         (ModifySelectionListLevelCommand):
971         (DecreaseSelectionListLevelCommand):
972         * editing/RemoveFormatCommand.h:
973         (RemoveFormatCommand):
974         * editing/RemoveNodeCommand.h:
975         (RemoveNodeCommand):
976         * editing/RemoveNodePreservingChildrenCommand.h:
977         (RemoveNodePreservingChildrenCommand):
978         * editing/ReplaceNodeWithSpanCommand.h:
979         (ReplaceNodeWithSpanCommand):
980         * editing/TextInsertionBaseCommand.h:
981         (TextInsertionBaseCommand):
982         * editing/UndoManager.h:
983         (UndoManager):
984         * editing/UnlinkCommand.h:
985         (UnlinkCommand):
986         * editing/WrapContentsInDummySpanCommand.h:
987         (WrapContentsInDummySpanCommand):
988
989 2012-07-23  Dominic Mazzoni  <dmazzoni@google.com>
990
991         AX: Need AccessibilityObjects for nodes without renderers in canvas subtree
992         https://bugs.webkit.org/show_bug.cgi?id=87899
993
994         Reviewed by Chris Fleizach.
995
996         Refactors AccessibilityRenderObject so that it inherits from a new class,
997         AccessibilityNodeObject, that can be constructed from a Node without a
998         renderer. Modifies AXObjectCache so that it automatically creates an
999         AccessibilityNodeObject for elements in a canvas subtree but not otherwise.
1000         A new layout test verifies that this correctly exposes an accessibility
1001         tree with appropriate roles for elements in a canvas subtree.
1002
1003         This patch does not try to complete the implementation of
1004         AccessibilityNodeObject. Most AX methods are still unimplemented and need
1005         to be migrated from AccessibilityRenderObject to AccessibilityNodeObject
1006         in a future patch.
1007         
1008         This patch also doesn't change anything outside of WebCore/accessibility, so
1009         the rest of WebCore only calls AXObjectCache when there are changes to a
1010         RenderObject, not to a Node. Accessible notifications on nodes without
1011         renderers need to be implemented in a future patch.
1012
1013         Test: accessibility/canvas-accessibilitynodeobject.html
1014
1015         * CMakeLists.txt:
1016         * GNUmakefile.list.am:
1017         * Target.pri:
1018         * WebCore.gypi:
1019         * accessibility/AXObjectCache.cpp:
1020         (WebCore::AXObjectCache::get):
1021         (WebCore):
1022         (WebCore::createFromNode):
1023         (WebCore::AXObjectCache::getOrCreate):
1024         (WebCore::AXObjectCache::remove):
1025         * accessibility/AXObjectCache.h:
1026         (AXObjectCache):
1027         (WebCore::AXObjectCache::get):
1028         (WebCore::AXObjectCache::getOrCreate):
1029         (WebCore::AXObjectCache::remove):
1030         * accessibility/AccessibilityARIAGrid.cpp:
1031         (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
1032         (WebCore):
1033         (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
1034         (WebCore::AccessibilityARIAGrid::init):
1035         (WebCore::AccessibilityARIAGrid::create):
1036         * accessibility/AccessibilityARIAGrid.h:
1037         (AccessibilityARIAGrid):
1038         * accessibility/AccessibilityARIAGridCell.cpp:
1039         (WebCore::AccessibilityARIAGridCell::create):
1040         * accessibility/AccessibilityARIAGridRow.cpp:
1041         (WebCore::AccessibilityARIAGridRow::create):
1042         * accessibility/AccessibilityAllInOne.cpp:
1043         * accessibility/AccessibilityList.cpp:
1044         (WebCore::AccessibilityList::create):
1045         * accessibility/AccessibilityListBox.cpp:
1046         (WebCore::AccessibilityListBox::create):
1047         * accessibility/AccessibilityMediaControls.cpp:
1048         (WebCore::AccessibilityMediaControl::create):
1049         (WebCore::AccessibilityMediaControlsContainer::create):
1050         (WebCore::AccessibilityMediaTimeline::create):
1051         (WebCore::AccessibilityMediaTimeDisplay::create):
1052         * accessibility/AccessibilityMenuList.cpp:
1053         (WebCore::AccessibilityMenuList::create):
1054         (WebCore):
1055         * accessibility/AccessibilityMenuList.h:
1056         (AccessibilityMenuList):
1057         * accessibility/AccessibilityNodeObject.cpp: Added.
1058         (WebCore):
1059         (WebCore::AccessibilityNodeObject::AccessibilityNodeObject):
1060         (WebCore::AccessibilityNodeObject::~AccessibilityNodeObject):
1061         (WebCore::AccessibilityNodeObject::init):
1062         (WebCore::AccessibilityNodeObject::create):
1063         (WebCore::AccessibilityNodeObject::detach):
1064         (WebCore::AccessibilityNodeObject::childrenChanged):
1065         (WebCore::AccessibilityNodeObject::updateAccessibilityRole):
1066         (WebCore::AccessibilityNodeObject::firstChild):
1067         (WebCore::AccessibilityNodeObject::lastChild):
1068         (WebCore::AccessibilityNodeObject::previousSibling):
1069         (WebCore::AccessibilityNodeObject::nextSibling):
1070         (WebCore::AccessibilityNodeObject::parentObjectIfExists):
1071         (WebCore::AccessibilityNodeObject::parentObject):
1072         (WebCore::AccessibilityNodeObject::elementRect):
1073         (WebCore::AccessibilityNodeObject::setNode):
1074         (WebCore::AccessibilityNodeObject::document):
1075         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
1076         (WebCore::AccessibilityNodeObject::addChildren):
1077         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
1078         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
1079         (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute):
1080         (WebCore::AccessibilityNodeObject::ariaRoleAttribute):
1081         (WebCore::AccessibilityNodeObject::remapAriaRoleDueToParent):
1082         * accessibility/AccessibilityNodeObject.h: Added.
1083         (WebCore):
1084         (AccessibilityNodeObject):
1085         (WebCore::AccessibilityNodeObject::isAccessibilityNodeObject):
1086         (WebCore::AccessibilityNodeObject::node):
1087         (WebCore::AccessibilityNodeObject::isDetached):
1088         (WebCore::toAccessibilityNodeObject):
1089         * accessibility/AccessibilityObject.h:
1090         (WebCore::AccessibilityObject::isAccessibilityNodeObject):
1091         * accessibility/AccessibilityProgressIndicator.cpp:
1092         (WebCore::AccessibilityProgressIndicator::create):
1093         * accessibility/AccessibilityRenderObject.cpp:
1094         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
1095         (WebCore::AccessibilityRenderObject::init):
1096         (WebCore):
1097         (WebCore::AccessibilityRenderObject::create):
1098         (WebCore::AccessibilityRenderObject::detach):
1099         (WebCore::AccessibilityRenderObject::setRenderer):
1100         (WebCore::AccessibilityRenderObject::canHaveChildren):
1101         (WebCore::AccessibilityRenderObject::addCanvasChildren):
1102         (WebCore::AccessibilityRenderObject::addChildren):
1103         * accessibility/AccessibilityRenderObject.h:
1104         (AccessibilityRenderObject):
1105         * accessibility/AccessibilitySlider.cpp:
1106         (WebCore::AccessibilitySlider::create):
1107         * accessibility/AccessibilityTable.cpp:
1108         (WebCore::AccessibilityTable::AccessibilityTable):
1109         (WebCore):
1110         (WebCore::AccessibilityTable::~AccessibilityTable):
1111         (WebCore::AccessibilityTable::init):
1112         (WebCore::AccessibilityTable::create):
1113         * accessibility/AccessibilityTable.h:
1114         (AccessibilityTable):
1115         * accessibility/AccessibilityTableCell.cpp:
1116         (WebCore::AccessibilityTableCell::create):
1117         * accessibility/AccessibilityTableRow.cpp:
1118         (WebCore::AccessibilityTableRow::create):
1119
1120 2012-07-23  David Barr  <davidbarr@chromium.org>
1121
1122         Fix ENABLE_CSS_IMAGE_ORIENTATION compile flag
1123         https://bugs.webkit.org/show_bug.cgi?id=91961
1124
1125         Reviewed by Tony Chang.
1126
1127         https://bugs.webkit.org/show_bug.cgi?id=89055
1128         A rule was missed implementing the ENABLE_CSS_IMAGE_ORIENTATION compile flag.
1129
1130         https://bugs.webkit.org/show_bug.cgi?id=90046
1131         Half of the missing rule was inadvertently added together with ENABLE_CSS_STICKY_POSITION.
1132
1133         No new tests; build configuration fix.
1134
1135         * Configurations/FeatureDefines.xcconfig:
1136
1137 2012-07-23  Douglas Stockwell  <dstockwell@chromium.org>
1138
1139         Null-pointer crash when a derived color like -webkit-activelink is set in a gradient stop
1140         https://bugs.webkit.org/show_bug.cgi?id=89148
1141
1142         Reviewed by Simon Fraser.
1143
1144         CSSGradientValue attempted to resolve colors during paint, this crashed
1145         when a derived color like -webkit-activelink was encountered because the
1146         corresponding element was no longer available in the StyleResolver.
1147         Instead, by adding a field to CSSGradientColorStop we can resolve and
1148         then cache the resolved colors at the correct time. To avoid sharing
1149         cached derived colors between elements we clone the gradient values when
1150         needed.
1151
1152         Test: fast/css/crash-on-gradient-with-derived-color.html
1153
1154         * css/CSSGradientValue.cpp:
1155         (WebCore::CSSGradientValue::gradientWithStylesResolved): Added. Resolve and cache
1156         resolved colors, clone if colors are derived from the element.
1157         (WebCore):
1158         (WebCore::CSSGradientValue::addStops):
1159         (WebCore::CSSGradientValue::isCacheable): Defer to new logic in
1160         StyleResolver.
1161         * css/CSSGradientValue.h:
1162         (CSSGradientColorStop): Added cache of resolved color.
1163         (CSSGradientValue):
1164         (CSSLinearGradientValue):
1165         (CSSRadialGradientValue):
1166         * css/CSSImageGeneratorValue.h:
1167         (WebCore):
1168         * css/CSSValue.h:
1169         (WebCore::CSSValue::isGradientValue):
1170         * css/StyleResolver.cpp:
1171         (WebCore::StyleResolver::collectMatchingRulesForList):
1172         * css/StyleResolver.h:
1173         (StyleResolver):
1174         * rendering/style/StyleGeneratedImage.cpp:
1175         (WebCore::StyleGeneratedImage::image): Revert change from r96449. This
1176         is no longer necessary as the gradient colors are now resolved at a
1177         time when the style is set on StyleResolver.
1178
1179 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1180
1181         Move GregorianDateTime from JSC to WTF namespace
1182         https://bugs.webkit.org/show_bug.cgi?id=91948
1183
1184         Reviewed by Geoffrey Garen.
1185
1186         Moving GregorianDateTime into the WTF namespace allows us to us to
1187         use it in WebCore too. The new class has the same behaviour as the
1188         old struct. Only the unused timeZone member has been removed.
1189
1190         * bridge/qt/qt_runtime.cpp:
1191         (JSC::Bindings::convertValueToQVariant):
1192         (JSC::Bindings::convertQVariantToValue):
1193         * bridge/qt/qt_runtime_qt4.cpp:
1194         (JSC::Bindings::convertValueToQVariant):
1195         (JSC::Bindings::convertQVariantToValue):
1196
1197 2012-07-23  Mark Pilgrim  <pilgrim@chromium.org>
1198
1199         [Chromium] Move layoutTestMode to WebCore
1200         https://bugs.webkit.org/show_bug.cgi?id=92010
1201
1202         Reviewed by Adam Barth.
1203
1204         Part of a refactoring series. See tracking bug 82948.
1205
1206         * CMakeLists.txt:
1207         * GNUmakefile.list.am:
1208         * Target.pri:
1209         * WebCore.gypi:
1210         * WebCore.vcproj/WebCore.vcproj:
1211         * WebCore.xcodeproj/project.pbxproj:
1212         * bindings/generic/RuntimeEnabledFeatures.h:
1213         (RuntimeEnabledFeatures):
1214         * platform/LayoutTestSupport.cpp: Added.
1215         (WebCore):
1216         (WebCore::isRunningLayoutTest):
1217         (WebCore::setIsRunningLayoutTest):
1218         * platform/LayoutTestSupport.h: Added.
1219         (WebCore):
1220         * platform/chromium/PlatformSupport.h:
1221         (PlatformSupport):
1222         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
1223         (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
1224         (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
1225         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
1226         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
1227         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
1228         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1229         (WebCore):
1230         (WebCore::LookupAltName):
1231         (WebCore::fontContainsCharacter):
1232         (WebCore::FillLogFont):
1233         (WebCore::FontCache::getFontDataForCharacters):
1234         (WebCore::FontCache::createFontPlatformData):
1235         * platform/graphics/skia/FontCustomPlatformData.cpp:
1236         (WebCore::FontCustomPlatformData::fontPlatformData):
1237         * platform/graphics/skia/FontSkia.cpp:
1238         (WebCore::Font::drawGlyphs):
1239         * rendering/RenderThemeChromiumAndroid.cpp:
1240         (WebCore::RenderThemeChromiumAndroid::systemColor):
1241         (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
1242         * rendering/RenderThemeChromiumMac.mm:
1243         (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
1244         * rendering/RenderThemeChromiumSkia.cpp:
1245         (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
1246         * rendering/RenderThemeChromiumWin.cpp:
1247         (WebCore):
1248         (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
1249         (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
1250         (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
1251         (WebCore::RenderThemeChromiumWin::systemColor):
1252         (WebCore::menuListButtonWidth):
1253         (WebCore::RenderThemeChromiumWin::determineClassicState):
1254
1255 2012-07-23  Dave Tu  <dtu@chromium.org>
1256
1257         [chromium] Add droppedFrameCount to renderingStats.
1258         https://bugs.webkit.org/show_bug.cgi?id=91694
1259
1260         Reviewed by Adrienne Walker.
1261
1262         * platform/graphics/chromium/cc/CCFrameRateCounter.cpp:
1263         (WebCore):
1264         (WebCore::CCFrameRateCounter::frameInterval):
1265         (WebCore::CCFrameRateCounter::frameIndex):
1266         (WebCore::CCFrameRateCounter::CCFrameRateCounter):
1267         (WebCore::CCFrameRateCounter::markBeginningOfFrame):
1268         (WebCore::CCFrameRateCounter::isBadFrame):
1269         * platform/graphics/chromium/cc/CCFrameRateCounter.h:
1270         (WebCore::CCFrameRateCounter::droppedFrameCount):
1271         (CCFrameRateCounter):
1272         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1273         (WebCore::CCLayerTreeHost::renderingStats):
1274         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1275         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1276         (WebCore::CCLayerTreeHostImpl::drawLayers):
1277         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1278         (CCLayerTreeHostImpl):
1279         * platform/graphics/chromium/cc/CCRenderingStats.h:
1280         (CCRenderingStats):
1281         (WebCore::CCRenderingStats::CCRenderingStats):
1282         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1283         (WebCore::CCSingleThreadProxy::implSideRenderingStats):
1284         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1285         (WebCore::CCThreadProxy::implSideRenderingStatsOnImplThread):
1286
1287 2012-07-23  Dan Bernstein  <mitz@apple.com>
1288
1289         Fixed the build after r123418.
1290
1291         * WebCore.exp.in: Added DocumentMarkerController::addTextMatchMarker.
1292
1293 2012-07-23  Mike Lawther  <mikelawther@chromium.org>
1294
1295         CSS3 calc: optimise blending expression
1296         https://bugs.webkit.org/show_bug.cgi?id=90037
1297
1298         Reviewed by Tony Chang.
1299
1300         Introduce a new calc expression node - a BlendLength node. Given two Lengths and a progress
1301         this blends them together when evaluated.
1302
1303         An alternative and more general approach of being able to blend two CalcExpressionNodes was
1304         tested, but involves more memory allocations, was measurably slower, and nothing currently
1305         would make use of the generality. 
1306
1307         No functional change. Covered by existing tests.
1308
1309         * platform/CalculationValue.h:
1310         (CalcExpressionBlendLength):
1311         (WebCore::CalcExpressionBlendLength::CalcExpressionBlendLength):
1312         (WebCore::CalcExpressionBlendLength::operator==):
1313         (WebCore::CalcExpressionBlendLength::evaluate):
1314         (WebCore):
1315         * platform/Length.cpp:
1316         (WebCore::Length::blendCalculation):
1317
1318 2012-07-23  Nico Weber  <thakis@chromium.org>
1319
1320         [chromium] Show search tickmarks on css-styled scrollbars
1321         https://bugs.webkit.org/show_bug.cgi?id=91949
1322
1323         Reviewed by Adrienne Walker.
1324
1325         This is done by letting RenderScrollbarTheme::paintTickmarks()
1326         delegate to the native ScrollbarTheme. To make this possible,
1327         move paintTickmarks() from ScrollbarThemeComposite to the
1328         superclass ScrollbarTheme.
1329
1330         For testing, add internals.addTextMatchMarker() and add a pixel test.
1331
1332         * platform/ScrollbarTheme.h:
1333         (WebCore::ScrollbarTheme::paintTickmarks):
1334         Moved paintTickmarks() from ScrollbarThemeComposite to here.
1335         * platform/ScrollbarThemeComposite.h:
1336         Remove paintTickmarks().
1337         * platform/chromium/ScrollbarThemeChromium.cpp:
1338         (WebCore::ScrollbarThemeChromium::paintTickmarks):
1339         Switch to drawing tickmarks as vectors, so they can be arbitrarily wide.
1340         * platform/chromium/ScrollbarThemeChromiumMac.h:
1341         (ScrollbarThemeChromiumMac):
1342         Implement paintTickmarks(), so that css-styled scrollbars get tickmarks on mac.
1343         * platform/chromium/ScrollbarThemeChromiumMac.mm:
1344         (WebCore::ScrollbarThemeChromiumMac::paint):
1345         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
1346         Implement paintTickmarks(), so that css-styled scrollbars get tickmarks on mac.
1347         * rendering/RenderScrollbarTheme.cpp:
1348         (WebCore::RenderScrollbarTheme::paintTickmarks):
1349         Delegate to the native ScrollbarTheme for tickmark drawing.
1350         (WebCore):
1351         * rendering/RenderScrollbarTheme.h:
1352         (RenderScrollbarTheme):
1353         Override paintTickmarks().
1354
1355 2012-07-23  Brian Anderson  <brianderson@chromium.org>
1356
1357         [chromium] Use shallow flushes that don't glFlush
1358         https://bugs.webkit.org/show_bug.cgi?id=90325
1359
1360         Reviewed by Kenneth Russell.
1361
1362         Adds plumbing for the shallowFlushCHROMIUM extension and uses
1363         shallow flushes instead of normal flushes when uploading textures.
1364         Shallow flushes allow us to initiate command buffer flushes to
1365         the GPU thread/process without the overhead of a true glFlush.
1366
1367         CCTextureUpdaterTest updated to recognize shallow flushes.
1368
1369         * platform/chromium/support/Extensions3DChromium.cpp:
1370         (WebCore::Extensions3DChromium::shallowFlushCHROMIUM):
1371         (WebCore):
1372         * platform/graphics/chromium/Extensions3DChromium.h:
1373         (Extensions3DChromium):
1374         * platform/graphics/chromium/cc/CCGraphicsContext.h:
1375         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1376         (WebCore::CCResourceProvider::shallowFlushIfSupported):
1377         (WebCore):
1378         (WebCore::CCResourceProvider::CCResourceProvider):
1379         (WebCore::CCResourceProvider::initialize):
1380         * platform/graphics/chromium/cc/CCResourceProvider.h:
1381         (CCResourceProvider):
1382         * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
1383         (WebCore::CCTextureUpdater::update):
1384
1385 2012-07-23  Hanyee Kim  <choco@company100.net>
1386
1387         When using TextureMapper, WebKit does not retain final value of opacity in animations, unless it is specified on the last key frame.
1388         https://bugs.webkit.org/show_bug.cgi?id=91322
1389
1390         Reviewed by Noam Rosenthal.
1391
1392         When -webkit-fill-mode is forwards, GraphicsLayerAnimation::apply does not apply
1393         the property values defined in the last executing keyframe after the final iteration of animation.
1394
1395         This patch does not return right after the end of animation, but it keeps applying
1396         the property values defined in the last executing keyframe.
1397         Add normalizedAnimationValueForFillsForwards function that returns a normalized value of the
1398         last executing keyframe.
1399
1400         Link to CSS Animations spec: http://www.w3.org/TR/css3-animations/#animation-fill-mode-property
1401
1402         Test: animations/fill-mode-forwards2.html
1403
1404         * platform/graphics/GraphicsLayerAnimation.cpp:
1405         (WebCore::normalizedAnimationValueForFillsForwards):
1406         (WebCore):
1407         (WebCore::GraphicsLayerAnimation::apply):
1408
1409 2012-07-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1410
1411         Unreviewed, rolling out r123184, r123195, and r123197.
1412         http://trac.webkit.org/changeset/123184
1413         http://trac.webkit.org/changeset/123195
1414         http://trac.webkit.org/changeset/123197
1415         https://bugs.webkit.org/show_bug.cgi?id=92049
1416
1417         pagecycler regression (Requested by morrita on #webkit).
1418
1419         * WebCore.exp.in:
1420         * dom/Document.cpp:
1421         (WebCore::Document::Document):
1422         (WebCore::Document::~Document):
1423         (WebCore::Document::suggestedMIMEType):
1424         * dom/Document.h:
1425         (WebCore):
1426         (WebCore::Node::isDocumentNode):
1427         (WebCore::Node::Node):
1428         * dom/Node.cpp:
1429         (WebCore::Node::~Node):
1430         (WebCore::Node::setDocument):
1431         (WebCore):
1432         (WebCore::Node::setTreeScope):
1433         (WebCore::Node::treeScope):
1434         (WebCore::Node::isInShadowTree):
1435         (WebCore::Node::reportMemoryUsage):
1436         * dom/Node.h:
1437         (Node):
1438         (WebCore::Node::document):
1439         (WebCore::Node::inDocument):
1440         * dom/NodeRareData.h:
1441         (WebCore::NodeRareData::NodeRareData):
1442         (WebCore::NodeRareData::treeScope):
1443         (WebCore::NodeRareData::setTreeScope):
1444         (NodeRareData):
1445         * dom/ShadowRoot.cpp:
1446         (WebCore::ShadowRoot::ShadowRoot):
1447         * dom/TreeScope.cpp:
1448         (WebCore::TreeScope::TreeScope):
1449         (WebCore::TreeScope::setParentTreeScope):
1450         * dom/TreeScope.h:
1451         (WebCore):
1452         (WebCore::TreeScope::idTargetObserverRegistry):
1453         (TreeScope):
1454         * dom/TreeScopeAdopter.cpp:
1455         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1456         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
1457         * editing/MoveSelectionCommand.cpp:
1458         * editing/RemoveNodeCommand.cpp:
1459         * editing/RemoveNodePreservingChildrenCommand.cpp:
1460         * inspector/PageConsoleAgent.cpp:
1461
1462 2012-07-23  Roger Fong  <roger_fong@apple.com>
1463
1464         On Windows, if select element is off screen horizontally, 
1465         menu is either inappropriately resized or positioned offscreen.
1466         https://bugs.webkit.org/show_bug.cgi?id=91913
1467         <rdar://problem/7611229>
1468
1469         Reviewed by Tim Horton.
1470
1471         If the select element is positioned off the edge of the screen to the left, 
1472         the menu is resized. It should not be resized, just shifted to remain on the screen.
1473         If the select element is positioned off the edge of the screen to the right, 
1474         the menu goes off screen instead of being shifted over to appear on screen.
1475         This problem only occurs on Windows.
1476         
1477         Test: ManualTests/win/select-menu-off-screen.html
1478
1479         * platform/win/PopupMenuWin.cpp:
1480         (WebCore::PopupMenuWin::calculatePositionAndSize):
1481         Modified final horizontal position calculation code to position
1482         popup menu on screen if it would otherwise go off.
1483         
1484 2012-07-23  David Dorwin  <ddorwin@chromium.org>
1485
1486         Fixed crash in webkitAddKey() when key parameter is null.
1487         https://bugs.webkit.org/show_bug.cgi?id=85444
1488
1489         Reviewed by Kentaro Hara.
1490
1491         Reference: Step 1 of http://dvcs.w3.org/hg/html-media/raw-file/5f76a0b43836/encrypted-media/encrypted-media.html#dom-addkey
1492
1493         Tests: media/encrypted-media/encrypted-media-syntax.html 
1494
1495         * html/HTMLMediaElement.cpp:
1496         (WebCore::HTMLMediaElement::webkitAddKey):
1497
1498 2012-07-23  Hayato Ito  <hayato@chromium.org>
1499
1500         A FocusScope for a distributed node should not be its TreeScope.
1501         https://bugs.webkit.org/show_bug.cgi?id=91829
1502
1503         Reviewed by Dimitri Glazkov.
1504
1505         Current implementation of FocusScope::focusScopeOf(Node*) returns
1506         the given node's treeScope().  That does not apply if the node is
1507         a distributed node.  We should calculate a FocusScope for a
1508         distributed node by traversing ancestor nodes in Composed Shadow
1509         Tree.
1510
1511         Test: fast/dom/shadow/focus-navigation-with-distributed-nodes.html
1512
1513         * page/FocusController.cpp:
1514         (WebCore::FocusScope::focusScopeOf):
1515
1516 2012-07-23  Douglas Stockwell  <dstockwell@google.com>
1517
1518         Null-pointer crash when parsing border-image
1519         https://bugs.webkit.org/show_bug.cgi?id=91963
1520
1521         Reviewed by Darin Adler.
1522
1523         Test: fast/css/border-image-fill-crash.html
1524
1525         * css/CSSParser.cpp:
1526         (WebCore::CSSParser::parseBorderImageRepeat): Handle the case where
1527         parseBorderImageRepeat is called when the value list is empty.
1528
1529 2012-07-23  Bem Jones-Bey  <bjonesbe@adobe.com>
1530
1531         [CSS Exclusions] SVG shape errors should invalidate exclusion shapes
1532         https://bugs.webkit.org/show_bug.cgi?id=91761
1533
1534         Reviewed by Andreas Kling.
1535
1536         CSS exclusion shapes that are specified with negative radiuses or
1537         height/width are now considered invalid and ignored.
1538
1539         Tests added to
1540         LayoutTests/fast/exclusions/parsing-wrap-shape-lengths.html
1541
1542         * css/CSSParser.cpp:
1543         (WebCore::CSSParser::parseExclusionShapeRectangle):
1544         (WebCore::CSSParser::parseExclusionShapeCircle):
1545         (WebCore::CSSParser::parseExclusionShapeEllipse):
1546
1547 2012-07-23  Tien-Ren Chen  <trchen@chromium.org>
1548
1549         [chromium] Implement scrollbar theme for Android
1550         https://bugs.webkit.org/show_bug.cgi?id=91674
1551
1552         Reviewed by Adam Barth.
1553
1554         Previously the scrollbar for Android was implemented as an extra
1555         drawing pass in the compositor. Now we switch to use the standard
1556         ScrollbarTheme mechanism.
1557
1558         No new tests. We use mock scrollbars during layout test to share
1559         pixel results with Linux.
1560
1561         * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
1562         (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
1563         (WebCore::ScrollbarThemeChromiumAndroid::thumbPosition):
1564         (WebCore::ScrollbarThemeChromiumAndroid::thumbLength):
1565         (WebCore::ScrollbarThemeChromiumAndroid::backButtonRect):
1566         (WebCore::ScrollbarThemeChromiumAndroid::forwardButtonRect):
1567         (WebCore::ScrollbarThemeChromiumAndroid::trackRect):
1568         (WebCore):
1569         (WebCore::ScrollbarThemeChromiumAndroid::paintThumb):
1570         (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
1571         * platform/chromium/ScrollbarThemeChromiumAndroid.h:
1572         (WebCore::ScrollbarThemeChromiumAndroid::usesOverlayScrollbars):
1573         (ScrollbarThemeChromiumAndroid):
1574         (WebCore::ScrollbarThemeChromiumAndroid::hasButtons):
1575         (WebCore::ScrollbarThemeChromiumAndroid::hasThumb):
1576
1577 2012-07-23  Kwang Yul Seo  <skyul@company100.net>
1578
1579         Use the original token to create an element in "reconstruct the active formatting elements" and "call the adoption agency"
1580         https://bugs.webkit.org/show_bug.cgi?id=91703
1581
1582         Reviewed by Adam Barth.
1583
1584         The current WebKit HTML5 parser implementation does not hold the original token
1585         in the stack of open elements and the active formatting elements. This is
1586         problematic because the original token is used to create an element in
1587         "reconstruct the active formatting elements" and "call the adoption agency".
1588
1589         As a workaround, WebKit uses the saved element instead of the original token
1590         to create an element. But this causes us to fail examples like this:
1591         <b id="1"><p><script>document.getElementById("1").id = "2"</script></p>TEXT</b>
1592         reconstructTheActiveFormattingElements calls this method to open a second <b>
1593         tag to wrap TEXT, it will have id "2", even though the HTML5 spec implies it
1594         should be "1".
1595
1596         Created a ref-counted container class, HTMLStackItem to hold the original token
1597         and the namespace URI as well as the element. Changed HTMLElementStack and
1598         HTMLFormattingElementList to use HTMLStackItem.
1599         Changed HTMLConstructionSite::reconstructTheActiveFormattingElements and
1600         HTMLTreeBuilder::callTheAdoptionAgency to create an element from the saved token
1601         instead of the saved element.
1602
1603         Updated test expectation for html5lib/runner-expected.txt
1604         because now resources/scripted/adoption01.dat passes.
1605
1606         * html/parser/HTMLConstructionSite.cpp:
1607         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1608         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
1609         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
1610         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
1611         (WebCore::HTMLConstructionSite::insertHTMLElement):
1612         (WebCore::HTMLConstructionSite::insertFormattingElement):
1613         (WebCore::HTMLConstructionSite::insertScriptElement):
1614         (WebCore::HTMLConstructionSite::insertForeignElement):
1615         (WebCore::HTMLConstructionSite::createElementFromSavedToken):
1616         (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
1617         * html/parser/HTMLConstructionSite.h:
1618         (HTMLConstructionSite):
1619         (WebCore::HTMLConstructionSite::currentElementRecord):
1620         * html/parser/HTMLElementStack.cpp:
1621         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
1622         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
1623         (WebCore::HTMLElementStack::pushRootNode):
1624         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
1625         (WebCore::HTMLElementStack::pushRootNodeCommon):
1626         (WebCore::HTMLElementStack::pushHTMLHeadElement):
1627         (WebCore::HTMLElementStack::pushHTMLBodyElement):
1628         (WebCore::HTMLElementStack::push):
1629         (WebCore::HTMLElementStack::insertAbove):
1630         (WebCore::HTMLElementStack::pushCommon):
1631         * html/parser/HTMLElementStack.h:
1632         (WebCore::HTMLElementStack::ElementRecord::element):
1633         (WebCore::HTMLElementStack::ElementRecord::node):
1634         (WebCore::HTMLElementStack::ElementRecord::stackItem):
1635         (ElementRecord):
1636         (HTMLElementStack):
1637         * html/parser/HTMLFormattingElementList.cpp:
1638         (WebCore::HTMLFormattingElementList::swapTo):
1639         (WebCore::HTMLFormattingElementList::append):
1640         * html/parser/HTMLFormattingElementList.h:
1641         (WebCore::HTMLFormattingElementList::Entry::Entry):
1642         (WebCore::HTMLFormattingElementList::Entry::isMarker):
1643         (WebCore::HTMLFormattingElementList::Entry::stackItem):
1644         (WebCore::HTMLFormattingElementList::Entry::element):
1645         (WebCore::HTMLFormattingElementList::Entry::replaceElement):
1646         (WebCore::HTMLFormattingElementList::Entry::operator==):
1647         (WebCore::HTMLFormattingElementList::Entry::operator!=):
1648         (Entry):
1649         (HTMLFormattingElementList):
1650         * html/parser/HTMLStackItem.h: Added.
1651         (WebCore):
1652         (HTMLStackItem):
1653         (WebCore::HTMLStackItem::create):
1654         (WebCore::HTMLStackItem::element):
1655         (WebCore::HTMLStackItem::node):
1656         (WebCore::HTMLStackItem::token):
1657         (WebCore::HTMLStackItem::namespaceURI):
1658         (WebCore::HTMLStackItem::HTMLStackItem):
1659         * html/parser/HTMLTreeBuilder.cpp:
1660         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1661         (WebCore::HTMLTreeBuilder::processStartTag):
1662         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1663
1664 2012-07-23  Andreas Kling  <kling@webkit.org>
1665
1666         Report the extra memory used by immutable StylePropertySet objects.
1667         <http://webkit.org/b/92032>
1668
1669         Reviewed by Anders Carlsson.
1670
1671         Add an optional parameter to the MemoryClassInfo constructor for passing in additional base object
1672         size on top of sizeof(T).
1673
1674         Use this in StylePropertySet::reportMemoryUsage() to properly account for the CSSProperty array
1675         tacked onto the end of the object when m_isMutable == false.
1676
1677         * css/StylePropertySet.h:
1678         (WebCore::StylePropertySet::reportMemoryUsage):
1679         * dom/MemoryInstrumentation.h:
1680         (WebCore::MemoryObjectInfo::reportObjectInfo):
1681         (WebCore::MemoryClassInfo::MemoryClassInfo):
1682
1683 2012-07-23  Gregg Tavares  <gman@google.com>
1684
1685         Fix WebGL texSubImage2D for cube maps
1686         https://bugs.webkit.org/show_bug.cgi?id=91927
1687
1688         Reviewed by Kenneth Russell.
1689
1690         Fixes texSubImage2D so any size rectangle can be passed in
1691         for cube maps.
1692
1693         Test: fast/canvas/webgl/tex-sub-image-cube-maps.html
1694
1695         * html/canvas/WebGLRenderingContext.cpp:
1696         (WebCore):
1697         (WebCore::WebGLRenderingContext::copyTexImage2D):
1698         (WebCore::WebGLRenderingContext::texImage2DBase):
1699         (WebCore::WebGLRenderingContext::texSubImage2DBase):
1700         (WebCore::WebGLRenderingContext::validateTexFuncParameters):
1701         * html/canvas/WebGLRenderingContext.h:
1702         (WebGLRenderingContext):
1703
1704 2012-07-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1705
1706         Unreviewed, rolling out r123387.
1707         http://trac.webkit.org/changeset/123387
1708         https://bugs.webkit.org/show_bug.cgi?id=92036
1709
1710         Broke chromium win build (Requested by tony^work on #webkit).
1711
1712         * WebCore.gyp/WebCore.gyp:
1713         * WebCore.gyp/scripts/rule_bison.py:
1714         * bindings/scripts/preprocessor.pm:
1715         (applyPreprocessor):
1716         * make-hash-tools.pl:
1717
1718 2012-07-23  Kwang Yul Seo  <skyul@company100.net>
1719
1720         Ref-count AtomicHTMLToken
1721         https://bugs.webkit.org/show_bug.cgi?id=91981
1722
1723         Reviewed by Adam Barth.
1724
1725         Ref-count AtomicHTMLToken to avoid copying AtomicHTMLToken in Bug 91703.
1726
1727         No new tests - no functional changes.
1728
1729         * html/parser/HTMLConstructionSite.cpp:
1730         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
1731         (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
1732         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
1733         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
1734         (WebCore::HTMLConstructionSite::insertDoctype):
1735         (WebCore::HTMLConstructionSite::insertComment):
1736         (WebCore::HTMLConstructionSite::insertCommentOnDocument):
1737         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
1738         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
1739         (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
1740         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
1741         (WebCore::HTMLConstructionSite::insertHTMLElement):
1742         (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
1743         (WebCore::HTMLConstructionSite::insertFormattingElement):
1744         (WebCore::HTMLConstructionSite::insertScriptElement):
1745         (WebCore::HTMLConstructionSite::insertForeignElement):
1746         (WebCore::HTMLConstructionSite::createElement):
1747         (WebCore::HTMLConstructionSite::createHTMLElement):
1748         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
1749         * html/parser/HTMLConstructionSite.h:
1750         (HTMLConstructionSite):
1751         * html/parser/HTMLToken.h:
1752         (WebCore::AtomicHTMLToken::create):
1753         (AtomicHTMLToken):
1754         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
1755         * html/parser/HTMLTreeBuilder.cpp:
1756         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::ExternalCharacterTokenBuffer):
1757         (WebCore::HTMLTreeBuilder::constructTreeFromToken):
1758         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
1759         (WebCore::HTMLTreeBuilder::processToken):
1760         (WebCore::HTMLTreeBuilder::processDoctypeToken):
1761         (WebCore::HTMLTreeBuilder::processFakeStartTag):
1762         (WebCore::HTMLTreeBuilder::processFakeEndTag):
1763         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInButtonScope):
1764         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
1765         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
1766         (WebCore):
1767         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
1768         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1769         (WebCore::HTMLTreeBuilder::processStartTagForInTable):
1770         (WebCore::HTMLTreeBuilder::processStartTag):
1771         (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
1772         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
1773         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1774         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1775         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
1776         (WebCore::HTMLTreeBuilder::processEndTagForInRow):
1777         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
1778         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
1779         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
1780         (WebCore::HTMLTreeBuilder::processEndTag):
1781         (WebCore::HTMLTreeBuilder::processComment):
1782         (WebCore::HTMLTreeBuilder::processCharacter):
1783         (WebCore::HTMLTreeBuilder::processEndOfFile):
1784         (WebCore::HTMLTreeBuilder::defaultForBeforeHTML):
1785         (WebCore::HTMLTreeBuilder::defaultForBeforeHead):
1786         (WebCore::HTMLTreeBuilder::defaultForInHead):
1787         (WebCore::HTMLTreeBuilder::defaultForInHeadNoscript):
1788         (WebCore::HTMLTreeBuilder::defaultForAfterHead):
1789         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
1790         (WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
1791         (WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
1792         (WebCore::HTMLTreeBuilder::processScriptStartTag):
1793         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
1794         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
1795         (WebCore::HTMLTreeBuilder::parseError):
1796         * html/parser/HTMLTreeBuilder.h:
1797         (HTMLTreeBuilder):
1798         * html/parser/TextDocumentParser.cpp:
1799         (WebCore::TextDocumentParser::insertFakePreElement):
1800
1801 2012-07-23  Scott Graham  <scottmg@google.com>
1802
1803         Use native (non-cygwin) binaries for perl, gperf, and bison in Chromium
1804         https://bugs.webkit.org/show_bug.cgi?id=91667
1805
1806         Reviewed by Tony Chang.
1807
1808         Using native tools instead of cygwin version improves build time
1809         performance by roughly 50% (on top of previous cl-instead-of-gcc
1810         change).
1811
1812         Also, use - instead of / for cl flags because a layer of project
1813         generator converts them to \ otherwise, which causes the preprocessing
1814         to fail (very slowly because of the cygwin-loop with a sleep 1).
1815
1816         No new tests.
1817
1818         * WebCore.gyp/WebCore.gyp:
1819         * WebCore.gyp/scripts/rule_bison.py:
1820         * bindings/scripts/preprocessor.pm:
1821         (applyPreprocessor):
1822         * make-hash-tools.pl:
1823
1824 2012-06-12  Jer Noble  <jer.noble@apple.com>
1825
1826         MediaController.currentTime should be kept stable during script execution.
1827         https://bugs.webkit.org/show_bug.cgi?id=88555
1828
1829         Reviewed by Eric Carlson.
1830
1831         Test: media/media-controller-time-constant.html
1832
1833         To keep MediaController.currentTime stable, add a new m_position variable and 
1834         a new m_clearPositionTimer timer.  Both must be mutable variables as they will
1835         be updated from within const functions.  Calls to currentTime() will result in
1836         stable values until the next runloop iteration.
1837
1838         * html/MediaController.cpp:
1839         (MediaController::MediaController):
1840         (MediaController::currentTime):
1841         (MediaController::setCurrentTime):
1842         (MediaController::clearPositionTimerFired):
1843         * html/MediaController.h:
1844
1845 2012-07-23  Huang Dongsung  <luxtella@company100.net>
1846
1847         Destroy CSS decoded data more eagerly once they become dead caches.
1848         https://bugs.webkit.org/show_bug.cgi?id=91733
1849
1850         Reviewed by Geoffrey Garen.
1851
1852         Internal review by Kwang Yul Seo.
1853
1854         There are three CachedResources with decoded data: CachedImage, CachedScript
1855         and CachedCSSStyleSheet. In the cases of CachedImage and CachedScript, we
1856         eagerly destroy the decoded data using Timer in CacehdResource::allClientsRemoved().
1857         We must apply the same policy here in CachedCSSStyleSheet because priority
1858         inversion can occur. For example, we can't destroy the decoded data of CachedImages
1859         when they are referenced by CachedCSSStyleSheet as background, mask or border
1860         images.
1861
1862         No new tests - no new testable functionality.
1863
1864         * loader/cache/CachedCSSStyleSheet.cpp:
1865         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
1866         (WebCore::CachedCSSStyleSheet::didAddClient):
1867         (WebCore::CachedCSSStyleSheet::allClientsRemoved):
1868         (WebCore::CachedCSSStyleSheet::destroyDecodedData):
1869         (WebCore):
1870         (WebCore::CachedCSSStyleSheet::decodedDataDeletionTimerFired):
1871         * loader/cache/CachedCSSStyleSheet.h:
1872         (CachedCSSStyleSheet):
1873
1874 2012-07-23  Simon Fraser  <simon.fraser@apple.com>
1875
1876         Part 2 of: Implement sticky positioning
1877         https://bugs.webkit.org/show_bug.cgi?id=90046
1878
1879         Reviewed by Ojan Vafai.
1880
1881         Turn on ENABLE_CSS_STICKY_POSITION. Add support for parsing the new '-webkit-sticky'
1882         value for position, returning it from getComputedStyle(), and storing it in RenderStyle.
1883
1884         Test: fast/css/sticky/parsing-position-sticky.html
1885
1886         * Configurations/FeatureDefines.xcconfig:
1887         * css/CSSComputedStyleDeclaration.cpp:
1888         (WebCore::getPositionOffsetValue):
1889         * css/CSSParser.cpp:
1890         (WebCore::isValidKeywordPropertyAndValue):
1891         * css/CSSPrimitiveValueMappings.h:
1892         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1893         (WebCore::CSSPrimitiveValue::operator EPosition):
1894         * css/CSSValueKeywords.in:
1895         * rendering/style/RenderStyle.h:
1896         * rendering/style/RenderStyleConstants.h:
1897
1898 2012-07-23  Stephen Chenney  <schenney@chromium.org>
1899
1900         Crash when setting empty class name on a new element
1901         https://bugs.webkit.org/show_bug.cgi?id=92024
1902
1903         Reviewed by Andreas Kling.
1904
1905         Add a check for null attributeData() when setting the className to an
1906         empty string on a newly created element. New SVG elements have null
1907         attributeData() on baseVal upon creation.
1908
1909         Test: svg/custom/empty-className-baseVal-crash.html
1910
1911         * dom/StyledElement.cpp:
1912         (WebCore::StyledElement::classAttributeChanged): Add check for null attributeData()
1913
1914 2012-07-23  Shawn Singh  <shawnsingh@chromium.org>
1915
1916         [chromium] Refactor CCLayerTreeHostCommon: clean up clipRect and drawableContentRect design
1917         https://bugs.webkit.org/show_bug.cgi?id=80622
1918
1919         Reviewed by Adrienne Walker.
1920
1921         clipRect(), usesLayerClipping(), and drawableContentRect() have been
1922         very confusing in CCLayerTreeHostCommon for a while. This patch
1923         refactors it so that (1) clipping is only done locally in
1924         calcDrawTransforms, and (2) the layer's drawableContentRect value
1925         is now meaningful value outside of calcDrawTransforms.
1926         Additionally, the layer is now always clipped to the root
1927         surface's contentBounds (which are set to the viewport bounds).
1928         This refactor not only makes calcDrawTransforms far more readable and intuitive, but
1929         this patch enables more upcoming beneficial refactors, including
1930         the pending refactor in https://bugs.webkit.org/show_bug.cgi?id=88953.
1931
1932         Tests are also significantly updated to keep up with this refactoring change.
1933
1934         * platform/graphics/chromium/LayerChromium.cpp:
1935         (WebCore::LayerChromium::LayerChromium):
1936         * platform/graphics/chromium/LayerChromium.h:
1937         (LayerChromium):
1938         Removed m_usesLayerClipping and m_clipRect and associated accessors.
1939
1940         * platform/graphics/chromium/RenderSurfaceChromium.h:
1941         (RenderSurfaceChromium):
1942         Updated comment
1943
1944         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1945         (WebCore::CCLayerImpl::CCLayerImpl):
1946         * platform/graphics/chromium/cc/CCLayerImpl.h:
1947         (CCLayerImpl):
1948         Removed m_usesLayerClipping and m_clipRect and associated accessors.
1949
1950         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1951         (WebCore::CCLayerTreeHost::updateLayers):
1952         removed setClipRect code that no longer applies
1953
1954         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1955         (WebCore::calculateLayerScissorRect):
1956         scissor rect is now a little bit tighter, the intersection between damage and layer's new drawableContentRect.
1957
1958         (WebCore::calculateSurfaceScissorRect):
1959         scissor rect is now a little bit tighter, except when filters are involved.
1960
1961         (WebCore::layerClipsSubtree):
1962         new helper function
1963
1964         (WebCore):
1965         (WebCore::calculateVisibleContentRect):
1966         (WebCore::subtreeShouldRenderToSeparateSurface):
1967         (WebCore::calculateDrawTransformsInternal):
1968            - added drawableContentRectOfSubtree to the function args, it is valid only after recursion returns,
1969            - added clipRectFromAncestor and bool ancestorClipsSubtree to function args, this replaces the layer's clipRect and usesLayerClipping.
1970            - removed the boolean return value, which was redundant with drawableContentRectOfSubtree.
1971            - replaced all the "setDrawableContentRect" logic with more intuitive, clear logic.
1972            - now, layer's drawableContentRect represents the clipped bounds of the layer expressed in the target surface space.
1973
1974         (WebCore::CCLayerTreeHostCommon::calculateDrawTransforms):
1975         (WebCore::pointIsClippedBySurfaceOrClipRect):
1976         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1977         (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
1978         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
1979         (WebCore::::layerScissorRectInTargetSurface):
1980         Updated this accessor.  It could be removed in the future, but not appropriate for this patch.
1981
1982         * platform/graphics/chromium/cc/CCRenderSurface.h:
1983
1984 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
1985
1986         [CMAKE] Added missing RenderLayerFilterInfo.cpp to build system.
1987
1988         * CMakeLists.txt:
1989
1990 2012-07-23  Ryosuke Niwa  <rniwa@webkit.org>
1991
1992         REGRESSION(r123281): childNodes sometimes returns wrong nodes
1993         https://bugs.webkit.org/show_bug.cgi?id=92014
1994
1995         Reviewed by Anders Carlsson.
1996
1997         The bug was caused by a typo in itemBeforeOrAfter. Namely, it should have been calling firstNode as
1998         firstNode(forward, rootNode(), shouldOnlyIncludeDirectChildren()),
1999         NOT firstNode(forward, rootNode(), previous)
2000         as evident from the argument list of the function.
2001
2002         Test: fast/dom/NodeList/childNodes-reverse-iteration.html
2003
2004         * html/HTMLCollection.cpp:
2005         (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfter):
2006
2007 2012-07-23  Steve VanDeBogart  <vandebo@chromium.org>
2008
2009         Chrome/Skia: PDF print output does not have clickable links.
2010         https://bugs.webkit.org/show_bug.cgi?id=91171
2011
2012         Reviewed by Stephen White.
2013
2014         Connect GraphicsContext::setURLForRect to Skia's new API for annotations.
2015
2016         Printing is not generally testable.
2017
2018         * platform/graphics/skia/GraphicsContextSkia.cpp:
2019         (WebCore::GraphicsContext::setURLForRect):
2020
2021 2012-07-23  Pierre Rossi  <pierre.rossi@gmail.com>
2022
2023         Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client
2024         https://bugs.webkit.org/show_bug.cgi?id=91006
2025
2026         Reviewed by Ryosuke Niwa.
2027
2028         The rationale here is that the client doesn't need to know about the touch
2029         event handler count. needTouchEvents was already used for that purpose.
2030
2031         Test: fast/events/touch/touch-handler-count.html
2032
2033         * dom/Document.cpp:
2034         (WebCore::Document::Document):
2035         (WebCore::Document::didAddTouchEventHandler): Only notify the client if needed.
2036         (WebCore::Document::didRemoveTouchEventHandler): Ditto. Also unset the TOUCH_LISTENER
2037         flag for the document if we reach a count of zero. The rationale being that
2038         hasListenerType() is relied upon in other places in combination with TOUCH_LISTENER for
2039         the same purpose.
2040         * dom/Document.h:
2041         (Document):
2042         (WebCore::Document::touchEventHandlerCount):
2043         * loader/EmptyClients.h:
2044         * page/ChromeClient.h:
2045         (ChromeClient):
2046         * page/Frame.cpp: Removed notifyChromeClientTouchEventHandlerCountChanged.
2047         (WebCore::Frame::setDocument): call needsTouchEvents directly.
2048         * page/Frame.h: Ditto.
2049         (Frame):
2050         * testing/Internals.cpp:
2051         (WebCore::Internals::hasTouchEventListener): expose Document::hasListenerType indirectly
2052         for additional testing.
2053         (WebCore):
2054         * testing/Internals.h:
2055         (Internals):
2056         * testing/Internals.idl:
2057
2058 2012-07-23  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2059
2060         [Qt] RenderThemeQtMobile highlight colors are not being used
2061         https://bugs.webkit.org/show_bug.cgi?id=92004
2062
2063         Reviewed by Noam Rosenthal.
2064
2065         The issue here is that setPaletteFromPageClientIfExists() is being used as a
2066         virtual function, but it isn't, so when platformActiveSelectionBackgroundColor()
2067         runs, it doesn't pick the right palette.
2068
2069         Besides fixing this virtual behavior, the patch changes the structure a bit,
2070         because setPaletteFromPageClientIfExists() was being "overriden" in mobile theme
2071         to set the palette, which isn't exactly what the function name says.
2072
2073         * platform/qt/RenderThemeQt.cpp:
2074         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
2075         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
2076         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
2077         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
2078         (WebCore::RenderThemeQt::platformFocusRingColor):
2079         (WebCore::RenderThemeQt::systemColor):
2080         (WebCore::RenderThemeQt::getMediaControlForegroundColor):
2081         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
2082         Use the virtual colorPalette() to get the palette.
2083
2084         (WebCore::RenderThemeQt::colorPalette):
2085         (WebCore): Removed the code for getting the page client from here since it is
2086         used only by the QStyle variant.
2087
2088         * platform/qt/RenderThemeQt.h:
2089         (RenderThemeQt):
2090         * platform/qt/RenderThemeQtMobile.cpp:
2091         (WebCore::RenderThemeQtMobile::colorPalette):
2092         (WebCore):
2093         * platform/qt/RenderThemeQtMobile.h:
2094         (RenderThemeQtMobile):
2095
2096 2012-07-23  Simon Fraser  <simon.fraser@apple.com>
2097
2098         Part 1 of: Implement sticky positioning
2099         https://bugs.webkit.org/show_bug.cgi?id=90046
2100
2101         Reviewed by Ojan Vafai.
2102
2103         Add ENABLE_CSS_STICKY_POSITION, defaulting to off initially.
2104         
2105         Sort the ENABLE_CSS lines in the file. Make sure all the flags
2106         are in FEATURE_DEFINES.
2107
2108         * Configurations/FeatureDefines.xcconfig:
2109
2110 2012-07-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2111
2112         Unreviewed, rolling out r123339.
2113         http://trac.webkit.org/changeset/123339
2114         https://bugs.webkit.org/show_bug.cgi?id=92006
2115
2116         massive media tests failure (Requested by philn on #webkit).
2117
2118         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2119         (WTF::adoptGRef):
2120         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2121         (setGstElementClassMetadata):
2122         * platform/graphics/gstreamer/GStreamerVersioning.h:
2123
2124 2012-07-21  Vincent Scheib  <scheib@chromium.org>
2125
2126         webkitFullscreenElement, webkitCurrentFullScreenElement, webkitPointerLockElement block cross origin access.
2127         https://bugs.webkit.org/show_bug.cgi?id=91892
2128
2129         Reviewed by Adam Barth.
2130
2131         PointerLockElement only returned when requested from the document that owns it.
2132
2133         Tests: http/tests/fullscreen/fullscreenelement-different-origin.html
2134                http/tests/fullscreen/fullscreenelement-same-origin.html
2135                http/tests/pointer-lock/pointerlockelement-different-origin.html
2136                http/tests/pointer-lock/pointerlockelement-same-origin.html
2137
2138         * dom/Document.cpp:
2139         (WebCore::Document::webkitPointerLockElement):
2140
2141 2012-07-23  Philippe Normand  <pnormand@igalia.com>
2142
2143         [GTK][jhbuild] Switch to GStreamer 0.11 build
2144         https://bugs.webkit.org/show_bug.cgi?id=91727
2145
2146         Reviewed by Gustavo Noronha Silva.
2147
2148         Add a new function to encapsulate the GStreamer API removal of
2149         GST_OBJECT_IS_FLOATING in the upcoming 1.0 release. Use of this
2150         macro can now be replaced by calling the g_object_is_floating
2151         function.
2152
2153         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
2154         (WTF::adoptGRef):
2155         * platform/graphics/gstreamer/GStreamerVersioning.cpp:
2156         (gstObjectIsFloating):
2157         * platform/graphics/gstreamer/GStreamerVersioning.h:
2158
2159 2012-07-23  Christophe Dumez  <christophe.dumez@intel.com>
2160
2161         [EFL] media/controls-styling.html is failing
2162         https://bugs.webkit.org/show_bug.cgi?id=91984
2163
2164         Reviewed by Eric Carlson.
2165
2166         Make sure that the CSS properties letter-spacing, word-spacing,
2167         line-height, text-transform, text-indent, text-shadow,
2168         text-decoration and color do not affect the media element controls,
2169         that display text.
2170
2171         No new tests. Already tested by media/controls-styling.html and
2172         media/controls-styling-strict.html
2173
2174         * css/mediaControlsEfl.css:
2175         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2176
2177 2012-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2178
2179         Unreviewed. Fix make distcheck.
2180
2181         * GNUmakefile.list.am: Add missing header files.
2182
2183 2012-07-23  Kent Tamura  <tkent@chromium.org>
2184
2185         Replace some instances of shadowAncestorNode() with shadowHost()
2186         https://bugs.webkit.org/show_bug.cgi?id=91966
2187
2188         Reviewed by Hajime Morita.
2189
2190         shadowAncestorNode() is deprecated. We should use shadowHost().
2191         No new tests. This doesn't change any behavior.
2192
2193         * css/SelectorChecker.cpp:
2194         (WebCore::SelectorChecker::checkSelector):
2195         * dom/TreeScope.cpp:
2196         (WebCore::listTreeScopes):
2197         * html/HTMLSummaryElement.cpp:
2198         (WebCore::isClickableControl):
2199         * html/shadow/DetailsMarkerControl.cpp:
2200         (WebCore::DetailsMarkerControl::summaryElement):
2201         * html/shadow/MeterShadowElement.cpp:
2202         (WebCore::MeterShadowElement::meterElement):
2203         * html/shadow/ProgressShadowElement.cpp:
2204         (WebCore::ProgressShadowElement::progressElement):
2205         * html/shadow/SliderThumbElement.cpp:
2206         (WebCore::RenderSliderThumb::layout):
2207         (WebCore::RenderSliderContainer::layout):
2208         (WebCore::SliderThumbElement::hostInput):
2209         (WebCore::TrackLimiterElement::shadowPseudoId):
2210         (WebCore::SliderContainerElement::shadowPseudoId):
2211         * html/shadow/TextControlInnerElements.cpp:
2212         (WebCore::TextControlInnerElement::customStyleForRenderer):
2213         (WebCore::TextControlInnerTextElement::defaultEventHandler):
2214         (WebCore::TextControlInnerTextElement::createRenderer):
2215         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
2216         (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
2217         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
2218         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2219         (WebCore::SpinButtonElement::defaultEventHandler):
2220         (WebCore::SpinButtonElement::step):
2221         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
2222         (WebCore::InputFieldSpeechButtonElement::setState):
2223         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
2224         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2225         * rendering/RenderTextControlSingleLine.cpp:
2226         (WebCore::RenderTextControlInnerBlock::positionForPoint):
2227
2228 2012-07-23  Pavel Feldman  <pfeldman@chromium.org>
2229
2230         [WK2] REGRESSION r122966: Crash when closing tab with Web Inspector open in WebKit::PageOverlay
2231         https://bugs.webkit.org/show_bug.cgi?id=91782
2232
2233         Reviewed by Yury Semikhatsky.
2234
2235         hideHighlight was never called once user hovered over a node.
2236
2237         * inspector/DOMNodeHighlighter.cpp:
2238         (WebCore::InspectorOverlay::update):
2239
2240 2012-07-23  Peter Beverloo  <peter@chromium.org>
2241
2242         [Chromium] Build fix for the Windows builder following r123311
2243         https://bugs.webkit.org/show_bug.cgi?id=91979
2244
2245         Unreviewed build fix.
2246
2247         Changeset r123311 moved the TextCodecWinCE.{cpp,h} files to the Windows
2248         directory. Update Chromium's references to these files to fix the build.
2249
2250         * WebCore.gypi:
2251
2252 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
2253
2254         [WIN] Remove ICU dependencies from UniscribeController
2255         https://bugs.webkit.org/show_bug.cgi?id=91921
2256
2257         Reviewed by Ryosuke Niwa.
2258
2259         Replace ICU specific functions and macros with the corresponding code from WTF::Unicode.
2260         This allows us to use UniscribeController with an other Unicode implementation too.
2261
2262         * platform/graphics/win/UniscribeController.cpp:
2263         (WebCore::UniscribeController::advance):
2264
2265 2012-07-23  Christophe Dumez  <christophe.dumez@intel.com>
2266
2267         [EFL] media/controls-styling-strict.html is failing
2268         https://bugs.webkit.org/show_bug.cgi?id=91960
2269
2270         Reviewed by Kenneth Rohde Christiansen.
2271
2272         Use "display: -webkit-box;" instead of inline-block
2273         for current-time control. This is needed because
2274         inline-block behaves differently in strict mode.
2275
2276         No new test, already tested by media/controls-styling-strict.html
2277
2278         * css/mediaControlsEfl.css:
2279         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2280
2281 2012-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2282
2283         Unreviewed. Fix GTK+ build with ENABLE_DATALIST_ELEMENT.
2284
2285         Add an implementation for virtual pure methods sliderTickSize()
2286         and sliderTickOffsetFromTrackCenter() when HTML5 datalist element
2287         is enabled.
2288
2289         * platform/gtk/RenderThemeGtk.cpp:
2290         (WebCore):
2291         (WebCore::RenderThemeGtk::sliderTickSize):
2292         (WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
2293         * platform/gtk/RenderThemeGtk.h:
2294
2295 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
2296
2297         Replace getCurrentLocalTime() with GetLocalTime() in LocaleWin.cpp
2298         https://bugs.webkit.org/show_bug.cgi?id=91937
2299
2300         Reviewed by Ryosuke Niwa.
2301
2302         The windows function returns the required year directly and
2303         removes one additonal dependecy on getCurrentLocalTime().
2304
2305         * platform/text/LocaleWin.cpp:
2306         (WebCore::LocaleWin::LocaleWin):
2307
2308 2012-07-23  Vsevolod Vlasov  <vsevik@chromium.org>
2309
2310         Web Inspector: Drag and drop should not be started on right mouse click.
2311         https://bugs.webkit.org/show_bug.cgi?id=91728
2312
2313         Reviewed by Pavel Feldman.
2314
2315         Introduced WebInspector.installDragHandle method to control drag and drop support, checking whichg mouse button is pressed.
2316         Simplified WebInspector._elementDragStart, removed "element" parameter.
2317         Simplified tab moving support in TabbedPane, removed "mousemove" handler.
2318         Removed while loop determining which element was dragged in TimelineOverviewPane, each drag support is now installed independently.
2319         Drive-by: fixed TimelineOverviewPane window moving on resources-dividers-label-bar drang-and-drop.
2320         Drive-by: fixed CSSStyleModel compilation.
2321
2322         * inspector/front-end/CSSStyleModel.js:
2323         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
2324         * inspector/front-end/DataGrid.js:
2325         (WebInspector.DataGrid.prototype._positionResizers):
2326         (WebInspector.DataGrid.prototype._startResizerDragging):
2327         (WebInspector.DataGrid.prototype._endResizerDragging):
2328         * inspector/front-end/Drawer.js:
2329         (WebInspector.Drawer):
2330         (WebInspector.Drawer.prototype._animationDuration):
2331         (WebInspector.Drawer.prototype._startStatusBarDragging):
2332         (WebInspector.Drawer.prototype._endStatusBarDragging):
2333         * inspector/front-end/HeapSnapshotView.js:
2334         (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
2335         (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
2336         * inspector/front-end/SidebarOverlay.js:
2337         (WebInspector.SidebarOverlay.prototype.set _startResizerDragging):
2338         (WebInspector.SidebarOverlay.prototype._endResizerDragging):
2339         (WebInspector.SidebarOverlay.prototype._installResizer):
2340         * inspector/front-end/Spectrum.js:
2341         * inspector/front-end/SplitView.js:
2342         (WebInspector.SplitView.prototype._startResizerDragging):
2343         (WebInspector.SplitView.prototype._endResizerDragging):
2344         (WebInspector.SplitView.prototype.installResizer):
2345         * inspector/front-end/TabbedPane.js:
2346         (WebInspector.TabbedPaneTab.prototype._createTabElement):
2347         (WebInspector.TabbedPaneTab.prototype._tabMouseDown):
2348         (WebInspector.TabbedPaneTab.prototype._startTabDragging):
2349         (WebInspector.TabbedPaneTab.prototype._endTabDragging):
2350         * inspector/front-end/TimelineOverviewPane.js:
2351         (WebInspector.TimelineOverviewPane):
2352         (WebInspector.TimelineOverviewWindow):
2353         (WebInspector.TimelineOverviewWindow.prototype._leftResizeElementDragging):
2354         (WebInspector.TimelineOverviewWindow.prototype._rightResizeElementDragging):
2355         (WebInspector.TimelineOverviewWindow.prototype._startWindowSelectorDragging):
2356         (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
2357         (WebInspector.TimelineOverviewWindow.prototype._startWindowDragging):
2358         (WebInspector.TimelineOverviewWindow.prototype._windowDragging):
2359         (WebInspector.TimelineOverviewWindow.prototype._endWindowDragging):
2360         (WebInspector.TimelineOverviewWindow.prototype._moveWindow):
2361         (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
2362         * inspector/front-end/TimelinePanel.js:
2363         (WebInspector.TimelinePanel):
2364         (WebInspector.TimelinePanel.prototype._startSplitterDragging):
2365         (WebInspector.TimelinePanel.prototype._endSplitterDragging):
2366         * inspector/front-end/Toolbar.js:
2367         (WebInspector.Toolbar):
2368         (WebInspector.Toolbar.prototype._toolbarDragStart):
2369         (WebInspector.Toolbar.prototype._toolbarDragEnd):
2370         * inspector/front-end/UIUtils.js:
2371         (WebInspector.installDragHandle):
2372         (WebInspector._elementDragStart):
2373         (WebInspector._elementDragEnd):
2374         * inspector/front-end/timelinePanel.css:
2375         (#timeline-overview-grid .resources-dividers-label-bar):
2376
2377 2012-07-23  Hayato Ito  <hayato@chromium.org>
2378
2379         ComposedShadowTreeWalker should skip an empty insertion points.
2380         https://bugs.webkit.org/show_bug.cgi?id=91826
2381
2382         Reviewed by Hajime Morita.
2383
2384         ComposedShadowTreeWalker wrongly returns 'null' if it encounters
2385         an insertion point into where no nodes are distributed.  We should
2386         skip such an insertion point and continue walking using the next
2387         possible node, which might be a next sibling or a next distributed
2388         node, and resolve the next node recursively.
2389
2390         Test: fast/dom/shadow/composed-shadow-tree-walker.html
2391
2392         * dom/ComposedShadowTreeWalker.cpp:
2393         (WebCore::ComposedShadowTreeWalker::traverseLightChildren):
2394         (WebCore):
2395         (WebCore::ComposedShadowTreeWalker::traverseSiblings):
2396         (WebCore::ComposedShadowTreeWalker::traverseNode):
2397         (WebCore::ComposedShadowTreeWalker::traverseDistributedeNodes):
2398         (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
2399         (WebCore::ComposedShadowTreeWalker::traverseSiblingInCurrentTree):
2400         (WebCore::ComposedShadowTreeWalker::traverseBackToYoungerShadowRoot):
2401         * dom/ComposedShadowTreeWalker.h:
2402         (ComposedShadowTreeWalker):
2403
2404 2012-07-23  Patrick Gansterer  <paroga@webkit.org>
2405
2406         Rename TextCodecWinCE to TextCodecWin
2407         https://bugs.webkit.org/show_bug.cgi?id=91947
2408
2409         Reviewed by Ryosuke Niwa.
2410
2411         Since TextCodecWinCE is used by other (non-upstreamed) windows ports too,
2412         TextCodecWin is a better name for the implementation.
2413         Also remove the dependency on WinCE FontCache to make it more usable.
2414
2415         * PlatformWinCE.cmake:
2416         * platform/text/TextEncodingRegistry.cpp:
2417         (WebCore::extendTextCodecMaps):
2418         * platform/text/win/TextCodecWin.cpp: Renamed from Source/WebCore/platform/text/wince/TextCodecWinCE.cpp.
2419         * platform/text/win/TextCodecWin.h: Renamed from Source/WebCore/platform/text/wince/TextCodecWinCE.h.
2420
2421 2012-07-22  Kentaro Hara  <haraken@chromium.org>
2422
2423         [V8] CodeGeneratorV8.pm should support static attributes
2424         https://bugs.webkit.org/show_bug.cgi?id=91764
2425
2426         Reviewed by Adam Barth.
2427
2428         CodeGeneratorJS.pm already supports static attributes.
2429         CodeGeneratorV8.pm should also support them.
2430
2431         Tests: bindings/scripts/test/TestObj.idl
2432                bindings/scripts/test/TestSupplemental.idl
2433
2434         * bindings/scripts/CodeGeneratorV8.pm:
2435         (GenerateNormalAttrGetter):
2436         (GenerateNormalAttrSetter):
2437
2438         * bindings/scripts/test/TestObj.idl: Added defined(TESTING_V8).
2439         * bindings/scripts/test/TestSupplemental.idl: Added test cases for static attributes in supplemental IDL files.
2440
2441         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
2442         (WebCore):
2443         (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
2444         The generated code is wrong since CodeGeneratorJS.pm does not support static attributes for
2445         supplemental IDL files. I will fix it in a follow-up patch.
2446         (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
2447         (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
2448         * bindings/scripts/test/JS/JSTestInterface.h:
2449         (WebCore):
2450         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated run-bindings-tests results.
2451         (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetter):
2452         (TestInterfaceV8Internal):
2453         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetter):
2454         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
2455         (WebCore):
2456         * bindings/scripts/test/V8/V8TestObj.cpp:
2457         (WebCore::TestObjV8Internal::staticReadOnlyIntAttrAttrGetter):
2458         (TestObjV8Internal):
2459         (WebCore::TestObjV8Internal::staticStringAttrAttrGetter):
2460         (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
2461         (WebCore):
2462
2463 2012-07-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2464
2465         Missing *explicit* keyword in storage and workers.
2466         https://bugs.webkit.org/show_bug.cgi?id=91934
2467
2468         Reviewed by Kentaro Hara.
2469
2470         Some constructors missed to use *explicit* keyword. They need to be added
2471         *explicit* keyword to contructor which has a parameter in order to avoid
2472         implicit type conversion.
2473
2474         No new tests. Convered by existing tests.
2475
2476         * storage/StorageAreaImpl.h:
2477         (StorageAreaImpl):
2478         * storage/StorageMap.h:
2479         (StorageMap):
2480         * storage/StorageSyncManager.h:
2481         (StorageSyncManager):
2482         * storage/StorageTask.h:
2483         (StorageTask):
2484         * storage/StorageTracker.h:
2485         (StorageTracker):
2486         * workers/SharedWorker.h:
2487         (SharedWorker):
2488         * workers/Worker.h:
2489         (Worker):
2490         * workers/WorkerLocation.h:
2491         (WebCore::WorkerLocation::WorkerLocation):
2492         * workers/WorkerMessagingProxy.h:
2493         (WorkerMessagingProxy):
2494
2495 2012-07-23  Kent Tamura  <tkent@chromium.org>
2496
2497         Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively
2498         https://bugs.webkit.org/show_bug.cgi?id=91941
2499
2500         Reviewed by Kentaro Hara.
2501
2502         A flag name for an elmement should be ENABLE_*_ELEMENT.
2503
2504         * Configurations/FeatureDefines.xcconfig:
2505         * DerivedSources.make:
2506         * GNUmakefile.am:
2507         * accessibility/AXObjectCache.cpp:
2508         (WebCore::createFromRenderer):
2509         * accessibility/AccessibilityProgressIndicator.cpp:
2510         * accessibility/AccessibilityProgressIndicator.h:
2511         * css/CSSPrimitiveValueMappings.h:
2512         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2513         * css/SelectorChecker.cpp:
2514         (WebCore::SelectorChecker::checkOneSelector):
2515         * css/StyleResolver.cpp:
2516         (WebCore::StyleResolver::collectMatchingRulesForList):
2517         * css/html.css:
2518         * html/HTMLMeterElement.cpp:
2519         * html/HTMLMeterElement.h:
2520         * html/HTMLMeterElement.idl:
2521         * html/HTMLProgressElement.cpp:
2522         * html/HTMLProgressElement.h:
2523         * html/HTMLProgressElement.idl:
2524         * html/HTMLTagNames.in:
2525         * html/shadow/MeterShadowElement.cpp:
2526         * html/shadow/MeterShadowElement.h: Wrap with #if ENABLE(METER_ELEMENT).
2527         * html/shadow/ProgressShadowElement.cpp:
2528         * html/shadow/ProgressShadowElement.h: Wrap with #if ENABLE(PROGRESS_ELEMENT).
2529         * page/DOMWindow.idl:
2530         * platform/efl/RenderThemeEfl.cpp:
2531         (WebCore::RenderThemeEfl::paintThemePart):
2532         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
2533         (WebCore):
2534         * platform/efl/RenderThemeEfl.h:
2535         (RenderThemeEfl):
2536         * platform/gtk/RenderThemeGtk.cpp:
2537         (WebCore):
2538         * platform/gtk/RenderThemeGtk.h:
2539         (RenderThemeGtk):
2540         * platform/gtk/RenderThemeGtk2.cpp:
2541         (WebCore):
2542         * platform/gtk/RenderThemeGtk3.cpp:
2543         (WebCore):
2544         * platform/qt/RenderThemeQt.cpp:
2545         (WebCore):
2546         * platform/qt/RenderThemeQt.h:
2547         (WebCore):
2548         (RenderThemeQt):
2549         * platform/qt/RenderThemeQtMobile.cpp:
2550         (WebCore):
2551         * platform/qt/RenderThemeQtMobile.h:
2552         (RenderThemeQtMobile):
2553         * rendering/RenderMeter.cpp:
2554         * rendering/RenderMeter.h:
2555         * rendering/RenderObject.h:
2556         (RenderObject):
2557         * rendering/RenderProgress.cpp:
2558         * rendering/RenderProgress.h:
2559         * rendering/RenderTheme.cpp:
2560         (WebCore::RenderTheme::adjustStyle):
2561         (WebCore::RenderTheme::paint):
2562         (WebCore::RenderTheme::paintBorderOnly):
2563         (WebCore::RenderTheme::paintDecorations):
2564         (WebCore):
2565         * rendering/RenderTheme.h:
2566         (WebCore):
2567         (RenderTheme):
2568         * rendering/RenderThemeChromiumLinux.cpp:
2569         (WebCore):
2570         * rendering/RenderThemeChromiumLinux.h:
2571         * rendering/RenderThemeChromiumSkia.cpp:
2572         (WebCore):
2573         * rendering/RenderThemeChromiumSkia.h:
2574         (RenderThemeChromiumSkia):
2575         * rendering/RenderThemeChromiumWin.cpp:
2576         (WebCore):
2577         * rendering/RenderThemeChromiumWin.h:
2578         (RenderThemeChromiumWin):
2579         * rendering/RenderThemeMac.h:
2580         (RenderThemeMac):
2581         * rendering/RenderThemeMac.mm:
2582         (WebCore):
2583
2584 2012-07-22  Kent Tamura  <tkent@chromium.org>
2585
2586         Rename ENABLE_DETAILS to ENABLE_DETAILS_ELEMENT
2587         https://bugs.webkit.org/show_bug.cgi?id=91928
2588
2589         Reviewed by Kentaro Hara.
2590
2591         A flag name for an elmement should be ENABLE_*_ELEMENT.
2592
2593         * Configurations/FeatureDefines.xcconfig:
2594         * DerivedSources.make:
2595         * GNUmakefile.am:
2596         * html/HTMLDetailsElement.cpp:
2597         * html/HTMLDetailsElement.idl:
2598         * html/HTMLSummaryElement.cpp:
2599         * html/HTMLTagNames.in:
2600         * html/shadow/DetailsMarkerControl.cpp:
2601         * rendering/RenderDetailsMarker.cpp:
2602         * rendering/RenderDetailsMarker.h:
2603         * rendering/RenderObject.h:
2604         (RenderObject):
2605         * rendering/RenderTreeAsText.cpp:
2606         (WebCore::RenderTreeAsText::writeRenderObject):
2607
2608 2012-07-21  Dan Bernstein  <mitz@apple.com>
2609
2610         <rdar://problem/11928576> SVG-as-image (constrained) intrinsic size calculation is wrong in vertical writing modes
2611         https://bugs.webkit.org/show_bug.cgi?id=91918
2612
2613         Reviewed by Anders Carlsson.
2614
2615         Test: svg/as-image/svg-intrinsic-size-rectangular-vertical.html
2616
2617         * rendering/RenderReplaced.cpp:
2618         (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox): When there is a content
2619         renderer, it returns a physical intrinsic size and aspect ratio. The code was already
2620         accounting for this by taking the reciprocal of the aspect ratio in the vertical case. Made
2621         it also transpose the size itself, turning it from physical to logical. Moved this code
2622         after setting m_intrinsicSize, since that member variable is always physical.
2623
2624 2012-07-21  Patrick Gansterer  <paroga@webkit.org>
2625
2626         Cleanup TextEncoding USE(XXX_UNICODE) macros
2627         https://bugs.webkit.org/show_bug.cgi?id=91923
2628
2629         Reviewed by Andreas Kling.
2630
2631         Replace PLATFORM(QT) with USE(QT4_UNICODE) and OS(WINCE) with USE(WINCE_UNICODE).
2632         This gives us more flexibility in choosing the unicode backend for a port.
2633
2634         * platform/text/TextEncoding.cpp:
2635         (WebCore::TextEncoding::encode):
2636         * platform/text/TextEncodingRegistry.cpp:
2637         (WebCore::extendTextCodecMaps):
2638
2639 2012-07-21  Patrick Gansterer  <paroga@webkit.org>
2640
2641         Remove unnecessary ICU header includes from SimpleFontDataWin.cpp
2642         https://bugs.webkit.org/show_bug.cgi?id=91922
2643
2644         Reviewed by Kentaro Hara.
2645
2646         This allows us to use SimpleFontDataWin with an other Unicode implementation too.
2647
2648         * platform/graphics/win/SimpleFontDataWin.cpp:
2649
2650 2012-07-21  Kwang Yul Seo  <skyul@company100.net>
2651
2652         A start tag whose tag name is "html" in the "in body" insertion mode is a parse error
2653         https://bugs.webkit.org/show_bug.cgi?id=91916
2654
2655         Reviewed by Eric Seidel.
2656
2657         According to the HTML5 spec, a start tag whose tag name is "html" in the "in body"
2658         insertion mode is a parse error.
2659
2660         Added HTMLTreeBuilder::processHtmlStartTagForInBody(AtomicHTMLToken&) to call parseError(token).
2661         Removed "FIXME: parse error" from HTMLConstructionSite::insertHTMLHtmlStartTagInBody and
2662         HTMLConstructionSite::insertHTMLBodyStartTagInBody because we already marked the call sites
2663         of these two methods with parseError(token).
2664
2665         No behavior change because parseError(token) is just a marker.
2666
2667         * html/parser/HTMLConstructionSite.cpp:
2668         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
2669         (WebCore::HTMLConstructionSite::insertHTMLBodyStartTagInBody):
2670         * html/parser/HTMLTreeBuilder.cpp:
2671         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
2672         (WebCore::HTMLTreeBuilder::processStartTag):
2673         (WebCore::HTMLTreeBuilder::processHtmlStartTagForInBody):
2674         (WebCore):
2675         (WebCore::HTMLTreeBuilder::processStartTagForInHead):
2676         * html/parser/HTMLTreeBuilder.h:
2677
2678 2012-07-20  Czene Tamás  <tczene@inf.u-szeged.hu>
2679
2680         double data type shoud be changed to float in ColorMatrix
2681         https://bugs.webkit.org/show_bug.cgi?id=91499
2682
2683         Reviewed by Nikolas Zimmermann.
2684
2685         * platform/graphics/filters/FEColorMatrix.cpp:
2686         (WebCore::matrix):
2687         (WebCore::saturate):
2688         (WebCore::huerotate):
2689         (WebCore::luminance):
2690         (WebCore::effectType):
2691
2692 2012-07-20  Stephen White  <senorblanco@chromium.org>
2693
2694         [chromium] Take current transformation matrix into account when
2695         deciding on resize algorithm for drawPattern.
2696         https://bugs.webkit.org/show_bug.cgi?id=90624
2697
2698         Reviewed by Adrienne Walker.
2699
2700         Since the pattern shader uses both the current transformation matrix
2701         and the pattern matrix when transforming pixels, we need to
2702         do the same when computing the resampling mode.  Also removed the
2703         resampling hint code, added in r60658, since it appears to be dead
2704         (caller was removed in r76379).
2705
2706         Covered by existing tests, such as
2707         fast/borders/border-image-scale-transform.html.
2708
2709         * platform/graphics/skia/ImageSkia.cpp:
2710         (WebCore::computeResamplingMode):
2711         Pass in the matrix to be used for computing the destination width and
2712         height (for awesome resampling).  Remove the image resampling hint code.
2713         (WebCore::paintSkBitmap):
2714         Pass in the CTM to computeResamplingMode().
2715         (WebCore::Image::drawPattern):
2716         Concatenate the CTM and the pattern matrix, and pass that to 
2717         computeResamplingMode() and TransformDimensions().  Invert the
2718         CTM's scale and apply it to the pattern transform, so their
2719         concatenation gives identity scale.
2720         * platform/graphics/skia/PlatformContextSkia.cpp:
2721         * platform/graphics/skia/PlatformContextSkia.h:
2722         Remove the image resampling hint (dead code).
2723
2724 2012-07-20  Kwang Yul Seo  <skyul@company100.net>
2725
2726         Anything else in the "in table" insertion mode is a parse error
2727         https://bugs.webkit.org/show_bug.cgi?id=91915
2728
2729         Reviewed by Adam Barth.
2730
2731         According to the HTML5 spec, anything else in the "in table" insertion mode is a parse error.
2732
2733         No behavior change because parseError(token) is just a marker.
2734
2735         * html/parser/HTMLTreeBuilder.cpp:
2736         (WebCore::HTMLTreeBuilder::processEndTagForInTable):
2737
2738 2012-07-20  Kent Tamura  <tkent@chromium.org>
2739
2740         Rename ENABLE_DATALIST to ENABLE_DATALIST_ELEMENT
2741         https://bugs.webkit.org/show_bug.cgi?id=91846
2742
2743         Reviewed by Kentaro Hara.
2744
2745         A flag name for an elmement should be ENABLE_*_ELEMENT.
2746
2747         * Configurations/FeatureDefines.xcconfig:
2748         * DerivedSources.make:
2749         * GNUmakefile.am:
2750         * css/html.css:
2751         * html/HTMLDataListElement.cpp:
2752         * html/HTMLDataListElement.h:
2753         * html/HTMLDataListElement.idl:
2754         * html/HTMLInputElement.cpp:
2755         (WebCore):
2756         (WebCore::HTMLInputElement::parseAttribute):
2757         (WebCore::HTMLInputElement::insertedInto):
2758         (WebCore::HTMLInputElement::removedFrom):
2759         * html/HTMLInputElement.h:
2760         (HTMLInputElement):
2761         * html/HTMLInputElement.idl:
2762         * html/HTMLOptionElement.cpp:
2763         (WebCore::HTMLOptionElement::parseAttribute):
2764         (WebCore::HTMLOptionElement::childrenChanged):
2765         (WebCore):
2766         * html/HTMLOptionElement.h:
2767         (HTMLOptionElement):
2768         * html/HTMLTagNames.in:
2769         * html/InputType.cpp:
2770         (WebCore):
2771         * html/InputType.h:
2772         (InputType):
2773         * html/RangeInputType.cpp:
2774         (WebCore):
2775         * html/RangeInputType.h:
2776         (RangeInputType):
2777         * html/shadow/SliderThumbElement.cpp:
2778         (WebCore::RenderSliderContainer::layout):
2779         * page/DOMWindow.idl:
2780         * platform/efl/RenderThemeEfl.cpp:
2781         (WebCore):
2782         * platform/efl/RenderThemeEfl.h:
2783         (RenderThemeEfl):
2784         * platform/qt/RenderThemeQt.cpp:
2785         (WebCore):
2786         * platform/qt/RenderThemeQt.h:
2787         (RenderThemeQt):
2788         * rendering/RenderTheme.cpp:
2789         (WebCore):
2790         * rendering/RenderTheme.h:
2791         (RenderTheme):
2792         * rendering/RenderThemeChromiumLinux.cpp:
2793         (WebCore):
2794         (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
2795         * rendering/RenderThemeChromiumLinux.h:
2796         (RenderThemeChromiumLinux):
2797         * rendering/RenderThemeChromiumWin.cpp:
2798         (WebCore):
2799         (WebCore::RenderThemeChromiumWin::paintSliderTrack):
2800         * rendering/RenderThemeChromiumWin.h:
2801         (RenderThemeChromiumWin):
2802         * rendering/RenderThemeMac.h:
2803         (RenderThemeMac):
2804         * rendering/RenderThemeMac.mm:
2805         (WebCore::RenderThemeMac::paintSliderTrack):
2806         (WebCore):
2807
2808 2012-07-18  Ryosuke Niwa  <rniwa@webkit.org>
2809
2810         Unify HTMLCollection and DynamicNodeList
2811         https://bugs.webkit.org/show_bug.cgi?id=91335
2812
2813         Reviewed by Anders Carlsson.
2814
2815         This is the grand unification of HTMLCollection and DynamicNodeList.
2816
2817         It merges implementations of item() and length() in ChildNodeList, DynamicNodeList,
2818         and HTMLCollection. The unified implementation is based on the one used for HTMLCollection,
2819         that has been improved over the last few days; see r122660 and r122672 for examples.
2820
2821         There are five key changes:
2822         1. Made itemBeforeOrAfter aware of DynamicNodeList.
2823         2. itemBeforeOrAfter and related functions take and return Node* to support ChildNodeList.
2824         3. Renamed InvalidCollectionType to NodeListCollectionType since DynamicNodeLists need to be
2825         identified itemBeforeOrAfter.
2826         4. Renamed itemAfter to virtualItemAfter in subclasses of HTMLCollection, and devirtualized
2827         itemAfter used in common cases to avoid performance regressions. To make this intent clear,
2828         SupportItemBefore and DoNotSupportItemBefore have been renamed to DoesNotOverrideItemAfter
2829         and OverridesItemAfter. This change also help us detect a subclass of HTMLCollection that
2830         passes in a wrong value to ItemBeforeSupportType by making forward iterations fail (hit an
2831         assertion or doesn't iterate at all) as well as backward iterations.
2832         5. Restricted the use of elementsArrayOffset to subclasses that provide virtualItemAfter.
2833
2834         This patch completes my effort to share code between HTMLCollection and DynamicNodeList.
2835
2836         * dom/ChildNodeList.cpp:
2837         (WebCore::ChildNodeList::ChildNodeList):
2838         (WebCore): Removed length() and item().
2839         (WebCore::ChildNodeList::nodeMatches):
2840         * dom/ChildNodeList.h:
2841         (ChildNodeList):
2842         * dom/ClassNodeList.cpp:
2843         (WebCore::ClassNodeList::ClassNodeList):
2844         * dom/Document.cpp:
2845         (WebCore::Document::registerNodeListCache):
2846         (WebCore::Document::unregisterNodeListCache):
2847         * dom/DynamicNodeList.cpp:
2848         (WebCore::DynamicNodeListCacheBase::invalidateCache):
2849         (WebCore::DynamicNodeList::length):
2850         (WebCore::DynamicNodeList::item):
2851         * dom/DynamicNodeList.h:
2852         (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase): Takes new boolean argument
2853         shouldOnlyIncludeDirectChildren indicating whether the non-child descendents should be
2854         included or not. This is necessary to identify ChildNodeList in itemBeforeOrAfter.
2855         (WebCore::DynamicNodeListCacheBase::ownerNode): Moved from DynamicNodeListCacheBase and
2856         HTMLCollectionCacheBase.
2857         (WebCore::DynamicNodeListCacheBase::document): Moved from DynamicNodeListCacheBase.
2858         (WebCore::DynamicNodeListCacheBase::rootNode): Ditto.
2859         (WebCore::DynamicNodeListCacheBase::overridesItemAfter): Renamed from supportsItemBefore
2860         and the return value has been negated.
2861         (WebCore::DynamicNodeListCacheBase::shouldOnlyIncludeDirectChildren): Added.
2862         (WebCore::DynamicNodeListCacheBase):
2863         (WebCore::DynamicNodeList::DynamicNodeList): Takes NodeListType to determine the value of
2864         shouldOnlyIncludeDirectChildren.
2865         (DynamicNodeList):
2866         (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):
2867         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
2868         * dom/MicroDataItemList.cpp:
2869         (WebCore::MicroDataItemList::MicroDataItemList):
2870         * dom/NameNodeList.cpp:
2871         (WebCore::NameNodeList::NameNodeList):
2872         * dom/TagNodeList.cpp:
2873         (WebCore::TagNodeList::TagNodeList):
2874         * html/CollectionType.h:
2875         * html/HTMLAllCollection.cpp:
2876         (WebCore::HTMLAllCollection::HTMLAllCollection):
2877         * html/HTMLCollection.cpp:
2878         (WebCore::shouldOnlyIncludeDirectChildren):
2879         (WebCore::rootTypeFromCollectionType):
2880         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
2881         (WebCore::HTMLCollection::HTMLCollection):
2882         (WebCore::HTMLCollection::create):
2883         (WebCore::HTMLCollection::~HTMLCollection):
2884         (WebCore::isAcceptableElement):
2885         (WebCore::firstNode): Extracted from itemBeforeOrAfter.
2886         (WebCore::DynamicNodeListCacheBase::iterateForNextNode): Ditto.
2887         (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfter): Takes and returns Node*.
2888         Special case ChildNodeList since there is no need to skip any node. When "this" is a
2889         node list, call nodeMatches instead of isAcceptableElement.
2890         (WebCore::DynamicNodeListCacheBase::itemBefore): No longer takes offsetInArray since
2891         the use of elementsArrayOffset has been restricted to HTMLCollections that provides
2892         virtualItemAfter.
2893         (WebCore::DynamicNodeListCacheBase::itemAfter): Calls virtualItemAfter if necessary.
2894         Otherwise assert offsetInArray is zero since we should never be using this variable
2895         when virtualItemAfter is not provided.
2896         (WebCore::DynamicNodeListCacheBase::isLastItemCloserThanLastOrCachedItem):
2897         (WebCore::DynamicNodeListCacheBase::isFirstItemCloserThanCachedItem):
2898         (WebCore::DynamicNodeListCacheBase::setItemCache): Updates m_cachedElementsArrayOffset
2899         in HTMLCollection if and only if virtualItemAfter is provided. This is safe because
2900         node lists never provide virtualItemAfter.
2901         (WebCore::DynamicNodeListCacheBase::cachedElementsArrayOffset): Similarly, returns
2902         m_cachedElementsArrayOffset if virtualItemAfter is provided.
2903         (WebCore::DynamicNodeListCacheBase::lengthCommon):
2904         (WebCore::DynamicNodeListCacheBase::itemCommon): Note that supportsItemBefore() is
2905         equivalent to !overridesItemAfter() here.
2906         (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfterCachedItem): Uses Node* through
2907         out the function. Since itemBefore never uses offsetInArray, always sets 0 for that.
2908         Note that we never call itemBefore and virtualItemAfter on the same object.
2909         (WebCore::HTMLCollection::virtualItemAfter): Added only to make the class "concrete".
2910         (WebCore::HTMLCollection::namedItem):
2911         (WebCore::HTMLCollection::updateNameCache):
2912         (WebCore::HTMLCollection::tags):
2913         * html/HTMLCollection.h:
2914         (WebCore::HTMLCollectionCacheBase::HTMLCollectionCacheBase):
2915         (HTMLCollectionCacheBase):
2916         (WebCore::HTMLCollection::length):
2917         (WebCore::HTMLCollection::item):
2918         (WebCore::HTMLCollection::base):
2919         (HTMLCollection):
2920         * html/HTMLFormCollection.cpp:
2921         (WebCore::HTMLFormCollection::HTMLFormCollection):
2922         (WebCore::HTMLFormCollection::virtualItemAfter):
2923         * html/HTMLFormCollection.h:
2924         (HTMLFormCollection):
2925         * html/HTMLNameCollection.cpp:
2926         (WebCore::HTMLNameCollection::HTMLNameCollection):
2927         (WebCore::HTMLNameCollection::virtualItemAfter):
2928         * html/HTMLNameCollection.h:
2929         (HTMLNameCollection):
2930         * html/HTMLOptionsCollection.cpp:
2931         (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
2932         * html/HTMLPropertiesCollection.cpp:
2933         (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
2934         (WebCore::HTMLPropertiesCollection::virtualItemAfter):
2935         (WebCore::HTMLPropertiesCollection::updateNameCache):
2936         * html/HTMLPropertiesCollection.h:
2937         (HTMLPropertiesCollection):
2938         * html/HTMLTableRowsCollection.cpp:
2939         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
2940         (WebCore::HTMLTableRowsCollection::virtualItemAfter):
2941         * html/HTMLTableRowsCollection.h:
2942         (HTMLTableRowsCollection):
2943         * html/LabelsNodeList.cpp:
2944         (WebCore::LabelsNodeList::LabelsNodeList):
2945         * html/RadioNodeList.cpp:
2946         (WebCore::RadioNodeList::RadioNodeList):
2947
2948 2012-07-20  Joshua Bell  <jsbell@chromium.org>
2949
2950         IndexedDB: Simplify backend interface classes
2951         https://bugs.webkit.org/show_bug.cgi?id=91901
2952
2953         Reviewed by Tony Chang.
2954
2955         The IDBTransactionBackendInterface included several methods only used by the
2956         real implementation objects, not via the interfaces. Expose a static Impl::from(Interface)
2957         method for transaction, and migrate all of the backend-internal uses from Interface to Impl.
2958
2959         No new tests - no functional changes.
2960
2961         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
2962         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
2963         * Modules/indexeddb/IDBCursorBackendImpl.h:
2964         (WebCore):
2965         (WebCore::IDBCursorBackendImpl::create):
2966         (IDBCursorBackendImpl):
2967         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2968         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
2969         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
2970         (WebCore::IDBDatabaseBackendImpl::objectStore):
2971         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
2972         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
2973         (WebCore::IDBDatabaseBackendImpl::setVersion):
2974         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
2975         (WebCore::IDBDatabaseBackendImpl::transactionStarted):
2976         (WebCore::IDBDatabaseBackendImpl::transactionFinished):
2977         (WebCore::IDBDatabaseBackendImpl::transaction):
2978         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2979         (WebCore):
2980         (IDBDatabaseBackendImpl):
2981         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
2982         (WebCore::IDBIndexBackendImpl::openCursorInternal):
2983         (WebCore::IDBIndexBackendImpl::openCursor):
2984         (WebCore::IDBIndexBackendImpl::openKeyCursor):
2985         (WebCore::IDBIndexBackendImpl::countInternal): Drop unused transaction argument.
2986         (WebCore::IDBIndexBackendImpl::count):
2987         (WebCore::IDBIndexBackendImpl::get):
2988         (WebCore::IDBIndexBackendImpl::getKey):
2989         * Modules/indexeddb/IDBIndexBackendImpl.h:
2990         (IDBIndexBackendImpl):
2991         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2992         (WebCore::IDBObjectStoreBackendImpl::get):
2993         (WebCore::IDBObjectStoreBackendImpl::put):
2994         (WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys):
2995         (WebCore):
2996         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2997         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
2998         (WebCore::IDBObjectStoreBackendImpl::clear):
2999         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3000         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
3001         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
3002         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
3003         (WebCore::IDBObjectStoreBackendImpl::openCursor):
3004         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
3005         (WebCore::IDBObjectStoreBackendImpl::count):
3006         (WebCore::IDBObjectStoreBackendImpl::countInternal): Drop unused transaction argument.
3007         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
3008         (WebCore):
3009         (IDBObjectStoreBackendImpl):
3010         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3011         (WebCore::IDBTransactionBackendImpl::objectStore):
3012         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3013         (WebCore::IDBTransactionBackendImpl::from):
3014         (IDBTransactionBackendImpl):
3015         (WebCore::IDBTransactionBackendImpl::mode):
3016         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3017         (IDBTransactionBackendInterface):
3018
3019 2012-07-20  Joshua Bell  <jsbell@chromium.org>
3020
3021         IndexedDB: "ASSERTION FAILED: !m_requestFinished" hit in IDBRequest::dispatchEvent
3022         https://bugs.webkit.org/show_bug.cgi?id=86911
3023
3024         Reviewed by Tony Chang.
3025
3026         Clean up the IDBRequest/IDBCursor relationship and the IDBRequest lifecycle.
3027
3028         The IDBRequest's m_cursor/setCursor() calls are renamed to m_pendingCursor/setPendingCursor() to
3029         clarify that the request will move between two states - either there's a cursor request in-flight
3030         c/o a continue() or advance() call, or the result has come in (cursor, null-for-done, or error).
3031         Since they were only ever used together, resetReadyState() is merged into setResultCursor(). The
3032         m_requestFinished flag becomes redundant and is dropped - the ASSERT reported in the bug
3033         becomes an ASSERT(m_readyState == PENDING) and m_readyState tracking is already correct.
3034
3035         Test: storage/indexeddb/request-continue-abort.html
3036
3037         * Modules/indexeddb/IDBCursor.cpp:
3038         (WebCore::IDBCursor::advance): Unreachable code path now dead and gone.
3039         (WebCore::IDBCursor::continueFunction): Ditto.
3040         * Modules/indexeddb/IDBRequest.cpp: Most functions just add state assertions.
3041         (WebCore::IDBRequest::IDBRequest):
3042         (WebCore::IDBRequest::abort):
3043         (WebCore::IDBRequest::setCursorDetails):
3044         (WebCore::IDBRequest::setPendingCursor): Merge with old resetReadyState().
3045         (WebCore):
3046         (WebCore::IDBRequest::getResultCursor): Helper, since digging cursor out of IDBAny is pesky.
3047         (WebCore::IDBRequest::setResultCursor): Just moved in the file to be with its friends.
3048         (WebCore::IDBRequest::finishCursor):
3049         (WebCore::IDBRequest::onError): Just assertions, re-ordering, re-naming.
3050         (WebCore::IDBRequest::onSuccess):
3051         (WebCore::IDBRequest::onSuccessWithContinuation):
3052         (WebCore::IDBRequest::hasPendingActivity):
3053         (WebCore::IDBRequest::dispatchEvent): Simplify!
3054         (WebCore::IDBRequest::enqueueEvent):
3055         * Modules/indexeddb/IDBRequest.h:
3056         (IDBRequest):
3057
3058 2012-07-20  Andrew Scherkus  <scherkus@chromium.org>
3059
3060         [chromium] Don't display fullscreen button for video elements not containing video
3061         https://bugs.webkit.org/show_bug.cgi?id=91811
3062
3063         Reviewed by Eric Carlson.
3064
3065         Covered by media/media-document-audio-repaint.html
3066
3067         * html/shadow/MediaControlRootElementChromium.cpp:
3068         (WebCore::MediaControlRootElementChromium::reset):
3069
3070 2012-07-20  Dmitry Titov  <dimich@chromium.org>
3071
3072         [Chromium] Out of Memory is observed when a large object is passed to a Web Worker.
3073         https://bugs.webkit.org/show_bug.cgi?id=91535.
3074
3075         Reviewed by David Levin.
3076
3077         No new tests because of no new behavior and lack of mechanism to monitor used memory.
3078
3079         * bindings/v8/SerializedScriptValue.cpp:
3080         (WebCore::SerializedScriptValue::SerializedScriptValue):
3081         (WebCore::SerializedScriptValue::registerMemoryAllocatedWithCurrentScriptContext):
3082         (WebCore):
3083         (WebCore::SerializedScriptValue::~SerializedScriptValue):
3084         * bindings/v8/SerializedScriptValue.h:
3085         (SerializedScriptValue):
3086         Added a method to SerializedScriptValue to add memory pressure on GC proportional to the size of memory allocated in serialized data.
3087         
3088         * dom/MessageEvent.cpp:
3089         (WebCore::MessageEvent::MessageEvent):
3090         (WebCore::MessageEvent::initMessageEvent):
3091         Call the new method of SerializedScriptValue during creation of MessageEvent (presumably in the thread which contains the right V8 context).
3092
3093 2012-07-20  David Grogan  <dgrogan@chromium.org>
3094
3095         IndexedDB: Include intVersion when converting between WebCore and WebKit IDBMetadata types
3096         https://bugs.webkit.org/show_bug.cgi?id=91414
3097
3098         Reviewed by Adam Barth.
3099
3100         No new tests because no new behavior.
3101
3102         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3103         (WebCore::IDBDatabaseBackendImpl::metadata):
3104         No behavior change, this just needs a dummy parameter to match the
3105         modified API.
3106
3107         * Modules/indexeddb/IDBMetadata.h:
3108         (WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
3109         (IDBDatabaseMetadata):
3110
3111 2012-07-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3112
3113         [Soup] Unnecessary RefPtr usage and null check
3114         https://bugs.webkit.org/show_bug.cgi?id=91636
3115
3116         Reviewed by Martin Robinson.
3117
3118         Small clean up of code that is not necessary; no change in functionality.
3119
3120         * platform/network/soup/SocketStreamHandleSoup.cpp:
3121         (WebCore::SocketStreamHandle::connected):
3122
3123 2012-07-20  Mark Salisbury  <mark.salisbury@hp.com>
3124
3125         Typo in FontCacheWin.cpp causes return value from getCachedFontData() in getLastResortFallbackFont() to be ignored
3126         https://bugs.webkit.org/show_bug.cgi?id=91506
3127
3128         Reviewed by Joseph Pecoraro.
3129
3130         No new test.  The "fallback fallback" code ends up creating a font, so you always
3131         get a fallback font even with this code bug.  A test would be buggy, being highly
3132         platform dependent on what the "fallback fallback" font is on the particular
3133         windows machine the test runs on.
3134
3135         * platform/graphics/win/FontCacheWin.cpp:
3136         (WebCore::FontCache::getLastResortFallbackFont):
3137
3138 2012-07-20  Stephen White  <senorblanco@chromium.org>
3139
3140         [chromium] Clean up scratch texture usage in Chromium's implementation
3141         of GPU-accelerated filters.
3142         https://bugs.webkit.org/show_bug.cgi?id=83370
3143
3144         Reviewed by Adrienne Walker.
3145
3146         There didn't used to be a safe way to allocate a scratch texture, and
3147         hold into it beyond the lifetime of GrAutoScratchTexture.  Now there is:
3148         detach().
3149
3150         Covered by existing tests in css3/filters.
3151
3152         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
3153         (WebCore::CCRenderSurfaceFilters::apply):
3154         Use a GrAutoScratchTexture to allocate the destination texture, and 
3155         detach() to detach it from the cache before placing it in an
3156         SkGrTexturePixelRef.  This means we no longer need to do any lock/
3157         unlock trickery with the TextureCacheEntry, since the refcount is
3158         enough to keep the texture away from the cache's prying hands.
3159
3160 2012-07-20  Stephen White  <senorblanco@chromium.org>
3161
3162         [chromium] Clean up scratch texture usage in Chromium's implementation
3163         of GPU-accelerated filters.
3164         https://bugs.webkit.org/show_bug.cgi?id=83370
3165
3166         Reviewed by Adrienne Walker.
3167
3168         There didn't used to be a safe way to allocate a scratch texture, and
3169         hold into it beyond the lifetime of GrAutoScratchTexture.  Now there is:
3170         detach().
3171
3172         Covered by existing tests in css3/filters.
3173
3174         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
3175         (WebCore::CCRenderSurfaceFilters::apply):
3176         Use a GrAutoScratchTexture to allocate the destination texture, and 
3177         detach() to detach it from the cache before placing it in an
3178         SkGrTexturePixelRef.  This means we no longer need to do any lock/
3179         unlock trickery with the TextureCacheEntry, since the refcount is
3180         enough to keep the texture away from the cache's prying hands.
3181
3182 2012-07-19  Andrew Scherkus  <scherkus@chromium.org>
3183
3184         [chromium] CSS tweaks to media controls to prevent styles from being overridden
3185         https://bugs.webkit.org/show_bug.cgi?id=91802
3186
3187         Reviewed by Eric Carlson.
3188
3189         Having the buttons declared as inline caused them to not be included in the box layout,
3190         resulting in styles set outside the media element to affect the position of the buttons.
3191
3192         In a similar vein, it was also possible to override the font-style attribute for the time
3193         display.
3194
3195         Test: media/controls-styling-strict.html
3196
3197         * css/mediaControlsChromium.css:
3198         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
3199         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3200         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
3201         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
3202
3203 2012-07-20  Han Shen  <shenhan@google.com>
3204
3205         [Chromium] Compilation fails under gcc 4.7
3206         https://bugs.webkit.org/show_bug.cgi?id=90227
3207
3208         Reviewed by Tony Chang.
3209
3210         Disable warnings about c++0x compatibility in gcc newer than 4.6.
3211
3212         * WebCore.gyp/WebCore.gyp:
3213
3214 2012-07-20  Vincent Scheib  <scheib@chromium.org>
3215
3216         Unreviewed compile fix, r123247 included unintended changes to Document.cpp.
3217
3218         See http://trac.webkit.org/changeset/123247.
3219
3220         * dom/Document.cpp:
3221         (WebCore::Document::webkitExitPointerLock):
3222
3223 2012-07-20  Ryosuke Niwa  <rniwa@webkit.org>
3224
3225         REGRESSION(r122873): 15% regression on Dromaeo/dom-attr
3226         https://bugs.webkit.org/show_bug.cgi?id=91827
3227
3228         Reviewed by Anders Carlsson.
3229
3230         Move shouldInvalidateNodeListCaches from Document.cpp to Node.cpp since it's only called
3231         in Node::invalidateNodeListCachesInAncestors.
3232
3233         Test: PerformanceTests/Dromaeo/dom-attr.html.
3234
3235         * dom/Document.cpp:
3236         (WebCore):
3237         * dom/Node.cpp:
3238         (WebCore::shouldInvalidateNodeListCachesForAttr): Extracted from shouldInvalidateNodeListCaches
3239         to unroll the loop in shouldInvalidateNodeListCaches. Apparently gcc wasn't doing the right thing.
3240         (WebCore::Document::shouldInvalidateNodeListCaches):
3241         (WebCore::Document::invalidateNodeListCaches):
3242         (WebCore::Node::invalidateNodeListCachesInAncestors):
3243
3244 2012-07-20  Nico Weber  <thakis@chromium.org>
3245
3246         Fix more -Wunused-private-field violations
3247         https://bugs.webkit.org/show_bug.cgi?id=91876
3248
3249         Reviewed by Adam Barth.
3250
3251         As of http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20120716/061102.html
3252         the warning finds more bugs. Fix them.
3253
3254         * html/FTPDirectoryDocument.cpp:
3255         (FTPDirectoryDocumentParser):
3256         (WebCore::FTPDirectoryDocumentParser::FTPDirectoryDocumentParser):
3257         * html/parser/HTMLTreeBuilder.cpp:
3258         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3259         * html/parser/HTMLTreeBuilder.h:
3260         (HTMLTreeBuilder):
3261         * html/shadow/MediaControlRootElementChromium.cpp:
3262         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
3263         * html/shadow/MediaControlRootElementChromium.h:
3264         (MediaControlRootElementChromium):
3265         * inspector/InspectorDOMStorageResource.cpp:
3266         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
3267         * inspector/InspectorDOMStorageResource.h:
3268         (InspectorDOMStorageResource):
3269         * page/Settings.cpp:
3270         (WebCore::Settings::Settings):
3271         * page/Settings.h:
3272         (Settings):
3273         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3274         (WebCore::CCThreadProxy::CCThreadProxy):
3275         * platform/graphics/chromium/cc/CCThreadProxy.h:
3276         (CCThreadProxy):
3277         * rendering/svg/RenderSVGTextPath.cpp:
3278         (WebCore::RenderSVGTextPath::RenderSVGTextPath):
3279         * rendering/svg/RenderSVGTextPath.h:
3280
3281 2012-07-20  Adam Klein  <adamk@chromium.org>
3282
3283         CodeGeneratorInspector.py is unnecessarily chatty
3284         https://bugs.webkit.org/show_bug.cgi?id=91758
3285
3286         Reviewed by Vsevolod Vlasov.
3287
3288         The code aded in r123091 included a "print" statement for each written
3289         file. This makes for noisy build output, especially noticeable in the
3290         Chromium ninja build (where build output takes up a single line of the
3291         console).
3292
3293         If this print statement is generally useful, it should be
3294         hidden behind a --verbose commandline option, as we do for the binding
3295         generators.
3296
3297         * inspector/CodeGeneratorInspector.py:
3298         (SmartOutput.close): Remove print statement.
3299
3300 2012-07-20  Stephen White  <senorblanco@chromium.org>
3301
3302         [chromium] Enable GPU-accelerated skia implementation of
3303         feDiffuseLighting, feSpecularLighting.
3304         https://bugs.webkit.org/show_bug.cgi?id=91865
3305
3306         Reviewed by Dirk Schulze.
3307
3308         Translate the light parameters into the appropriate
3309         SkLightingImageFilter calls.  This path is only enabled when
3310         the filters are created with the Accelerated flag set.
3311
3312         This will be covered by tests in svg/filters/* when they are
3313         added to the virtual GPU tests.
3314
3315         * WebCore.gypi:
3316         * platform/graphics/filters/FELighting.h:
3317         (FELighting):
3318         * platform/graphics/filters/skia/FELightingSkia.cpp: Added.
3319         (WebCore):
3320         (WebCore::FELighting::platformApplySkia):
3321
3322 2012-07-20  Pavel Feldman  <pfeldman@chromium.org>
3323
3324         Web Inspector: disable fake workers inspection.
3325         https://bugs.webkit.org/show_bug.cgi?id=91867
3326
3327         Reviewed by Vsevolod Vlasov.
3328
3329         'Fake workers' is unreliable error-prone way to debug workers. There are a
3330         lot of frameworks supporting it. Inspector should not do that since it has a more
3331         powerful native worker inspection capabilities. Port owners should enable it
3332         in case they want to provide workers debugging.
3333
3334         * English.lproj/localizedStrings.js:
3335         * WebCore.gypi:
3336         * WebCore.order:
3337         * WebCore.vcproj/WebCore.vcproj:
3338         * inspector/InjectedScriptHost.cpp:
3339         (WebCore::InjectedScriptHost::InjectedScriptHost):
3340         * inspector/InjectedScriptHost.h:
3341         (InjectedScriptHost):
3342         * inspector/InjectedScriptHost.idl:
3343         * inspector/Inspector.json:
3344         * inspector/InspectorAgent.cpp:
3345         (WebCore::InspectorAgent::didCommitLoad):
3346         (WebCore::InspectorAgent::enable):
3347         * inspector/InspectorAgent.h:
3348         (WebCore):
3349         (InspectorAgent):
3350         * inspector/InspectorInstrumentation.cpp:
3351         * inspector/InspectorInstrumentation.h:
3352         (InspectorInstrumentation):
3353         * inspector/front-end/InjectedFakeWorker.js: Removed.
3354         * inspector/front-end/ScriptsPanel.js:
3355         * inspector/front-end/WebKit.qrc:
3356         * inspector/front-end/WorkersSidebarPane.js:
3357         (WebInspector.WorkersSidebarPane):
3358         * inspector/front-end/externs.js:
3359         * inspector/front-end/inspector.html:
3360         * inspector/front-end/inspector.js:
3361         * workers/AbstractWorker.cpp:
3362         (WebCore::AbstractWorker::contextDestroyed):
3363         * workers/AbstractWorker.h:
3364         (AbstractWorker):
3365         * workers/SharedWorker.cpp:
3366         (WebCore::SharedWorker::create):
3367         * workers/Worker.cpp:
3368         (WebCore::Worker::create):
3369
3370 2012-07-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3371
3372         Unreviewed, rolling out r123182.
3373         http://trac.webkit.org/changeset/123182
3374         https://bugs.webkit.org/show_bug.cgi?id=91863
3375
3376         Causing ASSERT crashes in tests accessibility/canvas.html and
3377         accessibility/canvas-accessibilitynodeobject.html (Requested
3378         by jernoble on #webkit).
3379
3380         * CMakeLists.txt:
3381         * GNUmakefile.list.am:
3382         * Target.pri:
3383         * WebCore.gypi:
3384         * accessibility/AXObjectCache.cpp:
3385         (WebCore):
3386         * accessibility/AXObjectCache.h:
3387         (AXObjectCache):
3388         * accessibility/AccessibilityARIAGrid.cpp:
3389         (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
3390         (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
3391         (WebCore):
3392         (WebCore::AccessibilityARIAGrid::create):
3393         * accessibility/AccessibilityARIAGrid.h:
3394         (AccessibilityARIAGrid):
3395         * accessibility/AccessibilityARIAGridCell.cpp:
3396         (WebCore::AccessibilityARIAGridCell::create):
3397         * accessibility/AccessibilityARIAGridRow.cpp:
3398         (WebCore::AccessibilityARIAGridRow::create):
3399         * accessibility/AccessibilityAllInOne.cpp:
3400         * accessibility/AccessibilityList.cpp:
3401         (WebCore::AccessibilityList::create):
3402         * accessibility/AccessibilityListBox.cpp:
3403         (WebCore::AccessibilityListBox::create):
3404         * accessibility/AccessibilityMediaControls.cpp:
3405         (WebCore::AccessibilityMediaControl::create):
3406         (WebCore::AccessibilityMediaControlsContainer::create):
3407         (WebCore::AccessibilityMediaTimeline::create):
3408         (WebCore::AccessibilityMediaTimeDisplay::create):
3409         * accessibility/AccessibilityMenuList.cpp:
3410         * accessibility/AccessibilityMenuList.h:
3411         (WebCore::AccessibilityMenuList::create):
3412         * accessibility/AccessibilityNodeObject.cpp: Removed.
3413         * accessibility/AccessibilityNodeObject.h: Removed.
3414         * accessibility/AccessibilityObject.h:
3415         (AccessibilityObject):
3416         * accessibility/AccessibilityProgressIndicator.cpp:
3417         (WebCore::AccessibilityProgressIndicator::create):
3418         * accessibility/AccessibilityRenderObject.cpp:
3419         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
3420         (WebCore::AccessibilityRenderObject::create):
3421         (WebCore::AccessibilityRenderObject::detach):
3422         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
3423         (WebCore):
3424         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
3425         (WebCore::AccessibilityRenderObject::ariaRoleAttribute):
3426         (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
3427         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
3428         (WebCore::AccessibilityRenderObject::childrenChanged):
3429         (WebCore::AccessibilityRenderObject::canHaveChildren):
3430         (WebCore::AccessibilityRenderObject::addChildren):
3431         * accessibility/AccessibilityRenderObject.h:
3432         (AccessibilityRenderObject):
3433         (WebCore::AccessibilityRenderObject::setRenderer):
3434         * accessibility/AccessibilitySlider.cpp:
3435         (WebCore::AccessibilitySlider::create):
3436         * accessibility/AccessibilityTable.cpp:
3437         (WebCore::AccessibilityTable::AccessibilityTable):
3438         (WebCore::AccessibilityTable::~AccessibilityTable):
3439         (WebCore):
3440         (WebCore::AccessibilityTable::create):
3441         * accessibility/AccessibilityTable.h:
3442         (AccessibilityTable):
3443         * accessibility/AccessibilityTableCell.cpp:
3444         (WebCore::AccessibilityTableCell::create):
3445         * accessibility/AccessibilityTableRow.cpp:
3446         (WebCore::AccessibilityTableRow::create):
3447
3448 2012-07-20  Christophe Dumez  <christophe.dumez@intel.com>
3449
3450         [EFL] Proxy configuration should honor the no_proxy environment variable
3451         https://bugs.webkit.org/show_bug.cgi?id=91747
3452
3453         Reviewed by Kenneth Rohde Christiansen.
3454
3455         Implement a custom Proxy URI Resolver for libsoup
3456         so that we can use it in EFL port. This custom
3457         proxy resolver brings support for setting
3458         exceptions so that the proxy is not used for the
3459         specified hosts.
3460
3461         By default, the proxy is not used for localhost and
3462         127.0.0.1.
3463
3464         No new tests, no behavior change for layout tests.
3465
3466         * PlatformEfl.cmake:
3467         * platform/network/soup/ProxyResolverSoup.cpp: Added.
3468         (soup_proxy_resolver_wk_init):
3469         (soupProxyResolverWkFinalize):
3470         (soupProxyResolverWkSetProperty):
3471         (soupProxyResolverWkGetProperty):
3472         (shouldBypassProxy):
3473         (idle_return_proxy_uri):
3474         (soupProxyResolverWkGetProxyURIAsync):
3475         (soupProxyResolverWkGetProxyURISync):
3476         (soup_proxy_resolver_wk_class_init):
3477         (soup_proxy_resolver_wk_interface_init):
3478         (soupProxyResolverWkNew):
3479         * platform/network/soup/ProxyResolverSoup.h: Added.
3480
3481 2012-07-20  Pierre Rossi  <pierre.rossi@gmail.com>
3482
3483         ColorChooserClient should expose the element's location
3484         https://bugs.webkit.org/show_bug.cgi?id=91767
3485
3486         Reviewed by Kent Tamura.
3487
3488         The rationale is that the chrome client could have an interest in placing the picker next to
3489         the element for usability reasons.
3490
3491         No new tests as there is not much logic here: Just exposing a geometry information to WebKit.
3492
3493         * html/ColorInputType.cpp:
3494         (WebCore::ColorInputType::elementRectRelativeToWindow):
3495         (WebCore):
3496         * html/ColorInputType.h:
3497         (ColorInputType):
3498         * platform/ColorChooserClient.h:
3499         (ColorChooserClient):
3500
3501 2012-07-20  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3502
3503         [WK2] WebIntents doesn't build if mutation observers is disabled
3504         https://bugs.webkit.org/show_bug.cgi?id=91839
3505
3506         Reviewed by Kenneth Rohde Christiansen.
3507
3508         WebIntents was depending on a code protected by ENABLE(MUTATION_OBSERVERS).
3509         Now the code is also enabled by ENABLE(WEB_INTENTS).
3510
3511         * bindings/js/JSDictionary.cpp:
3512         (WebCore):
3513         * bindings/js/JSDictionary.h:
3514
3515 2012-07-20  Mihnea Ovidenie  <mihnea@adobe.com>
3516
3517         [CSSRegions]Assert failure when layout positioned objects in regions
3518         https://bugs.webkit.org/show_bug.cgi?id=90792
3519
3520         Reviewed by Andreas Kling.
3521
3522         Before clamping the containing block (for an out-of-flow positioned element
3523         inside a named flow) to the region, we have to test whether the region is not
3524         null, which can happen when the named flow does not have attached regions.
3525
3526         Tests: fast/regions/positioned-vrl-in-named-flow.html
3527                fast/regions/positioned-vrl-in-parent-named-flow.html
3528                fast/regions/positioned-with-vrl-parent-in-named-flow.html
3529
3530         * rendering/RenderBox.cpp:
3531         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
3532         (WebCore::RenderBox::computePositionedLogicalWidth):
3533         (WebCore::RenderBox::computePositionedLogicalHeight):
3534
3535 2012-07-20  Stephen Chenney  <schenney@chromium.org>
3536
3537         SVG Filter Effect sub-region not applied for some filters
3538         https://bugs.webkit.org/show_bug.cgi?id=89767
3539
3540         Reviewed by Dirk Schulze.
3541
3542         The filter effect region for SVG feGaussian and feDropShadow filters
3543         was incorrectly set, failing to account for the radius of the blur.
3544         This patch fixes the problem and removes an unneccessary clip
3545         operation when the filter result is blitted into the target. That clip
3546         was clipping the shadow from webkit-shadow.
3547
3548         Tests: svg/filters/feDropShadow-subregion.svg
3549                svg/filters/feGaussianBlur-subregion.svg
3550
3551         * platform/graphics/filters/FEDropShadow.cpp:
3552         (WebCore::FEDropShadow::determineAbsolutePaintRect): Moved the code
3553         that clips the paint rect by the filter effect subregion to come after
3554         the paint is modified by the filter radius.
3555         * platform/graphics/filters/FEGaussianBlur.cpp:
3556         (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
3557         Moved the code that clips the paint rect by the filter effect subregion to
3558         come after the paint is modified by the filter radius.
3559         * rendering/svg/RenderSVGResourceFilter.cpp:
3560         (WebCore::RenderSVGResourceFilter::postApplyResource):
3561         Removed a clip that is unnecessary and that was incorrectly clipping drop shadows.
3562
3563 2012-07-19  Pavel Feldman  <pfeldman@chromium.org>
3564
3565         Web Inspector: Status bar icons are misaligned by 1px to the right
3566         https://bugs.webkit.org/show_bug.cgi?id=91757
3567
3568         Reviewed by Vsevolod Vlasov.
3569
3570         * inspector/front-end/inspector.css:
3571         (.glyph):
3572         (.glyph.shadow):
3573
3574 2012-07-20  Andrei Poenaru  <poenaru@adobe.com>
3575
3576         Web Inspector: Protocol Extension: add getNamedFlowCollection command
3577         https://bugs.webkit.org/show_bug.cgi?id=91607
3578
3579         Reviewed by Pavel Feldman.
3580
3581         Extended the protocol with "getNamedFlowCollection" command.
3582         This command returns the CSS Named Flows from the document.
3583
3584         Test: inspector/styles/protocol-getNamedFlowCollection-command.html
3585
3586         * dom/WebKitNamedFlowCollection.cpp:
3587         (WebCore::WebKitNamedFlowCollection::namedFlowsNames):
3588         (WebCore):
3589         * dom/WebKitNamedFlowCollection.h:
3590         (WebKitNamedFlowCollection):
3591         * inspector/Inspector.json:
3592         * inspector/InspectorCSSAgent.cpp:
3593         (WebCore::InspectorCSSAgent::getNamedFlowCollection):
3594         (WebCore):
3595         * inspector/InspectorCSSAgent.h:
3596         (InspectorCSSAgent):
3597         * inspector/InspectorDOMAgent.cpp:
3598         (WebCore::InspectorDOMAgent::assertDocument):
3599         (WebCore):
3600         * inspector/InspectorDOMAgent.h:
3601         (InspectorDOMAgent):
3602         * inspector/front-end/CSSStyleModel.js:
3603         (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
3604
3605 2012-07-20  Eugene Klyuchnikov  <eustas.big@gmail.com>
3606
3607         Web Inspector: Timeline: forward compatibility for load.
3608         https://bugs.webkit.org/show_bug.cgi?id=91714
3609
3610         Reviewed by Pavel Feldman.
3611
3612         Accept records of unrecognized types and render them as "unknown".
3613
3614         Test: inspector/timeline/timeline-load-incompatible.html
3615
3616         * English.lproj/localizedStrings.js: Added UI string.
3617         * inspector/front-end/TimelinePresentationModel.js:
3618         (WebInspector.TimelinePresentationModel.recordStyle): Add missing record
3619         styles at runtime.
3620         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
3621         Add some common information for default case.
3622
3623 2012-07-20  MORITA Hajime  <morrita@google.com>
3624
3625         Another unreviewed Mac build fix against r123184.
3626
3627         * WebCore.exp.in:
3628
3629 2012-07-20  Mihnea Ovidenie  <mihnea@adobe.com>
3630
3631         [CSSRegions]Crash when flowing a region into itself
3632         https://bugs.webkit.org/show_bug.cgi?id=90289
3633
3634         Reviewed by Andreas Kling.
3635
3636         If a region is designed to receive itself as content through a named flow, we avoid
3637         a circular dependency by not attaching the region to the desired named flow.
3638         In such occasions, the region's attached flow thread object is null and
3639         we have to check this pointer before using it in RenderRegion::styleDidChange.
3640
3641         Test: fast/regions/flow-region-into-itself-crash.html
3642
3643         * rendering/RenderRegion.cpp:
3644         (WebCore::RenderRegion::styleDidChange):
3645
3646 2012-07-20  MORITA Hajime  <morrita@google.com>
3647
3648         Unreviewed Mac build fix against r123184.
3649
3650         * WebCore.exp.in:
3651
3652 2012-07-17  Kinuko Yasuda  <kinuko@chromium.org>
3653
3654         If value for responseType defined as type that not supported, it should not throw an exception in XHR 2
3655         https://bugs.webkit.org/show_bug.cgi?id=90976
3656
3657         Reviewed by Alexey Proskuryakov.
3658
3659         http://www.w3.org/TR/XMLHttpRequest2/#the-responsetype-attribute
3660         The spec does not say it should throw an exception when a non-supported
3661         type is set, and other browsers do not throw it either.
3662
3663         Test: fast/xmlhttprequest/xmlhttprequest-responsetype-set-type.html
3664
3665         * xml/XMLHttpRequest.cpp:
3666         (WebCore::XMLHttpRequest::setResponseType): Stop throwing an exception when non-supported type is given.
3667
3668 2012-07-20  Matt Falkenhagen  <falken@chromium.org>
3669
3670         Show or hide <dialog> depending on the open attribute
3671         https://bugs.webkit.org/show_bug.cgi?id=90931
3672
3673         Reviewed by Kent Tamura.
3674
3675         Test: fast/dom/HTMLDialogElement/dialog-open.html
3676
3677         * css/html.css: Add CSS for dialog. This is copied verbatim from the HTML5 spec: http://www.whatwg.org/specs/web-apps/current-work/#flow-content-1
3678         (dialog:not([open])):
3679         (dialog):
3680         * html/HTMLDialogElement.cpp:
3681         (WebCore::HTMLDialogElement::close): Set open to false, to hide the dialog.
3682         (WebCore::HTMLDialogElement::show): Set open to true, to show the dialog.
3683         (WebCore):
3684         (WebCore::HTMLDialogElement::isPresentationAttribute): Make openAttr a presentation attribute, to work around bug 91058
3685         * html/HTMLDialogElement.h:
3686         (HTMLDialogElement):
3687         * html/HTMLDialogElement.idl:
3688
3689 2012-07-20  Shinya Kawanaka  <shinyak@chromium.org>
3690
3691         Needs pseudo id to point the inner element of an img elemnet for styling
3692         https://bugs.webkit.org/show_bug.cgi?id=91590
3693
3694         Reviewed by Hajime Morita.
3695
3696         We introduce pseudo id to point the element in UserAgentShadowDOM.
3697         This enables us to style the inner element of an img element shadow.
3698         Please see also http://trac.webkit.org/wiki/ShadowDOMForReplacedElements
3699
3700         Test: fast/dom/shadow/shadowdom-for-image-with-pseudo-id.html
3701
3702         * html/shadow/ImageInnerElement.cpp:
3703         (WebCore::ImageInnerElement::shadowPseudoId):
3704         (WebCore):
3705         * html/shadow/ImageInnerElement.h:
3706         (ImageInnerElement):
3707
3708 2012-07-20  Kent Tamura  <tkent@chromium.org>
3709
3710         REGRESSION(r121420): Performance regression of form state saving for pages with multiple forms
3711         https://bugs.webkit.org/show_bug.cgi?id=91804
3712
3713         Reviewed by Hajime Morita.
3714
3715         The complexity of FormKeyGenerator::formKey() was O(N) where N is the
3716         number of form elements with an identical action URL, and formKey() is
3717         called for every form. So, it's O(N^2). A page in www.reddit.com
3718         contains hundreds of form elements with action="#". So FormController::
3719         formElementsState() took a few seconds on a slow machine.
3720
3721         In order to avoid O(N^2) operation, storing a map from form signatures
3722         to next index numbers, instead of storing existing formKey strings.
3723
3724         No new tests. Just a performance improvement.
3725
3726         * html/FormController.cpp:
3727         (FormKeyGenerator): Remove m_existingKeys. Add a map from a form
3728         signature string to the next index number.
3729         (WebCore::formSignature): Returns a signature string for a form, without
3730         an index number. This is like "actionURL [name1 name2 ]"
3731         (WebCore::FormKeyGenerator::formKey):
3732         Creates a formKey string by concatenating a formSignature and #n. N is
3733         obtained from m_formSignatureToNextIndexMap in O(1).
3734         (WebCore::FormKeyGenerator::willDeleteForm):
3735         Remove the code for m_existingKeys.
3736
3737 2012-07-20  Keishi Hattori  <keishi@webkit.org>
3738
3739         Fix crash in WebCore::HTMLInputElement::dataList
3740         https://bugs.webkit.org/show_bug.cgi?id=91818
3741
3742         Reviewed by Kent Tamura.
3743
3744         Fix crash that occurs when setting slider appearance on a regular node.
3745
3746         Test: fast/forms/range/slider-appearance-crash.html
3747
3748         * rendering/RenderTheme.cpp:
3749         (WebCore::RenderTheme::paintSliderTicks): Check if node is an input element.
3750
3751 2012-07-20  Kent Tamura  <tkent@chromium.org>
3752
3753         [Chromium] Fix an assertion failure in TextFieldDecorationElement::hostInput()
3754         https://bugs.webkit.org/show_bug.cgi?id=91824
3755
3756         Reviewed by Hajime Morita.
3757
3758         No new tests. This code is used only in Chromium browser.
3759
3760         * html/shadow/TextFieldDecorationElement.cpp:
3761         (WebCore::TextFieldDecorationElement::hostInput):
3762         Use shadowHost(), and allow to return 0.
3763         (WebCore::TextFieldDecorationElement::defaultEventHandler):
3764         Check 0.
3765
3766 2012-07-19  Simon Hausmann  <simon.hausmann@nokia.com>
3767
3768         [Qt] Compile WebCore without QtWidgets
3769         https://bugs.webkit.org/show_bug.cgi?id=91819
3770
3771         Reviewed by Kenneth Rohde Christiansen.
3772
3773         * WebCore.pri: QT += opengl is not needed for Qt 5, given that QtGui has OpenGL
3774         support built in with the QOpenGL* classes.
3775
3776 2012-07-19  MORITA Hajime  <morrita@google.com>
3777
3778         [Refactoring] Replace Node's Document pointer with a TreeScope pointer
3779         https://bugs.webkit.org/show_bug.cgi?id=59816
3780
3781         Reviewed by Ryosuke Niwa.
3782
3783         Before this change, Node::treeScope() fetches the TreeScope object
3784         from ElementRareData. This approach has several shortcomings:
3785
3786         - rareData() call is slow due to a hashtable lookup.
3787         - In shadow tree, each node has its tree scope in ElementRareData,
3788           that means the rare-data is no longer rare in that case.
3789
3790         This change gets rid of ElementRareData::m_treeScope by replacing
3791         Node::m_document with Node::m_treeScope. And retrieves the
3792         document of Node through m_treeScope.
3793
3794         Note that Node::document() is a hot function and naive
3795         replacemennt of m_document with m_treeScope can hurt the
3796         speed. This change employs some tricks to address it.
3797
3798         - This change introduces Node::InShadowTree flag, if the flag is off,
3799           that means m_treeScope is actually a document an can be returned as the result.
3800           this eliminates an extract dereference.
3801         - Node::m_treeScope can be null. But we don't want to issue any extra
3802           conditional statement. So this change represents a null
3803           TreeScope as TreeScope::nullInstance(), which saves one conditional
3804           statement.
3805
3806         With these changes, the Node::document() slowdown is minimized to
3807         unnoticeable size.
3808
3809         No new tests. Covered by existing tests.
3810
3811         * dom/Document.cpp: Took care of connectio betwen TreeScope.
3812         (WebCore::Document::Document):
3813         (WebCore::Document::~Document):
3814         (WebCore::Document::suggestedMIMEType):
3815         * dom/Document.h:
3816         (WebCore::Node::treeScope): Now just return m_treeScope, taking care of nullInstance() case.
3817         (WebCore):
3818         (WebCore::Node::setTreeScope): Now just sets m_treeScope.
3819         (WebCore::Node::documentInternal): Extracted from document() to have ASSERT-free version.
3820         (WebCore::Node::document): Re-implemented over treeScope() and the flag.
3821         (WebCore::Node::isDocumentNode): Re-implemented using treeScope()
3822         (WebCore::Node::Node):
3823         * dom/Node.cpp:
3824         (WebCore::Node::~Node):
3825         (WebCore::Node::reportMemoryUsage):
3826         * dom/Node.h:
3827         (Node):
3828         (WebCore::Node::inDocument):
3829         (WebCore::Node::isInShadowTree): Rewrote to use InShadowTree flag.
3830         * dom/NodeRareData.h:
3831         (WebCore::NodeRareData::NodeRareData): Eliminated m_treeScope.
3832         (NodeRareData):
3833         * dom/ShadowRoot.cpp:
3834         (WebCore::ShadowRoot::ShadowRoot):
3835         * dom/TreeScope.cpp:
3836         (WebCore::TreeScope::TreeScope):
3837         (WebCore):
3838         (WebCore::TreeScope::setParentTreeScope): Added.
3839         (WebCore::TreeScope::isDocumentScope): Added.
3840         (WebCore::TreeScope::nullInstance): Added.
3841         * dom/TreeScope.h: Added m_parentTreeScope.
3842         (WebCore):
3843         (WebCore::TreeScope::rootDocument): Added.
3844         (TreeScope):
3845         * dom/TreeScopeAdopter.cpp: No longer calls setDocument()
3846         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
3847         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
3848         * editing/MoveSelectionCommand.cpp: Includes Document.h to find inlined Node functions
3849         * editing/RemoveNodeCommand.cpp: Includes Document.h to find inlined Node functions
3850         * editing/RemoveNodePreservingChildrenCommand.cpp: Includes Document.h to find inlined Node functions
3851         * inspector/PageConsoleAgent.cpp: Includes Document.h to find inlined Node functions
3852
3853 2012-07-19  David Hyatt  <hyatt@apple.com>
3854
3855         SVG not properly respecting max-width.
3856         https://bugs.webkit.org/show_bug.cgi?id=91474
3857
3858         My previous checkin for 91474 accidentally inverted width and height in the division case for
3859         the computation of height. When I fixed this inversion, I discovered that <object> elements
3860         are in fact also broken with max-width handling, and that furthermore, trying to apply the same
3861         max-width fix by calling RenderBox::computeReplacedLogicalWidth/Height failed because those methods
3862         call intrinsicLogicalWidth()/Height(). Becuase m_intrinsicSize is out-of-date and does not reflect
3863         the values we just obtained from the contentRenderer, we use the default 300x150 values for object
3864         and fail to render.
3865         
3866         In order to both fix SVG/<object> with max-width constraints and to keep <object> rendering correctly
3867         even when there are no max-width constraints, I was forced to update the m_intrinsicSize immediately
3868         in order to make sure that the RenderBox methods returned the right values when computing the width/height
3869         constrained to max/min-width/height values.
3870
3871         Reviewed by Dan Bernstein.
3872
3873         Added two new tests in svg/as-image. One test covers non-rectangular images to test for the inversion
3874         mistake I made. The second test applies a max-width to <object> and shows that we have never gotten
3875         this right before. An existing test in svg/as-image/ already covers basic <object> use (and tests that
3876         the intrinsic size of 300x150 is not used when an explicit non-percentage size is specified on the SVG
3877         itself).
3878
3879         * rendering/RenderReplaced.cpp:
3880         (WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox):
3881         Add a check to update m_intrinsicSize when we know it should apply, so that the calls to check against
3882         min/max-width fetch this correct size.
3883         
3884         * rendering/RenderReplaced.h:
3885         (RenderReplaced):
3886         Make m_intrinsicSize mutable because of the mutation that occurs during the method above. It may be
3887         that we should re-evaluate whether all of these methods should be const, but this would impact RenderBox
3888         methods as well, so I chose to hold off going down that rabbit hole.
3889
3890 2012-07-19  Dominic Mazzoni  <dmazzoni@google.com>
3891
3892         AX: Need AccessibilityObjects for nodes without renderers in canvas subtree
3893         https://bugs.webkit.org/show_bug.cgi?id=87899
3894
3895         Reviewed by Chris Fleizach.
3896
3897         Refactors AccessibilityRenderObject so that it inherits from a new class,
3898         AccessibilityNodeObject, that can be constructed from a Node without a
3899         renderer. Modifies AXObjectCache so that it automatically creates an
3900         AccessibilityNodeObject for elements in a canvas subtree but not otherwise.
3901         A new layout test verifies that this correctly exposes an accessibility
3902         tree with appropriate roles for elements in a canvas subtree.
3903
3904         This patch does not try to complete the implementation of
3905         AccessibilityNodeObject. Most AX methods are still unimplemented and need
3906         to be migrated from AccessibilityRenderObject to AccessibilityNodeObject
3907         in a future patch.
3908         
3909         This patch also doesn't change anything outside of WebCore/accessibility, so
3910         the rest of WebCore only calls AXObjectCache when there are changes to a
3911         RenderObject, not to a Node. Accessible notifications on nodes without
3912         renderers need to be implemented in a future patch.
3913
3914         Test: accessibility/canvas-accessibilitynodeobject.html
3915
3916         * CMakeLists.txt:
3917         * GNUmakefile.list.am:
3918         * Target.pri:
3919         * WebCore.gypi:
3920         * accessibility/AXObjectCache.cpp:
3921         (WebCore::AXObjectCache::get):
3922         (WebCore):
3923         (WebCore::createFromNode):
3924         (WebCore::AXObjectCache::getOrCreate):
3925         (WebCore::AXObjectCache::remove):
3926         * accessibility/AXObjectCache.h:
3927         (AXObjectCache):
3928         (WebCore::AXObjectCache::get):
3929         (WebCore::AXObjectCache::getOrCreate):
3930         (WebCore::AXObjectCache::remove):
3931         * accessibility/AccessibilityARIAGrid.cpp:
3932         (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
3933         (WebCore):
3934         (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
3935         (WebCore::AccessibilityARIAGrid::init):
3936         (WebCore::AccessibilityARIAGrid::create):
3937         * accessibility/AccessibilityARIAGrid.h:
3938         (AccessibilityARIAGrid):
3939         * accessibility/AccessibilityARIAGridCell.cpp:
3940         (WebCore::AccessibilityARIAGridCell::create):
3941         * accessibility/AccessibilityARIAGridRow.cpp:
3942         (WebCore::AccessibilityARIAGridRow::create):
3943         * accessibility/AccessibilityAllInOne.cpp:
3944         * accessibility/AccessibilityList.cpp:
3945         (WebCore::AccessibilityList::create):
3946         * accessibility/AccessibilityListBox.cpp:
3947         (WebCore::AccessibilityListBox::create):
3948         * accessibility/AccessibilityMediaControls.cpp:
3949         (WebCore::AccessibilityMediaControl::create):
3950         (WebCore::AccessibilityMediaControlsContainer::create):
3951         (WebCore::AccessibilityMediaTimeline::create):
3952         (WebCore::AccessibilityMediaTimeDisplay::create):
3953         * accessibility/AccessibilityMenuList.cpp:
3954         (WebCore::AccessibilityMenuList::create):
3955         (WebCore):
3956         * accessibility/AccessibilityMenuList.h:
3957         (AccessibilityMenuList):
3958         * accessibility/AccessibilityNodeObject.cpp: Added.
3959         (WebCore):
3960         (WebCore::AccessibilityNodeObject::AccessibilityNodeObject):
3961         (WebCore::AccessibilityNodeObject::~AccessibilityNodeObject):
3962         (WebCore::AccessibilityNodeObject::init):
3963         (WebCore::AccessibilityNodeObject::create):
3964         (WebCore::AccessibilityNodeObject::detach):
3965         (WebCore::AccessibilityNodeObject::childrenChanged):
3966         (WebCore::AccessibilityNodeObject::updateAccessibilityRole):
3967         (WebCore::AccessibilityNodeObject::firstChild):
3968         (WebCore::AccessibilityNodeObject::lastChild):
3969         (WebCore::AccessibilityNodeObject::previousSibling):
3970         (WebCore::AccessibilityNodeObject::nextSibling):
3971         (WebCore::AccessibilityNodeObject::parentObjectIfExists):
3972         (WebCore::AccessibilityNodeObject::parentObject):
3973         (WebCore::AccessibilityNodeObject::elementRect):
3974         (WebCore::AccessibilityNodeObject::setNode):
3975         (WebCore::AccessibilityNodeObject::document):
3976         (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
3977         (WebCore::AccessibilityNodeObject::addChildren):
3978         (WebCore::AccessibilityNodeObject::accessibilityIsIgnored):
3979         (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
3980         (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute):
3981         (WebCore::AccessibilityNodeObject::ariaRoleAttribute):
3982         (WebCore::AccessibilityNodeObject::remapAriaRoleDueToParent):
3983         * accessibility/AccessibilityNodeObject.h: Added.
3984         (WebCore):
3985         (AccessibilityNodeObject):
3986         (WebCore::AccessibilityNodeObject::isAccessibilityNodeObject):
3987         (WebCore::AccessibilityNodeObject::node):
3988         (WebCore::AccessibilityNodeObject::isDetached):
3989         (WebCore::toAccessibilityNodeObject):
3990         * accessibility/AccessibilityObject.h:
3991         (WebCore::AccessibilityObject::isAccessibilityNodeObject):
3992         * accessibility/AccessibilityProgressIndicator.cpp:
3993         (WebCore::AccessibilityProgressIndicator::create):
3994         * accessibility/AccessibilityRenderObject.cpp:
3995         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
3996         (WebCore::AccessibilityRenderObject::init):
3997         (WebCore):
3998         (WebCore::AccessibilityRenderObject::create):
3999         (WebCore::AccessibilityRenderObject::detach):
4000         (WebCore::AccessibilityRenderObject::setRenderer):
4001         (WebCore::AccessibilityRenderObject::canHaveChildren):
4002         (WebCore::AccessibilityRenderObject::addCanvasChildren):
4003         (WebCore::AccessibilityRenderObject::addChildren):
4004         * accessibility/AccessibilityRenderObject.h:
4005         (AccessibilityRenderObject):
4006         * accessibility/AccessibilitySlider.cpp:
4007         (WebCore::AccessibilitySlider::create):
4008         * accessibility/AccessibilityTable.cpp:
4009         (WebCore::AccessibilityTable::AccessibilityTable):
4010         (WebCore):
4011         (WebCore::AccessibilityTable::~AccessibilityTable):
4012         (WebCore::AccessibilityTable::init):
4013         (WebCore::AccessibilityTable::create):
4014         * accessibility/AccessibilityTable.h:
4015         (AccessibilityTable):
4016         * accessibility/AccessibilityTableCell.cpp:
4017         (WebCore::AccessibilityTableCell::create):
4018         * accessibility/AccessibilityTableRow.cpp:
4019         (WebCore::AccessibilityTableRow::create):
4020
4021 2012-07-19  Dan Bernstein  <mitz@apple.com>
4022
4023         The ATSUI-based complex text code is unused
4024         https://bugs.webkit.org/show_bug.cgi?id=91816
4025
4026         Reviewed by Sam Weinig.
4027
4028         * WebCore.gypi: Removed references to the files deleted in this change.
4029         * WebCore.xcodeproj/project.pbxproj: Ditto.
4030         * platform/graphics/FontCache.h:
4031         (FontCache): Replaced USE(CORE_TEXT) with PLATFORM(MAC) || PLATFORM(CHROMIUM) && OS(DARWIN).
4032         * platform/graphics/SimpleFontData.h:
4033         (SimpleFontData): Removed USE(ATSUI)-only code, replaced USE(CORE_TEXT) with
4034         (PLATFORM(CHROMIUM) && OS(DARWIN)).
4035         * platform/graphics/mac/ComplexTextController.cpp: Removed USE(ATSUI)-only code. Moved
4036         collectComplexTextRunsForCharacters() and the ComplexTextRun constructor out of this file.
4037         * platform/graphics/mac/ComplexTextController.h: Removed USE(ATSUI)-only code and removed
4038         #if USE(CORE_TEXT) because anyone including this header is using Core Text.