2010-12-13 Antonio Gomes <agomes@rim.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-12-13  Antonio Gomes  <agomes@rim.com>
2
3         Rubber stamped by Daniel Bates.
4
5         Spatial Navigation: code clean up (part V)
6         https://bugs.webkit.org/show_bug.cgi?id=50666
7
8         No new tests needed.
9
10         * page/SpatialNavigation.cpp:
11         (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not
12         supposed to change within this function.
13         * page/SpatialNavigation.h: Ditto.
14
15 2010-12-13  takano takumi  <takano@apple.com>
16
17         Reviewed by Dan Bernstein.
18
19         GlyphPage::fill() is slow on vertical writing (Mac)
20         https://bugs.webkit.org/show_bug.cgi?id=50865
21
22         No test. Just a performance improvement.
23
24         * platform/graphics/Font.cpp:
25         (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji).
26         (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols.
27         * platform/graphics/Font.h:
28         * platform/graphics/FontFastPath.cpp:
29         (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph().
30         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
31         (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not.
32         For vertical writing, if the current page contains only ideographs, we go CG path.
33         (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path.
34
35 2010-12-13  Antonio Gomes  <agomes@rim.com>
36
37         Reviewed by Daniel Bates.
38
39         Spatial Navigation: code clean up (part IV)
40         https://bugs.webkit.org/show_bug.cgi?id=50666
41
42         Avoid calling canScrollInDirection more than necessary.
43
44         No new tests needed.
45
46         * page/FocusController.cpp:
47         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection()
48         to within the scrollInDirection().
49         * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function.
50         (WebCore::scrollInDirection):
51
52 2010-12-13  Antonio Gomes  <agomes@rim.com>
53
54         Reviewed by Daniel Bates.
55
56         Spatial Navigation: code clean up (part III)
57         https://bugs.webkit.org/show_bug.cgi?id=50666
58
59         No new tests needed.
60
61         * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and
62         WebCore::frameOwnerElement helper functions.
63         (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer
64         wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false
65         otherwise.
66         * page/SpatialNavigation.cpp:
67         (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with
68         the FocusCandidate if appropriate.
69         * page/FocusController.cpp:
70         (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper.
71         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto.
72
73 2010-12-13  Mike Lawther  <mikelawther@chromium.org>
74
75         Reviewed by Daniel Bates.
76
77         [skia] ignore transform for canvas shadows
78         https://bugs.webkit.org/show_bug.cgi?id=50437
79
80         * platform/graphics/skia/GraphicsContextSkia.cpp:
81         (WebCore::GraphicsContext::setPlatformShadow):
82
83 2010-12-13  Dai Mikurube  <dmikurube@google.com>
84
85         Reviewed by Kent Tamura.
86
87         ValidityState's exposed functions should check if willValidate() is true before all
88         https://bugs.webkit.org/show_bug.cgi?id=50617
89
90         Added checking willValidate() to exposed functions. And modified willValidate() behavior
91         for <button type="submit"> and <input type="submit"> to return true if not disabled and
92         not readonly.
93
94         * html/HTMLButtonElement.cpp:
95         (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type.
96         (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec.
97         * html/HTMLButtonElement.h:
98         * html/SubmitInputType.cpp:
99         (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec.
100         (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available.
101         * html/SubmitInputType.h:
102         * html/ValidityState.cpp: Added checking willValidate().
103         (WebCore::ValidityState::typeMismatch):
104         (WebCore::ValidityState::patternMismatch):
105         (WebCore::ValidityState::tooLong):
106         (WebCore::ValidityState::rangeUnderflow):
107         (WebCore::ValidityState::rangeOverflow):
108         (WebCore::ValidityState::stepMismatch):
109         (WebCore::ValidityState::customError):
110         * html/ValidityState.h:
111
112 2010-12-13  Noel Gordon  <noel.gordon@gmail.com>
113
114         Reviewed by David Levin.
115
116         [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil()
117         https://bugs.webkit.org/show_bug.cgi?id=50545
118
119         Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling.
120
121         No new tests, no change in behaviour.
122
123         * platform/graphics/skia/ImageBufferSkia.cpp:
124         (WebCore::putImageData):
125
126 2010-12-13  Gavin Peters  <gavinp@chromium.org>
127
128         Reviewed by Adam Barth.
129
130         Re land Purpose after bad merge
131         https://bugs.webkit.org/show_bug.cgi?id=51000
132
133         * loader/loader.cpp:
134         (WebCore::Loader::load):
135
136 2010-12-13  Dan Bernstein  <mitz@apple.com>
137
138         Reviewed by Simon Fraser.
139
140         <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified
141         https://bugs.webkit.org/show_bug.cgi?id=50979
142
143         Many test results updated.
144
145         * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and
146         affectsDescent in the used-fonts code path. Renamed variables for clarity. Added
147         a check whether usedFonts is empty (which it might be if there is glyph overflow
148         but no fallback) as an optimization.
149
150 2010-12-13  Mark Rowe  <mrowe@apple.com>
151
152         Rubber-stamped by Jon Honeycutt.
153
154         Remove unnecessary include of Switch module.
155
156         There are no switch statements in this file.
157
158         * dom/make_names.pl:
159
160 2010-12-13  Emil Eklund  <eae@chromium.org>
161
162         Reviewed by Dimitri Glazkov.
163
164         Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM
165         tree instead of the render tree.
166         https://bugs.webkit.org/show_bug.cgi?id=50989
167
168         * editing/SelectionController.cpp:
169         (WebCore::SelectionController::setFocusedNodeIfNeeded):
170         Walk up DOM/hosted tree rather than render tree and remove FIXME comment
171         that does't apply (SelectionController and EventHandler needs different
172         checks).
173
174 2010-12-13  Chris Fleizach  <cfleizach@apple.com>
175
176         Reviewed by Beth Dakin.
177
178         AX: aria-invalid should be supported.
179         https://bugs.webkit.org/show_bug.cgi?id=50573
180
181         Test: platform/mac/accessibility/aria-invalid.html
182
183         * accessibility/AXObjectCache.h:
184         * accessibility/AccessibilityObject.cpp:
185         (WebCore::AccessibilityObject::invalidStatus):
186         * accessibility/AccessibilityObject.h:
187         * accessibility/chromium/AXObjectCacheChromium.cpp
188         (WebCore::AXObjectCache::postPlatformNotification):
189         * accessibility/mac/AXObjectCacheMac.mm:
190         (WebCore::AXObjectCache::postPlatformNotification):
191         * accessibility/mac/AccessibilityObjectWrapper.mm:
192         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
193         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
194         * dom/Element.cpp:
195         (WebCore::Element::updateAfterAttributeChanged):
196         * html/HTMLAttributeNames.in:
197
198 2010-12-13  Joone Hur  <joone@kldp.org>
199
200         Reviewed by Eric Seidel.
201
202         WebKit fails to compile when building with WML support enabled
203         https://bugs.webkit.org/show_bug.cgi?id=42943
204
205         Use TextPosition instead of lineNumber() and columNumber().
206
207         No new tests are added, because this is just a build fix.
208
209         * dom/XMLDocumentParser.h: Make lineNumber() private.
210         * wml/WMLErrorHandling.cpp:
211         (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber().
212
213 2010-12-13  Chris Fleizach  <cfleizach@apple.com>
214
215         Reviewed by Beth Dakin.
216
217         AX: lists and list boxes need different attributes
218         https://bugs.webkit.org/show_bug.cgi?id=50978
219
220         Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>).
221
222         * accessibility/mac/AccessibilityObjectWrapper.mm:
223         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
224
225 2010-12-13  David Hyatt  <hyatt@apple.com>
226
227         Reviewed by Sam Weinig.
228
229         https://bugs.webkit.org/show_bug.cgi?id=50963
230
231         REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView.
232        
233         The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box
234         of the root layer.  This bounding box was only coincidentally incorporating overflow as part of the 
235         RenderLayer's bounds.  Since I fixed the RenderLayer bounds to not include layout overflow any longer,
236         this check is now exposed as incorrect.  Use the entire document size  when computing layer clip
237         rects.
238
239         * rendering/RenderLayer.cpp:
240         (WebCore::RenderLayer::childrenClipRect):
241         (WebCore::RenderLayer::selfClipRect):
242         * rendering/RenderView.h:
243         (WebCore::RenderView::documentRect):
244
245 2010-12-13  Simon Fraser  <simon.fraser@apple.com>
246
247         GraphicsContextPrivate.h was removed. Nuke it from the project.
248         
249         * WebCore.xcodeproj/project.pbxproj:
250
251 2010-12-13  Eric Carlson  <eric.carlson@apple.com>
252
253         Reviewed by Antti Koivisto.
254
255         HTMLMediaElement::endedPlayback should not return true if duration is zero
256         https://bugs.webkit.org/show_bug.cgi?id=50962
257
258         (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a 
259         media file can't play if it has no duration, therefore it can't have ended playback.
260
261 2010-12-13  Brent Fulgham  <bfulgham@webkit.org>
262
263         Unreviewed build fix after r73840.
264
265         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file
266         to pass three arguments to build-generated-files.sh, just like
267         the official Apple port.
268
269 2010-12-13  David Hyatt  <hyatt@apple.com>
270
271         Reviewed by Adam Roben.
272
273         Make sure the defaultSpaceEventHandler does logical scrolling.
274
275         * page/EventHandler.cpp:
276         (WebCore::EventHandler::defaultSpaceEventHandler):
277
278 2010-12-13  Matthew Delaney  <mdelaney@apple.com>
279
280         Reviewed by Simon Fraser.
281
282         https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas
283
284         No new tests necessary.
285
286         * Configurations/WebCore.xcconfig: Added IOSurface framework link.
287         * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead.
288         * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor.
289         * platform/graphics/cairo/ImageBufferCairo.cpp:
290         * platform/graphics/cg/ImageBufferCG.cpp:
291         * platform/graphics/haiku/ImageBufferHaiku.cpp:
292         * platform/graphics/qt/ImageBufferQt.cpp:
293         * platform/graphics/skia/ImageBufferSkia.cpp:
294         * platform/graphics/wince/ImageBufferWinCE.cpp:
295         * platform/graphics/wx/ImageBufferWx.cpp:
296
297 2010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>
298
299         Unreviewed, rolling out r73923.
300         http://trac.webkit.org/changeset/73923
301         https://bugs.webkit.org/show_bug.cgi?id=50944
302
303         Broke editing/selection/extend-selection-home-end.html on non-
304         mac platforms. Looks like a real bug. (Requested by ojan on
305         #webkit).
306
307         * editing/SelectionController.cpp:
308         (WebCore::SelectionController::positionForPlatform):
309         (WebCore::SelectionController::modifyExtendingForward):
310
311 2010-12-13  David Hyatt  <hyatt@apple.com>
312
313         Reviewed by Sam Weinig.
314
315         https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. 
316
317         Add logical scrolling to WebCore.  It basically mirrors physical scrolling but works in abstract logical
318         directions and only converts to physical when it's time to attempt the scroll.
319         
320         Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing
321         frames got skipped over.
322         
323         Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections.
324         
325         * WebCore.exp.in:
326         * page/EventHandler.cpp:
327         (WebCore::EventHandler::logicalScrollOverflow):
328         (WebCore::EventHandler::scrollRecursively):
329         (WebCore::EventHandler::logicalScrollRecursively):
330         * page/EventHandler.h:
331         * page/FrameView.cpp:
332         (WebCore::FrameView::isVerticalDocument):
333         (WebCore::FrameView::isFlippedDocument):
334         * page/FrameView.h:
335         * platform/ScrollTypes.h:
336         (WebCore::logicalToPhysical):
337         * platform/ScrollView.cpp:
338         (WebCore::ScrollView::scroll):
339         (WebCore::ScrollView::logicalScroll):
340         * platform/ScrollView.h:
341         (WebCore::ScrollView::isVerticalDocument):
342         (WebCore::ScrollView::isFlippedDocument):
343         * rendering/RenderBox.cpp:
344         (WebCore::RenderBox::logicalScroll):
345         * rendering/RenderBox.h:
346         * rendering/RenderLayer.cpp:
347         (WebCore::RenderLayer::scroll):
348         * rendering/RenderListBox.cpp:
349         (WebCore::RenderListBox::logicalScroll):
350         * rendering/RenderListBox.h:
351         * rendering/RenderTextControlSingleLine.cpp:
352         (WebCore::RenderTextControlSingleLine::logicalScroll):
353         * rendering/RenderTextControlSingleLine.h:
354
355 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
356
357         Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
358
359         REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
360         https://bugs.webkit.org/show_bug.cgi?id=50950
361
362         * Android.jscbindings.mk:
363         * CMakeLists.txt:
364         * GNUmakefile.am:
365         * WebCore.gypi:
366         * WebCore.order:
367         * WebCore.pro:
368         * WebCore.vcproj/WebCore.vcproj:
369         * WebCore.xcodeproj/project.pbxproj:
370         * bindings/js/JSBindingsAllInOne.cpp:
371         * bindings/js/JSDOMBinding.cpp:
372         (WebCore::reportException):
373         * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp.
374         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
375         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
376         (WebCore::JSWorkerContextErrorHandler::handleEvent):
377         * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h.
378         (WebCore::JSWorkerContextErrorHandler::create):
379         (WebCore::createJSWorkerContextErrorHandler):
380         * bindings/scripts/CodeGeneratorJS.pm:
381         * bindings/scripts/CodeGeneratorV8.pm:
382         * bindings/v8/V8ConsoleMessage.cpp:
383         (WebCore::V8ConsoleMessage::dispatchNow):
384         (WebCore::V8ConsoleMessage::handler):
385         * bindings/v8/V8ConsoleMessage.h:
386         * bindings/v8/V8WindowErrorHandler.cpp: Removed.
387         * bindings/v8/V8WindowErrorHandler.h: Removed.
388         * bindings/v8/WorkerContextExecutionProxy.cpp:
389         (WebCore::v8MessageHandler):
390         * bindings/v8/WorkerScriptController.cpp:
391         (WebCore::WorkerScriptController::evaluate):
392         * dom/Document.cpp:
393         (WebCore::Document::reportException):
394         (WebCore::Document::addMessage):
395         * dom/Document.h:
396         * dom/ErrorEvent.cpp:
397         * dom/ErrorEvent.h:
398         * dom/Event.cpp:
399         * dom/Event.h:
400         * dom/ScriptExecutionContext.cpp:
401         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
402         * dom/ScriptExecutionContext.h:
403         * websockets/WebSocket.cpp:
404         (WebCore::WebSocket::connect):
405         * websockets/WebSocketChannel.cpp:
406         (WebCore::WebSocketChannel::didOpen):
407         (WebCore::WebSocketChannel::appendToBuffer):
408         * websockets/WebSocketHandshake.cpp:
409         (WebCore::WebSocketHandshake::readServerHandshake):
410         (WebCore::WebSocketHandshake::readStatusLine):
411         (WebCore::WebSocketHandshake::readHTTPHeaders):
412         (WebCore::WebSocketHandshake::checkResponseHeaders):
413         * workers/DefaultSharedWorkerRepository.cpp:
414         (WebCore::postExceptionTask):
415         (WebCore::postConsoleMessageTask):
416         * workers/WorkerContext.cpp:
417         (WebCore::WorkerContext::WorkerContext):
418         (WebCore::WorkerContext::reportException):
419         (WebCore::WorkerContext::addMessage):
420         * workers/WorkerContext.h:
421         * workers/WorkerMessagingProxy.cpp:
422         (WebCore::WorkerExceptionTask::performTask):
423         (WebCore::postConsoleMessageTask):
424         * xml/XMLHttpRequest.cpp:
425         (WebCore::reportUnsafeUsage):
426
427 2010-12-13  Antti Koivisto  <antti@apple.com>
428
429         Reviewed by Alexey Proskuryakov.
430
431         https://bugs.webkit.org/show_bug.cgi?id=50758
432         <rdar://problem/8722094> 
433         Defer loading print stylesheets
434         
435         - Make preload scanner skip stylesheets with non-screen media types.
436         - Make it possible to specify non-default load priority from the client.
437         - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else.
438         - Move default priority code from Loader to CachedResource.
439         - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority).
440         - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably.
441
442         Tests: http/tests/local/link-stylesheet-load-order-preload.html
443                http/tests/local/link-stylesheet-load-order.html
444
445         * WebCore.exp.in:
446         * WebCore.gypi:
447         * WebCore.pro:
448         * WebCore.vcproj/WebCore.vcproj:
449         * WebCore.xcodeproj/project.pbxproj:
450         * css/CSSImageValue.cpp:
451         (WebCore::CSSImageValue::cachedImage):
452         * html/HTMLLinkElement.cpp:
453         (WebCore::HTMLLinkElement::process):
454         * html/parser/HTMLPreloadScanner.cpp:
455         (WebCore::HTMLNames::PreloadTask::PreloadTask):
456         (WebCore::HTMLNames::PreloadTask::processAttributes):
457         (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
458         (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
459         (WebCore::HTMLNames::PreloadTask::preload):
460         * loader/DocumentThreadableLoader.cpp:
461         (WebCore::DocumentThreadableLoader::loadRequest):
462         * loader/ResourceLoadPriority.h: Added.
463         * loader/ResourceLoadScheduler.cpp:
464         (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
465         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
466         (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
467         (WebCore::ResourceLoadScheduler::scheduleLoad):
468         (WebCore::ResourceLoadScheduler::servePendingRequests):
469         (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
470         (WebCore::ResourceLoadScheduler::HostInformation::schedule):
471         (WebCore::ResourceLoadScheduler::HostInformation::remove):
472         (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
473         (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
474         * loader/ResourceLoadScheduler.h:
475         (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled):
476         (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled):
477         (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
478         * loader/cache/CachedResource.cpp:
479         (WebCore::defaultPriorityForResourceType):
480         (WebCore::CachedResource::CachedResource):
481         * loader/cache/CachedResource.h:
482         (WebCore::CachedResource::loadPriority):
483         (WebCore::CachedResource::setLoadPriority):
484         * loader/cache/CachedResourceLoader.cpp:
485         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
486         (WebCore::CachedResourceLoader::requestResource):
487         (WebCore::CachedResourceLoader::requestPreload):
488         * loader/cache/CachedResourceLoader.h:
489         * loader/cache/MemoryCache.cpp:
490         (WebCore::MemoryCache::requestResource):
491         * loader/cache/MemoryCache.h:
492         * loader/loader.cpp:
493         (WebCore::Loader::load):
494
495 2010-12-13  Justin Schuh  <jschuh@chromium.org>
496
497         Reviewed by Dimitri Glazkov.
498
499         Build fix for r73927
500         https://bugs.webkit.org/show_bug.cgi?id=50946
501
502         Reverting CSSCanvasValue::canvasDestroyed to its code before r73927
503         because it's breaking the build and I changed it only because it
504         appeared redunudant after r73927.
505
506         No behavior changed so no new tests needed.
507
508         * css/CSSCanvasValue.cpp:
509         (WebCore::CSSCanvasValue::canvasDestroyed):
510
511 2010-12-13  Matthew Delaney  <mdelaney@apple.com>
512
513         Reviewed by nobody, build fix.
514
515         Unlinking IOSurface framework from xcodeproj.
516
517         * WebCore.xcodeproj/project.pbxproj:
518
519 2010-12-13  Justin Schuh  <jschuh@chromium.org>
520
521         Reviewed by Dimitri Glazkov.
522
523         HTMLCanvasElement should handle multiple observers.
524         https://bugs.webkit.org/show_bug.cgi?id=50899
525
526         Test: fast/canvas/canvas-bg-multiple-removal.html
527
528         * css/CSSCanvasValue.cpp:
529         (WebCore::CSSCanvasValue::~CSSCanvasValue):
530         (WebCore::CSSCanvasValue::canvasDestroyed):
531         (WebCore::CSSCanvasValue::element):
532         * html/HTMLCanvasElement.cpp:
533         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
534         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
535         (WebCore::HTMLCanvasElement::addObserver):
536         (WebCore::HTMLCanvasElement::removeObserver):
537         (WebCore::HTMLCanvasElement::didDraw):
538         (WebCore::HTMLCanvasElement::reset):
539         * html/HTMLCanvasElement.h:
540
541 2010-12-13  Mihai Parparita  <mihaip@chromium.org>
542
543         Reviewed by Adam Barth.
544
545         [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard
546         https://bugs.webkit.org/show_bug.cgi?id=50841
547
548         Test: fast/canvas/strokeText-missing-args.html
549         
550         We didn't have isfinite checks for the x and y coordinates that are
551         passed to strokeText/drawTextInternal (unlike all the other methods,
552         which got checks in r50910 and r59447).
553
554         * html/canvas/CanvasRenderingContext2D.cpp:
555         (WebCore::CanvasRenderingContext2D::drawTextInternal):
556
557 2010-12-09  Matthew Delaney  <mdelaney@apple.com>
558
559         Reviewed by Simon Fraser.
560
561         Adopt new CG API for canvas
562         https://bugs.webkit.org/show_bug.cgi?id=50591
563
564         No new tests. All current layout tests are sufficient.
565
566         * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation.
567         * html/canvas/CanvasRenderingContext2D.cpp:
568         (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms.
569         (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer.
570         * platform/graphics/ImageBuffer.h:
571         (WebCore::ImageBuffer::create): Plumb through new flag.
572         * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig.
573         * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths.
574         * platform/graphics/cg/ImageBufferData.h: Add in surface ref
575         * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig.
576         * platform/graphics/qt/ImageBufferQt.cpp: ^^
577         * platform/graphics/skia/ImageBufferSkia.cpp: ^^
578         * platform/graphics/wince/ImageBufferWinCE.cpp: ^^
579         * platform/graphics/wx/ImageBufferWx.cpp: ^^
580         * platform/mac/WebCoreSystemInterface.h: Add new method sigs
581         * platform/mac/WebCoreSystemInterface.mm: ^^
582         * rendering/RenderLayerBacking.cpp:
583         * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings.
584
585 2010-12-13  Benjamin Kalman  <kalman@chromium.org>
586
587         Reviewed by Ojan Vafai.
588
589         Shift-End does not select to the end of the line
590         https://bugs.webkit.org/show_bug.cgi?id=50610
591
592         Test: editing/selection/extend-to-line-boundary.html
593
594         * editing/SelectionController.cpp:
595         (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
596         start/end.
597         (WebCore::SelectionController::modifyExtendingForward):
598
599 2010-12-13  Adam Roben  <aroben@apple.com>
600
601         Windows build fix after r73914
602
603         * WebCore.vcproj/WebCore.vcproj: Fix malformed XML.
604
605 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
606
607         Unreviewed. Qt build fix.
608
609         * dom/ScriptExecutionContext.cpp:
610         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
611         * dom/ScriptExecutionContext.h:
612
613 2010-12-13  Mario Sanchez Prada  <msanchez@igalia.com>
614
615         Reviewed by Xan Lopez.
616
617         [Gtk] Additional support is needed for caret browsing
618         https://bugs.webkit.org/show_bug.cgi?id=25526
619
620         Enable "MoveTo{Beginninng|End}OfDocument" commands when caret
621         browsing is enabled.
622
623         This change impacts the GTK-port only as caret browsing is a
624         feature only used in that platform so far.
625
626         Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html
627
628         * editing/EditorCommand.cpp:
629         (WebCore::createCommandMap): Enable the commads when in caret browsing.
630
631 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
632
633         Unreviewed. Qt build fix.
634
635         * dom/Event.cpp:
636         (WebCore::Event::isErrorEvent):
637         * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
638         only in workers.
639
640 2010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>
641
642         Reviewed by Yury Semikhatsky.
643
644         Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
645
646         Debugger and Resources related notification functions of Inspector.idl were
647         marked as such with help of "domain" attribute. The other changes in js files
648         are reflecting this change. Some wrappers in WebInspector namespace were dropped,
649         the others were moved to DebuggerModel class.
650
651         https://bugs.webkit.org/show_bug.cgi?id=50906
652
653         * inspector/Inspector.idl:
654         * inspector/InspectorDebuggerAgent.cpp:
655         (WebCore::InspectorDebuggerAgent::didParseSource):
656         * inspector/InspectorProfilerAgent.cpp:
657         (WebCore::InspectorProfilerAgent::resetState):
658         * inspector/front-end/DOMAgent.js:
659         (WebInspector.DOMAgent.prototype.didCommitLoad):
660         * inspector/front-end/Database.js:
661         * inspector/front-end/DebuggerModel.js:
662         (WebInspector.DebuggerModel):
663         (WebInspector.DebuggerModel.prototype.pausedScript):
664         (WebInspector.DebuggerModel.prototype.resumedScript):
665         (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
666         (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
667         (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
668         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
669         (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
670         (WebInspector.DebuggerModel.prototype.didCreateWorker):
671         (WebInspector.DebuggerModel.prototype.didDestroyWorker):
672         * inspector/front-end/ProfilesPanel.js:
673         (WebInspector.ProfilesPanel):
674         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
675         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
676         * inspector/front-end/ResourceManager.js:
677         (WebInspector.ResourceManager):
678         (WebInspector.ResourceManager.prototype._unbindResourceURL):
679         (WebInspector.ResourceManager.prototype.updateDOMStorage):
680         (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
681         (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
682         (WebInspector.ResourceManager.prototype.didGetFileSystemError):
683         (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
684         (WebInspector.ResourceManager.prototype.updateNetworkState):
685         (WebInspector.ResourceManager.prototype.addDOMStorage):
686         (WebInspector.ResourceManager.prototype.selectDOMStorage):
687         (WebInspector.ResourceManager.prototype.addDatabase):
688         (WebInspector.ResourceManager.prototype.selectDatabase):
689         (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded):
690         (WebInspector.ResourceManager.prototype.sqlTransactionFailed):
691         * inspector/front-end/WorkersSidebarPane.js:
692         (WebInspector.Worker):
693         * inspector/front-end/inspector.js:
694
695 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
696
697         Unreviewed. Qt build fix. 
698
699         * dom/ErrorEvent.cpp:
700         * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
701         only in workers.
702
703 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
704
705         Reviewed by Adam Barth.
706
707         WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
708         https://bugs.webkit.org/show_bug.cgi?id=8519
709
710         Uncaught exceptions are propagated to window.onerror hander if one is present.
711         The handler is expected to be a function accepting three arguments: error message,
712         resource url and line number where the exception occured.
713
714         It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
715         were created in the same isolated world where the exception occured or not.
716
717         Tests: fast/events/window-onerror1.html
718                fast/events/window-onerror10.html
719                fast/events/window-onerror11.html
720                fast/events/window-onerror2.html
721                fast/events/window-onerror3.html
722                fast/events/window-onerror4.html
723                fast/events/window-onerror5.html
724                fast/events/window-onerror6.html
725                fast/events/window-onerror7.html
726                fast/events/window-onerror8.html
727                fast/events/window-onerror9.html
728                http/tests/security/window-onerror-exception-in-iframe.html
729                userscripts/window-onerror-for-isolated-world-1.html
730                userscripts/window-onerror-for-isolated-world-2.html
731
732         * Android.jscbindings.mk:
733         * CMakeLists.txt:
734         * GNUmakefile.am:
735         * WebCore.gypi:
736         * WebCore.order:
737         * WebCore.pro:
738         * WebCore.vcproj/WebCore.vcproj:
739         * WebCore.xcodeproj/project.pbxproj:
740         * bindings/js/JSBindingsAllInOne.cpp:
741         * bindings/js/JSDOMBinding.cpp:
742         (WebCore::reportException):
743         * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
744         (WebCore::JSErrorHandler::JSErrorHandler):
745         (WebCore::JSErrorHandler::~JSErrorHandler):
746         (WebCore::JSErrorHandler::handleEvent):
747         * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
748         (WebCore::JSErrorHandler::create):
749         (WebCore::createJSErrorHandler):
750         * bindings/scripts/CodeGeneratorJS.pm:
751         * bindings/scripts/CodeGeneratorV8.pm:
752         * bindings/v8/V8ConsoleMessage.cpp:
753         (WebCore::V8ConsoleMessage::dispatchNow):
754         (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
755         reporting mechanism which is also used by JSC bindings.
756         * bindings/v8/V8ConsoleMessage.h:
757         * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
758         (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
759         (WebCore::V8WindowErrorHandler::callListenerFunction):
760         * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
761         (WebCore::V8WindowErrorHandler::create):
762         * bindings/v8/WorkerContextExecutionProxy.cpp:
763         (WebCore::v8MessageHandler):
764         * bindings/v8/WorkerScriptController.cpp:
765         (WebCore::WorkerScriptController::evaluate):
766         * dom/Document.cpp:
767         (WebCore::Document::errorEventTarget):
768         (WebCore::Document::logExceptionToConsole):
769         * dom/Document.h:
770         * dom/ScriptExecutionContext.cpp:
771         (WebCore::ScriptExecutionContext::PendingException::PendingException):
772         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
773         (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
774         ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
775         (WebCore::ScriptExecutionContext::dispatchErrorEvent):
776         * dom/ScriptExecutionContext.h:
777         * workers/DefaultSharedWorkerRepository.cpp:
778         (WebCore::postExceptionTask):
779         * workers/WorkerContext.cpp:
780         (WebCore::WorkerContext::WorkerContext):
781         (WebCore::WorkerContext::errorEventTarget):
782         (WebCore::WorkerContext::logExceptionToConsole):
783         * workers/WorkerContext.h:
784         * workers/WorkerMessagingProxy.cpp:
785         (WebCore::WorkerExceptionTask::performTask):
786
787 2010-12-08  Alexander Pavlov  <apavlov@chromium.org>
788
789         Reviewed by Joseph Pecoraro.
790
791         Web Inspector: Enable CSS property editing name/value-wise (like Firebug does)
792         https://bugs.webkit.org/show_bug.cgi?id=50565
793
794         For CSS property editing, the property name and value have become two fields separated
795         by a colon (rather than one field containing the full property text.) A user can tab
796         between the name and value fields forward and backward. A colon typed in the name field
797         and a semicolon in the value field (unless found inside a string) act as a Tab and focus
798         the next editable field (while applying the entire property value.)
799
800         Now a user can tab through all editable styles for an element, even across rule boundaries.
801
802         * inspector/front-end/BreakpointsSidebarPane.js:
803         (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
804         * inspector/front-end/DataGrid.js:
805         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
806         (WebInspector.DataGrid.prototype._startEditing):
807         * inspector/front-end/ElementsTreeOutline.js:
808         (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
809         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
810         (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
811         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
812         * inspector/front-end/MetricsSidebarPane.js:
813         (WebInspector.MetricsSidebarPane.prototype.startEditing):
814         * inspector/front-end/ObjectPropertiesSection.js:
815         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
816         * inspector/front-end/Section.js:
817         (WebInspector.Section):
818         (WebInspector.Section.prototype.get subtitleAsTextForTest):
819         (WebInspector.Section.prototype.get nextSibling):
820         (WebInspector.Section.prototype.get previousSibling):
821         * inspector/front-end/SourceFrame.js:
822         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
823         * inspector/front-end/StylesSidebarPane.js:
824         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
825         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
826         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
827         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
828         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
829         (WebInspector.StylePropertyTreeElement.prototype.):
830         (WebInspector.StylePropertyTreeElement.prototype):
831         * inspector/front-end/TextViewer.js:
832         (WebInspector.TextViewer.prototype._handleDoubleClick):
833         * inspector/front-end/WatchExpressionsSidebarPane.js:
834         (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
835         * inspector/front-end/inspector.css:
836         (.child-editing):
837         * inspector/front-end/inspector.js:
838         (WebInspector.startEditing.defaultFinishHandler):
839         (WebInspector.startEditing):
840         * inspector/front-end/treeoutline.js:
841         (TreeElement.prototype.select):
842
843 2010-12-13  Yael Aharon  <yael.aharon@nokia.com>
844
845         Unreviewed.
846
847         Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot.
848
849         * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style.
850
851 2010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>
852
853         Unreviewed, rolling out r73898.
854         http://trac.webkit.org/changeset/73898
855         https://bugs.webkit.org/show_bug.cgi?id=50919
856
857         FileSystem and Database API's were broken (Requested by loislo
858         on #webkit).
859
860         * inspector/Inspector.idl:
861         * inspector/InspectorDebuggerAgent.cpp:
862         (WebCore::InspectorDebuggerAgent::didParseSource):
863         * inspector/InspectorProfilerAgent.cpp:
864         (WebCore::InspectorProfilerAgent::resetState):
865         * inspector/front-end/DOMAgent.js:
866         * inspector/front-end/DebuggerModel.js:
867         (WebInspector.DebuggerModel):
868         (WebInspector.DebuggerModel.prototype.debuggerPaused):
869         (WebInspector.DebuggerModel.prototype.debuggerResumed):
870         * inspector/front-end/ProfilesPanel.js:
871         (WebInspector.ProfilesPanel):
872         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
873         * inspector/front-end/ResourceManager.js:
874         (WebInspector.ResourceManager):
875         (WebInspector.ResourceManager.prototype._registerNotifyHandlers):
876         (WebInspector.ResourceManager.prototype._unbindResourceURL):
877         * inspector/front-end/inspector.js:
878         (WebInspector.addDatabase):
879         (WebInspector.addDOMStorage):
880         (WebInspector.updateDOMStorage):
881         (WebInspector.updateApplicationCacheStatus):
882         (WebInspector.didGetFileSystemPath):
883         (WebInspector.didGetFileSystemError):
884         (WebInspector.didGetFileSystemDisabled):
885         (WebInspector.updateNetworkState):
886         (WebInspector.attachDebuggerWhenShown):
887         (WebInspector.debuggerWasEnabled):
888         (WebInspector.debuggerWasDisabled):
889         (WebInspector.profilerWasEnabled):
890         (WebInspector.profilerWasDisabled):
891         (WebInspector.parsedScriptSource):
892         (WebInspector.restoredBreakpoint):
893         (WebInspector.failedToParseScriptSource):
894         (WebInspector.pausedScript):
895         (WebInspector.resumedScript):
896         (WebInspector.resetProfilesPanel):
897         (WebInspector.didCommitLoad):
898         (WebInspector.addProfileHeader):
899         (WebInspector.setRecordingProfile):
900         (WebInspector.addHeapSnapshotChunk):
901         (WebInspector.finishHeapSnapshot):
902
903 2010-12-13  Anton Muhin  <antonm@chromium.org>
904
905         Reviewed by Pavel Feldman.
906
907         [v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups
908         https://bugs.webkit.org/show_bug.cgi?id=50828
909
910         * bindings/v8/DOMData.h:
911         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
912         (WebCore::DOMData::removeObjectsFromWrapperMap):
913         * bindings/v8/DOMDataStore.h:
914         (WebCore::ChunkedTable::visit):
915         (WebCore::ChunkedTable::visitEntries):
916         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit):
917         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
918         * bindings/v8/V8DOMMap.cpp:
919         (WebCore::removeAllDOMObjectsInCurrentThread):
920         (WebCore::visitDOMNodesInCurrentThread):
921         (WebCore::visitDOMObjectsInCurrentThread):
922         (WebCore::visitActiveDOMObjectsInCurrentThread):
923         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
924         * bindings/v8/V8DOMMap.h:
925         (WebCore::WeakReferenceMap::visit):
926         * bindings/v8/V8GCController.cpp:
927         (WebCore::DOMObjectVisitor::visitDOMWrapper):
928         (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper):
929         (WebCore::GCPrologueVisitor::visitDOMWrapper):
930         (WebCore::NodeGrouperVisitor::visitDOMWrapper):
931         (WebCore::NodeGrouperVisitor::applyGrouping):
932         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
933         (WebCore::GCEpilogueVisitor::visitDOMWrapper):
934
935 2010-12-13  Zoltan Herczeg  <zherczeg@webkit.org>
936
937         Unreviewed build fix for r73894.
938
939         SVGFEImage should also check its hasResult() in its apply().
940
941         * svg/graphics/filters/SVGFEImage.cpp:
942         (WebCore::FEImage::apply):
943
944 2010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>
945
946         Reviewed by Yury Semikhatsky.
947
948         Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
949
950         Debugger and Resources related notification functions of Inspector.idl were
951         marked as such with help of "domain" attribute. The other changes in js files
952         are reflecting this change. Some wrappers in WebInspector namespace were dropped,
953         the others were moved to DebuggerModel class.
954
955         https://bugs.webkit.org/show_bug.cgi?id=50906
956
957         * inspector/Inspector.idl:
958         * inspector/InspectorDebuggerAgent.cpp:
959         (WebCore::InspectorDebuggerAgent::didParseSource):
960         * inspector/InspectorProfilerAgent.cpp:
961         (WebCore::InspectorProfilerAgent::resetState):
962         * inspector/front-end/DOMAgent.js:
963         (WebInspector.DOMAgent.prototype.didCommitLoad):
964         * inspector/front-end/DebuggerModel.js:
965         (WebInspector.DebuggerModel):
966         (WebInspector.DebuggerModel.prototype.pausedScript):
967         (WebInspector.DebuggerModel.prototype.resumedScript):
968         (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
969         (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
970         (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
971         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
972         (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
973         * inspector/front-end/ProfilesPanel.js:
974         (WebInspector.ProfilesPanel):
975         (WebInspector.ProfilesPanel.prototype.addHeapSnapshots):
976         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
977         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
978         * inspector/front-end/ResourceManager.js:
979         (WebInspector.ResourceManager):
980         (WebInspector.ResourceManager.prototype._unbindResourceURL):
981         (WebInspector.ResourceManager.prototype.updateDOMStorage):
982         (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
983         (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
984         (WebInspector.ResourceManager.prototype.didGetFileSystemError):
985         (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
986         (WebInspector.ResourceManager.prototype.updateNetworkState):
987         (WebInspector.ResourceManager.prototype.addDatabase):
988         (WebInspector.ResourceManager.prototype.addDOMStorage):
989         * inspector/front-end/inspector.js:
990
991 2010-12-13  Zoltan Herczeg  <zherczeg@webkit.org>
992
993         Reviewed by Dirk Schulze.
994
995         Better result passing in filter primitives
996         https://bugs.webkit.org/show_bug.cgi?id=49907
997
998         SVG filter primitives can use the output of other filters. The
999         input and output format of a filter can be a premultiplied or
1000         unmultiplied RGBA array, or an image buffer. All filter
1001         primitive results were converted to image buffers before, which
1002         could be an unecessary (and really costly) operation, if
1003         a filter expects its input in the same format as the output
1004         of the input filter primitive. This overhead is removed by
1005         this patch. All apply() methods are updated according to this
1006         new filter primitive interface.
1007
1008         Filters do not generate their results twice (or more) anymore,
1009         when their apply() called multiple times.
1010
1011         The existing tests cover this feature.
1012
1013         * manual-tests/svg-filter-animation.svg: Added.
1014         * platform/graphics/filters/FEBlend.cpp:
1015         (WebCore::FEBlend::apply):
1016         * platform/graphics/filters/FEColorMatrix.cpp:
1017         (WebCore::FEColorMatrix::apply):
1018         * platform/graphics/filters/FEComponentTransfer.cpp:
1019         (WebCore::FEComponentTransfer::apply):
1020         * platform/graphics/filters/FEComposite.cpp:
1021         (WebCore::FEComposite::apply):
1022         * platform/graphics/filters/FEConvolveMatrix.cpp:
1023         (WebCore::FEConvolveMatrix::apply):
1024         * platform/graphics/filters/FEDisplacementMap.cpp:
1025         (WebCore::FEDisplacementMap::apply):
1026         * platform/graphics/filters/FEFlood.cpp:
1027         (WebCore::FEFlood::apply):
1028         * platform/graphics/filters/FEGaussianBlur.cpp:
1029         (WebCore::FEGaussianBlur::apply):
1030         * platform/graphics/filters/FELighting.cpp:
1031         (WebCore::FELighting::apply):
1032         * platform/graphics/filters/FEMerge.cpp:
1033         (WebCore::FEMerge::apply):
1034         * platform/graphics/filters/FEMerge.h:
1035         * platform/graphics/filters/FEMorphology.cpp:
1036         (WebCore::FEMorphology::apply):
1037         * platform/graphics/filters/FEOffset.cpp:
1038         (WebCore::FEOffset::apply):
1039         * platform/graphics/filters/FETile.cpp:
1040         (WebCore::FETile::apply):
1041         * platform/graphics/filters/FETurbulence.cpp:
1042         (WebCore::FETurbulence::apply):
1043         * platform/graphics/filters/FilterEffect.cpp:
1044         (WebCore::FilterEffect::requestedRegionOfInputImageData):
1045         (WebCore::FilterEffect::asImageBuffer):
1046         (WebCore::FilterEffect::asUnmultipliedImage):
1047         (WebCore::FilterEffect::asPremultipliedImage):
1048         (WebCore::FilterEffect::copyImageBytes):
1049         (WebCore::FilterEffect::copyUnmultipliedImage):
1050         (WebCore::FilterEffect::copyPremultipliedImage):
1051         (WebCore::FilterEffect::createImageBufferResult):
1052         (WebCore::FilterEffect::createUnmultipliedImageResult):
1053         (WebCore::FilterEffect::createPremultipliedImageResult):
1054         * platform/graphics/filters/FilterEffect.h:
1055         (WebCore::FilterEffect::hasResult):
1056         * platform/graphics/filters/SourceAlpha.cpp:
1057         (WebCore::SourceAlpha::apply):
1058         * platform/graphics/filters/SourceGraphic.cpp:
1059         (WebCore::SourceGraphic::apply):
1060         * platform/graphics/filters/SourceGraphic.h:
1061         * rendering/RenderSVGResourceFilter.cpp:
1062         (WebCore::RenderSVGResourceFilter::postApplyResource):
1063         * svg/graphics/filters/SVGFEImage.cpp:
1064         (WebCore::FEImage::apply):
1065
1066 2010-12-13  Csaba Osztrogonác  <ossy@webkit.org>
1067
1068         Unreviewed.
1069
1070         * WebCore.pro: Remove non-existant loader/Request.h from build system.
1071
1072 2010-12-13  Noel Gordon  <noel.gordon@gmail.com>
1073
1074         Reviewed by Eric Seidel.
1075
1076         [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10%
1077         https://bugs.webkit.org/show_bug.cgi?id=50804
1078
1079         Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call
1080         viz., compute the unpremultiplatcion in-place. This reduces the run-time
1081         cost of jpeg encoding by 10-15% for my image test set.
1082
1083         No new tests: canvas.toDataURL() is covered by existing tests.
1084
1085         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
1086         (WebCore::preMultipliedBGRAtoRGB):
1087
1088 2010-12-13  Helder Correia  <helder@sencha.com>
1089
1090         Reviewed by Eric Seidel.
1091
1092         [Qt] StillImage::draw() should use ContextShadow
1093         https://bugs.webkit.org/show_bug.cgi?id=50849
1094
1095         The branch that checks for a shadow requirement in StillImage::draw()
1096         is executed when drawing a canvas onto a canvas with
1097         ctx1.drawImage(canvas2, x, y). The current implementation supports
1098         solid shadows only. And if transformations are present, the offset gets
1099         transformed as well. Thus, ContextShadow must be used instead in order
1100         to support blur and correct offset transformations.
1101
1102         Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html
1103
1104         * platform/graphics/qt/StillImageQt.cpp:
1105         (WebCore::StillImage::draw):
1106
1107 2010-12-12  Jon Honeycutt  <jhoneycutt@apple.com>
1108
1109         Unreviewed build fix.
1110
1111         * editing/EditingAllInOne.cpp:
1112         Add new file to the all-in-one.
1113
1114 2010-12-12  Jon Honeycutt  <jhoneycutt@apple.com>
1115
1116         Unreviewed build fix.
1117
1118         * WebCore.vcproj/WebCore.vcproj:
1119         Remove accidentally-committed conflict marker.
1120
1121 2010-10-28  MORITA Hajime  <morrita@google.com>
1122
1123         Reviewed by Ojan Vafai.
1124
1125         spellcheck does not check pasted text
1126         https://bugs.webkit.org/show_bug.cgi?id=40092
1127
1128         - Introduced SpellChecker class to encapsulate asynchronous spell
1129           checker state: sequence id, requesting text and target node.
1130           This is also the first step to decompose spell-check related
1131           code to a separate class.
1132         - Added EditorClient::isAsynchronousSpellCheckingEnabled() 
1133           to use async spellcheck API on the platform.
1134           These APIs are touched by SpellChecker.
1135         - Used SpellChecker to check a pasted test. Text to check is
1136           collected from the subtree under the editingRoot.
1137         - Added Setting::m_asynchronousSpellCheckingEnabled to control
1138           async spell checking.
1139
1140         Test: editing/spelling/spellcheck-paste.html
1141
1142         * CMakeLists.txt:
1143         * GNUmakefile.am:
1144         * WebCore.exp.in:
1145         * WebCore.gypi:
1146         * WebCore.pro:
1147         * WebCore.vcproj/WebCore.vcproj:
1148         * WebCore.xcodeproj/project.pbxproj:
1149         * dom/DocumentMarkerController.cpp:
1150         (WebCore::DocumentMarkerController::showMarkers):
1151         (showDocumentMarkers):
1152         * dom/DocumentMarkerController.h:
1153         * dom/PositionIterator.cpp:
1154         (WebCore::PositionIterator::setOffsetInLeafNode):
1155         * dom/PositionIterator.h:
1156         * editing/Editor.cpp:
1157         (WebCore::Editor::replaceSelectionWithFragment):
1158         (WebCore::Editor::Editor):
1159         (WebCore::findFirstMarkable):
1160         (WebCore::Editor::selectionStartHasSpellingMarkerFor):
1161         * editing/Editor.h:
1162         (WebCore::Editor::spellChecker):
1163         * editing/SpellChecker.cpp: Added.
1164         (WebCore::SpellChecker::SpellChecker):
1165         (WebCore::SpellChecker::~SpellChecker):
1166         (WebCore::SpellChecker::initRequest):
1167         (WebCore::SpellChecker::clearRequest):
1168         (WebCore::SpellChecker::isAsynchronousEnabled):
1169         (WebCore::SpellChecker::canCheckAsynchronously):
1170         (WebCore::SpellChecker::isBusy):
1171         (WebCore::SpellChecker::isValid):
1172         (WebCore::SpellChecker::isCheckable):
1173         (WebCore::SpellChecker::requestCheckingFor):
1174         (WebCore::forwardIterator):
1175         (WebCore::SpellChecker::didCheck):
1176         * editing/SpellChecker.h: Added.
1177         (WebCore::SpellCheckingResult::SpellCheckingResult):
1178         (WebCore::SpellCheckingResult::type):
1179         (WebCore::SpellCheckingResult::location):
1180         (WebCore::SpellCheckingResult::length):
1181         * loader/EmptyClients.h:
1182         (WebCore::EmptyEditorClient::requestCheckingOfString):
1183         * page/EditorClient.h:
1184         * page/Settings.cpp:
1185         (WebCore::Settings::Settings):
1186         * page/Settings.h:
1187         (WebCore::Settings::setAsynchronousSpellCheckingEnabled):
1188         (WebCore::Settings::asynchronousSpellCheckingEnabled):
1189
1190 2010-12-09  Antonio Gomes  <agomes@rim.com>
1191
1192         Reviewed by Daniel Bates.
1193
1194         Spatial Navigation: code clean up (part II)
1195         https://bugs.webkit.org/show_bug.cgi?id=50666
1196
1197         No new tests needed.
1198
1199         * page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from
1200         the top of FocusController.cpp, and added the 'static' keyword where the function is implemented;
1201         * page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it;
1202         (WebCore::FocusCandidate::FocusCandidate):
1203         (WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node';
1204         * page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones;
1205         Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp;
1206         And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore.
1207
1208 2010-12-12  Philippe Normand  <pnormand@igalia.com>
1209
1210         Reviewed by Xan Lopez.
1211
1212         build-webkit --gtk --minimal fails
1213         https://bugs.webkit.org/show_bug.cgi?id=46267
1214
1215         No new tests, build fix only.
1216
1217         * GNUmakefile.am: Include some JS bindings generated headers in
1218         the build even if their corresponding feature is disabled. They
1219         are needed to make the DOM bindings build.
1220
1221 2010-12-12  Sam Magnuson  <smagnuso@gmail.com>
1222
1223         Reviewed by Eric Seidel.
1224
1225         [Qt] Compile with QT_NO_QUUID_STRING.
1226         https://bugs.webkit.org/show_bug.cgi?id=49745
1227
1228         * platform/UUID.cpp:
1229         (WebCore::createCanonicalUUIDString):
1230
1231 2010-12-12  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
1232
1233         Reviewed by Eric Seidel.
1234
1235         [Qt] Missing style for date pickers on Qt Mobile theme
1236         https://bugs.webkit.org/show_bug.cgi?id=50628
1237
1238         * css/themeQtMobile.css:
1239
1240 2010-12-11  Alice Liu  <alice.liu@apple.com>
1241
1242         Mac build fix.
1243
1244         * platform/network/mac/ResourceResponseMac.mm:
1245         (WebCore::ResourceResponse::platformLazyInit):
1246         Resolve string[0] ambiguity by passing 0U.
1247
1248 2010-12-11  Adam Barth  <abarth@webkit.org>
1249
1250         Reviewed by Sam Weinig.
1251
1252         [V8] Move to DOMWindow::setLocation
1253         https://bugs.webkit.org/show_bug.cgi?id=50876
1254
1255         Recently, JavaScriptCore moved to implementing setLocation in WebCore.
1256         This patch change V8 to use that common code path.  I haven't removed
1257         the old code path because it's still used for other things (like
1258         assigning window.location.href), but I'll move the rest over in a
1259         future patch.
1260
1261         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1262         (WebCore::V8DOMWindow::locationAccessorSetter):
1263         * bindings/v8/specialization/V8BindingState.cpp:
1264         (WebCore::::getFirstWindow):
1265         * bindings/v8/specialization/V8BindingState.h:
1266
1267 2010-10-11  Diego Gonzalez  <diegohcg@webkit.org>
1268
1269         Reviewed by Kenneth Rohde Christiansen.
1270
1271         [Qt] Mock DeviceOrientation client for DRT
1272         https://bugs.webkit.org/show_bug.cgi?id=47490
1273
1274         * WebCore.pro:
1275
1276 2010-12-11  Joone Hur  <joone@kldp.org>
1277
1278         Reviewed by Alexey Proskuryakov.
1279
1280         enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch
1281         https://bugs.webkit.org/show_bug.cgi?id=50871
1282
1283         Fix the warning which occurs when enumeration value is not handled in switch.
1284
1285         No new tests, no change in behavior.
1286
1287         * bindings/js/JSXMLHttpRequestCustom.cpp:
1288         (WebCore::JSXMLHttpRequest::response):
1289
1290 2010-12-11  Patrick Gansterer  <paroga@webkit.org>
1291
1292         Reviewed by Darin Adler.
1293
1294         Add an overload to makeString for Vector<char>
1295         https://bugs.webkit.org/show_bug.cgi?id=50123
1296
1297         This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.
1298
1299         * platform/graphics/cg/ImageBufferCG.cpp:
1300         (WebCore::ImageBuffer::toDataURL):
1301         * platform/graphics/gtk/ImageBufferGtk.cpp:
1302         (WebCore::ImageBuffer::toDataURL):
1303         * platform/graphics/haiku/ImageBufferHaiku.cpp:
1304         (WebCore::ImageBuffer::toDataURL):
1305         * platform/graphics/skia/ImageBufferSkia.cpp:
1306         (WebCore::ImageBuffer::toDataURL):
1307
1308 2010-12-10  Alexey Proskuryakov  <ap@apple.com>
1309
1310         Mac build fix.
1311
1312         * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
1313         Resolve string[0] ambiguity by passing 0U.
1314
1315 2010-12-10  Steve Falkenburg  <sfalken@apple.com>
1316
1317         Windows production build fix.
1318         
1319         Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts.
1320
1321         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
1322         * WebCore.vcproj/build-generated-files.sh:
1323
1324 2010-12-10  John Knottenbelt  <jknotten@chromium.org>
1325
1326         Reviewed by Eric Seidel.
1327
1328         Remove WebCore/platform/mac/GeolocationService.{h,mm}
1329         https://bugs.webkit.org/show_bug.cgi?id=50074
1330
1331         Remove unused non-client-based geolocation code.
1332
1333         * platform/mac/GeolocationServiceMac.h: Removed.
1334         * platform/mac/GeolocationServiceMac.mm: Removed.
1335
1336 2010-12-10  Alexey Proskuryakov  <ap@apple.com>
1337
1338         Reviewed by Darin Adler.
1339
1340         https://bugs.webkit.org/show_bug.cgi?id=46573
1341         <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work
1342
1343         Test: http/tests/mime/quoted-charset.php
1344
1345         * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
1346         * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
1347         Work around a CFNetwork issue, strip quotes if they are present.
1348
1349 2010-12-10  Vincent Scheib  <scheib@chromium.org>
1350
1351         Reviewed by James Robinson.
1352
1353         Shader::loadShader() must initialize variable passed to getShaderiv
1354         https://bugs.webkit.org/show_bug.cgi?id=50842
1355
1356         Test: fast/canvas/canvas-largedraws.html
1357
1358         * platform/graphics/gpu/Shader.cpp:
1359         (WebCore::Shader::loadShader):
1360
1361 2010-12-10  Vincent Scheib  <scheib@chromium.org>
1362
1363         Reviewed by James Robinson.
1364
1365         Texture::updateSubRect should pass IntRect by reference
1366         https://bugs.webkit.org/show_bug.cgi?id=50845
1367
1368         No test, changing to pass by ref.
1369
1370         * platform/graphics/gpu/Texture.cpp:
1371         (WebCore::Texture::updateSubRect):
1372         * platform/graphics/gpu/Texture.h:
1373
1374 2010-12-10  Darin Adler  <darin@apple.com>
1375
1376         Reviewed by Sam Weinig.
1377
1378         Move open and showModalDialog implementations from bindings into DOM class DOMWindow
1379         https://bugs.webkit.org/show_bug.cgi?id=50836
1380
1381         * bindings/js/JSDOMWindowCustom.cpp:
1382         (WebCore::JSDOMWindow::open): Removed most of the code and changed to call
1383         DOMWindow::open.
1384         (WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the
1385         arguments and return value in showModalDialog.
1386         (WebCore::DialogHandler::dialogCreated): Ditto.
1387         (WebCore::DialogHandler::returnValue): Ditto.
1388         (WebCore::setUpDialog): Added. Function passed to showModalDialog that just
1389         casts pointer to DialogHandler can calls dialogCreated.
1390         (WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed
1391         to call DOMWindow::showModalDialog.
1392         (WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by
1393         renaming local variables and getting rid of a needless ones.
1394
1395         * page/DOMWindow.cpp:
1396         (WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function
1397         to the WindowFeatures class.
1398         (WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame,
1399         because that's the frame we pass in here. Also added an overload so this can be
1400         called on a window rather than a frame.
1401         (WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are
1402         the same as in open and showModalDialog. Factored the JavaScript security check
1403         into a new function named isInsecureScriptAccess.
1404         (WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function.
1405         (WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and
1406         showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp
1407         used to.
1408         (WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the
1409         JavaScript language binding part, and with a bit of refactoring to share code
1410         with the rest of the DOMWindow class.
1411         (WebCore::DOMWindow::showModalDialog): Ditto.
1412
1413         * page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs
1414         in alphabetical order so they are not scattered thorugh the file. Removed redundant
1415         includes. Added some blank lines for clarity. Added an open function and a
1416         showModalDialog function. Added private createWindow and isInsecureScriptAccess
1417         functions.
1418
1419         * page/WindowFeatures.cpp:
1420         (WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity.
1421         (WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty
1422         instead of checking length. Added a new constructor for use when making dialogs,
1423         with code from the showModalDialog function.
1424         (WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef.
1425         (WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef.
1426         Renamed a local variable and tweaked the comments a bit.
1427         (WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from
1428         DOMWindow::parseDialogFeatures and refactored a bit.
1429
1430         * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures
1431         function, DialogFeaturesMap typedef, and made setWindowFeature function private.
1432
1433 2010-12-10  Chris Fleizach  <cfleizach@apple.com>
1434
1435         Reviewed by Darin Adler.
1436
1437         AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
1438         https://bugs.webkit.org/show_bug.cgi?id=50574
1439
1440         Refactors accessibility hit testing to allow for a more flexible model when handling elements
1441         with fake sub-elements (like sliders or list boxes).
1442
1443         Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root
1444         accessibility render object. Then subclassers are able to override 
1445         elementAccessibilityHitTest to return their own specific elements.
1446
1447         * accessibility/AccessibilityListBox.cpp:
1448         (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
1449         * accessibility/AccessibilityListBox.h:
1450         * accessibility/AccessibilityObject.h:
1451         (WebCore::AccessibilityObject::accessibilityHitTest):
1452         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
1453         * accessibility/AccessibilityRenderObject.cpp:
1454         (WebCore::AccessibilityRenderObject::accessibilityHitTest):
1455         * accessibility/AccessibilityRenderObject.h:
1456         * accessibility/AccessibilitySlider.cpp:
1457         (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
1458         * accessibility/AccessibilitySlider.h:
1459         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1460         (webkit_accessible_component_ref_accessible_at_point):
1461         * accessibility/mac/AccessibilityObjectWrapper.mm:
1462         (-[AccessibilityObjectWrapper accessibilityHitTest:]):
1463
1464 2010-12-10  Kenneth Russell  <kbr@google.com>
1465
1466         Reviewed by Darin Adler.
1467
1468         Clean up assertion in Extensions3DOpenGL.cpp
1469         https://bugs.webkit.org/show_bug.cgi?id=50852
1470
1471         Built Release mode to test. No functionality change.
1472
1473         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1474         (WebCore::Extensions3DOpenGL::ensureEnabled):
1475
1476 2010-12-10  Cosmin Truta  <ctruta@chromium.org>
1477
1478         Reviewed by Eric Seidel.
1479
1480         Crash while processing ill-formed <textPath> ouside of <text>
1481         https://bugs.webkit.org/show_bug.cgi?id=47759
1482
1483         Renderers within a <text> subtree are created only when their corresponding elements
1484         satisfy the content model.
1485
1486         Test: svg/custom/invalid-text-content.svg
1487
1488         * svg/SVGTRefElement.cpp:
1489         (WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model.
1490         (WebCore::SVGTRefElement::rendererIsNeeded): Added.
1491         * svg/SVGTRefElement.h:
1492         * svg/SVGTSpanElement.cpp:
1493         (WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model.
1494         (WebCore::SVGTSpanElement::rendererIsNeeded): Added.
1495         * svg/SVGTSpanElement.h: Changed indentation.
1496         * svg/SVGTextElement.cpp:
1497         (WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted.
1498         * svg/SVGTextPathElement.cpp:
1499         (WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model.
1500         (WebCore::SVGTextPathElement::rendererIsNeeded): Added.
1501         * svg/SVGTextPathElement.h:
1502
1503 2010-12-10  Zhenyao Mo  <zmo@google.com>
1504
1505         Reviewed by Adam Barth.
1506
1507         Use enums instead of booleans in ImageSource/ImageDecoder constructors
1508         https://bugs.webkit.org/show_bug.cgi?id=50818
1509
1510         This patch basically defines two enum type in ImageSource: AlphaOption
1511         and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder
1512         constructor parameters instead of boolean typs.
1513
1514         * platform/graphics/ImageSource.cpp:
1515         (WebCore::ImageSource::ImageSource):
1516         (WebCore::ImageSource::setData):
1517         * platform/graphics/ImageSource.h: Define the two enum types.
1518         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1519         (WebCore::GraphicsContext3D::getImageData):
1520         * platform/graphics/cg/ImageSourceCG.cpp:
1521         (WebCore::ImageSource::ImageSource):
1522         * platform/graphics/qt/ImageDecoderQt.cpp:
1523         (WebCore::ImageDecoder::create):
1524         (WebCore::ImageDecoderQt::ImageDecoderQt):
1525         * platform/graphics/qt/ImageDecoderQt.h:
1526         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
1527         (WebCore::GraphicsContext3D::getImageData):
1528         * platform/image-decoders/ImageDecoder.cpp:
1529         (WebCore::ImageDecoder::create):
1530         * platform/image-decoders/ImageDecoder.h:
1531         (WebCore::ImageDecoder::ImageDecoder):
1532         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
1533         (WebCore::BMPImageDecoder::BMPImageDecoder):
1534         * platform/image-decoders/bmp/BMPImageDecoder.h:
1535         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1536         (WebCore::GIFImageDecoder::GIFImageDecoder):
1537         * platform/image-decoders/gif/GIFImageDecoder.h:
1538         * platform/image-decoders/ico/ICOImageDecoder.cpp:
1539         (WebCore::ICOImageDecoder::ICOImageDecoder):
1540         (WebCore::ICOImageDecoder::decodeAtIndex):
1541         * platform/image-decoders/ico/ICOImageDecoder.h:
1542         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1543         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
1544         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1545         * platform/image-decoders/png/PNGImageDecoder.cpp:
1546         (WebCore::PNGImageDecoder::PNGImageDecoder):
1547         * platform/image-decoders/png/PNGImageDecoder.h:
1548         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1549         (WebCore::WEBPImageDecoder::WEBPImageDecoder):
1550         * platform/image-decoders/webp/WEBPImageDecoder.h:
1551
1552 2010-12-10  Ryosuke Niwa  <rniwa@webkit.org>
1553
1554         Reviewed by Darin Adler.
1555
1556         REGRESSION(r73799): editing/execCommand/4920488.html fails
1557         https://bugs.webkit.org/show_bug.cgi?id=50854
1558
1559         The regression was caused by Range::processContents's not extracting
1560         m_end.container()->firstChild(). Fixed the bug by always adding the first child.
1561
1562         * dom/Range.cpp:
1563         (WebCore::Range::processContents):
1564
1565 2010-12-10  Adam Barth  <abarth@webkit.org>
1566
1567         Reviewed by Eric Seidel.
1568
1569         REGRESSION: Infinite redirect on developer.apple.com
1570         https://bugs.webkit.org/show_bug.cgi?id=45627
1571
1572         Tests: fast/loader/form-submit-aborts-parsing.html
1573                fast/loader/location-change-aborts-parsing.html
1574
1575         This patch is not pretty, but it fixes the bug.  I stole this approach
1576         from the old HTML parser (as suggested by Eric Seidel).  The other
1577         approaches that folks tried for this bug are better, but it's inclear
1578         how to get them to work correctly.  I've added a large FIXME comment.
1579
1580         * html/parser/HTMLDocumentParser.cpp:
1581         (WebCore::HTMLDocumentParser::pumpTokenizer):
1582         * html/parser/HTMLTreeBuilder.h:
1583         (WebCore::HTMLTreeBuilder::isParsingFragment):
1584
1585 2010-12-10  Brian Weinstein  <bweinstein@apple.com>
1586
1587         Reviewed by Ada Chan.
1588
1589         When we are creating a ContextMenuItem, only call setSubMenu if we have
1590         a subMenu to set.
1591
1592         * platform/ContextMenuItem.cpp:
1593         (WebCore::ContextMenuItem::ContextMenuItem):
1594
1595 2010-12-10  Kenneth Russell  <kbr@google.com>
1596
1597         Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed
1598         for Release builds.
1599
1600         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1601
1602 2010-12-10  Kenneth Russell  <kbr@google.com>
1603
1604         Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG.
1605
1606         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1607         (WebCore::Extensions3DOpenGL::ensureEnabled):
1608
1609 2010-12-10  Kenneth Russell  <kbr@google.com>
1610
1611         Reviewed by James Robinson.
1612
1613         Implement extension entry points and remove EXTENSIONS enum
1614         https://bugs.webkit.org/show_bug.cgi?id=40316
1615
1616         Implemented WebGLRenderingContext's getSupportedExtensions and
1617         getExtensions entry points, and, to verify them, added support for
1618         the first specified WebGL extension, OES_texture_float. This
1619         extension is now advertised in the Chromium and WebKit ports when
1620         the underlying hardware supports it.
1621
1622         The new OES_texture_float test in the WebGL conformance suite
1623         verifies the allocation and population of floating point textures,
1624         and their use as render targets. However, because this extension
1625         is optional, it is not easily testable with a layout test; there
1626         is only one set of expectations for a given test, and two would be
1627         needed, one when the extension is available and one when it is not.
1628
1629         Tested with the oes-texture-float.html WebGL conformance test in
1630         Chromium and WebKit on Mac OS X on hardware that supports the
1631         extension. Also verified with a configuration that does not
1632         advertise the extension that this same test passes.
1633
1634         * CMakeLists.txt:
1635         * DerivedSources.make:
1636         * GNUmakefile.am:
1637         * WebCore.gypi:
1638         * WebCore.pri:
1639         * WebCore.pro:
1640         * WebCore.xcodeproj/project.pbxproj:
1641         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1642         (WebCore::toJS):
1643         (WebCore::JSWebGLRenderingContext::markChildren):
1644         (WebCore::JSWebGLRenderingContext::getExtension):
1645         (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
1646         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1647         (WebCore::toV8Object):
1648         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
1649         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
1650         * html/canvas/OESTextureFloat.cpp: Added.
1651         (WebCore::OESTextureFloat::OESTextureFloat):
1652         (WebCore::OESTextureFloat::~OESTextureFloat):
1653         (WebCore::OESTextureFloat::getName):
1654         (WebCore::OESTextureFloat::create):
1655         * html/canvas/OESTextureFloat.h: Added.
1656         * html/canvas/OESTextureFloat.idl: Added.
1657         * html/canvas/WebGLExtension.cpp: Added.
1658         (WebCore::WebGLExtension::WebGLExtension):
1659         (WebCore::WebGLExtension::~WebGLExtension):
1660         * html/canvas/WebGLExtension.h: Added.
1661         * html/canvas/WebGLRenderingContext.cpp:
1662         (WebCore::WebGLRenderingContext::getExtension):
1663         (WebCore::WebGLRenderingContext::getSupportedExtensions):
1664         (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
1665         (WebCore::WebGLRenderingContext::validateTexFuncData):
1666         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
1667         (WebCore::WebGLRenderingContext::getExtensionNumber):
1668         * html/canvas/WebGLRenderingContext.h:
1669         * html/canvas/WebGLRenderingContext.idl:
1670         * platform/graphics/Extensions3D.h:
1671         * platform/graphics/GraphicsContext3D.cpp:
1672         (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
1673         (WebCore::GraphicsContext3D::extractTextureData):
1674         (WebCore::doUnpackingAndPacking):
1675         (WebCore::doPacking):
1676         (WebCore::doFloatingPointPacking):
1677         (WebCore::GraphicsContext3D::packPixels):
1678         * platform/graphics/GraphicsContext3D.h:
1679         * platform/graphics/chromium/Extensions3DChromium.h:
1680         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1681         (WebCore::Extensions3DOpenGL::supports):
1682         (WebCore::Extensions3DOpenGL::ensureEnabled):
1683         * platform/graphics/opengl/Extensions3DOpenGL.h:
1684         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1685         (WebCore::GraphicsContext3D::texImage2D):
1686         * platform/graphics/qt/Extensions3DQt.cpp:
1687         (WebCore::Extensions3DQt::ensureEnabled):
1688         * platform/graphics/qt/Extensions3DQt.h:
1689
1690 2010-12-10  Darin Adler  <darin@apple.com>
1691
1692         Try to fix Windows build.
1693
1694         * dom/Range.cpp:
1695         (WebCore::Range::processContents): Put typedef of NodeVector inside the function
1696         instead of at the top of the file, since the use is restricted to this function.
1697         There's another NodeVector in ContainerNode.cpp.
1698
1699 2010-12-09  Brian Weinstein  <bweinstein@apple.com>
1700
1701         Reviewed by Adam Roben.
1702
1703         Prep for WebKit2: Context menu support on Windows
1704         https://bugs.webkit.org/show_bug.cgi?id=50514
1705         
1706         Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems
1707         were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to
1708         be to work in WebKit2.
1709         
1710         This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform
1711         representation of context menus. This patch also has Windows adopt them.
1712         
1713         Cross-platform context menus change the API of context menus and the ContextMenuClient. There
1714         is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed
1715         by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked
1716         title, action, type, and submenu).
1717         
1718         This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems
1719         function to allow for customization of the context menu.
1720         
1721         For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from
1722         a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done
1723         in ContextMenuWin.cpp and ContextMenuItemWin.cpp.
1724
1725         No new tests, no change in behavior.
1726
1727         * WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now).
1728         * loader/EmptyClients.h:
1729         (WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS
1730             is on.
1731         * page/ContextMenuClient.h: Ditto. 
1732         * page/ContextMenuController.cpp:
1733         (WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of 
1734             getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on.
1735         * platform/ContextMenu.cpp: Added.
1736         (WebCore::ContextMenu::ContextMenu): Empty constructor.
1737         (WebCore::ContextMenu::setItems): Sets the items in the menu.
1738         (WebCore::ContextMenu::items): Returns the items in the menu.
1739         (WebCore::ContextMenu::itemAtIndex):
1740         (WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending
1741             into submenus.
1742         (WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu.
1743         * platform/ContextMenu.h: Added a new set of functions and member variables that are defined for
1744             CROSS_PLATFORM_CONTEXT_MENUS.
1745         (WebCore::ContextMenu::appendItem): Appends an item to the menu.
1746         * platform/ContextMenuItem.cpp: Added.
1747         (WebCore::ContextMenuItem::ContextMenuItem):
1748         (WebCore::ContextMenuItem::~ContextMenuItem):
1749         (WebCore::ContextMenuItem::setSubMenu):
1750         * platform/ContextMenuItem.h:
1751         (WebCore::ContextMenuItem::type): Returns the type.
1752         (WebCore::ContextMenuItem::setType): Sets the type.
1753         (WebCore::ContextMenuItem::action): Returns the action.
1754         (WebCore::ContextMenuItem::setAction): Sets the action.
1755         (WebCore::ContextMenuItem::title): Returns the title.
1756         (WebCore::ContextMenuItem::setTitle): Sets the title.
1757         (WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked.
1758         (WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked.
1759         (WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled.
1760         (WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled.
1761         (WebCore::ContextMenuItem::submenu): Returns the submenu.
1762         * platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if 
1763             CROSS_PLATFORM_CONTEXT_MENUS is on.
1764         * platform/win/ContextMenuItemWin.cpp:
1765         (WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO.
1766         (WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO.
1767         * platform/win/ContextMenuWin.cpp:
1768         (WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU.
1769         (WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU.
1770
1771 2010-12-10  Emil Eklund  <eae@chromium.org>
1772
1773         Reviewed by Adam Barth.
1774
1775         Fix crash in ReplaceSelectionCommand::doApply when selection is modified
1776         during execution.
1777         https://bugs.webkit.org/show_bug.cgi?id=50840
1778
1779         Test: editing/execCommand/insertHTML-mutation-crash.html
1780
1781         * editing/ReplaceSelectionCommand.cpp:
1782         (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
1783         Replaced raw node pointer with RefPtr.
1784         
1785         (WebCore::ReplaceSelectionCommand::doApply):
1786         Replaced raw node pointer with RefPtr and added null check.
1787
1788 2010-12-10  Emil Eklund  <eae@chromium.org>
1789
1790         Reviewed by Adam Barth.
1791
1792         Fix crash in Range::processContents when modified during mutation event.
1793         https://bugs.webkit.org/show_bug.cgi?id=50710
1794
1795         Test: fast/dom/Range/range-extractContents.html
1796
1797         * dom/Range.cpp:
1798         (WebCore::Range::processContents):
1799         Replace raw pointers with RefPtrs and add checks.
1800
1801 2010-12-09  Enrica Casucci  <enrica@apple.com>
1802
1803         Reviewed by Alexey Proskuryakov.
1804
1805         Implement IME support for Mac.
1806         <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
1807         https://bugs.webkit.org/show_bug.cgi?id=50788
1808
1809         * dom/KeyboardEvent.h:
1810         (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor,
1811         since it is now used for more than one command.
1812
1813 2010-12-10  Jessie Berlin  <jberlin@apple.com>
1814
1815         Windows build fix. Unreviewed.
1816
1817         * WebCore.vcproj/WebCore.vcproj:
1818         Remove duplicate </File> tag.
1819
1820 2010-12-09  Jenn Braithwaite  <jennb@chromium.org>
1821
1822         Reviewed by Adam Barth.
1823
1824         TextResourceDecoder::checkForHeadCharset can look way past the limit.
1825         https://bugs.webkit.org/show_bug.cgi?id=47397
1826
1827         Replaced charset detection algorithm with real parser.
1828         Added tests for parser bugs mentioned in the thread for this bug report.
1829         Converted hixie's encoding parsing tests to a layout test.
1830
1831         Tests: fast/encoding/bracket-in-script.html
1832                fast/encoding/bracket-in-tag.html
1833                fast/encoding/escaped-bracket.html
1834                fast/encoding/meta-in-body.html
1835                fast/encoding/meta-in-script.html
1836                fast/encoding/meta-in-title.html
1837                fast/encoding/mismatched-end-tag.html
1838                fast/encoding/namespace-meta.html
1839                fast/encoding/not-http-equiv-content.html
1840                fast/encoding/parser-tests.html
1841                fast/encoding/quotes-in-title.html
1842                fast/encoding/tag-name-digit.html
1843                http/tests/misc/charset-sniffer-end-sniffing.html
1844
1845         * Android.mk:
1846         * CMakeLists.txt:
1847         * GNUmakefile.am:
1848         * WebCore.gypi:
1849         * WebCore.pro:
1850         * WebCore.vcproj/WebCore.vcproj:
1851         * WebCore.xcodeproj/project.pbxproj:
1852         * html/parser/HTMLMetaCharsetParser.cpp: Added.
1853         (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
1854         (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser):
1855         (WebCore::HTMLMetaCharsetParser::extractCharset):
1856         (WebCore::HTMLMetaCharsetParser::processMeta):
1857         (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
1858         * html/parser/HTMLMetaCharsetParser.h: Added.
1859         (WebCore::HTMLMetaCharsetParser::create):
1860         (WebCore::HTMLMetaCharsetParser::encoding):
1861         * loader/TextResourceDecoder.cpp:
1862         (WebCore::TextResourceDecoder::checkForHeadCharset):
1863         (WebCore::TextResourceDecoder::checkForMetaCharset):
1864         * loader/TextResourceDecoder.h:
1865
1866 2010-12-10 Nate Chapin  <japhet@chromium.org>
1867
1868         Reviewed by Antti Koivisto.
1869
1870         Merge Loader and Request. Currently, Loader is a singleton attached
1871         to MemoryCache. Our goal is to remove knowledge of the loading process
1872         from MemoryCache, so we should attach Loader to CachedResourceLoader instead.
1873         Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton,
1874         which removes the main reason for Request existing as a separate class (to store per-request
1875         state that Loader couldn't).
1876
1877         Loader will be given a more descriptive name in a later patch.
1878
1879         https://bugs.webkit.org/show_bug.cgi?id=49837
1880
1881         Refactor only, no new tests.
1882
1883         * Android.mk:
1884         * CMakeLists.txt:
1885         * GNUmakefile.am:
1886         * WebCore.gypi:
1887         * WebCore.pro:
1888         * loader/FrameLoader.cpp:
1889         * loader/Request.cpp:
1890         * loader/Request.h:
1891         * loader/cache/CachedFont.cpp:
1892         * loader/cache/CachedImage.cpp:
1893         * loader/cache/CachedResource.cpp:
1894         * loader/cache/CachedResource.h:
1895         * loader/cache/CachedResourceLoader.cpp:
1896         (WebCore::CachedResourceLoader::CachedResourceLoader):
1897         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1898         (WebCore::CachedResourceLoader::requestImage):
1899         (WebCore::CachedResourceLoader::setAutoLoadImages):
1900         (WebCore::CachedResourceLoader::load):
1901         (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false),
1902             plus other CachedResourceLoader cleanup that had been handled in Loader.
1903         (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader.
1904         (WebCore::CachedResourceLoader::requestCount):
1905         * loader/cache/CachedResourceLoader.h:
1906         (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true)
1907         * loader/cache/MemoryCache.h:
1908         * loader/loader.cpp:
1909         (WebCore::Loader::Loader):
1910         (WebCore::Loader::~Loader):
1911         (WebCore::Loader::load):
1912         (WebCore::Loader::willSendRequest):
1913         (WebCore::Loader::didFinishLoading):
1914         (WebCore::Loader::didFail):
1915         (WebCore::Loader::didReceiveResponse):
1916         (WebCore::Loader::didReceiveData):
1917         (WebCore::Loader::didReceiveCachedMetadata):
1918         * loader/loader.h:
1919         (WebCore::Loader::cachedResourceLoader):
1920
1921 2010-12-10  Martin Robinson  <mrobinson@igalia.com>
1922
1923         Unreviewed, rolling out r73703.
1924         http://trac.webkit.org/changeset/73703
1925         https://bugs.webkit.org/show_bug.cgi?id=49658
1926
1927         This patch is causing crashes on the GTK+ bots.
1928
1929         * platform/ContextMenuItem.h:
1930         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
1931         * platform/gtk/ContextMenuGtk.cpp:
1932         (WebCore::ContextMenu::appendItem):
1933         * platform/gtk/ContextMenuItemGtk.cpp:
1934         (WebCore::ContextMenuItem::ContextMenuItem):
1935         (WebCore::ContextMenuItem::~ContextMenuItem):
1936         (WebCore::ContextMenuItem::createNativeMenuItem):
1937         (WebCore::ContextMenuItem::releasePlatformDescription):
1938         (WebCore::ContextMenuItem::type):
1939         (WebCore::ContextMenuItem::setType):
1940         (WebCore::ContextMenuItem::action):
1941         (WebCore::ContextMenuItem::setAction):
1942         (WebCore::ContextMenuItem::title):
1943         (WebCore::ContextMenuItem::setTitle):
1944         (WebCore::ContextMenuItem::platformSubMenu):
1945         (WebCore::ContextMenuItem::setSubMenu):
1946         (WebCore::ContextMenuItem::setChecked):
1947         (WebCore::ContextMenuItem::setEnabled):
1948
1949 2010-12-08  Mihai Parparita  <mihaip@chromium.org>
1950
1951         Reviewed by Darin Adler.
1952
1953         fast/canvas/canvas-getImageData-negative-source.html fails on Mac
1954         https://bugs.webkit.org/show_bug.cgi?id=47901
1955
1956         Test: fast/canvas/canvas-getImageData-rounding.html
1957         
1958         static_cast<unsigned> is generally not what we want in
1959         convertLogicalToDevice. It produces inconsistent results when compiling
1960         for 32-bit vs. 64-bit, and in any case we weren't getting correct
1961         rounding behavior for source rectangles (e.g. we should get a source rect
1962         of width 2 if the source X is 0.9 and the source width is 0.2, but we
1963         were getting only one of width 1).
1964
1965         * html/HTMLCanvasElement.cpp:
1966         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
1967         (WebCore::HTMLCanvasElement::convertToValidDeviceSize):
1968         * html/HTMLCanvasElement.h:
1969
1970 2010-12-10  Hironori Bono  <hbono@chromium.org>
1971
1972         Reviewed by Ojan Vafai.
1973
1974         [Chromium] Use libjpeg-turbo instead of libjpeg
1975         https://bugs.webkit.org/show_bug.cgi?id=50054
1976
1977         This change replaces the hard-coded path to the GYP files of the JPEG
1978         library with a 'libjpeg_gyp_path' variable, which is added by Chromium
1979         r68453. (When building WebKit Chromium, this change sets its value to
1980         '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing
1981         the current behavior.)
1982
1983         No new tests since this does not change the code at all.
1984
1985         * WebCore.gyp/WebCore.gyp:
1986
1987 2010-12-10  Chris Marrin  <cmarrin@apple.com>
1988
1989         Reviewed by Simon Fraser.
1990
1991         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
1992         https://bugs.webkit.org/show_bug.cgi?id=49388
1993
1994         Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside
1995         the implementation.
1996
1997         * platform/graphics/ca/GraphicsLayerCA.cpp:
1998         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
1999         * platform/graphics/ca/PlatformCAAnimation.h:
2000         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2001         (hasNonZeroBeginTimeFlag):
2002         (setNonZeroBeginTimeFlag):
2003         (PlatformCAAnimation::PlatformCAAnimation):
2004         (PlatformCAAnimation::setBeginTime):
2005
2006 2010-12-10  Pavel Podivilov  <podivilov@chromium.org>
2007
2008         Reviewed by Pavel Feldman.
2009
2010         Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor.
2011         https://bugs.webkit.org/show_bug.cgi?id=50679
2012
2013         * inspector/front-end/Script.js:
2014         * inspector/front-end/ScriptView.js:
2015         (WebInspector.ScriptView):
2016         * inspector/front-end/ScriptsPanel.js:
2017         (WebInspector.ScriptsPanel.prototype.reset):
2018         * inspector/front-end/SourceFrame.js:
2019         (WebInspector.SourceFrame):
2020         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
2021         (WebInspector.SourceFrame.prototype._breakpointAdded):
2022         (WebInspector.SourceFrame.prototype._doEditLine):
2023         (WebInspector.SourceFrame.prototype._commitEditLine):
2024         (WebInspector.SourceFrame.prototype._breakpoints):
2025         (WebInspector.SourceFrame.prototype._sourceIDForLine):
2026         * inspector/front-end/SourceView.js:
2027         (WebInspector.SourceView):
2028
2029 2010-12-10  Andreas Kling  <kling@webkit.org>
2030
2031         Reviewed by Eric Seidel.
2032
2033         Don't do GraphicsContext save/restore just to preserve the CompositeOperator
2034         https://bugs.webkit.org/show_bug.cgi?id=50070
2035
2036         Add GraphicsContext::compositeOperation() so we don't have to do a full
2037         save/restore if the only context-tainting call is setCompositeOperation().
2038
2039         GraphicsContext::setCompositeOperation() now stores the op in its state
2040         and calls a port-specific setPlatformCompositeOperation().
2041
2042         No new tests, this is an optimization.
2043
2044         * platform/graphics/GraphicsContext.cpp:
2045         (WebCore::GraphicsContext::setCompositeOperation):
2046         (WebCore::GraphicsContext::compositeOperation):
2047         * platform/graphics/GraphicsContext.h:
2048         * platform/graphics/GraphicsContextPrivate.h:
2049         (WebCore::GraphicsContextState::GraphicsContextState):
2050         * platform/graphics/Image.cpp:
2051         (WebCore::Image::fillWithSolidColor):
2052         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2053         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2054         * platform/graphics/cg/GraphicsContextCG.cpp:
2055         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2056         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2057         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2058         * platform/graphics/mac/GraphicsContextMac.mm:
2059         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2060         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2061         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2062         * platform/graphics/qt/GraphicsContextQt.cpp:
2063         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2064         * platform/graphics/skia/GraphicsContextSkia.cpp:
2065         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2066         * platform/graphics/skia/SkiaUtils.cpp:
2067         (WebCore::WebCoreCompositeToSkiaComposite):
2068         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2069         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2070         * platform/graphics/wx/GraphicsContextWx.cpp:
2071         (WebCore::GraphicsContext::setPlatformCompositeOperation):
2072         * rendering/RenderBoxModelObject.cpp:
2073         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2074         * rendering/RenderView.cpp:
2075         (WebCore::RenderView::paintBoxDecorations):
2076
2077 2010-12-10  Renata Hodovan  <reni@webkit.org>
2078
2079         Reviewed by Andreas Kling.
2080
2081         GraphicsContext: Merge m_common and m_data
2082         https://bugs.webkit.org/show_bug.cgi?id=49914
2083
2084         Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
2085         and m_common became unnecessary. They are removed.
2086         Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
2087         make the constructor of GraphicsContext clearer.
2088         Besides add a getter to the private GraphicsContext::m_state member, because some inline
2089         functions in cairo need it.
2090
2091         No new test is needed, because this is a refactoring.
2092
2093         * WebCore.xcodeproj/project.pbxproj:
2094         * platform/graphics/GraphicsContext.cpp:
2095         (WebCore::GraphicsContext::GraphicsContext):
2096         (WebCore::GraphicsContext::~GraphicsContext):
2097         (WebCore::GraphicsContext::save):
2098         (WebCore::GraphicsContext::restore):
2099         (WebCore::GraphicsContext::setStrokeThickness):
2100         (WebCore::GraphicsContext::setStrokeStyle):
2101         (WebCore::GraphicsContext::setStrokeColor):
2102         (WebCore::GraphicsContext::setShadow):
2103         (WebCore::GraphicsContext::clearShadow):
2104         (WebCore::GraphicsContext::getShadow):
2105         (WebCore::GraphicsContext::strokeThickness):
2106         (WebCore::GraphicsContext::strokeStyle):
2107         (WebCore::GraphicsContext::strokeColor):
2108         (WebCore::GraphicsContext::strokeColorSpace):
2109         (WebCore::GraphicsContext::fillRule):
2110         (WebCore::GraphicsContext::setFillRule):
2111         (WebCore::GraphicsContext::setFillColor):
2112         (WebCore::GraphicsContext::fillColor):
2113         (WebCore::GraphicsContext::fillColorSpace):
2114         (WebCore::GraphicsContext::setShouldAntialias):
2115         (WebCore::GraphicsContext::shouldAntialias):
2116         (WebCore::GraphicsContext::state):
2117         (WebCore::GraphicsContext::setStrokePattern):
2118         (WebCore::GraphicsContext::setFillPattern):
2119         (WebCore::GraphicsContext::setStrokeGradient):
2120         (WebCore::GraphicsContext::setFillGradient):
2121         (WebCore::GraphicsContext::fillGradient):
2122         (WebCore::GraphicsContext::strokeGradient):
2123         (WebCore::GraphicsContext::fillPattern):
2124         (WebCore::GraphicsContext::strokePattern):
2125         (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
2126         (WebCore::GraphicsContext::updatingControlTints):
2127         (WebCore::GraphicsContext::setUpdatingControlTints):
2128         (WebCore::GraphicsContext::setPaintingDisabled):
2129         (WebCore::GraphicsContext::paintingDisabled):
2130         (WebCore::GraphicsContext::textDrawingMode):
2131         (WebCore::GraphicsContext::setTextDrawingMode):
2132         * platform/graphics/GraphicsContext.h:
2133         (WebCore::GraphicsContextState::GraphicsContextState):
2134         * platform/graphics/GraphicsContextPrivate.h: Removed.
2135         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2136         (WebCore::setPlatformFill):
2137         (WebCore::setPlatformStroke):
2138         (WebCore::drawPathShadow):
2139         (WebCore::fillCurrentCairoPath):
2140         (WebCore::strokeCurrentCairoPath):
2141         (WebCore::GraphicsContext::platformInit):
2142         (WebCore::GraphicsContext::platformDestroy):
2143         (WebCore::GraphicsContext::fillPath):
2144         (WebCore::GraphicsContext::strokePath):
2145         (WebCore::GraphicsContext::fillRect):
2146         (WebCore::GraphicsContext::setPlatformShadow):
2147         (WebCore::GraphicsContext::strokeRect):
2148         (WebCore::GraphicsContext::setAlpha):
2149         (WebCore::GraphicsContext::getAlpha):
2150         * platform/graphics/cg/GraphicsContextCG.cpp:
2151         (WebCore::GraphicsContext::platformInit):
2152         (WebCore::GraphicsContext::platformDestroy):
2153         (WebCore::GraphicsContext::applyStrokePattern):
2154         (WebCore::GraphicsContext::applyFillPattern):
2155         (WebCore::GraphicsContext::drawPath):
2156         (WebCore::GraphicsContext::fillPath):
2157         (WebCore::GraphicsContext::strokePath):
2158         (WebCore::GraphicsContext::fillRect):
2159         (WebCore::GraphicsContext::setPlatformShadow):
2160         (WebCore::GraphicsContext::strokeRect):
2161         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2162         (WebCore::GraphicsContext::platformInit):
2163         (WebCore::GraphicsContext::platformDestroy):
2164         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2165         (WebCore::GraphicsContext::platformInit):
2166         (WebCore::GraphicsContext::platformDestroy):
2167         (WebCore::GraphicsContext::fillPath):
2168         (WebCore::GraphicsContext::strokePath):
2169         (WebCore::GraphicsContext::clip):
2170         (WebCore::GraphicsContext::clipOut):
2171         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2172         * platform/graphics/qt/GraphicsContextQt.cpp:
2173         (WebCore::GraphicsContext::platformInit):
2174         (WebCore::GraphicsContext::platformDestroy):
2175         (WebCore::GraphicsContext::fillPath):
2176         (WebCore::GraphicsContext::strokePath):
2177         (WebCore::GraphicsContext::fillRect):
2178         (WebCore::GraphicsContext::setPlatformShadow):
2179         * platform/graphics/skia/GraphicsContextSkia.cpp:
2180         (WebCore::GraphicsContext::platformInit):
2181         (WebCore::GraphicsContext::platformDestroy):
2182         (WebCore::GraphicsContext::fillPath):
2183         (WebCore::GraphicsContext::setPlatformShadow):
2184         * platform/graphics/win/GraphicsContextCGWin.cpp:
2185         (WebCore::GraphicsContext::GraphicsContext):
2186         (WebCore::GraphicsContext::platformInit):
2187         * platform/graphics/win/GraphicsContextCairoWin.cpp:
2188         (WebCore::GraphicsContext::GraphicsContext):
2189         (WebCore::GraphicsContext::platformInit):
2190         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2191         (WebCore::GraphicsContext::platformInit):
2192         (WebCore::GraphicsContext::platformDestroy):
2193         (WebCore::GraphicsContext::fillPath):
2194         (WebCore::GraphicsContext::fillRect):
2195         * platform/graphics/wx/GraphicsContextWx.cpp:
2196         (WebCore::GraphicsContext::platformInit):
2197         (WebCore::GraphicsContext::platformDestroy):
2198
2199 2010-12-10  Pavel Podivilov  <podivilov@chromium.org>
2200
2201         Reviewed by Yury Semikhatsky.
2202
2203         Web Inspector: introduce a pair of set/remove methods for each breakpoint type.
2204         https://bugs.webkit.org/show_bug.cgi?id=50809
2205
2206         * inspector/Inspector.idl:
2207         * inspector/InspectorController.cpp:
2208         (WebCore::InspectorController::InspectorController):
2209         (WebCore::InspectorController::setEventListenerBreakpoint):
2210         (WebCore::InspectorController::removeEventListenerBreakpoint):
2211         (WebCore::InspectorController::hasEventListenerBreakpoint):
2212         (WebCore::InspectorController::setXHRBreakpoint):
2213         (WebCore::InspectorController::removeXHRBreakpoint):
2214         (WebCore::InspectorController::hasXHRBreakpoint):
2215         (WebCore::InspectorController::clearNativeBreakpoints):
2216         * inspector/InspectorController.h:
2217         * inspector/InspectorDOMAgent.cpp:
2218         (WebCore::InspectorDOMAgent::setDOMBreakpoint):
2219         (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
2220         (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
2221         (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
2222         (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
2223         (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
2224         (WebCore::InspectorDOMAgent::didRemoveDOMNode):
2225         * inspector/InspectorDOMAgent.h:
2226         * inspector/InspectorInstrumentation.cpp:
2227         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2228         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2229         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2230         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2231         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2232         * inspector/front-end/BreakpointManager.js:
2233         (WebInspector.BreakpointManager):
2234         (WebInspector.NativeBreakpoint):
2235         (WebInspector.DOMBreakpoint):
2236         (WebInspector.EventListenerBreakpoint):
2237         (WebInspector.XHRBreakpoint):
2238         * inspector/front-end/CallStackSidebarPane.js:
2239         (WebInspector.CallStackSidebarPane):
2240         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
2241         * inspector/front-end/DebuggerModel.js:
2242         (WebInspector.DebuggerModel.prototype.debuggerPaused):
2243
2244 2010-12-10  Adam Roben  <aroben@apple.com>
2245
2246         Windows production build fix after r72555
2247
2248         * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use
2249         "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the
2250         .vsprops files, rather than $(WebKitLibrariesDir).
2251
2252 2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2253
2254         Reviewed by nobody, build fix.
2255
2256         [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710.
2257
2258         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
2259         (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
2260         (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest):
2261         * platform/network/qt/QtNAMThreadSafeProxy.h:
2262
2263 2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2264
2265         Reviewed by nobody, build fix.
2266
2267         [Qt] Fix the build with Qt 4.6 broken in 73710.
2268
2269         * platform/network/qt/QtNAMThreadSafeProxy.cpp:
2270         (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
2271         * platform/network/qt/QtNAMThreadSafeProxy.h:
2272
2273 2010-12-10  Emil Eklund  <eae@chromium.org>
2274
2275         Reviewed by Eric Seidel.
2276
2277         Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal
2278         https://bugs.webkit.org/show_bug.cgi?id=49982
2279
2280         * page/EventHandler.cpp:
2281         (WebCore::EventHandler::dispatchMouseEvent):
2282         Walk up DOM/hosted tree rather than render tree.
2283
2284 2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2285
2286         Reviewed by Kenneth Rohde Christiansen.
2287
2288         [Qt] Support a QNetworkAccessManager affined to a different thread.
2289         https://bugs.webkit.org/show_bug.cgi?id=50080
2290
2291         This patch introduce thread safe proxy classes for QNetworkAccessManager
2292         and QNetworkReply.
2293         If run in the same thread, these objects will forward the calls with
2294         Qt::DirectConnection bindings, while in the other case they will use
2295         Qt::QueuedConnection to carry requests accross threads.
2296
2297         This patch basically:
2298         - Makes sure that all access goes through these objects
2299         - Reorders signal connections to make sure we are connected when the
2300           signal comes
2301         - Makes sure that no QObject in the WebCore thread is a child of the
2302           reply which might be in a different thread.
2303         - Forward the data directly in QByteArrays in signals instead of collecting
2304           the data when the signal is handled.
2305
2306         New test: tst_QWebPage::networkAccessManagerOnDifferentThread
2307
2308         * WebCore.pro:
2309         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2310         (WebCore::MediaPlayerPrivateQt::commitLoad):
2311         * platform/network/qt/QNetworkReplyHandler.cpp:
2312         (WebCore::FormDataIODevice::FormDataIODevice):
2313         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2314         (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler):
2315         (WebCore::QNetworkReplyHandler::setLoadMode):
2316         (WebCore::QNetworkReplyHandler::abort):
2317         (WebCore::QNetworkReplyHandler::release):
2318         (WebCore::ignoreHttpError):
2319         (WebCore::QNetworkReplyHandler::finish):
2320         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2321         (WebCore::QNetworkReplyHandler::forwardData):
2322         (WebCore::QNetworkReplyHandler::start):
2323         (WebCore::QNetworkReplyHandler::sendQueuedItems):
2324         * platform/network/qt/QNetworkReplyHandler.h:
2325         * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added.
2326         * platform/network/qt/QtNAMThreadSafeProxy.h: Added.
2327         * platform/network/qt/ResourceHandleQt.cpp:
2328         (WebCore::ResourceHandle::willLoadFromCache):
2329         * platform/qt/CookieJarQt.cpp:
2330         (WebCore::networkAccessManager):
2331         (WebCore::setCookies):
2332         (WebCore::cookies):
2333         (WebCore::cookieRequestHeaderFieldValue):
2334         (WebCore::cookiesEnabled):
2335
2336 2010-12-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2337
2338         Reviewed by Kenneth Rohde Christiansen.
2339
2340         [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes.
2341         https://bugs.webkit.org/show_bug.cgi?id=50761
2342
2343         This patch change the order to check if m_reply is null instead,
2344         explicitly deleting the reply before calling start() for a redirect,
2345         or after calling didFinishLoading()/didFail() in other cases.
2346
2347         * platform/network/qt/QNetworkReplyHandler.cpp:
2348         (WebCore::QNetworkReplyHandler::finish):
2349
2350 2010-12-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2351
2352         Reviewed by Kenneth Rohde Christiansen.
2353
2354         [Qt] Make sure we send the response before any data.
2355         https://bugs.webkit.org/show_bug.cgi?id=50760
2356
2357         This patch make sure the data available flag is set before
2358         we call sendResponseIfNeeded.
2359
2360         * platform/network/qt/QNetworkReplyHandler.cpp:
2361         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2362         (WebCore::QNetworkReplyHandler::finish):
2363         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2364         (WebCore::QNetworkReplyHandler::forwardData):
2365         (WebCore::QNetworkReplyHandler::resetState):
2366         * platform/network/qt/QNetworkReplyHandler.h:
2367
2368 2010-12-10  Koan-Sin Tan  <koansin.tan@gmail.com>
2369
2370         Reviewed by Dan Bernstein.
2371
2372         Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
2373         https://bugs.webkit.org/show_bug.cgi?id=50668
2374
2375         No new tests. Note that, as said in the bug report discussion,
2376         I did have a test case for the bug. However, to show the test 
2377         case you need some "broken" Microsoft copyrighted fonts, such
2378         as DFKai-SB.
2379
2380         * platform/graphics/Font.cpp:
2381         (WebCore::Font::isCJKIdeograph):
2382
2383 2010-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2384
2385         Reviewed by Martin Robinson.
2386
2387         [GTK] Simplify context-menu handling code
2388         https://bugs.webkit.org/show_bug.cgi?id=49658
2389
2390         * platform/ContextMenuItem.h:
2391         * platform/gtk/ContextMenuGtk.cpp:
2392         (WebCore::ContextMenu::appendItem):
2393         * platform/gtk/ContextMenuItemGtk.cpp:
2394         (WebCore::ContextMenuItem::ContextMenuItem):
2395         (WebCore::ContextMenuItem::~ContextMenuItem):
2396         (WebCore::ContextMenuItem::releasePlatformDescription):
2397         (WebCore::ContextMenuItem::type):
2398         (WebCore::ContextMenuItem::setType):
2399         (WebCore::ContextMenuItem::action):
2400         (WebCore::ContextMenuItem::setAction):
2401         (WebCore::ContextMenuItem::title):
2402         (WebCore::ContextMenuItem::setTitle):
2403         (WebCore::ContextMenuItem::platformSubMenu):
2404         (WebCore::ContextMenuItem::setSubMenu):
2405         (WebCore::ContextMenuItem::setChecked):
2406         (WebCore::ContextMenuItem::setEnabled):
2407
2408 2010-12-10  Philippe Normand  <pnormand@igalia.com>
2409
2410         Reviewed by Gustavo Noronha Silva.
2411
2412         [GStreamer] un-needed methods
2413         https://bugs.webkit.org/show_bug.cgi?id=50805
2414
2415         No new tests, code cleanup only.
2416
2417         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2418         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2419
2420 2010-12-10  Philippe Normand  <pnormand@igalia.com>
2421
2422         Reviewed by Gustavo Noronha Silva.
2423
2424         [GStreamer] data: source could also support non-base64 encoded URIs
2425         https://bugs.webkit.org/show_bug.cgi?id=30007
2426
2427         Removed our ancient implementation of dataurisrc. We should now
2428         use the one in gst-plugins-bad which is more mature.
2429
2430         * GNUmakefile.am:
2431         * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed.
2432         * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed.
2433         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2434         (WebCore::doGstInit):
2435
2436 2010-12-10  Zoltan Herczeg  <zherczeg@webkit.org>
2437
2438         Reviewed by Eric Seidel.
2439
2440         [Qt] Fix crashes in debug mode
2441         https://bugs.webkit.org/show_bug.cgi?id=49976
2442
2443         The m_methods hashmap of QtInstance contains InternalFunctions
2444         whose depend on the current RuntimeObject. When we recreate the
2445         RuntimeObject, we should also reset this hashmap.
2446
2447         * bridge/qt/qt_instance.cpp:
2448         (JSC::Bindings::QtInstance::newRuntimeObject):
2449
2450 2010-12-10  François Sausset  <sausset@gmail.com>
2451
2452         Reviewed by Eric Seidel.
2453
2454         MathML: update baselinePosition() call in RenderMathMLBlock.cpp 
2455         https://bugs.webkit.org/show_bug.cgi?id=50540
2456
2457         The call of baselinePosition() is outdated: new arguments added.
2458
2459         * mathml/RenderMathMLBlock.cpp:
2460         (WebCore::RenderMathMLBlock::paint):
2461
2462 2010-12-10  Hans Wennborg  <hans@chromium.org>
2463
2464         Reviewed by Jeremy Orlow.
2465
2466         IndexedDB: Numeric keys are floats.
2467         https://bugs.webkit.org/show_bug.cgi?id=50674
2468
2469         Use floating point to represent numeric keys,
2470         add version meta data to the SQLite db,
2471         and migrate object stores that use integers.
2472
2473         * bindings/v8/IDBBindingUtilities.cpp:
2474         (WebCore::createIDBKeyFromValue):
2475         * bindings/v8/custom/V8IDBKeyCustom.cpp:
2476         (WebCore::toV8):
2477         * storage/IDBFactoryBackendImpl.cpp:
2478         (WebCore::createTables):
2479         (WebCore::migrateDatabase):
2480         (WebCore::IDBFactoryBackendImpl::open):
2481         * storage/IDBKey.cpp:
2482         (WebCore::IDBKey::IDBKey):
2483         (WebCore::IDBKey::fromQuery):
2484         (WebCore::IDBKey::bind):
2485         (WebCore::IDBKey::bindWithNulls):
2486         * storage/IDBKey.h:
2487         (WebCore::IDBKey::create):
2488         (WebCore::IDBKey::number):
2489
2490 2010-12-10  Martin Robinson  <mrobinson@igalia.com>
2491
2492         Reviewed by Xan Lopez.
2493
2494         [Gtk] style="font-family: courier" makes text disappear
2495         https://bugs.webkit.org/show_bug.cgi?id=47452
2496
2497         Don't ever use fonts that do not have any of the three charmaps that
2498         Fontconfig supports (Unicode, Apple Roman and Symbol). If we select
2499         a font that doesn't have one of these charmaps, use the next font in
2500         the list.
2501
2502         Test: platform/gtk/fonts/font-with-no-valid-encoding.html
2503
2504         * platform/graphics/freetype/FontCacheFreeType.cpp:
2505         (WebCore::FontCache::createFontPlatformData): Check whether the
2506         font we selected has a valid Fontconfig charmap.
2507         * platform/graphics/freetype/FontPlatformData.h: Added new method definition.
2508         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2509         (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which
2510         verifies that a font has a valid Fontconfig charmap.
2511
2512 2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
2513
2514         Reviewed by Ojan Vafai.
2515
2516         Make DOM Mutation Events Asynchronous
2517         https://bugs.webkit.org/show_bug.cgi?id=46936
2518
2519         Implemented DOM mutations events as scoped events. A scoped event is an event whose
2520         dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
2521         EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
2522         on its constructor and destructor respectively.
2523
2524         When the scoping level is 0 (initial level), scoped events are dispatched as soon as
2525         they are enqueued and act like synchronous events. When the scoping level is greater than 0,
2526         however, events are queued in ScopedEventQueue and their dispatches are delayed until
2527         the scoping level goes back to 0 (by the destruction of EventQueueScope).
2528
2529         DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
2530         DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
2531         scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
2532         of the events until the completion of each call of EditCommand::doApply.
2533
2534         Test: fast/events/mutation/execCommands.html
2535
2536         * Android.mk: Added ScopedEventQueue.cpp.
2537         * CMakeLists.txt: Ditto.
2538         * WebCore.pro: Ditto.
2539         * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
2540         * WebCore.gypi:  Ditto.
2541         * WebCore.vcproj/project.vcproj: Ditto.
2542         * WebCore.xcodeproj/project.pbxproj: Ditto.
2543         * dom/ContainerNode.cpp:
2544         (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
2545         (WebCore::dispatchChildRemovalEvents): Ditto.
2546         * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
2547         * dom/Element.cpp:
2548         (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
2549         (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
2550         * dom/Node.cpp:
2551         (WebCore::Node::dispatchScopedEvent): Added.
2552         (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
2553         * dom/Node.h:
2554         * dom/ScopedEventQueue.cpp: Added.
2555         (WebCore::ScopedEventQueue::initialize): Added.
2556         (WebCore::ScopedEventQueue::enqueueEvent): Added.
2557         (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
2558         (WebCore::ScopedEventQueue::dispatchEvent): Added.
2559         (WebCore::ScopedEventQueue::instance): Added.
2560         (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
2561         (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
2562         * dom/ScopedEventQueue.h: Added.
2563         (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
2564         (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
2565         (WebCore::EventQueueScope::EventQueueScope): Added.
2566         (WebCore::EventQueueScope::~EventQueueScope): Added.
2567         * editing/EditCommand.cpp:
2568         (WebCore::EditCommand::apply): Instantiates EventQueueScope.
2569
2570 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2571
2572         Unreviewed, rolling out r73684.
2573         http://trac.webkit.org/changeset/73684
2574         https://bugs.webkit.org/show_bug.cgi?id=50801
2575
2576         "missing bug number" (Requested by rniwa on #webkit).
2577
2578         * Android.mk:
2579         * CMakeLists.txt:
2580         * GNUmakefile.am:
2581         * WebCore.gypi:
2582         * WebCore.pro:
2583         * WebCore.vcproj/WebCore.vcproj:
2584         * WebCore.xcodeproj/project.pbxproj:
2585         * dom/ContainerNode.cpp:
2586         (WebCore::dispatchChildInsertionEvents):
2587         (WebCore::dispatchChildRemovalEvents):
2588         * dom/DOMAllInOne.cpp:
2589         * dom/Element.cpp:
2590         (WebCore::Element::dispatchAttrRemovalEvent):
2591         (WebCore::Element::dispatchAttrAdditionEvent):
2592         * dom/Node.cpp:
2593         (WebCore::Node::dispatchSubtreeModifiedEvent):
2594         (WebCore::Node::dispatchUIEvent):
2595         * dom/Node.h:
2596         * dom/ScopedEventQueue.cpp: Removed.
2597         * dom/ScopedEventQueue.h: Removed.
2598         * editing/EditCommand.cpp:
2599         (WebCore::EditCommand::apply):
2600
2601 2010-12-09  Qi Zhang  <qi.2.zhang@nokia.com>
2602
2603         Reviewed by Kenneth Rohde Christiansen.
2604
2605         [Qt] enable orientation flag when QtMobility available
2606         https://bugs.webkit.org/show_bug.cgi?id=50781
2607
2608         When QtMobility available, enable orientation flag by default.
2609
2610         * features.pri:
2611
2612 2010-12-09  Kenichi Ishibashi  <bashi@google.com>
2613
2614         Reviewed by Kent Tamura.
2615
2616         Improve validation API support of <object> and <keygen>
2617         https://bugs.webkit.org/show_bug.cgi?id=50663
2618
2619         Adds validation API to HTMLObjectElement class.
2620         Makes HTMLKeygenElement::willValidate() return false.
2621
2622         Test: fast/forms/setCustomValidity-existence.html
2623
2624         * html/HTMLKeygenElement.h:
2625         (WebCore::HTMLKeygenElement::willValidate): Added.
2626         * html/HTMLObjectElement.h:
2627         (WebCore::HTMLObjectElement::validationMessage): Added.
2628         (WebCore::HTMLObjectElement::checkValidity): Added.
2629         (WebCore::HTMLObjectElement::setCustomValidity): Added.
2630         * html/HTMLObjectElement.idl: Added validation API properties.
2631
2632 2010-12-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>
2633
2634         Reviewed by Kent Tamura.
2635
2636         Make sure a non-zero value is used for tile-width to avoid a crash
2637         https://bugs.webkit.org/show_bug.cgi?id=50341
2638
2639         The scaled tile width can be very small at times (e.g. with 'style: font 1
2640         required'). So use a minimum width of 1 instead of using 0 (which leads to a
2641         crash).
2642
2643         Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html
2644
2645         * rendering/RenderThemeChromiumSkia.cpp:
2646         (WebCore::RenderThemeChromiumSkia::paintProgressBar):
2647
2648 2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>
2649
2650         Reviewed by Ojan Vafai.
2651
2652         Implemented DOM mutations events as scoped events. A scoped event is an event whose
2653         dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
2654         EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
2655         on its constructor and destructor respectively.
2656
2657         When the scoping level is 0 (initial level), scoped events are dispatched as soon as
2658         they are enqueued and act like synchronous events. When the scoping level is greater than 0,
2659         however, events are queued in ScopedEventQueue and their dispatches are delayed until
2660         the scoping level goes back to 0 (by the destruction of EventQueueScope).
2661
2662         DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
2663         DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
2664         scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
2665         of the events until the completion of each call of EditCommand::doApply.
2666
2667         Test: fast/events/mutation/execCommands.html
2668
2669         * Android.mk: Added ScopedEventQueue.cpp.
2670         * CMakeLists.txt: Ditto.
2671         * WebCore.pro: Ditto.
2672         * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
2673         * WebCore.gypi:  Ditto.
2674         * WebCore.vcproj/project.vcproj: Ditto.
2675         * WebCore.xcodeproj/project.pbxproj: Ditto.
2676         * dom/ContainerNode.cpp:
2677         (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
2678         (WebCore::dispatchChildRemovalEvents): Ditto.
2679         * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
2680         * dom/Element.cpp:
2681         (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
2682         (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
2683         * dom/Node.cpp:
2684         (WebCore::Node::dispatchScopedEvent): Added.
2685         (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
2686         * dom/Node.h:
2687         * dom/ScopedEventQueue.cpp: Added.
2688         (WebCore::ScopedEventQueue::initialize): Added.
2689         (WebCore::ScopedEventQueue::enqueueEvent): Added.
2690         (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
2691         (WebCore::ScopedEventQueue::dispatchEvent): Added.
2692         (WebCore::ScopedEventQueue::instance): Added.
2693         (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
2694         (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
2695         * dom/ScopedEventQueue.h: Added.
2696         (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
2697         (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
2698         (WebCore::EventQueueScope::EventQueueScope): Added.
2699         (WebCore::EventQueueScope::~EventQueueScope): Added.
2700         * editing/EditCommand.cpp:
2701         (WebCore::EditCommand::apply): Instantiates EventQueueScope.
2702
2703 2010-12-09  Sam Weinig  <sam@webkit.org>
2704
2705         Reviewed by Gavin Barraclough.
2706
2707         Fix scrolling with mouse wheel in WebKit2 views.  Once
2708         we coalesce wheel events, we can re-enable this.
2709
2710         * platform/mac/ScrollAnimatorMac.mm:
2711         (WebCore::ScrollAnimatorMac::scroll):
2712
2713 2010-12-09  Abhishek Arya  <inferno@chromium.org>
2714
2715         Reviewed by James Robinson.
2716
2717         For details element, ensure that if we ended up being inline that we set out replaced
2718         flag so that we are treated like an inline block.
2719         https://bugs.webkit.org/show_bug.cgi?id=50671
2720
2721         Test: fast/html/details-element-render-inline-crash.html
2722
2723         * rendering/RenderDetails.cpp:
2724         (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
2725         * rendering/RenderDetails.h: function definition.
2726
2727 2010-12-09  Jasmin Lapalme  <jlapalme@druide.com>
2728
2729         Reviewed by Alexey Proskuryakov.
2730
2731         Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
2732         https://bugs.webkit.org/show_bug.cgi?id=50708
2733
2734         Test: fast/xsl/utf8-chunks.xml
2735
2736         * xml/XSLTProcessorLibxslt.cpp:
2737         (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character.
2738
2739 2010-12-09  Vincent Scheib  <scheib@chromium.org>
2740
2741         Reviewed by James Robinson.
2742
2743         Clip update rectangle for Texture::updateSubRect to texture size
2744         https://bugs.webkit.org/show_bug.cgi?id=49929
2745
2746         Test: fast/canvas/canvas-largedraws.html
2747
2748         * platform/graphics/gpu/Texture.cpp:
2749         (WebCore::Texture::updateSubRect):
2750
2751 2010-12-09  Kenneth Russell  <kbr@google.com>
2752
2753         Unreviewed. Another speculative Gtk build fix after r73669. Add
2754         needed derived sources to GNUmakefile.am.
2755
2756         * GNUmakefile.am:
2757
2758 2010-12-09  Kenneth Russell  <kbr@google.com>
2759
2760         Unreviewed. Speculative Gtk build fix after
2761         https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
2762         all of the WebGL classes' IDL files.
2763
2764         * CMakeLists.txt:
2765
2766 2010-12-09  Zhenyao Mo  <zmo@google.com>
2767
2768         Reviewed by Kenneth Russell.
2769
2770         Expose constructor functions for instanceof checks of WebGL objects
2771         https://bugs.webkit.org/show_bug.cgi?id=36512
2772
2773         Test: fast/canvas/webgl/instanceof-test.html
2774
2775         * bindings/generic/RuntimeEnabledFeatures.h:
2776         (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled):
2777         (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled):
2778         (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled):
2779         (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled):
2780         (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled):
2781         (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled):
2782         (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled):
2783         (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled):
2784         * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor.
2785         * html/canvas/WebGLBuffer.idl: Ditto.
2786         * html/canvas/WebGLFramebuffer.idl: Ditto.
2787         * html/canvas/WebGLProgram.idl: Ditto.
2788         * html/canvas/WebGLRenderbuffer.idl: Ditto.
2789         * html/canvas/WebGLShader.idl: Ditto.
2790         * html/canvas/WebGLTexture.idl: Ditto.
2791         * html/canvas/WebGLUniformLocation.idl: Ditto.
2792         * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow.
2793
2794 2010-12-09  Timothy Hatcher  <timothy@apple.com>
2795
2796         Export Color::white and Color::transparent.
2797
2798         Reviewed by Anders Carlsson.
2799
2800         * WebCore.exp.in:
2801
2802 2010-12-09  Sam Weinig  <sam@webkit.org>
2803
2804         Fix failing Mac tests.
2805
2806         * platform/mac/ScrollAnimatorMac.mm:
2807         (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
2808         AppleScrollAnimationEnabled is false.
2809
2810 2010-12-09  James Robinson  <jamesr@chromium.org>
2811
2812         Reviewed by Kenneth Russell.
2813
2814         [chromium] Compositor needs to manage its VRAM use
2815         https://bugs.webkit.org/show_bug.cgi?id=49629
2816
2817         This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
2818         used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
2819         RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
2820         Video, and WebGL) and the root layer are still unmanaged.
2821
2822         The TextureManager works by providing tokens to callers that want to use a managed texture.
2823         The token can be used to request a texture, see if the previously requested texture is still
2824         available, and to protect/unprotect textures when they cannot be collected.  Whenever a
2825         texture is created the manager attempts to free up the least recently used textures until the
2826         total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
2827         limit it will not return any new textures until some old textures are released.
2828
2829         A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
2830         previously requested texture is still available for use and reserve the LayerTexture's underlying
2831         storage between the updateContentsIfDirty() and the draw() call.
2832
2833         Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
2834         updateContentsIfDirty().
2835
2836         Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
2837                platform/chromium/compositing/lots-of-img-layers.html
2838
2839         * WebCore.gypi:
2840         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2841         (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
2842         * platform/graphics/chromium/Canvas2DLayerChromium.h:
2843         * platform/graphics/chromium/ContentLayerChromium.cpp:
2844         (WebCore::ContentLayerChromium::cleanupResources):
2845         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2846         (WebCore::ContentLayerChromium::updateTextureRect):
2847         (WebCore::ContentLayerChromium::draw):
2848         * platform/graphics/chromium/ContentLayerChromium.h:
2849         * platform/graphics/chromium/ImageLayerChromium.cpp:
2850         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2851         * platform/graphics/chromium/ImageLayerChromium.h:
2852         * platform/graphics/chromium/LayerChromium.h:
2853         (WebCore::LayerChromium::updateContentsIfDirty):
2854         (WebCore::LayerChromium::draw):
2855         * platform/graphics/chromium/LayerRendererChromium.cpp:
2856         (WebCore::LayerRendererChromium::LayerRendererChromium):
2857         (WebCore::LayerRendererChromium::useShader):
2858         (WebCore::LayerRendererChromium::prepareToDrawLayers):
2859         (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
2860         (WebCore::LayerRendererChromium::drawLayers):
2861         (WebCore::LayerRendererChromium::getFramebufferPixels):
2862         (WebCore::LayerRendererChromium::createLayerTexture):
2863         (WebCore::LayerRendererChromium::deleteLayerTexture):
2864         (WebCore::LayerRendererChromium::updateLayersRecursive):
2865         (WebCore::LayerRendererChromium::useRenderSurface):
2866         (WebCore::LayerRendererChromium::drawLayer):
2867         (WebCore::LayerRendererChromium::setScissorToRect):
2868         (WebCore::LayerRendererChromium::setDrawViewportRect):
2869         (WebCore::LayerRendererChromium::initializeSharedObjects):
2870         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2871         * platform/graphics/chromium/LayerRendererChromium.h:
2872         (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
2873         (WebCore::LayerRendererChromium::textureManager):
2874         * platform/graphics/chromium/LayerTexture.cpp: Added.
2875         (WebCore::LayerTexture::LayerTexture):
2876         (WebCore::LayerTexture::~LayerTexture):
2877         (WebCore::LayerTexture::isValid):
2878         (WebCore::LayerTexture::reserve):
2879         (WebCore::LayerTexture::unreserve):
2880         (WebCore::LayerTexture::bindTexture):
2881         (WebCore::LayerTexture::framebufferTexture2D):
2882         * platform/graphics/chromium/LayerTexture.h: Added.
2883         (WebCore::LayerTexture::create):
2884         * platform/graphics/chromium/PluginLayerChromium.cpp:
2885         (WebCore::PluginLayerChromium::updateContentsIfDirty):
2886         * platform/graphics/chromium/PluginLayerChromium.h:
2887         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2888         (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
2889         (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
2890         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
2891         (WebCore::RenderSurfaceChromium::cleanupResources):
2892         (WebCore::RenderSurfaceChromium::prepareContentsTexture):
2893         (WebCore::RenderSurfaceChromium::draw):
2894         * platform/graphics/chromium/RenderSurfaceChromium.h:
2895         (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
2896         (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
2897         (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
2898         (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
2899         (WebCore::RenderSurfaceChromium::SharedValues::initialized):
2900         * platform/graphics/chromium/TextureManager.cpp: Added.
2901         (WebCore::memoryUseBytes):
2902         (WebCore::TextureManager::TextureManager):
2903         (WebCore::TextureManager::getToken):
2904         (WebCore::TextureManager::releaseToken):
2905         (WebCore::TextureManager::hasTexture):
2906         (WebCore::TextureManager::protectTexture):
2907         (WebCore::TextureManager::unprotectTexture):
2908         (WebCore::TextureManager::reduceMemoryToLimit):
2909         (WebCore::TextureManager::addTexture):
2910         (WebCore::TextureManager::removeTexture):
2911         (WebCore::TextureManager::requestTexture):
2912         * platform/graphics/chromium/TextureManager.h: Added.
2913         (WebCore::TextureManager::create):
2914         * platform/graphics/chromium/VideoLayerChromium.cpp:
2915         (WebCore::VideoLayerChromium::updateContentsIfDirty):
2916         * platform/graphics/chromium/VideoLayerChromium.h:
2917         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2918         (WebCore::WebGLLayerChromium::updateContentsIfDirty):
2919         * platform/graphics/chromium/WebGLLayerChromium.h:
2920
2921 2010-12-09  Darin Adler  <darin@apple.com>
2922
2923         Reviewed by Sam Weinig.
2924
2925         Rework my recent setLocation refactoring to use DOMWindow instead of Frame.
2926         It's difficult to make correct security decisions based on Frame since a
2927         Frame can navigate to a new document.
2928
2929         Fixes some test failures that I somehow missed before the last check-in.
2930
2931         * bindings/js/JSDOMWindowBase.cpp:
2932         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the
2933         shell DOMWindow; not sure this one matters, but it's closer to the old
2934         code before my last patch. Also pass the DOMWindow rather than the
2935         frame to crossDomainAccessErrorMessage.
2936
2937         * bindings/js/JSDOMWindowCustom.cpp:
2938         (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
2939         to the DOMWindow::setLocation function.
2940
2941         * page/DOMWindow.cpp:
2942         (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
2943         (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.
2944
2945         * page/DOMWindow.h: Update new functions to take DOMWindow rather
2946         than Frame.
2947
2948 2010-12-09  Sam Weinig  <sam@webkit.org>
2949
2950         Try and fix the mac build.
2951
2952         * WebCore.exp.in:
2953
2954 2010-12-09  Dan Bernstein  <mitz@apple.com>
2955
2956         Reviewed by Dave Hyatt.
2957
2958         Removed an unused variable.
2959
2960         * rendering/InlineFlowBox.cpp:
2961         (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.
2962
2963 2010-12-09  Darin Adler  <darin@apple.com>
2964
2965         Reviewed by Geoffrey Garen.
2966
2967         Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
2968         https://bugs.webkit.org/show_bug.cgi?id=50640
2969
2970         * bindings/js/JSDOMBinding.cpp:
2971         (WebCore::printErrorMessageForFrame): Removed body; just call through to
2972         DOMWindow::printErrorMessage.
2973
2974         * bindings/js/JSDOMWindowBase.cpp:
2975         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
2976         just call through to DOMWindow::crossDomainAccessErrorMessage.
2977
2978         * bindings/js/JSDOMWindowCustom.cpp:
2979         (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
2980         firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
2981         of the body and moved it into DOMWindow::setLocation.
2982
2983         * page/DOMWindow.cpp:
2984         (WebCore::DOMWindow::setLocation): Added. Does all the same work that
2985         JSDOMWindow::setLocation used to do, but in a way that's not specific
2986         to JavaScript.
2987         (WebCore::DOMWindow::printErrorMessage): Added.
2988         (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
2989
2990         * page/DOMWindow.h: Added setLocation, printErrorMessage, and
2991         crossDomainAccessErrorMessage.
2992
2993 2010-12-09  Sam Weinig  <sam@webkit.org>
2994
2995         Reviewed by Dan Bernstein.
2996
2997         WebKit2 needs smooth scrolling support on the mac
2998         <rdar://problem/8219402>
2999
3000         * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm.
3001         * platform/mac/ScrollAnimatorMac.cpp: Removed.
3002         * platform/mac/ScrollAnimatorMac.h:
3003         * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp.
3004         (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
3005         (-[ScrollAnimationHelperDelegate bounds]):
3006         (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
3007         (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
3008         (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
3009         (-[ScrollAnimationHelperDelegate superview]):
3010         (-[ScrollAnimationHelperDelegate documentView]):
3011         (-[ScrollAnimationHelperDelegate window]):
3012         (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
3013         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
3014         (WebCore::ScrollAnimatorMac::scroll):
3015         (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
3016         (WebCore::ScrollAnimatorMac::currentPosition):
3017         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
3018         Add implementation of ScrollAnimator for the Mac.
3019
3020 2010-12-09  Brady Eidson  <beidson@apple.com>
3021
3022         Reviewed by Anders Carlsson.
3023
3024         <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
3025         WebKit2 ContextMenuClient support
3026
3027         Export some symbols and headers needed by WebKit2 Mac:
3028         * WebCore.exp.in:
3029         * WebCore.xcodeproj/project.pbxproj:
3030
3031 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
3032
3033         Unreviewed, rolling out r73635.
3034         http://trac.webkit.org/changeset/73635
3035         https://bugs.webkit.org/show_bug.cgi?id=50778
3036
3037         'Side-effects on 3 css tests needs closer review' (Requested
3038         by mwenge on #webkit).
3039
3040         * platform/graphics/qt/ImageQt.cpp:
3041         (loadResourcePixmap):
3042         * platform/qt/RenderThemeQt.cpp:
3043         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3044         (WebCore::RenderThemeQt::paintSearchField):
3045         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
3046         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
3047         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
3048         * platform/qt/RenderThemeQt.h:
3049
3050 2010-12-09  Robert Hogan  <robert@webkit.org>
3051
3052         Reviewed by Andreas Kling.
3053
3054         [Qt] Search input field doesn't have cancel button
3055
3056         Add a cancel button to the search field and make it customizable
3057         by the client. For now, use the close dialog button associated
3058         with the application's style as the default.
3059
3060         https://bugs.webkit.org/show_bug.cgi?id=42887
3061
3062         * platform/graphics/qt/ImageQt.cpp:
3063         (loadResourcePixmap):
3064         * platform/qt/RenderThemeQt.cpp:
3065         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
3066         (WebCore::RenderThemeQt::paintSearchField):
3067         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
3068         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
3069         (WebCore::RenderThemeQt::convertToPaintingRect):
3070         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
3071         * platform/qt/RenderThemeQt.h:
3072
3073 2010-12-09  Yael Aharon  <yael.aharon@nokia.com>
3074
3075         Reviewed by Antonio Gomes.
3076
3077         Spatial Navigation: Crash when handling iframe of size 0.
3078         https://bugs.webkit.org/show_bug.cgi?id=50730
3079
3080         if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is
3081         that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node,
3082         thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial
3083         navigation algorithm.
3084
3085         Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html
3086
3087         * page/FocusController.cpp:
3088         (WebCore::updateFocusCandidateIfNeeded):
3089
3090 2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>
3091
3092         Unreviewed, rolling out r73616.
3093         http://trac.webkit.org/changeset/73616
3094         https://bugs.webkit.org/show_bug.cgi?id=50772
3095
3096         Breaks chromium win build (Requested by hwennborg on #webkit).
3097
3098         * bindings/v8/IDBBindingUtilities.cpp:
3099         (WebCore::createIDBKeyFromValue):
3100         * bindings/v8/custom/V8IDBKeyCustom.cpp:
3101         (WebCore::toV8):
3102         * storage/IDBFactoryBackendImpl.cpp:
3103         (WebCore::createTables):
3104         (WebCore::IDBFactoryBackendImpl::open):
3105         * storage/IDBKey.cpp:
3106         (WebCore::IDBKey::IDBKey):
3107         (WebCore::IDBKey::fromQuery):
3108         (WebCore::IDBKey::bind):
3109         (WebCore::IDBKey::bindWithNulls):
3110         * storage/IDBKey.h:
3111         (WebCore::IDBKey::create):
3112         (WebCore::IDBKey::number):
3113
3114 2010-12-09  Antonio Gomes  <agomes@rim.com>
3115
3116         Rubber stamped by by Gustavo Noronha Silva.
3117
3118         Buildfix for GTK+ with building with -no-video.
3119
3120         paintStockIcon static function was implemented under the ENABLE(VIDEO) guard
3121         but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration()
3122         and RenderThemeGtk::paintSearchFieldCancelButton() methods.
3123
3124         * platform/gtk/RenderThemeGtk.cpp:
3125         (WebCore::getMediaElementFromRenderObject):
3126
3127 2010-12-07  Antonio Gomes  <agomes@rim.com>
3128
3129         Reviewed by Daniel Bates.
3130
3131         Spatial Navigation: code clean up
3132         https://bugs.webkit.org/show_bug.cgi?id=50666
3133
3134         Patch unifies two FocusCandidate constructors, making caller sites
3135         simpler. Now the special handling HTMLAreaElement gets is done within
3136         the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)).
3137
3138         No new tests needed.
3139
3140         * page/FocusController.cpp:
3141         (WebCore::FocusController::findFocusCandidateInContainer):
3142         * page/SpatialNavigation.cpp:
3143         (WebCore::FocusCandidate::FocusCandidate):
3144
3145 2010-12-09  Philippe Normand  <pnormand@igalia.com>
3146
3147         Reviewed by Eric Carlson.
3148
3149         [GStreamer] disable fullscreen on MacOS Tiger and Leopard
3150         https://bugs.webkit.org/show_bug.cgi?id=50748
3151
3152         Don't support fullscreen video on Tiger and Leopard, just like the
3153         QTKit player.
3154
3155         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3156         (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):
3157
3158 2010-12-06  Philippe Normand  <pnormand@igalia.com>
3159
3160         Reviewed by Martin Robinson.
3161
3162         [GTK] Support the Mozilla-style Fullscreen Javascript API
3163         https://bugs.webkit.org/show_bug.cgi?id=50572
3164
3165         * GNUmakefile.am: enable the Javascript Fullscreen API feature if
3166         it's been requested at configure time.
3167
3168 2010-12-09  Yong Li  <yoli@rim.com>
3169
3170         Reviewed by Darin Adler.
3171
3172         Check the return value of ImageBuffer::create()
3173         to avoid crash when ImageBuffer::create() fails.
3174         https://bugs.webkit.org/show_bug.cgi?id=50631
3175
3176         No new test because it relies on the platform implementation
3177         of ImageBuffer. It is hard to make ImageBuffer::create() fail
3178         in most ports.
3179
3180         * platform/graphics/GeneratedImage.cpp:
3181         (WebCore::GeneratedImage::drawPattern):
3182
3183 2010-12-09  Maciej Stachowiak  <mjs@apple.com>
3184
3185         Reviewed by Dan Bernstein.
3186
3187         Implement "Use Selection for Find" in WebKit2
3188         https://bugs.webkit.org/show_bug.cgi?id=50737
3189         <rdar://problem/8564881>
3190
3191         Implement a TakeFindStringFromSelection editor command. This is
3192         used solely to implement the "Use Selection for Find" menu command
3193         on Mac, and is not made available to script. On WebKit2, it is
3194         very convenient to reuse the editing machinery since this command
3195         is very similar to Copy.
3196
3197         * editing/Editor.h:
3198         * editing/EditorCommand.cpp:
3199         (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function.
3200         (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage
3201         (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command.
3202         * editing/mac/EditorMac.mm:
3203         (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy
3204         since it would make no sense to enable "Use Selection for Find" when viewing a standalone image
3205         document.
3206         (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text
3207         to the special Find pasteboard.
3208
3209 2010-12-09  Abhishek Arya  <inferno@chromium.org>
3210
3211         Reviewed by Dimitri Glazkov.
3212
3213         As part of r73559, I added the referenceNode check to validate whether the root
3214         node of the iterator matches the node which is getting moved to other document.
3215         referenceNode is initialized to root, however can get moved using previousNode
3216         and nextNode methods, so it is required to use root directly.
3217         https://bugs.webkit.org/show_bug.cgi?id=50764
3218
3219         Test: fast/dom/node-iterator-reference-node-moved-crash.html
3220
3221         * dom/Document.cpp:
3222         (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.
3223
3224 2010-12-08  Dimitri Glazkov  <dglazkov@chromium.org>
3225
3226         Reviewed by Darin Adler.
3227
3228         Provide a generic way to store shadowParent on a Node.
3229         https://bugs.webkit.org/show_bug.cgi?id=50184
3230
3231         This patch makes TreeShared::m_parent act as either parentNode() or
3232         shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.
3233
3234         Refactoring, so no new tests. See performance result testing in bug.
3235
3236         * dom/Element.cpp:
3237         (WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
3238         * dom/Node.cpp:
3239         (WebCore::Node::shadowHost): Added.
3240         (WebCore::Node::setShadowHost): Added.
3241         (WebCore::Node::isContentEditable): Changed to use parentOrHostNode().
3242         (WebCore::Node::isContentRichlyEditable): Ditto.
3243         (WebCore::Node::nextRenderer): Ditto.
3244         (WebCore::Node::virtualComputedStyle): Ditto.
3245         (WebCore::Node::canStartSelection): Ditto.
3246         (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree().
3247         (WebCore::Node::getEventAncestors): Ditto.
3248         (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). 
3249         * dom/Node.h: Added an extra flag and adjusted bit counts.
3250         (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag.
3251         (WebCore::Node::parentNode): Made to recognize flag.
3252         (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const.
3253         (WebCore::Node::parentNodeGuaranteedHostFree): Added.
3254         (WebCore::Node::shadowParentNode): Made non-virtual and const.
3255         * editing/TextIterator.cpp:
3256         (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode();
3257         (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
3258         (WebCore::previousInPostOrderCrossingShadowBoundaries):  Ditto.
3259         (WebCore::setUpFullyClippedStack): Ditto.
3260         (WebCore::TextIterator::advance): Ditto.
3261         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto.
3262         * page/DOMSelection.cpp:
3263         (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree().
3264         (WebCore::DOMSelection::focusNode): Ditto.
3265         (WebCore::DOMSelection::baseNode): Ditto.
3266         (WebCore::DOMSelection::extentNode): Ditto.
3267         (WebCore::DOMSelection::getRangeAt): Ditto.
3268         * rendering/MediaControlElements.cpp:
3269         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
3270             Changed to setShadowHost().
3271         (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost().
3272         (WebCore::MediaControlShadowRootElement::detach): Added an override to
3273             explicitly set shadowHost to 0. Otherwise, the element will leak.
3274         * rendering/MediaControlElements.h: Added detach def, removed members that are
3275             no longer needed.
3276         * rendering/RenderSVGShadowTreeRootContainer.cpp:
3277         (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
3278             Added explicit clearing of shadowHost to avoid leaking and crashes,
3279             because SVG shadow DOM can be dynamically attached/detached, producing
3280             stale nodes in over/out event handling.
3281         * rendering/RenderSlider.cpp:
3282         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost().
3283         * rendering/RenderTextControlSingleLine.cpp:
3284         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
3285             Added explicit clearing of shadowHost and explicit destruction to
3286             avoid out-of-order removal of children.
3287         * rendering/RenderTreeAsText.cpp:
3288         (WebCore::nodePosition): Simplified code.
3289         * rendering/SVGShadowTreeElements.cpp:
3290         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added
3291             setting of shadowHost.
3292         (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost().
3293         (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added.
3294         * rendering/SVGShadowTreeElements.h: Added def, removed members that are
3295              no longer needed.
3296         * rendering/ShadowElement.cpp:
3297         (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost().
3298         * rendering/ShadowElement.h: Removed members that are no longer needed.
3299         (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost.
3300         (WebCore::ShadowElement::detach): Added.
3301         * rendering/TextControlInnerElements.cpp:
3302         (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting
3303             of shadowHost.
3304         (WebCore::TextControlInnerElement::attachInnerElement): Changed to use
3305             isShadowNode().
3306         (WebCore::TextControlInnerElement::detach): Added.
3307         * rendering/TextControlInnerElements.h: Removed members that are no
3308             longer needed.
3309         * svg/SVGElement.cpp:
3310         (WebCore::SVGElement::ownerSVGElement): Simplified code.
3311         (WebCore::SVGElement::viewportElement): Ditto.
3312         * svg/SVGLocatable.cpp:
3313         (WebCore::SVGLocatable::computeCTM): Ditto.
3314         * svg/SVGStyledElement.cpp:
3315         (WebCore::SVGStyledElement::title): Ditto.
3316         * svg/SVGUseElement.cpp:
3317         (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
3318
3319 2010-12-09  Brady Eidson  <beidson@apple.com>
3320
3321         Reviewed by Maciej Stachowiak.
3322
3323         <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
3324         WebKit2 Authentication Support
3325
3326         * WebCore.exp.in:
3327
3328 2010-12-09  Peter Beverloo  <peter@lvp-media.com>
3329
3330         Reviewed by Maciej Stachowiak.
3331
3332         Default CSS definitions for the figure and figcaption elements.
3333
3334         Tests: fast/html/figcaption-element.html
3335                fast/html/figure-element.html
3336
3337         * css/html.css:
3338         (figure): The default figure-style equals a blockquote
3339         (figcaption): A non-sectioning block-level element
3340
3341 2010-12-09  Yury Semikhatsky  <yurys@chromium.org>
3342
3343         Reviewed by Pavel Feldman.
3344
3345         Web Inspector: Console records for failed XHRs should contain call stack and request method
3346         https://bugs.webkit.org/show_bug.cgi?id=50390
3347
3348         When inspector front-end is open we capture call stack at the place where request is sent and
3349         pass the stack along with other request data. There is a new type of console messages which
3350         is NetworkErrorMessageType, all messages of that type will have requestId field initialized
3351         with the corresponding network request identifier so that later on when we need to display
3352         that message in the front-end we could pull request data from the Network panel using
3353         this identifier. If there are no data for given requestId message formatting falls back to
3354         the old implementation which lacks such things as call stack, request method and exact
3355         source location.
3356
3357         * inspector/ConsoleMessage.cpp:
3358         (WebCore::ConsoleMessage::ConsoleMessage):
3359         (WebCore::ConsoleMessage::addToFrontend):
3360         (WebCore::ConsoleMessage::isEqual):
3361         * inspector/ConsoleMessage.h:
3362         * inspector/Inspector.idl:
3363         * inspector/InspectorController.cpp:
3364         (WebCore::InspectorController::didReceiveResponse):
3365         (WebCore::InspectorController::didFailLoading):
3366         * inspector/InspectorResourceAgent.cpp:
3367         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
3368         * inspector/front-end/ConsoleView.js:
3369         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
3370         (WebInspector.ConsoleMessage):
3371         (WebInspector.ConsoleMessage.prototype._formatMessage):
3372         (WebInspector.ConsoleMessage.prototype.toMessageElement):
3373         (WebInspector.ConsoleMessage.prototype.toString):
3374         (WebInspector.ConsoleMessage.prototype.isEqual):
3375         * inspector/front-end/ResourceManager.js:
3376         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
3377         * inspector/front-end/inspector.js:
3378         (WebInspector.addConsoleMessage):
3379         * page/Console.h:
3380
3381 2010-12-09  Dai Mikurube  <dmikurube@google.com>
3382
3383         Reviewed by Kent Tamura.
3384
3385         Implement "required" attribute for select tags
3386         https://bugs.webkit.org/show_bug.cgi?id=50380
3387
3388         Test: fast/forms/select-live-pseudo-selectors.html
3389               platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
3390
3391         * dom/SelectElement.cpp:
3392         (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck().
3393         (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity().
3394         * html/HTMLSelectElement.cpp:
3395         (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
3396         (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
3397         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
3398         (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
3399         (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
3400         (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
3401         (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
3402         (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
3403         (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
3404         (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
3405         (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
3406         (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
3407         (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
3408         (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
3409         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
3410         (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck().
3411         * html/HTMLSelectElement.h:
3412         (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
3413         * html/HTMLSelectElement.idl: Added a required attribute to select elements..
3414         * html/ValidityState.cpp:
3415         (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
3416         * wml/WMLSelectElement.h:
3417         (WebCore::WMLSelectElement::updateValidity): Added. It does nothing.
3418
3419 2010-12-07  Jeremy Orlow  <jorlow@chromium.org>
3420
3421         Reviewed by Steve Block.
3422
3423         IndexedDB returns the wrong exceptions
3424         https://bugs.webkit.org/show_bug.cgi?id=50632
3425
3426         IndexedDB exceptions need to have an offset so they can
3427         be distinguished from DOM exceptions.  We also need to
3428         add strings for the various exceptions.  Lastly, make
3429         IDBDatabaseException use the common exception base class.
3430
3431         * bindings/js/JSDOMBinding.cpp:
3432         (WebCore::setDOMException):
3433         * bindings/v8/V8Proxy.cpp:
3434         (WebCore::V8Proxy::setDOMException):
3435         * dom/ExceptionCode.cpp:
3436         (WebCore::getExceptionCodeDescription):
3437         * dom/ExceptionCode.h:
3438         * storage/IDBDatabaseError.h:
3439         (WebCore::IDBDatabaseError::code):
3440         * storage/IDBDatabaseException.h:
3441         (WebCore::IDBDatabaseException::create):
3442         (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
3443         (WebCore::IDBDatabaseException::IDBDatabaseException):
3444         * storage/IDBDatabaseException.idl:
3445
3446 2010-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3447
3448         Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
3449         GDK window size.
3450
3451         * plugins/gtk/gtk2xtbin.c:
3452         (gtk_xtbin_realize):
3453
3454 2010-12-09  Siddharth Mathur  <siddharth.mathur@nokia.com>
3455
3456         Reviewed by Laszlo Gombos.
3457
3458         Use BUILDING_WEBKIT like other ports
3459         https://bugs.webkit.org/show_bug.cgi?id=50713
3460
3461         * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT
3462
3463 2010-12-08  Erik Arvidsson  <arv@chromium.org>
3464
3465         Reviewed by Darin Adler.
3466
3467         Replace getAttribute().isNull() with fastHasAttribute()
3468         https://bugs.webkit.org/show_bug.cgi?id=50719
3469
3470         Covered by existing tests.
3471
3472         * dom/SelectElement.cpp:
3473         (WebCore::SelectElement::reset):
3474         * html/HTMLAppletElement.cpp:
3475         (WebCore::HTMLAppletElement::rendererIsNeeded):
3476         * html/HTMLCollection.cpp:
3477         (WebCore::HTMLCollection::itemAfter):
3478         * html/HTMLFormControlElement.cpp:
3479         (WebCore::HTMLFormControlElement::formNoValidate):
3480         * html/HTMLFormElement.cpp:
3481         (WebCore::HTMLFormElement::noValidate):
3482         * html/HTMLInputElement.cpp:
3483         (WebCore::HTMLInputElement::defaultChecked):
3484         (WebCore::HTMLInputElement::multiple):
3485         (WebCore::HTMLInputElement::webkitdirectory):
3486         * html/HTMLOptionElement.cpp:
3487         (WebCore::HTMLOptionElement::defaultSelected):
3488         * html/HTMLScriptElement.cpp:
3489         (WebCore::HTMLScriptElement::asyncAttributeValue):
3490         (WebCore::HTMLScriptElement::deferAttributeValue):
3491         * rendering/RenderFileUploadControl.cpp:
3492         (WebCore::RenderFileUploadControl::allowsMultipleFiles):
3493         (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
3494
3495 2010-12-08  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
3496
3497         Reviewed by Martin Robinson.
3498
3499         Full page size flash plugins do not show in all situations
3500         https://bugs.webkit.org/show_bug.cgi?id=47742
3501
3502         This patch moves the plugin widget size allocation after the
3503         NPP_SetWindow is called with the effect that the resize of Flash
3504         content no longer result in grey flash. This seems logical since the
3505         widget tree cannot be fully constructed before the plugin receives
3506         the new container window.
3507
3508         Test: manual-tests/plugins/gtk-windowed-grey-glitch.html
3509
3510         * plugins/gtk/PluginViewGtk.cpp:
3511         (WebCore::PluginView::setNPWindowIfNeeded):
3512
3513 2010-12-08  David Hyatt  <hyatt@apple.com>
3514
3515         Reviewed by Simon Fraser.
3516
3517         Fix regression from xji's wheel scroll patch.  The vertical case is looking at the horizontal
3518         maximum position and not the vertical position.
3519
3520         * platform/ScrollView.cpp:
3521         (WebCore::ScrollView::wheelEvent):
3522
3523 2010-12-08  Sam Weinig  <sam@webkit.org>
3524
3525         Reviewed by Darin Adler.
3526
3527         Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
3528         https://bugs.webkit.org/show_bug.cgi?id=50726
3529
3530         * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h.
3531
3532 2010-12-08  Matthew Delaney  <mdelaney@apple.com>
3533
3534         Reviewed by Simon Fraser.
3535
3536         Add getter and setters for acceleratesRendering flag on layers
3537         https://bugs.webkit.org/show_bug.cgi?id=50717
3538
3539         * platform/graphics/GraphicsLayer.cpp:
3540         * platform/graphics/ca/GraphicsLayerCA.cpp:
3541         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3542         Plumbed through acceleratedRendering flag.
3543
3544 2010-12-07  Zhenyao Mo  <zmo@google.com>
3545
3546         Reviewed by Kenneth Russell.
3547
3548         WebGLUniformLocation objects must be invalidated during linkProgram