Change JSEventListener::m_jsFunction to be a weak ref.
[WebKit.git] / Source / WebCore / ChangeLog
1 2012-11-14  Mark Lam  <mark.lam@apple.com>
2
3         Change JSEventListener::m_jsFunction to be a weak ref.
4         https://bugs.webkit.org/show_bug.cgi?id=101989.
5
6         Reviewed by Geoffrey Garen.
7
8         No new tests.
9
10         * ForwardingHeaders/heap/SlotVisitor.h: Added.
11         * bindings/js/JSDOMBinding.h: Added #include <heap/SlotVisitor.h>
12         * bindings/js/JSEventListener.cpp:
13         (WebCore::JSEventListener::JSEventListener):
14         (WebCore::JSEventListener::visitJSFunction):
15         (WebCore::JSEventListener::operator==):
16          - Removed the m_wrapper checks in operator==() because they are not
17            needed. There is no longer any threat of m_jsFunction pointing to
18            recycled memory. The use of weak refs will ensure that m_jsFunction
19            is either still holding on to its old memory exclusively, or is 0'ed
20            out when the GC collects it.
21         * bindings/js/JSEventListener.h:
22         (JSEventListener):
23         (WebCore::JSEventListener::jsFunction):
24
25 2012-11-14  Dan Carney  <dcarney@google.com>
26
27         [V8] Rename dispatchWrap
28         https://bugs.webkit.org/show_bug.cgi?id=102240
29
30         Reviewed by Adam Barth.
31
32         Mostly a rename:
33         dispatchWrap->wrap
34         wrapSlow->createWrapper
35         dispatchWrapCustom->wrap
36
37         No new tests. No change in functionality.
38
39         * bindings/scripts/CodeGeneratorV8.pm:
40         (GenerateHeader):
41         (GenerateNormalAttrGetter):
42         (GenerateImplementation):
43         (GenerateToV8Converters):
44         * bindings/scripts/IDLAttributes.txt:
45         * bindings/scripts/test/V8/V8Float64Array.cpp:
46         (WebCore::wrap):
47         (WebCore::V8Float64Array::createWrapper):
48         * bindings/scripts/test/V8/V8Float64Array.h:
49         (V8Float64Array):
50         (WebCore):
51         (WebCore::toV8Object):
52         (WebCore::toV8):
53         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
54         (WebCore::V8TestActiveDOMObject::createWrapper):
55         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
56         (V8TestActiveDOMObject):
57         (WebCore::wrap):
58         (WebCore::toV8Object):
59         (WebCore::toV8):
60         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
61         (WebCore::V8TestCustomNamedGetter::createWrapper):
62         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
63         (V8TestCustomNamedGetter):
64         (WebCore::wrap):
65         (WebCore::toV8Object):
66         (WebCore::toV8):
67         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
68         (WebCore::V8TestEventConstructor::createWrapper):
69         * bindings/scripts/test/V8/V8TestEventConstructor.h:
70         (V8TestEventConstructor):
71         (WebCore::wrap):
72         (WebCore::toV8Object):
73         (WebCore::toV8):
74         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
75         (WebCore::V8TestEventTarget::createWrapper):
76         * bindings/scripts/test/V8/V8TestEventTarget.h:
77         (V8TestEventTarget):
78         (WebCore::wrap):
79         (WebCore::toV8Object):
80         (WebCore::toV8):
81         * bindings/scripts/test/V8/V8TestException.cpp:
82         (WebCore::V8TestException::createWrapper):
83         * bindings/scripts/test/V8/V8TestException.h:
84         (V8TestException):
85         (WebCore::wrap):
86         (WebCore::toV8Object):
87         (WebCore::toV8):
88         * bindings/scripts/test/V8/V8TestInterface.cpp:
89         (WebCore::V8TestInterface::createWrapper):
90         * bindings/scripts/test/V8/V8TestInterface.h:
91         (V8TestInterface):
92         (WebCore::wrap):
93         (WebCore::toV8Object):
94         (WebCore::toV8):
95         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
96         (WebCore::V8TestMediaQueryListListener::createWrapper):
97         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
98         (V8TestMediaQueryListListener):
99         (WebCore::wrap):
100         (WebCore::toV8Object):
101         (WebCore::toV8):
102         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
103         (WebCore::V8TestNamedConstructor::createWrapper):
104         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
105         (V8TestNamedConstructor):
106         (WebCore::wrap):
107         (WebCore::toV8Object):
108         (WebCore::toV8):
109         * bindings/scripts/test/V8/V8TestNode.cpp:
110         (WebCore::V8TestNode::createWrapper):
111         * bindings/scripts/test/V8/V8TestNode.h:
112         (V8TestNode):
113         (WebCore::wrap):
114         (WebCore::toV8Object):
115         (WebCore::toV8):
116         (WebCore::toV8Fast):
117         * bindings/scripts/test/V8/V8TestObj.cpp:
118         (WebCore::V8TestObj::createWrapper):
119         * bindings/scripts/test/V8/V8TestObj.h:
120         (V8TestObj):
121         (WebCore::wrap):
122         (WebCore::toV8Object):
123         (WebCore::toV8):
124         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
125         (WebCore::V8TestOverloadedConstructors::createWrapper):
126         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
127         (V8TestOverloadedConstructors):
128         (WebCore::wrap):
129         (WebCore::toV8Object):
130         (WebCore::toV8):
131         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
132         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
133         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
134         (V8TestSerializedScriptValueInterface):
135         (WebCore::wrap):
136         (WebCore::toV8Object):
137         (WebCore::toV8):
138         * bindings/v8/custom/V8BlobCustom.cpp:
139         (WebCore::wrap):
140         * bindings/v8/custom/V8CSSRuleCustom.cpp:
141         (WebCore::wrap):
142         * bindings/v8/custom/V8CSSValueCustom.cpp:
143         (WebCore::wrap):
144         * bindings/v8/custom/V8CanvasRenderingContextCustom.cpp:
145         (WebCore::wrap):
146         * bindings/v8/custom/V8DataViewCustom.cpp:
147         (WebCore::wrap):
148         * bindings/v8/custom/V8DocumentCustom.cpp:
149         (WebCore::wrap):
150         * bindings/v8/custom/V8ElementCustom.cpp:
151         (WebCore):
152         (WebCore::wrap):
153         * bindings/v8/custom/V8EntryCustom.cpp:
154         (WebCore::wrap):
155         * bindings/v8/custom/V8EntrySyncCustom.cpp:
156         (WebCore::wrap):
157         * bindings/v8/custom/V8EventCustom.cpp:
158         (WebCore):
159         (WebCore::wrap):
160         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
161         (WebCore::wrap):
162         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
163         (WebCore::wrap):
164         * bindings/v8/custom/V8HTMLElementCustom.cpp:
165         (WebCore::wrap):
166         * bindings/v8/custom/V8ImageDataCustom.cpp:
167         (WebCore::wrap):
168         * bindings/v8/custom/V8NodeCustom.cpp:
169         (WebCore::wrap):
170         * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
171         (WebCore::wrap):
172         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
173         (WebCore::wrap):
174         * bindings/v8/custom/V8SVGElementCustom.cpp:
175         (WebCore::wrap):
176         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
177         (WebCore::wrap):
178         * bindings/v8/custom/V8StyleSheetCustom.cpp:
179         (WebCore::wrap):
180         * dom/make_names.pl:
181         (printWrapperFunctions):
182         (printWrapperFactoryCppFile):
183
184 2012-11-14  Ryuan Choi  <ryuan.choi@gmail.com>
185
186         [EFL] Refactor theme to choose whether to support foreground color of selection
187         https://bugs.webkit.org/show_bug.cgi?id=102037
188
189         Reviewed by Gyuyoung Kim.
190
191         RenderThemeEfl can change foreground color of selection using theme file.
192         But it can not disable supports of foreground color to keep the text color
193         which is selected.
194
195         This patch refactors color classes of theme file from active/inactive classes
196         to foreground/background classes so that RenderThemeEfl checks whether
197         theme file supports foreground color class.
198
199         * platform/efl/RenderThemeEfl.cpp:
200         (WebCore::fillColorsFromEdjeClass):
201         (WebCore::RenderThemeEfl::setColorFromThemeClass):
202         (WebCore::RenderThemeEfl::loadTheme):
203         (WebCore::RenderThemeEfl::RenderThemeEfl):
204         (WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
205         (WebCore):
206         * platform/efl/RenderThemeEfl.h:
207         (RenderThemeEfl):
208
209 2012-11-14  Tony Chang  <tony@chromium.org>
210
211         Convert m_selectorVector back to a stack allocated m_reusableSelectorVector
212         https://bugs.webkit.org/show_bug.cgi?id=102295
213
214         Reviewed by Andreas Kling.
215
216         Revert r125252 because we're not going to go forward with implementing CSS hierarchies at this time.
217
218         No new tests because there should be no change in behavior.
219
220         * css/CSSGrammar.y.in:
221         * css/CSSParser.cpp:
222         (WebCore::CSSParser::CSSParser):
223         (WebCore::CSSParser::parseValue):
224         (WebCore::CSSParser::parseColor):
225         (WebCore::CSSParser::parseDeclaration):
226         (WebCore):
227         (WebCore::filterProperties):
228         (WebCore::CSSParser::createStylePropertySet):
229         (WebCore::CSSParser::addProperty):
230         (WebCore::CSSParser::rollbackLastProperties):
231         (WebCore::CSSParser::clearProperties):
232         (WebCore::CSSParser::parse4Values):
233         (WebCore::CSSParser::parseFlowThread):
234         (WebCore::CSSParser::addTextDecorationProperty):
235         (WebCore::CSSParser::createFloatingSelectorVector):
236         (WebCore::CSSParser::sinkFloatingSelectorVector):
237         (WebCore::CSSParser::createStyleRule):
238         (WebCore::CSSParser::createFontFaceRule):
239         (WebCore::CSSParser::createPageRule):
240         (WebCore::CSSParser::setReusableRegionSelectorVector):
241         (WebCore::CSSParser::startDeclarationsForMarginBox):
242         (WebCore::CSSParser::endDeclarationsForMarginBox):
243         (WebCore::CSSParser::deleteFontFaceOnlyValues):
244         * css/CSSParser.h:
245         (WebCore::CSSParser::hasProperties):
246         (WebCore::CSSParser::reusableSelectorVector):
247         (CSSParser):
248         (WebCore::CSSParser::reusableRegionSelectorVector):
249         * css/CSSParserValues.cpp:
250         (WebCore::CSSParserSelector::adoptSelectorVector):
251         * css/CSSParserValues.h:
252         (CSSParserSelector):
253         * css/CSSSelectorList.cpp:
254         (WebCore::CSSSelectorList::adoptSelectorVector):
255         * css/CSSSelectorList.h:
256         (CSSSelectorList):
257         * css/SVGCSSParser.cpp:
258         (WebCore::CSSParser::parseSVGValue):
259         * css/StyleRule.cpp:
260         (WebCore::StyleRuleRegion::StyleRuleRegion):
261         * css/StyleRule.h:
262         (WebCore::StyleRule::parserAdoptSelectorVector):
263         (WebCore::StyleRulePage::parserAdoptSelectorVector):
264         (WebCore::StyleRuleRegion::create):
265         (StyleRuleRegion):
266
267 2012-11-14  Alec Flett  <alecflett@chromium.org>
268
269         Add tests for explicit serialization values
270         https://bugs.webkit.org/show_bug.cgi?id=96818
271
272         Reviewed by Adam Barth.
273
274         Expose direct access to the serialization/deserialization mechanisms
275         of SerializedScriptValue to DumpRenderTree.
276
277         * testing/Internals.cpp:
278         (WebCore::Internals::serializeObject):
279         (WebCore):
280         (WebCore::Internals::deserializeBuffer):
281         * testing/Internals.h:
282         (WebCore):
283         * testing/Internals.idl:
284
285 2012-11-14  Michael Pruett  <michael@68k.org>
286
287         IndexedDB: Add clear() method to JSC ScriptValue
288         https://bugs.webkit.org/show_bug.cgi?id=102288
289
290         Reviewed by Kentaro Hara.
291
292         IndexedDB uses the ScriptValue::clear() method, which existed
293         previously only in the V8 implementation of ScriptValue. This
294         change is necessary to implement IndexedDB for JSC.
295
296         Tests: storage/indexeddb/*
297
298         * bindings/js/ScriptValue.h:
299         (WebCore::ScriptValue::clear):
300         (ScriptValue):
301
302 2012-11-14  Joshua Bell  <jsbell@chromium.org>
303
304         IndexedDB: Indexing tests are flaky-crashing
305         https://bugs.webkit.org/show_bug.cgi?id=102283
306
307         Reviewed by Tony Chang.
308
309         Don't commit the transaction if there are outstanding pre-emptive events
310         from indexing operations.
311
312         Speculative fix for the flakiness.
313
314         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
315         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
316
317 2012-11-14  Tony Chang  <tony@chromium.org>
318
319         Crash in flexbox when removing absolutely positioned children
320         https://bugs.webkit.org/show_bug.cgi?id=100465
321
322         Reviewed by Ojan Vafai.
323
324         We use m_numberOfChildrenOnFirstLine when computing baseline alignment.
325         This value gets set during flexbox layout. When we remove an absolutely
326         positioned child, we don't relayout and this value would get stale.
327
328         Change m_numberOfChildrenOnFirstLine to m_numberOfInFlowChildrenOnFirstLine
329         so the value doesn't get stale when we remove absolutely positioned children.
330         Also change the loop in firstLineBoxBaseline to bail if we run off the end of
331         the iterator.
332
333         Test: css3/flexbox/crash-removing-out-of-flow-child.html
334
335         * rendering/RenderFlexibleBox.cpp:
336         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
337         (WebCore::RenderFlexibleBox::firstLineBoxBaseline):
338         (WebCore::RenderFlexibleBox::layoutBlock):
339         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
340         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
341         * rendering/RenderFlexibleBox.h:
342
343 2012-11-14  Joshua Bell  <jsbell@chromium.org>
344
345         IndexedDB: Remove magic numbers in record comparator, handle missing case
346         https://bugs.webkit.org/show_bug.cgi?id=102255
347
348         Reviewed by Tony Chang.
349
350         For some ranges of metadata entries, a simple type byte comparison is sufficient
351         for the backing store comparator. In two places those ranges used magic numbers,
352         one of which was incorrect - which could lead to failed reads/writes.
353
354         Test: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.ComparisonTest'
355
356         * Modules/indexeddb/IDBLevelDBCoding.cpp:
357         (IDBLevelDBCoding):
358         (WebCore::IDBLevelDBCoding::compare):
359         * Modules/indexeddb/IDBLevelDBCoding.h:
360
361 2012-11-14  Dirk Schulze  <krit@webkit.org>
362
363         Cleanup BasicShape blending check
364         https://bugs.webkit.org/show_bug.cgi?id=102289
365
366         Reviewed by Daniel Bates.
367
368         CSSPropertyAnimation had the same code for varifying that two BasicShape objects can be blended 
369         twice. Refactor the code and add a canBlend method in BasicShape that combines both checks. This
370         is a preparation for follow-up patches.
371
372         Pure refactoring without behavior change, no new tests.
373
374         * page/animation/CSSPropertyAnimation.cpp:
375         (WebCore::blendFunc): Call new canBlend method for blending verification.
376         * rendering/style/BasicShapes.cpp:
377         (WebCore::BasicShape::canBlend): Check if two BasicShape objects can be blended.
378         (WebCore):
379         * rendering/style/BasicShapes.h:
380
381 2012-11-14  Dirk Schulze  <krit@webkit.org>
382
383         [CSS Exclusions] Basic shapes on 'shape-inside' should be animatable
384         https://bugs.webkit.org/show_bug.cgi?id=102123
385
386         Reviewed by Antti Koivisto.
387
388         The '-webkit-shape-inside' propery takes a BasicShape as input like
389         '-webkit-clip-path'. Follow up on http://trac.webkit.org/changeset/134352 and
390         make '-webkit-shape-inside' animatable as well.
391
392         Test: fast/exclusions/shape-inside/shape-inside-animation.html
393
394         * page/animation/CSSPropertyAnimation.cpp:
395         (WebCore::blendFunc): Blend fuction for exclusion shapes. The property takes another
396             input then '-webkit-clip-path'.
397         (WebCore):
398         (PropertyWrapperBasicShape): Add wrapper for BasicShape object. Can be reused by
399             '-webkit-shape-ourside' as well.
400         (WebCore::PropertyWrapperBasicShape::PropertyWrapperBasicShape):
401         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
402
403 2012-11-14  Helder Correia  <helder.correia@nokia.com>
404
405         [TexMap][Cairo] Accelerated compositing debug visuals
406         https://bugs.webkit.org/show_bug.cgi?id=101883
407
408         Reviewed by Kenneth Rohde Christiansen.
409
410         No new tests, just introducing a debug feature.
411
412         Add a Cairo implementation to complement the patch from bug 90116
413         (http://trac.webkit.org/changeset/122275).
414
415         For this feature to be enabled, the environment variable
416         WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
417         both repaint counters and tile borders will be painted.
418
419         A Cairo-specific drawRepaintCounter() implementation was added to
420         TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
421         the counters. It is then uploaded to a BitmapTexture acquired
422         from the pool and finally draw by TextureMapper. The actual compositing
423         happens inside LayerBackingStore::paintToTextureMapper(). Each
424         LayerBackingStoreTile has a repaint counter which gets incremented in
425         LayerBackingStore::updateTile().
426
427         * platform/graphics/texmap/TextureMapperGL.cpp:
428         (WebCore::TextureMapperGL::drawRepaintCounter):
429
430 2012-11-14  Michael Pruett  <michael@68k.org>
431
432         IndexedDB: Add JSNoStaticTables to IndexedDB interfaces
433         https://bugs.webkit.org/show_bug.cgi?id=102268
434
435         Reviewed by Geoffrey Garen.
436
437         Add JSNoStaticTables attribute to IndexedDB interface
438         definitions. This attribute must be specified in interfaces
439         which can be accessed from workers.
440
441         Tests: storage/indexeddb/*
442
443         * Modules/indexeddb/IDBAny.idl:
444         * Modules/indexeddb/IDBCursor.idl:
445         * Modules/indexeddb/IDBCursorWithValue.idl:
446         * Modules/indexeddb/IDBDatabase.idl:
447         * Modules/indexeddb/IDBDatabaseException.idl:
448         * Modules/indexeddb/IDBFactory.idl:
449         * Modules/indexeddb/IDBIndex.idl:
450         * Modules/indexeddb/IDBKey.idl:
451         * Modules/indexeddb/IDBKeyRange.idl:
452         * Modules/indexeddb/IDBObjectStore.idl:
453         * Modules/indexeddb/IDBOpenDBRequest.idl:
454         * Modules/indexeddb/IDBRequest.idl:
455         * Modules/indexeddb/IDBTransaction.idl:
456         * Modules/indexeddb/IDBUpgradeNeededEvent.idl:
457         * Modules/indexeddb/IDBVersionChangeEvent.idl:
458         * Modules/indexeddb/IDBVersionChangeRequest.idl:
459         * dom/DOMStringList.idl:
460
461 2012-11-14  Michael Pruett  <michael@68k.org>
462
463         IndexedDB: Replace int64 with int64_t
464         https://bugs.webkit.org/show_bug.cgi?id=102270
465
466         Reviewed by Tony Chang.
467
468         Cleaning up coding inconsistencies, no change in behavior.
469
470         Tests: storage/indexeddb/*
471
472         * Modules/indexeddb/IDBDatabase.cpp:
473         (WebCore::IDBDatabase::deleteObjectStore):
474         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
475         (WebCore::IDBObjectStoreBackendImpl::putInternal):
476
477 2012-11-14  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
478
479         [EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
480         https://bugs.webkit.org/show_bug.cgi?id=102000
481
482         Reviewed by Noam Rosenthal.
483
484         Add helper functions to clear viewport before painting. Those functions
485         used by EFL Webkit2 port to set view background to match page background
486         in order to reduce visibility of flicker during scrolling/scaling/repainting
487         where page tiles are not ready.
488
489         * platform/graphics/texmap/TextureMapper.h:
490         * platform/graphics/texmap/TextureMapperGL.cpp:
491         (WebCore::TextureMapperGL::drawSolidColor):
492         (WebCore):
493         * platform/graphics/texmap/TextureMapperGL.h:
494         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
495         (WebCore::TextureMapperImageBuffer::drawSolidColor):
496         (WebCore):
497         * platform/graphics/texmap/TextureMapperImageBuffer.h:
498
499 2012-11-14  Mark Lam  <mark.lam@apple.com>
500
501         Fixed regressions due to adding JSEventListener::m_wrapper null checks.
502         https://bugs.webkit.org/show_bug.cgi?id=102183.
503
504         Reviewed by Geoffrey Garen.
505
506         Fixed JSEventListener::operator==() to work within the contract that
507         when m_wrapper is 0, m_jsFunction is also expected to be 0. Also fixed
508         some typos in comments.
509
510         No new tests.
511
512         * bindings/js/JSEventListener.cpp:
513         (WebCore::JSEventListener::visitJSFunction):
514         (WebCore::JSEventListener::operator==):
515         * bindings/js/JSEventListener.h:
516         (WebCore::JSEventListener::jsFunction):
517
518 2012-11-14  Nate Chapin  <japhet@chromium.org>
519
520         Fix chromium asserts from r134649.
521
522         Rubber-stamped by Adam Barth.
523
524         MainResourceLoader was calling releaseResources() twice when cancelled
525         within MainResourceLoader::load(), so check reachedTerminalState() before
526         calling releaseResources() there.
527
528         * loader/MainResourceLoader.cpp:
529         (WebCore::MainResourceLoader::load):
530
531 2012-11-14  Andreas Kling  <kling@webkit.org>
532
533         Only resolve presentation attribute style once per shared ElementAttributeData.
534         <http://webkit.org/b/100990>
535
536         Reviewed by Antti Koivisto.
537
538         Track the "presentation attribute style dirty" state on ElementAttributeData instead of in a Node flag.
539         This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
540         since the state is no longer per-Element.
541
542         I've left the presentation attribute cache in there for now, since it still covers the case where
543         two elements have the same presentation attributes but different non-presentation attributes.
544         It's likely that we're not gaining much from it anymore, but that's a topic for another patch.
545
546         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
547         * dom/StyledElement.h:
548         (WebCore::StyledElement::presentationAttributeStyle):
549         (WebCore::ElementAttributeData::ElementAttributeData):
550         * dom/ElementAttributeData.h:
551         (WebCore::ElementAttributeData::ElementAttributeData):
552         (ElementAttributeData):
553         * dom/Node.h:
554
555             Move presentation attribute style dirty flag from Node to ElementAttributeData.
556
557         * dom/ElementAttributeData.cpp:
558         (SameSizeAsElementAttributeData):
559
560             Add a compile-time object size assertion for ElementAttributeData.
561
562         * dom/StyledElement.cpp:
563         (WebCore::StyledElement::attributeChanged):
564
565             Don't mark the presentation attribute style dirty if the element is using an immutable (implies
566             shared) ElementAttributeData and another element has already generated the StylePropertySet.
567             The element itself is still marked for style recalc like before, this just avoids the process
568             of converting the attributes to CSS properties.
569
570 2012-11-14  Scott Violet  <sky@chromium.org>
571
572         [Chromium] Refactor theme font lookup into a factory
573         https://bugs.webkit.org/show_bug.cgi?id=101949
574
575         Reviewed by Tony Chang.
576
577         This will ultimately allow us to use what is currently in RenderThemeChromiumLinux on windows.
578
579         No new tests. Refactoring only.
580
581         * WebCore.gyp/WebCore.gyp:
582         * WebCore.gypi:
583         * rendering/RenderThemeChromiumFontProvider.cpp: Added.
584         (WebCore):
585         (WebCore::RenderThemeChromiumFontProvider::defaultGUIFont): Moved into RenderThemeFontProvider.
586         * rendering/RenderThemeChromiumFontProvider.h: Added.
587         (WTF):
588         (WebCore):
589         (RenderThemeChromiumFontProvider): This is the font related methods.
590         * rendering/RenderThemeChromiumFontProviderLinux.cpp: Added.
591         (WebCore):
592         (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): What was in RenderThemeChromiumSkia::setDefaultFontSize.
593         (WebCore::RenderThemeChromiumFontProvider::systemFont): What was in RenderThemeChromiumSkia::systemFont.
594         * rendering/RenderThemeChromiumFontProviderWin.cpp: Added.
595         (WebCore):
596         (WebCore::pointsToPixels): Moved from RenderThemeChromiumWin.
597         (WebCore::getNonClientMetrics): Moved from RenderThemeChromiumWin.
598         (WebCore::systemFontSize): Moved from RenderThemeChromiumWin.
599         (WebCore::RenderThemeChromiumFontProvider::systemFont): Moved from RenderThemeChromiumWin.
600         (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): Moved from RenderThemeChromiumWin.
601         * rendering/RenderThemeChromiumSkia.cpp:
602         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): Moved into RenderThemeFontProvider.
603         (WebCore::RenderThemeChromiumSkia::systemFont): Calls to RenderThemeChromiumFontProvider.
604         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize): Calls to RenderThemeChromiumFontProvider.
605         * rendering/RenderThemeChromiumSkia.h:
606         (RenderThemeChromiumSkia): Moves defaultFontSize into RenderThemeChromiumFontProvider.
607         * rendering/RenderThemeChromiumWin.cpp: Moves font code into RenderThemeFontProviderWin.
608         (WebCore):
609         * rendering/RenderThemeChromiumWin.h: Removed overriden methods now handled by RenderThemeChromiumSkia.
610         (RenderThemeChromiumWin):
611
612 2012-11-14  Erik Arvidsson  <arv@chromium.org>
613
614         Update DOMException name: InUseAttributeError
615         https://bugs.webkit.org/show_bug.cgi?id=102141
616
617         Reviewed by Ojan Vafai.
618
619         Patch 10 of 25 to update DOMException name to match the spec and Firefox.
620
621         The name for this is not in the spec but the case was selected to match
622         Firefox. http://mxr.mozilla.org/mozilla-central/source/dom/base/domerr.msg#18
623
624         INUSE_ATTRIBUTE_ERR is historical and not used in any spec or any of our tests.
625
626         * dom/DOMCoreException.cpp:
627         * dom/ExceptionCode.h:
628
629 2012-11-14  Lynn Neir  <lynn.neir@skype.net>
630
631         [WinCairo] Incorrect line-height for styled menulist (select tag)
632         in windows theme.
633         https://bugs.webkit.org/show_bug.cgi?id=79435
634
635         Reviewed by Brent Fulgham
636
637         Applied same fix as in RenderThemeSafari::adjustMenuListButtonStyle
638         to Windows theme to fix issue.
639
640         Tests: fast/forms/menulist-restrict-line-height.html
641                fast/forms/control-restrict-line-height.html
642                fast/forms/basic-selects.html
643
644         * rendering/RenderThemeWin.cpp:
645         (WebCore::RenderThemeWin::adjustMenuListButtonStyle): Set line
646         height to the correct initial height.
647
648 2012-11-14  Erik Arvidsson  <arv@chromium.org>
649
650         Update DOMException name: WrongDocumentError
651         https://bugs.webkit.org/show_bug.cgi?id=102096
652
653         Reviewed by Ojan Vafai.
654
655         Patch 4 of 25 to update DOMException name to match the spec and Firefox.
656
657         Updated existing tests.
658
659         * dom/DOMCoreException.cpp:
660
661 2012-11-14  Nate Chapin  <japhet@chromium.org>
662
663         Move empty loading to DocumentLoader, simplify FrameLoader::init()
664         https://bugs.webkit.org/show_bug.cgi?id=101512
665
666         Reviewed by Adam Barth.
667
668         No new tests, though several outputs changed because we no longer send resource
669             load callbacks for empty loads.
670
671         * loader/DocumentLoader.cpp:
672         (WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource
673             loads directly here.
674         * loader/DocumentLoader.h:
675         * loader/FrameLoader.cpp:
676         (WebCore::FrameLoader::FrameLoader): Initialize some variables whose values
677             were previously being reset in init(). Given that the FrameLoader is in
678             an inconsistent state before init() is called anyway, there doesn't seem
679             to be a disadvantage to just initializing them to their post-init() values.
680         (WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of
681             doing a bunch of direct calls to functions FrameLoader shouldn't know about.
682         * loader/FrameLoaderStateMachine.cpp:
683         * loader/FrameLoaderStateMachine.h:
684         * loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.
685         (WebCore::MainResourceLoader::loadNow): This only returned true when an empty
686             load got deferred, which won't happen now. Return void and always treat
687             as returning false.
688         * loader/MainResourceLoader.h:
689
690 2012-11-14  Erik Arvidsson  <arv@chromium.org>
691
692         Update DOMException name: InvalidStateError
693         https://bugs.webkit.org/show_bug.cgi?id=102241
694
695         Reviewed by Ojan Vafai.
696
697         Patch 11 of 25 to update DOMException name to match the spec and Firefox.
698
699         Updated existing tests.
700
701         * dom/DOMCoreException.cpp:
702
703 2012-11-14  Joshua Bell  <jsbell@chromium.org>
704
705         Rename NATIVE_TYPE_ERR to TypeError
706         https://bugs.webkit.org/show_bug.cgi?id=102114
707
708         Reviewed by Kentaro Hara.
709
710         Defines names (mostly) matching WebIDL exception types for use by dom (etc) code.
711         V8 binding code had colliding enum members, which required prefixing.
712
713         No new tests - just internal renames.
714
715         * Modules/indexeddb/IDBCursor.cpp: s/NATIVE_TYPE_ERR/TypeError/g
716         (WebCore::IDBCursor::advance):
717         (WebCore::IDBCursor::stringToDirection):
718         (WebCore::IDBCursor::directionToString):
719         * Modules/indexeddb/IDBDatabase.cpp: Ditto.
720         (WebCore::IDBDatabase::setVersion):
721         * Modules/indexeddb/IDBFactory.cpp: Ditto.
722         (WebCore::IDBFactory::open):
723         (WebCore::IDBFactory::openInternal):
724         (WebCore::IDBFactory::deleteDatabase):
725         * Modules/indexeddb/IDBObjectStore.cpp: Ditto.
726         (WebCore::IDBObjectStore::createIndex):
727         * Modules/indexeddb/IDBTransaction.cpp: Ditto.
728         (WebCore::IDBTransaction::stringToMode):
729         (WebCore::IDBTransaction::modeToString):
730         * bindings/js/JSDOMBinding.cpp: Ditto.
731         (WebCore::setDOMException):
732         * bindings/v8/DateExtension.cpp: Prefix ErrorType enum/members w/ V8/v8.
733         (WebCore::DateExtension::OnSleepDetected):
734         * bindings/v8/NPV8Object.cpp: Ditto.
735         (_NPN_SetException):
736         * bindings/v8/V8Binding.cpp: Ditto.
737         (WebCore::throwError):
738         (WebCore::handleMaxRecursionDepthExceeded):
739         * bindings/v8/V8Binding.h: Ditto.
740         (WebCore):
741         * bindings/v8/V8NPObject.cpp: Ditto.
742         (WebCore::npObjectInvokeImpl):
743         (WebCore::npObjectGetProperty):
744         (WebCore::npObjectSetProperty):
745         (WebCore::npObjectPropertyEnumerator):
746         * bindings/v8/V8ThrowException.cpp: Rename ALL the errors!
747         (WebCore::V8ThrowException::setDOMException):
748         (WebCore::V8ThrowException::throwError):
749         (WebCore::V8ThrowException::throwTypeError):
750         (WebCore::V8ThrowException::throwNotEnoughArgumentsError):
751         * bindings/v8/V8ThrowException.h:
752         (V8ThrowException):
753         * bindings/v8/WorkerContextExecutionProxy.cpp: Prefixing (continued)
754         (WebCore::WorkerContextExecutionProxy::evaluate):
755         * bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
756         (WebCore::V8ArrayBuffer::constructorCallback):
757         * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
758         (WebCore::constructWebGLArrayWithArrayBufferArgument):
759         (WebCore::constructWebGLArray):
760         (WebCore::setWebGLArrayHelper):
761         * bindings/v8/custom/V8AudioContextCustom.cpp: Ditto.
762         (WebCore::V8AudioContext::constructorCallback):
763         * bindings/v8/custom/V8BlobCustom.cpp: Ditto.
764         (WebCore::V8Blob::constructorCallback):
765         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
766         (WebCore::V8Clipboard::clearDataCallback):
767         (WebCore::V8Clipboard::setDragImageCallback):
768         * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
769         (WebCore::V8DOMFormData::appendCallback):
770         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Ditto.
771         (WebCore::V8SQLResultSetRowList::itemCallback):
772         * dom/ExceptionCode.h: Add WebIDL exception types.
773
774 2012-11-14  Tiancheng Jiang  <tijiang@rim.com>
775
776         [BlackBerry] Style BB10 time input field font.
777         https://bugs.webkit.org/show_bug.cgi?id=102260.
778
779         Reviewed by Rob Buis.
780
781         RIM PR 243355
782         Adjust time input field font using BB10 system default font.
783
784         * css/themeBlackBerry.css:
785         (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
786
787 2012-11-14  Li Yin  <li.yin@intel.com>
788
789         createDelay should raise exception when the maxDelayTime parameter is incorrect.
790         https://bugs.webkit.org/show_bug.cgi?id=102173
791
792         Reviewed by Chris Rogers.
793
794         Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
795         The specified value must be greater than zero and less than three minutes or a
796         NOT_SUPPORTED_ERR exception will be thrown.
797
798         Tests: webaudio/delaynode-maxdelaylimit.html
799
800         * Modules/webaudio/AudioContext.cpp:
801         (WebCore::AudioContext::createDelay):
802         * Modules/webaudio/AudioContext.h:
803         (AudioContext):
804         * Modules/webaudio/AudioContext.idl: Add raising exception for createDelay.
805         * Modules/webaudio/DelayNode.cpp:
806         (WebCore):
807         (WebCore::DelayNode::DelayNode):
808         * Modules/webaudio/DelayNode.h:
809         (WebCore::DelayNode::create):
810         (DelayNode):
811
812 2012-11-14  Simon Fraser  <simon.fraser@apple.com>
813
814         Don't pass a paintingRoot when painting from RenderLayerBacking
815         https://bugs.webkit.org/show_bug.cgi?id=102256
816
817         Reviewed by David Hyatt.
818
819         The 'paintingRoot' parameter to the RenderLayer paint functions
820         is used when painting just a subtree (e.g. when painting dragged
821         selections). There is no need to pass it when a RenderLayerBacking
822         paints its contents or overlay scrollbars.
823         
824         Passing it requires an expensive isDescendant() check, so passing
825         null is more efficient.
826         
827         * rendering/RenderLayer.h:
828         (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
829         * rendering/RenderLayerBacking.cpp:
830         (WebCore::RenderLayerBacking::paintIntoLayer):
831         (WebCore::RenderLayerBacking::paintContents):
832         * rendering/RenderLayerBacking.h:
833         (RenderLayerBacking):
834
835 2012-11-14  Alec Flett  <alecflett@chromium.org>
836
837         Add DOMRequestState to maintain world/ScriptExecutionContext state
838         https://bugs.webkit.org/show_bug.cgi?id=102102
839
840         Reviewed by Adam Barth.
841
842         Introduce DOMRequestState, and convert IndexedDB over.
843
844         No new tests, this is an abstraction layer for existing code.
845
846         * Modules/indexeddb/IDBRequest.cpp:
847         (WebCore::IDBRequest::IDBRequest):
848         (WebCore::IDBRequest::onSuccess):
849         (WebCore::IDBRequest::dispatchEvent):
850         * Modules/indexeddb/IDBRequest.h:
851         (IDBRequest):
852         * WebCore.gypi:
853         * bindings/v8/DOMRequestState.h: Added.
854         (WebCore):
855         (DOMRequestState):
856         (WebCore::DOMRequestState::DOMRequestState):
857         (Scope):
858         (WebCore::DOMRequestState::Scope::Scope):
859         (WebCore::DOMRequestState::scope):
860
861 2012-11-14  Justin Novosad  <junov@google.com>
862
863         Boxes with rounded corners and thin borders are too slow to draw
864         https://bugs.webkit.org/show_bug.cgi?id=101974
865
866         Reviewed by Simon Fraser.
867
868         With the current implementation RenderBox::
869         determineBackgroundBleedAvoidance() uses the slow path
870         BackgroundBleedUseTransparencyLayer for some very common use cases,
871         notably for drawing rectangles with rounded corners that have thin
872         borders. This is because the BackgroundBleedShrinkBackground
873         strategy requires a border at least two pixels wide on all sides. This
874         patch introduce drawing strategy BackgroundBleedBackgroundOverBorder.
875         This approach consists in drawing the border first, with an inset inner
876         edge (for anti-aliased compositing to work well).  This approach only
877         works with opaque solid edges and opaque single-layer backgrounds.
878         By using this approach rather than BackgroundBleedUseTransparencyLayer,
879         we save two clipPath, one save and one saveLayer on the
880         GraphicsContext. This patch gets good coverage from existing layout
881         tests. One additional test was added to exercise mitring, thick edges
882         and anti-aliasing edge cases under the new painting algorithm.
883
884         Test: fast/borders/border-radius-wide-border-05.html
885
886         * rendering/RenderBox.cpp:
887         (WebCore::RenderBox::determineBackgroundBleedAvoidance):
888         Added selection criteria for BackgroundOverBorder
889         (WebCore::RenderBox::paintBoxDecorations):
890         Added a preliminary paintBorder pass for BackgroundOverBorder
891         (WebCore::RenderBox::paintBackground):
892         Insetting the background to to innerBorder when bleedAvoidance is
893         BackgroundOverBorder.  This why BackgroundOverBorder only works for
894         Opaque solid edges.
895         (WebCore):
896         (WebCore::RenderBox::backgroundIsSingleOpaqueLayer):
897         Utility method use by determineBackgroundBleedAvoidance to test the
898         background's eligibility for BackgroundOverBorder bleed avoidance
899         strategy.  The reason the background must be a single layer is to avoid
900         color bleeding from layer compositing along anti-aliased edges
901         * rendering/RenderBox.h:
902         (RenderBox):
903         * rendering/RenderBoxModelObject.cpp:
904         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
905         (WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
906         Added support for BackgroundOverBorder by applying a one pixel inset.
907         (WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
908         Set the background rect to the inner border for BackgroundOverBorder
909         (WebCore):
910         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
911         Added support for BackgroundOverBorder by using 
912         backgroundRoundedRectAdjustedForBleedAvoidance
913         (WebCore::RenderBoxModelObject::paintBorderSides):
914         Added support for BackgroundOverBorder by applying per-side inset
915         adjustments.
916         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
917         (WebCore::RenderBoxModelObject::paintBorder):
918         Added support for BackgroundOverBorder by using an adjusted inner
919         border, but not if sides are painted individually.
920         * rendering/RenderBoxModelObject.h:
921         (RenderBoxModelObject):
922
923 2012-11-14  Hideki Yoshida  <yoshida-hxa@necst.nec.co.jp>
924
925         [WinCairo] Fix cairo_t* memory leak in GraphicsContext::platformInit
926         https://bugs.webkit.org/show_bug.cgi?id=76219
927
928         Reviewed by Brent Fulgham.
929
930         This patch is to fix a memory leak problem which occurs
931         in every rendering process on Wincairo port.
932         By applying this patch, the memory allocated in cairo 
933         library will be released by calling cairo_destroy.
934
935         * platform/graphics/win/GraphicsContextCairoWin.cpp:
936         (WebCore::GraphicsContext::platformInit):
937
938 2012-11-14  Sami Kyostila  <skyostil@chromium.org>
939
940         Optimize painting of composited scrolling layers
941         https://bugs.webkit.org/show_bug.cgi?id=96087
942
943         Reviewed by Simon Fraser.
944
945         Don't completely repaint accelerated scrolling layers when the scroll offset
946         changes.
947
948         Test: compositing/overflow/scrolling-without-painting.html
949
950         * platform/graphics/GraphicsLayer.cpp:
951         (WebCore::GraphicsLayer::setOffsetFromRenderer):
952         * platform/graphics/GraphicsLayer.h:
953         (GraphicsLayer):
954         * rendering/RenderLayerBacking.cpp:
955         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
956
957 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
958
959         Web Inspector: keep track of mutation observers and disconnect them upon upload
960         https://bugs.webkit.org/show_bug.cgi?id=102239
961
962         Reviewed by Vsevolod Vlasov.
963
964         Otherwise we hit memory leaks.
965
966         * inspector/front-end/DefaultTextEditor.js:
967         (WebInspector.DefaultTextEditor.prototype.wasShown):
968         (WebInspector.DefaultTextEditor.prototype.willHide):
969         (WebInspector.TextEditorMainPanel.prototype._wasShown):
970         (WebInspector.TextEditorMainPanel.prototype._willHide):
971         (WebInspector.TextEditorMainPanel.prototype._attachMutationObserver):
972         (WebInspector.TextEditorMainPanel.prototype._detachMutationObserver):
973         * inspector/front-end/utilities.js:
974
975 2012-11-14  Sergio Villar Senin  <svillar@igalia.com>
976
977         [Qt] Use a node image if there is no drag image set for Drag&Drop
978         https://bugs.webkit.org/show_bug.cgi?id=102124
979
980         Reviewed by Simon Hausmann.
981
982         Use the nodeImage provided by the frame if there is no dragImage in
983         the clipboard for the current drag&drop operation.
984
985         * platform/qt/ClipboardQt.cpp:
986         (WebCore::ClipboardQt::createDragImage):
987
988 2012-11-14  Max Vujovic  <mvujovic@adobe.com>
989
990         Call to enclosingFilterLayer() in RenderObject::containerForRepaint() is expensive
991         https://bugs.webkit.org/show_bug.cgi?id=101846
992
993         Reviewed by Simon Fraser.
994
995         If software-rendered CSS Filters have not been used in the document, avoid doing the second
996         tree walk in RenderObject::containerForRepaint, which determines the RenderObject's
997         enclosing filter layer.
998
999         No new tests. We now avoid a filters related code path for a performance improvement when
1000         we're not using filters.
1001
1002         * page/FrameView.cpp:
1003         (WebCore::FrameView::FrameView):
1004         * page/FrameView.h:
1005         (FrameView):
1006         (WebCore::FrameView::setHasSoftwareFilters):
1007         (WebCore::FrameView::hasSoftwareFilters):
1008         * rendering/RenderLayer.cpp:
1009         (WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
1010         * rendering/RenderObject.cpp:
1011         (WebCore::RenderObject::containerForRepaint):
1012
1013 2012-11-14  Erik Arvidsson  <arv@chromium.org>
1014
1015         Update DOMException name: NotFoundError
1016         https://bugs.webkit.org/show_bug.cgi?id=102137
1017
1018         Reviewed by Ojan Vafai.
1019
1020         Patch 8 of 25 to update DOMException name to match the spec and Firefox.
1021
1022         Updated existing tests.
1023
1024         * dom/DOMCoreException.cpp:
1025
1026 2012-11-14  Otto Derek Cheung  <otcheung@rim.com>
1027
1028         [BlackBerry] Updating BB Cookie database to use WAL
1029         https://bugs.webkit.org/show_bug.cgi?id=102237
1030
1031         Reviewed by Rob Buis.
1032
1033         The cookie database is accessed by one process only and should be updated to
1034         use the WAL journal mode for better I/O performance.
1035
1036         PR 236553
1037
1038         cookieCollection.db-wal is created after the conversion to WAL.
1039         Tested cookie persistence by logging on to random sites and restarting the browser and
1040         check if it automatically logs in.
1041         Also tested using Opera's cookie persistence test.
1042
1043         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
1044         (WebCore::CookieDatabaseBackingStore::invokeOpen):
1045
1046 2012-11-14  Erik Arvidsson  <arv@chromium.org>
1047
1048         Update DOMException name: IndexSizeError
1049         https://bugs.webkit.org/show_bug.cgi?id=102087
1050
1051         Reviewed by Ojan Vafai.
1052
1053         This is the first in a series of updates to DOMException name to match
1054         the spec and Firefox.
1055
1056         Patch 1 of 25
1057
1058         Updated existing tests.
1059
1060         * dom/DOMCoreException.cpp:
1061         (WebCore):
1062
1063 2012-11-14  Gabor Rapcsanyi  <rgabor@webkit.org>
1064
1065         Fix [-Wmissing-braces] warnings in graphics/cpu/arm/GraphicsContext3DNEON.h
1066         https://bugs.webkit.org/show_bug.cgi?id=102205
1067
1068         Reviewed by Csaba Osztrogonác.
1069
1070         Fixing some warnings in GraphicsContext3DNEON.h which have been caused by missing braces.
1071
1072         * platform/graphics/cpu/arm/GraphicsContext3DNEON.h:
1073         (WebCore::ARM::unpackOneRowOfRGBA4444ToRGBA8NEON):
1074         (WebCore::ARM::unpackOneRowOfRGBA5551ToRGBA8NEON):
1075         (WebCore::ARM::unpackOneRowOfRGB565ToRGBA8NEON):
1076
1077 2012-11-14  Erik Arvidsson  <arv@chromium.org>
1078
1079         Update DOMException name: NoDataAllowedError
1080         https://bugs.webkit.org/show_bug.cgi?id=102132
1081
1082         Reviewed by Darin Adler.
1083
1084         Patch 6 of 25 to update DOMException name to match the spec and Firefox.
1085
1086         NO_DATA_ALLOWED_ERR is historical and not used in any spec or in our code.
1087
1088         * dom/DOMCoreException.cpp:
1089         (WebCore):
1090         * dom/ExceptionCode.h:
1091
1092 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
1093
1094         Web Inspector: "Reveal in Element Panel" doesn't work if Elements panel hasn't been opened
1095         https://bugs.webkit.org/show_bug.cgi?id=102219
1096
1097         Reviewed by Alexander Pavlov.
1098
1099         Force elements module load upon context menu invocation.
1100
1101         * inspector/front-end/ElementsTreeOutline.js:
1102         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
1103         (WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
1104
1105 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1106
1107         Unreviewed, rolling out r134523.
1108         http://trac.webkit.org/changeset/134523
1109         https://bugs.webkit.org/show_bug.cgi?id=102218
1110
1111         brake chrome windows build, as it references a non existing
1112         header js/DOMRequestState.h (Requested by jochen__ on
1113         #webkit).
1114
1115         * Modules/indexeddb/IDBCursor.cpp:
1116         (WebCore::IDBCursor::setValueReady):
1117         * Modules/indexeddb/IDBCursor.h:
1118         (IDBCursor):
1119         * Modules/indexeddb/IDBRequest.cpp:
1120         (WebCore::IDBRequest::IDBRequest):
1121         (WebCore::IDBRequest::onSuccess):
1122         (WebCore::IDBRequest::stop):
1123         (WebCore::IDBRequest::dispatchEvent):
1124         * Modules/indexeddb/IDBRequest.h:
1125         (IDBRequest):
1126         * WebCore.gypi:
1127         * bindings/v8/DOMRequestState.h: Removed.
1128         * bindings/v8/IDBBindingUtilities.cpp:
1129         (WebCore::deserializeIDBValue):
1130         (WebCore::idbKeyToScriptValue):
1131         * bindings/v8/IDBBindingUtilities.h:
1132         (WebCore):
1133
1134 2012-11-14  Anton Obzhirov  <a.obzhirov@samsung.com>
1135
1136         Add platform implementation of remote web inspector server for GTK port.
1137         https://bugs.webkit.org/show_bug.cgi?id=88094 
1138
1139         Reviewed by Gustavo Noronha Silva.
1140
1141         Extra SocketStreamHandle constructor is added to accept existing GSocketConnection.
1142         Needed to pass remote inspector server socket connection. The change is tested with 
1143         inspector server API tests.
1144
1145         * platform/network/soup/SocketStreamHandle.h:
1146         (WebCore::SocketStreamHandle::create):
1147         (SocketStreamHandle):
1148         * platform/network/soup/SocketStreamHandleSoup.cpp:
1149         (WebCore::SocketStreamHandle::SocketStreamHandle):
1150         (WebCore):
1151         (WebCore::SocketStreamHandle::connected):
1152         (WebCore::SocketStreamHandle::platformSend):
1153         (WebCore::SocketStreamHandle::platformClose):
1154
1155 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
1156
1157         Web Inspector: context menu on ObjectPropertyTreeElement's values is masked by the section.
1158         https://bugs.webkit.org/show_bug.cgi?id=102212
1159
1160         Reviewed by Vsevolod Vlasov.
1161
1162         * inspector/front-end/ObjectPropertiesSection.js:
1163         (WebInspector.ObjectPropertiesSection.prototype.enableContextMenu):
1164
1165 2012-11-09  Ilya Tikhonovsky  <loislo@chromium.org>
1166
1167         Web Inspector: NMI add instrumentation for WebAudo related stuff.
1168         They use about 16Mb for shared data on pages with webaudio.
1169         As example Angry Birds app.
1170         https://bugs.webkit.org/show_bug.cgi?id=101729
1171
1172         Reviewed by Yury Semikhatsky.
1173
1174         Plain vanilla instrumentation for audio and webaudio classes.
1175         AudioContext is a kind of ActiveDOMObject. I found that these objects
1176         are accessible through ScriptExecutuionContext and ScriptExecutionContext
1177         is an ancestor of Document. Document class was instrumented earler.
1178         I instrumented ActiveDOMObject, ScriptExecutionContext and other ancestors
1179         and now AudioContext and other ActiveDOMObjects are reacheable from Document.
1180
1181         Test: inspector-protocol/nmi-webaudio.html
1182
1183         * Modules/webaudio/AudioContext.cpp:
1184         (WebCore::AudioContext::reportMemoryUsage):
1185         (WebCore):
1186         * Modules/webaudio/AudioContext.h:
1187         (AudioContext):
1188         * Modules/webaudio/AudioNode.cpp:
1189         (WebCore::AudioNode::reportMemoryUsage):
1190         (WebCore):
1191         * Modules/webaudio/AudioNode.h:
1192         (AudioNode):
1193         * dom/ActiveDOMObject.cpp:
1194         (WebCore::ActiveDOMObject::reportMemoryUsage):
1195         (WebCore):
1196         * dom/ActiveDOMObject.h:
1197         (ActiveDOMObject):
1198         * dom/Document.cpp:
1199         (WebCore::Document::reportMemoryUsage):
1200         * dom/ScriptExecutionContext.cpp:
1201         (WebCore::ScriptExecutionContext::reportMemoryUsage):
1202         (WebCore):
1203         * dom/ScriptExecutionContext.h:
1204         (ScriptExecutionContext):
1205         * dom/SecurityContext.cpp:
1206         (WebCore::SecurityContext::reportMemoryUsage):
1207         (WebCore):
1208         * dom/SecurityContext.h:
1209         (SecurityContext):
1210         * dom/WebCoreMemoryInstrumentation.cpp:
1211         (WebCore):
1212         * dom/WebCoreMemoryInstrumentation.h:
1213         (WebCoreMemoryTypes):
1214         * platform/audio/AudioArray.h:
1215         (AudioArray):
1216         (WebCore::AudioArray::reportMemoryUsage):
1217         * platform/audio/FFTFrame.cpp:
1218         (WebCore::FFTFrame::reportMemoryUsage):
1219         (WebCore):
1220         * platform/audio/FFTFrame.h:
1221         (FFTFrame):
1222         * platform/audio/HRTFDatabase.cpp:
1223         (WebCore::HRTFDatabase::reportMemoryUsage):
1224         (WebCore):
1225         * platform/audio/HRTFDatabase.h:
1226         (HRTFDatabase):
1227         * platform/audio/HRTFDatabaseLoader.cpp:
1228         (WebCore::HRTFDatabaseLoader::reportMemoryUsage):
1229         (WebCore):
1230         * platform/audio/HRTFDatabaseLoader.h:
1231         (HRTFDatabaseLoader):
1232         * platform/audio/HRTFElevation.cpp:
1233         (WebCore::HRTFElevation::reportMemoryUsage):
1234         (WebCore):
1235         * platform/audio/HRTFElevation.h:
1236         (HRTFElevation):
1237         * platform/audio/HRTFKernel.cpp:
1238         (WebCore::HRTFKernel::reportMemoryUsage):
1239         (WebCore):
1240         * platform/audio/HRTFKernel.h:
1241         (HRTFKernel):
1242
1243 2012-11-14  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1244
1245         Web Inspector: Settings screen: close button overlays view title on mac.
1246         https://bugs.webkit.org/show_bug.cgi?id=102198
1247
1248         Reviewed by Pavel Feldman.
1249
1250         Added margin-left for mac. Adjusted title height and vertical positioning.
1251
1252         * inspector/front-end/helpScreen.css:
1253         (.help-window-caption): Adjusted title height.
1254         (.help-window-title): Adjusted title vertical positioning. 
1255         (body.platform-mac .help-window-main .help-window-title): Fixed margin.
1256
1257 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
1258
1259         Web Inspector: use last selection as complementary signal when applying DOM changes to the text model.
1260         https://bugs.webkit.org/show_bug.cgi?id=101905
1261
1262         Reviewed by Vsevolod Vlasov.
1263
1264         Currently we use heuristics for detecting damaged model range upon DOM mutation.
1265         This change adds signals from the last selection and keyboard events in order to
1266         further improve the heuristics quality.
1267
1268         * inspector/front-end/DefaultTextEditor.js:
1269         (WebInspector.DefaultTextEditor):
1270         (WebInspector.DefaultTextEditor.EditInfo):
1271         (WebInspector.DefaultTextEditor.prototype._handleTextInput):
1272         (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
1273         (WebInspector.DefaultTextEditor.prototype.lastSelection):
1274         (WebInspector.DefaultTextEditor.prototype.wasShown):
1275         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1276         (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
1277         (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnDiff):
1278         (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
1279         (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
1280         * inspector/front-end/TextEditorModel.js:
1281         (WebInspector.TextRange.prototype.compareTo):
1282         (WebInspector.TextRange.prototype.shift):
1283         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1284
1285 2012-11-14  Dan Carney  <dcarney@google.com>
1286
1287         [V8] use toV8Fast in all relevant Node getters
1288         https://bugs.webkit.org/show_bug.cgi?id=100851
1289
1290         Reviewed by Kentaro Hara.
1291
1292         The toV8Fast function for Node objects is now called in all getters
1293         instead of toV8.
1294
1295         No new tests. Test coverage extensive.
1296
1297         * bindings/scripts/CodeGeneratorV8.pm:
1298         (GenerateHeader):
1299         (GenerateNormalAttrGetter):
1300         (IsDOMNodeType):
1301         * bindings/scripts/test/V8/V8TestNode.h:
1302         (WebCore::toV8Fast):
1303
1304 2012-11-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1305
1306         Clean up use of adjustWindowRect
1307         https://bugs.webkit.org/show_bug.cgi?id=102072
1308
1309         Reviewed by Gyuyoung Kim.
1310
1311         Tested by fast/dom/Window/open-window-min-size.html
1312
1313         * loader/FrameLoader.cpp:
1314         (WebCore::createWindow):
1315
1316             Validate the window size here so that it is not just done for
1317             .open, but also for .showModalDialog. This is compatible with
1318             other browsers such as IE and Firefox (though IE > 6, enforces
1319             a minimum width of 250 instead of 100 as Firefox and us.)
1320
1321         * page/DOMWindow.cpp:
1322         (WebCore):
1323         (WebCore::DOMWindow::adjustWindowRect):
1324
1325             Make it a static method which only takes page. It was never
1326             called from anywhere without a valid page, so the page check
1327             has been turned into an assert, and two of the arguments have
1328             been removed as they can be accessed via the page.
1329
1330         (WebCore::DOMWindow::moveBy):
1331         (WebCore::DOMWindow::moveTo):
1332         (WebCore::DOMWindow::resizeBy):
1333         (WebCore::DOMWindow::resizeTo):
1334
1335             Update use of adjustWindowRect.
1336
1337         (WebCore::DOMWindow::open):
1338
1339             Avoid modifying the WindowFeatures as the WebCore::createWindow
1340             validates and adjusts the arguments.
1341
1342         * page/DOMWindow.h:
1343         (DOMWindow):
1344
1345 2012-11-14  Takashi Sakamoto  <tasak@google.com>
1346
1347         Crash when replacing parts of text inputs with content: url(...)
1348         https://bugs.webkit.org/show_bug.cgi?id=101133
1349
1350         Reviewed by Kent Tamura.
1351
1352         Disable directly setting content of elements in an input element's
1353         shadow dom tree, because the setting breaks input element's behavior.
1354
1355         Tests: fast/forms/number/number-content-url-crash.html
1356                fast/forms/search/search-content-url-crash.html
1357
1358         * css/html.css:
1359         (input::-webkit-textfield-decoration-container):
1360         Use important to disable overriding an input element's content
1361         property.
1362         * html/TextFieldInputType.cpp:
1363         (WebCore::TextFieldInputType::attach):
1364         Added ASSERTION. No content should be applied to
1365         input::-webkit-textfield-decoration-container.
1366
1367 2012-11-14  Kentaro Hara  <haraken@chromium.org>
1368
1369         Unreviewed. Rebaselined run-bindings-tests results.
1370
1371         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1372         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
1373         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
1374         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
1375         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
1376         (WebCore::V8TestOverloadedConstructors::wrapSlow):
1377
1378 2012-11-14  Anton Muhin  <antonm@chromium.org>
1379
1380         Provide return types for custom WebGLRenderingContext methods
1381         https://bugs.webkit.org/show_bug.cgi?id=100777
1382
1383         Reviewed by Kenneth Russell.
1384
1385         No new tests as doesn't change generated code.
1386
1387         * html/canvas/WebGLRenderingContext.idl:
1388
1389 2012-11-14  Kent Tamura  <tkent@chromium.org>
1390
1391         Support for localization tests of calendar picker
1392         https://bugs.webkit.org/show_bug.cgi?id=102181
1393
1394         Reviewed by Kentaro Hara.
1395
1396         Introduce DateTimeChooserParameters::locale to inform locale to
1397         DateTimeChooser implementations. However we pass defaultLanguage
1398         unless tests calls internals.settings.
1399         setLangAttributeAwareFormControlUIEnabled(true) explicitly.
1400
1401         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html
1402
1403         * html/HTMLInputElement.cpp:
1404         (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
1405         Set DateTimeChooserParameters::locale up.
1406         * platform/DateTimeChooser.h:
1407         (DateTimeChooserParameters): Add 'locale' member.
1408
1409 2012-11-14  Pavel Feldman  <pfeldman@chromium.org>
1410
1411         Web Inspector: highlight is not updating as one edits CSS properties
1412         https://bugs.webkit.org/show_bug.cgi?id=102191
1413
1414         Reviewed by Alexander Pavlov.
1415
1416         We should update highlight upon layout / style recalculation.
1417
1418         * inspector/InspectorInstrumentation.cpp:
1419         (WebCore):
1420         (WebCore::InspectorInstrumentation::didRecalculateStyleImpl):
1421         * inspector/InspectorPageAgent.cpp:
1422         (WebCore::InspectorPageAgent::InspectorPageAgent):
1423         (WebCore::InspectorPageAgent::enable):
1424         (WebCore::InspectorPageAgent::disable):
1425         (WebCore::InspectorPageAgent::domContentEventFired):
1426         (WebCore::InspectorPageAgent::didPaint):
1427         (WebCore::InspectorPageAgent::didLayout):
1428         (WebCore::InspectorPageAgent::didScroll):
1429         (WebCore):
1430         (WebCore::InspectorPageAgent::didRecalculateStyle):
1431         * inspector/InspectorPageAgent.h:
1432
1433 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1434
1435         Unreviewed, rolling out r134566.
1436         http://trac.webkit.org/changeset/134566
1437         https://bugs.webkit.org/show_bug.cgi?id=102197
1438
1439         "it broke Chromium Android Release build" (Requested by
1440         haraken on #webkit).
1441
1442         * html/HTMLInputElement.cpp:
1443         (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
1444         * platform/DateTimeChooser.h:
1445         (DateTimeChooserParameters):
1446
1447 2012-11-08  Vsevolod Vlasov  <vsevik@chromium.org>
1448
1449         Web Inspector: No content available for requests made from flash
1450         https://bugs.webkit.org/show_bug.cgi?id=101560
1451
1452         Reviewed by Pavel Feldman.
1453
1454         Network request data is now saved to inspector cache in following cases:
1455          - Error status code;
1456          - No cached resource available;
1457          - Cached resource has ShouldNotBufferData option set.
1458         Drive-by: refactored didReceiveResponse logic to be clearer.
1459
1460         * inspector/InspectorResourceAgent.cpp:
1461         (WebCore::InspectorResourceAgent::didReceiveResponse):
1462         (WebCore::InspectorResourceAgent::didReceiveData):
1463         * loader/cache/CachedResource.h:
1464         (WebCore::CachedResource::shouldBufferData):
1465
1466 2012-11-14  Shinya Kawanaka  <shinyak@chromium.org>
1467
1468         Changing pseudoClass (:target) should cause distribution
1469         https://bugs.webkit.org/show_bug.cgi?id=101699
1470
1471         Reviewed by Hajime Morita.
1472
1473         When cssTarget element is changed, we might have to invalidate distribution. We check its necessity
1474         by consulting with SelectRuleFeatureSet.
1475
1476         We also implement invalidateParentDistributionIfNecessary for all collected features in this patch.
1477
1478         Test: fast/dom/shadow/pseudoclass-update-target.html
1479
1480         * dom/Document.cpp:
1481         (WebCore::Document::setCSSTarget):
1482         * dom/ElementShadow.cpp:
1483         (WebCore::invalidateParentDistributionIfNecessary):
1484         (WebCore):
1485         * dom/ElementShadow.h:
1486         (WebCore):
1487         * html/shadow/SelectRuleFeatureSet.h:
1488         (WebCore::SelectRuleFeatureSet::hasSelectorFor):
1489         (SelectRuleFeatureSet):
1490
1491 2012-11-14  Kentaro Hara  <haraken@chromium.org>
1492
1493         [V8] DOM wrapper objects should be collected in minor GC cycles
1494         https://bugs.webkit.org/show_bug.cgi?id=98725
1495
1496         Reviewed by Adam Barth.
1497
1498         Previously minor GC cycles cannot collect DOM Nodes. All DOM Nodes
1499         have to survive two minor GC cycles, be promoted to the old space
1500         and wait for a heavy major GC cycle.
1501
1502         This patch enables V8 to collect DOM Nodes in minor GC cycles.
1503         For real world applications, I confirmed that minor GC cycles
1504         reclaims a substantial amount of memory (24 MB for Facebook,
1505         235 MB for Google Calendar) with acceptable overhead (~10 ms
1506         per minor GC cycle). No performance regression in Dromaeo
1507         DOM tests.
1508
1509         A design document: https://docs.google.com/a/google.com/document/d/16DeHrzkm3cO9XCPT1aK3Y5qgUxXB3RFmueqQWYmN2rI/edit
1510         Performance results: https://docs.google.com/a/google.com/document/d/1h0-EsHu7T0sSMuZm5eE0r1e8sCAzY3weLvsDUpOSngE/edit
1511         A slide: https://docs.google.com/a/google.com/presentation/d/1uifwVYGNYTZDoGLyCb7sXa7g49mWNMW2gaWvMN5NLk8/edit#slide=id.p
1512
1513         * bindings/v8/IntrusiveDOMWrapperMap.h:
1514         (WebCore::IntrusiveDOMWrapperMap::set):
1515         * bindings/v8/V8DOMWindowShell.cpp:
1516         (WebCore::initializeV8IfNeeded):
1517         * bindings/v8/V8GCController.cpp:
1518         (WebCore):
1519         (WebCore::gcTree):
1520         (WebCore::V8GCController::newWrapperBorn):
1521         (WebCore::V8GCController::gcPrologue):
1522         (WebCore::V8GCController::minorGCPrologue):
1523         (WebCore::V8GCController::majorGCPrologue):
1524         (WebCore::V8GCController::gcEpilogue):
1525         (WebCore::V8GCController::minorGCEpilogue):
1526         (WebCore::V8GCController::majorGCEpilogue):
1527         * bindings/v8/V8GCController.h:
1528         (WebCore):
1529         (V8GCController):
1530         * bindings/v8/WorkerContextExecutionProxy.cpp:
1531         (WebCore::WorkerContextExecutionProxy::initIsolate):
1532         * dom/Element.cpp:
1533         (WebCore::Element::focus):
1534         * dom/Node.h:
1535         (WebCore::Node::inEden):
1536         (WebCore::Node::setEden):
1537         (Node):
1538
1539 2012-11-14  Kentaro Hara  <haraken@chromium.org>
1540
1541         [V8] Replace setDOMWrapper() + setJSWrapperForDOMObject() with createDOMWrapper()
1542         https://bugs.webkit.org/show_bug.cgi?id=101917
1543
1544         Reviewed by Adam Barth.
1545
1546         setJSWrapperForDOMObject() is always coupled with setDOMWrapper().
1547         We can replace setDOMWrapper() + setJSWrapperForDOMObject() with
1548         createDOMWrapper(). (c.f. CREATE_DOM_WRAPPER() in JSC)
1549
1550         No tests. No change in behavior.
1551
1552         * bindings/scripts/CodeGeneratorV8.pm:
1553         (GenerateConstructorCallback):
1554         (GenerateEventConstructorCallback):
1555         (GenerateNamedConstructorCallback):
1556         (GenerateToV8Converters):
1557         * bindings/v8/V8DOMWindowShell.cpp:
1558         (WebCore::V8DOMWindowShell::installDOMWindow):
1559         * bindings/v8/V8DOMWrapper.cpp:
1560         (WebCore::V8DOMWrapper::instantiateV8Object):
1561         * bindings/v8/V8DOMWrapper.h:
1562         (V8DOMWrapper):
1563         (WebCore::V8DOMWrapper::createDOMWrapper):
1564         * bindings/v8/WorkerContextExecutionProxy.cpp:
1565         (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
1566         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1567         (WebCore::V8ArrayBuffer::constructorCallback):
1568         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1569         (WebCore::wrapArrayBufferView):
1570         (WebCore::constructWebGLArray):
1571         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1572         (WebCore::V8DOMFormData::constructorCallback):
1573         * bindings/v8/custom/V8DataViewCustom.cpp:
1574         (WebCore::V8DataView::constructorCallback):
1575         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1576         (WebCore::v8HTMLImageElementConstructorCallback):
1577         * bindings/v8/custom/V8IntentConstructor.cpp:
1578         (WebCore::V8Intent::constructorCallback):
1579         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1580         (WebCore::V8MessageChannel::constructorCallback):
1581         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1582         (WebCore::V8MutationObserver::constructorCallback):
1583         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1584         (WebCore::V8WebKitPoint::constructorCallback):
1585         * bindings/v8/custom/V8WebSocketCustom.cpp:
1586         (WebCore::V8WebSocket::constructorCallback):
1587         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1588         (WebCore::V8XMLHttpRequest::constructorCallback):
1589
1590 2012-11-14  Kent Tamura  <tkent@chromium.org>
1591
1592         Support for localization tests of calendar picker
1593         https://bugs.webkit.org/show_bug.cgi?id=102181
1594
1595         Reviewed by Kentaro Hara.
1596
1597         Introduce DateTimeChooserParameters::locale to inform locale to
1598         DateTimeChooser implementations. However we pass defaultLanguage
1599         unless tests calls internals.settings.
1600         setLangAttributeAwareFormControlUIEnabled(true) explicitly.
1601
1602         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html
1603
1604         * html/HTMLInputElement.cpp:
1605         (WebCore::HTMLInputElement::setupDateTimeChooserParameters):
1606         Set DateTimeChooserParameters::locale up.
1607         * platform/DateTimeChooser.h:
1608         (DateTimeChooserParameters): Add 'locale' member.
1609
1610 2012-11-14  Alexei Filippov  <alph@chromium.org>
1611
1612         Web Inspector: Show total memory in the NMI snapshot header
1613         https://bugs.webkit.org/show_bug.cgi?id=101922
1614
1615         Reviewed by Pavel Feldman.
1616
1617         * inspector/front-end/NativeMemorySnapshotView.js:
1618         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
1619         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
1620
1621 2012-11-14  Jan Keromnes  <janx@linux.com>
1622
1623         Web Inspector: CodeMirrorTextEditor fails to scroll breakpoint into view after the first time
1624         https://bugs.webkit.org/show_bug.cgi?id=102142
1625
1626         Reviewed by Pavel Feldman.
1627
1628         Calling revealLine in highlightLine like in DefaultTextEditor does the trick.
1629
1630         * inspector/front-end/CodeMirrorTextEditor.js:
1631         (WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
1632
1633 2012-11-13  Kent Tamura  <tkent@chromium.org>
1634
1635         Use menulist-button instead of menulist for date/time input types
1636         https://bugs.webkit.org/show_bug.cgi?id=101886
1637
1638         Reviewed by Hajime Morita.
1639
1640         Both of Chromium-Android and iOS use -webkit-appearance:menulist-button,
1641         not menulist. We had better apply common one by default.
1642
1643         No new tests. Covered by fast/forms/*/*-appearance-*.html.
1644
1645         * css/html.css:
1646         (input[type="date"]): Switch menulist-button from menulist.
1647         (input[type="datetime"]): Ditto.
1648         (input[type="datetime-local"]): Ditto.
1649         (input[type="month"]): Ditto.
1650         (input[type="time"]): Ditto.
1651         (input[type="week"]): Ditto.
1652         (input::-webkit-date-and-time-value):
1653         Add top, right, bottom margins. The right margin is important when
1654         dir=rtl is specified.
1655         whitespace:pre is needed to align baseline in a case of empty values.
1656         * css/themeChromiumAndroid.css:
1657         Remove redundant style declaration.
1658         * css/themeWin.css:
1659         Remove padding adjustment for date/time input types. It is for
1660         textfields.
1661
1662 2012-11-13  Vincent Scheib  <scheib@chromium.org>
1663
1664         Remove RuntimeEnabledFeatures::isPointerLockEnabled.
1665         https://bugs.webkit.org/show_bug.cgi?id=102107
1666
1667         Reviewed by Adam Barth.
1668
1669         The runtime flag is always true now that the feature is enabled by default in Chromium.
1670
1671         * bindings/generic/RuntimeEnabledFeatures.cpp:
1672         (WebCore):
1673         * bindings/generic/RuntimeEnabledFeatures.h:
1674         (RuntimeEnabledFeatures):
1675         * dom/Document.idl:
1676         * dom/Element.idl:
1677         * dom/MouseEvent.idl:
1678
1679 2012-11-13  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1680
1681         Web Inspector: JsDoc-annotate KeyboardShortcuts
1682         https://bugs.webkit.org/show_bug.cgi?id=101301
1683
1684         Reviewed by Pavel Feldman.
1685
1686         JsDoc-annotate KeyboardShortcuts to improve readability.
1687
1688         * inspector/front-end/AdvancedSearchController.js: Fix parameter type.
1689         * inspector/front-end/KeyboardShortcut.js: Add annotations.
1690         * inspector/front-end/Panel.js: Make event parameter typed.
1691         * inspector/front-end/inspector.js: Ditto.
1692
1693 2012-11-13  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1694
1695         Web Inspector: Extract common interface for StatusBarButton and StatusBarCombo
1696         https://bugs.webkit.org/show_bug.cgi?id=101907
1697
1698         Reviewed by Pavel Feldman.
1699
1700         Status bar control element should have common interface for
1701         easier management.
1702         In this patch getter/setter for StatusBarButton "disabled" are replaced
1703         with regular functions "enabled"/"setEnabled"; added "setEnabled"
1704         to StatusBarCombo; added new base class StatusBarItem with
1705         method "setEnabled" and member "element".
1706
1707         * inspector/front-end/CPUProfileView.js: Adopted refactoring.
1708         * inspector/front-end/DockController.js: Ditto.
1709         * inspector/front-end/ScriptsPanel.js: Ditto.
1710         * inspector/front-end/TimelinePanel.js: Ditto.
1711         * inspector/front-end/inspector.js: Ditto.
1712         * inspector/front-end/StatusBarButton.js:
1713         (WebInspector.StatusBarItem): Added.
1714         (WebInspector.StatusBarButton): Replaced getter/setter with
1715         regular functions.
1716         (WebInspector.StatusBarComboBox.prototype.setEnabled): Added.
1717
1718 2012-11-13  Eugene Klyuchnikov  <eustas.bug@gmail.com>
1719
1720         Web Inspector: Console: update tab/shift-tab shortcut description.
1721         https://bugs.webkit.org/show_bug.cgi?id=102175
1722
1723         Reviewed by Pavel Feldman.
1724
1725         For "Tab / Shift-Tab" it said "Next/previous suggestion".
1726         Actually, shift-tab to do nothing, and tab auto-completes common prefix.
1727
1728         * English.lproj/localizedStrings.js: Replaced string.
1729         * inspector/front-end/ConsoleView.js: Updated shortcut registration.
1730
1731 2012-11-13  Dana Jansens  <danakj@chromium.org>
1732
1733         [chromium] Pass showDebugBorders directly to WebLayerTreeSettings, don't use the GraphicsLayer border width setting.
1734         https://bugs.webkit.org/show_bug.cgi?id=102130
1735
1736         Reviewed by James Robinson.
1737
1738         The current method of setting debug borders on GraphicsLayers requires
1739         every GraphicsLayerClient to set the value on the layer(s) it
1740         represents. This skips the NonCompositedContentHost as well as any
1741         other clients other than RenderLayerBacking - including layers from the
1742         inspector.
1743
1744         Instead, pass the debug border setting directly to the
1745         WebLayerTreeSettings where the compositor can use the flag to enable
1746         borders on all layers globally.
1747
1748         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1749         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1750         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1751         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1752         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1753         * platform/graphics/chromium/GraphicsLayerChromium.h:
1754         (GraphicsLayerChromium):
1755
1756 2012-11-13  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1757
1758         Enable calendar picker for input types datetime/datetime-local
1759         https://bugs.webkit.org/show_bug.cgi?id=101889
1760
1761         Reviewed by Kent Tamura.
1762
1763         This adds calendar picker to <input type=datetime> and <input type=datetime-local>.
1764         When a user choose a date from calendar picker, year/month/day fields of the input
1765         element are updated and hour/minute/second fields are unchanged.
1766
1767         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-local.html
1768                platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime.html
1769
1770         * Resources/pagepopups/calendarPicker.js: Day.parse accepts datetime string (just drops time part).
1771         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1772         (WebCore::BaseMultipleFieldsDateAndTimeInputType::pickerIndicatorChooseValue):
1773         If the given value is not valid for the element, try to parse it as a date string.
1774         * html/DateTimeInputType.cpp:
1775         (WebCore::DateTimeInputType::formatDateTimeFieldsState): DateTimeFieldsState::month() returns 1-12, not 0-11.
1776         * html/DateTimeLocalInputType.cpp:
1777         (WebCore::DateTimeLocalInputType::formatDateTimeFieldsState): Ditto.
1778         * html/shadow/DateTimeEditElement.cpp:
1779         (WebCore::DateTimeEditElement::setOnlyYearMonthDay): Added.
1780         (WebCore):
1781         * html/shadow/DateTimeEditElement.h:
1782         (DateTimeEditElement):
1783         * rendering/RenderThemeChromiumCommon.cpp:
1784         (WebCore::RenderThemeChromiumCommon::supportsCalendarPicker): Return true for datetime and datetimelocal too.
1785
1786 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1787
1788         Unreviewed, rolling out r134524.
1789         http://trac.webkit.org/changeset/134524
1790         https://bugs.webkit.org/show_bug.cgi?id=102177
1791
1792         "Chromiium build broken" (Requested by haraken on #webkit).
1793
1794         * WebCore.gyp/WebCore.gyp:
1795         * WebCore.gypi:
1796         * rendering/RenderThemeChromiumFontProvider.cpp: Removed.
1797         * rendering/RenderThemeChromiumFontProvider.h: Removed.
1798         * rendering/RenderThemeChromiumFontProviderLinux.cpp: Removed.
1799         * rendering/RenderThemeChromiumFontProviderWin.cpp: Removed.
1800         * rendering/RenderThemeChromiumSkia.cpp:
1801         (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
1802         (WebCore::RenderThemeChromiumSkia::systemFont):
1803         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
1804         * rendering/RenderThemeChromiumSkia.h:
1805         (RenderThemeChromiumSkia):
1806         * rendering/RenderThemeChromiumWin.cpp:
1807         (WebCore):
1808         (WebCore::getNonClientMetrics):
1809         (WebCore::systemFontSize):
1810         (WebCore::pointsToPixels):
1811         (WebCore::RenderThemeChromiumWin::systemFont):
1812         (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
1813         * rendering/RenderThemeChromiumWin.h:
1814         (RenderThemeChromiumWin):
1815
1816 2012-11-13  KyungTae Kim  <ktf.kim@samsung.com>
1817
1818         Fix compile warning [-Wsign-compare]
1819         https://bugs.webkit.org/show_bug.cgi?id=101458
1820
1821         Reviewed by Alexey Proskuryakov.
1822
1823         Currently, lossy check has been done by comparing file size(posix signed integral value) with conversioned(standard c++ unsigned integral value).
1824         However, it leads -Wsign-compare compile warning.
1825         Therefore, this patch assigns the file size to the biggest possible unsigned variable, then does the lossy check.
1826
1827         * platform/posix/SharedBufferPOSIX.cpp:
1828         (WebCore::SharedBuffer::createWithContentsOfFile):
1829
1830 2012-11-13  Keishi Hattori  <keishi@webkit.org>
1831
1832         Enable datalist UI for input types week and month
1833         https://bugs.webkit.org/show_bug.cgi?id=102041
1834
1835         Reviewed by Kent Tamura.
1836
1837         Enabling datalist UI for input types week and month.
1838
1839         No new tests. Tests will be added later in Bug 102039 and Bug 102040.
1840
1841         * rendering/RenderThemeChromiumCommon.cpp:
1842         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Add month and week to the list.
1843
1844 2012-11-13  Eberhard Graether  <egraether@google.com>
1845
1846         checkbox to toggle FPS counter in the inspector's settings
1847         https://bugs.webkit.org/show_bug.cgi?id=99660
1848
1849         Reviewed by Pavel Feldman.
1850
1851         Added a checkbox to the inspector's settings to toggle a FPS counter. The checkbox appears when InspectorClient::canShowFPSCounter() returns true.
1852
1853         No new tests.
1854
1855         * English.lproj/localizedStrings.js:
1856         * inspector/Inspector.json:
1857         * inspector/InspectorClient.h:
1858         (WebCore::InspectorClient::canShowFPSCounter):
1859         (WebCore::InspectorClient::setShowFPSCounter):
1860         (InspectorClient):
1861         * inspector/InspectorPageAgent.cpp:
1862         (PageAgentState):
1863         (WebCore::InspectorPageAgent::enable):
1864         (WebCore::InspectorPageAgent::disable):
1865         (WebCore::InspectorPageAgent::canShowFPSCounter):
1866         (WebCore):
1867         (WebCore::InspectorPageAgent::setShowFPSCounter):
1868         * inspector/InspectorPageAgent.h:
1869         * inspector/front-end/Settings.js:
1870         * inspector/front-end/SettingsScreen.js:
1871         (WebInspector.GenericSettingsTab):
1872         (WebInspector.GenericSettingsTab.prototype.get _showFPSCounterChanged):
1873         * inspector/front-end/inspector.js:
1874         (WebInspector.doLoadedDone):
1875
1876 2012-11-13  Shinya Kawanaka  <shinyak@chromium.org>
1877
1878         Collect necessary features for SelectRuleFeatureSet
1879         https://bugs.webkit.org/show_bug.cgi?id=102160
1880
1881         Reviewed by Dimitri Glazkov.
1882
1883         When pseudo class is changed, we might have to invalidate distribution. To determine whether we should invalidate
1884         distribution, we would like to collect RuleFeature from select attributes.
1885
1886         According to ShadowDOM spec, we have to collect the following pseudo classes: checked, enabled, disabled,
1887         indeterminate, link, target, and visited. We collect them in this patch.
1888
1889         Test: fast/dom/shadow/shadow-select-attribute-featureset.html
1890
1891         * html/shadow/SelectRuleFeatureSet.cpp:
1892         (WebCore::SelectRuleFeatureSet::SelectRuleFeatureSet): Uses int as bitset so that we can use bit operator.
1893         (WebCore::SelectRuleFeatureSet::add):
1894         (WebCore::SelectRuleFeatureSet::clear):
1895         (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector): Collects necessary features from CSSSelector.
1896         * html/shadow/SelectRuleFeatureSet.h:
1897         (WebCore::SelectRuleFeatureSet::hasSelectorForChecked):
1898         (WebCore::SelectRuleFeatureSet::hasSelectorForEnabled):
1899         (WebCore::SelectRuleFeatureSet::hasSelectorForDisabled):
1900         (WebCore::SelectRuleFeatureSet::hasSelectorForIndeterminate):
1901         (WebCore::SelectRuleFeatureSet::hasSelectorForLink):
1902         (WebCore::SelectRuleFeatureSet::hasSelectorForTarget):
1903         (WebCore::SelectRuleFeatureSet::hasSelectorForVisited):
1904         (SelectRuleFeatureSet):
1905         (WebCore::SelectRuleFeatureSet::setSelectRuleFeature):
1906         (WebCore::SelectRuleFeatureSet::hasSelectorFor):
1907         * testing/Internals.cpp:
1908         (WebCore::Internals::hasSelectorForPseudoClassInShadow):
1909         (WebCore):
1910         * testing/Internals.h:
1911         (Internals):
1912         * testing/Internals.idl:
1913
1914 2012-11-13  Andreas Kling  <kling@webkit.org>
1915
1916         Move inline style logic from ElementAttributeData to StyledElement.
1917         <http://webkit.org/b/102120>
1918
1919         Reviewed by Antti Koivisto.
1920
1921         Move all the logic dealing with element inline style from ElementAttributeData to StyledElement.
1922         No difference in behavior, just making ElementAttributeData dumber.
1923
1924         * css/StylePropertySet.cpp:
1925         * css/StylePropertySet.h:
1926         (WebCore::StylePropertySet::hasCSSOMWrapper):
1927         (WebCore::StylePropertySet::cssStyleDeclaration):
1928
1929             Added as complements to ensureCSSStyleDeclaration() for the case where we don't want
1930             to instantiate a CSSOM wrapper unnecessarily.
1931
1932         * dom/StyledElement.h:
1933         (WebCore::StyledElement::inlineStyle):
1934         * dom/ElementAttributeData.cpp:
1935         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
1936         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
1937         (WebCore::ElementAttributeData::reportMemoryUsage):
1938         * dom/ElementAttributeData.h:
1939         (WebCore::ElementAttributeData::inlineStyle):
1940         (ElementAttributeData):
1941
1942             Renamed m_inlineStyleDecl to m_inlineStyle. Finally.
1943
1944         * dom/StyledElement.cpp:
1945         (WebCore::StyledElement::~StyledElement):
1946
1947             Detach the CSSOM wrapper from the inline style if there is one.
1948
1949         (WebCore::StyledElement::ensureMutableInlineStyle):
1950         (WebCore::StyledElement::style):
1951
1952             Renamed ensureInlineStyle() to ensureMutableInlineStyle() since that's what it
1953             actually does. Update call sites accordingly.
1954
1955         (WebCore::StyledElement::inlineStyleCSSOMWrapper):
1956
1957             Added helper to get the CSSOM wrapper for the element's inline style if there is one.
1958
1959         (WebCore::StyledElement::styleAttributeChanged):
1960
1961             Do the work to parse/update/replace the inline style attribute here instead of
1962             in an ElementAttributeData method.
1963
1964         (WebCore::StyledElement::setInlineStyleProperty):
1965         (WebCore::StyledElement::removeInlineStyleProperty):
1966         (WebCore::StyledElement::removeAllInlineStyleProperties):
1967         * editing/ApplyStyleCommand.cpp:
1968         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1969         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1970         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1971         * editing/ReplaceSelectionCommand.cpp:
1972         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1973         * html/canvas/CanvasStyle.cpp:
1974         (WebCore::currentColor):
1975
1976             s/ensureInlineStyle/ensureMutableInlineStyle/
1977
1978 2012-11-13  Li Yin  <li.yin@intel.com>
1979
1980         fast/forms/file/input-file-write-files.html should cover correct setting value
1981         https://bugs.webkit.org/show_bug.cgi?id=100085
1982
1983         Reviewed by Kentaro Hara.
1984
1985         Fix the GObject and Objective C bindings comparibility issue. Preserving existing
1986         behavior for those may be important in idl.
1987
1988         No new tests, because fast/forms/file/input-file-value.html has covered it.
1989
1990         * html/HTMLInputElement.idl:
1991
1992 2012-11-13  KyungTae Kim  <ktf.kim@samsung.com>
1993
1994         [EFL] Fix build warning in NetworkStateNotifierEfl.cpp
1995         https://bugs.webkit.org/show_bug.cgi?id=102061
1996
1997         Reviewed by Gyuyoung Kim.
1998
1999         The second argument for NLMSG_OK needs to be unsigned to avoid the -Wsign-compare warning.
2000
2001         * platform/network/efl/NetworkStateNotifierEfl.cpp:
2002         (WebCore::readSocketCallback):
2003
2004 2012-11-13  Sami Kyostila  <skyostil@chromium.org>
2005
2006         Don't mark scrolling contents as dirty if RenderLayerBacking is going away
2007         https://bugs.webkit.org/show_bug.cgi?id=101947
2008
2009         Reviewed by Simon Fraser.
2010
2011         When a scrolling contents graphics layer is created or destroyed, the
2012         associated graphics layer is marked as needing display because some of
2013         the painted content may have migrated between the primary graphics layer
2014         and the scrolling layer.
2015
2016         This causes a problem when the RenderLayerBacking is being destroyed,
2017         because setNeedsDisplay() needs to check from the compositor whether to
2018         track repaints or not. If the RenderLayerBacking is being destroyed, the
2019         value returned by compositor() is garbage and this causes a crash.
2020
2021         This patch fixes the problem by making RenderLayer::compositor() return a null
2022         pointer when the renderer no longer has a view.
2023
2024         Covered by existing layout tests in compositing/overflow/.
2025
2026         * rendering/RenderLayer.cpp:
2027         (WebCore::RenderLayer::compositor):
2028
2029 2012-11-13  Erik Arvidsson  <arv@chromium.org>
2030
2031         Update DOMException name: InvalidCharacterError
2032         https://bugs.webkit.org/show_bug.cgi?id=102128
2033
2034         Reviewed by Darin Adler.
2035
2036         Patch 5 of 25 to update DOMException name to match the spec and Firefox.
2037
2038         Updated existing tests.
2039
2040         * dom/DOMCoreException.cpp:
2041
2042 2012-11-13  Joshua Bell  <jsbell@chromium.org>
2043
2044         IndexedDB: Run multiple tasks per transaction tick
2045         https://bugs.webkit.org/show_bug.cgi?id=97738
2046
2047         Reviewed by Tony Chang.
2048
2049         Process multiple tasks from the pending queue(s) when the timer fires. The
2050         task may initiate new tasks that change which queue is active (e.g. indexing
2051         operations) so the loop must re-check each tick which queue to use.
2052
2053         In DumpRenderTree, time to make 20k puts/20k gets dropped from 3.2s to 2.0s (-37%);
2054         in Chromium's content_shell, the time dropped from 8.1s to 4.6s (-42%).
2055
2056         No new tests - just perf improvements, covered by (nearly) all existing IDB tests.
2057
2058         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2059         (WebCore::IDBTransactionBackendImpl::abort): Use takeFirst() to clean up code.
2060         (WebCore::IDBTransactionBackendImpl::taskTimerFired): Process as many tasks as are available.
2061
2062 2012-11-13  Elliott Sprehn  <esprehn@chromium.org>
2063
2064         Disable frame loading instead of throwing exceptions on subtree modifications in ChildFrameDisconnector
2065         https://bugs.webkit.org/show_bug.cgi?id=102012
2066
2067         Reviewed by Ojan Vafai.
2068
2069         Previously if you modified the subtree that was being removed from a
2070         removeChild from inside an unload handler on an <iframe> inside the
2071         subtree you'd get an exception which is wrong. Instead we just need to
2072         disable all frame loading there.
2073
2074         This works because either the subtree will be removed and the frame never
2075         loading doesn't matter, or some section of the subtree that contains the
2076         frame will be moved to another part of the document which will cause the
2077         frame to load when it's inserted there.
2078
2079         I also added a check for <object> elements. It doesn't seem this is actually
2080         reachable in the existing code, but I'm not entirely sure since the frame
2081         loading and object/plugin handling is very confusing.
2082
2083         A better fix could be to repeatedly walk the subtree until all frames
2084         were disconnected or some iteration limit was hit and then force all leftover
2085         subframes to disconnect without firing unload handlers but this is such an
2086         edge case I don't think the complexity is necessary.
2087
2088         Test: fast/frames/modifications-in-subtree-unload.html
2089
2090         * dom/ContainerNodeAlgorithms.h:
2091         (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
2092         (WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
2093         (ChildFrameDisconnector):
2094         (WebCore::ChildFrameDisconnector::disconnect):
2095         * dom/Node.cpp:
2096         (WebCore::checkAcceptChild): Removed exception.
2097         * html/HTMLFrameElementBase.cpp:
2098         (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Check canLoadFrame().
2099         * html/HTMLFrameOwnerElement.h:
2100         (SubframeLoadingDisabler):
2101         (WebCore::SubframeLoadingDisabler::SubframeLoadingDisabler):
2102         (WebCore::SubframeLoadingDisabler::~SubframeLoadingDisabler):
2103         (WebCore::SubframeLoadingDisabler::canLoadFrame):
2104           Returns true if frames can be loaded in the subtree.
2105         (WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):
2106         * html/HTMLObjectElement.cpp:
2107         (WebCore::HTMLObjectElement::updateWidget):
2108           Check canLoadFrame(). I think this case is impossible, but it's better
2109           to be safe than sorry later.
2110
2111 2012-11-13  Joshua Bell  <jsbell@chromium.org>
2112
2113         [V8] Add missing ENABLE(SVG) test in header
2114         https://bugs.webkit.org/show_bug.cgi?id=102143
2115
2116         Reviewed by Kentaro Hara.
2117
2118         Need to wrap the #include of a header that's only conditionally generated.
2119
2120         Fixes build error if compiling e.g. w/ GYP_DEFINES="enable_svg=0"
2121
2122         * bindings/v8/custom/V8ElementCustom.cpp:
2123
2124 2012-11-13  Jon Lee  <jonlee@apple.com>
2125
2126         Automatically run small plugins
2127         https://bugs.webkit.org/show_bug.cgi?id=102148
2128         <rdar://problem/12695560>
2129
2130         Reviewed by Darin Adler.
2131
2132         * rendering/RenderEmbeddedObject.h: Promote layout() to protected.
2133         * rendering/RenderSnapshottedPlugIn.cpp: Add constants for threshold size for plugins that will auto-start.
2134         (WebCore::RenderSnapshottedPlugIn::layout): After layout, obtain the width and height of the element.
2135         If either dimension is 0, or the overall size of the plugin is smaller that the threshold size, move the
2136         display state to Playing. Assuming we will always layout before first paint, changing the state here
2137         should be safe.
2138         * rendering/RenderSnapshottedPlugIn.h:
2139
2140 2012-11-13  Kenneth Russell  <kbr@google.com>
2141
2142         Notify embedder of lost contexts and allow overriding of WebGL support
2143         https://bugs.webkit.org/show_bug.cgi?id=101826
2144
2145         Reviewed by Adam Barth.
2146
2147         Add hooks notifying the embedder when OpenGL contexts are lost and
2148         allowing overriding of WebGL support on a per-frame basis.
2149
2150         No tests yet; don't know how to test this solely within WebKit.
2151         Currently developing tests in the Chromium port exercising the
2152         notifications end-to-end. Once those are in place, I'm prepared to
2153         investigate adding tests for all ports.
2154
2155         * html/canvas/WebGLRenderingContext.cpp:
2156         (WebCore):
2157         (WebCore::WebGLRenderingContext::create):
2158           Check whether embedder vetoes creation of new WebGL contexts.
2159         (WebCore::WebGLRenderingContext::loseContextImpl):
2160           Notify embedder that context was lost.
2161         (WebCore::WebGLRenderingContext::maybeRestoreContext):
2162           Check whether embedder vetoes restoration of existing WebGL contexts.
2163         * loader/FrameLoaderClient.h:
2164         (FrameLoaderClient):
2165         (WebCore::FrameLoaderClient::allowWebGL):
2166         (WebCore::FrameLoaderClient::didLoseWebGLContext):
2167           Hooks notifying embedder of lost contexts and asking permission to run WebGL.
2168
2169 2012-11-13  Scott Violet  <sky@chromium.org>
2170
2171         [Chromium] Refactor theme font lookup into a factory
2172         https://bugs.webkit.org/show_bug.cgi?id=101949
2173
2174         Reviewed by Tony Chang.
2175
2176         This will ultimately allow us to use what is currently in RenderThemeChromiumLinux on windows.
2177
2178         No new tests. Refactoring only.
2179
2180         * WebCore.gyp/WebCore.gyp:
2181         * WebCore.gypi:
2182         * rendering/RenderThemeChromiumFontProvider.cpp: Added.
2183         (WebCore):
2184         (WebCore::RenderThemeChromiumFontProvider::defaultGUIFont): Moved into RenderThemeFontProvider.
2185         * rendering/RenderThemeChromiumFontProvider.h: Added.
2186         (WTF):
2187         (WebCore):
2188         (RenderThemeChromiumFontProvider): This is the font related methods.
2189         * rendering/RenderThemeChromiumFontProviderLinux.cpp: Added.
2190         (WebCore):
2191         (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): What was in RenderThemeChromiumSkia::setDefaultFontSize.
2192         (WebCore::RenderThemeChromiumFontProvider::systemFont): What was in RenderThemeChromiumSkia::systemFont.
2193         * rendering/RenderThemeChromiumFontProviderWin.cpp: Added.
2194         (WebCore):
2195         (WebCore::pointsToPixels): Moved from RenderThemeChromiumWin.
2196         (WebCore::getNonClientMetrics): Moved from RenderThemeChromiumWin.
2197         (WebCore::systemFontSize): Moved from RenderThemeChromiumWin.
2198         (WebCore::RenderThemeChromiumFontProvider::systemFont): Moved from RenderThemeChromiumWin.
2199         (WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): Moved from RenderThemeChromiumWin.
2200         * rendering/RenderThemeChromiumSkia.cpp:
2201         (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): Moved into RenderThemeFontProvider.
2202         (WebCore::RenderThemeChromiumSkia::systemFont): Calls to RenderThemeChromiumFontProvider.
2203         (WebCore::RenderThemeChromiumSkia::setDefaultFontSize): Calls to RenderThemeChromiumFontProvider.
2204         * rendering/RenderThemeChromiumSkia.h:
2205         (RenderThemeChromiumSkia): Moves defaultFontSize into RenderThemeChromiumFontProvider.
2206         * rendering/RenderThemeChromiumWin.cpp: Moves font code into RenderThemeFontProviderWin.
2207         (WebCore):
2208         * rendering/RenderThemeChromiumWin.h: Removed overriden methods now handled by RenderThemeChromiumSkia.
2209         (RenderThemeChromiumWin):
2210
2211 2012-11-13  Alec Flett  <alecflett@chromium.org>
2212
2213         Add DOMRequestState to maintain world/ScriptExecutionContext state
2214         https://bugs.webkit.org/show_bug.cgi?id=102102
2215
2216         Reviewed by Adam Barth.
2217
2218         Introduce DOMRequestState, and convert IndexedDB over.
2219
2220         No new tests, this is an abstraction layer for existing code.
2221
2222         * Modules/indexeddb/IDBRequest.cpp:
2223         (WebCore::IDBRequest::IDBRequest):
2224         (WebCore::IDBRequest::onSuccess):
2225         (WebCore::IDBRequest::dispatchEvent):
2226         * Modules/indexeddb/IDBRequest.h:
2227         (IDBRequest):
2228         * WebCore.gypi:
2229         * bindings/v8/DOMRequestState.h: Added.
2230         (WebCore):
2231         (DOMRequestState):
2232         (WebCore::DOMRequestState::DOMRequestState):
2233         (Scope):
2234         (WebCore::DOMRequestState::Scope::Scope):
2235         (WebCore::DOMRequestState::scope):
2236
2237 2012-11-13  Robert Sesek  <rsesek@chromium.org>
2238
2239         Sever Chromium's dependence on WebKitSystemInterface media control drawing functions in RenderThemeMac
2240         https://bugs.webkit.org/show_bug.cgi?id=101634
2241
2242         Reviewed by Adam Barth.
2243
2244         This splits out the common methods between RenderThemeMac and RenderThemeChromiumMac
2245         into RenderThemeMacShared.
2246
2247         No new tests, just refactoring.
2248
2249         * WebCore.gyp/WebCore.gyp: Remove RenderThemeMac.mm from platform/ sources list, since it's part of rendering/
2250         * WebCore.gypi: Add RenderThemeMacShared.{h,mm}
2251         * WebCore.xcodeproj/project.pbxproj: Add RenderThemeMacShared.{h,mm}
2252         * rendering/RenderThemeChromiumMac.h:
2253         * rendering/RenderThemeChromiumMac.mm:
2254         (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft):
2255         (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight):
2256         (WebCore::RenderThemeChromiumMac::extraDefaultStyleSheet):
2257         * rendering/RenderThemeMac.h:
2258         (RenderThemeMac):
2259         * rendering/RenderThemeMac.mm:
2260         (WebCore):
2261         (WebCore::RenderTheme::themeForPage):
2262         (WebCore::RenderThemeMac::create):
2263         (WebCore::RenderThemeMac::RenderThemeMac):
2264         (WebCore::RenderThemeMac::~RenderThemeMac):
2265         (WebCore::RenderThemeMac::documentViewFor):
2266         (WebCore::mediaControllerTheme):
2267         (WebCore::RenderThemeMac::paintMediaSliderTrack):
2268         (WebCore::RenderThemeMac::paintMediaRewindButton):
2269         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
2270         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack):
2271         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb):
2272         (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
2273         (WebCore::RenderThemeMac::extraFullScreenStyleSheet):
2274         * rendering/RenderThemeMacShared.h: Copied from Source/WebCore/rendering/RenderThemeMac.h.
2275         (WebCore):
2276         (RenderThemeMacShared):
2277         (WebCore::RenderThemeMacShared::supportsControlTints):
2278         (WebCore::RenderThemeMacShared::scrollbarControlSizeForPart):
2279         (WebCore::RenderThemeMacShared::supportsSelectionForegroundColors):
2280         (WebCore::RenderThemeMacShared::supportsClosedCaptioning):
2281         (WebCore::RenderThemeMacShared::updateActiveState):
2282         * rendering/RenderThemeMacShared.mm: Copied from Source/WebCore/rendering/RenderThemeMac.mm.
2283         (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
2284         (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
2285         (-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
2286         (WebCore):
2287         (WebCore::RenderThemeMacShared::RenderThemeMacShared):
2288         (WebCore::RenderThemeMacShared::~RenderThemeMacShared):
2289         (WebCore::RenderThemeMacShared::platformActiveSelectionBackgroundColor):
2290         (WebCore::RenderThemeMacShared::platformInactiveSelectionBackgroundColor):
2291         (WebCore::RenderThemeMacShared::platformActiveListBoxSelectionBackgroundColor):
2292         (WebCore::RenderThemeMacShared::platformActiveListBoxSelectionForegroundColor):
2293         (WebCore::RenderThemeMacShared::platformInactiveListBoxSelectionForegroundColor):
2294         (WebCore::RenderThemeMacShared::platformFocusRingColor):
2295         (WebCore::RenderThemeMacShared::platformInactiveListBoxSelectionBackgroundColor):
2296         (WebCore::toFontWeight):
2297         (WebCore::RenderThemeMacShared::systemFont):
2298         (WebCore::convertNSColorToColor):
2299         (WebCore::menuBackgroundColor):
2300         (WebCore::RenderThemeMacShared::platformColorsDidChange):
2301         (WebCore::RenderThemeMacShared::systemColor):
2302         (WebCore::RenderThemeMacShared::usesTestModeFocusRingColor):
2303         (WebCore::RenderThemeMacShared::isControlStyled):
2304         (WebCore::RenderThemeMacShared::adjustRepaintRect):
2305         (WebCore::RenderThemeMacShared::inflateRect):
2306         (WebCore::RenderThemeMacShared::convertToPaintingRect):
2307         (WebCore::RenderThemeMacShared::updateCheckedState):
2308         (WebCore::RenderThemeMacShared::updateEnabledState):
2309         (WebCore::RenderThemeMacShared::updateFocusedState):
2310         (WebCore::RenderThemeMacShared::updatePressedState):
2311         (WebCore::RenderThemeMacShared::controlSupportsTints):
2312         (WebCore::RenderThemeMacShared::controlSizeForFont):
2313         (WebCore::RenderThemeMacShared::setControlSize):
2314         (WebCore::RenderThemeMacShared::sizeForFont):
2315         (WebCore::RenderThemeMacShared::sizeForSystemFont):
2316         (WebCore::RenderThemeMacShared::setSizeFromFont):
2317         (WebCore::RenderThemeMacShared::setFontFromControlSize):
2318         (WebCore::RenderThemeMacShared::controlSizeForSystemFont):
2319         (WebCore::RenderThemeMacShared::paintTextField):
2320         (WebCore::RenderThemeMacShared::adjustTextFieldStyle):
2321         (WebCore::RenderThemeMacShared::paintCapsLockIndicator):
2322         (WebCore::RenderThemeMacShared::paintTextArea):
2323         (WebCore::RenderThemeMacShared::adjustTextAreaStyle):
2324         (WebCore::RenderThemeMacShared::popupButtonMargins):
2325         (WebCore::RenderThemeMacShared::popupButtonSizes):
2326         (WebCore::RenderThemeMacShared::popupButtonPadding):
2327         (WebCore::RenderThemeMacShared::paintMenuList):
2328         (WebCore::RenderThemeMacShared::meterSizeForBounds):
2329         (WebCore::RenderThemeMacShared::paintMeter):
2330         (WebCore::RenderThemeMacShared::supportsMeter):
2331         (WebCore::RenderThemeMacShared::levelIndicatorStyleFor):
2332         (WebCore::RenderThemeMacShared::levelIndicatorFor):
2333         (WebCore::RenderThemeMacShared::progressBarSizes):
2334         (WebCore::RenderThemeMacShared::progressBarMargins):
2335         (WebCore::RenderThemeMacShared::minimumProgressBarHeight):
2336         (WebCore::RenderThemeMacShared::animationRepeatIntervalForProgressBar):
2337         (WebCore::RenderThemeMacShared::animationDurationForProgressBar):
2338         (WebCore::RenderThemeMacShared::adjustProgressBarStyle):
2339         (WebCore::RenderThemeMacShared::paintProgressBar):
2340         (WebCore::TopGradientInterpolate):
2341         (WebCore::BottomGradientInterpolate):
2342         (WebCore::MainGradientInterpolate):
2343         (WebCore::TrackGradientInterpolate):
2344         (WebCore::RenderThemeMacShared::paintMenuListButtonGradients):
2345         (WebCore::RenderThemeMacShared::paintMenuListButton):
2346         (WebCore::menuListButtonSizes):
2347         (WebCore::RenderThemeMacShared::adjustMenuListStyle):
2348         (WebCore::RenderThemeMacShared::popupInternalPaddingLeft):
2349         (WebCore::RenderThemeMacShared::popupInternalPaddingRight):
2350         (WebCore::RenderThemeMacShared::popupInternalPaddingTop):
2351         (WebCore::RenderThemeMacShared::popupInternalPaddingBottom):
2352         (WebCore::RenderThemeMacShared::adjustMenuListButtonStyle):
2353         (WebCore::RenderThemeMacShared::setPopupButtonCellState):
2354         (WebCore::RenderThemeMacShared::menuListSizes):
2355         (WebCore::RenderThemeMacShared::minimumMenuListSize):
2356         (WebCore::RenderThemeMacShared::adjustSliderTrackStyle):
2357         (WebCore::RenderThemeMacShared::paintSliderTrack):
2358         (WebCore::RenderThemeMacShared::adjustSliderThumbStyle):
2359         (WebCore::RenderThemeMacShared::paintSliderThumb):
2360         (WebCore::RenderThemeMacShared::paintSearchField):
2361         (WebCore::RenderThemeMacShared::setSearchCellState):
2362         (WebCore::RenderThemeMacShared::searchFieldSizes):
2363         (WebCore::RenderThemeMacShared::setSearchFieldSize):
2364         (WebCore::RenderThemeMacShared::adjustSearchFieldStyle):
2365         (WebCore::RenderThemeMacShared::paintSearchFieldCancelButton):
2366         (WebCore::RenderThemeMacShared::cancelButtonSizes):
2367         (WebCore::RenderThemeMacShared::adjustSearchFieldCancelButtonStyle):
2368         (WebCore::RenderThemeMacShared::resultsButtonSizes):
2369         (WebCore::RenderThemeMacShared::adjustSearchFieldDecorationStyle):
2370         (WebCore::RenderThemeMacShared::paintSearchFieldDecoration):
2371         (WebCore::RenderThemeMacShared::adjustSearchFieldResultsDecorationStyle):
2372         (WebCore::RenderThemeMacShared::paintSearchFieldResultsDecoration):
2373         (WebCore::RenderThemeMacShared::adjustSearchFieldResultsButtonStyle):
2374         (WebCore::RenderThemeMacShared::paintSearchFieldResultsButton):
2375         (WebCore::RenderThemeMacShared::sliderTickSize):
2376         (WebCore::RenderThemeMacShared::sliderTickOffsetFromTrackCenter):
2377         (WebCore::RenderThemeMacShared::adjustSliderThumbSize):
2378         (WebCore::RenderThemeMacShared::shouldShowPlaceholderWhenFocused):
2379         (WebCore::RenderThemeMacShared::popupButton):
2380         (WebCore::RenderThemeMacShared::search):
2381         (WebCore::RenderThemeMacShared::searchMenuTemplate):
2382         (WebCore::RenderThemeMacShared::sliderThumbHorizontal):
2383         (WebCore::RenderThemeMacShared::sliderThumbVertical):
2384         (WebCore::RenderThemeMacShared::textField):
2385         (WebCore::RenderThemeMacShared::fileListNameForWidth):
2386         (WebCore::RenderThemeMacShared::paintPlugInSnapshotOverlay):
2387
2388 2012-11-13  Tab Atkins  <jackalmage@gmail.com>
2389
2390         CSS @charset parsing is too loose, doesn't match other browsers
2391         https://bugs.webkit.org/show_bug.cgi?id=101527
2392
2393         Reviewed by Alexey Proskuryakov.
2394
2395         Per <https://www.w3.org/Bugs/Public/show_bug.cgi?id=19882#attach_1244>,
2396         IE and FF have changed to be strict about @charset parsing,
2397         as the CSS 2.1 spec requires.
2398         Since @charset use is very uncommon anyway,
2399         we should match the new behavior and the spec for platform consistency.
2400
2401         Test: fast/encoding/css-charset-evil/css-charset-evil.html
2402
2403         * loader/TextResourceDecoder.cpp:
2404         (WebCore::bytesEqual):
2405         (WebCore::TextResourceDecoder::checkForCSSCharset):
2406
2407 2012-11-13  Kenichi Ishibashi  <bashi@chromium.org>
2408
2409         [WebSocket] send() and close() should not throw an exception for an unpaired surrogate but use the replacement character
2410         https://bugs.webkit.org/show_bug.cgi?id=101569
2411
2412         Reviewed by Alexey Proskuryakov.
2413
2414         Replace unpaired surrogates with replacing character (U+FFFD) when
2415         encoding text messages and close reasons. This change is aimed at
2416         following the changes on the WebSocket API specification.
2417
2418         Test: http/tests/websocket/tests/hybi/close-reason-too-long.html
2419
2420         * Modules/websockets/WebSocket.cpp:
2421         (WebCore::WebSocket::close):
2422         Use String::StrictConversionReplacingUnpairedSurrogatesWithFFFD mode to encode
2423         text message. Remove invalid utf-8 check.
2424         * Modules/websockets/WebSocketChannel.cpp:
2425         (WebCore::WebSocketChannel::send):
2426         Use String::StrictConversionReplacingUnpairedSurrogatesWithFFFD mode to encode
2427         close reason. Remove invalid utf-8 check.
2428
2429 2012-11-13  Christophe Dumez  <christophe.dumez@intel.com>
2430
2431         Make HTMLLegendElement.form behave according to specification
2432         https://bugs.webkit.org/show_bug.cgi?id=101044
2433
2434         Reviewed by Kent Tamura.
2435
2436         According to the HTML5 specification (http://dev.w3.org/html5/spec/single-page.html#dom-legend-form),
2437         The form IDL attribute's behavior depends on whether the legend element is in a fieldset element or
2438         not. If the legend has a fieldset element as its parent, then the form IDL attribute must return the
2439         same value as the form IDL attribute on that fieldset element. Otherwise, it must return null.
2440
2441         This patch makes WebKit behaves according to specification (and Firefox). Previously, legend.form was
2442         not returning null if the element was not inside a fieldset. Also, legend.form did not necessarily
2443         return the same value as the parent fieldset's form attribute.
2444
2445         Test: fast/forms/legend/legend-form.html
2446
2447         * html/HTMLLegendElement.cpp:
2448         (WebCore):
2449         (WebCore::HTMLLegendElement::virtualForm):
2450         * html/HTMLLegendElement.h:
2451         (HTMLLegendElement):
2452
2453 2012-11-13  Mark Lam  <mark.lam@apple.com>
2454
2455         Make an assertion in JSEventListener::jsFunction() more useful.
2456         https://bugs.webkit.org/show_bug.cgi?id=101985.
2457
2458         Reviewed by Geoffrey Garen.
2459
2460         The assertion was weakened in r134495. This strengthens it again.
2461
2462         No new tests.
2463
2464         * bindings/js/JSEventListener.h:
2465         (WebCore::JSEventListener::jsFunction):
2466
2467 2012-11-13  Dean Jackson  <dino@apple.com>
2468
2469         Support list of tracks in caption media controls
2470         https://bugs.webkit.org/show_bug.cgi?id=101669
2471
2472         Reviewed by Eric Carlson.
2473
2474         Attempt four of commit. The first two times caused build failures on Chromium. The third time
2475         crashed the Windows test bot. It's also been rebased since r134488.
2476
2477         Add some new elements to the media control shadow DOM that display the list of available
2478         tracks on an audio/video element. The UI is hidden by default everywhere but on Mac,
2479         where it is given a very basic design. At the moment only the list of available tracks
2480         are displayed; The followup bug will make the UI active: https://bugs.webkit.org/show_bug.cgi?id=101670
2481
2482         No new tests - this doesn't expose any testable surface.
2483
2484         * css/mediaControls.css: Added default rules that hide the new elements.
2485         * css/mediaControlsQuickTime.css: Specific rules that give a basic rendering of the new track list.
2486         * html/shadow/MediaControlElements.cpp:
2487         (WebCore::MediaControlElement::isShowing): Tests for the visibility of a control.
2488         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
2489         (WebCore::MediaControlClosedCaptionsContainerElement::create):
2490         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId):
2491         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2492         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Now takes a reference to the media controls as a parameter.
2493         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2494         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2495         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2496         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): New element for holding a list of tracks to display.
2497         * html/shadow/MediaControlElements.h:
2498         (MediaControlElement):
2499         (MediaControlToggleClosedCaptionsButtonElement):
2500         (MediaControlClosedCaptionsContainerElement):
2501         (MediaControlClosedCaptionsTrackListElement): Examines the media element to build a shadow DOM that lists all the tracks available.
2502         * html/shadow/MediaControlsApple.cpp:
2503         (WebCore::MediaControlsApple::MediaControlsApple):
2504         (WebCore::MediaControlsApple::create): New track container and list elements created.
2505         (WebCore::MediaControlsApple::setMediaController): Hook up the new elements to the controller..
2506         (WebCore::MediaControlsApple::hide):
2507         (WebCore::MediaControlsApple::makeTransparent):
2508         (WebCore::MediaControlsApple::reset):
2509         (WebCore::MediaControlsApple::reportedError):
2510         (WebCore::MediaControlsApple::toggleClosedCaptionTrackList): Shows or hides the popup with the list of tracks.
2511         (WebCore):
2512         * html/shadow/MediaControlsApple.h:
2513         (MediaControlsApple):
2514         * html/shadow/MediaControlsChromium.cpp:
2515         (WebCore::MediaControlsChromium::initializeControls): Pass in the controls as a parameter.
2516         * html/shadow/MediaControls.h:
2517         (MediaControls):
2518         * platform/Language.cpp:
2519         (WebCore::displayNameForLanguageLocale): New function to return a human-readable name for a locale, given the identifier input.
2520         * platform/Language.h:
2521         (WebCore):
2522         * rendering/RenderMediaControls.cpp:
2523         (WebCore::RenderMediaControls::paintMediaControlsPart): New enum values into switch.
2524         * rendering/RenderMediaControlsChromium.cpp:
2525         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): New enum values into switch.
2526
2527 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
2528
2529         Unreviewed, rolling out r134377.
2530         http://trac.webkit.org/changeset/134377
2531         https://bugs.webkit.org/show_bug.cgi?id=101133
2532
2533         Caused a mysterious Android Clang build failure, needs
2534         investigation before landing again.
2535
2536         * css/html.css:
2537         (input::-webkit-textfield-decoration-container):
2538         * html/TextFieldInputType.cpp:
2539         (WebCore::TextFieldInputType::attach):
2540
2541 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2542
2543         Unreviewed, rolling out r134482.
2544         http://trac.webkit.org/changeset/134482
2545         https://bugs.webkit.org/show_bug.cgi?id=102140
2546
2547         The patch causes fast/regions/moved-content-node-crash.html to
2548         crash in Debug mode due to ASSERTION. (Requested by abucur on
2549         #webkit).
2550
2551         * rendering/InlineFlowBox.cpp:
2552         (SameSizeAsInlineFlowBox):
2553         * rendering/InlineFlowBox.h:
2554         (WebCore::InlineFlowBox::InlineFlowBox):
2555         (InlineFlowBox):
2556         * rendering/RenderBlock.cpp:
2557         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2558         * rendering/RenderBlockLineLayout.cpp:
2559         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2560         (WebCore::RenderBlock::linkToEndLineIfNeeded):
2561         (WebCore::RenderBlock::determineStartPosition):
2562         * rendering/RootInlineBox.cpp:
2563         (WebCore::RootInlineBox::RootInlineBox):
2564         * rendering/RootInlineBox.h:
2565         (WebCore):
2566         (WebCore::RootInlineBox::paginationStrut):
2567         (WebCore::RootInlineBox::setPaginationStrut):
2568         (WebCore::RootInlineBox::isFirstAfterPageBreak):
2569         (WebCore::RootInlineBox::setIsFirstAfterPageBreak):
2570         (WebCore::RootInlineBox::paginatedLineWidth):
2571         (WebCore::RootInlineBox::setPaginatedLineWidth):
2572         (RootInlineBox):
2573
2574 2012-11-13  Xianzhu Wang  <wangxianzhu@chromium.org>
2575
2576         Missing NodeRenderStyle.h include in WebCore/html/TextFieldInputType.cpp
2577         https://bugs.webkit.org/show_bug.cgi?id=102108
2578
2579         Reviewed by Adam Barth.
2580
2581         No new tests. Fix clang build break.
2582
2583         * html/TextFieldInputType.cpp: Added #include "NodeRenderStyle.h"
2584
2585 2012-11-13  Chris Fleizach  <cfleizach@apple.com>
2586
2587         AX: MathML types need to be semantically identified in AX tree
2588         https://bugs.webkit.org/show_bug.cgi?id=101263
2589
2590         Reviewed by Beth Dakin.
2591
2592         Semantically identify various MathML elements within the AX tree. This will allow
2593         screen readers to identify math types so that equations can be output more accurately.
2594
2595         Test: platform/mac/accessibility/mathml-elements.html
2596
2597         * accessibility/AccessibilityObject.h:
2598         (AccessibilityObject):
2599         (WebCore::AccessibilityObject::isMathElement):
2600         (WebCore::AccessibilityObject::isMathFraction):
2601         (WebCore::AccessibilityObject::isMathFenced):
2602         (WebCore::AccessibilityObject::isMathSubscriptSuperscript):
2603         (WebCore::AccessibilityObject::isMathRow):
2604         (WebCore::AccessibilityObject::isMathUnderOver):
2605         (WebCore::AccessibilityObject::isMathRoot):
2606         (WebCore::AccessibilityObject::isMathSquareRoot):
2607         (WebCore::AccessibilityObject::isMathText):
2608         (WebCore::AccessibilityObject::isMathNumber):
2609         (WebCore::AccessibilityObject::isMathOperator):
2610         (WebCore::AccessibilityObject::isMathFenceOperator):
2611         (WebCore::AccessibilityObject::isMathSeparatorOperator):
2612         (WebCore::AccessibilityObject::isMathIdentifier):
2613         (WebCore::AccessibilityObject::isMathTable):
2614         (WebCore::AccessibilityObject::isMathTableRow):
2615         (WebCore::AccessibilityObject::isMathTableCell):
2616         (WebCore::AccessibilityObject::mathRadicandObject):
2617         (WebCore::AccessibilityObject::mathRootIndexObject):
2618         (WebCore::AccessibilityObject::mathUnderObject):
2619         (WebCore::AccessibilityObject::mathOverObject):
2620         (WebCore::AccessibilityObject::mathNumeratorObject):
2621         (WebCore::AccessibilityObject::mathDenominatorObject):
2622         (WebCore::AccessibilityObject::mathBaseObject):
2623         (WebCore::AccessibilityObject::mathSubscriptObject):
2624         (WebCore::AccessibilityObject::mathSuperscriptObject):
2625         (WebCore::AccessibilityObject::mathFencedOpenString):
2626         (WebCore::AccessibilityObject::mathFencedCloseString):
2627         * accessibility/AccessibilityRenderObject.cpp:
2628         (WebCore::startOfContinuations):
2629             Handle a case where a MathML render element is created with the node of their parent (which could lead to an assert).
2630         (WebCore::AccessibilityRenderObject::textUnderElement):
2631             Handle the cases for RenderMathMLOperators which use the node of their parent, which confuses the normal textUnderElement() routine.
2632         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2633             Handle ignored cases for math elements
2634         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2635         (WebCore::AccessibilityRenderObject::isMathElement):
2636         (WebCore::AccessibilityRenderObject::isMathFraction):
2637         (WebCore::AccessibilityRenderObject::isMathFenced):
2638         (WebCore::AccessibilityRenderObject::isMathSubscriptSuperscript):
2639         (WebCore::AccessibilityRenderObject::isMathRow):
2640         (WebCore::AccessibilityRenderObject::isMathUnderOver):
2641         (WebCore::AccessibilityRenderObject::isMathSquareRoot):
2642         (WebCore::AccessibilityRenderObject::isMathRoot):
2643         (WebCore::AccessibilityRenderObject::isMathOperator):
2644         (WebCore::AccessibilityRenderObject::isMathFenceOperator):
2645         (WebCore::AccessibilityRenderObject::isMathSeparatorOperator):
2646         (WebCore::AccessibilityRenderObject::isMathText):
2647         (WebCore::AccessibilityRenderObject::isMathNumber):
2648         (WebCore::AccessibilityRenderObject::isMathIdentifier):
2649         (WebCore::AccessibilityRenderObject::isMathTable):
2650         (WebCore::AccessibilityRenderObject::isMathTableRow):
2651         (WebCore::AccessibilityRenderObject::isMathTableCell):
2652         (WebCore::AccessibilityRenderObject::isIgnoredElementWithinMathTree):
2653             Make sure anonymouse blocks are ignored within math tree; make sure non-element type objects are ignored (like <mstyle>).
2654         (WebCore::AccessibilityRenderObject::mathRadicandObject):
2655         (WebCore::AccessibilityRenderObject::mathRootIndexObject):
2656         (WebCore::AccessibilityRenderObject::mathNumeratorObject):
2657         (WebCore::AccessibilityRenderObject::mathDenominatorObject):
2658         (WebCore::AccessibilityRenderObject::mathUnderObject):
2659         (WebCore::AccessibilityRenderObject::mathOverObject):
2660         (WebCore::AccessibilityRenderObject::mathBaseObject):
2661         (WebCore::AccessibilityRenderObject::mathSubscriptObject):
2662         (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
2663         (WebCore::AccessibilityRenderObject::mathFencedOpenString):
2664         (WebCore::AccessibilityRenderObject::mathFencedCloseString):
2665         * accessibility/AccessibilityRenderObject.h:
2666         (AccessibilityRenderObject):
2667         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2668         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2669         (createAccessibilityRoleMap):
2670         (-[WebAccessibilityObjectWrapper subrole]):
2671         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2672         * rendering/mathml/RenderMathMLBlock.cpp:
2673         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
2674         * rendering/mathml/RenderMathMLBlock.h:
2675         (WebCore::RenderMathMLBlock::isRenderMathMLFenced):
2676         (WebCore::RenderMathMLBlock::isRenderMathMLFraction):
2677         (WebCore::RenderMathMLBlock::isRenderMathMLRoot):
2678         (WebCore::RenderMathMLBlock::isRenderMathMLSquareRoot):
2679         (WebCore::RenderMathMLBlock::isRenderMathMLSubSup):
2680         (WebCore::RenderMathMLBlock::isRenderMathMLUnderOver):
2681         (WebCore::RenderMathMLBlock::setIgnoreInAccessibilityTree):
2682         (WebCore::RenderMathMLBlock::ignoreInAccessibilityTree):
2683             Add ability to identify anonymous render blocks as items that AX should ignore.
2684         (RenderMathMLBlock):
2685         * rendering/mathml/RenderMathMLFenced.cpp:
2686         (WebCore::RenderMathMLFenced::createMathMLOperator):
2687             Identify which kind of math operator is being created on the fly (Fence or Separator)
2688         (WebCore::RenderMathMLFenced::makeFences):
2689         (WebCore::RenderMathMLFenced::addChild):
2690         * rendering/mathml/RenderMathMLFenced.h:
2691         (WebCore::RenderMathMLFenced::isRenderMathMLFenced):
2692         (RenderMathMLFenced):
2693         * rendering/mathml/RenderMathMLFraction.h:
2694         (WebCore::RenderMathMLFraction::isRenderMathMLFraction):
2695         * rendering/mathml/RenderMathMLOperator.cpp:
2696         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
2697         (WebCore::RenderMathMLOperator::updateFromElement):
2698         (WebCore::RenderMathMLOperator::createGlyph):
2699              Mark anonymous render blocks as AX ignored.
2700         * rendering/mathml/RenderMathMLOperator.h:
2701         (WebCore::RenderMathMLOperator::setOperatorType):
2702         (WebCore::RenderMathMLOperator::operatorType):
2703         (RenderMathMLOperator):
2704         * rendering/mathml/RenderMathMLRoot.h:
2705         (WebCore::RenderMathMLRoot::isRenderMathMLRoot):
2706         * rendering/mathml/RenderMathMLSquareRoot.h:
2707         (WebCore::RenderMathMLSquareRoot::isRenderMathMLSquareRoot):
2708         * rendering/mathml/RenderMathMLSubSup.h:
2709         (WebCore::RenderMathMLSubSup::isRenderMathMLSubSup):
2710         * rendering/mathml/RenderMathMLUnderOver.h:
2711         (WebCore::RenderMathMLUnderOver::isRenderMathMLUnderOver):
2712         
2713 2012-11-13  Mark Lam  <mark.lam@apple.com>
2714
2715         JSEventListener should not access m_jsFunction when its wrapper is gone.
2716         https://bugs.webkit.org/show_bug.cgi?id=101985.
2717
2718         Reviewed by Geoffrey Garen.
2719
2720         Added a few null checks for m_wrapper before we do anything with m_jsFunction.
2721
2722         No new tests.
2723
2724         * bindings/js/JSEventListener.cpp:
2725         (WebCore::JSEventListener::initializeJSFunction):
2726         - Removed a now invalid assertion. m_wrapper is expected to have a
2727           valid non-zero value when jsFunction is valid. However, in the case
2728           of JSLazyEventListener (which extends JSEventListener), m_wrapper is
2729           initially 0 when m_jsFunction has not been realized yet. When
2730           JSLazyEventListener::initializeJSFunction() realizes m_jsFunction,
2731           it will set m_wrapper to an appropriate wrapper object.
2732
2733           For this reason, JSEventListener::jsFunction() cannot do the null
2734           check on m_wrapper until after the call to initializeJSFunction.
2735
2736           This, in turns, means that in the case of the non-lazy
2737           JSEventListener, initializeJSFunction() will also be called, and
2738           if the GC has collected the m_wrapper but the JSEventListener has
2739           not been removed yet, it is possible to see a null m_wrapper while
2740           m_jsFunction contains a non-zero stale value.
2741
2742           Hence, this assertion of (m_wrapper || !m_jsFunction) in
2743           JSEventListener::initializeJSFunction() is not always true and
2744           should be removed.
2745
2746         (WebCore::JSEventListener::visitJSFunction):
2747         (WebCore::JSEventListener::operator==):
2748         * bindings/js/JSEventListener.h:
2749         (WebCore::JSEventListener::jsFunction):
2750
2751 2012-11-13  Adam Barth  <abarth@webkit.org>
2752
2753         [V8] instantiateV8Object should encapulate the tricky creationContext logic
2754         https://bugs.webkit.org/show_bug.cgi?id=102117
2755
2756         Reviewed by Eric Seidel.
2757
2758         The logic around creationContext is tricky. Rather than putting the
2759         logic in the code generator, we can centralize the logic in
2760         instantiateV8Object.
2761
2762         This patch shouldn't have any behavior change.
2763
2764         * bindings/scripts/CodeGeneratorV8.pm:
2765         (GenerateToV8Converters):
2766         * bindings/v8/V8DOMWrapper.cpp:
2767         (V8WrapperInstantiationScope):
2768         (WebCore::V8WrapperInstantiationScope::V8WrapperInstantiationScope):
2769         (WebCore::V8WrapperInstantiationScope::~V8WrapperInstantiationScope):
2770         (WebCore::V8WrapperInstantiationScope::context):
2771         (WebCore):
2772         (WebCore::V8DOMWrapper::instantiateV8Object):
2773         * bindings/v8/V8DOMWrapper.h:
2774         (V8DOMWrapper):
2775
2776 2012-11-13  Silvia Pfeiffer  <silviapf@chromium.org>
2777
2778         Clean up the inheritance tree under the MediaControls Class.
2779         https://bugs.webkit.org/show_bug.cgi?id=88871
2780
2781         Reviewed by Eric Carlson.
2782
2783         This patch removes code duplication between the Chromium and Safari
2784         media controls shadow DOMs.
2785         This is achieved by pulling common functions that are identical (or
2786         almost identical) between the different platforms into the base class.
2787         The derived classes are renamed based on their platform:
2788         - MediaControlRootElement                to MediaControlsApple.
2789         - MediaControlRootElementChromium        to MediaControlsChromium.
2790         - MediaControlRootElementChromiumAndroid to MediaControlsChromiumAndroid.
2791         MediaControls is now no longer an abstract base class, but its "create"
2792         function is only implemented in the port-specific header file, so it's
2793         on purpose incomplete in the MediaControls.cpp file.
2794
2795         No new tests because this is refactoring work only.
2796
2797         * CMakeLists.txt:
2798           Rename MediaControlRootElement.cpp to MediaControlsApple.cpp .
2799         * GNUmakefile.list.am:
2800           Rename MediaControlRootElement.[cpp,h] to MediaControlsApple.[cpp,h] .
2801         * Target.pri:
2802           Rename MediaControlRootElement.cpp to MediaControlsApple.cpp .
2803         * WebCore.gypi:
2804           Rename MediaControlRootElement[Chromium[Android]].[cpp,h] to MediaControls[Apple,Chromium[Android]].[cpp,h] .
2805         * WebCore.order:
2806           Rename MediaControlRootElement symbols to MediaControlsApple symbols.
2807         * WebCore.vcproj/WebCore.vcproj:
2808           Rename MediaControlRootElement.[cpp,h] to MediaControlsApple.[cpp,h] .
2809         * WebCore.xcodeproj/project.pbxproj:
2810           Rename MediaControlRootElement.[cpp,h] to MediaControlsApple.[cpp,h] .
2811         * html/shadow/MediaControlElements.cpp:
2812         (WebCore::MediaControlTimelineElement::defaultEventHandler):
2813           Remove dependency on MediaControlRootElement.h (base class MediaControls.h is still there).
2814           Rename updateTimeDisplay() to updateCurrentTimeDisplay().
2815         * html/shadow/MediaControls.cpp:
2816         (WebCore::MediaControls::MediaControls):
2817           Added initialization for media elements that all platform controls share.
2818         (WebCore):
2819           Removed include files that are already included in header file.
2820         (WebCore::MediaControls::setMediaController):
2821           Added controller assignment for media elements that all platform controls share.
2822         (WebCore::MediaControls::reset):
2823           Added resets for media elements that all platform controls share.
2824         (WebCore::MediaControls::reportedError):
2825           Added error handling for media elements that all platform controls share.
2826         (WebCore::MediaControls::loadedMetadata):
2827           Added default action for loadedMetadata event.
2828         (WebCore::MediaControls::show):
2829         (WebCore::MediaControls::hide):
2830         (WebCore::MediaControls::makeOpaque):
2831         (WebCore::MediaControls::makeTransparent):
2832         (WebCore::MediaControls::shouldHideControls):
2833         (WebCore::MediaControls::bufferingProgressed):
2834         (WebCore::MediaControls::playbackStarted):
2835         (WebCore::MediaControls::playbackProgressed):
2836         (WebCore::MediaControls::playbackStopped):
2837         (WebCore::MediaControls::updateCurrentTimeDisplay):
2838         (WebCore::MediaControls::showVolumeSlider):
2839         (WebCore::MediaControls::changedMute):
2840         (WebCore::MediaControls::changedVolume):
2841         (WebCore::MediaControls::changedClosedCaptionsVisibility):
2842         (WebCore::MediaControls::enteredFullscreen):
2843         (WebCore::MediaControls::exitedFullscreen):
2844         (WebCore::MediaControls::defaultEventHandler):
2845         (WebCore::MediaControls::hideFullscreenControlsTimerFired):
2846         (WebCore::MediaControls::startHideFullscreenControlsTimer):
2847         (WebCore::MediaControls::stopHideFullscreenControlsTimer):
2848         (WebCore::MediaControls::shadowPseudoId):
2849         (WebCore::MediaControls::containsRelatedTarget):
2850         (WebCore::MediaControls::createTextTrackDisplay):
2851         (WebCore::MediaControls::showTextTrackDisplay):
2852         (WebCore::MediaControls::hideTextTrackDisplay):
2853         (WebCore::MediaControls::updateTextTrackDisplay):
2854           Added default actions for all these media controls member functions.
2855         * html/shadow/MediaControls.h:
2856         (WebCore):
2857           Added include files and forward class declarations that all media controls share.
2858         (MediaControls):
2859           Make all pure virtual functions that have default implementations just virtual.
2860         (WebCore::MediaControls::updateStatusDisplay):
2861           Add an empty virtual updateStatusDisplay function which is used by media elements.
2862         * html/shadow/MediaControlsApple.cpp: Renamed from Source/WebCore/html/shadow/MediaControlRootElement.cpp.
2863           Reduced Apple-specific media control functions by relying on default implementations in the base class.
2864         * html/shadow/MediaControlsApple.h: Renamed from Source/WebCore/html/shadow/MediaControlRootElement.h.
2865           Reduced Apple-specific media control elements by relying on some elements in the base class.
2866         * html/shadow/MediaControlsChromium.cpp: Renamed from Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp.
2867           Reduced Chromium-specific media control functions by relying on default implementations in the base class.
2868         * html/shadow/MediaControlsChromium.h: Renamed from Source/WebCore/html/shadow/MediaControlRootElementChromium.h.
2869           Reduced Chromium-specific media control functions by relying on default implementations in the base class.
2870         * html/shadow/MediaControlsChromiumAndroid.cpp: Renamed from Source/WebCore/html/shadow/MediaControlRootElementChromiumAndroid.cpp.
2871           Renamed class name and base class name.
2872         * html/shadow/MediaControlsChromiumAndroid.h: Renamed from Source/WebCore/html/shadow/MediaControlRootElementChromiumAndroid.h.
2873           Renamed class name and base class name.
2874         * rendering/RenderTheme.h:
2875         (WebCore::RenderTheme::timeWithoutMouseMovementBeforeHidingControls):
2876           Moved timeWithoutMouseMovementBeforeHidingControls variable from all classes to a theme-specific function.
2877
2878 2012-11-13  Benjamin Poulain  <benjamin@webkit.org>
2879
2880         CSSParser::setStyleSheet() should be inline
2881         https://bugs.webkit.org/show_bug.cgi?id=101829
2882
2883         Reviewed by Andreas Kling.
2884
2885         * css/CSSParser.cpp:
2886         * css/CSSParser.h:
2887         (WebCore::CSSParser::setStyleSheet):
2888         CSSParser::setStyleSheet() just assign a pointer, it does not even
2889         change a ref-count. The function should probably be in the header.
2890
2891 2012-11-13  Andrei Bucur  <abucur@adobe.com>
2892
2893         [CSS Regions] Add Region info for RootLineBoxes and pack the pagination data
2894         https://bugs.webkit.org/show_bug.cgi?id=101332
2895
2896         Reviewed by David Hyatt.
2897
2898         Currently the pagination information for lines is spread between the RootInlineBox and InlineFlowBox classes, consuming memory even though
2899         the boxes were not the result of an pagination layout. To overcome this, a new struct (LineFragmentationData) is created that wraps all the data,
2900         including a new member, the containing Region for the line.
2901         The containing Region is used to detect if a line changed the Region where it resides. This will be helpful especially when implementing region
2902         styling for layout properties (e.g. the font-size property https://bugs.webkit.org/show_bug.cgi?id=95559 ).
2903         A line can change the region when it is shifted inside the containing block or if the entire block moves. This means it's better to delegate
2904         the task of updating the containing Region to the block.
2905
2906         Tests: No new tests because there is no functional change.
2907
2908         * rendering/InlineFlowBox.cpp:
2909         (SameSizeAsInlineFlowBox):
2910         * rendering/InlineFlowBox.h:
2911         (WebCore::InlineFlowBox::InlineFlowBox):
2912         (InlineFlowBox):
2913         * rendering/RenderBlock.cpp:
2914         (WebCore::RenderBlock::lineWidthForPaginatedLineChanged):
2915         * rendering/RenderBlockLineLayout.cpp:
2916         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
2917         (WebCore::RenderBlock::linkToEndLineIfNeeded):
2918         (WebCore::RenderBlock::determineStartPosition):
2919         * rendering/RootInlineBox.cpp:
2920         (WebCore::RootInlineBox::RootInlineBox):
2921         (WebCore::RootInlineBox::setContainingRegion):
2922         (WebCore):
2923         * rendering/RootInlineBox.h:
2924         (WebCore):
2925         (WebCore::RootInlineBox::paginationStrut):
2926         (WebCore::RootInlineBox::setPaginationStrut):
2927         (WebCore::RootInlineBox::isFirstAfterPageBreak):
2928         (WebCore::RootInlineBox::setIsFirstAfterPageBreak):
2929         (WebCore::RootInlineBox::paginatedLineWidth):
2930         (WebCore::RootInlineBox::setPaginatedLineWidth):
2931         (RootInlineBox):
2932         (WebCore::RootInlineBox::containingRegion):
2933         (WebCore::RootInlineBox::ensureLineFragmentationData):
2934         (LineFragmentationData):
2935         (WebCore::RootInlineBox::LineFragmentationData::LineFragmentationData):
2936
2937 2012-11-13  Milian Wolff  <milian.wolff@kdab.com>
2938
2939         [Qt] QNX build fails due to signature change in gl2.h header (glShaderSource)
2940         https://bugs.webkit.org/show_bug.cgi?id=98038
2941
2942         Reviewed by Simon Hausmann.
2943
2944         Cast the function to the expected type, just like it is done on non-Qt/OpenGL2 ES platforms.
2945
2946         * platform/graphics/OpenGLShims.cpp:
2947         (WebCore):
2948
2949 2012-11-13  Chris Fleizach  <cfleizach@apple.com>
2950
2951         WebKit exposes ARIA rowheader role as AXUnknown when not contained in table/grid
2952         https://bugs.webkit.org/show_bug.cgi?id=101616
2953
2954         Reviewed by Beth Dakin.
2955
2956         If the rowheader role is exposed because the element is not within a table, the mac platform
2957         should map that to a generic group.
2958
2959         Test: platform/mac/accessibility/rowheader-outside-table-role.html
2960
2961         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2962         (createAccessibilityRoleMap):
2963
2964 2012-11-13  Stephen White  <senorblanco@chromium.org>
2965
2966         [Chromium] Fix SkImageFilter DAG path to pass all css3/filters tests
2967         https://bugs.webkit.org/show_bug.cgi?id=101952
2968
2969         Reviewed by James Robinson.
2970
2971         With these changes, all of the css3/filters tests pass when the
2972         if-test in GraphicsLayerChromium::setFilters() is forced true (for
2973         now, it remains true only if there's a reference filter in the chain).
2974
2975         Covered by the css3/filters tests (when the switch is thrown in
2976         GraphicsLayerChromium::setFilters()).
2977
2978         * WebCore.gypi:
2979         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2980         Drop to software rendering if there's a custom filter in the chain.
2981         This is the same as the WebFilterOperations path is doing.
2982         * platform/graphics/filters/skia/DropShadowImageFilter.cpp: Added.
2983         * platform/graphics/filters/skia/DropShadowImageFilter.h: Added.
2984         New implementation of drop-shadow filter; equivalent to
2985         the path in cc/render_surface_filters.cc.
2986         * platform/graphics/filters/skia/SkiaImageFilterBuilder.cpp:
2987         Fix the sepia and grayscale filters (value was inverted).
2988
2989 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2990
2991         Unreviewed, rolling out r134442.
2992         http://trac.webkit.org/changeset/134442
2993         https://bugs.webkit.org/show_bug.cgi?id=102111
2994
2995         Does not compile on apple-mac (Requested by abarth on
2996         #webkit).
2997
2998         * CMakeLists.txt:
2999         * GNUmakefile.list.am:
3000         * Target.pri:
3001         * WebCore.gypi:
3002         * WebCore.vcproj/WebCore.vcproj:
3003         * WebCore.xcodeproj/project.pbxproj:
3004         * css/CSSCursorImageValue.cpp:
3005         (WebCore::CSSCursorImageValue::cachedImage):
3006         * css/CSSFontFaceSrcValue.cpp:
3007         (WebCore::CSSFontFaceSrcValue::cachedFont):
3008         * css/CSSImageSetValue.cpp:
3009         (WebCore::CSSImageSetValue::cachedImageSet):
3010         * css/CSSImageValue.cpp:
3011         (WebCore::CSSImageValue::cachedImage):
3012         * css/CSSImageValue.h:
3013         (WebCore):
3014         (CSSImageValue):
3015         * css/StyleResolver.cpp:
3016         (WebCore::StyleResolver::loadPendingImage):
3017         * css/StyleRuleImport.cpp:
3018         (WebCore::StyleRuleImport::requestStyleSheet):
3019         * css/WebKitCSSSVGDocumentValue.cpp:
3020         (WebCore::WebKitCSSSVGDocumentValue::load):
3021         * css/WebKitCSSShaderValue.cpp:
3022         (WebCore::WebKitCSSShaderValue::cachedShader):
3023         * dom/ScriptElement.cpp:
3024         (WebCore::ScriptElement::requestScript):
3025         * html/HTMLLinkElement.cpp:
3026         (WebCore::HTMLLinkElement::process):
3027         * html/parser/CSSPreloadScanner.cpp:
3028         (WebCore::CSSPreloadScanner::emitRule):
3029         * html/parser/CSSPreloadScanner.h:
3030         (CSSPreloadScanner):
3031         * html/parser/HTMLPreloadScanner.cpp:
3032         (WebCore::PreloadTask::preload):
3033         * loader/ImageLoader.cpp:
3034         (WebCore::ImageLoader::updateFromElement):
3035         * loader/cache/CachedResourceLoader.cpp:
3036         (WebCore::CachedResourceLoader::requestImage):
3037         (WebCore::CachedResourceLoader::requestResource):
3038         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
3039         (WebCore):
3040         (WebCore::CachedResourceLoader::preload):
3041         * loader/cache/CachedResourceLoader.h:
3042         (WebCore):
3043         (CachedResourceLoader):
3044         * loader/cache/CachedResourceRequest.cpp:
3045         (WebCore::CachedResourceRequest::CachedResourceRequest):
3046         * loader/cache/CachedResourceRequest.h:
3047         (CachedResourceRequest):
3048         (WebCore::CachedResourceRequest::defer):
3049         (WebCore::CachedResourceRequest::setDefer):
3050         * loader/cache/CachedResourceRequestInitiators.cpp: Removed.
3051         * loader/cache/CachedResourceRequestInitiators.h: Removed.
3052         * loader/icon/IconLoader.cpp:
3053         (WebCore::IconLoader::startLoading):
3054         * platform/ThreadGlobalData.cpp:
3055         (WebCore::ThreadGlobalData::ThreadGlobalData):
3056         * platform/ThreadGlobalData.h:
3057         (ThreadGlobalData):
3058         * svg/SVGFEImageElement.cpp:
3059         (WebCore::SVGFEImageElement::requestImageResource):
3060         * svg/SVGFontFaceUriElement.cpp:
3061         (WebCore::SVGFontFaceUriElement::loadFont):
3062         * svg/SVGUseElement.cpp:
3063         (WebCore::SVGUseElement::svgAttributeChanged):
3064
3065 2012-11-13  Chris Fleizach  <cfleizach@apple.com>
3066
3067         AX: file upload input text value is not exposed through accessibility
3068         https://bugs.webkit.org/show_bug.cgi?id=100583
3069
3070         Reviewed by Beth Dakin.
3071
3072         This is a hard problem to solve on the Mac because there are three pieces of information
3073              1) The type of button 2) The text on the button 3) The text for the value.
3074         I think the best compromise is to label this as a file upload button type in the role description, 
3075         and then expose the file path text as the AXTitle. 
3076         This will give the more relevant information and should be clear what is happening.
3077
3078         Test: platform/mac/accessibility/file-upload-button-subrole.html
3079
3080         * English.lproj/Localizable.strings:
3081         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
3082         (-[WebAccessibilityObjectWrapper subrole]):
3083         (-[WebAccessibilityObjectWrapper roleDescription]):
3084         (-[WebAccessibilityObjectWrapper accessibilityTitle]):
3085         * platform/LocalizedStrings.cpp:
3086         (WebCore::AXFileUploadButtonText):
3087         * platform/LocalizedStrings.h:
3088
3089 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3090
3091         Unreviewed, rolling out r133944.
3092         http://trac.webkit.org/changeset/133944
3093         https://bugs.webkit.org/show_bug.cgi?id=102118
3094
3095         Only JS bindings support NATIVE_TYPE_ERR (Requested by arv on
3096         #webkit).
3097
3098         * bindings/scripts/CodeGeneratorV8.pm:
3099         (GenerateFunctionCallback):
3100         (GenerateParametersCheck):
3101         (GenerateSingleConstructorCallback):
3102         (GenerateNamedConstructorCallback):
3103         (TypeCanFailConversion):
3104         * dom/Element.cpp:
3105         (WebCore::Element::setAttributeNode):
3106         (WebCore::Element::removeAttributeNode):
3107         * dom/Element.idl:
3108
3109 2012-11-13  Adam Barth  <abarth@webkit.org>
3110
3111         Unreviewed.
3112
3113         Update run-bindings-tests results.
3114
3115         * bindings/scripts/test/V8/V8Float64Array.cpp:
3116         (WebCore::V8Float64Array::dispatchWrapCustom):
3117         (WebCore::V8Float64Array::wrapSlow):
3118         * bindings/scripts/test/V8/V8Float64Array.h:
3119         (WebCore::V8Float64Array::toNative):
3120         (V8Float64Array):
3121         (WebCore):
3122         (WebCore::dispatchWrap):
3123         (WebCore::toV8Object):
3124         (WebCore::toV8):
3125         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3126         (WebCore::V8TestActiveDOMObject::wrapSlow):
3127         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3128         (WebCore::V8TestActiveDOMObject::toNative):
3129         (V8TestActiveDOMObject):
3130         (WebCore):
3131         (WebCore::dispatchWrap):
3132         (WebCore::toV8Object):
3133         (WebCore::toV8):
3134         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3135         (WebCore::V8TestCustomNamedGetter::wrapSlow):
3136         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3137         (WebCore::V8TestCustomNamedGetter::toNative):
3138         (V8TestCustomNamedGetter):
3139         (WebCore):
3140         (WebCore::dispatchWrap):
3141         (WebCore::toV8Object):
3142         (WebCore::toV8):
3143         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3144         (WebCore::V8TestEventConstructor::wrapSlow):
3145         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3146         (WebCore::V8TestEventConstructor::toNative):
3147         (V8TestEventConstructor):
3148         (WebCore):
3149         (WebCore::dispatchWrap):
3150         (WebCore::toV8Object):
3151         (WebCore::toV8):
3152         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3153         (WebCore::V8TestEventTarget::wrapSlow):
3154         * bindings/scripts/test/V8/V8TestEventTarget.h:
3155         (WebCore::V8TestEventTarget::toNative):
3156         (V8TestEventTarget):
3157         (WebCore):
3158         (WebCore::dispatchWrap):
3159         (WebCore::toV8Object):
3160         (WebCore::toV8):
3161         * bindings/scripts/test/V8/V8TestException.cpp:
3162         (WebCore::V8TestException::wrapSlow):
3163         * bindings/scripts/test/V8/V8TestException.h:
3164         (WebCore::V8TestException::toNative):
3165         (V8TestException):
3166         (WebCore):
3167         (WebCore::dispatchWrap):
3168         (WebCore::toV8Object):
3169         (WebCore::toV8):
3170         * bindings/scripts/test/V8/V8TestInterface.cpp:
3171         (WebCore::V8TestInterface::wrapSlow):
3172         * bindings/scripts/test/V8/V8TestInterface.h:
3173         (WebCore::V8TestInterface::toNative):
3174         (V8TestInterface):
3175         (WebCore):
3176         (WebCore::dispatchWrap):
3177         (WebCore::toV8Object):
3178         (WebCore::toV8):
3179         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3180         (WebCore::V8TestMediaQueryListListener::wrapSlow):
3181         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3182         (WebCore::V8TestMediaQueryListListener::toNative):
3183         (V8TestMediaQueryListListener):
3184         (WebCore):
3185         (WebCore::dispatchWrap):
3186         (WebCore::toV8Object):
3187         (WebCore::toV8):
3188         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3189         (WebCore::V8TestNamedConstructor::wrapSlow):
3190         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3191         (WebCore::V8TestNamedConstructor::toNative):
3192         (V8TestNamedConstructor):
3193         (WebCore):
3194         (WebCore::dispatchWrap):
3195         (WebCore::toV8Object):
3196         (WebCore::toV8):
3197         * bindings/scripts/test/V8/V8TestNode.cpp:
3198         (WebCore::V8TestNode::wrapSlow):
3199         * bindings/scripts/test/V8/V8TestNode.h:
3200         (WebCore::V8TestNode::toNative):
3201         (V8TestNode):
3202         (WebCore):
3203         (WebCore::dispatchWrap):
3204         (WebCore::toV8Object):
3205         (WebCore::toV8):
3206         (WebCore::toV8Fast):
3207         * bindings/scripts/test/V8/V8TestObj.cpp:
3208         (WebCore::V8TestObj::wrapSlow):
3209         * bindings/scripts/test/V8/V8TestObj.h:
3210         (WebCore::V8TestObj::toNative):
3211         (V8TestObj):
3212         (WebCore):
3213         (WebCore::dispatchWrap):
3214         (WebCore::toV8Object):
3215         (WebCore::toV8):
3216         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3217         (WebCore::V8TestOverloadedConstructors::wrapSlow):
3218         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
3219         (WebCore::V8TestOverloadedConstructors::toNative):
3220         (V8TestOverloadedConstructors):
3221         (WebCore):
3222         (WebCore::dispatchWrap):
3223         (WebCore::toV8Object):
3224         (WebCore::toV8):
3225         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3226         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
3227         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3228         (WebCore::V8TestSerializedScriptValueInterface::toNative):
3229         (V8TestSerializedScriptValueInterface):
3230         (WebCore):
3231         (WebCore::dispatchWrap):
3232         (WebCore::toV8Object):
3233         (WebCore::toV8):
3234
3235 2012-11-13  Adam Barth  <abarth@webkit.org>
3236
3237         Unreviewed.
3238
3239         Speculative build fix for Qt.
3240
3241         * dom/make_names.pl:
3242         (printWrapperFactoryCppFile):
3243
3244 2012-11-13  Sami Kyostila  <skyostil@chromium.org>
3245
3246         Allow painting outside overflow clip in accelerated scrolling layers
3247         https://bugs.webkit.org/show_bug.cgi?id=100524
3248
3249         Reviewed by Simon Fraser.
3250
3251         In preparation for avoiding repaints when scrolling child layers, make it
3252         possible to paint outside the overflow clip.
3253
3254         Test: compositing/overflow/updating-scrolling-content.html
3255
3256         * rendering/LayoutState.h:
3257         (LayoutState):
3258         * rendering/RenderBlock.cpp:
3259         (WebCore::RenderBlock::paint):
3260         * rendering/RenderBox.cpp:
3261         (WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
3262         * rendering/RenderLayer.cpp:
3263         (WebCore::RenderLayer::repaintBlockSelectionGaps):
3264
3265 2012-11-13  Patrick Gansterer  <paroga@webkit.org>
3266
3267         Port SimpleFontDataWin.cpp to WinCE
3268         https://bugs.webkit.org/show_bug.cgi?id=97889
3269
3270         Reviewed by Brent Fulgham.
3271
3272         Add #if !OS(WINCE) around some parts of the code, so it can be used by the WinCE port too in a next step.
3273         Also cleaned up the include headers.
3274
3275         * platform/graphics/win/SimpleFontDataWin.cpp:
3276         (WebCore::SimpleFontData::initGDIFont):
3277         (WebCore::SimpleFontData::platformDestroy):
3278         (WebCore::SimpleFontData::boundsForGDIGlyph):
3279         (WebCore):
3280         (WebCore::SimpleFontData::widthForGDIGlyph):
3281
3282 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
3283
3284         Web Inspector: [Chromium] move spectrum.css into the standalone css files group.
3285
3286         Not reviewed: moved css file in gypi.
3287
3288         * WebCore.gypi:
3289
3290 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
3291
3292         Unreviewed, rolling out r134434.
3293         http://trac.webkit.org/changeset/134434
3294         https://bugs.webkit.org/show_bug.cgi?id=102072
3295
3296         The test that was added asserts in loader.
3297
3298         * loader/FrameLoader.cpp:
3299         (WebCore::createWindow):
3300         * page/DOMWindow.cpp:
3301         (WebCore):
3302         (WebCore::DOMWindow::adjustWindowRect):
3303         (WebCore::DOMWindow::moveBy):
3304         (WebCore::DOMWindow::moveTo):
3305         (WebCore::DOMWindow::resizeBy):
3306         (WebCore::DOMWindow::resizeTo):
3307         (WebCore::DOMWindow::open):
3308         (WebCore::DOMWindow::showModalDialog):
3309         * page/DOMWindow.h:
3310         (DOMWindow):
3311
3312 2012-11-13  Dan Carney  <dcarney@google.com>
3313
3314         [V8] More efficient wrapper dispatch
3315         https://bugs.webkit.org/show_bug.cgi?id=102082
3316
3317         Reviewed by Adam Barth.
3318
3319         Dispatching a call to V8Whatever::wrap involved a chain
3320         of calls, each of which checked its wrapper cache.
3321         This refactor gives calls only 2 choices of functions to call:
3322         toV8 and toV8Object instead of wrap. wrap has been renamed to
3323         dispatchWrap and no longer contains cache checks.
3324         Additionally, classes which require a custom toV8 function
3325         have had all wrapping and caching calls removed, as they could
3326         not have been accessed.
3327
3328         No new tests. Sufficiently covered.
3329
3330         * Modules/indexeddb/IDBAny.idl:
3331         * Modules/indexeddb/IDBKey.idl:
3332         * WebCore.gypi:
3333         * bindings/scripts/CodeGeneratorV8.pm:
3334         (GenerateHeader):
3335         (GenerateNormalAttrGetter):
3336         (GenerateImplementation):
3337         (GenerateToV8Converters):
3338         * bindings/scripts/IDLAttributes.txt:
3339         * bindings/v8/SerializedScriptValue.cpp:
3340         * bindings/v8/custom/V8BlobCustom.cpp:
3341         (WebCore::V8Blob::dispatchWrapCustom):
3342         * bindings/v8/custom/V8CSSRuleCustom.cpp:
3343         (WebCore::V8CSSRule::dispatchWrapCustom):
3344         * bindings/v8/custom/V8CSSValueCustom.cpp:
3345         (WebCore::V8CSSValue::dispatchWrapCustom):
3346         * bindings/v8/custom/V8CanvasRenderingContextCustom.cpp:
3347         (WebCore::V8CanvasRenderingContext::dispatchWrapCustom):
3348         * bindings/v8/custom/V8DataViewCustom.cpp:
3349         (WebCore):
3350         (WebCore::V8DataView::dispatchWrapCustom):
3351         * bindings/v8/custom/V8DocumentCustom.cpp:
3352         (WebCore::V8Document::dispatchWrapCustom):
3353         * bindings/v8/custom/V8ElementCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8PerformanceEntryCustom.cpp.
3354         (WebCore):
3355         (WebCore::V8Element::dispatchWrapCustom):
3356         * bindings/v8/custom/V8EntryCustom.cpp:
3357         (WebCore::V8Entry::dispatchWrapCustom):
3358         * bindings/v8/custom/V8EntrySyncCustom.cpp:
3359         (WebCore::V8EntrySync::dispatchWrapCustom):
3360         * bindings/v8/custom/V8EventCustom.cpp:
3361         (WebCore):
3362         (WebCore::V8Event::dispatchWrapCustom):
3363         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3364         (WebCore::V8HTMLCollection::dispatchWrapCustom):
3365         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3366         (WebCore::V8HTMLDocument::dispatchWrapCustom):
3367         * bindings/v8/custom/V8HTMLElementCustom.cpp:
3368         (WebCore::V8HTMLElement::dispatchWrapCustom):
3369         * bindings/v8/custom/V8ImageDataCustom.cpp:
3370         (WebCore::V8ImageData::dispatchWrapCustom):
3371         * bindings/v8/custom/V8NodeCustom.cpp:
3372         (WebCore::V8Node::dispatchWrapCustom):
3373         * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
3374         (WebCore::V8PerformanceEntry::dispatchWrapCustom):
3375         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
3376         (WebCore::V8SVGDocument::dispatchWrapCustom):
3377         * bindings/v8/custom/V8SVGElementCustom.cpp:
3378         (WebCore::V8SVGElement::dispatchWrapCustom):
3379         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
3380         (WebCore::V8SVGPathSeg::dispatchWrapCustom):
3381         * bindings/v8/custom/V8StyleSheetCustom.cpp:
3382         (WebCore::V8StyleSheet::dispatchWrapCustom):
3383         * dom/Element.idl:
3384         * dom/make_names.pl:
3385         (printWrapperFunctions):
3386         (printWrapperFactoryCppFile):
3387         (printWrapperFactoryHeaderFile):
3388         * html/MicroDataItemValue.idl:
3389         * inspector/ScriptProfile.idl:
3390         * inspector/ScriptProfileNode.idl:
3391         * page/DOMWindow.idl:
3392         * workers/WorkerContext.idl:
3393
3394 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
3395
3396         Unreviewed, rolling out r134367.
3397         http://trac.webkit.org/changeset/134367
3398         https://bugs.webkit.org/show_bug.cgi?id=100738
3399
3400         Speculative rollout, could have cause Dromaeo setAttribute
3401         perf regression.
3402
3403         * dom/Element.cpp:
3404         (WebCore::Element::attributeChanged):
3405         (WebCore::checkNeedsStyleInvalidationForClassChange):
3406         (WebCore::Element::classAttributeChanged):
3407
3408 2012-11-13  Marja Hölttä  <marja@chromium.org>
3409
3410         Add initiator to CachedResourceRequest.
3411         https://bugs.webkit.org/show_bug.cgi?id=101935
3412
3413         Reviewed by Adam Barth.
3414
3415         Motivation: Chromium needs to know which elements request a
3416         resource (such as an image or a script) (bug 92761). In addition,
3417         for exposing resource timing information (bug 84883) we need to
3418         store the initiator, and this is the first step towards it.
3419
3420         No new tests: No visible change in behavior.
3421
3422         * CMakeLists.txt:
3423         * GNUmakefile.list.am:
3424         * Target.pri:
3425         * WebCore.gypi:
3426         * WebCore.vcproj/WebCore.vcproj:
3427         * WebCore.xcodeproj/project.pbxproj:
3428         * css/CSSCrossfadeValue.cpp:
3429         (WebCore::cachedImageForCSSValue):
3430         * css/CSSCursorImageValue.cpp:
3431         (WebCore::CSSCursorImageValue::cachedImage):
3432         * css/CSSFontFaceSrcValue.cpp:
3433         (WebCore::CSSFontFaceSrcValue::cachedFont):
3434         * css/CSSImageSetValue.cpp:
3435         (WebCore::CSSImageSetValue::cachedImageSet):
3436         * css/CSSImageValue.cpp:
3437         (WebCore::CSSImageValue::cachedImage):
3438         * css/CSSImageValue.h:
3439         (WebCore):
3440         (CSSImageValue):
3441         * css/StyleResolver.cpp:
3442         (WebCore::StyleResolver::loadPendingImage):
3443         * css/StyleRuleImport.cpp:
3444         (WebCore::StyleRuleImport::requestStyleSheet):
3445         * css/WebKitCSSSVGDocumentValue.cpp:
3446         (WebCore::WebKitCSSSVGDocumentValue::load):
3447         * css/WebKitCSSShaderValue.cpp:
3448         (WebCore::WebKitCSSShaderValue::cachedShader):
3449         * dom/ScriptElement.cpp:
3450         (WebCore::ScriptElement::requestScript):
3451         * html/HTMLLinkElement.cpp:
3452         (WebCore::HTMLLinkElement::process):
3453         * html/parser/CSSPreloadScanner.cpp:
3454         (WebCore::CSSPreloadScanner::emitRule):
3455         * html/parser/CSSPreloadScanner.h:
3456         (CSSPreloadScanner):
3457         * html/parser/HTMLPreloadScanner.cpp:
3458         (WebCore::PreloadTask::preload):
3459         * loader/ImageLoader.cpp:
3460         (WebCore::ImageLoader::updateFromElement):
3461         * loader/cache/CachedResourceLoader.cpp:
3462         (WebCore::CachedResourceLoader::requestImage):
3463         (WebCore::CachedResourceLoader::requestResource):
3464         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
3465         (WebCore):
3466         (WebCore::CachedResourceLoader::preload):
3467         * loader/cache/CachedResourceLoader.h:
3468         (WebCore):
3469         (CachedResourceLoader):
3470         * loader/cache/CachedResourceRequest.cpp:
3471         (WebCore::CachedResourceRequest::CachedResourceRequest):
3472         (WebCore):
3473         (WebCore::CachedResourceRequest::~CachedResourceRequest):
3474         (WebCore::CachedResourceRequest::setInitiator):
3475         (WebCore::CachedResourceRequest::initiatorName):
3476         (WebCore::CachedResourceRequest::initiatorDocument):
3477         (WebCore::CachedResourceRequest::initiatorElement):
3478         * loader/cache/CachedResourceRequest.h:
3479         (WebCore):
3480         (WebCore::CachedResourceRequest::setOptions):
3481         (WebCore::CachedResourceRequest::defer):
3482         (WebCore::CachedResourceRequest::setDefer):
3483         (CachedResourceRequest):
3484         * loader/cache/CachedResourceRequestInitiators.cpp: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.
3485         (WebCore):
3486         (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
3487         * loader/cache/CachedResourceRequestInitiators.h: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.
3488         (WebCore):
3489         (CachedResourceRequestInitiators):
3490         (WebCore::cachedResourceRequestInitiators):
3491         * loader/icon/IconLoader.cpp:
3492         (WebCore::IconLoader::startLoading):
3493         * platform/ThreadGlobalData.cpp:
3494         (WebCore::ThreadGlobalData::ThreadGlobalData):
3495         * platform/ThreadGlobalData.h:
3496         (WebCore):
3497         (WebCore::ThreadGlobalData::cachedResourceRequestInitiators):
3498         (ThreadGlobalData):
3499         * svg/SVGFEImageElement.cpp:
3500         (WebCore::SVGFEImageElement::requestImageResource):
3501         * svg/SVGFontFaceUriElement.cpp:
3502         (WebCore::SVGFontFaceUriElement::loadFont):
3503         * svg/SVGUseElement.cpp:
3504         (WebCore::SVGUseElement::svgAttributeChanged):
3505
3506 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3507
3508         Unreviewed, rolling out r134345.
3509         http://trac.webkit.org/changeset/134345
3510         https://bugs.webkit.org/show_bug.cgi?id=102106
3511
3512         Incomplete support for NATIVE_TYPE_ERR in objc and other
3513         bindings (Requested by jsbell on #webkit).
3514
3515         * Modules/mediastream/MediaConstraintsImpl.cpp:
3516         (WebCore::MediaConstraintsImpl::create):
3517         * Modules/mediastream/MediaStreamTrackList.cpp:
3518         (WebCore::MediaStreamTrackList::add):
3519         (WebCore::MediaStreamTrackList::remove):
3520         * Modules/mediastream/RTCDataChannel.cpp:
3521         (WebCore::RTCDataChannel::setBinaryType):
3522         * Modules/mediastream/RTCIceCandidate.cpp:
3523         (WebCore::RTCIceCandidate::create):
3524         * Modules/mediastream/RTCPeerConnection.cpp:
3525         (WebCore::RTCPeerConnection::parseConfiguration):
3526         (WebCore::RTCPeerConnection::createOffer):
3527         (WebCore::RTCPeerConnection::createAnswer):
3528         (WebCore::RTCPeerConnection::setLocalDescription):
3529         (WebCore::RTCPeerConnection::setRemoteDescription):
3530         (WebCore::RTCPeerConnection::addIceCandidate):
3531         (WebCore::RTCPeerConnection::addStream):
3532         (WebCore::RTCPeerConnection::removeStream):
3533         * Modules/mediastream/RTCSessionDescription.cpp:
3534         (WebCore::RTCSessionDescription::create):
3535         (WebCore::RTCSessionDescription::setType):
3536         * bindings/js/CallbackFunction.cpp:
3537         (WebCore::checkFunctionOnlyCallback):
3538         * bindings/js/JSCustomXPathNSResolver.cpp: