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