71cfe36442607657050e1c804fe557540c74c220
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-11-12  Timothy Hatcher  <timothy@apple.com>
2
3         Expose InspectorFrontendClientLocal::setAttachedWindow as public.
4
5         This allows external actions to update the docked state in the frontend.
6
7         https://bugs.webkit.org/show_bug.cgi?id=102023
8
9         Reviewed by Anders Carlsson.
10
11         * inspector/InspectorFrontendClientLocal.h:
12         Moved InspectorFrontendClientLocal::setAttachedWindow to public section.
13
14 2012-11-12  Erik Arvidsson  <arv@chromium.org>
15
16         Replace DOMException TYPE_MISMATCH_ERR with TypeError
17         https://bugs.webkit.org/show_bug.cgi?id=101604
18
19         Reviewed by Adam Barth.
20
21         DOMException.TYPE_MISMATCH_ERR is deprecated in favor of using TypeError.
22
23         We have historically used TYPE_MISMATCH_ERR as a blanket DOMException code when
24         the spec mandates TypeError being thrown.
25
26         Updated existing tests.
27
28         * Modules/mediastream/MediaConstraintsImpl.cpp:
29         * Modules/mediastream/MediaStreamTrackList.cpp:
30         * Modules/mediastream/PeerConnection00.cpp:
31         * Modules/mediastream/RTCDataChannel.cpp:
32         * Modules/mediastream/RTCIceCandidate.cpp:
33         * Modules/mediastream/RTCPeerConnection.cpp:
34         * Modules/mediastream/RTCSessionDescription.cpp:
35         * Modules/mediastream/SessionDescription.cpp:
36         * bindings/js/CallbackFunction.cpp:
37         * bindings/js/JSCustomXPathNSResolver.cpp:
38         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
39         * bindings/js/JSHTMLSelectElementCustom.cpp:
40         * bindings/js/JSMutationObserverCustom.cpp:
41         * bindings/js/JSSQLResultSetRowListCustom.cpp:
42         * bindings/js/JSSQLTransactionCustom.cpp:
43         * bindings/js/JSSQLTransactionSyncCustom.cpp:
44         * bindings/scripts/CodeGeneratorJS.pm:
45         * bindings/scripts/CodeGeneratorObjC.pm:
46         * bindings/scripts/CodeGeneratorV8.pm:
47         * bindings/v8/V8Callback.h:
48         * bindings/v8/V8Collection.cpp:
49         * bindings/v8/custom/V8DocumentCustom.cpp:
50         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
51         * bindings/v8/custom/V8MutationObserverCustom.cpp:
52         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
53         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
54         * dom/DOMCoreException.idl:
55         * html/HTMLElement.cpp:
56         * html/HTMLMediaElement.cpp:
57         * html/HTMLOptionsCollection.cpp:
58         * html/canvas/CanvasRenderingContext2D.cpp:
59         * page/Crypto.cpp:
60         * page/DOMSelection.cpp:
61         * svg/properties/SVGTransformListPropertyTearOff.h:
62
63 2012-11-12  Joshua Bell  <jsbell@chromium.org>
64
65         IndexedDB: Use sequence<> instead of DOMString[] in IDL
66         https://bugs.webkit.org/show_bug.cgi?id=100539
67
68         Reviewed by Adam Barth.
69
70         In the binding layer, DOMString[] is implemented as an alias for DOMStringList.
71         WebIDL usage is tending towards sequence<DOMString> anyway for inputs, so switch
72         to that. Note webkit.org/b/100537 which requires sequence<String> instead.
73
74         Covered by storage/indexeddb/transaction-basics.html and objectstore-basics.html
75
76         * Modules/indexeddb/IDBDatabase.cpp:
77         (WebCore::IDBDatabase::transaction): DOMStringList -> Vector<String>
78         * Modules/indexeddb/IDBDatabase.h:
79         (WebCore::IDBDatabase::transaction):
80         (IDBDatabase):
81         * Modules/indexeddb/IDBDatabase.idl: DOMString[] -> sequence<String>
82         * Modules/indexeddb/IDBObjectStore.cpp: Move trivial impls to header.
83         * Modules/indexeddb/IDBObjectStore.h:
84         (WebCore::IDBObjectStore::createIndex):
85         * Modules/indexeddb/IDBObjectStore.idl: DOMString[] -> sequence<String>
86
87 2012-11-12  Anders Carlsson  <andersca@apple.com>
88
89         Remove Leopard only gradient code
90         https://bugs.webkit.org/show_bug.cgi?id=102033
91
92         Reviewed by Dan Bernstein.
93
94         USE_CG_SHADING was only ever true on Leopard, so we can remove it now.
95
96         * platform/graphics/Gradient.h:
97         * platform/graphics/cg/GradientCG.cpp:
98         (WebCore::Gradient::platformDestroy):
99         (WebCore::Gradient::platformGradient):
100         (WebCore::Gradient::paint):
101
102 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
103
104         [BlackBerry] Update BB10 form theme.
105         https://bugs.webkit.org/show_bug.cgi?id=100760
106
107         Reviewed by Rob Buis.
108
109         RIM PR 237003
110         Internally Reviewed by Eli Fidler.
111         Since we nolonger use small font for form controls, adjust paddingDivisor
112         ratio to decrease the padding value.
113
114         * platform/blackberry/RenderThemeBlackBerry.cpp:
115         (WebCore):
116
117 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
118
119         Fix filter dirty rect regression from r134311
120         https://bugs.webkit.org/show_bug.cgi?id=102002
121
122         Reviewed by Beth Dakin.
123
124         When rendering with filters, the code can inflate the root-relative
125         paintDirtyRect in RenderLayer::paintLayerContents(), and my cleanup
126         broke this behavior.
127     
128         Fix by making a local copy of LayerPaintingInfo, updating its paintDirtyRect,
129         and using it for the rest of the function.
130
131         * rendering/RenderLayer.cpp:
132         (WebCore::RenderLayer::paintLayerContents):
133
134 2012-11-12  Kentaro Hara  <haraken@chromium.org>
135
136         [V8] V8Event::valueAccessorGetter() in custom binding is not used
137         https://bugs.webkit.org/show_bug.cgi?id=101893
138
139         Reviewed by Adam Barth.
140
141         No tests. No change in behavior.
142
143         * bindings/v8/custom/V8EventCustom.cpp:
144
145 2012-11-12  Roger Fong  <roger_fong@apple.com>
146
147         Web Inspector: Fix docking behaviour on Windows.
148         https://bugs.webkit.org/show_bug.cgi?id=101978
149
150         Reviewed by Brian Weinstein.
151
152         There are a number of problems with docking behaviour on Windows.
153         For starters, it does not ever constrain the inspector's size properly while docked.
154         It also does not properly set the whether or not the inspector can be docked/undocked.
155         This patch fixes both issues.
156
157         * inspector/InspectorFrontendClientLocal.cpp:
158         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
159         Switch order of calling bringToFront and setDockingUnavailable.
160
161 2012-11-12  Adam Barth  <abarth@webkit.org>
162
163         [V8] Update callers to use the aligned pointer API rather than the deprecated unaligned pointer API
164         https://bugs.webkit.org/show_bug.cgi?id=101519
165
166         Reviewed by Ojan Vafai.
167
168         There should be no change in behavior.  The new API is slightly faster
169         than the old API (and apparently works correctly internally in V8).
170
171         * bindings/scripts/CodeGeneratorV8.pm:
172         (GenerateHeader):
173         * bindings/scripts/test/V8/V8Float64Array.h:
174         (WebCore::V8Float64Array::toNative):
175         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
176         (WebCore::V8TestActiveDOMObject::toNative):
177         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
178         (WebCore::V8TestCustomNamedGetter::toNative):
179         * bindings/scripts/test/V8/V8TestEventConstructor.h:
180         (WebCore::V8TestEventConstructor::toNative):
181         * bindings/scripts/test/V8/V8TestEventTarget.h:
182         (WebCore::V8TestEventTarget::toNative):
183         * bindings/scripts/test/V8/V8TestException.h:
184         (WebCore::V8TestException::toNative):
185         * bindings/scripts/test/V8/V8TestInterface.h:
186         (WebCore::V8TestInterface::toNative):
187         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
188         (WebCore::V8TestMediaQueryListListener::toNative):
189         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
190         (WebCore::V8TestNamedConstructor::toNative):
191         * bindings/scripts/test/V8/V8TestNode.h:
192         (WebCore::V8TestNode::toNative):
193         * bindings/scripts/test/V8/V8TestObj.h:
194         (WebCore::V8TestObj::toNative):
195         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
196         (WebCore::V8TestSerializedScriptValueInterface::toNative):
197         * bindings/v8/NPV8Object.cpp:
198         (WebCore::v8ObjectToNPObject):
199         (WebCore::npCreateV8ScriptObject):
200         * bindings/v8/V8Collection.h:
201         (WebCore::toNativeCollection):
202         * bindings/v8/V8DOMWindowShell.cpp:
203         (WebCore::setIsolatedWorldField):
204         (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
205         * bindings/v8/V8DOMWrapper.cpp:
206         (WebCore::V8DOMWrapper::isWrapperOfType):
207         * bindings/v8/V8DOMWrapper.h:
208         (WebCore::V8DOMWrapper::setDOMWrapper):
209         (WebCore::V8DOMWrapper::clearDOMWrapper):
210         * bindings/v8/WrapperTypeInfo.h:
211         (WebCore::toNative):
212         (WebCore::toWrapperTypeInfo):
213
214 2012-11-12  Andreas Kling  <kling@webkit.org>
215
216         Rename AttributeStyle => PresentationAttributeStyle across WebCore.
217         <http://webkit.org/b/101975>
218
219         Rubber-stamped by Antti Koivisto.
220
221         The completely separate concepts of "attribute style" and "style attribute" were a bit too
222         easy to confuse in variable and method names. Reconfigure our terminology to call it
223         "presentation attribute style" instead of "attribute style".
224
225         * css/StyleResolver.cpp:
226         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
227         (WebCore::StyleResolver::matchAllRules):
228         (WebCore::StyleResolver::canShareStyleWithElement):
229         * dom/Attr.cpp:
230         (WebCore::Attr::style):
231         * dom/ElementAttributeData.cpp:
232         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
233         (WebCore::ElementAttributeData::reportMemoryUsage):
234         * dom/ElementAttributeData.h:
235         (WebCore::ElementAttributeData::presentationAttributeStyle):
236         (WebCore::ElementAttributeData::setPresentationAttributeStyle):
237         (ElementAttributeData):
238         * dom/Node.h:
239         (WebCore::Node::attributeStyleDirty):
240         (WebCore::Node::setPresentationAttributeStyleDirty):
241         (WebCore::Node::clearPresentationAttributeStyleDirty):
242         * dom/StyledElement.cpp:
243         (WebCore::StyledElement::attributeChanged):
244         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
245         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
246         * dom/StyledElement.h:
247         (WebCore::StyledElement::additionalPresentationAttributeStyle):
248         (StyledElement):
249         (WebCore::StyledElement::collectStyleForPresentationAttribute):
250         (WebCore::StyledElement::presentationAttributeStyle):
251         * html/HTMLBRElement.cpp:
252         (WebCore::HTMLBRElement::collectStyleForPresentationAttribute):
253         * html/HTMLBRElement.h:
254         (HTMLBRElement):
255         * html/HTMLBodyElement.cpp:
256         (WebCore::HTMLBodyElement::collectStyleForPresentationAttribute):
257         * html/HTMLBodyElement.h:
258         (HTMLBodyElement):
259         * html/HTMLDivElement.cpp:
260         (WebCore::HTMLDivElement::collectStyleForPresentationAttribute):
261         * html/HTMLDivElement.h:
262         (HTMLDivElement):
263         * html/HTMLElement.cpp:
264         (WebCore::HTMLElement::applyBorderAttributeToStyle):
265         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
266         (WebCore::HTMLElement::collectStyleForPresentationAttribute):
267         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
268         (WebCore::HTMLElement::addHTMLLengthToStyle):
269         * html/HTMLElement.h:
270         (HTMLElement):
271         * html/HTMLEmbedElement.cpp:
272         (WebCore::HTMLEmbedElement::collectStyleForPresentationAttribute):
273         * html/HTMLEmbedElement.h:
274         (HTMLEmbedElement):
275         * html/HTMLFontElement.cpp:
276         (WebCore::HTMLFontElement::collectStyleForPresentationAttribute):
277         * html/HTMLFontElement.h:
278         (HTMLFontElement):
279         * html/HTMLFrameSetElement.cpp:
280         (WebCore::HTMLFrameSetElement::collectStyleForPresentationAttribute):
281         * html/HTMLFrameSetElement.h:
282         (HTMLFrameSetElement):
283         * html/HTMLHRElement.cpp:
284         (WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
285         * html/HTMLHRElement.h:
286         (HTMLHRElement):
287         * html/HTMLIFrameElement.cpp:
288         (WebCore::HTMLIFrameElement::collectStyleForPresentationAttribute):
289         * html/HTMLIFrameElement.h:
290         (HTMLIFrameElement):
291         * html/HTMLImageElement.cpp:
292         (WebCore::HTMLImageElement::collectStyleForPresentationAttribute):
293         * html/HTMLImageElement.h:
294         (HTMLImageElement):
295         * html/HTMLInputElement.cpp:
296         (WebCore::HTMLInputElement::collectStyleForPresentationAttribute):
297         * html/HTMLInputElement.h:
298         (HTMLInputElement):
299         * html/HTMLLIElement.cpp:
300         (WebCore::HTMLLIElement::collectStyleForPresentationAttribute):
301         * html/HTMLLIElement.h:
302         (HTMLLIElement):
303         * html/HTMLMarqueeElement.cpp:
304         (WebCore::HTMLMarqueeElement::collectStyleForPresentationAttribute):
305         * html/HTMLMarqueeElement.h:
306         (HTMLMarqueeElement):
307         * html/HTMLOListElement.cpp:
308         (WebCore::HTMLOListElement::collectStyleForPresentationAttribute):
309         * html/HTMLOListElement.h:
310         (HTMLOListElement):
311         * html/HTMLObjectElement.cpp:
312         (WebCore::HTMLObjectElement::collectStyleForPresentationAttribute):
313         * html/HTMLObjectElement.h:
314         (HTMLObjectElement):
315         * html/HTMLParagraphElement.cpp:
316         (WebCore::HTMLParagraphElement::collectStyleForPresentationAttribute):
317         * html/HTMLParagraphElement.h:
318         (HTMLParagraphElement):
319         * html/HTMLPlugInElement.cpp:
320         (WebCore::HTMLPlugInElement::collectStyleForPresentationAttribute):
321         * html/HTMLPlugInElement.h:
322         (HTMLPlugInElement):
323         * html/HTMLPreElement.cpp:
324         (WebCore::HTMLPreElement::collectStyleForPresentationAttribute):
325         * html/HTMLPreElement.h:
326         (HTMLPreElement):
327         * html/HTMLTableCaptionElement.cpp:
328         (WebCore::HTMLTableCaptionElement::collectStyleForPresentationAttribute):
329         * html/HTMLTableCaptionElement.h:
330         (HTMLTableCaptionElement):
331         * html/HTMLTableCellElement.cpp:
332         (WebCore::HTMLTableCellElement::collectStyleForPresentationAttribute):
333         (WebCore::HTMLTableCellElement::additionalPresentationAttributeStyle):
334         * html/HTMLTableCellElement.h:
335         (HTMLTableCellElement):
336         * html/HTMLTableColElement.cpp:
337         (WebCore::HTMLTableColElement::collectStyleForPresentationAttribute):
338         (WebCore::HTMLTableColElement::additionalPresentationAttributeStyle):
339         * html/HTMLTableColElement.h:
340         (HTMLTableColElement):
341         * html/HTMLTableElement.cpp:
342         (WebCore::HTMLTableElement::collectStyleForPresentationAttribute):
343         (WebCore::HTMLTableElement::additionalPresentationAttributeStyle):
344         * html/HTMLTableElement.h:
345         (HTMLTableElement):
346         * html/HTMLTablePartElement.cpp:
347         (WebCore::HTMLTablePartElement::collectStyleForPresentationAttribute):
348         * html/HTMLTablePartElement.h:
349         (HTMLTablePartElement):
350         * html/HTMLTableSectionElement.cpp:
351         (WebCore::HTMLTableSectionElement::additionalPresentationAttributeStyle):
352         * html/HTMLTableSectionElement.h:
353         (HTMLTableSectionElement):
354         * html/HTMLTextAreaElement.cpp:
355         (WebCore::HTMLTextAreaElement::collectStyleForPresentationAttribute):
356         * html/HTMLTextAreaElement.h:
357         (HTMLTextAreaElement):
358         * html/HTMLUListElement.cpp:
359         (WebCore::HTMLUListElement::collectStyleForPresentationAttribute):
360         * html/HTMLUListElement.h:
361         (HTMLUListElement):
362         * html/HTMLVideoElement.cpp:
363         (WebCore::HTMLVideoElement::collectStyleForPresentationAttribute):
364         * html/HTMLVideoElement.h:
365         (HTMLVideoElement):
366         * inspector/InspectorCSSAgent.cpp:
367         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
368         * mathml/MathMLElement.cpp:
369         (WebCore::MathMLElement::collectStyleForPresentationAttribute):
370         * mathml/MathMLElement.h:
371         (MathMLElement):
372         * svg/SVGImageElement.cpp:
373         (WebCore::SVGImageElement::collectStyleForPresentationAttribute):
374         * svg/SVGImageElement.h:
375         (SVGImageElement):
376         * svg/SVGStyledElement.cpp:
377         (WebCore::SVGStyledElement::collectStyleForPresentationAttribute):
378         * svg/SVGStyledElement.h:
379         (SVGStyledElement):
380         * svg/SVGTextContentElement.cpp:
381         (WebCore::SVGTextContentElement::collectStyleForPresentationAttribute):
382         * svg/SVGTextContentElement.h:
383         (SVGTextContentElement):
384
385 2012-11-12  Adam Barth  <abarth@webkit.org>
386
387         [V8] Many things crash when switching to V8's new aligned pointer API
388         https://bugs.webkit.org/show_bug.cgi?id=101994
389
390         Reviewed by Eric Seidel.
391
392         When using the aligned pointer API, we need to make sure to initialize
393         every internal field that we later read because the new API has better
394         error checks than the old API. This patch explicitly initializes the
395         enteredIsolatedWorldIndex internal field to zero for main worlds,
396         fixing the LayoutTest crashes from our previous attempt to move the
397         aligned pointer API.
398
399         * bindings/v8/V8DOMWindowShell.cpp:
400         (WebCore::V8DOMWindowShell::initializeIfNeeded):
401
402 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
403
404         Reduce the crazy number of parameters to RenderLayer painting member functions
405         https://bugs.webkit.org/show_bug.cgi?id=101895
406
407         Reviewed by Beth Dakin.
408
409         The various RenderLayer::paintLayer* functions took a lot of arguments, most
410         of which were passed down directly to descendants.
411         
412         Gather these arguments into a LayerPaintingInfo struct.
413
414         * rendering/RenderLayer.cpp:
415         (WebCore::RenderLayer::paint): Create a LayerPaintingInfo struct to pass
416         to descendant paint calls.
417         (WebCore::RenderLayer::paintOverlayScrollbars): Ditto.
418         (WebCore::RenderLayer::paintLayer): When painting transformed layers, we
419         make a new LayerPaintingInfo because the root layer is shifted.
420         (WebCore::RenderLayer::paintLayerContentsAndReflection):
421         (WebCore::RenderLayer::paintLayerContents):
422         (WebCore::RenderLayer::paintList):
423         (WebCore::RenderLayer::paintPaginatedChildLayer):
424         (WebCore::RenderLayer::paintChildLayerIntoColumns): Create a new LayerPaintingInfo
425         struct for column painting.
426         * rendering/RenderLayer.h:
427         (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
428         (LayerPaintingInfo):
429         * rendering/RenderLayerBacking.cpp:
430         (WebCore::RenderLayerBacking::paintIntoLayer): Build a LayerPaintingInfo
431         to enter layer painting.
432         * rendering/RenderReplica.cpp:
433         (WebCore::RenderReplica::paint): Ditto.
434
435 2012-11-12  Brady Eidson  <beidson@apple.com>
436
437         NetworkProcess: Use an accurate shouldContentSniff value when creating ResourceHandles
438         https://bugs.webkit.org/show_bug.cgi?id=101872
439
440         Reviewed by Alexey Proskuryakov.
441
442         Expose shouldSniffContent to pass it along to the NetworkProcess.
443
444         * loader/ResourceLoader.h:
445         (WebCore::ResourceLoader::shouldSniffContent):
446
447 2012-11-12  Christophe Dumez  <christophe.dumez@intel.com>
448
449         Fix memory leak in createSurfaceForBackingStore()
450         https://bugs.webkit.org/show_bug.cgi?id=101941
451
452         Reviewed by Kenneth Rohde Christiansen.
453
454         Fix memory leak in createSurfaceForBackingStore(),
455         the RefPtr<cairo_surface_t> should be released
456         when returned since we pass ownership to the
457         caller.
458
459         No new tests, no behavior change for layout tests.
460
461         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
462         (WebCore::createSurfaceForBackingStore):
463
464 2012-11-12  Joe Mason  <jmason@rim.com>
465
466         [BlackBerry] Update to new proxyInfo API
467         https://bugs.webkit.org/show_bug.cgi?id=101945
468
469         Reviewed by George Staikos.
470
471         Internal PR: 234680
472         Reviewed internally by: Leo Yang
473
474         The proxyAddress, proxyUsername and proxyPassword methods in BlackBerry::Platform::Settings
475         have been replaced with a single, more efficient proxyInfo method.
476
477         No new tests because this is an API update with no behaviour change.
478
479         * platform/network/blackberry/NetworkJob.cpp:
480         (WebCore::NetworkJob::sendRequestWithCredentials):
481         (WebCore::NetworkJob::storeCredentials):
482
483 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
484
485         Unreviewed, rolling out r126157.
486         http://trac.webkit.org/changeset/126157
487         https://bugs.webkit.org/show_bug.cgi?id=101954
488
489         This patch caused (untestable) regression of the volume
490         property on Mac, Win, and Blackberry ports. (Requested by
491         jernoble on #webkit).
492
493         * platform/graphics/MediaPlayer.cpp:
494         (WebCore::MediaPlayer::loadWithNextMediaEngine):
495         (WebCore::MediaPlayer::setVolume):
496         (WebCore::MediaPlayer::setMuted):
497         (WebCore::MediaPlayer::setPreservesPitch):
498         (WebCore::MediaPlayer::setSize):
499         (WebCore::MediaPlayer::setVisible):
500         (WebCore::MediaPlayer::setPreload):
501
502 2012-11-12  Arpita Bahuguna  <arpitabahuguna@gmail.com>
503
504         Specified width CSS tables should not include border and padding as part of that width.
505         https://bugs.webkit.org/show_bug.cgi?id=77028
506
507         Reviewed by Julien Chaffraix.
508
509         CSS table width should not include border and padding even though HTML
510         tables size as though their width includes border/padding.
511
512         This is applicable for all CSS tables with specified widths.
513
514         The change would also make our rendering of CSS tables with specified
515         width similar to that of Opera, IE and FF.
516
517         Test: fast/table/css-table-width-with-border-padding.html
518
519         * rendering/RenderTable.cpp:
520         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
521         Added check for all (positive) specified widths for CSS tables to
522         consider border and padding outside of the specified width.
523
524 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
525
526         Move resolving blob references to FormData.
527         https://bugs.webkit.org/show_bug.cgi?id=101754
528
529         Reviewed by Simon Hausmann.
530
531         Resolving Blob-references to a set of just File and Data is done similar by several platforms.
532         This patch adds a generic implementation in FormData and uses that from CFNetwork, Qt and
533         BlackBerry network implementation.
534
535         * platform/network/FormData.cpp:
536         (WebCore::appendBlobResolved):
537         (WebCore::FormData::resolveBlobReferences):
538         * platform/network/FormData.h:
539         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
540         (WebCore::ResourceRequest::initializePlatformRequest):
541         * platform/network/cf/FormDataStreamCFNet.cpp:
542         (WebCore::setHTTPBody):
543         * platform/network/qt/QNetworkReplyHandler.cpp:
544         (WebCore::FormDataIODevice::prepareFormElements):
545
546 2012-11-12  Zeno Albisser  <zeno@webkit.org>
547
548         GraphicsSurfaceGLX does not handle transparency correctly.
549         https://bugs.webkit.org/show_bug.cgi?id=101943
550
551         GraphicsSurfacGLX must consistently use RGBA texture format.
552         glXCreateWindow must be called after creating the XWindow
553         that serves as a temporary offscreen texture storage, in order
554         to allow for transparency.
555         When creating the offscreen XWindow we must make sure,
556         that we use a framebuffer configuration that supports
557         an alpha mask.
558
559         Reviewed by Noam Rosenthal.
560
561         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
562         (WebCore):
563         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
564         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
565         (WebCore::GraphicsSurfacePrivate::createSurface):
566         (GraphicsSurfacePrivate):
567         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
568
569 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
570
571         Unreviewed, rolling out r134225.
572         http://trac.webkit.org/changeset/134225
573         https://bugs.webkit.org/show_bug.cgi?id=101948
574
575         Appears to have broken the EFL and GTK builds (Requested by
576         abarth on #webkit).
577
578         * bindings/js/JSHTMLElementCustom.cpp:
579         (WebCore):
580         (WebCore::JSHTMLElement::itemValue):
581         (WebCore::JSHTMLElement::setItemValue):
582         * bindings/v8/custom/V8HTMLElementCustom.cpp:
583         (WebCore):
584         (WebCore::V8HTMLElement::itemValueAccessorGetter):
585         (WebCore::V8HTMLElement::itemValueAccessorSetter):
586         * html/HTMLElement.idl:
587
588 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
589
590         hitTestResultAtPoint does two hit-tests if called on non main frame
591         https://bugs.webkit.org/show_bug.cgi?id=101915
592
593         Reviewed by Antonio Gomes.
594
595         Always redirect hitTestResultAtPoint to the main-frame. This used to being
596         done on every result that hit anything, which caused running the expensive 
597         hit-tests multiple times in almost all cases.
598
599         * page/EventHandler.cpp:
600         (WebCore::EventHandler::hitTestResultAtPoint):
601
602 2012-11-12  Kentaro Hara  <haraken@chromium.org>
603
604         [V8][JSC] ScriptProfileNode::callUID needs not to be [Custom]
605         https://bugs.webkit.org/show_bug.cgi?id=101892
606
607         Reviewed by Adam Barth.
608
609         We can remove [Custom] from callUID in ScriptProfileNode.idl.
610
611         No tests. No change in behavior.
612
613         * GNUmakefile.list.am:
614         * Target.pri:
615         * UseJSC.cmake:
616         * WebCore.gypi:
617         * WebCore.vcproj/WebCore.vcproj:
618         * WebCore.xcodeproj/project.pbxproj:
619         * bindings/js/JSBindingsAllInOne.cpp:
620         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed.
621         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
622         * inspector/ScriptProfileNode.idl:
623
624 2012-11-12  Kentaro Hara  <haraken@chromium.org>
625
626         [V8] Performance::memory getter needs not to be [Custom]
627         https://bugs.webkit.org/show_bug.cgi?id=101890
628
629         Reviewed by Adam Barth.
630
631         No tests. No change in behavior.
632
633         * UseV8.cmake:
634         * WebCore.gypi:
635         * bindings/v8/custom/V8PerformanceCustom.cpp: Removed.
636         * page/Performance.idl:
637
638 2012-11-12  Kentaro Hara  <haraken@chromium.org>
639
640         [V8][JSC] HTMLOptionsCollection::length needs not to be [Custom]
641         https://bugs.webkit.org/show_bug.cgi?id=101888
642
643         Reviewed by Adam Barth.
644
645         We can remove [Custom] from getter. It is possible to remove [Custom]
646         from setter, but it changes the current behavior.
647         (I think the current implementation of the setter is wrong.
648         I'll fix it in another patch.)
649
650         No tests. No change in behavior.
651
652         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
653         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
654         * html/HTMLOptionsCollection.idl:
655
656 2012-11-12  Yael Aharon  <yael.aharon@intel.com>
657
658         [EFL][WK2][AC] Black screen when applications use software backend.
659         https://bugs.webkit.org/show_bug.cgi?id=101659
660
661         Reviewed by Kenneth Rohde Christiansen.
662
663         Add a utility method to create a cairo_surface_t from a given Evas_Object_Image.
664
665         No new tests. Will be covered when running existing tests without enabling openGL.
666
667         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
668         (WebCore::createSurfaceForImage):
669         (WebCore):
670         * platform/graphics/efl/CairoUtilitiesEfl.h:
671         (WebCore):
672
673 2012-11-12  Carlos Garcia Campos  <cgarcia@igalia.com>
674
675         Unreviewed. Fix make distcheck.
676
677         * GNUmakefile.am: Remove editing from IDL_PATH since it doesn't
678         contain idl files anymore.
679         * GNUmakefile.list.am: Add missing header files.
680
681 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
682
683         MediaStream API: Make sure that MediaConstraints only has optional and mandatory at the top level
684         https://bugs.webkit.org/show_bug.cgi?id=101733
685
686         Reviewed by Jochen Eisinger.
687
688         This patch adds better verification to MediaConstraintsImpl.
689
690         Existing tests expanded to cover this change.
691
692         * Modules/mediastream/MediaConstraintsImpl.cpp:
693         (WebCore::MediaConstraintsImpl::initialize):
694
695 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
696
697         Unreviewed, rolling out r134223.
698         http://trac.webkit.org/changeset/134223
699         https://bugs.webkit.org/show_bug.cgi?id=101939
700
701         Breaks inspector tests (Requested by pfeldman on #webkit).
702
703         * inspector/front-end/DefaultTextEditor.js:
704         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
705         (WebInspector.TextEditorMainPanel):
706         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
707         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
708         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
709         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
710         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
711         (WebInspector.TextEditorMainPanel.prototype._paintLine):
712         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
713         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
714         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
715         * inspector/front-end/externs.js:
716         * inspector/front-end/textEditor.css:
717
718 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
719
720         [Qt] Support ResourceRequest's setTimeoutInterval
721         https://bugs.webkit.org/show_bug.cgi?id=101731
722
723         Reviewed by Simon Hausmann.
724
725         Establish a timeout and return the correct error when it is triggered.
726
727         Tested by existing http/tests/xmlhttprequest/timeout tests.
728
729         * platform/network/ResourceRequestBase.cpp:
730         * platform/network/qt/QNetworkReplyHandler.cpp:
731         (WebCore::QNetworkReplyHandler::release):
732         (WebCore::QNetworkReplyHandler::finish):
733         (WebCore::QNetworkReplyHandler::timeout):
734         (WebCore::QNetworkReplyHandler::timerEvent):
735         (WebCore::QNetworkReplyHandler::start):
736         * platform/network/qt/QNetworkReplyHandler.h:
737         (QNetworkReplyHandler):
738
739 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
740
741         Unreviewed, rolling out r134224.
742         http://trac.webkit.org/changeset/134224
743         https://bugs.webkit.org/show_bug.cgi?id=101937
744
745         asserting on bawts (Requested by kling on #webkit).
746
747         * rendering/style/RenderStyle.cpp:
748         (WebCore::RenderStyle::diff):
749         (WebCore::RenderStyle::setColor):
750         (WebCore::RenderStyle::setVisitedLinkColor):
751         * rendering/style/RenderStyle.h:
752         * rendering/style/StyleBackgroundData.cpp:
753         (WebCore::StyleBackgroundData::StyleBackgroundData):
754         * rendering/style/StyleBackgroundData.h:
755         (WebCore::StyleBackgroundData::color):
756         (StyleBackgroundData):
757         * rendering/style/StyleInheritedData.cpp:
758         (WebCore::StyleInheritedData::StyleInheritedData):
759         * rendering/style/StyleInheritedData.h:
760         (StyleInheritedData):
761         * rendering/style/StyleMultiColData.cpp:
762         (WebCore::StyleMultiColData::StyleMultiColData):
763         * rendering/style/StyleMultiColData.h:
764         (StyleMultiColData):
765         * rendering/style/StyleRareInheritedData.cpp:
766         (SameSizeAsStyleRareInheritedData):
767         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
768         (WebCore::StyleRareInheritedData::operator==):
769         * rendering/style/StyleRareInheritedData.h:
770         (WebCore):
771         (StyleRareInheritedData):
772         * rendering/style/StyleRareNonInheritedData.cpp:
773         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
774         (WebCore::StyleRareNonInheritedData::operator==):
775         * rendering/style/StyleRareNonInheritedData.h:
776         (StyleRareNonInheritedData):
777
778 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
779
780         [BlackBerry] Update BB10 form theme.
781         https://bugs.webkit.org/show_bug.cgi?id=100760
782
783         Reviewed by Rob Buis.
784
785         RIM PR 236993
786         Internally Reviewed by Jeff Rogers.
787         Use slide and paint method on slider range and media controls.
788
789         * platform/blackberry/RenderThemeBlackBerry.cpp:
790         (WebCore):
791         (WebCore::drawThreeSliceHorizontal):
792         (WebCore::drawThreeSliceVertical):
793         (WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
794         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
795         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
796         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
797         * platform/blackberry/RenderThemeBlackBerry.h:
798         (RenderThemeBlackBerry):
799
800 2012-11-12  Kent Tamura  <tkent@chromium.org>
801
802         Refactoring: set read-only values on layout in DateTimeEditElement
803         https://bugs.webkit.org/show_bug.cgi?id=101916
804
805         Reviewed by Kentaro Hara.
806
807         We have always updated read-only values when we set an empty value or
808         DateTimeFieldsState. It has wasted CPU time because such read-only
809         values are never updated after layout() essentially. So, we set
810         read-only values in DateTimeEditBuilder used by layout(), and remove
811         dateForReadOnlyField arguments of setEmptyValue and
812         setValueAsDateTimeFieldsState.
813
814         No new tests. This should not make behavior changes.
815
816         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
817         (WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
818         We removed dateForReadOnlyField argument because read-only values are
819         already set in DateTimeFieldElement::layout().
820         * html/shadow/DateTimeEditElement.cpp:
821         (WebCore::DateTimeEditBuilder::visitField):
822         Set a value to a read-only minute/second/millisecond field while
823         building UI elements.
824         Also, changed variable types for millisecond and second fields to
825         RefPtr<DateTimeNumericFieldElement> because we'd like to call
826         setValueAsDate, which is private in DateTimeMillisecondFieldElement and
827         DateTimeSecondFieldElement
828         (WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState):
829         We removed dateForReadOnlyField argument because read-only values are
830         already set in DateTimeFieldElement::layout().
831         (WebCore::DateTimeEditElement::setEmptyValue): Ditto.
832         * html/shadow/DateTimeEditElement.h:
833         (DateTimeEditElement):
834         Removed dateForReadOnlyField argument for setValueAsDateTimeFieldsState.
835
836         * html/shadow/DateTimeFieldElement.cpp:
837         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
838         We removed dateForReadOnlyField argument because read-only values are
839         already set in DateTimeFieldElement::layout().
840         * html/shadow/DateTimeFieldElement.h:
841         (DateTimeFieldElement): Ditto.
842
843         * html/shadow/DateTimeFieldElements.cpp: Ditto.
844         * html/shadow/DateTimeFieldElements.h: Ditto.
845         * html/shadow/DateTimeNumericFieldElement.cpp:
846         (WebCore::DateTimeNumericFieldElement::setEmptyValue):
847         It should do nothing if it is read-only because a read-only value was
848         already set just after construction.
849         * html/shadow/DateTimeNumericFieldElement.h:
850         (DateTimeNumericFieldElement):
851         Removed dateForReadOnlyField argument of setEmptyValue.
852         * html/shadow/DateTimeSymbolicFieldElement.cpp:
853         (WebCore::DateTimeSymbolicFieldElement::setEmptyValue): Ditto.
854         * html/shadow/DateTimeSymbolicFieldElement.h:
855         (DateTimeSymbolicFieldElement): Ditto.
856
857 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
858
859         [BlackBerry] Update BB10 form theme.
860         https://bugs.webkit.org/show_bug.cgi?id=100760
861
862         Reviewed by Rob Buis.
863
864         RIM PR 236993
865         Internally Reviewed by Jeff Rogers.
866         Enable GL slider.
867
868         * platform/blackberry/RenderThemeBlackBerry.cpp:
869         (WebCore::drawThreeSlice):
870         (WebCore):
871         (WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
872         (WebCore::RenderThemeBlackBerry::paintSliderThumb):
873
874 2012-11-12  Kentaro Hara  <haraken@chromium.org>
875
876         [V8][JSC] HTMLElement::itemValue() needs not to be custom
877         https://bugs.webkit.org/show_bug.cgi?id=101882
878
879         Reviewed by Adam Barth.
880
881         We can remove a [Custom] IDL attribute.
882
883         No tests. No change in behavior.
884
885         * bindings/js/JSHTMLElementCustom.cpp:
886         * bindings/v8/custom/V8HTMLElementCustom.cpp:
887         * html/HTMLElement.idl:
888
889 2012-11-12  Andreas Kling  <kling@webkit.org>
890
891         RenderStyle: Pack Color members tighter in substructures.
892         <http://webkit.org/b/101860>
893
894         Reviewed by Antti Koivisto.
895
896         For RenderStyle substructures (StyleInheritedData, et al.), unfold all WebCore::Color
897         members into RGBA32/bool variables OR just an RGBA32 if the color can never be invalid.
898
899         Memory saved per instance:
900
901             - StyleMultiColData:          4 bytes
902             - StyleBackgroundData:        8 bytes
903             - StyleInheritedData:         8 bytes
904             - StyleRareInheritedData:    24 bytes
905             - StyleRareNonInheritedData: 24 bytes
906
907         323kB progression on Membuster3.
908
909         * rendering/style/RenderStyle.cpp:
910         (WebCore::RenderStyle::diff):
911         (WebCore::RenderStyle::setColor):
912         (WebCore::RenderStyle::setVisitedLinkColor):
913         (WebCore::RenderStyle::setVisitedLinkColumnRuleColor):
914         (WebCore::RenderStyle::setBackgroundColor):
915         * rendering/style/RenderStyle.h:
916         * rendering/style/StyleBackgroundData.cpp:
917         (WebCore::StyleBackgroundData::StyleBackgroundData):
918         * rendering/style/StyleBackgroundData.h:
919         (WebCore::StyleBackgroundData::color):
920         (StyleBackgroundData):
921         * rendering/style/StyleInheritedData.cpp:
922         (WebCore::StyleInheritedData::StyleInheritedData):
923         * rendering/style/StyleInheritedData.h:
924         (StyleInheritedData):
925         * rendering/style/StyleMultiColData.cpp:
926         (WebCore::StyleMultiColData::StyleMultiColData):
927         (WebCore::StyleMultiColData::setVisitedLinkColumnRuleColor):
928         * rendering/style/StyleMultiColData.h:
929         (StyleMultiColData):
930         (WebCore::StyleMultiColData::visitedLinkColumnRuleColor):
931         * rendering/style/StyleRareInheritedData.cpp:
932         (SameSizeAsStyleRareInheritedData):
933         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
934         (WebCore::StyleRareInheritedData::operator==):
935         (WebCore::StyleRareInheritedData::setTextStrokeColor):
936         (WebCore::StyleRareInheritedData::setTextFillColor):
937         (WebCore::StyleRareInheritedData::setTextEmphasisColor):
938         (WebCore::StyleRareInheritedData::setVisitedLinkTextStrokeColor):
939         (WebCore::StyleRareInheritedData::setVisitedLinkTextFillColor):
940         (WebCore::StyleRareInheritedData::setVisitedLinkTextEmphasisColor):
941         * rendering/style/StyleRareInheritedData.h:
942         (StyleRareInheritedData):
943         (WebCore::StyleRareInheritedData::textStrokeColor):
944         (WebCore::StyleRareInheritedData::textFillColor):
945         (WebCore::StyleRareInheritedData::textEmphasisColor):
946         (WebCore::StyleRareInheritedData::visitedLinkTextStrokeColor):
947         (WebCore::StyleRareInheritedData::visitedLinkTextFillColor):
948         (WebCore::StyleRareInheritedData::visitedLinkTextEmphasisColor):
949         * rendering/style/StyleRareNonInheritedData.cpp:
950         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
951         (WebCore::StyleRareNonInheritedData::operator==):
952         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderLeftColor):
953         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderRightColor):
954         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderTopColor):
955         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderBottomColor):
956         (WebCore::StyleRareNonInheritedData::setVisitedLinkOutlineColor):
957         (WebCore::StyleRareNonInheritedData::setVisitedLinkBackgroundColor):
958         * rendering/style/StyleRareNonInheritedData.h:
959         (WebCore::StyleRareNonInheritedData::visitedLinkBackgroundColor):
960         (WebCore::StyleRareNonInheritedData::visitedLinkOutlineColor):
961         (WebCore::StyleRareNonInheritedData::visitedLinkBorderLeftColor):
962         (WebCore::StyleRareNonInheritedData::visitedLinkBorderRightColor):
963         (WebCore::StyleRareNonInheritedData::visitedLinkBorderTopColor):
964         (WebCore::StyleRareNonInheritedData::visitedLinkBorderBottomColor):
965         (StyleRareNonInheritedData):
966
967 2012-11-12  Pavel Feldman  <pfeldman@chromium.org>
968
969         Web Inspector: migrate text editor to mutation observers
970         https://bugs.webkit.org/show_bug.cgi?id=101841
971
972         Reviewed by Vsevolod Vlasov.
973
974         Otherwise, we miss notifications on the removed lines.
975
976         * inspector/front-end/DefaultTextEditor.js:
977         (WebInspector.TextEditorMainPanel):
978         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
979         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
980         (WebInspector.TextEditorMainPanel.prototype._handleMutations):
981         (WebInspector.TextEditorMainPanel.prototype._handleMutation):
982         * inspector/front-end/externs.js:
983         (WebKitMutation):
984         (WebKitMutationObserver.prototype.observe):
985         (WebKitMutationObserver.prototype.disconnect):
986
987 2012-11-12  Allan Sandfeld Jensen  <sandfeld@kde.org>
988
989         [Qt] Flash-plugin starts with wrong width
990         https://bugs.webkit.org/show_bug.cgi?id=101836
991
992         Reviewed by Simon Hausmann.
993
994         Defer the setWindow call, so that the one time it is called it will have its final size.
995
996         * plugins/PluginPackage.cpp:
997         (WebCore::PluginPackage::determineQuirks):
998
999 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
1000
1001         Remove the V8 custom code for WebSockets constructor
1002         https://bugs.webkit.org/show_bug.cgi?id=100801
1003
1004         Reviewed by Kentaro Hara.
1005
1006         This patch does the following:
1007
1008         1) Modifies the V8 code generator to support overloaded constructors,
1009            the JS generator is fixed to work as before. Proper support for JS will come later.
1010
1011         2) Modifies WebSocket.h/.cpp for the new constructors.
1012
1013         Tested by running WebSockets layout tests.
1014
1015         * Modules/websockets/WebSocket.cpp:
1016         (WebCore::WebSocket::create):
1017         (WebCore):
1018         * Modules/websockets/WebSocket.h:
1019         (WebSocket):
1020         * Modules/websockets/WebSocket.idl:
1021         * bindings/scripts/CodeGeneratorJS.pm:
1022         (GenerateConstructorDefinition):
1023         * bindings/scripts/CodeGeneratorV8.pm:
1024         (GenerateHeader):
1025         (GenerateOverloadedConstructorCallback):
1026         (GenerateSingleConstructorCallback):
1027         (GenerateConstructorCallback):
1028         (GenerateImplementation):
1029         * bindings/scripts/IDLParser.pm:
1030         (copyAttributes):
1031         (parseExtendedAttributeList):
1032         (parseExtendedAttributes):
1033         (applyExtendedAttributeList):
1034         * bindings/scripts/IDLStructure.pm:
1035         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp: Added.
1036         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructorsPrivate::WebDOMTestOverloadedConstructorsPrivate):
1037         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructorsPrivate):
1038         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructors):
1039         (WebDOMTestOverloadedConstructors::operator=):
1040         (WebDOMTestOverloadedConstructors::impl):
1041         (WebDOMTestOverloadedConstructors::~WebDOMTestOverloadedConstructors):
1042         (toWebCore):
1043         (toWebKit):
1044         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.h: Added.
1045         (WebCore):
1046         (WebDOMTestOverloadedConstructors):
1047         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp: Added.
1048         (WebKit):
1049         (WebKit::kit):
1050         (WebKit::core):
1051         (WebKit::wrapTestOverloadedConstructors):
1052         (webkit_dom_test_overloaded_constructors_finalize):
1053         (webkit_dom_test_overloaded_constructors_set_property):
1054         (webkit_dom_test_overloaded_constructors_get_property):
1055         (webkit_dom_test_overloaded_constructors_constructed):
1056         (webkit_dom_test_overloaded_constructors_class_init):
1057         (webkit_dom_test_overloaded_constructors_init):
1058         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h: Added.
1059         (_WebKitDOMTestOverloadedConstructors):
1060         (_WebKitDOMTestOverloadedConstructorsClass):
1061         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h: Added.
1062         (WebKit):
1063         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Added.
1064         (WebCore):
1065         (WebCore::JSTestOverloadedConstructorsConstructor::JSTestOverloadedConstructorsConstructor):
1066         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
1067         (WebCore::JSTestOverloadedConstructorsConstructor::getOwnPropertySlot):
1068         (WebCore::JSTestOverloadedConstructorsConstructor::getOwnPropertyDescriptor):
1069         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
1070         (WebCore::JSTestOverloadedConstructorsConstructor::getConstructData):
1071         (WebCore::JSTestOverloadedConstructorsPrototype::self):
1072         (WebCore::JSTestOverloadedConstructors::JSTestOverloadedConstructors):
1073         (WebCore::JSTestOverloadedConstructors::finishCreation):
1074         (WebCore::JSTestOverloadedConstructors::createPrototype):
1075         (WebCore::JSTestOverloadedConstructors::destroy):
1076         (WebCore::JSTestOverloadedConstructors::~JSTestOverloadedConstructors):
1077         (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
1078         (WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
1079         (WebCore::jsTestOverloadedConstructorsConstructor):
1080         (WebCore::JSTestOverloadedConstructors::getConstructor):
1081         (WebCore::isObservable):
1082         (WebCore::JSTestOverloadedConstructorsOwner::isReachableFromOpaqueRoots):
1083         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
1084         (WebCore::toJS):
1085         (WebCore::toTestOverloadedConstructors):
1086         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: Added.
1087         (WebCore):
1088         (JSTestOverloadedConstructors):
1089         (WebCore::JSTestOverloadedConstructors::create):
1090         (WebCore::JSTestOverloadedConstructors::createStructure):
1091         (WebCore::JSTestOverloadedConstructors::impl):
1092         (WebCore::JSTestOverloadedConstructors::releaseImpl):
1093         (WebCore::JSTestOverloadedConstructors::releaseImplIfNotNull):
1094         (JSTestOverloadedConstructorsOwner):
1095         (WebCore::wrapperOwner):
1096         (WebCore::wrapperContext):
1097         (JSTestOverloadedConstructorsPrototype):
1098         (WebCore::JSTestOverloadedConstructorsPrototype::create):
1099         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
1100         (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
1101         (JSTestOverloadedConstructorsConstructor):
1102         (WebCore::JSTestOverloadedConstructorsConstructor::create):
1103         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
1104         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h: Added.
1105         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm: Added.
1106         (-[DOMTestOverloadedConstructors dealloc]):
1107         (-[DOMTestOverloadedConstructors finalize]):
1108         (core):
1109         (kit):
1110         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h: Added.
1111         (WebCore):
1112         * bindings/scripts/test/TestOverloadedConstructors.idl: Copied from Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl.
1113         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
1114         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp: Added.
1115         (WebCore):
1116         (TestOverloadedConstructorsV8Internal):
1117         (WebCore::TestOverloadedConstructorsV8Internal::V8_USE):
1118         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
1119         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
1120         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
1121         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
1122         (WebCore::V8TestOverloadedConstructors::constructorCallback):
1123         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
1124         (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
1125         (WebCore::V8TestOverloadedConstructors::GetTemplate):
1126         (WebCore::V8TestOverloadedConstructors::HasInstance):
1127         (WebCore::V8TestOverloadedConstructors::wrapSlow):
1128         (WebCore::V8TestOverloadedConstructors::derefObject):
1129         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h: Added.
1130         (WebCore):
1131         (V8TestOverloadedConstructors):
1132         (WebCore::V8TestOverloadedConstructors::toNative):
1133         (WebCore::V8TestOverloadedConstructors::installPerContextProperties):
1134         (WebCore::V8TestOverloadedConstructors::installPerContextPrototypeProperties):
1135         (WebCore::V8TestOverloadedConstructors::wrap):
1136         (WebCore::toV8):
1137         * bindings/v8/custom/V8WebSocketCustom.cpp:
1138
1139 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
1140
1141         [Refactoring] Create SelectRuleFeatureSet for collecting RuleFeatureSet for select attribute
1142         https://bugs.webkit.org/show_bug.cgi?id=101891
1143
1144         Reviewed by Hajime Morita.
1145
1146         We would like to have another class for RuleFeatureSet to collect 'select' attribute features,
1147         since it will have more features than the original RuleFeatureSet has.
1148
1149         Also, some methods of ElementShadow are removed and we provide a method to get SelectRuleFeatureSet itself.
1150
1151         No new tests, no change in behavior.
1152
1153         * CMakeLists.txt:
1154         * GNUmakefile.list.am:
1155         * Target.pri:
1156         * WebCore.gypi:
1157         * WebCore.vcproj/WebCore.vcproj:
1158         * WebCore.xcodeproj/project.pbxproj:
1159         * dom/ElementShadow.h:
1160         (ElementShadow):
1161         (WebCore::ElementShadow::selectRuleFeatureSet):
1162         (WebCore):
1163         * html/shadow/SelectRuleFeatureSet.cpp: Added.
1164         (WebCore):
1165         (WebCore::SelectRuleFeatureSet::SelectRuleFeatureSet):
1166         (WebCore::SelectRuleFeatureSet::add):
1167         (WebCore::SelectRuleFeatureSet::clear):
1168         (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector):
1169         * html/shadow/SelectRuleFeatureSet.h: Added.
1170         (WebCore):
1171         (SelectRuleFeatureSet):
1172         (WebCore::SelectRuleFeatureSet::hasSelectorForId):
1173         (WebCore::SelectRuleFeatureSet::hasSelectorForClass):
1174         (WebCore::SelectRuleFeatureSet::hasSelectorForAttribute):
1175         * testing/Internals.cpp:
1176         (WebCore::Internals::hasSelectorForIdInShadow):
1177         (WebCore::Internals::hasSelectorForClassInShadow):
1178         (WebCore::Internals::hasSelectorForAttributeInShadow):
1179
1180 2012-11-13  Keishi Hattori  <keishi@webkit.org>
1181
1182         Build fix for Chromium Android (caused by r134216)
1183
1184         Unreviewed.
1185
1186         No new tests.
1187
1188         * platform/text/PlatformLocale.cpp:
1189         (WebCore::Locale::formatDateTime):
1190
1191 2012-11-12  Keishi Hattori  <keishi@webkit.org>
1192
1193         Add support for week/month to Locale::formatDateTime()
1194         https://bugs.webkit.org/show_bug.cgi?id=101878
1195
1196         Reviewed by Kent Tamura.
1197
1198         Adding support for week/month to Locale::formatDateTime() in preparation for datalist support for <input type=week/month>.
1199
1200         Added Chromium tests LocaleMacTest.formatWeek and LocaleMacTest.formatMonth.
1201
1202         * platform/text/PlatformLocale.cpp:
1203         (WebCore::DateTimeStringBuilder::visitField):
1204         (WebCore::Locale::formatDateTime): Support week and month types.
1205
1206 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1207
1208         [Qt] Can not load MHTML documents
1209         https://bugs.webkit.org/show_bug.cgi?id=101765
1210
1211         Reviewed by Simon Hausmann.
1212
1213         Recognize common MHTML extensions so that we can recognize MHTML tests on the file-system.
1214
1215         Tested by existing mhtml/ tests.
1216
1217         * platform/qt/MIMETypeRegistryQt.cpp:
1218         (WebCore):
1219
1220 2012-11-12  Andreas Kling  <akling@apple.com>
1221
1222         Tighten vector in ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray().
1223         <http://webkit.org/b/101850>
1224
1225         Reviewed by Antti Koivisto.
1226
1227         Reserve the exact amount of space needed for m_responseContentDispositionEncodingFallbackArray.
1228         222kB progression on Membuster3.
1229
1230         * platform/network/ResourceRequestBase.cpp:
1231         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
1232
1233 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
1234
1235         MediaStream API: Schedule the RTCDataChannel events to be triggered at idle state
1236         https://bugs.webkit.org/show_bug.cgi?id=101751
1237
1238         Reviewed by Adam Barth.
1239
1240         This patch queues the events until the JS interpreter is in an idle state.
1241
1242         Existing tests cover this patch.
1243
1244         * Modules/mediastream/RTCDataChannel.cpp:
1245         (WebCore::RTCDataChannel::RTCDataChannel):
1246         (WebCore::RTCDataChannel::readyStateChanged):
1247         (WebCore::RTCDataChannel::dataArrived):
1248         (WebCore::RTCDataChannel::error):
1249         (WebCore::RTCDataChannel::scheduleDispatchEvent):
1250         (WebCore):
1251         (WebCore::RTCDataChannel::scheduledEventTimerFired):
1252         * Modules/mediastream/RTCDataChannel.h:
1253         (RTCDataChannel):
1254         * platform/chromium/support/WebRTCDataChannel.cpp:
1255         (WebKit::WebRTCDataChannel::setBufferedAmount):
1256         (WebKit::WebRTCDataChannel::readyStateChanged):
1257         (WebKit::WebRTCDataChannel::dataArrived):
1258         (WebKit::WebRTCDataChannel::error):
1259
1260 2012-11-12  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1261
1262         Remove HTMLInputElement dependency from PickerIndicatorElement
1263         https://bugs.webkit.org/show_bug.cgi?id=101913
1264
1265         Reviewed by Kent Tamura.
1266
1267         Introduced PickerIndicatorOwner interface that replaces the role of hostInput() in
1268         PickerIndicatorElement. It makes easier to add interactions between picker indicator
1269         and its owner without having to add functions to HTMLInputElement.
1270
1271         No new tests. This is just a refactor.
1272
1273         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1274         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isPickerIndicatorOwnerDisabledOrReadOnly): Added.
1275         (WebCore):
1276         (WebCore::BaseMultipleFieldsDateAndTimeInputType::pickerIndicatorChooseValue): Added.
1277         (WebCore::BaseMultipleFieldsDateAndTimeInputType::setupDateTimeChooserParameters): Added.
1278         (WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType):
1279         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
1280         (WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree):
1281         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1282         (WebCore):
1283         (BaseMultipleFieldsDateAndTimeInputType): Implements PickerIndicatorOwner.
1284         * html/shadow/PickerIndicatorElement.cpp: Replaced all the use of hostInput() by using PickerIndicatorOwner.
1285         (WebCore::PickerIndicatorElement::PickerIndicatorElement):
1286         (WebCore::PickerIndicatorElement::create):
1287         (WebCore::PickerIndicatorElement::defaultEventHandler):
1288         (WebCore::PickerIndicatorElement::willRespondToMouseClickEvents):
1289         (WebCore::PickerIndicatorElement::didChooseValue):
1290         (WebCore::PickerIndicatorElement::openPopup):
1291         * html/shadow/PickerIndicatorElement.h:
1292         (PickerIndicatorElement): Added a PickerIndicatorOwner member.
1293         (PickerIndicatorOwner): An interface class for communicating picker indicator and its owner.
1294         (WebCore::PickerIndicatorElement::PickerIndicatorOwner::~PickerIndicatorOwner):
1295         (WebCore::PickerIndicatorElement::removePickerIndicatorOwner):
1296
1297 2012-11-12  Mihnea Ovidenie  <mihnea@adobe.com>
1298
1299         [CSSRegions]Add support for text-shadow in region styling
1300         https://bugs.webkit.org/show_bug.cgi?id=94472
1301
1302         Reviewed by David Hyatt.
1303
1304         Original patch by Andrei Onea.
1305         Add support for text-shadow in region styling (@-webkit-region rule).
1306         In addition to the previously supported region styling properties (background-color and color),
1307         text-shadow requires the computation of an element style in region at layout time.
1308
1309         This patch adds a new method on RenderRegion - ensureRegionStyleForObject - that
1310         can be used to retrieve the object style in region (if already cached) or to compute it
1311         on the spot. When computing the object style in region, we need to compute the style in region
1312         also for the object ancestor, up to the content nodes.
1313
1314         This patch also refactors the way styles in region are computed and stored, because
1315         we can compute the style in region not only at paint time, but also at layout time.
1316
1317         Test: fast/regions/region-style-text-shadow.html
1318
1319         * css/StyleResolver.cpp:
1320         (WebCore::StyleResolver::isValidRegionStyleProperty):
1321         Allow text-shadow to be used in region styling.
1322         * rendering/InlineBox.cpp:
1323         (WebCore::InlineBox::styleInRegion):
1324         Retrieve the region style for an InlineBox's renderer, given its RenderRegion.
1325         Compute the style in region if not computed yet.
1326         (WebCore::InlineBox::regionDuringLayout):
1327         Retrieve the region in which an InlineBox is being flowed.
1328         * rendering/InlineBox.h:
1329         * rendering/InlineFlowBox.cpp: Take region styling into account.
1330         (WebCore::InlineFlowBox::addToLine):
1331         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1332         * rendering/RenderRegion.cpp:
1333         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
1334         (WebCore::canCacheObjectStyleInRegion):
1335         Test if we can cache the computed style in region.
1336         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
1337         (WebCore::RenderRegion::computeStyleInRegion):
1338         (WebCore::RenderRegion::setChildrenStyleInRegion):
1339         (WebCore::setObjectHasBoxDecorationsFlag):
1340         (WebCore::RenderRegion::setObjectStyleInRegion):
1341         (WebCore::RenderRegion::clearObjectStyleInRegion):
1342         (WebCore::RenderRegion::ensureRegionStyleForObject):
1343         * rendering/RenderRegion.h:
1344
1345 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1346
1347         Unreviewed, rolling out r134154.
1348         http://trac.webkit.org/changeset/134154
1349         https://bugs.webkit.org/show_bug.cgi?id=101919
1350
1351         Causes plenty of crashes on GTK and Apple Win builders
1352         (Requested by zdobersek on #webkit).
1353
1354         * css/mediaControls.css:
1355         * css/mediaControlsQuickTime.css:
1356         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
1357         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
1358         * html/shadow/MediaControlElements.cpp:
1359         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
1360         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
1361         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
1362         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
1363         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
1364         * html/shadow/MediaControlElements.h:
1365         (MediaControlElement):
1366         (MediaControlToggleClosedCaptionsButtonElement):
1367         * html/shadow/MediaControlRootElement.cpp:
1368         (WebCore::MediaControlRootElement::MediaControlRootElement):
1369         (WebCore::MediaControlRootElement::create):
1370         (WebCore::MediaControlRootElement::setMediaController):
1371         (WebCore::MediaControlRootElement::hide):
1372         (WebCore::MediaControlRootElement::makeTransparent):
1373         (WebCore::MediaControlRootElement::reset):
1374         (WebCore::MediaControlRootElement::reportedError):
1375         * html/shadow/MediaControlRootElement.h:
1376         (WebCore):
1377         (MediaControlRootElement):
1378         * html/shadow/MediaControlRootElementChromium.cpp:
1379         (WebCore::MediaControlRootElementChromium::initializeControls):
1380         * html/shadow/MediaControls.h:
1381         (MediaControls):
1382         * platform/Language.cpp:
1383         (WebCore):
1384         * platform/Language.h:
1385         (WebCore):
1386         * rendering/RenderMediaControls.cpp:
1387         (WebCore::RenderMediaControls::paintMediaControlsPart):
1388         * rendering/RenderMediaControlsChromium.cpp:
1389         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
1390
1391 2012-11-12  Mike West  <mkwst@chromium.org>
1392
1393         'for (x in y)' requires 'var' declaration in ConsoleMessage.js
1394         https://bugs.webkit.org/show_bug.cgi?id=101908
1395
1396         Reviewed by Pavel Feldman.
1397
1398         r134166 should have included a 'var' declaration in its 'for (x in y)'
1399         loop. This patch adds the missing 'var' in order to prevent leakage into
1400         the global context.
1401
1402         * inspector/front-end/ConsoleMessage.js:
1403         (WebInspector.ConsoleMessageImpl.prototype.append):
1404         (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
1405
1406 2012-11-12  Zeno Albisser  <zeno@webkit.org>
1407
1408         [Qt] MiniBrowser should not strongly depend on QtTestSupport.
1409         https://bugs.webkit.org/show_bug.cgi?id=101775
1410
1411         Introducing HAVE(QTTESTSUPPORT) to allow building
1412         MiniBrowser without QtTestSupport.
1413         This is necessary when using a production build.
1414
1415         Reviewed by Tor Arne Vestbø.
1416
1417         * Target.pri:
1418         * platform/qt/QtTestSupport.h:
1419
1420 2012-11-12  Pavel Feldman  <pfeldman@chromium.org>
1421
1422         Web Inspector: wasShown is called twice when show() is called from within wasShown
1423         https://bugs.webkit.org/show_bug.cgi?id=101858
1424
1425         Reviewed by Vsevolod Vlasov.
1426
1427         When we attach views lazily from within wasShown, the views were getting wasShown notification twice.
1428         We now mute one of them.
1429
1430         * inspector/front-end/View.js:
1431         (WebInspector.View):
1432         (WebInspector.View.prototype._inNotification):
1433         (WebInspector.View.prototype._parentIsShowing):
1434         (WebInspector.View.prototype._callOnVisibleChildren):
1435         (WebInspector.View.prototype._processWasShown):
1436         (WebInspector.View.prototype._processWillHide):
1437         (WebInspector.View.prototype._processOnResize):
1438         (WebInspector.View.prototype._notify):
1439         (WebInspector.View.prototype.show):
1440
1441 2012-11-12  Ryosuke Niwa  <rniwa@webkit.org>
1442
1443         Build fix after r134191. Turns out that FrameView::performPostLayoutTasks calls FrameSelection::updateAppearance
1444         in the middle of a layout. So we can't have assertions in recomputeCaretRect and updateAppearance.
1445
1446         Furthermore, we can't update layout in updateAppearance. So do that in its call sites.
1447
1448         * editing/FrameSelection.cpp:
1449         (WebCore::FrameSelection::setSelection):
1450         (WebCore::FrameSelection::recomputeCaretRect):
1451         (WebCore::FrameSelection::updateAppearance):
1452         (WebCore::FrameSelection::setCaretVisibility):
1453
1454 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
1455
1456         Don't update style when attaching in HTMLMeterElement
1457         https://bugs.webkit.org/show_bug.cgi?id=101714
1458
1459         Reviewed by Hajime Morita.
1460
1461         HTMLMeterElement was updating style when it's being attached. However, updating style when attaching
1462         can cause style-update prevention. The similar thing has already happened in Bug 100507.
1463
1464         Since we have already set the default value in creating ShadowDOM subtree, we don't need to update style actually.
1465
1466         Test: fast/dom/HTMLMeterElement/meter-bar-set-value.html
1467
1468         * html/HTMLMeterElement.cpp:
1469         * html/HTMLMeterElement.h:
1470         (HTMLMeterElement): Removed attach(). We don't need it.
1471
1472 2012-11-09  Ryosuke Niwa  <rniwa@webkit.org>
1473
1474         Multiple Layout Tests (e.g. fast/repaint/japanese-rl-selection-clear.html) is failing after r133840.
1475         https://bugs.webkit.org/show_bug.cgi?id=101547
1476
1477         Reviewed by Simon Fraser.
1478
1479         I overlooked the fact when the selection is null, we still have to invalidate the caret rect that
1480         previously existed. Revert the optimization added in r133840 to skip caret invalidation when new
1481         selection is null, and add a special method to be called by FrameLoader prior to destruction instead.
1482         This will let us avoid doing an extra layout upon destruction and not regress repaint tests.
1483
1484         Covered by existing tests.
1485
1486         * editing/FrameSelection.cpp:
1487         (WebCore::FrameSelection::setSelection): Added DoNotUpdateAppearance option.
1488         (WebCore::FrameSelection::prepareForDestruction): Added.
1489         (WebCore::FrameSelection::updateAppearance): Reverted the flawed optimization added in r133840.
1490         Also, don't update style before updating selection unless text caret is disabled since we always
1491         update the layout (including style) when text caret is enabled.
1492         * editing/FrameSelection.h:
1493         (FrameSelection):
1494         * loader/FrameLoader.cpp:
1495         (WebCore::FrameLoader::clear): Call prepareForDestruction instead of clear to avoid a layout.
1496
1497 2012-11-11  Dongwoo Joshua Im  <dw.im@samsung.com>
1498
1499         [CSS3] Parsing the property, text-align-last.
1500         https://bugs.webkit.org/show_bug.cgi?id=99439
1501
1502         Reviewed by Julien Chaffraix.
1503
1504         This patch implements the parsing side of the "text-align-last" property specified
1505         in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
1506         Specification link : http://www.w3.org/TR/css3-text/#text-align-last
1507
1508         Tests: fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html
1509                fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html
1510
1511         * css/CSSComputedStyleDeclaration.cpp:
1512         (WebCore):
1513         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the value of the text-align-last property.
1514         * css/CSSParser.cpp:
1515         (WebCore::CSSParser::parseValue): Parse the value, and check whether it is a proper value which text-align-last can have.
1516         * css/CSSPrimitiveValueMappings.h:
1517         (WebCore):
1518         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1519         (WebCore::CSSPrimitiveValue::operator ETextAlignLast):
1520         * css/CSSProperty.cpp:
1521         (WebCore::CSSProperty::isInheritedProperty):
1522         * css/CSSPropertyNames.in: Add '-webkit-text-align-last' property.
1523         * css/StyleBuilder.cpp:
1524         (WebCore::StyleBuilder::StyleBuilder):
1525         * css/StylePropertySet.cpp:
1526         (WebCore):
1527         * css/StyleResolver.cpp:
1528         (WebCore::StyleResolver::applyProperty):
1529         * rendering/style/RenderStyle.h:
1530         * rendering/style/RenderStyleConstants.h:
1531         * rendering/style/StyleRareInheritedData.cpp:
1532         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1533         (WebCore::StyleRareInheritedData::operator==):
1534         * rendering/style/StyleRareInheritedData.h:
1535         (StyleRareInheritedData): Add m_textAlignLast.
1536
1537 2012-11-11  Shinya Kawanaka  <shinyak@chromium.org>
1538
1539         [Refactoring] Remove shadowPseudoId() and use setPseudo() in HTMLKeygenElement
1540         https://bugs.webkit.org/show_bug.cgi?id=101881
1541
1542         Reviewed by Kent Tamura.
1543
1544         We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
1545         setPseudo()/pseudo() instead.
1546
1547         No new tests, simple refacotring.
1548
1549         * html/HTMLKeygenElement.cpp:
1550         (WebCore::KeygenSelectElement::KeygenSelectElement):
1551         (KeygenSelectElement):
1552
1553 2012-11-11  Adam Barth  <abarth@webkit.org>
1554
1555         Many DOMWindowProperties would benefit from being ScriptWrappable
1556         https://bugs.webkit.org/show_bug.cgi?id=101887
1557
1558         Reviewed by Kentaro Hara.
1559
1560         These object are only ever created at the behest of script, which means
1561         making them ScriptWrappable is a win.
1562
1563         * page/BarInfo.h:
1564         * page/Console.h:
1565         * page/Crypto.h:
1566         * page/History.h:
1567         * page/Location.h:
1568         * page/Navigator.h:
1569         * page/Performance.h:
1570
1571 2012-11-11  Kentaro Hara  <haraken@chromium.org>
1572
1573         [V8] HTMLDocument::all() needs not to be custom
1574         https://bugs.webkit.org/show_bug.cgi?id=101875
1575
1576         Reviewed by Adam Barth.
1577
1578         We can easily remove the custom getter from V8 because the
1579         custom setter sets .all by ForceSet(). On the other hand,
1580         it is non-trivial to remove the custom getter from JSC
1581         because the custom setter sets .all by putDirect()
1582         and the custom getter wants to get it by getDirect().
1583
1584         No tests. No change in behavior.
1585
1586         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1587         * html/HTMLDocument.idl:
1588
1589 2012-11-11  Kentaro Hara  <haraken@chromium.org>
1590
1591         [V8] V8Console::memoryAttrGetter() needs not to be custom
1592         https://bugs.webkit.org/show_bug.cgi?id=101873
1593
1594         Reviewed by Adam Barth.
1595
1596         No tests. No change in behavior.
1597
1598         * bindings/v8/custom/V8ConsoleCustom.cpp:
1599         (WebCore):
1600         * page/Console.idl:
1601
1602 2012-11-11  Shinya Kawanaka  <shinyak@chromium.org>
1603
1604         [Shadow] ElementShadow should have RuleFeatureSet for select attribute selectors.
1605         https://bugs.webkit.org/show_bug.cgi?id=101180
1606
1607         Reviewed by Dimitri Glazkov.
1608
1609         This is a preparation patch for Bug 100451.
1610
1611         We preserve RuleFeatureSet collected from select attributes in ShadowDOM.
1612         When an element attribute is changed, we might have to invalidate content distribution,
1613         however it's high cost operation. So we would like to check RuleFeatureSet used in
1614         select attributes to determine we really need to invalidate distribution.
1615
1616         Like StyleResolver, ElementShadow has several rule features. When nested ShadowDOM is used,
1617         first we collect features in nested ShadowDOM, and merge it to the parent ShadowDOM.
1618         For the performance reason, we have a flag to check whether we need to collect features again.
1619
1620         Test: fast/dom/shadow/shadow-select-attribute-featureset.html
1621
1622         * WebCore.exp.in:
1623         * dom/ElementShadow.cpp:
1624         (WebCore::ElementShadow::ElementShadow):
1625         (WebCore::ElementShadow::setShouldCollectSelectFeatureSet): Enable a flag to collect feature set of descendant
1626         nodes (and their ShadowDOM).
1627         (WebCore):
1628         (WebCore::ElementShadow::ensureSelectFeatureSetCollected):
1629         (WebCore::ElementShadow::collectSelectFeatureSetFrom): Collect RuleFeatureSet from all descendant Nodes and their
1630         ShadowDOM. We need to collect id, class, and attribute names.
1631         * dom/ElementShadow.h:
1632         (WebCore::ElementShadow::shouldCollectSelectFeatureSet):
1633         (ElementShadow):
1634         (WebCore::ElementShadow::hasSelectorForId):
1635         (WebCore):
1636         (WebCore::ElementShadow::hasSelectorForClass):
1637         (WebCore::ElementShadow::hasSelectorForAttribute):
1638         * html/shadow/HTMLContentElement.cpp:
1639         (WebCore::HTMLContentElement::parseAttribute): When select attribute is changed, enable a flag to recollect features.
1640         (WebCore::HTMLContentElement::insertedInto): We have to recollect features when HTMLContentElement is moved.
1641         (WebCore::HTMLContentElement::removedFrom): ditto.
1642         * html/shadow/HTMLContentElement.h:
1643         (WebCore::toHTMLContentElement):
1644         (WebCore):
1645         * testing/Internals.cpp:
1646         (WebCore::Internals::hasSelectorForIdInShadow):
1647         (WebCore):
1648         (WebCore::Internals::hasSelectorForClassInShadow):
1649         (WebCore::Internals::hasSelectorForAttributeInShadow):
1650         * testing/Internals.h:
1651         (Internals):
1652         * testing/Internals.idl:
1653
1654 2012-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
1655
1656         Unreviewed, rolling out r134144.
1657         http://trac.webkit.org/changeset/134144
1658         https://bugs.webkit.org/show_bug.cgi?id=101876
1659
1660         seems to break win 7 chromium browser test (Requested by
1661         hayato on #webkit).
1662
1663         * WebCore.exp.in:
1664         * page/EventHandler.cpp:
1665         (WebCore):
1666         (WebCore::EventHandler::handleMouseMoveEvent):
1667         * page/EventHandler.h:
1668         (EventHandler):
1669         * testing/Internals.cpp:
1670         * testing/Internals.h:
1671         * testing/Internals.idl:
1672
1673 2012-11-11  Kent Tamura  <tkent@chromium.org>
1674
1675         Internals: MockPagePopup should not update DOM structure during detach()
1676         https://bugs.webkit.org/show_bug.cgi?id=101710
1677
1678         Reviewed by Hajime Morita.
1679
1680         PickerIndicatorElement::detach calls
1681         MockPagePopupDriver::closePagePopup, MockPagePopup::~MockPagePopup,
1682         which remove the mock iframe from the tree. But updating the tree during
1683         detach() is dangerous.
1684
1685         MockPagePopupDriver::closePagePopup calls MockpagePopup::closeLater, it
1686         requests to call 'close' asynchronously, and 'close' removes the mock
1687         iframe. We need to change MockPagePopup so that it is ref-couted and has
1688         a timer.
1689
1690         No new tests. This is a change for the test harness.
1691
1692         * testing/MockPagePopupDriver.cpp:
1693         (MockPagePopup): Make this ref-counted, add closeLater, add close, and
1694         add m_closeTimer.
1695         (WebCore::MockPagePopup::MockPagePopup): Initialize the timer.
1696         (WebCore::MockPagePopup::create): PassOwnPtr -> PassRefPtr
1697         (WebCore::MockPagePopup::closeLater):
1698         - Add one reference to avoid destruction by m_mockPagePopup.clear() in
1699           closePagePopup.
1700         - Notify didClosePopup here because the client expects didClosePopup is
1701           called synchronously.
1702         - Invoke the timer to call 'close'
1703         (WebCore::MockPagePopup::close):
1704         Just remove one reference. This means calling the desructor.
1705         (WebCore::MockPagePopup::~MockPagePopup):
1706         Move didClosePopup call to caloseLater.
1707         (WebCore::MockPagePopupDriver::closePagePopup):
1708         Request to close PagePopup.
1709         Clear PagePopupClient in m_pagePopupController because this object is
1710         necessary until MockPagePopup is closed, but it should not have a
1711         reference to the PagePopupClient.
1712         * testing/MockPagePopupDriver.h:
1713         (MockPagePopupDriver): Make MockPagePopup ref-counted.
1714
1715 2012-11-11  Adam Barth  <abarth@webkit.org>
1716
1717         axObjectCache code is more complicated than necessary
1718         https://bugs.webkit.org/show_bug.cgi?id=101820
1719
1720         Reviewed by Darin Adler.
1721
1722         This code should use OwnPtr rather than manually calling new/delete.
1723         Also, instead of using a "double check" pattern, we can just access the
1724         private fields on the top document directly.
1725
1726         * dom/Document.cpp:
1727         (WebCore::Document::Document):
1728         (WebCore::Document::clearAXObjectCache):
1729         (WebCore::Document::axObjectCacheExists):
1730         (WebCore):
1731         (WebCore::Document::axObjectCache):
1732         * dom/Document.h:
1733         (Document):
1734
1735 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
1736
1737         Save one call to containerForRepaint() when updating layer positions
1738         https://bugs.webkit.org/show_bug.cgi?id=101856
1739
1740         Reviewed by Dan Bernstein.
1741
1742          RenderLayer::updateLayerPositions() has already computed the repaint container,
1743          but calls computeRepaintRects() which computes it again. Computing the repaint
1744          container involves a walk back up the layer tree, so calling it during a tree
1745          traversal is costly.
1746          
1747          Fix by passing the repaint container down into computeRepaintRects().
1748
1749         * rendering/RenderLayer.cpp:
1750         (WebCore::RenderLayer::updateLayerPositions):
1751         (WebCore::RenderLayer::computeRepaintRects):
1752         (WebCore::RenderLayer::computeRepaintRectsIncludingDescendants):
1753         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
1754         (WebCore::RenderLayer::setHasVisibleContent):
1755         * rendering/RenderLayer.h:
1756         (RenderLayer):
1757
1758 2012-11-11  Kenichi Ishibashi  <bashi@chromium.org>
1759
1760         WTFString::utf8() should have a mode of conversion to use replacement character
1761         https://bugs.webkit.org/show_bug.cgi?id=101678
1762
1763         Reviewed by Alexey Proskuryakov.
1764
1765         Follow the change on String::utf8()
1766
1767         No new tests. No changes in behavior.
1768
1769         * Modules/websockets/WebSocket.cpp:
1770         (WebCore::WebSocket::close): Pass String::StrictConversion instead of true to String::utf8().
1771         * Modules/websockets/WebSocketChannel.cpp:
1772         (WebCore::WebSocketChannel::send): Ditto.
1773         * html/MediaFragmentURIParser.cpp:
1774         (WebCore::MediaFragmentURIParser::parseFragments): Ditto.
1775         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1776         (WebCore::MediaPlayerPrivate::notifyChallengeResult): Ditto.
1777         * platform/network/blackberry/rss/RSSFilterStream.cpp:
1778         (WebCore::RSSFilterStream::convertContentToHtml): Ditto.
1779         * platform/network/blackberry/rss/RSSGenerator.cpp:
1780         (WebCore::RSSGenerator::generateHtml): Ditto.
1781
1782 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
1783
1784         Coalesce main thread scroll position updates
1785         https://bugs.webkit.org/show_bug.cgi?id=101855
1786
1787         Reviewed by Anders Carlsson.
1788
1789         When using threaded scrolling, the dispatched updateMainFrameScrollPosition() calls 
1790         from ScrollingTree would pile up on the main thread, and we'd handle several per
1791         runloop cycle when scrolling fast. This causes extra work especially on pages
1792         with position:fixed elements which must update RenderLayers on scrolling.
1793         
1794         Fix by using a zero-delay timer in ScrollingCoordinator to coalesce these
1795         scrolling updates to one per runloop.
1796
1797         * page/scrolling/ScrollingCoordinator.cpp:
1798         (WebCore::ScrollingCoordinator::ScrollingCoordinator): Initialized data members
1799         for the scheduled scroll position update.
1800         (WebCore::ScrollingCoordinator::scheduleUpdateMainFrameScrollPosition): If 
1801         the timer is active and the parameters match, just update the target scroll
1802         position and return. If the params don't match, dispatch the scheduled update,
1803         and then the new one. Otherwise, prime the timer.
1804         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionTimerFired): Call
1805         the existing updateMainFrameScrollPosition() with the saved values.
1806         * page/scrolling/ScrollingCoordinator.h:
1807         * page/scrolling/ScrollingTree.cpp:
1808         (WebCore::ScrollingTree::updateMainFrameScrollPosition): Call scheduleUpdateMainFrameScrollPosition()
1809         rather than updateMainFrameScrollPosition().
1810         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1811         (WebCore::ScrollingCoordinatorMac::syncChildPositions): Fixed a bug that caused fixed
1812         position elements to jiggle with the patch; we should be calling syncPosition() (which just
1813         sets the position data, without touching CA layers).
1814
1815 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
1816
1817         Remove ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition()
1818         https://bugs.webkit.org/show_bug.cgi?id=101514
1819
1820         Reviewed by Tim Horton.
1821
1822         ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition() is very similar to
1823         ScrollingCoordinator::updateMainFrameScrollPosition(). In order to eliminate updateMainFrameScrollPositionAndScrollLayerPosition(),
1824         we just need to plumb through a flag that says that updateMainFrameScrollPosition() should
1825         set the layer position (rather than just doing a 'sync').
1826
1827         * page/scrolling/ScrollingCoordinator.cpp:
1828         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
1829         * page/scrolling/ScrollingCoordinator.h:
1830         * page/scrolling/ScrollingTree.cpp:
1831         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
1832         * page/scrolling/ScrollingTree.h:
1833         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1834         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1835         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
1836         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
1837
1838 2012-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
1839
1840         Unreviewed, rolling out r134069.
1841         http://trac.webkit.org/changeset/134069
1842         https://bugs.webkit.org/show_bug.cgi?id=101852
1843
1844         "It is a wrong way to fix the problem. See discussions in bug
1845         96614" (Requested by 1JTAAPQFJ on #webkit).
1846
1847         * bindings/js/JSDictionary.cpp:
1848         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
1849
1850 2012-11-10  Mike West  <mkwst@chromium.org>
1851
1852         Web Inspector: Multiple '%c' formatting options should all have effect.
1853         https://bugs.webkit.org/show_bug.cgi?id=101495
1854
1855         Reviewed by Pavel Feldman.
1856
1857         This patch supports multiple '%c' formatting blocks in console messages.
1858         'console.log("%cblue! %cgreen!", "color: blue;", "color: green;")' will
1859         do exactly what you expect: "blue!" will be blue, and "green!" will be
1860         green.
1861
1862         The implementation moves the styles off the message's parent 'span', and
1863         onto new 'span' elements that wrap the various textual bits of the
1864         message.
1865
1866         * inspector/front-end/ConsoleMessage.js:
1867         (WebInspector.ConsoleMessageImpl.prototype.):
1868         (WebInspector.ConsoleMessageImpl.prototype.append):
1869         (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
1870
1871 2012-11-10  Mike West  <mkwst@chromium.org>
1872
1873         Including <CoreText/CoreText.h> breaks the chromium/mac build.
1874         https://bugs.webkit.org/show_bug.cgi?id=101851
1875
1876         Reviewed by Dan Bernstein.
1877
1878         r134146 introduced inclusion of 'CoreText/CoreText.h' in
1879         SimpleFontDataCoreText.cpp, which broke the chromium/mac build. Grepping
1880         around, it looks like this needs to be modified to include
1881         'ApplicationServices/ApplicationServices.h'.
1882
1883         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
1884             Drop 'CoreText.h' in favor of 'ApplicationServices.h'.
1885         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1886             Drop the platform-specific '#if' logic; just include 'ApplicationServices.h'.
1887
1888 2012-11-10  Andreas Kling  <kling@webkit.org>
1889
1890         Don't detach from shared ElementAttributeData when overwriting attribute with identical value.
1891         <http://webkit.org/b/101849>
1892
1893         Reviewed by Anders Carlsson.
1894
1895         Defer the mutableAttributeData() call in Element::setAttributeInternal() until the last
1896         possible moment, to avoid unnecessarily detaching and cloning from attribute data.
1897
1898         120 kB progression on Membuster3.
1899
1900         * dom/Element.cpp:
1901         (WebCore::Element::setAttributeInternal):
1902         (WebCore::Element::addAttributeInternal):
1903
1904 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
1905
1906         Some minor optimizations in RenderLayer
1907         https://bugs.webkit.org/show_bug.cgi?id=101847
1908
1909         Reviewed by Anders Carlsson.
1910
1911         Some minor performance improvements in RenderLayer code.
1912
1913         * rendering/RenderLayer.cpp:
1914         (WebCore::RenderLayer::updateLayerPosition): isRenderInline() is a virtual call,
1915         so prefix it with an isInline() check which tests a bit on RenderObject.
1916         (WebCore::RenderLayer::localBoundingBox): Ditto.
1917         (WebCore::RenderLayer::calculateLayerBounds): Pull layer->renderer()
1918         into a local variable.
1919
1920 2012-11-10  Anders Carlsson  <andersca@apple.com>
1921
1922         Document::m_fullScreenElementStack should be a Vector
1923         https://bugs.webkit.org/show_bug.cgi?id=101844
1924
1925         Reviewed by Andreas Kling.
1926
1927         m_fullScreenElementStack is currently a Deque where elements are being prepended
1928         and removed from the beginning in LIFO order, so it can be replaced with a Vector.
1929
1930         * dom/Document.cpp:
1931         (WebCore::Document::requestFullScreenForElement):
1932         (WebCore::Document::webkitCancelFullScreen):
1933         (WebCore::Document::popFullscreenElementStack):
1934         (WebCore::Document::pushFullscreenElementStack):
1935         * dom/Document.h:
1936         (WebCore::Document::webkitFullscreenElement):
1937         (Document):
1938
1939 2012-11-10  Adam Barth  <abarth@webkit.org>
1940
1941         [V8] Clean up header includes and ifdefs in V8GCController
1942         https://bugs.webkit.org/show_bug.cgi?id=101691
1943
1944         Reviewed by Kentaro Hara.
1945
1946         This file doesn't need to include all these headers anymore.
1947
1948         * bindings/v8/V8GCController.cpp:
1949         (WebCore::workingSetEstimateMBMutex):
1950         (WebCore::V8GCController::majorGCEpilogue):
1951         (WebCore::V8GCController::checkMemoryUsage):
1952
1953 2012-11-10  Joseph Pecoraro  <pecoraro@apple.com>
1954
1955         [Mac] Guard WebCore PageVisibility Symbol Export
1956         https://bugs.webkit.org/show_bug.cgi?id=101817
1957
1958         Reviewed by Andreas Kling.
1959
1960         Guard the export with the same ENABLE guards around its definition
1961         and implementation.
1962
1963         * WebCore.exp.in:
1964
1965 2012-11-10  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1966
1967         [css] text-decoration:none no longer valid
1968         https://bugs.webkit.org/show_bug.cgi?id=101529
1969
1970         Reviewed by Ojan Vafai.
1971
1972         This patch fixes an issue where the 'none' value was parsed as explicitly
1973         'initial' value. However true in a sense that the initial value for the
1974         'text-decoration' property is 'none', the value itself could not be parsed as
1975         'initial'.
1976
1977         The getComputedStyle layout tests for 'text-decoration' and
1978         '-webkit-text-decoration-line' CSS properties are updated with the correct
1979         results.
1980
1981         * css/CSSParser.cpp:
1982         (WebCore::CSSParser::parseTextDecoration): When parsed, 'none' value
1983         gets its own identifier value instead of explicit initial.
1984
1985 2012-11-09  Dean Jackson  <dino@apple.com>
1986
1987         Support list of tracks in caption media controls
1988         https://bugs.webkit.org/show_bug.cgi?id=101669
1989
1990         Reviewed by Eric Carlson.
1991
1992         Attempt three of commit. The first two times caused build failures on Chromium.
1993
1994         Add some new elements to the media control shadow DOM that display the list of available
1995         tracks on an audio/video element. The UI is hidden by default everywhere but on Mac,
1996         where it is given a very basic design. At the moment only the list of available tracks
1997         are displayed; The followup bug will make the UI active: https://bugs.webkit.org/show_bug.cgi?id=101670
1998
1999         No new tests - this doesn't expose any testable surface.
2000
2001         * css/mediaControls.css: Added default rules that hide the new elements.
2002         * css/mediaControlsQuickTime.css: Specific rules that give a basic rendering of the new track list.
2003         * html/shadow/MediaControlElements.cpp:
2004         (WebCore::MediaControlElement::isShowing): Tests for the visibility of a control.
2005         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
2006         (WebCore::MediaControlClosedCaptionsContainerElement::create):
2007         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId):
2008         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2009         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Now takes a reference to the media controls as a parameter.
2010         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2011         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2012         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2013         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): New element for holding a list of tracks to display.
2014         * html/shadow/MediaControlElements.h:
2015         (MediaControlElement):
2016         (MediaControlToggleClosedCaptionsButtonElement):
2017         (MediaControlClosedCaptionsContainerElement):
2018         (MediaControlClosedCaptionsTrackListElement): Examines the media element to build a shadow DOM that lists all the tracks available.
2019         * html/shadow/MediaControlRootElement.cpp:
2020         (WebCore::MediaControlRootElement::MediaControlRootElement):
2021         (WebCore::MediaControlRootElement::create): New track container and list elements created.
2022         (WebCore::MediaControlRootElement::setMediaController): Hook up the new elements to the controller..
2023         (WebCore::MediaControlRootElement::hide):
2024         (WebCore::MediaControlRootElement::makeTransparent):
2025         (WebCore::MediaControlRootElement::reset):
2026         (WebCore::MediaControlRootElement::reportedError):
2027         (WebCore::MediaControlRootElement::toggleClosedCaptionTrackList): Shows or hides the popup with the list of tracks.
2028         (WebCore):
2029         * html/shadow/MediaControlRootElement.h:
2030         (WebCore):
2031         (MediaControlRootElement):
2032         * html/shadow/MediaControlRootElementChromium.cpp:
2033         (WebCore::MediaControlRootElementChromium::initializeControls): Pass in the controls as a parameter.
2034         * html/shadow/MediaControls.h:
2035         (MediaControls):
2036         * platform/Language.cpp:
2037         (WebCore::displayNameForLanguageLocale): New function to return a human-readable name for a locale, given the identifier input.
2038         * platform/Language.h:
2039         (WebCore):
2040         * rendering/RenderMediaControls.cpp:
2041         (WebCore::RenderMediaControls::paintMediaControlsPart): New enum values into switch.
2042         * rendering/RenderMediaControlsChromium.cpp:
2043         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): New enum values into switch.
2044
2045 2012-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2046
2047         Unreviewed, rolling out r134152.
2048         http://trac.webkit.org/changeset/134152
2049         https://bugs.webkit.org/show_bug.cgi?id=101831
2050
2051         broke chromium again (Requested by dino_ on #webkit).
2052
2053         * css/mediaControls.css:
2054         * css/mediaControlsQuickTime.css:
2055         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2056         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2057         * html/shadow/MediaControlElements.cpp:
2058         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2059         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
2060         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2061         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2062         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2063         * html/shadow/MediaControlElements.h:
2064         (MediaControlElement):
2065         (MediaControlToggleClosedCaptionsButtonElement):
2066         * html/shadow/MediaControlRootElement.cpp:
2067         (WebCore::MediaControlRootElement::MediaControlRootElement):
2068         (WebCore::MediaControlRootElement::create):
2069         (WebCore::MediaControlRootElement::setMediaController):
2070         (WebCore::MediaControlRootElement::hide):
2071         (WebCore::MediaControlRootElement::makeTransparent):
2072         (WebCore::MediaControlRootElement::reset):
2073         (WebCore::MediaControlRootElement::reportedError):
2074         * html/shadow/MediaControlRootElement.h:
2075         (WebCore):
2076         (MediaControlRootElement):
2077         * html/shadow/MediaControlRootElementChromium.cpp:
2078         (WebCore::MediaControlRootElementChromium::initializeControls):
2079         * html/shadow/MediaControls.h:
2080         (MediaControls):
2081         * platform/Language.cpp:
2082         (WebCore):
2083         * platform/Language.h:
2084         (WebCore):
2085         * rendering/RenderMediaControls.cpp:
2086         (WebCore::RenderMediaControls::paintMediaControlsPart):
2087         * rendering/RenderMediaControlsChromium.cpp:
2088         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2089
2090 2012-11-09  Dean Jackson  <dino@apple.com>
2091
2092         Support list of tracks in caption media controls
2093         https://bugs.webkit.org/show_bug.cgi?id=101669
2094
2095         Reviewed by Eric Carlson.
2096
2097         Attempt two of commit. The first time caused a build failure on Chromium.
2098
2099         Add some new elements to the media control shadow DOM that display the list of available
2100         tracks on an audio/video element. The UI is hidden by default everywhere but on Mac,
2101         where it is given a very basic design. At the moment only the list of available tracks
2102         are displayed; The followup bug will make the UI active: https://bugs.webkit.org/show_bug.cgi?id=101670
2103
2104         No new tests - this doesn't expose any testable surface.
2105
2106         * css/mediaControls.css: Added default rules that hide the new elements.
2107         * css/mediaControlsQuickTime.css: Specific rules that give a basic rendering of the new track list.
2108         * html/shadow/MediaControlElements.cpp:
2109         (WebCore::MediaControlElement::isShowing): Tests for the visibility of a control.
2110         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
2111         (WebCore::MediaControlClosedCaptionsContainerElement::create):
2112         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId):
2113         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2114         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Now takes a reference to the media controls as a parameter.
2115         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2116         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2117         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2118         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): New element for holding a list of tracks to display.
2119         * html/shadow/MediaControlElements.h:
2120         (MediaControlElement):
2121         (MediaControlToggleClosedCaptionsButtonElement):
2122         (MediaControlClosedCaptionsContainerElement):
2123         (MediaControlClosedCaptionsTrackListElement): Examines the media element to build a shadow DOM that lists all the tracks available.
2124         * html/shadow/MediaControlRootElement.cpp:
2125         (WebCore::MediaControlRootElement::MediaControlRootElement):
2126         (WebCore::MediaControlRootElement::create): New track container and list elements created.
2127         (WebCore::MediaControlRootElement::setMediaController): Hook up the new elements to the controller..
2128         (WebCore::MediaControlRootElement::hide):
2129         (WebCore::MediaControlRootElement::makeTransparent):
2130         (WebCore::MediaControlRootElement::reset):
2131         (WebCore::MediaControlRootElement::reportedError):
2132         (WebCore::MediaControlRootElement::toggleClosedCaptionTrackList): Shows or hides the popup with the list of tracks.
2133         (WebCore):
2134         * html/shadow/MediaControlRootElement.h:
2135         (WebCore):
2136         (MediaControlRootElement):
2137         * html/shadow/MediaControlRootElementChromium.cpp:
2138         (WebCore::MediaControlRootElementChromium::initializeControls): Pass in the controls as a parameter.
2139         * html/shadow/MediaControls.h:
2140         (MediaControls):
2141         * platform/Language.cpp:
2142         (WebCore::displayNameForLanguageLocale): New function to return a human-readable name for a locale, given the identifier input.
2143         * platform/Language.h:
2144         (WebCore):
2145         * rendering/RenderMediaControls.cpp:
2146         (WebCore::RenderMediaControls::paintMediaControlsPart): New enum values into switch.
2147         * rendering/RenderMediaControlsChromium.cpp:
2148         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): New enum values into switch.
2149
2150 2012-11-09  Ojan Vafai  <ojan@chromium.org>
2151
2152         Should only fire a single set of mouse events and update hover state once when scrolling is done
2153         https://bugs.webkit.org/show_bug.cgi?id=99940
2154
2155         Reviewed by Levi Weintraub.
2156
2157         -Use a DeferrableOneShotTimer instead of a Timer. By resetting when the
2158         timer is fired, we ensure the actual goal of not firing fake mouse events
2159         until the scroll is completed. This is the core part of this change.
2160         -Change our mouse event throttling to keep a running average of how long
2161         mouse events take and adjust throttling appropriately.
2162         Test: fast/scrolling/fake-mouse-event-throttling.html
2163         -Maintain a minimum throttle of 100ms.
2164
2165         * page/EventHandler.cpp:
2166         (WebCore):
2167         (WebCore::RunningAverageDurationTracker::RunningAverageDurationTracker):
2168         (WebCore::RunningAverageDurationTracker::~RunningAverageDurationTracker):
2169         Keep track of a running average instead of max. This lets us adjust throttling
2170         dynamically without punishing a page for having a single mouse event handler
2171         that takes disproportionately long.
2172         (RunningAverageDurationTracker):
2173         (WebCore::EventHandler::EventHandler):
2174         (WebCore::EventHandler::clear):
2175         (WebCore::EventHandler::mouseMoved):
2176         (WebCore::EventHandler::handleMouseMoveEvent):
2177         (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2178         (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
2179         * page/EventHandler.h:
2180         (EventHandler):
2181         * platform/Timer.h:
2182         (WebCore::DeferrableOneShotTimer::setDelay):
2183         (WebCore::DeferrableOneShotTimer::delay):
2184         Add a way of adjusting the timer delay.
2185
2186 2012-11-09  Rick Byers  <rbyers@chromium.org>
2187
2188         Move chromium to USE(LAZY_NATIVE_CURSOR)
2189         https://bugs.webkit.org/show_bug.cgi?id=101501
2190
2191         Reviewed by Adam Barth.
2192
2193         This simplifies cursor handling in chromium and unifies it with other
2194         ports for easier code sharing and testing by moving to the
2195         USE_LAZY_CURSOR model and eliminating PlatformCursor entirely.
2196
2197         PlatformCursor adds no value in chromium since the sandboxing model
2198         requires the cursor information be marshalled to the browser process
2199         before being turned into a real OS cursor.
2200
2201         Test: fast/events/mouse-cursor.html
2202
2203         * WebCore.gypi:
2204         * platform/Cursor.h:
2205         (WebCore):
2206         * platform/chromium/CursorChromium.cpp:
2207         (WebCore::Cursor::Cursor):
2208         (WebCore::Cursor::operator=):
2209         (WebCore::Cursor::~Cursor):
2210         (WebCore::Cursor::ensurePlatformCursor):
2211         * platform/chromium/PlatformCursor.h: Removed.
2212
2213 2012-11-09  Noam Rosenthal  <noam.rosenthal@nokia.com>
2214
2215         Allow ports to decide whether an image should be directly composited
2216         https://bugs.webkit.org/show_bug.cgi?id=101827
2217
2218         Reviewed by Simon Fraser.
2219
2220         Tested by compositing/tiling/huge-layer-img.html.
2221
2222         * platform/graphics/GraphicsLayer.h:
2223         (WebCore::GraphicsLayer::shouldDirectlyCompositeImage):
2224             Allow the GraphicsLayer implementation to decide if the image can be composited.
2225
2226         * rendering/RenderLayerBacking.cpp:
2227         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
2228             Take onto account the new shouldDirectlyCompositeImage check.
2229
2230 2012-11-09  Dan Bernstein  <mitz@apple.com>
2231
2232         SimpleFontData::getCFStringAttributes sets some attributes to their default values, but shouldn’t
2233         https://bugs.webkit.org/show_bug.cgi?id=101799
2234
2235         Reviewed by Alexey Proskuryakov.
2236
2237         In some configurations, setting kCTLigatureAttributeName to its default value of 1 yields
2238         different behavior from not setting it at all. We can get the correct behavior and greatly
2239         simplify the code by not setting attributes to their default values.
2240
2241         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
2242         Removed redundant #import directives and changed the remaining ones to #include.
2243         (WebCore::SimpleFontData::getCFStringAttributes): Changed to use a mutable dictionary and
2244         only add attributes that have non-default values.
2245
2246 2012-11-09  Rick Byers  <rbyers@chromium.org>
2247
2248         No tests for changing mouse cursors
2249         https://bugs.webkit.org/show_bug.cgi?id=100550
2250
2251         Reviewed by Adam Barth.
2252
2253         Add infrastructure to keep track of the last set mouse cursor,
2254         and then to query it from DumpRenderTree.
2255
2256         Test: fast/events/mouse-cursor.html
2257
2258         * WebCore.exp.in: Add Cursor copy ctor export
2259         * page/EventHandler.cpp:
2260         (WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor
2261         * page/EventHandler.h:
2262         (WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor
2263         * testing/Internals.cpp:
2264         (WebCore::cursorTypeToString): Helper to convert cursor type to enum
2265         (WebCore):
2266         (WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor
2267         * testing/Internals.h: Declare getCurrentCursorInfo
2268         * testing/Internals.idl: Declare getCurrentCursorInfo
2269
2270 2012-11-09  Huang Dongsung  <luxtella@company100.net>
2271
2272         Coordinated Graphics: Amend CoordinatedBackingStore::paintToTextureMapper to fit its own semantic.
2273         https://bugs.webkit.org/show_bug.cgi?id=101701
2274
2275         Reviewed by Noam Rosenthal.
2276
2277         Add TiledBackingStore::rect() because CoordinatedTile needs to know
2278         m_rect of TiledBackingStore.
2279
2280         * platform/graphics/TiledBackingStore.h:
2281         (WebCore::TiledBackingStore::rect):
2282
2283 2012-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2284
2285         Unreviewed, rolling out r134139.
2286         http://trac.webkit.org/changeset/134139
2287         https://bugs.webkit.org/show_bug.cgi?id=101823
2288
2289         breaks chromium (android) build (Requested by thorton on
2290         #webkit).
2291
2292         * css/mediaControls.css:
2293         * css/mediaControlsQuickTime.css:
2294         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2295         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2296         * html/shadow/MediaControlElements.cpp:
2297         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2298         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
2299         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2300         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2301         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2302         * html/shadow/MediaControlElements.h:
2303         (MediaControlElement):
2304         (MediaControlToggleClosedCaptionsButtonElement):
2305         * html/shadow/MediaControlRootElement.cpp:
2306         (WebCore::MediaControlRootElement::MediaControlRootElement):
2307         (WebCore::MediaControlRootElement::create):
2308         (WebCore::MediaControlRootElement::setMediaController):
2309         (WebCore::MediaControlRootElement::hide):
2310         (WebCore::MediaControlRootElement::makeTransparent):
2311         (WebCore::MediaControlRootElement::reset):
2312         (WebCore::MediaControlRootElement::reportedError):
2313         * html/shadow/MediaControlRootElement.h:
2314         (WebCore):
2315         (MediaControlRootElement):
2316         * html/shadow/MediaControlRootElementChromium.cpp:
2317         (WebCore::MediaControlRootElementChromium::initializeControls):
2318         * html/shadow/MediaControls.h:
2319         (MediaControls):
2320         * platform/Language.cpp:
2321         (WebCore):
2322         * platform/Language.h:
2323         (WebCore):
2324
2325 2012-11-09  Huang Dongsung  <luxtella@company100.net>
2326
2327         [TexMap] Initialize m_compositedNativeImagePtr in GraphicsLayerTextureMapper.
2328         https://bugs.webkit.org/show_bug.cgi?id=101675
2329
2330         Reviewed by Noam Rosenthal.
2331
2332         Fix a potential bug in GraphicsLayerTextureMapper. If the member's uninitialized
2333         value equals image->nativeImageForCurrentFrame() by change, we can encounter
2334         undefined behavior.
2335
2336         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2337         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2338         (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
2339
2340 2012-11-09  Dean Jackson  <dino@apple.com>
2341
2342         Support list of tracks in caption media controls
2343         https://bugs.webkit.org/show_bug.cgi?id=101669
2344
2345         Reviewed by Eric Carlson.
2346
2347         Add some new elements to the media control shadow DOM that display the list of available
2348         tracks on an audio/video element. The UI is hidden by default everywhere but on Mac,
2349         where it is given a very basic design. At the moment only the list of available tracks
2350         are displayed; The followup bug will make the UI active: https://bugs.webkit.org/show_bug.cgi?id=101670
2351
2352         No new tests - this doesn't expose any testable surface.
2353
2354         * css/mediaControls.css: Added default rules that hide the new elements.
2355         * css/mediaControlsQuickTime.css: Specific rules that give a basic rendering of the new track list.
2356         * html/shadow/MediaControlElements.cpp:
2357         (WebCore::MediaControlElement::isShowing): Tests for the visibility of a control.
2358         (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement):
2359         (WebCore::MediaControlClosedCaptionsContainerElement::create):
2360         (WebCore::MediaControlClosedCaptionsContainerElement::shadowPseudoId):
2361         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2362         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create): Now takes a reference to the media controls as a parameter.
2363         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2364         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2365         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2366         (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): New element for holding a list of tracks to display.
2367         * html/shadow/MediaControlElements.h:
2368         (MediaControlElement):
2369         (MediaControlToggleClosedCaptionsButtonElement):
2370         (MediaControlClosedCaptionsContainerElement):
2371         (MediaControlClosedCaptionsTrackListElement): Examines the media element to build a shadow DOM that lists all the tracks available.
2372         * html/shadow/MediaControlRootElement.cpp:
2373         (WebCore::MediaControlRootElement::MediaControlRootElement):
2374         (WebCore::MediaControlRootElement::create): New track container and list elements created.
2375         (WebCore::MediaControlRootElement::setMediaController): Hook up the new elements to the controller..
2376         (WebCore::MediaControlRootElement::hide):
2377         (WebCore::MediaControlRootElement::makeTransparent):
2378         (WebCore::MediaControlRootElement::reset):
2379         (WebCore::MediaControlRootElement::reportedError):
2380         (WebCore::MediaControlRootElement::toggleClosedCaptionTrackList): Shows or hides the popup with the list of tracks.
2381         (WebCore):
2382         * html/shadow/MediaControlRootElement.h:
2383         (WebCore):
2384         (MediaControlRootElement):
2385         * html/shadow/MediaControlRootElementChromium.cpp:
2386         (WebCore::MediaControlRootElementChromium::initializeControls): Pass in the controls as a parameter.
2387         * html/shadow/MediaControls.h:
2388         (MediaControls):
2389         * platform/Language.cpp:
2390         (WebCore::displayNameForLanguageLocale): New function to return a human-readable name for a locale, given the identifier input.
2391         * platform/Language.h:
2392         (WebCore):
2393
2394 2012-11-09  Noel Gordon  <noel.gordon@gmail.com>
2395
2396         [chromium] Should pass fast/images/paletted-png-with-color-profile.html
2397         https://bugs.webkit.org/show_bug.cgi?id=101551
2398
2399         Reviewed by Adam Barth.
2400
2401         Support decoding color PALETTE images that have an ICC color profile.
2402
2403         Covered by fast/images/png-suite/test.html and many other fast/image tests.
2404
2405         * platform/image-decoders/png/PNGImageDecoder.cpp:
2406         (WebCore::PNGImageDecoder::headerAvailable): Move the color profile code after the
2407         transparency (tRNS) reader. Allow color PNG images: RGB, RGBA, PALLETE to be color
2408         corrected. Use the transparency count from the tRNS reader to detect the expansion
2409         of RGB and PALLETE image pixels to RGBA.
2410
2411 2012-11-09  Tien-Ren Chen  <trchen@chromium.org>
2412
2413         Correct hit-test point scaling for document.elementFromPoint
2414         https://bugs.webkit.org/show_bug.cgi?id=101798
2415
2416         Reviewed by Adam Barth.
2417
2418         The hit-test point come from user JavaScript is in the document coordinate.
2419         Convert to the frame coordinate with correct scale factor for hit test.
2420
2421         Test: fast/dom/elementFromPoint-scaled-scrolled.html
2422
2423         * dom/Document.cpp:
2424         (WebCore::nodeFromPoint):
2425
2426 2012-11-09  Alec Flett  <alecflett@chromium.org>
2427
2428         IndexedDB: Combine IDBBackingStore and IDBLevelDBBackingStore
2429         https://bugs.webkit.org/show_bug.cgi?id=101415
2430
2431         Reviewed by Tony Chang.
2432
2433         Combine abstract interface IDBBackingStore with its only
2434         implementation, IDBLevelDBBackingStore, to reduce code
2435         complexity. The legacy structure existed to support a SQLLite
2436         IDBBackingStore, but it is no longer worth the complexity to
2437         support this abstraction.
2438
2439         Changes include:
2440         1) Merging IDBLevelDBBackingStore into IDBBackingStore.
2441
2442         2) Merge together IDBBackingStore's inner classes: Cursor,
2443         Transaction, and ObjectStoreRecordIdentfier with their respective
2444         subclasses in IDBLevelDBBackingStore.
2445
2446         3) Simplifying the inner Transaction class to not be refcounted or
2447         virtualized, to allow it to be a simple concrete member of its
2448         owner, IDBTransactionBackendImpl.
2449
2450         No new tests as this is purely a refactor.
2451
2452         * Modules/indexeddb/IDBBackingStore.cpp:
2453         (WebCore::recordInternalError):
2454         (WebCore::setUpMetadata):
2455         (WebCore::IDBBackingStore::IDBBackingStore):
2456         (WebCore):
2457         (WebCore::IDBBackingStore::~IDBBackingStore):
2458         (WebCore::IDBBackingStore::open):
2459         (WebCore::IDBBackingStore::getDatabaseNames):
2460         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
2461         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
2462         (WebCore::IDBBackingStore::updateIDBDatabaseIntVersion):
2463         (WebCore::IDBBackingStore::updateIDBDatabaseMetaData):
2464         (WebCore::deleteRange):
2465         (WebCore::IDBBackingStore::deleteDatabase):
2466         (WebCore::IDBBackingStore::getObjectStores):
2467         (WebCore::setMaxObjectStoreId):
2468         (WebCore::IDBBackingStore::createObjectStore):
2469         (WebCore::IDBBackingStore::deleteObjectStore):
2470         (WebCore::IDBBackingStore::getRecord):
2471         (WebCore::IDBBackingStore::putRecord):
2472         (WebCore::IDBBackingStore::clearObjectStore):
2473         (WebCore::IDBBackingStore::deleteRecord):
2474         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
2475         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
2476         (WebCore::IDBBackingStore::keyExistsInObjectStore):
2477         (WebCore::IDBBackingStore::getIndexes):
2478         (WebCore::setMaxIndexId):
2479         (WebCore::IDBBackingStore::createIndex):
2480         (WebCore::IDBBackingStore::deleteIndex):
2481         (WebCore::IDBBackingStore::putIndexDataForRecord):
2482         (WebCore::IDBBackingStore::deleteIndexDataForRecord):
2483         (WebCore::IDBBackingStore::findKeyInIndex):
2484         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
2485         (WebCore::IDBBackingStore::keyExistsInIndex):
2486         (WebCore::IDBBackingStore::Cursor::Cursor):
2487         (WebCore::IDBBackingStore::Cursor::firstSeek):
2488         (WebCore::IDBBackingStore::Cursor::advance):
2489         (WebCore::IDBBackingStore::Cursor::continueFunction):
2490         (WebCore::IDBBackingStore::Cursor::haveEnteredRange):
2491         (WebCore::IDBBackingStore::Cursor::isPastBounds):
2492         (WebCore::ObjectStoreKeyCursorImpl::create):
2493         (ObjectStoreKeyCursorImpl):
2494         (WebCore::ObjectStoreKeyCursorImpl::value):
2495         (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
2496         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
2497         (WebCore::ObjectStoreCursorImpl::create):
2498         (ObjectStoreCursorImpl):
2499         (WebCore::ObjectStoreCursorImpl::value):
2500         (WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
2501         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
2502         (WebCore::IndexKeyCursorImpl::create):
2503         (IndexKeyCursorImpl):
2504         (WebCore::IndexKeyCursorImpl::value):
2505         (WebCore::IndexKeyCursorImpl::primaryKey):
2506         (WebCore::IndexKeyCursorImpl::recordIdentifier):
2507         (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
2508         (WebCore::IndexKeyCursorImpl::loadCurrentRow):
2509         (WebCore::IndexCursorImpl::create):
2510         (IndexCursorImpl):
2511         (WebCore::IndexCursorImpl::value):
2512         (WebCore::IndexCursorImpl::primaryKey):
2513         (WebCore::IndexCursorImpl::recordIdentifier):
2514         (WebCore::IndexCursorImpl::IndexCursorImpl):
2515         (WebCore::IndexCursorImpl::loadCurrentRow):
2516         (WebCore::objectStoreCursorOptions):
2517         (WebCore::indexCursorOptions):
2518         (WebCore::IDBBackingStore::openObjectStoreCursor):
2519         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
2520         (WebCore::IDBBackingStore::openIndexKeyCursor):
2521         (WebCore::IDBBackingStore::openIndexCursor):
2522         (WebCore::IDBBackingStore::Transaction::Transaction):
2523         (WebCore::IDBBackingStore::Transaction::begin):
2524         (WebCore::IDBBackingStore::Transaction::commit):
2525         (WebCore::IDBBackingStore::Transaction::rollback):
2526         * Modules/indexeddb/IDBBackingStore.h:
2527         (WebCore):
2528         (IDBBackingStore):
2529         (RecordIdentifier):
2530         (WebCore::IDBBackingStore::RecordIdentifier::create):
2531         (WebCore::IDBBackingStore::RecordIdentifier::~RecordIdentifier):
2532         (WebCore::IDBBackingStore::RecordIdentifier::isValid):
2533         (WebCore::IDBBackingStore::RecordIdentifier::primaryKey):
2534         (WebCore::IDBBackingStore::RecordIdentifier::setPrimaryKey):
2535         (WebCore::IDBBackingStore::RecordIdentifier::version):
2536         (WebCore::IDBBackingStore::RecordIdentifier::setVersion):
2537         (WebCore::IDBBackingStore::RecordIdentifier::RecordIdentifier):
2538         (Transaction):
2539         (WebCore::IDBBackingStore::Transaction::levelDBTransactionFrom):
2540         (CursorOptions):
2541         (Cursor):
2542         (WebCore::IDBBackingStore::Cursor::Cursor):
2543         (WebCore::IDBBackingStore::Cursor::key):
2544         (WebCore::IDBBackingStore::Cursor::primaryKey):
2545         (WebCore::IDBBackingStore::Cursor::~Cursor):
2546         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2547         (WebCore::IDBFactoryBackendImpl::openBackingStore):
2548         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
2549         (WebCore::IDBIndexBackendImpl::countInternal):
2550         * Modules/indexeddb/IDBLevelDBBackingStore.h: Removed.
2551         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2552         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
2553         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2554         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2555         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2556         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
2557         (WebCore::IDBTransactionBackendImpl::abort):
2558         (WebCore::IDBTransactionBackendImpl::commit):
2559         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2560         * Modules/indexeddb/IDBTransactionBackendImpl.h:
2561         (WebCore::IDBTransactionBackendImpl::backingStoreTransaction):
2562         * WebCore.xcodeproj/project.pbxproj:
2563
2564 2012-11-09  Tien-Ren Chen  <trchen@chromium.org>
2565
2566         Correct scroll adjustment for touchEvent.clientX/clientY
2567         https://bugs.webkit.org/show_bug.cgi?id=101800
2568
2569         Reviewed by Adam Barth.
2570
2571         FrameView::scrollX/scrollY returns scroll offset in (scaled) frame coordinate.
2572         Convert to document coordinate before passing to JavaScript.
2573
2574         Test: fast/events/touch/touch-scaled-scrolled.html
2575
2576         * dom/Touch.cpp:
2577         (WebCore::contentsX):
2578         (WebCore::contentsY):
2579
2580 2012-11-09  Alexandru Chiculita  <achicu@adobe.com>
2581
2582         [Texmap][CSS Shaders] Enable CSS Shaders in TextureMapperGL
2583         https://bugs.webkit.org/show_bug.cgi?id=98990
2584
2585         Reviewed by Noam Rosenthal.
2586
2587         Added code that draws the Custom Filter in the TextureMapperGL. Also added 
2588         required code to make a depth buffer for a BitmapTextureGL.
2589
2590         Note that the code is not optimized yet, so it will always recompile the shader.
2591
2592         Test: css3/filters/custom/composited/custom-filter-blend-modes.html
2593
2594         * platform/graphics/texmap/TextureMapperGL.cpp:
2595         (WebCore::BitmapTextureGL::BitmapTextureGL):
2596         (WebCore::getPassesRequiredForFilter):
2597         (WebCore):
2598         (WebCore::TextureMapperGL::drawUsingCustomFilter):
2599         (WebCore::BitmapTextureGL::applyFilters):
2600         (WebCore::BitmapTextureGL::initializeDepthBuffer):
2601         (WebCore::BitmapTextureGL::~BitmapTextureGL):
2602         * platform/graphics/texmap/TextureMapperGL.h:
2603         (BitmapTextureGL):
2604
2605 2012-11-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>
2606
2607         CustomEvent: Allow taking in a serialized value during initialization.
2608         https://bugs.webkit.org/show_bug.cgi?id=101348
2609
2610         Reviewed by Adam Barth.
2611
2612         If a CustomEvent is initialized using a serialized value, then for each access
2613         to |detail|, the value is deserialized first. This way, each world gets a different
2614         deserialization.
2615
2616         * UseV8.cmake:
2617         * WebCore.gypi:
2618         * bindings/v8/V8HiddenPropertyName.h:
2619         (WebCore):
2620         * bindings/v8/custom/V8CustomEventCustom.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
2621         (WebCore):
2622         (WebCore::V8CustomEvent::detailAccessorGetter):
2623         * dom/CustomEvent.cpp:
2624         (WebCore::CustomEvent::initCustomEvent):
2625         (WebCore):
2626         * dom/CustomEvent.h:
2627         (CustomEvent):
2628         (WebCore::CustomEvent::serializedScriptValue):
2629         * dom/CustomEvent.idl:
2630
2631 2012-11-09  Brady Eidson  <beidson@apple.com>
2632
2633         Implement WebResourceBuffer::isEmpty()
2634         https://bugs.webkit.org/show_bug.cgi?id=101805
2635
2636         Reviewed by Alexey Proskuryakov.
2637
2638         This is required to make the existing subresource loading in NetworkProcess work correctly,
2639         as there's an isEmpty() check in the WebProcess that decides whether or not to actually deliver 
2640         the data to the ResourceLoader.
2641
2642         No new tests (No change in behavior in any configuration we test.)
2643
2644         * loader/ResourceBuffer.h: Make isEmpty() virtual.
2645
2646 2012-11-09  Michael Saboff  <msaboff@apple.com>
2647
2648         HTML Attributes names and values should be created as 8 bit string where possible
2649         https://bugs.webkit.org/show_bug.cgi?id=101781
2650
2651         Reviewed by Filip Pizlo.
2652
2653         Given that almost all attribute names and values are lower case ASCII, we should try to
2654         create 8 bit strings to process them.  Creating an AtomicString already tries to make
2655         an 8 bit string, so that didn't need to change.
2656
2657         No new tests, functionality covered by existing tests.
2658
2659         * html/HTMLViewSourceDocument.cpp:
2660         (WebCore::HTMLViewSourceDocument::processTagToken):
2661         * html/parser/HTMLMetaCharsetParser.cpp:
2662         (WebCore::HTMLMetaCharsetParser::processMeta):
2663         * html/parser/HTMLPreloadScanner.cpp:
2664         (WebCore::PreloadTask::processAttributes):
2665
2666 2012-11-09  Dana Jansens  <danakj@chromium.org>
2667
2668         [chromium] Define WEBKIT_IMPLEMENTATION everywhere inside WebCore
2669         https://bugs.webkit.org/show_bug.cgi?id=101795
2670
2671         Reviewed by James Robinson.
2672
2673         * WebCore.gyp/WebCore.gyp:
2674
2675 2012-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2676
2677         Unreviewed, rolling out r134101.
2678         http://trac.webkit.org/changeset/134101
2679         https://bugs.webkit.org/show_bug.cgi?id=101790
2680
2681         IDBDatabaseBackendTest.BackingStoreRetention failing
2682         (Requested by jsbell|gardener on #webkit).
2683
2684         * GNUmakefile.list.am:
2685         * Modules/indexeddb/IDBBackingStore.cpp:
2686         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
2687         (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
2688         (WebCore::IDBLevelDBBackingStore::open):
2689         (WebCore::IDBLevelDBBackingStore::getDatabaseNames):
2690         (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
2691         (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
2692         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
2693         (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
2694         (WebCore::IDBLevelDBBackingStore::deleteDatabase):
2695         (WebCore::IDBLevelDBBackingStore::getObjectStores):
2696         (WebCore::IDBLevelDBBackingStore::createObjectStore):
2697         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
2698         (WebCore::IDBLevelDBBackingStore::getRecord):
2699         (WebCore):
2700         (WebCore::IDBLevelDBBackingStore::putRecord):
2701         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
2702         (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier):
2703         (WebCore::IDBLevelDBBackingStore::deleteRecord):
2704         (WebCore::IDBLevelDBBackingStore::getKeyGeneratorCurrentNumber):
2705         (WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
2706         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
2707         (WebCore::IDBLevelDBBackingStore::getIndexes):
2708         (WebCore::IDBLevelDBBackingStore::createIndex):
2709         (WebCore::IDBLevelDBBackingStore::deleteIndex):
2710         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
2711         (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
2712         (WebCore::IDBLevelDBBackingStore::findKeyInIndex):
2713         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
2714         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
2715         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
2716         (WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor):
2717         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
2718         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
2719         (WebCore::IDBLevelDBBackingStore::createTransaction):
2720         (WebCore::IDBLevelDBBackingStore::Transaction::create):
2721         (WebCore::IDBLevelDBBackingStore::Transaction::Transaction):
2722         (WebCore::IDBLevelDBBackingStore::Transaction::begin):
2723         (WebCore::IDBLevelDBBackingStore::Transaction::commit):
2724         (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
2725         (WebCore::IDBLevelDBBackingStore::backingStoreExists):
2726         * Modules/indexeddb/IDBBackingStore.h:
2727         (WebCore):
2728         (WebCore::IDBBackingStore::~IDBBackingStore):
2729         (IDBBackingStore):
2730         (RecordIdentifier):
2731         (WebCore::IDBBackingStore::Cursor::~Cursor):
2732         (WebCore::IDBBackingStore::Transaction::~Transaction):
2733         (Transaction):
2734         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2735         (WebCore::IDBFactoryBackendImpl::openBackingStore):
2736         * Modules/indexeddb/IDBLevelDBBackingStore.h: Copied from Source/WebCore/Modules/indexeddb/IDBBackingStore.h.
2737         (WebCore):
2738         (IDBLevelDBBackingStore):
2739         (Transaction):
2740         (WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransactionFrom):
2741         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2742         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
2743         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2744         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2745         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2746         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
2747         (WebCore::IDBTransactionBackendImpl::abort):
2748         (WebCore::IDBTransactionBackendImpl::commit):
2749         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2750         * Modules/indexeddb/IDBTransactionBackendImpl.h:
2751         (WebCore::IDBTransactionBackendImpl::backingStoreTransaction):
2752         * WebCore.xcodeproj/project.pbxproj:
2753
2754 2012-11-09  Erik Arvidsson  <arv@chromium.org>
2755
2756         REGRESSION (r125239): classList contains() doesn't work after element was moved from strict mode document to quirks mode document
2757         https://bugs.webkit.org/show_bug.cgi?id=101627
2758
2759         Reviewed by Alexey Proskuryakov.
2760
2761         We used to only create m_classNamesForQuirksMode in the constructor or when the class attribute
2762         was changed. If an element is moved from a standards document to a quirks mode document the
2763         m_classNamesForQuirksMode would not be up to date which lead to wrong results.
2764
2765         Now we alway check if m_classNamesForQuirksMode is up to date (in quirks mode only).
2766
2767         Test: fast/dom/Element/class-list-move-between-document-with-different-quirks-mode.html
2768
2769         * html/ClassList.cpp:
2770         (WebCore::ClassList::classNames): Create the m_classNamesForQuirksMode lazily as needed so that
2771                                           it is up to date.
2772         * html/ClassList.h:
2773
2774 2012-11-09  Alec Flett  <alecflett@chromium.org>
2775
2776         IndexedDB: Combine IDBBackingStore and IDBLevelDBBackingStore
2777         https://bugs.webkit.org/show_bug.cgi?id=101415
2778
2779         Reviewed by Tony Chang.
2780
2781         Combine abstract interface IDBBackingStore with its only
2782         implementation, IDBLevelDBBackingStore, to reduce code
2783         complexity. The legacy structure existed to support a SQLLite
2784         IDBBackingStore, but it is no longer worth the complexity to
2785         support this abstraction.
2786
2787         Changes include:
2788         1) Merging IDBLevelDBBackingStore into IDBBackingStore.
2789
2790         2) Merge together IDBBackingStore's inner classes: Cursor,
2791         Transaction, and ObjectStoreRecordIdentfier with their respective
2792         subclasses in IDBLevelDBBackingStore.
2793
2794         3) Simplifying the inner Transaction class to not be refcounted or
2795         virtualized, to allow it to be a simple concrete member of its
2796         owner, IDBTransactionBackendImpl.
2797
2798         No new tests as this is purely a refactor.
2799
2800         * Modules/indexeddb/IDBBackingStore.cpp:
2801         (WebCore::recordInternalError):
2802         (WebCore::setUpMetadata):
2803         (WebCore::IDBBackingStore::IDBBackingStore):
2804         (WebCore):
2805         (WebCore::IDBBackingStore::~IDBBackingStore):
2806         (WebCore::IDBBackingStore::open):
2807         (WebCore::IDBBackingStore::getDatabaseNames):
2808         (WebCore::IDBBackingStore::getIDBDatabaseMetaData):
2809         (WebCore::IDBBackingStore::createIDBDatabaseMetaData):
2810         (WebCore::IDBBackingStore::updateIDBDatabaseIntVersion):
2811         (WebCore::IDBBackingStore::updateIDBDatabaseMetaData):
2812         (WebCore::deleteRange):
2813         (WebCore::IDBBackingStore::deleteDatabase):
2814         (WebCore::IDBBackingStore::getObjectStores):
2815         (WebCore::setMaxObjectStoreId):
2816         (WebCore::IDBBackingStore::createObjectStore):
2817         (WebCore::IDBBackingStore::deleteObjectStore):
2818         (WebCore::IDBBackingStore::getRecord):
2819         (WebCore::IDBBackingStore::putRecord):
2820         (WebCore::IDBBackingStore::clearObjectStore):
2821         (WebCore::IDBBackingStore::deleteRecord):
2822         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
2823         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
2824         (WebCore::IDBBackingStore::keyExistsInObjectStore):
2825         (WebCore::IDBBackingStore::getIndexes):
2826         (WebCore::setMaxIndexId):
2827         (WebCore::IDBBackingStore::createIndex):
2828         (WebCore::IDBBackingStore::deleteIndex):
2829         (WebCore::IDBBackingStore::putIndexDataForRecord):
2830         (WebCore::IDBBackingStore::deleteIndexDataForRecord):
2831         (WebCore::IDBBackingStore::findKeyInIndex):
2832         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
2833         (WebCore::IDBBackingStore::keyExistsInIndex):
2834         (WebCore::IDBBackingStore::Cursor::Cursor):
2835         (WebCore::IDBBackingStore::Cursor::firstSeek):
2836         (WebCore::IDBBackingStore::Cursor::advance):
2837         (WebCore::IDBBackingStore::Cursor::continueFunction):
2838         (WebCore::IDBBackingStore::Cursor::haveEnteredRange):
2839         (WebCore::IDBBackingStore::Cursor::isPastBounds):
2840         (WebCore::ObjectStoreKeyCursorImpl::create):
2841         (ObjectStoreKeyCursorImpl):
2842         (WebCore::ObjectStoreKeyCursorImpl::value):
2843         (WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
2844         (WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
2845         (WebCore::ObjectStoreCursorImpl::create):
2846         (ObjectStoreCursorImpl):
2847         (WebCore::ObjectStoreCursorImpl::value):
2848         (WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
2849         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
2850         (WebCore::IndexKeyCursorImpl::create):
2851         (IndexKeyCursorImpl):
2852         (WebCore::IndexKeyCursorImpl::value):
2853         (WebCore::IndexKeyCursorImpl::primaryKey):
2854         (WebCore::IndexKeyCursorImpl::recordIdentifier):
2855         (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
2856         (WebCore::IndexKeyCursorImpl::loadCurrentRow):
2857         (WebCore::IndexCursorImpl::create):
2858         (IndexCursorImpl):
2859         (WebCore::IndexCursorImpl::value):
2860         (WebCore::IndexCursorImpl::primaryKey):
2861         (WebCore::IndexCursorImpl::recordIdentifier):
2862         (WebCore::IndexCursorImpl::IndexCursorImpl):
2863         (WebCore::IndexCursorImpl::loadCurrentRow):
2864         (WebCore::objectStoreCursorOptions):
2865         (WebCore::indexCursorOptions):
2866         (WebCore::IDBBackingStore::openObjectStoreCursor):
2867         (WebCore::IDBBackingStore::openObjectStoreKeyCursor):
2868         (WebCore::IDBBackingStore::openIndexKeyCursor):
2869         (WebCore::IDBBackingStore::openIndexCursor):
2870         (WebCore::IDBBackingStore::Transaction::Transaction):
2871         (WebCore::IDBBackingStore::Transaction::begin):
2872         (WebCore::IDBBackingStore::Transaction::commit):
2873         (WebCore::IDBBackingStore::Transaction::rollback):
2874         * Modules/indexeddb/IDBBackingStore.h:
2875         (WebCore):
2876         (IDBBackingStore):
2877         (RecordIdentifier):
2878         (WebCore::IDBBackingStore::RecordIdentifier::create):
2879         (WebCore::IDBBackingStore::RecordIdentifier::~RecordIdentifier):
2880         (WebCore::IDBBackingStore::RecordIdentifier::isValid):
2881         (WebCore::IDBBackingStore::RecordIdentifier::primaryKey):
2882         (WebCore::IDBBackingStore::RecordIdentifier::setPrimaryKey):
2883         (WebCore::IDBBackingStore::RecordIdentifier::version):
2884         (WebCore::IDBBackingStore::RecordIdentifier::setVersion):
2885         (WebCore::IDBBackingStore::RecordIdentifier::RecordIdentifier):
2886         (Transaction):
2887         (WebCore::IDBBackingStore::Transaction::levelDBTransactionFrom):
2888         (CursorOptions):
2889         (Cursor):
2890         (WebCore::IDBBackingStore::Cursor::Cursor):
2891         (WebCore::IDBBackingStore::Cursor::key):
2892         (WebCore::IDBBackingStore::Cursor::primaryKey):
2893         (WebCore::IDBBackingStore::Cursor::~Cursor):
2894         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
2895         (WebCore::IDBFactoryBackendImpl::openBackingStore):
2896         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
2897         (WebCore::IDBIndexBackendImpl::countInternal):
2898         * Modules/indexeddb/IDBLevelDBBackingStore.h: Removed.
2899         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2900         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
2901         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2902         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
2903         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
2904         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
2905         (WebCore::IDBTransactionBackendImpl::abort):
2906         (WebCore::IDBTransactionBackendImpl::commit):
2907         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
2908         * Modules/indexeddb/IDBTransactionBackendImpl.h:
2909         (WebCore::IDBTransactionBackendImpl::backingStoreTransaction):
2910         * WebCore.xcodeproj/project.pbxproj:
2911
2912 2012-10-28  Timothy Hatcher  <timothy@apple.com>
2913
2914         Make -webkit-canvas in CSS use the full backing store instead
2915         of always 1x when rendering.
2916
2917         https://bugs.webkit.org/show_bug.cgi?id=100611
2918
2919         Reviewed by Dean Jackson.
2920
2921         Test: fast/canvas/canvas-as-image-hidpi.html
2922
2923         * html/HTMLCanvasElement.cpp:
2924         (WebCore::HTMLCanvasElement::makePresentationCopy): Pass Unscaled to copyImage.
2925         (WebCore::HTMLCanvasElement::copiedImage): Ditto.
2926         * platform/graphics/ImageBuffer.h:
2927         * platform/graphics/cg/ImageBufferCG.cpp:
2928         (WebCore::ImageBuffer::copyImage): Added Scale parameter and use copyNativeImage for Unscaled.
2929         * platform/graphics/cairo/ImageBufferCairo.cpp:
2930         (WebCore::ImageBuffer::copyImage): Added unnamed ScaleBehavior parameter.
2931         * platform/graphics/qt/ImageBufferQt.cpp:
2932         (WebCore::ImageBuffer::copyImage): Ditto.
2933         * platform/graphics/skia/ImageBufferSkia.cpp:
2934         (WebCore::ImageBuffer::copyImage): Ditto.
2935         * platform/graphics/wince/ImageBufferWinCE.cpp:
2936         (WebCore::ImageBuffer::copyImage): Ditto.
2937         * platform/graphics/wx/ImageBufferWx.cpp:
2938         (WebCore::ImageBuffer::copyImage): Ditto.
2939
2940 2012-10-28  Timothy Hatcher  <timothy@apple.com>
2941
2942         Reset the canvas backing store pixel ratio when the buffer resizes.
2943
2944         The backing store was not being recreated using the current page pixel ratio
2945         when a resize occurred.
2946
2947         https://bugs.webkit.org/show_bug.cgi?id=100608
2948
2949         Reviewed by Darin Adler.
2950
2951         Test: fast/canvas/canvas-resize-reset-pixelRatio.html
2952
2953         * html/HTMLCanvasElement.cpp:
2954         (WebCore::HTMLCanvasElement::HTMLCanvasElement): Use targetDeviceScaleFactor.
2955         (WebCore::HTMLCanvasElement::reset): Do a clear only if the pixel ratios also
2956         match. Store the new pixel ratio in m_deviceScaleFactor.
2957         (WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Added.
2958         * html/HTMLCanvasElement.h:
2959         (WebCore::HTMLCanvasElement::setSize): Return early only if the sizes and
2960         pixel ratios match.
2961
2962 2012-11-08  Ryosuke Niwa  <rniwa@webkit.org>
2963
2964         RemoveFormat command doesn't remove background color
2965         https://bugs.webkit.org/show_bug.cgi?id=101682
2966
2967         Reviewed by Tony Chang.
2968
2969         Fixed the bug by removing all non-transparent background-color properties.
2970
2971         Test: editing/execCommand/remove-format-background-color.html
2972
2973         * editing/RemoveFormatCommand.cpp:
2974         (WebCore::RemoveFormatCommand::doApply):
2975
2976 2012-11-09  Alec Flett  <alecflett@chromium.org>
2977
2978         IndexedDB: switch frontend to use int64_t-based references
2979         https://bugs.webkit.org/show_bug.cgi?id=100426
2980
2981         Reviewed by Tony Chang.
2982
2983         Remove String-based objectStore/index references, obsoleted by
2984         https://bugs.webkit.org/show_bug.cgi?id=100425.
2985
2986         No new tests as this is the second half of a refactor.
2987
2988         * Modules/indexeddb/IDBCallbacks.h:
2989         * Modules/indexeddb/IDBDatabase.cpp:
2990         (WebCore::IDBDatabase::deleteObjectStore):
2991         (WebCore::IDBDatabase::transaction):
2992         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2993         (WebCore::IDBDatabaseBackendImpl::setVersion):
2994         (WebCore::IDBDatabaseBackendImpl::transaction):
2995         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
2996         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
2997         (IDBDatabaseBackendImpl):
2998         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
2999         (IDBDatabaseBackendInterface):
3000         * Modules/indexeddb/IDBMetadata.h:
3001         (WebCore::IDBObjectStoreMetadata::findIndex):
3002         (IDBObjectStoreMetadata):
3003         (WebCore::IDBObjectStoreMetadata::containsIndex):
3004         * Modules/indexeddb/IDBObjectStore.cpp:
3005         (WebCore::IDBObjectStore::put):
3006         (WebCore):
3007         (WebCore::IDBObjectStore::index):
3008         (WebCore::IDBObjectStore::deleteIndex):
3009         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3010         (WebCore::IDBObjectStoreBackendImpl::put):
3011         (WebCore):
3012         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
3013         (IDBObjectStoreBackendImpl):
3014         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
3015         * inspector/Inspector-1.0.json:
3016         * inspector/Inspector.json:
3017         * inspector/InspectorIndexedDBAgent.cpp:
3018         (WebCore):
3019         (WebCore::InspectorIndexedDBAgent::requestData):
3020         * inspector/InspectorIndexedDBAgent.h:
3021         (InspectorIndexedDBAgent):
3022
3023 2012-11-09  Mario Sanchez Prada  <mario@webkit.org>
3024
3025         [GTK] Isolate the GTK/Gail/Pango specific code in accessibility/gtk
3026         https://bugs.webkit.org/show_bug.cgi?id=101727
3027
3028         Reviewed by Chris Fleizach.
3029
3030         Added conditional compilation checks for GTK+ specific
3031         accessibility code, to pave the way for sharing this
3032         implementation with other ports (e.g WebKitEFL).
3033
3034         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
3035         (webkitAccessibleTextGetTextAfterOffset): Added conditional
3036         compilation checks, only implementing it in GTK so far.
3037         (webkitAccessibleTextGetTextAtOffset): Ditto.
3038         (webkitAccessibleTextGetTextBeforeOffset): Ditto.
3039         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
3040         (atkParentOfRootObject): Added conditional compilation checks,
3041         only implementing in GTK the part of getting the accessible object
3042         for the root object.
3043         (webkitAccessibleGetParent): Updated comments.
3044         (webkitAccessibleGetNChildren): Ditto.
3045         (webkitAccessibleRefChild): Ditto.
3046         (webkitAccessibleGetIndexInParent): Ditto.
3047         (webkitAccessibleGetAttributes): Only set the 'toolkit' attribute
3048         for GTK. Other ports might be interested in this too.
3049         (setAtkStateSetFromCoreObject): Updated comments.
3050
3051 2012-11-09  Tommy Widenflycht  <tommyw@google.com>
3052
3053         MediaStream API: Don't trigger any object deletion during RTCPeerConnection::stop
3054         https://bugs.webkit.org/show_bug.cgi?id=101586
3055
3056         Reviewed by Adam Barth.
3057
3058         Stop calling stop on the RTCPeerConnectionHandler, and don't delete it, when
3059         ActiveDOMObject::stop is called on RTCPeerConnection. Due to the async nature of the new
3060         API some WebCore objects might be cleaned away which is not allowed at this stage.
3061
3062         This behaviour is not possible to test unfortunately in webkit.
3063
3064         * Modules/mediastream/RTCPeerConnection.cpp:
3065         (WebCore::RTCPeerConnection::stop):
3066
3067 2012-11-09  Joshua Bell  <jsbell@chromium.org>
3068
3069         [Chromium] Unreviewed gardening. Fix chromium-win builds following r134082
3070
3071         * WebCore.gypi:
3072
3073 2012-11-09  Dan Carney  <dcarney@google.com>
3074
3075         [V8] Remove ScriptController::windowShell()
3076         https://bugs.webkit.org/show_bug.cgi?id=100235
3077
3078         Reviewed by Adam Barth.
3079
3080         Refactored windowShell(DOMWrapperWorld*) and
3081         existingWindowShell(DOMWrapperWorld*) to be like JSC.
3082
3083         No new tests. No change in functionality.
3084
3085         * bindings/scripts/CodeGeneratorV8.pm:
3086         (GenerateToV8Converters):
3087         * bindings/v8/DOMWrapperWorld.cpp:
3088         (WebCore::isolatedWorldMap):
3089         (WebCore::DOMWrapperWorld::getAllWorlds):
3090         (WebCore):
3091         * bindings/v8/DOMWrapperWorld.h:
3092         (DOMWrapperWorld):
3093         * bindings/v8/PageScriptDebugServer.cpp:
3094         (WebCore::PageScriptDebugServer::addListener):
3095         * bindings/v8/ScriptController.cpp:
3096         (WebCore::ScriptController::~ScriptController):
3097         (WebCore::ScriptController::clearForOutOfMemory):
3098         (WebCore):
3099         (WebCore::ScriptController::clearForClose):
3100         (WebCore::ScriptController::updateSecurityOrigin):
3101         (WebCore::ScriptController::initializeMainWorld): Returns true if the main world was initialized.
3102         (WebCore::existingWindowShellWorkaroundWorld):
3103         (WebCore::ScriptController::existingWindowShell):
3104         (WebCore::ScriptController::windowShell):
3105         (WebCore::ScriptController::evaluateInIsolatedWorld):
3106         (WebCore::ScriptController::currentWorldContext):
3107         (WebCore::ScriptController::mainWorldContext):
3108         (WebCore::ScriptController::haveInterpreter):
3109         (WebCore::ScriptController::enableEval):
3110         (WebCore::ScriptController::disableEval):
3111         (WebCore::ScriptController::clearWindowShell):
3112         (WebCore::ScriptController::setContextDebugId):
3113         (WebCore::ScriptController::updateDocument):
3114         (WebCore::ScriptController::namedItemAdded):
3115         (WebCore::ScriptController::namedItemRemoved):
3116         * bindings/v8/ScriptController.h:
3117         (ScriptController):
3118         (WebCore::ScriptController::getAllWorlds):
3119         * bindings/v8/V8Binding.cpp:
3120         (WebCore::perContextDataForCurrentWorld):
3121         (WebCore::handleOutOfMemory):
3122         * bindings/v8/V8DOMWindowShell.cpp:
3123         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3124         (WebCore::V8DOMWindowShell::updateDocument):
3125         (WebCore::V8DOMWindowShell::namedItemAdded):
3126         (WebCore::V8DOMWindowShell::namedItemRemoved):
3127         * bindings/v8/V8DOMWindowShell.h:
3128         (WebCore::V8DOMWindowShell::isContextInitialized):
3129         (WebCore::V8DOMWindowShell::isGlobalInitialized):
3130         * bindings/v8/custom/V8DocumentCustom.cpp:
3131         (WebCore::toV8):
3132         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3133         (WebCore::toV8):
3134         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
3135         (WebCore::toV8):
3136
3137 2012-11-09  Adam Barth  <abarth@webkit.org>
3138
3139         [V8] Remove a level of indirection in DOMDataStore
3140         https://bugs.webkit.org/show_bug.cgi?id=101690
3141
3142         Reviewed by Kentaro Hara.
3143
3144         There is no longer any reason for the DOMDataStore to hold the wrapper
3145         map via a pointer. It can just hold the wrapper map directly, saving a
3146         level of indirection. I doubt this has any measurable performance gain.
3147
3148         * bindings/v8/DOMDataStore.cpp:
3149         (WebCore::DOMDataStore::DOMDataStore):
3150         (WebCore::DOMDataStore::~DOMDataStore):
3151         (WebCore::DOMDataStore::reportMemoryUsage):
3152         * bindings/v8/DOMDataStore.h:
3153         (WebCore::DOMDataStore::get):
3154         (WebCore::DOMDataStore::set):
3155         (DOMDataStore):
3156
3157 2012-11-09  Mihnea Ovidenie  <mihnea@adobe.com>
3158
3159         [CSSRegions] Region styling properties are not filtered correctly
3160         https://bugs.webkit.org/show_bug.cgi?id=101768
3161
3162         Reviewed by Andreas Kling.
3163
3164         Region styling allows only a handful of css properties. There is a mechanism in place,
3165         in StyleResolver::isValidRegionStyleProperty that filters the supported region style properties.
3166         In order to be effective, this mechanism relies on RuleData::m_isInRegionRule being set correctly.
3167         This patch makes sure that the flag RuleData::m_isInRegionRule is set properly in RuleData constructor.
3168
3169         Test: fast/regions/region-style-not-supported-properties.html
3170
3171         * css/RuleSet.cpp:
3172         (WebCore::RuleData::RuleData):
3173
3174 2012-11-09  Tommy Widenflycht  <tommyw@google.com>
3175
3176         MediaStream API: Deleting all files relating to the deprecated PeerConnection00
3177         https://bugs.webkit.org/show_bug.cgi?id=101730
3178
3179         Reviewed by Adam Barth.
3180
3181         Since RTCPeerConenction has superseeded PeerConnection00 this patch removes all
3182         files relating to the old API.
3183
3184         No testing needed, the remaining tests makes sure that nothing else breaks.
3185
3186         * CMakeLists.txt:
3187         * GNUmakefile.list.am:
3188         * Modules/mediastream/DOMWindowMediaStream.idl:
3189         * Modules/mediastream/IceCallback.h: Removed.
3190         * Modules/mediastream/IceCallback.idl: Removed.
3191         * Modules/mediastream/IceCandidate.cpp: Removed.
3192         * Modules/mediastream/IceCandidate.h: Removed.
3193         * Modules/mediastream/IceCandidate.idl: Removed.
3194         * Modules/mediastream/PeerConnection00.cpp: Removed.
3195         * Modules/mediastream/PeerConnection00.h: Removed.
3196         * Modules/mediastream/PeerConnection00.idl: Removed.
3197         * Modules/mediastream/SessionDescription.cpp: Removed.
3198         * Modules/mediastream/SessionDescription.h: Removed.
3199         * Modules/mediastream/SessionDescription.idl: Removed.
3200         * WebCore.gypi:
3201         * bindings/generic/RuntimeEnabledFeatures.cpp:
3202         (WebCore):
3203         * bindings/generic/RuntimeEnabledFeatures.h:
3204         (RuntimeEnabledFeatures):
3205         * dom/EventTargetFactory.in:
3206         * platform/chromium/support/WebICECandidateDescriptor.cpp: Removed.
3207         * platform/chromium/support/WebICEOptions.cpp: Removed.
3208         * platform/chromium/support/WebMediaHints.cpp: Removed.
3209         * platform/mediastream/IceCandidateDescriptor.cpp: Removed.
3210         * platform/mediastream/IceCandidateDescriptor.h: Removed.
3211         * platform/mediastream/IceOptions.cpp: Removed.
3212         * platform/mediastream/IceOptions.h: Removed.
3213         * platform/mediastream/MediaHints.cpp: Removed.
3214         * platform/mediastream/MediaHints.h: Removed.
3215         * platform/mediastream/MediaStreamCenter.h:
3216         (WebCore):
3217         (MediaStreamCenter):
3218         * platform/mediastream/PeerConnection00Handler.cpp: Removed.
3219         * platform/mediastream/PeerConnection00Handler.h: Removed.
3220         * platform/mediastream/PeerConnection00HandlerClient.h: Removed.
3221         * platform/mediastream/SessionDescriptionDescriptor.cpp: Removed.
3222         * platform/mediastream/SessionDescriptionDescriptor.h: Removed.
3223         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
3224         * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
3225         (WebCore):
3226         (MediaStreamCenterBlackBerry):
3227         * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
3228         * platform/mediastream/chromium/MediaStreamCenterChromium.h:
3229         (WebCore):
3230         (MediaStreamCenterChromium):
3231         * platform/mediastream/chromium/PeerConnection00Handler.cpp: Removed.
3232         * platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp: Removed.
3233         * platform/mediastream/chromium/PeerConnection00HandlerInternal.h: Removed.
3234         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
3235         * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
3236         (WebCore):
3237         (MediaStreamCenterGStreamer):
3238
3239 2012-11-09  Jer Noble  <jer.noble@apple.com>
3240
3241         Plugin diagnostic logging should send plugin file basename instead of MIME type.
3242         https://bugs.webkit.org/show_bug.cgi?id=101679
3243
3244         Reviewed by Eric Carlson.
3245
3246         Log the basename of the plugin file rather than the mime type so as to more
3247         accurately log which plugin was used to handle the request.
3248
3249         * loader/SubframeLoader.cpp:
3250         (WebCore::logPluginRequest): Log the plugin 'file' field, if present.
3251         * plugins/PluginData.cpp:
3252         (WebCore::PluginData::pluginInfoForMimeType): Factored out from pluginNameForMimeType.
3253         (WebCore::PluginData::pluginNameForMimeType): Use pluginInfoForMimeType to retrieve name field.
3254         (WebCore::PluginData::pluginFileForMimeType): Use pluginInfoForMimeType to retrieve file field.
3255         * plugins/PluginData.h:
3256
3257 2012-11-09  Alexey Proskuryakov  <ap@apple.com>
3258
3259         CookieJar uses Document class, which is a layering violation
3260         https://bugs.webkit.org/show_bug.cgi?id=101621
3261
3262         Reviewed by Brady Eidson.
3263
3264         Split CookieJar in two parts, one that takes a Document, and another that is a pure
3265         platform one, using NetworkingContext to access the correct platform storage.
3266
3267         * GNUmakefile.list.am:
3268         * PlatformBlackBerry.cmake:
3269         * Target.pri:
3270         * WebCore.gypi:
3271         * WebCore.gyp/WebCore.gyp:
3272         * WebCore.vcproj/WebCore.vcproj:
3273         * WebCore.xcodeproj/project.pbxproj:
3274         Updated.
3275
3276         * loader/CookieJar.cpp: Added.
3277         (WebCore::networkingContext):
3278         (WebCore::cookies):
3279         (WebCore::setCookies):
3280         (WebCore::cookiesEnabled):
3281         (WebCore::cookieRequestHeaderFieldValue):
3282         (WebCore::getRawCookies):
3283         (WebCore::deleteCookie):
3284         (WebCore::getHostnamesWithCookies):
3285         (WebCore::deleteCookiesForHostname):
3286         (WebCore::deleteAllCookies):
3287         * loader/CookieJar.h: Copied from Source/WebCore/platform/CookieJar.h.
3288         This is an adaptor for pure platform implementations. Clients continue to use the
3289         old interface unchanged.
3290
3291         * platform/blackberry/CookieJarBlackBerry.cpp: Removed.
3292         * loader/blackberry/CookieJarBlackBerry.cpp: Copied from Source/WebCore/platform/blackberry/CookieJarBlackBerry.cpp.
3293         * platform/network/chromium/CookieJarChromium.cpp: Removed.
3294         * loader/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/platform/network/chromium/CookieJarChromium.cpp.
3295         These platforms do not have a pure platform implementation yet, so they just keep
3296         to use original implementations. Since the code is not in platform/ any more, the
3297         violation is resolved for Chromium and Blackberry, too.
3298
3299         * platform/CookieJar.h: Removed.
3300         * platform/network/PlatformCookieJar.h: Copied from Source/WebCore/platform/CookieJar.h.
3301         The platform interface is now more uniform - all functions take a NetworkingContext
3302         instead of hardcoding which cookie storage to use in some cases.
3303         Renamed functions that are only useful for document.cookie implementation to look
3304         less generic.
3305
3306         * platform/mac/CookieJar.mm: Removed.
3307         * platform/network/mac/CookieJarMac.mm: Copied from Source/WebCore/platform/mac/CookieJar.mm.
3308         (WebCore::cookiesForDOM): This now takes a context instead of Document, and also
3309         takes a firstParty URL (unused on Mac, but used on some other platforms).
3310         (WebCore::cookieRequestHeaderFieldValue): Get cookie storage from context (and
3311         use shared one if context is null).
3312         (WebCore::setCookiesFromDOM): Ditto.
3313         (WebCore::cookiesEnabled): Ditto.
3314         (WebCore::getRawCookies): Ditto.
3315         (WebCore::deleteCookie): Ditto.
3316         (WebCore::getHostnamesWithCookies): Ditto. This used to only support default storage,
3317         but its cleaner to have a uniform interface.
3318         (WebCore::deleteCookiesForHostname): Ditto.
3319         (WebCore::deleteAllCookies): Ditto.
3320
3321         * platform/network/cf/CookieJarCFNet.cpp:
3322         Same changes as on Mac.
3323
3324         * platform/network/curl/CookieJarCurl.cpp:
3325         Updated for new interface. Implementation is largely a dummy one.
3326
3327         * platform/qt/CookieJarQt.h: Removed.
3328         * platform/network/qt/CookieJarQt.h: Copied from Source/WebCore/platform/qt/CookieJarQt.h.
3329         Moved to a common location, most cookie files were in network/ already.
3330
3331         * platform/qt/CookieJarQt.cpp: Removed.
3332         * platform/network/qt/CookieJarQt.cpp: Copied from Source/WebCore/platform/qt/CookieJarQt.cpp.
3333         (WebCore::setCookiesFromDOM): Use context's or shared cooke jar as appropriate.
3334         (WebCore::cookiesForDOM): Ditto.
3335         (WebCore::cookieRequestHeaderFieldValue): Ditto.
3336         (WebCore::cookiesEnabled): Ditto.
3337         (WebCore::getRawCookies): Ditto.
3338         (WebCore::deleteCookie): Ditto.
3339         (WebCore::getHostnamesWithCookies): Back-end implementation can only handle shared
3340         jar here, assert that argument does not request another one.
3341         (WebCore::deleteCookiesForHostname): Ditto.
3342         (WebCore::deleteAllCookies): Ditto.
3343
3344         * platform/network/soup/CookieJarSoup.cpp:
3345         (WebCore::cookieJarForContext):
3346         (WebCore::setCookiesFromDOM):
3347         (WebCore::cookiesForContext):
3348         (WebCore::cookiesForDOM):
3349         (WebCore::cookieRequestHeaderFieldValue):
3350         (WebCore::cookiesEnabled):
3351         (WebCore::getRawCookies):
3352         (WebCore::deleteCookie):
3353         (WebCore::getHostnamesWithCookies):
3354         (WebCore::deleteCookiesForHostname):
3355         (WebCore::deleteAllCookies):
3356         Updated for new function signatures, and use the same cross-platform logic for
3357         choosing a cookie jar.
3358
3359         * platform/network/soup/CookieJarSoup.h: Don't include unnecessary CooieJar.h.
3360         
3361         * platform/network/win/CookieJarWin.cpp:
3362         (WebCore::setCookiesFromDOM):
3363         (WebCore::cookiesForDOM):
3364         (WebCore::cookieRequestHeaderFieldValue):
3365         (WebCore::cookiesEnabled):
3366         (WebCore::getRawCookies):
3367         (WebCore::deleteCookie):
3368         (WebCore::getHostnamesWithCookies):
3369         (WebCore::deleteCookiesForHostname):
3370         (WebCore::deleteAllCookies):
3371         Updated for new function signatures.
3372
3373 2012-11-09  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3374
3375         [css] Text decoration's "blink" not valid when CSS3_TEXT is enabled
3376         https://bugs.webkit.org/show_bug.cgi?id=101750
3377
3378         Reviewed by Ojan Vafai.
3379
3380         This patch fixes an issue regarding "blink" value, which is valid for CSS 2.1
3381         "text-decoration" property, but recently have its parser function modified by
3382         the addition of CSS3 "-webkit-text-decoration-line" property.
3383
3384         The 'fast/css/getComputedStyle/getComputedStyle-text-decoration.html'
3385         layout test is updated with all possible value combinations.
3386
3387         * css/CSSParser.cpp:
3388         (WebCore::CSSParser::parseTextDecoration): Added 'blink' value to list
3389         if accepted.
3390
3391 2012-11-09  Xan Lopez  <xlopez@igalia.com>
3392
3393         [GTK] Do not use 'ls' to list IDL files in EXTRA_DIST
3394         https://bugs.webkit.org/show_bug.cgi?id=101581
3395
3396         Reviewed by Martin Robinson.
3397
3398         Use normal GNU Make wildcards instead of 'ls' to list files in
3399         EXTRA_DIST, it's safer and more straightforward.
3400
3401         * GNUmakefile.am: ditto.
3402
3403 2012-11-09  Charles Wei  <charles.wei@torchmobile.com.cn>
3404
3405         Need to clear exception in JSDictionary that might have been caused by previous operation.
3406         https://bugs.webkit.org/show_bug.cgi?id=96614
3407
3408         Reviewed by George Staikos.
3409
3410         IndexedDB IDBDatabase::createObjectStore supports both String type of KeyPath and
3411         String Array type of KeyPath. It will first try to get the keyPath as a String Array,
3412         if fails, it will try to get KeyPath as a String, from the Dictionary. The first get
3413         will leave the internal ExecState of Dictionary in exception state. We need to clear
3414         the exception state before the 2nd query, otherwise the second query will also fail.
3415
3416         No new tests. The existing test case LayoutTests/storage/indexeddb/tutorial.html should
3417         now work with this patch.
3418         * bindings/js/JSDictionary.cpp:
3419         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
3420
3421 2012-11-09  Keishi Hattori  <keishi@webkit.org>
3422
3423         Month/week picker should submit month/week string
3424         https://bugs.webkit.org/show_bug.cgi?id=101744
3425
3426         Reviewed by Kent Tamura.
3427
3428         Month/week picker should submit month/week string and not yyyy-mm-dd.
3429
3430         No new tests. Test will be added in Bug 101555 and Bug 101556.
3431
3432         * Resources/pagepopups/calendarPicker.js:
3433         (DaysTable.prototype._handleDayClick):
3434
3435 2012-11-07  Pavel Feldman  <pfeldman@chromium.org>
3436
3437         Web Inspector: wrong output for empty object {}
3438         https://bugs.webkit.org/show_bug.cgi?id=101356
3439
3440         Reviewed by Vsevolod Vlasov.
3441
3442         Changed preview formatting to iterate over enumerable properties only + visit the prototypes.
3443
3444         * inspector/InjectedScriptSource.js:
3445         (.):
3446         * inspector/front-end/ConsoleMessage.js:
3447         (WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
3448
3449 2012-11-09  Keishi Hattori  <keishi@webkit.org>
3450
3451         Fix annotations in page popup files
3452         https://bugs.webkit.org/show_bug.cgi?id=101736
3453
3454         Reviewed by Kent Tamura.
3455
3456         Add @constructor where needed. Replacing /* with /** for annotations.
3457
3458         No new tests. No behavior change.
3459
3460         * Resources/pagepopups/calendarPicker.js:
3461         * Resources/pagepopups/pickerCommon.js:
3462         * Resources/pagepopups/suggestionPicker.js:
3463
3464 2012-11-09  Huang Dongsung  <luxtella@company100.net>
3465
3466         Coordinated Graphics: Remove a backing store of GraphicsLayer when the layer is far from the viewport.
3467         https://bugs.webkit.org/show_bug.cgi?id=101656
3468
3469         Reviewed by Kenneth Rohde Christiansen.
3470
3471         TiledBackingStore computes cover and keep rects to create, keep or remove tiles
3472         smartly, but currently TiledBackingStore expects a contents rect is big enough
3473         to cover the visibleRect. However, when CoordinatedGraphicsLayer uses TBS, it
3474         is usually wrong expectation.
3475
3476         We must compute cover and keep rects using the visibleRect, instead of
3477         the rect intersecting the visibleRect with m_rect, because TBS can be
3478         used as a backing store of GraphicsLayer and the visible rect usually
3479         does not intersect with m_rect.
3480         In the below case, the intersecting rect is an empty.
3481
3482          +---------------+
3483          |               |
3484          |   m_rect      |
3485          |       +-------|-----------------------+
3486          |       | HERE  |  cover or keep        |
3487          +---------------+      rect             |
3488                  |         +---------+           |
3489                  |         | visible |           |
3490                  |         |  rect   |           |
3491                  |         +---------+           |
3492                  |                               |
3493                  |                               |
3494                  +-------------------------------+
3495
3496         We must create or keep the tiles in the HERE region. Currently in the
3497         case, we do not create or keep tiles on the HERE region. Moreover, in
3498         the case, we early return, which means we don't remove any tiles. It
3499         causes to waste heap and video memory.
3500
3501         This patch changes TiledBackingStore to manage tiles smartly for
3502         Coordinated Graphics.
3503
3504         Changing cache policy is not testable in layout tests.
3505
3506         * platform/graphics/TiledBackingStore.cpp:
3507         (WebCore::TiledBackingStore::visibleRect):
3508         (WebCore::TiledBackingStore::visibleAreaIsCovered):
3509         (WebCore::TiledBackingStore::createTiles):
3510         (WebCore::TiledBackingStore::adjustForContentsRect):
3511         (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
3512         * platform/graphics/TiledBackingStore.h:
3513         (TiledBackingStore):
3514
3515 2012-11-09  Keishi Hattori  <keishi@webkit.org>
3516
3517         Fix undefined variable in Week constructor for calendar picker
3518         https://bugs.webkit.org/show_bug.cgi?id=101734
3519
3520         Reviewed by Kent Tamura.
3521
3522         Closer compiler found an undefined variable in the Week constructor.
3523
3524         No new tests. This code isn't used.
3525
3526         * Resources/pagepopups/calendarPicker.js:
3527         (Week): Used wrong variable name.
3528
3529 2012-11-09  Pavel Feldman  <pfeldman@chromium.org>
3530
3531         Web Inspector: render canvas log as a grid.
3532         https://bugs.webkit.org/show_bug.cgi?id=101732
3533
3534         Reviewed by Vsevolod Vlasov.
3535
3536         * English.lproj/localizedStrings.js:
3537         * inspector/front-end/CanvasProfileView.js:
3538         (WebInspector.CanvasProfileView):
3539         (WebInspector.CanvasProfileView.prototype._onSelectTraceLog):
3540         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
3541         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
3542         (WebInspector.CanvasProfileHeader.prototype.traceLogId):
3543         (WebInspector.CanvasLogGrid):
3544         (WebInspector.CanvasLogGrid.prototype._didReceiveTraceLog):
3545         (WebInspector.CanvasLogGrid.prototype._createCallNode):
3546         * inspector/front-end/DataGrid.js:
3547         (WebInspector.DataGridNode.prototype.createCell):
3548         * inspector/front-end/canvasProfiler.css:
3549         (#canvas-replay-image-container):
3550
3551 2012-11-09  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3552
3553         Regression(r107593) Crash in ContextMenuController::addInspectElementItem()
3554         https://bugs.webkit.org/show_bug.cgi?id=101595
3555
3556         Reviewed by Simon Hausmann.
3557
3558         If the contextMenu is a null pointer treat it as empty, appendItem will later
3559         create it if necessary.
3560
3561         * page/ContextMenuController.cpp:
3562         (WebCore::ContextMenuController::addInspectElementItem):
3563
3564 2012-11-09  Christophe Dumez  <christophe.dumez@intel.com>
3565
3566         [EFL][WK2] Add support for custom cursors
3567         https://bugs.webkit.org/show_bug.cgi?id=101723
3568
3569         Reviewed by Kenneth Rohde Christiansen.
3570
3571         Add getEvasObject() virtual method to Image class and
3572         provide implementation for BitmapImage.
3573
3574         No new tests, no behavior change.
3575
3576         * platform/efl/CursorEfl.cpp:
3577         (WebCore::cursorString):
3578         * platform/graphics/BitmapImage.h:
3579         (BitmapImage):
3580         * platform/graphics/Image.h:
3581         (Image):
3582         (WebCore::Image::getEvasObject):
3583         * platform/graphics/efl/ImageEfl.cpp:
3584         (WebCore::BitmapImage::getEvasObject):
3585         (WebCore):
3586
3587 2012-11-09  Adam Barth  <abarth@webkit.org>
3588
3589         IndexedDB should use mostly ScriptWrappable DOM objects
3590         https://bugs.webkit.org/show_bug.cgi?id=101694
3591
3592         Reviewed by Kentaro Hara.
3593
3594         These object always have JavaScript wrappers, so we should store the
3595         wrappers inline to use less memory and be faster.
3596
3597         * Modules/indexeddb/IDBAny.h:
3598         * Modules/indexeddb/IDBCursor.h:
3599         * Modules/indexeddb/IDBDatabase.h:
3600         * Modules/indexeddb/IDBFactory.h:
3601         * Modules/indexeddb/IDBIndex.h:
3602         * Modules/indexeddb/IDBKey.h:
3603         * Modules/indexeddb/IDBKeyRange.h:
3604         * Modules/indexeddb/IDBObjectStore.h:
3605         * Modules/indexeddb/IDBRequest.h:
3606         * Modules/indexeddb/IDBTransaction.h:
3607
3608 2012-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
3609
3610         Web Inspector: Add meaningful error message when request content was evicted from inspector cache.
3611         https://bugs.webkit.org/show_bug.cgi?id=101578
3612
3613         Reviewed by Yury Semikhatsky.
3614
3615         Added specific error message when request content was evicted from inspector cache.
3616         Replaced purge with evict in fields/methods names.
3617
3618         * inspector/InspectorResourceAgent.cpp:
3619         (WebCore::InspectorResourceAgent::getResponseBody):
3620         * inspector/NetworkResourcesData.cpp:
3621         (WebCore::NetworkResourcesData::ResourceData::ResourceData):
3622         (WebCore::NetworkResourcesData::ResourceData::evictContent):
3623         (WebCore::NetworkResourcesData::setResourceContent):
3624         (WebCore::NetworkResourcesData::maybeAddResourceData):
3625         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
3626         (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
3627         (WebCore::NetworkResourcesData::ensureFreeSpace):
3628         * inspector/NetworkResourcesData.h:
3629         (WebCore::NetworkResourcesData::ResourceData::isContentEvicted):
3630         (ResourceData):
3631
3632 2012-11-09  Kent Tamura  <tkent@chromium.org>
3633
3634         Don't use RenderTextControlSingleLine for date/time input types without the multiple-fields UI
3635         https://bugs.webkit.org/show_bug.cgi?id=101722
3636
3637         Reviewed by Hajime Morita.
3638
3639         Because the date/time input types are not textfields, we should not use
3640         RenderTextControlSingleLine, and don't need to create shadow trees for
3641         RenderTextControlSingleLine.
3642
3643         No new tests. Covered by fast/forms/*/*-appearance-*.html.
3644
3645         * css/html.css:
3646         (input[type="date"]):
3647         It has menulist appeanrace by default, and should be a flexible box to
3648         center the inner text. 10em width is almost same as the default width of
3649         text fields.
3650         (input[type="datetime"]): Ditto.
3651         (input[type="datetime-local"]): Ditto.
3652         (input[type="month"]): Ditto.
3653         (input[type="time"]): Ditto.
3654         (input[type="week"]): Ditto.
3655         (input::-webkit-date-and-time-value):
3656         Added. A style for the inner text block.
3657         * html/BaseChooserOnlyDateAndTimeInputType.cpp:
3658         (WebCore::BaseChooserOnlyDateAndTimeInputType::createRenderer):
3659         Don't create RenderTextControlSingleLine.
3660         (WebCore::BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue):
3661         Skip TextFieldInputType::updateInnerTextValue.
3662         (WebCore::BaseChooserOnlyDateAndTimeInputType::forwardEvent):
3663         Skip TextFieldInputType::forwardEvent.
3664         (WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree):
3665         Just add one element to the shadow root.
3666         (WebCore::BaseChooserOnlyDateAndTimeInputType::updateAppearance):
3667         Sets a localized value to the inner text block.
3668         (WebCore::BaseChooserOnlyDateAndTimeInputType::setValue):
3669         Calls updateAppearance if the value is updated.
3670         * html/BaseChooserOnlyDateAndTimeInputType.h:
3671         (BaseChooserOnlyDateAndTimeInputType): Declare updateAppearance,
3672         createRenderer, updateInnerTextValue, forwardEvent, createShadowSubtree,
3673         and setValue.
3674         * html/BaseDateAndTimeInputType.h:
3675         (WebCore): Add a FIXME comment.
3676         (BaseDateAndTimeInputType):
3677         Make visibleValue protected. It is used by BaseChooserOnlyDateAndTimeInputType.
3678         * html/TextFieldInputType.h:
3679         (TextFieldInputType):
3680         Make setValue protected. It is used by BaseChooserOnlyDateAndTimeInputType.
3681
3682 2012-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
3683
3684         Web Inspector: Clarify meaning of different urls in protocol.
3685         https://bugs.webkit.org/show_bug.cgi?id=101582
3686
3687         Reviewed by Yury Semikhatsky.
3688
3689         * inspector/Inspector.json:
3690
3691 2012-11-09  Keishi Hattori  <keishi@webkit.org>
3692
3693         Month picker should select the current month when navigating while keeping selection position.
3694         https://bugs.webkit.org/show_bug.cgi?id=101724
3695
3696         Reviewed by Kent Tamura.
3697
3698         Month picker needs to behave differently because selection won't be in the same position when changing current month.
3699
3700         No new tests. Test will be added in Bug 101556.
3701
3702         * Resources/pagepopups/calendarPicker.js:
3703         (DaysTable.prototype.navigateToMonth): Date/Week picker should keep selection position for first selected date node.
3704         (DaysTable.prototype._startMoveInAnimation): Moving shared code to separate function.
3705         (MonthPickerDaysTable.prototype.navigateToMonth): Month picker should just select the month.
3706
3707 2012-11-09  Alexei Filippov  <alph@chromium.org>
3708
3709         Web Inspector: Fix heap snapshots counted several times by NMI
3710         https://bugs.webkit.org/show_bug.cgi?id=101085
3711
3712         The fix moves snapshots size counting to V8PerIsolateData class. As long
3713         as it has one instance per isolate its reportMemoryUsage should be
3714         called once per isolate.
3715
3716         Reviewed by Yury Semikhatsky.
3717
3718         * bindings/v8/V8PerIsolateData.cpp:
3719         (WebCore::V8PerIsolateData::reportMemoryUsage):
3720         * inspector/InspectorProfilerAgent.cpp:
3721         (WebCore::InspectorProfilerAgent::reportMemoryUsage):
3722
3723 2012-11-08  Pavel Feldman  <pfeldman@chromium.org>
3724
3725         Web Inspector: split SplitView into SplitView and SidebarView
3726         https://bugs.webkit.org/show_bug.cgi?id=101612
3727
3728         Reviewed by Vsevolod Vlasov.
3729
3730         Currently, SplitView is rather a sidebar view. I'm extracting the reusable split component from it.
3731
3732         * WebCore.gypi:
3733         * WebCore.vcproj/WebCore.vcproj:
3734         * inspector/compile-front-end.py:
3735         * inspector/front-end/AuditsPanel.js:
3736         (WebInspector.AuditsPanel):
3737         * inspector/front-end/CSSNamedFlowCollectionsView.js:
3738         (WebInspector.CSSNamedFlowCollectionsView):
3739         (WebInspector.CSSNamedFlowCollectionsView.prototype.wasShown):
3740         * inspector/front-end/ElementsPanel.js:
3741         * inspector/front-end/FileSystemView.js:
3742         (WebInspector.FileSystemView):
3743         * inspector/front-end/MemoryStatistics.js:
3744         (WebInspector.CounterUI):
3745         (WebInspector.MemoryStatistics.prototype.setTopPosition):
3746         (WebInspector.MemoryStatistics.prototype.setSidebarWidth):
3747         (WebInspector.MemoryStatistics.prototype.visible):
3748         (WebInspector.MemoryStatistics.prototype.show):
3749         (WebInspector.MemoryStatistics.prototype.hide):
3750         * inspector/front-end/NavigatorOverlayController.js:
3751         (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
3752         (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
3753         (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
3754         (WebInspector.NavigatorOverlayController.prototype._innerHideNavigatorOverlay):
3755         * inspector/front-end/NetworkPanel.js:
3756         * inspector/front-end/Panel.js:
3757         (WebInspector.Panel.prototype.createSidebarView):
3758         (WebInspector.Panel.prototype.createSidebarViewWithTree):
3759         * inspector/front-end/ProfilesPanel.js:
3760         (WebInspector.ProfilesPanel):
3761         * inspector/front-end/ResourcesPanel.js:
3762         * inspector/front-end/ScriptsPanel.js:
3763         (WebInspector.ScriptsPanel):
3764         * inspector/front-end/SidebarView.js: Added.
3765         (WebInspector.SidebarView):
3766         (WebInspector.SidebarView.prototype._hasLeftSidebar):
3767         (WebInspector.SidebarView.prototype.get mainElement):
3768         (WebInspector.SidebarView.prototype.get sidebarElement):
3769         (WebInspector.SidebarView.prototype._innerSetSidebarPosition):
3770         (WebInspector.SidebarView.prototype.setMinimalSidebarWidth):
3771         (WebInspector.SidebarView.prototype.setMinimalMainWidthPercent):
3772         (WebInspector.SidebarView.prototype.setSidebarWidth):
3773         (WebInspector.SidebarView.prototype.sidebarWidth):
3774         (WebInspector.SidebarView.prototype.onResize):
3775         (WebInspector.SidebarView.prototype.applyConstraints):
3776         (WebInspector.SidebarView.prototype.hideMainElement):
3777         (WebInspector.SidebarView.prototype.showMainElement):
3778         (WebInspector.SidebarView.prototype.hideSidebarElement):
3779         (WebInspector.SidebarView.prototype.showSidebarElement):
3780         (WebInspector.SidebarView.prototype.elementsToRestoreScrollPositionsFor):
3781         * inspector/front-end/SplitView.js:
3782         (WebInspector.SplitView):
3783         (WebInspector.SplitView.prototype.firstElement):
3784         (WebInspector.SplitView.prototype.secondElement):
3785         (WebInspector.SplitView.prototype.setChangeFirstOnResize):
3786         (WebInspector.SplitView.prototype.resizerElement):
3787         (WebInspector.SplitView.prototype.showOnlyFirst):
3788         (WebInspector.SplitView.prototype.showOnlySecond):
3789         (WebInspector.SplitView.prototype._showOnly):
3790         (WebInspector.SplitView.prototype._removeAllLayoutProperties):
3791         (WebInspector.SplitView.prototype.showBoth):
3792         (WebInspector.SplitView.prototype.setResizable):
3793         (WebInspector.SplitView.prototype.setSplitOffset):
3794         (WebInspector.SplitView.prototype.splitOffset):
3795         (WebInspector.SplitView.prototype._innerSetSplitOffset):
3796         (WebInspector.SplitView.prototype._startResizerDragging):
3797         * inspector/front-end/TimelinePanel.js:
3798         * inspector/front-end/WebKit.qrc:
3799         * inspector/front-end/inspector.html:
3800         * inspector/front-end/splitView.css:
3801
3802 2012-11-09  Andrey Lushnikov  <lushnikov@google.com>
3803
3804         Web Inspector: Ctrl+A in the network panel should select resource content, not the entire panel
3805         https://bugs.webkit.org/show_bug.cgi?id=101591
3806
3807         Reviewed by Vsevolod Vlasov.
3808
3809         Intercept Ctrl+A event in DefaultTextEditor to select resource content
3810
3811         * inspector/front-end/DefaultTextEditor.js:
3812         (WebInspector.DefaultTextEditor.prototype._registerShortcuts): Added Ctrl+A
3813         (WebInspector.DefaultTextEditor.prototype._handleKeyDown): Intercept Ctrl+A even for readonly fields
3814         (WebInspector.TextEditorMainPanel.prototype.handleSelectAll):
3815         * inspector/front-end/KeyboardShortcut.js: Added SelectAll constant for Ctrl+A combination
3816
3817 2012-11-09  Dan Carney  <dcarney@google.com>
3818
3819         [V8] Main world should have one DOMDataStore
3820         https://bugs.webkit.org/show_bug.cgi?id=101470
3821
3822         Reviewed by Kentaro Hara.
3823
3824         The main world DOMWrapperWorld held onto a DOMDataStore that should
3825         never be used, as there is a static one optimized for speed in
3826         DOMDataStore.
3827
3828         No new tests. No change in functionality.
3829
3830         * bindings/v8/DOMDataStore.cpp:
3831         (WebCore::DOMDataStore::current):
3832         * bindings/v8/DOMWrapperWorld.h:
3833         (WebCore::DOMWrapperWorld::isolatedWorldDomDataStore):
3834         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
3835         * bindings/v8/V8DOMWrapper.h:
3836         (WebCore::V8DOMWrapper::getCachedWrapper):
3837
3838 2012-11-09  Alexei Filippov  <alph@chromium.org>
3839
3840         Web Inspector: Navigating around NMI snapshot grid with keys breaks the grid
3841         https://bugs.webkit.org/show_bug.cgi?id=101611
3842
3843         Reviewed by Yury Semikhatsky.
3844
3845         Keys navigation cause populate message sent to the node. The node should
3846         not react on populate messages but the first one.
3847
3848         * inspector/front-end/NativeMemorySnapshotView.js:
3849
3850 2012-11-08  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3851
3852         Web Inspector: Timeline: "Send Request" events are shown out of order.
3853         https://bugs.webkit.org/show_bug.cgi?id=101544
3854
3855         Reviewed by Yury Semikhatsky.
3856
3857         Solution: replace obsolete out-of-order record pushing with frontend
3858         record reparenting.
3859
3860         * inspector/InspectorTimelineAgent.cpp:
3861         (WebCore::InspectorTimelineAgent::willSendResourceRequest): Replaced
3862         direct record pushing with standard appendRecord invokation.
3863         * inspector/front-end/TimelinePresentationModel.js:
3864         (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
3865         Made "Send Request" records top-level if gluing is on.
3866
3867 2012-11-08  Sheriff Bot  <webkit.review.bot@gmail.com>
3868
3869         Unreviewed, rolling out r134010.
3870         http://trac.webkit.org/changeset/134010
3871         https://bugs.webkit.org/show_bug.cgi?id=101716
3872
3873         Broke the chromium windows build. (Requested by noel_ on
3874         #webkit).
3875
3876         * Modules/indexeddb/IDBAny.cpp:
3877         * Modules/indexeddb/IDBCallbacks.h:
3878         * Modules/indexeddb/IDBDatabase.cpp:
3879         (WebCore::IDBDatabase::createObjectStore):
3880         (WebCore::IDBDatabase::deleteObjectStore):
3881         (WebCore::IDBDatabase::transaction):
3882         * Modules/indexeddb/IDBDatabase.h:
3883         (IDBDatabase):
3884         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3885         (WebCore::IDBDatabaseBackendImpl::getObjectStoreId):
3886         (WebCore):
3887         (WebCore::IDBDatabaseBackendImpl::setVersion):
3888         (WebCore::IDBDatabaseBackendImpl::transaction):
3889         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
3890         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
3891         (WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
3892         (IDBDatabaseBackendImpl):
3893         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
3894         (WebCore):
3895         (IDBDatabaseBackendInterface):
3896         * Modules/indexeddb/IDBMetadata.h:
3897         (WebCore::IDBObjectStoreMetadata::containsIndex):
3898         (WebCore::IDBDatabaseMetadata::findObjectStore):
3899         (IDBDatabaseMetadata):
3900         (WebCore::IDBDatabaseMetadata::containsObjectStore):
3901         * Modules/indexeddb/IDBObjectStore.cpp:
3902         (WebCore::IDBObjectStore::put):
3903         (WebCore):
3904         (WebCore::IDBObjectStore::createIndex):
3905         (WebCore::IDBObjectStore::index):
3906         (WebCore::IDBObjectStore::deleteIndex):
3907         * Modules/indexeddb/IDBObjectStore.h:
3908         (WebCore::IDBObjectStore::openCursor):
3909         (IDBObjectStore):
3910         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3911         (WebCore::IDBObjectStoreBackendImpl::put):
3912         (WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys):
3913         (WebCore):
3914         (WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
3915         (WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
3916         (WebCore::IDBObjectStoreBackendImpl::index):
3917         (WebCore::IDBObjectStoreBackendImpl::getIndexId):
3918         (WebCore::IDBObjectStoreBackendImpl::getIndexIds):
3919         (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
3920         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
3921         (IDBObjectStoreBackendImpl):
3922         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
3923         (WebCore):
3924         * Modules/indexeddb/IDBTransaction.cpp:
3925         (WebCore::IDBTransaction::objectStore):
3926         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3927         (WebCore::IDBTransactionBackendImpl::objectStore):
3928         (WebCore):
3929         * Modules/indexeddb/IDBTransactionBackendImpl.h:
3930         (IDBTransactionBackendImpl):
3931         * Modules/indexeddb/IDBTransactionBackendInterface.h:
3932
3933 2012-11-08  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3934
3935         [EFL] Add a method to the TextCheckerEnchant class to check whether any dictionary is loaded
3936         https://bugs.webkit.org/show_bug.cgi?id=101570
3937
3938         Reviewed by Gustavo Noronha Silva.
3939
3940         Expose a new method to check whether a vector of loaded languages is empty.
3941         WK2-EFL needs it to set the default language (if the client didn't set any) when
3942         spelling setting is being enabled. This change makes it more convenient to check
3943         whether the dictionaries vector is empty.
3944
3945         No new tests, no behavior change.
3946
3947         * platform/text/enchant/TextCheckerEnchant.cpp:
3948         (TextCheckerEnchant::checkSpellingOfString):
3949         (TextCheckerEnchant::getGuessesForWord):
3950         (TextCheckerEnchant::loadedSpellCheckingLanguages):
3951         A newly exposed method is used internally too.
3952
3953         * platform/text/enchant/TextCheckerEnchant.h:
3954         (WebCore::TextCheckerEnchant::hasDictionary):
3955         Add an inline hasDictionary() method.
3956
3957 2012-11-08  Shinya Kawanaka  <shinyak@chromium.org>
3958
3959         [Refactoring] Remove shadowPseudoId() and use pseudo() instead in TextTrackCue
3960         https://bugs.webkit.org/show_bug.cgi?id=101702
3961
3962         Reviewed by Hajime Morita.
3963
3964         We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from TextTrackCue and use
3965         setPseudo()/pseudo() instead.
3966
3967         No new tests, simple refactoring.
3968
3969         * html/track/TextTrackCue.cpp:
3970         (WebCore::TextTrackCueBox::TextTrackCueBox):
3971         * html/track/TextTrackCue.h:
3972         (TextTrackCueBox):
3973
3974 2012-11-08  Arpita Bahuguna  <arpitabahuguna@gmail.com>
3975
3976         table not aligned in center column and seems shrunk because of float:right (table-layout: fixed and width: 100%)
3977         https://bugs.webkit.org/show_bug.cgi?id=18153
3978
3979         Reviewed by Beth Dakin.
3980
3981         Preferred logical width is computed incorrectly for fixed layout tables
3982         with 100% percent width, in standards mode.
3983
3984         According to our fixed table layout algorithm (CSS2 specification - 17.5.2.1)
3985         the ultimate width of the table is the greater of the value of the
3986         'width' property for the table elements and the sum of the column
3987         widths.
3988
3989         For our specific scenario we have a fixed layout table with 100% width
3990         consisting of columns with fixed widths, the sum of which is less than
3991         the specified width of the table (i.e. 100% of the containing block).
3992         Even then the applied width is the cummulative of the width of the
3993         columns.
3994
3995         This happens because of the quirks mode check added in
3996         FixedTableLayout::computePreferredLogicalWidths(), which prohibits the
3997         setting of maxWidth to our fixed layout table with percent width, and
3998         which perhaps is not required anymore.
3999
4000         Test: fast/table/fixed-table-layout/table-with-percent-width.html
4001
4002         * rendering/FixedTableLayout.cpp:
4003         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
4004         Removed the quirks mode check.
4005
4006 2012-11-08  Sheriff Bot  <webkit.review.bot@gmail.com>
4007
4008         Unreviewed, rolling out r134004.
4009         http://trac.webkit.org/changeset/134004
4010         https://bugs.webkit.org/show_bug.cgi?id=101713
4011
4012         multiple crashes (Requested by hayato on #webkit).
4013
4014         * rendering/RenderThemeMac.mm:
4015         (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
4016         (WebCore::RenderThemeMac::paintMediaFullscreenButton):
4017         (WebCore::RenderThemeMac::paintMediaMuteButton):
4018         (WebCore::RenderThemeMac::paintMediaPlayButton):
4019         (WebCore::RenderThemeMac::paintMediaSeekBackButton):
4020         (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
4021         (WebCore::RenderThemeMac::paintMediaSliderTrack):
4022         (WebCore::RenderThemeMac::paintMediaSliderThumb):
4023         (WebCore::RenderThemeMac::paintMediaRewindButton):
4024         (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
4025         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
4026         (WebCore::RenderThemeMac::paintMediaControlsBackground):
4027         (WebCore::RenderThemeMac::paintMediaCurrentTime):
4028         (WebCore::RenderThemeMac::paintMediaTimeRemaining):
4029         (WebCore::RenderThemeMac::paintMediaVolumeSliderContainer):
4030         (WebCore::RenderThemeMac::paintMediaVolumeSliderTrack):
4031         (WebCore::RenderThemeMac::paintMediaVolumeSliderThumb):
4032         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack):
4033         (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb):
4034
4035 2012-11-08  Jan Keromnes  <janx@linux.com>
4036
4037         Web Inspector: stop using cursorCoords in CodeMirrorTextEditor
4038         https://bugs.webkit.org/show_bug.cgi?id=101607
4039
4040         Reviewed by Vsevolod Vlasov.
4041
4042         API changes completing migration to v3.
4043
4044         * inspector/front-end/CodeMirrorTextEditor.js: