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