[GTK][AC] Clutter required version up to 1.12
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
2
3         [GTK][AC] Clutter required version up to 1.12
4         https://bugs.webkit.org/show_bug.cgi?id=109037
5
6         Reviewed by Martin Robinson.
7
8         Replace deprecated clutter apis with new ones.
9
10         No new tests, since this patch is minor refactoring.
11
12         * platform/graphics/clutter/GraphicsLayerActor.cpp:
13         (graphicsLayerActorSetAnchorPoint):
14         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
15         (WebCore::idleDestroy):
16         (WebCore::GraphicsLayerClutter::updateSublayerList):
17
18 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
19
20         Move pauseAnimation/pauseTransition from TestRunner to Internals
21         https://bugs.webkit.org/show_bug.cgi?id=109107
22
23         Reviewed by Anders Carlsson.
24
25         Tests: animations/animation-internals-api-multiple-keyframes.html
26                animations/animation-internals-api.html
27
28         * testing/Internals.cpp:
29         (WebCore::Internals::pauseAnimationAtTimeOnElement):
30         (WebCore):
31         (WebCore::Internals::pauseTransitionAtTimeOnElement):
32         * testing/Internals.h:
33         (Internals):
34         * testing/Internals.idl:
35
36 2013-02-07  Gavin Peters  <gavinp@chromium.org>
37
38         Unreviewed, rolling out r142155.
39         http://trac.webkit.org/changeset/142155
40         https://bugs.webkit.org/show_bug.cgi?id=82888
41
42         cr/win build broke.
43
44         * bindings/js/JSClipboardCustom.cpp:
45         (WebCore::JSClipboard::types):
46         * bindings/v8/custom/V8ClipboardCustom.cpp:
47         (WebCore::V8Clipboard::typesAccessorGetter):
48         * dom/Clipboard.h:
49         (Clipboard):
50         * platform/blackberry/ClipboardBlackBerry.cpp:
51         (WebCore::ClipboardBlackBerry::types):
52         * platform/blackberry/ClipboardBlackBerry.h:
53         (ClipboardBlackBerry):
54         * platform/chromium/ChromiumDataObject.cpp:
55         (WebCore::ChromiumDataObject::types):
56         * platform/chromium/ChromiumDataObject.h:
57         (ChromiumDataObject):
58         * platform/chromium/ClipboardChromium.cpp:
59         (WebCore::ClipboardChromium::types):
60         * platform/chromium/ClipboardChromium.h:
61         (ClipboardChromium):
62         * platform/efl/ClipboardEfl.cpp:
63         (WebCore::ClipboardEfl::types):
64         * platform/efl/ClipboardEfl.h:
65         (ClipboardEfl):
66         * platform/gtk/ClipboardGtk.cpp:
67         (WebCore::ClipboardGtk::types):
68         * platform/gtk/ClipboardGtk.h:
69         (ClipboardGtk):
70         * platform/mac/ClipboardMac.h:
71         (ClipboardMac):
72         * platform/mac/ClipboardMac.mm:
73         (WebCore::addHTMLClipboardTypesForCocoaType):
74         (WebCore::ClipboardMac::types):
75         * platform/qt/ClipboardQt.cpp:
76         (WebCore::ClipboardQt::types):
77         * platform/qt/ClipboardQt.h:
78         (ClipboardQt):
79         * platform/win/ClipboardWin.cpp:
80         (WebCore::addMimeTypesForFormat):
81         (WebCore::ClipboardWin::types):
82         * platform/win/ClipboardWin.h:
83         (ClipboardWin):
84
85 2013-02-07  Rik Cabanier  <cabanier@adobe.com>
86
87         Add support for parsing of -webkit-background-blend-mode
88         https://bugs.webkit.org/show_bug.cgi?id=108547
89
90         Reviewed by David Hyatt.
91
92         Added parsing and general CSS handling of -webkit-background-blend-mode per 
93         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#background-blend-mode
94
95         Tests: css3/compositing/background-blend-mode-property-parsing.html
96                css3/compositing/background-blend-mode-property.html
97
98         * css/CSSComputedStyleDeclaration.cpp: Built value for getComputedStyle.
99         (WebCore):
100         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
101         * css/CSSParser.cpp: Parsed and stored value of -webkit-background-blend-mode.
102         (WebCore::CSSParser::parseValue):
103         (WebCore::CSSParser::parseFillProperty):
104         * css/CSSProperty.cpp: Listed -webkit-background-blend-mode as a non-inherited property.
105         (WebCore::CSSProperty::isInheritedProperty):
106         * css/CSSPropertyNames.in: Added -webkit-background-blend-mode as a CSS property.
107         * css/CSSToStyleMap.cpp: Mapped background blend mode from CSS value to enum.
108         (WebCore::CSSToStyleMap::mapFillBlendMode):
109         (WebCore):
110         * css/CSSToStyleMap.h: Added function declaration 'mapFillBlendMode'.
111         (CSSToStyleMap):
112         * css/StyleBuilder.cpp: Set up propery handler for -webkit-background-blend-mode.
113         (WebCore::StyleBuilder::StyleBuilder):
114         * rendering/style/FillLayer.cpp: Added code to store and retrieve the blend mode from a layer.
115         (WebCore::FillLayer::FillLayer):
116         (WebCore::FillLayer::operator=):
117         (WebCore::FillLayer::operator==):
118         (WebCore::FillLayer::fillUnsetProperties):
119         * rendering/style/FillLayer.h: Added function definitions to manage blend mode in a layer.
120         (WebCore::FillLayer::blendMode):
121         (WebCore::FillLayer::isBlendModeSet):
122         (WebCore::FillLayer::setBlendMode):
123         (WebCore::FillLayer::clearBlendMode):
124         (WebCore::FillLayer::initialFillBlendMode):
125         (FillLayer):
126
127 2013-02-07  Gavin Peters  <gavinp@chromium.org>
128
129         Unreviewed, rolling out r142142.
130         http://trac.webkit.org/changeset/142142
131         https://bugs.webkit.org/show_bug.cgi?id=109154
132
133         Mac expectations were not right. See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
134
135
136         * inspector/front-end/DefaultTextEditor.js:
137         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
138
139 2013-02-07  Gavin Peters  <gavinp@chromium.org>
140
141         Unreviewed, rolling out r142081.
142         http://trac.webkit.org/changeset/142081
143         https://bugs.webkit.org/show_bug.cgi?id=109146
144
145         The patch caused a crash in inspector-protocol/nmi-webaudio*.html .
146
147         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio-leak-test.html and http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=inspector-protocol%2Fnmi-webaudio.html .
148
149         * dom/WebCoreMemoryInstrumentation.cpp:
150         (WebCore):
151         * inspector/front-end/NativeMemorySnapshotView.js:
152         (WebInspector.MemoryBlockViewProperties._initialize):
153         * platform/PlatformMemoryInstrumentation.cpp:
154         (WebCore):
155
156 2013-02-07  Bear Travis  <betravis@adobe.com>
157
158         [CSS Exclusions] shape-inside does not properly handle padding or border
159         https://bugs.webkit.org/show_bug.cgi?id=102715
160
161         Reviewed by David Hyatt.
162
163         This patch positions the exclusion shape based on the value of the css box sizing
164         property. Geometry calculations happen in the shape coordinate space. For layout,
165         these coordinates are translated to the border-box coordinate system by adding
166         the appropriate offsets.
167
168         Test: fast/exclusions/shape-inside/shape-inside-box-sizing.html
169
170         * rendering/ExclusionShapeInfo.cpp:
171         (WebCore::::computedShape): Pass m_shapeLogicalWidth to the exclusion shape
172         geometry code.
173         * rendering/ExclusionShapeInfo.h:
174         (WebCore::ExclusionShapeInfo::setShapeSize): Adjust block layout dimensions to
175         shape dimensions when checking to see if the shape geometry must be recalculated.
176         (WebCore::ExclusionShapeInfo::shapeLogicalTop): Account for layout offsets.
177         (WebCore::ExclusionShapeInfo::shapeLogicalBottom): Ditto.
178         (WebCore::ExclusionShapeInfo::shapeLogicalLeft): Ditto.
179         (WebCore::ExclusionShapeInfo::shapeLogicalRight): Ditto.
180         (WebCore::ExclusionShapeInfo::logicalTopOffset): Return the offset from the logical
181         top of the border box to the logical top of the shape.
182         (WebCore::ExclusionShapeInfo::logicalLeftOffset): Return the offset from the logical
183         left of the border box to the logical left of the shape.
184         (ExclusionShapeInfo):
185         * rendering/ExclusionShapeInsideInfo.cpp:
186         (WebCore::ExclusionShapeInsideInfo::computeSegmentsForLine): Adjust line top to
187         be in shape coordinates.
188         (WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop): Ditto.
189         * rendering/ExclusionShapeInsideInfo.h:
190         (WebCore::ExclusionShapeInsideInfo::lineOverlapsShapeBounds): Use consistent
191         coordinate system (border box) to test for whether a line overlaps a shape.
192         (WebCore::ExclusionShapeInsideInfo::logicalLineTop): Include the logical offset
193         from the border box.
194         (WebCore::ExclusionShapeInsideInfo::logicalLineBottom): Ditto.
195
196 2013-02-07  Benjamin Poulain  <bpoulain@apple.com>
197
198         Upstream iOS isWebThread() and isUIThread()
199         https://bugs.webkit.org/show_bug.cgi?id=109130
200
201         Reviewed by Sam Weinig.
202
203         * bindings/objc/WebScriptObject.mm:
204         (+[WebScriptObject initialize]):
205         * platform/mac/SharedBufferMac.mm:
206         (+[WebCoreSharedBufferData initialize]):
207         #ifdef out the legacy initialization as it is not correct when
208         using a WebThread.
209
210 2013-02-07  Vivek Galatage  <vivek.vg@samsung.com>
211
212         Web Inspector: CPU pegged when inspecting LocalStorage that mutates.
213         https://bugs.webkit.org/show_bug.cgi?id=107937
214
215         Reviewed by Yury Semikhatsky.
216
217         The DOM storage agent will fire an event to the frontend based on the action
218         performed on the storage. Based on this action, the front-end will just add/update/remove
219         the entry in the view. This enhances the front-end responsiveness as the round trip
220         for fetching the storage entries has been eliminated.
221
222         Existing test: LayoutTests/inspector/storage-panel-dom-storage-update.html should verify the change
223
224         * inspector/Inspector.json:
225         * inspector/InspectorDOMStorageAgent.cpp:
226         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
227         * inspector/front-end/DOMStorage.js:
228         (WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
229         (WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
230         (WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
231         (WebInspector.DOMStorageModel.prototype._domStorageItemUpdated):
232         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemsCleared):
233         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemRemoved):
234         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemAdded):
235         (WebInspector.DOMStorageDispatcher.prototype.domStorageItemUpdated):
236         * inspector/front-end/DOMStorageItemsView.js:
237         (WebInspector.DOMStorageItemsView):
238         (WebInspector.DOMStorageItemsView.prototype.wasShown):
239         (WebInspector.DOMStorageItemsView.prototype._domStorageItemsCleared):
240         (WebInspector.DOMStorageItemsView.prototype._domStorageItemRemoved):
241         (WebInspector.DOMStorageItemsView.prototype._domStorageItemAdded):
242         (WebInspector.DOMStorageItemsView.prototype._domStorageItemUpdated):
243         (WebInspector.DOMStorageItemsView.prototype._update):
244         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
245         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
246         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
247         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
248         * inspector/front-end/ResourcesPanel.js:
249         (WebInspector.ResourcesPanel):
250         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
251         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
252
253 2013-02-07  Dan Carney  <dcarney@google.com>
254
255         [v8] move persistent::new and ::dispose into same class
256         https://bugs.webkit.org/show_bug.cgi?id=109065
257
258         Reviewed by Adam Barth.
259
260         No new tests. No change in functionality.
261
262         * bindings/scripts/CodeGeneratorV8.pm:
263         (GenerateSingleConstructorCallback):
264         (GenerateEventConstructorCallback):
265         (GenerateNamedConstructorCallback):
266         (GenerateToV8Converters):
267         * bindings/scripts/test/V8/V8Float64Array.cpp:
268         (WebCore::V8Float64Array::createWrapper):
269         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
270         (WebCore::V8TestActiveDOMObject::createWrapper):
271         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
272         (WebCore::V8TestCustomNamedGetter::createWrapper):
273         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
274         (WebCore::V8TestEventConstructor::constructorCallback):
275         (WebCore::V8TestEventConstructor::createWrapper):
276         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
277         (WebCore::V8TestEventTarget::createWrapper):
278         * bindings/scripts/test/V8/V8TestException.cpp:
279         (WebCore::V8TestException::createWrapper):
280         * bindings/scripts/test/V8/V8TestInterface.cpp:
281         (WebCore::V8TestInterface::constructorCallback):
282         (WebCore::V8TestInterface::createWrapper):
283         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
284         (WebCore::V8TestMediaQueryListListener::createWrapper):
285         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
286         (WebCore::V8TestNamedConstructorConstructorCallback):
287         (WebCore::V8TestNamedConstructor::createWrapper):
288         * bindings/scripts/test/V8/V8TestNode.cpp:
289         (WebCore::V8TestNode::constructorCallback):
290         (WebCore::V8TestNode::createWrapper):
291         * bindings/scripts/test/V8/V8TestObj.cpp:
292         (WebCore::V8TestObj::constructorCallback):
293         (WebCore::V8TestObj::createWrapper):
294         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
295         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
296         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
297         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
298         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
299         (WebCore::V8TestOverloadedConstructors::createWrapper):
300         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
301         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
302         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
303         * bindings/v8/DOMDataStore.cpp:
304         * bindings/v8/DOMDataStore.h:
305         (WebCore::DOMDataStore::setWrapper):
306         (DOMDataStore):
307         (WebCore::DOMDataStore::set):
308         (WebCore::DOMDataStore::setWrapperInObject):
309         * bindings/v8/DOMWrapperMap.h:
310         (WebCore::DOMWrapperMap::get):
311         (WebCore::DOMWrapperMap::set):
312         (WebCore::DOMWrapperMap::removeAndDispose):
313         (WebCore::DOMWrapperMap::defaultWeakCallback):
314         * bindings/v8/ScriptWrappable.h:
315         (WebCore::ScriptWrappable::wrapper):
316         (WebCore::ScriptWrappable::setWrapper):
317         (WebCore::ScriptWrappable::reportMemoryUsage):
318         (ScriptWrappable):
319         (WebCore::ScriptWrappable::disposeWrapper):
320         (WebCore::ScriptWrappable::weakCallback):
321         * bindings/v8/V8DOMWindowShell.cpp:
322         (WebCore::V8DOMWindowShell::installDOMWindow):
323         * bindings/v8/V8DOMWrapper.h:
324         (V8DOMWrapper):
325         (WebCore::V8DOMWrapper::associateObjectWithWrapper):
326         * bindings/v8/V8NPObject.cpp:
327         (WebCore::weakNPObjectCallback):
328         (WebCore::createV8ObjectForNPObject):
329         (WebCore::forgetV8ObjectForNPObject):
330         * bindings/v8/WorkerScriptController.cpp:
331         (WebCore::WorkerScriptController::initializeContextIfNeeded):
332         * bindings/v8/WrapperTypeInfo.h:
333         (WebCore):
334         (WrapperConfiguration):
335         (WebCore::WrapperConfiguration::configureWrapper):
336         (WebCore::buildWrapperConfiguration):
337         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
338         (WebCore::V8ArrayBuffer::constructorCallbackCustom):
339         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
340         (WebCore::wrapArrayBufferView):
341         (WebCore::constructWebGLArray):
342         * bindings/v8/custom/V8AudioContextCustom.cpp:
343         (WebCore::V8AudioContext::constructorCallbackCustom):
344         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
345         (WebCore::V8DOMFormData::constructorCallbackCustom):
346         * bindings/v8/custom/V8DataViewCustom.cpp:
347         (WebCore::V8DataView::constructorCallbackCustom):
348         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
349         (WebCore::v8HTMLImageElementConstructorCallback):
350         * bindings/v8/custom/V8IntentCustom.cpp:
351         (WebCore::V8Intent::constructorCallbackCustom):
352         * bindings/v8/custom/V8MessageChannelCustom.cpp:
353         (WebCore::V8MessageChannel::constructorCallbackCustom):
354         * bindings/v8/custom/V8MutationObserverCustom.cpp:
355         (WebCore::V8MutationObserver::constructorCallbackCustom):
356         * bindings/v8/custom/V8WebKitPointCustom.cpp:
357         (WebCore::V8WebKitPoint::constructorCallbackCustom):
358         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
359         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
360
361 2013-02-07  Zan Dobersek  <zdobersek@igalia.com>
362
363         [Autotools] Remove uses of Automake FARSTREAM_(CFLAGS|LIBS) variables, USE_FARSTREAM conditional
364         https://bugs.webkit.org/show_bug.cgi?id=109198
365
366         Reviewed by Martin Robinson.
367
368         * GNUmakefile.am: Remove FARSTREAM_CFLAGS variable, it's not set to anything.
369
370 2013-02-07   Vineet Chaudhary  <rgf748@motorola.com>
371
372         Consider replacing return type of Clipboard::types() from ListHashSet<String> to Vector<String>
373         https://bugs.webkit.org/show_bug.cgi?id=82888
374
375         Reviewed by Kentaro Hara.
376
377         As part of removing custom bindings of types Array Clipboard::types() needs to return
378         Vector<String> than ListHashSet<String>
379
380         No new tests. Existing test should pass with this change as no behavoural changes.
381
382         * bindings/js/JSClipboardCustom.cpp: Replace data type from ListHashSet<> to Vector<>.
383         (WebCore::JSClipboard::types):
384         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
385         (WebCore::V8Clipboard::typesAccessorGetter): Ditto.
386         * dom/Clipboard.h: Ditto.
387         * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
388         (WebCore::ClipboardBlackBerry::types):
389         * platform/blackberry/ClipboardBlackBerry.h: Ditto.
390         * platform/chromium/ChromiumDataObject.cpp: Ditto.
391         (WebCore::ChromiumDataObject::types):
392         * platform/chromium/ChromiumDataObject.h: Ditto.
393         * platform/chromium/ClipboardChromium.cpp: Ditto.
394         (WebCore::ClipboardChromium::types):
395         * platform/chromium/ClipboardChromium.h: Ditto.
396         * platform/efl/ClipboardEfl.cpp: Ditto.
397         (WebCore::ClipboardEfl::types):
398         * platform/efl/ClipboardEfl.h: Ditto.
399         * platform/gtk/ClipboardGtk.cpp: Ditto.
400         (WebCore::ClipboardGtk::types):
401         * platform/gtk/ClipboardGtk.h: Ditto.
402         * platform/mac/ClipboardMac.h: Ditto.
403         * platform/mac/ClipboardMac.mm: Ditto.
404         (WebCore::addHTMLClipboardTypesForCocoaType):
405         (WebCore::ClipboardMac::types):
406         * platform/qt/ClipboardQt.cpp: Ditto.
407         (WebCore::ClipboardQt::types):
408         * platform/qt/ClipboardQt.h: Ditto.
409         * platform/win/ClipboardWin.cpp: Ditto.
410         (WebCore::addMimeTypesForFormat):
411         (WebCore::ClipboardWin::types):
412         * platform/win/ClipboardWin.h: Ditto.
413
414 2013-02-07  Kentaro Hara  <haraken@chromium.org>
415
416         [V8] StringCache::m_stringCache should be HashMap<StringImpl*, Persistent<String>>
417         https://bugs.webkit.org/show_bug.cgi?id=109123
418
419         Reviewed by Adam Barth.
420
421         Currently StringCache::m_stringCache is implemented as
422         HashMap<StringImpl*, v8::String*>. Given that v8::String*
423         can change when a GC is triggered, it is dangerous to store a raw pointer.
424         We should use HashMap<StringImpl*, v8::Persistent<v8::String>> instead.
425
426         This is a possible fix for an IndexedDB crash (https://bugs.webkit.org/show_bug.cgi?id=105363),
427         although I'm not sure if this patch fixes the crash. (I couldn't reproduce the crash.)
428
429         No tests. This change highly depends on GC behavior and thus it is
430         difficult to make a reliable test case.
431
432         * bindings/v8/V8ValueCache.cpp:
433         (WebCore::makeExternalString):
434         * bindings/v8/V8ValueCache.h:
435         (StringCache):
436
437 2013-01-27  Robert Hogan  <robert@webkit.org>
438
439         CSS 2.1 failure: floats-149 fails
440         https://bugs.webkit.org/show_bug.cgi?id=95772
441
442         Reviewed by David Hyatt.
443
444         Treat inlines that contain nothing but empty inlines as empty too so that they get a linebox.
445
446         Tests: fast/inline/inline-with-empty-inline-children.html
447                css2.1/20110323/floats-149.htm
448
449         * rendering/InlineIterator.h:
450         (WebCore::isEmptyInline):
451         * rendering/RenderBlockLineLayout.cpp:
452         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Now that empty inlines get a linebox any out-of-flow
453         objects inside an empty inline (on a line that is otherwise empty) won't get positioned while skipping 
454         through leading whitespace. 
455
456 2013-02-07  peavo@outlook.com  <peavo@outlook.com>
457
458         [WinCairo] Compile fix after r141981
459         https://bugs.webkit.org/show_bug.cgi?id=109184
460
461         Reviewed by Brent Fulgham.
462
463         * platform/network/curl/ResourceHandleCurl.cpp:
464         (WebCore::ResourceHandle::loadResourceSynchronously):
465
466 2013-02-07  Otto Derek Cheung  <otcheung@rim.com>
467
468         [BlackBerry] Cookie database isn't loaded into memory in some rare cases
469         https://bugs.webkit.org/show_bug.cgi?id=109202
470         PR 286189
471
472         Reviewed by Yong Li.
473         Internally Reviewed by Konrad Piascik.
474
475         If a get/setCookie call is made before the database is loaded, or if there's some
476         kind of error that causes the loading of the database to fail in the constructor
477         of CookieManager, the browser will get into a state where it seems like cookie is
478         permanenty disabled.
479
480         Instead of logging the errors and redispatching the setCookie, we should do a force sync
481         to load the cookie database before continuing.
482
483         Since the bug is so difficult to reproduce (I never did so myself), I did the follow test
484         to make sure the code path is correct:
485         1) Make sure original implementation is retained - open and loading done in the constructor
486         2) Removed opening and loading in constructor, the new calls in get/setcookies loaded the db just fine (although with
487         an initial lag because we are blocking WKT while performing SQLite options).
488         3) Removed loading in constructor, the new calls loaded the db just fine.
489
490         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
491         (WebCore::CookieDatabaseBackingStore::openAndLoadDatabaseSynchronously):
492         (WebCore):
493         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
494         (CookieDatabaseBackingStore):
495         * platform/blackberry/CookieManager.cpp:
496         (WebCore::CookieManager::setCookies):
497         (WebCore::CookieManager::getCookie):
498         (WebCore::CookieManager::generateHtmlFragmentForCookies):
499         (WebCore::CookieManager::getRawCookies):
500
501 2013-02-07  Max Vujovic  <mvujovic@adobe.com>
502
503         [CSS Shaders] Add WebKitCSSFilterRule to DOMWindow.idl
504         https://bugs.webkit.org/show_bug.cgi?id=109082
505
506         Reviewed by Dean Jackson.
507
508         Add an entry for WebKitCSSFilterRuleConstructor in DOMWindow.idl.
509
510         Tests: css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html
511                css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html
512
513         * page/DOMWindow.idl:
514
515 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
516
517         Web Inspector: Remove unused workspace field from NetworkUISourceCodeProvider
518         https://bugs.webkit.org/show_bug.cgi?id=109201
519
520         Reviewed by Pavel Feldman.
521
522         * inspector/front-end/NetworkUISourceCodeProvider.js:
523         (WebInspector.NetworkUISourceCodeProvider):
524         * inspector/front-end/inspector.js:
525
526 2013-02-07  Jessie Berlin  <jberlin@apple.com>
527
528         REGRESSION(r142003): Duplicate "Unknown" strings in LocalizedStrings.cpp not distinguished
529         by key
530         https://bugs.webkit.org/show_bug.cgi?id=109196
531
532         Reviewed by Eric Carlson.
533
534         * English.lproj/Localizable.strings:
535         Updated for the changes.
536         * platform/LocalizedStrings.cpp:
537         (WebCore::unknownFileSizeText):
538         Add a key.
539         (WebCore::textTrackNoLabelText):
540         Ditto.
541
542 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
543
544         Web Inspector: linkifyResourceAsNode produced anchor should not prefer resources to scripts panel.
545         https://bugs.webkit.org/show_bug.cgi?id=109197
546
547         Reviewed by Pavel Feldman.
548
549         Javascript syntax errors in console are now linkified so that they show sources panel by default.
550
551         * inspector/front-end/ResourceUtils.js:
552         (WebInspector.linkifyResourceAsNode):
553
554 2013-02-07  Eberhard Graether  <egraether@google.com>
555
556         Web Inspector: Add settings checkbox for composited layer borders
557         https://bugs.webkit.org/show_bug.cgi?id=109096
558
559         Reviewed by Pavel Feldman.
560
561         This change adds a checkbox to show composited layer borders to the WebInspector's
562         rendering settings and plumbs the setting to Chromium's WebLayerTreeView. The setting
563         is visible if InspectorClient::canShowDebugBorders() returns true.
564
565         No new tests.
566
567         * English.lproj/localizedStrings.js:
568         * inspector/Inspector.json:
569         * inspector/InspectorClient.h:
570         (WebCore::InspectorClient::canShowDebugBorders):
571         (WebCore::InspectorClient::setShowDebugBorders):
572         (InspectorClient):
573         * inspector/InspectorPageAgent.cpp:
574         (PageAgentState):
575         (WebCore::InspectorPageAgent::restore):
576         (WebCore::InspectorPageAgent::disable):
577         (WebCore::InspectorPageAgent::canShowDebugBorders):
578         (WebCore):
579         (WebCore::InspectorPageAgent::setShowDebugBorders):
580         * inspector/InspectorPageAgent.h:
581         * inspector/front-end/Settings.js:
582         * inspector/front-end/SettingsScreen.js:
583         (WebInspector.GenericSettingsTab):
584         (WebInspector.GenericSettingsTab.prototype.get _showDebugBordersChanged):
585         * inspector/front-end/inspector.js:
586         (WebInspector.doLoadedDone):
587
588 2013-02-07  Gavin Peters  <gavinp@chromium.org>
589
590         Unreviewed, rolling out r142141.
591         http://trac.webkit.org/changeset/142141
592         https://bugs.webkit.org/show_bug.cgi?id=108990
593
594         Reland r142112, will update Chromium expectations and create a
595         Chromium bug instead for the crash.
596
597         * CMakeLists.txt:
598         * Target.pri:
599         * WebCore.pri:
600         * page/scrolling/ScrollingCoordinator.cpp:
601         (WebCore::ScrollingCoordinator::create):
602         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
603         (WebCore):
604         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
605         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
606         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
607         (WebCore):
608         (ScrollingCoordinatorCoordinatedGraphics):
609         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
610         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
611         (WebCore):
612         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
613         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
614         (CoordinatedGraphicsLayerClient):
615         (CoordinatedGraphicsLayer):
616
617 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
618
619         Web Inspector: home button behaviour is wrong in DTE
620         https://bugs.webkit.org/show_bug.cgi?id=109154
621
622         Reviewed by Vsevolod Vlasov.
623
624         Handle home key shortcut explicitly in TextEditorMainPanel.
625
626         New test: inspector/editor/text-editor-home-button.html
627
628         * inspector/front-end/DefaultTextEditor.js:
629         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
630         (WebInspector.TextEditorMainPanel.prototype._handleHomeKey):
631
632 2013-02-07  Gavin Peters  <gavinp@chromium.org>
633
634         Unreviewed, rolling out r142112.
635         http://trac.webkit.org/changeset/142112
636         https://bugs.webkit.org/show_bug.cgi?id=108990
637
638         The new test scrollingcoordinator/non-fast-scrollable-region-transformed- iframe.html crashes on Lion.
639
640         See http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=scrollingcoordinator%2Fnon-fast-scrollable-region-transformed-iframe.html
641
642         * CMakeLists.txt:
643         * Target.pri:
644         * WebCore.pri:
645         * page/scrolling/ScrollingCoordinator.cpp:
646         (WebCore::ScrollingCoordinator::create):
647         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Removed.
648         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Removed.
649         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
650         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
651         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
652         (CoordinatedGraphicsLayerClient):
653         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport):
654
655 2013-02-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
656
657         Scrollbars misplaced with accelerated compositing for overflow scroll
658         https://bugs.webkit.org/show_bug.cgi?id=108625
659
660         Reviewed by Simon Fraser.
661
662         Scrollbars require their own layer if overflow scroll is composited,
663         otherwise the scrollbars would be rendered on the content layer and
664         not fixed to the viewport.
665
666         * rendering/RenderLayerBacking.cpp:
667         (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
668         (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
669         (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
670
671 2013-02-07  Mike West  <mkwst@chromium.org>
672
673         Don't ASSERT things about uninitialized variables.
674         https://bugs.webkit.org/show_bug.cgi?id=109187
675
676         Reviewed by Jochen Eisinger.
677
678         Rather than ASSERTing that an uninitialized ExceptionCode is non-zero
679         after some method executes, we should use the ASSERT_NO_EXCEPTION macro.
680
681         * editing/markup.cpp:
682         (WebCore::removeElementPreservingChildren):
683
684 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
685
686         Web Inspector: [Regression] breakpoint condition not editable
687         https://bugs.webkit.org/show_bug.cgi?id=109183
688
689         Reviewed by Vsevolod Vlasov.
690
691         Improve TextEditorMainPanel.selection() method to return null if the
692         selection is set inside of decoration element.
693
694         No new tests.
695
696         * inspector/front-end/DOMExtension.js:
697         (Node.prototype.enclosingNodeOrSelfWithClass): Improve to add iteration boundary.
698         * inspector/front-end/DefaultTextEditor.js:
699         (WebInspector.TextEditorMainPanel.prototype.selection):
700
701 2013-02-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
702
703         [WK2][EFL][QT]REGRESSION(r142045): Scrolling is broken
704         https://bugs.webkit.org/show_bug.cgi?id=109185
705
706         Reviewed by Kenneth Rohde Christiansen.
707
708         This patch is disabling paints clipping logic added at r142045 for the case 
709         when the view should render the entire contents (case of using tiled backing store).
710
711         No new tests, covered by plenty of existing manual tests that allow scrolling
712         (for example fixed-position.html).
713
714         * platform/ScrollView.cpp:
715         (WebCore::ScrollView::paint):
716
717 2013-02-07  Vladislav Kaznacheev  <kaznacheev@chromium.org>
718
719         Web Inspector: Show elements and sources sidebar panes in a tabbed pane when they are below the main pane
720         https://bugs.webkit.org/show_bug.cgi?id=107552
721
722         Reviewed by Pavel Feldman.
723
724         Removed the aspect ratio detection logic and implemented explicit user action "Split Horizontally" available
725         in Elements and Sources panels. When split horizontally the sidebar panes are organized into a tabbed pane.
726         This user action is behind an experimental flag.
727
728         No new tests.
729
730         * inspector/front-end/ContextMenu.js:
731         (WebInspector.ContextMenu.prototype.show):
732         * inspector/front-end/DOMBreakpointsSidebarPane.js:
733         (WebInspector.DOMBreakpointsSidebarPane.prototype.createProxy):
734         (WebInspector.DOMBreakpointsSidebarPane.prototype.onContentReady):
735         (WebInspector.DOMBreakpointsSidebarPane.Proxy):
736         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expanded):
737         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.expand):
738         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.collapse):
739         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.onContentReady):
740         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype.wasShown):
741         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
742         * inspector/front-end/ElementsPanel.js:
743         (WebInspector.ElementsPanel):
744         (WebInspector.ElementsPanel.prototype._populateContextMenu):
745         * inspector/front-end/ScriptsPanel.js:
746         (WebInspector.ScriptsPanel.prototype._clearInterface):
747         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
748         (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
749         * inspector/front-end/Settings.js:
750         (WebInspector.ExperimentsSettings):
751         * inspector/front-end/SidebarPane.js:
752         (WebInspector.SidebarPane):
753         (WebInspector.SidebarPane.prototype.prepareContent):
754         (WebInspector.SidebarPane.prototype.expanded):
755         (WebInspector.SidebarPane.prototype.expand):
756         (WebInspector.SidebarPane.prototype.collapse):
757         (WebInspector.SidebarPane.prototype.onContentReady):
758         (WebInspector.SidebarPane.prototype._setExpandCallback):
759         (WebInspector.SidebarPaneStack.prototype.addPane):
760         (WebInspector.SidebarPaneStack.prototype.activePaneId):
761         (WebInspector.SidebarPaneStack.prototype.setActivePaneId):
762         (WebInspector.SidebarPaneStack.prototype._setExpanded):
763         (WebInspector.SidebarPaneStack.prototype._onPaneExpanded):
764         (WebInspector.SidebarPaneStack.prototype._collapsePane):
765         (WebInspector.SidebarTabbedPane):
766         (WebInspector.SidebarTabbedPane.prototype.addPane):
767         (WebInspector.SidebarTabbedPane.prototype.activePaneId):
768         (WebInspector.SidebarTabbedPane.prototype.setActivePaneId):
769         (WebInspector.SidebarPaneGroup):
770         (WebInspector.SidebarPaneGroup.prototype.setStacked):
771         (WebInspector.SidebarPaneGroup.prototype.addPane):
772         (WebInspector.SidebarPaneGroup.prototype.attachToPanel):
773         (WebInspector.SidebarPaneGroup.prototype.populateContextMenu.toggleSplitDirection):
774         (WebInspector.SidebarPaneGroup.prototype.get _contextMenuEventFired):
775         (WebInspector.SidebarPaneGroup.prototype._onSplitDirectionSettingChanged):
776         * inspector/front-end/SidebarView.js:
777         (WebInspector.SidebarView):
778         (WebInspector.SidebarView.prototype._updateSidebarElementStyle):
779         (WebInspector.SidebarView.prototype.setVertical):
780         (WebInspector.SidebarView.prototype.onResize):
781         * inspector/front-end/StylesSidebarPane.js:
782         (WebInspector.ComputedStyleSidebarPane.prototype.wasShown):
783         (WebInspector.ComputedStyleSidebarPane.prototype.prepareContent):
784         * inspector/front-end/inspector.css:
785         (.sidebar-pane .section .properties, .event-bar .event-properties):
786         (.pane-title):
787         (.sidebar-pane-toolbar):
788         (.sidebar-pane-toolbar > *):
789         (.sidebar-pane-toolbar > select):
790         (.sidebar-pane-toolbar > select:hover):
791         (.sidebar-pane-toolbar > select:active):
792         (.sidebar-pane-toolbar > select.select-settings):
793         (.sidebar-pane-toolbar > select.select-filter):
794         (.sidebar-pane-toolbar > select > option, .sidebar-pane-toolbar > select > hr):
795         (.sidebar-pane-toolbar > .pane-title-button):
796         (.sidebar-pane-toolbar > .pane-title-button:hover):
797         (.sidebar-pane-toolbar > .pane-title-button:active, .sidebar-pane-toolbar > .pane-title-button.toggled):
798         (.sidebar-pane-toolbar > .pane-title-button.add):
799         (.sidebar-pane-toolbar > .pane-title-button.element-state):
800         (.sidebar-pane-toolbar > .pane-title-button.refresh):
801         (.sidebar-pane):
802         (.sidebar-pane > .body):
803         (.sidebar-pane > .body .info):
804         (.sidebar-pane > .body .placard + .info):
805         (.sidebar-pane.visible > .body):
806         (.sidebar-pane > .body .breakpoint-condition):
807         (.sidebar-pane.visible:nth-last-of-type(1)):
808         (.sidebar-pane-subtitle):
809         (.sidebar-pane-subtitle input, .section .header input[type=checkbox]):
810         (.sidebar-pane .breakpoint-hit):
811
812 2013-02-07  Gavin Peters  <gavinp@chromium.org>
813
814         Unreviewed, rolling out r142111.
815         http://trac.webkit.org/changeset/142111
816         https://bugs.webkit.org/show_bug.cgi?id=108055
817
818         win7 bot didn't display Arabic, see http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=platform%2Fchromium%2Ffast%2Fforms%2Fcalendar-picker%2Fcalendar-picker-appearance-required-ar.html
819
820         * Resources/pagepopups/calendarPicker.css:
821         (.today-clear-area .today-button):
822         * Resources/pagepopups/calendarPicker.js:
823         (CalendarPicker.prototype.fixWindowSize):
824
825 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
826
827         Web Inspector: [Regression] Map.size() returns negative values.
828         https://bugs.webkit.org/show_bug.cgi?id=109174
829
830         Reviewed by Yury Semikhatsky.
831
832         * inspector/front-end/utilities.js:
833
834 2013-02-07  Pavel Feldman  <pfeldman@chromium.org>
835
836         Web Inspector: break details are only rendered upon first debugger pause.
837         https://bugs.webkit.org/show_bug.cgi?id=109193
838
839         Reviewed by Vsevolod Vlasov.
840
841         * inspector/front-end/CallStackSidebarPane.js:
842         (WebInspector.CallStackSidebarPane.prototype.update):
843
844 2013-02-07  Gavin Peters  <gavinp@chromium.org>
845
846         Unreviewed, rolling out r142118.
847         http://trac.webkit.org/changeset/142118
848         https://bugs.webkit.org/show_bug.cgi?id=109044
849
850         Broke SVG! Oh noes!
851
852         * Modules/indexeddb/IDBCursor.cpp:
853         (WebCore::IDBCursor::direction):
854         * Modules/indexeddb/IDBObjectStore.cpp:
855         (WebCore):
856         * Modules/indexeddb/IDBTransaction.cpp:
857         (WebCore::IDBTransaction::mode):
858         * dom/ContainerNode.cpp:
859         (WebCore::ContainerNode::takeAllChildrenFrom):
860         * dom/Document.cpp:
861         (WebCore::Document::setTitle):
862         * dom/MessagePort.cpp:
863         (WebCore::MessagePort::dispatchMessages):
864         (WebCore::MessagePort::disentanglePorts):
865         * editing/DeleteButtonController.cpp:
866         (WebCore::enclosingDeletableElement):
867         (WebCore::DeleteButtonController::createDeletionUI):
868         (WebCore::DeleteButtonController::show):
869         * editing/EditorCommand.cpp:
870         (WebCore::unionDOMRanges):
871         * editing/ReplaceNodeWithSpanCommand.cpp:
872         (WebCore::swapInNodePreservingAttributesAndChildren):
873         * editing/ReplaceSelectionCommand.cpp:
874         (WebCore::ReplacementFragment::ReplacementFragment):
875         (WebCore::ReplacementFragment::removeNode):
876         (WebCore::ReplacementFragment::insertNodeBefore):
877         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
878         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
879         (WebCore::ReplaceSelectionCommand::insertAsListItems):
880         * editing/SplitTextNodeCommand.cpp:
881         (WebCore::SplitTextNodeCommand::doUnapply):
882         * editing/TextIterator.cpp:
883         (WebCore::CharacterIterator::range):
884         (WebCore::BackwardsCharacterIterator::range):
885         (WebCore::TextIterator::rangeFromLocationAndLength):
886         (WebCore::collapsedToBoundary):
887         * editing/htmlediting.cpp:
888         (WebCore::createTabSpanElement):
889         * editing/mac/EditorMac.mm:
890         (WebCore::Editor::fontForSelection):
891         (WebCore::Editor::fontAttributesForSelectionStart):
892         * editing/markup.cpp:
893         (WebCore::createMarkup):
894         (WebCore::trimFragment):
895         (WebCore::createFragmentFromMarkupWithContext):
896         (WebCore::fillContainerFromString):
897         (WebCore::createFragmentFromText):
898         (WebCore::createFragmentFromNodes):
899         * html/ColorInputType.cpp:
900         (WebCore::ColorInputType::createShadowSubtree):
901         * html/HTMLOptionsCollection.cpp:
902         (WebCore::HTMLOptionsCollection::add):
903         * html/HTMLTextAreaElement.cpp:
904         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
905         * html/HTMLTextFormControlElement.cpp:
906         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
907         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
908         * html/TextFieldInputType.cpp:
909         (WebCore::TextFieldInputType::updatePlaceholderText):
910         * html/ValidationMessage.cpp:
911         (WebCore::ValidationMessage::buildBubbleTree):
912         * html/shadow/MediaControlElementTypes.cpp:
913         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
914         * inspector/InspectorPageAgent.cpp:
915         (WebCore::InspectorPageAgent::getCookies):
916         * inspector/InspectorStyleSheet.cpp:
917         (WebCore::InspectorStyleSheet::addRule):
918         * loader/appcache/ApplicationCacheHost.cpp:
919         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
920         * page/DOMSelection.cpp:
921         (WebCore::DOMSelection::deleteFromDocument):
922         * page/DragController.cpp:
923         (WebCore::prepareClipboardForImageDrag):
924         * rendering/RenderTextControl.cpp:
925         (WebCore::RenderTextControl::visiblePositionForIndex):
926         * rendering/style/SVGRenderStyle.h:
927         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
928         (WebCore::SVGRenderStyle::initialKerning):
929         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
930         (WebCore::SVGRenderStyle::initialStrokeWidth):
931         * svg/SVGAnimatedLength.cpp:
932         (WebCore::sharedSVGLength):
933         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
934         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
935         * svg/SVGAnimatedLengthList.cpp:
936         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
937         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
938         * svg/SVGLength.cpp:
939         (WebCore::SVGLength::SVGLength):
940         * svg/SVGTextContentElement.cpp:
941         (WebCore::SVGTextContentElement::textLengthAnimated):
942         * svg/animation/SVGSMILElement.cpp:
943         (WebCore::constructQualifiedName):
944
945 2013-02-07  Kentaro Hara  <haraken@chromium.org>
946
947         Remove #if USE(V8) from IDBRequest.h
948         https://bugs.webkit.org/show_bug.cgi?id=109163
949
950         Reviewed by Andreas Kling.
951
952         The header included inside the #if USE(V8) macro is not used.
953         We can simply remove it.
954
955         No tests. No change in behavior.
956
957         * Modules/indexeddb/IDBRequest.h:
958
959 2013-02-07  Stephen Chenney  <schenney@chromium.org>
960
961         GraphicsContext::drawImageBuffer is inefficient
962         https://bugs.webkit.org/show_bug.cgi?id=104367
963
964         Reviewed by Dirk Schulze.
965
966         This patch converts all of the drawImage and drawImageBuffer
967         convenience methods (those that take parameters of various types) to
968         invoke the implementing method (that takes FloatRect src and dest)
969         directly, rather than through the next-most-convenient method as was
970         done previously. This will knock some layers off the stack compared
971         to the existing code, and may remove one or two constructor invocations.
972         This may be slightly more efficient, and also makes debugging simpler.
973
974         Also removes the unused drawImage method that takes and IntRect source
975         area and IntRect destination. It is not invoked anywhere in a standard
976         WebKit checkout.
977
978         No new tests. No change in functionality, just refactoring.
979
980         * platform/graphics/GraphicsContext.cpp:
981         (WebCore::GraphicsContext::drawImage): Modify all the convenience versions to call
982         the implementing version directly.
983         (WebCore::GraphicsContext::drawImageBuffer): Modify all the convenience versions
984         to call the implementing version directly.
985         * platform/graphics/GraphicsContext.h:
986         (GraphicsContext): Remove IntRect, IntRect version of drawImage.
987
988 2013-02-07  Kent Tamura  <tkent@chromium.org>
989
990         Conversion from localized numbers to HTML numbers should accept not only localized numbers but also HTML numbers
991         https://bugs.webkit.org/show_bug.cgi?id=109160
992
993         Reviewed by Kentaro Hara.
994
995         For example, A French user needs to specify a number to a number input
996         field. He might use a local decimal point, like 3,141592, or he might
997         use the standard decimal point like 3.141592. We had better accept both
998         of them.
999
1000         We accepted both last year, but we changed the behavior so that we
1001         accept only localized numbers because we had some cases where an input
1002         string can be recognized as both of a localized number and the standard
1003         number. e.g. 3.141 is 3141 in French locale and 3.141 in the
1004         standard. Now we introduce a simple rule that we don't accept group
1005         separator at all. So users won't confuse even if we accept both of
1006         decimal points.
1007
1008         Test: fast/forms/number/number-l10n-input.html
1009
1010         * platform/text/PlatformLocale.cpp:
1011         (WebCore::Locale::convertFromLocalizedNumber):
1012         If the specified string contains invalid characters including group
1013         separators, just return the specified string.
1014
1015 2013-02-07  Xiaobo Wang  <xbwang@torchmobile.com.cn>
1016
1017         [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
1018         https://bugs.webkit.org/show_bug.cgi?id=109126
1019         PR 292540
1020
1021         Reviewed by Yong Li.
1022
1023         Change char code to 4 bytes.
1024         Need to convert UTF32 key char to UTF16 before constructing a WTF::String.
1025
1026         * platform/PlatformKeyboardEvent.h:
1027         (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
1028         (PlatformKeyboardEvent):
1029         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
1030         (WebCore::keyIdentifierForBlackBerryCharacter):
1031         (WebCore::windowsKeyCodeForBlackBerryCharacter):
1032         (WebCore::adjustCharacterFromOS):
1033         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1034
1035 2013-02-07  Mike West  <mkwst@chromium.org>
1036
1037         Replace ExceptionCode assertions with ASSERT_NO_EXCEPTION macro.
1038         https://bugs.webkit.org/show_bug.cgi?id=109044
1039
1040         Reviewed by Darin Adler.
1041
1042         The pattern:
1043
1044             ExceptionCode ec = 0;
1045             methodThatGeneratesException(ec);
1046             ASSERT(!ec);
1047
1048         is more clearly and succinctly written as:
1049
1050             methodThatGeneratesException(ASSERT_NO_EXCEPTION);
1051
1052         This patch replaces the occurances of the former that never touch 'ec'
1053         again with the latter. It does the same for 'ASSERT(ec == 0);' (and, as
1054         a drive-by, replaces 'ASSERT(ec == 0)' with 'ASSERT(!ec)' in places
1055         where it does indeed matter that 'ec' get set properly.
1056
1057         No change in behavior should result from this refactoring.
1058
1059         * Modules/indexeddb/IDBCursor.cpp:
1060         (WebCore::IDBCursor::direction):
1061         * Modules/indexeddb/IDBObjectStore.cpp:
1062         (WebCore):
1063         * Modules/indexeddb/IDBTransaction.cpp:
1064         (WebCore::IDBTransaction::mode):
1065         * dom/ContainerNode.cpp:
1066         (WebCore::ContainerNode::takeAllChildrenFrom):
1067         * dom/Document.cpp:
1068         (WebCore::Document::setTitle):
1069         * dom/MessagePort.cpp:
1070         (WebCore::MessagePort::dispatchMessages):
1071         (WebCore::MessagePort::disentanglePorts):
1072         * editing/DeleteButtonController.cpp:
1073         (WebCore::enclosingDeletableElement):
1074         (WebCore::DeleteButtonController::createDeletionUI):
1075             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1076         (WebCore::DeleteButtonController::show):
1077             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1078         * editing/EditorCommand.cpp:
1079         (WebCore::unionDOMRanges):
1080         * editing/ReplaceNodeWithSpanCommand.cpp:
1081         (WebCore::swapInNodePreservingAttributesAndChildren):
1082         * editing/ReplaceSelectionCommand.cpp:
1083         (WebCore::ReplacementFragment::ReplacementFragment):
1084         (WebCore::ReplacementFragment::removeNode):
1085         (WebCore::ReplacementFragment::insertNodeBefore):
1086         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
1087         (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
1088         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1089         * editing/SplitTextNodeCommand.cpp:
1090         (WebCore::SplitTextNodeCommand::doUnapply):
1091         * editing/TextIterator.cpp:
1092         (WebCore::CharacterIterator::range):
1093         (WebCore::BackwardsCharacterIterator::range):
1094         (WebCore::TextIterator::rangeFromLocationAndLength):
1095         (WebCore::collapsedToBoundary):
1096         * editing/htmlediting.cpp:
1097         (WebCore::createTabSpanElement):
1098         * editing/mac/EditorMac.mm:
1099         (WebCore::Editor::fontForSelection):
1100         (WebCore::Editor::fontAttributesForSelectionStart):
1101         * editing/markup.cpp:
1102         (WebCore::createMarkup):
1103         (WebCore::trimFragment):
1104         (WebCore::createFragmentFromMarkupWithContext):
1105         (WebCore::fillContainerFromString):
1106         (WebCore::createFragmentFromText):
1107         (WebCore::createFragmentFromNodes):
1108         * html/ColorInputType.cpp:
1109         (WebCore::ColorInputType::createShadowSubtree):
1110             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1111         * html/HTMLOptionsCollection.cpp:
1112         (WebCore::HTMLOptionsCollection::add):
1113             Replaced 'ASSERT(ec == 0)' with 'ASSERT(!ec)' to match the style guide.
1114         * html/HTMLTextAreaElement.cpp:
1115         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
1116         * html/HTMLTextFormControlElement.cpp:
1117         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition):
1118         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
1119         * html/TextFieldInputType.cpp:
1120         (WebCore::TextFieldInputType::updatePlaceholderText):
1121         * html/ValidationMessage.cpp:
1122         (WebCore::ValidationMessage::buildBubbleTree):
1123         * html/shadow/MediaControlElementTypes.cpp:
1124         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1125         * inspector/InspectorPageAgent.cpp:
1126         (WebCore::InspectorPageAgent::getCookies):
1127         * inspector/InspectorStyleSheet.cpp:
1128         (WebCore::InspectorStyleSheet::addRule):
1129         * loader/appcache/ApplicationCacheHost.cpp:
1130         (WebCore::ApplicationCacheHost::dispatchDOMEvent):
1131         * page/DOMSelection.cpp:
1132         (WebCore::DOMSelection::deleteFromDocument):
1133         * page/DragController.cpp:
1134         (WebCore::prepareClipboardForImageDrag):
1135         * rendering/RenderTextControl.cpp:
1136         (WebCore::RenderTextControl::visiblePositionForIndex):
1137         * rendering/style/SVGRenderStyle.h:
1138         (WebCore::SVGRenderStyle::initialBaselineShiftValue):
1139         (WebCore::SVGRenderStyle::initialKerning):
1140         (WebCore::SVGRenderStyle::initialStrokeDashOffset):
1141         (WebCore::SVGRenderStyle::initialStrokeWidth):
1142         * svg/SVGAnimatedLength.cpp:
1143         (WebCore::sharedSVGLength):
1144         (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
1145         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
1146         * svg/SVGAnimatedLengthList.cpp:
1147         (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
1148         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1149         * svg/SVGLength.cpp:
1150         (WebCore::SVGLength::SVGLength):
1151         * svg/SVGTextContentElement.cpp:
1152         (WebCore::SVGTextContentElement::textLengthAnimated):
1153         * svg/animation/SVGSMILElement.cpp:
1154         (WebCore::constructQualifiedName):
1155             Replaced inline ASSERT with ASSERT_NO_EXCEPTION.
1156
1157 2013-02-07  Mary Wu  <mary.wu@torchmobile.com.cn>
1158
1159         [BlackBerry] Export mimeType in NetworkJob
1160         https://bugs.webkit.org/show_bug.cgi?id=109002
1161
1162         Reviewed by Yong Li.
1163
1164         NetworkJob will analysize resource mimetype and set it to resourceResponse,
1165         we will pass it on to be used by other Streams like download stream.
1166
1167         RIM bug# 284408, internally reviewed by Liam Quinn.
1168
1169         * platform/network/blackberry/NetworkJob.cpp:
1170         (WebCore::NetworkJob::mimeType):
1171         (WebCore):
1172         * platform/network/blackberry/NetworkJob.h:
1173         (NetworkJob):
1174
1175 2013-02-07  Peter Rybin  <prybin@chromium.org>
1176
1177         Web Inspector: support JavaScript variable mutation in protocol and V8 bindings
1178         https://bugs.webkit.org/show_bug.cgi?id=107829
1179
1180         A new command is added to protocol description and the call is passed through
1181         debugger agent through injected script and debugger script down to V8 mirror
1182         API. JSC bindings got a thorw exception stub.
1183
1184         Only declarative JavaScript scopes are supported (local, closure, catch). Other
1185         scopes (global, with) are not supported by V8 and not supported by protocol, because
1186         manual approach (direct property assigment) is available for them in form of evaluate
1187         commands and is more desirable because of a complex nature of operation (it can throw
1188         exception in several cases such as exception in setter function).
1189
1190         Reviewed by Pavel Feldman.
1191
1192         Test: inspector-protocol/debugger-setVariableValue.html
1193
1194         * bindings/js/JSInjectedScriptHostCustom.cpp:
1195         (WebCore::JSInjectedScriptHost::setFunctionVariableValue):
1196         (WebCore):
1197         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1198         (WebCore::JSJavaScriptCallFrame::setVariableValue):
1199         (WebCore):
1200         * bindings/v8/DebuggerScript.js:
1201         (.):
1202         * bindings/v8/JavaScriptCallFrame.cpp:
1203         (WebCore::JavaScriptCallFrame::setVariableValue):
1204         (WebCore):
1205         * bindings/v8/JavaScriptCallFrame.h:
1206         (JavaScriptCallFrame):
1207         * bindings/v8/ScriptDebugServer.cpp:
1208         (WebCore::ScriptDebugServer::setFunctionVariableValue):
1209         (WebCore):
1210         * bindings/v8/ScriptDebugServer.h:
1211         (ScriptDebugServer):
1212         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1213         (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallback):
1214         (WebCore):
1215         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
1216         (WebCore::V8JavaScriptCallFrame::setVariableValueCallback):
1217         (WebCore):
1218         * inspector/InjectedScript.cpp:
1219         (WebCore::InjectedScript::setVariableValue):
1220         (WebCore):
1221         * inspector/InjectedScript.h:
1222         (InjectedScript):
1223         * inspector/InjectedScriptHost.idl:
1224         * inspector/InjectedScriptSource.js:
1225         (.):
1226         * inspector/Inspector.json:
1227         * inspector/InspectorDebuggerAgent.cpp:
1228         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
1229         (WebCore::InspectorDebuggerAgent::setVariableValue):
1230         (WebCore):
1231         * inspector/InspectorDebuggerAgent.h:
1232         (InspectorDebuggerAgent):
1233         * inspector/JavaScriptCallFrame.idl:
1234
1235 2013-02-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1236
1237         [CoordinatedGraphics] Use ScrollingCoordinator to track fixed layers
1238         https://bugs.webkit.org/show_bug.cgi?id=108990
1239
1240         Reviewed by Noam Rosenthal.
1241
1242         WebCore keeps ScrollingCoordinator up-to-date about whether layers are fixed or not, so we
1243         don't need to traverse the tree every frame to get this information.
1244
1245         The function ScrollingCoordinator::setLayerIsFixedToContainerLayer() is called when
1246         RenderLayerBacking is updating its graphics layers.
1247
1248         The new code also works in new situations where the previous was broken: if a layer changed
1249         from being fixed to not fixed (but still kept as a layer for other reasons), the layer will
1250         be correctly updated. Previous implementation only had logic to mark layers as fixed, but
1251         not the other way round. A manual test was added to illustrate the solved problem.
1252
1253         Testing was done with the existing manual tests that make use of "position:fixed". Automatic
1254         tests are mostly not affected by this because usage of this information affects only the
1255         UseFixedLayout mode, not used by default in WebKitTestRunner. Work to improve this situation
1256         will be tracked in bug https://bugs.webkit.org/show_bug.cgi?id=109175.
1257
1258         * CMakeLists.txt:
1259         * Target.pri:
1260         * WebCore.pri:
1261         * page/scrolling/ScrollingCoordinator.cpp:
1262         (WebCore::ScrollingCoordinator::create): create specific version of ScrollingCoordinator.
1263         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp: Added.
1264         (WebCore):
1265         (WebCore::ScrollingCoordinatorCoordinatedGraphics::ScrollingCoordinatorCoordinatedGraphics):
1266         (WebCore::ScrollingCoordinatorCoordinatedGraphics::setLayerIsFixedToContainerLayer):
1267         update layer information using existing hook in ScrollingCoordinator.
1268         * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h: Added.
1269         (WebCore):
1270         (ScrollingCoordinatorCoordinatedGraphics):
1271         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1272         (WebCore::CoordinatedGraphicsLayer::setFixedToViewport): now that setting viewport is not
1273         embedded in the synchronization work, we need to mark the layer so it is updated in the
1274         next frame.
1275         (WebCore):
1276         (WebCore::CoordinatedGraphicsLayer::flushCompositingState): remove call to syncFixedLayers().
1277         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1278         (CoordinatedGraphicsLayerClient): remove now unused syncFixedLayers() from client.
1279         (CoordinatedGraphicsLayer):
1280
1281 2013-02-07  Keishi Hattori  <keishi@webkit.org>
1282
1283         REGRESSION (r140778): Calendar Picker doesn't open when the element has the required attribute
1284         https://bugs.webkit.org/show_bug.cgi?id=109136
1285
1286         Reviewed by Kent Tamura.
1287
1288         Calendar picker was using the "Clear" button to calculate the window width.
1289         Since it doesn't exist when the input element has a required attribute,
1290         it was throwing an error. This patch fixes the width calculating logic.
1291
1292         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required-ar.html
1293                platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-required.html
1294
1295         * Resources/pagepopups/calendarPicker.css:
1296         (.today-clear-area):
1297         * Resources/pagepopups/calendarPicker.js:
1298         (CalendarPicker.prototype.fixWindowSize): Fixing the logic to calculate
1299         the width. We don't want to use clear button because it doesn't exist
1300         when a value is required.
1301
1302 2013-02-07  Gustavo Noronha Silva  <gns@gnome.org>
1303
1304         Unreviewed build fix. libWebCore.la needs to be relinked when
1305         symbols.filter changes.
1306
1307         * GNUmakefile.am: add symbols.filter as a dependency for the
1308         libWebCore.la library.
1309
1310 2013-02-07  Vsevolod Vlasov  <vsevik@chromium.org>
1311
1312         Web Inspector: Closure compilation fixes
1313         https://bugs.webkit.org/show_bug.cgi?id=109131
1314
1315         Reviewed by Yury Semikhatsky.
1316
1317         * inspector/front-end/ElementsPanel.js:
1318         (WebInspector.ElementsPanel):
1319         * inspector/front-end/FileSystemMapping.js:
1320         (WebInspector.FileSystemMappingImpl.prototype.uriPrefixForPathPrefix):
1321         * inspector/front-end/IsolatedFileSystemModel.js:
1322         (WebInspector.IsolatedFileSystemModel.prototype._fileSystemRemoved):
1323         * inspector/front-end/SidebarPane.js:
1324
1325 2013-02-07  Kentaro Hara  <haraken@chromium.org>
1326
1327         Unreviewed, rolling out r142077.
1328         http://trac.webkit.org/changeset/142077
1329         https://bugs.webkit.org/show_bug.cgi?id=108579
1330
1331         fast/filesystem/workers/file-writer-empty-blob.html is broken
1332
1333         * bindings/v8/DOMDataStore.h:
1334         (WebCore::DOMDataStore::setWrapperInObject):
1335         * bindings/v8/DOMWrapperWorld.h:
1336         (DOMWrapperWorld):
1337         (WebCore::DOMWrapperWorld::isolated):
1338         * bindings/v8/V8Binding.h:
1339         (WebCore):
1340         (WebCore::worldForEnteredContextIfIsolated):
1341         * bindings/v8/V8DOMWindowShell.cpp:
1342         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1343         * bindings/v8/V8GCController.cpp:
1344         (WebCore::WrapperVisitor::WrapperVisitor):
1345         (WebCore):
1346         (WebCore::gcTree):
1347         (WebCore::V8GCController::didCreateWrapperForNode):
1348         (WebCore::V8GCController::gcPrologue):
1349         (WebCore::V8GCController::minorGCPrologue):
1350         (WebCore::V8GCController::majorGCPrologue):
1351         * bindings/v8/V8GCController.h:
1352         (V8GCController):
1353
1354 2013-02-07  Tony Gentilcore  <tonyg@chromium.org>
1355
1356         Call XSSAuditor.filterToken() from threaded HTML parser
1357         https://bugs.webkit.org/show_bug.cgi?id=107603
1358
1359         Reviewed by Adam Barth.
1360
1361         With this patch we now pass 180 of 182 tests in http/tests/security/xssAuditor.
1362
1363         We do this by creating aan XSSAuditor on the main thread and passing ownership of them to the BackgroundHTMLParser upon its creation.
1364
1365         Then the background thread calls filterToken() and stores the resulting XSSInfo (if any) on the CompactHTMLToken for the main thread to handle.
1366
1367         This involved trimming the XSSAuditor to only depend on the TextEncoding instead of the whole TextResourceDecoder.
1368
1369         No new tests because covered by existing tests.
1370
1371         * html/parser/BackgroundHTMLParser.cpp:
1372         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
1373         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1374         (WebCore::BackgroundHTMLParser::createPartial):
1375         * html/parser/BackgroundHTMLParser.h:
1376         (WebCore):
1377         (WebCore::BackgroundHTMLParser::create):
1378         (BackgroundHTMLParser):
1379         * html/parser/HTMLDocumentParser.cpp:
1380         (WebCore::HTMLDocumentParser::pumpTokenizer):
1381         (WebCore::HTMLDocumentParser::startBackgroundParser):
1382         * html/parser/HTMLSourceTracker.cpp:
1383         (WebCore::HTMLSourceTracker::start):
1384         (WebCore::HTMLSourceTracker::end):
1385         * html/parser/HTMLSourceTracker.h: Change the HTMLInputStream args to SegmentedString because the background thread only has a BackgroundHTMLInputStream.
1386         (HTMLSourceTracker):
1387         * html/parser/HTMLViewSourceParser.cpp:
1388         (WebCore::HTMLViewSourceParser::pumpTokenizer):
1389         * html/parser/XSSAuditor.cpp:
1390         (WebCore::fullyDecodeString):
1391         (WebCore::XSSAuditor::XSSAuditor):
1392         (WebCore::XSSAuditor::init): Copies necessary to make isSafeToSendToAnotherThread() happy.
1393         (WebCore::XSSAuditor::decodedSnippetForName):
1394         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1395         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
1396         (WebCore::XSSAuditor::isSafeToSendToAnotherThread): Check that all String and KURL members are safe to send to another thread.
1397         (WebCore):
1398         * html/parser/XSSAuditor.h:
1399         (WebCore):
1400         (WebCore::FilterTokenRequest::FilterTokenRequest):
1401         (FilterTokenRequest):
1402         (XSSAuditor):
1403
1404 2013-02-07  ChangSeok Oh  <shivamidow@gmail.com>
1405
1406         [GTK][AC] Implement opacity animation with clutter ac backend
1407         https://bugs.webkit.org/show_bug.cgi?id=108961
1408
1409         Reviewed by Gustavo Noronha Silva.
1410
1411         Implement opacity animation with clutter ac backend.
1412         Almost all implementations of GraphicsLayerClutter are based on mac port's one.
1413         PlatformClutterAnimation interfaces are also similar with mac port, but they are implemented
1414         with native clutter APIs.
1415         This patch includes only opacity animation related changes, so many APIs might be empty.
1416         Remained animations like rotation and translate will be dealt in another patches.
1417
1418         Covered by existing animation tests.
1419
1420         * GNUmakefile.list.am:
1421         * platform/graphics/clutter/GraphicsLayerActor.cpp:
1422         (graphicsLayerActorGetAnimationForKey):
1423         * platform/graphics/clutter/GraphicsLayerActor.h:
1424         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
1425         (WebCore):
1426         (WebCore::propertyIdToString):
1427         (WebCore::animationIdentifier):
1428         (WebCore::animationHasStepsTimingFunction):
1429         (WebCore::GraphicsLayerClutter::setOpacity):
1430         (WebCore::GraphicsLayerClutter::updateAnimations):
1431         (WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
1432         (WebCore::GraphicsLayerClutter::setupAnimation):
1433         (WebCore::GraphicsLayerClutter::timingFunctionForAnimationValue):
1434         (WebCore::GraphicsLayerClutter::createBasicAnimation):
1435         (WebCore::GraphicsLayerClutter::createKeyframeAnimation):
1436         (WebCore::GraphicsLayerClutter::setTransformAnimationKeyframes):
1437         (WebCore::GraphicsLayerClutter::setTransformAnimationEndpoints):
1438         (WebCore::GraphicsLayerClutter::createTransformAnimationsFromKeyframes):
1439         (WebCore::GraphicsLayerClutter::createAnimationFromKeyframes):
1440         (WebCore::GraphicsLayerClutter::addAnimation):
1441         (WebCore::GraphicsLayerClutter::removeClutterAnimationFromLayer):
1442         (WebCore::GraphicsLayerClutter::pauseClutterAnimationOnLayer):
1443         (WebCore::GraphicsLayerClutter::setAnimationOnLayer):
1444         (WebCore::GraphicsLayerClutter::setAnimationEndpoints):
1445         (WebCore::GraphicsLayerClutter::setAnimationKeyframes):
1446         (WebCore::GraphicsLayerClutter::animatedLayer):
1447         * platform/graphics/clutter/GraphicsLayerClutter.h:
1448         (GraphicsLayerClutter):
1449         (WebCore::GraphicsLayerClutter::LayerPropertyAnimation::LayerPropertyAnimation):
1450         (LayerPropertyAnimation):
1451         (WebCore::GraphicsLayerClutter::AnimationProcessingAction::AnimationProcessingAction):
1452         (AnimationProcessingAction):
1453         * platform/graphics/clutter/PlatformClutterAnimation.cpp: Added.
1454         (WebCore):
1455         (WebCore::timelineStartedCallback):
1456         (WebCore::toClutterAnimationMode):
1457         (WebCore::PlatformClutterAnimation::stringToAnimatedPropertyType):
1458         (WebCore::PlatformClutterAnimation::create):
1459         (WebCore::PlatformClutterAnimation::PlatformClutterAnimation):
1460         (WebCore::PlatformClutterAnimation::~PlatformClutterAnimation):
1461         (WebCore::PlatformClutterAnimation::supportsValueFunction):
1462         (WebCore::PlatformClutterAnimation::beginTime):
1463         (WebCore::PlatformClutterAnimation::setBeginTime):
1464         (WebCore::PlatformClutterAnimation::duration):
1465         (WebCore::PlatformClutterAnimation::setDuration):
1466         (WebCore::PlatformClutterAnimation::speed):
1467         (WebCore::PlatformClutterAnimation::setSpeed):
1468         (WebCore::PlatformClutterAnimation::timeOffset):
1469         (WebCore::PlatformClutterAnimation::setTimeOffset):
1470         (WebCore::PlatformClutterAnimation::repeatCount):
1471         (WebCore::PlatformClutterAnimation::setRepeatCount):
1472         (WebCore::PlatformClutterAnimation::autoreverses):
1473         (WebCore::PlatformClutterAnimation::setAutoreverses):
1474         (WebCore::PlatformClutterAnimation::fillMode):
1475         (WebCore::PlatformClutterAnimation::setFillMode):
1476         (WebCore::PlatformClutterAnimation::setTimingFunction):
1477         (WebCore::PlatformClutterAnimation::copyTimingFunctionFrom):
1478         (WebCore::PlatformClutterAnimation::isRemovedOnCompletion):
1479         (WebCore::PlatformClutterAnimation::setRemovedOnCompletion):
1480         (WebCore::PlatformClutterAnimation::isAdditive):
1481         (WebCore::PlatformClutterAnimation::setAdditive):
1482         (WebCore::PlatformClutterAnimation::valueFunction):
1483         (WebCore::PlatformClutterAnimation::setValueFunction):
1484         (WebCore::PlatformClutterAnimation::setFromValue):
1485         (WebCore::PlatformClutterAnimation::copyFromValueFrom):
1486         (WebCore::PlatformClutterAnimation::setToValue):
1487         (WebCore::PlatformClutterAnimation::copyToValueFrom):
1488         (WebCore::PlatformClutterAnimation::setValues):
1489         (WebCore::PlatformClutterAnimation::copyValuesFrom):
1490         (WebCore::PlatformClutterAnimation::setKeyTimes):
1491         (WebCore::PlatformClutterAnimation::copyKeyTimesFrom):
1492         (WebCore::PlatformClutterAnimation::setTimingFunctions):
1493         (WebCore::PlatformClutterAnimation::copyTimingFunctionsFrom):
1494         (WebCore::PlatformClutterAnimation::animationDidStart):
1495         (WebCore::PlatformClutterAnimation::timeline):
1496         (WebCore::PlatformClutterAnimation::addOpacityTransition):
1497         (WebCore::PlatformClutterAnimation::addAnimationForKey):
1498         (WebCore::PlatformClutterAnimation::removeAnimationForKey):
1499         * platform/graphics/clutter/PlatformClutterAnimation.h: Added.
1500         (WebCore):
1501         (PlatformClutterAnimation):
1502         (WebCore::PlatformClutterAnimation::animationType):
1503
1504 2013-02-07  Andrey Lushnikov  <lushnikov@chromium.org>
1505
1506         Web Inspector: highlight matching braces in DTE.
1507         https://bugs.webkit.org/show_bug.cgi?id=108697
1508
1509         Reviewed by Pavel Feldman.
1510
1511         Implement BraceMatcher class which for given position in textModel
1512         will respond with enclosing brace pair for that position.
1513         Make use of this class in DefaultTextEditor by handling
1514         selectionChange event. Make use of this class in "_closingBlockOffset"
1515         method of TextEditorMainPanel as this method implements similar
1516         functionality.
1517
1518         New test: inspector/editor/brace-matcher.html
1519
1520         * inspector/front-end/DefaultTextEditor.js:
1521         (WebInspector.TextEditorMainPanel):
1522         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1523         (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
1524         (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
1525         (WebInspector.TextEditorMainPanel.BraceHighlightController):
1526         (WebInspector.TextEditorMainPanel.BraceHighlightController.prototype.handleSelectionChange):
1527         * inspector/front-end/TextEditorHighlighter.js:
1528         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
1529         * inspector/front-end/TextEditorModel.js:
1530         (WebInspector.TextEditorModel.endsWithBracketRegex):
1531         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1532         * inspector/front-end/textEditor.css:
1533         (.text-editor-brace-match):
1534
1535 2013-02-05  Eunmi Lee  <eunmi15.lee@samsung.com> and Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1536
1537         [EFL][WK2] Refactoring initialization and shutdown codes of EFL libraries.
1538         https://bugs.webkit.org/show_bug.cgi?id=97173
1539
1540         Reviewed by Kenneth Rohde Christiansen, signed-off by Benjamin Poulain.
1541
1542         Remove codes to initialize and shutdown the EFL libraries from
1543         RunLoopEfl.cpp. Initialization and shutdown will be done in the
1544         ewk_main.cpp for ui process and WebProcessMainEfl.cpp for web
1545         process.
1546
1547         No new tests. This patch doesn't change behavior.
1548
1549         * platform/efl/RunLoopEfl.cpp:
1550         (WebCore::RunLoop::RunLoop):
1551         (WebCore::RunLoop::~RunLoop):
1552
1553 2013-02-07  Ilya Tikhonovsky  <loislo@chromium.org>
1554
1555         Unreviewed fix for inspector tests in debug.
1556         m_frontend should be initialized in constructor.
1557
1558         * inspector/InspectorMemoryAgent.cpp:
1559         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
1560
1561 2013-02-07  Yury Semikhatsky  <yurys@chromium.org>
1562
1563         Web Inspector: reduce number of native memory instrumentation categories
1564         https://bugs.webkit.org/show_bug.cgi?id=109146
1565
1566         Reviewed by Pavel Feldman.
1567
1568         Merged some of memory instrumentation categories.
1569
1570         * dom/WebCoreMemoryInstrumentation.cpp:
1571         (WebCore):
1572         * inspector/front-end/NativeMemorySnapshotView.js:
1573         (WebInspector.MemoryBlockViewProperties._initialize):
1574         * platform/PlatformMemoryInstrumentation.cpp:
1575         (WebCore):
1576
1577 2013-02-04  Kentaro Hara  <haraken@chromium.org>
1578
1579         [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
1580         https://bugs.webkit.org/show_bug.cgi?id=108579
1581
1582         Reviewed by Adam Barth.
1583
1584         Currently V8GCController::m_edenNodes stores a list of nodes whose
1585         wrappers have been created since the latest GC. The reason why we
1586         needed m_edenNodes is that there was no way to know a list of wrappers
1587         in the new space of V8. By using m_edenNodes, we had been approximating
1588         'wrappers in the new space' by 'wrappers that have been created since
1589         the latest GC'.
1590
1591         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
1592         can know a list of wrappers in the new space. By using the API, we can
1593         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
1594         need to keep m_edenNodes and that (2) it enables more precise minor
1595         DOM GC (Remember that m_edenNodes was just an approximation).
1596
1597         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
1598         The benchmark runs 300 iterations, each of which creates 100000 elements.
1599         The benchmark measures average, min, median, max and stdev of execution times
1600         of the 300 iterations. This will tell us the worst-case overhead of this change.
1601
1602         Before:
1603           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
1604
1605         After:
1606           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
1607
1608         As shown above, I couldn't observe any performance regression.
1609
1610         No tests. No change in behavior.
1611
1612         * bindings/v8/DOMDataStore.h:
1613         (WebCore::DOMDataStore::setWrapperInObject):
1614         * bindings/v8/DOMWrapperWorld.h:
1615         (DOMWrapperWorld):
1616         (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
1617         * bindings/v8/V8Binding.h:
1618         (WebCore):
1619         (WebCore::worldForEnteredContextIfIsolated):
1620         (WebCore::worldForEnteredContextWithoutContextCheck):
1621         * bindings/v8/V8DOMWindowShell.cpp:
1622         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1623         * bindings/v8/V8GCController.cpp:
1624         (WebCore::gcTree):
1625         (WebCore):
1626         (MinorGCWrapperVisitor):
1627         (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
1628         (WebCore::MinorGCWrapperVisitor::notifyFinished):
1629         (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
1630         (WebCore::V8GCController::gcPrologue):
1631         (WebCore::V8GCController::minorGCPrologue):
1632         (WebCore::V8GCController::majorGCPrologue):
1633         * bindings/v8/V8GCController.h:
1634         (V8GCController):
1635
1636 2013-02-06  Kent Tamura  <tkent@chromium.org>
1637
1638         REGRESSION(r141195): INPUT_MULTIPLE_FIELDS_UI: Space in a placeholder string is removed
1639         https://bugs.webkit.org/show_bug.cgi?id=109132
1640
1641         Reviewed by Hajime Morita.
1642
1643         <input  type=date> should be shown in Japanese UI as:
1644         [ 年 /月/日]
1645         But it is shown wrongly since r141195:
1646         [年 /月/日]
1647
1648         We should use white-space:pre.
1649
1650         No new tests. This change is not testable in WebKit because this
1651         requires a Japanese-localized UI string of Chromium.
1652
1653         * css/html.css:
1654         (input::-webkit-datetime-edit-fields-wrapper):
1655         Use white-space:pre instead of nowrap.
1656
1657 2013-02-06  Kentaro Hara  <haraken@chromium.org>
1658
1659         Remove DOMWindow::parseModalDialogFeatures()
1660         https://bugs.webkit.org/show_bug.cgi?id=109139
1661
1662         Reviewed by Kent Tamura.
1663
1664         No one uses the method. FIXME is saying:
1665
1666           // FIXME: We can remove this function once V8 showModalDialog is changed to use DOMWindow.
1667
1668         Given that V8's showModalDialog() is now using DOMWindow, we can remove it.
1669
1670         No tests. No change in behavior.
1671
1672         * page/DOMWindow.cpp:
1673         * page/DOMWindow.h:
1674         (DOMWindow):
1675
1676 2013-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
1677
1678         Web Inspector: Native Memory Instrumentation: reduce native heap snapshot runtime memory footprint
1679         https://bugs.webkit.org/show_bug.cgi?id=108824
1680
1681         Reviewed by Yury Semikhatsky.
1682
1683         New event was added into Memory domain addNativeSnapshotChunk.
1684         The content of HeapGraphSerializer is completely rewritten according to new API.
1685         Now it collects strings, nodes, edges and id2id map and pushes when the collected items count exceed a limit.
1686         On the frontend side I added new method for the new event and fixed the postprocessing step.
1687         MemoryInstrumentation was slightly changed. Now it reports base to real address map only after reporting the node with real address.
1688
1689         * inspector/HeapGraphSerializer.cpp:
1690         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
1691         (WebCore::HeapGraphSerializer::pushUpdateIfNeed):
1692         (WebCore):
1693         (WebCore::HeapGraphSerializer::pushUpdate):
1694         (WebCore::HeapGraphSerializer::reportNode):
1695         (WebCore::HeapGraphSerializer::reportNodeImpl):
1696         (WebCore::HeapGraphSerializer::reportEdge):
1697         (WebCore::HeapGraphSerializer::reportEdgeImpl):
1698         (WebCore::HeapGraphSerializer::reportLeaf):
1699         (WebCore::HeapGraphSerializer::reportBaseAddress):
1700         (WebCore::HeapGraphSerializer::finish):
1701         (WebCore::HeapGraphSerializer::reportMemoryUsage):
1702         (WebCore::HeapGraphSerializer::addString):
1703         (WebCore::HeapGraphSerializer::toNodeId):
1704         (WebCore::HeapGraphSerializer::addRootNode):
1705         * inspector/HeapGraphSerializer.h:
1706         (HeapGraphSerializer):
1707         * inspector/Inspector.json:
1708         * inspector/InspectorController.cpp:
1709         (WebCore::InspectorController::processMemoryDistribution):
1710         * inspector/InspectorMemoryAgent.cpp:
1711         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionMap):
1712         (WebCore):
1713         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1714         (WebCore::InspectorMemoryAgent::getProcessMemoryDistributionImpl):
1715         (WebCore::InspectorMemoryAgent::setFrontend):
1716         (WebCore::InspectorMemoryAgent::clearFrontend):
1717         * inspector/InspectorMemoryAgent.h:
1718         (InspectorMemoryAgent):
1719         * inspector/front-end/NativeHeapSnapshot.js:
1720         (WebInspector.NativeHeapSnapshot):
1721         (WebInspector.NativeHeapSnapshotNode.prototype.classIndex):
1722         (WebInspector.NativeHeapSnapshotNode.prototype.id):
1723         (WebInspector.NativeHeapSnapshotNode.prototype.name):
1724         (WebInspector.NativeHeapSnapshotNode.prototype.serialize):
1725         * inspector/front-end/NativeMemorySnapshotView.js:
1726         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
1727         (WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
1728         (WebInspector.NativeSnapshotProfileHeader):
1729         (WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
1730         (WebInspector.NativeSnapshotProfileHeader.prototype.addNativeSnapshotChunk):
1731         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
1732         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
1733         (WebInspector.NativeMemoryBarChart.prototype._updateStats):
1734         * inspector/front-end/ProfilesPanel.js:
1735         (WebInspector.ProfilesPanel):
1736         (WebInspector.MemoryDispatcher):
1737         (WebInspector.MemoryDispatcher.prototype.addNativeSnapshotChunk):
1738
1739 2013-02-03  Kentaro Hara  <haraken@chromium.org>
1740
1741         WebKit's focus events are UIEvents (instead of FocusEvent) and thus don't expose .relatedTarget
1742         https://bugs.webkit.org/show_bug.cgi?id=76216
1743
1744         Reviewed by Eric Seidel.
1745
1746         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-FocusEvent
1747
1748         This patch creates a new FocusEvent class with a relatedTarget attribute.
1749         Now when focusin or focusout events are dispatched, a FocusEvent is created with
1750         the relatedTarget attribute set accordingly.
1751
1752         Test: fast/events/related-target-focusevent.html
1753
1754         * CMakeLists.txt:
1755         * DerivedSources.cpp:
1756         * DerivedSources.make:
1757         * DerivedSources.pri:
1758         * GNUmakefile.list.am:
1759         * Target.pri:
1760         * WebCore.gypi:
1761         * WebCore.xcodeproj/project.pbxproj:
1762         * dom/DOMAllInOne.cpp:
1763         * dom/Event.cpp:
1764         (WebCore::Event::isFocusEvent):
1765         (WebCore):
1766         * dom/Event.h:
1767         (Event):
1768         * dom/EventContext.cpp:
1769         (WebCore::EventContext::handleLocalEvents):
1770         * dom/EventNames.in:
1771         * dom/FocusEvent.h: Added.
1772         (WebCore):
1773         (FocusEvent):
1774         (WebCore::FocusEvent::create):
1775         (WebCore::FocusEvent::relatedTarget):
1776         (WebCore::FocusEvent::setRelatedTarget):
1777         (WebCore::toFocusEvent):
1778         * dom/FocusEvent.idl: Added.
1779         * dom/Node.cpp:
1780         (WebCore::Node::dispatchFocusInEvent):
1781         (WebCore::Node::dispatchFocusOutEvent):
1782
1783 2013-02-06  Kent Tamura  <tkent@chromium.org>
1784
1785         Fix style of RenderTheme.cpp and RenderThemeChromiumWin.h
1786         https://bugs.webkit.org/show_bug.cgi?id=109137
1787
1788         Reviewed by Kentaro Hara.
1789
1790         No new tests. Just style fix.
1791
1792         * rendering/RenderTheme.cpp:
1793         (WebCore::RenderTheme::adjustStyle):
1794         (WebCore::RenderTheme::paint):
1795         (WebCore::RenderTheme::paintBorderOnly):
1796         (WebCore::RenderTheme::paintDecorations):
1797         (WebCore::RenderTheme::isControlStyled):
1798         (WebCore::RenderTheme::adjustButtonStyle):
1799         (WebCore::RenderTheme::systemColor):
1800         * rendering/RenderThemeChromiumWin.h:
1801         (WebCore::ThemeData::ThemeData):
1802         (ThemeData):
1803         (RenderThemeChromiumWin):
1804         (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
1805         (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
1806
1807 2013-02-06  Kent Tamura  <tkent@chromium.org>
1808
1809         Fix style of Chrome.h and Page.h
1810         https://bugs.webkit.org/show_bug.cgi?id=109138
1811
1812         Reviewed by Ryosuke Niwa.
1813
1814         No new tests. Just style fixes.
1815
1816         * page/Chrome.h:
1817         (WebCore):
1818         (Chrome):
1819         (WebCore::Chrome::client):
1820         * page/Page.h:
1821         (JSC):
1822         (WebCore):
1823         (WebCore::ArenaSize::ArenaSize):
1824         (ArenaSize):
1825         (Page):
1826         (PageClients):
1827         (WebCore::Page::theme):
1828         (WebCore::Page::canStartMedia):
1829         (WebCore::Page::editorClient):
1830         (WebCore::Page::plugInClient):
1831         (WebCore::Page::mainFrame):
1832         (WebCore::Page::groupPtr):
1833         (WebCore::Page::incrementSubframeCount):
1834         (WebCore::Page::decrementSubframeCount):
1835         (WebCore::Page::subframeCount):
1836         (WebCore::Page::chrome):
1837         (WebCore::Page::dragCaretController):
1838         (WebCore::Page::dragController):
1839         (WebCore::Page::focusController):
1840         (WebCore::Page::contextMenuController):
1841         (WebCore::Page::inspectorController):
1842         (WebCore::Page::pointerLockController):
1843         (WebCore::Page::validationMessageClient):
1844         (WebCore::Page::settings):
1845         (WebCore::Page::progress):
1846         (WebCore::Page::backForward):
1847         (WebCore::Page::featureObserver):
1848         (WebCore::Page::viewMode):
1849         (WebCore::Page::setTabKeyCyclesThroughElements):
1850         (WebCore::Page::tabKeyCyclesThroughElements):
1851         (WebCore::Page::scheduledRunLoopPairs):
1852         (WebCore::Page::defersLoading):
1853         (WebCore::Page::mediaVolume):
1854         (WebCore::Page::pageScaleFactor):
1855         (WebCore::Page::deviceScaleFactor):
1856         (WebCore::Page::shouldSuppressScrollbarAnimations):
1857         (WebCore::Page::pagination):
1858         (WebCore::Page::isOnscreen):
1859         (WebCore::Page::scriptedAnimationsSuspended):
1860         (WebCore::Page::debugger):
1861         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
1862         (WebCore::Page::customHTMLTokenizerTimeDelay):
1863         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
1864         (WebCore::Page::customHTMLTokenizerChunkSize):
1865         (WebCore::Page::areMemoryCacheClientCallsEnabled):
1866         (WebCore::Page::setEditable):
1867         (WebCore::Page::isEditable):
1868         (WebCore::Page::displayID):
1869         (WebCore::Page::layoutMilestones):
1870         (WebCore::Page::setIsPainting):
1871         (WebCore::Page::isPainting):
1872         (WebCore::Page::alternativeTextClient):
1873         (WebCore::Page::checkSubframeCountConsistency):
1874         (WebCore::Page::group):
1875
1876 2013-02-06  Mike West  <mkwst@chromium.org>
1877
1878         Entity-header extension headers honored on 304 responses.
1879         https://bugs.webkit.org/show_bug.cgi?id=72414
1880
1881         Reviewed by Alexey Proskuryakov.
1882
1883         This patch ports Chromium's network stack logic governing header
1884         updates after resource revalidation. Generally, headers sent with 304
1885         responses ought to update the original cached resource's headers.
1886         Certain headers should never be sent with 304 responses, and we should
1887         ignore them if a misconfigured server sends them anyway.
1888
1889         Currently, WebCore ignores all headers prefixed with 'content-'. This
1890         patch adds 'x-content-' and 'x-webkit-' to the list, as well as specific
1891         headers like 'upgrade', 'trailer', and others that the Chromium network
1892         stack currently ignores.
1893
1894         The tests verify that those headers with visible effect are correctly
1895         handled: 'x-frame-options', 'content-security-policy', and
1896         'x-xss-protection'.
1897
1898         Tests: http/tests/security/XFrameOptions/x-frame-options-cached.html
1899                http/tests/security/contentSecurityPolicy/cached-frame-csp.html
1900                http/tests/security/xssAuditor/cached-frame.html
1901
1902         * loader/cache/CachedResource.cpp:
1903         (WebCore):
1904         (WebCore::CachedResource::updateResponseAfterRevalidation):
1905             This patch adds two arrays containing the specific headers to
1906             ignore and the prefixes to ignore. These lists are processed in
1907             shouldUpdateHeaderAfterRevalidation.
1908             CachedResource::updateResponseAfterRevalidation relies on this new
1909             method when processing revalidated resources.
1910
1911         * loader/cache/CachedResource.cpp:
1912         (WebCore):
1913         (WebCore::shouldUpdateHeaderAfterRevalidation):
1914         (WebCore::CachedResource::updateResponseAfterRevalidation):
1915
1916 2013-02-06  Tom Sepez  <tsepez@chromium.org>
1917
1918         document.referrer leakage with XSS Auditor page block
1919         https://bugs.webkit.org/show_bug.cgi?id=109089
1920
1921         Reviewed by Adam Barth.
1922
1923         Pass "about:blank" as referrer instead of "" so that the actual page
1924         is not leaked when empty referrers are replaced later on in the
1925         request.
1926         
1927         * html/parser/XSSAuditorDelegate.cpp:
1928         (WebCore::XSSAuditorDelegate::didBlockScript):
1929
1930 2013-02-06  Kentaro Hara  <haraken@chromium.org>
1931
1932         [V8] Make an Isolate parameter mandatory in GetTemplate() and GetRawTemplate()
1933         https://bugs.webkit.org/show_bug.cgi?id=109026
1934
1935         Reviewed by Adam Barth.
1936
1937         Now it's time to kill an optional Isolate parameter.
1938
1939         No tests. No change in behavior.
1940
1941         * bindings/scripts/CodeGeneratorV8.pm:
1942         (GenerateHeader):
1943         (GenerateNamedConstructorCallback):
1944         (GenerateImplementation):
1945         * bindings/scripts/test/V8/V8Float64Array.cpp:
1946         (WebCore::V8Float64Array::GetRawTemplate):
1947         (WebCore::V8Float64Array::GetTemplate):
1948         * bindings/scripts/test/V8/V8Float64Array.h:
1949         (V8Float64Array):
1950         (WebCore::V8Float64Array::installPerContextPrototypeProperties):
1951         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1952         (WebCore::V8TestActiveDOMObject::GetRawTemplate):
1953         (WebCore::V8TestActiveDOMObject::GetTemplate):
1954         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1955         (V8TestActiveDOMObject):
1956         (WebCore::V8TestActiveDOMObject::installPerContextPrototypeProperties):
1957         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1958         (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
1959         (WebCore::V8TestCustomNamedGetter::GetTemplate):
1960         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1961         (V8TestCustomNamedGetter):
1962         (WebCore::V8TestCustomNamedGetter::installPerContextPrototypeProperties):
1963         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1964         (WebCore::V8TestEventConstructor::GetRawTemplate):
1965         (WebCore::V8TestEventConstructor::GetTemplate):
1966         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1967         (V8TestEventConstructor):
1968         (WebCore::V8TestEventConstructor::installPerContextPrototypeProperties):
1969         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1970         (WebCore::V8TestEventTarget::GetRawTemplate):
1971         (WebCore::V8TestEventTarget::GetTemplate):
1972         * bindings/scripts/test/V8/V8TestEventTarget.h:
1973         (V8TestEventTarget):
1974         (WebCore::V8TestEventTarget::installPerContextPrototypeProperties):
1975         * bindings/scripts/test/V8/V8TestException.cpp:
1976         (WebCore::V8TestException::GetRawTemplate):
1977         (WebCore::V8TestException::GetTemplate):
1978         * bindings/scripts/test/V8/V8TestException.h:
1979         (V8TestException):
1980         (WebCore::V8TestException::installPerContextPrototypeProperties):
1981         * bindings/scripts/test/V8/V8TestInterface.cpp:
1982         (WebCore::V8TestInterface::GetRawTemplate):
1983         (WebCore::V8TestInterface::GetTemplate):
1984         * bindings/scripts/test/V8/V8TestInterface.h:
1985         (V8TestInterface):
1986         (WebCore::V8TestInterface::installPerContextPrototypeProperties):
1987         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1988         (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
1989         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1990         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1991         (V8TestMediaQueryListListener):
1992         (WebCore::V8TestMediaQueryListListener::installPerContextPrototypeProperties):
1993         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1994         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1995         (WebCore::V8TestNamedConstructor::GetRawTemplate):
1996         (WebCore::V8TestNamedConstructor::GetTemplate):
1997         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1998         (V8TestNamedConstructor):
1999         (WebCore::V8TestNamedConstructor::installPerContextPrototypeProperties):
2000         * bindings/scripts/test/V8/V8TestNode.cpp:
2001         (WebCore::V8TestNode::GetRawTemplate):
2002         (WebCore::V8TestNode::GetTemplate):
2003         * bindings/scripts/test/V8/V8TestNode.h:
2004         (V8TestNode):
2005         (WebCore::V8TestNode::installPerContextPrototypeProperties):
2006         * bindings/scripts/test/V8/V8TestObj.cpp:
2007         (WebCore::V8TestObj::GetRawTemplate):
2008         (WebCore::V8TestObj::GetTemplate):
2009         (WebCore::V8TestObj::installPerContextPrototypeProperties):
2010         * bindings/scripts/test/V8/V8TestObj.h:
2011         (V8TestObj):
2012         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2013         (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
2014         (WebCore::V8TestOverloadedConstructors::GetTemplate):
2015         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2016         (V8TestOverloadedConstructors):
2017         (WebCore::V8TestOverloadedConstructors::installPerContextPrototypeProperties):
2018         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2019         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
2020         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
2021         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2022         (V8TestSerializedScriptValueInterface):
2023         (WebCore::V8TestSerializedScriptValueInterface::installPerContextPrototypeProperties):
2024         * bindings/v8/V8PerContextData.cpp:
2025         (WebCore::V8PerContextData::constructorForTypeSlowCase):
2026         * bindings/v8/WrapperTypeInfo.h:
2027         (WebCore):
2028         (WebCore::WrapperTypeInfo::installPerContextPrototypeProperties):
2029
2030 2013-02-06  Terry Anderson  <tdanderson@chromium.org>
2031
2032         Add support for gesture scroll events that do not propagate to enclosing scrollables
2033         https://bugs.webkit.org/show_bug.cgi?id=108849
2034
2035         Reviewed by Antonio Gomes.
2036
2037         Tests: fast/events/touch/gesture/touch-gesture-scroll-div-not-propagated.html
2038                fast/events/touch/gesture/touch-gesture-scroll-iframe-not-propagated.html
2039                fast/events/touch/gesture/touch-gesture-scroll-page-not-propagated.html
2040
2041         Rename RenderLayer::scrollByRecursively() to RenderLayer::scrollBy() and add a parameter
2042         of type RenderLayer::ScrollPropagation to specify whether or not the scroll should
2043         propagate to its parent by recursing. Implement RenderLayer::scrollByRecursively() as a
2044         call to RenderLayer::scrollBy() with argument RenderLayer::ShouldPropagateScroll so
2045         that all existing calls to the function still produce the correct behavior.
2046
2047         In EventHandler::handleGestureScrollUpdate(), call RenderLayer::scrollBy() with
2048         argument RenderLayer::ShouldPropagateScroll if |gestureEvent| is a GestureScrollUpdate
2049         or instead with argument RenderLayer::DontPropagateScroll if |gestureEvent| is a
2050         GestureScrollUpdateWithoutPropagation.
2051
2052         * dom/GestureEvent.cpp:
2053         (WebCore::GestureEvent::create):
2054         * page/EventHandler.cpp:
2055         (WebCore::EventHandler::handleGestureEvent):
2056         (WebCore::EventHandler::handleGestureScrollUpdate):
2057         * platform/PlatformEvent.h:
2058         * platform/Scrollbar.cpp:
2059         (WebCore::Scrollbar::gestureEvent):
2060         * platform/chromium/PopupContainer.cpp:
2061         (WebCore::PopupContainer::handleGestureEvent):
2062         * rendering/RenderLayer.cpp:
2063         (WebCore::RenderLayer::scrollByRecursively):
2064         (WebCore):
2065         (WebCore::RenderLayer::scrollBy):
2066         * rendering/RenderLayer.h:
2067
2068 2013-02-06  Ojan Vafai  <ojan@chromium.org>
2069
2070         [Chromium] table-section-overflow-clip-crash.html hits an assert
2071         https://bugs.webkit.org/show_bug.cgi?id=108594
2072
2073         Reviewed by Levi Weintraub.
2074
2075         When a counter calls setNeedsLayout, it also marks it's containing blocks
2076         as needing layout, so we need to clear the setNeedsLayoutIsForbidden bit on the
2077         containing blocks as well as the counter itself.
2078
2079         Also, use RAII objects for all the places where we clear this bit and make
2080         the setter/getter for it private to RenderObject.
2081
2082         * rendering/RenderCounter.cpp:
2083         (WebCore::RenderCounter::computePreferredLogicalWidths):
2084         * rendering/RenderObject.cpp:
2085         (WebCore::RenderObject::SetLayoutNeededForbiddenScope::SetLayoutNeededForbiddenScope):
2086         (WebCore::RenderObject::markContainingBlocksForLayout):
2087         * rendering/RenderObject.h:
2088         (SetLayoutNeededForbiddenScope):
2089         (RenderObject):
2090         (WebCore::RenderObject::isSetNeedsLayoutForbidden):
2091         (WebCore::RenderObject::setNeedsLayoutIsForbidden):
2092         * rendering/RenderQuote.cpp:
2093         (WebCore::RenderQuote::computePreferredLogicalWidths):
2094         * rendering/RenderTableSection.cpp:
2095         (WebCore::RenderTableSection::calcRowLogicalHeight):
2096         (WebCore::RenderTableSection::layoutRows):
2097         * rendering/mathml/RenderMathMLOperator.cpp:
2098         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
2099         * rendering/mathml/RenderMathMLRoot.cpp:
2100         (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
2101         * rendering/mathml/RenderMathMLRow.cpp:
2102         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
2103
2104 2013-02-06  Ojan Vafai  <ojan@chromium.org>
2105
2106         display:none file upload button crashes
2107         https://bugs.webkit.org/show_bug.cgi?id=109102
2108
2109         Reviewed by Levi Weintraub.
2110
2111         Test: fast/forms/file/display-none-upload-button.html
2112
2113         * rendering/RenderFileUploadControl.cpp:
2114         (WebCore::nodeWidth):
2115         (WebCore::RenderFileUploadControl::paintObject):
2116         Having an upload button doesn't mean we have a rendered upload button.
2117         Null check the renderer before trying to access it.
2118
2119 2013-02-06  Dirk Schulze  <dschulze@adobe.com>
2120
2121         Context's currentPath should check for passed type
2122         https://bugs.webkit.org/show_bug.cgi?id=109097
2123
2124         Reviewed by Dean Jackson.
2125
2126         Add check for passed pointer and return earlier.
2127
2128         Test: fast/canvas/canvas-currentPath-crash.html
2129
2130         * html/canvas/CanvasRenderingContext2D.cpp:
2131         (WebCore::CanvasRenderingContext2D::setCurrentPath):
2132
2133 2013-02-06  Rafael Weinstein  <rafaelw@chromium.org>
2134
2135         [HTMLTemplateElement] Non </template> end tags should be ignored in "template contents" insertion mode.
2136         https://bugs.webkit.org/show_bug.cgi?id=109090
2137
2138         Reviewed by Adam Barth.
2139
2140         https://dvcs.w3.org/hg/webcomponents/raw-file/38536d37fb82/spec/templates/index.html#template-contents-insertion-mode.
2141
2142         Test added to html5lib suite.
2143
2144         * html/parser/HTMLTreeBuilder.cpp:
2145         (WebCore::HTMLTreeBuilder::processEndTag):
2146
2147 2013-02-06  Alexandre Elias  <aelias@chromium.org>
2148
2149         Make ScrollView::paint() clip by visibleContentRect
2150         https://bugs.webkit.org/show_bug.cgi?id=108888
2151
2152         Reviewed by Levi Weintraub.
2153
2154         When applyPageScaleFactorInCompositor or fixedVisibleContentRect
2155         are used, frameRect() and visibleContentRect(true).size() are
2156         no longer synonyms, and the latter is the one that should be
2157         used for clipping paints.
2158
2159         New WebFrameTest: pageScaleFactorScalesPaintClip.
2160
2161         * platform/ScrollView.cpp:
2162         (WebCore::ScrollView::paint):
2163
2164 2013-02-06  Dima Gorbik  <dgorbik@apple.com>
2165
2166         Store the language internally instead of using lang attribute for WebVTT nodes
2167         https://bugs.webkit.org/show_bug.cgi?id=108858
2168
2169         Reviewed by Eric Carlson.
2170
2171         Only language webvtt elements should have a lang attribute so we have to store
2172         the language internally in the element. Refactored the code to make 
2173         computeInheritedLanguage virtual.
2174
2175         Existing tests were modified to cover this case.
2176
2177         * css/SelectorChecker.cpp:
2178         (WebCore::SelectorChecker::checkOne):
2179         * html/track/WebVTTElement.cpp:
2180         (WebCore::WebVTTElement::WebVTTElement):
2181         (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
2182         (WebCore::WebVTTElement::createEquivalentHTMLElement): clone the internal language property.
2183         * html/track/WebVTTElement.h:
2184         (WebCore::WebVTTElement::language):
2185         (WebCore::WebVTTElement::setLanguage):
2186         * html/track/WebVTTParser.cpp: only set the lang attribute for language objects.
2187         (WebCore::WebVTTParser::constructTreeFromToken):
2188
2189 2013-02-06  Levi Weintraub  <leviw@chromium.org>
2190
2191         Negative text indents can break RenderBlock's inline maximum preferred width calculation
2192         https://bugs.webkit.org/show_bug.cgi?id=108973
2193
2194         Reviewed by Emil A Eklund.
2195
2196         Change two quirks about to how we calculate a block's inline preferred width with
2197         text-indent.
2198
2199         First, re-use text-indent that's first applied to floats on text that follows it.
2200         This matches Layout, as otherwise we can prematurely wrap text when there's a negative
2201         margin on a block starting with a float. This also matches FireFox.
2202
2203         Second, correct how the max preferred width is calculated in the presence of a negative
2204         text-indent. If the text-indent is more negative than the first text line break, we
2205         update the value to be the remainder. Previously, we added this remaining negative value
2206         to subsequent minimum and maximum preferred width calculations (until the remainder was
2207         gone). This is wrong for the max preferred width, as we're adding the negative value more
2208         than once, and leads to a max preferred width that's smaller than our line.
2209
2210         Test: fast/css/negative-text-indent-in-inline-block.html
2211
2212         * rendering/RenderBlock.cpp:
2213         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2214
2215 2013-02-06  Mark Lam  <mark.lam@apple.com>
2216
2217         Fix broken release builds, greening the bots.
2218         https://bugs.webkit.org/show_bug.cgi?id=107475.
2219
2220         Not reviewed.
2221
2222         No new tests.
2223
2224         * Modules/webdatabase/DatabaseManager.cpp:
2225         (WebCore::logOpenDatabaseError):
2226
2227 2013-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2228
2229         Unreviewed, rolling out r142025.
2230         http://trac.webkit.org/changeset/142025
2231         https://bugs.webkit.org/show_bug.cgi?id=109091
2232
2233         broke the build (Requested by tdanderson on #webkit).
2234
2235         * dom/GestureEvent.cpp:
2236         (WebCore::GestureEvent::create):
2237         * page/EventHandler.cpp:
2238         (WebCore::EventHandler::handleGestureEvent):
2239         (WebCore::EventHandler::handleGestureScrollUpdate):
2240         * platform/PlatformEvent.h:
2241         * platform/Scrollbar.cpp:
2242         (WebCore::Scrollbar::gestureEvent):
2243         * platform/chromium/PopupContainer.cpp:
2244         (WebCore::PopupContainer::handleGestureEvent):
2245         * rendering/RenderLayer.cpp:
2246         (WebCore::RenderLayer::scrollByRecursively):
2247         * rendering/RenderLayer.h:
2248
2249 2013-02-06  Mark Lam  <mark.lam@apple.com>
2250
2251         Split openDatabase() between front and back end work.
2252         https://bugs.webkit.org/show_bug.cgi?id=107475.
2253
2254         Reviewed by Anders Carlsson.
2255
2256         The main work of splitting DatabaseManager::openDatabase() is in
2257         refactoring how DatabaseTracker::canEstablishDatabase() works. It used
2258         to check for adequate space quota, and if the check fails, it would call
2259         back into the client from inside canEstablishDatabase(). The call back
2260         allows the client to update the quota (if appropriate). Thereafter,
2261         canEstablishDatabase() will retry its quota check.
2262
2263         In a webkit2 world, we'll want to minimize the traffic between the
2264         client (script side) and the server (sqlite db side), and ideally, we
2265         don't want the server to call back to the client. Note: the
2266         DatabaseTracker belongs on the server side.
2267
2268         To achieve this, we split canEstablishDatabase() into 2 parts: the
2269         checks before the call back to the client, and the checks after.
2270         The first part will retain the name canEstablishDatabase(), and the
2271         second part will be named retryCanEstablishDatabase().
2272         We also added a DatabaseServer::openDatabase() function that can be
2273         called with a retry flag.
2274
2275         The client side DatabaseManager::openDatabase() will call
2276         DatabaseServer::openDatabase(), which then calls canEstablishDatabase()
2277         to do its quota check. If there is enough quota,
2278         DatabaseServer::openDatabase() will proceed to open the backend database
2279         without return to the client first. The opened database will be returned
2280         to the client.
2281
2282         If DatabaseServer::openDatabase() finds inadequate quota the first time,
2283         it will return with a DatabaseSizeExceededQuota error. The DatabaseManager
2284         (on the client side) will check for this error and call back to its client
2285         for an opportunity to increase the quota. Thereafter, the DatabaseManager
2286         will call DatabaseServer::openDatabase() again. This time,
2287         DatabaseServer::openDatabase() will call retryCanEstablishDatabase() to
2288         check the quota, and then open the backend database if there is enough
2289         quota.
2290
2291         No new tests.
2292
2293         * Modules/webdatabase/AbstractDatabaseServer.h:
2294         * Modules/webdatabase/DOMWindowWebDatabase.cpp:
2295         (WebCore::DOMWindowWebDatabase::openDatabase):
2296         * Modules/webdatabase/Database.cpp:
2297         (WebCore::Database::create):
2298         * Modules/webdatabase/Database.h:
2299         (Database):
2300         * Modules/webdatabase/DatabaseBackend.cpp:
2301         (WebCore::DatabaseBackend::performOpenAndVerify):
2302         * Modules/webdatabase/DatabaseBackend.h:
2303         (DatabaseBackend):
2304         * Modules/webdatabase/DatabaseBackendAsync.cpp:
2305         (WebCore::DatabaseBackendAsync::openAndVerifyVersion):
2306         (WebCore::DatabaseBackendAsync::performOpenAndVerify):
2307         * Modules/webdatabase/DatabaseBackendAsync.h:
2308         (DatabaseBackendAsync):
2309         * Modules/webdatabase/DatabaseBackendSync.cpp:
2310         (WebCore::DatabaseBackendSync::openAndVerifyVersion):
2311         * Modules/webdatabase/DatabaseBackendSync.h:
2312         (DatabaseBackendSync):
2313         * Modules/webdatabase/DatabaseError.h:
2314         (WebCore::ENUM_CLASS):
2315         * Modules/webdatabase/DatabaseManager.cpp:
2316         (WebCore::DatabaseManager::exceptionCodeForDatabaseError):
2317         (WebCore::DatabaseManager::openDatabaseBackend):
2318         (WebCore::DatabaseManager::openDatabase):
2319         (WebCore::DatabaseManager::openDatabaseSync):
2320         * Modules/webdatabase/DatabaseManager.h:
2321         (DatabaseManager):
2322         * Modules/webdatabase/DatabaseServer.cpp:
2323         (WebCore::DatabaseServer::openDatabase):
2324         (WebCore::DatabaseServer::createDatabase):
2325         * Modules/webdatabase/DatabaseServer.h:
2326         * Modules/webdatabase/DatabaseSync.cpp:
2327         (WebCore::DatabaseSync::create):
2328         * Modules/webdatabase/DatabaseSync.h:
2329         (DatabaseSync):
2330         * Modules/webdatabase/DatabaseTracker.cpp:
2331         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
2332         (WebCore::DatabaseTracker::canEstablishDatabase):
2333         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
2334         * Modules/webdatabase/DatabaseTracker.h:
2335         (DatabaseTracker):
2336         * Modules/webdatabase/WorkerContextWebDatabase.cpp:
2337         (WebCore::WorkerContextWebDatabase::openDatabase):
2338         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
2339         * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
2340         (WebCore::DatabaseTracker::canEstablishDatabase):
2341         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
2342
2343 2013-02-06  Tony Gentilcore  <tonyg@chromium.org>
2344
2345         Fix CompactHTMLToken's copy ctor to copy all fields
2346         https://bugs.webkit.org/show_bug.cgi?id=109076
2347
2348         Reviewed by Adam Barth.
2349
2350         This was introduced by me in r142004. Without this patch we fail all tests when using the background parser.
2351
2352         Also don't use getters in copy ctor.
2353
2354         No new tests because no new functionality.
2355
2356         * html/parser/CompactHTMLToken.cpp:
2357         (WebCore::CompactHTMLToken::CompactHTMLToken):
2358
2359 2013-02-06  Brian Salomon  <bsalomon@google.com>
2360
2361         [Chromium/Skia] Remove use of deprecated Skia names
2362         https://bugs.webkit.org/show_bug.cgi?id=109085
2363
2364         Reviewed by Stephen White.
2365
2366         Tested by every existing canvas2d test.
2367
2368         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
2369         (WebCore::GraphicsContext3DPrivate::grContext):
2370
2371 2013-02-06  Terry Anderson  <tdanderson@chromium.org>
2372
2373         Add support for gesture scroll events that do not propagate to enclosing scrollables
2374         https://bugs.webkit.org/show_bug.cgi?id=108849
2375
2376         Reviewed by Antonio Gomes.
2377
2378         Tests: fast/events/touch/gesture/touch-gesture-scroll-div-not-propagated.html
2379                fast/events/touch/gesture/touch-gesture-scroll-iframe-not-propagated.html
2380                fast/events/touch/gesture/touch-gesture-scroll-page-not-propagated.html
2381
2382         Rename RenderLayer::scrollByRecursively() to RenderLayer::scrollBy() and add a parameter
2383         of type RenderLayer::ScrollPropagation to specify whether or not the scroll should
2384         propagate to its parent by recursing. Implement RenderLayer::scrollByRecursively() as a
2385         call to RenderLayer::scrollBy() with argument RenderLayer::ShouldPropagateScroll so
2386         that all existing calls to the function still produce the correct behavior.
2387
2388         In EventHandler::handleGestureScrollUpdate(), call RenderLayer::scrollBy() with
2389         argument RenderLayer::ShouldPropagateScroll if |gestureEvent| is a GestureScrollUpdate
2390         or instead with argument RenderLayer::DontPropagateScroll if |gestureEvent| is a
2391         GestureScrollUpdateWithoutPropagation.
2392
2393         * dom/GestureEvent.cpp:
2394         (WebCore::GestureEvent::create):
2395         * page/EventHandler.cpp:
2396         (WebCore::EventHandler::handleGestureEvent):
2397         (WebCore::EventHandler::handleGestureScrollUpdate):
2398         * platform/PlatformEvent.h:
2399         * platform/Scrollbar.cpp:
2400         (WebCore::Scrollbar::gestureEvent):
2401         * platform/chromium/PopupContainer.cpp:
2402         (WebCore::PopupContainer::handleGestureEvent):
2403         * rendering/RenderLayer.cpp:
2404         (WebCore::RenderLayer::scrollByRecursively):
2405         (WebCore):
2406         (WebCore::RenderLayer::scrollBy):
2407         * rendering/RenderLayer.h:
2408
2409 2013-02-06  Ryosuke Niwa  <rniwa@webkit.org>
2410
2411         REGRESSION(r141136): Apple's internal PLT test suite doesn't finish
2412         https://bugs.webkit.org/show_bug.cgi?id=108380
2413
2414         Reviewed by Alexey Proskuryakov.
2415
2416         Re-enable the main resource cache since the regression had been fixed in r141615.
2417
2418         * loader/cache/CachedResourceLoader.cpp:
2419         (WebCore::CachedResourceLoader::requestResource):
2420
2421 2013-02-06  Uday Kiran  <udaykiran@motorola.com>
2422
2423         Implement 'vmax' from CSS3 values and units
2424         https://bugs.webkit.org/show_bug.cgi?id=91440
2425
2426         Reviewed by Antti Koivisto.
2427
2428         vmax is implemented as primitive length unit.
2429         New length type ViewportPercentageMax is added and included support for fetching the value
2430         of this viewport percentage unit based on current viewport size.
2431
2432         The specification related to this implementation is
2433         http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.
2434
2435         Tests: css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmax-absolute.html
2436                css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmax.html
2437
2438         * css/CSSGrammar.y.in: Added vmax support.
2439         * css/CSSParser.cpp: Parsing of vmax unit.
2440         (WebCore::CSSParser::validUnit): Added vmax to valid units.
2441         (WebCore::CSSParser::createPrimitiveNumericValue): Added vmax to primitive untis.
2442         (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitive for vmax.
2443         (WebCore::CSSParser::detectNumberToken): Parsing of vmax token.
2444         * css/CSSParserValues.cpp:
2445         (WebCore::CSSParserValue::createCSSValue): Added support for vmax.
2446         * css/CSSPrimitiveValue.cpp:
2447         (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vmax.
2448         (WebCore::unitCategory): Ditto.
2449         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
2450         (WebCore::CSSPrimitiveValue::cleanup):
2451         (WebCore::CSSPrimitiveValue::customCssText): Added support for vmax.
2452         (WebCore::CSSPrimitiveValue::viewportPercentageLength): Function to create the Length structure for the viewport-percentage unit types.
2453         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
2454         * css/CSSPrimitiveValue.h:
2455         (WebCore::CSSPrimitiveValue::isViewportPercentageLength): Checks whether the primitive value is ViewportPercentage Length.
2456         * css/CSSPrimitiveValue.idl: Added support for vmax.
2457         * css/LengthFunctions.cpp: Calcuation of length value based on the current viewport size.
2458         (WebCore::minimumValueForLength):
2459         (WebCore::valueForLength):
2460         (WebCore::floatValueForLength):
2461         * platform/Length.h:
2462         (WebCore::Length::isViewportPercentage): To check the Length is of type ViewportPercentage.
2463         * rendering/RenderBox.cpp:
2464         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2465         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2466
2467 2013-02-06  Pravin D  <pravind.2k4@gmail.com>
2468
2469         When a block element is made inline positioned and has static left and right,  it does not follow inline formatting context
2470         https://bugs.webkit.org/show_bug.cgi?id=91665
2471
2472         Reviewed by Julien Chaffraix.
2473
2474         Out-of-flow-positioned elements have their display overriden to BLOCK. When a static block elements 
2475         changes to inline out-of-flow-positioned or vice-versa, the element current and previous display properties 
2476         are same. This causes the element to follow a wrong flow context(in this case Block context) and the element
2477         is laid out incorrectly. The patch fixes the issue by reattaching the renderers of the node whenever either
2478         position property changes or when its floating property changes.
2479         Also the cases when an out-of-flow-positioned/floating element changes to static/non-floating element where
2480         being specially handled. As reattaching the renderers in the above cases correctly handles the above cases,
2481         special handling for such cases is no more required and the related code can be safely removed.
2482  
2483         Reattaching renderers for the afore mentioned issues takes a different(longer) code path. Performance measurements
2484         summary for the same is as follows:
2485                                                               % increase in time
2486          Absolute-block-to-static-block                            2.00
2487          Absolute-inline-to-static-block                           1.21
2488          Absolute-inline-to-static-inline                          1.18
2489          Static-block-to-absolute-block                            1.13
2490          Static-inline-to-absolute-inline                          1.35
2491          Floating-block-non-floating-block                         0.85
2492          Floating-inline-non-floating-block                        0.66
2493          Floating-inline-non-floating-inline                       0.57
2494          Non-floating-block-floating-block                         0.12
2495          Non-floating-inline-floating-inline                       1.36
2496
2497         Tests: fast/dynamic/absolute-positioned-to-static-positioned.html
2498                fast/dynamic/floating-to-non-floating.html
2499                fast/dynamic/non-floating-to-floating.html
2500                fast/dynamic/static-positioned-to-absolute-positioned.html
2501
2502         * dom/Node.cpp:
2503         (WebCore::Node::diff):
2504           Return detach in the following conditions:
2505              1) Element changes to out-of-flow-positioned or vice-versa.
2506              2) Element becomes floating or vice-versa.
2507
2508         * rendering/RenderBlock.cpp:
2509         (WebCore):
2510         * rendering/RenderBlock.h:
2511         (RenderBlock):
2512         * rendering/RenderBoxModelObject.h:
2513         (RenderBoxModelObject):
2514         * rendering/RenderInline.cpp:
2515         (WebCore):
2516         * rendering/RenderInline.h:
2517         (RenderInline):
2518         * rendering/RenderObject.cpp:
2519         (WebCore):
2520         (WebCore::RenderObject::styleWillChange):
2521         (WebCore::RenderObject::styleDidChange):
2522         * rendering/RenderObject.h:
2523         (RenderObject):
2524           The fix in Node::diff() obsoletes some code. The above deletion are part of this dead code cleanup.
2525
2526 2013-02-06  Chris Fleizach  <cfleizach@apple.com>
2527
2528         AX: if <html> has an ARIA attribute, it's exposed as an AXGroup
2529         https://bugs.webkit.org/show_bug.cgi?id=109008
2530
2531         Reviewed by Ryosuke Niwa.
2532
2533         If an <html> element had an ARIA attribute, it was being turned into an element
2534         in the AX hierarchy. This was causing trouble for screen readers by inserting
2535         an unexpected element in the navigation sequence.
2536
2537         Test: accessibility/html-html-element-is-ignored.html
2538
2539         * accessibility/AccessibilityRenderObject.cpp:
2540         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2541
2542 2013-02-06  Shawn Singh  <shawnsingh@chromium.org>
2543
2544         RenderLayer hasVisibleContent() has inconsistent semantics causing disappearing composited layers
2545         https://bugs.webkit.org/show_bug.cgi?id=108118
2546
2547         Reviewed by Simon Fraser.
2548
2549         RenderLayerBacking::hasVisibleNonCompositingDescendantLayers was
2550         only checking whether direct children had visible content. As a
2551         result, composited layers had wrong visibility status if only a
2552         deeper descendant RenderLayer was visible.
2553
2554         Test: compositing/visibility/visibility-on-distant-descendant.html
2555
2556         * rendering/RenderLayerBacking.cpp:
2557         (WebCore::hasVisibleNonCompositingDescendant): copied the original
2558         implementation into this function; then added the RenderLayer
2559         recursion as appropriate.
2560         (WebCore):
2561         (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
2562         This is now just a wrapper to the private static recursive
2563         function.
2564
2565 2013-02-06  Jonathon Jongsma  <jonathon.jongsma@collabora.com>
2566
2567         [GStreamer] MediaPlayer's code is not easily reusable by other GStreamer-based players
2568         https://bugs.webkit.org/show_bug.cgi?id=100261
2569
2570         Refactor the media player implementation so that more of the
2571         internal functionality can be shared between the current media
2572         backend and the mediastream player backend.  Common code is
2573         broken out into a MediaPlayerPrivateGStreamerBase class, and
2574         both MediaPlayerPrivateGStreamer and
2575         StreamMediaPlayerPrivateGStreamer inherit from this base class.
2576
2577         Reviewed by Philippe Normand
2578
2579         No new tests since functionality is covered by existing media tests
2580
2581         * GNUmakefile.list.am:
2582         * PlatformEfl.cmake:
2583         * Target.pri:
2584         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp:
2585         (WebCore::FullscreenVideoControllerGStreamer::create):
2586         (WebCore::FullscreenVideoControllerGStreamer::FullscreenVideoControllerGStreamer):
2587         * platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h:
2588         (WebCore):
2589         (FullscreenVideoControllerGStreamer):
2590         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2591         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
2592         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
2593         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2594         (MediaPlayerPrivateGStreamer):
2595         (WebCore::MediaPlayerPrivateGStreamer::isLiveStream):
2596         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: Added.
2597         (WebCore):
2598         (WebCore::greatestCommonDivisor):
2599         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
2600         (WebCore::mediaPlayerPrivateVolumeChangeTimeoutCallback):
2601         (WebCore::mediaPlayerPrivateMuteChangedCallback):
2602         (WebCore::mediaPlayerPrivateMuteChangeTimeoutCallback):
2603         (WebCore::mediaPlayerPrivateRepaintCallback):
2604         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
2605         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
2606         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
2607         (WebCore::MediaPlayerPrivateGStreamerBase::setVolume):
2608         (WebCore::MediaPlayerPrivateGStreamerBase::volume):
2609         (WebCore::MediaPlayerPrivateGStreamerBase::notifyPlayerOfVolumeChange):
2610         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
2611         (WebCore::MediaPlayerPrivateGStreamerBase::networkState):
2612         (WebCore::MediaPlayerPrivateGStreamerBase::readyState):
2613         (WebCore::MediaPlayerPrivateGStreamerBase::sizeChanged):
2614         (WebCore::MediaPlayerPrivateGStreamerBase::setMuted):
2615         (WebCore::MediaPlayerPrivateGStreamerBase::muted):
2616         (WebCore::MediaPlayerPrivateGStreamerBase::notifyPlayerOfMute):
2617         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
2618         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
2619         (WebCore::MediaPlayerPrivateGStreamerBase::setSize):
2620         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
2621         (WebCore::MediaPlayerPrivateGStreamerBase::enterFullscreen):
2622         (WebCore::MediaPlayerPrivateGStreamerBase::exitFullscreen):
2623         (WebCore::MediaPlayerPrivateGStreamerBase::supportsFullscreen):
2624         (WebCore::MediaPlayerPrivateGStreamerBase::platformMedia):
2625         (WebCore::MediaPlayerPrivateGStreamerBase::movieLoadType):
2626         (WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink):
2627         (WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
2628         (WebCore::MediaPlayerPrivateGStreamerBase::decodedFrameCount):
2629         (WebCore::MediaPlayerPrivateGStreamerBase::droppedFrameCount):
2630         (WebCore::MediaPlayerPrivateGStreamerBase::audioDecodedByteCount):
2631         (WebCore::MediaPlayerPrivateGStreamerBase::videoDecodedByteCount):
2632         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Added.
2633         (WebCore):
2634         (MediaPlayerPrivateGStreamerBase):
2635         (WebCore::MediaPlayerPrivateGStreamerBase::supportsMuting):
2636         (WebCore::MediaPlayerPrivateGStreamerBase::setVisible):
2637         (WebCore::MediaPlayerPrivateGStreamerBase::hasSingleSecurityOrigin):
2638         (WebCore::MediaPlayerPrivateGStreamerBase::maxTimeLoaded):
2639         (WebCore::MediaPlayerPrivateGStreamerBase::canEnterFullscreen):
2640         (WebCore::MediaPlayerPrivateGStreamerBase::mediaPlayer):
2641         (WebCore::MediaPlayerPrivateGStreamerBase::audioSink):
2642         * platform/graphics/gtk/FullscreenVideoControllerGtk.cpp:
2643         (WebCore::FullscreenVideoControllerGtk::FullscreenVideoControllerGtk):
2644         * platform/graphics/gtk/FullscreenVideoControllerGtk.h:
2645         (FullscreenVideoControllerGtk):
2646
2647 2013-02-06  Tony Gentilcore  <tonyg@chromium.org>
2648
2649         Call XSSAuditor's didBlockScript() for the threaded HTML parser
2650         https://bugs.webkit.org/show_bug.cgi?id=108726
2651
2652         Reviewed by Adam Barth.
2653
2654         This patch causes us to call didBlockScript() on the main thread if the CompactHTML token has XSSInfo.
2655         To do so, we:
2656         1. Rename DidBlockScriptRequest to XSSInfo.
2657         2. Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
2658         3. Add an isSafeToSendToAnotherThread() method to String and KURL.
2659
2660         We don't yet populate didBlockScriptRequest on the background thread, but this should just work once we do.
2661
2662         No new tests because no new functionality.
2663
2664         * html/parser/BackgroundHTMLParser.cpp:
2665         (WebCore::BackgroundHTMLParser::pumpTokenizer): Update comment for rename.
2666         * html/parser/CompactHTMLToken.cpp:
2667         (SameSizeAsCompactHTMLToken):
2668         (WebCore::CompactHTMLToken::CompactHTMLToken): Add a copy constructor used by Vector.
2669         (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread): Include new m_xssInfo field in safety check.
2670         (WebCore):
2671         (WebCore::CompactHTMLToken::xssInfo): Added.
2672         (WebCore::CompactHTMLToken::setXSSInfo): Added.
2673         * html/parser/CompactHTMLToken.h: Add an OwnPtr<XSSInfo> field to CompactHTMLToken.
2674         (WebCore):
2675         (CompactHTMLToken):
2676         (WTF): Add VectorTraits necessary for copying Vector fields objects that contain an OwnPtr.
2677         * html/parser/HTMLDocumentParser.cpp:
2678         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser): Add new didBlockScript() call.
2679         (WebCore::HTMLDocumentParser::pumpTokenizer):
2680         * html/parser/XSSAuditor.cpp: Renaming.
2681         (WebCore::XSSAuditor::filterToken):
2682         * html/parser/XSSAuditor.h: Renaming.
2683         (WebCore):
2684         (XSSAuditor):
2685         * html/parser/XSSAuditorDelegate.cpp:
2686         (WebCore::XSSInfo::isSafeToSendToAnotherThread):
2687         (WebCore):
2688         (WebCore::XSSAuditorDelegate::didBlockScript):
2689         * html/parser/XSSAuditorDelegate.h:
2690         (WebCore::XSSInfo::create):
2691         (XSSInfo):
2692         (WebCore::XSSInfo::XSSInfo):
2693         (XSSAuditorDelegate):
2694         * platform/KURL.cpp:
2695         (WebCore::KURL::isSafeToSendToAnotherThread): Added.
2696         (WebCore):
2697         * platform/KURL.h:
2698         (KURL):
2699         * platform/KURLGoogle.cpp:
2700         (WebCore):
2701         (WebCore::KURLGooglePrivate::isSafeToSendToAnotherThread): Added.
2702         * platform/KURLGooglePrivate.h:
2703         (KURLGooglePrivate):
2704         * platform/KURLWTFURLImpl.h:
2705         (WebCore::KURLWTFURLImpl::isSafeToSendToAnotherThread): Added.
2706
2707 2013-02-06  Dean Jackson  <dino@apple.com>
2708
2709         Minor updates to captions menu UI
2710         https://bugs.webkit.org/show_bug.cgi?id=109005
2711
2712         Reviewed by Eric Carlson.
2713
2714         Now that we only have a single section in the captions menu, remove the
2715         unnecessary wrapper element. Also update the UI for Mac so that the menu
2716         grows in size dynamically, and change the text we display for a caption
2717         that has neither label or language identifiers.
2718
2719         Covered by existing tests.
2720
2721         * English.lproj/Localizable.strings: New string for an unknown caption label.
2722         * css/fullscreenQuickTime.css: New rules for the captions menu.
2723         (video:-webkit-full-screen::-webkit-media-controls-closed-captions-container):
2724         (video:-webkit-full-screen::-webkit-media-controls-closed-captions-track-list):
2725         * css/mediaControlsQuickTime.css: Ditto.
2726         (video::-webkit-media-controls-closed-captions-container):
2727         (video::-webkit-media-controls-closed-captions-track-list):
2728         * html/shadow/MediaControlElements.cpp:
2729         (WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
2730             Remove the <section> element container.
2731         * platform/LocalizedStrings.cpp:
2732         (WebCore::textTrackNoLabelText): New string for an unknown caption label.
2733
2734 2013-02-06  Vsevolod Vlasov  <vsevik@chromium.org>
2735
2736         Web Inspector: Remove isSnippet field from FileDescriptor and UISourceCode.
2737         https://bugs.webkit.org/show_bug.cgi?id=109045
2738         
2739         Reviewed by Pavel Feldman.
2740
2741         Snippets are now distinguished based on uiSourceCode project.
2742
2743         * inspector/front-end/JavaScriptSourceFrame.js:
2744         (WebInspector.JavaScriptSourceFrame.prototype._supportsEnabledBreakpointsWhileEditing):
2745         * inspector/front-end/NavigatorView.js:
2746         * inspector/front-end/ScriptSnippetModel.js:
2747         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
2748         * inspector/front-end/ScriptsNavigator.js:
2749         (WebInspector.ScriptsNavigator.prototype._navigatorViewForUISourceCode):
2750         (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
2751         (WebInspector.ScriptsNavigator.prototype.removeUISourceCode):
2752         (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
2753         (WebInspector.ScriptsNavigator.prototype.rename):
2754         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
2755         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
2756         * inspector/front-end/ScriptsPanel.js:
2757         (WebInspector.ScriptsPanel.prototype._showFile):
2758         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2759         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
2760         * inspector/front-end/SimpleWorkspaceProvider.js:
2761         (WebInspector.SimpleWorkspaceProvider.prototype.addFile):
2762         (WebInspector.SimpleWorkspaceProvider.prototype.addFileForURL):
2763         * inspector/front-end/Workspace.js:
2764         (WebInspector.FileDescriptor):
2765         (WebInspector.Project.prototype._fileAdded):
2766
2767 2013-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2768
2769         Unreviewed, rolling out r141983.
2770         http://trac.webkit.org/changeset/141983
2771         https://bugs.webkit.org/show_bug.cgi?id=109055
2772
2773         lots of new crashes in handlescope (Requested by gavinp on
2774         #webkit).
2775
2776         * bindings/v8/DOMDataStore.h:
2777         (WebCore::DOMDataStore::setWrapperInObject):
2778         * bindings/v8/DOMWrapperWorld.h:
2779         (DOMWrapperWorld):
2780         (WebCore::DOMWrapperWorld::isolated):
2781         * bindings/v8/V8Binding.h:
2782         (WebCore):
2783         (WebCore::worldForEnteredContextIfIsolated):
2784         * bindings/v8/V8DOMWindowShell.cpp:
2785         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2786         * bindings/v8/V8GCController.cpp:
2787         (WebCore::WrapperVisitor::WrapperVisitor):
2788         (WebCore):
2789         (WebCore::gcTree):
2790         (WebCore::V8GCController::didCreateWrapperForNode):
2791         (WebCore::V8GCController::gcPrologue):
2792         (WebCore::V8GCController::minorGCPrologue):
2793         (WebCore::V8GCController::majorGCPrologue):
2794         * bindings/v8/V8GCController.h:
2795         (V8GCController):
2796
2797 2013-02-06  Andreas Kling  <akling@apple.com>
2798
2799         Optimize GlyphPage for case where all glyphs are available in the same font.
2800         <http://webkit.org/b/108835>
2801         <rdar://problem/13157042>
2802
2803         Reviewed by Antti Koivisto.
2804
2805         Let GlyphPage begin optimistically assuming that all its glyphs will be represented in
2806         the same SimpleFontData*. In this (very common) case, only keep a single SimpleFontData*.
2807
2808         If glyphs from multiple fonts are mixed in one page, an array of per-glyph SimpleFontData*
2809         is allocated transparently.
2810
2811         4.98 MB progression on Membuster3.
2812
2813         * platform/graphics/GlyphPageTreeNode.cpp:
2814         (WebCore::GlyphPageTreeNode::initializePage):
2815         * platform/graphics/GlyphPage.h:
2816         (WebCore::GlyphPage::createUninitialized):
2817         (WebCore::GlyphPage::createZeroedSystemFallbackPage):
2818         (WebCore::GlyphPage::createCopiedSystemFallbackPage):
2819
2820             There are now three ways of constructing a GlyphPage, two of them are only used for
2821             creating system fallback pages.
2822
2823         (WebCore::GlyphPage::setGlyphDataForIndex):
2824
2825             Hold off creating a SimpleFontData* array until we're sure there are two different
2826             SimpleFontData* backing the glyphs in this page.
2827             We don't store font data for glyph #0, instead we let the getters always return null for it.
2828
2829         (WebCore::GlyphPage::~GlyphPage):
2830
2831             Free the SimpleFontData* array if needed.
2832
2833         (WebCore::GlyphPage::glyphDataForCharacter):
2834         (WebCore::GlyphPage::glyphDataForIndex):
2835         (WebCore::GlyphPage::fontDataForCharacter):
2836
2837             The font data for glyph #0 is always a null pointer now.
2838
2839         (WebCore::GlyphPage::clearForFontData):
2840
2841             Updated for new storage format.
2842
2843         * rendering/svg/SVGTextRunRenderingContext.cpp:
2844         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
2845
2846             Fix bug where non-zero glyph was temporarily associated with null font data,
2847             which triggered the new assertion in setGlyphDataForIndex().
2848
2849 2013-02-06  Pavel Feldman  <pfeldman@chromium.org>
2850
2851         Follow up to r141979: do not consume Home/End.
2852         Not reviewed.
2853
2854         * inspector/front-end/FilteredItemSelectionDialog.js:
2855         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
2856
2857 2013-02-06  Vsevolod Vlasov  <vsevik@chromium.org>
2858
2859         Web Inspector: Remove show script folders setting
2860         https://bugs.webkit.org/show_bug.cgi?id=108940
2861
2862         Reviewed by Pavel Feldman.
2863
2864         Removed showScriptFolders setting, the sources are never shown as a flat list in navigator anymore.
2865
2866         * inspector/front-end/NavigatorView.js:
2867         (WebInspector.NavigatorView):
2868         (WebInspector.NavigatorView.prototype._getOrCreateFolderTreeElement):
2869         * inspector/front-end/Settings.js:
2870         * inspector/front-end/SettingsScreen.js:
2871         (WebInspector.GenericSettingsTab):
2872
2873 2013-02-06  Andrey Lushnikov  <lushnikov@chromium.org>
2874
2875         Web Inspector: update javascriptsourcetokenizer to produce "whitespaces" token
2876         https://bugs.webkit.org/show_bug.cgi?id=108945
2877
2878         Reviewed by Pavel Feldman.
2879
2880         Update re2c grammar for SourceJavaScriptTokenizer to produce
2881         "whitespace" token which holds consequtive whitespaces in it.
2882
2883         Updated existing tests expectations.
2884
2885         * inspector/front-end/DOMSyntaxHighlighter.js:
2886         (WebInspector.DOMSyntaxHighlighter.prototype.createSpan): Do not strip spaces from tokens with class "whitespaces".
2887         * inspector/front-end/SourceJavaScriptTokenizer.js: Regenerated.
2888         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
2889         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
2890
2891 2013-02-06  Andrey Lushnikov  <lushnikov@chromium.org>
2892
2893         Web Inspector: refactor registerShortcuts method of DTE
2894         https://bugs.webkit.org/show_bug.cgi?id=109031
2895
2896         Reviewed by Pavel Feldman.
2897
2898         Implement _registerShortcuts method in TextEditorMainPanel which will
2899         bind its private methods to the different key combinations. Refactor
2900         method handlers handleUndoRedo, handleTabKeyPress and handleEnterKey
2901         from public to private.
2902
2903         No new tests: no change in behaviour.
2904
2905         * inspector/front-end/DefaultTextEditor.js:
2906         (WebInspector.DefaultTextEditor.prototype._registerShortcuts): Remove bindings of TextEditorMainPanel methods
2907         (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
2908         (WebInspector.TextEditorMainPanel):
2909         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts): Added.
2910         (WebInspector.TextEditorMainPanel.prototype._handleUndoRedo):
2911         (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
2912
2913 2013-02-06  Mike West  <mkwst@chromium.org>
2914
2915         Add an ENABLE_NOSNIFF feature flag.
2916         https://bugs.webkit.org/show_bug.cgi?id=109029
2917
2918         Reviewed by Jochen Eisinger.
2919
2920         This new flag will control the behavior of 'X-Content-Type-Options: nosniff'
2921         when processing script and other resource types.
2922
2923         * Configurations/FeatureDefines.xcconfig:
2924
2925 2013-02-06  Tommy Widenflycht  <tommyw@google.com>
2926
2927         MediaStream API: Implement DTMF support in RTCPeerConnection
2928         https://bugs.webkit.org/show_bug.cgi?id=106782
2929
2930         Reviewed by Adam Barth.
2931
2932         The WebRTC specification have added support for DTMF:
2933         http://dev.w3.org/2011/webrtc/editor/webrtc.html#peer-to-peer-dtmf
2934
2935         Implementation wise this is implemented using the same pattern as RTCDataChannel;
2936         where a RTCDTMFSenderHandler is created by the UA through a new method on
2937         RTCPeerConnectionHandler.
2938
2939         Test: fast/mediastream/RTCPeerConnection-dtmf.html
2940
2941         * CMakeLists.txt:
2942         * GNUmakefile.list.am:
2943         * Modules/mediastream/RTCDTMFSender.cpp: Added.
2944         (WebCore):
2945         (WebCore::RTCDTMFSender::create):
2946         (WebCore::RTCDTMFSender::RTCDTMFSender):
2947         (WebCore::RTCDTMFSender::~RTCDTMFSender):
2948         (WebCore::RTCDTMFSender::canInsertDTMF):
2949         (WebCore::RTCDTMFSender::track):
2950         (WebCore::RTCDTMFSender::toneBuffer):
2951         (WebCore::RTCDTMFSender::insertDTMF):
2952         (WebCore::RTCDTMFSender::didPlayTone):
2953         (WebCore::RTCDTMFSender::interfaceName):
2954         (WebCore::RTCDTMFSender::scriptExecutionContext):
2955         (WebCore::RTCDTMFSender::stop):
2956         (WebCore::RTCDTMFSender::eventTargetData):
2957         (WebCore::RTCDTMFSender::ensureEventTargetData):
2958         (WebCore::RTCDTMFSender::scheduleDispatchEvent):
2959         (WebCore::RTCDTMFSender::scheduledEventTimerFired):
2960         * Modules/mediastream/RTCDTMFSender.h: Added.
2961         (WebCore):
2962         (RTCDTMFSender):
2963         (WebCore::RTCDTMFSender::duration):
2964         (WebCore::RTCDTMFSender::interToneGap):
2965         * Modules/mediastream/RTCDTMFSender.idl: Added.
2966         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
2967         (WebCore):
2968         (WebCore::RTCDTMFToneChangeEvent::create):
2969         (WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
2970         (WebCore::RTCDTMFToneChangeEvent::~RTCDTMFToneChangeEvent):
2971         (WebCore::RTCDTMFToneChangeEvent::tone):
2972         (WebCore::RTCDTMFToneChangeEvent::interfaceName):
2973         * Modules/mediastream/RTCDTMFToneChangeEvent.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
2974         (WebCore):
2975         (RTCDTMFToneChangeEventInit):
2976         (RTCDTMFToneChangeEvent):
2977         * Modules/mediastream/RTCDTMFToneChangeEvent.idl: Added.
2978         * Modules/mediastream/RTCPeerConnection.cpp:
2979         (WebCore::RTCPeerConnection::createDataChannel):
2980         (WebCore):
2981         (WebCore::RTCPeerConnection::getStreamByTrackId):
2982         (WebCore::RTCPeerConnection::createDTMFSender):
2983         * Modules/mediastream/RTCPeerConnection.h:
2984         (WebCore):
2985         (RTCPeerConnection):
2986         * Modules/mediastream/RTCPeerConnection.idl:
2987         * WebCore.gypi:
2988         * dom/EventNames.h:
2989         (WebCore):
2990         * dom/EventNames.in:
2991         * dom/EventTargetFactory.in:
2992         * platform/chromium/support/WebMediaStreamTrack.cpp:
2993         (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
2994         (WebKit):
2995         * platform/mediastream/RTCDTMFSenderHandler.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
2996         (WebCore):
2997         (RTCDTMFSenderHandler):
2998         (WebCore::RTCDTMFSenderHandler::~RTCDTMFSenderHandler):
2999         * platform/mediastream/RTCDTMFSenderHandlerClient.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3000         (WebCore):
3001         (RTCDTMFSenderHandlerClient):
3002         (WebCore::RTCDTMFSenderHandlerClient::~RTCDTMFSenderHandlerClient):
3003         * platform/mediastream/RTCPeerConnectionHandler.h:
3004         (WebCore):
3005         (RTCPeerConnectionHandler):
3006         * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.cpp: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3007         (WebCore):
3008         (WebCore::RTCDTMFSenderHandlerChromium::create):
3009         (WebCore::RTCDTMFSenderHandlerChromium::RTCDTMFSenderHandlerChromium):
3010         (WebCore::RTCDTMFSenderHandlerChromium::~RTCDTMFSenderHandlerChromium):
3011         (WebCore::RTCDTMFSenderHandlerChromium::setClient):
3012         (WebCore::RTCDTMFSenderHandlerChromium::currentToneBuffer):
3013         (WebCore::RTCDTMFSenderHandlerChromium::canInsertDTMF):
3014         (WebCore::RTCDTMFSenderHandlerChromium::insertDTMF):
3015         (WebCore::RTCDTMFSenderHandlerChromium::didPlayTone):
3016         * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
3017         (WebCore):
3018         (RTCDTMFSenderHandlerChromium):
3019         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
3020         (WebCore::RTCPeerConnectionHandlerChromium::createDTMFSender):
3021         (WebCore):
3022         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
3023         (RTCPeerConnectionHandlerChromium):
3024
3025 2013-02-04  Kentaro Hara  <haraken@chromium.org>
3026
3027         [V8] Remove V8GCController::m_edenNodes and make minor DOM GC more precise
3028         https://bugs.webkit.org/show_bug.cgi?id=108579
3029
3030         Reviewed by Adam Barth.
3031
3032         Currently V8GCController::m_edenNodes stores a list of nodes whose
3033         wrappers have been created since the latest GC. The reason why we
3034         needed m_edenNodes is that there was no way to know a list of wrappers
3035         in the new space of V8. By using m_edenNodes, we had been approximating
3036         'wrappers in the new space' by 'wrappers that have been created since
3037         the latest GC'.
3038
3039         Now V8 provides VisitHandlesForPartialDependence(), with which WebKit
3040         can know a list of wrappers in the new space. By using the API, we can
3041         remove V8GCController::m_edenNodes. The benefit is that (1) we no longer
3042         need to keep m_edenNodes and that (2) it enables more precise minor
3043         DOM GC (Remember that m_edenNodes was just an approximation).
3044
3045         Performance benchmark: https://bugs.webkit.org/attachment.cgi?id=185940
3046         The benchmark runs 300 iterations, each of which creates 100000 elements.
3047         The benchmark measures average, min, median, max and stdev of execution times
3048         of the 300 iterations. This will tell us the worst-case overhead of this change.
3049
3050         Before:
3051           mean=59.91ms, min=39ms, median=42ms, max=258ms, stdev=47.48ms
3052
3053         After:
3054           mean=58.75ms, min=35ms, median=41ms, max=250ms, stdev=47.32ms
3055
3056         As shown above, I couldn't observe any performance regression.
3057
3058         No tests. No change in behavior.
3059
3060         * bindings/v8/DOMDataStore.h:
3061         (WebCore::DOMDataStore::setWrapperInObject):
3062         * bindings/v8/DOMWrapperWorld.h:
3063         (DOMWrapperWorld):
3064         (WebCore::DOMWrapperWorld::getWorldWithoutContextCheck):
3065         * bindings/v8/V8Binding.h:
3066         (WebCore):
3067         (WebCore::worldForEnteredContextIfIsolated):
3068         (WebCore::worldForEnteredContextWithoutContextCheck):
3069         * bindings/v8/V8DOMWindowShell.cpp:
3070         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3071         * bindings/v8/V8GCController.cpp:
3072         (WebCore::gcTree):
3073         (WebCore):
3074         (MinorGCWrapperVisitor):
3075         (WebCore::MinorGCWrapperVisitor::MinorGCWrapperVisitor):
3076         (WebCore::MinorGCWrapperVisitor::notifyFinished):
3077         (WebCore::MajorGCWrapperVisitor::MajorGCWrapperVisitor):
3078         (WebCore::V8GCController::gcPrologue):
3079         (WebCore::V8GCController::minorGCPrologue):
3080         (WebCore::V8GCController::majorGCPrologue):
3081         * bindings/v8/V8GCController.h:
3082         (V8GCController):
3083
3084 2013-02-06  Mihai Maerean  <mmaerean@adobe.com>
3085
3086         [CSSRegions] Assertion failure in Node::detach (!renderer || renderer->inRenderFlowThread())
3087         https://bugs.webkit.org/show_bug.cgi?id=104517
3088
3089         Reviewed by Julien Chaffraix.
3090
3091         The RenderObject::inRenderFlowThread bit could have become disconnected from the fact that the RenderObject
3092         has (or not) an enclosing RenderFlowThread.
3093         The cause of this was that, when setting or removing the parent of a RenderObject, the inRenderFlowThread flags
3094         wasn't being set/reset for the children too.
3095         This is now fixed by calling the new setInRenderFlowThreadIncludingDescendants.
3096
3097         The ASSERT was hit for anonymous blocks when detaching the document.
3098
3099         Test: fast/regions/detaching-regions-with-anonymous-blocks.html
3100
3101         * rendering/RenderObject.cpp:
3102         (WebCore::RenderObject::setInRenderFlowThreadRecursive):
3103         (WebCore):
3104         * rendering/RenderObject.h:
3105         (WebCore::RenderObject::setParent):
3106         (RenderObject):
3107
3108 2013-02-06  Marja Hölttä  <marja@chromium.org>
3109
3110         Take referrer policy into account when clearing the referrer header
3111         https://bugs.webkit.org/show_bug.cgi?id=86000
3112
3113         Reviewed by Alexey Proskuryakov.
3114
3115         The referrer should only be cleared when doing a https -> http redirect,
3116         if the policy is "default". Otherwise the referrer should be left intact.
3117
3118         In order to do that, added a function for checking the policy in
3119         NetworkingContext, and stored the NetworkingContext in ResourceHandle
3120         (like some ports already did).
3121
3122         No new tests (unskipped old tests).
3123
3124         * loader/FrameNetworkingContext.h:
3125         (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect):
3126         (FrameNetworkingContext):
3127         * platform/network/BlobResourceHandle.cpp:
3128         (WebCore::BlobResourceHandle::BlobResourceHandle):
3129         * platform/network/NetworkingContext.h:
3130         (NetworkingContext):
3131         * platform/network/ResourceHandle.cpp:
3132         (WebCore::ResourceHandle::ResourceHandle):
3133         (WebCore::ResourceHandle::create):
3134         (WebCore::ResourceHandle::context):
3135         (WebCore):
3136         * platform/network/ResourceHandle.h:
3137         (ResourceHandle):
3138         * platform/network/ResourceHandleInternal.h:
3139         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3140         (ResourceHandleInternal):
3141         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
3142         (WebCore::ResourceHandle::start):
3143         (WebCore::ResourceHandle::loadResourceSynchronously):
3144         * platform/network/cf/ResourceHandleCFNet.cpp:
3145         (WebCore::willSendRequest):
3146         (WebCore::ResourceHandle::start):
3147         (WebCore::ResourceHandle::loadResourceSynchronously):
3148         * platform/network/chromium/ResourceHandle.cpp:
3149         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3150         (WebCore::ResourceHandle::ResourceHandle):
3151         (WebCore::ResourceHandle::create):
3152         (WebCore::ResourceHandle::context):
3153         (WebCore):
3154         (WebCore::ResourceHandle::start):
3155         * platform/network/chromium/ResourceHandleInternal.h:
3156         (WebCore):
3157         (ResourceHandleInternal):
3158         (WebCore::ResourceHandleInternal::context):
3159         * platform/network/curl/ResourceHandleCurl.cpp:
3160         (WebCore::ResourceHandle::start):
3161         (WebCore::ResourceHandle::loadResourceSynchronously):
3162         * platform/network/mac/ResourceHandleMac.mm:
3163         (WebCore::ResourceHandle::start):
3164         (WebCore::ResourceHandle::loadResourceSynchronously):
3165         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
3166         * platform/network/qt/QNetworkReplyHandler.cpp:
3167         (WebCore::QNetworkReplyHandler::redirect):
3168         * platform/network/qt/ResourceHandleQt.cpp:
3169         (WebCore::ResourceHandle::start):
3170         (WebCore::ResourceHandle::loadResourceSynchronously):
3171         * platform/network/soup/ResourceHandleSoup.cpp:
3172         (WebCore::doRedirect):
3173         (WebCore::ResourceHandle::start):
3174         * platform/network/win/ResourceHandleWin.cpp:
3175         (WebCore::ResourceHandle::start):
3176         (WebCore::ResourceHandle::loadResourceSynchronously):
3177
3178 2013-02-06  Pavel Feldman  <pfeldman@chromium.org>
3179
3180         Web Inspector: file selector list jumps as I type or move Up/Down
3181         https://bugs.webkit.org/show_bug.cgi?id=108933
3182
3183         Reviewed by Vsevolod Vlasov.
3184
3185         Missing return was scheduling extra updates.
3186
3187         * inspector/front-end/FilteredItemSelectionDialog.js:
3188         (WebInspector.FilteredItemSelectionDialog):
3189         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
3190         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
3191         (WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
3192
3193 2013-02-06  Kentaro Hara  <haraken@chromium.org>
3194
3195         [V8] Pass an Isolate to remaining GetTemplate()s
3196         https://bugs.webkit.org/show_bug.cgi?id=109001
3197
3198         Reviewed by Adam Barth.
3199
3200         No tests. No change in behavior.
3201
3202         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3203         (WebCore::V8DOMWindow::namedSecurityCheck): Because this method is a callback from V8,
3204         we cannot change its signature to receive an Isolate.
3205         (WebCore::V8DOMWindow::indexedSecurityCheck): Ditto.
3206
3207         * bindings/scripts/CodeGeneratorV8.pm:
3208         (GenerateHeader):
3209         (GenerateToV8Converters):
3210         * bindings/scripts/test/V8/V8Float64Array.cpp:
3211         (WebCore::V8Float64Array::createWrapper):
3212         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3213         (WebCore::V8TestActiveDOMObject::createWrapper):
3214         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3215         (WebCore::V8TestCustomNamedGetter::createWrapper):
3216         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3217         (WebCore::V8TestEventConstructor::createWrapper):
3218         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3219         (WebCore::V8TestEventTarget::createWrapper):
3220         * bindings/scripts/test/V8/V8TestException.cpp:
3221         (WebCore::V8TestException::createWrapper):
3222         * bindings/scripts/test/V8/V8TestInterface.cpp:
3223         (WebCore::V8TestInterface::createWrapper):
3224         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3225         (WebCore::V8TestMediaQueryListListener::createWrapper):
3226         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3227         (WebCore::V8TestNamedConstructor::createWrapper):
3228         * bindings/scripts/test/V8/V8TestNode.cpp:
3229         (WebCore::V8TestNode::createWrapper):
3230         * bindings/scripts/test/V8/V8TestObj.cpp:
3231         (WebCore::V8TestObj::createWrapper):
3232         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3233         (WebCore::V8TestOverloadedConstructors::createWrapper):
3234         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3235         (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
3236         * bindings/v8/V8DOMWrapper.cpp:
3237         (WebCore::V8DOMWrapper::createWrapper):
3238         * bindings/v8/V8DOMWrapper.h:
3239         (V8DOMWrapper):
3240         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3241         (WebCore::V8HTMLDocument::wrapInShadowObject):
3242
3243 2013-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
3244
3245         Unreviewed, rolling out r141961.
3246         http://trac.webkit.org/changeset/141961
3247         https://bugs.webkit.org/show_bug.cgi?id=109019
3248
3249         assertion failures on svn tests such as fonts-glyph-04-t.svg
3250         (Requested by falken on #webkit).
3251
3252         * platform/graphics/GlyphPage.h:
3253         (WebCore::GlyphPage::create):
3254         (WebCore::GlyphPage::glyphDataForCharacter):
3255         (WebCore::GlyphPage::glyphDataForIndex):
3256         (WebCore::GlyphPage::fontDataForCharacter):
3257         (WebCore::GlyphPage::setGlyphDataForIndex):
3258         (GlyphPage):
3259         (WebCore::GlyphPage::copyFrom):
3260         (WebCore::GlyphPage::clear):
3261         (WebCore::GlyphPage::clearForFontData):
3262         (WebCore::GlyphPage::GlyphPage):
3263         * platform/graphics/GlyphPageTreeNode.cpp:
3264         (WebCore::GlyphPageTreeNode::initializePage):
3265
3266 2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
3267
3268         Unreviewed, rolling out r141964.
3269         http://trac.webkit.org/changeset/141964
3270         https://bugs.webkit.org/show_bug.cgi?id=109014
3271
3272         caused performance regression (Requested by hayato on
3273         #webkit).
3274
3275         * CMakeLists.txt:
3276         * GNUmakefile.list.am:
3277         * Target.pri:
3278         * WebCore.gypi:
3279         * WebCore.xcodeproj/project.pbxproj:
3280         * css/CSSAllInOne.cpp:
3281         * css/DocumentRuleSets.cpp: Removed.
3282         * css/DocumentRuleSets.h: Removed.
3283         * css/StyleResolver.cpp:
3284         (WebCore::StyleResolver::StyleResolver):
3285         (WebCore::StyleResolver::collectRulesFromUserStyleSheets):
3286         (WebCore):
3287         (WebCore::makeRuleSet):
3288         (WebCore::StyleResolver::resetAuthorStyle):
3289         (WebCore::StyleResolver::appendAuthorStyleSheets):
3290         (WebCore::StyleResolver::matchAuthorRules):
3291         (WebCore::StyleResolver::matchUserRules):
3292         (WebCore::StyleResolver::classNamesAffectedByRules):
3293         (WebCore::StyleResolver::locateCousinList):
3294         (WebCore::StyleResolver::canShareStyleWithElement):
3295         (WebCore::StyleResolver::locateSharedStyle):
3296         (WebCore::StyleResolver::styleForElement):
3297         (WebCore::StyleResolver::styleForPage):
3298         (WebCore::StyleResolver::checkRegionStyle):
3299         (WebCore::StyleResolver::applyProperty):
3300         (WebCore::StyleResolver::collectFeatures):
3301         (WebCore::StyleResolver::reportMemoryUsage):
3302         * css/StyleResolver.h:
3303         (StyleResolver):
3304         (WebCore::StyleResolver::usesSiblingRules):
3305         (WebCore::StyleResolver::usesFirstLineRules):
3306         (WebCore::StyleResolver::usesBeforeAfterRules):
3307         (WebCore::StyleResolver::hasSelectorForAttribute):
3308         (WebCore::StyleResolver::hasSelectorForClass):
3309         (WebCore::StyleResolver::hasSelectorForId):
3310         * dom/DocumentStyleSheetCollection.cpp:
3311         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3312
3313 2013-02-05  Kentaro Hara  <haraken@chromium.org>
3314
3315         Add #if USE(V8) to Node::V8CollectableDuringMinorGCFlag
3316         https://bugs.webkit.org/show_bug.cgi?id=109009
3317
3318         Reviewed by Kent Tamura.
3319
3320         Node flags should be saved. V8CollectableDuringMinorGCFlag is used by V8 only.
3321
3322         * dom/Node.h:
3323         (Node):
3324
3325 2013-02-05  Vsevolod Vlasov  <vsevik@chromium.org>
3326
3327         Web Inspector: Add ending slashes automatically to file mappings.
3328         https://bugs.webkit.org/show_bug.cgi?id=108936
3329
3330         Reviewed by Pavel Feldman.
3331
3332         * inspector/front-end/SettingsScreen.js:
3333         (WebInspector.WorkspaceSettingsTab.prototype._addFileMappingClicked):
3334
3335 2013-02-05  Eric Carlson  <eric.carlson@apple.com>
3336
3337         More updates to Caption user preferences
3338         https://bugs.webkit.org/show_bug.cgi?id=108997
3339
3340         Reviewed by Dean Jackson.
3341
3342         * html/HTMLMediaElement.cpp:
3343         (WebCore::HTMLMediaElement::captionPreferencesChanged): Give the media controls a chance
3344             to update for a preferences change.
3345         * html/shadow/MediaControlElements.cpp:
3346         (WebCore::MediaControlTextTrackContainerElement::updateSizes): Add optional "force update" 
3347             param to force font size recalc even when the video size hasn't changed.
3348         * html/shadow/MediaControlElements.h:
3349
3350         * html/shadow/MediaControls.cpp:
3351         (WebCore::MediaControls::textTrackPreferencesChanged): New, force a font size recalc.
3352         * html/shadow/MediaControls.h:
3353
3354         * html/track/TextTrackCueGeneric.cpp:
3355         (WebCore::TextTrackCueGenericBoxElement::applyCSSProperties): Don't set width/size of cues
3356             that use default positioning. Use "start" as the default alignment.
3357
3358         * page/CaptionUserPreferencesMac.mm:
3359         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): Set padding when the window is visible
3360             so it shows around the cue background.
3361         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Set padding to 0 when the background
3362             is visible.
3363         (WebCore::CaptionUserPreferencesMac::windowRoundedCornerRadiusCSS): Add "px" to the border radius
3364             so it actually works.
3365         * rendering/RenderTextTrackCue.cpp:
3366         (WebCore::RenderTextTrackCue::layout): Special case generic cues with default style.
3367         (WebCore::RenderTextTrackCue::repositionGenericCue):
3368         * rendering/RenderTextTrackCue.h:
3369
3370 2013-02-05  Hayato Ito  <hayato@chromium.org>
3371
3372         Split each RuleSet and feature out from StyleResolver into its own class.
3373         https://bugs.webkit.org/show_bug.cgi?id=107777
3374
3375         Reviewed by Dimitri Glazkov.
3376
3377         Splitting each RuleSet and feature out from StyleResover into its onw class, DocumentRuleSets,
3378         to manage them separately.
3379
3380         This is one of the attempts to try to resolve meta bug (bug 89879)
3381         to lose StyleResolver's weight.  We need further action to factor
3382         StyleResolver to separate it into some classes cleanly.
3383         See also https://bugs.webkit.org/show_bug.cgi?id=108890. A following patch will address that.
3384
3385         No tests. No change in behavior.
3386
3387         * CMakeLists.txt:
3388         * GNUmakefile.list.am:
3389         * Target.pri:
3390         * WebCore.gypi:
3391         * WebCore.xcodeproj/project.pbxproj:
3392         * css/CSSAllInOne.cpp:
3393         * css/DocumentRuleSets.cpp: Added.
3394         (WebCore):
3395         (WebCore::DocumentRuleSets::DocumentRuleSets):
3396         (WebCore::DocumentRuleSets::~DocumentRuleSets):
3397         (WebCore::DocumentRuleSets::initUserStyle): New helper to initialize each RuleSets.
3398         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets): Factored out from StyleResolver.
3399         (WebCore::makeRuleSet): Ditto.
3400         (WebCore::DocumentRuleSets::resetAuthorStyle): Ditto.
3401         (WebCore::DocumentRuleSets::appendAuthorStyleSheets): Ditto.
3402         (WebCore::DocumentRuleSets::collectFeatures): Ditto.
3403         (WebCore::DocumentRuleSets::reportMemoryUsage): New methods to report memory usage. Factored out from StyleResolver.
3404         * css/DocumentRuleSets.h: Added.
3405         (WebCore):
3406         (DocumentRuleSets):
3407         (WebCore::DocumentRuleSets::authorStyle): Moved from StyleResolver.
3408         (WebCore::DocumentRuleSets::userStyle): Ditto.
3409         (WebCore::DocumentRuleSets::features): Ditto.
3410         (WebCore::DocumentRuleSets::sibling): Ditto.
3411         (WebCore::DocumentRuleSets::uncommonAttribute): Ditto.
3412         * css/StyleResolver.cpp:
3413         (WebCore::StyleResolver::StyleResolver):
3414         (WebCore::StyleResolver::appendAuthorStyleSheets): Now calls DocumentRuleSets::appendAuthorStyleSheets.
3415         (WebCore::StyleResolver::matchAuthorRules): Use m_ruleSets.
3416         (WebCore::StyleResolver::matchUserRules): Ditto.
3417         (WebCore::StyleResolver::classNamesAffectedByRules): Ditto.
3418         (WebCore::StyleResolver::locateCousinList): Ditto.
3419         (WebCore::StyleResolver::canShareStyleWithElement): Ditto.
3420         (WebCore::StyleResolver::locateSharedStyle): Ditto.
3421         (WebCore::StyleResolver::styleForPage): Ditto.
3422         (WebCore::StyleResolver::checkRegionStyle): Ditto.
3423         (WebCore::StyleResolver::applyProperty): Ditto.
3424         (WebCore::StyleResolver::reportMemoryUsage): Now calls DocumentRuleSets::reportMemoryUsage.
3425         * css/StyleResolver.h:
3426         (WebCore::StyleResolver::scopeResolver):
3427         (StyleResolver):
3428         (WebCore::StyleResolver::ruleSets): accessor r to DocumentRuleSets.
3429         (WebCore::StyleResolver::usesSiblingRules): Use m_ruleSets.
3430         (WebCore::StyleResolver::usesFirstLineRules): Ditto.
3431         (WebCore::StyleResolver::usesBeforeAfterRules): Ditto.
3432         (WebCore::StyleResolver::hasSelectorForAttribute): Ditto.
3433         (WebCore::StyleResolver::hasSelectorForClass): Ditto.
3434         (WebCore::StyleResolver::hasSelectorForId): Ditto.
3435         * dom/DocumentStyleSheetCollection.cpp:
3436         (WebCore::DocumentStyl