Always enable ENABLE(XPATH)
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-18  Adam Barth  <abarth@webkit.org>
2
3         Always enable ENABLE(XPATH)
4         https://bugs.webkit.org/show_bug.cgi?id=70217
5
6         Reviewed by Eric Seidel.
7
8         As discussed on webkit-dev, we're reducing the complexity of WebKit by
9         removing unneeded configuration options.  ENABLE(XPATH) is enabled on
10         every port, so we are removing the ability to disable the feature.
11
12         * CMakeLists.txt:
13         * Configurations/FeatureDefines.xcconfig:
14         * GNUmakefile.am:
15         * GNUmakefile.list.am:
16         * UseJSC.cmake:
17         * WebCore.pro:
18         * bindings/js/JSCustomXPathNSResolver.cpp:
19         * bindings/js/JSCustomXPathNSResolver.h:
20         * bindings/js/JSDOMBinding.cpp:
21         (WebCore::setDOMException):
22         * bindings/js/JSExceptionBase.cpp:
23         (WebCore::toExceptionBase):
24         * bindings/js/JSXPathResultCustom.cpp:
25         * bindings/objc/DOMCustomXPathNSResolver.h:
26         * bindings/objc/DOMCustomXPathNSResolver.mm:
27         * bindings/objc/DOMInternal.h:
28         * bindings/objc/DOMUtility.mm:
29         (JSC::createDOMWrapper):
30         * bindings/objc/DOMXPath.mm:
31         (kit):
32         * bindings/objc/PublicDOMInterfaces.h:
33         * bindings/v8/V8DOMWrapper.cpp:
34         (WebCore::V8DOMWrapper::getXPathNSResolver):
35         * bindings/v8/V8DOMWrapper.h:
36         * bindings/v8/V8Proxy.cpp:
37         (WebCore::V8Proxy::setDOMException):
38         * bindings/v8/V8Proxy.h:
39         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
40         * bindings/v8/custom/V8CustomXPathNSResolver.h:
41         * bindings/v8/custom/V8DocumentCustom.cpp:
42         (WebCore::V8Document::evaluateCallback):
43         * dom/Document.cpp:
44         * dom/Document.h:
45         * dom/Document.idl:
46         * dom/ExceptionCode.cpp:
47         (WebCore::getExceptionCodeDescription):
48         * dom/ExceptionCode.h:
49         * features.pri:
50         * inspector/InspectorDOMAgent.cpp:
51         * page/DOMWindow.idl:
52         * xml/NativeXPathNSResolver.cpp:
53         * xml/NativeXPathNSResolver.h:
54         * xml/XPathEvaluator.cpp:
55         * xml/XPathEvaluator.h:
56         * xml/XPathEvaluator.idl:
57         * xml/XPathException.h:
58         * xml/XPathException.idl:
59         * xml/XPathExpression.cpp:
60         * xml/XPathExpression.h:
61         * xml/XPathExpression.idl:
62         * xml/XPathExpressionNode.cpp:
63         * xml/XPathExpressionNode.h:
64         * xml/XPathFunctions.cpp:
65         * xml/XPathFunctions.h:
66         * xml/XPathGrammar.y:
67         * xml/XPathNSResolver.cpp:
68         * xml/XPathNSResolver.h:
69         * xml/XPathNSResolver.idl:
70         * xml/XPathNodeSet.cpp:
71         * xml/XPathNodeSet.h:
72         * xml/XPathParser.cpp:
73         * xml/XPathParser.h:
74         * xml/XPathPath.cpp:
75         * xml/XPathPath.h:
76         * xml/XPathPredicate.cpp:
77         * xml/XPathPredicate.h:
78         * xml/XPathResult.cpp:
79         * xml/XPathResult.h:
80         * xml/XPathResult.idl:
81         * xml/XPathStep.cpp:
82         * xml/XPathStep.h:
83         * xml/XPathUtil.cpp:
84         * xml/XPathUtil.h:
85         * xml/XPathValue.cpp:
86         * xml/XPathValue.h:
87         * xml/XPathVariableReference.cpp:
88         * xml/XPathVariableReference.h:
89
90 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
91
92         AX: buttons of number type <input> controls are not fully accessible
93         https://bugs.webkit.org/show_bug.cgi?id=70241
94
95         Staged commit, part 6.
96
97         Reviewed by Darin Adler.
98
99         Test: platform/mac/accessibility/html5-input-number.html
100
101         * accessibility/AccessibilityRenderObject.cpp:
102         (WebCore::AccessibilityRenderObject::addImageMapChildren):
103         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
104         (WebCore::AccessibilityRenderObject::addChildren):
105         * accessibility/AccessibilityRenderObject.h:
106
107 2011-10-18  Nate Chapin  <japhet@chromium.org>
108
109         Make DocumentThreadableLoader a CachedResourceClient.
110         This will allow us to cache ThreadableLoaderClients as
111         appropriate in a later patch.
112         https://bugs.webkit.org/show_bug.cgi?id=61225
113
114         Reviewed by Antti Koivisto.
115
116         No new tests, no functionality change intended.
117
118         * WebCore.gypi:
119         * loader/DocumentThreadableLoader.cpp:
120         (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
121             for didFail() and didFinishLoading(), so we need to differentiate here.
122         (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
123             instead of ResourceLoadScheduler::scheduleSubresourceLoad().
124         * loader/DocumentThreadableLoader.h:
125         * loader/cache/CachedRawResource.cpp:
126         (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
127             DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
128             'data' input parameter will contain all data received so far, and we need to determine the
129             incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
130             the incremental data.
131         * loader/cache/CachedRawResource.h:
132         * loader/cache/CachedResource.cpp:
133         * loader/cache/CachedResource.h:
134         (WebCore::CachedResource::preloadResult):
135         (WebCore::CachedResource::didSendData):
136         (WebCore::CachedResource::didDownloadData):
137         (WebCore::CachedResource::setLoadFinishTime):
138         (WebCore::CachedResource::loadFinishTime):
139         * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
140         * loader/cache/CachedResourceRequest.cpp:
141         (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
142             the request, so protect appropriately.
143         * loader/cache/CachedResourceRequest.h:
144         * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
145         * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
146         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
147         * platform/network/BlobResourceHandle.cpp:
148         (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
149
150 2011-10-18  Sheriff Bot  <webkit.review.bot@gmail.com>
151
152         Unreviewed, rolling out r97752.
153         http://trac.webkit.org/changeset/97752
154         https://bugs.webkit.org/show_bug.cgi?id=70332
155
156         Caused assertion failures in MediaList::setParentStyleSheet()
157         on the apple bots. (Requested by kling on #webkit).
158
159         * WebCore.xcodeproj/project.pbxproj:
160         * bindings/js/JSDOMBinding.h:
161         * css/CSSImportRule.cpp:
162         (WebCore::CSSImportRule::CSSImportRule):
163         (WebCore::CSSImportRule::~CSSImportRule):
164         * css/CSSMediaRule.cpp:
165         (WebCore::CSSMediaRule::CSSMediaRule):
166         (WebCore::CSSMediaRule::~CSSMediaRule):
167         * css/CSSMediaRule.h:
168         * css/MediaList.cpp:
169         (WebCore::MediaList::MediaList):
170         (WebCore::MediaList::notifyChanged):
171         * css/MediaList.h:
172         * css/StyleSheet.cpp:
173         (WebCore::StyleSheet::~StyleSheet):
174         (WebCore::StyleSheet::setMedia):
175
176 2011-10-18  Anna Cavender  <annacc@chromium.org>
177
178         Change TextTrack to use the word DISABLED instead of OFF for mode
179         https://bugs.webkit.org/show_bug.cgi?id=70268
180
181         Reviewed by Daniel Bates.
182
183         No new tests. No new functionality.
184
185         * html/TextTrack.cpp:
186         (WebCore::TextTrack::setMode): use Disabled instead of Off
187         * html/TextTrack.h: update Mode enum to use Disabled instead of Off
188
189 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
190
191         AX: buttons of number type <input> controls are not fully accessible
192         https://bugs.webkit.org/show_bug.cgi?id=70241
193
194         Staged commit, part 5.
195
196         Reviewed by Darin Adler.
197
198         * accessibility/AXObjectCache.cpp:
199         (WebCore::AXObjectCache::getOrCreate):
200         * accessibility/AccessibilityRenderObject.cpp:
201         (WebCore::AccessibilityRenderObject::boundingBoxRect):
202
203 2011-10-18  Antti Koivisto  <antti@apple.com>
204
205         Move default stylesheet loading to a separate function
206         https://bugs.webkit.org/show_bug.cgi?id=70331
207
208         Reviewed by Andreas Kling.
209         
210         - Move default stylesheet loading out from CSSStyleSelector::styleForElement()
211         - Rename e -> element
212         - Remove pointless reffing of the placeholder style.
213
214         * css/CSSStyleSelector.cpp:
215         (WebCore::ensureDefaultStyleSheetsForElement):
216         (WebCore::isAtShadowBoundary):
217         (WebCore::CSSStyleSelector::styleForElement):
218
219 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
220
221         AX: buttons of number type <input> controls are not fully accessible
222         https://bugs.webkit.org/show_bug.cgi?id=70241
223
224         Staged commit part 4.
225
226         Reviewed by Darin Adler.
227
228         * accessibility/AccessibilityMockObject.h:
229         (WebCore::AccessibilityMockObject::isMockObject):
230         (WebCore::AccessibilityMockObject::detachFromParent):
231         * accessibility/AccessibilityObject.cpp:
232         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
233         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
234         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
235         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
236         (-[WebAccessibilityObjectWrapper subrole]):
237         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
238
239 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
240
241         AX: buttons of number type <input> controls are not fully accessible
242         https://bugs.webkit.org/show_bug.cgi?id=70241
243
244         Staged commit part 3. Committing the new spin button classes.
245
246         Reviewed by Darin Adler.
247
248         * CMakeLists.txt:
249         * GNUmakefile.list.am:
250         * WebCore.gypi:
251         * WebCore.pro:
252         * WebCore.vcproj/WebCore.vcproj:
253         * WebCore.xcodeproj/project.pbxproj:
254         * accessibility/AccessibilitySpinButton.cpp: Added.
255         (WebCore::AccessibilitySpinButton::create):
256         (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
257         (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
258         (WebCore::AccessibilitySpinButton::incrementButton):
259         (WebCore::AccessibilitySpinButton::decrementButton):
260         (WebCore::AccessibilitySpinButton::elementRect):
261         (WebCore::AccessibilitySpinButton::addChildren):
262         (WebCore::AccessibilitySpinButton::step):
263         (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
264         (WebCore::AccessibilitySpinButtonPart::create):
265         (WebCore::AccessibilitySpinButtonPart::elementRect):
266         (WebCore::AccessibilitySpinButtonPart::press):
267         * accessibility/AccessibilitySpinButton.h: Added.
268         (WebCore::AccessibilitySpinButton::setSpinButtonElement):
269         (WebCore::AccessibilitySpinButton::roleValue):
270         (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
271         (WebCore::AccessibilitySpinButton::isSpinButton):
272         (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
273         (WebCore::AccessibilitySpinButtonPart::isIncrementor):
274         (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
275         (WebCore::AccessibilitySpinButtonPart::roleValue):
276         (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
277         (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
278         (WebCore::toAccessibilitySpinButton):
279         (WebCore::toAccessibilitySpinButtonPart):
280
281 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
282
283         AX: buttons of number type <input> controls are not fully accessible
284         https://bugs.webkit.org/show_bug.cgi?id=70241
285
286         Phase 2 of the staged commit.
287
288         Reviewed by Darin Adler.
289
290         * accessibility/AccessibilityObject.cpp:
291         (WebCore::AccessibilityObject::boundingBoxForQuads):
292         * accessibility/AccessibilityObject.h:
293         (WebCore::AccessibilityObject::isSpinButton):
294         (WebCore::AccessibilityObject::isSpinButtonPart):
295         (WebCore::AccessibilityObject::isMockObject):
296
297 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
298
299         AX: buttons of number type <input> controls are not fully accessible
300         https://bugs.webkit.org/show_bug.cgi?id=70241
301
302         Expose the spin button object to the AX hierarchy. Since there is no distinct
303         render object that backs this object, a mock object needs to be created for the entire
304         spin button and the actual increment and decrement buttons inside.
305
306         This will be a staged commit since the first time around Windows layout tests started crashing for an undeterminable reason.
307
308         Reviewed by Darin Adler.
309
310         * html/shadow/TextControlInnerElements.cpp:
311         (WebCore::SpinButtonElement::step):
312         (WebCore::SpinButtonElement::repeatingTimerFired):
313         * html/shadow/TextControlInnerElements.h:
314
315 2011-10-18  Andreas Kling  <kling@webkit.org>
316
317         MediaList: Remove inheritance from StyleBase.
318         https://bugs.webkit.org/show_bug.cgi?id=70203
319
320         Reviewed by Darin Adler.
321
322         * css/MediaList.h:
323         (WebCore::MediaList::parentStyleSheet):
324         (WebCore::MediaList::setParentStyleSheet):
325         * css/MediaList.cpp:
326         (WebCore::MediaList::MediaList):
327         (WebCore::MediaList::notifyChanged):
328
329             Change MediaList to no longer inherit from StyleBase. The parent()/setParent()
330             mechanism was replaced by explicit parentStyleSheet()/setParentStyleSheet().
331
332         * css/CSSImportRule.cpp:
333         (WebCore::CSSImportRule::CSSImportRule):
334         (WebCore::CSSImportRule::~CSSImportRule):
335         * css/CSSMediaRule.cpp:
336         (WebCore::CSSMediaRule::CSSMediaRule):
337         (WebCore::CSSMediaRule::~CSSMediaRule):
338
339             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
340             CSSRules are never moved between stylesheets, so the parent style sheet pointer
341             is valid for the MediaList's lifetime.
342
343         * css/StyleSheet.cpp:
344         (WebCore::StyleSheet::~StyleSheet):
345
346             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
347
348         (WebCore::StyleSheet::setMedia):
349
350             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
351             Assert that the parent sheet is either null, or this, as MediaLists should never
352             be reparented to other sheets.
353             Assert that the StyleSheet is indeed a CSSStyleSheet.  XSLStyleSheet inherits from
354             StyleSheet, but it shouldn't be using the MediaList.
355
356         * bindings/js/JSDOMBinding.h:
357         (WebCore::root):
358
359             Add MediaList* specific overload for root() since it can't fall back
360             to root(StyleBase*) anymore.
361
362         * WebCore.xcodeproj/project.pbxproj:
363
364             Add some PrivateHeaders to accomodate the JSDOMBinding.h changes.
365
366         * css/CSSMediaRule.h:
367
368             Remove unnecessary forward-declaration of MediaList.
369
370 2011-10-18  Andreas Kling  <kling@webkit.org>
371
372         XSLStyleSheet only needs to manage XSLImportRule children.
373         https://bugs.webkit.org/show_bug.cgi?id=70326
374
375         Reviewed by Antti Koivisto.
376
377         * css/StyleBase.h:
378         * xml/XSLImportRule.h:
379         * css/CSSRule.h:
380         (WebCore::CSSRule::isImportRule):
381
382             Move StyleBase::isImportRule() down to CSSRule. Since XSLImportRule no longer
383             implements it, it's now specific to CSSImportRule.
384
385         * xml/XSLStyleSheet.h:
386
387             Change m_children to be a vector of XSLImportRules. Also remove length(),
388             item() and append() since they were only used internally to modify m_children.
389
390         * xml/XSLStyleSheetQt.cpp:
391         (WebCore::XSLStyleSheet::~XSLStyleSheet):
392         * xml/XSLStyleSheetLibxslt.cpp:
393         (WebCore::XSLStyleSheet::~XSLStyleSheet):
394         (WebCore::XSLStyleSheet::isLoading):
395         (WebCore::XSLStyleSheet::clearDocuments):
396         (WebCore::XSLStyleSheet::loadChildSheet):
397         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
398
399             Remove now-unnecessary isImportRule() checks and tidy up the code a bit.
400
401 2011-10-18  Zan Dobersek  <zandobersek@gmail.com>
402
403         [Gtk] Support for client-based geolocation
404         https://bugs.webkit.org/show_bug.cgi?id=64970
405
406         Reviewed by Martin Robinson.
407
408         Add feature defines for client-based geolocation when geolocation is enabled,
409         since this is the providing method that is now used by default. Remove
410         service-based providing method completely as it is not needed anymore.
411
412         * GNUmakefile.am: Add feature defines for client-based geolocation.
413         * GNUmakefile.list.am: Remove GeolocationServiceGtk.* files from compilation.
414         * platform/gtk/GeolocationServiceGtk.cpp: Removed.
415         * platform/gtk/GeolocationServiceGtk.h: Removed.
416
417 2011-10-18  Antti Koivisto  <antti@apple.com>
418
419         REGRESSION(r97248): :visited as descendant selector broken
420         https://bugs.webkit.org/show_bug.cgi?id=70122
421
422         Reviewed by Nikolas Zimmerman.
423         
424         Make ":visited foo" and similar selectors work correctly again. They can affect 
425         the visited style of an element inside a visited link.
426
427         Test: fast/selectors/visited-descendant.html
428
429         * css/CSSStyleSelector.cpp:
430         (WebCore::CSSStyleSelector::applyDeclarations): 
431         
432             Apply visited style to children of visited links too.
433             
434         * css/SelectorChecker.cpp:
435         (WebCore::SelectorChecker::checkSelector): 
436         
437             Don't disable visited matching until we run into first ancestor link or use combinator other than child/descendant.
438
439         (WebCore::SelectorChecker::determineLinkMatchType):
440         
441             Look into child/descendant component selectors too to determine the link match type.
442
443 2011-10-18  Andreas Kling  <kling@webkit.org>
444
445         Move CSSRule specific virtuals from StyleBase down into CSSRule.
446         https://bugs.webkit.org/show_bug.cgi?id=70240
447
448         Reviewed by Darin Adler.
449
450         Move all the isFooRule() virtuals except isImportRule() to CSSRule
451         since they only make sense for its subclasses. isRule() remains in
452         StyleBase since we still need it for the parent chain traversal.
453         isImportRule() remains because XSLImportRule implements it.
454
455         Also moved insertedIntoParent() and removed its usage in
456         XSLStyleSheet since it is only reimplemented by CSSImportRule.
457
458         * css/CSSRule.h:
459         (WebCore::CSSRule::isCharsetRule):
460         (WebCore::CSSRule::isFontFaceRule):
461         (WebCore::CSSRule::isKeyframeRule):
462         (WebCore::CSSRule::isKeyframesRule):
463         (WebCore::CSSRule::isMediaRule):
464         (WebCore::CSSRule::isPageRule):
465         (WebCore::CSSRule::isStyleRule):
466         (WebCore::CSSRule::isRegionStyleRule):
467         (WebCore::CSSRule::insertedIntoParent):
468         * css/StyleBase.h:
469         (WebCore::StyleBase::isImportRule):
470         (WebCore::StyleBase::isCSSStyleSheet):
471         * xml/XSLStyleSheet.h:
472         (WebCore::XSLStyleSheet::append):
473
474 2011-10-18  Sachin Puranik  <jcqt43@motorola.com>
475
476         Option.value should trim extra internal html spaces
477         https://bugs.webkit.org/show_bug.cgi?id=69455
478
479         Reviewed by Kent Tamura.
480
481         Currently option.value does not trim the internal white space as suggested by spec. This patch implements the same.
482
483         Test: fast/forms/option-value-trim-html-spaces.html
484
485         * dom/OptionElement.cpp: Removed a function as this implementation is moved to the HTMLOptionElement.cpp file.
486         * html/HTMLOptionElement.cpp:
487         (WebCore::HTMLOptionElement::value): Implementation of .value function which will now trim the html white spaces.
488
489 2011-10-18  Mihnea Ovidenie  <mihnea@adobe.com>
490
491         [CSS Regions]Parse @-webkit-region rule
492         https://bugs.webkit.org/show_bug.cgi?id=70021
493
494         Reviewed by David Hyatt.
495
496         Test: fast/regions/parsing-region-style-rule.html
497
498         * CMakeLists.txt:
499         * GNUmakefile.list.am:
500         * WebCore.gypi:
501         * WebCore.pro:
502         * WebCore.vcproj/WebCore.vcproj:
503         * WebCore.xcodeproj/project.pbxproj:
504         * bindings/objc/DOMCSS.mm:
505         (kitClass):
506         * bindings/v8/custom/V8CSSRuleCustom.cpp:
507         (WebCore::toV8):
508         * css/CSSGrammar.y:
509         * css/CSSMediaRule.cpp:
510         (WebCore::CSSMediaRule::cssText):
511         * css/CSSParser.cpp:
512         (WebCore::CSSParser::setReusableRegionSelectorVector):
513         (WebCore::CSSParser::createRegionStylingRule):
514         * css/CSSParser.h:
515         (WebCore::CSSParser::reusableRegionSelectorVector):
516         * css/CSSRegionStyleRule.cpp: Added.
517         (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
518         (WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
519         (WebCore::CSSRegionStyleRule::cssText):
520         * css/CSSRegionStyleRule.h: Added.
521         * css/CSSRule.h:
522         * css/CSSRule.idl:
523         * css/CSSRuleList.cpp:
524         (WebCore::CSSRuleList::item):
525         (WebCore::CSSRuleList::rulesText):
526         * css/CSSRuleList.h:
527         * css/CSSSelectorList.cpp:
528         (WebCore::CSSSelectorList::selectorsText):
529         * css/CSSSelectorList.h:
530         * css/CSSStyleSelector.cpp:
531         (WebCore::CSSStyleSelector::addRegionStyleRule):
532         (WebCore::RuleSet::addRulesFromSheet):
533         * css/CSSStyleSelector.h:
534         * css/StyleBase.h:
535         (WebCore::StyleBase::isRegionStyleRule):
536         * css/tokenizer.flex:
537
538 2011-10-11  Pavel Podivilov  <podivilov@chromium.org>
539
540         Web Inspector: support displaying multiple sources per single script in ScriptsPanel.
541         https://bugs.webkit.org/show_bug.cgi?id=69847
542
543         Reviewed by Pavel Feldman.
544
545         * inspector/front-end/ScriptsPanel.js:
546         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
547         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
548
549 2011-10-18  Nikolas Zimmermann  <nzimmermann@rim.com>
550
551         Prepare SVGImage intrinsic size negotiation: Add intrinsic size & ratio calculation functionality to Image
552         https://bugs.webkit.org/show_bug.cgi?id=70314
553
554         Reviewed by Antti Koivisto.
555
556         Add a "void computeIntrinsicDimension(Length& intrinsicWidth, Lengt& intrinsicHeight, FloatSize& intrinsicRatio)" helper method
557         to Image/GeneratedImage/SVGImage and make it accessible through StyleImage.
558
559         For a regular Image the intrinsicWidth/Height contains just a Length(size().width(), Fixed). In contrary SVGImages pass on the
560         style()->width()/height() values from the render style of the RenderSVGRoot renderer. These information are needed to implement
561         the size negotiation between embedded SVG images and the embedder.
562
563         No new tests, as this new functionality is not yet used.
564
565         * loader/cache/CachedImage.cpp:
566         (WebCore::CachedImage::computeIntrinsicDimensions):
567         * loader/cache/CachedImage.h:
568         * platform/graphics/GeneratedImage.cpp:
569         (WebCore::GeneratedImage::computeIntrinsicDimensions):
570         * platform/graphics/GeneratedImage.h:
571         * platform/graphics/Image.cpp:
572         (WebCore::Image::computeIntrinsicDimensions):
573         * platform/graphics/Image.h:
574         * platform/graphics/cg/PDFDocumentImage.cpp:
575         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
576         * platform/graphics/cg/PDFDocumentImage.h:
577         * rendering/style/StyleCachedImage.cpp:
578         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
579         * rendering/style/StyleCachedImage.h:
580         * rendering/style/StyleGeneratedImage.cpp:
581         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
582         * rendering/style/StyleGeneratedImage.h:
583         * rendering/style/StyleImage.h:
584         * rendering/style/StylePendingImage.h:
585         (WebCore::StylePendingImage::computeIntrinsicDimensions):
586         * svg/graphics/SVGImage.cpp:
587         (WebCore::SVGImage::computeIntrinsicDimensions):
588         * svg/graphics/SVGImage.h:
589
590 2011-10-17  Alexander Pavlov  <apavlov@chromium.org>
591
592         Web Inspector: [Chromium] Different dimensions are reported for elements onscreen and in the Metrics pane
593         https://bugs.webkit.org/show_bug.cgi?id=70242
594
595         Reviewed by Pavel Feldman.
596
597         * inspector/DOMNodeHighlighter.cpp:
598
599 2011-10-18  Kentaro Hara  <haraken@chromium.org>
600
601         Unreviewed, rolling out r97697.
602         http://trac.webkit.org/changeset/97697
603         https://bugs.webkit.org/show_bug.cgi?id=68978
604
605         some tests are broken
606
607         * bindings/js/JSMessageEventCustom.cpp:
608         (WebCore::JSMessageEvent::data):
609         * bindings/v8/custom/V8MessageEventCustom.cpp:
610         (WebCore::V8MessageEvent::dataAccessorGetter):
611         (WebCore::V8MessageEvent::portsAccessorGetter):
612         (WebCore::V8MessageEvent::initMessageEventCallback):
613         * dom/MessageEvent.cpp:
614         (WebCore::MessageEventInit::MessageEventInit):
615         (WebCore::MessageEvent::MessageEvent):
616         (WebCore::MessageEvent::isMessageEvent):
617         * dom/MessageEvent.h:
618         (WebCore::MessageEvent::create):
619         (WebCore::MessageEvent::dataAsSerializedScriptValue):
620         (WebCore::MessageEvent::dataAsString):
621         (WebCore::MessageEvent::dataAsBlob):
622         (WebCore::MessageEvent::dataAsArrayBuffer):
623         * dom/MessageEvent.idl:
624
625 2011-10-17  Antti Koivisto  <antti@apple.com>
626
627         r97638 caused 3 printing crashes
628         https://bugs.webkit.org/show_bug.cgi?id=70284
629
630         Reviewed by Kent Tamura.
631
632         Null check element.
633
634         * css/CSSStyleSelector.cpp:
635         (WebCore::CSSStyleSelector::applyDeclarations):
636
637 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
638
639         Unreviewed, rolling out r97669.
640         http://trac.webkit.org/changeset/97669
641         https://bugs.webkit.org/show_bug.cgi?id=70305
642
643         Broke accessibility tests on Windows (Requested by rniwa on
644         #webkit).
645
646         * CMakeLists.txt:
647         * GNUmakefile.list.am:
648         * WebCore.gypi:
649         * WebCore.pro:
650         * WebCore.vcproj/WebCore.vcproj:
651         * WebCore.xcodeproj/project.pbxproj:
652         * accessibility/AXObjectCache.cpp:
653         (WebCore::AXObjectCache::getOrCreate):
654         * accessibility/AccessibilityMockObject.h:
655         * accessibility/AccessibilityObject.cpp:
656         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
657         * accessibility/AccessibilityObject.h:
658         * accessibility/AccessibilityRenderObject.cpp:
659         (WebCore::AccessibilityRenderObject::boundingBoxRect):
660         (WebCore::AccessibilityRenderObject::clearChildren):
661         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
662         (WebCore::AccessibilityRenderObject::addChildren):
663         * accessibility/AccessibilityRenderObject.h:
664         * accessibility/AccessibilitySpinButton.cpp: Removed.
665         * accessibility/AccessibilitySpinButton.h: Removed.
666         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
667         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
668         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
669         (-[WebAccessibilityObjectWrapper subrole]):
670         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
671         * html/shadow/TextControlInnerElements.cpp:
672         (WebCore::SpinButtonElement::repeatingTimerFired):
673         * html/shadow/TextControlInnerElements.h:
674
675 2011-10-17  Kent Tamura  <tkent@chromium.org>
676
677         Remove OptionGroupElement
678         https://bugs.webkit.org/show_bug.cgi?id=70220
679
680         Reviewed by Darin Adler.
681
682         No new tests, just a refactoring.
683
684         * CMakeLists.txt: Remove OptionGroupElement.cpp and/or OptionGroupElement.h.
685         * GNUMakefile.am.list: ditto.
686         * WebCore.gypi: ditto.
687         * WebCore.pro: ditto.
688         * WebCore.vcproj/WebCore.vcproj: ditto.
689         * WebCore.xcodeproj/project.pbxproj: ditto.
690         * dom/DOMAllInOne.cpp: ditto.
691         * dom/OptionElement.cpp:
692         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
693         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
694         * dom/OptionGroupElement.cpp: Removed.
695         * dom/OptionGroupElement.h: Removed.
696         * html/HTMLOptGroupElement.cpp:
697         (WebCore::isHTMLOptGroupElement): Added.
698         * html/HTMLOptGroupElement.h:
699          - Don't inherit OptionGroupElement.
700          - Make groupLabelText() non-virtual.
701         * html/HTMLSelectElement.cpp:
702         (WebCore::HTMLSelectElement::recalcListItems):
703         Use Use hasTagName(optgroupTag) instead of isOptionGroupElement().
704         * rendering/RenderListBox.cpp:
705         (WebCore::RenderListBox::updateFromElement):
706         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
707         (WebCore::RenderListBox::paintItemForeground):
708         Use hasTagName(optgroupTag) instead of isOptionGroupElement().
709         * rendering/RenderMenuList.cpp:
710         (WebCore::RenderMenuList::itemText):
711         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
712         (WebCore::RenderMenuList::itemIsEnabled):
713         Use Use hasTagName(optgroupTag) instead of isOptionGroupElement().
714         (WebCore::RenderMenuList::itemIsLabel): ditto.
715
716 2011-10-17  Huang Dongsung  <luxtella@company100.net>
717
718         [TexMap][QT] TexMapGL renders a strange one-pixel border of BitmapTexture.
719         https://bugs.webkit.org/show_bug.cgi?id=70293
720
721         TextureMapperGL renders the strange border in
722         http://www.webkit.org/blog-files/leaves/index.html
723         Bug occurs because BitmapTexture is larger than the content due to rounding to
724         NPOT, and its pixel data is never initialized.
725
726         Reviewed by Noam Rosenthal.
727
728         * platform/graphics/opengl/TextureMapperGL.cpp:
729         (WebCore::texImage2DResourceSafe):
730         (WebCore::BitmapTextureGL::reset):
731
732 2011-10-17  Jochen Eisinger  <jochen@chromium.org>
733
734         Make NavigationAction wrap a ResourceRequest instead of a KURL.
735         https://bugs.webkit.org/show_bug.cgi?id=68803
736
737         With this, FrameLoaderClient::dispatchCreatePage knows about the
738         request that will be used for the initial navigaion of the to be
739         created page.
740
741         Reviewed by Nate Chapin.
742
743         Test: platform/chromium/fast/loader/create-view-target-blank.html
744
745         * loader/FrameLoader.cpp:
746         (WebCore::FrameLoader::loadURL):
747         (WebCore::FrameLoader::load):
748         (WebCore::FrameLoader::loadWithDocumentLoader):
749         (WebCore::FrameLoader::reload):
750         (WebCore::FrameLoader::loadPostRequest):
751         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
752         (WebCore::FrameLoader::loadDifferentDocumentItem):
753         (WebCore::createWindow):
754         * loader/NavigationAction.cpp:
755         (WebCore::NavigationAction::NavigationAction):
756         * loader/NavigationAction.h:
757         (WebCore::NavigationAction::isEmpty):
758         (WebCore::NavigationAction::url):
759         (WebCore::NavigationAction::resourceRequest):
760         * loader/PolicyChecker.cpp:
761         (WebCore::PolicyChecker::checkNavigationPolicy):
762         * page/ContextMenuController.cpp:
763         (WebCore::openNewWindow):
764         * WebCore.exp: updated
765
766 2011-10-17  Tom Sepez  <tsepez@chromium.org>
767
768         XSSAuditor bypass with remote script ending in ? character
769         https://bugs.webkit.org/show_bug.cgi?id=70255
770
771         Reviewed by Daniel Bates.
772
773         Fix XSSAuditor bypass where unterminated src="" attribute could pick up
774         text from page causing failed XSS detection.  Constrain match to domain
775         portions of src attribute only.
776
777         Test: http/tests/security/xssAuditor/script-tag-with-source-unterminated.html
778
779         * html/parser/XSSAuditor.cpp:
780         (WebCore::XSSAuditor::filterScriptToken):
781         (WebCore::XSSAuditor::filterObjectToken):
782         (WebCore::XSSAuditor::filterParamToken):
783         (WebCore::XSSAuditor::filterEmbedToken):
784         (WebCore::XSSAuditor::filterAppletToken):
785         (WebCore::XSSAuditor::filterIframeToken):
786         (WebCore::XSSAuditor::eraseAttributeIfInjected):
787         (WebCore::XSSAuditor::decodedSnippetForAttribute):
788         * html/parser/XSSAuditor.h:
789
790 2011-10-17  Adam Klein  <adamk@chromium.org>
791
792         Parse MutationObserverOptions directly into a bitfield
793         https://bugs.webkit.org/show_bug.cgi?id=70287
794
795         Reviewed by Ryosuke Niwa.
796
797         Replaces the MutationObserverOptions class with a typedef,
798         used to pass a bitfield composed of enums defined in
799         WebKitMutationObserver.h.
800
801         No new tests because no behavior should change.
802
803         * GNUmakefile.list.am:
804         * WebCore.gypi:
805         * WebCore.pro:
806         * WebCore.xcodeproj/project.pbxproj:
807         * bindings/js/JSDictionary.h: Removed now-unused method.
808         * bindings/js/JSWebKitMutationObserverCustom.cpp:
809         (WebCore::JSWebKitMutationObserver::observe):
810         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
811         (WebCore::V8WebKitMutationObserver::observeCallback):
812         * dom/MutationObserverOptions.h: Removed.
813         * dom/Node.cpp:
814         (WebCore::Node::registerMutationObserver):
815         * dom/Node.h:
816         * dom/NodeRareData.h:
817         (WebCore::MutationObserverEntry::MutationObserverEntry):
818         (WebCore::MutationObserverEntry::matches):
819         * dom/WebKitMutationObserver.cpp:
820         (WebCore::WebKitMutationObserver::observe):
821         * dom/WebKitMutationObserver.h:
822
823 2011-10-17  Luke Macpherson   <macpherson@chromium.org>
824
825         Add compile-time asserts for RenderStyle::(Non)InheritedFlags size.
826         https://bugs.webkit.org/show_bug.cgi?id=69803
827
828         Reviewed by Darin Adler.
829
830         No new tests.
831
832         Adds COMPILE_ASSERTs for the size of RenderStyle::InheritedFlags and
833         RenderStyle::NonInheritedFlags to ensure that they are not accidentally
834         grown in future changes.
835         Change types of unsigned bitfields to unsigned char to ensure that the
836         above assertions remain true when building on windows.
837
838         * rendering/style/RenderStyle.cpp:
839         (WebCore::RenderStyle):
840         Adds assertions to ensure struct sizes do not change.
841         * rendering/style/RenderStyle.h:
842         Changes unsigned to unsigned char as outlined above.
843
844 2011-10-17  Ojan Vafai  <ojan@chromium.org>
845
846         Unreviewed, rolling out r97662.
847         http://trac.webkit.org/changeset/97662
848         https://bugs.webkit.org/show_bug.cgi?id=68497
849
850         Was not the cause of the test failures.
851
852         * rendering/RenderBox.cpp:
853         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
854
855 2011-10-17  Ryosuke Niwa  <rniwa@webkit.org>
856
857         Rename deregister* to unregister*
858         https://bugs.webkit.org/show_bug.cgi?id=70272
859
860         Reviewed by Darin Adler.
861
862         Renamed deregisterHandler to unregisterHandler.
863
864         * inspector/front-end/ExtensionAPI.js:
865         (injectedExtensionAPI.ExtensionServerClient.prototype.unregisterHandler):
866         * inspector/front-end/ExtensionServer.js:
867         (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
868         * inspector/front-end/HandlerRegistry.js:
869         (get WebInspector.HandlerRegistry.prototype.unregisterHandler):
870
871 2011-10-17  Huang Dongsung  <luxtella@company100.net>
872
873         [TexMap][QT] The BGRA32PremultimpliedBuffer should not inherit the RefCounted class.
874         https://bugs.webkit.org/show_bug.cgi?id=70098
875
876         The BitmapTexture has a BGRA32PremultimpliedBuffer object using OwnPtr, not RefPtr.
877         It causes following assertion fail, RefCountedBase::m_deletionHasBegun.
878         It is better that the BGRA32PremultimpliedBuffer does not inherit the RefCounted
879         because the BitmapTexture only has and uses a BGRA32PremultimpliedBuffer object.
880
881         Reviewed by Noam Rosenthal.
882
883         * platform/graphics/opengl/TextureMapperGL.h:
884
885 2011-10-17  Vsevolod Vlasov  <vsevik@chromium.org>
886
887         Web Inspector: Search in resource crashes when there is no resource with given url.
888         https://bugs.webkit.org/show_bug.cgi?id=69767
889
890         Reviewed by Pavel Feldman.
891
892         Test: http/tests/inspector/search/search-in-non-existing-resource.html
893
894         * inspector/InspectorPageAgent.cpp:
895         (WebCore::InspectorPageAgent::searchInResource):
896
897 2011-10-17  Mihnea Ovidenie  <mihnea@adobe.com>
898
899         [CSS Regions]Change content:-webkit-from-flow to -webkit-flow-from
900         https://bugs.webkit.org/show_bug.cgi?id=70104
901
902         Reviewed by David Hyatt.
903
904         1. -webkit-flow-from is now a property instead of being an addition to content property.
905         2. -webkit-flow-from takes an identifier instead of string.
906
907         * css/CSSComputedStyleDeclaration.cpp:
908         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
909         * css/CSSParser.cpp:
910         (WebCore::CSSParser::parseValue):
911         (WebCore::CSSParser::parseContent):
912         (WebCore::CSSParser::parseRegionThread):
913         * css/CSSParser.h:
914         * css/CSSPrimitiveValue.cpp:
915         (WebCore::isValidCSSUnitTypeForDoubleConversion):
916         (WebCore::CSSPrimitiveValue::cleanup):
917         (WebCore::CSSPrimitiveValue::getStringValue):
918         (WebCore::CSSPrimitiveValue::cssText):
919         * css/CSSPrimitiveValue.h:
920         * css/CSSPropertyNames.in:
921         * css/CSSStyleSelector.cpp:
922         (WebCore::CSSStyleSelector::applyProperty):
923
924 2011-10-17  Kentaro Hara  <haraken@chromium.org>
925
926         MessageEvent.data can be stored as ScriptValue.
927         https://bugs.webkit.org/show_bug.cgi?id=68978
928
929         Reviewed by Hajime Morita.
930
931         Currently, the following test cases fail or crash:
932
933         - shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object") -> FAIL
934         - new MessageEvent('eventType', { data: document }).data -> CRASH
935
936         This is because MessageEvent.data is implemented just as SerializedScriptValue
937         and it cannot keep ScriptValue passed by JavaScript. This patch makes the following changes:
938
939         - If MessageEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
940         When MessageEvent.data is called, the ScriptValue is returned.
941         - If MessageEvent is constructed with SerializedScriptValue, it is stored as
942         SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
943         at this point because of lack of ExecState). When MessageEvent.data is called,
944         the SerializedScriptValue is deserialized into the corresponding ScriptValue,
945         and the ScriptValue is returned.
946
947         This patch does not make a fix for ObjC bindings code, since we need to first fix
948         the bug 28774, as commented in dom/MessageEvent.h and dom/MessageEvent.cpp.
949
950         Test: fast/events/constructors/message-event-constructor.html
951
952         * bindings/js/JSMessageEventCustom.cpp:
953         (WebCore::JSMessageEvent::data): Custom getter for MessageEvent.data. Supported ScriptValue.
954         (WebCore::JSMessageEvent::initMessageEvent): Changed SerializedScriptValue to ScriptValue.
955         * bindings/v8/custom/V8MessageEventCustom.cpp:
956         (WebCore::V8MessageEvent::dataAccessorGetter): Custom getter for MessageEvent.data. Supported ScriptValue.
957         (WebCore::V8MessageEvent::portsAccessorGetter): Removed extra spaces.
958         (WebCore::V8MessageEvent::initMessageEventCallback): Changed SerializedScriptValue to ScriptValue.
959         * dom/MessageEvent.cpp:
960         (WebCore::MessageEvent::MessageEvent): Supported ScriptValue.
961         (WebCore::MessageEvent::initMessageEvent): Supported ScriptValue.
962         (WebCore::MessageEvent::isMessageEvent): Removed extra spaces.
963         * dom/MessageEvent.h: Added DataType::DataTypeScriptValue.
964         (WebCore::MessageEvent::create): Supported ScriptValue.
965         (WebCore::MessageEvent::dataAsScriptValue): Getter for data. Insert ASSERT() to guarantee that this accessor is not called for unintended type of data.
966         (WebCore::MessageEvent::dataAsSerializedScriptValue): Ditto.
967         (WebCore::MessageEvent::dataAsString): Ditto.
968         (WebCore::MessageEvent::dataAsBlob): Ditto.
969         (WebCore::MessageEvent::dataAsArrayBuffer): Ditto.
970         * dom/MessageEvent.idl: Changed SerializedScriptValue to DOMObject (i.e. ScriptValue). This patch does not touch an ObjC part.
971
972 2011-10-17  Shinya Kawanaka  <shinyak@google.com>
973
974         Unified spell-checking and legacy spell checking should be easy to switch
975         https://bugs.webkit.org/show_bug.cgi?id=69242
976
977         Reviewed by Hajime Morita.
978
979         WebCore has two different code paths for spell-checking:
980                   1) checkTextOfParagraph() for Snow Leopard or later
981                   2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
982
983         This patch introduces a flag to change code paths dynamically.
984         This patch also includes build fix for QT, GTK, and Windows platforms.
985
986         No new tests because this patch does not change a behavior.
987
988         * CMakeLists.txt:
989         * GNUmakefile.list.am:
990         * WebCore.pro:
991         * WebCore.vcproj/WebCore.vcproj:
992         * accessibility/AccessibilityObject.cpp:
993         (WebCore::AccessibilityObject::hasMisspelling):
994           Changed static if-USE(UNIFIED_TEXT_CHECKING) statement to dynamic
995           condition branch to achieve easy code path change.
996         * accessibility/mac/WebAccessibilityObjectWrapper.mm: ditto.
997         (AXAttributeStringSetSpelling):
998         * editing/EditingAllInOne.cpp:
999         * editing/Editor.cpp:
1000         (WebCore::Editor::advanceToNextMisspelling): ditto.
1001         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection): ditto.
1002         (WebCore::Editor::markMisspellingsAfterTypingToWord): ditto.
1003         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
1004         (WebCore::Editor::changeBackToReplacedString): ditto.
1005         (WebCore::Editor::markMisspellingsAndBadGrammar): ditto.
1006         (WebCore::Editor::unifiedTextCheckerEnabled):
1007           Utility method to check using unified text checking or not.
1008         * editing/Editor.h:
1009         * editing/TextCheckingHelper.cpp:
1010         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
1011           Same as WebCore::AccessibilityObject::hasMisspelling.
1012         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
1013         (WebCore::TextCheckingHelper::unifiedTextCheckerEnabled):
1014           Utility method to check using unified text checking or not.
1015         (WebCore::unifiedTextCheckerEnabled): ditto.
1016         * editing/TextCheckingHelper.h:
1017         * page/Settings.cpp:
1018         (WebCore::Settings::Settings):
1019           Includes a flag to change the code path.
1020         * page/Settings.h:
1021         (WebCore::Settings::setUnifiedTextCheckerEnabled):
1022           Sets a flag to change the code path.
1023         (WebCore::Settings::unifiedTextCheckerEnabled):
1024           A flag to change the code path.
1025
1026 2011-10-17  Julien Chaffraix  <jchaffraix@webkit.org>
1027
1028         Unreviewed build fix after 97691.
1029
1030         * html/HTMLTableCellElement.h:
1031         (WebCore::toHTMLTableCellElement): Avoid declaring the same function twice.
1032
1033 2011-10-12  Ojan Vafai  <ojan@chromium.org>
1034
1035         Unreviewed, rolling out r97661.
1036         http://trac.webkit.org/changeset/97661
1037
1038         Confirmed this patch was not the cause of the test failures.
1039
1040         display:inline-block elements don't correctly handle orthogonal writing-modes 
1041         https://bugs.webkit.org/show_bug.cgi?id=69957 
1042         
1043         Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode. 
1044         Instead, we need to grab the result based on the parent's writing-mode. 
1045         In the case of orthogonal writing-modes, we need the child's logical height. 
1046     
1047         Tests: fast/writing-mode/borders-expected.html 
1048                fast/writing-mode/borders.html 
1049         
1050         * rendering/RenderBlock.cpp: 
1051         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): 
1052
1053 2011-10-17  James Robinson  <jamesr@chromium.org>
1054
1055         Unreviewed, rolling out r97690.
1056         http://trac.webkit.org/changeset/97690
1057         https://bugs.webkit.org/show_bug.cgi?id=70161
1058
1059         Hits assertion in CCLayerTreeHostTests
1060
1061         * WebCore.gypi:
1062         * platform/graphics/chromium/cc/CCMainThread.h:
1063         * platform/graphics/chromium/cc/CCMainThreadTask.h:
1064         (WebCore::createMainThreadTask):
1065         * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Removed.
1066         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1067         (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit):
1068         (WebCore::CCThreadProxy::CCThreadProxy):
1069         (WebCore::CCThreadProxy::stop):
1070         * platform/graphics/chromium/cc/CCThreadProxy.h:
1071
1072 2011-10-17  Julien Chaffraix  <jchaffraix@webkit.org>
1073
1074         Remove colSpan / rowSpan caching from RenderTableCell
1075         https://bugs.webkit.org/show_bug.cgi?id=69569
1076
1077         Reviewed by Darin Adler.
1078
1079         Memory optimization, no change in behavior expected.
1080
1081         This change removes m_colSpan & m_rowSpan from RenderTableCell (inspired by
1082         kling's memory shaving effort).
1083
1084         This makes us save 8 bytes per RenderTableCell on my machine (x86-64). No slowdown
1085         on PageCycler Alexa-US.
1086
1087         This change refactored the way we handle updates from the DOM side to simplify
1088         the code using the following: colspan / rowspan updates always go through
1089         parseMappedAttribute where we already check for the renderer type. Thus removed the
1090         generic updateFromElement and replaced it with colSpanOrRowSpanChanged. This removes
1091         a virtual dispatch.
1092
1093         As there is no way to know if an attribute has changed in the parseMappedAttribute code,
1094         we now unconditionally call colSpanOrRowSpanChanged. Looking at Chromium's page data,
1095         colSpan and rowSpan are never changed outside the HTML markup thus such a change should
1096         have a limited impact.
1097
1098         * html/HTMLTableCellElement.cpp:
1099         (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated after updateFromElement
1100         removal.
1101
1102         * html/HTMLTableCellElement.h:
1103         (WebCore::toHTMLTableCellElement): Added the usual conversion functions.
1104
1105         * rendering/RenderTableCell.cpp:
1106         (WebCore::RenderTableCell::RenderTableCell): Added a boolean to know if we have
1107         the right type of associated DOM node to avoid the cost of checking that every
1108         time.
1109
1110         (WebCore::RenderTableCell::colSpan):
1111         (WebCore::RenderTableCell::rowSpan):
1112         Forwarded the calls to our object if we have the right type (normal case).
1113
1114         (WebCore::RenderTableCell::colSpanOrRowSpanChanged): Handles the
1115         updateFromElement calls but in a more streamlined way.
1116
1117         * rendering/RenderTableCell.h:
1118
1119 2011-10-17  James Robinson  <jamesr@chromium.org>
1120
1121         [chromium] Fix shutdown race when posting main thread task to CCThreadProxy and enable tests
1122         https://bugs.webkit.org/show_bug.cgi?id=70161
1123
1124         Reviewed by David Levin.
1125
1126         Adds a weak pointer mechanism to cancel main thread tasks posted to CCThreadProxy instances from the compositor
1127         thread. Previously there was a race condition where main thread tasks could run even after the CCThreadProxy was
1128         destroyed.
1129
1130         This race does not exist in the other direction because when tearing down a CCThreadProxy we first post a quit
1131         task to the compositor thread and then suspend execution of the main thread until all compositor tasks for the
1132         CCThreadProxy have been drained.
1133
1134         Covered by the now-enabled CCLayerTreeHostTest* unit tests.
1135
1136         * WebCore.gypi:
1137         * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Added.
1138         (WebCore::CCScopedMainThreadProxy::create):
1139         (WebCore::CCScopedMainThreadProxy::postTask):
1140         (WebCore::CCScopedMainThreadProxy::shutdown):
1141         (WebCore::CCScopedMainThreadProxy::CCScopedMainThreadProxy):
1142         (WebCore::CCScopedMainThreadProxy::runTaskIfNotShutdown):
1143         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1144         (WebCore::CCThreadProxy::CCThreadProxy):
1145         (WebCore::CCThreadProxy::~CCThreadProxy):
1146         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
1147         * platform/graphics/chromium/cc/CCThreadProxy.h:
1148
1149 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1150
1151         Unreviewed, rolling out r97641.
1152         http://trac.webkit.org/changeset/97641
1153         https://bugs.webkit.org/show_bug.cgi?id=70288
1154
1155         "This change may have broken mouse/hit-test coordinate tests."
1156         (Requested by jeffm7 on #webkit).
1157
1158         * platform/Widget.cpp:
1159         (WebCore::Widget::convertFromContainingWindow):
1160         (WebCore::Widget::convertToContainingWindow):
1161
1162 2011-10-17  Andreas Kling  <kling@webkit.org>
1163
1164         CSSParser: Remove unused variable 'propertyComponents'
1165         https://bugs.webkit.org/show_bug.cgi?id=70230
1166
1167         Reviewed by Darin Adler.
1168
1169         (WebCore::CSSParser::markPropertyEnd):
1170
1171 2011-10-17  Shawn Singh  <shawnsingh@chromium.org>
1172
1173         [chromium] Update comments about transform hierarchy in CCLayerTreeHostCommon
1174         https://bugs.webkit.org/show_bug.cgi?id=69765
1175
1176         Reviewed by James Robinson.
1177
1178         Only comments changed, no tests needed.
1179
1180         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1181         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1182
1183 2011-10-17  Dan Bernstein  <mitz@apple.com>
1184
1185         Remove unnecessary calls to columnRectAt()
1186         https://bugs.webkit.org/show_bug.cgi?id=70283
1187
1188         Reviewed by Darin Adler.
1189
1190         These call sites only needed one of the column dimensions, which are independent of the column
1191         index, and can be retrieved directly from the ColumnInfo.
1192
1193         * rendering/RenderBlock.cpp:
1194         (WebCore::RenderBlock::paintColumnRules):
1195         (WebCore::RenderBlock::hitTestColumns):
1196
1197 2011-10-17  Andreas Kling  <kling@webkit.org>
1198
1199         Protect against incorrect Element::fast*Attribute() usage.
1200         https://bugs.webkit.org/show_bug.cgi?id=67612
1201
1202         Reviewed by Darin Adler.
1203
1204         Add debug-only checks in Element's fastHasAttribute() and fastGetAttribute() to verify
1205         that we aren't looking up the "style" attribute or any of the SVG animatable attributes.
1206
1207         No new tests, erroneous behavior is covered by assertions.
1208
1209         * WebCore.exp.in: Export Element::fastAttributeLookupAllowed() for debug builds
1210         since it's used by the inline fast*Attribute() calls.
1211         * css/CSSStyleSelector.cpp:
1212         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use getAttribute() for class.
1213         * css/SelectorChecker.cpp:
1214         (WebCore::linkAttribute): Use getAttribute() for xlink:href.
1215         * dom/Element.cpp:
1216         (WebCore::Element::getAttribute): Manually inline fastGetAttribute() in ideal case.
1217         (WebCore::Element::fastAttributeLookupAllowed): Checks if an attribute can be used
1218         with the fast lookup functions.
1219         * dom/Element.h:
1220         (WebCore::Element::fastHasAttribute): Add assertion.
1221         (WebCore::Element::fastGetAttribute): Ditto.
1222         * editing/ApplyStyleCommand.cpp:
1223         (WebCore::hasNoAttributeOrOnlyStyleAttribute): Use getAttribute() for class.
1224         * editing/ReplaceSelectionCommand.cpp:
1225         (WebCore::isInlineNodeWithStyle): Ditto.
1226         * html/ClassList.cpp:
1227         (WebCore::ClassList::ClassList): Ditto.
1228         (WebCore::ClassList::addInternal): Ditto.
1229         (WebCore::ClassList::removeInternal): Ditto.
1230         (WebCore::ClassList::toString): Ditto.
1231         * svg/SVGAltGlyphElement.cpp:
1232         (WebCore::SVGAltGlyphElement::hasValidGlyphElements): Use getAttribute() for xlink:href.
1233         * svg/SVGAnimateMotionElement.cpp:
1234         (WebCore::SVGAnimateMotionElement::rotateMode): Use getAttribute() for rotate.
1235         * svg/SVGAnimationElement.cpp:
1236         (WebCore::SVGAnimationElement::animationMode): Use getAttribute() for values.
1237         * svg/SVGElement.cpp:
1238         (WebCore::SVGElement::isAnimatableAttribute): Added, returns true if the given
1239         QualifiedName represents an animatable attribute.
1240         * svg/SVGElement.h:
1241         * svg/SVGFontFaceUriElement.cpp:
1242         (WebCore::SVGFontFaceUriElement::srcValue): Use getAttribute() for xlink:href.
1243         (WebCore::SVGFontFaceUriElement::loadFont): Ditto.
1244         * svg/animation/SVGSMILElement.cpp:
1245         (WebCore::SVGSMILElement::xlinkHref): Ditto.
1246         * svg/SVGGlyphRefElement.cpp:
1247         (WebCore::SVGGlyphRefElement::hasValidGlyphElement): Ditto.
1248         * svg/SVGStyleElement.cpp:
1249         (WebCore::SVGStyleElement::type): Use getAttribute() for type.
1250
1251 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
1252
1253         AX: buttons of number type <input> controls are not fully accessible
1254         https://bugs.webkit.org/show_bug.cgi?id=70241
1255
1256         Expose the spin button object to the AX hierarchy. Since there is no distinct
1257         render object that backs this object, a mock object needs to be created for the entire
1258         spin button and the actual increment and decrement buttons inside.
1259
1260         Reviewed by Darin Adler.
1261
1262         Test: platform/mac/accessibility/html5-input-number.html
1263
1264         * CMakeLists.txt:
1265         * GNUmakefile.list.am:
1266         * WebCore.gypi:
1267         * WebCore.pro:
1268         * WebCore.vcproj/WebCore.vcproj:
1269         * WebCore.xcodeproj/project.pbxproj:
1270         * accessibility/AXObjectCache.cpp:
1271         (WebCore::AXObjectCache::getOrCreate):
1272         * accessibility/AccessibilityMockObject.cpp:
1273         (WebCore::AccessibilityMockObject::AccessibilityMockObject):
1274         * accessibility/AccessibilityMockObject.h:
1275         (WebCore::AccessibilityMockObject::isMockObject):
1276         * accessibility/AccessibilityObject.cpp:
1277         (WebCore::AccessibilityObject::boundingBoxForQuads):
1278         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
1279         * accessibility/AccessibilityObject.h:
1280         (WebCore::AccessibilityObject::isSpinButton):
1281         (WebCore::AccessibilityObject::isSpinButtonPart):
1282         (WebCore::AccessibilityObject::isMockObject):
1283         * accessibility/AccessibilityRenderObject.cpp:
1284         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1285         (WebCore::AccessibilityRenderObject::addImageMapChildren):
1286         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
1287         (WebCore::AccessibilityRenderObject::addChildren):
1288         * accessibility/AccessibilityRenderObject.h:
1289         * accessibility/AccessibilitySpinButton.cpp: Added.
1290         (WebCore::AccessibilitySpinButton::create):
1291         (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
1292         (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
1293         (WebCore::AccessibilitySpinButton::incrementButton):
1294         (WebCore::AccessibilitySpinButton::decrementButton):
1295         (WebCore::AccessibilitySpinButton::elementRect):
1296         (WebCore::AccessibilitySpinButton::addChildren):
1297         (WebCore::AccessibilitySpinButton::step):
1298         (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
1299         (WebCore::AccessibilitySpinButtonPart::create):
1300         (WebCore::AccessibilitySpinButtonPart::elementRect):
1301         (WebCore::AccessibilitySpinButtonPart::press):
1302         * accessibility/AccessibilitySpinButton.h: Added.
1303         (WebCore::AccessibilitySpinButton::setSpinButtonElement):
1304         (WebCore::AccessibilitySpinButton::roleValue):
1305         (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
1306         (WebCore::AccessibilitySpinButton::isSpinButton):
1307         (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
1308         (WebCore::AccessibilitySpinButtonPart::isIncrementor):
1309         (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
1310         (WebCore::AccessibilitySpinButtonPart::roleValue):
1311         (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
1312         (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
1313         (WebCore::toAccessibilitySpinButton):
1314         (WebCore::toAccessibilitySpinButtonPart):
1315         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1316         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
1317         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1318         (-[WebAccessibilityObjectWrapper subrole]):
1319         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1320         * html/shadow/TextControlInnerElements.cpp:
1321         (WebCore::SpinButtonElement::step):
1322         (WebCore::SpinButtonElement::repeatingTimerFired):
1323         * html/shadow/TextControlInnerElements.h:
1324
1325 2011-10-17  Dmitry Titov  <dimich@chromium.org>
1326
1327         Re-landing: window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
1328         https://bugs.webkit.org/show_bug.cgi?id=70147
1329
1330         Reviewed by David Levin.
1331
1332         I only found a way to test this manually, since Chromium TestShell uses static instance
1333         of NotificationPresenter instead of per-page one so the issue does not reproduce.
1334         Adding manual test that works in full build of Chromium.
1335
1336         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
1337         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
1338         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
1339         * notifications/NotificationCenter.cpp:
1340         (WebCore::NotificationCenter::disconnectFrame):
1341         * page/DOMWindow.cpp:
1342         (WebCore::DOMWindow::resetNotifications):
1343         * page/DOMWindow.h:
1344         * page/Frame.cpp:
1345         (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
1346
1347 2011-10-17  Arno Renevier  <arno@renevier.net>
1348
1349         quote "attributes" keyword in CodeGeneratorGObject.pm
1350         https://bugs.webkit.org/show_bug.cgi?id=64348
1351
1352         Reviewed by Darin Adler.
1353
1354         No change of functionality. No new tests.
1355
1356         * bindings/scripts/CodeGeneratorGObject.pm:
1357
1358 2011-10-17  Ojan Vafai  <ojan@chromium.org>
1359
1360         Unreviewed, rolling out r97654.
1361         http://trac.webkit.org/changeset/97654
1362         https://bugs.webkit.org/show_bug.cgi?id=68497
1363
1364         Caused a number of Chromium failures.
1365
1366         * rendering/RenderBox.cpp:
1367         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
1368
1369 2011-10-17  Ojan Vafai  <ojan@chromium.org>
1370
1371         Unreviewed, rolling out r97653.
1372         http://trac.webkit.org/changeset/97653
1373         https://bugs.webkit.org/show_bug.cgi?id=69957
1374
1375         Caused a number of Chromium failures.
1376
1377         * rendering/RenderBlock.cpp:
1378         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
1379
1380 2011-10-17  Rafael Weinstein  <rafaelw@chromium.org>
1381
1382         [MutationObservers] Implement WebKitMutationObserver.observe for attributes
1383         https://bugs.webkit.org/show_bug.cgi?id=68956
1384
1385         Reviewed by Ryosuke Niwa.
1386
1387         Test: fast/mutation/observe-attributes.html
1388
1389         This adds an initial implementation for registering mutation observers on nodes,
1390         delivering mutation records at the end of the outer-most script invokation and
1391         observing mutations to element attributes.
1392
1393         Note that the outer-most script invokation only works in V8.
1394
1395         Note also that support for observing changes to the style attribute when updated
1396         via the style property is not implemented here.
1397
1398         * bindings/v8/V8Proxy.cpp:
1399         (WebCore::V8Proxy::didLeaveScriptContext):
1400         * dom/Element.cpp:
1401         (WebCore::enqueueAttributesMutationRecord):
1402         (WebCore::Element::setAttribute):
1403         * dom/MutationRecord.cpp:
1404         (WebCore::MutationRecord::createAttributes):
1405         * dom/MutationRecord.h:
1406         * dom/MutationRecord.idl:
1407         * dom/Node.cpp:
1408         (WebCore::Node::clearRareData):
1409         (WebCore::Node::mutationObserverData):
1410         (WebCore::Node::ensureMutationObserverData):
1411         (WebCore::Node::registeredMutationObserversOfType):
1412         (WebCore::Node::registerMutationObserver):
1413         (WebCore::Node::deregisterMutationObserver):
1414         * dom/Node.h:
1415         * dom/NodeRareData.h:
1416         (WebCore::MutationObserverRegistration::MutationObserverRegistration):
1417         (WebCore::MutationObserverRegistration::operator==):
1418         (WebCore::MutationObserverData::MutationObserverData):
1419         (WebCore::MutationObserverData::~MutationObserverData):
1420         (WebCore::NodeRareData::mutationObserverData):
1421         (WebCore::NodeRareData::ensureMutationObserverData):
1422         * dom/WebKitMutationObserver.cpp:
1423         (WebCore::WebKitMutationObserver::observe):
1424         (WebCore::WebKitMutationObserver::disconnect):
1425         (WebCore::WebKitMutationObserver::wasDeregistered):
1426         (WebCore::activeMutationObservers):
1427         (WebCore::WebKitMutationObserver::enqueueMutationRecord):
1428         (WebCore::WebKitMutationObserver::deliverAllMutations):
1429         (WebCore::WebKitMutationObserver::deliver):
1430         * dom/WebKitMutationObserver.h:
1431
1432 2011-10-17  Andreas Kling  <kling@webkit.org>
1433
1434         HTMLKeygenElement: Don't cache keytype and challenge attributes.
1435         https://bugs.webkit.org/show_bug.cgi?id=68365
1436
1437         Reviewed by Darin Adler.
1438
1439         * html/HTMLKeygenElement.cpp:
1440         (WebCore::HTMLKeygenElement::parseMappedAttribute):
1441         (WebCore::HTMLKeygenElement::appendFormData):
1442         * html/HTMLKeygenElement.h:
1443
1444 2011-09-22  Ojan Vafai  <ojan@chromium.org>
1445
1446         incorrect height with height:auto and writing-mode:vertical-rl
1447         https://bugs.webkit.org/show_bug.cgi?id=68497
1448
1449         Reviewed by David Hyatt.
1450
1451         * rendering/RenderBox.cpp:
1452         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
1453
1454 2011-10-12  Ojan Vafai  <ojan@chromium.org>
1455
1456         display:inline-block elements don't correctly handle orthogonal writing-modes
1457         https://bugs.webkit.org/show_bug.cgi?id=69957
1458
1459         Reviewed by David Hyatt.
1460
1461         Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode.
1462         Instead, we need to grab the result based on the parent's writing-mode.
1463         In the case of orthogonal writing-modes, we need the child's logical height.
1464
1465         Tests: fast/writing-mode/borders-expected.html
1466                fast/writing-mode/borders.html
1467
1468         * rendering/RenderBlock.cpp:
1469         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
1470
1471 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1472
1473         Unreviewed, rolling out r97643.
1474         http://trac.webkit.org/changeset/97643
1475         https://bugs.webkit.org/show_bug.cgi?id=70270
1476
1477         Broke iframe reparenting tests (Requested by dimich on
1478         #webkit).
1479
1480         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Removed.
1481         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Removed.
1482         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Removed.
1483         * notifications/NotificationCenter.cpp:
1484         (WebCore::NotificationCenter::disconnectFrame):
1485         * page/DOMWindow.cpp:
1486         (WebCore::DOMWindow::webkitNotifications):
1487         * page/DOMWindow.h:
1488         * page/Frame.cpp:
1489         (WebCore::Frame::transferChildFrameToNewDocument):
1490
1491 2011-10-17  Dmitry Titov  <dimich@chromium.org>
1492
1493         window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
1494         https://bugs.webkit.org/show_bug.cgi?id=70147
1495
1496         Reviewed by David Levin.
1497
1498         I only found a way to test this manually, since Chromium TestShell uses static instance
1499         of NotificationPresenter instead of per-page one so the issue does not reproduce.
1500         Adding manual test that works in full build of Chromium.
1501
1502         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
1503         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
1504         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
1505         * notifications/NotificationCenter.cpp:
1506         (WebCore::NotificationCenter::disconnectFrame):
1507         * page/DOMWindow.cpp:
1508         (WebCore::DOMWindow::resetNotifications):
1509         * page/DOMWindow.h:
1510         * page/Frame.cpp:
1511         (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
1512
1513 2011-10-17  Jeff Miller  <jeffm@apple.com>
1514
1515         Widget window coordinate functions should use root view coordinate functions
1516         https://bugs.webkit.org/show_bug.cgi?id=70152
1517
1518         Reviewed by Darin Adler.
1519
1520         No new tests, no changes to functionality.
1521
1522         * platform/Widget.cpp:
1523         (WebCore::Widget::convertFromContainingWindow): Use convertFromRootView().
1524         (WebCore::Widget::convertToContainingWindow): Use convertToRootView().
1525
1526 2011-10-14  Chris Marrin  <cmarrin@apple.com>
1527
1528         Throttle rate of requestAnimationFrame when page is not visible
1529         https://bugs.webkit.org/show_bug.cgi?id=67873
1530
1531         Reviewed by Anders Carlsson.
1532
1533         Add logic to suspend and resume scripted animations when page is hidden,
1534         minimized or the tab is not visible. The hide/minimize notification comes
1535         in from WebKit/WebKit2 to a new set of functions.
1536
1537         * WebCore.exp.in:
1538         * page/Page.cpp:
1539         (WebCore::Page::didMoveOnscreen):
1540         (WebCore::Page::willMoveOffscreen):
1541         (WebCore::Page::suspendScriptedAnimations):
1542         (WebCore::Page::resumeScriptedAnimations):
1543         * page/Page.h:
1544
1545 2011-10-17  Antti Koivisto  <antti@apple.com>
1546
1547         https://bugs.webkit.org/show_bug.cgi?id=69966
1548         Eliminate separate RenderStyle for visited link style
1549
1550         Reviewed by Dave Hyatt and Nikolas Zimmermann.
1551
1552         There are only a few properties that can apply to visited links and they can
1553         be part of the regular style. Many things will get simpler when the separate 
1554         RenderStyle for visited links is eliminated.
1555         
1556         - Add valid visited link properties as separate fields to RenderStyle. The  
1557           visitedLinkColor goes to inherited, everything else goes to rare data structures.
1558         - Make RenderStyle::visitedDependentColor() get the visited style from the new fields.
1559         - As VISITED_LINK pseudo style doesn't exists anymore, remove all code dealing with it.
1560         - Make CSSStyleSelector and ApplyPropertyColor apply the visited link style to the
1561           newly added fields instead of a separate RenderStyle.
1562         - Same thing with SVGRenderStyle, SVGCSSStyleSelector.
1563         - Fixup the SVG visited link style code to use the new fields.
1564
1565         This is ~15% progression in styleForElement performance over the HTML5 spec load.
1566
1567         * css/CSSStyleApplyProperty.cpp:
1568         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
1569         (WebCore::ApplyPropertyColor::applyInheritValue):
1570         (WebCore::ApplyPropertyColor::applyInitialValue):
1571         (WebCore::ApplyPropertyColor::applyValue):
1572         (WebCore::ApplyPropertyColor::applyColorValue):
1573         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1574         * css/CSSStyleSelector.cpp:
1575         (WebCore::CSSStyleSelector::CSSStyleSelector):
1576         (WebCore::CSSStyleSelector::styleForElement):
1577         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1578         (WebCore::CSSStyleSelector::updateFont):
1579         (WebCore::CSSStyleSelector::applyDeclaration):
1580         (WebCore::CSSStyleSelector::applyDeclarations):
1581         (WebCore::CSSStyleSelector::applyProperty):
1582         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
1583         * css/CSSStyleSelector.h:
1584         (WebCore::CSSStyleSelector::applyPropertyToRegularStyle):
1585         (WebCore::CSSStyleSelector::applyPropertyToVisitedLinkStyle):
1586         * css/SVGCSSStyleSelector.cpp:
1587         (WebCore::CSSStyleSelector::applySVGProperty):
1588         * dom/Element.cpp:
1589         (WebCore::Element::pseudoStyleCacheIsInvalid):
1590         * rendering/style/RenderStyle.cpp:
1591         (WebCore::RenderStyle::getCachedPseudoStyle):
1592         (WebCore::RenderStyle::colorIncludingFallback):
1593         (WebCore::RenderStyle::visitedDependentColor):
1594         * rendering/style/RenderStyle.h:
1595         (WebCore::InheritedFlags::setVisitedLinkColor):
1596         (WebCore::InheritedFlags::setVisitedLinkBackgroundColor):
1597         (WebCore::InheritedFlags::setVisitedLinkBorderLeftColor):
1598         (WebCore::InheritedFlags::setVisitedLinkBorderRightColor):
1599         (WebCore::InheritedFlags::setVisitedLinkBorderBottomColor):
1600         (WebCore::InheritedFlags::setVisitedLinkBorderTopColor):
1601         (WebCore::InheritedFlags::setVisitedLinkOutlineColor):
1602         (WebCore::InheritedFlags::setVisitedLinkColumnRuleColor):
1603         (WebCore::InheritedFlags::setVisitedLinkTextEmphasisColor):
1604         (WebCore::InheritedFlags::setVisitedLinkTextFillColor):
1605         (WebCore::InheritedFlags::setVisitedLinkTextStrokeColor):
1606         * rendering/style/RenderStyleConstants.h:
1607         * rendering/style/SVGRenderStyle.h:
1608         (WebCore::SVGRenderStyle::setVisitedLinkFillPaint):
1609         (WebCore::SVGRenderStyle::setVisitedLinkStrokePaint):
1610         (WebCore::SVGRenderStyle::visitedLinkFillPaintType):
1611         (WebCore::SVGRenderStyle::visitedLinkFillPaintColor):
1612         (WebCore::SVGRenderStyle::visitedLinkStrokePaintType):
1613         (WebCore::SVGRenderStyle::visitedLinkStrokePaintColor):
1614         * rendering/style/SVGRenderStyleDefs.cpp:
1615         (WebCore::StyleFillData::StyleFillData):
1616         (WebCore::StyleFillData::operator==):
1617         (WebCore::StyleStrokeData::StyleStrokeData):
1618         (WebCore::StyleStrokeData::operator==):
1619         * rendering/style/SVGRenderStyleDefs.h:
1620         * rendering/style/StyleInheritedData.cpp:
1621         (WebCore::StyleInheritedData::StyleInheritedData):
1622         (WebCore::StyleInheritedData::operator==):
1623         * rendering/style/StyleInheritedData.h:
1624         * rendering/style/StyleMultiColData.cpp:
1625         (WebCore::StyleMultiColData::StyleMultiColData):
1626         (WebCore::StyleMultiColData::operator==):
1627         * rendering/style/StyleMultiColData.h:
1628         * rendering/style/StyleRareInheritedData.cpp:
1629         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
1630         (WebCore::StyleRareInheritedData::operator==):
1631         * rendering/style/StyleRareInheritedData.h:
1632         * rendering/style/StyleRareNonInheritedData.cpp:
1633         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1634         (WebCore::StyleRareNonInheritedData::operator==):
1635         * rendering/style/StyleRareNonInheritedData.h:
1636         * rendering/svg/RenderSVGResource.cpp:
1637         (WebCore::requestPaintingResource):
1638
1639 2011-10-17  Eric Carlson  <eric.carlson@apple.com>
1640
1641         Cues should be loaded by the cached resource loader
1642         https://bugs.webkit.org/show_bug.cgi?id=70134
1643
1644         Reviewed by Darin Adler.
1645
1646         No new tests, changes covered by existing tests.
1647
1648         * CMakeLists.txt: Add CachedCues.cpp/h.
1649         * GNUmakefile.list.am: Ditto.
1650         * WebCore.gypi: Ditto.
1651         * WebCore.xcodeproj/project.pbxproj: Ditto.
1652
1653         * loader/cache/CachedCues.cpp: Added.
1654         (WebCore::CachedCues::CachedCues):
1655         (WebCore::CachedCues::~CachedCues):
1656         (WebCore::CachedCues::data): Called when new data has been loaded, pass it to all registered
1657             clients.
1658         * loader/cache/CachedCues.h: Added.
1659
1660         * loader/cache/CachedResource.cpp:
1661         (WebCore::defaultPriorityForResourceType): Cues have low loader priority.
1662         * loader/cache/CachedResource.h:
1663
1664         * loader/cache/CachedResourceClient.h:
1665         (WebCore::CachedResourceClient::didReceiveData): New client interface.
1666
1667         * loader/cache/CachedResourceLoader.cpp:
1668         (WebCore::createResource): Create and return a new cue loader.
1669         (WebCore::CachedResourceLoader::requestCues):
1670         (WebCore::CachedResourceLoader::checkInsecureContent): Cues aren't mentioned in the CPS spec
1671             yet, but they only work with a media element so use the mdia policy.
1672         (WebCore::CachedResourceLoader::canRequest): Allow cues to be loaded from any origin like media.
1673         * loader/cache/CachedResourceLoader.h:
1674
1675         * loader/cache/CachedResourceRequest.cpp:
1676         (WebCore::cachedResourceTypeToTargetType):
1677         * platform/network/chromium/ResourceRequest.h:
1678
1679 2011-10-17  Dan Bernstein  <mitz@apple.com>
1680
1681         <rdar://problem/10293929> REGRESSION (r97525): iChat transcript has horizontal scroll bar when the conversation includes a wide image
1682         https://bugs.webkit.org/show_bug.cgi?id=70204
1683
1684         Reviewed by Darin Adler.
1685
1686         Reverted r97525, which was supposed to fix <http://webkit.org/b/29447>.
1687
1688         * rendering/RenderBox.cpp:
1689         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1690         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1691         * rendering/RenderBox.h:
1692
1693 2011-10-17  Ada Chan  <adachan@apple.com>
1694
1695         Export KURL::baseAsString() so it can be called in WebProcessProxy::assumeReadAccessToBaseURL() in WebKit2.
1696         https://bugs.webkit.org/show_bug.cgi?id=70168
1697
1698         Reviewed by Alexey Proskuryakov.
1699
1700         No new tests. There is no change in functionality.
1701
1702         * WebCore.exp.in: Export KURL::baseAsString().
1703
1704 2011-10-17  Ryosuke Niwa  <rniwa@webkit.org>
1705
1706         Touch Internals.cpp to make 64-bit GTK+ build happy.
1707
1708         * testing/Internals.cpp:
1709
1710 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
1711
1712         AX: children() method should be consolidated in AccessibilityObject
1713         https://bugs.webkit.org/show_bug.cgi?id=70243
1714
1715         Code cleanup, no new tests.
1716
1717         Reviewed by Darin Adler.
1718
1719         * accessibility/AccessibilityObject.cpp:
1720         (WebCore::AccessibilityObject::children):
1721         * accessibility/AccessibilityObject.h:
1722         * accessibility/AccessibilityRenderObject.cpp:
1723         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
1724         * accessibility/AccessibilityRenderObject.h:
1725         * accessibility/AccessibilityScrollView.cpp:
1726         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
1727         (WebCore::AccessibilityScrollView::updateScrollbars):
1728         (WebCore::AccessibilityScrollView::addChildren):
1729         * accessibility/AccessibilityScrollView.h:
1730         * accessibility/AccessibilitySlider.cpp:
1731         * accessibility/AccessibilitySlider.h:
1732         * accessibility/AccessibilityTableColumn.cpp:
1733         * accessibility/AccessibilityTableColumn.h:
1734         * accessibility/AccessibilityTableHeaderContainer.cpp:
1735         * accessibility/AccessibilityTableHeaderContainer.h:
1736
1737 2011-10-17  Vsevolod Vlasov  <vsevik@chromium.org>
1738
1739         Web Inspector: Search matches highlighting in text does not work correctly.
1740         https://bugs.webkit.org/show_bug.cgi?id=70244
1741
1742         Reviewed by Pavel Feldman.
1743
1744         Test: inspector/utilities-highlight-results.html
1745
1746         * inspector/front-end/utilities.js:
1747         ():
1748
1749 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
1750
1751         AX: webkit won't always send live region notifications
1752         https://bugs.webkit.org/show_bug.cgi?id=70030
1753
1754         Webkit purposefully does not send live region notifications if some AT client has not accessed the AX tree in between 
1755         the last live region update (ostensibly to improve performance).
1756         However, this is problematic if a screen reader misses one notification... it has no idea what happened and the only 
1757         recourse is to rescan the page for changes. The correct thing to do is to always send notifications.
1758
1759         Reviewed by Darin Adler.
1760
1761         Test: platform/mac/accessibility/aria-liveregions-notifications-always-sent.html
1762
1763         * accessibility/AccessibilityRenderObject.cpp:
1764         (WebCore::AccessibilityRenderObject::childrenChanged):
1765
1766 2011-10-12  Pavel Podivilov  <podivilov@chromium.org>
1767
1768         Web Inspector: fix handling of source mapping entries with no mapping.
1769         https://bugs.webkit.org/show_bug.cgi?id=69941
1770
1771         Reviewed by Pavel Feldman.
1772
1773         * inspector/front-end/CompilerSourceMapping.js:
1774         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
1775
1776 2011-10-17  Mikhail Naganov  <mnaganov@chromium.org>
1777
1778         Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
1779         https://bugs.webkit.org/show_bug.cgi?id=61179
1780
1781         This is exteremely helpful when dealing with DOM wrappers, as
1782         their properties are mostly implemented with getters and thus not
1783         stored in heap snapshots.
1784
1785         Reviewed by Pavel Feldman.
1786
1787         * English.lproj/localizedStrings.js:
1788         * bindings/js/ScriptProfiler.cpp:
1789         (WebCore::ScriptProfiler::objectByHeapObjectId):
1790         * bindings/js/ScriptProfiler.h:
1791         * bindings/v8/ScriptProfiler.cpp:
1792         (WebCore::ScriptProfiler::objectByHeapObjectId):
1793         * bindings/v8/ScriptProfiler.h:
1794         * inspector/Inspector.json:
1795         * inspector/InspectorController.cpp:
1796         (WebCore::InspectorController::InspectorController):
1797         * inspector/InspectorProfilerAgent.cpp:
1798         (WebCore::InspectorProfilerAgent::create):
1799         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1800         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
1801         * inspector/InspectorProfilerAgent.h:
1802         * inspector/front-end/DetailedHeapshotGridNodes.js:
1803         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
1804         (WebInspector.HeapSnapshotGenericObjectNode):
1805         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1806         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
1807         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
1808         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
1809         * inspector/front-end/DetailedHeapshotView.js:
1810         (WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
1811         * inspector/front-end/HeapSnapshot.js:
1812         (WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
1813         (WebInspector.HeapSnapshotNode.prototype.get flags):
1814         (WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
1815         (WebInspector.HeapSnapshot.prototype._init):
1816         (WebInspector.HeapSnapshot.prototype.dispose):
1817         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
1818         (WebInspector.HeapSnapshot.prototype._calculateFlags):
1819         (WebInspector.HeapSnapshot.prototype.updateStaticData):
1820         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
1821         * inspector/front-end/HeapSnapshotProxy.js:
1822         (WebInspector.HeapSnapshotProxy.prototype.get nodeFlags):
1823         * inspector/front-end/RemoteObject.js:
1824         (WebInspector.RemoteObject.fromError):
1825         * inspector/front-end/heapProfiler.css:
1826         (.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight):
1827
1828 2011-10-17  Alexander Pavlov  <apavlov@chromium.org>
1829
1830         Web Inspector: Editing CSS selector doesn't fire onResourceContentCommitted
1831         https://bugs.webkit.org/show_bug.cgi?id=70018
1832
1833         Reviewed by Yury Semikhatsky.
1834
1835         Test: inspector/styles/commit-selector.html
1836
1837         * inspector/front-end/CSSStyleModel.js:
1838         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
1839         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1840
1841 2011-10-17  Andreas Kling  <kling@webkit.org>
1842
1843         CSS/XSLStyleSheet: Remove insert() and remove().
1844         https://bugs.webkit.org/show_bug.cgi?id=70226
1845
1846         Reviewed by Antti Koivisto.
1847
1848         Remove insert() and remove() from XSLStyleSheet. CSSStyleSheet retains remove()
1849         since it's used by InspectorStyleSheet as well as SVGFontFaceElement.
1850
1851         * css/CSSStyleSheet.cpp:
1852         (WebCore::CSSStyleSheet::remove):
1853
1854             Remove range check. This method is internal to WebKit and the call sites
1855             already take care of it.
1856
1857         (WebCore::CSSStyleSheet::insertRule):
1858         (WebCore::CSSStyleSheet::deleteRule):
1859         * css/CSSStyleSheet.h:
1860         * xml/XSLStyleSheet.h:
1861
1862 2011-10-17  Rosen Dash  <rosen.dash@motorola.com>
1863
1864         when CSS pseudo selectors are applied (:before and :after) the *-of-line keyboard navigation does not work
1865         https://bugs.webkit.org/show_bug.cgi?id=10123
1866
1867         Reviewed by Ryosuke Niwa.
1868
1869         This patch addresses folllowing two issues:
1870         1. When CSS pseudo elements are before or after is used with content attribute containing single character
1871            at the start/end of text and we try to move cursor by right navigation key, the page freezes falling
1872            into an infinite loop.
1873         2. When these elements try to insert some text between a text line, navigation by right/left arrow key is prohibited.
1874
1875         Tests: editing/selection/css-pseudo-element-hang.html
1876                editing/selection/css-pseudo-element.html
1877
1878         * editing/VisiblePosition.cpp:
1879         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
1880         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
1881
1882 2011-10-15  Antti Koivisto  <antti@apple.com>
1883
1884         Test :visited pseudo class
1885         https://bugs.webkit.org/show_bug.cgi?id=70219
1886
1887         Reviewed by Andreas Kling.
1888         
1889         Currently DRT doesn't support :visited. All tests where it should match have wrong checked in results.
1890         
1891         - Make <a href=""> to match :visited in DRT. It already does on browsers. A number of existing tests 
1892           for :visited use it already, the rest can be modified to use it.
1893         - Make render tree dumps correctly dump the visited state dependent color.
1894
1895         * css/SelectorChecker.cpp:
1896         (WebCore::SelectorChecker::determineLinkStateSlowCase):
1897         * rendering/RenderTreeAsText.cpp:
1898         (WebCore::RenderTreeAsText::writeRenderObject):
1899
1900 2011-10-17  Satish Sampath  <satish@chromium.org>
1901
1902         Avoid leaking document when leaving google.com due to geolocation
1903         permission request.
1904         https://bugs.webkit.org/show_bug.cgi?id=58027
1905
1906         Reviewed by Kenneth Rohde Christiansen.
1907
1908         * page/Geolocation.cpp:
1909         (WebCore::Geolocation::Watchers::find): added
1910         (WebCore::Geolocation::reset): cleared all pending notifiers.
1911         (WebCore::Geolocation::clearWatch): removed from pending notifier set.
1912         * page/Geolocation.h:
1913         (WebCore::Geolocation::Watchers::find): added
1914
1915 2011-10-17  Andrei Lavreniyuk  <andy.lavr@gmail.com>
1916
1917         Fix clang WebKitGTK+ build.
1918
1919         Reviewed by Martin Robinson.
1920
1921         * plugins/gtk/PluginViewGtk.cpp:
1922
1923 2011-10-16  Adam Barth  <abarth@webkit.org>
1924
1925         Always disable ENABLE(ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL) and delete associated code
1926         https://bugs.webkit.org/show_bug.cgi?id=70216
1927
1928         Reviewed by Eric Seidel.
1929
1930         No port enables this feature.  It was added for the previous Android
1931         port (and should have been an editing behavior in any case).
1932
1933         * html/HTMLTextAreaElement.cpp:
1934         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1935
1936 2011-10-16  Ryosuke Niwa  <rniwa@webkit.org>
1937
1938         Expose rangeFromLocationAndLength and locationAndLengthFromRange via internals object
1939         https://bugs.webkit.org/show_bug.cgi?id=68330
1940
1941         Reviewed by Hajime Morita.
1942
1943         Add rangeFromLocationAndLength, locationFromRange, and lengthFromRange to window.internals.
1944
1945         Test: editing/text-iterator/range-to-from-location-and-length.html
1946
1947         * WebCore.exp.in:
1948         * testing/Internals.cpp:
1949         (WebCore::Internals::scrollElementToRect):
1950         (WebCore::Internals::rangeFromLocationAndLength):
1951         (WebCore::Internals::locationFromRange):
1952         (WebCore::Internals::lengthFromRange):
1953         * testing/Internals.h:
1954         * testing/Internals.idl:
1955
1956 2011-10-16  Kentaro Hara  <haraken@chromium.org>
1957
1958         Generate MessageChannel constructor by [Constructor] IDL
1959         https://bugs.webkit.org/show_bug.cgi?id=70214
1960
1961         Reviewed by Adam Barth.
1962
1963         This patch generates an MessageChannel constructor for JSC by [Constructor] IDL,
1964         but V8 is still using a custom constructor since the V8 constructor requires special logic.
1965
1966         Tests: fast/dom/global-constructors.html
1967                fast/events/message-port.html
1968                fast/events/message-port-no-wrapper.html
1969                fast/dom/Window/window-postmessage-args.html
1970
1971         * bindings/js/JSMessageChannelCustom.cpp: Removed the MessageChannel constructor.
1972         * dom/MessageChannel.idl: Generates the MessageChannel constructor for JSC.
1973
1974 2011-10-16  Ryosuke Niwa  <rniwa@webkit.org>
1975
1976         [Mac] fontForSelection and styleForSelectionStart should be moved to EditorMac
1977         https://bugs.webkit.org/show_bug.cgi?id=70114
1978
1979         Reviewed by Hajime Morita.
1980
1981         Moved fontForSelection and styleForSelectionStart from Editor to EditorMac
1982         and made styleForSelectionStart static local.
1983
1984         * editing/Editor.cpp:
1985         * editing/Editor.h:
1986         * editing/mac/EditorMac.mm:
1987         (WebCore::styleForSelectionStart):
1988         (WebCore::Editor::fontForSelection):
1989         (WebCore::Editor::fontAttributesForSelectionStart):
1990
1991 2011-10-16  Kentaro Hara  <haraken@chromium.org>
1992
1993         Generate EventSource constructor for JSC by [Constructor] IDL
1994         https://bugs.webkit.org/show_bug.cgi?id=70212
1995
1996         Reviewed by Adam Barth.
1997
1998         Removed JSEventSourceCustom.cpp.
1999
2000         Tests: fast/dom/global-constructors.html
2001                fast/eventsource/eventsource-constructor.html
2002                fast/eventsource/eventsource-attribute-listeners.html
2003
2004         * GNUmakefile.list.am: Removed JSEventSourceCustom.cpp.
2005         * UseJSC.cmake: Ditto.
2006         * WebCore.gypi: Ditto.
2007         * WebCore.pro: Ditto.
2008         * WebCore.xcodeproj/project.pbxproj: Ditto.
2009         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
2010         * bindings/js/JSEventSourceCustom.cpp: Removed this file.
2011         * page/EventSource.idl: Removed 'JSCustomConstructor' IDL.
2012
2013 2011-10-16  David Barr  <davidbarr@chromium.org>
2014
2015         Inline CSSPrimitiveValue::isQuirkValue() as non-virtual function
2016         https://bugs.webkit.org/show_bug.cgi?id=64865
2017
2018         Reviewed by Darin Adler.
2019
2020         Based on profiling and patch from:
2021         Tamas Czene <Czene.Tamas@stud.u-szeged.hu>
2022
2023         This is expected to produce a small performance progression.
2024         Additional memory overhead is avoided by using spare bits.
2025         CSSQuirkPrimitiveValue is removed as it becomes just a factory.
2026
2027         * GNUmakefile.list.am:
2028         * WebCore.gypi:
2029         * WebCore.order:
2030         * WebCore.vcproj/WebCore.vcproj:
2031         * WebCore.xcodeproj/project.pbxproj:
2032         * css/CSSParser.cpp:
2033         (WebCore::CSSParser::parseValidPrimitive):
2034         * css/CSSParserValues.cpp:
2035         (WebCore::CSSParserValue::createCSSValue):
2036         * css/CSSPrimitiveValue.cpp:
2037         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2038         * css/CSSPrimitiveValue.h:
2039         (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
2040         Moved from CSSQuirkPrimitiveValue::create.
2041         (WebCore::CSSPrimitiveValue::isQuirkValue):
2042         * css/CSSQuirkPrimitiveValue.h: Removed.
2043         * css/SVGCSSParser.cpp:
2044         (WebCore::CSSParser::parseSVGValue):
2045
2046 2011-10-16  Kentaro Hara  <haraken@chromium.org>
2047
2048         Generate XMLHttpRequest constructor for JSC by [Constructor] IDL
2049         https://bugs.webkit.org/show_bug.cgi?id=70208
2050
2051         Reviewed by Adam Barth.
2052
2053         This patch generates an XMLHttpRequest constructor for JSC by [Constructor] IDL,
2054         but V8 is still using a custom constructor since the V8 constructor requires a special logic.
2055
2056         Tests: fast/dom/global-constructors.html
2057                fast/dom/XMLHttpRequest-constants.html
2058                fast/dom/xmlhttprequest-constructor-in-detached-document.html
2059                http/tests/security/cookies/xmlhttprequest.html
2060
2061         * bindings/js/JSXMLHttpRequestCustom.cpp: Removed an XMLHttpRequest custom constructor.
2062         * bindings/scripts/CodeGeneratorV8.pm: Currently, CodeGeneratorV8.pm generates constructor code whenever [Constructor] is specified, even if [V8CustomConstructor] is specified. This is wrong. This patch fixes the condition where the constructor code is generated.
2063         * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-binding-tests result.
2064         * xml/XMLHttpRequest.h: Added a necessary header.
2065         * xml/XMLHttpRequest.idl: V8 is still using a custom constructor.
2066
2067 2011-10-16  Kentaro Hara  <haraken@chromium.org>
2068
2069         Generate XSLTProcessor constructor for JSC by [Constructor] IDL.
2070         https://bugs.webkit.org/show_bug.cgi?id=70206
2071
2072         Reviewed by Adam Barth.
2073
2074         Tests: fast/xsl/xslt-processor.html
2075                fast/xsl/default-html.html
2076                fast/dom/global-constructors.html
2077
2078         * bindings/js/JSXSLTProcessorCustom.cpp: Removed a custom constructor.
2079         * xml/XSLTProcessor.idl: Removed 'JSCustomConstructor'.
2080
2081 2011-10-16  Kentaro Hara  <haraken@chromium.org>
2082
2083         Support [Constructor] IDL for JSC.
2084         https://bugs.webkit.org/show_bug.cgi?id=70101
2085
2086         Reviewed by Adam Barth.
2087
2088         The spec for [Constructor] IDL is here: http://www.w3.org/TR/WebIDL/#Constructor
2089         This patch introduced [Constructor] IDL for JSC. This patch also added
2090         [ConstructorRaisesException] for JSC. If [ConstructorRaisesException] is specified,
2091         a placeholder for ExceptionCode is passed to XXX::create(), like XXX::create(..., ec).
2092
2093         Notes:
2094         - We do not yet support constructor overloading.
2095         - We do not yet support [Optional] without CallWithDefaultValue for constructor arguments.
2096
2097         Tests: Source/WebCore/bindings/scripts/test/TestInterface.idl
2098                Source/WebCore/bindings/scripts/test/TestObj.idl
2099
2100         * bindings/scripts/CodeGeneratorJS.pm:
2101         (GenerateHeader): Generates constructor declaration code to a header file, if a given DOM object has constructor.
2102         (GenerateImplementation): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
2103         (GenerateArgumentsCountCheck): Splits out of GenerateImplementation() for reuse.
2104         (GenerateParametersCheck): Splits out of GenerateImplementation() for reuse.
2105         (GenerateConstructorDefinition): Generates constructor definition code.
2106         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the run-binding-tests results.
2107         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
2108         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
2109         (WebCore::JSTestInterfaceConstructor::create):
2110         (WebCore::JSTestInterfaceConstructor::createStructure):
2111         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
2112         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2113         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
2114         (WebCore::JSTestMediaQueryListListenerConstructor::create):
2115         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
2116         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
2117         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
2118         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2119         (WebCore::jsTestObjPrototypeFunctionIntMethod):
2120         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2121         (WebCore::jsTestObjPrototypeFunctionObjMethod):
2122         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2123         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
2124         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2125         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2126         (WebCore::jsTestObjPrototypeFunctionIdbKey):
2127         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2128         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
2129         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
2130         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
2131         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
2132         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
2133         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
2134         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
2135         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
2136         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
2137         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
2138         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
2139         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
2140         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
2141         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
2142         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2143         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2144         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2145         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2146         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2147         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2148         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
2149         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
2150         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
2151         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2152         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2153         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2154         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2155         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2156         (WebCore::jsTestObjPrototypeFunctionClassMethod):
2157         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
2158         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
2159         (WebCore::JSTestObjConstructor::create):
2160         (WebCore::JSTestObjConstructor::createStructure):
2161         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
2162         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
2163         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
2164         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
2165
2166 2011-10-16  Dmitry Lomov  <dslomov@google.com>
2167
2168         https://bugs.webkit.org/show_bug.cgi?id=70186
2169         Pass MessagePortArray to JSC's SerializedScriptValue::serialize/deserialize.
2170
2171         Reviewed by Oliver Hunt.
2172
2173         * bindings/js/JSDOMWindowCustom.cpp:
2174         (WebCore::handlePostMessage):
2175         (WebCore::JSDOMWindow::postMessage):
2176         (WebCore::JSDOMWindow::webkitPostMessage):
2177         * bindings/js/JSDictionary.cpp:
2178         (WebCore::JSDictionary::convertValue):
2179         * bindings/js/JSHistoryCustom.cpp:
2180         (WebCore::JSHistory::pushState):
2181         (WebCore::JSHistory::replaceState):
2182         * bindings/js/JSMessageEventCustom.cpp:
2183         (WebCore::JSMessageEvent::data):
2184         (WebCore::handleInitMessageEvent):
2185         (WebCore::JSMessageEvent::initMessageEvent):
2186         (WebCore::JSMessageEvent::webkitInitMessageEvent):
2187         * bindings/js/JSMessagePortCustom.h:
2188         (WebCore::handlePostMessage):
2189         * bindings/js/JSPopStateEventCustom.cpp:
2190         (WebCore::JSPopStateEvent::state):
2191         * bindings/js/ScriptValue.cpp:
2192         (WebCore::ScriptValue::serialize):
2193         (WebCore::ScriptValue::deserialize):
2194         * bindings/js/SerializedScriptValue.cpp:
2195         (WebCore::SerializedScriptValue::create):
2196         (WebCore::SerializedScriptValue::deserialize):
2197         * bindings/js/SerializedScriptValue.h:
2198
2199 2011-10-16  Dan Bernstein  <mitz@apple.com>
2200
2201         REGRESSION (r96620): Float-avoiding block positioned incorrectly in right-to-left block
2202         https://bugs.webkit.org/show_bug.cgi?id=70197
2203
2204         Reviewed by Dave Kilzer.
2205
2206         Test: fast/block/float/avoidance-rtl.html
2207
2208         * rendering/RenderBlock.cpp:
2209         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Changed
2210         logicalLeftOffsetForContent() to startOffsetForContent() to get the right value in the
2211         right-to-left case.
2212
2213 2011-10-16  Adam Barth  <abarth@webkit.org>
2214
2215         Always enable ENABLE(DOM_STORAGE)
2216         https://bugs.webkit.org/show_bug.cgi?id=70189
2217
2218         Reviewed by Eric Seidel.
2219
2220         As discussed on webkit-dev, we are reducing the complexity of WebKit by
2221         removing unnecessary configuration options.  DOMStorage is not a core
2222         part of the web platform.  It should always be enabled.
2223
2224         * CMakeLists.txt:
2225         * Configurations/FeatureDefines.xcconfig:
2226         * GNUmakefile.am:
2227         * GNUmakefile.list.am:
2228         * UseJSC.cmake:
2229         * WebCore.exp.in:
2230         * WebCore.pro:
2231         * bindings/js/JSEventCustom.cpp:
2232         * bindings/js/JSInjectedScriptHostCustom.cpp:
2233         * bindings/js/JSStorageCustom.cpp:
2234         * bindings/v8/custom/V8EventCustom.cpp:
2235         (WebCore::toV8):
2236         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2237         (WebCore::V8InjectedScriptHost::storageIdCallback):
2238         * bindings/v8/custom/V8StorageCustom.cpp:
2239         * dom/Document.cpp:
2240         (WebCore::Document::createEvent):
2241         * dom/Event.cpp:
2242         (WebCore::Event::isStorageEvent):
2243         * dom/Event.h:
2244         * dom/Node.cpp:
2245         * features.pri:
2246         * inspector/InjectedScriptHost.cpp:
2247         (WebCore::InjectedScriptHost::InjectedScriptHost):
2248         (WebCore::InjectedScriptHost::disconnect):
2249         (WebCore::InjectedScriptHost::storageIdImpl):
2250         * inspector/InjectedScriptHost.h:
2251         (WebCore::InjectedScriptHost::init):
2252         * inspector/InspectorController.cpp:
2253         (WebCore::InspectorController::InspectorController):
2254         (WebCore::InspectorController::connectFrontend):
2255         (WebCore::InspectorController::disconnectFrontend):
2256         (WebCore::InspectorController::restoreInspectorStateFromCookie):
2257         * inspector/InspectorController.h:
2258         * inspector/InspectorDOMStorageAgent.cpp:
2259         * inspector/InspectorDOMStorageResource.cpp:
2260         * inspector/InspectorDOMStorageResource.h:
2261         * inspector/InspectorInstrumentation.cpp:
2262         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2263         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
2264         * inspector/InspectorInstrumentation.h:
2265         (WebCore::InspectorInstrumentation::didUseDOMStorage):
2266         * inspector/InstrumentingAgents.h:
2267         (WebCore::InstrumentingAgents::InstrumentingAgents):
2268         * inspector/WorkerInspectorController.cpp:
2269         (WebCore::WorkerInspectorController::WorkerInspectorController):
2270         (WebCore::WorkerInspectorController::connectFrontend):
2271         * inspector/generate-inspector-idl:
2272         * page/Chrome.cpp:
2273         * page/DOMWindow.cpp:
2274         (WebCore::DOMWindow::~DOMWindow):
2275         (WebCore::DOMWindow::clear):
2276         (WebCore::DOMWindow::localStorage):
2277         * page/DOMWindow.h:
2278         * page/DOMWindow.idl:
2279         * page/Navigator.cpp:
2280         (WebCore::Navigator::getStorageUpdates):
2281         * page/Navigator.h:
2282         * page/Navigator.idl:
2283         * page/Page.cpp:
2284         * page/Page.h:
2285         * page/PageGroup.cpp:
2286         (WebCore::PageGroup::closeLocalStorage):
2287         * page/PageGroup.h:
2288         * page/Settings.cpp:
2289         (WebCore::Settings::Settings):
2290         (WebCore::Settings::setSessionStorageQuota):
2291         * page/Settings.h:
2292         (WebCore::Settings::sessionStorageQuota):
2293         * storage/LocalStorageTask.cpp:
2294         * storage/LocalStorageTask.h:
2295         * storage/LocalStorageThread.cpp:
2296         * storage/LocalStorageThread.h:
2297         * storage/Storage.cpp:
2298         * storage/Storage.h:
2299         * storage/Storage.idl:
2300         * storage/StorageArea.h:
2301         * storage/StorageAreaImpl.cpp:
2302         * storage/StorageAreaImpl.h:
2303         * storage/StorageAreaSync.cpp:
2304         (WebCore::StorageAreaSync::scheduleSync):
2305         * storage/StorageAreaSync.h:
2306         * storage/StorageEvent.cpp:
2307         * storage/StorageEvent.h:
2308         * storage/StorageEvent.idl:
2309         * storage/StorageEventDispatcher.cpp:
2310         * storage/StorageEventDispatcher.h:
2311         * storage/StorageMap.cpp:
2312         * storage/StorageMap.h:
2313         * storage/StorageNamespace.cpp:
2314         * storage/StorageNamespace.h:
2315         * storage/StorageNamespaceImpl.cpp:
2316         * storage/StorageNamespaceImpl.h:
2317         * storage/StorageSyncManager.cpp:
2318         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
2319         * storage/StorageSyncManager.h:
2320         * storage/StorageTracker.cpp:
2321         * storage/StorageTracker.h:
2322
2323 2011-10-15  Adam Barth  <abarth@webkit.org>
2324
2325         Rename ENABLE(SKIA_TEXT) to USE(SKIA_TEXT)
2326         https://bugs.webkit.org/show_bug.cgi?id=70191
2327
2328         Reviewed by Daniel Bates.
2329
2330         SKIA_TEXT is not a WebKit feature.  It's a macro that determines
2331         whether we use a feature of the underly library (Skia).
2332
2333         * platform/graphics/chromium/FontChromiumWin.cpp:
2334         (WebCore::Font::drawComplexText):
2335         * platform/graphics/chromium/UniscribeHelper.cpp:
2336         (WebCore::UniscribeHelper::draw):
2337         * platform/graphics/skia/PlatformContextSkia.cpp:
2338         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
2339         * platform/graphics/skia/PlatformContextSkia.h:
2340         * platform/graphics/skia/SkiaFontWin.cpp:
2341         * platform/graphics/skia/SkiaFontWin.h:
2342
2343 2011-10-15  Eric Carlson  <eric.carlson@apple.com>
2344
2345         Make VIDEO_TRACK compile with warnings as errors enabled
2346         https://bugs.webkit.org/show_bug.cgi?id=70188
2347
2348         Reviewed by Filip Pizlo.
2349
2350         No new tests, no functionality changed.
2351
2352         * html/TextTrackCueList.h: Fix an include.
2353         * html/track/CueParser.cpp:
2354         (WebCore::CueParser::supportsType): Remove unused param.
2355         * html/track/CueParser.h:
2356         (WebCore::CueParserClient::~CueParserClient): Add virtual destructor.
2357         * html/track/CueParserPrivate.h:
2358         (WebCore::CueParserPrivateClient::~CueParserPrivateClient): Ditto.
2359         * loader/CueLoader.h:
2360         (WebCore::CueLoaderClient::~CueLoaderClient): Ditto.
2361         (WebCore::CueLoader::~CueLoader): Ditto.
2362
2363 2011-10-15  Adam Barth  <abarth@webkit.org>
2364
2365         Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
2366         https://bugs.webkit.org/show_bug.cgi?id=70194
2367
2368         Reviewed by Daniel Bates.
2369
2370         TILED_BACKING_STORE isn't a web platform feature.  It's an
2371         implementation strategy for WebKit that's used by some ports
2372         and not by others.
2373
2374         * features.pri:
2375         * loader/EmptyClients.h:
2376         * page/Chrome.cpp:
2377         * page/Chrome.h:
2378         * page/ChromeClient.h:
2379         * page/Frame.cpp:
2380         (WebCore::Frame::Frame):
2381         (WebCore::Frame::setView):
2382         * page/Frame.h:
2383         * page/FrameView.cpp:
2384         (WebCore::FrameView::repaintContentRectangle):
2385         (WebCore::FrameView::doDeferredRepaints):
2386         * page/Settings.cpp:
2387         (WebCore::Settings::setTiledBackingStoreEnabled):
2388         * platform/HostWindow.h:
2389         * platform/ScrollView.cpp:
2390         (WebCore::ScrollView::setScrollPosition):
2391         * platform/graphics/Tile.h:
2392         * platform/graphics/TiledBackingStore.cpp:
2393         * platform/graphics/TiledBackingStore.h:
2394         * platform/graphics/TiledBackingStoreBackend.h:
2395         * platform/graphics/TiledBackingStoreClient.h:
2396         * platform/graphics/qt/GraphicsLayerQt.cpp:
2397         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
2398         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
2399         (WebCore::GraphicsLayerQtImpl::recache):
2400         (WebCore::GraphicsLayerQtImpl::paint):
2401         * platform/graphics/qt/TileQt.cpp:
2402         * platform/graphics/qt/TileQt.h:
2403         * platform/graphics/texmap/TextureMapperNode.cpp:
2404         (WebCore::TextureMapperNode::computeTiles):
2405         (WebCore::TextureMapperNode::renderContent):
2406         (WebCore::TextureMapperNode::paintSelf):
2407         (WebCore::TextureMapperNode::syncCompositingStateSelf):
2408         * platform/graphics/texmap/TextureMapperNode.h:
2409         (WebCore::TextureMapperNode::State::State):
2410
2411 2011-10-15  Adam Barth  <abarth@webkit.org>
2412
2413         Remove the last remnant of WBXML
2414         https://bugs.webkit.org/show_bug.cgi?id=70187
2415
2416         Reviewed by Daniel Bates.
2417
2418         The bulk of the WBXML code was removed in 2009, but we missed one block.
2419
2420         * platform/wince/MIMETypeRegistryWinCE.cpp:
2421         (WebCore::initMIMETypeEntensionMap):
2422
2423 2011-10-15  Darin Adler  <darin@apple.com>
2424
2425         REGRESSION(r97533): fast/forms/select-script-onchange.html failed after
2426         https://bugs.webkit.org/show_bug.cgi?id=70173
2427
2428         Reviewed by Ryosuke Niwa.
2429
2430         * html/HTMLSelectElement.cpp:
2431         (WebCore::HTMLSelectElement::setValue): Removed unneeded boolean argument
2432         [true for deselect].
2433         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Added explicit
2434         boolean arguments for all calls to setSelectedIndex to restore pre-r97533
2435         behavior.
2436         (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
2437         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
2438
2439         * html/HTMLSelectElement.h:
2440         Removed default of true for userDrivenChange. Each caller should pass it
2441         explicitly. Longer term we should use an enum instead of a boolean or find
2442         some other way of avoiding the argument.
2443         (WebCore::HTMLSelectElement::setSelectedIndex):
2444         Pass false for userDrivenChange as the old code did pre-r97533.
2445
2446 2011-10-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2447
2448         [Qt] [Symbian] Remove support for the Symbian platform for the QtWebKit port
2449         https://bugs.webkit.org/show_bug.cgi?id=69920
2450
2451         Reviewed by Kenneth Rohde Christiansen.
2452
2453         No new tests as there is no new functionality.
2454
2455         * WebCore.gypi:
2456         * WebCore.pri:
2457         * WebCore.pro:
2458         * bindings/v8/V8GCController.cpp:
2459         (WebCore::V8GCController::checkMemoryUsage):
2460         * config.h:
2461         * css/CSSPrimitiveValueMappings.h:
2462         (WebCore::CSSPrimitiveValue::operator int):
2463         * features.pri:
2464         * page/NavigatorBase.cpp:
2465         * platform/graphics/qt/GraphicsContextQt.cpp:
2466         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2467         * platform/network/qt/ResourceRequestQt.cpp:
2468         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2469         * platform/text/qt/TextCodecQt.cpp:
2470         (WebCore::TextCodecQt::decode):
2471         * plugins/PluginDatabase.cpp:
2472         * plugins/PluginPackage.cpp:
2473         (WebCore::PluginPackage::unload):
2474         * plugins/PluginPackage.h:
2475         (WebCore::PluginPackage::version):
2476         * plugins/PluginView.cpp:
2477         (WebCore::PluginView::setFrameRect):
2478         * plugins/PluginView.h:
2479         * plugins/npapi.h:
2480         * plugins/symbian: Removed.
2481         * plugins/symbian/PluginContainerSymbian.cpp: Removed.
2482         * plugins/symbian/PluginContainerSymbian.h: Removed.
2483         * plugins/symbian/PluginDatabaseSymbian.cpp: Removed.
2484         * plugins/symbian/PluginPackageSymbian.cpp: Removed.
2485         * plugins/symbian/PluginViewSymbian.cpp: Removed.
2486         * plugins/symbian/npinterface.h: Removed.
2487
2488 2011-10-08  Robert Hogan  <robert@webkit.org>
2489
2490         CSS 2.1 failure: height-width-table-001.htm
2491         https://bugs.webkit.org/show_bug.cgi?id=69709
2492
2493         Reviewed by Simon Fraser.
2494
2495         CSS 2.1 expects CSS table elements to treat fixed height/width as
2496         excluding table borders, but HTML table elements to treat fixed height/width as
2497         including them.
2498         
2499         See http://lists.w3.org/Archives/Public/www-style/2011Jan/0178.html
2500             http://lists.w3.org/Archives/Public/public-css-testsuite/2011Oct/0005.html
2501             
2502         It looks like some clarification is pending in the specs, but the new behaviour
2503         lets WebKit pass the following tests in the suite CSS and also match FF:
2504           height-width-table-001.htm
2505           height-width-inline-table-001.htm
2506           abspos-containing-block-initial-004d.htm
2507
2508         * rendering/RenderTable.cpp:
2509         (WebCore::RenderTable::computeLogicalWidth):
2510         (WebCore::RenderTable::layout):
2511
2512 2011-10-15  Darin Adler  <darin@apple.com>
2513
2514         Make toHTMLElement fail to compile if you try to use it on an HTMLElement*
2515         https://bugs.webkit.org/show_bug.cgi?id=70164
2516
2517         Reviewed by Adam Barth.
2518
2519         Refactoring covered by existing tests.
2520
2521         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2522         (WebCore::JSHTMLFrameSetElement::nameGetter): Removed unneeded casts and
2523         some unneeded local variables as well. Changed the name of the local variable
2524         for the HTMLFrameElement to frameElement to avoid confusion with the Frame.
2525         * dom/Document.cpp:
2526         (WebCore::Document::openSearchDescriptionURL): Removed unneeded HTMLElement
2527         check; we can call hasTagName directly on a Node and that takes care of
2528         checking both that it's an HTMLElement and checking the tag name.
2529         * dom/MicroDataItemList.cpp:
2530         (WebCore::MicroDataItemList::nodeMatches): Use toHTMLElement instead of
2531         a cast. Also changed hasAttribute calls to fastHasAttribute and getAttribute
2532         calls to fastGetAttribute since these are neither style attributes nor SVG
2533         animatables.
2534         * editing/ApplyStyleCommand.cpp:
2535         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Use toHTMLElement.
2536         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
2537         * editing/DeleteButtonController.cpp:
2538         (WebCore::DeleteButtonController::show): Removed unneeded toHTMLElement call.
2539         * html/HTMLElement.cpp:
2540         (WebCore::HTMLElement::setOuterHTML): Use toHTMLElement.
2541         * html/HTMLElement.h: Added toHTMLElement overload to catch calls when the
2542         pointer is already HTMLElement* or a pointer to a class derived from it.
2543         * html/HTMLSelectElement.cpp:
2544         (WebCore::HTMLSelectElement::recalcListItems): Use toHTMLElement.
2545         * html/HTMLTextAreaElement.cpp:
2546         (WebCore::HTMLTextAreaElement::innerTextElement): Use toHTMLElement.
2547
2548 2011-10-15  Antoine Labour  <piman@chromium.org>
2549
2550         Add WebAcceleratedContentLayer backed by a texture to support accelerated content hosting
2551         https://bugs.webkit.org/show_bug.cgi?id=70084
2552
2553         Reviewed by James Robinson.
2554
2555         Covered by existing compositing/ tests
2556
2557         * platform/graphics/chromium/LayerChromium.h:
2558         * platform/graphics/chromium/LayerRendererChromium.cpp:
2559         (WebCore::LayerRendererChromium::pluginLayerProgramFlip):
2560         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2561         * platform/graphics/chromium/LayerRendererChromium.h:
2562         * platform/graphics/chromium/PluginLayerChromium.cpp:
2563         (WebCore::PluginLayerChromium::PluginLayerChromium):
2564         (WebCore::PluginLayerChromium::setTextureId):
2565         (WebCore::PluginLayerChromium::setFlipped):
2566         (WebCore::PluginLayerChromium::pushPropertiesTo):
2567         * platform/graphics/chromium/PluginLayerChromium.h:
2568         (WebCore::PluginLayerChromium::flipped):
2569         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2570         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
2571         (WebCore::CCPluginLayerImpl::draw):
2572         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2573         (WebCore::CCPluginLayerImpl::setFlipped):
2574
2575 2011-10-15  Michael Nordman  <michaeln@google.com>
2576
2577         [Chromium] Some WebSQLDatabase in worker bug fixes.
2578         https://bugs.webkit.org/show_bug.cgi?id=70071
2579
2580         - Test for a NULL webView WebWorkerClientImpl.
2581         - Avoid altering Database instance lifetimes during WorkerThread::stop().
2582
2583         Existing tests coverage applies.
2584
2585         Reviewed by David Levin.
2586
2587         * storage/chromium/DatabaseTrackerChromium.cpp:
2588         (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
2589
2590 2011-10-14  Adam Barth  <abarth@webkit.org>
2591
2592         Update expected results.
2593
2594         * bindings/scripts/test/V8/V8TestObj.cpp:
2595         (WebCore::TestObjInternal::serializedValueCallback):
2596
2597 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
2598
2599         GTK build fix after r97533.
2600
2601         * accessibility/gtk/AXObjectCacheAtk.cpp:
2602         (WebCore::notifyChildrenSelectionChange):
2603         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2604         (optionFromSelection):
2605         (webkit_accessible_selection_get_selection_count):
2606
2607 2011-10-14  David Kilzer  <ddkilzer@apple.com>
2608
2609         <http://webkit.org/b/70158> Fix clang compiler warnings
2610
2611         Reviewed by Darin Adler.
2612
2613         * dom/ViewportArguments.cpp:
2614         (WebCore::computeViewportAttributes): Use std::max<float>()
2615         instead of std::max().
2616
2617 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
2618
2619         Rename getOwnPropertySlot to getOwnPropertySlotVirtual
2620         https://bugs.webkit.org/show_bug.cgi?id=69810
2621
2622         Reviewed by Geoffrey Garen.
2623
2624         No new tests.
2625
2626         Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
2627         in preparation for when we add the static getOwnPropertySlot to the MethodTable 
2628         in ClassInfo.
2629
2630         Also added a few static getOwnPropertySlot functions where they had been overlooked 
2631         before (especially in CodeGeneratorJS.pm).
2632
2633         * WebCore.exp.in:
2634         * bindings/js/JSDOMWindowCustom.cpp:
2635         (WebCore::JSDOMWindow::getOwnPropertySlotVirtual):
2636         (WebCore::JSDOMWindow::getOwnPropertySlot):
2637         (WebCore::DialogHandler::returnValue):
2638         * bindings/js/JSDOMWindowShell.cpp:
2639         (WebCore::JSDOMWindowShell::getOwnPropertySlotVirtual):
2640         (WebCore::JSDOMWindowShell::getOwnPropertySlot):
2641         * bindings/js/JSDOMWindowShell.h:
2642         * bindings/js/JSWorkerContextCustom.cpp:
2643         (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
2644         * bindings/js/SerializedScriptValue.cpp:
2645         (WebCore::CloneSerializer::getSparseIndex):
2646         (WebCore::CloneSerializer::getProperty):
2647         * bindings/scripts/CodeGeneratorJS.pm:
2648         (GenerateGetOwnPropertySlotBody):
2649         (GenerateHeader):
2650         (GenerateImplementation):
2651         (GenerateConstructorDeclaration):
2652         (GenerateConstructorDefinition):
2653         * bindings/scripts/test/JS/JSTestInterface.cpp:
2654         (WebCore::JSTestInterfaceConstructor::getOwnPropertySlotVirtual):
2655         (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
2656         (WebCore::JSTestInterface::getOwnPropertySlotVirtual):
2657         (WebCore::JSTestInterface::getOwnPropertySlot):
2658         * bindings/scripts/test/JS/JSTestInterface.h:
2659         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2660         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlotVirtual):
2661         (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
2662         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlotVirtual):
2663         (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
2664         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlotVirtual):
2665         (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
2666         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2667         * bindings/scripts/test/JS/JSTestObj.cpp:
2668         (WebCore::JSTestObjConstructor::getOwnPropertySlotVirtual):
2669         (WebCore::JSTestObjConstructor::getOwnPropertySlot):
2670         (WebCore::JSTestObjPrototype::getOwnPropertySlotVirtual):
2671         (WebCore::JSTestObjPrototype::getOwnPropertySlot):
2672         (WebCore::JSTestObj::getOwnPropertySlotVirtual):
2673         (WebCore::JSTestObj::getOwnPropertySlot):
2674         * bindings/scripts/test/JS/JSTestObj.h:
2675         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2676         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlotVirtual):
2677         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
2678         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlotVirtual):
2679         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
2680         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
2681         * bridge/objc/objc_runtime.h:
2682         * bridge/objc/objc_runtime.mm:
2683         (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlotVirtual):
2684         * bridge/qt/qt_instance.cpp:
2685         (JSC::Bindings::QtInstance::getOwnPropertySlot):
2686         * bridge/qt/qt_runtime.cpp:
2687         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlotVirtual):
2688         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlotVirtual):
2689         * bridge/qt/qt_runtime.h:
2690         * bridge/runtime_array.cpp:
2691         (JSC::RuntimeArray::getOwnPropertySlotVirtual):
2692         * bridge/runtime_array.h:
2693         * bridge/runtime_method.cpp:
2694         (JSC::RuntimeMethod::getOwnPropertySlotVirtual):
2695         * bridge/runtime_method.h:
2696         * bridge/runtime_object.cpp:
2697         (JSC::Bindings::RuntimeObject::getOwnPropertySlotVirtual):
2698         * bridge/runtime_object.h:
2699
2700 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
2701
2702         Windows build fix attempt after r97533.
2703
2704         * html/HTMLSelectElementWin.cpp:
2705         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
2706
2707 2011-10-14  Darin Adler  <darin@apple.com>
2708
2709         Follow up the recent HTMLSelectElement improvements with a little bit more
2710         https://bugs.webkit.org/show_bug.cgi?id=70139
2711
2712         Reviewed by Ryosuke Niwa.
2713
2714         Refactoring, covered by existing tests.
2715
2716         Mostly, this adds a toHTMLSelectElement and uses it wherever possible.
2717
2718         * accessibility/AccessibilityListBox.cpp:
2719         (WebCore::AccessibilityListBox::canSetSelectedChildrenAttribute): Use toHTMLSelectElement.
2720         (WebCore::AccessibilityListBox::addChildren): Ditto. Also removed unneeded toHTMLElement.
2721         * accessibility/AccessibilityMenuListPopup.cpp:
2722         (WebCore::AccessibilityMenuListPopup::addChildren): Ditto.
2723         * accessibility/AccessibilityRenderObject.cpp:
2724         (WebCore::AccessibilityRenderObject::isMultiSelectable): Ditto.
2725         (WebCore::AccessibilityRenderObject::stringValue): Removed checks on the type of the
2726         underlying node, since other code already assumes that a menu list renderer is only
2727         created for a select element. Streamlined the code a bit and removed some unneeded
2728         local variables.
2729         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2730         (WebCore::JSHTMLOptionsCollection::indexSetter): Use toHTMLSelectElement.
2731         * bindings/js/JSHTMLSelectElementCustom.cpp:
2732         (WebCore::JSHTMLSelectElement::remove): Ditto.
2733         (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
2734         * editing/FrameSelection.cpp:
2735         (WebCore::FrameSelection::selectAll): Ditto.
2736         * html/HTMLKeygenElement.cpp:
2737         (WebCore::HTMLKeygenElement::shadowSelect): Ditto.
2738         * html/HTMLOptGroupElement.cpp:
2739         (WebCore::HTMLOptGroupElement::recalcSelectOptions): Ditto.
2740         (WebCore::HTMLOptGroupElement::ownerSelectElement): Ditto.
2741         * html/HTMLOptionElement.cpp:
2742         (WebCore::HTMLOptionElement::selected): Changed code to call renamed
2743         updateListItemSelectedStates rather than the confusing old name
2744         recalcListItemsIfNeeded.
2745         (WebCore::HTMLOptionElement::childrenChanged): Changed to call
2746         optionElementChildrenChanged rather than calling childrenChanged,
2747         because the children of the select element did not change!
2748         (WebCore::HTMLOptionElement::ownerSelectElement): Use toHTMLSelectElement.
2749         * html/HTMLOptionsCollection.cpp:
2750         (WebCore::HTMLOptionsCollection::add): Use toHTMLSelectElement.
2751         (WebCore::HTMLOptionsCollection::remove): Use toHTMLSelectElement.
2752         (WebCore::HTMLOptionsCollection::selectedIndex): Use toHTMLSelectElement.
2753         (WebCore::HTMLOptionsCollection::setSelectedIndex): Use toHTMLSelectElement.
2754         (WebCore::HTMLOptionsCollection::setLength): Use toHTMLSelectElement.
2755         * html/HTMLSelectElement.cpp:
2756         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Call setSelectedIndex
2757         without the now-unneeded internal suffix.
2758         (WebCore::HTMLSelectElement::parseMappedAttribute): When the code says that
2759         we should "determine selectedness of the items", call updateListItemSelectedStates
2760         rather than the confusingly named recalcListItemsIfNeeded.
2761         (WebCore::HTMLSelectElement::updateListItemSelectedStates): Renamed
2762         recalcListItemsIfNeeded to this, since that's what this function is for.
2763         (WebCore::HTMLSelectElement::optionElementChildrenChanged): Added. Does
2764         the same work as childrenChanged, although it does not call up to the
2765         base class childrenChanged function. Later we might find we can remove
2766         some of the work here, for example it's not clear we should call the
2767         accessibility childrenChanged function.
2768         (WebCore::HTMLSelectElement::nextValidIndex): Changed this to a member function
2769         and made it get the list items itself rather than requiring they be passed in.
2770         (WebCore::HTMLSelectElement::nextSelectableListIndex): Updated for change to
2771         nextValidIndex.
2772         (WebCore::HTMLSelectElement::previousSelectableListIndex): Ditto.
2773         (WebCore::HTMLSelectElement::firstSelectableListIndex): Ditto.
2774         (WebCore::HTMLSelectElement::lastSelectableListIndex): Ditto.
2775         (WebCore::HTMLSelectElement::nextSelectableListIndexPageAway): Ditto.
2776         (WebCore::HTMLSelectElement::listItems): Removed unneeded const_cast, since
2777         recalcListItems is now a const member function. Call recalcListItems by that
2778         name instead of recalcListItemsInternal.
2779         (WebCore::HTMLSelectElement::recalcListItems): Renamed from recalcListItemsInternal
2780         and made this a const member function. The data members that this needs to modify
2781         are now mutable.
2782         (WebCore::HTMLSelectElement::setSelectedIndex): Renamed from setSelectedIndexInternal.
2783         Changed call to updateValidity to instead call setNeedsValidityCheck, since both
2784         do the same thing.
2785         (WebCore::HTMLSelectElement::parseMultipleAttribute): Ditto.
2786         (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Updated for change to
2787         nextValidIndex, removed unneeded comparison with zero that's already handled by
2788         casting to an unsigned type, and use setSelectedIndex instead of using
2789         setSelectedIndexInternal since they are both the same thing.
2790         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Removed another unneeded
2791         comparision with zero that's handled by casting to an unsigned type.
2792         (WebCore::HTMLSelectElement::lastSelectedListIndex): Use size_t instead of unsigned
2793         for a vector index.
2794         (WebCore::HTMLSelectElement::typeAheadFind): Use setSelectedIndex instead of
2795         setSelectedIndexInternal.
2796         (WebCore::HTMLSelectElement::insertedIntoTree): Removed unneeded explicit boolean
2797         when calling a function that already has a default value of true.
2798         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Use setSelectedIndex
2799         instead of setSelectedIndexInternal.
2800
2801         * html/HTMLSelectElement.h: Made childrenChanged private. Added
2802         optionElementChildrenChanged. Renamed recalcListItemsIfNeeded to the clearer
2803         updateListItemSelectedStates. Removed unused listBoxSelectItem. Removed
2804         updateValidity after changing all callers to instead call setNeedsValidityCheck.
2805         Made canSelectAll and selectAll non-virtual. Removed recalcListItemsInternal
2806         since it's the same thing as recalcListItems now. Renamed setSelectedIndexInternal
2807         to setSelectedIndex since it's the same function, just with a few arguments we
2808         don't want to allow outside callers to pass. Changed nextValidIndex into a
2809         non-static member function. Made m_listItems and m_shouldRecalcListItems mutable.
2810         Added a toHTMLSelectElement function, modeled on the toElement function.
2811
2812         * html/ValidityState.cpp:
2813         (WebCore::ValidityState::valueMissing): Use toHTMLSelectElement.
2814         * rendering/RenderListBox.cpp:
2815         (WebCore::RenderListBox::updateFromElement): Ditto.
2816         (WebCore::RenderListBox::scrollToRevealSelection): Ditto.
2817         (WebCore::RenderListBox::size): Ditto.
2818         (WebCore::RenderListBox::numItems): Ditto.
2819         (WebCore::RenderListBox::addFocusRingRects): Ditto.
2820         (WebCore::RenderListBox::paintItemForeground): Ditto.
2821         (WebCore::RenderListBox::paintItemBackground): Ditto.
2822         (WebCore::RenderListBox::panScroll): Ditto.
2823         (WebCore::RenderListBox::autoscroll): Ditto.
2824         (WebCore::RenderListBox::stopAutoscroll): Ditto.
2825         (WebCore::RenderListBox::valueChanged): Ditto.
2826         (WebCore::RenderListBox::nodeAtPoint): Ditto.
2827         * rendering/RenderMenuList.cpp:
2828         (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
2829         (WebCore::RenderMenuList::updateFromElement): Ditto.
2830         (WebCore::RenderMenuList::setTextFromOption): Ditto.
2831         (WebCore::RenderMenuList::showPopup): Ditto.
2832         (WebCore::RenderMenuList::valueChanged): Ditto.
2833         (WebCore::RenderMenuList::listBoxSelectItem): Ditto.
2834         (WebCore::RenderMenuList::multiple): Ditto.
2835         (WebCore::RenderMenuList::didSetSelectedIndex): Ditto.
2836         (WebCore::RenderMenuList::didUpdateActiveOption): Ditto.
2837         (WebCore::RenderMenuList::itemText): Ditto.
2838         (WebCore::RenderMenuList::itemAccessibilityText): Ditto.
2839         (WebCore::RenderMenuList::itemToolTip): Ditto.
2840         (WebCore::RenderMenuList::itemIsEnabled): Ditto. Also use the
2841         disabled function instead of the virtual isEnabledFormControl
2842         function to check if the optgroup is enabled.
2843         (WebCore::RenderMenuList::itemStyle): Ditto.
2844         (WebCore::RenderMenuList::itemBackgroundColor): Ditto.
2845         (WebCore::RenderMenuList::listSize): Ditto.
2846         (WebCore::RenderMenuList::selectedIndex): Ditto.
2847         (WebCore::RenderMenuList::itemIsSeparator): Ditto.
2848         (WebCore::RenderMenuList::itemIsLabel): Ditto.
2849         (WebCore::RenderMenuList::itemIsSelected): Ditto.
2850         (WebCore::RenderMenuList::setTextFromItem): Ditto.
2851
2852 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
2853
2854         Rename virtual put to putVirtual
2855         https://bugs.webkit.org/show_bug.cgi?id=69851
2856
2857         Reviewed by Darin Adler.
2858
2859         No new tests.
2860
2861         Renamed virtual versions of put to putVirtual in prepration for 
2862         adding the static put to the MethodTable in ClassInfo since the 
2863         compiler gets mad if the virtual and static versions have the same 
2864         name.
2865
2866         * WebCore.exp.in:
2867         * bindings/js/JSDOMWindowCustom.cpp:
2868         (WebCore::JSDOMWindow::putVirtual):
2869         * bindings/js/JSDOMWindowShell.cpp:
2870         (WebCore::JSDOMWindowShell::putVirtual):
2871         * bindings/js/JSDOMWindowShell.h:
2872         * bindings/js/JSLocationCustom.cpp:
2873         (WebCore::JSLocation::putDelegate):
2874         * bindings/js/JSPluginElementFunctions.cpp:
2875         (WebCore::runtimeObjectCustomPut):
2876         * bindings/js/SerializedScriptValue.cpp:
2877         (WebCore::CloneDeserializer::putProperty):
2878         * bindings/objc/WebScriptObject.mm:
2879         (-[WebScriptObject setValue:forKey:]):
2880         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
2881         * bindings/scripts/CodeGeneratorJS.pm:
2882         (GenerateHeader):
2883         (GenerateImplementation):
2884         * bindings/scripts/test/JS/JSTestObj.cpp:
2885         (WebCore::JSTestObj::putVirtual):
2886         * bindings/scripts/test/JS/JSTestObj.h:
2887         * bridge/NP_jsobject.cpp:
2888         (_NPN_SetProperty):
2889         * bridge/jni/jni_jsobject.mm:
2890         (JavaJSObject::setMember):
2891         (JavaJSObject::setSlot):
2892         * bridge/objc/objc_runtime.h:
2893         * bridge/objc/objc_runtime.mm:
2894         (JSC::Bindings::ObjcFallbackObjectImp::putVirtual):
2895         * bridge/qt/qt_instance.cpp:
2896         (JSC::Bindings::QtInstance::put):
2897         * bridge/qt/qt_runtime.cpp:
2898         (JSC::Bindings::convertQVariantToValue):
2899         * bridge/runtime_array.cpp:
2900         (JSC::RuntimeArray::putVirtual):
2901         * bridge/runtime_array.h:
2902         * bridge/runtime_object.cpp:
2903         (JSC::Bindings::RuntimeObject::putVirtual):
2904         * bridge/runtime_object.h:
2905         * bridge/testqtbindings.cpp:
2906         (main):
2907
2908 2011-10-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2909
2910         Unreviewed, rolling out r97519.
2911         http://trac.webkit.org/changeset/97519
2912         https://bugs.webkit.org/show_bug.cgi?id=70156
2913
2914         Broke 79+ tests on bots (Requested by dglazkov on #webkit).
2915
2916         * platform/graphics/skia/GraphicsContextSkia.cpp:
2917         (WebCore::getFocusRingOutset):
2918         (WebCore::GraphicsContext::drawFocusRing):
2919
2920 2011-09-28  Robert Hogan  <robert@webkit.org>
2921
2922         Replaced elements squeezed when width is specified as percentage inside a table with Auto layout
2923         https://bugs.webkit.org/show_bug.cgi?id=29447
2924
2925         If inserting a 'replaced' element (e.g. image, plugin) in a table cell that is not descendant from
2926         a block with fixed layout then do not squeeze the element, let it use its intrinsic width and height.
2927
2928         Reviewed by David Hyatt.
2929
2930         Test: fast/replaced/table-percent-width.html
2931
2932         * rendering/RenderBox.cpp:
2933         (WebCore::shouldExpandToIntrinsicDimension):
2934         (WebCore::RenderBox::containingBlockReplacedLogicalWidthForContent):
2935         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2936         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2937         * rendering/RenderBox.h:
2938
2939 2011-10-14  Cary Clark  <caryclark@google.com>
2940
2941         [Chromium Skia on Mac] Improve focus ring
2942         https://bugs.webkit.org/show_bug.cgi?id=70124
2943
2944         Reviewed by Eric Seidel.
2945         
2946         The focus ring code formerly outset the bounds of
2947         the component rectangles by fractional amounts. Because
2948         the rectangles are SkIRect (integer based), the fractional
2949         outset had no effect.
2950
2951         The equivalent code in GraphicsContextMac.mm computes
2952         the curve radius and rectangle outset with integers, so
2953         the use of floats in Skia's case, besides not working,
2954         is unnecessary.
2955
2956         The Skia code also failed to take the offset into account.
2957         In LayoutTests, the focus rings either have an offset of
2958         0 or 2. The CoreGraphics code increases the ring's rectangles
2959         by the offset, then passes the result to wkDrawFocusRing.
2960
2961         I did not find any documentation about how wkDrawFocusRing
2962         further inflates the focus ring, but empirically I determined
2963         that adding 2 to the offset generated rings with identical
2964         outer diameters.
2965  
2966         With these adjustments, the layout tests generate focus rings
2967         in the Skia on Mac case that match the coverage of the
2968         Chromium CG-based platform, in particular, matching:
2969         
2970         editing/inserting/editable-inline-element.html
2971         editing/selection/3690703-2.html
2972
2973         * platform/graphics/skia/GraphicsContextSkia.cpp:
2974         (WebCore::getFocusRingOutset):
2975         (WebCore::GraphicsContext::drawFocusRing):
2976
2977 2011-10-14  Chang Shu  <cshu@webkit.org>
2978
2979         [Qt] Enable fullscreen api on Qt
2980         https://bugs.webkit.org/show_bug.cgi?id=70131
2981
2982         As a result, we have 3 passed tests.
2983
2984         Reviewed by Noam Rosenthal.
2985
2986         * features.pri:
2987
2988 2011-10-14  Beth Dakin  <bdakin@apple.com>
2989
2990         https://bugs.webkit.org/show_bug.cgi?id=70148
2991         Should switch to CoreUI version of CorrectionDot, GrammarDot, and SpellingDot
2992         -and corresponding-
2993         <rdar://problem/10208281>
2994
2995         Reviewed by Anders Carlsson.
2996
2997         Use NS*Dot whenever it's available, and fallback to *Dot only when it is not.
2998         * platform/graphics/mac/GraphicsContextMac.mm:
2999         (WebCore::createPatternColor):
3000         (WebCore::GraphicsContext::drawLineForTextChecking):
3001
3002 2011-10-14  Dmitry Lomov  <dslomov@google.com>
3003
3004         https://bugs.webkit.org/show_bug.cgi?id=70120
3005         [Chromium] Pass MessagePortArray to SerializedScriptValue::serialize/deserialize.
3006         This patch augments SerializedScriptValue with MessagePortArray* parameter to implement MessagePort 
3007         transfer within the message in the future.
3008
3009         Reviewed by David Levin.
3010
3011         * bindings/scripts/CodeGeneratorV8.pm:
3012         (GenerateParametersCheck):
3013         * bindings/v8/SerializedScriptValue.cpp:
3014         (WebCore::SerializedScriptValue::create):
3015         (WebCore::SerializedScriptValue::SerializedScriptValue):
3016         (WebCore::SerializedScriptValue::deserialize):
3017         * bindings/v8/SerializedScriptValue.h:
3018         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3019         (WebCore::handlePostMessageCallback):
3020         (WebCore::V8DOMWindow::postMessageCallback):
3021         (WebCore::V8DOMWindow::webkitPostMessageCallback):
3022         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3023         (WebCore::handlePostMessageCallback):
3024         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
3025         (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
3026         * bindings/v8/custom/V8HistoryCustom.cpp:
3027         (WebCore::V8History::pushStateCallback):
3028         (WebCore::V8History::replaceStateCallback):
3029         * bindings/v8/custom/V8MessageEventCustom.cpp:
3030         (WebCore::V8MessageEvent::dataAccessorGetter):
3031         * bindings/v8/custom/V8MessagePortCustom.cpp:
3032         (WebCore::handlePostMessageCallback):
3033         (WebCore::V8MessagePort::postMessageCallback):
3034         (WebCore::V8MessagePort::webkitPostMessageCallback):
3035         * bindings/v8/custom/V8WorkerCustom.cpp:
3036         (WebCore::handlePostMessageCallback):
3037         (WebCore::V8Worker::postMessageCallback):
3038         (WebCore::V8Worker::webkitPostMessageCallback):
3039         * workers/Worker.idl:
3040
3041 2011-10-14  Jeff Miller  <jeffm@apple.com>
3042
3043         InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
3044         https://bugs.webkit.org/show_bug.cgi?id=69963
3045         
3046         Add infrastructure to convert from any frame view's coordinate system to the
3047         root view's coordinate system.
3048
3049         Reviewed by Simon Fraser.
3050
3051         No new tests (yet), this is covered by <https://bugs.webkit.org/show_bug.cgi?id=70136>.
3052
3053         * WebCore.exp.in: Exported WebCore::ScrollView::contentsToRootView(), used by InjectedBundleHitTestResult.cpp.
3054         
3055         * platform/ScrollView.cpp:
3056         (WebCore::ScrollView::rootViewToContents): Added (both point and rect versions).
3057         (WebCore::ScrollView::contentsToRootView): Ditto.
3058         
3059         * platform/ScrollView.h: Added member functions to convert to/from root view coordinates.
3060         
3061         * platform/Widget.cpp:
3062         (WebCore::Widget::convertFromRootView): Added (both point and rect versions).
3063         (WebCore::Widget::convertToRootView): Ditto.
3064         
3065         * platform/Widget.h: Added member functions to convert to/from root view coordinates.
3066
3067 2011-10-14  Andreas Kling  <kling@webkit.org>
3068
3069         CSSParser: Remove StyleBase usage.
3070         https://bugs.webkit.org/show_bug.cgi?id=70150
3071
3072         Reviewed by Darin Adler.
3073
3074         Split CSSParser::m_parsedStyleObjects into two vectors of
3075         CSSRules and MediaLists.
3076
3077         * css/CSSParser.cpp:
3078         (WebCore::CSSParser::createMediaList):
3079         (WebCore::CSSParser::createCharsetRule):
3080         (WebCore::CSSParser::createImportRule):
3081         (WebCore::CSSParser::createMediaRule):
3082         (WebCore::CSSParser::createKeyframesRule):
3083         (WebCore::CSSParser::createStyleRule):
3084         (WebCore::CSSParser::createFontFaceRule):
3085         (WebCore::CSSParser::createPageRule):
3086         (WebCore::CSSParser::createKeyframeRule):
3087         * css/CSSParser.h:
3088
3089 2011-10-14  Adam Barth  <abarth@webkit.org>
3090
3091         canvas getImageData should explain why it throws SECURITY_ERR
3092         https://bugs.webkit.org/show_bug.cgi?id=70088
3093
3094         Reviewed by Darin Adler.
3095
3096         Log as message to the console when getImageData fails because the
3097         canvas is tainted.
3098
3099         * html/canvas/CanvasRenderingContext2D.cpp:
3100         (WebCore::CanvasRenderingContext2D::getImageData):
3101
3102 2011-10-14  Andreas Kling  <kling@webkit.org>
3103
3104         Inspector: Remove StyleBase usage.
3105         https://bugs.webkit.org/show_bug.cgi?id=70138
3106
3107         Reviewed by Antti Koivisto.
3108
3109         Be fully specific about whether we're operating on a CSSRule or
3110         a CSSStyleSheet.
3111
3112         No behavior change expected, this merely is a cleanup.
3113
3114         * inspector/InspectorCSSAgent.cpp:
3115         (WebCore::InspectorCSSAgent::parentStyleSheet):
3116         (WebCore::InspectorCSSAgent::asCSSStyleRule):
3117         * inspector/InspectorCSSAgent.h:
3118         * inspector/InspectorStyleSheet.cpp:
3119         (WebCore::asCSSRuleList):
3120
3121 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
3122
3123         Rename virtual deleteProperty to deletePropertyVirtual
3124         https://bugs.webkit.org/show_bug.cgi?id=69884
3125
3126         Reviewed by Darin Adler.
3127
3128         No new tests.
3129
3130         Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for 
3131         adding the static deleteProperty to the MethodTable in ClassInfo since the 
3132         compiler gets mad if the virtual and static versions have the same name.
3133
3134         * WebCore.exp.in:
3135         * bindings/js/JSDOMStringMapCustom.cpp:
3136         (WebCore::JSDOMStringMap::deletePropertyVirtual):
3137         * bindings/js/JSDOMWindowCustom.cpp:
3138         (WebCore::JSDOMWindow::deletePropertyVirtual):
3139         * bindings/js/JSDOMWindowShell.cpp:
3140         (WebCore::JSDOMWindowShell::deletePropertyVirtual):
3141         * bindings/js/JSDOMWindowShell.h:
3142         * bindings/js/JSHistoryCustom.cpp:
3143         (WebCore::JSHistory::deletePropertyVirtual):
3144         * bindings/js/JSLocationCustom.cpp:
3145         (WebCore::JSLocation::deletePropertyVirtual):
3146         * bindings/js/JSStorageCustom.cpp:
3147         (WebCore::JSStorage::deletePropertyVirtual):
3148         * bindings/js/ScriptObject.cpp:
3149         (WebCore::ScriptGlobalObject::remove):
3150         * bindings/objc/WebScriptObject.mm:
3151         (-[WebScriptObject removeWebScriptKey:]):
3152         * bindings/scripts/CodeGeneratorJS.pm:
3153         (GenerateHeader):
3154         * bridge/NP_jsobject.cpp:
3155         (_NPN_RemoveProperty):
3156         * bridge/jni/jni_jsobject.mm:
3157         (JavaJSObject::removeMember):
3158         * bridge/objc/objc_runtime.h:
3159         * bridge/objc/objc_runtime.mm:
3160         (JSC::Bindings::ObjcFallbackObjectImp::deletePropertyVirtual):
3161         * bridge/runtime_array.cpp:
3162         (JSC::RuntimeArray::deletePropertyVirtual):
3163         * bridge/runtime_array.h:
3164         * bridge/runtime_object.cpp:
3165         (JSC::Bindings::RuntimeObject::deletePropertyVirtual):
3166         * bridge/runtime_object.h:
3167
3168 2011-10-14  Simon Fraser  <simon.fraser@apple.com>
3169
3170         Web Inspector: WebProcess crashes hard when inspecting elements with border-images applied
3171         https://bugs.webkit.org/show_bug.cgi?id=70105
3172
3173         Reviewed by Dave Hyatt.
3174         
3175         Fix three different crashes related to getting computed style for border-image.
3176         In both valueForNinePieceImageSlice() and valueForNinePieceImageQuad(),
3177         assign 'right' to 'left' because we've computed a value for 'right' already.
3178         Otherwise this would leave 'right' as null, causing later crashes in cssText().
3179         
3180         In mapNinePieceImage(), borderImage->imageValue() can be null for a border-image
3181         shorthand that is missing the image value.
3182
3183         Test: fast/css/getComputedStyle/computed-style-border-image.html
3184
3185         * css/CSSComputedStyleDeclaration.cpp:
3186         (WebCore::valueForNinePieceImageSlice):
3187         (WebCore::valueForNinePieceImageQuad):
3188         * css/CSSStyleSelector.cpp:
3189         (WebCore::CSSStyleSelector::mapNinePieceImage):
3190
3191 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
3192
3193         Mac build fix after r97497.
3194
3195         * editing/markup.cpp:
3196         (WebCore::isNonTableCellHTMLBlockElement):
3197
3198 2011-10-14  Daniel Cheng  <dcheng@chromium.org>
3199
3200         Context-aware HTML paste for Chromium
3201         https://bugs.webkit.org/show_bug.cgi?id=62112
3202
3203         Reviewed by Ryosuke Niwa.
3204
3205         Add createFragmentFromMarkupWithContext which understands enough about DOM structure to
3206         retain necessary elements to preserve structure and appearance when extracting a subset of
3207         a DOM tree.
3208
3209         Covered by existing layout tests.
3210
3211         * editing/MarkupAccumulator.h:
3212         * editing/markup.cpp:
3213         (WebCore::isNonTableCellHTMLBlockElement):
3214         (WebCore::isHTMLBlockElement):
3215         (WebCore::ancestorToRetainStructureAndAppearanceForBlock):
3216         (WebCore::ancestorToRetainStructureAndAppearance):
3217         (WebCore::ancestorToRetainStructureAndAppearanceWithNoRenderer):
3218         (WebCore::findNodesSurroundingContext):
3219         (WebCore::trimFragment):
3220         (WebCore::createFragmentFromMarkupWithContext):
3221         * editing/markup.h:
3222         * platform/chromium/ChromiumDataObject.cpp:
3223         (WebCore::ChromiumDataObject::getData):
3224         * platform/chromium/DataTransferItemChromium.cpp:
3225         (WebCore::DataTransferItemChromium::getAsString):
3226         * platform/chromium/PasteboardChromium.cpp:
3227         (WebCore::Pasteboard::documentFragment):
3228         * platform/chromium/PlatformSupport.h:
3229
3230 2011-10-14  Peter Beverloo  <peter@chromium.org>
3231
3232         [Chromium] Inherit settings from Chromium's envsetup.sh, address a NDK todo
3233         https://bugs.webkit.org/show_bug.cgi?id=70028
3234
3235         Reviewed by Adam Barth.
3236
3237         * WebCore.gyp/WebCore.gyp:
3238
3239 2011-10-14  Nate Chapin  <japhet@chromium.org>
3240
3241         Check CachedResourceClient types with ASSERTs rather
3242         than if statements.
3243         https://bugs.webkit.org/show_bug.cgi?id=70113
3244
3245         Reviewed by Adam Barth.
3246
3247         No new tests, no functionality change.
3248
3249         * loader/cache/CachedCSSStyleSheet.cpp:
3250         * loader/cache/CachedFont.cpp:
3251         * loader/cache/CachedImage.cpp:
3252         * loader/cache/CachedResourceClientWalker.h:
3253         * loader/cache/CachedXSLStyleSheet.cpp:
3254
3255 2011-10-14  Andreas Kling  <kling@webkit.org>
3256
3257         Don't assert that CSSRules are CSSRules.
3258
3259         Rubber-stamped by Antti Koivisto.
3260
3261         * css/CSSRule.h:
3262         (WebCore::CSSRule::isRule):
3263         * css/CSSStyleSheet.cpp:
3264         (WebCore::CSSStyleSheet::append):
3265         (WebCore::CSSStyleSheet::insert):
3266
3267 2011-10-14  Beth Dakin  <bdakin@apple.com>
3268
3269         Attempted Leopard build fix.
3270
3271         * platform/graphics/GraphicsContext.cpp:
3272         (WebCore::GraphicsContext::createCompatibleBuffer):
3273
3274 2011-10-14  Andreas Kling  <kling@webkit.org>
3275
3276         CSSStyleSheet should only ever contain CSSRules.
3277         https://bugs.webkit.org/show_bug.cgi?id=70116
3278
3279         Reviewed by Antti Koivisto.
3280
3281         Move child management from the StyleSheet class down into
3282         CSSStyleSheet and XSLStyleSheet. XSLStyleSheet continues to
3283         manage StyleBase objects, while CSSStyleSheet now only contains
3284         CSSRule.
3285
3286         This is enforced at both compile time and runtime with explicit
3287         types and assertions.
3288
3289         * css/CSSRule.h:
3290         (WebCore::CSSRule::isRule):
3291
3292             Promoted to a public method so we can use it in assertions.
3293
3294         * css/CSSRuleList.h:
3295         (WebCore::CSSRuleList::create):
3296         (WebCore::CSSRuleList::styleSheet):
3297         * css/CSSRuleList.cpp:
3298         (WebCore::CSSRuleList::CSSRuleList):
3299         * bindings/js/JSCSSRuleListCustom.cpp:
3300         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
3301
3302             Change backing to a CSSStyleSheet instead of a StyleSheet.
3303
3304         * css/CSSRuleList.cpp:
3305         (WebCore::CSSRuleList::item):
3306
3307             Remove redundant assertions.
3308
3309         * css/CSSStyleSheet.cpp:
3310         (WebCore::CSSStyleSheet::isLoading):
3311         (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
3312         * css/CSSStyleSelector.cpp:
3313         (WebCore::RuleSet::addRulesFromSheet):
3314         * inspector/InspectorCSSAgent.cpp:
3315         (WebCore::InspectorCSSAgent::collectStyleSheets):
3316         * page/PageSerializer.cpp:
3317         (WebCore::PageSerializer::serializeCSSStyleSheet):
3318
3319             Use more specific CSSRule* since that's what we get from
3320             CSSStyleSheet::item() now.
3321
3322         * css/StyleSheet.cpp:
3323         (WebCore::StyleSheet::~StyleSheet):
3324         * css/CSSStyleSheet.cpp:
3325         (WebCore::CSSStyleSheet::~CSSStyleSheet):
3326         * xml/XSLStyleSheetLibxslt.cpp:
3327         (WebCore::XSLStyleSheet::~XSLStyleSheet):
3328         * xml/XSLStyleSheetQt.cpp:
3329         (WebCore::XSLStyleSheet::~XSLStyleSheet):
3330
3331             Orphaning logic from ~StyleSheet() moved to subclass dtors.
3332
3333         * css/StyleSheet.h:
3334         * css/CSSStyleSheet.h:
3335         (WebCore::CSSStyleSheet::length):
3336         (WebCore::CSSStyleSheet::item):
3337         * css/CSSStyleSheet.cpp:
3338         (WebCore::CSSStyleSheet::append):
3339         (WebCore::CSSStyleSheet::insert):
3340         (WebCore::CSSStyleSheet::remove):
3341
3342             Moved from StyleSheet and changed to only accept CSSRules.
3343
3344         * css/StyleSheet.h:
3345         * xml/XSLStyleSheet.h:
3346         (WebCore::XSLStyleSheet::length):
3347         (WebCore::XSLStyleSheet::item):
3348         (WebCore::XSLStyleSheet::append):
3349         (WebCore::XSLStyleSheet::insert):
3350         (WebCore::XSLStyleSheet::remove):
3351
3352             Moved from StyleSheet though still uses StyleBase.
3353
3354 2011-10-14 Yuji Sanachan <sanachan.y@gmail.com>
3355
3356         Include dom/ExceptionCode.h instead of Filesystem APIs headers
3357         to fix compile error when ENABLE_WORKERS=1 and ENABLE_FILE_SYSTEM=0
3358         https://bugs.webkit.org/show_bug.cgi?id=70036
3359
3360         Reviewed by Darin Adler.
3361
3362         * workers/WorkerContext.cpp:
3363         (WebCore::WorkerContext::importScript):
3364
3365 2011-10-14  Darin Adler  <darin@apple.com>
3366
3367         Text drawn via -webkit-background-clip:text should be non-blurry with all scaling 
3368         techniques
3369         https://bugs.webkit.org/show_bug.cgi?id=68641
3370
3371         Reviewed by Simon Fraser. Committed by Beth Dakin.
3372
3373         * platform/graphics/GraphicsContext.cpp:
3374         (WebCore::GraphicsContext::createCompatibleBuffer): Allocate a buffer based on the 
3375         scale
3376         factor of the context.
3377         * platform/graphics/GraphicsContext.h: Added createCompatibleBuffer.
3378
3379         * rendering/RenderBoxModelObject.cpp:
3380         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use 
3381         createCompatibleBuffer.
3382
3383 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
3384
3385         Move selectionStartStyle and selectionHasStyle to EditingStyle
3386         https://bugs.webkit.org/show_bug.cgi?id=69882
3387
3388         Reviewed by Enrica Casucci.
3389
3390         Moved selectionHasStyle and selectionStartStyle from Editor to EditingStyle.
3391         Also moved much of code in Editor::selectionStartCSSPropertyValue to method of EditingStyle.
3392
3393         In addition, moved Range::editingStartPosition to htmlediting where it belongs
3394         and renamed it to adjustedSelectionStartForStyleComputation.
3395
3396         * dom/Range.cpp:
3397         * dom/Range.h:
3398         * editing/EditingStyle.cpp:
3399         (WebCore::EditingStyle::triStateOfStyle): Extracted from selectionHasStyle.
3400         (WebCore::EditingStyle::legacyFontSize): Extracted from selectionStartCSSPropertyValue.
3401         (WebCore::EditingStyle::styleAtSelectionStart): Moved from Editor::selectionStartStyle.
3402         * editing/EditingStyle.h:
3403         * editing/Editor.cpp:
3404         (WebCore::Editor::fontForSelection):
3405         (WebCore::Editor::selectionStartHasStyle):
3406         (WebCore::Editor::selectionHasStyle):
3407         (WebCore::Editor::selectionStartCSSPropertyValue):
3408         * editing/Editor.h:
3409         * editing/EditorCommand.cpp:
3410         (WebCore::executeToggleStyleInList):
3411         * editing/htmlediting.cpp:
3412         (WebCore::adjustedSelectionStartForStyleComputation): Moved from Range::editingStartPosition.
3413         * editing/htmlediting.h:
3414
3415 2011-10-14  Ryosuke Niwa  <rniwa@webkit.org>
3416
3417         Redundant comparison in AccessibilityObject.cpp updateAXLineStartForVisiblePosition
3418         https://bugs.webkit.org/show_bug.cgi?id=70074
3419
3420         Reviewed by Chris Fleizach.
3421
3422         Removed redundant code.
3423
3424         * accessibility/AccessibilityObject.cpp:
3425         (WebCore::updateAXLineStartForVisiblePosition):
3426
3427 2011-10-12  Ryosuke Niwa  <rniwa@webkit.org>
3428
3429         Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
3430         https://bugs.webkit.org/show_bug.cgi?id=69964
3431
3432         Reviewed by Enrica Casucci.
3433
3434         Extracted the logic to determine the scope element as FrameSelection::rootEditableElementOrDocumentElement
3435         and deployed it in WebKit layer. Made locationAndLengthFromRange take a scope element and renamed it to
3436         getLocationAndLengthFromRange.
3437
3438         * WebCore.exp.in:
3439         * editing/FrameSelection.cpp:
3440         (WebCore::FrameSelection::rootEditableElementOrDocumentElement):
3441         * editing/FrameSelection.h:
3442         * editing/TextIterator.cpp:
3443         (WebCore::TextIterator::getLocationAndLengthFromRange):
3444         * editing/TextIterator.h:
3445
3446 2011-10-13  Arko Saha  <arko@motorola.com>
3447
3448         Microdata: Basic implementation of document.getItems() method.
3449         https://bugs.webkit.org/show_bug.cgi?id=68610
3450
3451         Reviewed by Ryosuke Niwa.
3452
3453         Added ENABLE(MICRODATA) feature flag. Implement document.getItems() DOM API.
3454         Spec: http://www.whatwg.org/specs/web-apps/current-work/complete/microdata.html
3455
3456         Tests: fast/dom/MicroData/001.html
3457                fast/dom/MicroData/002.html
3458                fast/dom/MicroData/003.html
3459                fast/dom/MicroData/004.html
3460                fast/dom/MicroData/005.html
3461                fast/dom/MicroData/006.html
3462                fast/dom/MicroData/007.html
3463                fast/dom/MicroData/008.html
3464                fast/dom/MicroData/009.html
3465
3466         * CMakeLists.txt:
3467         * DerivedSources.make:
3468         * GNUmakefile.am:
3469         * GNUmakefile.list.am:
3470         * WebCore.gypi:
3471         * WebCore.pro:
3472         * WebCore.vcproj/WebCore.vcproj:
3473         * dom/Document.cpp:
3474         (WebCore::Document::getItems): Returns NodeList of the element in the Document that
3475         create items, that are not part of other items, and that are of one of the types
3476         given in the argument. If no tokens specified/undefined in the argument, then
3477         return a NodeList containing all top level microdata items.
3478         (WebCore::Document::removeCachedMicroDataItemList): Remove Microdata item node list