4b3ef4308320d5670da18dda066610775547bceb
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-01  Mike West  <mkwst@chromium.org>
2
3         CSP should correctly block plugin resources rendered in PluginDocuments.
4         https://bugs.webkit.org/show_bug.cgi?id=92675
5
6         Reviewed by Adam Barth.
7
8         In certain cases, plugins aren't loaded directly, but are stuffed into a
9         newly-created PluginDocument before rendering. While we were already
10         correctly populating information that allowed us to make decisions about
11         that document's security origin, and already dealing with sandbox
12         status by creating a 'SinkDocument' that ignored plugin data, we weren't
13         correctly inheriting the parent frame's Content Security Policy. This
14         patch ensures that PluginDocuments correctly inherit their parent's
15         Content Security Policy, meaning that the plugin is blocked or allowed
16         according to the policy of the protected resource in which the
17         PluginDocument is embedded.
18
19         Tests: http/tests/security/contentSecurityPolicy/object-src-url-allowed.html
20                http/tests/security/contentSecurityPolicy/object-src-url-blocked.html
21
22         * dom/Document.cpp:
23         (WebCore::Document::initContentSecurityPolicy):
24             Populate a created PluginDocument with its frame's parent's Content
25             Security Policy.
26
27 2012-08-01  Florin Malita  <fmalita@chromium.org>
28
29         SVG animation not working for elements inserted after parsing is finished
30         https://bugs.webkit.org/show_bug.cgi?id=92025
31
32         Reviewed by Nikolas Zimmermann.
33
34         Time containers for SVG elements inserted after document parsing is finished need to be
35         initialized on insertion (since they've missed the Document::implicitClose() initialization
36         point).
37
38         Test: svg/animations/deferred-insertion.html
39
40         * svg/SVGSVGElement.cpp:
41         (WebCore::SVGSVGElement::insertedInto):
42
43 2012-08-01  Vincent Scheib  <scheib@chromium.org>
44
45         Block pointer lock for sandboxed iframes.
46         https://bugs.webkit.org/show_bug.cgi?id=92796
47
48         Reviewed by Adam Barth.
49
50         Sandboxed iframe documents should be blocked from using the
51         pointer lock API until there is specification agreement
52         on what attribute to use to allow the feature. After
53         specification this restriction can be relaxed, but not
54         restricting it now would require breaking applications
55         later.
56
57         Test: http/tests/pointer-lock/iframe-sandboxed.html
58
59         * dom/SecurityContext.h:
60         * page/PointerLockController.cpp:
61         (WebCore::PointerLockController::requestPointerLock):
62
63 2012-08-01  Patrick Gansterer  <paroga@webkit.org>
64
65         Replace WTF::getCurrentLocalTime() with GregorianDateTime::setToCurrentLocalTime()
66         https://bugs.webkit.org/show_bug.cgi?id=92286
67
68         Reviewed by Geoffrey Garen.
69
70         Add a method to GregorianDateTime to set its values to the current locale time.
71         Replacing all occurrences of getCurrentLocalTime with the new function allows
72         us to remove getCurrentLocalTime in a next step.
73
74         * html/FTPDirectoryDocument.cpp:
75         (WebCore::processFileDateString):
76         * loader/archive/mhtml/MHTMLArchive.cpp:
77         (WebCore::MHTMLArchive::generateMHTMLData):
78
79 2012-08-01  Ojan Vafai  <ojan@chromium.org>
80
81         Remove code duplication in determining if display is inline or replaced
82         https://bugs.webkit.org/show_bug.cgi?id=92880
83
84         Reviewed by Julien Chaffraix.
85
86         Deduplicate lists of display types by using private helpers.
87
88         No new tests. No change in behavior.
89
90         * rendering/style/RenderStyle.h:
91
92 2012-08-01  Tommy Widenflycht  <tommyw@google.com>
93
94         MediaStream API: Add ExtraData capability to MediaStreamSource
95         https://bugs.webkit.org/show_bug.cgi?id=92860
96
97         Reviewed by Adam Barth.
98
99         The Chromium port needs to store some related data in MediaStreamSource objects.
100
101         Not testable from a LayoutTest.
102
103         * platform/chromium/support/WebMediaStreamSource.cpp:
104         (ExtraDataContainer):
105         (WebKit::ExtraDataContainer::ExtraDataContainer):
106         (WebKit::ExtraDataContainer::extraData):
107         (WebKit):
108         (WebKit::WebMediaStreamSource::extraData):
109         (WebKit::WebMediaStreamSource::setExtraData):
110         * platform/mediastream/MediaStreamSource.h:
111         (ExtraData):
112         (WebCore::MediaStreamSource::ExtraData::~ExtraData):
113         (MediaStreamSource):
114         (WebCore::MediaStreamSource::extraData):
115         (WebCore::MediaStreamSource::setExtraData):
116
117 2012-08-01  Joshua Bell  <jsbell@chromium.org>
118
119         IndexedDB: IDBCursor.continue(key) does not throw for key "behind" cursor
120         https://bugs.webkit.org/show_bug.cgi?id=92562
121
122         Reviewed by Ojan Vafai.
123
124         Per spec, IDBCursor.continue(key) should throw for forward cursors
125         if key <= current key, and for reverse cursors if key >= current key.
126         Code was present on the back end but the error code was ignored, possibly
127         broken in a recent refactor, and there were no tests for this case.
128
129         Test: storage/indexeddb/cursor-continue-dir.html
130
131         * Modules/indexeddb/IDBCursor.cpp:
132         (WebCore::IDBCursor::advance): Handle async transaction termination.
133         (WebCore::IDBCursor::continueFunction): Move checks here from backend.
134         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
135         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): Don't need direction param.
136         (WebCore::IDBCursorBackendImpl::continueFunction): Remove checks.
137         * Modules/indexeddb/IDBCursorBackendImpl.h: Only IDBBackingStore::cursor needs direction now.
138         (WebCore::IDBCursorBackendImpl::create):
139         (IDBCursorBackendImpl):
140         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
141         (WebCore::IDBIndexBackendImpl::openCursorInternal): Drop unused param.
142         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
143         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): Ditto.
144
145 2012-08-01  Rick Byers  <rbyers@chromium.org>
146
147         Don't request a clickCount of 1 on mouseMove event generated by tap gestures
148         https://bugs.webkit.org/show_bug.cgi?id=92779
149
150         Reviewed by Adam Barth.
151
152         mousemove events don't have a click count, so we shouldn't be passing 1
153         here.  Note this makes no real difference in practice since the value is
154         ignored - fixed strictly for pedantics.
155         
156         Test: fast/events/touch/gesture/gesture-click
157
158         * page/EventHandler.cpp:
159         (WebCore::EventHandler::handleGestureTap):
160
161 2012-08-01  Kihong Kwon  <kihong.kwon@samsung.com>
162
163         Dropping webkit prefix from Vibration API
164         https://bugs.webkit.org/show_bug.cgi?id=92840
165
166         Reviewed by Adam Barth.
167
168         Remove webkit prefix from navigator.webkitVibrate().
169         - Vibration API have been entered CR already.
170         - Firefox already implements Vibration API.
171
172         No new tests. Covered by fast/dom/navigator-vibration.html
173
174         * Modules/vibration/NavigatorVibration.cpp:
175         (WebCore::NavigatorVibration::vibrate):
176         * Modules/vibration/NavigatorVibration.h:
177         (NavigatorVibration):
178         * Modules/vibration/NavigatorVibration.idl:
179
180 2012-08-01  Kwang Yul Seo  <skyul@company100.net>
181
182         Read tag names and attributes from the saved tokens in HTMLFormattingElementList::closestElementInScopeWithName(const AtomicString&)
183         https://bugs.webkit.org/show_bug.cgi?id=92841
184
185         Reviewed by Adam Barth.
186
187         This is a follow-up patch for r123577.
188         Replaced entry.element()->hasLocalName(targetName) with entry.stackItem()->hasLocalName(targetName).
189
190         No new tests, covered by existing tests.
191
192         * html/parser/HTMLFormattingElementList.cpp:
193         (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
194
195 2012-08-01  Kwang Yul Seo  <skyul@company100.net>
196
197         HTMLTreeBuilder passes a wrong token when pushing the head element
198         https://bugs.webkit.org/show_bug.cgi?id=92838
199
200         Reviewed by Adam Barth.
201
202         When the tree builder pushes the head element in the "after head" insertion mode,
203         it creates a HTMLStackItem from a wrong token.
204
205         Added HTMLConstructionSite::headStackItem() to retrieve the stack item for the head
206         element. Modified the tree builder to pass the correct stack item when pushing the head
207         element in the "after head" insertion mode.
208
209         No new tests, covered by existing tests.
210
211         * html/parser/HTMLConstructionSite.cpp:
212         (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
213         * html/parser/HTMLConstructionSite.h:
214         (WebCore::HTMLConstructionSite::head):
215         (WebCore::HTMLConstructionSite::headStackItem):
216         (HTMLConstructionSite):
217         * html/parser/HTMLTreeBuilder.cpp:
218         (WebCore::HTMLTreeBuilder::processStartTag):
219
220 2012-08-01  Andrei Bucur  <abucur@adobe.com>
221
222         [CSS Regions] The regionLayoutUpdate event should be dispatched on the NamedFlow object
223         https://bugs.webkit.org/show_bug.cgi?id=88778
224
225         Reviewed by Adam Barth.
226
227         Spec: http://www.w3.org/TR/css3-regions/#region-flow-layout-events
228
229         This patch implements the regionLayoutUpdate event per May 3rd CSS Regions spec recommendation.
230         Before this patch the event was dispatched individually on each region whenever its overflow state changed. The trigger conditions are preserved with the following additions:
231         - the event is dispatched when the last region is removed
232         - the event is not dispatched when the named flow switches to the NULL state
233         Also, the NamedFlow objects are not deleted if they switch to the NULL state and have listeners attached. In that scenario the JS wrapper will not release the reference
234         until the parent Document is destroyed.
235
236         Tests: The old tests have been modified to use the event on the NamedFlow object rather the one on the Region. New tests have been added to verify the
237         correct behavior in the special states of the NamedFlow (no region chain, NULL state).
238
239         * dom/Document.cpp:
240         (WebCore::Document::addListenerTypeIfNeeded): Listeners are not added on Nodes any more so the regionLayoutUpdate type was removed from the list.
241         * dom/Document.h:
242         * dom/EventTarget.h:
243         (WebCore):
244         * dom/EventTargetFactory.in:
245         * dom/Node.cpp:
246         * dom/Node.h:
247         (Node):
248         * dom/WebKitNamedFlow.cpp:
249         (WebCore::WebKitNamedFlow::eventTargetData):
250         (WebCore):
251         (WebCore::WebKitNamedFlow::ensureEventTargetData):
252         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): The 3rd May WD says the event is bubbling. However this doesn't make sense as this object doesn't belong to the DOM tree. This was fixed in the ED.
253         (WebCore::WebKitNamedFlow::interfaceName):
254         (WebCore::WebKitNamedFlow::scriptExecutionContext):
255         (WebCore::WebKitNamedFlow::base): Getter for the owner Document used by the wrapper to determine if the object is reachable.
256         * dom/WebKitNamedFlow.h:
257         (WebCore):
258         (WebKitNamedFlow):
259         (WebCore::WebKitNamedFlow::refEventTarget):
260         (WebCore::WebKitNamedFlow::derefEventTarget):
261         * dom/WebKitNamedFlow.idl:
262         * rendering/RenderFlowThread.cpp:
263         (WebCore::RenderFlowThread::RenderFlowThread):
264         (WebCore::RenderFlowThread::layout): The event dispatching is now handled by the implementation of RenderFlowThread.
265         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
266         * rendering/RenderFlowThread.h:
267         * rendering/RenderNamedFlowThread.cpp:
268         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
269         (WebCore::RenderNamedFlowThread::removeRegionFromThread): The layout doesn't detect changes caused by removing the last region. This case is handled separately.
270         (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
271         (WebCore):
272         (WebCore::RenderNamedFlowThread::regionLayoutUpdateEventTimerFired):
273         * rendering/RenderNamedFlowThread.h:
274         (RenderNamedFlowThread):
275         * rendering/RenderRegion.cpp:
276         (WebCore::RenderRegion::RenderRegion):
277         * rendering/RenderRegion.h:
278         (RenderRegion):
279
280 2012-07-31  Robert Hogan  <robert@webkit.org>
281
282         CSS 2.1 failure: margin-collapse-012 fails
283         https://bugs.webkit.org/show_bug.cgi?id=80219
284
285         Reviewed by Eric Seidel.
286
287         Tests: css2.1/20110323/margin-collapse-012.htm
288                fast/css/margin-collapse-abspos-negmargin.htm
289
290         I also ran this against the full margin-collapse-* CSS 2.1 suite without regressions.
291
292         Per http://www.w3.org/TR/CSS21/box.html#collapsing-margins don't collapse the margins of 
293         positioned blocks. Instead, just use the margin of the sibling/container to offset the 
294         positioned block's logical top - its own margin gets added in later at 
295         RenderBox::computePositionedLogicalHeightUsing().
296
297         * rendering/RenderBlock.cpp:
298         (WebCore::RenderBlock::adjustPositionedBlock):
299
300 2012-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
301
302         Unreviewed, rolling out r124334.
303         http://trac.webkit.org/changeset/124334
304         https://bugs.webkit.org/show_bug.cgi?id=92879
305
306         Broke MemoryInstrumentationTest.sizeOf from webkit_unit_tests
307         on Chromium canaries (Requested by apavlov1 on #webkit).
308
309         * bindings/v8/ScriptProfiler.cpp:
310         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
311         * dom/MemoryInstrumentation.h:
312         (WebCore::MemoryInstrumentation::addInstrumentedObject):
313         (MemoryInstrumentation):
314         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
315         * inspector/InspectorMemoryAgent.cpp:
316         (WebCore):
317         * inspector/MemoryInstrumentationImpl.h:
318         (MemoryInstrumentationImpl):
319         (WebCore::MemoryInstrumentationImpl::totalTypeSize):
320
321 2012-08-01  Han Shen  <shenhan@google.com>
322
323         Fix gcc 4.7 compile warnings.
324         https://bugs.webkit.org/show_bug.cgi?id=92797
325
326         Reviewed by Kentaro Hara.
327
328         GCC 4.7 gives (more strict) warnings on uninitialized variables,
329         fixed by providing initilization values.
330
331         Tested by gcc 4.7 building. No change in behavior.
332
333         * platform/graphics/filters/arm/NEONHelpers.h:
334         (WebCore::loadRGBA8AsFloat): Add initilizaton value for local variable.
335
336 2012-08-01  Ryosuke Niwa  <rniwa@webkit.org>
337
338         REGRESSION(r122498): Assertion failure: m_nodeListCounts is sometimes not zero in the Document destructor
339         https://bugs.webkit.org/show_bug.cgi?id=92742
340
341         Reviewed by Andreas Kling.
342
343         The bug was caused by adoptTreeScope's not always calling unregisterNodeListCache and registerNodeListCache
344         on node lists that use m_atomicNameCaches and m_nameCaches.
345
346         Tests: fast/dom/NodeList/nodelist-moved-to-fragment-2.html
347                fast/dom/NodeList/nodelist-moved-to-fragment.html
348
349         * dom/NodeRareData.h:
350         (WebCore::NodeListsNodeData::adoptTreeScope):
351
352 2012-08-01  Vsevolod Vlasov  <vsevik@chromium.org>
353
354         Web Inspector: Crashes in NetworkResourcesData.
355         https://bugs.webkit.org/show_bug.cgi?id=92874
356
357         Reviewed by Yury Semikhatsky.
358
359         * inspector/NetworkResourcesData.cpp:
360         (WebCore::contentSizeInBytes):
361         (WebCore):
362         (WebCore::NetworkResourcesData::ResourceData::removeContent):
363         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
364         (WebCore::NetworkResourcesData::setResourceContent):
365         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
366
367 2012-08-01  Ilya Tikhonovsky  <loislo@chromium.org>
368
369         Web Inspector: test native memory instrumentation code with help of unittests
370         https://bugs.webkit.org/show_bug.cgi?id=92743
371
372         Reviewed by Yury Semikhatsky.
373
374         Test a part of existing Native Memory Instrumentation code with help of unit tests.
375         6 tests were added and two bugs were fixed.
376         a drive-by improvement: the method MemoryInstrumentation::addInstrumentedObject
377         was marked as private and addRootObject was introduced instead of it.
378         The new function also calls processDeferedPointers.
379
380         * bindings/v8/ScriptProfiler.cpp:
381         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
382         * dom/MemoryInstrumentation.h:
383         (WebCore::MemoryInstrumentation::addRootObject):
384         (MemoryInstrumentation):
385         (WebCore::MemoryInstrumentation::addInstrumentedObject):
386         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
387         (WebCore):
388         (WebCore::MemoryInstrumentation::addObjectImpl):
389         * inspector/InspectorMemoryAgent.cpp:
390         (WebCore):
391         * inspector/MemoryInstrumentationImpl.h:
392         (MemoryInstrumentationImpl):
393
394 2012-08-01  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
395
396         [GTK] Memory leak found while running webaudio tests
397         https://bugs.webkit.org/show_bug.cgi?id=92861
398
399         Reviewed by Philippe Normand.
400
401         Fix a memory leak in decodeAudioForBusCreation by adopting
402         an allocation of GInputStream.
403
404         No new tests. No change in behavior.
405
406         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
407         (WebCore::AudioFileReader::decodeAudioForBusCreation):
408
409 2012-08-01  Alexei Filippov  <alexeif@chromium.org>
410
411         Web Inspector: count DOM storage cache memory for native snapshot
412         https://bugs.webkit.org/show_bug.cgi?id=91617
413
414         Reviewed by Yury Semikhatsky.
415
416         Add memory size used for DOM storage cache reporting interface.
417         Report it to the native memory snapshot instrumentation framework.
418
419         * inspector/InspectorController.cpp:
420         (WebCore::InspectorController::InspectorController):
421         * inspector/InspectorDOMStorageAgent.cpp:
422         (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache):
423         (WebCore):
424         * inspector/InspectorDOMStorageAgent.h:
425         (InspectorDOMStorageAgent):
426         * inspector/InspectorMemoryAgent.cpp:
427         (MemoryBlockName):
428         (WebCore):
429         (WebCore::dumpDOMStorageCache):
430         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
431         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
432         * inspector/InspectorMemoryAgent.h:
433         (WebCore):
434         (WebCore::InspectorMemoryAgent::create):
435         (InspectorMemoryAgent):
436         * inspector/front-end/NativeMemorySnapshotView.js:
437         (WebInspector.MemoryBlockViewProperties._initialize):
438         * storage/StorageArea.h:
439         (StorageArea):
440         * storage/StorageAreaImpl.cpp:
441         (WebCore::StorageAreaImpl::memoryBytesUsedByCache):
442         (WebCore):
443         * storage/StorageAreaImpl.h:
444         (StorageAreaImpl):
445
446 2012-07-31  Yury Semikhatsky  <yurys@chromium.org>
447
448         Web Inspector: add CSSStyleSheet memory instrumentation
449         https://bugs.webkit.org/show_bug.cgi?id=92748
450
451         Reviewed by Antti Koivisto.
452
453         Added MemoryInstrumentation for CSSStyleSheet, StyleSheetContents, StyleRule,
454         CSSSelectorList and StylePropertySet. The coverage is not complete as the
455         patch was growing too big.
456
457         * css/CSSSelectorList.cpp:
458         (WebCore::CSSSelectorList::CSSSelectorList):
459         (WebCore::CSSSelectorList::length):
460         (WebCore):
461         (WebCore::CSSSelectorList::reportMemoryUsage):
462         * css/CSSSelectorList.h:
463         (WebCore):
464         (CSSSelectorList):
465         * css/CSSStyleSheet.cpp:
466         (WebCore::CSSStyleSheet::reportMemoryUsage):
467         (WebCore):
468         * css/CSSStyleSheet.h:
469         (WebCore):
470         (CSSStyleSheet):
471         * css/MediaList.cpp:
472         (WebCore):
473         (WebCore::MediaQuerySet::reportMemoryUsage):
474         (WebCore::MediaList::reportMemoryUsage):
475         * css/MediaList.h:
476         (WebCore):
477         (MediaQuerySet):
478         (MediaList):
479         * css/MediaQuery.cpp:
480         (WebCore::MediaQuery::reportMemoryUsage):
481         (WebCore):
482         * css/MediaQuery.h:
483         (WebCore):
484         (MediaQuery):
485         * css/MediaQueryExp.cpp:
486         (WebCore::MediaQueryExp::reportMemoryUsage):
487         (WebCore):
488         * css/MediaQueryExp.h:
489         (WebCore):
490         (MediaQueryExp):
491         * css/StylePropertySet.cpp:
492         (WebCore::StylePropertySet::reportMemoryUsage):
493         (WebCore):
494         * css/StylePropertySet.h:
495         (WebCore):
496         (StylePropertySet):
497         * css/StyleRule.cpp:
498         (WebCore::StyleRuleBase::reportMemoryUsage): We cannot make
499         reportMemoryUsage virtual as it would add vtable to StyleRuleBase
500         and its descendants and would blow its memory footprint. This
501         is why we have a switch over StyleRule type here.
502         (WebCore):
503         (WebCore::StyleRule::reportMemoryUsage):
504         (WebCore::StyleRulePage::reportMemoryUsage):
505         (WebCore::StyleRuleFontFace::reportMemoryUsage):
506         (WebCore::StyleRuleBlock::reportMemoryUsage):
507         (WebCore::StyleRuleMedia::reportMemoryUsage):
508         (WebCore::StyleRuleRegion::reportMemoryUsage):
509         * css/StyleRule.h:
510         (WebCore):
511         (StyleRuleBase):
512         (StyleRule):
513         (StyleRuleFontFace):
514         (StyleRulePage):
515         (StyleRuleBlock):
516         (StyleRuleMedia):
517         (StyleRuleRegion):
518         * css/StyleSheetContents.cpp:
519         (WebCore::StyleSheetContents::reportMemoryUsage):
520         (WebCore):
521         * css/StyleSheetContents.h:
522         (WebCore):
523         (StyleSheetContents):
524         * dom/Document.cpp:
525         (WebCore::Document::reportMemoryUsage):
526         * dom/MemoryInstrumentation.h:
527         (WebCore::MemoryClassInfo::addInstrumentedVectorPtr):
528         (WebCore::MemoryClassInfo::addVectorPtr):
529
530 2012-08-01  Keishi Hattori  <keishi@webkit.org>
531
532         Attempt to fix flakiness of color-suggestion-picker-appearance.html
533         https://bugs.webkit.org/show_bug.cgi?id=92848
534
535         Reviewed by Kent Tamura.
536
537         * Resources/colorSuggestionPicker.js:
538         (ColorPicker.prototype._layout): We put the width and height into
539         variables so we don't call window.onresize twice.
540
541 2012-08-01  Carlos Garcia Campos  <cgarcia@igalia.com>
542
543         Unreviewed. Fix GTK+ build with recent version of GTK+.
544
545         Use g_threads_enter/leave instead of the wrapper macros. This
546         gives a compile warning because they are now deprecated but at
547         least it builds.
548
549         * plugins/gtk/gtk2xtbin.c:
550         (xt_event_prepare):
551         (xt_event_check):
552         (xt_event_dispatch):
553
554 2012-08-01  Alexei Filippov  <alexeif@chromium.org>
555
556         Web Inspector: Add native memory used by GlyphCache to the snapshot
557         https://bugs.webkit.org/show_bug.cgi?id=90615
558
559         Reviewed by Yury Semikhatsky.
560
561         Adds interface for reporting memory usage of platform specific
562         components.
563         Report memory usage of the font cache allocated by skia in chromium.
564
565         * inspector/InspectorMemoryAgent.cpp:
566         (WebCore::addPlatformComponentsInfo):
567         (WebCore):
568         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
569         * inspector/front-end/NativeMemorySnapshotView.js:
570         (WebInspector.MemoryBlockViewProperties._initialize):
571         * platform/MemoryUsageSupport.cpp:
572         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
573         (WebCore):
574         * platform/MemoryUsageSupport.h:
575         (MemoryUsageSupport):
576         (ComponentInfo):
577         (WebCore::MemoryUsageSupport::ComponentInfo::ComponentInfo):
578         * platform/chromium/MemoryUsageSupportChromium.cpp:
579         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
580         (WebCore):
581         * platform/qt/MemoryUsageSupportQt.cpp:
582         (WebCore::MemoryUsageSupport::memoryUsageByComponents):
583         (WebCore):
584
585 2012-08-01  Yoshifumi Inoue  <yosin@chromium.org>
586
587         [CSS] Add selectors for multiple fields time input UI.
588         https://bugs.webkit.org/show_bug.cgi?id=92834
589
590         Reviewed by Kent Tamura.
591
592         This patch adds new selectors and "height" property to spin button
593         for multiple fields time input UI.
594
595         RenderTextControlSingleLine::layout() sets height of spin button for
596         input type "number" and other input types using RenderTextControlSingleLine
597         as renderer object. However, multiple fields time input UI doesn't use
598         it and needs to set height of spin button.
599
600         No new tests. This patch doesn't change behavior.
601
602         * css/html.css:
603         (input::-webkit-datetime-edit): Added.
604         (input::-webkit-datetime-edit-ampm-field): Added.
605         (input::-webkit-datetime-edit-hour-field): Added.
606         (input::-webkit-datetime-edit-millisecond-field): Added.
607         (input::-webkit-datetime-edit-minute-field): Added.
608         (input::-webkit-datetime-edit-minute-field[readonly]): Added. This selector
609         is used for step>=3600 second and time format contains minute field.
610         (input::-webkit-datetime-edit-second-field): Added.
611         (input::-webkit-datetime-edit-second-field[readonly]): Added. This selector
612         is used for step>=60 second and time format contains second field.
613         (input::-webkit-inner-spin-button): Add "height" property for using
614         spin button other than RenderTextControlSingleLine.
615
616 2012-08-01  Kwang Yul Seo  <skyul@company100.net>
617
618         Make HTMLConstructionSite::createHTMLElement(AtomicHTMLToken*) private.
619         https://bugs.webkit.org/show_bug.cgi?id=92846
620
621         Reviewed by Eric Seidel.
622
623         This method is internal to HTMLConstructionSite.
624
625         No functional change.
626
627         * html/parser/HTMLConstructionSite.h:
628         (HTMLConstructionSite):
629
630 2012-08-01  Kinuko Yasuda  <kinuko@chromium.org>
631
632         [Filesystem] Assertion on $0.webkitEntries while on the input field.
633         https://bugs.webkit.org/show_bug.cgi?id=91954
634
635         Reviewed by Kent Tamura.
636
637         Accessing .webkitEntries should not crash when input type is not for file.
638
639         Tests: fast/filesystem/input-access-entries.html
640
641         * Modules/filesystem/HTMLInputElementFileSystem.cpp:
642         (WebCore::HTMLInputElementFileSystem::webkitEntries):
643
644 2012-08-01  Eugene Klyuchnikov  <eustas.big@gmail.com>
645
646         Web Inspector: Profiles: cleanup HeapSnapshotReceiver interface
647         https://bugs.webkit.org/show_bug.cgi?id=92390
648
649         Reviewed by Yury Semikhatsky.
650
651         Remove callback parameter and return values from methods startLoading
652         and finishLoading. All implementations of HeapSnapshotReceiver honestly
653         override interface methods now.
654
655         * inspector/front-end/HeapSnapshotLoader.js: Adopted new API.
656         * inspector/front-end/HeapSnapshotProxy.js: Adopted new API. 
657         (WebInspector.HeapSnapshotLoaderProxy.prototype.isStarted): Added.
658         (WebInspector.HeapSnapshotLoaderProxy.prototype.addConsumer): Added.
659         (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
660         Explicitly finishes loading and build snapshot.
661         * inspector/front-end/HeapSnapshotView.js:
662         (WebInspector.HeapSnapshotReceiver.prototype.startLoading):
663         Removed callback parameter and return value.
664         (WebInspector.HeapSnapshotReceiver.prototype.finishLoading):
665         Removed callback parameter.
666         (WebInspector.HeapSnapshotSaveToFileReceiver): Adopted new API.
667
668 2012-04-07  Ilya Tikhonovsky  <loislo@chromium.org>
669
670         Web Inspector: extract MemoryInstrumentationImpl into separate files for future reusing in unit tests
671         https://bugs.webkit.org/show_bug.cgi?id=92751
672
673         Reviewed by Yury Semikhatsky.
674
675         * CMakeLists.txt:
676         * GNUmakefile.list.am:
677         * Target.pri:
678         * WebCore.gypi:
679         * WebCore.vcproj/WebCore.vcproj:
680         * inspector/InspectorAllInOne.cpp:
681         * inspector/InspectorMemoryAgent.cpp:
682         (WebCore):
683         * inspector/MemoryInstrumentationImpl.cpp: Added.
684         (WebCore):
685         (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
686         (WebCore::MemoryInstrumentationImpl::processDeferredInstrumentedPointers):
687         (WebCore::MemoryInstrumentationImpl::countObjectSize):
688         (WebCore::MemoryInstrumentationImpl::deferInstrumentedPointer):
689         (WebCore::MemoryInstrumentationImpl::visited):
690         (WebCore::MemoryInstrumentationImpl::selfSize):
691         * inspector/MemoryInstrumentationImpl.h: Added.
692         (WebCore):
693         (MemoryInstrumentationImpl):
694         (WebCore::MemoryInstrumentationImpl::totalTypeSize):
695
696 2012-07-31  MORITA Hajime  <morrita@google.com>
697
698         Internals::setAuthorShadowDOMForAnyElementEnabled should be on InternalSettings
699         https://bugs.webkit.org/show_bug.cgi?id=92823
700
701         Reviewed by Kentaro Hara.
702
703         This change moves Internals::setAuthorShadowDOMForAnyElementEnabled() to
704         InternalSettings to support original value recovery.
705
706         * testing/InternalSettings.cpp:
707         (WebCore::InternalSettings::Backup::Backup):
708         (WebCore::InternalSettings::Backup::restoreTo):
709         (WebCore::InternalSettings::setAuthorShadowDOMForAnyElementEnabled): Moved from Internals.
710         (WebCore):
711         * testing/InternalSettings.h:
712         (Backup):
713         (InternalSettings):
714         * testing/InternalSettings.idl:
715         * testing/Internals.cpp:
716         * testing/Internals.h:
717         (Internals):
718         * testing/Internals.idl:
719
720 2012-07-31  Vincent Scheib  <scheib@chromium.org>
721
722         webkitRequestPointerLock and webkitExitPointerLock limited to the same document of an active Pointer lock.
723         https://bugs.webkit.org/show_bug.cgi?id=91284
724
725         Reviewed by Adrienne Walker.
726
727         Previously, cross-talk between documents was possible, e.g. allowing one
728         document.webkitExitPointerLock to exit the lock from another document.
729         This change brings Pointer Lock closer to the Fullscreen API behavior,
730         and stops the pointer lock target from being transferable between
731         documents.
732
733         Test: http/tests/pointer-lock/requestPointerLock-can-not-transfer-between-documents.html
734
735         * dom/Document.cpp:
736         (WebCore::Document::webkitExitPointerLock):
737         * page/PointerLockController.cpp:
738         (WebCore::PointerLockController::requestPointerLock):
739
740 2012-07-31  Keishi Hattori  <keishi@webkit.org>
741
742         ColorInputType::typeMismatchFor is returning the opposite bool
743         https://bugs.webkit.org/show_bug.cgi?id=92836
744
745         Reviewed by Kent Tamura.
746
747         No new tests. Covered by color-suggestion-picker-appearance.html.
748
749         * html/ColorInputType.cpp:
750         (WebCore::ColorInputType::typeMismatchFor):
751
752 2012-07-31  Douglas Stockwell  <dstockwell@chromium.org>
753
754         -webkit-flex-flow does not work with inherit/initial values
755         https://bugs.webkit.org/show_bug.cgi?id=92709
756
757         Reviewed by Ojan Vafai.
758
759         Add a new handler for flex-flow and move flex to StyleBuilder to mirror the standard pattern for handling initial/inherit in shorthands.
760
761         Test: css3/flexbox/flex-flow-initial.html
762
763         * css/StyleBuilder.cpp:
764         (WebCore::StyleBuilder::StyleBuilder): Added handlers for flex and flex-flow.
765         * css/StyleResolver.cpp:
766         (WebCore::StyleResolver::collectMatchingRulesForList): Removed hand written logic for handling flex.
767
768 2012-07-31  Emil A Eklund  <eae@chromium.org>
769
770         Float imprecision causes incorrect wrapping in LineLayout with subpixel layout
771         https://bugs.webkit.org/show_bug.cgi?id=92778
772
773         Reviewed by Eric Seidel.
774
775         Due to float imprecision an incorrect wrapping decision is made in
776         certain cases where the values being compare are close but not exactly
777         the same. This can happen as the size of blocks is represented in layout
778         units while line layout uses floats.
779
780         Test: fast/sub-pixel/inline-block-should-not-wrap.html
781
782         * rendering/RenderBlockLineLayout.cpp:
783         (WebCore::LineWidth::fitsOnLine):
784         Use LayoutUnit::epsilon when comparing values as that is the maximum
785         precision we support.
786
787 2012-07-31  Hayato Ito  <hayato@chromium.org>
788
789         Refactor EventDispatcher::dispatchEvent() so that we can call each phase (Caputure, Target and Bubbling) of event dispatching separately.
790         https://bugs.webkit.org/show_bug.cgi?id=92621
791
792         Reviewed by Dimitri Glazkov.
793
794         This is one of the required refactorings to support event
795         propagation for seamless iframes.  I've removed 'goto' statements
796         from EventDispatcher::dispatchEvent() as a result.
797
798         I've verified that all separated functions are successfully
799         inlined. I could not see any performance regression.  The
800         benchmark result is:
801
802         Before this patch:
803         % ./Tools/Scripts/run-perf-tests PerformanceTests/DOM/Events.html
804         Running 1 tests
805         Running DOM/Events.html (1 of 1)
806         RESULT DOM: Events= 243.986607143 ms
807         median= 242.297619048 ms, stdev= 5.74748351315 ms, min= 239.80952381 ms, max= 268.0 ms
808
809         After this patch:
810         % ./Tools/Scripts/run-perf-tests PerformanceTests/DOM/Events.html
811         Running 1 tests
812         Running DOM/Events.html (1 of 1)
813         RESULT DOM: Events= 242.291666667 ms
814         median= 240.452380952 ms, stdev= 5.8718643632 ms, min= 238.214285714 ms, max= 266.5 ms
815
816         No new tests, no behavior change.
817
818         * dom/EventDispatcher.cpp:
819         (WebCore::EventDispatcher::dispatchEvent):
820         (WebCore::EventDispatcher::dispatchEventPreProcess):
821         (WebCore):
822         (WebCore::EventDispatcher::dispatchEventAtCapturing):
823         (WebCore::EventDispatcher::dispatchEventAtTarget):
824         (WebCore::EventDispatcher::dispatchEventAtBubbling):
825         (WebCore::EventDispatcher::dispatchEventPostProcess):
826         (WebCore::EventDispatcher::topEventContext):
827         * dom/EventDispatcher.h:
828         (WebCore):
829         (EventDispatcher):
830
831 2012-07-31  Yoshifumi Inoue  <yosin@chromium.org>
832
833         [Chromium] Enable ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
834         https://bugs.webkit.org/show_bug.cgi?id=92822
835
836         Reviewed by Kent Tamura.
837
838         This patch touches header files for compiling files which contains
839         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
840
841         No new tests. This patch doesn't change behavior.
842
843         * platform/text/DateTimeFormat.h:
844         * platform/text/LocaleICU.h:
845         * platform/text/LocaleWin.h:
846         * platform/text/LocalizedDate.h:
847         * platform/text/LocalizedNumber.h:
848         * platform/text/mac/LocaleMac.h:
849
850 2012-07-30  Ryosuke Niwa  <rniwa@webkit.org>
851
852         REGRESSION(r120979): Node list returned by getElementsByTagNameNS isn't invalidated when children changes
853         https://bugs.webkit.org/show_bug.cgi?id=92705
854
855         Reviewed by Abhishek Arya.
856
857         The bug was caused by a typo in NodeListsNodeData::invalidateCaches. We need to invalidate
858         tag name node lists when child nodes change and not when attributes change.
859
860         Test: fast/dom/NodeList/nodelist-namespace-invalidation.html
861
862         * dom/Node.cpp:
863         (WebCore::NodeListsNodeData::invalidateCaches):
864
865 2012-07-31  Tony Chang  <tony@chromium.org>
866
867         flexbox should avoid floats
868         https://bugs.webkit.org/show_bug.cgi?id=92661
869
870         Reviewed by Ojan Vafai.
871
872         Block types should avoid floats. Deprecated flexbox and grid already avoid floats.
873
874         Tests: css3/flexbox/floated-flexbox.html - added a test case.
875
876         * rendering/RenderFlexibleBox.h:
877
878 2012-07-31  Tony Chang  <tony@chromium.org>
879
880         REGRESSION: flexbox content-size fails to exclude scrollbar
881         https://bugs.webkit.org/show_bug.cgi?id=92667
882
883         Reviewed by Ojan Vafai.
884
885         In r123909, we switched to computing the height using computeContentLogicalHeightUsing().
886         Unfortunately, this includes the scrollbar when we want the content height. Add a helper
887         method for computing the value needed by flexbox.
888
889         Test: css3/flexbox/content-height-with-scrollbars.html
890
891         * rendering/RenderFlexibleBox.cpp:
892         (WebCore::RenderFlexibleBox::mainAxisContentExtent): Use computeLogicalClientHeight
893         (WebCore::RenderFlexibleBox::computeLogicalClientHeight): Add new method for taking scrollbar into consideration.
894         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Use computeLogicalClientHeight
895         (WebCore::RenderFlexibleBox::lineBreakLength): Use computeLogicalClientHeight
896         * rendering/RenderFlexibleBox.h:
897
898 2012-07-31  Kwang Yul Seo  <skyul@company100.net>
899
900         Remove unused method HTMLElementStack::bottom()
901         https://bugs.webkit.org/show_bug.cgi?id=92807
902
903         Reviewed by Kentaro Hara.
904
905         HTMLElementStack::bottom() was replaced with HTMLElementStack::rootNode()
906         in r80231.
907
908         No functional change, so no new tests.
909
910         * html/parser/HTMLElementStack.cpp:
911         * html/parser/HTMLElementStack.h:
912         (HTMLElementStack):
913
914 2012-07-31  Tony Chang  <tony@chromium.org>
915
916         -webkit-order should take an integer, not a number
917         https://bugs.webkit.org/show_bug.cgi?id=92688
918
919         Reviewed by Ojan Vafai.
920
921         The spec changed back from floats to integers:
922         http://lists.w3.org/Archives/Public/www-style/2012Jul/0607.html
923
924         Tests: css3/flexbox/css-properties.html: Updated.
925                css3/flexbox/flex-order.html: Test cases modified.
926
927
928         * css/CSSComputedStyleDeclaration.cpp:
929         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
930         * css/CSSParser.cpp:
931         (WebCore::CSSParser::parseValue):
932         * css/StyleBuilder.cpp:
933         (WebCore::StyleBuilder::StyleBuilder):
934         * rendering/RenderFlexibleBox.cpp:
935         (WebCore):
936         (RenderFlexibleBox::OrderHashTraits):
937         (WebCore::RenderFlexibleBox::OrderHashTraits::emptyValue):
938         (WebCore::RenderFlexibleBox::OrderHashTraits::constructDeletedValue):
939         (WebCore::RenderFlexibleBox::OrderHashTraits::isDeletedValue):
940         (RenderFlexibleBox::OrderIterator):
941         * rendering/RenderFlexibleBox.h:
942         * rendering/style/RenderStyle.h:
943         * rendering/style/StyleRareNonInheritedData.h:
944         (StyleRareNonInheritedData):
945
946 2012-07-31  James Robinson  <jamesr@chromium.org>
947
948         [chromium] Use skia directly in CCHeadsUpDisplayLayerImpl
949         https://bugs.webkit.org/show_bug.cgi?id=92810
950
951         Reviewed by Adrienne Walker.
952
953         The chromium compositor HUD doesn't need to use a full GraphicsContext/etc, all it draws are rectangles and a
954         simple stroked path. This draws the HUD with straight skia calls and removes the now unnecessary PlatformCanvas
955         wrapper.
956
957         * WebCore.gypi:
958         * platform/graphics/chromium/PlatformCanvas.cpp: Removed.
959         * platform/graphics/chromium/PlatformCanvas.h: Removed.
960         * platform/graphics/chromium/cc/CCFontAtlas.cpp:
961         (WebCore::CCFontAtlas::drawText):
962         * platform/graphics/chromium/cc/CCFontAtlas.h:
963         (CCFontAtlas):
964         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
965         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
966         (WebCore::CCHeadsUpDisplayLayerImpl::drawHudContents):
967         (WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounter):
968         (WebCore::CCHeadsUpDisplayLayerImpl::drawFPSCounterText):
969         (WebCore::CCHeadsUpDisplayLayerImpl::drawDebugRects):
970         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
971         (WebCore):
972
973 2012-07-31  Dean Jackson  <dino@apple.com>
974
975         ImageCG doesn't initialize m_decodedPropertiesSize in BitmapImage constructor
976         https://bugs.webkit.org/show_bug.cgi?id=92418
977
978         Reviewed by Dan Bernstein.
979
980         Tested by existing content.
981
982         * platform/graphics/cg/ImageCG.cpp:
983         (WebCore::BitmapImage::BitmapImage): initialize m_decodedPropertiesSize to zero.
984
985 2012-07-31  Shawn Singh  <shawnsingh@chromium.org>
986
987         [chromium] Hit test points are being clipped by layers that should not clip
988         https://bugs.webkit.org/show_bug.cgi?id=92786
989
990         Reviewed by James Robinson.
991
992         On impl-side hit testing for chromium compositor, we are
993         accidentally checking all ancestor layers for clipping, instead of
994         only layers that actually clip something. This patch fixes it.
995
996         Added new unit test that reproduces the scenario:
997           CCLayerTreeHostCommonTest.verifyHitTestingForNonClippingIntermediateLayer
998
999         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1000         (WebCore::pointIsClippedBySurfaceOrClipRect):
1001
1002 2012-07-31  James Robinson  <jamesr@chromium.org>
1003
1004         [chromium] REGRESSION(r123644) Compositor HUD crashes immediately with --show-paint-rects
1005         https://bugs.webkit.org/show_bug.cgi?id=92775
1006
1007         Reviewed by Adrienne Walker.
1008
1009         In r123644, the compositor HUD was turned into a normal layer. When the HUD is supposed to cover the entire
1010         viewport - for instance if the showPlatformLayerTree or showDebugRects settings are true -
1011         HeadsUpDisplayLayerChromium's constructor tries to size itself to its layerTreeHost()'s device viewport size.
1012         Unfortunately, its layerTreeHost pointer is always nil in the constructor since the layer is not yet in the
1013         tree. Additionally, this doesn't handle resize at all.
1014
1015         To fix this, this grabs the device viewport size and settings in a LayerChromium::update() OVERRIDE. Also
1016         changes CCLayerTreeHost::willCommit to only reparent the HUD layer if needed instead of on every frame.
1017
1018         Tested manually, we don't have any layout tests for the debug HUD.
1019
1020         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.cpp:
1021         (WebCore::HeadsUpDisplayLayerChromium::create):
1022         (WebCore::HeadsUpDisplayLayerChromium::HeadsUpDisplayLayerChromium):
1023         * platform/graphics/chromium/HeadsUpDisplayLayerChromium.h:
1024         (HeadsUpDisplayLayerChromium):
1025         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1026         (WebCore::CCLayerTreeHost::willCommit):
1027
1028 2012-07-31  Sam Weinig  <sam@webkit.org>
1029
1030         Stop masking 8 bits off of the visited link hash. We need all the bits!
1031         https://bugs.webkit.org/show_bug.cgi?id=92799
1032
1033         Reviewed by Anders Carlsson.
1034
1035         * loader/appcache/ApplicationCacheStorage.cpp:
1036         (WebCore::urlHostHash):
1037         * platform/network/blackberry/CredentialBackingStore.cpp:
1038         (WebCore::hashCredentialInfo):
1039         * plugins/blackberry/PluginPackageBlackBerry.cpp:
1040         (WebCore::PluginPackage::hash):
1041         Update for new function names.
1042
1043 2012-07-31  Chris Rogers  <crogers@google.com>
1044
1045         Allow AudioDestination to support local/live audio input
1046         https://bugs.webkit.org/show_bug.cgi?id=90318
1047
1048         Reviewed by Kenneth Russell.
1049
1050         * WebCore.gypi:
1051         * WebCore.xcodeproj/project.pbxproj:
1052         * GNUmakefile.list.am:
1053         Add AudioIOCallback.h to make files.
1054
1055         * Modules/webaudio/AudioDestinationNode.h:
1056         * Modules/webaudio/AudioDestinationNode.cpp:
1057         (WebCore::AudioDestinationNode::render):
1058         Change provideInput() method to render() to support optional audio input.
1059
1060         (AudioDestinationNode):
1061         (WebCore::AudioDestinationNode::localAudioInputProvider):
1062         Expose public access to an AudioSourceProvider for local/live audio input.
1063
1064         (LocalAudioInputProvider):
1065         (WebCore::AudioDestinationNode::LocalAudioInputProvider::LocalAudioInputProvider):
1066         (WebCore::AudioDestinationNode::LocalAudioInputProvider::set):
1067         (WebCore::AudioDestinationNode::LocalAudioInputProvider::provideInput):
1068         Add simple AudioSourceProvider implementation which dishes out a single AudioBus each
1069         render quantum for optional local/live audio input.
1070
1071         * Modules/webaudio/OfflineAudioDestinationNode.h:
1072         * Modules/webaudio/OfflineAudioDestinationNode.cpp:
1073         (WebCore::OfflineAudioDestinationNode::startRendering):
1074         (WebCore::OfflineAudioDestinationNode::offlineRenderEntry):
1075         (WebCore::OfflineAudioDestinationNode::offlineRender):
1076         Simple name change using "offline" prefix to avoid confusion with AudioDestinationNode::render() method (implementing AudioIOCallback)
1077
1078         * platform/audio/AudioDestination.h:
1079         Switch create() method to take an AudioIOCallback instead of AudioSourceProvider.
1080
1081         * platform/audio/AudioIOCallback.h:
1082         (WebCore::AudioIOCallback::~AudioIOCallback):
1083         Add new AudioIOCallback interface for audio input/output.
1084
1085         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1086         (WebCore::AudioDestination::create):
1087         (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
1088         * platform/audio/gstreamer/AudioDestinationGStreamer.h:
1089         (AudioDestinationGStreamer):
1090         (WebCore::AudioDestinationGStreamer::callback):
1091         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
1092         (_WebKitWebAudioSourcePrivate):
1093         (webKitWebAudioSrcSetProperty):
1094         (webKitWebAudioSrcLoop):
1095         Small tweaks to AudioDestinationGStreamer implementation to account for switch to AudioIOCallback.
1096
1097         * platform/audio/mac/AudioDestinationMac.cpp:
1098         (WebCore::AudioDestination::create):
1099         (WebCore::AudioDestinationMac::AudioDestinationMac):
1100         (WebCore::AudioDestinationMac::render):
1101         * platform/audio/mac/AudioDestinationMac.h:
1102         (AudioDestinationMac):
1103         Small tweaks to AudioDestinationMac implementation to account for switch to AudioIOCallback.
1104
1105 2012-07-31  Kwang Yul Seo  <skyul@company100.net>
1106
1107         Read tag names and attributes from the saved tokens in HTMLTreeBuilder::processEndTag(AtomicHTMLToken*)
1108         https://bugs.webkit.org/show_bug.cgi?id=92715
1109
1110         Reviewed by Adam Barth.
1111
1112         This is a follow-up patch for r123577. Changed oneBelowTop to return HTMLStackItem*.
1113
1114         No new tests, covered by existing tests.
1115
1116         * html/parser/HTMLConstructionSite.h:
1117         (WebCore::HTMLConstructionSite::oneBelowTop):
1118         * html/parser/HTMLElementStack.cpp:
1119         (WebCore::HTMLElementStack::oneBelowTop):
1120         * html/parser/HTMLElementStack.h:
1121         (HTMLElementStack):
1122
1123 2012-07-31  Eric Seidel  <eric@webkit.org>
1124
1125         StyleResolver::canShareStyleWithElement does not need to use getAttribute for classAttr in the non-SVG case
1126         https://bugs.webkit.org/show_bug.cgi?id=92687
1127
1128         Reviewed by Antti Koivisto.
1129
1130         Previously 10% of samples in canShareStyleWithElement hit this line, after this change < 1% do.
1131         This is a small speedup for the non-SVG case.  Since this call is made for every element
1132         when style is resolved, any small speedup in this function matters on large documents.
1133
1134         * css/StyleResolver.cpp:
1135         (WebCore::StyleResolver::collectMatchingRulesForList):
1136
1137 2012-07-31  Luke Macpherson   <macpherson@chromium.org>
1138
1139         Heap-use-after-free in WebCore::StyleResolver::loadPendingImage
1140         https://bugs.webkit.org/show_bug.cgi?id=92606
1141
1142         Reviewed by Abhishek Arya.
1143
1144         Changes StyleResolver's m_pendingImageProperties set to a map, such that for each property we keep
1145         a RefPtr to the CSSValue used to set that property. This ensures that CSSValues are not freed before
1146         they are needed by loadPendingImage.
1147
1148         Test: fast/css/variables/deferred-image-load-from-variable.html
1149
1150         * css/StyleResolver.cpp:
1151         * css/StyleResolver.h:
1152
1153 2012-07-31  Chris Rogers  <crogers@google.com>
1154
1155         Add stub implementation for MediaStreamAudioSourceNode
1156         https://bugs.webkit.org/show_bug.cgi?id=90110
1157
1158         Reviewed by Kenneth Russell.
1159
1160         Test: webaudio/mediastreamaudiosourcenode.html
1161
1162         * CMakeLists.txt:
1163         * DerivedSources.make:
1164         * GNUmakefile.list.am:
1165         * WebCore.gypi:
1166         * WebCore.xcodeproj/project.pbxproj:
1167         Add MediaStreamAudioSourceNode files to make files.
1168
1169         * Modules/webaudio/AudioContext.cpp:
1170         * Modules/webaudio/AudioContext.h:
1171         * Modules/webaudio/AudioContext.idl:
1172         (WebCore::AudioContext::createMediaStreamSource):
1173         Add new createMediaStreamSource() method.
1174
1175         * Modules/webaudio/AudioNode.h:
1176         Add NodeTypeMediaStreamAudioSource.
1177
1178         * Modules/webaudio/MediaStreamAudioSourceNode.cpp: Added.
1179         * Modules/webaudio/MediaStreamAudioSourceNode.h: Added.
1180         (WebCore::MediaStreamAudioSourceNode::create):
1181         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
1182         (WebCore::MediaStreamAudioSourceNode::~MediaStreamAudioSourceNode):
1183         (WebCore::MediaStreamAudioSourceNode::setFormat):
1184         (WebCore::MediaStreamAudioSourceNode::process):
1185         (WebCore::MediaStreamAudioSourceNode::reset):
1186         (WebCore::MediaStreamAudioSourceNode::mediaStream):
1187         (WebCore::MediaStreamAudioSourceNode::audioSourceProvider):
1188         Basic MediaStreamAudioSourceNode implementation.
1189
1190         * Modules/webaudio/MediaStreamAudioSourceNode.idl: Added.
1191
1192 2012-07-31  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1193
1194         FractionalLayoutUnit minor math bugs
1195         https://bugs.webkit.org/show_bug.cgi?id=86065
1196
1197         Reviewed by Levi Weintraub.
1198
1199         Implement a consistent set of subject modifying operators, to ensure
1200         operations that need to be in float are performed in float.
1201
1202         Scale FractionalLayoutSize in FractionalLayoutUnits instead of intergers.
1203
1204         No new functionality. No new tests.
1205
1206         * platform/FractionalLayoutUnit.h:
1207         (WebCore::operator-=):
1208         (WebCore::operator*=):
1209         (WebCore::operator/=):
1210         * platform/graphics/FractionalLayoutSize.h:
1211         (WebCore::FractionalLayoutSize::scale):
1212
1213 2012-07-31  Joshua Netterfield  <jnetterfield@rim.com>
1214
1215         [BlackBerry] Enable CSS Filter Effects
1216         https://bugs.webkit.org/show_bug.cgi?id=92685
1217
1218         Reviewed by Rob Buis.
1219
1220         Enable CSS filter effects, with the exception of custom effects (CSS shaders) and reference effects (SVG effects)
1221
1222         No new tests, because this is covered by tests from other platforms.
1223
1224         Internally reviewed by Arvid Nilsson <anilsson@rim.com> and Antonio Gomes <agomes@rim.com>.
1225
1226         * CMakeLists.txt:
1227         * PlatformBlackBerry.cmake:
1228         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
1229         (WebCore):
1230         (WebCore::GraphicsLayerBlackBerry::setFilters):
1231         (WebCore::GraphicsLayerBlackBerry::updateFilters):
1232         * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
1233         (GraphicsLayerBlackBerry):
1234         (WebCore::GraphicsLayerBlackBerry::filters):
1235         * platform/graphics/blackberry/LayerCompositingThread.h:
1236         (LayerOverride):
1237         (WebCore):
1238         (WebCore::LayerCompositingThread::filterOperationsChanged):
1239         (WebCore::LayerCompositingThread::setFilterOperationsChanged):
1240         (LayerCompositingThread):
1241         (WebCore::LayerCompositingThread::filterActions):
1242         (WebCore::LayerCompositingThread::setFilterActions):
1243         * platform/graphics/blackberry/LayerData.h:
1244         (LayerData):
1245         (WebCore::LayerData::filters):
1246         * platform/graphics/blackberry/LayerFilterRenderer.cpp: Added.
1247         (WebCore):
1248         (WebCore::operationTypeToProgramID):
1249         (WebCore::Uniformf::Uniformf):
1250         (WebCore::Uniform1f::apply):
1251         (WebCore::Uniform1f::create):
1252         (WebCore::Uniform1f::Uniform1f):
1253         (WebCore::Uniform2f::apply):
1254         (WebCore::Uniform2f::create):
1255         (WebCore::Uniform2f::Uniform2f):
1256         (WebCore::Uniform3f::apply):
1257         (WebCore::Uniform3f::create):
1258         (WebCore::Uniform3f::Uniform3f):
1259         (WebCore::LayerFilterRendererAction::create):
1260         (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
1261         (WebCore::LayerFilterRendererAction::~LayerFilterRendererAction):
1262         (WebCore::LayerFilterRendererAction::useActionOn):
1263         (WebCore::LayerFilterRenderer::create):
1264         (WebCore::LayerFilterRenderer::LayerFilterRenderer):
1265         (WebCore::LayerFilterRenderer::bindCommonAttribLocation):
1266         (WebCore::LayerFilterRenderer::initializeSharedGLObjects):
1267         (WebCore::LayerFilterRenderer::ping):
1268         (WebCore::LayerFilterRenderer::pong):
1269         (WebCore::LayerFilterRenderer::pushSnapshot):
1270         (WebCore::LayerFilterRenderer::popSnapshot):
1271         (WebCore::LayerFilterRenderer::actionsForOperations):
1272         (WebCore::LayerFilterRenderer::applyActions):
1273         * platform/graphics/blackberry/LayerFilterRenderer.h: Added.
1274         (WebCore):
1275         (Uniformf):
1276         (WebCore::Uniformf::location):
1277         (Uniform1f):
1278         (Uniform2f):
1279         (Uniform3f):
1280         (LayerFilterRendererAction):
1281         (WebCore::LayerFilterRendererAction::shouldPushSnapshot):
1282         (WebCore::LayerFilterRendererAction::setPushSnapshot):
1283         (WebCore::LayerFilterRendererAction::shouldPopSnapshot):
1284         (WebCore::LayerFilterRendererAction::setPopSnapshot):
1285         (WebCore::LayerFilterRendererAction::appendUniform):
1286         (LayerFilterRenderer):
1287         (WebCore::LayerFilterRenderer::isEnabled):
1288         (WebCore::LayerFilterRenderer::disable):
1289         * platform/graphics/blackberry/LayerRenderer.cpp:
1290         (WebCore::LayerRenderer::loadShader):
1291         (WebCore::LayerRenderer::loadShaderProgram):
1292         (WebCore::LayerRenderer::drawLayersOnSurfaces):
1293         (WebCore::LayerRenderer::updateLayersRecursive):
1294         (WebCore):
1295         (WebCore::LayerRenderer::initializeSharedGLObjects):
1296         * platform/graphics/blackberry/LayerRenderer.h:
1297         (LayerRenderer):
1298         * platform/graphics/blackberry/LayerWebKitThread.cpp:
1299         (WebCore::LayerWebKitThread::LayerWebKitThread):
1300         (WebCore::LayerWebKitThread::commitOnCompositingThread):
1301         (WebCore):
1302         (WebCore::LayerWebKitThread::filtersCanBeComposited):
1303         * platform/graphics/blackberry/LayerWebKitThread.h:
1304         (LayerWebKitThread):
1305         (WebCore::LayerWebKitThread::setFilters):
1306         * platform/graphics/filters/FECustomFilter.cpp:
1307         (WebCore::FECustomFilter::platformApplySoftware):
1308         (WebCore::FECustomFilter::resizeContext):
1309         (WebCore::FECustomFilter::bindProgramAndBuffers):
1310         * platform/graphics/filters/FilterOperation.h:
1311         (WebCore):
1312         (FilterOperation):
1313
1314 2012-07-31  Alexis Menard  <alexis.menard@openbossa.org>
1315
1316         Get rid of "parser" type casts in CSSGrammar.y
1317         https://bugs.webkit.org/show_bug.cgi?id=92760
1318
1319         Reviewed by Adam Barth.
1320
1321         r124099 now type the parser parameter, it is therefore not needed to
1322         cast to CSSParser* everywhere as we know have a CSSParser* type
1323         already.
1324
1325         No new tests : refactor with no behavior change expected.
1326
1327         * css/CSSGrammar.y:
1328
1329 2012-07-31  Ian Vollick  <vollick@chromium.org>
1330
1331         [chromium] Use WebAnimation and related classes in GraphicsLayerChromium and AnimTranslationUtil
1332         https://bugs.webkit.org/show_bug.cgi?id=90468
1333
1334         Reviewed by James Robinson.
1335
1336         No new tests. No new functionality.
1337
1338         * WebCore.gypi:
1339         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
1340         (WebCore::appendKeyframe):
1341         (WebCore::WebTransformAnimationCurve):
1342         (WebCore::createWebAnimation):
1343         * platform/graphics/chromium/AnimationTranslationUtil.h:
1344         (WebKit):
1345         (WebCore):
1346         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1347         (WebCore::GraphicsLayerChromium::willBeDestroyed):
1348         (WebCore::GraphicsLayerChromium::addAnimation):
1349         (WebCore::GraphicsLayerChromium::pauseAnimation):
1350         (WebCore::GraphicsLayerChromium::removeAnimation):
1351         (WebCore::GraphicsLayerChromium::suspendAnimations):
1352         (WebCore::GraphicsLayerChromium::resumeAnimations):
1353         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1354         * platform/graphics/chromium/GraphicsLayerChromium.h:
1355         (GraphicsLayerChromium):
1356         * platform/graphics/chromium/LayerChromium.cpp:
1357         * platform/graphics/chromium/LayerChromium.h:
1358         (WebKit):
1359         (WebCore):
1360         (WebCore::LayerChromium::setLayerAnimationDelegate):
1361         (LayerChromium):
1362         * platform/graphics/chromium/LinkHighlight.h:
1363         (LinkHighlight):
1364
1365 2012-07-31  Taiju Tsuiki  <tzik@chromium.org>
1366
1367         Fix potential build error on LocalFileSystem::deleteFileSystem.
1368         https://bugs.webkit.org/show_bug.cgi?id=92695
1369
1370         Non-Chrome build of WebKit with FILE_SYSTEM flag will be broken at
1371         LocalFileSystem::deleteFileSystem.
1372         Chrome does not use this source and most of other ports don't turn on
1373         FILE_SYSTEM flag for now. So, we've not seen the breakage explicitly yet.
1374
1375         Reviewed by Adam Barth.
1376
1377         Non-Chrome WebKit build with FILE_SYSTEM should be finished successfully.
1378
1379         * Modules/filesystem/LocalFileSystem.cpp:
1380         (WebCore::LocalFileSystem::deleteFileSystem):
1381
1382 2012-07-31  Li Yin  <li.yin@intel.com>
1383
1384         AudioPannerNode should raise exception when distanceModel is set incorrectly
1385         https://bugs.webkit.org/show_bug.cgi?id=90952
1386
1387         Reviewed by Chris Rogers.
1388
1389         Spec: http://www.w3.org/TR/webaudio/#AudioPannerNode-section
1390         The distance model can be only set to LINEAR_DISTANCE, INVERSE_DISTANCE or EXPONENTIAL_DISTANCE.
1391         If the incorrect value is set, it will raise the exception.
1392         Use the unsigned short to replace unsigned long in AudioPannerNode.idl.
1393
1394         Test: webaudio/audiopannernode-basic.html
1395
1396         * Modules/webaudio/AudioPannerNode.cpp:
1397         (WebCore::AudioPannerNode::setDistanceModel): raise exception
1398         (WebCore):
1399         * Modules/webaudio/AudioPannerNode.h:
1400         (AudioPannerNode):
1401         * Modules/webaudio/AudioPannerNode.idl: using unsigned short to replace unsigned long
1402
1403 2012-07-31  Max Vujovic  <mvujovic@adobe.com>
1404
1405         [CSS Shaders] CSS parser rejects parameter names that are also CSS keywords
1406         https://bugs.webkit.org/show_bug.cgi?id=92537
1407
1408         Reviewed by Dirk Schulze.
1409
1410         Remove the CSS keyword check for CSS Shaders parameter names. Parameters are allowed to be
1411         any valid CSS identifier, including CSS keywords. See the spec:
1412         https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html#feCustom
1413
1414         The CSS parser was rejecting input like the following because it uses a CSS keyword
1415         "background" as a parameter name:
1416         -webkit-filter: custom(none url(fragment.shader), background 0 1 0 1);
1417
1418         Test: css3/filters/custom/custom-filter-css-keyword-as-parameter-name.html
1419
1420         * css/CSSParser.cpp:
1421         (WebCore::CSSParser::parseCustomFilter): Do not return early when the parameter name is a
1422         CSS keyword (i.e. when the CSSParserValue has a non-zero id).
1423
1424 2012-07-31  Pravin D  <pravind.2k4@gmail.com>
1425
1426         Caret position is wrong when a editable container has word-wrap:normal set
1427         https://bugs.webkit.org/show_bug.cgi?id=89649
1428
1429         Reviewed by Levi Weintraub.
1430
1431         Correcting the incorrect addumption that the min and max position for the caret rect is constrained to 
1432         the logical containing block width. This assumption is incorrect when the text has word-wrap:normal and 
1433         flows beyound the visible rect of the container.
1434
1435         Test: editing/input/editable-container-with-word-wrap-normal.html
1436
1437         * rendering/RenderText.cpp:
1438         (WebCore::RenderText::localCaretRect):
1439
1440 2012-07-31  Antti Koivisto  <antti@apple.com>
1441
1442         Crash in FrameLoader::checkLoadComplete with non-browser client app
1443         https://bugs.webkit.org/show_bug.cgi?id=92774
1444
1445         Reviewed by Alexey Proskuryakov..
1446
1447         Speculative fix. It is possible that CSSFontSelector could get deleted during the timer callback
1448         and memory reused, making m_document point to some garbage when it is tested at the end.
1449
1450         * css/CSSFontSelector.cpp:
1451         (WebCore::CSSFontSelector::beginLoadTimerFired):
1452
1453 2012-07-31  Hans Wennborg  <hans@chromium.org>
1454
1455         Speech JavaScript API: Throw exception for start() when already started
1456         https://bugs.webkit.org/show_bug.cgi?id=92756
1457
1458         Reviewed by Adam Barth.
1459
1460         Make the start() function throw an exception if the SpeechRecognition
1461         object was already started.
1462
1463         Test: fast/speech/scripted/start-exception.html
1464
1465         * Modules/speech/SpeechRecognition.cpp:
1466         (WebCore::SpeechRecognition::start):
1467         (WebCore::SpeechRecognition::stopFunction):
1468         (WebCore::SpeechRecognition::abort):
1469         (WebCore::SpeechRecognition::didReceiveError):
1470         (WebCore::SpeechRecognition::didEnd):
1471         (WebCore::SpeechRecognition::SpeechRecognition):
1472         * Modules/speech/SpeechRecognition.h:
1473         (SpeechRecognition):
1474         * Modules/speech/SpeechRecognition.idl:
1475
1476 2012-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1477
1478         Unreviewed, rolling out r124207.
1479         http://trac.webkit.org/changeset/124207
1480         https://bugs.webkit.org/show_bug.cgi?id=92773
1481
1482         Patch causes crashes on the 64-bit debug builder (and other
1483         builders likely) (Requested by zdobersek on #webkit).
1484
1485         * GNUmakefile.am:
1486         * GNUmakefile.list.am:
1487         * platform/text/gtk/TextCheckerEnchant.cpp: Removed.
1488         * platform/text/gtk/TextCheckerEnchant.h: Removed.
1489
1490 2012-07-07  Philippe Normand  <pnormand@igalia.com>
1491
1492         [GStreamer] Live stream support is weak
1493         https://bugs.webkit.org/show_bug.cgi?id=90084
1494
1495         Reviewed by Martin Robinson.
1496
1497         Make sure on-disk buffering is disabled for live streams. It is
1498         enabled initially when loading any remote media file if preload is
1499         set to Auto. Later on if the player detects that the media is live
1500         it disables on-disk buffering. This patch also adds support for
1501         caching the total size of the media.
1502
1503         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1504         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
1505         (WebCore::MediaPlayerPrivateGStreamer::load): Keep track of the
1506         media url as an instance attribute.
1507         (WebCore::MediaPlayerPrivateGStreamer::duration): Logging improvement.
1508         (WebCore::MediaPlayerPrivateGStreamer::setRate): use the new
1509         isLiveStream() method.
1510         (WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto.
1511         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Indicate
1512         source of duration message.
1513         (WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): Perform an
1514         anonymous duration change emission, mostly to cache its value.
1515         (WebCore::MediaPlayerPrivateGStreamer::totalBytes): Return
1516         cached size when available.
1517         (WebCore::MediaPlayerPrivateGStreamer::updateStates): Use the new
1518         isLiveStream() method and handle state change corner cases for live streams.
1519         (WebCore::MediaPlayerPrivateGStreamer::durationChanged): Cache
1520         media total size and re-enable on-disk buffering if caching succeeds.
1521         (WebCore::MediaPlayerPrivateGStreamer::movieLoadType): New
1522         implementation handling on-disk buffered and live streaming cases.
1523         (WebCore::MediaPlayerPrivateGStreamer::setPreload): Remember the
1524         case where preload is updated from Auto to another value, do
1525         on-disk buffering only for Auto preload attribute.
1526         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1527         (MediaPlayerPrivateGStreamer):
1528         (WebCore::MediaPlayerPrivateGStreamer::isLiveStream): Utility
1529         method, a stream is live if it goes to PAUSE without prerolling.
1530
1531 2012-07-17  Antonio Gomes  <agomes@rim.com>
1532
1533         [Blackberry][FullScreen] HTML5 <video> controls are scaled differently depending on the current webpage scale
1534         https://bugs.webkit.org/show_bug.cgi?id=90884
1535         PR #162839
1536
1537         Reviewed by Rob Buis.
1538
1539         The way the BlackBerry port implements the FULLSCREEN_API for media
1540         elements might result in the controls being oversized, proportionally
1541         to the current page scale. That happens because the fullscreen element
1542         gets sized to be as big as the viewport size, and the viewport size might
1543         get outstretched to fit to the screen dimensions.
1544
1545         In order to fix that, the patch strips out the Page scale factor from
1546         the media controls multiplier.
1547
1548         Patch also changes many integer-based calculations to be float-based, in
1549         order to get the needed precision.
1550
1551         Internally reviewed by Jacky Jiang.
1552
1553         * platform/blackberry/RenderThemeBlackBerry.cpp:
1554         (WebCore):
1555         (WebCore::determineFullScreenMultiplier):
1556         (WebCore::RenderThemeBlackBerry::adjustSliderThumbSize):
1557         (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
1558         (WebCore::RenderThemeBlackBerry::adjustSliderTrackStyle):
1559         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
1560         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
1561
1562 2012-07-31  Stephen White  <senorblanco@chromium.org>
1563
1564         Remove the clone() method from FilterOperation (and subclasses).
1565         https://bugs.webkit.org/show_bug.cgi?id=92757
1566
1567         Reviewed by Kentaro Hara.
1568
1569         Since the move to WebFilterOperation in Chromium, this is now dead
1570         code.
1571
1572         Covered by existing tests in css3/filters.
1573
1574         * platform/graphics/filters/CustomFilterOperation.h:
1575         * platform/graphics/filters/FilterOperation.h:
1576
1577 2012-07-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1578
1579         Regression(r124135): SVG tests crashing on ports using Cairo
1580         https://bugs.webkit.org/show_bug.cgi?id=92752
1581
1582         Reviewed by Martin Robinson.
1583
1584         * platform/graphics/cairo/PathCairo.cpp:
1585         (WebCore::Path::operator=):
1586
1587 2012-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1588
1589         Unreviewed, rolling out r124208.
1590         http://trac.webkit.org/changeset/124208
1591         https://bugs.webkit.org/show_bug.cgi?id=92765
1592
1593         it broke compilation on mac (Requested by loislo on #webkit).
1594
1595         * CMakeLists.txt:
1596         * GNUmakefile.list.am:
1597         * Target.pri:
1598         * WebCore.gypi:
1599         * WebCore.vcproj/WebCore.vcproj:
1600         * WebCore.xcodeproj/project.pbxproj:
1601         * inspector/InspectorAllInOne.cpp:
1602         * inspector/InspectorMemoryAgent.cpp:
1603         (WebCore):
1604         * inspector/MemoryInstrumentationImpl.cpp: Removed.
1605         * inspector/MemoryInstrumentationImpl.h: Removed.
1606
1607 2012-07-31  Stephen Chenney  <schenney@chromium.org>
1608
1609         xmlserializer strips xlink from xlink:html svg image tag
1610         https://bugs.webkit.org/show_bug.cgi?id=79586
1611
1612         Reviewed by Nikolas Zimmermann.
1613
1614         Adding code to ensure the correct prefix on attributes in the xml,
1615         xmlns and xlink namespaces. We now follow the rules in
1616         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#serializing-html-fragments
1617         (circa the time of this change).
1618
1619         Rob Buis wrote the original test for this patch and did the initial work.
1620
1621         Tests: fast/dom/XMLSerializer-xml-namespace.html
1622                svg/custom/xlink-prefix-in-attributes.html
1623
1624         * editing/MarkupAccumulator.cpp:
1625         (WebCore::attributeIsInSerializedNamespace): Test for an attribute in
1626         a specially serialized namespace: xml, xmlns, xlink.
1627         (WebCore):
1628         (WebCore::MarkupAccumulator::appendAttribute): Check the namespace of
1629         attributes upon serialization, and add any necessary prefixes.
1630         * html/parser/HTMLTreeBuilder.cpp:
1631         (WebCore::adjustForeignAttributes): Use WTF::xmlAtom etc for AtomicString arguments.
1632
1633 2012-07-31  Mike Reed  <reed@google.com>
1634
1635         skia: switch to conical gradient to match css/svg spec for two-point gradients
1636         https://bugs.webkit.org/show_bug.cgi?id=92754
1637
1638         Reviewed by Stephen White.
1639
1640         Switching to skia's TwoPointConical gradient, which has been written explicitly to match the css/svg spec.
1641         Leaving the existing TwoPointRadial gradient in skia, for other callers that may want the old behavior.
1642
1643         No new tests. existing layouttests exercise this change (9 pending rebaselines associated with this CL).
1644
1645         * platform/graphics/skia/GradientSkia.cpp:
1646         (WebCore::Gradient::platformGradient):
1647
1648 2012-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
1649
1650         Web Inspector: extract MemoryInstrumentationImpl into separate files for future reusing in unit tests
1651         https://bugs.webkit.org/show_bug.cgi?id=92751
1652
1653         Reviewed by Yury Semikhatsky.
1654
1655         * CMakeLists.txt:
1656         * GNUmakefile.list.am:
1657         * Target.pri:
1658         * WebCore.gypi:
1659         * WebCore.vcproj/WebCore.vcproj:
1660         * inspector/InspectorAllInOne.cpp:
1661         * inspector/InspectorMemoryAgent.cpp:
1662         (WebCore):
1663         * inspector/MemoryInstrumentationImpl.cpp: Added.
1664         (WebCore):
1665         (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
1666         (WebCore::MemoryInstrumentationImpl::processDeferredInstrumentedPointers):
1667         (WebCore::MemoryInstrumentationImpl::countObjectSize):
1668         (WebCore::MemoryInstrumentationImpl::deferInstrumentedPointer):
1669         (WebCore::MemoryInstrumentationImpl::visited):
1670         (WebCore::MemoryInstrumentationImpl::selfSize):
1671         * inspector/MemoryInstrumentationImpl.h: Added.
1672         (WebCore):
1673         (MemoryInstrumentationImpl):
1674         (WebCore::MemoryInstrumentationImpl::totalTypeSize):
1675
1676 2012-07-31  Mario Sanchez Prada  <msanchez@igalia.com>
1677
1678         [GTK] Add a new and reusable enchant-based spellchecker in WebCore
1679         https://bugs.webkit.org/show_bug.cgi?id=90269
1680
1681         Reviewed by Martin Robinson.
1682
1683         Move enchant specific code down to WebCore, into a new class
1684         TextCheckerEnchant, that we can use from WK1 and WK2.
1685
1686         * GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
1687         * GNUmakefile.list.am: Added new files.
1688         * platform/text/gtk/TextCheckerEnchant.cpp: Added.
1689         (getAvailableDictionariesCallback):
1690         (TextCheckerEnchant::TextCheckerEnchant):
1691         (TextCheckerEnchant::~TextCheckerEnchant):
1692         (TextCheckerEnchant::ignoreWord):
1693         (TextCheckerEnchant::learnWord):
1694         (TextCheckerEnchant::checkSpellingOfString):
1695         (TextCheckerEnchant::getGuessesForWord):
1696         (TextCheckerEnchant::updateSpellCheckingLanguages):
1697         (TextCheckerEnchant::freeEnchantBrokerDictionaries):
1698         * platform/text/gtk/TextCheckerEnchant.h: Added.
1699         (WebCore):
1700         (TextCheckerEnchant):
1701         (WebCore::TextCheckerEnchant::create):
1702
1703 2012-07-31  Joe Mason  <jmason@rim.com>
1704
1705         [BlackBerry] Support Negotiate auth
1706         https://bugs.webkit.org/show_bug.cgi?id=91871
1707
1708         Reviewed by George Staikos.
1709
1710         Add Negotiate to the list of auth schemes allowed in the platform request.
1711
1712         Add "success" and "requireCredentials" parameters to notifyAuthReceived (which is now called
1713         with success = true on successful authentication, as well as on failures).
1714
1715         When success is true, update the stored credential to use the auth scheme actually reported
1716         rather than that set in the request. (This is used when Negotiate auth can't get a ticket
1717         and falls back to a different supported auth type.)
1718
1719         When requireCredentials is false, just set the auth type and start a new request using empty
1720         credentials.
1721
1722         RIM PR# 166514
1723         Internally reviewed by Jonathan Dong
1724
1725         * platform/network/blackberry/NetworkJob.cpp:
1726         (WebCore::NetworkJob::notifyAuthReceived): Add Negotiate to the auth scheme switch. Handle
1727         success param by updating auth type in stored credentials; pass requireCredentials param on
1728         to sendRequestWithCredentials.
1729         (WebCore::NetworkJob::startNewJobWithRequest): Fix typo in increaseRedirectCount parameter
1730         name.
1731         (WebCore::NetworkJob::sendRequestWithCredentials): Use empty credentials if
1732         requireCredentials is false.
1733         * platform/network/blackberry/NetworkJob.h:
1734         (NetworkJob):
1735         * platform/network/blackberry/NetworkManager.cpp:
1736         (WebCore::NetworkManager::startJob): Add Negotiate to the auth scheme switch.
1737
1738 2012-07-31  Alexei Filippov  <alexeif@chromium.org>
1739
1740         Web Inspector: take into account the whole security origin instead of just host
1741         https://bugs.webkit.org/show_bug.cgi?id=92740
1742
1743         Reviewed by Pavel Feldman.
1744
1745         Make the DOM Storage Agent take into account all the
1746         information relevant to the security origin, i.e. protocol, host, and
1747         port. Previously only the host was taken into account. That caused
1748         inspector to show the first storage only in the case a page operated
1749         over several security origins sharing the same host (but having
1750         different protocols e.g. http and https).
1751
1752         * inspector/InspectorDOMStorageAgent.cpp:
1753         (WebCore::InspectorDOMStorageAgent::storageId):
1754         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
1755         * inspector/InspectorDOMStorageResource.cpp:
1756         (WebCore::InspectorDOMStorageResource::isSameOriginAndType):
1757         (WebCore::InspectorDOMStorageResource::bind):
1758         * inspector/InspectorDOMStorageResource.h:
1759         (InspectorDOMStorageResource):
1760
1761 2012-07-31  Keishi Hattori  <keishi@webkit.org>
1762
1763         Slider ticks are drawn at wrong positions
1764         https://bugs.webkit.org/show_bug.cgi?id=92720
1765
1766         Reviewed by Kent Tamura.
1767
1768         Slider tick marks for vertical sliders were drawn reversed. And the tick
1769         mark positions were slightly off from the thumb position because of rounding.
1770
1771         No new tests. Covered in input-appearance-range-with-datalist.html.
1772
1773         * rendering/RenderTheme.cpp:
1774         (WebCore::RenderTheme::paintSliderTicks):
1775
1776 2012-07-31  Shinya Kawanaka  <shinyak@chromium.org>
1777
1778         Older ShadowDOM is still rendered when a new ShadowDOM is added when they don't have any InsertionPoints.
1779         https://bugs.webkit.org/show_bug.cgi?id=92456
1780
1781         Reviewed by Hajime Morita.
1782
1783         When adding a new ShadowRoot to an element having other ShadowRoots, and they don't have any InsretionPoint,
1784         the older ShadowDOM is still rendered.
1785
1786         When ContentDistributor's validity is 'Undetermined', ElementShadow reattaches the host and the whole shadow
1787         subtree. Since adding a new ShadowRoot makes the validity 'Undetermined', we have had to make it 'Undetermined'.
1788
1789         This change enables us to remove a unnecessary InvalidationType flag from the code. We should call
1790         setValidityUndetermined() instead of using InvalidateAndForceReattach.
1791
1792         Test: fast/dom/shadow/invalidate-distribution.html
1793
1794         * dom/ElementShadow.cpp:
1795         (WebCore::ElementShadow::addShadowRoot): Calls setValidityUndetermined().
1796         (WebCore::ElementShadow::removeAllShadowRoots):
1797         (WebCore::ElementShadow::setValidityUndetermined):
1798         (WebCore::ElementShadow::invalidateDistribution): When validity is undetermined, we will reattach the
1799         host and the shadow subtree.
1800         * dom/ElementShadow.h:
1801         (ElementShadow):
1802         * html/shadow/ContentDistributor.cpp:
1803         * html/shadow/ContentDistributor.h:
1804         (WebCore::ContentDistributor::setValidity):
1805         (ContentDistributor):
1806         * html/shadow/InsertionPoint.cpp:
1807         (WebCore::InsertionPoint::insertedInto): Calls setValidityUndetermined().
1808
1809 2012-07-31  Tommy Widenflycht  <tommyw@google.com>
1810
1811         Introduce a minimal RTCPeerConnection together with Dictionary changes
1812         https://bugs.webkit.org/show_bug.cgi?id=92380
1813
1814         Reviewed by Kentaro Hara.
1815
1816         This patch introduces a shell RTCPeerConnection together with neccecary changes to
1817         Dictionary.
1818
1819         The W3C specification can be found here:
1820         http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcpeerconnection
1821
1822         Since Dictionaries can't be fully copied around adding
1823         get(const String& name, Vector<Dictionary>& result)
1824         isn't feasible so I have added a new ArrayValue class.
1825
1826         Test: fast/mediastream/RTCPeerConnection.html
1827
1828         * CMakeLists.txt:
1829         * GNUmakefile.list.am:
1830         * Modules/mediastream/DOMWindowMediaStream.idl:
1831         * Modules/mediastream/RTCPeerConnection.cpp: Added.
1832         (WebCore):
1833         (RTCIceServer):
1834         (WebCore::RTCIceServer::create):
1835         (WebCore::RTCIceServer::~RTCIceServer):
1836         (WebCore::RTCIceServer::uri):
1837         (WebCore::RTCIceServer::credential):
1838         (WebCore::RTCIceServer::RTCIceServer):
1839         (RTCConfiguration):
1840         (WebCore::RTCConfiguration::create):
1841         (WebCore::RTCConfiguration::~RTCConfiguration):
1842         (WebCore::RTCConfiguration::appendServer):
1843         (WebCore::RTCConfiguration::numberOfServers):
1844         (WebCore::RTCConfiguration::server):
1845         (WebCore::RTCConfiguration::RTCConfiguration):
1846         (WebCore::RTCPeerConnection::parseConfiguration):
1847         (WebCore::RTCPeerConnection::create):
1848         (WebCore::RTCPeerConnection::RTCPeerConnection):
1849         (WebCore::RTCPeerConnection::~RTCPeerConnection):
1850         (WebCore::RTCPeerConnection::interfaceName):
1851         (WebCore::RTCPeerConnection::scriptExecutionContext):
1852         (WebCore::RTCPeerConnection::stop):
1853         (WebCore::RTCPeerConnection::eventTargetData):
1854         (WebCore::RTCPeerConnection::ensureEventTargetData):
1855         * Modules/mediastream/RTCPeerConnection.h: Added.
1856         (WebCore):
1857         (RTCPeerConnection):
1858         (WebCore::RTCPeerConnection::refEventTarget):
1859         (WebCore::RTCPeerConnection::derefEventTarget):
1860         * Modules/mediastream/RTCPeerConnection.idl: Added.
1861         * Target.pri:
1862         * UseJSC.cmake:
1863         * WebCore.gypi:
1864         * WebCore.vcproj/WebCore.vcproj:
1865         * WebCore.xcodeproj/project.pbxproj:
1866         * bindings/generic/RuntimeEnabledFeatures.h:
1867         (WebCore::RuntimeEnabledFeatures::webkitRTCPeerConnectionEnabled):
1868         * bindings/js/ArrayValue.cpp: Added.
1869         (WebCore):
1870         (WebCore::ArrayValue::ArrayValue):
1871         (WebCore::ArrayValue::operator=):
1872         (WebCore::ArrayValue::isUndefinedOrNull):
1873         (WebCore::ArrayValue::length):
1874         (WebCore::ArrayValue::get):
1875         * bindings/js/ArrayValue.h: Added.
1876         (WebCore):
1877         (ArrayValue):
1878         * bindings/js/JSBindingsAllInOne.cpp:
1879         * bindings/js/JSDictionary.cpp:
1880         (WebCore::JSDictionary::convertValue):
1881         (WebCore):
1882         * bindings/js/JSDictionary.h:
1883         (WebCore):
1884         * bindings/v8/ArrayValue.cpp: Added.
1885         (WebCore):
1886         (WebCore::ArrayValue::operator=):
1887         (WebCore::ArrayValue::isUndefinedOrNull):
1888         (WebCore::ArrayValue::length):
1889         (WebCore::ArrayValue::get):
1890         * bindings/v8/ArrayValue.h: Added.
1891         (WebCore):
1892         (ArrayValue):
1893         (WebCore::ArrayValue::ArrayValue):
1894         (WebCore::ArrayValue::~ArrayValue):
1895         * bindings/v8/Dictionary.cpp:
1896         (WebCore::Dictionary::get):
1897         (WebCore):
1898         * bindings/v8/Dictionary.h:
1899         (WebCore):
1900         (Dictionary):
1901         * dom/EventTargetFactory.in:
1902
1903 2012-07-31  Raul Hudea  <rhudea@adobe.com>
1904
1905         Inspector crashes when trying to inspect a page with CSS region styling
1906         https://bugs.webkit.org/show_bug.cgi?id=91503
1907
1908         Reviewed by Alexander Pavlov.
1909
1910         Fix by making sure a CSSRuleSourceData is always created when parsing @-webkit-region rules.
1911
1912         Test: inspector/styles/region-style-crash.html
1913
1914         * css/CSSGrammar.y: Made ruleset called explicitly markRuleBodyStart instead of depending on updateLastSelectorLineAndPosition to call it.
1915         * css/CSSParser.cpp:
1916         (WebCore::CSSParser::updateLastSelectorLineAndPosition): markRuleBodyStart should be called via at_rule_body_start. 
1917         * css/CSSPropertySourceData.h:
1918
1919 2012-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
1920
1921         Unreviewed, rolling out r124179.
1922         http://trac.webkit.org/changeset/124179
1923         https://bugs.webkit.org/show_bug.cgi?id=92730
1924
1925         Breaks Chromium Linux 32 bots with "error: integer constant is
1926         too large for 'long' type" in IDBLevelDBCodingTest.cpp
1927         (Requested by apavlov on #webkit).
1928
1929         * Modules/indexeddb/IDBLevelDBCoding.cpp:
1930         (WebCore::IDBLevelDBCoding::encodeByte):
1931         (WebCore::IDBLevelDBCoding::encodeBool):
1932         (WebCore::IDBLevelDBCoding::encodeInt):
1933         (WebCore::IDBLevelDBCoding::encodeVarInt):
1934         (WebCore::IDBLevelDBCoding::encodeString):
1935         (WebCore::IDBLevelDBCoding::encodeDouble):
1936         (WebCore::IDBLevelDBCoding::encodeIDBKey):
1937         (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
1938         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
1939         * Modules/indexeddb/IDBLevelDBCoding.h:
1940         (IDBLevelDBCoding):
1941
1942 2012-07-31  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>
1943
1944         add Farstream flags/deps to WebKit, for WebRTC
1945         https://bugs.webkit.org/show_bug.cgi?id=87524
1946
1947         Reviewed by Philippe Normand.
1948
1949         Since Farstream will be used as the backend for GTK's WebRTC, this
1950         patch adds it as a dependency to the build system.
1951
1952         No new features or code changes were added, so new tests aren't necessary.
1953
1954         * GNUmakefile.am:
1955
1956 2012-07-31  Zan Dobersek  <zandobersek@gmail.com>
1957
1958         Unreviewed crash fix after r124135.
1959
1960         * platform/graphics/cairo/PathCairo.cpp:
1961         (WebCore::Path::Path): Ensure the Cairo path when acquiring its context,
1962         crashes ensue otherwise.
1963
1964 2012-07-31  Yoshifumi Inoue  <yosin@chromium.org>
1965
1966         Change Element::isReadOnlyFormControl to Element::shouldMatchReadOnlySelector/shouldMatchReadWriteSelector or HTMLFormControlElement::readOnly
1967         https://bugs.webkit.org/show_bug.cgi?id=92602
1968
1969         Reviewed by Kent Tamura.
1970
1971         This patch replaces Element::isReadOnlyFormControl() by
1972         Element::shouldMatchReadOnlySelector/shouldMatchReadOnlySelector or
1973         HTMLFormControlElement::readOnly() to make intention of functions
1974         self descriptive.
1975
1976         No new tests. This patch doesn't change behavior.
1977
1978         * css/SelectorChecker.cpp:
1979         (WebCore::SelectorChecker::checkOneSelector): Replaced isReadOnlyFormControl() by shouldMatchReadOnlySelector() for :read-only pseudo class, and replaced isReadOnlyFormControl() by shouldMatchReadOnlySelector() for :read-only pseudo class.
1980         * dom/Element.cpp:
1981         (WebCore::Element::shouldMatchReadOnlySelector): Added for default implementation.
1982         (WebCore::Element::shouldMatchReadWriteSelector): for default implementation.
1983         * dom/Element.h:
1984         (Element): Removed isReadOnlyFormControl() and added shouldMatchReadOnlySelector and shouldMatchReadWriteSelector.
1985         * html/HTMLFormControlElement.cpp:
1986         (WebCore::HTMLFormControlElement::shouldMatchReadOnlySelector): Added.
1987         (WebCore::HTMLFormControlElement::shouldMatchReadWriteSelector): Added.
1988         * html/HTMLFormControlElement.h:
1989         (HTMLFormControlElement): Removed isReadOnlyFormControl() and added shouldMatchReadOnlySelector and shouldMatchReadWriteSelector.
1990         * html/shadow/SliderThumbElement.cpp:
1991         (WebCore::SliderThumbElement::shouldMatchReadOnlySelector): Added.
1992         (WebCore::SliderThumbElement::shouldMatchReadWriteSelector): Added.
1993         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents): Replaced isReadOnlyFormControl() by readOnly().
1994         (WebCore::SliderThumbElement::willRespondToMouseClickEvents): ditto.
1995         (SliderThumbElement):
1996         * html/shadow/TextControlInnerElements.cpp:
1997         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
1998         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents): ditto.
1999         (WebCore::SpinButtonElement::willRespondToMouseClickEvents): ditto.
2000         (WebCore::SpinButtonElement::shouldMatchReadOnlySelector): Added.
2001         (WebCore::SpinButtonElement::shouldMatchReadWriteSelector): Added.
2002         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
2003         * html/shadow/TextControlInnerElements.h:
2004         (SpinButtonElement): Removed isReadOnlyFormControl() and added shouldMatchReadOnlySelector and shouldMatchReadWriteSelector.
2005         * rendering/RenderTheme.cpp:
2006         (WebCore::RenderTheme::isReadOnlyControl): Replaced isReadOnlyControl() by shouldMatchReadOnlySelector().
2007
2008 2012-07-31  Xingnan Wang  <xingnan.wang@intel.com>
2009
2010         IndexedDB: Size the Vector in encodeInt/encodeVarInt/encodeString
2011         https://bugs.webkit.org/show_bug.cgi?id=91813
2012
2013         Reviewed by Kentaro Hara.
2014
2015         To avoid memory re-allocation in Vector, init the capability or size of Vector in encodeInt(), encodeVarInt(),
2016         encodeBool(), encodeIDBKey() etc.
2017
2018         No new tests - Low level functions covered by existing layout tests and also covered by Chromium
2019         webkit_unit_tests IDBLevelIDBCodingTest.* which validates the sizes of buffers returned by encodeVarInt.
2020
2021         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2022         (WebCore::IDBLevelDBCoding::encodeInt):
2023         (WebCore::IDBLevelDBCoding::encodeVarInt):
2024         (WebCore::IDBLevelDBCoding::encodeString):
2025
2026 2012-07-30  Huang Dongsung  <luxtella@company100.net>
2027
2028         [Texmap] Remove the backing store after 'style.visibility' for an element sets 'hidden'.
2029         https://bugs.webkit.org/show_bug.cgi?id=92492
2030
2031         Reviewed by Noam Rosenthal.
2032
2033         This patch's purpose is to save vram memory.
2034         When visibility of the element sets hidden, we do not need to draw the element,
2035         so we do not need to keep a texture of the backing store.
2036         Currently, Texmap does not draw the element with visibility:hidden because
2037         RenderLayerBacking::paintIntoLayer does not draw anything.
2038         This patch just removes unused textures.
2039
2040         No new tests - no new testable functionality.
2041
2042         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2043         (WebCore::GraphicsLayerTextureMapper::setContentsVisible):
2044         (WebCore):
2045         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2046         (GraphicsLayerTextureMapper):
2047         * platform/graphics/texmap/TextureMapperLayer.cpp:
2048         (WebCore::TextureMapperLayer::updateBackingStore):
2049         (WebCore::TextureMapperLayer::paintSelf):
2050         (WebCore::TextureMapperLayer::isVisible):
2051         (WebCore::TextureMapperLayer::syncCompositingStateSelf):
2052         * platform/graphics/texmap/TextureMapperLayer.h:
2053         (State):
2054         (WebCore::TextureMapperLayer::State::State):
2055
2056 2012-07-30  Keishi Hattori  <keishi@webkit.org>
2057
2058         Implement datalist UI for input type color for Chromium
2059         https://bugs.webkit.org/show_bug.cgi?id=92075
2060
2061         Reviewed by Kent Tamura.
2062
2063         Test: platform/chromium/fast/forms/color/color-suggestion-picker-appearance.html
2064
2065         * rendering/RenderThemeChromiumCommon.cpp:
2066         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Added color to types supporting datalist.
2067
2068 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2069
2070         Unreviewed, rolling out r124171.
2071         http://trac.webkit.org/changeset/124171
2072         https://bugs.webkit.org/show_bug.cgi?id=92712
2073
2074         Start failing fast/css/square-button-appearance.html
2075         (Requested by yosin on #webkit).
2076
2077         * css/SelectorChecker.cpp:
2078         (WebCore::SelectorChecker::checkOneSelector):
2079         * dom/Element.cpp:
2080         * dom/Element.h:
2081         (Element):
2082         (WebCore::Element::isReadOnlyFormControl):
2083         * html/HTMLFormControlElement.h:
2084         (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
2085         * html/shadow/SliderThumbElement.cpp:
2086         (WebCore::SliderThumbElement::isReadOnlyFormControl):
2087         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
2088         (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
2089         * html/shadow/SliderThumbElement.h:
2090         (SliderThumbElement):
2091         * html/shadow/TextControlInnerElements.cpp:
2092         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
2093         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents):
2094         (WebCore::SpinButtonElement::willRespondToMouseClickEvents):
2095         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
2096         * html/shadow/TextControlInnerElements.h:
2097         (WebCore::SpinButtonElement::isReadOnlyFormControl):
2098         * rendering/RenderTheme.cpp:
2099         (WebCore::RenderTheme::isReadOnlyControl):
2100
2101 2012-07-30  Yoshifumi Inoue  <yosin@chromium.org>
2102
2103         [CSS] Change Element::isReadOnlyFormControl to shouldMatchReadWriteSelector or HTMLTextFormControlElement::readOnly
2104         https://bugs.webkit.org/show_bug.cgi?id=92602
2105
2106         Reviewed by Kent Tamura.
2107
2108         This patch renames Element::isReadOnlyFormControl() to Element::shouldMatchReadWriteSelector()
2109         or HTMLTextFormControlElement::readOnly() to make intention of
2110         shouldMatchReadWriteSelector(was isReadOnlyFormControl) self descriptive.
2111
2112         No new tests. This patch doesn't change behavior.
2113
2114         * css/SelectorChecker.cpp:
2115         (WebCore::SelectorChecker::checkOneSelector): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
2116         * dom/Element.cpp:
2117         (WebCore::Element::shouldMatchReadWriteSelector): Added default implementation.
2118         * dom/Element.h:
2119         (WebCore::Element::shouldMatchReadWriteSelector): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
2120         * html/HTMLFormControlElement.h:
2121         * html/shadow/SliderThumbElement.cpp:
2122         (WebCore::SliderThumbElement::shouldMatchReadWriteSelector): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
2123         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents): Replaced isReadOnlyFormControl() by readOnly().
2124         (WebCore::SliderThumbElement::willRespondToMouseClickEvents): ditto.
2125         * html/shadow/SliderThumbElement.h:
2126         (SliderThumbElement): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
2127         * html/shadow/TextControlInnerElements.cpp:
2128         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
2129         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents): Replaced isReadOnlyFormControl() by readOnly().
2130         (WebCore::SpinButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
2131         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents): Replaced isReadOnlyFormControl() by readOnly().
2132         * html/shadow/TextControlInnerElements.h:
2133         * rendering/RenderTheme.cpp:
2134         (WebCore::RenderTheme::isReadOnlyControl): Replaced isReadOnlyFormControl() by shouldMatchReadWriteSelector().
2135
2136 2012-07-30  Julien Chaffraix  <jchaffraix@webkit.org>
2137
2138         Remove overflow: scroll handling in block flow layout methods
2139         https://bugs.webkit.org/show_bug.cgi?id=92689
2140
2141         Reviewed by Simon Fraser.
2142
2143         The overflow: scroll scrollbars creation was done at layout time for all RenderBlocks and
2144         descendants. This was not only wrong ('overflow' only changes at style change time) but it
2145         was also introducing some code duplication.
2146
2147         The gist of this change is to share the code by moving it to RenderLayer::updateScrollbarsAfterStyleChange,
2148         this includes the code from bug 69993 to special case list box part.
2149
2150         Covered by existing tests:
2151         - All fast/overflow ones.
2152         - For the list box change:
2153             fast/forms/select-overflow-scroll-inherited.html
2154             fast/forms/select-overflow-scroll.html
2155         - For the flexbox:
2156             css3/flexbox/preferred-widths-orthogonal.html
2157             css3/flexbox/preferred-widths.html
2158
2159         * rendering/RenderBlock.cpp:
2160         (WebCore::RenderBlock::layoutBlock):
2161         * rendering/RenderDeprecatedFlexibleBox.cpp:
2162         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2163         * rendering/RenderGrid.cpp:
2164         (WebCore::RenderGrid::layoutBlock):
2165         * rendering/RenderFlexibleBox.cpp:
2166         (WebCore::RenderFlexibleBox::layoutBlock):
2167         Removed the common code here.
2168
2169         * rendering/RenderFlexibleBox.cpp:
2170         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
2171         Changed to an ASSERT now that the right scrollbars are created. This is
2172         fine as overflow-x/y are physical coordinates and our access was following that.
2173
2174         * rendering/RenderLayer.cpp:
2175         (WebCore::RenderLayer::invalidateScrollbarRect):
2176         Added an early return here if we are not attached yet as RenderLayer::styleChanged
2177         is called at attachment time before we are inserted in the tree. This is fine as the
2178         scrollbars are part of the object which will be painted after the first layout.
2179
2180         (WebCore::overflowRequiresAScrollbar):
2181         (WebCore::overflowDefinesAutomaticScrollbar):
2182         Split the logic in those 2 functions.
2183
2184         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
2185         Updated to use the require / can-have functions. Also added
2186         an early return for list box parts as required by bug 69993.
2187
2188         (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
2189         Added an early return for list box parts as required by bug 69993,
2190         also removed some unneeded NULL-checks that were added for list box parts.
2191
2192 2012-07-30  Vivek Galatage  <vivekgalatage@gmail.com>
2193
2194         fillWithEmptyClients method should also initialize chromeClient with EmptyChromeClient
2195         https://bugs.webkit.org/show_bug.cgi?id=92703
2196
2197         Reviewed by Kent Tamura.
2198
2199         fillWithEmptyClients should also intialize PageClients.chromeClient with EmptyChromeClient 
2200         as its required for creating a Empty page and to minimize the exported symbols.
2201
2202         No new tests as no change in functionality.
2203
2204         * loader/EmptyClients.cpp:
2205         (WebCore::fillWithEmptyClients):
2206
2207 2012-07-30  Adrienne Walker  <enne@google.com>
2208
2209         [chromium] Wrap ScrollbarLayerChromium in WebScrollbarLayer
2210         https://bugs.webkit.org/show_bug.cgi?id=91032
2211
2212         Reviewed by James Robinson.
2213
2214         Modify ScrollingCoordinatorChromium to operate on WebScrollbarLayer
2215         instead of ScrollbarLayerChromium. This removes the dependency on
2216         ScrollbarLayerChromium.
2217
2218         No change in functionality, so no new tests.
2219
2220         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2221         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
2222         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
2223         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
2224         (ScrollingCoordinatorPrivate):
2225         (WebCore::createScrollbarLayer):
2226
2227 2012-07-30  Ryosuke Niwa  <rniwa@webkit.org>
2228
2229         Another Qt build fix attempt after r124098.
2230         "interface" is a keyword. Don't use it. 
2231
2232         * dom/GestureEvent.cpp:
2233         (WebCore::GestureEvent::interfaceName):
2234
2235 2012-07-30  Elliott Sprehn  <esprehn@gmail.com>
2236
2237         Make QuotesData use a Vector of pairs
2238         https://bugs.webkit.org/show_bug.cgi?id=92448
2239
2240         Reviewed by Julien Chaffraix.
2241
2242         QuotesData::create returned an array of memory that contained in place instantiations
2243         of a QuotesData and then String instances. This changes the code to use a Vector of
2244         pairs making it safer and ensuring that quotes are always balanced. This also uses a
2245         HashMap directly in the QuoteRenderer instead of building it on first access reducing
2246         the amount of code needed for picking quotes by language.
2247
2248         Test: fast/css-generated-content/close-quote-negative-depth.html
2249
2250         * css/StyleResolver.cpp:
2251         (WebCore::StyleResolver::collectMatchingRulesForList): Create pairs and use the new QuotesData API.
2252         * rendering/RenderQuote.cpp:
2253         (WebCore):
2254         (WebCore::quotesDataLanguageMap): New function that returns the HashMap of languages.
2255         (WebCore::basicQuotesData): Returns the simple form of quotes, " and '.
2256         (WebCore::defaultQuotes): Changed to use the new map.
2257         (WebCore::RenderQuote::styleDidChange):
2258         (WebCore::RenderQuote::originalText): Changed to use the new getOpenQuote and getCloseQuote which ensure bounds checks.
2259         * rendering/style/QuotesData.cpp:
2260         (WebCore::QuotesData::create): Now returns a plain instance of QuotesData without the in place allocation.
2261         (WebCore):
2262         (WebCore::QuotesData::addPair): Adds an std::pair of strings ensuring quotes are always balanced.
2263         (WebCore::QuotesData::getOpenQuote):
2264         (WebCore::QuotesData::getCloseQuote):
2265         (WebCore::QuotesData::equals): Renamed equals (added the s).
2266         * rendering/style/QuotesData.h:
2267         (WebCore::QuotesData::create):
2268         (QuotesData):
2269         (WebCore::QuotesData::QuotesData):
2270         * rendering/style/RenderStyle.cpp:
2271         (WebCore::RenderStyle::setQuotes):
2272         * rendering/style/StyleRareInheritedData.cpp:
2273         (WebCore::StyleRareInheritedData::operator==):
2274
2275 2012-07-30  MORITA Hajime  <morrita@google.com>
2276
2277         Node::replaceChild() can create bad DOM topology with MutationEvent
2278         https://bugs.webkit.org/show_bug.cgi?id=92619
2279
2280         Reviewed by Ryosuke Niwa.
2281
2282         Node::replaceChild() calls insertBeforeCommon() after dispatching
2283         a MutationEvent event for removeChild(). But insertBeforeCommon()
2284         expects call sites to check the invariant and doesn't have
2285         suffient check. So a MutationEvent handler can let some bad tree
2286         topology to slip into insertBeforeCommon().
2287
2288         This change adds a guard for checking the invariant using
2289         checkReplaceChild() between removeChild() and insertBeforeCommon().
2290
2291         Test: fast/events/mutation-during-replace-child.html
2292
2293         * dom/ContainerNode.cpp:
2294         (WebCore::ContainerNode::replaceChild): Added a guard.
2295
2296 2012-07-30  Ryosuke Niwa  <rniwa@webkit.org>
2297
2298         Qt Windows build fix attempt after r124098.
2299
2300         * dom/GestureEvent.cpp:
2301
2302 2012-07-30  Wei James  <james.wei@intel.com>
2303
2304         [Chromium] Enable web audio IPP for x86 chromium android
2305         https://bugs.webkit.org/show_bug.cgi?id=91973
2306
2307         Reviewed by Tony Chang.
2308
2309         Include the IPP libraries at link-time for Android builds when
2310         compiling the Web Audio API with IPP support.
2311
2312         * WebCore.gyp/WebCore.gyp:
2313
2314 2012-07-30  Yoshifumi Inoue  <yosin@chromium.org>
2315
2316         [Forms] Get rid of Element::isReadOnlyFormControl other than CSS related
2317         https://bugs.webkit.org/show_bug.cgi?id=92612
2318
2319         Reviewed by Kent Tamura.
2320
2321         This patch replaces Element::isReadOnlyFormControl() not related to
2322         CSS selector matching to HTMLFormControlElement::readOnly() for
2323         preparation of introducing Element::shouldMatchReadWriteSelector(), bug 92602.
2324
2325         No new tests. This patch doesn't change behavior.
2326
2327         * html/shadow/SliderThumbElement.cpp:
2328         (WebCore::SliderThumbElement::defaultEventHandler): Changed isReadOnlyFormControl() to readOnly().
2329         * html/shadow/TextControlInnerElements.cpp:
2330         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Changed isReadOnlyFormControl() to readOnly().
2331         (WebCore::SpinButtonElement::defaultEventHandler): ditto.
2332         (WebCore::SpinButtonElement::step): ditto.
2333         (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): ditto.
2334         (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): ditto.
2335         * rendering/RenderTextControl.cpp:
2336         (updateUserModifyProperty): Changed isReadOnlyFormControl() to readOnly().
2337         * rendering/RenderThemeMac.mm:
2338         (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Changed isReadOnlyFormControl() to readOnly().
2339
2340 2012-07-30  Eric Seidel  <eric@webkit.org>
2341
2342         Grid Demo spends 1.5% of total time allocating Path objects in RenderBoxModelObject::paintBorderSides
2343         https://bugs.webkit.org/show_bug.cgi?id=92252
2344
2345         Reviewed by Simon Fraser.
2346
2347         This change introduces the concept of a "null Path" very similar to a null WTF::String.
2348         Just like String functions as a RefPtr around a StringImpl, Path (for most ports)
2349         functions as an OwnPtr around a PlatformPathPtr.
2350
2351         In various places in the code, we declare a local Path variable, but don't necessarily
2352         use that Path variable in all code paths, or might pass that Path variable along to GraphicsContext
2353         functions, without ever actually adding points to that Path.
2354         On most platforms, this Path default constructor was causing a malloc!
2355         In some of these case, the code-path in question (like paintBorderSides) can be quite hot.
2356         Introducing this null-Path and delaying instantiation of the PlatformPath object
2357         until it's actually needed, saves a malloc for these hot paths.
2358
2359         To test this, I loaded a few popular pages, and added printfs to both the Path constructor
2360         and destructor, logging during construction and destruction when the path was still null at destruction time.
2361
2362         This simple testing showed this to be a small win (avoiding mallocs) on many sites and a huge win for Google Spreadsheets:
2363         apple.com: 147 Paths created, 9 (6%) destroyed null.
2364         google.com: 58 Paths created, 26 (44%) destroyed null (google seems creating 5 paths every second after load?  1 of which is destroyed empty.)
2365         amazon.com: 130 Paths created, 130 (100%) destroyed null.
2366         Loading an empty spreadsheet from drive.google.com: 5237 created, 4861 destroyed null (92%!) :)
2367
2368         * platform/graphics/Path.h:
2369         (Path):
2370         (WebCore::Path::isNull):
2371         (WebCore::Path::ensurePlatformPath):
2372         * platform/graphics/cairo/CairoUtilities.cpp:
2373         (WebCore::appendWebCorePathToCairoContext):
2374         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2375         (WebCore::GraphicsContext::fillPath):
2376         (WebCore::GraphicsContext::strokePath):
2377         (WebCore::GraphicsContext::clipPath):
2378         (WebCore::GraphicsContext::clip):
2379         * platform/graphics/cairo/PathCairo.cpp:
2380         (WebCore::Path::Path):
2381         (WebCore::Path::~Path):
2382         (WebCore::Path::ensurePlatformPath):
2383         (WebCore):
2384         (WebCore::Path::operator=):
2385         (WebCore::Path::clear):
2386         (WebCore::Path::isEmpty):
2387         (WebCore::Path::currentPoint):
2388         (WebCore::Path::translate):
2389         (WebCore::Path::moveTo):
2390         (WebCore::Path::addLineTo):
2391         (WebCore::Path::addRect):
2392         (WebCore::Path::addQuadCurveTo):
2393         (WebCore::Path::addBezierCurveTo):
2394         (WebCore::Path::addArc):
2395         (WebCore::Path::addArcTo):
2396         (WebCore::Path::addEllipse):
2397         (WebCore::Path::closeSubpath):
2398         (WebCore::Path::boundingRect):
2399         (WebCore::Path::strokeBoundingRect):
2400         (WebCore::Path::contains):
2401         (WebCore::Path::strokeContains):
2402         (WebCore::Path::apply):
2403         (WebCore::Path::transform):
2404         * platform/graphics/cg/GraphicsContextCG.cpp:
2405         (WebCore::GraphicsContext::drawPath):
2406         (WebCore::GraphicsContext::fillPath):
2407         (WebCore::GraphicsContext::strokePath):
2408         (WebCore::GraphicsContext::clipPath):
2409         (WebCore::GraphicsContext::clipOut):
2410         * platform/graphics/cg/PathCG.cpp:
2411         (WebCore::Path::Path):
2412         (WebCore::Path::~Path):
2413         (WebCore):
2414         (WebCore::Path::ensurePlatformPath):
2415         (WebCore::Path::operator=):
2416         (WebCore::Path::contains):
2417         (WebCore::Path::strokeContains):
2418         (WebCore::Path::translate):
2419         (WebCore::Path::boundingRect):
2420         (WebCore::Path::fastBoundingRect):
2421         (WebCore::Path::strokeBoundingRect):
2422         (WebCore::Path::moveTo):
2423         (WebCore::Path::addLineTo):
2424         (WebCore::Path::addQuadCurveTo):
2425         (WebCore::Path::addBezierCurveTo):
2426         (WebCore::Path::addArcTo):
2427         (WebCore::Path::platformAddPathForRoundedRect):
2428         (WebCore::Path::closeSubpath):
2429         (WebCore::Path::addArc):
2430         (WebCore::Path::addRect):
2431         (WebCore::Path::addEllipse):
2432         (WebCore::Path::clear):
2433         (WebCore::Path::isEmpty):
2434         (WebCore::Path::currentPoint):
2435         (WebCore::Path::apply):
2436         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
2437         (WebCore):
2438         (WebCore::LoopBlinnPathProcessor::buildContours):
2439         * platform/graphics/mac/GraphicsContextMac.mm:
2440         (WebCore::GraphicsContext::drawFocusRing):
2441         * platform/graphics/openvg/PainterOpenVG.cpp:
2442         (WebCore::PainterOpenVG::drawPath):
2443         * platform/graphics/skia/GraphicsContextSkia.cpp:
2444         (WebCore::GraphicsContext::clip):
2445         (WebCore::GraphicsContext::canvasClip):
2446         (WebCore::GraphicsContext::clipOut):
2447         (WebCore::GraphicsContext::clipPath):
2448         (WebCore::GraphicsContext::fillPath):
2449         (WebCore::GraphicsContext::strokePath):
2450         * platform/graphics/skia/PathSkia.cpp:
2451         (WebCore::Path::Path):
2452         (WebCore::Path::~Path):
2453         (WebCore):
2454         (WebCore::Path::ensurePlatformPath):
2455         (WebCore::Path::operator=):
2456         (WebCore::Path::isEmpty):
2457         (WebCore::Path::hasCurrentPoint):
2458         (WebCore::Path::currentPoint):
2459         (WebCore::Path::contains):
2460         (WebCore::Path::translate):
2461         (WebCore::Path::boundingRect):
2462         (WebCore::Path::moveTo):
2463         (WebCore::Path::addLineTo):
2464         (WebCore::Path::addQuadCurveTo):
2465         (WebCore::Path::addBezierCurveTo):
2466         (WebCore::Path::addArcTo):
2467         (WebCore::Path::closeSubpath):
2468         (WebCore::Path::addArc):
2469         (WebCore::Path::addRect):
2470         (WebCore::Path::addEllipse):
2471         (WebCore::Path::clear):
2472         (WebCore::Path::apply):
2473         (WebCore::Path::transform):
2474         (WebCore::Path::strokeBoundingRect):
2475         (WebCore::Path::strokeContains):
2476         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2477         (WebCore::GraphicsContext::fillPath):
2478         (WebCore::GraphicsContext::strokePath):
2479         * platform/graphics/wx/GraphicsContextWx.cpp:
2480         (WebCore::GraphicsContext::clipPath):
2481         (WebCore::GraphicsContext::fillPath):
2482         (WebCore::GraphicsContext::strokePath):
2483         * platform/graphics/wx/PathWx.cpp:
2484         (WebCore::Path::Path):
2485         (WebCore::Path::~Path):
2486         (WebCore::Path::boundingRect):
2487         (WebCore::Path::operator=):
2488         (WebCore::Path::ensurePlatformPath):
2489         (WebCore):
2490         (WebCore::Path::clear):
2491         (WebCore::Path::moveTo):
2492         (WebCore::Path::addLineTo):
2493         (WebCore::Path::addQuadCurveTo):
2494         (WebCore::Path::addBezierCurveTo):
2495         (WebCore::Path::addArcTo):
2496         (WebCore::Path::closeSubpath):
2497         (WebCore::Path::addArc):
2498         (WebCore::Path::addRect):
2499         (WebCore::Path::addEllipse):
2500         (WebCore::Path::transform):
2501         (WebCore::Path::currentPoint):
2502
2503 2012-07-30  Dominik Röttsches  <dominik.rottsches@intel.com>
2504
2505         Avoid Assertion Failure in HarfBuzzRun::characterIndexForXPosition
2506         https://bugs.webkit.org/show_bug.cgi?id=92376
2507
2508         Reviewed by Tony Chang.
2509
2510         Previously, the if condition in offsetForPosition gating the call to
2511         characterIndexForXPosition was comparing a different value than what was actually used
2512         as the argument to calling it. In some cases, this can lead to a minuscule difference
2513         when comparing the two floats - enough to trigger the assertion. To resolve this,
2514         the accuracy of the index calculation is improved by changing the types from int
2515         to floats and rephrasing the if condition to be exactly the same as what is checked
2516         for in the assertion.
2517
2518         Manual test ManualTests/harfbuzz-mouse-selection-crash.html added
2519         which reliably reproduces the assertion failure before this change.
2520
2521         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
2522         (WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): Types changed to float.
2523         (WebCore::HarfBuzzShaper::offsetForPosition): Types changed to float, if condition rephrased.
2524         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
2525         (HarfBuzzRun):
2526
2527 2012-06-29  James Robinson  <jamesr@chromium.org>
2528
2529         [chromium] Remove WebTransformationMatrix::mapPoint overrides
2530         https://bugs.webkit.org/show_bug.cgi?id=90329
2531
2532         Reviewed by Adrienne Walker.
2533
2534         Add more functionality for mapping points to CCMathUtil and use it in CCLayerSorter / drawTileQuad. These
2535         mappings should never clip.
2536
2537         * platform/chromium/support/WebTransformationMatrix.cpp:
2538         * platform/graphics/chromium/LayerRendererChromium.cpp:
2539         (WebCore::LayerRendererChromium::drawTileQuad):
2540         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
2541         (WebCore::CCLayerSorter::LayerShape::LayerShape):
2542         * platform/graphics/chromium/cc/CCMathUtil.cpp:
2543         (WebCore::mapHomogeneousPoint):
2544         (WebCore::CCMathUtil::mapPoint):
2545         (WebCore):
2546         * platform/graphics/chromium/cc/CCMathUtil.h:
2547         (WebCore::HomogeneousCoordinate::cartesianPoint3d):
2548         (HomogeneousCoordinate):
2549         (CCMathUtil):
2550
2551 2012-07-30  Anders Carlsson  <andersca@apple.com>
2552
2553         Crash in logging code if MIME type is null
2554         https://bugs.webkit.org/show_bug.cgi?id=92683
2555         <rdar://problem/11985295>
2556
2557         Reviewed by Dan Bernstein.
2558
2559         If the MIME type is null, try to figure it out from the URL extension. If this fails, return early instead of crashing
2560         trying to insert the null string into a hash set.
2561
2562         * loader/SubframeLoader.cpp:
2563         (WebCore::logPluginRequest):
2564
2565 2012-07-30  Alexis Menard  <alexis.menard@openbossa.org>
2566
2567         Build fix with newer bison 2.6.
2568         https://bugs.webkit.org/show_bug.cgi?id=92264
2569
2570         Reviewed by Adam Barth.
2571
2572         As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html
2573         YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS
2574         version I had access to as well as recent Linux runs at least version 2.3 so it's safe
2575         to use the replacement of these deprecated macros in favor of %lex-param and %parse-param.
2576         As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release
2577         of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore.
2578
2579         No new tests : build fix and the patch should not trigger any regressions
2580
2581         * css/CSSGrammar.y:
2582         * css/CSSParser.cpp:
2583         * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define.
2584         * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h
2585         therefore including this file within the namespace {} declarations leads to xpathyyparse being
2586         defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp
2587         (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs 
2588         to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same.
2589
2590 2012-07-30  Sadrul Habib Chowdhury  <sadrul@chromium.org>
2591
2592         Propagate gesture events to plugins.
2593         https://bugs.webkit.org/show_bug.cgi?id=92281
2594
2595         Reviewed by Adam Barth.
2596
2597         Propagate gesture events to plugins. This change does not expose the gesture events
2598         to JavaScript, since there is no spec for that at the moment. Exposing gesture events
2599         to JavaScript will be done separately, once there is a spec for it.
2600
2601         Test: platform/chromium/plugins/gesture-events.html
2602
2603         * CMakeLists.txt:
2604         * GNUmakefile.list.am:
2605         * Target.pri:
2606         * WebCore.gypi:
2607         * WebCore.xcodeproj/project.pbxproj:
2608         * dom/EventNames.h:
2609         (WebCore):
2610         (WebCore::EventNames::isGestureEventType):
2611         (EventNames):
2612         * dom/GestureEvent.cpp: Added.
2613         (WebCore):
2614         (WebCore::GestureEvent::create):
2615         (WebCore::GestureEvent::initGestureEvent):
2616         (WebCore::GestureEvent::interfaceName):
2617         (WebCore::GestureEvent::GestureEvent):
2618         (WebCore::GestureEventDispatchMediator::GestureEventDispatchMediator):
2619         (WebCore::GestureEventDispatchMediator::event):
2620         (WebCore::GestureEventDispatchMediator::dispatchEvent):
2621         * dom/GestureEvent.h: Added.
2622         (WebCore):
2623         (GestureEvent):
2624         (WebCore::GestureEvent::~GestureEvent):
2625         (WebCore::GestureEvent::deltaX):
2626         (WebCore::GestureEvent::deltaY):
2627         (WebCore::GestureEvent::GestureEvent):
2628         (GestureEventDispatchMediator):
2629         (WebCore::GestureEventDispatchMediator::create):
2630         * dom/Node.cpp:
2631         (WebCore):
2632         (WebCore::Node::dispatchGestureEvent):
2633         * dom/Node.h:
2634         (WebCore):
2635         (Node):
2636         * page/EventHandler.cpp:
2637         (WebCore::EventHandler::clear):
2638         (WebCore::EventHandler::handleGestureEvent):
2639         * page/EventHandler.h:
2640
2641 2012-07-30  John Bates  <jbates@google.com>
2642
2643         Plumb vsync-enabled flag up to compositor thread and support disable-vsync
2644         https://bugs.webkit.org/show_bug.cgi?id=92323
2645
2646         Reviewed by James Robinson.
2647
2648         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2649         (WebCore::CCFrameRateController::CCFrameRateController):
2650         (WebCore::CCFrameRateController::disableTimeSourceThrottling):
2651         (WebCore):
2652         (WebCore::CCFrameRateController::setActive):
2653         (WebCore::CCFrameRateController::postManualTick):
2654         (WebCore::CCFrameRateController::onTimerFired):
2655         (WebCore::CCFrameRateController::didBeginFrame):
2656         (WebCore::CCFrameRateController::didFinishFrame):
2657         * platform/graphics/chromium/cc/CCFrameRateController.h:
2658         (WebCore):
2659         (CCFrameRateController):
2660         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2661         (WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
2662         (CCLayerTreeSettings):
2663         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2664         (WebCore::CCThreadProxy::CCThreadProxy):
2665         (WebCore::CCThreadProxy::initializeImplOnImplThread):
2666         * platform/graphics/chromium/cc/CCThreadProxy.h:
2667         (CCThreadProxy):
2668
2669 2012-07-30  James Robinson  <jamesr@chromium.org>
2670
2671         [chromium] Add miscellaneous missing includes and OVERRIDE declarations in compositor code
2672         https://bugs.webkit.org/show_bug.cgi?id=92680
2673
2674         Reviewed by Adrienne Walker.
2675
2676         * platform/graphics/chromium/TextureCopier.h:
2677         (AcceleratedTextureCopier):
2678         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2679         (CCLayerTreeHostImpl):
2680         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
2681         * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
2682         * platform/graphics/chromium/cc/CCResourceProvider.h:
2683         (WebCore):
2684
2685 2012-07-30  Adrienne Walker  <enne@google.com>
2686
2687         [chromium] Remove dependency on ScrollbarTheme from the compositor
2688         https://bugs.webkit.org/show_bug.cgi?id=90528
2689
2690         Reviewed by James Robinson.
2691
2692         Tested by existing layout tests.
2693
2694         ScrollbarLayerChromium is modified to use the Platform API for
2695         WebScrollbar, WebScrollbarThemePainter, and WebScrollbarThemeGeometry.
2696         This prevents API dependencies from the compositor code into WebCore
2697         scrollbar and theme code.
2698
2699         CCScrollbarLayerImpl::CCScrollbar now implements the WebScrollbar API
2700         instead of the ScrollbarThemeClient API.
2701
2702         Also, CCScrollbarLayerImpl now no longer gets the theme from a static
2703         accessor. It now gets a "copy" of the theme from the main thread via
2704         WebScrollbarThemeGeometry, which is more correct for render theme
2705         scrollbars which were previously using the native theme to get part
2706         geometry. Using the correct theme unfortunately causes crashes due to
2707         bad casts in RenderScrollbarTheme, so this patch turns back off the
2708         use of ScrollbarLayerChromium for themed scrollbars until that can be
2709         resolved.
2710
2711         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2712         (WebCore::createScrollbarLayer):
2713         * platform/ScrollbarThemeClient.h:
2714         (ScrollbarThemeClient):
2715         * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
2716         (WebCore::ScrollbarLayerChromium::create):
2717         (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
2718         (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
2719         (WebCore::ScrollbarBackgroundPainter::create):
2720         (WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
2721         (ScrollbarBackgroundPainter):
2722         (WebCore::ScrollbarThumbPainter::create):
2723         (WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
2724         (ScrollbarThumbPainter):
2725         (WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
2726         (WebCore::ScrollbarLayerChromium::setTexturePriorities):
2727         (WebCore::ScrollbarLayerChromium::update):
2728         * platform/graphics/chromium/ScrollbarLayerChromium.h:
2729         (ScrollbarLayerChromium):
2730         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
2731         (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
2732         (WebCore::CCScrollbarLayerImpl::setScrollbarData):
2733         (WebCore::toUVRect):
2734         (WebCore::CCScrollbarLayerImpl::appendQuads):
2735         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isOverlay):
2736         (WebCore::CCScrollbarLayerImpl::CCScrollbar::value):
2737         (WebCore::CCScrollbarLayerImpl::CCScrollbar::location):
2738         (WebCore::CCScrollbarLayerImpl::CCScrollbar::size):
2739         (WebCore::CCScrollbarLayerImpl::CCScrollbar::enabled):
2740         (WebCore::CCScrollbarLayerImpl::CCScrollbar::maximum):
2741         (WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):
2742         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollViewScrollbar):
2743         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollableAreaActive):
2744         (WebCore::CCScrollbarLayerImpl::CCScrollbar::getTickmarks):
2745         (WebCore::CCScrollbarLayerImpl::CCScrollbar::controlSize):
2746         (WebCore::CCScrollbarLayerImpl::CCScrollbar::pressedPart):
2747         (WebCore::CCScrollbarLayerImpl::CCScrollbar::hoveredPart):
2748         (WebCore::CCScrollbarLayerImpl::CCScrollbar::scrollbarOverlayStyle):
2749         (WebCore::CCScrollbarLayerImpl::CCScrollbar::orientation):
2750         (WebCore::CCScrollbarLayerImpl::CCScrollbar::isCustomScrollbar):
2751         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2752         (CCScrollbarLayerImpl):
2753         (CCScrollbar):
2754
2755 2012-07-30  Andreas Kling  <kling@webkit.org>
2756
2757         REGRESSION(r123636): Heap-use-after-free in StyleResolver::collectMatchingRules.
2758         <http://webkit.org/b/92430>
2759
2760         Reviewed by Antti Koivisto.
2761
2762         Don't hold on to a reference to StyledElement::classNames() as that may become
2763         invalid after mutating the element's attribute data.
2764
2765         In this case it was happening below Element::hasAttributes() which is unfortunately
2766         naive enough to always serialize lazy attributes. That is a minor inefficiency that
2767         can be addressed in a separate patch.
2768
2769         Covered by valgrind on existing tests.
2770
2771         * css/StyleResolver.cpp:
2772         (WebCore::StyleResolver::collectMatchingRules):
2773
2774 2012-07-30  James Robinson  <jamesr@chromium.org>
2775
2776         [chromium] CCThreadTask should not depend on CrossThreadTask and does not need to depend on CrossThreadCopier
2777         https://bugs.webkit.org/show_bug.cgi?id=90132
2778
2779         Reviewed by David Levin.
2780
2781         CrossThreadTask is defined in WebCore/dom/ and depends on concepts like ScriptExecutionConcept. CCThreadTask,
2782         being in WebCore/platform/, should not depend on /dom/ or anything from that layer.
2783
2784         CrossThreadCopier is not a layering violation per se, but it's also not at all helpful for CCThreadTask - we
2785         never use any types for which it would be useful.
2786
2787         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2788         (WebCore::CCThreadProxy::compositeAndReadback):
2789         (WebCore::CCThreadProxy::finishAllRendering):
2790         (WebCore::CCThreadProxy::initializeContext):
2791         (WebCore::CCThreadProxy::setVisible):
2792         (WebCore::CCThreadProxy::initializeLayerRenderer):
2793         (WebCore::CCThreadProxy::recreateContext):
2794         (WebCore::CCThreadProxy::implSideRenderingStats):
2795         (WebCore::CCThreadProxy::start):
2796         (WebCore::CCThreadProxy::stop):
2797         (WebCore::CCThreadProxy::forceSerializeOnSwapBuffers):
2798         (WebCore::CCThreadProxy::beginFrame):
2799         (WebCore::CCThreadProxy::acquireLayerTextures):
2800         * platform/graphics/chromium/cc/CCThreadTask.h:
2801         (CCThreadTask1):
2802         (WebCore::CCThreadTask1::create):
2803         (WebCore::CCThreadTask1::CCThreadTask1):
2804         (CCThreadTask2):
2805         (WebCore::CCThreadTask2::create):
2806         (WebCore::CCThreadTask2::CCThreadTask2):
2807         (CCThreadTask3):
2808         (WebCore::CCThreadTask3::create):
2809         (WebCore::CCThreadTask3::CCThreadTask3):
2810         (CCThreadTask4):
2811         (WebCore::CCThreadTask4::create):
2812         (WebCore::CCThreadTask4::CCThreadTask4):
2813         (CCThreadTask5):
2814         (WebCore::CCThreadTask5::create):
2815         (WebCore::CCThreadTask5::CCThreadTask5):
2816         (WebCore::createCCThreadTask):
2817
2818 2012-07-30  Paul Irish  <paul.irish@gmail.com>
2819
2820         Web Inspector: Rename Databases to Web SQL
2821         https://bugs.webkit.org/show_bug.cgi?id=92646
2822
2823         Reviewed by Pavel Feldman.
2824
2825         Renamed Databases to Web SQL. Drive-by fix for EmptyView
2826         selection.
2827
2828         * English.lproj/localizedStrings.js:
2829         * inspector/front-end/EmptyView.js:
2830         * inspector/front-end/ResourcesPanel.js:
2831
2832 2012-07-30  Tony Chang  <tony@chromium.org>
2833
2834         new flexbox should ignore float set on flexitems
2835         https://bugs.webkit.org/show_bug.cgi?id=70792
2836
2837         Reviewed by Ojan Vafai.
2838
2839         Force flex items to not float.
2840
2841         Test: css3/flexbox/floated-flexitem.html
2842
2843         * css/StyleResolver.cpp:
2844         (WebCore::StyleResolver::adjustRenderStyle): Force NoFloat on flex items.
2845
2846 2012-07-30  Adrienne Walker  <enne@google.com>
2847
2848         [chromium] Turn back on ScrollbarLayerChromium for Windows
2849         https://bugs.webkit.org/show_bug.cgi?id=92409
2850
2851         Reviewed by James Robinson.
2852
2853         This reverts r122791. As GDI issues were addressed in Chromium via
2854         http://src.chromium.org/viewvc/chrome?view=rev&revision=148215,
2855         scrollbar parts can now be composited on the thread.
2856
2857         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2858         (WebCore::createScrollbarLayer):
2859
2860 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2861
2862         Unreviewed, rolling out r124025.
2863         http://trac.webkit.org/changeset/124025
2864         https://bugs.webkit.org/show_bug.cgi?id=92658
2865
2866         Causes color-suggestion-picker-appearance layout test to time
2867         out on all Chromium platforms (Requested by tomhudson_ on
2868         #webkit).
2869
2870         * rendering/RenderThemeChromiumCommon.cpp:
2871         (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
2872
2873 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2874
2875         Unreviewed, rolling out r123966 and r123967.
2876         http://trac.webkit.org/changeset/123966
2877         http://trac.webkit.org/changeset/123967
2878         https://bugs.webkit.org/show_bug.cgi?id=92656
2879
2880         This patch is causing assertion failures on the debug bot
2881         (also rolling out a dependent patch) (Requested by mrobinson
2882         on #webkit).
2883
2884         * GNUmakefile.am:
2885         * GNUmakefile.list.am:
2886         * platform/text/gtk/TextCheckerEnchant.cpp: Removed.
2887         * platform/text/gtk/TextCheckerEnchant.h: Removed.
2888
2889 2012-07-30  Julien Chaffraix  <jchaffraix@webkit.org>
2890
2891         ASSERTION FAILED: !rect.isEmpty()  : void WebCore::GraphicsContext::drawRect(const WebCore::IntRect &)
2892         https://bugs.webkit.org/show_bug.cgi?id=92187
2893
2894         Reviewed by Simon Fraser.
2895
2896         The border painting logic (RenderBoxModelObject::paintOneBorderSide) would pass a rect with a 0px length
2897         to RenderObject::drawLineForBoxSide. We do check the width (thickness) but not the length so we would pass
2898         the rect to GraphicsContext and hit the ASSERT. This change adds a check for the length too as it is the safest
2899         way, it means that we may still do unneeded operations before bailing out but that's an existing problem in the code.
2900
2901         Tests: fast/borders/0px-borders-no-line-height.html
2902                fast/borders/double-1px-border-assert.html
2903
2904         * rendering/RenderObject.cpp:
2905         (WebCore::RenderObject::drawLineForBoxSide):
2906         Added a 0px length check. While renaming confusing variables and re-using others,
2907         I also found a potential empty border that I fixed (tested by the 2nd case above).
2908
2909 2012-07-26  Stephen White  <senorblanco@chromium.org>
2910
2911         [chromium] Refactor the computation of resampled bitmap size in
2912         drawImage and drawPattern.
2913         https://bugs.webkit.org/show_bug.cgi?id=92408
2914
2915         Reviewed by Adrienne Walker.
2916
2917         We used to have a special-purpose function called TransformDimensions()
2918         which did pretty much the same thing as SkRect::mapRect() does.  This
2919         change unifies the drawPattern code to use mapRect() in the same way
2920         that drawImage() does.
2921
2922         Covered by existing tests, e.g., fast/backgrounds/size/*.
2923
2924         * platform/graphics/skia/ImageSkia.cpp:
2925         (WebCore):
2926         (WebCore::Image::drawPattern):
2927         Note:  we're now doing using the original (float) source rect, and
2928         converting to int only after applying the matrix transform.  This
2929         might result in different decisions about resampling mode, but it's
2930         more correct anyway.
2931
2932 2012-07-30  Vineet Chaudhary  <rgf748@motorola.com>
2933
2934         https://bugs.webkit.org/show_bug.cgi?id=92642
2935         [Bindings]Remove custom JS/V8 bindings for WebSocket::close() using [Clamp]
2936
2937         Reviewed by Kentaro Hara.
2938
2939         With support of [Clamp] as extended attribute we can replace custom bindings from WebSocket::close().
2940         Spec for WebSocket::close() : http://www.whatwg.org/specs/web-apps/current-work/multipage/network.html#websocket
2941
2942         No new tests. There should be no behavioural changes 
2943         Existing tests under http/websocket/tests/hybi/ should cover this.
2944
2945         * Modules/websockets/WebSocket.h:
2946         (WebCore::WebSocket::close):
2947         * Modules/websockets/WebSocket.idl: Used [Clamp].
2948         * bindings/js/JSWebSocketCustom.cpp: Removed custom call close().
2949         (WebCore):
2950         * bindings/scripts/CodeGeneratorJS.pm:
2951         (GenerateParametersCheck):
2952         * bindings/scripts/CodeGeneratorV8.pm:
2953         (GenerateParametersCheck):
2954         * bindings/scripts/test/JS/JSTestObj.cpp:
2955         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
2956         * bindings/scripts/test/V8/V8TestObj.cpp:
2957         (WebCore::TestObjV8Internal::classMethodWithClampCallback):
2958         * bindings/v8/custom/V8WebSocketCustom.cpp: Removed custom call close().
2959         (WebCore):
2960
2961 2012-07-29  Vsevolod Vlasov  <vsevik@chromium.org>
2962
2963         Web Inspector: Resource agent's reference to cached resources should be weak.
2964         https://bugs.webkit.org/show_bug.cgi?id=92108
2965
2966         Reviewed by Pavel Feldman.
2967
2968         NetworkResourcesData now stores a raw pointer to CachedResource.
2969         CachedResource now notifies InspectorInstrumentation that it will be destroyed.
2970         InspectorInstrumentation stores a set of InstrumentingAgents and broadcasts willDestroyCachedResource event to all available resourceAgents.
2971         Destroyed resources content is saved to NetworkResourcesData.
2972
2973         Tests: http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
2974                http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html
2975
2976         * WebCore.exp.in:
2977         * inspector/InspectorController.cpp:
2978         (WebCore::InspectorController::InspectorController):
2979         (WebCore::InspectorController::inspectedPageDestroyed):
2980         * inspector/InspectorInstrumentation.cpp:
2981         (WebCore):
2982         (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
2983         (WebCore::InspectorInstrumentation::registerInstrumentingAgents):
2984         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
2985         * inspector/InspectorInstrumentation.h:
2986         (InspectorInstrumentation):
2987         (WebCore::InspectorInstrumentation::willDestroyCachedResource):
2988         (WebCore):
2989         * inspector/InspectorResourceAgent.cpp:
2990         (WebCore::InspectorResourceAgent::didReceiveData):
2991         (WebCore::InspectorResourceAgent::willDestroyCachedResource):
2992         (WebCore):
2993         (WebCore::InspectorResourceAgent::getResponseBody):
2994         * inspector/InspectorResourceAgent.h:
2995         (InspectorResourceAgent):
2996         * inspector/NetworkResourcesData.cpp:
2997         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
2998         (WebCore::NetworkResourcesData::ResourceData::setContent):
2999         (WebCore::NetworkResourcesData::setResourceContent):
3000         (WebCore::NetworkResourcesData::removeCachedResource):
3001         (WebCore):
3002         * inspector/NetworkResourcesData.h:
3003         (ResourceData):
3004         (WebCore::NetworkResourcesData::ResourceData::base64Encoded):
3005         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
3006         (NetworkResourcesData):
3007         * loader/cache/CachedResource.cpp:
3008         (WebCore::CachedResource::~CachedResource):
3009         (WebCore::CachedResource::removeClient):
3010         (WebCore::CachedResource::deleteIfPossible):
3011         (WebCore):
3012         * loader/cache/CachedResource.h:
3013         (CachedResource):
3014         * loader/cache/CachedResourceLoader.cpp:
3015         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
3016         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
3017         (WebCore::CachedResourceLoader::clearPreloads):
3018         * loader/cache/CachedResourceLoader.h:
3019         (CachedResourceLoader):
3020         * loader/cache/MemoryCache.cpp:
3021         (WebCore::MemoryCache::evict):
3022         * testing/InternalSettings.cpp:
3023         * testing/Internals.cpp:
3024         (WebCore::Internals::garbageCollectDocumentResources):
3025         (WebCore):
3026         * testing/Internals.h:
3027         (Internals):
3028         * testing/Internals.idl:
3029
3030 2012-07-30  Shinya Kawanaka  <shinyak@chromium.org>
3031
3032         Prohibit having AuthorShadowDOM of input or textarea element for a while and having a flag to enable it in Internals.
3033         https://bugs.webkit.org/show_bug.cgi?id=92611
3034
3035         Reviewed by Hajime Morita.
3036
3037         Prohibit having AuthorShadowDOM of input elemnet unless a flag in RuntimeEnabledFeatures is not enabled.
3038         The flag can be enabled in Internals.
3039
3040         The elements in UserAgentShadowDOM of input element assume that they have a renderer when the input
3041         element has a renderer. However, this does not hold when AuthorShadowDOM is added to input element.
3042         So until we fix the issue, we should disable to have AuthorShadowDOM for input element, because it may
3043         cause crashes and security problems.
3044
3045         Tests: fast/dom/shadow/input-with-validation-without-shadow.html
3046                fast/dom/shadow/input-with-validation.html
3047                fast/dom/shadow/shadow-disable.html
3048
3049         * bindings/generic/RuntimeEnabledFeatures.cpp:
3050         (WebCore):
3051         * bindings/generic/RuntimeEnabledFeatures.h:
3052         (RuntimeEnabledFeatures):
3053         (WebCore::RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled):
3054         (WebCore::RuntimeEnabledFeatures::setAuthorShadowDOMForAnyElementEnabled):
3055         * dom/ShadowRoot.cpp:
3056         (WebCore::allowsAuthorShadowRoot): The input element or textarea element does not allow to have a ShadowDOM unless
3057         is a flag in RuntimeEnabledFeatures is not enabled.
3058         * html/HTMLInputElement.h:
3059         (WebCore::isHTMLInputElement):
3060         (WebCore):
3061         * html/HTMLTextAreaElement.h:
3062         (WebCore::isHTMLTextAreaElement):
3063         (WebCore):
3064         * testing/Internals.cpp:
3065         (WebCore::Internals::setAuthorShadowDOMForAnyElementEnabled):
3066         (WebCore):
3067         * testing/Internals.h:
3068         (Internals):
3069         * testing/Internals.idl:
3070
3071 2012-07-30  Pavel Feldman  <pfeldman@chromium.org>
3072
3073         Web Inspector: support --line-numbers mapping for SASS
3074         https://bugs.webkit.org/show_bug.cgi?id=92400
3075
3076         Reviewed by Vsevolod Vlasov.
3077
3078         There is --debug-info and --line-numbers ways of referencing the source scss file, adding support for --line-numbers here.
3079
3080         * inspector/front-end/SASSSourceMapping.js:
3081         (WebInspector.SASSSourceMapping.prototype._resourceAdded.didRequestContent):
3082         (WebInspector.SASSSourceMapping.prototype._resourceAdded):
3083         (_bindUISourceCode):
3084
3085 2012-07-30  Keishi Hattori  <keishi@webkit.org>
3086
3087         Implement datalist UI for input type color for Chromium
3088         https://bugs.webkit.org/show_bug.cgi?id=92075
3089
3090         Reviewed by Kent Tamura.
3091
3092         Test: platform/chromium/fast/forms/color/color-suggestion-picker-appearance.html
3093
3094         * rendering/RenderThemeChromiumCommon.cpp:
3095         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Added color to types supporting datalist.
3096
3097 2012-07-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3098
3099         Wheel events on a page with frames are not handled in fixed layout
3100         https://bugs.webkit.org/show_bug.cgi?id=90550
3101
3102         Reviewed by Antonio Gomes.
3103
3104         Based on patch by Andras Becsi.
3105
3106         Frame-rect size is not the right value to check against to see if the document
3107         can be contained within the full visible content rect, since it does not handle
3108         fixedVisibleContentRect. Instead visibleContentRect(true) should be used which
3109         returns the full visible content rect disregarding scrollbars, and which is
3110         the same a frame-rect size when fixedVisibleContentRect is not set.
3111
3112         * platform/ScrollView.cpp:
3113         (WebCore::ScrollView::updateScrollbars):
3114
3115 2012-07-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3116
3117         There is no way to tell whether an element can be activated or not
3118         https://bugs.webkit.org/show_bug.cgi?id=92093
3119
3120         Reviewed by Antonio Gomes.
3121
3122         This patch adds the willRespondToMouseClickEvents and willRespondToMouseMoveEvents
3123         functions, named after similar functions in the iOS fork of WebKit.
3124
3125         Touch-adjustment will now use these two functions, which improves accuracy when
3126         targeting shadow-dom elements, and also means touch adjustment will prefer enabled
3127         form-elements over disabled ones.
3128
3129         Test: touchadjustment/disabled-formelements.html
3130
3131         * dom/Node.cpp:
3132         (WebCore::Node::willRespondToMouseMoveEvents):
3133         (WebCore::Node::willRespondToMouseClickEvents):
3134         * dom/Node.h:
3135         (Node):
3136         * editing/DeleteButton.h:
3137         * html/HTMLAnchorElement.cpp:
3138         (WebCore::HTMLAnchorElement::willRespondToMouseClickEvents):
3139         * html/HTMLAnchorElement.h:
3140         (HTMLAnchorElement):
3141         * html/HTMLButtonElement.cpp:
3142         (WebCore::HTMLButtonElement::willRespondToMouseClickEvents):
3143         * html/HTMLButtonElement.h:
3144         (HTMLButtonElement):
3145         * html/HTMLInputElement.cpp:
3146         (WebCore::HTMLInputElement::willRespondToMouseClickEvents):
3147         * html/HTMLInputElement.h:
3148         (HTMLInputElement):
3149         * html/HTMLLabelElement.cpp:
3150         (WebCore::HTMLLabelElement::willRespondToMouseClickEvents):
3151         * html/HTMLLabelElement.h:
3152         (HTMLLabelElement):
3153         * html/HTMLMediaElement.cpp:
3154         (WebCore::HTMLMediaElement::willRespondToMouseClickEvents):
3155         * html/HTMLMediaElement.h:
3156         * html/HTMLSummaryElement.cpp:
3157         (WebCore::HTMLSummaryElement::willRespondToMouseClickEvents):
3158         * html/HTMLSummaryElement.h:
3159         (HTMLSummaryElement):
3160         * html/shadow/CalendarPickerElement.cpp:
3161         (WebCore::CalendarPickerElement::willRespondToMouseClickEvents):
3162         * html/shadow/CalendarPickerElement.h:
3163         (CalendarPickerElement):
3164         * html/shadow/MediaControlElements.cpp:
3165         (WebCore::MediaControlTimelineElement::willRespondToMouseClickEvents):
3166         (WebCore::MediaControlTimelineElement::setPosition):
3167         (WebCore::MediaControlVolumeSliderElement::willRespondToMouseMoveEvents):
3168         (WebCore::MediaControlVolumeSliderElement::willRespondToMouseClickEvents):
3169         * html/shadow/MediaControlElements.h:
3170         (MediaControlTimelineElement):
3171         (MediaControlVolumeSliderElement):
3172         * html/shadow/MediaControlRootElement.h:
3173         * html/shadow/SliderThumbElement.cpp:
3174         (WebCore::SliderThumbElement::willRespondToMouseMoveEvents):
3175         (WebCore::SliderThumbElement::willRespondToMouseClickEvents):
3176         * html/shadow/SliderThumbElement.h:
3177         (SliderThumbElement):
3178         * html/shadow/TextControlInnerElements.cpp:
3179         (WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents):
3180         (WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents):
3181         (WebCore::SpinButtonElement::willRespondToMouseMoveEvents):
3182         (WebCore::SpinButtonElement::willRespondToMouseClickEvents):
3183         (WebCore::InputFieldSpeechButtonElement::willRespondToMouseClickEvents):
3184         * html/shadow/TextControlInnerElements.h:
3185         (SearchFieldResultsButtonElement):
3186         (SearchFieldCancelButtonElement):
3187         (SpinButtonElement):
3188         * html/shadow/TextFieldDecorationElement.cpp:
3189         (WebCore::TextFieldDecorationElement::willRespondToMouseClickEvents):
3190         * html/shadow/TextFieldDecorationElement.h:
3191         (TextFieldDecorationElement):
3192         * page/TouchAdjustment.cpp:
3193         (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
3194
3195 2012-07-30  Vsevolod Vlasov  <vsevik@chromium.org>
3196
3197         Web Inspector: Content size variables in NetworkResourcesData should have size_t type instead of int.
3198         https://bugs.webkit.org/show_bug.cgi?id=92618
3199
3200         Reviewed by Yury Semikhatsky.
3201
3202         Changed content size variables type in NetworkResourcesData from int to size_t.
3203         Drive-by: Switched String length calculation to recently added StringImpl's sizeInBytes.
3204
3205         * inspector/NetworkResourcesData.cpp:
3206         (WebCore::NetworkResourcesData::ResourceData::removeContent):
3207         (WebCore::NetworkResourcesData::ResourceData::dataLength):
3208         (WebCore::NetworkResourcesData::ResourceData::appendData):
3209         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
3210         (WebCore::NetworkResourcesData::setResourceContent):
3211         (WebCore::NetworkResourcesData::maybeAddResourceData):
3212         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
3213         (WebCore::NetworkResourcesData::setResourcesDataSizeLimits):
3214         (WebCore::NetworkResourcesData::ensureFreeSpace):
3215         * inspector/NetworkResourcesData.h:
3216         (ResourceData):
3217         (NetworkResourcesData):
3218
3219 2012-07-30  Hayato Ito  <hayato@chromium.org>
3220
3221         Remove an useless member variable, m_shouldPreventDispatch, from EventDispatcher.
3222         https://bugs.webkit.org/show_bug.cgi?id=92625
3223
3224         Reviewed by Hajime Morita.
3225
3226         EventDispatcher::m_shouldPreventDispatch does not have any effects. We can remove that.
3227
3228         No new tests, no behavior change.
3229
3230         * dom/EventDispatcher.cpp:
3231         (WebCore::EventDispatcher::EventDispatcher):
3232         (WebCore::EventDispatcher::dispatchEvent):
3233         * dom/EventDispatcher.h:
3234         (EventDispatcher):
3235
3236 2012-07-30  Hayato Ito  <hayato@chromium.org>
3237
3238         Remove an useless member variable, m_shouldPreventDispatch, from EventDispatcher.
3239         https://bugs.webkit.org/show_bug.cgi?id=92625
3240
3241         Reviewed by Hajime Morita.
3242
3243         EventDispatcher::m_shouldPreventDispatch does not have any effects. We can remove that.
3244
3245         No new tests, no behavior change.
3246
3247         * dom/EventDispatcher.cpp:
3248         (WebCore::EventDispatcher::EventDispatcher):
3249         (WebCore::EventDispatcher::dispatchEvent):
3250         * dom/EventDispatcher.h:
3251         (EventDispatcher):
3252
3253 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
3254
3255         Web Inspector: make MemoryInstrumentation methods private
3256         https://bugs.webkit.org/show_bug.cgi?id=92379
3257
3258         Reviewed by Vsevolod Vlasov.
3259
3260         MemoryInstrumentation was refactored.
3261         - All reporting methods on MemoryInstrumentation except add*Object are
3262           private to enforce MemoryClassInfo usage.
3263         - MemoryInstrumentation::Add*Member methods renamed to Add*Object
3264         - String reporting is implemented directly in the MemoryInstrumentation,
3265           not in its descendants.
3266
3267         * CMakeLists.txt:
3268         * GNUmakefile.list.am:
3269         * WebCore.gypi:
3270         * WebCore.vcproj/WebCore.vcproj:
3271         * WebCore.xcodeproj/project.pbxproj:
3272         * bindings/v8/ScriptProfiler.cpp:
3273         (WebCore::ScriptProfiler::collectBindingMemoryInfo):
3274         * dom/MemoryInstrumentation.cpp: Added.
3275         (WebCore):
3276         (WebCore::MemoryInstrumentation::addString):
3277         * dom/MemoryInstrumentation.h:
3278         (WebCore::MemoryInstrumentation::addInstrumentedObject):
3279         (WebCore::MemoryInstrumentation::addObject):
3280         (MemoryInstrumentation):
3281         (InstrumentedPointerBase):
3282         (WebCore::MemoryInstrumentation::InstrumentedPointerBase::~InstrumentedPointerBase):
3283         (InstrumentedPointer):
3284         (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
3285         (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject):
3286         (WebCore::MemoryInstrumentation::OwningTraits::addObject):
3287         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
3288         (WebCore::MemoryClassInfo::addInstrumentedMember):
3289         (WebCore::MemoryClassInfo::addMember):
3290         (WebCore):
3291         (WebCore::MemoryInstrumentation::addObjectImpl):
3292         (WebCore::MemoryInstrumentation::addInstrumentedCollection):
3293         (WebCore::MemoryInstrumentation::calculateContainerSize):
3294         * inspector/InspectorMemoryAgent.cpp:
3295         (WebCore):
3296
3297 2012-07-30  Alexander Pavlov  <apavlov@chromium.org>
3298
3299         Web Inspector: [Styles] No color swatch for the SVG "fill" and "stroke" property values
3300         https://bugs.webkit.org/show_bug.cgi?id=92638
3301
3302         Reviewed by Vsevolod Vlasov.
3303
3304         Added the "fill" and "stroke" properties to the list of color-aware properties.
3305
3306         * inspector/front-end/CSSKeywordCompletions.js:
3307
3308 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3309
3310         Unreviewed, rolling out r124000.
3311         http://trac.webkit.org/changeset/124000
3312         https://bugs.webkit.org/show_bug.cgi?id=92632
3313
3314         seems to have broken chromium Range_InstanceSizeUnknown unit
3315         test across many platforms (Requested by tomhudson on
3316         #webkit).
3317
3318         * WebCore.exp.in:
3319         * inspector/InspectorController.cpp:
3320         (WebCore::InspectorController::InspectorController):
3321         (WebCore::InspectorController::inspectedPageDestroyed):
3322         * inspector/InspectorInstrumentation.cpp:
3323         (WebCore):
3324         * inspector/InspectorInstrumentation.h:
3325         (InspectorInstrumentation):
3326         * inspector/InspectorResourceAgent.cpp:
3327         (WebCore::InspectorResourceAgent::didReceiveData):
3328         (WebCore::InspectorResourceAgent::getResponseBody):
3329         * inspector/InspectorResourceAgent.h:
3330         (InspectorResourceAgent):
3331         * inspector/NetworkResourcesData.cpp:
3332         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
3333         (WebCore::NetworkResourcesData::ResourceData::setContent):
3334         (WebCore::NetworkResourcesData::setResourceContent):
3335         * inspector/NetworkResourcesData.h:
3336         (ResourceData):
3337         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
3338         (NetworkResourcesData):
3339         * loader/cache/CachedResource.cpp:
3340         (WebCore::CachedResource::~CachedResource):
3341         (WebCore::CachedResource::removeClient):
3342         (WebCore::CachedResource::deleteIfPossible):
3343         (WebCore):
3344         * loader/cache/CachedResource.h:
3345         (CachedResource):
3346         * loader/cache/CachedResourceLoader.cpp:
3347         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
3348         (WebCore::CachedResourceLoader::clearPreloads):
3349         * loader/cache/CachedResourceLoader.h:
3350         (CachedResourceLoader):
3351         * loader/cache/MemoryCache.cpp:
3352         (WebCore::MemoryCache::evict):
3353         * testing/InternalSettings.cpp:
3354         * testing/Internals.cpp:
3355         * testing/Internals.h:
3356         (Internals):
3357         * testing/Internals.idl:
3358
3359 2012-07-30  Hayato Ito  <hayato@chromium.org>
3360
3361         Remove an unused member variable, m_originalTarget, from EventDispatcher.
3362         https://bugs.webkit.org/show_bug.cgi?id=92614
3363
3364         Reviewed by Andreas Kling.
3365
3366         No one uses EventDispatcher::m_originalTarget.
3367
3368         No new tests, no behavior change.
3369
3370         * dom/EventDispatcher.h:
3371         (EventDispatcher):
3372
3373 2012-07-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3374
3375         [Qt] Fix issues remaining with fixed positioned layers
3376         https://bugs.webkit.org/show_bug.cgi?id=92528
3377
3378         Reviewed by Noam Rosenthal.
3379
3380         * platform/graphics/texmap/TextureMapperLayer.cpp:
3381         (WebCore::TextureMapperLayer::syncCompositingStateSelf):
3382         Make sure that the delta is used when syncCompositingStateSelf is called afterward.
3383         (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
3384         * platform/graphics/texmap/TextureMapperLayer.h:
3385         Use a FloatSize instead of an IntPoint for the delta.
3386         (TextureMapperLayer):
3387         (WebCore::TextureMapperLayer::adjustedPosition):
3388
3389 2012-07-30  Patrick Gansterer  <paroga@webkit.org>
3390
3391         Replace UnicodeWinCE with UnicodeWchar
3392         https://bugs.webkit.org/show_bug.cgi?id=92539
3393
3394         Reviewed by Ryosuke Niwa.
3395
3396         UnicodeWinCE never contained WinCE specific code. UnicodeWchar
3397         is a replacement for it, which is mainly based on the functions
3398         from <wchar.h>. It is ment as a minimal Unicode backend, which
3399         can be used very easy and has no external dependencies.
3400
3401         * platform/text/TextEncoding.cpp:
3402         (WebCore::TextEncoding::encode):
3403         * platform/text/TextEncodingRegistry.cpp:
3404         (WebCore::extendTextCodecMaps):
3405
3406 2012-07-30  Hayato Ito  <hayato@chromium.org>
3407
3408         Remove unnecessary code which set event's target from EventDispatcher::dispatchEvent.
3409         https://bugs.webkit.org/show_bug.cgi?id=92613
3410
3411         Reviewed by Hajime Morita.
3412
3413         EventContext::handleLocalEvents does all required jobs so we don't
3414         need to set target in EventDispacher::dispatchEvent() for TARGET phase.
3415
3416         No new tests, no behavior change.
3417
3418         * dom/EventDispatcher.cpp:
3419         (WebCore::EventDispatcher::dispatchEvent):
3420
3421 2012-07-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3422
3423         Unreviewed, rolling out r124004.
3424         http://trac.webkit.org/changeset/124004
3425         https://bugs.webkit.org/show_bug.cgi?id=92622
3426
3427         Broke Android build (Requested by keishi on #webkit).
3428
3429         * rendering/RenderThemeChromiumCommon.cpp:
3430         (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
3431
3432 2012-07-30  Pavel Feldman  <pfeldman@chromium.org>
3433
3434         Web Inspector: element tag disappears after editing
3435         https://bugs.webkit.org/show_bug.cgi?id=92385
3436
3437         Reviewed by Vsevolod Vlasov.
3438
3439         This has regressed when we started hiding elements panel upon
3440         batch updates. Narrowing hiding cases, updating selection
3441         in on-screen mode only.
3442
3443         * inspector/front-end/ElementsTreeOutline.js:
3444         (WebInspector.ElementsTreeElement.prototype.updateSelection):
3445
3446 2012-07-26  Yury Semikhatsky  <yurys@chromium.org>
3447
3448         Web Inspector: move StringImpl size calculation to StringImpl
3449         https://bugs.webkit.org/show_bug.cgi?id=92359
3450
3451         Reviewed by Pavel Feldman.
3452
3453         Moved stringSize(StringImpl*) implementation from InspectorMemoryAgent to
3454         StringImpl::sizeInBytes();
3455
3456         * inspector/InspectorMemoryAgent.cpp:
3457         (WebCore):
3458
3459 2012-07-30  Pavel Feldman  <pfeldman@chromium.org>
3460
3461         Web Inspector: workers inspector is broken in the remote debugging mode
3462         https://bugs.webkit.org/show_bug.cgi?id=92540
3463
3464         Reviewed by Yury Semikhatsky.
3465
3466         The problem was that worker manager re-used complete url with query parameters
3467         for spin-off worker front-ends. As a result, in case of remote debugging, newly
3468         created front-ends were connecting to the same web socket (because of the ws parameter).
3469
3470         * inspector/front-end/WorkerManager.js:
3471         (WebInspector.WorkerManager.isDedicatedWorkerFrontend):
3472         * inspector/front-end/inspector.js:
3473
3474 2012-07-30  Keishi Hattori  <keishi@webkit.org>
3475
3476         Implement datalist UI for input type color for Chromium
3477         https://bugs.webkit.org/show_bug.cgi?id=92075
3478
3479         Reviewed by Kent Tamura.
3480
3481         Test: platform/chromium/fast/forms/color/color-suggestion-picker-appearance.html
3482
3483         * rendering/RenderThemeChromiumCommon.cpp:
3484         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Added color to types supporting datalist.
3485
3486 2012-07-30  Mario Sanchez Prada  <msanchez@igalia.com>
3487
3488         REGRESSION (r123767): platform/gtk/accessibility/object-with-title.html failing on GTK
3489         https://bugs.webkit.org/show_bug.cgi?id=92477
3490
3491         Reviewed by Chris Fleizach.
3492
3493         Consider title and accessibilityDescription together with helpText to
3494         decide whether an object should be exposed in the accessibility tree.
3495
3496         * accessibility/AccessibilityRenderObject.cpp:
3497         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3498
3499 2012-07-29  Vsevolod Vlasov  <vsevik@chromium.org>
3500
3501         Web Inspector: Resource agent's reference to cached resources should be weak.
3502         https://bugs.webkit.org/show_bug.cgi?id=92108
3503
3504         Reviewed by Pavel Feldman.
3505
3506         NetworkResourcesData now stores a raw pointer to CachedResource.
3507         CachedResource now notifies InspectorInstrumentation that it will be destroyed.
3508         InspectorInstrumentation stores a set of InstrumentingAgents and broadcasts willDestroyCachedResource event to all available resourceAgents.
3509         Destroyed resources content is saved to NetworkResourcesData.
3510
3511         Tests: http/tests/inspector/network/cached-resource-destroyed-moved-to-storage.html
3512                http/tests/inspector/network/cached-resource-destroyed-too-big-discarded.html
3513
3514         * WebCore.exp.in:
3515         * inspector/InspectorController.cpp:
3516         (WebCore::InspectorController::InspectorController):
3517         (WebCore::InspectorController::inspectedPageDestroyed):
3518         * inspector/InspectorInstrumentation.cpp:
3519         (WebCore):
3520         (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
3521         (WebCore::InspectorInstrumentation::registerInstrumentingAgents):
3522         (WebCore::InspectorInstrumentation::unregisterInstrumentingAgents):
3523         * inspector/InspectorInstrumentation.h:
3524         (InspectorInstrumentation):
3525         (WebCore::InspectorInstrumentation::willDestroyCachedResource):
3526         (WebCore):
3527         * inspector/InspectorResourceAgent.cpp:
3528         (WebCore::InspectorResourceAgent::didReceiveData):
3529         (WebCore::InspectorResourceAgent::willDestroyCachedResource):
3530         (WebCore):
3531         (WebCore::InspectorResourceAgent::getResponseBody):
3532         * inspector/InspectorResourceAgent.h:
3533         (InspectorResourceAgent):
3534         * inspector/NetworkResourcesData.cpp:
3535         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
3536         (WebCore::NetworkResourcesData::ResourceData::setContent):
3537         (WebCore::NetworkResourcesData::setResourceContent):
3538         (WebCore::NetworkResourcesData::removeCachedResource):
3539         (WebCore):
3540         * inspector/NetworkResourcesData.h:
3541         (ResourceData):
3542         (WebCore::NetworkResourcesData::ResourceData::base64Encoded):
3543         (WebCore::NetworkResourcesData::ResourceData::cachedResource):
3544         (NetworkResourcesData):
3545         * loader/cache/CachedResource.cpp:
3546         (WebCore::CachedResource::~CachedResource):
3547         (WebCore::CachedResource::removeClient):
3548         (WebCore::CachedResource::deleteIfPossible):
3549         (WebCore):
3550         * loader/cache/CachedResource.h:
3551         (CachedResource):
3552         * loader/cache/CachedResourceLoader.cpp:
3553         (WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
3554         (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
3555         (WebCore::CachedResourceLoader::clearPreloads):
3556         * loader/cache/CachedResourceLoader.h:
3557         (CachedResourceLoader):
3558         * loader/cache/MemoryCache.cpp:
3559         (WebCore::MemoryCache::evict):
3560         * testing/InternalSettings.cpp:
3561         * testing/Internals.cpp:
3562         (WebCore::Internals::garbageCollectDocumentResources):
3563         (WebCore):
3564         * testing/Internals.h:
3565         (Internals):
3566         * testing/Internals.idl:
3567
3568 2012-07-29  YoungTaeck Song  <youngtaeck.song@samsung.com>
3569
3570         [WK2][EFL] Accelerated compositing support using TextureMapper on Efl WebKit2
3571         https://bugs.webkit.org/show_bug.cgi?id=91583
3572
3573         Reviewed by Noam Rosenthal.
3574
3575         This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
3576         This patch adds Texture Mapper related files to PlatformEfl.cmake.
3577         And wrapped TextureMapperLayer and TextureMapperBackingStore with USE(ACCELERATED_COMPOSITING) for fixing building error when disable ACCELERATED_COMPOSITING.
3578
3579         * CMakeLists.txt:
3580         * PlatformEfl.cmake:
3581         * platform/graphics/GraphicsLayer.cpp:
3582         (WebCore):
3583         * platform/graphics/GraphicsLayer.h:
3584         (GraphicsLayer):
3585         * platform/graphics/GraphicsLayerAnimation.cpp:
3586         * platform/graphics/GraphicsLayerAnimation.h:
3587         * platform/graphics/PlatformLayer.h:
3588         (WebCore):
3589         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3590         * platform/graphics/texmap/TextureMapperBackingStore.h:
3591         * platform/graphics/texmap/TextureMapperLayer.h:
3592
3593 2012-07-29  YoungTaeck Song  <youngtaeck.song@samsung.com>
3594
3595         [WK2][EFL] TILED_BACKING_STORE support on Efl WebKit2
3596         https://bugs.webkit.org/show_bug.cgi?id=91582
3597
3598         Reviewed by Noam Rosenthal.
3599
3600         This patch is a subset of Efl's UI_SIDE_COMPOSITING implementation.
3601         This patch adds TILED_BACKING_STORE related files to CMakeLists.txt and PlatformEfl.cmake
3602
3603         * CMakeLists.txt:
3604         * PlatformEfl.cmake:
3605
3606 2012-07-29  Keishi Hattori  <keishi@webkit.org>
3607
3608         Fix removing invalid values from color input suggestions
3609         https://bugs.webkit.org/show_bug.cgi?id=92502
3610
3611         Reviewed by Kent Tamura.
3612
3613         Make ColorInputType::typeMismatchFor() return false for invalid color
3614         values so that they don't appear in the list of suggestions that
3615         ColorInputType::suggestions() returns.
3616
3617         No new tests. Tests to be added in Bug 92075.
3618
3619         * html/ColorInputType.cpp:
3620         (WebCore::ColorInputType::typeMismatchFor):
3621         (WebCore):
3622         * html/ColorInputType.h:
3623         (ColorInputType):
3624
3625 2012-07-29  Li Yin  <li.yin@intel.com>
3626
3627         getChannelData should raise exception when index is more than numberOfChannels.
3628         https://bugs.webkit.org/show_bug.cgi?id=92223
3629
3630         Reviewed by Kentaro Hara.
3631
3632         Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBuffer-section
3633         In getChannelData function, the index value MUST be less than numberOfChannels
3634         or an exception will be thrown.
3635
3636         Test: webaudio/audiobuffer.html
3637
3638         * Modules/webaudio/AudioBuffer.cpp:
3639         (WebCore::AudioBuffer::getChannelData):
3640         (WebCore):
3641         * Modules/webaudio/AudioBuffer.h:
3642         (WebCore):
3643         (AudioBuffer):
3644         * Modules/webaudio/AudioBuffer.idl: raise exception when index is not less than numberOfChannels.
3645
3646 2012-07-29  Sukolsak Sakshuwong  <sukolsak@google.com>
3647
3648         forward-delete in the last cell of a table moves the caret after the table
3649         https://bugs.webkit.org/show_bug.cgi?id=24250
3650
3651         Reviewed by Ryosuke Niwa.
3652
3653         The ForwardDelete command moved the cursor after the table when it's invoked
3654         in an empty cell that is the last cell of a table. It also removed the break
3655         element when invoked in an empty cell that is not the last cell of a table.
3656         Make it do nothing inside an empty table cell.
3657
3658         Test: editing/deleting/forward-delete-empty-table-cell.html
3659
3660         * editing/TypingCommand.cpp:
3661         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3662
3663 2012-07-29  Kwang Yul Seo  <skyul@company100.net>
3664
3665         Remove unused method HTMLConstructionSiteTask::take(HTMLConstructionSiteTask&)
3666         https://bugs.webkit.org/show_bug.cgi?id=92601
3667
3668         Reviewed by Adam Barth.
3669
3670         This method was introduced in r104000, but has never been used from the beginning.
3671
3672         No functional change.
3673
3674         * html/parser/HTMLConstructionSite.h:
3675
3676 2012-07-29  Kenichi Ishibashi  <bashi@chromium.org>
3677
3678         [Chromium] HarfBuzzShaper can't handle segmented text run
3679         https://bugs.webkit.org/show_bug.cgi?id=92445
3680
3681         Reviewed by Tony Chang.
3682
3683         Pass the range to be displayed to HarfBuzzShaper. The shaper calculates positions and advances of each glyph
3684         regardless of the range, but only add glyphs which are in the range.
3685
3686         No new tests. platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html should
3687         work as expected once we move to use harfbuzz-ng on linux. Note that the current expectation will need to be rebaselined
3688         because the old hb shaper (ComplexTextController) mishandles the range. |to| should be exclusive. I'll rebaseline
3689         the expectation later.
3690
3691         * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
3692         (WebCore::Font::drawComplexText): Call shaper.setDrawRange().
3693         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
3694         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
3695         (WebCore::HarfBuzzShaper::setDrawRange): Added.
3696         (WebCore):
3697         (WebCore::HarfBuzzShaper::shouldDrawCharacterAt): Added.
3698         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Added variables that hold pending advances.
3699         (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): Add only glyphs which are in the given range to glyphBuffer.
3700         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
3701         (HarfBuzzShaper):
3702         * platform/graphics/mac/FontComplexTextMac.cpp:
3703         (WebCore::Font::drawComplexText): Call shaper.setDrawRange().
3704
3705 2012-07-29  Dan Bernstein  <mitz@apple.com>
3706
3707         Hit testing in the gap between pages returns incorrect results in flipped blocks writing modes
3708         https://bugs.webkit.org/show_bug.cgi?id=92600
3709
3710         Reviewed by Simon Fraser.
3711
3712         Test: fast/multicol/hit-test-gap-between-pages-flipped.html
3713
3714         * rendering/RenderBlock.h:
3715         (WebCore::RenderBlock): Promoted offsetForContents() from private to protected, and demoted
3716         adjustPointToColumnContents() back to private.
3717         * rendering/RenderLayer.cpp:
3718         (WebCore::RenderLayer::hitTest): Changed to flip the point passed to updateHitTestResults().
3719         * rendering/RenderView.cpp:
3720         (WebCore::RenderView::updateHitTestResult): Changed to call offsetForContents(), which, as
3721         of r123977, correctly accounts for flippedness.
3722
3723 2012-07-29  Dan Bernstein  <mitz@apple.com>
3724
3725         In flipped blocks, a point on the top edge of a text box is considered outside the box (and vice versa)
3726         https://bugs.webkit.org/show_bug.cgi?id=92597
3727
3728         Reviewed by Ryosuke Niwa.
3729
3730         This is similar to <http://webkit.org/b/92593> except for RenderText. Fixing this required
3731         fixing some code that creates a point inside a box by setting its y coordinate to the
3732         logical top of the box. In a flipped block, this would be just outside the box.
3733
3734         Enhanced fast/writing-mode/flipped-blocks-hit-test-line-edges.html to cover this.
3735
3736         * editing/visible_units.cpp:
3737         (WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to use
3738         RootInlineBox::blockDirectionPointInLine in the vertical case as well.
3739         * rendering/RenderBlock.cpp:
3740         (WebCore::RenderBlock::positionForPointWithInlineChildren): Changed to use
3741         RootInlineBox::blockDirectionPointInLine.
3742         * rendering/RenderText.cpp:
3743         (WebCore::RenderText::positionForPoint): Changed the strictness of y inequalities based on
3744         the flippedness of the block. This fixes the bug.
3745         * rendering/RootInlineBox.cpp:
3746         (WebCore::RootInlineBox::blockDirectionPointInLine): Moved the implementation here from the
3747         header, and made it return the bottom in the flipped block case, so that the returned point
3748         is inside the line in that case as well.
3749         * rendering/RootInlineBox.h:
3750
3751 2012-07-29  Rik Cabanier  <cabanier@adobe.com>
3752
3753         ENABLE_CSS_COMPOSITING flag
3754         https://bugs.webkit.org/show_bug.cgi?id=92553
3755
3756         Reviewed by Dirk Schulze.
3757
3758         Adds compiler flag CSS_COMPOSITING to build systems to enable CSS blending and compositing. See spec https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html
3759
3760         * GNUmakefile.am:
3761         * Configurations/FeatureDefines.xcconfig:
3762
3763 2012-07-29  Dan Bernstein  <mitz@apple.com>
3764
3765         In flipped blocks, a point on the top edge of a box is considered outside the box (and vice versa)
3766         https://bugs.webkit.org/show_bug.cgi?id=92593
3767
3768         Reviewed by Simon Fraser.
3769
3770         With respect to hit testing, boxes should always behave as half-open intervals which include
3771         the physical top and left edges and not the bottom and right edges.
3772         RenderBlock::positionForPoint was not adhering to this, since it was comparing flipped
3773         coordinates.
3774
3775         Tests: fast/writing-mode/flipped-blocks-hit-test-box-edges.html
3776                fast/writing-mode/flipped-blocks-hit-test-line-edges.html
3777
3778         * rendering/RenderBlock.cpp:
3779         (WebCore::RenderBlock::positionForPointWithInlineChildren): When blocks are flipped, changed
3780         strict inequalities of y coordinates into non-strict ones and non-strict inequalities into
3781         strict ones.
3782         (WebCore::RenderBlock::positionForPoint): Ditto, except for the test for being under the top
3783         of the last candidate box, which was made non-strict in the unflipped case and remained
3784         strict.
3785
3786 2012-07-28  Dan Bernstein  <mitz@apple.com>
3787
3788         RenderBlock::offsetForContents() is wrong in flipped blocks writing modes
3789         https://bugs.webkit.org/show_bug.cgi?id=92588
3790
3791         Reviewed by Sam Weinig.
3792
3793         Tests: fast/multicol/hit-test-block-axis-flipped.html
3794                fast/writing-mode/flipped-blocks-hit-test-overflow-scroll.html
3795
3796         * rendering/RenderBlock.cpp:
3797         (WebCore::RenderBlock::offsetForContents): Flip the point, which puts it back in unflipped
3798         coordinates, before adding the scroll offset and adjusting for columns, then flip it back.
3799         (WebCore::RenderBlock::adjustPointToColumnContents): Changed the inline-axis cases to
3800         work with an unflipped point.
3801
3802 2012-07-28  Dan Bernstein  <mitz@apple.com>
3803
3804         In flipped lines writing modes, hit testing at the beginning of a column may return a result from the previous column
3805         https://bugs.webkit.org/show_bug.cgi?id=92566
3806
3807         Reviewed by Simon Fraser.
3808
3809         Enhanced the fix for <http://webkit.org/b/92524> to work with flipped lines.
3810
3811         Extended fast/multicol/hit-test-end-of-column-with-line-height.html.
3812
3813         * rendering/RenderBlock.cpp:
3814         (WebCore::RenderBlock::positionForPointWithInlineChildren): For flipped lines, check if the
3815         hit line is the last one before a page break, and in that case, check if the hit point was
3816         after the break.
3817
3818 2012-07-28  Simon Fraser  <simon.fraser@apple.com>
3819
3820         Size changes on a layer with negative z-index children don't repaint correctly
3821         https://bugs.webkit.org/show_bug.cgi?id=92583
3822
3823         Reviewed by Dean Jackson.
3824
3825         Negative z-index descendants cause a composited layer to have a separate
3826         layer for foreground content. If something caused that foreground layer
3827         to change size (like toggling visibility on a descendant), we failed to
3828         repaint the foreground layer, resulting in stretched content.
3829
3830         Test: compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html
3831
3832         * rendering/RenderLayerBacking.cpp:
3833         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Repaint the foreground
3834         layer if its size changes, like we do for the main layer.
3835
3836 2012-07-28  Simon Fraser  <simon.fraser@apple.com>
3837
3838         Ignore visibility:hidden elements when computing compositing layer bounds
3839         https://bugs.webkit.org/show_bug.cgi?id=92569
3840
3841         Reviewed by Dan Bernstein.
3842
3843         When computing the bounds of compositing layers, we would take into account
3844         layers with no visible content (visibility:hidden, and no non-hidden descendants).
3845         This caused some huge layers in mobile Google maps.
3846
3847         Tests: compositing/geometry/bounds-ignores-hidden-composited-descendant.html
3848                compositing/geometry/bounds-ignores-hidden-dynamic.html
3849                compositing/geometry/bounds-ignores-hidden.html
3850
3851         * rendering/RenderLayer.cpp:
3852         (WebCore::RenderLayer::calculateLayerBounds): If the ExcludeHiddenDescendants flag is set, return
3853         the empty rect for layers with no visible content or descendants, as long as the layer is not
3854         the root of the subtree whose bounds are being computed.
3855         calculateLayerBounds() currently (I think incorrectly) passes the default flags to the recursive calls.
3856         It should probably just pass 'flags', but to make this change safe, OR in the ExcludeHiddenDescendants
3857         flag.
3858         * rendering/RenderLayer.h: Add an ExcludeHiddenDescendants flag to the CalculateLayerBoundsFlags.
3859         * rendering/RenderLayerCompositor.cpp:
3860         (WebCore::RenderLayerCompositor::calculateCompositedBounds): Pass the ExcludeHiddenDescendants
3861         flag.
3862
3863 2012-07-28  Min Qin  <qinmin@chromium.org>
3864
3865         Add an overlay play button to media controls on android
3866         https://bugs.webkit.org/show_bug.cgi?id=92132
3867
3868         Reviewed by Adam Barth.
3869
3870         This change adds an overlay play button to the media controls for android.
3871         No tests for now as this setting is not being used by other port.
3872         Will add a test and adjust all the test expectations when we upstream the layout tests for android.
3873
3874         * WebCore.gypi:
3875         * css/CSSPrimitiveValueMappings.h:
3876         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3877         * css/CSSValueKeywords.in:
3878         * css/mediaControls.css:
3879         (audio::-webkit-media-controls-overlay-play-button, video::-webkit-media-controls-overlay-play-button):
3880         * css/mediaControlsChromiumAndroid.css:
3881         (audio::-webkit-media-controls-overlay-enclosure):
3882         (video::-webkit-media-controls-overlay-enclosure):
3883         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3884         (video::-webkit-media-controls-overlay-play-button):
3885         * html/shadow/MediaControlElements.cpp:
3886         (WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement):
3887         (WebCore):
3888         (WebCore::MediaControlOverlayPlayButtonElement::create):
3889         (WebCore::MediaControlOverlayPlayButtonElement::defaultEventHandler):
3890         (WebCore::MediaControlOverlayPlayButtonElement::updateDisplayType):
3891         (WebCore::MediaControlOverlayPlayButtonElement::shadowPseudoId):
3892         * html/shadow/MediaControlElements.h:
3893         (MediaControlOverlayPlayButtonElement):
3894         (WebCore):
3895         * html/shadow/MediaControlRootElementChromium.cpp:
3896         (WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement):
3897         (WebCore::MediaControlPanelEnclosureElement::create):
3898         (WebCore):
3899         (WebCore::MediaControlPanelEnclosureElement::shadowPseudoId):
3900         (WebCore::MediaControlRootElementChromium::create):
3901         (WebCore::MediaControlRootElementChromium::initializeControls):
3902         * html/shadow/MediaControlRootElementChromium.h:
3903         (MediaControlChromiumEnclosureElement):
3904         (WebCore):
3905         (MediaControlPanelEnclosureElement):
3906         (MediaControlRootElementChromium):
3907         * html/shadow/MediaControlRootElementChromiumAndroid.cpp: Added.
3908         (WebCore):
3909         (WebCore::MediaControlOverlayEnclosureElement::MediaControlOverlayEnclosureElement):
3910         (WebCore::MediaControlOverlayEnclosureElement::create):
3911         (WebCore::MediaControlOverlayEnclosureElement::shadowPseudoId):
3912         (WebCore::MediaControlRootElementChromiumAndroid::MediaControlRootElementChromiumAndroid):
3913         (WebCore::MediaControls::create):
3914         (WebCore::MediaControlRootElementChromiumAndroid::create):
3915         (WebCore::MediaControlRootElementChromiumAndroid::setMediaController):
3916         (WebCore::MediaControlRootElementChromiumAndroid::playbackStarted):
3917         (WebCore::MediaControlRootElementChromiumAndroid::playbackStopped):
3918         * html/shadow/MediaControlRootElementChromiumAndroid.h: Added.
3919         (WebCore):
3920         (MediaControlOverlayEnclosureElement):
3921         (MediaControlRootElementChromiumAndroid):
3922         * platform/ThemeTypes.h:
3923         * rendering/RenderMediaControlsChromium.cpp:
3924         (WebCore::paintMediaOverlayPlayButton):
3925         (WebCore):
3926         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
3927         * rendering/RenderTheme.cpp:
3928         (WebCore::RenderTheme::paint):
3929         * rendering/RenderTheme.h:
3930         (WebCore::RenderTheme::paintMediaOverlayPlayButton):
3931         * rendering/RenderThemeChromiumAndroid.cpp:
3932         (WebCore::RenderThemeChromiumAndroid::paintMediaOverlayPlayButton):
3933         (WebCore):
3934         * rendering/RenderThemeChromiumAndroid.h:
3935
3936 2012-07-28  Mario Sanchez Prada  <msanchez@igalia.com>
3937
3938         [GTK] Add a new and reusable enchant-based spellchecker in WebCore
3939         https://bugs.webkit.org/show_bug.cgi?id=90269
3940
3941         Reviewed by Martin Robinson.
3942
3943         Move enchant specific code down to WebCore, into a new class
3944         TextCheckerEnchant, that we can use from WK1 and WK2.
3945
3946         * GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
3947         * GNUmakefile.list.am: Added new files.
3948         * platform/text/gtk/TextCheckerEnchant.cpp: Added.
3949         (getAvailableDictionariesCallback):
3950         (TextCheckerEnchant::TextCheckerEnchant):
3951         (TextCheckerEnchant::~TextCheckerEnchant):
3952         (TextCheckerEnchant::ignoreWord):
3953         (TextCheckerEnchant::learnWord):
3954         (TextCheckerEnchant::checkSpellingOfString):
3955         (TextCheckerEnchant::getGuessesForWord):
3956         (TextCheckerEnchant::updateSpellCheckingLanguages):
3957         (TextCheckerEnchant::freeEnchantBrokerDictionaries):
3958         * platform/text/gtk/TextCheckerEnchant.h: Added.
3959         (WebCore):
3960         (TextCheckerEnchant):
3961         (WebCore::TextCheckerEnchant::create):
3962
3963 2012-07-28  Vineet Chaudhary  <rgf748@motorola.com>
3964
3965         [Clamp] support in binding generator.
3966         https://bugs.webkit.org/show_bug.cgi?id=77605
3967
3968         Reviewed by Kentaro Hara.
3969
3970         Currently [Clamp] extended attribute in IDL files.
3971         Spec: http://www.w3.org/TR/2012/CR-WebIDL-20120419/#Clamp
3972
3973         Tests: TestObj.idl
3974
3975         * bindings/scripts/CodeGeneratorCPP.pm:
3976         (SkipFunction): Skips methods with [Clamp] parameters.
3977         * bindings/scripts/CodeGeneratorGObject.pm:
3978         (SkipFunction): Skips methods with [Clamp] parameters.
3979         * bindings/scripts/CodeGeneratorJS.pm:
3980         (GenerateParametersCheck): Support [Clamp] for JSBindings.
3981         * bindings/scripts/CodeGeneratorObjC.pm:
3982         (SkipFunction): Skips methods with [Clamp] parameters.
3983         * bindings/scripts/CodeGeneratorV8.pm:
3984         (GenerateParametersCheck): Support [Clamp] for V8Bindings.
3985         * bindings/scripts/IDLAttributes.txt: Added [Clamp] to attributes list.
3986         * bindings/scripts/test/JS/JSTestObj.cpp: Test.
3987         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
3988         * bindings/scripts/test/JS/JSTestObj.h:
3989         * bindings/scripts/test/TestObj.idl:
3990         * bindings/scripts/test/V8/V8TestObj.cpp:
3991         (WebCore::TestObjV8Internal::classMethodWithClampCallback):
3992         (TestObjV8Internal):
3993
3994 2012-07-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3995
3996         Unreviewed, rolling out r123908.
3997         http://trac.webkit.org/changeset/123908
3998         https://bugs.webkit.org/show_bug.cgi?id=92572
3999
4000         Broke Chromium Linux compile (Requested by pkasting on
4001         #webkit).
4002
4003         * WebCore.gypi:
4004         * css/CSSPrimitiveValueMappings.h:
4005         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
4006         * css/CSSValueKeywords.in:
4007         * css/mediaControls.css:
4008         * css/mediaControlsChromiumAndroid.css:
4009         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
4010         * html/shadow/MediaControlElements.cpp:
4011         (WebCore):
4012         * html/shadow/MediaControlElements.h:
4013         (WebCore):
4014         * html/shadow/MediaControlRootElementChromium.cpp:
4015         (WebCore::MediaControlChromiumEnclosureElement::create):
4016         (WebCore):
4017         (WebCore::MediaControlChromiumEnclosureElement::shadowPseudoId):
4018         (WebCore::MediaControls::create):
4019         (WebCore::MediaControlRootElementChromium::create):
4020         * html/shadow/MediaControlRootElementChromium.h:
4021         (MediaControlChromiumEnclosureElement):
4022         (MediaControlRootElementChromium):
4023         * html/shadow/MediaControlRootElementChromiumAndroid.cpp: Removed.
4024         * html/shadow/MediaControlRootElementChromiumAndroid.h: Removed.
4025         * platform/ThemeTypes.h:
4026         * rendering/RenderMediaControlsChromium.cpp:
4027         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
4028         * rendering/RenderTheme.cpp:
4029         (WebCore::RenderTheme::paint):
4030         * rendering/RenderTheme.h:
4031         * rendering/RenderThemeChromiumAndroid.cpp:
4032         * rendering/RenderThemeChromiumAndroid.h:
4033
4034 2012-07-27  Eli Fidler  <efidler@rim.com>
4035
4036         [BlackBerry] Use new LocaleHandler.
4037         https://bugs.webkit.org/show_bug.cgi?id=92548
4038
4039         Reviewed by Yong Li.
4040
4041         RIM PR 128381
4042
4043         * platform/blackberry/LocalizedStringsBlackBerry.cpp:
4044         (WebCore::platformLanguage):
4045         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
4046         (WebCore::ResourceRequest::initializePlatformRequest):
4047         * platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp:
4048         (WebCore::currentSearchLocaleID):
4049         (WebCore::currentTextBreakLocaleID):
4050
4051 2012-07-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4052
4053         Change constructor with explicit constructor in WebCore/Modules
4054         https://bugs.webkit.org/show_bug.cgi?id=92529
4055
4056         Reviewed by Kentaro Hara.
4057
4058         As a step to let *explicit* keyword add to constructors which have a parameter,
4059         *explicit* keyword is added to Source/WebCore/Modules in order to avoid implicit
4060         type conversion.
4061
4062         No new tests. Covered by existing tests.
4063
4064         * Modules/filesystem/LocalFileSystem.h:
4065         (WebCore::LocalFileSystem::LocalFileSystem):
4066         * Modules/filesystem/Metadata.h:
4067         (WebCore::Metadata::Metadata):
4068         * Modules/filesystem/SyncCallbackHelper.h:
4069         (WebCore::SyncCallbackHelper::SuccessCallbackImpl::SuccessCallbackImpl):
4070         (WebCore::SyncCallbackHelper::ErrorCallbackImpl::ErrorCallbackImpl):
4071         * Modules/mediastream/IceCandidate.h:
4072         (IceCandidate):
4073         * Modules/mediastream/NavigatorUserMediaError.h:
4074         (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
4075         * Modules/mediastream/SessionDescription.h:
4076         (SessionDescription):
4077         * Modules/mediastream/UserMediaController.h:
4078         (UserMediaController):