AX: file upload input text value is not exposed through accessibility
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-11-13  Chris Fleizach  <cfleizach@apple.com>
2
3         AX: file upload input text value is not exposed through accessibility
4         https://bugs.webkit.org/show_bug.cgi?id=100583
5
6         Reviewed by Beth Dakin.
7
8         This is a hard problem to solve on the Mac because there are three pieces of information
9              1) The type of button 2) The text on the button 3) The text for the value.
10         I think the best compromise is to label this as a file upload button type in the role description, 
11         and then expose the file path text as the AXTitle. 
12         This will give the more relevant information and should be clear what is happening.
13
14         Test: platform/mac/accessibility/file-upload-button-subrole.html
15
16         * English.lproj/Localizable.strings:
17         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
18         (-[WebAccessibilityObjectWrapper subrole]):
19         (-[WebAccessibilityObjectWrapper roleDescription]):
20         (-[WebAccessibilityObjectWrapper accessibilityTitle]):
21         * platform/LocalizedStrings.cpp:
22         (WebCore::AXFileUploadButtonText):
23         * platform/LocalizedStrings.h:
24
25 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
26
27         Unreviewed, rolling out r133944.
28         http://trac.webkit.org/changeset/133944
29         https://bugs.webkit.org/show_bug.cgi?id=102118
30
31         Only JS bindings support NATIVE_TYPE_ERR (Requested by arv on
32         #webkit).
33
34         * bindings/scripts/CodeGeneratorV8.pm:
35         (GenerateFunctionCallback):
36         (GenerateParametersCheck):
37         (GenerateSingleConstructorCallback):
38         (GenerateNamedConstructorCallback):
39         (TypeCanFailConversion):
40         * dom/Element.cpp:
41         (WebCore::Element::setAttributeNode):
42         (WebCore::Element::removeAttributeNode):
43         * dom/Element.idl:
44
45 2012-11-13  Adam Barth  <abarth@webkit.org>
46
47         Unreviewed.
48
49         Update run-bindings-tests results.
50
51         * bindings/scripts/test/V8/V8Float64Array.cpp:
52         (WebCore::V8Float64Array::dispatchWrapCustom):
53         (WebCore::V8Float64Array::wrapSlow):
54         * bindings/scripts/test/V8/V8Float64Array.h:
55         (WebCore::V8Float64Array::toNative):
56         (V8Float64Array):
57         (WebCore):
58         (WebCore::dispatchWrap):
59         (WebCore::toV8Object):
60         (WebCore::toV8):
61         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
62         (WebCore::V8TestActiveDOMObject::wrapSlow):
63         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
64         (WebCore::V8TestActiveDOMObject::toNative):
65         (V8TestActiveDOMObject):
66         (WebCore):
67         (WebCore::dispatchWrap):
68         (WebCore::toV8Object):
69         (WebCore::toV8):
70         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
71         (WebCore::V8TestCustomNamedGetter::wrapSlow):
72         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
73         (WebCore::V8TestCustomNamedGetter::toNative):
74         (V8TestCustomNamedGetter):
75         (WebCore):
76         (WebCore::dispatchWrap):
77         (WebCore::toV8Object):
78         (WebCore::toV8):
79         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
80         (WebCore::V8TestEventConstructor::wrapSlow):
81         * bindings/scripts/test/V8/V8TestEventConstructor.h:
82         (WebCore::V8TestEventConstructor::toNative):
83         (V8TestEventConstructor):
84         (WebCore):
85         (WebCore::dispatchWrap):
86         (WebCore::toV8Object):
87         (WebCore::toV8):
88         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
89         (WebCore::V8TestEventTarget::wrapSlow):
90         * bindings/scripts/test/V8/V8TestEventTarget.h:
91         (WebCore::V8TestEventTarget::toNative):
92         (V8TestEventTarget):
93         (WebCore):
94         (WebCore::dispatchWrap):
95         (WebCore::toV8Object):
96         (WebCore::toV8):
97         * bindings/scripts/test/V8/V8TestException.cpp:
98         (WebCore::V8TestException::wrapSlow):
99         * bindings/scripts/test/V8/V8TestException.h:
100         (WebCore::V8TestException::toNative):
101         (V8TestException):
102         (WebCore):
103         (WebCore::dispatchWrap):
104         (WebCore::toV8Object):
105         (WebCore::toV8):
106         * bindings/scripts/test/V8/V8TestInterface.cpp:
107         (WebCore::V8TestInterface::wrapSlow):
108         * bindings/scripts/test/V8/V8TestInterface.h:
109         (WebCore::V8TestInterface::toNative):
110         (V8TestInterface):
111         (WebCore):
112         (WebCore::dispatchWrap):
113         (WebCore::toV8Object):
114         (WebCore::toV8):
115         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
116         (WebCore::V8TestMediaQueryListListener::wrapSlow):
117         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
118         (WebCore::V8TestMediaQueryListListener::toNative):
119         (V8TestMediaQueryListListener):
120         (WebCore):
121         (WebCore::dispatchWrap):
122         (WebCore::toV8Object):
123         (WebCore::toV8):
124         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
125         (WebCore::V8TestNamedConstructor::wrapSlow):
126         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
127         (WebCore::V8TestNamedConstructor::toNative):
128         (V8TestNamedConstructor):
129         (WebCore):
130         (WebCore::dispatchWrap):
131         (WebCore::toV8Object):
132         (WebCore::toV8):
133         * bindings/scripts/test/V8/V8TestNode.cpp:
134         (WebCore::V8TestNode::wrapSlow):
135         * bindings/scripts/test/V8/V8TestNode.h:
136         (WebCore::V8TestNode::toNative):
137         (V8TestNode):
138         (WebCore):
139         (WebCore::dispatchWrap):
140         (WebCore::toV8Object):
141         (WebCore::toV8):
142         (WebCore::toV8Fast):
143         * bindings/scripts/test/V8/V8TestObj.cpp:
144         (WebCore::V8TestObj::wrapSlow):
145         * bindings/scripts/test/V8/V8TestObj.h:
146         (WebCore::V8TestObj::toNative):
147         (V8TestObj):
148         (WebCore):
149         (WebCore::dispatchWrap):
150         (WebCore::toV8Object):
151         (WebCore::toV8):
152         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
153         (WebCore::V8TestOverloadedConstructors::wrapSlow):
154         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
155         (WebCore::V8TestOverloadedConstructors::toNative):
156         (V8TestOverloadedConstructors):
157         (WebCore):
158         (WebCore::dispatchWrap):
159         (WebCore::toV8Object):
160         (WebCore::toV8):
161         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
162         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
163         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
164         (WebCore::V8TestSerializedScriptValueInterface::toNative):
165         (V8TestSerializedScriptValueInterface):
166         (WebCore):
167         (WebCore::dispatchWrap):
168         (WebCore::toV8Object):
169         (WebCore::toV8):
170
171 2012-11-13  Adam Barth  <abarth@webkit.org>
172
173         Unreviewed.
174
175         Speculative build fix for Qt.
176
177         * dom/make_names.pl:
178         (printWrapperFactoryCppFile):
179
180 2012-11-13  Sami Kyostila  <skyostil@chromium.org>
181
182         Allow painting outside overflow clip in accelerated scrolling layers
183         https://bugs.webkit.org/show_bug.cgi?id=100524
184
185         Reviewed by Simon Fraser.
186
187         In preparation for avoiding repaints when scrolling child layers, make it
188         possible to paint outside the overflow clip.
189
190         Test: compositing/overflow/updating-scrolling-content.html
191
192         * rendering/LayoutState.h:
193         (LayoutState):
194         * rendering/RenderBlock.cpp:
195         (WebCore::RenderBlock::paint):
196         * rendering/RenderBox.cpp:
197         (WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
198         * rendering/RenderLayer.cpp:
199         (WebCore::RenderLayer::repaintBlockSelectionGaps):
200
201 2012-11-13  Patrick Gansterer  <paroga@webkit.org>
202
203         Port SimpleFontDataWin.cpp to WinCE
204         https://bugs.webkit.org/show_bug.cgi?id=97889
205
206         Reviewed by Brent Fulgham.
207
208         Add #if !OS(WINCE) around some parts of the code, so it can be used by the WinCE port too in a next step.
209         Also cleaned up the include headers.
210
211         * platform/graphics/win/SimpleFontDataWin.cpp:
212         (WebCore::SimpleFontData::initGDIFont):
213         (WebCore::SimpleFontData::platformDestroy):
214         (WebCore::SimpleFontData::boundsForGDIGlyph):
215         (WebCore):
216         (WebCore::SimpleFontData::widthForGDIGlyph):
217
218 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
219
220         Web Inspector: [Chromium] move spectrum.css into the standalone css files group.
221
222         Not reviewed: moved css file in gypi.
223
224         * WebCore.gypi:
225
226 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
227
228         Unreviewed, rolling out r134434.
229         http://trac.webkit.org/changeset/134434
230         https://bugs.webkit.org/show_bug.cgi?id=102072
231
232         The test that was added asserts in loader.
233
234         * loader/FrameLoader.cpp:
235         (WebCore::createWindow):
236         * page/DOMWindow.cpp:
237         (WebCore):
238         (WebCore::DOMWindow::adjustWindowRect):
239         (WebCore::DOMWindow::moveBy):
240         (WebCore::DOMWindow::moveTo):
241         (WebCore::DOMWindow::resizeBy):
242         (WebCore::DOMWindow::resizeTo):
243         (WebCore::DOMWindow::open):
244         (WebCore::DOMWindow::showModalDialog):
245         * page/DOMWindow.h:
246         (DOMWindow):
247
248 2012-11-13  Dan Carney  <dcarney@google.com>
249
250         [V8] More efficient wrapper dispatch
251         https://bugs.webkit.org/show_bug.cgi?id=102082
252
253         Reviewed by Adam Barth.
254
255         Dispatching a call to V8Whatever::wrap involved a chain
256         of calls, each of which checked its wrapper cache.
257         This refactor gives calls only 2 choices of functions to call:
258         toV8 and toV8Object instead of wrap. wrap has been renamed to
259         dispatchWrap and no longer contains cache checks.
260         Additionally, classes which require a custom toV8 function
261         have had all wrapping and caching calls removed, as they could
262         not have been accessed.
263
264         No new tests. Sufficiently covered.
265
266         * Modules/indexeddb/IDBAny.idl:
267         * Modules/indexeddb/IDBKey.idl:
268         * WebCore.gypi:
269         * bindings/scripts/CodeGeneratorV8.pm:
270         (GenerateHeader):
271         (GenerateNormalAttrGetter):
272         (GenerateImplementation):
273         (GenerateToV8Converters):
274         * bindings/scripts/IDLAttributes.txt:
275         * bindings/v8/SerializedScriptValue.cpp:
276         * bindings/v8/custom/V8BlobCustom.cpp:
277         (WebCore::V8Blob::dispatchWrapCustom):
278         * bindings/v8/custom/V8CSSRuleCustom.cpp:
279         (WebCore::V8CSSRule::dispatchWrapCustom):
280         * bindings/v8/custom/V8CSSValueCustom.cpp:
281         (WebCore::V8CSSValue::dispatchWrapCustom):
282         * bindings/v8/custom/V8CanvasRenderingContextCustom.cpp:
283         (WebCore::V8CanvasRenderingContext::dispatchWrapCustom):
284         * bindings/v8/custom/V8DataViewCustom.cpp:
285         (WebCore):
286         (WebCore::V8DataView::dispatchWrapCustom):
287         * bindings/v8/custom/V8DocumentCustom.cpp:
288         (WebCore::V8Document::dispatchWrapCustom):
289         * bindings/v8/custom/V8ElementCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8PerformanceEntryCustom.cpp.
290         (WebCore):
291         (WebCore::V8Element::dispatchWrapCustom):
292         * bindings/v8/custom/V8EntryCustom.cpp:
293         (WebCore::V8Entry::dispatchWrapCustom):
294         * bindings/v8/custom/V8EntrySyncCustom.cpp:
295         (WebCore::V8EntrySync::dispatchWrapCustom):
296         * bindings/v8/custom/V8EventCustom.cpp:
297         (WebCore):
298         (WebCore::V8Event::dispatchWrapCustom):
299         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
300         (WebCore::V8HTMLCollection::dispatchWrapCustom):
301         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
302         (WebCore::V8HTMLDocument::dispatchWrapCustom):
303         * bindings/v8/custom/V8HTMLElementCustom.cpp:
304         (WebCore::V8HTMLElement::dispatchWrapCustom):
305         * bindings/v8/custom/V8ImageDataCustom.cpp:
306         (WebCore::V8ImageData::dispatchWrapCustom):
307         * bindings/v8/custom/V8NodeCustom.cpp:
308         (WebCore::V8Node::dispatchWrapCustom):
309         * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
310         (WebCore::V8PerformanceEntry::dispatchWrapCustom):
311         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
312         (WebCore::V8SVGDocument::dispatchWrapCustom):
313         * bindings/v8/custom/V8SVGElementCustom.cpp:
314         (WebCore::V8SVGElement::dispatchWrapCustom):
315         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
316         (WebCore::V8SVGPathSeg::dispatchWrapCustom):
317         * bindings/v8/custom/V8StyleSheetCustom.cpp:
318         (WebCore::V8StyleSheet::dispatchWrapCustom):
319         * dom/Element.idl:
320         * dom/make_names.pl:
321         (printWrapperFunctions):
322         (printWrapperFactoryCppFile):
323         (printWrapperFactoryHeaderFile):
324         * html/MicroDataItemValue.idl:
325         * inspector/ScriptProfile.idl:
326         * inspector/ScriptProfileNode.idl:
327         * page/DOMWindow.idl:
328         * workers/WorkerContext.idl:
329
330 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
331
332         Unreviewed, rolling out r134367.
333         http://trac.webkit.org/changeset/134367
334         https://bugs.webkit.org/show_bug.cgi?id=100738
335
336         Speculative rollout, could have cause Dromaeo setAttribute
337         perf regression.
338
339         * dom/Element.cpp:
340         (WebCore::Element::attributeChanged):
341         (WebCore::checkNeedsStyleInvalidationForClassChange):
342         (WebCore::Element::classAttributeChanged):
343
344 2012-11-13  Marja Hölttä  <marja@chromium.org>
345
346         Add initiator to CachedResourceRequest.
347         https://bugs.webkit.org/show_bug.cgi?id=101935
348
349         Reviewed by Adam Barth.
350
351         Motivation: Chromium needs to know which elements request a
352         resource (such as an image or a script) (bug 92761). In addition,
353         for exposing resource timing information (bug 84883) we need to
354         store the initiator, and this is the first step towards it.
355
356         No new tests: No visible change in behavior.
357
358         * CMakeLists.txt:
359         * GNUmakefile.list.am:
360         * Target.pri:
361         * WebCore.gypi:
362         * WebCore.vcproj/WebCore.vcproj:
363         * WebCore.xcodeproj/project.pbxproj:
364         * css/CSSCrossfadeValue.cpp:
365         (WebCore::cachedImageForCSSValue):
366         * css/CSSCursorImageValue.cpp:
367         (WebCore::CSSCursorImageValue::cachedImage):
368         * css/CSSFontFaceSrcValue.cpp:
369         (WebCore::CSSFontFaceSrcValue::cachedFont):
370         * css/CSSImageSetValue.cpp:
371         (WebCore::CSSImageSetValue::cachedImageSet):
372         * css/CSSImageValue.cpp:
373         (WebCore::CSSImageValue::cachedImage):
374         * css/CSSImageValue.h:
375         (WebCore):
376         (CSSImageValue):
377         * css/StyleResolver.cpp:
378         (WebCore::StyleResolver::loadPendingImage):
379         * css/StyleRuleImport.cpp:
380         (WebCore::StyleRuleImport::requestStyleSheet):
381         * css/WebKitCSSSVGDocumentValue.cpp:
382         (WebCore::WebKitCSSSVGDocumentValue::load):
383         * css/WebKitCSSShaderValue.cpp:
384         (WebCore::WebKitCSSShaderValue::cachedShader):
385         * dom/ScriptElement.cpp:
386         (WebCore::ScriptElement::requestScript):
387         * html/HTMLLinkElement.cpp:
388         (WebCore::HTMLLinkElement::process):
389         * html/parser/CSSPreloadScanner.cpp:
390         (WebCore::CSSPreloadScanner::emitRule):
391         * html/parser/CSSPreloadScanner.h:
392         (CSSPreloadScanner):
393         * html/parser/HTMLPreloadScanner.cpp:
394         (WebCore::PreloadTask::preload):
395         * loader/ImageLoader.cpp:
396         (WebCore::ImageLoader::updateFromElement):
397         * loader/cache/CachedResourceLoader.cpp:
398         (WebCore::CachedResourceLoader::requestImage):
399         (WebCore::CachedResourceLoader::requestResource):
400         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
401         (WebCore):
402         (WebCore::CachedResourceLoader::preload):
403         * loader/cache/CachedResourceLoader.h:
404         (WebCore):
405         (CachedResourceLoader):
406         * loader/cache/CachedResourceRequest.cpp:
407         (WebCore::CachedResourceRequest::CachedResourceRequest):
408         (WebCore):
409         (WebCore::CachedResourceRequest::~CachedResourceRequest):
410         (WebCore::CachedResourceRequest::setInitiator):
411         (WebCore::CachedResourceRequest::initiatorName):
412         (WebCore::CachedResourceRequest::initiatorDocument):
413         (WebCore::CachedResourceRequest::initiatorElement):
414         * loader/cache/CachedResourceRequest.h:
415         (WebCore):
416         (WebCore::CachedResourceRequest::setOptions):
417         (WebCore::CachedResourceRequest::defer):
418         (WebCore::CachedResourceRequest::setDefer):
419         (CachedResourceRequest):
420         * loader/cache/CachedResourceRequestInitiators.cpp: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.
421         (WebCore):
422         (WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):
423         * loader/cache/CachedResourceRequestInitiators.h: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.
424         (WebCore):
425         (CachedResourceRequestInitiators):
426         (WebCore::cachedResourceRequestInitiators):
427         * loader/icon/IconLoader.cpp:
428         (WebCore::IconLoader::startLoading):
429         * platform/ThreadGlobalData.cpp:
430         (WebCore::ThreadGlobalData::ThreadGlobalData):
431         * platform/ThreadGlobalData.h:
432         (WebCore):
433         (WebCore::ThreadGlobalData::cachedResourceRequestInitiators):
434         (ThreadGlobalData):
435         * svg/SVGFEImageElement.cpp:
436         (WebCore::SVGFEImageElement::requestImageResource):
437         * svg/SVGFontFaceUriElement.cpp:
438         (WebCore::SVGFontFaceUriElement::loadFont):
439         * svg/SVGUseElement.cpp:
440         (WebCore::SVGUseElement::svgAttributeChanged):
441
442 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
443
444         Unreviewed, rolling out r134345.
445         http://trac.webkit.org/changeset/134345
446         https://bugs.webkit.org/show_bug.cgi?id=102106
447
448         Incomplete support for NATIVE_TYPE_ERR in objc and other
449         bindings (Requested by jsbell on #webkit).
450
451         * Modules/mediastream/MediaConstraintsImpl.cpp:
452         (WebCore::MediaConstraintsImpl::create):
453         * Modules/mediastream/MediaStreamTrackList.cpp:
454         (WebCore::MediaStreamTrackList::add):
455         (WebCore::MediaStreamTrackList::remove):
456         * Modules/mediastream/RTCDataChannel.cpp:
457         (WebCore::RTCDataChannel::setBinaryType):
458         * Modules/mediastream/RTCIceCandidate.cpp:
459         (WebCore::RTCIceCandidate::create):
460         * Modules/mediastream/RTCPeerConnection.cpp:
461         (WebCore::RTCPeerConnection::parseConfiguration):
462         (WebCore::RTCPeerConnection::createOffer):
463         (WebCore::RTCPeerConnection::createAnswer):
464         (WebCore::RTCPeerConnection::setLocalDescription):
465         (WebCore::RTCPeerConnection::setRemoteDescription):
466         (WebCore::RTCPeerConnection::addIceCandidate):
467         (WebCore::RTCPeerConnection::addStream):
468         (WebCore::RTCPeerConnection::removeStream):
469         * Modules/mediastream/RTCSessionDescription.cpp:
470         (WebCore::RTCSessionDescription::create):
471         (WebCore::RTCSessionDescription::setType):
472         * bindings/js/CallbackFunction.cpp:
473         (WebCore::checkFunctionOnlyCallback):
474         * bindings/js/JSCustomXPathNSResolver.cpp:
475         (WebCore::JSCustomXPathNSResolver::create):
476         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
477         (WebCore::JSHTMLOptionsCollection::add):
478         * bindings/js/JSHTMLSelectElementCustom.cpp:
479         (WebCore::selectIndexSetter):
480         * bindings/js/JSMutationObserverCustom.cpp:
481         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
482         * bindings/js/JSSQLResultSetRowListCustom.cpp:
483         (WebCore::JSSQLResultSetRowList::item):
484         * bindings/js/JSSQLTransactionCustom.cpp:
485         (WebCore::JSSQLTransaction::executeSql):
486         * bindings/js/JSSQLTransactionSyncCustom.cpp:
487         (WebCore::JSSQLTransactionSync::executeSql):
488         * bindings/scripts/CodeGeneratorJS.pm:
489         (GenerateParametersCheck):
490         * bindings/scripts/CodeGeneratorObjC.pm:
491         (GenerateImplementation):
492         * bindings/scripts/CodeGeneratorV8.pm:
493         (GenerateFunctionCallString):
494         * bindings/v8/V8Callback.h:
495         (WebCore::createFunctionOnlyCallback):
496         * bindings/v8/V8Collection.cpp:
497         (WebCore::toOptionsCollectionSetter):
498         * bindings/v8/custom/V8DocumentCustom.cpp:
499         (WebCore::V8Document::evaluateCallback):
500         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
501         (WebCore::V8HTMLOptionsCollection::addCallback):
502         * bindings/v8/custom/V8MutationObserverCustom.cpp:
503         (WebCore::V8MutationObserver::constructorCallback):
504         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
505         (WebCore::V8SQLTransaction::executeSqlCallback):
506         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
507         (WebCore::V8SQLTransactionSync::executeSqlCallback):
508         * dom/DOMCoreException.idl:
509         * html/HTMLElement.cpp:
510         (WebCore::HTMLElement::insertAdjacentElement):
511         * html/HTMLMediaElement.cpp:
512         (WebCore::HTMLMediaElement::webkitAddKey):
513         * html/HTMLOptionsCollection.cpp:
514         (WebCore::HTMLOptionsCollection::add):
515         * html/canvas/CanvasRenderingContext2D.cpp:
516         (WebCore::CanvasRenderingContext2D::drawImage):
517         (WebCore::CanvasRenderingContext2D::createPattern):
518         (WebCore::CanvasRenderingContext2D::putImageData):
519         (WebCore::CanvasRenderingContext2D::webkitPutImageDataHD):
520         * page/Crypto.cpp:
521         (WebCore::Crypto::getRandomValues):
522         * page/DOMSelection.cpp:
523         (WebCore::DOMSelection::extend):
524         * svg/properties/SVGTransformListPropertyTearOff.h:
525         (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
526
527 2012-11-13  Erik Arvidsson  <arv@chromium.org>
528
529         Update DOMException name: HierarchyRequestError
530         https://bugs.webkit.org/show_bug.cgi?id=102092
531
532         Reviewed by Ojan Vafai.
533
534         Patch 3 of 25 to update DOMException name to match the spec and Firefox.
535
536         Updated existing tests.
537
538         * dom/DOMCoreException.cpp:
539
540 2012-11-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
541
542         Clean up use of adjustWindowRect
543         https://bugs.webkit.org/show_bug.cgi?id=102072
544
545         Reviewed by Alexis Menard.
546
547         Tested by fast/dom/Window/open-window-min-size.html
548
549         * loader/FrameLoader.cpp:
550         (WebCore::createWindow):
551
552             Validate the window size here so that it is not just done for
553             .open, but also for .showModalDialog. This is compatible with
554             other browsers such as IE and Firefox (though IE > 6, enforces
555             a minimum width of 250 instead of 100 as Firefox and us.)
556
557         * page/DOMWindow.cpp:
558         (WebCore):
559         (WebCore::DOMWindow::adjustWindowRect):
560
561             Make it a static method which only takes page. It was never
562             called from anywhere without a valid page, so the page check
563             has been turned into an assert, and two of the arguments have
564             been removed as they can be accessed via the page.
565
566         (WebCore::DOMWindow::moveBy):
567         (WebCore::DOMWindow::moveTo):
568         (WebCore::DOMWindow::resizeBy):
569         (WebCore::DOMWindow::resizeTo):
570
571             Update use of adjustWindowRect.
572
573         (WebCore::DOMWindow::open):
574
575             Avoid modifying the WindowFeatures as the WebCore::createWindow
576             validates and adjusts the arguments.
577
578         * page/DOMWindow.h:
579         (DOMWindow):
580
581 2012-11-13  Bem Jones-Bey  <bjonesbe@adobe.com>
582
583         [CSS Exclusions] Update wrap-margin/padding to shape-margin/padding
584         https://bugs.webkit.org/show_bug.cgi?id=97736
585
586         Reviewed by Andreas Kling.
587
588         Rename properties to match updated spec.
589
590         Tests: fast/exclusions/shape-margin-parsing.html
591                fast/exclusions/shape-padding-parsing.html
592
593         * css/CSSComputedStyleDeclaration.cpp:
594         (WebCore):
595         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
596         * css/CSSParser.cpp:
597         (WebCore::isSimpleLengthPropertyID):
598         (WebCore::CSSParser::parseValue):
599         * css/CSSProperty.cpp:
600         (WebCore::CSSProperty::isInheritedProperty):
601         * css/CSSPropertyNames.in:
602         * css/StyleBuilder.cpp:
603         (WebCore::StyleBuilder::StyleBuilder):
604         * css/StylePropertySet.cpp:
605         (WebCore::StylePropertySet::asText):
606         * css/StylePropertyShorthand.cpp:
607         (WebCore::webkitWrapShorthand):
608         * css/StyleResolver.cpp:
609         (WebCore::StyleResolver::applyProperty):
610         * rendering/style/RenderStyle.cpp:
611         (WebCore::RenderStyle::diff):
612         * rendering/style/RenderStyle.h:
613         * rendering/style/StyleRareNonInheritedData.cpp:
614         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
615         (WebCore::StyleRareNonInheritedData::operator==):
616         * rendering/style/StyleRareNonInheritedData.h:
617         (StyleRareNonInheritedData):
618
619 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
620
621         Unreviewed, rolling out r134418.
622         http://trac.webkit.org/changeset/134418
623         https://bugs.webkit.org/show_bug.cgi?id=101903
624
625         The newly added test is crashing on cr-win.
626
627         * dom/ElementShadow.cpp:
628         * dom/ElementShadow.h:
629         * html/HTMLInputElement.cpp:
630         (WebCore::HTMLInputElement::updateType):
631         (WebCore::HTMLInputElement::setIndeterminate):
632         * html/HTMLProgressElement.cpp:
633         (WebCore::HTMLProgressElement::didElementStateChange):
634         * html/shadow/SelectRuleFeatureSet.cpp:
635         (WebCore::SelectRuleFeatureSet::add):
636         (WebCore::SelectRuleFeatureSet::clear):
637         (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector):
638         * html/shadow/SelectRuleFeatureSet.h:
639         (SelectRuleFeatureSet):
640
641 2012-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
642
643         Unreviewed, rolling out r134391.
644         http://trac.webkit.org/changeset/134391
645         https://bugs.webkit.org/show_bug.cgi?id=99660
646
647         Speculative rollout, trying to fix browser_tests failure.
648
649         * English.lproj/localizedStrings.js:
650         * inspector/Inspector.json:
651         * inspector/InspectorClient.h:
652         * inspector/InspectorPageAgent.cpp:
653         (PageAgentState):
654         (WebCore::InspectorPageAgent::enable):
655         (WebCore::InspectorPageAgent::disable):
656         * inspector/InspectorPageAgent.h:
657         * inspector/front-end/Settings.js:
658         * inspector/front-end/SettingsScreen.js:
659         (WebInspector.GenericSettingsTab):
660         * inspector/front-end/inspector.js:
661         (WebInspector.doLoadedDone):
662
663 2012-11-13  Sheriff Bot  <webkit.review.bot@gmail.com>
664
665         Unreviewed, rolling out r134205.
666         http://trac.webkit.org/changeset/134205
667         https://bugs.webkit.org/show_bug.cgi?id=102093
668
669         Broke webkit-flow-inlines-dynamic.html on several ports
670         (Requested by mihnea on #webkit).
671
672         * css/StyleResolver.cpp:
673         (WebCore::StyleResolver::isValidRegionStyleProperty):
674         * rendering/InlineBox.cpp:
675         * rendering/InlineBox.h:
676         (WebCore):
677         (InlineBox):
678         * rendering/InlineFlowBox.cpp:
679         (WebCore::InlineFlowBox::addToLine):
680         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
681         * rendering/RenderRegion.cpp:
682         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
683         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
684         (WebCore::RenderRegion::computeStyleInRegion):
685         (WebCore::RenderRegion::computeChildrenStyleInRegion):
686         (WebCore::RenderRegion::setObjectStyleInRegion):
687         (WebCore::RenderRegion::clearObjectStyleInRegion):
688         * rendering/RenderRegion.h:
689         (RenderRegion):
690         (ObjectRegionStyleInfo):
691
692 2012-11-13  Andreas Kling  <kling@webkit.org>
693
694         Remove the non-const overload of ElementAttributeData::inlineStyle().
695
696         Rubber-stamped by Anders Koivisto.
697
698         No call sites actually needed a mutable StylePropertySet* from inlineStyle() anyway.
699
700         * dom/ElementAttributeData.h:
701
702 2012-11-13  Keishi Hattori  <keishi@webkit.org>
703
704         [Chromium] Enable input type month/week
705         https://bugs.webkit.org/show_bug.cgi?id=102042
706
707         Reviewed by Kent Tamura.
708
709         Enable input type month/week for Chromium.
710
711         No new tests. Tests will be added later in Bug 102045 and Bug 102046.
712
713         * bindings/generic/RuntimeEnabledFeatures.cpp:
714         (WebCore):
715
716 2012-11-13  Shinya Kawanaka  <shinyak@chromium.org>
717
718         [Refactoring] Remove shadowPseudoId() and use setPseudo() in <meter> ElementShadow.
719         https://bugs.webkit.org/show_bug.cgi?id=101906
720
721         Reviewed by Dimitri Glazkov.
722
723         We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
724         setPseudo()/pseudo() instead.
725
726         No new tests, covered by existing tests.
727
728         * html/HTMLMeterElement.cpp:
729         (WebCore::HTMLMeterElement::didElementStateChange): Since shadowPseudoId() was returning pseudo id without setting
730         it anywhere, we have to set it into pseudo attribute here.
731         (WebCore::HTMLMeterElement::createShadowSubtree): ditto.
732         * html/shadow/MeterShadowElement.cpp:
733         (WebCore::MeterInnerElement::MeterInnerElement):
734         (WebCore::MeterValueElement::valuePseudoId):
735         * html/shadow/MeterShadowElement.h:
736         (MeterInnerElement):
737         (WebCore::MeterBarElement::MeterBarElement):
738         (MeterBarElement):
739         (WebCore::MeterValueElement::MeterValueElement):
740         (WebCore::MeterValueElement::updatePseudo):
741         (MeterValueElement):
742
743 2012-11-13  Shinya Kawanaka  <shinyak@chromium.org>
744
745         Changing pseudoClass (:indeterminate) should cause distribution
746         https://bugs.webkit.org/show_bug.cgi?id=101903
747
748         Reviewed by Dimitri Glazkov.
749
750         <progress> and <input type="checkbox"> have 'indeterminate' state. When their state is changed, we have to
751         invalidate distribution if necessary. To check it, we collect a feature that :invalidate is used in select attributes.
752
753         For <input>, we also have to see 'type' is changed. According to the spec, :indeterminate should match only
754         progress element or <input type="checkbox">. So changing 'type' might also change :indeterminate state.
755
756         Tests: fast/dom/shadow/pseudoclass-update-indeterminate-input.html
757                fast/dom/shadow/pseudoclass-update-indeterminate-progress.html
758
759         * dom/ElementShadow.cpp:
760         (WebCore::invalidateParentDistributionIfNecessary): Since we will add a lot of pseudoClass check later, we would like to
761         have this kind of helper method. We will add various pseudoClass check (see Bug 101697), we reuse CSSSelector::PseudoType
762         here.
763         (WebCore):
764         * dom/ElementShadow.h:
765         (WebCore):
766         * html/HTMLInputElement.cpp:
767         (WebCore::HTMLInputElement::updateType): Invalidate parent distribution anyway, since it changes various internal states.
768         (WebCore::HTMLInputElement::setIndeterminate): Invalidate parent distribution if necessary.
769         * html/HTMLProgressElement.cpp:
770         (WebCore::HTMLProgressElement::didElementStateChange):
771         * html/shadow/SelectRuleFeatureSet.cpp:
772         (WebCore::SelectRuleFeatureSet::SelectRuleFeatureSet): Adds m_usesIndeterminate feature.
773         (WebCore::SelectRuleFeatureSet::add):
774         (WebCore::SelectRuleFeatureSet::clear):
775         (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector):
776         * html/shadow/SelectRuleFeatureSet.h:
777         (WebCore::SelectRuleFeatureSet::hasSelectorForIndeterminate):
778         (SelectRuleFeatureSet):
779
780 2012-11-13  Andreas Kling  <kling@webkit.org>
781
782         Exploit ElementAttributeData sharing in Node.cloneNode.
783         <http://webkit.org/b/101374>
784
785         Reviewed by Anders Carlsson.
786
787         Instead of blindly creating a new ElementAttributeData for Node.cloneNode, let's be clever!
788         If the source data is immutable, simply ref it from the new node at virtually no cost.
789
790         If the source data is mutable, convert it to immutable data so it can be shared between both nodes.
791         Since the typical use-case for Node.cloneNode is to create-once/clone-many, this saves both time
792         and memory in the long run.
793
794         ~8% speed-up on PerformanceTests/DOM/CloneNodes on my MBP.
795
796         * dom/Element.cpp:
797         (WebCore::Element::cloneAttributesFromElement):
798
799             Move attribute data cloning logic from ElementAttributeData to Element.
800
801         * dom/ElementAttributeData.cpp:
802         (WebCore::ImmutableElementAttributeData::~ImmutableElementAttributeData):
803         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
804         (WebCore::ElementAttributeData::ElementAttributeData):
805         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
806         (WebCore::ElementAttributeData::makeMutableCopy):
807         (WebCore::ElementAttributeData::makeImmutableCopy):
808         * dom/ElementAttributeData.h:
809         (ElementAttributeData):
810         (ImmutableElementAttributeData):
811         (MutableElementAttributeData):
812
813             Add facilities for converting a mutable ElementAttributeData to an immutable one.
814             Share some code in the common base class constructor.
815
816 2012-11-13  Kentaro Hara  <haraken@chromium.org>
817
818         Unreviewed. Build fix of V8 bindings.
819
820         * bindings/v8/V8DOMWrapper.cpp:
821         (WebCore::V8DOMWrapper::maybeDOMWrapper):
822
823 2012-11-13  Andrey Adaikin  <aandrey@chromium.org>
824
825         Web Inspector: [Canvas] UI: make the Grid save scrolling position, show wait spinner icon
826         https://bugs.webkit.org/show_bug.cgi?id=102071
827
828         Reviewed by Pavel Feldman.
829
830         * inspector/front-end/CanvasProfileView.js:
831         (WebInspector.CanvasProfileView):
832         (WebInspector.CanvasProfileView.prototype.dispose):
833         (WebInspector.CanvasProfileView.prototype.elementsToRestoreScrollPositionsFor):
834         (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
835         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
836         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
837         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
838         (WebInspector.CanvasProfileView.prototype._createCallNode):
839         * inspector/front-end/canvasProfiler.css:
840         (#canvas-replay-image.wait):
841
842 2012-11-13  Eugene Klyuchnikov  <eustas.bug@gmail.com>
843
844         Web Inspector: Settings screen: some panel shortcuts are missing
845         https://bugs.webkit.org/show_bug.cgi?id=101026
846
847         Reviewed by Pavel Feldman.
848
849         Panels, that have not been loaded by the time shortcuts view was
850         initialized, had no chance to register shortcuts.
851
852         Solution: move shortcut registration (for shortcuts screen) to panel
853         descriptors.
854
855         More changes: add JsDoc annotations to ShortcutScreen and change "key"
856         parameter type for raw string to key descriptor object.
857
858         * WebCore.gypi: Added TimelinePanelDescriptor.js file.
859         * WebCore.vcproj/WebCore.vcproj: Ditto.
860         * inspector/compile-front-end.py: Ditto.
861         * inspector/front-end/WebKit.qrc: Ditto.
862         * inspector/front-end/inspector.html: Ditto.
863         * inspector/front-end/AdvancedSearchController.js: Add JsDoc annotation.
864         * inspector/front-end/GoToLineDialog.js: Ditto.
865         * inspector/front-end/CallStackSidebarPane.js: Removed shortcut-screen
866         shortcuts registration.
867         * inspector/front-end/ElementsPanel.js: Ditto.
868         * inspector/front-end/ScriptsPanel.js: Ditto.
869         * inspector/front-end/StylesSidebarPane.js: Ditto.
870         * inspector/front-end/TimelinePanel.js: Ditto.
871         * inspector/front-end/ConsoleView.js: Changes order of lines to increase
872         readability.
873         * inspector/front-end/ElementsPanelDescriptor.js: Add shortcut-screen
874         shortcuts registration and key descriptor constants.
875         * inspector/front-end/ScriptsPanelDescriptor.js: Ditto.
876         * inspector/front-end/TimelinePanelDescriptor.js: Ditto.
877         * inspector/front-end/Panel.js: Removed unused "uregisterShortcut"; made
878         "registerShortcuts" method accept array of key descriptors.
879         (WebInspector.PanelDescriptor.prototype.registerShortcuts): Added.
880         * inspector/front-end/ShortcutsScreen.js: Added JsDoc; changed parameter
881         type from string to key descriptor.
882         * inspector/front-end/inspector.js: Register shortcuts using
883         panel descriptors.
884         (WebInspector._panelDescriptors): Removed duplicate line.
885
886 2012-11-13  Gabor Rapcsanyi  <rgabor@webkit.org>
887
888         Optimize RGB565 and RGBA5551 packing/unpacking functions with NEON intrinsics
889         https://bugs.webkit.org/show_bug.cgi?id=102060
890
891         Reviewed by Zoltan Herczeg.
892
893         Adding more NEONized packing functions to GraphicsContext3DNEON.h.
894         These functions are three times faster with this intrinsics optimizations.
895
896         * platform/graphics/GraphicsContext3D.cpp:
897         (WebCore):
898         * platform/graphics/cpu/arm/GraphicsContext3DNEON.h:
899         (WebCore::ARM::unpackOneRowOfRGBA5551ToRGBA8NEON):
900         (ARM):
901         (WebCore::ARM::packOneRowOfRGBA8ToUnsignedShort5551NEON):
902         (WebCore::ARM::unpackOneRowOfRGB565ToRGBA8NEON):
903         (WebCore::ARM::packOneRowOfRGBA8ToUnsignedShort565NEON):
904
905 2012-11-13  Csaba Osztrogonác  <ossy@webkit.org>
906
907         [Qt] Enable Mutation observer
908         https://bugs.webkit.org/show_bug.cgi?id=102066
909
910         Reviewed by Pavel Feldman.
911
912         * DerivedSources.pri: Add missing IDL files.
913
914 2012-11-13  Kentaro Hara  <haraken@chromium.org>
915
916         [V8] Make isValidDOMObject() static
917         https://bugs.webkit.org/show_bug.cgi?id=101914
918
919         Reviewed by Adam Barth.
920
921         isValidDOMObject() is used by DOMWrapper.cpp only.
922
923         No tests. No change in behavior.
924
925         * bindings/v8/V8DOMWrapper.cpp:
926         (WebCore::isValidDOMObject):
927         (WebCore):
928         (WebCore::V8DOMWrapper::maybeDOMWrapper):
929         * bindings/v8/V8DOMWrapper.h:
930         (V8DOMWrapper):
931
932 2012-11-13  Mihnea Ovidenie  <mihnea@adobe.com>
933
934         [CSSRegions] Incorrect computed height for content with region-break-before
935         https://bugs.webkit.org/show_bug.cgi?id=101862
936
937         Reviewed by Julien Chaffraix.
938
939         When processing the region breaks for auto-height regions, we skipped the case
940         when the region-break-before occurred in the first region in the chain which was
941         an auto-height region. Because of that, the region computed height was not 0
942         as it was supposed to be, but rather LayoutUnit::max() / 2.
943
944         Test: fast/regions/autoheight-breakbefore-wrongheight.html
945
946         * rendering/RenderFlowThread.cpp:
947         (WebCore::RenderFlowThread::addForcedRegionBreak):
948         Make sure we process also the case when the region-break occurs at offset 0 in the flow thread
949         and the first region in chain is an auto-height region.
950         * rendering/RenderRegion.cpp:
951         (WebCore::RenderRegion::updateLogicalHeight):
952         Add an assert to make sure that the computed height for auto-height regions is always less than LayoutUnit::max() / 2.
953
954 2012-11-13  Yury Semikhatsky  <yurys@chromium.org>
955
956         Memory instrumentation: remove reportMemoryUsage method from ImageObserver
957         https://bugs.webkit.org/show_bug.cgi?id=102058
958
959         Reviewed by Pavel Feldman.
960
961         * bindings/v8/V8PerIsolateData.cpp:
962         (WebCore::V8PerIsolateData::reportMemoryUsage): drive-by fix, no need to report
963         each element of the vector as generic vector instrumentation will take care of it.
964         * platform/graphics/Image.cpp: the client is reported as weak pointer to make sure
965         we don't count its by the pointer to the base class which may differ from the actual
966         object address.
967         (WebCore::Image::reportMemoryUsage):
968         * platform/graphics/ImageObserver.h: removed reportMemoryUsage method from the interface.
969         (ImageObserver):
970
971 2012-11-13  Eberhard Graether  <egraether@google.com>
972
973         checkbox to toggle FPS counter in the inspector's settings
974         https://bugs.webkit.org/show_bug.cgi?id=99660
975
976         Reviewed by Pavel Feldman.
977
978         Added a checkbox to the inspector's settings to toggle a FPS counter. The checkbox appears when InspectorClient::canShowFPSCounter() returns true.
979
980         No new tests.
981
982         * English.lproj/localizedStrings.js:
983         * inspector/Inspector.json:
984         * inspector/InspectorClient.h:
985         (WebCore::InspectorClient::canShowFPSCounter):
986         (WebCore::InspectorClient::setShowFPSCounter):
987         (InspectorClient):
988         * inspector/InspectorPageAgent.cpp:
989         (PageAgentState):
990         (WebCore::InspectorPageAgent::enable):
991         (WebCore::InspectorPageAgent::disable):
992         (WebCore::InspectorPageAgent::canShowFPSCounter):
993         (WebCore):
994         (WebCore::InspectorPageAgent::setShowFPSCounter):
995         * inspector/InspectorPageAgent.h:
996         * inspector/front-end/Settings.js:
997         * inspector/front-end/SettingsScreen.js:
998         (WebInspector.GenericSettingsTab):
999         (WebInspector.GenericSettingsTab.prototype.get _showFPSCounterChanged):
1000         * inspector/front-end/inspector.js:
1001         (WebInspector.doLoadedDone):
1002
1003 2012-11-12  Kent Tamura  <tkent@chromium.org>
1004
1005         Unable to set valid time value to input[type=time] with user interaction in some cases
1006         https://bugs.webkit.org/show_bug.cgi?id=102048
1007
1008         Reviewed by Kentaro Hara.
1009
1010         The implementations of shouldMillisecondFieldReadOnly,
1011         shouldMinuteFieldReadOnly, and shouldSecondFieldReadOnly were
1012         incorrect. We need to check if a part of the minimum value matches to
1013         the corresponding part of the current value.
1014
1015         Also, we had better check hour field editability.
1016
1017         Test: fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html
1018
1019         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1020         (WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldHaveSecondField):
1021         Fix a problem that hh:mm:00.sss didn't create a seconds field.
1022         * html/shadow/DateTimeEditElement.cpp:
1023         (DateTimeEditBuilder): Add shouldHourFieldReadOnly declaration.
1024         (WebCore::DateTimeEditBuilder::visitField):
1025         Add shouldHourFieldReadOnly check to Hour11/Hour12/Hour23/Hour24/Period fields.
1026         (WebCore::DateTimeEditBuilder::shouldHourFieldReadOnly):
1027         Added. An hour field should be read-only if the step value is a multiple
1028         of a day and the hour part of the minimum value matches to the hour part
1029         of the value.
1030         (WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly):
1031         A millisecond field should be read-only if the step value is a multiple
1032         of one second and the millisecond part of the minimum value matches to
1033         the millisecond part of the value.
1034         (WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly):
1035         A minute field should be read-only if the step value is a multiple of
1036         one hour and the minute part of the minimum value matches to the minute
1037         part of the value.
1038         (WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly):
1039         A second field should be read-only if the step value is a multiple of
1040         one minute and the second part of the minimum value matches to the second
1041         part of the value.
1042         * platform/Decimal.cpp:
1043         (WebCore::Decimal::remainder):
1044         Fix a bug in case that the fractional part of quotient is >= 0.5. Also
1045         make this matches to C99, C++11, ECMAScript behavior.
1046
1047 2012-11-13  Yury Semikhatsky  <yurys@chromium.org>
1048
1049         Memory instrumentation: MemoryBlock name should not include full path to the block
1050         https://bugs.webkit.org/show_bug.cgi?id=102055
1051
1052         Reviewed by Pavel Feldman.
1053
1054         * inspector/InspectorMemoryAgent.cpp: pass only last path component as MemoryBlock name
1055         intead of fully qualified name.
1056
1057 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
1058
1059         Web Inspector: get rid of enter/exitTextChangeMode in the editor
1060         https://bugs.webkit.org/show_bug.cgi?id=101845
1061
1062         Reviewed by Vsevolod Vlasov.
1063
1064         They seem to do nothing.
1065
1066         * inspector/front-end/DefaultTextEditor.js:
1067         (WebInspector.DefaultTextEditor.prototype._textChanged):
1068         (WebInspector.DefaultTextEditor.prototype.editRange):
1069         (WebInspector.TextEditorMainPanel):
1070         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
1071         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
1072         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
1073         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1074         * inspector/front-end/TextEditorModel.js:
1075         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1076
1077 2012-11-13  Tommy Widenflycht  <tommyw@google.com>
1078
1079         Remove the custom WebSocket::send for both V8 and JSC
1080         https://bugs.webkit.org/show_bug.cgi?id=101936
1081
1082         Reviewed by Kentaro Hara.
1083
1084         This patch removes the custom WebSocket::send since it isn't needed anymore.
1085
1086         Patch covered by existing tests.
1087
1088         * Modules/websockets/WebSocket.idl:
1089         * UseV8.cmake:
1090         * WebCore.gypi:
1091         * bindings/js/JSWebSocketCustom.cpp:
1092         * bindings/v8/custom/V8WebSocketCustom.cpp: Removed.
1093
1094 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
1095
1096         Web Inspector: move indentation logic into TextEditorModel
1097         https://bugs.webkit.org/show_bug.cgi?id=101842
1098
1099         Reviewed by Vsevolod Vlasov.
1100
1101         I'd like to move as much headless logic into the TextEditorModel as possible.
1102         Drive by: removed some dead code, converted getter into function and moved undo
1103         mark state into the model as well.
1104
1105         * inspector/front-end/DefaultTextEditor.js:
1106         (WebInspector.DefaultTextEditor.prototype.editRange):
1107         (WebInspector.DefaultTextEditor.prototype._syncDecorationsForLine):
1108         (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
1109         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
1110         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
1111         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1112         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
1113         (WebInspector.TextEditorMainChunk):
1114         (WebInspector.TextEditorMainChunk.prototype.isDecorated):
1115         (WebInspector.TextEditorMainChunk.prototype.set expanded):
1116         * inspector/front-end/TextEditorModel.js:
1117         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1118
1119 2012-11-13  Hayato Ito  <hayato@chromium.org>
1120
1121         Unreviewed attempt to fix the chromium mac-build after r134348.
1122
1123         * platform/graphics/mac/FontMac.mm:
1124         (WebCore::Font::drawGlyphs):
1125         * platform/mac/WebCoreSystemInterface.h:
1126         * platform/mac/WebCoreSystemInterface.mm:
1127
1128 2012-11-13  Pavel Feldman  <pfeldman@chromium.org>
1129
1130         Web Inspector: migrate text editor to mutation observers
1131         https://bugs.webkit.org/show_bug.cgi?id=101841
1132
1133         Reviewed by Vsevolod Vlasov.
1134
1135         Otherwise, we miss notifications on the removed lines.
1136
1137         * inspector/front-end/DefaultTextEditor.js:
1138         (WebInspector.DefaultTextEditor.prototype.wasShown):
1139         (WebInspector.DefaultTextEditor.prototype.willHide):
1140         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
1141         (WebInspector.TextEditorMainPanel):
1142         (WebInspector.TextEditorMainPanel.prototype._wasShown):
1143         (WebInspector.TextEditorMainPanel.prototype._willHide):
1144         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
1145         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
1146         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
1147         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
1148         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
1149         (WebInspector.TextEditorMainPanel.prototype._paintLine):
1150         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
1151         (WebInspector.TextEditorMainPanel.prototype._handleMutations.else.get if):
1152         (WebInspector.TextEditorMainPanel.prototype._handleMutations):
1153         (WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
1154         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1155         * inspector/front-end/externs.js:
1156         (WebKitMutation):
1157         (WebKitMutationObserver.prototype.observe):
1158         (WebKitMutationObserver.prototype.disconnect):
1159         * inspector/front-end/textEditor.css:
1160         (.debug-fadeout):
1161         (@-webkit-keyframes debug-fadeout):
1162         (to):
1163
1164 2012-11-13  Gabor Rapcsanyi  <rgabor@webkit.org>
1165
1166         Optimize RGBA4444ToRGBA8 packing/unpacking functions with NEON intrinsics in GraphicsContext3D
1167         https://bugs.webkit.org/show_bug.cgi?id=101473
1168
1169         Reviewed by Zoltan Herczeg.
1170
1171         With NEON intrinsics the packing/unpacking functions can be optimized well.
1172         This particular function is about 3 times faster with ARM NEON. On top level tests
1173         the speed up was 1.18x.
1174
1175         * CMakeLists.txt:
1176         * GNUmakefile.am:
1177         * GNUmakefile.list.am:
1178         * Target.pri:
1179         * WebCore.gyp/WebCore.gyp:
1180         * WebCore.gypi:
1181         * WebCore.pri:
1182         * WebCore.xcodeproj/project.pbxproj:
1183         * platform/graphics/GraphicsContext3D.cpp:
1184         (WebCore):
1185         * platform/graphics/cpu/arm/GraphicsContext3DNEON.h: Added.
1186         (WebCore):
1187         (ARM):
1188         (WebCore::ARM::unpackOneRowOfRGBA4444ToRGBA8NEON):
1189         (WebCore::ARM::packOneRowOfRGBA8ToUnsignedShort4444NEON):
1190
1191 2012-11-13  Takashi Sakamoto  <tasak@google.com>
1192
1193         Crash when replacing parts of text inputs with content: url(...)
1194         https://bugs.webkit.org/show_bug.cgi?id=101133
1195
1196         Reviewed by Kent Tamura.
1197
1198         Disable directly setting content of elements in an input element's
1199         shadow dom tree, because the setting breaks input element's behavior.
1200
1201         Tests: fast/forms/number/number-content-url-crash.html
1202                fast/forms/search/search-content-url-crash.html
1203
1204         * css/html.css:
1205         (input::-webkit-textfield-decoration-container):
1206         Use important to disable overriding an input element's content
1207         property.
1208         * html/TextFieldInputType.cpp:
1209         (WebCore::TextFieldInputType::attach):
1210         Added ASSERTION. No content should be applied to
1211         input::-webkit-textfield-decoration-container.
1212
1213 2012-11-12  Huang Dongsung  <luxtella@company100.net>
1214
1215         [Qt] REGRESSION(134142): overscaled tiles in pixel test results and MiniBrowser
1216         https://bugs.webkit.org/show_bug.cgi?id=101918
1217
1218         Reviewed by Noam Rosenthal.
1219
1220         Remove TiledBackingStore::rect(), because it is not used anymore.
1221
1222         * platform/graphics/TiledBackingStore.h:
1223         (TiledBackingStore):
1224
1225 2012-11-12  Adam Barth  <abarth@webkit.org>
1226
1227         [V8] We should be able to recover the V8DOMWindowShell more quickly
1228         https://bugs.webkit.org/show_bug.cgi?id=102020
1229
1230         Reviewed by Kentaro Hara.
1231
1232         For isolated worlds, we used to store the V8DOMWindowShell as an
1233         internal field of the inner DOM window. This patch moves the pointer to
1234         an internal field of the v8::Context, which saves us the work of
1235         looking up the inner DOM window.
1236
1237         Unfortunately, we cannot store the V8DOMWindowShell in V8PerContextData
1238         because the V8DOMWindowShell outlives the V8PerContextData. (We destroy
1239         the V8PerContextData when we detach the V8DOMWindowShell from the
1240         frame.)
1241
1242         * bindings/scripts/CodeGeneratorV8.pm:
1243         (GetInternalFields):
1244         * bindings/v8/V8DOMWindowShell.cpp:
1245         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1246         * bindings/v8/V8DOMWindowShell.h:
1247         (WebCore::V8DOMWindowShell::getEntered):
1248         * bindings/v8/V8PerContextData.h:
1249
1250 2012-11-12  Kentaro Hara  <haraken@chromium.org>
1251
1252         [V8] Add ASSERT() to guarantee that we don't store NULL pointers to V8 internal fields
1253         https://bugs.webkit.org/show_bug.cgi?id=101054
1254
1255         Reviewed by Adam Barth.
1256
1257         I'm investigating a Chromium crash bug:
1258         http://code.google.com/p/chromium/issues/detail?id=155942
1259
1260         I've not yet identified the root cause (because I can't reproduce
1261         the crash), but it looks like we are storing NULL pointers to
1262         V8 internal fields. Just in case, we can add an ASSERT() to
1263         guarantee that NULL pointers are never stored. (Also I'm hoping
1264         that this ASSERT() will give me more debug information.)
1265
1266         No tests. No change in behavior.
1267
1268         * bindings/v8/V8DOMWrapper.h:
1269         (WebCore::V8DOMWrapper::setDOMWrapper):
1270
1271 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
1272
1273         Changing id, className, or attribute should invalidate distribution
1274         https://bugs.webkit.org/show_bug.cgi?id=100738
1275
1276         Reviewed by Dimitri Glazkov.
1277
1278         When id, className, or attribute is changed, we might have to invalidate distribution.
1279         However, we don't want to do useless invalidation. So we consult with the RuleFeatureSet of ElementShadow,
1280         and invalidate distribution only if necessary.
1281
1282         When className is changed, we can share a lot of code between invalidating distribution and invalidating style.
1283         So we made checkNeedsStyleInvalidationForClassChange a template method, and share it.
1284
1285         Also we've measured how this patch makes changing attribute slow. By converting checkNeedsStyleInvalidationForClassChange
1286         to template, actually this improves the performance of changing attribute code. I've measured each code 3 times.
1287
1288         DOM/ModifyAttribute.html
1289         Before this patch:
1290                 median  stdev  min      max    [ms]
1291           1st   115.62   0.67  114.75   117.00
1292           2nd   115.08   1.13  113.25   117.58
1293           3rd   114.75   1.16  113.42   117.83
1294
1295         After this patch:
1296                 median  stdev  min      max    [ms]
1297           1st   102.55   0.95  101.25   104.50
1298           2nd   103.10   0.86  102.20   100.95
1299           3rd   103.30   1.05  102.10   106.65
1300
1301         Tests: fast/dom/shadow/distribution-attribute-modified.html
1302                fast/dom/shadow/distribution-className-modified.html
1303                fast/dom/shadow/distribution-id-modified.html
1304                fast/dom/shadow/reprojection-attribute-modified.html
1305                fast/dom/shadow/reprojection-className-modified.html
1306                fast/dom/shadow/reprojection-id-modified.html
1307
1308         * dom/Element.cpp:
1309         (WebCore::Element::attributeChanged):
1310         (WebCore::HasSelectorForClassStyleFunctor::HasSelectorForClassStyleFunctor):
1311         (HasSelectorForClassStyleFunctor):
1312         (WebCore::HasSelectorForClassStyleFunctor::operator()): Returns true if StyleResolver::hasSelectorForClass returns true.
1313         (WebCore):
1314         (WebCore::HasSelectorForClassDistributionFunctor::HasSelectorForClassDistributionFunctor):
1315         (HasSelectorForClassDistributionFunctor):
1316         (WebCore::HasSelectorForClassDistributionFunctor::operator()): Returns true if ElementShadow::hasSelectorForClass returns true.
1317         (WebCore::checkFunctorForClassChange):
1318         (WebCore::checkNeedsStyleInvalidationForClassChange): Extacted the implementation to checkFunctorForClassChange.
1319         (WebCore::checkNeedsDistributionInvalidationForClassChange):
1320         (WebCore::Element::classAttributeChanged):
1321
1322 2012-11-12  Joe Mason  <jmason@rim.com>
1323
1324         [BlackBerry] NetworkJob should not check if data is received with HEAD
1325         https://bugs.webkit.org/show_bug.cgi?id=102034
1326
1327         Reviewed by George Staikos.
1328
1329         Internal PR: 241391
1330
1331         Make HEAD requests call didFinish instead of didFail on a 404 response, even though they
1332         have no data.
1333
1334         Tests: ManualTests/blackberry/head-xhr-nonexistant-file.html
1335
1336         * platform/network/blackberry/NetworkJob.cpp:
1337         (WebCore::NetworkJob::NetworkJob):
1338         (WebCore::NetworkJob::initialize):
1339         (WebCore::NetworkJob::shouldNotifyClientFailed):
1340         * platform/network/blackberry/NetworkJob.h:
1341         (NetworkJob):
1342
1343 2012-11-12  Adam Barth  <abarth@webkit.org>
1344
1345         [V8] V8DOMWrapper::instantiateV8Object shouldn't use deprecatedDocument
1346         https://bugs.webkit.org/show_bug.cgi?id=102015
1347
1348         Reviewed by Kentaro Hara.
1349
1350         Previously, Nodes had a special path through
1351         V8DOMWrapper::instantiateV8Object using deprecatedDocument so that we
1352         could find the V8PerContextData quickly. Now that we can get the
1353         V8PerContextData from the v8::Context quickly, we can move Nodes to the
1354         general case. The net consequence is that creation of all DOM objects
1355         should be as fast as Nodes are.
1356
1357         * bindings/scripts/CodeGeneratorV8.pm:
1358         (GenerateToV8Converters):
1359         * bindings/scripts/test/V8/V8Float64Array.cpp:
1360         (WebCore::V8Float64Array::wrapSlow):
1361         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1362         (WebCore::V8TestActiveDOMObject::wrapSlow):
1363         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1364         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1365         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1366         (WebCore::V8TestEventConstructor::wrapSlow):
1367         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1368         (WebCore::V8TestEventTarget::wrapSlow):
1369         * bindings/scripts/test/V8/V8TestException.cpp:
1370         (WebCore::V8TestException::wrapSlow):
1371         * bindings/scripts/test/V8/V8TestInterface.cpp:
1372         (WebCore::V8TestInterface::wrapSlow):
1373         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1374         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1375         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1376         (WebCore::V8TestNamedConstructor::wrapSlow):
1377         * bindings/scripts/test/V8/V8TestNode.cpp:
1378         (WebCore::V8TestNode::wrapSlow):
1379         * bindings/scripts/test/V8/V8TestObj.cpp:
1380         (WebCore::V8TestObj::wrapSlow):
1381         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1382         (WebCore::V8TestOverloadedConstructors::wrapSlow):
1383         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1384         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1385         * bindings/v8/V8Binding.cpp:
1386         * bindings/v8/V8Binding.h:
1387         (WebCore):
1388         * bindings/v8/V8DOMWrapper.cpp:
1389         (WebCore::V8DOMWrapper::instantiateV8Object):
1390         * bindings/v8/V8DOMWrapper.h:
1391         (V8DOMWrapper):
1392
1393 2012-11-12  KyungTae Kim  <ktf.kim@samsung.com>
1394
1395         Some CSS properties are not handled on StyleResolver::applyProperty
1396         https://bugs.webkit.org/show_bug.cgi?id=102027
1397
1398         Reviewed by Gyuyoung Kim.
1399
1400         The CSSPropertyMaxZoom, CSSPropertyMinZoom, CSSPropertyOrientation and CSSPropertyUserZoom
1401         need to be handled on StyleResolver::applyProperty.
1402
1403         * css/StyleResolver.cpp:
1404         (WebCore::StyleResolver::applyProperty):
1405
1406 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
1407
1408         Avoid calling calculateLayerBounds() and convertToLayerCoords() more than once per layer paint
1409         https://bugs.webkit.org/show_bug.cgi?id=102031
1410
1411         Reviewed by Beth Dakin.
1412
1413         RenderLayer::paintLayerContents() and callees could end up calling convertToLayerCoords()
1414         and calculateLayerBounds() multiple times for painting a single layer.
1415         
1416         Keep track of whether we've computed the root-relative bounds and do it on demand.
1417         Compute the offset relative to rootLayer once, and pass it around as an optional parameter
1418         to functions that need it.
1419
1420         * rendering/RenderLayer.cpp:
1421         (WebCore::RenderLayer::paintLayerContents):
1422         (WebCore::RenderLayer::hitTestLayer):
1423         (WebCore::RenderLayer::calculateRects):
1424         (WebCore::RenderLayer::intersectsDamageRect):
1425         (WebCore::RenderLayer::boundingBox):
1426         (WebCore::RenderLayer::calculateLayerBounds):
1427         * rendering/RenderLayer.h:
1428         * rendering/RenderLayerCompositor.cpp:
1429         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1430
1431 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
1432
1433         Change calculateLayerBounds() from a static function to a member function
1434         https://bugs.webkit.org/show_bug.cgi?id=102022
1435
1436         Reviewed by Beth Dakin.
1437
1438         calculateLayerBounds() has grown into a substantial function after
1439         starting live as a little utility function, so make it a member function
1440         of RenderLayer, and adjust callers accordingly.
1441
1442         * rendering/RenderLayer.cpp:
1443         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
1444         (WebCore::RenderLayer::paintLayerContents):
1445         (WebCore::RenderLayer::calculateLayerBounds):
1446         * rendering/RenderLayer.h:
1447         * rendering/RenderLayerCompositor.cpp:
1448         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
1449
1450 2012-11-12  Alexei Filippov  <alph@chromium.org>
1451
1452         Web Inspector: Add an option to switch display of "Other" memory on/off in NMI
1453         https://bugs.webkit.org/show_bug.cgi?id=101601
1454
1455         Reviewed by Yury Semikhatsky.
1456
1457         * English.lproj/localizedStrings.js:
1458         * inspector/front-end/NativeMemorySnapshotView.js:
1459         * inspector/front-end/Settings.js:
1460         * inspector/front-end/SettingsScreen.js:
1461         (WebInspector.GenericSettingsTab):
1462
1463 2012-11-10  Dirk Schulze  <krit@webkit.org>
1464
1465         BasicShapes 'circle', 'rectangle', 'ellipse' should be animatable with themselves
1466         https://bugs.webkit.org/show_bug.cgi?id=101854
1467
1468         Reviewed by Andreas Kling.
1469
1470         The basic shapes BasicShapeCircle, BasicShapeEllipse and BasicShapeRectangle should
1471         blend with themselves. This patch introduces simple interpolation of BasicShapes for
1472         the -webkit-clip-path property.
1473
1474         Test: css3/masking/clip-path-animation.html
1475
1476         * page/animation/CSSPropertyAnimation.cpp:
1477         (WebCore::blendFunc): Added a new function that blends between two BasicShape objects.
1478             It skips blending on <clipPath> references, polygons and if the shapes are not of
1479             the same type.
1480         (WebCore):
1481         (PropertyWrapperClipPath): Added new wrapper for ClipPathShapes.
1482         (WebCore::PropertyWrapperClipPath::PropertyWrapperClipPath): Ditto.
1483         (WebCore::CSSPropertyAnimation::ensurePropertyMap): Add -webkit-clip-path to animatable
1484             properties.
1485         * rendering/style/BasicShapes.cpp:
1486             The blending is done by each shape itself. This is similar to FilterOperations or
1487             TransformOperations.
1488         (WebCore::BasicShapeRectangle::blend):
1489         (WebCore):
1490         (WebCore::BasicShapeCircle::blend):
1491         (WebCore::BasicShapeEllipse::blend):
1492         (WebCore::BasicShapePolygon::blend):
1493         * rendering/style/BasicShapes.h:
1494             Added new blending functions to header.
1495         (BasicShape):
1496         (BasicShapeRectangle):
1497         (BasicShapeCircle):
1498         (BasicShapeEllipse):
1499         (BasicShapePolygon):
1500
1501 2012-11-12  Adam Barth  <abarth@webkit.org>
1502
1503         [V8] We should be able to get V8PerContextData from a v8::Context more quickly
1504         https://bugs.webkit.org/show_bug.cgi?id=102008
1505
1506         Reviewed by Ojan Vafai.
1507
1508         This patch uses the new v8::Context::GetAlignedPointerFromEmbedderData
1509         API to get the V8PerContextData associated with a v8::Context much more
1510         quickly. We no longer need to use a hidden property on the inner global
1511         object. This patch will enable future optimizations.
1512
1513         * bindings/v8/V8HiddenPropertyName.h:
1514         (WebCore):
1515         * bindings/v8/V8PerContextData.cpp:
1516         (WebCore::V8PerContextData::dispose):
1517         (WebCore::V8PerContextData::init):
1518         * bindings/v8/V8PerContextData.h:
1519         (WebCore::V8PerContextData::from):
1520
1521 2012-11-12  Elliott Sprehn  <esprehn@chromium.org>
1522
1523         Make Frames and HTMLFrameOwnerElement less friendly
1524         https://bugs.webkit.org/show_bug.cgi?id=102003
1525
1526         Reviewed by Ojan Vafai.
1527
1528         Frame used to assign HTMLFrameOwnerElement's m_contentFrame directly
1529         this patch makes it go through a method to allow future hooks when frames
1530         are associated with owners.
1531
1532         No new tests, this is just a refactor.
1533
1534         * html/HTMLFrameOwnerElement.cpp:
1535         (WebCore::HTMLFrameOwnerElement::setContentFrame):
1536         * html/HTMLFrameOwnerElement.h:
1537         (HTMLFrameOwnerElement):
1538         (WebCore::HTMLFrameOwnerElement::clearContentFrame):
1539         * page/Frame.cpp:
1540         (WebCore::Frame::Frame): Use new methods.
1541
1542 2012-11-12  Beth Dakin  <bdakin@apple.com>
1543
1544         Zoomed-in scrolling is very slow when deviceScaleFactor > 1
1545         https://bugs.webkit.org/show_bug.cgi?id=101787
1546
1547         Reviewed by Simon Fraser.
1548
1549         This patch adds a new member to the GraphicsContextState that tracks 
1550         whether or not fonts should be subpixel-quantized. We want to default 
1551         to sibpixel-quantizing, but we'll turn it off if we're scrolling 
1552         content that cannot be scrolled on the scrolling thread.
1553
1554         State has a new bool shouldSubpixelQuantizeFonts. It defaults to true 
1555         since normally we do want to quantize.
1556         * platform/graphics/GraphicsContext.cpp:
1557         (WebCore::GraphicsContext::setShouldSubpixelQuantizeFonts):
1558         (WebCore::GraphicsContext::shouldSubpixelQuantizeFonts):
1559         * platform/graphics/GraphicsContext.h:
1560         (WebCore::GraphicsContextState::GraphicsContextState):
1561         (GraphicsContextState):
1562         (GraphicsContext):
1563
1564         wkSetCGFontRenderingMode now takes a BOOL parameter which indicates 
1565         whether or not it should try to subpixel-quantize the fonts.
1566         * platform/graphics/mac/FontMac.mm:
1567         (WebCore::Font::drawGlyphs):
1568         * platform/mac/WebCoreSystemInterface.h:
1569         * platform/mac/WebCoreSystemInterface.mm:
1570
1571         Disable subpixel-quantization for overflow areas, subframes, and 
1572         content that is scrolling on the main thread.
1573         * rendering/RenderLayer.cpp:
1574         (WebCore::RenderLayer::paintLayerContents):
1575
1576 2012-11-12  Timothy Hatcher  <timothy@apple.com>
1577
1578         Expose InspectorFrontendClientLocal::setAttachedWindow as public.
1579
1580         This allows external actions to update the docked state in the frontend.
1581
1582         https://bugs.webkit.org/show_bug.cgi?id=102023
1583
1584         Reviewed by Anders Carlsson.
1585
1586         * inspector/InspectorFrontendClientLocal.h:
1587         Moved InspectorFrontendClientLocal::setAttachedWindow to public section.
1588
1589 2012-11-12  Erik Arvidsson  <arv@chromium.org>
1590
1591         Replace DOMException TYPE_MISMATCH_ERR with TypeError
1592         https://bugs.webkit.org/show_bug.cgi?id=101604
1593
1594         Reviewed by Adam Barth.
1595
1596         DOMException.TYPE_MISMATCH_ERR is deprecated in favor of using TypeError.
1597
1598         We have historically used TYPE_MISMATCH_ERR as a blanket DOMException code when
1599         the spec mandates TypeError being thrown.
1600
1601         Updated existing tests.
1602
1603         * Modules/mediastream/MediaConstraintsImpl.cpp:
1604         * Modules/mediastream/MediaStreamTrackList.cpp:
1605         * Modules/mediastream/PeerConnection00.cpp:
1606         * Modules/mediastream/RTCDataChannel.cpp:
1607         * Modules/mediastream/RTCIceCandidate.cpp:
1608         * Modules/mediastream/RTCPeerConnection.cpp:
1609         * Modules/mediastream/RTCSessionDescription.cpp:
1610         * Modules/mediastream/SessionDescription.cpp:
1611         * bindings/js/CallbackFunction.cpp:
1612         * bindings/js/JSCustomXPathNSResolver.cpp:
1613         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1614         * bindings/js/JSHTMLSelectElementCustom.cpp:
1615         * bindings/js/JSMutationObserverCustom.cpp:
1616         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1617         * bindings/js/JSSQLTransactionCustom.cpp:
1618         * bindings/js/JSSQLTransactionSyncCustom.cpp:
1619         * bindings/scripts/CodeGeneratorJS.pm:
1620         * bindings/scripts/CodeGeneratorObjC.pm:
1621         * bindings/scripts/CodeGeneratorV8.pm:
1622         * bindings/v8/V8Callback.h:
1623         * bindings/v8/V8Collection.cpp:
1624         * bindings/v8/custom/V8DocumentCustom.cpp:
1625         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1626         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1627         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1628         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1629         * dom/DOMCoreException.idl:
1630         * html/HTMLElement.cpp:
1631         * html/HTMLMediaElement.cpp:
1632         * html/HTMLOptionsCollection.cpp:
1633         * html/canvas/CanvasRenderingContext2D.cpp:
1634         * page/Crypto.cpp:
1635         * page/DOMSelection.cpp:
1636         * svg/properties/SVGTransformListPropertyTearOff.h:
1637
1638 2012-11-12  Joshua Bell  <jsbell@chromium.org>
1639
1640         IndexedDB: Use sequence<> instead of DOMString[] in IDL
1641         https://bugs.webkit.org/show_bug.cgi?id=100539
1642
1643         Reviewed by Adam Barth.
1644
1645         In the binding layer, DOMString[] is implemented as an alias for DOMStringList.
1646         WebIDL usage is tending towards sequence<DOMString> anyway for inputs, so switch
1647         to that. Note webkit.org/b/100537 which requires sequence<String> instead.
1648
1649         Covered by storage/indexeddb/transaction-basics.html and objectstore-basics.html
1650
1651         * Modules/indexeddb/IDBDatabase.cpp:
1652         (WebCore::IDBDatabase::transaction): DOMStringList -> Vector<String>
1653         * Modules/indexeddb/IDBDatabase.h:
1654         (WebCore::IDBDatabase::transaction):
1655         (IDBDatabase):
1656         * Modules/indexeddb/IDBDatabase.idl: DOMString[] -> sequence<String>
1657         * Modules/indexeddb/IDBObjectStore.cpp: Move trivial impls to header.
1658         * Modules/indexeddb/IDBObjectStore.h:
1659         (WebCore::IDBObjectStore::createIndex):
1660         * Modules/indexeddb/IDBObjectStore.idl: DOMString[] -> sequence<String>
1661
1662 2012-11-12  Anders Carlsson  <andersca@apple.com>
1663
1664         Remove Leopard only gradient code
1665         https://bugs.webkit.org/show_bug.cgi?id=102033
1666
1667         Reviewed by Dan Bernstein.
1668
1669         USE_CG_SHADING was only ever true on Leopard, so we can remove it now.
1670
1671         * platform/graphics/Gradient.h:
1672         * platform/graphics/cg/GradientCG.cpp:
1673         (WebCore::Gradient::platformDestroy):
1674         (WebCore::Gradient::platformGradient):
1675         (WebCore::Gradient::paint):
1676
1677 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
1678
1679         [BlackBerry] Update BB10 form theme.
1680         https://bugs.webkit.org/show_bug.cgi?id=100760
1681
1682         Reviewed by Rob Buis.
1683
1684         RIM PR 237003
1685         Internally Reviewed by Eli Fidler.
1686         Since we nolonger use small font for form controls, adjust paddingDivisor
1687         ratio to decrease the padding value.
1688
1689         * platform/blackberry/RenderThemeBlackBerry.cpp:
1690         (WebCore):
1691
1692 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
1693
1694         Fix filter dirty rect regression from r134311
1695         https://bugs.webkit.org/show_bug.cgi?id=102002
1696
1697         Reviewed by Beth Dakin.
1698
1699         When rendering with filters, the code can inflate the root-relative
1700         paintDirtyRect in RenderLayer::paintLayerContents(), and my cleanup
1701         broke this behavior.
1702     
1703         Fix by making a local copy of LayerPaintingInfo, updating its paintDirtyRect,
1704         and using it for the rest of the function.
1705
1706         * rendering/RenderLayer.cpp:
1707         (WebCore::RenderLayer::paintLayerContents):
1708
1709 2012-11-12  Kentaro Hara  <haraken@chromium.org>
1710
1711         [V8] V8Event::valueAccessorGetter() in custom binding is not used
1712         https://bugs.webkit.org/show_bug.cgi?id=101893
1713
1714         Reviewed by Adam Barth.
1715
1716         No tests. No change in behavior.
1717
1718         * bindings/v8/custom/V8EventCustom.cpp:
1719
1720 2012-11-12  Roger Fong  <roger_fong@apple.com>
1721
1722         Web Inspector: Fix docking behaviour on Windows.
1723         https://bugs.webkit.org/show_bug.cgi?id=101978
1724
1725         Reviewed by Brian Weinstein.
1726
1727         There are a number of problems with docking behaviour on Windows.
1728         For starters, it does not ever constrain the inspector's size properly while docked.
1729         It also does not properly set the whether or not the inspector can be docked/undocked.
1730         This patch fixes both issues.
1731
1732         * inspector/InspectorFrontendClientLocal.cpp:
1733         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
1734         Switch order of calling bringToFront and setDockingUnavailable.
1735
1736 2012-11-12  Adam Barth  <abarth@webkit.org>
1737
1738         [V8] Update callers to use the aligned pointer API rather than the deprecated unaligned pointer API
1739         https://bugs.webkit.org/show_bug.cgi?id=101519
1740
1741         Reviewed by Ojan Vafai.
1742
1743         There should be no change in behavior.  The new API is slightly faster
1744         than the old API (and apparently works correctly internally in V8).
1745
1746         * bindings/scripts/CodeGeneratorV8.pm:
1747         (GenerateHeader):
1748         * bindings/scripts/test/V8/V8Float64Array.h:
1749         (WebCore::V8Float64Array::toNative):
1750         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1751         (WebCore::V8TestActiveDOMObject::toNative):
1752         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1753         (WebCore::V8TestCustomNamedGetter::toNative):
1754         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1755         (WebCore::V8TestEventConstructor::toNative):
1756         * bindings/scripts/test/V8/V8TestEventTarget.h:
1757         (WebCore::V8TestEventTarget::toNative):
1758         * bindings/scripts/test/V8/V8TestException.h:
1759         (WebCore::V8TestException::toNative):
1760         * bindings/scripts/test/V8/V8TestInterface.h:
1761         (WebCore::V8TestInterface::toNative):
1762         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1763         (WebCore::V8TestMediaQueryListListener::toNative):
1764         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1765         (WebCore::V8TestNamedConstructor::toNative):
1766         * bindings/scripts/test/V8/V8TestNode.h:
1767         (WebCore::V8TestNode::toNative):
1768         * bindings/scripts/test/V8/V8TestObj.h:
1769         (WebCore::V8TestObj::toNative):
1770         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1771         (WebCore::V8TestSerializedScriptValueInterface::toNative):
1772         * bindings/v8/NPV8Object.cpp:
1773         (WebCore::v8ObjectToNPObject):
1774         (WebCore::npCreateV8ScriptObject):
1775         * bindings/v8/V8Collection.h:
1776         (WebCore::toNativeCollection):
1777         * bindings/v8/V8DOMWindowShell.cpp:
1778         (WebCore::setIsolatedWorldField):
1779         (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
1780         * bindings/v8/V8DOMWrapper.cpp:
1781         (WebCore::V8DOMWrapper::isWrapperOfType):
1782         * bindings/v8/V8DOMWrapper.h:
1783         (WebCore::V8DOMWrapper::setDOMWrapper):
1784         (WebCore::V8DOMWrapper::clearDOMWrapper):
1785         * bindings/v8/WrapperTypeInfo.h:
1786         (WebCore::toNative):
1787         (WebCore::toWrapperTypeInfo):
1788
1789 2012-11-12  Andreas Kling  <kling@webkit.org>
1790
1791         Rename AttributeStyle => PresentationAttributeStyle across WebCore.
1792         <http://webkit.org/b/101975>
1793
1794         Rubber-stamped by Antti Koivisto.
1795
1796         The completely separate concepts of "attribute style" and "style attribute" were a bit too
1797         easy to confuse in variable and method names. Reconfigure our terminology to call it
1798         "presentation attribute style" instead of "attribute style".
1799
1800         * css/StyleResolver.cpp:
1801         (WebCore::StyleResolver::sweepMatchedPropertiesCache):
1802         (WebCore::StyleResolver::matchAllRules):
1803         (WebCore::StyleResolver::canShareStyleWithElement):
1804         * dom/Attr.cpp:
1805         (WebCore::Attr::style):
1806         * dom/ElementAttributeData.cpp:
1807         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
1808         (WebCore::ElementAttributeData::reportMemoryUsage):
1809         * dom/ElementAttributeData.h:
1810         (WebCore::ElementAttributeData::presentationAttributeStyle):
1811         (WebCore::ElementAttributeData::setPresentationAttributeStyle):
1812         (ElementAttributeData):
1813         * dom/Node.h:
1814         (WebCore::Node::attributeStyleDirty):
1815         (WebCore::Node::setPresentationAttributeStyleDirty):
1816         (WebCore::Node::clearPresentationAttributeStyleDirty):
1817         * dom/StyledElement.cpp:
1818         (WebCore::StyledElement::attributeChanged):
1819         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1820         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
1821         * dom/StyledElement.h:
1822         (WebCore::StyledElement::additionalPresentationAttributeStyle):
1823         (StyledElement):
1824         (WebCore::StyledElement::collectStyleForPresentationAttribute):
1825         (WebCore::StyledElement::presentationAttributeStyle):
1826         * html/HTMLBRElement.cpp:
1827         (WebCore::HTMLBRElement::collectStyleForPresentationAttribute):
1828         * html/HTMLBRElement.h:
1829         (HTMLBRElement):
1830         * html/HTMLBodyElement.cpp:
1831         (WebCore::HTMLBodyElement::collectStyleForPresentationAttribute):
1832         * html/HTMLBodyElement.h:
1833         (HTMLBodyElement):
1834         * html/HTMLDivElement.cpp:
1835         (WebCore::HTMLDivElement::collectStyleForPresentationAttribute):
1836         * html/HTMLDivElement.h:
1837         (HTMLDivElement):
1838         * html/HTMLElement.cpp:
1839         (WebCore::HTMLElement::applyBorderAttributeToStyle):
1840         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
1841         (WebCore::HTMLElement::collectStyleForPresentationAttribute):
1842         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
1843         (WebCore::HTMLElement::addHTMLLengthToStyle):
1844         * html/HTMLElement.h:
1845         (HTMLElement):
1846         * html/HTMLEmbedElement.cpp:
1847         (WebCore::HTMLEmbedElement::collectStyleForPresentationAttribute):
1848         * html/HTMLEmbedElement.h:
1849         (HTMLEmbedElement):
1850         * html/HTMLFontElement.cpp:
1851         (WebCore::HTMLFontElement::collectStyleForPresentationAttribute):
1852         * html/HTMLFontElement.h:
1853         (HTMLFontElement):
1854         * html/HTMLFrameSetElement.cpp:
1855         (WebCore::HTMLFrameSetElement::collectStyleForPresentationAttribute):
1856         * html/HTMLFrameSetElement.h:
1857         (HTMLFrameSetElement):
1858         * html/HTMLHRElement.cpp:
1859         (WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
1860         * html/HTMLHRElement.h:
1861         (HTMLHRElement):
1862         * html/HTMLIFrameElement.cpp:
1863         (WebCore::HTMLIFrameElement::collectStyleForPresentationAttribute):
1864         * html/HTMLIFrameElement.h:
1865         (HTMLIFrameElement):
1866         * html/HTMLImageElement.cpp:
1867         (WebCore::HTMLImageElement::collectStyleForPresentationAttribute):
1868         * html/HTMLImageElement.h:
1869         (HTMLImageElement):
1870         * html/HTMLInputElement.cpp:
1871         (WebCore::HTMLInputElement::collectStyleForPresentationAttribute):
1872         * html/HTMLInputElement.h:
1873         (HTMLInputElement):
1874         * html/HTMLLIElement.cpp:
1875         (WebCore::HTMLLIElement::collectStyleForPresentationAttribute):
1876         * html/HTMLLIElement.h:
1877         (HTMLLIElement):
1878         * html/HTMLMarqueeElement.cpp:
1879         (WebCore::HTMLMarqueeElement::collectStyleForPresentationAttribute):
1880         * html/HTMLMarqueeElement.h:
1881         (HTMLMarqueeElement):
1882         * html/HTMLOListElement.cpp:
1883         (WebCore::HTMLOListElement::collectStyleForPresentationAttribute):
1884         * html/HTMLOListElement.h:
1885         (HTMLOListElement):
1886         * html/HTMLObjectElement.cpp:
1887         (WebCore::HTMLObjectElement::collectStyleForPresentationAttribute):
1888         * html/HTMLObjectElement.h:
1889         (HTMLObjectElement):
1890         * html/HTMLParagraphElement.cpp:
1891         (WebCore::HTMLParagraphElement::collectStyleForPresentationAttribute):
1892         * html/HTMLParagraphElement.h:
1893         (HTMLParagraphElement):
1894         * html/HTMLPlugInElement.cpp:
1895         (WebCore::HTMLPlugInElement::collectStyleForPresentationAttribute):
1896         * html/HTMLPlugInElement.h:
1897         (HTMLPlugInElement):
1898         * html/HTMLPreElement.cpp:
1899         (WebCore::HTMLPreElement::collectStyleForPresentationAttribute):
1900         * html/HTMLPreElement.h:
1901         (HTMLPreElement):
1902         * html/HTMLTableCaptionElement.cpp:
1903         (WebCore::HTMLTableCaptionElement::collectStyleForPresentationAttribute):
1904         * html/HTMLTableCaptionElement.h:
1905         (HTMLTableCaptionElement):
1906         * html/HTMLTableCellElement.cpp:
1907         (WebCore::HTMLTableCellElement::collectStyleForPresentationAttribute):
1908         (WebCore::HTMLTableCellElement::additionalPresentationAttributeStyle):
1909         * html/HTMLTableCellElement.h:
1910         (HTMLTableCellElement):
1911         * html/HTMLTableColElement.cpp:
1912         (WebCore::HTMLTableColElement::collectStyleForPresentationAttribute):
1913         (WebCore::HTMLTableColElement::additionalPresentationAttributeStyle):
1914         * html/HTMLTableColElement.h:
1915         (HTMLTableColElement):
1916         * html/HTMLTableElement.cpp:
1917         (WebCore::HTMLTableElement::collectStyleForPresentationAttribute):
1918         (WebCore::HTMLTableElement::additionalPresentationAttributeStyle):
1919         * html/HTMLTableElement.h:
1920         (HTMLTableElement):
1921         * html/HTMLTablePartElement.cpp:
1922         (WebCore::HTMLTablePartElement::collectStyleForPresentationAttribute):
1923         * html/HTMLTablePartElement.h:
1924         (HTMLTablePartElement):
1925         * html/HTMLTableSectionElement.cpp:
1926         (WebCore::HTMLTableSectionElement::additionalPresentationAttributeStyle):
1927         * html/HTMLTableSectionElement.h:
1928         (HTMLTableSectionElement):
1929         * html/HTMLTextAreaElement.cpp:
1930         (WebCore::HTMLTextAreaElement::collectStyleForPresentationAttribute):
1931         * html/HTMLTextAreaElement.h:
1932         (HTMLTextAreaElement):
1933         * html/HTMLUListElement.cpp:
1934         (WebCore::HTMLUListElement::collectStyleForPresentationAttribute):
1935         * html/HTMLUListElement.h:
1936         (HTMLUListElement):
1937         * html/HTMLVideoElement.cpp:
1938         (WebCore::HTMLVideoElement::collectStyleForPresentationAttribute):
1939         * html/HTMLVideoElement.h:
1940         (HTMLVideoElement):
1941         * inspector/InspectorCSSAgent.cpp:
1942         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
1943         * mathml/MathMLElement.cpp:
1944         (WebCore::MathMLElement::collectStyleForPresentationAttribute):
1945         * mathml/MathMLElement.h:
1946         (MathMLElement):
1947         * svg/SVGImageElement.cpp:
1948         (WebCore::SVGImageElement::collectStyleForPresentationAttribute):
1949         * svg/SVGImageElement.h:
1950         (SVGImageElement):
1951         * svg/SVGStyledElement.cpp:
1952         (WebCore::SVGStyledElement::collectStyleForPresentationAttribute):
1953         * svg/SVGStyledElement.h:
1954         (SVGStyledElement):
1955         * svg/SVGTextContentElement.cpp:
1956         (WebCore::SVGTextContentElement::collectStyleForPresentationAttribute):
1957         * svg/SVGTextContentElement.h:
1958         (SVGTextContentElement):
1959
1960 2012-11-12  Adam Barth  <abarth@webkit.org>
1961
1962         [V8] Many things crash when switching to V8's new aligned pointer API
1963         https://bugs.webkit.org/show_bug.cgi?id=101994
1964
1965         Reviewed by Eric Seidel.
1966
1967         When using the aligned pointer API, we need to make sure to initialize
1968         every internal field that we later read because the new API has better
1969         error checks than the old API. This patch explicitly initializes the
1970         enteredIsolatedWorldIndex internal field to zero for main worlds,
1971         fixing the LayoutTest crashes from our previous attempt to move the
1972         aligned pointer API.
1973
1974         * bindings/v8/V8DOMWindowShell.cpp:
1975         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1976
1977 2012-11-12  Simon Fraser  <simon.fraser@apple.com>
1978
1979         Reduce the crazy number of parameters to RenderLayer painting member functions
1980         https://bugs.webkit.org/show_bug.cgi?id=101895
1981
1982         Reviewed by Beth Dakin.
1983
1984         The various RenderLayer::paintLayer* functions took a lot of arguments, most
1985         of which were passed down directly to descendants.
1986         
1987         Gather these arguments into a LayerPaintingInfo struct.
1988
1989         * rendering/RenderLayer.cpp:
1990         (WebCore::RenderLayer::paint): Create a LayerPaintingInfo struct to pass
1991         to descendant paint calls.
1992         (WebCore::RenderLayer::paintOverlayScrollbars): Ditto.
1993         (WebCore::RenderLayer::paintLayer): When painting transformed layers, we
1994         make a new LayerPaintingInfo because the root layer is shifted.
1995         (WebCore::RenderLayer::paintLayerContentsAndReflection):
1996         (WebCore::RenderLayer::paintLayerContents):
1997         (WebCore::RenderLayer::paintList):
1998         (WebCore::RenderLayer::paintPaginatedChildLayer):
1999         (WebCore::RenderLayer::paintChildLayerIntoColumns): Create a new LayerPaintingInfo
2000         struct for column painting.
2001         * rendering/RenderLayer.h:
2002         (WebCore::RenderLayer::LayerPaintingInfo::LayerPaintingInfo):
2003         (LayerPaintingInfo):
2004         * rendering/RenderLayerBacking.cpp:
2005         (WebCore::RenderLayerBacking::paintIntoLayer): Build a LayerPaintingInfo
2006         to enter layer painting.
2007         * rendering/RenderReplica.cpp:
2008         (WebCore::RenderReplica::paint): Ditto.
2009
2010 2012-11-12  Brady Eidson  <beidson@apple.com>
2011
2012         NetworkProcess: Use an accurate shouldContentSniff value when creating ResourceHandles
2013         https://bugs.webkit.org/show_bug.cgi?id=101872
2014
2015         Reviewed by Alexey Proskuryakov.
2016
2017         Expose shouldSniffContent to pass it along to the NetworkProcess.
2018
2019         * loader/ResourceLoader.h:
2020         (WebCore::ResourceLoader::shouldSniffContent):
2021
2022 2012-11-12  Christophe Dumez  <christophe.dumez@intel.com>
2023
2024         Fix memory leak in createSurfaceForBackingStore()
2025         https://bugs.webkit.org/show_bug.cgi?id=101941
2026
2027         Reviewed by Kenneth Rohde Christiansen.
2028
2029         Fix memory leak in createSurfaceForBackingStore(),
2030         the RefPtr<cairo_surface_t> should be released
2031         when returned since we pass ownership to the
2032         caller.
2033
2034         No new tests, no behavior change for layout tests.
2035
2036         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
2037         (WebCore::createSurfaceForBackingStore):
2038
2039 2012-11-12  Joe Mason  <jmason@rim.com>
2040
2041         [BlackBerry] Update to new proxyInfo API
2042         https://bugs.webkit.org/show_bug.cgi?id=101945
2043
2044         Reviewed by George Staikos.
2045
2046         Internal PR: 234680
2047         Reviewed internally by: Leo Yang
2048
2049         The proxyAddress, proxyUsername and proxyPassword methods in BlackBerry::Platform::Settings
2050         have been replaced with a single, more efficient proxyInfo method.
2051
2052         No new tests because this is an API update with no behaviour change.
2053
2054         * platform/network/blackberry/NetworkJob.cpp:
2055         (WebCore::NetworkJob::sendRequestWithCredentials):
2056         (WebCore::NetworkJob::storeCredentials):
2057
2058 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2059
2060         Unreviewed, rolling out r126157.
2061         http://trac.webkit.org/changeset/126157
2062         https://bugs.webkit.org/show_bug.cgi?id=101954
2063
2064         This patch caused (untestable) regression of the volume
2065         property on Mac, Win, and Blackberry ports. (Requested by
2066         jernoble on #webkit).
2067
2068         * platform/graphics/MediaPlayer.cpp:
2069         (WebCore::MediaPlayer::loadWithNextMediaEngine):
2070         (WebCore::MediaPlayer::setVolume):
2071         (WebCore::MediaPlayer::setMuted):
2072         (WebCore::MediaPlayer::setPreservesPitch):
2073         (WebCore::MediaPlayer::setSize):
2074         (WebCore::MediaPlayer::setVisible):
2075         (WebCore::MediaPlayer::setPreload):
2076
2077 2012-11-12  Arpita Bahuguna  <arpitabahuguna@gmail.com>
2078
2079         Specified width CSS tables should not include border and padding as part of that width.
2080         https://bugs.webkit.org/show_bug.cgi?id=77028
2081
2082         Reviewed by Julien Chaffraix.
2083
2084         CSS table width should not include border and padding even though HTML
2085         tables size as though their width includes border/padding.
2086
2087         This is applicable for all CSS tables with specified widths.
2088
2089         The change would also make our rendering of CSS tables with specified
2090         width similar to that of Opera, IE and FF.
2091
2092         Test: fast/table/css-table-width-with-border-padding.html
2093
2094         * rendering/RenderTable.cpp:
2095         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2096         Added check for all (positive) specified widths for CSS tables to
2097         consider border and padding outside of the specified width.
2098
2099 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2100
2101         Move resolving blob references to FormData.
2102         https://bugs.webkit.org/show_bug.cgi?id=101754
2103
2104         Reviewed by Simon Hausmann.
2105
2106         Resolving Blob-references to a set of just File and Data is done similar by several platforms.
2107         This patch adds a generic implementation in FormData and uses that from CFNetwork, Qt and
2108         BlackBerry network implementation.
2109
2110         * platform/network/FormData.cpp:
2111         (WebCore::appendBlobResolved):
2112         (WebCore::FormData::resolveBlobReferences):
2113         * platform/network/FormData.h:
2114         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2115         (WebCore::ResourceRequest::initializePlatformRequest):
2116         * platform/network/cf/FormDataStreamCFNet.cpp:
2117         (WebCore::setHTTPBody):
2118         * platform/network/qt/QNetworkReplyHandler.cpp:
2119         (WebCore::FormDataIODevice::prepareFormElements):
2120
2121 2012-11-12  Zeno Albisser  <zeno@webkit.org>
2122
2123         GraphicsSurfaceGLX does not handle transparency correctly.
2124         https://bugs.webkit.org/show_bug.cgi?id=101943
2125
2126         GraphicsSurfacGLX must consistently use RGBA texture format.
2127         glXCreateWindow must be called after creating the XWindow
2128         that serves as a temporary offscreen texture storage, in order
2129         to allow for transparency.
2130         When creating the offscreen XWindow we must make sure,
2131         that we use a framebuffer configuration that supports
2132         an alpha mask.
2133
2134         Reviewed by Noam Rosenthal.
2135
2136         * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
2137         (WebCore):
2138         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
2139         (WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
2140         (WebCore::GraphicsSurfacePrivate::createSurface):
2141         (GraphicsSurfacePrivate):
2142         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
2143
2144 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2145
2146         Unreviewed, rolling out r134225.
2147         http://trac.webkit.org/changeset/134225
2148         https://bugs.webkit.org/show_bug.cgi?id=101948
2149
2150         Appears to have broken the EFL and GTK builds (Requested by
2151         abarth on #webkit).
2152
2153         * bindings/js/JSHTMLElementCustom.cpp:
2154         (WebCore):
2155         (WebCore::JSHTMLElement::itemValue):
2156         (WebCore::JSHTMLElement::setItemValue):
2157         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2158         (WebCore):
2159         (WebCore::V8HTMLElement::itemValueAccessorGetter):
2160         (WebCore::V8HTMLElement::itemValueAccessorSetter):
2161         * html/HTMLElement.idl:
2162
2163 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2164
2165         hitTestResultAtPoint does two hit-tests if called on non main frame
2166         https://bugs.webkit.org/show_bug.cgi?id=101915
2167
2168         Reviewed by Antonio Gomes.
2169
2170         Always redirect hitTestResultAtPoint to the main-frame. This used to being
2171         done on every result that hit anything, which caused running the expensive 
2172         hit-tests multiple times in almost all cases.
2173
2174         * page/EventHandler.cpp:
2175         (WebCore::EventHandler::hitTestResultAtPoint):
2176
2177 2012-11-12  Kentaro Hara  <haraken@chromium.org>
2178
2179         [V8][JSC] ScriptProfileNode::callUID needs not to be [Custom]
2180         https://bugs.webkit.org/show_bug.cgi?id=101892
2181
2182         Reviewed by Adam Barth.
2183
2184         We can remove [Custom] from callUID in ScriptProfileNode.idl.
2185
2186         No tests. No change in behavior.
2187
2188         * GNUmakefile.list.am:
2189         * Target.pri:
2190         * UseJSC.cmake:
2191         * WebCore.gypi:
2192         * WebCore.vcproj/WebCore.vcproj:
2193         * WebCore.xcodeproj/project.pbxproj:
2194         * bindings/js/JSBindingsAllInOne.cpp:
2195         * bindings/js/JSScriptProfileNodeCustom.cpp: Removed.
2196         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
2197         * inspector/ScriptProfileNode.idl:
2198
2199 2012-11-12  Kentaro Hara  <haraken@chromium.org>
2200
2201         [V8] Performance::memory getter needs not to be [Custom]
2202         https://bugs.webkit.org/show_bug.cgi?id=101890
2203
2204         Reviewed by Adam Barth.
2205
2206         No tests. No change in behavior.
2207
2208         * UseV8.cmake:
2209         * WebCore.gypi:
2210         * bindings/v8/custom/V8PerformanceCustom.cpp: Removed.
2211         * page/Performance.idl:
2212
2213 2012-11-12  Kentaro Hara  <haraken@chromium.org>
2214
2215         [V8][JSC] HTMLOptionsCollection::length needs not to be [Custom]
2216         https://bugs.webkit.org/show_bug.cgi?id=101888
2217
2218         Reviewed by Adam Barth.
2219
2220         We can remove [Custom] from getter. It is possible to remove [Custom]
2221         from setter, but it changes the current behavior.
2222         (I think the current implementation of the setter is wrong.
2223         I'll fix it in another patch.)
2224
2225         No tests. No change in behavior.
2226
2227         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2228         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2229         * html/HTMLOptionsCollection.idl:
2230
2231 2012-11-12  Yael Aharon  <yael.aharon@intel.com>
2232
2233         [EFL][WK2][AC] Black screen when applications use software backend.
2234         https://bugs.webkit.org/show_bug.cgi?id=101659
2235
2236         Reviewed by Kenneth Rohde Christiansen.
2237
2238         Add a utility method to create a cairo_surface_t from a given Evas_Object_Image.
2239
2240         No new tests. Will be covered when running existing tests without enabling openGL.
2241
2242         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
2243         (WebCore::createSurfaceForImage):
2244         (WebCore):
2245         * platform/graphics/efl/CairoUtilitiesEfl.h:
2246         (WebCore):
2247
2248 2012-11-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2249
2250         Unreviewed. Fix make distcheck.
2251
2252         * GNUmakefile.am: Remove editing from IDL_PATH since it doesn't
2253         contain idl files anymore.
2254         * GNUmakefile.list.am: Add missing header files.
2255
2256 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
2257
2258         MediaStream API: Make sure that MediaConstraints only has optional and mandatory at the top level
2259         https://bugs.webkit.org/show_bug.cgi?id=101733
2260
2261         Reviewed by Jochen Eisinger.
2262
2263         This patch adds better verification to MediaConstraintsImpl.
2264
2265         Existing tests expanded to cover this change.
2266
2267         * Modules/mediastream/MediaConstraintsImpl.cpp:
2268         (WebCore::MediaConstraintsImpl::initialize):
2269
2270 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2271
2272         Unreviewed, rolling out r134223.
2273         http://trac.webkit.org/changeset/134223
2274         https://bugs.webkit.org/show_bug.cgi?id=101939
2275
2276         Breaks inspector tests (Requested by pfeldman on #webkit).
2277
2278         * inspector/front-end/DefaultTextEditor.js:
2279         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
2280         (WebInspector.TextEditorMainPanel):
2281         (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
2282         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
2283         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
2284         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
2285         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
2286         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2287         (WebInspector.TextEditorMainPanel.prototype._insertSpanBefore):
2288         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
2289         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2290         * inspector/front-end/externs.js:
2291         * inspector/front-end/textEditor.css:
2292
2293 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2294
2295         [Qt] Support ResourceRequest's setTimeoutInterval
2296         https://bugs.webkit.org/show_bug.cgi?id=101731
2297
2298         Reviewed by Simon Hausmann.
2299
2300         Establish a timeout and return the correct error when it is triggered.
2301
2302         Tested by existing http/tests/xmlhttprequest/timeout tests.
2303
2304         * platform/network/ResourceRequestBase.cpp:
2305         * platform/network/qt/QNetworkReplyHandler.cpp:
2306         (WebCore::QNetworkReplyHandler::release):
2307         (WebCore::QNetworkReplyHandler::finish):
2308         (WebCore::QNetworkReplyHandler::timeout):
2309         (WebCore::QNetworkReplyHandler::timerEvent):
2310         (WebCore::QNetworkReplyHandler::start):
2311         * platform/network/qt/QNetworkReplyHandler.h:
2312         (QNetworkReplyHandler):
2313
2314 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2315
2316         Unreviewed, rolling out r134224.
2317         http://trac.webkit.org/changeset/134224
2318         https://bugs.webkit.org/show_bug.cgi?id=101937
2319
2320         asserting on bawts (Requested by kling on #webkit).
2321
2322         * rendering/style/RenderStyle.cpp:
2323         (WebCore::RenderStyle::diff):
2324         (WebCore::RenderStyle::setColor):
2325         (WebCore::RenderStyle::setVisitedLinkColor):
2326         * rendering/style/RenderStyle.h:
2327         * rendering/style/StyleBackgroundData.cpp:
2328         (WebCore::StyleBackgroundData::StyleBackgroundData):
2329         * rendering/style/StyleBackgroundData.h:
2330         (WebCore::StyleBackgroundData::color):
2331         (StyleBackgroundData):
2332         * rendering/style/StyleInheritedData.cpp:
2333         (WebCore::StyleInheritedData::StyleInheritedData):
2334         * rendering/style/StyleInheritedData.h:
2335         (StyleInheritedData):
2336         * rendering/style/StyleMultiColData.cpp:
2337         (WebCore::StyleMultiColData::StyleMultiColData):
2338         * rendering/style/StyleMultiColData.h:
2339         (StyleMultiColData):
2340         * rendering/style/StyleRareInheritedData.cpp:
2341         (SameSizeAsStyleRareInheritedData):
2342         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2343         (WebCore::StyleRareInheritedData::operator==):
2344         * rendering/style/StyleRareInheritedData.h:
2345         (WebCore):
2346         (StyleRareInheritedData):
2347         * rendering/style/StyleRareNonInheritedData.cpp:
2348         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2349         (WebCore::StyleRareNonInheritedData::operator==):
2350         * rendering/style/StyleRareNonInheritedData.h:
2351         (StyleRareNonInheritedData):
2352
2353 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
2354
2355         [BlackBerry] Update BB10 form theme.
2356         https://bugs.webkit.org/show_bug.cgi?id=100760
2357
2358         Reviewed by Rob Buis.
2359
2360         RIM PR 236993
2361         Internally Reviewed by Jeff Rogers.
2362         Use slide and paint method on slider range and media controls.
2363
2364         * platform/blackberry/RenderThemeBlackBerry.cpp:
2365         (WebCore):
2366         (WebCore::drawThreeSliceHorizontal):
2367         (WebCore::drawThreeSliceVertical):
2368         (WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
2369         (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
2370         (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
2371         (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
2372         * platform/blackberry/RenderThemeBlackBerry.h:
2373         (RenderThemeBlackBerry):
2374
2375 2012-11-12  Kent Tamura  <tkent@chromium.org>
2376
2377         Refactoring: set read-only values on layout in DateTimeEditElement
2378         https://bugs.webkit.org/show_bug.cgi?id=101916
2379
2380         Reviewed by Kentaro Hara.
2381
2382         We have always updated read-only values when we set an empty value or
2383         DateTimeFieldsState. It has wasted CPU time because such read-only
2384         values are never updated after layout() essentially. So, we set
2385         read-only values in DateTimeEditBuilder used by layout(), and remove
2386         dateForReadOnlyField arguments of setEmptyValue and
2387         setValueAsDateTimeFieldsState.
2388
2389         No new tests. This should not make behavior changes.
2390
2391         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2392         (WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
2393         We removed dateForReadOnlyField argument because read-only values are
2394         already set in DateTimeFieldElement::layout().
2395         * html/shadow/DateTimeEditElement.cpp:
2396         (WebCore::DateTimeEditBuilder::visitField):
2397         Set a value to a read-only minute/second/millisecond field while
2398         building UI elements.
2399         Also, changed variable types for millisecond and second fields to
2400         RefPtr<DateTimeNumericFieldElement> because we'd like to call
2401         setValueAsDate, which is private in DateTimeMillisecondFieldElement and
2402         DateTimeSecondFieldElement
2403         (WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState):
2404         We removed dateForReadOnlyField argument because read-only values are
2405         already set in DateTimeFieldElement::layout().
2406         (WebCore::DateTimeEditElement::setEmptyValue): Ditto.
2407         * html/shadow/DateTimeEditElement.h:
2408         (DateTimeEditElement):
2409         Removed dateForReadOnlyField argument for setValueAsDateTimeFieldsState.
2410
2411         * html/shadow/DateTimeFieldElement.cpp:
2412         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
2413         We removed dateForReadOnlyField argument because read-only values are
2414         already set in DateTimeFieldElement::layout().
2415         * html/shadow/DateTimeFieldElement.h:
2416         (DateTimeFieldElement): Ditto.
2417
2418         * html/shadow/DateTimeFieldElements.cpp: Ditto.
2419         * html/shadow/DateTimeFieldElements.h: Ditto.
2420         * html/shadow/DateTimeNumericFieldElement.cpp:
2421         (WebCore::DateTimeNumericFieldElement::setEmptyValue):
2422         It should do nothing if it is read-only because a read-only value was
2423         already set just after construction.
2424         * html/shadow/DateTimeNumericFieldElement.h:
2425         (DateTimeNumericFieldElement):
2426         Removed dateForReadOnlyField argument of setEmptyValue.
2427         * html/shadow/DateTimeSymbolicFieldElement.cpp:
2428         (WebCore::DateTimeSymbolicFieldElement::setEmptyValue): Ditto.
2429         * html/shadow/DateTimeSymbolicFieldElement.h:
2430         (DateTimeSymbolicFieldElement): Ditto.
2431
2432 2012-11-12  Tiancheng Jiang  <tijiang@rim.com>
2433
2434         [BlackBerry] Update BB10 form theme.
2435         https://bugs.webkit.org/show_bug.cgi?id=100760
2436
2437         Reviewed by Rob Buis.
2438
2439         RIM PR 236993
2440         Internally Reviewed by Jeff Rogers.
2441         Enable GL slider.
2442
2443         * platform/blackberry/RenderThemeBlackBerry.cpp:
2444         (WebCore::drawThreeSlice):
2445         (WebCore):
2446         (WebCore::RenderThemeBlackBerry::paintSliderTrackRect):
2447         (WebCore::RenderThemeBlackBerry::paintSliderThumb):
2448
2449 2012-11-12  Kentaro Hara  <haraken@chromium.org>
2450
2451         [V8][JSC] HTMLElement::itemValue() needs not to be custom
2452         https://bugs.webkit.org/show_bug.cgi?id=101882
2453
2454         Reviewed by Adam Barth.
2455
2456         We can remove a [Custom] IDL attribute.
2457
2458         No tests. No change in behavior.
2459
2460         * bindings/js/JSHTMLElementCustom.cpp:
2461         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2462         * html/HTMLElement.idl:
2463
2464 2012-11-12  Andreas Kling  <kling@webkit.org>
2465
2466         RenderStyle: Pack Color members tighter in substructures.
2467         <http://webkit.org/b/101860>
2468
2469         Reviewed by Antti Koivisto.
2470
2471         For RenderStyle substructures (StyleInheritedData, et al.), unfold all WebCore::Color
2472         members into RGBA32/bool variables OR just an RGBA32 if the color can never be invalid.
2473
2474         Memory saved per instance:
2475
2476             - StyleMultiColData:          4 bytes
2477             - StyleBackgroundData:        8 bytes
2478             - StyleInheritedData:         8 bytes
2479             - StyleRareInheritedData:    24 bytes
2480             - StyleRareNonInheritedData: 24 bytes
2481
2482         323kB progression on Membuster3.
2483
2484         * rendering/style/RenderStyle.cpp:
2485         (WebCore::RenderStyle::diff):
2486         (WebCore::RenderStyle::setColor):
2487         (WebCore::RenderStyle::setVisitedLinkColor):
2488         (WebCore::RenderStyle::setVisitedLinkColumnRuleColor):
2489         (WebCore::RenderStyle::setBackgroundColor):
2490         * rendering/style/RenderStyle.h:
2491         * rendering/style/StyleBackgroundData.cpp:
2492         (WebCore::StyleBackgroundData::StyleBackgroundData):
2493         * rendering/style/StyleBackgroundData.h:
2494         (WebCore::StyleBackgroundData::color):
2495         (StyleBackgroundData):
2496         * rendering/style/StyleInheritedData.cpp:
2497         (WebCore::StyleInheritedData::StyleInheritedData):
2498         * rendering/style/StyleInheritedData.h:
2499         (StyleInheritedData):
2500         * rendering/style/StyleMultiColData.cpp:
2501         (WebCore::StyleMultiColData::StyleMultiColData):
2502         (WebCore::StyleMultiColData::setVisitedLinkColumnRuleColor):
2503         * rendering/style/StyleMultiColData.h:
2504         (StyleMultiColData):
2505         (WebCore::StyleMultiColData::visitedLinkColumnRuleColor):
2506         * rendering/style/StyleRareInheritedData.cpp:
2507         (SameSizeAsStyleRareInheritedData):
2508         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2509         (WebCore::StyleRareInheritedData::operator==):
2510         (WebCore::StyleRareInheritedData::setTextStrokeColor):
2511         (WebCore::StyleRareInheritedData::setTextFillColor):
2512         (WebCore::StyleRareInheritedData::setTextEmphasisColor):
2513         (WebCore::StyleRareInheritedData::setVisitedLinkTextStrokeColor):
2514         (WebCore::StyleRareInheritedData::setVisitedLinkTextFillColor):
2515         (WebCore::StyleRareInheritedData::setVisitedLinkTextEmphasisColor):
2516         * rendering/style/StyleRareInheritedData.h:
2517         (StyleRareInheritedData):
2518         (WebCore::StyleRareInheritedData::textStrokeColor):
2519         (WebCore::StyleRareInheritedData::textFillColor):
2520         (WebCore::StyleRareInheritedData::textEmphasisColor):
2521         (WebCore::StyleRareInheritedData::visitedLinkTextStrokeColor):
2522         (WebCore::StyleRareInheritedData::visitedLinkTextFillColor):
2523         (WebCore::StyleRareInheritedData::visitedLinkTextEmphasisColor):
2524         * rendering/style/StyleRareNonInheritedData.cpp:
2525         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2526         (WebCore::StyleRareNonInheritedData::operator==):
2527         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderLeftColor):
2528         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderRightColor):
2529         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderTopColor):
2530         (WebCore::StyleRareNonInheritedData::setVisitedLinkBorderBottomColor):
2531         (WebCore::StyleRareNonInheritedData::setVisitedLinkOutlineColor):
2532         (WebCore::StyleRareNonInheritedData::setVisitedLinkBackgroundColor):
2533         * rendering/style/StyleRareNonInheritedData.h:
2534         (WebCore::StyleRareNonInheritedData::visitedLinkBackgroundColor):
2535         (WebCore::StyleRareNonInheritedData::visitedLinkOutlineColor):
2536         (WebCore::StyleRareNonInheritedData::visitedLinkBorderLeftColor):
2537         (WebCore::StyleRareNonInheritedData::visitedLinkBorderRightColor):
2538         (WebCore::StyleRareNonInheritedData::visitedLinkBorderTopColor):
2539         (WebCore::StyleRareNonInheritedData::visitedLinkBorderBottomColor):
2540         (StyleRareNonInheritedData):
2541
2542 2012-11-12  Pavel Feldman  <pfeldman@chromium.org>
2543
2544         Web Inspector: migrate text editor to mutation observers
2545         https://bugs.webkit.org/show_bug.cgi?id=101841
2546
2547         Reviewed by Vsevolod Vlasov.
2548
2549         Otherwise, we miss notifications on the removed lines.
2550
2551         * inspector/front-end/DefaultTextEditor.js:
2552         (WebInspector.TextEditorMainPanel):
2553         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
2554         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
2555         (WebInspector.TextEditorMainPanel.prototype._handleMutations):
2556         (WebInspector.TextEditorMainPanel.prototype._handleMutation):
2557         * inspector/front-end/externs.js:
2558         (WebKitMutation):
2559         (WebKitMutationObserver.prototype.observe):
2560         (WebKitMutationObserver.prototype.disconnect):
2561
2562 2012-11-12  Allan Sandfeld Jensen  <sandfeld@kde.org>
2563
2564         [Qt] Flash-plugin starts with wrong width
2565         https://bugs.webkit.org/show_bug.cgi?id=101836
2566
2567         Reviewed by Simon Hausmann.
2568
2569         Defer the setWindow call, so that the one time it is called it will have its final size.
2570
2571         * plugins/PluginPackage.cpp:
2572         (WebCore::PluginPackage::determineQuirks):
2573
2574 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
2575
2576         Remove the V8 custom code for WebSockets constructor
2577         https://bugs.webkit.org/show_bug.cgi?id=100801
2578
2579         Reviewed by Kentaro Hara.
2580
2581         This patch does the following:
2582
2583         1) Modifies the V8 code generator to support overloaded constructors,
2584            the JS generator is fixed to work as before. Proper support for JS will come later.
2585
2586         2) Modifies WebSocket.h/.cpp for the new constructors.
2587
2588         Tested by running WebSockets layout tests.
2589
2590         * Modules/websockets/WebSocket.cpp:
2591         (WebCore::WebSocket::create):
2592         (WebCore):
2593         * Modules/websockets/WebSocket.h:
2594         (WebSocket):
2595         * Modules/websockets/WebSocket.idl:
2596         * bindings/scripts/CodeGeneratorJS.pm:
2597         (GenerateConstructorDefinition):
2598         * bindings/scripts/CodeGeneratorV8.pm:
2599         (GenerateHeader):
2600         (GenerateOverloadedConstructorCallback):
2601         (GenerateSingleConstructorCallback):
2602         (GenerateConstructorCallback):
2603         (GenerateImplementation):
2604         * bindings/scripts/IDLParser.pm:
2605         (copyAttributes):
2606         (parseExtendedAttributeList):
2607         (parseExtendedAttributes):
2608         (applyExtendedAttributeList):
2609         * bindings/scripts/IDLStructure.pm:
2610         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp: Added.
2611         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructorsPrivate::WebDOMTestOverloadedConstructorsPrivate):
2612         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructorsPrivate):
2613         (WebDOMTestOverloadedConstructors::WebDOMTestOverloadedConstructors):
2614         (WebDOMTestOverloadedConstructors::operator=):
2615         (WebDOMTestOverloadedConstructors::impl):
2616         (WebDOMTestOverloadedConstructors::~WebDOMTestOverloadedConstructors):
2617         (toWebCore):
2618         (toWebKit):
2619         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.h: Added.
2620         (WebCore):
2621         (WebDOMTestOverloadedConstructors):
2622         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp: Added.
2623         (WebKit):
2624         (WebKit::kit):
2625         (WebKit::core):
2626         (WebKit::wrapTestOverloadedConstructors):
2627         (webkit_dom_test_overloaded_constructors_finalize):
2628         (webkit_dom_test_overloaded_constructors_set_property):
2629         (webkit_dom_test_overloaded_constructors_get_property):
2630         (webkit_dom_test_overloaded_constructors_constructed):
2631         (webkit_dom_test_overloaded_constructors_class_init):
2632         (webkit_dom_test_overloaded_constructors_init):
2633         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h: Added.
2634         (_WebKitDOMTestOverloadedConstructors):
2635         (_WebKitDOMTestOverloadedConstructorsClass):
2636         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructorsPrivate.h: Added.
2637         (WebKit):
2638         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Added.
2639         (WebCore):
2640         (WebCore::JSTestOverloadedConstructorsConstructor::JSTestOverloadedConstructorsConstructor):
2641         (WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
2642         (WebCore::JSTestOverloadedConstructorsConstructor::getOwnPropertySlot):
2643         (WebCore::JSTestOverloadedConstructorsConstructor::getOwnPropertyDescriptor):
2644         (WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
2645         (WebCore::JSTestOverloadedConstructorsConstructor::getConstructData):
2646         (WebCore::JSTestOverloadedConstructorsPrototype::self):
2647         (WebCore::JSTestOverloadedConstructors::JSTestOverloadedConstructors):
2648         (WebCore::JSTestOverloadedConstructors::finishCreation):
2649         (WebCore::JSTestOverloadedConstructors::createPrototype):
2650         (WebCore::JSTestOverloadedConstructors::destroy):
2651         (WebCore::JSTestOverloadedConstructors::~JSTestOverloadedConstructors):
2652         (WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
2653         (WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
2654         (WebCore::jsTestOverloadedConstructorsConstructor):
2655         (WebCore::JSTestOverloadedConstructors::getConstructor):
2656         (WebCore::isObservable):
2657         (WebCore::JSTestOverloadedConstructorsOwner::isReachableFromOpaqueRoots):
2658         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
2659         (WebCore::toJS):
2660         (WebCore::toTestOverloadedConstructors):
2661         * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: Added.
2662         (WebCore):
2663         (JSTestOverloadedConstructors):
2664         (WebCore::JSTestOverloadedConstructors::create):
2665         (WebCore::JSTestOverloadedConstructors::createStructure):
2666         (WebCore::JSTestOverloadedConstructors::impl):
2667         (WebCore::JSTestOverloadedConstructors::releaseImpl):
2668         (WebCore::JSTestOverloadedConstructors::releaseImplIfNotNull):
2669         (JSTestOverloadedConstructorsOwner):
2670         (WebCore::wrapperOwner):
2671         (WebCore::wrapperContext):
2672         (JSTestOverloadedConstructorsPrototype):
2673         (WebCore::JSTestOverloadedConstructorsPrototype::create):
2674         (WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
2675         (WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
2676         (JSTestOverloadedConstructorsConstructor):
2677         (WebCore::JSTestOverloadedConstructorsConstructor::create):
2678         (WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
2679         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h: Added.
2680         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm: Added.
2681         (-[DOMTestOverloadedConstructors dealloc]):
2682         (-[DOMTestOverloadedConstructors finalize]):
2683         (core):
2684         (kit):
2685         * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h: Added.
2686         (WebCore):
2687         * bindings/scripts/test/TestOverloadedConstructors.idl: Copied from Source/WebCore/bindings/scripts/test/TestSerializedScriptValueInterface.idl.
2688         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
2689         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp: Added.
2690         (WebCore):
2691         (TestOverloadedConstructorsV8Internal):
2692         (WebCore::TestOverloadedConstructorsV8Internal::V8_USE):
2693         (WebCore::V8TestOverloadedConstructors::constructor1Callback):
2694         (WebCore::V8TestOverloadedConstructors::constructor2Callback):
2695         (WebCore::V8TestOverloadedConstructors::constructor3Callback):
2696         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
2697         (WebCore::V8TestOverloadedConstructors::constructorCallback):
2698         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
2699         (WebCore::V8TestOverloadedConstructors::GetRawTemplate):
2700         (WebCore::V8TestOverloadedConstructors::GetTemplate):
2701         (WebCore::V8TestOverloadedConstructors::HasInstance):
2702         (WebCore::V8TestOverloadedConstructors::wrapSlow):
2703         (WebCore::V8TestOverloadedConstructors::derefObject):
2704         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h: Added.
2705         (WebCore):
2706         (V8TestOverloadedConstructors):
2707         (WebCore::V8TestOverloadedConstructors::toNative):
2708         (WebCore::V8TestOverloadedConstructors::installPerContextProperties):
2709         (WebCore::V8TestOverloadedConstructors::installPerContextPrototypeProperties):
2710         (WebCore::V8TestOverloadedConstructors::wrap):
2711         (WebCore::toV8):
2712         * bindings/v8/custom/V8WebSocketCustom.cpp:
2713
2714 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
2715
2716         [Refactoring] Create SelectRuleFeatureSet for collecting RuleFeatureSet for select attribute
2717         https://bugs.webkit.org/show_bug.cgi?id=101891
2718
2719         Reviewed by Hajime Morita.
2720
2721         We would like to have another class for RuleFeatureSet to collect 'select' attribute features,
2722         since it will have more features than the original RuleFeatureSet has.
2723
2724         Also, some methods of ElementShadow are removed and we provide a method to get SelectRuleFeatureSet itself.
2725
2726         No new tests, no change in behavior.
2727
2728         * CMakeLists.txt:
2729         * GNUmakefile.list.am:
2730         * Target.pri:
2731         * WebCore.gypi:
2732         * WebCore.vcproj/WebCore.vcproj:
2733         * WebCore.xcodeproj/project.pbxproj:
2734         * dom/ElementShadow.h:
2735         (ElementShadow):
2736         (WebCore::ElementShadow::selectRuleFeatureSet):
2737         (WebCore):
2738         * html/shadow/SelectRuleFeatureSet.cpp: Added.
2739         (WebCore):
2740         (WebCore::SelectRuleFeatureSet::SelectRuleFeatureSet):
2741         (WebCore::SelectRuleFeatureSet::add):
2742         (WebCore::SelectRuleFeatureSet::clear):
2743         (WebCore::SelectRuleFeatureSet::collectFeaturesFromSelector):
2744         * html/shadow/SelectRuleFeatureSet.h: Added.
2745         (WebCore):
2746         (SelectRuleFeatureSet):
2747         (WebCore::SelectRuleFeatureSet::hasSelectorForId):
2748         (WebCore::SelectRuleFeatureSet::hasSelectorForClass):
2749         (WebCore::SelectRuleFeatureSet::hasSelectorForAttribute):
2750         * testing/Internals.cpp:
2751         (WebCore::Internals::hasSelectorForIdInShadow):
2752         (WebCore::Internals::hasSelectorForClassInShadow):
2753         (WebCore::Internals::hasSelectorForAttributeInShadow):
2754
2755 2012-11-13  Keishi Hattori  <keishi@webkit.org>
2756
2757         Build fix for Chromium Android (caused by r134216)
2758
2759         Unreviewed.
2760
2761         No new tests.
2762
2763         * platform/text/PlatformLocale.cpp:
2764         (WebCore::Locale::formatDateTime):
2765
2766 2012-11-12  Keishi Hattori  <keishi@webkit.org>
2767
2768         Add support for week/month to Locale::formatDateTime()
2769         https://bugs.webkit.org/show_bug.cgi?id=101878
2770
2771         Reviewed by Kent Tamura.
2772
2773         Adding support for week/month to Locale::formatDateTime() in preparation for datalist support for <input type=week/month>.
2774
2775         Added Chromium tests LocaleMacTest.formatWeek and LocaleMacTest.formatMonth.
2776
2777         * platform/text/PlatformLocale.cpp:
2778         (WebCore::DateTimeStringBuilder::visitField):
2779         (WebCore::Locale::formatDateTime): Support week and month types.
2780
2781 2012-11-12  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2782
2783         [Qt] Can not load MHTML documents
2784         https://bugs.webkit.org/show_bug.cgi?id=101765
2785
2786         Reviewed by Simon Hausmann.
2787
2788         Recognize common MHTML extensions so that we can recognize MHTML tests on the file-system.
2789
2790         Tested by existing mhtml/ tests.
2791
2792         * platform/qt/MIMETypeRegistryQt.cpp:
2793         (WebCore):
2794
2795 2012-11-12  Andreas Kling  <akling@apple.com>
2796
2797         Tighten vector in ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray().
2798         <http://webkit.org/b/101850>
2799
2800         Reviewed by Antti Koivisto.
2801
2802         Reserve the exact amount of space needed for m_responseContentDispositionEncodingFallbackArray.
2803         222kB progression on Membuster3.
2804
2805         * platform/network/ResourceRequestBase.cpp:
2806         (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
2807
2808 2012-11-12  Tommy Widenflycht  <tommyw@google.com>
2809
2810         MediaStream API: Schedule the RTCDataChannel events to be triggered at idle state
2811         https://bugs.webkit.org/show_bug.cgi?id=101751
2812
2813         Reviewed by Adam Barth.
2814
2815         This patch queues the events until the JS interpreter is in an idle state.
2816
2817         Existing tests cover this patch.
2818
2819         * Modules/mediastream/RTCDataChannel.cpp:
2820         (WebCore::RTCDataChannel::RTCDataChannel):
2821         (WebCore::RTCDataChannel::readyStateChanged):
2822         (WebCore::RTCDataChannel::dataArrived):
2823         (WebCore::RTCDataChannel::error):
2824         (WebCore::RTCDataChannel::scheduleDispatchEvent):
2825         (WebCore):
2826         (WebCore::RTCDataChannel::scheduledEventTimerFired):
2827         * Modules/mediastream/RTCDataChannel.h:
2828         (RTCDataChannel):
2829         * platform/chromium/support/WebRTCDataChannel.cpp:
2830         (WebKit::WebRTCDataChannel::setBufferedAmount):
2831         (WebKit::WebRTCDataChannel::readyStateChanged):
2832         (WebKit::WebRTCDataChannel::dataArrived):
2833         (WebKit::WebRTCDataChannel::error):
2834
2835 2012-11-12  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2836
2837         Remove HTMLInputElement dependency from PickerIndicatorElement
2838         https://bugs.webkit.org/show_bug.cgi?id=101913
2839
2840         Reviewed by Kent Tamura.
2841
2842         Introduced PickerIndicatorOwner interface that replaces the role of hostInput() in
2843         PickerIndicatorElement. It makes easier to add interactions between picker indicator
2844         and its owner without having to add functions to HTMLInputElement.
2845
2846         No new tests. This is just a refactor.
2847
2848         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2849         (WebCore::BaseMultipleFieldsDateAndTimeInputType::isPickerIndicatorOwnerDisabledOrReadOnly): Added.
2850         (WebCore):
2851         (WebCore::BaseMultipleFieldsDateAndTimeInputType::pickerIndicatorChooseValue): Added.
2852         (WebCore::BaseMultipleFieldsDateAndTimeInputType::setupDateTimeChooserParameters): Added.
2853         (WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType):
2854         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
2855         (WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree):
2856         * html/BaseMultipleFieldsDateAndTimeInputType.h:
2857         (WebCore):
2858         (BaseMultipleFieldsDateAndTimeInputType): Implements PickerIndicatorOwner.
2859         * html/shadow/PickerIndicatorElement.cpp: Replaced all the use of hostInput() by using PickerIndicatorOwner.
2860         (WebCore::PickerIndicatorElement::PickerIndicatorElement):
2861         (WebCore::PickerIndicatorElement::create):
2862         (WebCore::PickerIndicatorElement::defaultEventHandler):
2863         (WebCore::PickerIndicatorElement::willRespondToMouseClickEvents):
2864         (WebCore::PickerIndicatorElement::didChooseValue):
2865         (WebCore::PickerIndicatorElement::openPopup):
2866         * html/shadow/PickerIndicatorElement.h:
2867         (PickerIndicatorElement): Added a PickerIndicatorOwner member.
2868         (PickerIndicatorOwner): An interface class for communicating picker indicator and its owner.
2869         (WebCore::PickerIndicatorElement::PickerIndicatorOwner::~PickerIndicatorOwner):
2870         (WebCore::PickerIndicatorElement::removePickerIndicatorOwner):
2871
2872 2012-11-12  Mihnea Ovidenie  <mihnea@adobe.com>
2873
2874         [CSSRegions]Add support for text-shadow in region styling
2875         https://bugs.webkit.org/show_bug.cgi?id=94472
2876
2877         Reviewed by David Hyatt.
2878
2879         Original patch by Andrei Onea.
2880         Add support for text-shadow in region styling (@-webkit-region rule).
2881         In addition to the previously supported region styling properties (background-color and color),
2882         text-shadow requires the computation of an element style in region at layout time.
2883
2884         This patch adds a new method on RenderRegion - ensureRegionStyleForObject - that
2885         can be used to retrieve the object style in region (if already cached) or to compute it
2886         on the spot. When computing the object style in region, we need to compute the style in region
2887         also for the object ancestor, up to the content nodes.
2888
2889         This patch also refactors the way styles in region are computed and stored, because
2890         we can compute the style in region not only at paint time, but also at layout time.
2891
2892         Test: fast/regions/region-style-text-shadow.html
2893
2894         * css/StyleResolver.cpp:
2895         (WebCore::StyleResolver::isValidRegionStyleProperty):
2896         Allow text-shadow to be used in region styling.
2897         * rendering/InlineBox.cpp:
2898         (WebCore::InlineBox::styleInRegion):
2899         Retrieve the region style for an InlineBox's renderer, given its RenderRegion.
2900         Compute the style in region if not computed yet.
2901         (WebCore::InlineBox::regionDuringLayout):
2902         Retrieve the region in which an InlineBox is being flowed.
2903         * rendering/InlineBox.h:
2904         * rendering/InlineFlowBox.cpp: Take region styling into account.
2905         (WebCore::InlineFlowBox::addToLine):
2906         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2907         * rendering/RenderRegion.cpp:
2908         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
2909         (WebCore::canCacheObjectStyleInRegion):
2910         Test if we can cache the computed style in region.
2911         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
2912         (WebCore::RenderRegion::computeStyleInRegion):
2913         (WebCore::RenderRegion::setChildrenStyleInRegion):
2914         (WebCore::setObjectHasBoxDecorationsFlag):
2915         (WebCore::RenderRegion::setObjectStyleInRegion):
2916         (WebCore::RenderRegion::clearObjectStyleInRegion):
2917         (WebCore::RenderRegion::ensureRegionStyleForObject):
2918         * rendering/RenderRegion.h:
2919
2920 2012-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2921
2922         Unreviewed, rolling out r134154.
2923         http://trac.webkit.org/changeset/134154
2924         https://bugs.webkit.org/show_bug.cgi?id=101919
2925
2926         Causes plenty of crashes on GTK and Apple Win builders
2927         (Requested by zdobersek on #webkit).
2928
2929         * css/mediaControls.css:
2930         * css/mediaControlsQuickTime.css:
2931         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2932         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2933         * html/shadow/MediaControlElements.cpp:
2934         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
2935         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
2936         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
2937         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
2938         (WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
2939         * html/shadow/MediaControlElements.h:
2940         (MediaControlElement):
2941         (MediaControlToggleClosedCaptionsButtonElement):
2942         * html/shadow/MediaControlRootElement.cpp:
2943         (WebCore::MediaControlRootElement::MediaControlRootElement):
2944         (WebCore::MediaControlRootElement::create):
2945         (WebCore::MediaControlRootElement::setMediaController):
2946         (WebCore::MediaControlRootElement::hide):
2947         (WebCore::MediaControlRootElement::makeTransparent):
2948         (WebCore::MediaControlRootElement::reset):
2949         (WebCore::MediaControlRootElement::reportedError):
2950         * html/shadow/MediaControlRootElement.h:
2951         (WebCore):
2952         (MediaControlRootElement):
2953         * html/shadow/MediaControlRootElementChromium.cpp:
2954         (WebCore::MediaControlRootElementChromium::initializeControls):
2955         * html/shadow/MediaControls.h:
2956         (MediaControls):
2957         * platform/Language.cpp:
2958         (WebCore):
2959         * platform/Language.h:
2960         (WebCore):
2961         * rendering/RenderMediaControls.cpp:
2962         (WebCore::RenderMediaControls::paintMediaControlsPart):
2963         * rendering/RenderMediaControlsChromium.cpp:
2964         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2965
2966 2012-11-12  Mike West  <mkwst@chromium.org>
2967
2968         'for (x in y)' requires 'var' declaration in ConsoleMessage.js
2969         https://bugs.webkit.org/show_bug.cgi?id=101908
2970
2971         Reviewed by Pavel Feldman.
2972
2973         r134166 should have included a 'var' declaration in its 'for (x in y)'
2974         loop. This patch adds the missing 'var' in order to prevent leakage into
2975         the global context.
2976
2977         * inspector/front-end/ConsoleMessage.js:
2978         (WebInspector.ConsoleMessageImpl.prototype.append):
2979         (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
2980
2981 2012-11-12  Zeno Albisser  <zeno@webkit.org>
2982
2983         [Qt] MiniBrowser should not strongly depend on QtTestSupport.
2984         https://bugs.webkit.org/show_bug.cgi?id=101775
2985
2986         Introducing HAVE(QTTESTSUPPORT) to allow building
2987         MiniBrowser without QtTestSupport.
2988         This is necessary when using a production build.
2989
2990         Reviewed by Tor Arne Vestbø.
2991
2992         * Target.pri:
2993         * platform/qt/QtTestSupport.h:
2994
2995 2012-11-12  Pavel Feldman  <pfeldman@chromium.org>
2996
2997         Web Inspector: wasShown is called twice when show() is called from within wasShown
2998         https://bugs.webkit.org/show_bug.cgi?id=101858
2999
3000         Reviewed by Vsevolod Vlasov.
3001
3002         When we attach views lazily from within wasShown, the views were getting wasShown notification twice.
3003         We now mute one of them.
3004
3005         * inspector/front-end/View.js:
3006         (WebInspector.View):
3007         (WebInspector.View.prototype._inNotification):
3008         (WebInspector.View.prototype._parentIsShowing):
3009         (WebInspector.View.prototype._callOnVisibleChildren):
3010         (WebInspector.View.prototype._processWasShown):
3011         (WebInspector.View.prototype._processWillHide):
3012         (WebInspector.View.prototype._processOnResize):
3013         (WebInspector.View.prototype._notify):
3014         (WebInspector.View.prototype.show):
3015
3016 2012-11-12  Ryosuke Niwa  <rniwa@webkit.org>
3017
3018         Build fix after r134191. Turns out that FrameView::performPostLayoutTasks calls FrameSelection::updateAppearance
3019         in the middle of a layout. So we can't have assertions in recomputeCaretRect and updateAppearance.
3020
3021         Furthermore, we can't update layout in updateAppearance. So do that in its call sites.
3022
3023         * editing/FrameSelection.cpp:
3024         (WebCore::FrameSelection::setSelection):
3025         (WebCore::FrameSelection::recomputeCaretRect):
3026         (WebCore::FrameSelection::updateAppearance):
3027         (WebCore::FrameSelection::setCaretVisibility):
3028
3029 2012-11-12  Shinya Kawanaka  <shinyak@chromium.org>
3030
3031         Don't update style when attaching in HTMLMeterElement
3032         https://bugs.webkit.org/show_bug.cgi?id=101714
3033
3034         Reviewed by Hajime Morita.
3035
3036         HTMLMeterElement was updating style when it's being attached. However, updating style when attaching
3037         can cause style-update prevention. The similar thing has already happened in Bug 100507.
3038
3039         Since we have already set the default value in creating ShadowDOM subtree, we don't need to update style actually.
3040
3041         Test: fast/dom/HTMLMeterElement/meter-bar-set-value.html
3042
3043         * html/HTMLMeterElement.cpp:
3044         * html/HTMLMeterElement.h:
3045         (HTMLMeterElement): Removed attach(). We don't need it.
3046
3047 2012-11-09  Ryosuke Niwa  <rniwa@webkit.org>
3048
3049         Multiple Layout Tests (e.g. fast/repaint/japanese-rl-selection-clear.html) is failing after r133840.
3050         https://bugs.webkit.org/show_bug.cgi?id=101547
3051
3052         Reviewed by Simon Fraser.
3053
3054         I overlooked the fact when the selection is null, we still have to invalidate the caret rect that
3055         previously existed. Revert the optimization added in r133840 to skip caret invalidation when new
3056         selection is null, and add a special method to be called by FrameLoader prior to destruction instead.
3057         This will let us avoid doing an extra layout upon destruction and not regress repaint tests.
3058
3059         Covered by existing tests.
3060
3061         * editing/FrameSelection.cpp:
3062         (WebCore::FrameSelection::setSelection): Added DoNotUpdateAppearance option.
3063         (WebCore::FrameSelection::prepareForDestruction): Added.
3064         (WebCore::FrameSelection::updateAppearance): Reverted the flawed optimization added in r133840.
3065         Also, don't update style before updating selection unless text caret is disabled since we always
3066         update the layout (including style) when text caret is enabled.
3067         * editing/FrameSelection.h:
3068         (FrameSelection):
3069         * loader/FrameLoader.cpp:
3070         (WebCore::FrameLoader::clear): Call prepareForDestruction instead of clear to avoid a layout.
3071
3072 2012-11-11  Dongwoo Joshua Im  <dw.im@samsung.com>
3073
3074         [CSS3] Parsing the property, text-align-last.
3075         https://bugs.webkit.org/show_bug.cgi?id=99439
3076
3077         Reviewed by Julien Chaffraix.
3078
3079         This patch implements the parsing side of the "text-align-last" property specified
3080         in CSS3 working draft, with "-webkit-" prefix, under ENABLE_CSS3_TEXT flag.
3081         Specification link : http://www.w3.org/TR/css3-text/#text-align-last
3082
3083         Tests: fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html
3084                fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html
3085
3086         * css/CSSComputedStyleDeclaration.cpp:
3087         (WebCore):
3088         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the value of the text-align-last property.
3089         * css/CSSParser.cpp:
3090         (WebCore::CSSParser::parseValue): Parse the value, and check whether it is a proper value which text-align-last can have.
3091         * css/CSSPrimitiveValueMappings.h:
3092         (WebCore):
3093         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3094         (WebCore::CSSPrimitiveValue::operator ETextAlignLast):
3095         * css/CSSProperty.cpp:
3096         (WebCore::CSSProperty::isInheritedProperty):
3097         * css/CSSPropertyNames.in: Add '-webkit-text-align-last' property.
3098         * css/StyleBuilder.cpp:
3099         (WebCore::StyleBuilder::StyleBuilder):
3100         * css/StylePropertySet.cpp:
3101         (WebCore):
3102         * css/StyleResolver.cpp:
3103         (WebCore::StyleResolver::applyProperty):
3104         * rendering/style/RenderStyle.h:
3105         * rendering/style/RenderStyleConstants.h:
3106         * rendering/style/StyleRareInheritedData.cpp:
3107         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3108         (WebCore::StyleRareInheritedData::operator==):
3109         * rendering/style/StyleRareInheritedData.h:
3110         (StyleRareInheritedData): Add m_textAlignLast.
3111
3112 2012-11-11  Shinya Kawanaka  <shinyak@chromium.org>
3113
3114         [Refactoring] Remove shadowPseudoId() and use setPseudo() in HTMLKeygenElement
3115         https://bugs.webkit.org/show_bug.cgi?id=101881
3116
3117         Reviewed by Kent Tamura.
3118
3119         We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
3120         setPseudo()/pseudo() instead.
3121
3122         No new tests, simple refacotring.
3123
3124         * html/HTMLKeygenElement.cpp:
3125         (WebCore::KeygenSelectElement::KeygenSelectElement):
3126         (KeygenSelectElement):
3127
3128 2012-11-11  Adam Barth  <abarth@webkit.org>
3129
3130         Many DOMWindowProperties would benefit from being ScriptWrappable
3131         https://bugs.webkit.org/show_bug.cgi?id=101887
3132
3133         Reviewed by Kentaro Hara.
3134
3135         These object are only ever created at the behest of script, which means
3136         making them ScriptWrappable is a win.
3137
3138         * page/BarInfo.h:
3139         * page/Console.h:
3140         * page/Crypto.h:
3141         * page/History.h:
3142         * page/Location.h:
3143         * page/Navigator.h:
3144         * page/Performance.h:
3145
3146 2012-11-11  Kentaro Hara  <haraken@chromium.org>
3147
3148         [V8] HTMLDocument::all() needs not to be custom
3149         https://bugs.webkit.org/show_bug.cgi?id=101875
3150
3151         Reviewed by Adam Barth.
3152
3153         We can easily remove the custom getter from V8 because the
3154         custom setter sets .all by ForceSet(). On the other hand,
3155         it is non-trivial to remove the custom getter from JSC
3156         because the custom setter sets .all by putDirect()
3157         and the custom getter wants to get it by getDirect().
3158
3159         No tests. No change in behavior.
3160
3161         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3162         * html/HTMLDocument.idl:
3163
3164 2012-11-11  Kentaro Hara  <haraken@chromium.org>
3165
3166         [V8] V8Console::memoryAttrGetter() needs not to be custom
3167         https://bugs.webkit.org/show_bug.cgi?id=101873
3168
3169         Reviewed by Adam Barth.
3170
3171         No tests. No change in behavior.
3172
3173         * bindings/v8/custom/V8ConsoleCustom.cpp:
3174         (WebCore):
3175         * page/Console.idl:
3176
3177 2012-11-11  Shinya Kawanaka  <shinyak@chromium.org>
3178
3179         [Shadow] ElementShadow should have RuleFeatureSet for select attribute selectors.
3180         https://bugs.webkit.org/show_bug.cgi?id=101180
3181
3182         Reviewed by Dimitri Glazkov.
3183
3184         This is a preparation patch for Bug 100451.
3185
3186         We preserve RuleFeatureSet collected from select attributes in ShadowDOM.
3187         When an element attribute is changed, we might have to invalidate content distribution,
3188         however it's high cost operation. So we would like to check RuleFeatureSet used in
3189         select attributes to determine we really need to invalidate distribution.
3190
3191         Like StyleResolver, ElementShadow has several rule features. When nested ShadowDOM is used,
3192         first we collect features in nested ShadowDOM, and merge it to the parent ShadowDOM.
3193         For the performance reason, we have a flag to check whether we need to collect features again.
3194
3195         Test: fast/dom/shadow/shadow-select-attribute-featureset.html
3196
3197         * WebCore.exp.in:
3198         * dom/ElementShadow.cpp:
3199         (WebCore::ElementShadow::ElementShadow):
3200         (WebCore::ElementShadow::setShouldCollectSelectFeatureSet): Enable a flag to collect feature set of descendant
3201         nodes (and their ShadowDOM).
3202         (WebCore):
3203         (WebCore::ElementShadow::ensureSelectFeatureSetCollected):
3204         (WebCore::ElementShadow::collectSelectFeatureSetFrom): Collect RuleFeatureSet from all descendant Nodes and their
3205         ShadowDOM. We need to collect id, class, and attribute names.
3206         * dom/ElementShadow.h:
3207         (WebCore::ElementShadow::shouldCollectSelectFeatureSet):
3208         (ElementShadow):
3209         (WebCore::ElementShadow::hasSelectorForId):
3210         (WebCore):
3211         (WebCore::ElementShadow::hasSelectorForClass):
3212         (WebCore::ElementShadow::hasSelectorForAttribute):
3213         * html/shadow/HTMLContentElement.cpp:
3214         (WebCore::HTMLContentElement::parseAttribute): When select attribute is changed, enable a flag to recollect features.
3215         (WebCore::HTMLContentElement::insertedInto): We have to recollect features when HTMLContentElement is moved.
3216         (WebCore::HTMLContentElement::removedFrom): ditto.
3217         * html/shadow/HTMLContentElement.h:
3218         (WebCore::toHTMLContentElement):
3219         (WebCore):
3220         * testing/Internals.cpp:
3221         (WebCore::Internals::hasSelectorForIdInShadow):
3222         (WebCore):
3223         (WebCore::Internals::hasSelectorForClassInShadow):
3224         (WebCore::Internals::hasSelectorForAttributeInShadow):
3225         * testing/Internals.h:
3226         (Internals):
3227         * testing/Internals.idl:
3228
3229 2012-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3230
3231         Unreviewed, rolling out r134144.
3232         http://trac.webkit.org/changeset/134144
3233         https://bugs.webkit.org/show_bug.cgi?id=101876
3234
3235         seems to break win 7 chromium browser test (Requested by
3236         hayato on #webkit).
3237
3238         * WebCore.exp.in:
3239         * page/EventHandler.cpp:
3240         (WebCore):
3241         (WebCore::EventHandler::handleMouseMoveEvent):
3242         * page/EventHandler.h:
3243         (EventHandler):
3244         * testing/Internals.cpp:
3245         * testing/Internals.h:
3246         * testing/Internals.idl:
3247
3248 2012-11-11  Kent Tamura  <tkent@chromium.org>
3249
3250         Internals: MockPagePopup should not update DOM structure during detach()
3251         https://bugs.webkit.org/show_bug.cgi?id=101710
3252
3253         Reviewed by Hajime Morita.
3254
3255         PickerIndicatorElement::detach calls
3256         MockPagePopupDriver::closePagePopup, MockPagePopup::~MockPagePopup,
3257         which remove the mock iframe from the tree. But updating the tree during
3258         detach() is dangerous.
3259
3260         MockPagePopupDriver::closePagePopup calls MockpagePopup::closeLater, it
3261         requests to call 'close' asynchronously, and 'close' removes the mock
3262         iframe. We need to change MockPagePopup so that it is ref-couted and has
3263         a timer.
3264
3265         No new tests. This is a change for the test harness.
3266
3267         * testing/MockPagePopupDriver.cpp:
3268         (MockPagePopup): Make this ref-counted, add closeLater, add close, and
3269         add m_closeTimer.
3270         (WebCore::MockPagePopup::MockPagePopup): Initialize the timer.
3271         (WebCore::MockPagePopup::create): PassOwnPtr -> PassRefPtr
3272         (WebCore::MockPagePopup::closeLater):
3273         - Add one reference to avoid destruction by m_mockPagePopup.clear() in
3274           closePagePopup.
3275         - Notify didClosePopup here because the client expects didClosePopup is
3276           called synchronously.
3277         - Invoke the timer to call 'close'
3278         (WebCore::MockPagePopup::close):
3279         Just remove one reference. This means calling the desructor.
3280         (WebCore::MockPagePopup::~MockPagePopup):
3281         Move didClosePopup call to caloseLater.
3282         (WebCore::MockPagePopupDriver::closePagePopup):
3283         Request to close PagePopup.
3284         Clear PagePopupClient in m_pagePopupController because this object is
3285         necessary until MockPagePopup is closed, but it should not have a
3286         reference to the PagePopupClient.
3287         * testing/MockPagePopupDriver.h:
3288         (MockPagePopupDriver): Make MockPagePopup ref-counted.
3289
3290 2012-11-11  Adam Barth  <abarth@webkit.org>
3291
3292         axObjectCache code is more complicated than necessary
3293         https://bugs.webkit.org/show_bug.cgi?id=101820
3294
3295         Reviewed by Darin Adler.
3296
3297         This code should use OwnPtr rather than manually calling new/delete.
3298         Also, instead of using a "double check" pattern, we can just access the
3299         private fields on the top document directly.
3300
3301         * dom/Document.cpp:
3302         (WebCore::Document::Document):
3303         (WebCore::Document::clearAXObjectCache):
3304         (WebCore::Document::axObjectCacheExists):
3305         (WebCore):
3306         (WebCore::Document::axObjectCache):
3307         * dom/Document.h:
3308         (Document):
3309
3310 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
3311
3312         Save one call to containerForRepaint() when updating layer positions
3313         https://bugs.webkit.org/show_bug.cgi?id=101856
3314
3315         Reviewed by Dan Bernstein.
3316
3317          RenderLayer::updateLayerPositions() has already computed the repaint container,
3318          but calls computeRepaintRects() which computes it again. Computing the repaint
3319          container involves a walk back up the layer tree, so calling it during a tree
3320          traversal is costly.
3321          
3322          Fix by passing the repaint container down into computeRepaintRects().
3323
3324         * rendering/RenderLayer.cpp:
3325         (WebCore::RenderLayer::updateLayerPositions):
3326         (WebCore::RenderLayer::computeRepaintRects):
3327         (WebCore::RenderLayer::computeRepaintRectsIncludingDescendants):
3328         (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
3329         (WebCore::RenderLayer::setHasVisibleContent):
3330         * rendering/RenderLayer.h:
3331         (RenderLayer):
3332
3333 2012-11-11  Kenichi Ishibashi  <bashi@chromium.org>
3334
3335         WTFString::utf8() should have a mode of conversion to use replacement character
3336         https://bugs.webkit.org/show_bug.cgi?id=101678
3337
3338         Reviewed by Alexey Proskuryakov.
3339
3340         Follow the change on String::utf8()
3341
3342         No new tests. No changes in behavior.
3343
3344         * Modules/websockets/WebSocket.cpp:
3345         (WebCore::WebSocket::close): Pass String::StrictConversion instead of true to String::utf8().
3346         * Modules/websockets/WebSocketChannel.cpp:
3347         (WebCore::WebSocketChannel::send): Ditto.
3348         * html/MediaFragmentURIParser.cpp:
3349         (WebCore::MediaFragmentURIParser::parseFragments): Ditto.
3350         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
3351         (WebCore::MediaPlayerPrivate::notifyChallengeResult): Ditto.
3352         * platform/network/blackberry/rss/RSSFilterStream.cpp:
3353         (WebCore::RSSFilterStream::convertContentToHtml): Ditto.
3354         * platform/network/blackberry/rss/RSSGenerator.cpp:
3355         (WebCore::RSSGenerator::generateHtml): Ditto.
3356
3357 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
3358
3359         Coalesce main thread scroll position updates
3360         https://bugs.webkit.org/show_bug.cgi?id=101855
3361
3362         Reviewed by Anders Carlsson.
3363
3364         When using threaded scrolling, the dispatched updateMainFrameScrollPosition() calls 
3365         from ScrollingTree would pile up on the main thread, and we'd handle several per
3366         runloop cycle when scrolling fast. This causes extra work especially on pages
3367         with position:fixed elements which must update RenderLayers on scrolling.
3368         
3369         Fix by using a zero-delay timer in ScrollingCoordinator to coalesce these
3370         scrolling updates to one per runloop.
3371
3372         * page/scrolling/ScrollingCoordinator.cpp:
3373         (WebCore::ScrollingCoordinator::ScrollingCoordinator): Initialized data members
3374         for the scheduled scroll position update.
3375         (WebCore::ScrollingCoordinator::scheduleUpdateMainFrameScrollPosition): If 
3376         the timer is active and the parameters match, just update the target scroll
3377         position and return. If the params don't match, dispatch the scheduled update,
3378         and then the new one. Otherwise, prime the timer.
3379         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionTimerFired): Call
3380         the existing updateMainFrameScrollPosition() with the saved values.
3381         * page/scrolling/ScrollingCoordinator.h:
3382         * page/scrolling/ScrollingTree.cpp:
3383         (WebCore::ScrollingTree::updateMainFrameScrollPosition): Call scheduleUpdateMainFrameScrollPosition()
3384         rather than updateMainFrameScrollPosition().
3385         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3386         (WebCore::ScrollingCoordinatorMac::syncChildPositions): Fixed a bug that caused fixed
3387         position elements to jiggle with the patch; we should be calling syncPosition() (which just
3388         sets the position data, without touching CA layers).
3389
3390 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
3391
3392         Remove ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition()
3393         https://bugs.webkit.org/show_bug.cgi?id=101514
3394
3395         Reviewed by Tim Horton.
3396
3397         ScrollingCoordinatorMac::updateMainFrameScrollPositionAndScrollLayerPosition() is very similar to
3398         ScrollingCoordinator::updateMainFrameScrollPosition(). In order to eliminate updateMainFrameScrollPositionAndScrollLayerPosition(),
3399         we just need to plumb through a flag that says that updateMainFrameScrollPosition() should
3400         set the layer position (rather than just doing a 'sync').
3401
3402         * page/scrolling/ScrollingCoordinator.cpp:
3403         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
3404         * page/scrolling/ScrollingCoordinator.h:
3405         * page/scrolling/ScrollingTree.cpp:
3406         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
3407         * page/scrolling/ScrollingTree.h:
3408         * page/scrolling/mac/ScrollingCoordinatorMac.h:
3409         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3410         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3411         (WebCore::ScrollingTreeScrollingNodeMac::setScrollPositionWithoutContentEdgeConstraints):
3412
3413 2012-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3414
3415         Unreviewed, rolling out r134069.
3416         http://trac.webkit.org/changeset/134069
3417         https://bugs.webkit.org/show_bug.cgi?id=101852
3418
3419         "It is a wrong way to fix the problem. See discussions in bug
3420         96614" (Requested by 1JTAAPQFJ on #webkit).
3421
3422         * bindings/js/JSDictionary.cpp:
3423         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
3424
3425 2012-11-10  Mike West  <mkwst@chromium.org>
3426
3427         Web Inspector: Multiple '%c' formatting options should all have effect.
3428         https://bugs.webkit.org/show_bug.cgi?id=101495
3429
3430         Reviewed by Pavel Feldman.
3431
3432         This patch supports multiple '%c' formatting blocks in console messages.
3433         'console.log("%cblue! %cgreen!", "color: blue;", "color: green;")' will
3434         do exactly what you expect: "blue!" will be blue, and "green!" will be
3435         green.
3436
3437         The implementation moves the styles off the message's parent 'span', and
3438         onto new 'span' elements that wrap the various textual bits of the
3439         message.
3440
3441         * inspector/front-end/ConsoleMessage.js:
3442         (WebInspector.ConsoleMessageImpl.prototype.):
3443         (WebInspector.ConsoleMessageImpl.prototype.append):
3444         (WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
3445
3446 2012-11-10  Mike West  <mkwst@chromium.org>
3447
3448         Including <CoreText/CoreText.h> breaks the chromium/mac build.
3449         https://bugs.webkit.org/show_bug.cgi?id=101851
3450
3451         Reviewed by Dan Bernstein.
3452
3453         r134146 introduced inclusion of 'CoreText/CoreText.h' in
3454         SimpleFontDataCoreText.cpp, which broke the chromium/mac build. Grepping
3455         around, it looks like this needs to be modified to include
3456         'ApplicationServices/ApplicationServices.h'.
3457
3458         * platform/graphics/mac/SimpleFontDataCoreText.cpp:
3459             Drop 'CoreText.h' in favor of 'ApplicationServices.h'.
3460         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3461             Drop the platform-specific '#if' logic; just include 'ApplicationServices.h'.
3462
3463 2012-11-10  Andreas Kling  <kling@webkit.org>
3464
3465         Don't detach from shared ElementAttributeData when overwriting attribute with identical value.
3466         <http://webkit.org/b/101849>
3467
3468         Reviewed by Anders Carlsson.
3469
3470         Defer the mutableAttributeData() call in Element::setAttributeInternal() until the last
3471         possible moment, to avoid unnecessarily detaching and cloning from attribute data.
3472
3473         120 kB progression on Membuster3.
3474
3475         * dom/Element.cpp:
3476         (WebCore::Element::setAttributeInternal):
3477         (WebCore::Element::addAttributeInternal):
3478
3479 2012-11-10  Simon Fraser  <simon.fraser@apple.com>
3480
3481         Some minor optimizations in RenderLayer
3482         https://bugs.webkit.org/show_bug.cgi?id=101847
3483
3484         Reviewed by Anders Carlsson.