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