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