<rdar://problem/8757601> Don't install header files in to the Resources directory.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-12-20  Mark Rowe  <mrowe@apple.com>
2
3         Reviewed by Dan Bernstein.
4
5         <rdar://problem/8757601> Don't install header files in to the Resources directory.
6
7         * WebCore.xcodeproj/project.pbxproj:
8
9 2010-12-20  Andrei Popescu  <andreip@google.com>
10
11         Reviewed by Jeremy Orlow.
12
13         [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned
14         https://bugs.webkit.org/show_bug.cgi?id=51338
15
16         * bindings/v8/SerializedScriptValue.cpp:
17         (WebCore::ZigZag::Reader::readUint32):
18
19 2010-12-20  Beth Dakin  <bdakin@apple.com>
20
21         Reviewed by Ada Chan.
22
23         Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in 
24         RenderMathMLSubSup::layout() because of null base
25         -and corresponding-
26         <rdar://problem/8712200>
27
28         Only use base inside if(base) block.
29         * mathml/RenderMathMLSubSup.cpp:
30         (WebCore::RenderMathMLSubSup::layout):
31
32 2010-12-20  Enrica Casucci  <enrica@apple.com>
33
34         Reviewed by Darin Adler.
35
36         Crash at WebCore::SplitElementCommand::SplitElementCommand
37         https://bugs.webkit.org/show_bug.cgi?id=51278
38         <rdar://problem/7347139> 
39
40         Executing outdent command on an inline blockquote that is
41         not the first element in a block causes a crash.
42         The fix consists in chaging the was the start of block is
43         calculated in case of the inline blockquote.
44         
45         Test: editing/execCommand/outdent-inline-blockquote.html
46               editing/execCommand/outdent-inline-list.html
47
48         * editing/IndentOutdentCommand.cpp:
49         (WebCore::IndentOutdentCommand::outdentParagraph):
50
51 2010-12-20  Oliver Hunt  <oliver@apple.com>
52
53         Reviewed by Darin Adler.
54
55         Need to support serialisation of cyclic graphs in the internal structured cloning algorithm
56         https://bugs.webkit.org/show_bug.cgi?id=51353
57
58         The Internal Structured Clone algorithm has been changed to allow (and
59         correctly clone) cyclic graphs.  This patch updates our implementation
60         to provide that functionality.
61
62         I've bumped the serialization version number, and added ObjectReferenceTag
63         to represent references to objects that have already been seen.
64
65         * bindings/js/SerializedScriptValue.cpp:
66         (WebCore::CloneSerializer::startObjectInternal):
67           Now that we have something a bit more complex than cycle checking
68           I've replaced the duplicate code in startObject and startArray with
69           a shared function that implements that logic to plant an object
70           reference
71         (WebCore::CloneSerializer::startObject):
72         (WebCore::CloneSerializer::startArray):
73           Lift out duplicate code
74         (WebCore::CloneSerializer::endObject):
75           Can't remove objects from the gcbuffer now as they need to remain live
76           so we can identify graphs
77         (WebCore::CloneSerializer::writeStringIndex):
78         (WebCore::CloneSerializer::writeObjectIndex):
79         (WebCore::CloneSerializer::writeConstantPoolIndex):
80         (WebCore::CloneSerializer::write):
81         (WebCore::CloneSerializer::serialize):
82         (WebCore::CloneDeserializer::readStringIndex):
83         (WebCore::CloneDeserializer::readConstantPoolIndex):
84         (WebCore::CloneDeserializer::readTerminal):
85         (WebCore::CloneDeserializer::deserialize):
86
87 2010-12-20  Xan Lopez  <xlopez@igalia.com>
88
89         Reviewed by Gustavo Noronha.
90
91         * GNUmakefile.am: add missing files.
92
93 2010-12-20  Abhishek Arya  <inferno@chromium.org>
94
95         Reviewed by James Robinson.
96
97         Pass the correct beforeChild value when adding a child to an anonymous table part.
98         https://bugs.webkit.org/show_bug.cgi?id=50932
99
100         When a "before" content child was added to an anonymous table part, it was added
101         after the last child. This patch fixes the behavior by adding it properly before
102         the first child.
103
104         Test: fast/css-generated-content/table-before-child-add.html
105
106         * rendering/RenderTableRow.cpp:
107         (WebCore::RenderTableRow::addChild):
108
109 2010-12-18  Gavin Barraclough  <barraclough@apple.com>
110
111         Reviewed by Oliver Hunt.
112
113         Bug 26276 - Need a mechanism to determine stack extent
114
115         Add forwarding header for StackBounds.h.
116
117         * ForwardingHeaders/wtf/StackBounds.h: Added.
118
119 2010-12-20  James Robinson  <jamesr@chromium.org>
120
121         Unreviewed, rolling out r74278.
122         http://trac.webkit.org/changeset/74278
123         https://bugs.webkit.org/show_bug.cgi?id=50833
124
125         [chromium] Causes many layout tests to crash
126
127         * platform/graphics/chromium/LayerRendererChromium.cpp:
128         (WebCore::LayerRendererChromium::LayerRendererChromium):
129         (WebCore::LayerRendererChromium::prepareToDrawLayers):
130         (WebCore::LayerRendererChromium::drawLayers):
131         (WebCore::LayerRendererChromium::useRenderSurface):
132         (WebCore::LayerRendererChromium::setScissorToRect):
133         * platform/graphics/chromium/LayerRendererChromium.h:
134
135 2010-12-20  Geoffrey Garen  <ggaren@apple.com>
136
137         Reviewed by Sam Weinig.
138
139         Factored common page set management into a new PageBlock base class
140         https://bugs.webkit.org/show_bug.cgi?id=51285
141
142         * ForwardingHeaders/wtf/PageBlock.h: Added.
143
144 2010-12-20  Steve Block  <steveblock@google.com>
145
146         Reviewed by Jeremy Orlow.
147
148         GeolocationPositionCache should do database access on background thread
149         https://bugs.webkit.org/show_bug.cgi?id=50825
150
151         Covered by existing Geolocation tests.
152
153         * page/Coordinates.h:
154         (WebCore::Coordinates::threadSafeCopy):
155         * page/GeolocationPositionCache.cpp:
156         (WebCore::GeolocationPositionCache::GeolocationPositionCache):
157         (WebCore::GeolocationPositionCache::addUser):
158         (WebCore::GeolocationPositionCache::removeUser):
159         (WebCore::GeolocationPositionCache::setDatabasePath):
160         (WebCore::GeolocationPositionCache::setCachedPosition):
161         (WebCore::GeolocationPositionCache::cachedPosition):
162         (WebCore::GeolocationPositionCache::startBackgroundThread):
163         (WebCore::GeolocationPositionCache::threadEntryPoint):
164         (WebCore::GeolocationPositionCache::threadEntryPointImpl):
165         (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
166         (WebCore::GeolocationPositionCache::readFromDatabase):
167         (WebCore::GeolocationPositionCache::readFromDatabaseImpl):
168         (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
169         (WebCore::GeolocationPositionCache::writeToDatabase):
170         (WebCore::GeolocationPositionCache::writeToDatabaseImpl):
171         * page/GeolocationPositionCache.h:
172         * page/Geoposition.h:
173         (WebCore::Geoposition::threadSafeCopy):
174         (WebCore::Geoposition::Geoposition):
175
176 2010-12-20  Andras Becsi  <abecsi@webkit.org>
177
178         Unreviewed build fix.
179
180         [Qt][V8] Add  missing sources to the pro file and remove duplications to fix linking.
181
182         No new tests needed.
183
184         * WebCore.pro:
185
186 2010-12-20  Alexander Pavlov  <apavlov@chromium.org>
187
188         Reviewed by Yury Semikhatsky.
189
190         Web Inspector: Make CSSCompletions a real class rather than singleton
191         https://bugs.webkit.org/show_bug.cgi?id=51332
192
193         Drive-by: make use of keywords from re2js in the CSS tokenizer
194         (apparently, various authors have presumed that re2js is processed at build time).
195
196         No new tests, as this is a refactoring.
197
198         * inspector/front-end/CSSCompletions.js:
199         (WebInspector.CSSCompletions):
200         (WebInspector.CSSCompletions.prototype.startsWith):
201         (WebInspector.CSSCompletions.prototype.firstStartsWith):
202         (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
203         (WebInspector.CSSCompletions.prototype.keySet):
204         (WebInspector.CSSCompletions.prototype.next):
205         (WebInspector.CSSCompletions.prototype.previous):
206         (WebInspector.CSSCompletions.prototype._closest):
207         * inspector/front-end/SourceCSSTokenizer.js:
208         (WebInspector.SourceCSSTokenizer):
209         * inspector/front-end/SourceCSSTokenizer.re2js:
210         * inspector/front-end/StylesSidebarPane.js:
211         (WebInspector.StylePropertyTreeElement.prototype):
212         * inspector/front-end/inspector.js:
213         (WebInspector.doLoadedDone.propertyNamesCallback):
214         (WebInspector.doLoadedDone):
215
216 2010-12-10  Pavel Podivilov  <podivilov@chromium.org>
217
218         Reviewed by Yury Semikhatsky.
219
220         Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided.
221         https://bugs.webkit.org/show_bug.cgi?id=50813
222
223         * inspector/front-end/SourceFrame.js:
224         (WebInspector.SourceFrame.prototype._addBreakpoint):
225         (WebInspector.SourceFrame.prototype._breakpointRemoved):
226         (WebInspector.SourceFrame.prototype._breakpointChanged):
227         (WebInspector.SourceFrame.prototype._setBreakpointDecoration):
228         (WebInspector.SourceFrame.prototype._removeBreakpointDecoration):
229         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
230         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
231         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
232         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
233         (WebInspector.SourceFrame.prototype._contextMenu):
234         (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing):
235         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
236         (WebInspector.SourceFrame.prototype._continueToLine):
237         (WebInspector.SourceFrame.prototype._setBreakpoint):
238
239 2010-12-20  Andrei Popescu  <andreip@google.com>
240
241         Reviewed by Jeremy Orlow.
242
243         IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.
244         https://bugs.webkit.org/show_bug.cgi?id=51112
245
246         Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort.
247
248         Test: storage/indexeddb/transaction-crash-on-abort.html
249
250         * storage/IDBTransactionBackendImpl.cpp:
251         (WebCore::IDBTransactionBackendImpl::abort):
252         (WebCore::IDBTransactionBackendImpl::commit):
253
254 2010-12-20  Andrei Popescu  <andreip@google.com>
255
256         Reviewed by Jeremy Orlow.
257
258         IDBCursor::delete is not implemented.
259         https://bugs.webkit.org/show_bug.cgi?id=51110
260
261         Implement IDBCursor::delete.
262         See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete
263
264         Tests: storage/indexeddb/cursor-delete.html
265                storage/indexeddb/cursor-index-delete.html
266
267         * storage/IDBCursor.cpp:
268         (WebCore::IDBCursor::deleteFunction):
269         * storage/IDBCursor.h:
270         * storage/IDBCursor.idl:
271         * storage/IDBCursorBackendImpl.cpp:
272         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
273         (WebCore::IDBCursorBackendImpl::deleteFunction):
274         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
275         * storage/IDBCursorBackendImpl.h:
276         (WebCore::IDBCursorBackendImpl::create):
277         * storage/IDBCursorBackendInterface.h:
278         * storage/IDBIndexBackendImpl.cpp:
279         (WebCore::IDBIndexBackendImpl::openCursorInternal):
280         * storage/IDBKey.cpp:
281         (WebCore::IDBKey::fromQuery):
282         * storage/IDBObjectStoreBackendImpl.cpp:
283         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
284         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
285
286 2010-12-20  Yury Semikhatsky  <yurys@chromium.org>
287
288         Reviewed by Pavel Feldman.
289
290         Web Inspector: After a multiline command execution Console does not show the command prompt
291         https://bugs.webkit.org/show_bug.cgi?id=51257
292
293         * inspector/front-end/TextPrompt.js:
294         (WebInspector.TextPrompt.prototype._moveBackInHistory):
295         (WebInspector.TextPrompt.prototype._moveForwardInHistory):
296
297 2010-12-19  Helder Correia  <helder@sencha.com>
298
299         Reviewed by Ariya Hidayat.
300
301         [Qt] Blur distance should not be affected by transformations
302         https://bugs.webkit.org/show_bug.cgi?id=51161
303
304         From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur:
305         "The shadowBlur attribute specifies the level of the blurring effect.
306         (The units do not map to coordinate space units, and are not affected
307         by the current transformation matrix.)"
308
309         Test: fast/canvas/canvas-scale-shadowBlur.html
310
311         * platform/graphics/ContextShadow.cpp:
312         (WebCore::ContextShadow::adjustBlurDistance):
313         * platform/graphics/ContextShadow.h:
314         * platform/graphics/cairo/ContextShadowCairo.cpp:
315         (WebCore::ContextShadow::beginShadowLayer):
316         * platform/graphics/qt/ContextShadowQt.cpp:
317         (WebCore::ContextShadow::beginShadowLayer):
318
319 2010-12-19  Dan Bernstein  <mitz@apple.com>
320
321         Reviewed by Cameron Zwarich.
322
323         Text emphasis marks are not repainted correctly in flipped writing modes
324         https://bugs.webkit.org/show_bug.cgi?id=51307
325
326         Tests: fast/repaint/text-emphasis-h.html
327                fast/repaint/text-emphasis-v.html
328
329         * rendering/InlineFlowBox.cpp:
330         (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.
331
332 2010-12-19  Rob Buis  <rwlbuis@gmail.com>
333
334         Reviewed by Andreas Kling.
335
336         Remove m_drawsContents from RenderSVGContainer.h
337         https://bugs.webkit.org/show_bug.cgi?id=51305
338
339         Remove m_drawsContents, its getter and setter and the call
340         sites, since it has no effect anymore.
341
342         * WebCore.order:
343         * rendering/RenderSVGContainer.cpp:
344         (WebCore::RenderSVGContainer::RenderSVGContainer):
345         (WebCore::RenderSVGContainer::paint):
346         * rendering/RenderSVGContainer.h:
347         * rendering/RenderSVGResourceContainer.h:
348         * rendering/SVGImageBufferTools.cpp:
349         (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
350
351 2010-12-19  Benjamin Poulain  <benjamin.poulain@nokia.com>
352
353         Reviewed by Kenneth Rohde Christiansen.
354
355         WebKit does not build with worker but without the javascript debugger
356         https://bugs.webkit.org/show_bug.cgi?id=51293
357
358         Add missing guard for calls depending on the debugger.
359
360         * inspector/InspectorController.cpp:
361         (WebCore::InspectorController::populateScriptObjects):
362         (WebCore::InspectorController::postWorkerNotificationToFrontend):
363
364 2010-12-18  Tom Sepez  <tsepez@chromium.org>
365
366         Reviewed by David Levin.
367
368         https://bugs.webkit.org/show_bug.cgi?id=51055
369         Fix a null de-reference when an XML file contains a malformed entity
370         of the form "&:;".
371
372         Test: fast/parser/xml-colon-entity.html
373
374         * html/parser/HTMLEntitySearch.cpp:
375         (WebCore::HTMLEntitySearch::advance):
376
377 2010-12-18  Noel Gordon  <noel.gordon@gmail.com>
378
379         Reviewed by David Levin.
380
381         [chromium] Simplify the PNG encoder.
382         https://bugs.webkit.org/show_bug.cgi?id=50905
383
384         Remove PNGEncoderState class - it was a proxy for the encoder output, and
385         that is a Vector<>, so just write into it directly using append() to make
386         use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA()
387         and encode() routines, replace the OwnArrayPtr<> with a Vector<>.
388         
389         canvas.toDataURL("image/png") is covered by existing tests.
390
391         * platform/image-encoders/skia/PNGImageEncoder.cpp:
392         (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it.
393         (WebCore::preMultipliedBGRAtoRGBA): simplified.
394         (WebCore::PNGImageEncoder::encode): ditto.
395
396 2010-12-18  Dan Bernstein  <mitz@apple.com>
397
398         Reviewed by Cameron Zwarich.
399
400         Text emphasis marks are not always included in the selection highlight
401         https://bugs.webkit.org/show_bug.cgi?id=51299
402
403         Affects pixel results of fast/text/emphasis.html
404
405         Account for annotations in selectionTop() and selectionBottom().
406
407         * rendering/RootInlineBox.cpp:
408         (WebCore::RootInlineBox::selectionTop):
409         (WebCore::RootInlineBox::selectionBottom):
410
411 2010-12-18  Dan Bernstein  <mitz@apple.com>
412
413         Reviewed by Cameron Zwarich.
414
415         In flipped writing modes, opposite text emphasis marks from adjacent lines overlap
416         https://bugs.webkit.org/show_bug.cgi?id=51298
417
418         Test: fast/text/emphasis-overlap.html
419
420         * rendering/RootInlineBox.cpp:
421         (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -.
422
423 2010-12-18  Helder Correia  <helder@sencha.com> and Martin Robinson  <mrobinson@igalia.com>
424
425         Reviewed by Ariya Hidayat.
426
427         [Qt] Canvas shadow offset should not be affected by any transformation
428         https://bugs.webkit.org/show_bug.cgi?id=50422
429
430         On a canvas context, shadows are currently affected by all
431         transformations except scaling. According to the spec:
432         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
433
434         "The shadowOffsetX and shadowOffsetY attributes specify the distance
435         that the shadow will be offset in the positive horizontal and positive
436         vertical distance respectively. Their values are in coordinate space
437         units. They are not affected by the current transformation matrix."
438
439         NOTE: this applies only to canvas, not to box shadows.
440
441         Test: fast/canvas/canvas-transforms-fillRect-shadow.html
442
443         * platform/graphics/ContextShadow.cpp:
444         (WebCore::ContextShadow::ContextShadow):
445         (WebCore::ContextShadow::calculateLayerBoundingRect):
446         * platform/graphics/ContextShadow.h:
447         (WebCore::ContextShadow::setShadowsIgnoreTransforms):
448         (WebCore::ContextShadow::shadowsIgnoreTransforms):
449         (WebCore::ContextShadow::offset):
450         * platform/graphics/qt/ContextShadowQt.cpp:
451         (WebCore::ContextShadow::beginShadowLayer):
452         (WebCore::ContextShadow::endShadowLayer):
453         * platform/graphics/qt/GraphicsContextQt.cpp:
454         (WebCore::mustUseContextShadow):
455         (WebCore::GraphicsContext::fillPath):
456         (WebCore::GraphicsContext::strokePath):
457         (WebCore::GraphicsContext::fillRect):
458         (WebCore::GraphicsContext::fillRoundedRect):
459         (WebCore::GraphicsContext::setPlatformShadow):
460
461 2010-12-18  Ariya Hidayat  <ariya@sencha.com>
462
463         Reviewed by Andreas Kling.
464
465         [Qt] TransparencyLayer should inherit its container render hints
466         https://bugs.webkit.org/show_bug.cgi?id=51283
467
468         * platform/graphics/qt/TransparencyLayer.h:
469         (WebCore::TransparencyLayer::TransparencyLayer):
470
471 2010-12-18  Tony Gentilcore  <tonyg@chromium.org>
472
473         Reviewed by Laszlo Gombos.
474
475         [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
476         https://bugs.webkit.org/show_bug.cgi?id=50943
477
478         See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start
479
480         * dom/Document.cpp:
481         (WebCore::Document::finishedParsing):
482         * dom/DocumentTiming.h:
483         (WebCore::DocumentTiming::DocumentTiming):
484         * page/PerformanceTiming.cpp:
485         (WebCore::PerformanceTiming::domContentLoadedEventStart):
486         (WebCore::PerformanceTiming::domContentLoadedEventEnd):
487         * page/PerformanceTiming.h:
488         * page/PerformanceTiming.idl:
489
490 2010-12-17  Justin Schuh  <jschuh@chromium.org>
491
492         Reviewed by Andreas Kling.
493
494         Style fix for r73927
495         https://bugs.webkit.org/show_bug.cgi?id=51194
496
497         No functionality change. No new tests needed.
498
499         * html/HTMLCanvasElement.h:
500
501 2010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
502
503         Reviewed by Martin Robinson.
504
505         [GTK] Buttons rendering was broken in r74129
506         https://bugs.webkit.org/show_bug.cgi?id=51173
507
508         * platform/gtk/RenderThemeGtk.cpp:
509         (WebCore::RenderThemeGtk::paintRenderObject):
510
511 2010-12-17  Zoltan Herczeg  <zherczeg@webkit.org>
512
513         Reviewed by Dirk Schulze.
514
515         Improve 'arithmetic' operator on feComposite
516         https://bugs.webkit.org/show_bug.cgi?id=51105
517
518         Fixing style errors and bug description for r74177.
519
520         * platform/graphics/filters/FEComposite.cpp:
521         (WebCore::arithmetic):
522
523 2010-12-17  Dan Bernstein  <mitz@apple.com>
524
525         Rubber-stamped by Mark Rowe.
526
527         Updated for the renaming of WebKitTools to Tools
528
529         * WebCore.vcproj/build-generated-files.sh:
530         * WebCore.vcproj/migrate-scripts.sh:
531
532 2010-12-17  Carol Szabo  <carol.szabo@nokia.com>
533
534         Reviewed by Darin Adler.
535
536         A corrupted counter tree is created when renderers are added to the
537         tree bypassing RenderObject::addChild
538         https://bugs.webkit.org/show_bug.cgi?id=51270
539
540         This patch replaces the hack introduced for fixing bug 43812
541         with code that addresses the underlying problem for that bug.
542         No new layout tests provided as there is no identified scenario when
543         visible behavior would be different, the internal datastructures
544         are maintained properly through this fix so the previous hack
545         introduced for bug 43812 is now removed. The fact that the 
546         layout test introduced for 43812 continues to pass is proof that the
547         code works.
548
549         * rendering/RenderCounter.cpp:
550         (WebCore::findPlaceForCounter):
551           Removed hack.
552         * rendering/RenderObject.cpp:
553         (WebCore::RenderObject::addChild):
554           Moved call to counter nodes updater to lower level
555           functions to avoid bypass.
556         * rendering/RenderObjectChildList.cpp:
557         (WebCore::RenderObjectChildList::appendChildNode):
558         (WebCore::RenderObjectChildList::insertChildNode):
559           Changed to update the values of the counters that
560           may be inserted in the tree.
561
562 2010-12-17  Shimeng (Simon) Wang  <swang@google.com>
563
564         Reviewed by Steve Block.
565
566         Fix V8 JNI binding.
567         https://bugs.webkit.org/show_bug.cgi?id=51156
568
569         There're LayoutTests in:
570         http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber
571         to exercise these code paths.
572         Though Chromium don't run them.
573         Tested on Android fast/events/touch tests.
574
575         * bridge/jni/v8/JNIUtilityPrivate.cpp:
576         (JSC::Bindings::convertNPVariantToJValue):
577
578 2010-12-17  Simon Fraser  <simon.fraser@apple.com>
579
580         Reviewed by Chris Marrin.
581
582         Interrupted accelerated animation can break later transitions
583         <rdar://problem/8767714>
584         https://bugs.webkit.org/show_bug.cgi?id=51264
585         
586         If we're still waiting for the 'animationDidStart' callback when renderers
587         get destroyed, then the m_waitingForStartTimeResponse flag could be left
588         set to 'true', which causes later transitions to never start.
589         
590         Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters
591         becomes empty.
592
593         Test: transitions/interrupted-accelerated-transition.html
594
595         * page/animation/AnimationController.cpp:
596         (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
597
598 2010-12-17  Simon Fraser  <simon.fraser@apple.com>
599
600         Reviewed by Chris Marrin.
601
602         Interrupted accelerated animation can break later transitions
603         https://bugs.webkit.org/show_bug.cgi?id=51264
604
605         Step 1: code cleanup.
606         Rename "responseWait" variables to "startTimeResponseWait", to make it clear
607         the kind of response that is being waited for.
608         
609         Make a couple of methods private.
610         
611         No behavioral changes, so no tests.
612
613         * page/animation/AnimationController.cpp:
614         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
615         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
616         (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
617         (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
618         (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
619         (WebCore::AnimationControllerPrivate::startTimeResponse):
620         * page/animation/AnimationControllerPrivate.h:
621
622 2010-12-17  Dan Bernstein  <mitz@apple.com>
623
624         Reviewed by Dave Hyatt.
625
626         Layout and rendering of CSS text-emphasis
627         Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
628         https://bugs.webkit.org/show_bug.cgi?id=48539
629
630         Tests: fast/text/emphasis-vertical.html
631                fast/text/emphasis.html
632
633         Emphasis marks behave like they are stuck just above the ascender (or just below the
634         descender). They occupy space in the leading and in padding, and only grow the line space
635         if they cannot fit.
636
637         * rendering/InlineFlowBox.cpp:
638         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to
639         hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis
640         marks.
641         (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks.
642         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment()
643         to this and added adjustment for text emphasis marks.
644         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function,
645         but for annotations under the glyphs. These can only be text emphasis marks.
646         * rendering/InlineFlowBox.h:
647         * rendering/InlineTextBox.cpp:
648         (WebCore::paintTextWithShadows): Paint emphasis marks.
649         (WebCore::InlineTextBox::paint): Ditto.
650         * rendering/RenderBlockLineLayout.cpp:
651         (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for
652         ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non-
653         flipped writing mode.
654         * rendering/RenderObject.cpp:
655         (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor().
656         (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor().
657         (WebCore::RenderObject::selectionEmphasisMarkColor): Added.
658         * rendering/RenderObject.h:
659         * rendering/RootInlineBox.cpp:
660         (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members.
661         (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members.
662         (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this
663         and extended to deal with annotations over and under the line and the previous line. If both lines have
664         annotations into the space between the lines, maintain separation so that the annotations do not overlap.
665         * rendering/RootInlineBox.h:
666         (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor.
667         (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto.
668
669 2010-12-17  W. James MacLean  <wjmaclean@chromium.org>
670
671         Reviewed by James Robinson.
672
673         [chromium] Add support to compositor to composite to offscreen texture.
674         https://bugs.webkit.org/show_bug.cgi?id=50833
675
676         A patch to extend compositor to be able to composite into an offscreen texture instead
677         of just directly to the display buffer. Builds on RenderSurfaceChromium support.
678
679         External behaviour not changed, so no tests.
680
681         * platform/graphics/chromium/LayerRendererChromium.cpp:
682         (WebCore::LayerRendererChromium::LayerRendererChromium):
683         (WebCore::LayerRendererChromium::prepareToDrawLayers):
684         (WebCore::LayerRendererChromium::drawLayers):
685         (WebCore::LayerRendererChromium::setCompositeOffscreen):
686         (WebCore::LayerRendererChromium::useRenderSurface):
687         (WebCore::LayerRendererChromium::setScissorToRect):
688         * platform/graphics/chromium/LayerRendererChromium.h:
689         (WebCore::LayerRendererChromium::isCompositingOffscreen):
690         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
691
692 2010-12-17  Ariya Hidayat  <ariya@sencha.com>
693
694         Reviewed by Andreas Kling.
695
696         [Qt] Default image interpolation should reset the render hint
697         https://bugs.webkit.org/show_bug.cgi?id=51233
698
699         Save initial SmoothPixmapTransform render hint so that it can be used
700         with default image interpolation quality to reset back the render hints.
701
702         * platform/graphics/qt/GraphicsContextQt.cpp:
703         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
704         (WebCore::GraphicsContext::setImageInterpolationQuality):
705
706 2010-12-17  Hans Wennborg  <hans@chromium.org>
707
708         Reviewed by Jeremy Orlow.
709
710         IndexedDB: Support Date objects as keys.
711         https://bugs.webkit.org/show_bug.cgi?id=51193
712
713         * bindings/v8/IDBBindingUtilities.cpp:
714         (WebCore::createIDBKeyFromValue):
715         Use the new IDBKey factory functions, and support Date objects.
716         * bindings/v8/custom/V8IDBKeyCustom.cpp:
717         (WebCore::toV8):
718         Create Date objects from DateType keys.
719         * storage/IDBKey.cpp:
720         (WebCore::IDBKey::fromQuery):
721         (WebCore::IDBKey::isEqual):
722         (WebCore::IDBKey::whereSyntax):
723         (WebCore::IDBKey::lowerCursorWhereFragment):
724         (WebCore::IDBKey::upperCursorWhereFragment):
725         (WebCore::IDBKey::bind):
726         (WebCore::IDBKey::bindWithNulls):
727         Update all SQL related functions to handle Date keys.
728         * storage/IDBKey.h:
729         (WebCore::IDBKey::createNull):
730         (WebCore::IDBKey::createNumber):
731         (WebCore::IDBKey::createString):
732         (WebCore::IDBKey::createDate):
733         Rename the create factories; since both number and date is just a
734         double, function overloading can't be used to discriminate between
735         the factories.
736         (WebCore::IDBKey::date):
737         Add getter for the date value.
738
739 2010-12-17  Pavel Podivilov  <podivilov@chromium.org>
740
741         Reviewed by Pavel Feldman.
742
743         Web Inspector: add scripts parsed after resource load to SourceFrame.
744         https://bugs.webkit.org/show_bug.cgi?id=51243
745
746         * inspector/front-end/ScriptsPanel.js:
747         (WebInspector.ScriptsPanel.prototype._addScript):
748         * inspector/front-end/SourceFrame.js:
749         (WebInspector.SourceFrame.prototype.addScript):
750
751 2010-12-17  Anton Muhin  <antonm@chromium.org>
752
753         Reviewed by Yury Semikhatsky.
754
755         [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html
756         https://bugs.webkit.org/show_bug.cgi?id=51121
757
758         Properly group style elements of HTML links, style elements and processing instructions.
759
760         * bindings/v8/V8GCController.cpp:
761         (WebCore::NodeGrouperVisitor::visitDOMWrapper):
762         (WebCore::NodeGrouperVisitor::addDOMObjectToGroup):
763
764 2010-12-17  Pavel Podivilov  <podivilov@chromium.org>
765
766         Reviewed by Pavel Feldman.
767
768         Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload.
769         https://bugs.webkit.org/show_bug.cgi?id=51101
770
771         * inspector/front-end/ResourceManager.js:
772         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
773
774 2010-12-17  Benjamin Poulain  <benjamin.poulain@nokia.com>
775
776         Reviewed by Laszlo Gombos.
777
778         The inspector does not compile without JAVASCRIPT_DEBUGGER
779         https://bugs.webkit.org/show_bug.cgi?id=51246
780
781         Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER.
782
783         * inspector/InspectorController.h:
784
785 2010-12-17  Andrey Kosyakov  <caseq@chromium.org>
786
787         Reviewed by Pavel Feldman.
788
789         Web Inspector: clear extra/override headers when front-end is closed
790         https://bugs.webkit.org/show_bug.cgi?id=51244
791
792         * inspector/InspectorController.cpp:
793         (WebCore::InspectorController::disconnectFrontend):
794         (WebCore::InspectorController::willSendRequest):
795
796 2010-12-17  Pavel Feldman  <pfeldman@chromium.org>
797
798         Reviewed by Yury Semikhatsky.
799
800         Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel.
801         https://bugs.webkit.org/show_bug.cgi?id=50893
802
803         Now Mac shortcuts are:
804         - Cmd F/G = find / next
805         - Cmd L = go to line
806
807         Win/Linux:
808         - Ctrl+G = go to line
809
810         * inspector/front-end/ScriptsPanel.js:
811         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
812         * inspector/front-end/inspector.js:
813         (WebInspector._registerShortcuts):
814
815 2010-12-16  Sergio Villar Senin  <svillar@igalia.com>
816
817         Reviewed by Martin Robinson.
818
819         Wrong check in ResourceHandleSoup in error cases
820         https://bugs.webkit.org/show_bug.cgi?id=51171
821
822         Calling didReceiveData with no data causes a crash in debug
823         builds. Checking for soupMsg->response_body->data is not correct as libsoup
824         always creates a buffer for that. Instead we should check for
825         soupMsg->response_body->length
826
827         * platform/network/soup/ResourceHandleSoup.cpp:
828         (WebCore::sendRequestCallback):
829
830 2010-12-17  Andreas Kling  <andreas.kling@nokia.com>
831
832         Reviewed by Kenneth Rohde Christiansen.
833
834         [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p()
835         https://bugs.webkit.org/show_bug.cgi?id=49954
836
837         * platform/graphics/qt/GraphicsContextQt.cpp:
838         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
839         (WebCore::GraphicsContext::beginTransparencyLayer):
840
841 2010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
842
843         Reviewed by Martin Robinson.
844
845         [GTK] Compile warning introduced in r74129
846         https://bugs.webkit.org/show_bug.cgi?id=51181
847
848         * platform/gtk/RenderThemeGtk.cpp:
849         (WebCore::RenderThemeGtk::gtkContainer):
850
851 2010-12-17  James Simonsen  <simonjam@chromium.org>
852
853         Reviewed by Darin Fisher.
854
855         [Web Timing] Add sslHandshakeStart to interface
856
857         https://bugs.webkit.org/show_bug.cgi?id=50400
858
859         Test: http/tests/misc/webtiming-ssl.php
860
861         * page/PerformanceTiming.cpp:
862         (WebCore::PerformanceTiming::connectStart): Update comment.
863         (WebCore::PerformanceTiming::connectEnd): Remove SSL time.
864         (WebCore::PerformanceTiming::sslHandshakeStart): Added.
865         * page/PerformanceTiming.h: Added sslHandshakeStart.
866         * page/PerformanceTiming.idl: Ditto.
867
868 2010-12-17  James Simonsen  <simonjam@chromium.org>
869
870         Reviewed by Darin Fisher.
871
872         [Web Timing] Navigation type enums should begin with TYPE_
873         https://bugs.webkit.org/show_bug.cgi?id=51200
874
875         * page/PerformanceNavigation.cpp:
876         (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types.
877         * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED.
878         * page/PerformanceNavigation.idl: Ditto.
879
880 2010-12-17  Steve Block  <steveblock@google.com>
881
882         Unreviewed build fix.
883
884         Fix build when Geolocation is disabled.
885
886         No new tests, build fix only.
887
888         * page/Geolocation.h:
889
890 2010-12-17  Patrick Gansterer  <paroga@webkit.org>
891
892         Unreviewed. WinCE build fix.
893
894         * platform/graphics/GraphicsContext.h:
895
896 2010-12-17  Ilya Tikhonovsky  <loislo@chromium.org>
897
898         Reviewed by Yury Semikhatsky.
899
900         Web Inspector: remove unnecessary dependencies from InspectorBackendStub.
901
902         InspectorBackendStub is a transport-only thing but it has dependencies with
903         Callback.js and WebInspector namespace. Callback can be integrated into
904         InspectorBackendStub because it is the only client.
905         Without these dependencies InspectorBackendStub can be used as an API
906         wrapper for Inspector Protocol.
907
908         https://bugs.webkit.org/show_bug.cgi?id=51184
909
910         * WebCore.gypi:
911         * inspector/CodeGeneratorInspector.pm:
912         * inspector/front-end/Callback.js: Removed.
913         * inspector/front-end/WebKit.qrc:
914         * inspector/front-end/inspector.html:
915
916 2010-12-15  Andrey Kosyakov  <caseq@chromium.org>
917
918         Reviewed by Pavel Feldman.
919
920         Web Inspector: [Extension API] add support for adding/overriding HTTP request headers
921         https://bugs.webkit.org/show_bug.cgi?id=50493
922
923         Test: http/tests/inspector/extensions-headers.html
924
925         * inspector/Inspector.idl:
926         * inspector/InspectorController.cpp:
927         (WebCore::InspectorController::willSendRequest): Apply extra headers.
928         (WebCore::InspectorController::setExtraHeaders):
929         * inspector/InspectorController.h:
930         * inspector/front-end/ExtensionAPI.js:
931         (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
932         (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders):
933         * inspector/front-end/ExtensionServer.js:
934         (WebInspector.ExtensionServer):
935         (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):
936
937 2010-12-16  Koan-Sin Tan  <koansin.tan@gmail.com>
938
939         Reviewed by Kent Tamura.
940
941         Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux
942         https://bugs.webkit.org/show_bug.cgi?id=50365
943
944         No new tests. But this makes Chromimium Linux show
945         fast/blockflow/japanese-*-text.html and other vertical
946         writing text correctly as on WebKit and Chromimum for Mac.
947
948         * platform/graphics/chromium/FontCacheLinux.cpp:
949         (WebCore::FontCache::createFontPlatformData):
950         * platform/graphics/chromium/FontLinux.cpp:
951         (WebCore::Font::drawGlyphs):
952         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
953         (WebCore::FontPlatformData::FontPlatformData):
954         (WebCore::FontPlatformData::operator=):
955         (WebCore::FontPlatformData::operator==):
956         (WebCore::FontPlatformData::hash):
957         * platform/graphics/chromium/FontPlatformDataLinux.h:
958         (WebCore::FontPlatformData::FontPlatformData):
959         (WebCore::FontPlatformData::orientation):
960         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
961         (WebCore::SimpleFontData::platformInit):
962         * platform/graphics/skia/FontCustomPlatformData.cpp:
963         (WebCore::FontCustomPlatformData::fontPlatformData):
964         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
965         (WebCore::substituteWithVerticalGlyphs):
966         (WebCore::GlyphPage::fill):
967
968 2010-12-16  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com>
969
970         Reviewed by Eric Carlson.
971
972         Provide an interface to require using fullscreen mediaplayer
973         https://bugs.webkit.org/show_bug.cgi?id=51133
974
975         Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit
976         to launch fullscreen video player for playing the html5 video. The 
977         idea is that a browser vendor can specify this behavior through the
978         platform plugin or something else by using this interface.
979
980         No new tests because no client implements requiresFullscreenForVideoPlayback yet.
981
982         * html/HTMLMediaElement.cpp:
983         (WebCore::HTMLMediaElement::updatePlayState):
984         (WebCore::HTMLMediaElement::exitFullscreen):
985         * page/Chrome.cpp:
986         (WebCore::Chrome::requiresFullscreenForVideoPlayback):
987         * page/Chrome.h:
988         * page/ChromeClient.h:
989         (WebCore::ChromeClient::requiresFullscreenForVideoPlayback):
990
991 2010-12-16  Steve Block  <steveblock@google.com>
992
993         Reviewed by Steve Block.
994
995         GeolocationPositionCache needs refactoring
996         https://bugs.webkit.org/show_bug.cgi?id=50826
997
998         No new tests, refactoring only.
999
1000         * page/Geolocation.cpp:
1001         (WebCore::Geolocation::Geolocation):
1002         (WebCore::Geolocation::makeCachedPositionCallbacks):
1003         (WebCore::Geolocation::haveSuitableCachedPosition):
1004         (WebCore::Geolocation::positionChangedInternal):
1005         * page/Geolocation.h:
1006         * page/GeolocationPositionCache.cpp:
1007         (WebCore::GeolocationPositionCache::instance):
1008         (WebCore::GeolocationPositionCache::GeolocationPositionCache):
1009         (WebCore::GeolocationPositionCache::addUser):
1010         (WebCore::GeolocationPositionCache::removeUser):
1011         (WebCore::GeolocationPositionCache::setDatabasePath):
1012         (WebCore::GeolocationPositionCache::setCachedPosition):
1013         (WebCore::GeolocationPositionCache::cachedPosition):
1014         (WebCore::GeolocationPositionCache::readFromDatabase):
1015         (WebCore::GeolocationPositionCache::writeToDatabase):
1016         * page/GeolocationPositionCache.h:
1017         (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper):
1018         (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper):
1019         (WebCore::GeolocationPositionCacheWrapper::setCachedPosition):
1020         (WebCore::GeolocationPositionCacheWrapper::cachedPosition):
1021
1022 2010-12-16  Ariya Hidayat  <ariya@sencha.com>
1023
1024         Reviewed by Andreas Kling.
1025
1026         [Qt] GraphicsContext should respect QWebView render hints
1027         https://bugs.webkit.org/show_bug.cgi?id=51208
1028
1029         GraphicsContext does not override SmoothPixmapTransform (see also
1030         r62762). To keep the same behavior, canvas default image interpolation
1031         quality is set to medium and QWebView's render hints by default also
1032         include SmoothPixmapTransform.
1033
1034         * html/HTMLCanvasElement.h:
1035         * platform/graphics/qt/GraphicsContextQt.cpp:
1036         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1037
1038 2010-12-16  Daniel Bates  <dbates@rim.com>
1039
1040         Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217)
1041         so as to be consistent with the formatting of the rest of this file.
1042
1043         Also, add an empty line between the win32* and wince* conditional include blocks.
1044
1045         * WebCore.pro:
1046
1047 2010-12-16  Daniel Bates  <dbates@rim.com>
1048
1049         Reviewed by Antonio Gomes.
1050
1051         [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp
1052         on Windows if ENABLE_SMOOTH_SCROLLING=1
1053         https://bugs.webkit.org/show_bug.cgi?id=51215
1054
1055         Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building
1056         the Qt Windows with smooth scrolling enabled.
1057
1058         No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING).
1059
1060         * WebCore.pro:
1061
1062 2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
1063
1064         Reviewed by Darin Adler.
1065
1066         execCommand('JustifyCenter') adds extra BR
1067         https://bugs.webkit.org/show_bug.cgi?id=51082
1068
1069         The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br
1070         to new block and not removing it later. Fixed the bug by removing it when the paragraph
1071         moved into the block didn't have a br at the end.
1072
1073         Test: editing/execCommand/justify.html
1074
1075         * editing/CompositeEditCommand.cpp:
1076         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1077
1078 2010-12-16  Jian Li  <jianli@chromium.org>
1079
1080         Unreviewed. Fixed chromium build break caused by r74207.
1081
1082         * platform/ContextMenuItem.h:
1083
1084 2010-12-16  Leandro Pereira  <leandro@profusion.mobi>
1085
1086         [EFL] Unreviewed build fix.
1087
1088         Disable ContextMenu support for now while support for
1089         CROSS_PLATFORM_MENUS is written.
1090
1091         * CMakeListsEfl.txt:
1092         * platform/ContextMenu.h:
1093         * platform/ContextMenuItem.h:
1094         * platform/efl/ContextMenuEfl.cpp:
1095         (WebCore::ContextMenu::ContextMenu):
1096         (WebCore::ContextMenu::getContextMenuItems):
1097         (WebCore::ContextMenu::createNativeMenuFromItems):
1098         (WebCore::ContextMenu::nativeMenu):
1099         * platform/efl/ContextMenuItemEfl.cpp:
1100         (WebCore::ContextMenuItem::ContextMenuItem):
1101         (WebCore::ContextMenuItem::~ContextMenuItem):
1102         (WebCore::ContextMenuItem::nativeMenuItem):
1103         (WebCore::ContextMenuItem::type):
1104         (WebCore::ContextMenuItem::setAction):
1105         (WebCore::ContextMenuItem::action):
1106         (WebCore::ContextMenuItem::setChecked):
1107         (WebCore::ContextMenuItem::checked):
1108         (WebCore::ContextMenuItem::setEnabled):
1109         (WebCore::ContextMenuItem::enabled):
1110         (WebCore::ContextMenuItem::setSubMenu):
1111
1112 2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
1113
1114         Reviewed by Darin Adler.
1115
1116         execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area
1117         https://bugs.webkit.org/show_bug.cgi?id=51164
1118
1119         Fixed the bug by always enabling the StyleWithCSS command.
1120
1121         Test: editing/style/stylewithcss-without-selection.html
1122
1123         * editing/EditorCommand.cpp:
1124         (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText.
1125
1126 2010-12-16  Anders Carlsson  <andersca@apple.com>
1127
1128         Reviewed by Darin Adler.
1129
1130         Save the manual plug-in stream data and redeliver it when the plug-in is initialized
1131         https://bugs.webkit.org/show_bug.cgi?id=51201
1132
1133         Export SharedBuffer related symbols.
1134
1135         * WebCore.exp.in:
1136
1137 2010-12-16  Pavel Feldman  <pfeldman@chromium.org>
1138
1139         Reviewed by Yury Semikhatsky.
1140
1141         Web Inspector: timeline records should only operate WebCore time.
1142         https://bugs.webkit.org/show_bug.cgi?id=51127
1143
1144         * inspector/InspectorTimelineAgent.cpp:
1145         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
1146         * inspector/TimelineRecordFactory.cpp:
1147         (WebCore::TimelineRecordFactory::createResourceFinishData):
1148         * inspector/TimelineRecordFactory.h:
1149
1150 2010-12-15  Alexey Proskuryakov  <ap@apple.com>
1151
1152         Reviewed by Darin Adler.
1153
1154         https://bugs.webkit.org/show_bug.cgi?id=50996
1155         <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used
1156
1157         No new tests, cannot test DNS.
1158
1159         * platform/network/cf/DNSCFNet.cpp:
1160         (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use
1161         a proxy. This is only an estimate - even with a proxy is configured in system preferences, an
1162         actual request can go directly to the host if a PAC script says so.
1163         (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests.
1164         (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones.
1165
1166 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
1167
1168         Reviewed by Pavel Feldman.
1169
1170         Web Inspector: Console always scroll to the bottom on new events
1171         https://bugs.webkit.org/show_bug.cgi?id=51189
1172
1173         When new messages are added to the console it will auto scroll
1174         only if it was already scrolled down to the last record.
1175
1176         * inspector/front-end/ConsoleView.js:
1177         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
1178         (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
1179         (WebInspector.ConsoleView.prototype._isScrolledToLastMessage):
1180         (WebInspector.ConsoleView.prototype.addMessage):
1181
1182 2010-12-16  Pavel Podivilov  <podivilov@chromium.org>
1183
1184         Reviewed by Yury Semikhatsky.
1185
1186         Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
1187         https://bugs.webkit.org/show_bug.cgi?id=51174
1188
1189         * inspector/front-end/BreakpointManager.js:
1190         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
1191         (WebInspector.BreakpointManager.prototype._debuggerPaused):
1192         (WebInspector.BreakpointManager.prototype._debuggerResumed):
1193         * inspector/front-end/CallStackSidebarPane.js:
1194         (WebInspector.CallStackSidebarPane):
1195         (WebInspector.CallStackSidebarPane.prototype.update):
1196         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
1197         * inspector/front-end/DebuggerModel.js:
1198         (WebInspector.DebuggerModel.prototype.pausedScript):
1199         * inspector/front-end/ScriptsPanel.js:
1200         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1201
1202 2010-12-16  Hans Wennborg  <hans@chromium.org>
1203
1204         Reviewed by Jeremy Orlow.
1205
1206         IndexedDB: Fix IDBDatabaseError code offset bug
1207         https://bugs.webkit.org/show_bug.cgi?id=51177
1208
1209         IDBDatabaseError::code() needs to return the error code without
1210         offset. But when the IDBDatabaseError is created, the code comes with
1211         an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode).
1212
1213         However, in Chromium, IDBDatabaseErrors are sometimes also created via
1214         WebIDBDatabaseError when they are sent across IPC, and then the error
1215         code comes *without* offset. Provide a second create() function for
1216         this case.
1217
1218         * storage/IDBDatabaseError.h:
1219         (WebCore::IDBDatabaseError::create):
1220         (WebCore::IDBDatabaseError::createWithoutOffset):
1221         (WebCore::IDBDatabaseError::code):
1222
1223 2010-12-16  Sheriff Bot  <webkit.review.bot@gmail.com>
1224
1225         Unreviewed, rolling out r74162.
1226         http://trac.webkit.org/changeset/74162
1227         https://bugs.webkit.org/show_bug.cgi?id=51185
1228
1229         More breakage in GTK+ (Requested by xan_ on #webkit).
1230
1231         * platform/text/TextCodecUTF16.cpp:
1232         (WebCore::TextCodecUTF16::registerEncodingNames):
1233
1234 2010-12-16  Alexander Pavlov  <apavlov@chromium.org>
1235
1236         Reviewed by Pavel Feldman.
1237
1238         Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor
1239         https://bugs.webkit.org/show_bug.cgi?id=51114
1240
1241         The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes
1242         are updated once a stylesheet is reverted.
1243
1244         * inspector/front-end/ElementsPanel.js:
1245         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
1246         (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
1247         (WebInspector.ElementsPanel.prototype._styleSheetChanged):
1248
1249 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
1250
1251         Unreviewed. Fix Chromium Mac Debug Clang compilation.
1252
1253         * platform/graphics/FontFastPath.cpp:
1254         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
1255
1256 2010-12-16  Alejandro G. Castro  <alex@igalia.com>
1257
1258         Unreviewed. Fix GTK3 compilation after 74129.
1259
1260         * platform/gtk/WidgetRenderingContextGtk3.cpp:
1261
1262 2010-12-16  Yury Semikhatsky  <yurys@chromium.org>
1263
1264         Unreviewed. Fix Chromium Debug compilation after r74177 
1265
1266         * platform/graphics/filters/FEComposite.cpp:
1267         (WebCore::arithmetic):
1268
1269 2010-12-16  Kent Tamura  <tkent@chromium.org>
1270
1271         Unreviewed, build fix.
1272
1273         Fix a warning on 32-bit Mac.
1274
1275         * platform/graphics/mac/SimpleFontDataMac.mm:
1276         (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f
1277
1278 2010-12-16  Zoltan Herczeg  <zherczeg@webkit.org>
1279
1280         Reviewed by Dirk Schulze.
1281
1282         Improve feArithmeticFilter
1283         https://bugs.webkit.org/show_bug.cgi?id=51105
1284
1285         In case of the arithmetic operator on feComposite filter, we could use
1286         different result passing modes depend on its type. Furthermore, the
1287         number of executed multiplications is reduced if k1 or k4 argument is zero.
1288
1289         2% speedup on WebCore/manual-tests/svg-filter-animation.svg
1290
1291         * platform/graphics/filters/FEComposite.cpp:
1292         (WebCore::computeArithmeticPixels):
1293         (WebCore::arithmetic):
1294         (WebCore::FEComposite::apply):
1295
1296 2010-12-15  Brian Weinstein  <bweinstein@apple.com>
1297
1298         Reviewed by Jon Honeycutt.
1299
1300         WebKit2 should exit auto scrolling mode when losing focus
1301         https://bugs.webkit.org/show_bug.cgi?id=49209
1302         
1303         When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We
1304         don't want to automatically scroll when a page doesn't have focus.
1305
1306         Updated manual-tests/autoscroll.html with instructions to test this bug.
1307
1308         * manual-tests/autoscroll.html:
1309         * page/FocusController.cpp:
1310         (WebCore::FocusController::setFocused):
1311
1312 2010-12-15  Dan Bernstein  <mitz@apple.com>
1313
1314         Reviewed by Darin Adler.
1315
1316         Font support for the text-emphasis CSS property
1317         Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
1318         https://bugs.webkit.org/show_bug.cgi?id=48539
1319
1320         * platform/graphics/Font.cpp:
1321         (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text.
1322         (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should
1323         have an emphasis mark.
1324
1325         * platform/graphics/Font.h:
1326
1327         * platform/graphics/FontFastPath.cpp:
1328         (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant
1329         parameter and made this function work with other variants.
1330         (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of
1331         the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none
1332         of the standard emphasis marks do so.
1333         (WebCore::Font::emphasisMarkAscent): Added.
1334         (WebCore::Font::emphasisMarkDescent): Added.
1335         (WebCore::Font::emphasisMarkHeight): Added.
1336         (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText()
1337         into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
1338         WidthIterator.
1339         (WebCore::Font::drawSimpleText): Left the drawing part here.
1340         (WebCore::Font::drawEmphasisMarksForSimpleText): Added.
1341         (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter.
1342         (WebCore::offsetToMiddleOfGlyph): Added this helper.
1343         (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper.
1344         (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing
1345         one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn.
1346
1347         * platform/graphics/GraphicsContext.cpp:
1348         (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks().
1349
1350         * platform/graphics/GraphicsContext.h:
1351
1352         * platform/graphics/SimpleFontData.cpp:
1353         (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members.
1354         (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens
1355         in ~DerivedFontData.
1356         (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData.
1357         (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct
1358         contains the SimpleFontData for small caps, broken ideograph and emphasis mark.
1359         (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added.
1360
1361         * platform/graphics/SimpleFontData.h:
1362         (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter().
1363
1364         * platform/graphics/WidthIterator.cpp:
1365         (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter.
1366         (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph
1367         if they should not receive an emphasis mark.
1368
1369         * platform/graphics/WidthIterator.h:
1370
1371         * platform/graphics/chromium/FontChromiumWin.cpp:
1372         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
1373
1374         * platform/graphics/chromium/FontLinux.cpp:
1375         (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter().
1376         (WebCore::TextRunWalker::setupFontForScriptRun): Ditto.
1377         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
1378
1379         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1380         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1381         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1382         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1383
1384         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1385         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1386         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1387         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1388
1389         * platform/graphics/efl/FontEfl.cpp:
1390         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
1391
1392         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
1393         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1394         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1395         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1396
1397         * platform/graphics/gtk/FontGtk.cpp:
1398         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
1399
1400         * platform/graphics/haiku/FontHaiku.cpp:
1401         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
1402
1403         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
1404         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1405         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1406         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1407
1408         * platform/graphics/mac/ComplexTextController.cpp:
1409         (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter.
1410         (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter().
1411         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph
1412         if they should not receive an emphasis mark.
1413
1414         * platform/graphics/mac/ComplexTextController.h:
1415
1416         * platform/graphics/mac/FontComplexTextMac.cpp:
1417         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
1418         into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
1419         ComplexTextController.
1420         (WebCore::Font::drawComplexText): Left the drawing part here.
1421         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
1422
1423         * platform/graphics/mac/SimpleFontDataMac.mm:
1424         (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData.
1425         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1426         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1427         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1428
1429         * platform/graphics/pango/SimpleFontDataPango.cpp:
1430         (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
1431         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1432         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1433         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1434
1435         * platform/graphics/qt/FontQt.cpp:
1436         (WebCore::Font::emphasisMarkAscent): Added stub.
1437         (WebCore::Font::emphasisMarkDescent): Ditto.
1438         (WebCore::Font::emphasisMarkHeight): Ditto.
1439         (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto.
1440         (WebCore::Font::drawEmphasisMarksForComplexText): Ditto.
1441
1442         * platform/graphics/win/FontWin.cpp:
1443         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
1444         into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty
1445         glyph buffer for text emphasis.
1446         (WebCore::Font::drawComplexText): Left the drawing part here.
1447         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
1448
1449         * platform/graphics/win/SimpleFontDataWin.cpp:
1450         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1451         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1452         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1453
1454         * platform/graphics/win/UniscribeController.cpp:
1455         (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter().
1456
1457         * platform/graphics/wince/FontWinCE.cpp:
1458         (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.
1459
1460         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
1461         (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
1462         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1463         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1464         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1465
1466         * platform/graphics/wx/FontWx.cpp:
1467         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub.
1468         (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer().
1469         (WebCore::Font::drawEmphasisMarksForComplexText): Added.
1470
1471         * platform/graphics/wx/SimpleFontDataWx.cpp:
1472         (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
1473         (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
1474         (WebCore::SimpleFontData::emphasisMarkFontData): Added.
1475
1476         * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis().
1477
1478 2010-12-15  Beth Dakin  <bdakin@apple.com>
1479
1480         Reviewed by Darin Adler.
1481
1482         Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's 
1483         _scaleWebView SPI doesn't work on pages with compositing layers
1484         -and corresponding-
1485         <rdar://problem/8604713>
1486
1487         paintingGoesToWindow() should return false if the owning layer has 
1488         a transform.
1489         * rendering/RenderLayerBacking.cpp:
1490         (WebCore::RenderLayerBacking::paintingGoesToWindow):
1491
1492         Use docWidth() and docHeight() instead of rightLayoutOverflow() and 
1493         bottomLayoutOverflow() since docWidth/Height are now the preferred 
1494         way to query physical dimensions of the document.
1495         * rendering/RenderLayerCompositor.cpp:
1496         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1497
1498 2010-12-15  Alex Bredariol Grilo  <abgrilo@profusion.mobi>
1499
1500         Reviewed by Eric Seidel.
1501
1502         [EFL] Fix timer calling time in SharedTimerEfl
1503
1504         No new features, so no tests added.
1505
1506         The usage of ecore_timer_loop_add instead of ecore_timer_add corrects
1507         the problem that the timer is not called at the correct time. Since this
1508         code runs in a single thread, all multiple thread operations were
1509         removed.
1510
1511         * platform/efl/SharedTimerEfl.cpp:
1512         (WebCore::stopSharedTimer):
1513         (WebCore::addNewTimer):
1514
1515 2010-12-15  Andreas Kling  <andreas.kling@nokia.com>
1516
1517         Reviewed by Ariya Hidayat.
1518
1519         [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition
1520         https://bugs.webkit.org/show_bug.cgi?id=49918
1521
1522         Go through GraphicsContext::setCompositeOperation() which does the check for us.
1523
1524         * platform/graphics/qt/StillImageQt.cpp:
1525         (WebCore::StillImage::draw):
1526
1527 2010-12-15  Yong Li  <yoli@rim.com>
1528
1529         Reviewed by Darin Adler.
1530
1531         UTF-16 and its variants should be treated as Big Endian when BOM
1532         is absent.
1533         https://bugs.webkit.org/show_bug.cgi?id=51035
1534
1535         Test: fast/encoding/char-decoding.html (changed)
1536
1537         * platform/text/TextCodecUTF16.cpp:
1538         (WebCore::TextCodecUTF16::registerEncodingNames):
1539
1540 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
1541
1542         Reviewed by Chris Marrin.
1543
1544         Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid
1545         https://bugs.webkit.org/show_bug.cgi?id=51070
1546         
1547         Treat as inavlid -webkit-transform values that include a percentage value in translateZ()
1548         or in the third parameter to translate3d().
1549
1550         Test: transforms/3d/general/3dtransform-values.html
1551
1552         * css/CSSParser.cpp:
1553         (WebCore::CSSParser::parseTransform):
1554         (WebCore::CSSParser::parseTransformOrigin): Whitespace change.
1555
1556 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
1557
1558         Reviewed by Chris Marrin.
1559
1560         Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled
1561         https://bugs.webkit.org/show_bug.cgi?id=50967
1562         
1563         If a reflection on a compositied, transformed element is toggled on, off and on,
1564         then we pick up a cached layer clone that has the wrong transform set on it.
1565         
1566         The fix is to reset those properties on the layer clones that get changed
1567         when the GraphicsLayer gains a structural layer (for reflection flattening).
1568
1569         Test: compositing/reflections/remove-add-reflection.html
1570
1571         * platform/graphics/ca/GraphicsLayerCA.cpp:
1572         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
1573
1574 2010-12-15  Timothy Hatcher  <timothy@apple.com>
1575
1576         Fix a regression where the Web Inspector console would be empty
1577         if the Inspector is localized.
1578
1579         https://bugs.webkit.org/show_bug.cgi?id=51145
1580
1581         Reviewed by Joseph Pecoraro.
1582
1583         * inspector/front-end/ConsoleView.js:
1584         (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string
1585         is separate from the classname. Code clean up.
1586         (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare.
1587         (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement.
1588
1589 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
1590
1591         Reviewed by Adele Peterson.
1592
1593         WebKit2 in compositing mode no longer has font smoothing
1594         https://bugs.webkit.org/show_bug.cgi?id=50733
1595
1596         Only turn off font smoothing for layers whose contents are
1597         not opaque. This allows the root GraphicsLayer in WebKit2 to
1598         set the opaque flag, and get smoothed text.
1599
1600         * platform/graphics/mac/WebLayer.mm:
1601         (drawLayerContents):
1602
1603 2010-12-15  Simon Fraser  <simon.fraser@apple.com>
1604
1605         Reviewed by Dan Bernstein.
1606
1607         Allow disabling of font smoothing in compositing layers to be overridden by style
1608         https://bugs.webkit.org/show_bug.cgi?id=50732
1609
1610         Add methods to GraphicsContext to get and set font smoothing,
1611         and have them be part of the graphics state.
1612         
1613         Fix Font::drawGlyphs() to allow the font's smoothing mode (from style)
1614         to override the current smoothing mode of the context. The global
1615         shouldUseSmoothing() still has final say.
1616         
1617         Turn off smoothing in compositing layers with this, rather than
1618         the non-stateful 'allow' method.
1619         
1620         * manual-tests/compositing/font-smoothing.html: Added.
1621         Manual test because DRT disables font smoothing.
1622         
1623         * platform/graphics/GraphicsContext.cpp:
1624         (WebCore::GraphicsContext::setShouldSmoothFonts):
1625         (WebCore::GraphicsContext::shouldSmoothFonts):
1626         (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
1627         * platform/graphics/GraphicsContext.h:
1628         (WebCore::GraphicsContextState::GraphicsContextState):
1629         * platform/graphics/cg/GraphicsContextCG.cpp:
1630         (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
1631         * platform/graphics/mac/FontMac.mm:
1632         (WebCore::Font::drawGlyphs):
1633         * platform/graphics/mac/WebLayer.mm:
1634         (drawLayerContents):
1635
1636 2010-12-15  Matthew Delaney  <mdelaney@apple.com>
1637
1638         Reviewed by Simon Fraser.
1639
1640         IOSurface bounds checks on bytesPerRow and allocSize are incorrect
1641         https://bugs.webkit.org/show_bug.cgi?id=51137
1642
1643         No new tests added. For those using this new functionality, many current canvas layout tests will now pass.
1644
1645         * platform/graphics/cg/ImageBufferCG.cpp:
1646
1647 2010-12-15  Kenneth Russell  <kbr@google.com>
1648
1649         Reviewed by James Robinson.
1650
1651         Web Audio API: port FFTFrame to MKL
1652         https://bugs.webkit.org/show_bug.cgi?id=50986
1653
1654         Ported FFTFrame to Intel's MKL. This patch contains the port and
1655         initial, though not complete, build system changes. Tested so far
1656         with a unit test by Chris Rogers (which requires code changes to
1657         AudioContext.cpp and is not being checked in). Further testing to
1658         follow once layout tests are available for the Web Audio API.
1659
1660         * WebCore.gyp/WebCore.gyp:
1661         * WebCore.gypi:
1662         * platform/audio/FFTFrame.h:
1663         * platform/audio/mkl: Added.
1664         * platform/audio/mkl/FFTFrameMKL.cpp: Added.
1665         (WebCore::FFTFrame::FFTFrame):
1666         (WebCore::FFTFrame::~FFTFrame):
1667         (WebCore::FFTFrame::multiply):
1668         (WebCore::FFTFrame::doFFT):
1669         (WebCore::FFTFrame::doInverseFFT):
1670         (WebCore::FFTFrame::cleanup):
1671         (WebCore::FFTFrame::realData):
1672         (WebCore::FFTFrame::imagData):
1673         (WebCore::FFTFrame::getUpToDateComplexData):
1674         (WebCore::FFTFrame::descriptorHandleForSize):
1675
1676 2010-12-15  Yong Li  <yoli@rim.com>
1677
1678         Reviewed by Darin Adler.
1679
1680         Fix stack overflow when there are too many sibling inline boxes by using
1681         a loop to traverse children instead of calling each sibling from the first child.
1682         https://bugs.webkit.org/show_bug.cgi?id=48255
1683
1684         Test: fast/overflow/lots-of-sibling-inline-boxes.html
1685
1686         * rendering/InlineBox.h:
1687         (WebCore::InlineBox::setConstructed):
1688         (WebCore::InlineBox::next):
1689         * rendering/InlineFlowBox.h:
1690         (WebCore::InlineFlowBox::setConstructed):
1691
1692 2010-12-15  Sam Weinig  <sam@webkit.org>
1693
1694         Reviewed by Anders Carlsson.
1695
1696         WebKit2: Can't add files to an <input type=file>
1697         https://bugs.webkit.org/show_bug.cgi?id=51087
1698
1699         Add exported function.
1700
1701         * WebCore.exp.in:
1702
1703 2010-12-15  Andreas Kling  <andreas.kling@nokia.com>
1704
1705         Reviewed by Antonio Gomes.
1706
1707         [Qt] screenIsMonochrome() is broken
1708         https://bugs.webkit.org/show_bug.cgi?id=49957
1709
1710         * platform/qt/PlatformScreenQt.cpp:
1711         (WebCore::screenIsMonochrome):
1712
1713 2010-12-15  Martin Robinson  <mrobinson@igalia.com>
1714
1715         Reviewed by Gustavo Noronha Silva.
1716
1717         [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk
1718         https://bugs.webkit.org/show_bug.cgi?id=48486
1719
1720         Implement button rendering in RenderThemeGtk. The implementation
1721         from gtk{2,3}drawing.cpp will be removed once menu list button rendering
1722         is implemented in RenderThemeGtk as well.
1723
1724         No new tests, as this should not change functionality.
1725
1726         * platform/gtk/RenderThemeGtk.cpp:
1727         (WebCore::RenderThemeGtk::paintButton): Add an implementation of button
1728         rendering that uses WidgetRenderingContext.
1729
1730 2010-10-18  Martin Robinson  <mrobinson@igalia.com>
1731
1732         Reviewed by Gustavo Noronha Silva.
1733
1734         [GTK] Move input type=range rendering to RenderThemeGtk
1735         https://bugs.webkit.org/show_bug.cgi?id=47836
1736
1737         Begin moving widget rendering out of the old Mozilla theme drawing code,
1738         which should remove many lines of code when completed. WidgetRenderingContext
1739         now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay
1740         version agnostic.
1741
1742         No new tests as this patch does not change functionality.
1743
1744         * platform/gtk/RenderThemeGtk.cpp:
1745         (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a
1746         GtkWidget, so update the cast here.
1747         (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which
1748         converts a RenderObject state into a GtkStateType.
1749         (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for
1750         scale painting, as it's not handled by this method any longer.
1751         (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use
1752         WidgetRenderingContext.
1753         (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
1754         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size
1755         properties directly from the widget now instead of asking the Mozilla code.
1756         (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this
1757         helper which reduces the amount of code quite a bit.
1758         (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper.
1759         (WebCore::RenderThemeGtk::gtkButton): Ditto.
1760         (WebCore::RenderThemeGtk::gtkEntry): Ditto.
1761         (WebCore::RenderThemeGtk::gtkTreeView): Ditto.
1762         (WebCore::RenderThemeGtk::gtkVScale): Added.
1763         (WebCore::RenderThemeGtk::gtkHScale): Added.
1764         (WebCore::RenderThemeGtk::platformColorsDidChange): Removed
1765         GTK_CONTAINER cast.
1766         * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and
1767          GtkVScale members.
1768         * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy
1769         gtk_paint_box, gtk_paint_focus and gtk_paint_slider.
1770         * platform/gtk/WidgetRenderingContextGtk2.cpp:
1771         (WebCore::WidgetRenderingContext::gtkPaintBox): Added.
1772         (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
1773         (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
1774         * platform/gtk/WidgetRenderingContextGtk3.cpp:
1775         (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto.
1776         (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
1777         (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
1778         * platform/gtk/gtk2drawing.c: Removed defunct code!
1779         (moz_gtk_get_widget_border):
1780         (moz_gtk_widget_paint):
1781         * platform/gtk/gtk3drawing.c: Ditto.
1782         (moz_gtk_get_widget_border):
1783         (moz_gtk_widget_paint):
1784         * platform/gtk/gtkdrawing.h:
1785
1786 2010-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>
1787
1788         Unreviewed, rolling out r74117.
1789         http://trac.webkit.org/changeset/74117
1790         https://bugs.webkit.org/show_bug.cgi?id=51113
1791
1792         This broke the GTK1 build. (Requested by mrobinson on
1793         #webkit).
1794
1795         * GNUmakefile.am:
1796         * platform/network/soup/cache/webkit/soup-cache.h:
1797
1798 2010-12-15  Jian Li  <jianli@chromium.org>
1799
1800         Unreviewed. Fixed a clang compiling error by making the forward
1801         declaration of MediaPlayerFactory be consistent with the definition.
1802
1803         * platform/graphics/MediaPlayer.h:
1804
1805 2010-12-15  David Hyatt  <hyatt@apple.com>
1806
1807         Reviewed by Simon Fraser.
1808
1809         Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a
1810         y-position.
1811
1812         * rendering/LayoutState.cpp:
1813         (WebCore::LayoutState::pageLogicalOffset):
1814         (WebCore::LayoutState::addForcedColumnBreak):
1815         * rendering/LayoutState.h:
1816         * rendering/RenderBlock.cpp:
1817         (WebCore::RenderBlock::layoutBlock):
1818         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
1819         (WebCore::RenderBlock::layoutColumns):
1820         (WebCore::RenderBlock::setPageLogicalOffset):
1821         * rendering/RenderBlock.h:
1822         (WebCore::RenderBlock::pageLogicalOffset):
1823         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
1824         * rendering/RenderFlexibleBox.cpp:
1825         (WebCore::RenderFlexibleBox::layoutBlock):
1826         * rendering/RenderTable.cpp:
1827         (WebCore::RenderTable::layout):
1828         * rendering/RenderTableRow.cpp:
1829         (WebCore::RenderTableRow::layout):
1830         * rendering/RenderTableSection.cpp:
1831         (WebCore::RenderTableSection::layoutRows):
1832
1833 2010-12-13  Pavel Podivilov  <podivilov@chromium.org>
1834
1835         Reviewed by Pavel Feldman.
1836
1837         Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel.
1838         https://bugs.webkit.org/show_bug.cgi?id=50908
1839
1840         * inspector/front-end/BreakpointManager.js:
1841         (WebInspector.BreakpointManager):
1842         (WebInspector.BreakpointManager.prototype._debuggerPaused):
1843         * inspector/front-end/CallStackSidebarPane.js:
1844         (WebInspector.CallStackSidebarPane):
1845         (WebInspector.CallStackSidebarPane.prototype.update):
1846         * inspector/front-end/DebuggerModel.js:
1847         (WebInspector.DebuggerModel):
1848         (WebInspector.DebuggerModel.prototype.setBreakpoint):
1849         (WebInspector.DebuggerModel.prototype._setBreakpoint):
1850         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
1851         (WebInspector.DebuggerModel.prototype.scriptsForURL):
1852         (WebInspector.DebuggerModel.prototype.queryScripts):
1853         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
1854         (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
1855         (WebInspector.DebuggerModel.prototype.breakpointRestored):
1856         (WebInspector.DebuggerModel.prototype.debuggerPaused):
1857         (WebInspector.DebuggerModel.prototype.debuggerResumed):
1858         * inspector/front-end/Resource.js:
1859         * inspector/front-end/ScriptsPanel.js:
1860         (WebInspector.ScriptsPanel): eliminate sourceIDMap
1861         * inspector/front-end/SourceFrame.js:
1862         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
1863         (WebInspector.SourceFrame.prototype._setBreakpoint):
1864         * inspector/front-end/SourceView.js:
1865         (WebInspector.SourceView):
1866         * inspector/front-end/inspector.js:
1867         (WebInspector.createJSBreakpointsSidebarPane):
1868         (WebInspector.parsedScriptSource):
1869         (WebInspector.failedToParseScriptSource):
1870
1871 2010-12-15  Eric Carlson  <eric.carlson@apple.com>
1872
1873         Reviewed by Darin Adler.
1874
1875         MediaPlayer should try all installed media engines
1876         https://bugs.webkit.org/show_bug.cgi?id=50209
1877
1878         * platform/graphics/MediaPlayer.cpp:
1879         (WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional
1880         parameter for current engine. 
1881         (WebCore::nextMediaEngine): New, return the next media engine in the list.
1882         (WebCore::MediaPlayer::MediaPlayer): Initialize reload timer.
1883         (WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables.
1884         (WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine.
1885         (WebCore::MediaPlayer::supportsType): Make contentType parameter const.
1886         (WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine.
1887         (WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's
1888         metadata has not loaded, give the next installed engine a try.
1889         * platform/graphics/MediaPlayer.h:
1890
1891 2010-12-15  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>
1892
1893         Reviewed by Martin Robinson.
1894
1895         Changes to enable building WebKit2 for Gtk port
1896         (https://bugs.webkit.org/show_bug.cgi?id=37369)
1897
1898         No new functionality added or deleted. Only makefile change. Hence, no tests added.
1899
1900         * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am
1901         * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> and declare WEBKIT_API directly
1902
1903 2010-12-15  Jarred Nicholls  <jarred@sencha.com>
1904
1905         Reviewed by Andreas Kling.
1906
1907         [Qt] Implement the File API spec
1908         https://bugs.webkit.org/show_bug.cgi?id=49839
1909
1910         No new tests. fast/files tests work when manually operated.
1911         They do not automatically work due to Qt's inability to handle multi-file
1912         inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT
1913         is missing an eventSender.beginDragWithFiles implementation.
1914
1915         * WebCore.pri:
1916         * WebCore.pro:
1917         * features.pri:
1918         * platform/qt/FileSystemQt.cpp:
1919         (WebCore::directoryName):
1920         (WebCore::readFromFile):
1921         (WebCore::seekFile):
1922
1923 2010-12-14  Antti Koivisto  <antti@apple.com>
1924
1925         Reviewed by Alexey Proskuryakov.
1926
1927         https://bugs.webkit.org/show_bug.cgi?id=49548
1928         WebCore cache stores duplicate copies of subresources with URL fragments
1929         
1930         - Strip fragment identifiers from HTTP and file URLs for the memory cache.
1931         - Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs
1932           instead of strings to reduce repeated URL parsing.
1933
1934         Test: http/tests/cache/subresource-fragment-identifier.html
1935
1936         * inspector/InspectorResourceAgent.cpp:
1937         (WebCore::InspectorResourceAgent::cachedResource):
1938         * loader/FrameLoader.cpp:
1939         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
1940         * loader/cache/CachedResource.cpp:
1941         (WebCore::CachedResource::~CachedResource):
1942         * loader/cache/CachedResourceLoader.cpp:
1943         (WebCore::CachedResourceLoader::cachedResource):
1944         (WebCore::CachedResourceLoader::checkForReload):
1945         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1946         (WebCore::CachedResourceLoader::requestResource):
1947         * loader/cache/CachedResourceLoader.h:
1948         * loader/cache/MemoryCache.cpp:
1949         (WebCore::MemoryCache::requestResource):
1950         (WebCore::MemoryCache::requestUserCSSStyleSheet):
1951         (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
1952         (WebCore::MemoryCache::resourceForURL):
1953         * loader/cache/MemoryCache.h:
1954
1955 2010-12-15  Anton Muhin  <antonm@chromium.org>
1956
1957         Reviewed by David Levin.
1958
1959         [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations
1960         https://bugs.webkit.org/show_bug.cgi?id=50965
1961
1962         * bindings/v8/V8GCController.cpp:
1963         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
1964         (WebCore::DOMObjectGrouperVisitor::addAllItems):
1965
1966 2010-12-13  Pavel Podivilov  <podivilov@chromium.org>
1967
1968         Reviewed by Yury Semikhatsky.
1969
1970         Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation.
1971         https://bugs.webkit.org/show_bug.cgi?id=48858
1972
1973         BreakpointManager pushes all persistent breakpoints to backend when loaded.
1974         InspectorController restores sticky breakpoints from cookie on navigation.
1975
1976         * inspector/Inspector.idl:
1977         * inspector/InspectorController.cpp:
1978         (WebCore::InspectorController::InspectorController):
1979         (WebCore::InspectorController::disconnectFrontend):
1980         (WebCore::InspectorController::didCommitLoad):
1981         (WebCore::InspectorController::setStickyBreakpoints):
1982         (WebCore::InspectorController::restoreStickyBreakpoints):
1983         (WebCore::InspectorController::restoreStickyBreakpoint):
1984         * inspector/InspectorController.h:
1985         * inspector/InspectorState.cpp:
1986         (WebCore::InspectorState::InspectorState):
1987         (WebCore::InspectorState::getObject):
1988         (WebCore::InspectorState::setObject):
1989         (WebCore::InspectorState::registerObject):
1990         * inspector/InspectorState.h:
1991         * inspector/front-end/BreakpointManager.js:
1992         (WebInspector.BreakpointManager):
1993         * inspector/front-end/BreakpointsSidebarPane.js:
1994         (WebInspector.BreakpointsSidebarPane):
1995         (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
1996         (WebInspector.BreakpointsSidebarPane.prototype._projectChanged):
1997         (WebInspector.EventListenerBreakpointsSidebarPane):
1998         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
1999         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
2000         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
2001         * inspector/front-end/CallStackSidebarPane.js:
2002         (WebInspector.CallStackSidebarPane):
2003         * inspector/front-end/ElementsPanel.js:
2004         (WebInspector.ElementsPanel.prototype.reset):
2005         * inspector/front-end/ScriptsPanel.js:
2006         (WebInspector.ScriptsPanel.prototype.reset):
2007         * inspector/front-end/Settings.js:
2008         (WebInspector.Settings.prototype.inspectedURLChanged):
2009         (WebInspector.Settings.prototype.get projectId):
2010         (WebInspector.Settings.prototype.findSettingForAllProjects):
2011         (WebInspector.Settings.prototype._formatProjectKey):
2012         * inspector/front-end/inspector.js:
2013         (WebInspector.createDOMBreakpointsSidebarPane):
2014         (WebInspector.createXHRBreakpointsSidebarPane):
2015         (WebInspector.reset):
2016         (WebInspector.inspectedURLChanged):
2017
2018 2010-12-15  Mario Sanchez Prada  <msanchez@igalia.com>
2019
2020         Unreviewed, fix compilation warnings after r74066.
2021
2022         * rendering/RenderBox.cpp:
2023         (WebCore::layersUseImage): Place this static function between the
2024         same if-def region used in the only place where it's called from.
2025
2026 2010-12-15  Emil Eklund  <eae@chromium.org>
2027
2028         Reviewed by Adam Barth.
2029
2030         Change ContainerNode::willRemoveChildren to not fire mutation events for children
2031         added as a result of a mutation event, thereby avoiding an infinite loop.
2032         https://bugs.webkit.org/show_bug.cgi?id=51079
2033
2034         Test: fast/dom/containerNode.html
2035
2036         * dom/ContainerNode.cpp:
2037         (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event.
2038
2039 2010-12-14  Dan Bernstein  <mitz@apple.com>
2040
2041         Reviewed by Maciej Stachowiak.
2042
2043         <rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value
2044         https://bugs.webkit.org/show_bug.cgi?id=51096
2045
2046         Test: fast/css/appearance-caps-lock-indicator.html
2047
2048         * css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be
2049         accepted by the parser, and added comments about maintaining the list of appearance values.
2050         * platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum.
2051
2052 2010-12-14  takano takumi  <takano@apple.com>
2053
2054         Reviewed by Dan Bernstein.
2055
2056         text-combine value names have been changed in the css3 proposal.
2057         https://bugs.webkit.org/show_bug.cgi?id=51089
2058
2059         Changed text-combine's value names from "none|cluster|upright" to "none|horizontal".
2060
2061         * css/CSSParser.cpp: Changed value name.
2062         (WebCore::CSSParser::parseValue):
2063         * css/CSSPrimitiveValueMappings.h: Changed value name.
2064         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2065         (WebCore::CSSPrimitiveValue::operator TextCombine):
2066         * css/CSSValueKeywords.in: No more text-combine specific values needed since
2067         "horizontal" is already there.
2068         * rendering/style/RenderStyleConstants.h: Changed value name.
2069         * rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size.
2070
2071 2010-12-14  Koan-Sin Tan  <koansin.tan@gmail.com>
2072
2073         Reviewed by Alexey Proskuryakov.
2074
2075         Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
2076         https://bugs.webkit.org/show_bug.cgi?id=51012
2077
2078         Kana should be displayed correctly in vertical text with broken font.
2079
2080         Test: fast/blockflow/japanese-rl-text-with-broken-font.html
2081
2082         * platform/graphics/Font.cpp:
2083         (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms
2084
2085 2010-12-14  Dan Bernstein  <mitz@apple.com>
2086
2087         Reviewed by Sam Weinig.
2088
2089         Additional RenderStyle support for the text-emphasis CSS property
2090         Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
2091         https://bugs.webkit.org/show_bug.cgi?id=48539
2092
2093         No test possible, since this is just adding a function to be used by upcoming patches.
2094
2095         * platform/text/CharacterNames.h: Added characters used as emphasis marks.
2096         * rendering/style/RenderStyle.cpp:
2097         (WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the
2098         emphasis mark, or the null AtomicString if there is none.
2099         * rendering/style/RenderStyle.h:
2100
2101 2010-12-14  Anton D'Auria  <adauria@apple.com>
2102
2103         Reviewed by Darin Adler.
2104
2105         Do not allow access to existing HTML5 databases in private browsing
2106         mode https://bugs.webkit.org/show_bug.cgi?id=49332
2107
2108         Test: storage/private-browsing-noread-nowrite.html
2109
2110         Previously, read-only transactions and private browsing mode were
2111         represented by the same SQLStatement and DatabaseAuthorizer states.
2112         This patch removes the m_readOnly member variable from SQLStatement and
2113         DatabaseAuthorizer, and replaces it with m_permissions whose bit fields
2114         are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite,
2115         ReadOnly, NoAccess). A read-only transaction sets permissions to
2116         ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(),
2117         then permissions also set to NoAccess.
2118
2119         * dom/Document.cpp:
2120         (WebCore::Document::allowDatabaseAccess): this method was previously
2121         called isDatabaseReadOnly. It checks if private browsing preference is
2122         set. This method is renamed because it is used to check if private
2123         browsing restricts access to databases.
2124         * dom/Document.h:
2125         * dom/ScriptExecutionContext.h:
2126         * storage/AbstractDatabase.cpp:
2127         (WebCore::AbstractDatabase::setAuthorizerPermissions):
2128         * storage/AbstractDatabase.h:
2129         * storage/DatabaseAuthorizer.cpp:
2130         (WebCore::DatabaseAuthorizer::reset):
2131         (WebCore::DatabaseAuthorizer::createTable):
2132         (WebCore::DatabaseAuthorizer::createTempTable):
2133         (WebCore::DatabaseAuthorizer::dropTable):
2134         (WebCore::DatabaseAuthorizer::dropTempTable):
2135         (WebCore::DatabaseAuthorizer::allowAlterTable):
2136         (WebCore::DatabaseAuthorizer::createIndex):
2137         (WebCore::DatabaseAuthorizer::createTempIndex):
2138         (WebCore::DatabaseAuthorizer::dropIndex):
2139         (WebCore::DatabaseAuthorizer::dropTempIndex):
2140         (WebCore::DatabaseAuthorizer::createTrigger):
2141         (WebCore::DatabaseAuthorizer::createTempTrigger):
2142         (WebCore::DatabaseAuthorizer::dropTrigger):
2143         (WebCore::DatabaseAuthorizer::dropTempTrigger):
2144         (WebCore::DatabaseAuthorizer::createView):
2145         (WebCore::DatabaseAuthorizer::createTempView):
2146         (WebCore::DatabaseAuthorizer::dropView):
2147         (WebCore::DatabaseAuthorizer::dropTempView):
2148         (WebCore::DatabaseAuthorizer::createVTable):
2149         (WebCore::DatabaseAuthorizer::dropVTable):
2150         (WebCore::DatabaseAuthorizer::allowDelete):
2151         (WebCore::DatabaseAuthorizer::allowInsert):
2152         (WebCore::DatabaseAuthorizer::allowUpdate):
2153         (WebCore::DatabaseAuthorizer::allowRead):
2154         (WebCore::DatabaseAuthorizer::allowReindex):
2155         (WebCore::DatabaseAuthorizer::allowWrite): a new private method that
2156         checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or
2157         NoAccess mode.
2158         (WebCore::DatabaseAuthorizer::setReadOnly):
2159         (WebCore::DatabaseAuthorizer::setPermissions):
2160         * storage/DatabaseAuthorizer.h:
2161         * storage/SQLStatement.cpp:
2162         (WebCore::SQLStatement::create):
2163         (WebCore::SQLStatement::SQLStatement):
2164         (WebCore::SQLStatement::execute):
2165         * storage/SQLStatement.h:
2166         * storage/SQLStatementSync.cpp:
2167         (WebCore::SQLStatementSync::SQLStatementSync):
2168         (WebCore::SQLStatementSync::execute):
2169         * storage/SQLStatementSync.h:
2170         * storage/SQLTransaction.cpp:
2171         (WebCore::SQLTransaction::executeSQL):
2172         * storage/SQLTransactionSync.cpp:
2173         (WebCore::SQLTransactionSync::executeSQL):
2174         * workers/WorkerContext.h:
2175         (WebCore::WorkerContext::allowDatabaseAccess):
2176
2177 2010-12-02  MORITA Hajime  <morrita@google.com>
2178
2179         Reviewed by Dimitri Glazkov.
2180
2181         [chromium] Fix drawing of inset box shadows
2182         https://bugs.webkit.org/show_bug.cgi?id=41576
2183
2184         When clearing outside clipped path, the context contains unexpected transform.
2185         Fixed to restore original state before the clear.
2186
2187         * platform/graphics/skia/PlatformContextSkia.cpp:
2188         (WebCore::PlatformContextSkia::clipPathAntiAliased):
2189         (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
2190
2191 2010-12-14  Anders Carlsson  <andersca@apple.com>
2192
2193         Reviewed by Sam Weinig.
2194
2195         Mouse Events Not Received in Run Applet in their Own Process Mode
2196         https://bugs.webkit.org/show_bug.cgi?id=51078
2197         <rdar://problem/8333491>
2198
2199         Make sure that Widget::handleEvent is called for applets as well.
2200
2201         * html/HTMLAppletElement.cpp:
2202         (WebCore::HTMLAppletElement::defaultEventHandler):
2203         * html/HTMLAppletElement.h:
2204
2205 2010-12-14  Simon Fraser  <simon.fraser@apple.com>
2206
2207         Reviewed by Chris Marrin.
2208
2209         Parts of page disappear
2210         https://bugs.webkit.org/show_bug.cgi?id=41701
2211         
2212         The page has text-indent: -1000000px on an element that becomes
2213         compositing, causing a huge tiled layer to get created.
2214         
2215         r63452 aimed to fix this by clamping layer bounds to the viewport,
2216         but did not do so for pages running accelerated animations (since
2217         we don't want to clamp for transform animations). However, this
2218         page only has an opacity animation.
2219         
2220         So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false)
2221         for transform animations.
2222
2223         Test: compositing/geometry/limit-layer-bounds-opacity-transition.html
2224
2225         * rendering/RenderLayerBacking.cpp:
2226         (WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation()
2227         with the appropriate properties, and clean up confusing logic that was used to
2228         compute the return value. We want to return true if either property is accelerated.
2229
2230         (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation()
2231         with the appropriate property.
2232         
2233         * rendering/RenderLayerCompositor.h:
2234         * rendering/RenderLayerCompositor.cpp:
2235         (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in,
2236         and only turn off overlap testing if we see a transform animation.
2237
2238 2010-12-14  Brady Eidson  <beidson@apple.com>
2239
2240         Reviewed by Alexey Proskuryakov.
2241
2242         <rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138
2243         Authorization header is sent from an HTTP Auth protected site on redirect
2244         Test: http/tests/misc/authentication-sent-to-redirect.html
2245
2246         Add helper to clear the Auth headers from a resource request:
2247         * platform/network/ResourceRequestBase.cpp:
2248         (WebCore::ResourceRequestBase::clearHTTPAuthorization):
2249         * platform/network/ResourceRequestBase.h:
2250
2251         Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them:
2252         * platform/network/cf/ResourceHandleCFNet.cpp:
2253         (WebCore::ResourceHandle::willSendRequest):
2254         * platform/network/mac/ResourceHandleMac.mm:
2255         (WebCore::ResourceHandle::willSendRequest):
2256
2257 2010-12-14  Simon Fraser  <simon.fraser@apple.com>
2258
2259         Reviewed by Chris Marrin.
2260
2261         Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL
2262         https://bugs.webkit.org/show_bug.cgi?id=51072
2263
2264         Fix a crash when painting a layer whose PlatformCALayer has been deleted,
2265         by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer
2266         is destroyed.
2267         
2268         I was not able to reduce the page to a simple testcase.
2269
2270         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2271         (PlatformCALayer::~PlatformCALayer):
2272
2273 2010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2274
2275         Unreviewed, build fix.
2276
2277         [Qt] Fix the list of header files in WebCore.pro after r74049.
2278
2279         No new tests as there is no new functionality.
2280
2281         * WebCore.pro:
2282
2283 2010-12-14  Yael Aharon  <yael.aharon@nokia.com>
2284
2285         Reviewed by Andreas Kling.
2286
2287         [Qt] Focus rings are ugly, rects should be united instead of drawn individually
2288         https://bugs.webkit.org/show_bug.cgi?id=49953
2289
2290         Create a QPainterPath and add to it the focus rects, one at a time.
2291         Combine the 2 drawFocusRing functions into one function drawFocusRingForPath.
2292
2293         Tests: fast/css/focus-ring-detached.html
2294                fast/css/focus-ring-multiline.html
2295
2296         * platform/graphics/qt/GraphicsContextQt.cpp:
2297         (WebCore::drawFocusRingForPath):
2298         (WebCore::GraphicsContext::drawFocusRing):
2299
2300 2010-12-14  Mark Rowe  <mrowe@apple.com>
2301
2302         Fix the Qt build.
2303
2304         * xml/XSLTProcessorQt.cpp:
2305         (WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit
2306         since QVariant can be constructed from either a QString or a bool.
2307
2308 2010-12-14  Simon Fraser  <simon.fraser@apple.com>
2309
2310         Reviewed by Dan Bernstein.
2311
2312         compositing/masks/simple-composited-mask.html failure
2313         https://bugs.webkit.org/show_bug.cgi?id=49746
2314
2315         Geometry of composited layers with a mask depends on the loading
2316         of the mask image, since maskClipRect() is used for the layer bounds.
2317         
2318         So when RenderBox::imageChanged() is called for an image used by
2319         a mask on a layer with a composited mask, call the newly-renamed
2320         layer->contentsChanged() method. This percolates down into RenderLayerBacking,
2321         ending in a layer geometry update.
2322         
2323         Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added
2324         an enum to say what changed, for somewhat more efficient updating.
2325         
2326         Also, when the mask layer gets resized, make sure we mark it as needing
2327         display.
2328         
2329         Tested by pixel result of compositing/masks/simple-composited-mask.html
2330
2331         * html/canvas/CanvasRenderingContext2D.cpp:
2332         (WebCore::CanvasRenderingContext2D::didDraw):
2333         * html/canvas/WebGLRenderingContext.cpp:
2334         (WebCore::WebGLRenderingContext::markContextChanged):
2335         (WebCore::WebGLRenderingContext::reshape):
2336         * rendering/RenderBox.cpp:
2337         (WebCore::layersUseImage):
2338         (WebCore::RenderBox::imageChanged):
2339         * rendering/RenderImage.cpp:
2340         (WebCore::RenderImage::imageDimensionsChanged):
2341         (WebCore::RenderImage::notifyFinished):
2342         * rendering/RenderLayer.cpp:
2343         (WebCore::RenderLayer::contentChanged):
2344         * rendering/RenderLayer.h:
2345         * rendering/RenderLayerBacking.cpp:
2346         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2347         (WebCore::RenderLayerBacking::contentChanged):
2348         * rendering/RenderLayerBacking.h:
2349         * rendering/RenderVideo.cpp:
2350         (WebCore::RenderVideo::updatePlayer):
2351
2352 2010-12-14  Mark Rowe  <mrowe@apple.com>
2353
2354         Reviewed by Sam Weinig.
2355
2356         <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
2357
2358         We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in
2359         to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly.
2360
2361         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2362         (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string.
2363
2364 2010-12-14  David Hyatt  <hyatt@apple.com>
2365
2366         Reviewed by Dan Bernstein.
2367
2368         https://bugs.webkit.org/show_bug.cgi?id=50970
2369         
2370         It's arguably a bug, but we don't let inline flow layers paint floating
2371         descendants.  The containing block of the inline flow paints them instead.
2372         However our shouldPaint logic has always been flawed and has turned off propagation
2373         of painting when an inline flow layer is enclosing the float.
2374         
2375         Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise
2376         and for now limit it to RenderBoxes. 
2377         
2378         Added fast/block/float/floatstack.html
2379
2380         * rendering/RenderBlock.cpp:
2381         (WebCore::RenderBlock::addOverhangingFloats):
2382         * rendering/RenderBox.cpp:
2383         (WebCore::RenderBox::enclosingFloatPaintingLayer):
2384         * rendering/RenderBox.h:
2385         * rendering/RenderObject.cpp:
2386         * rendering/RenderObject.h:
2387
2388 2010-12-14  Mihai Parparita  <mihaip@chromium.org>
2389
2390         Reviewed by Dimitri Glazkov.
2391
2392         Move asynchronous event dispatching out of Document
2393         https://bugs.webkit.org/show_bug.cgi?id=49785
2394         
2395         Move asynchonous event code out of Document and into a standalone
2396         EventQueue class (which supports async events for both regular nodes
2397         and the window object).
2398
2399         No new tests necessary, since no new functionality is exposed (existing
2400         layout tests pass).
2401
2402         * Android.mk:
2403         * CMakeLists.txt:
2404         * GNUmakefile.am:
2405         * WebCore.gypi:
2406         * WebCore.pro:
2407         * WebCore.vcproj/WebCore.vcproj:
2408         * WebCore.xcodeproj/project.pbxproj:
2409         * dom/Document.cpp:
2410         (WebCore::Document::Document):
2411         (WebCore::Document::enqueueWindowEvent):
2412         (WebCore::Document::enqueueHashchangeEvent):
2413         * dom/DOMAllInOne.cpp:
2414         (WebCore::Document::eventQueue):
2415         * dom/Document.h:
2416         * dom/EventQueue.cpp: Added.
2417         (WebCore::EventQueue::EventQueue):
2418         (WebCore::EventQueue::enqueueEvent):
2419         (WebCore::EventQueue::pendingEventTimerFired):
2420         (WebCore::EventQueue::dispatchEvent):
2421         * dom/EventQueue.h: Added.
2422         * storage/StorageEventDispatcher.cpp:
2423         (WebCore::StorageEventDispatcher::dispatch):
2424
2425 2010-12-14  Kyounga Ra  <kyounga.ra@gmail.com>
2426
2427         Reviewed by Adam Barth.
2428
2429         <noscript> is rendered with enabled XHTMLMP.
2430         https://bugs.webkit.org/show_bug.cgi?id=48493
2431
2432         * html/HTMLElement.cpp:
2433         (WebCore::HTMLElement::rendererIsNeeded):
2434
2435 2010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2436
2437         Reviewed by Eric Seidel.
2438
2439         [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported
2440         https://bugs.webkit.org/show_bug.cgi?id=50231
2441
2442         No new tests as there is no new functionality.
2443
2444         Guard CONFIG+=link_pkgconfig with !symbian.
2445
2446         * WebCore.pro:
2447
2448 2010-12-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2449
2450         Unreviewed, rolling out r74040.
2451         http://trac.webkit.org/changeset/74040
2452         https://bugs.webkit.org/show_bug.cgi?id=51050
2453
2454         Breaks 2d.shadow.canvas.transparent.2 and
2455         2d.shadow.image.transparent.2 (Requested by helder on
2456         #webkit).
2457
2458         * platform/graphics/ContextShadow.cpp:
2459         (WebCore::ContextShadow::ContextShadow):
2460         (WebCore::ContextShadow::calculateLayerBoundingRect):
2461         * platform/graphics/ContextShadow.h:
2462         (WebCore::ContextShadow::offset):
2463         * platform/graphics/qt/ContextShadowQt.cpp:
2464         (WebCore::ContextShadow::beginShadowLayer):
2465         (WebCore::ContextShadow::endShadowLayer):
2466         * platform/graphics/qt/GraphicsContextQt.cpp:
2467         (WebCore::GraphicsContext::fillPath):
2468         (WebCore::GraphicsContext::strokePath):
2469         (WebCore::GraphicsContext::fillRect):
2470         (WebCore::GraphicsContext::fillRoundedRect):
2471         (WebCore::GraphicsContext::setPlatformShadow):
2472
2473 2010-12-14  Nate Chapin  <japhet@chromium.org>
2474
2475         Unreviewed, fixing qt (hopefully for real this time).
2476
2477         Remove a couple more references to loader.h.
2478
2479         * xml/XSLStyleSheetQt.cpp:
2480         * xml/XSLTProcessorQt.cpp:
2481
2482 2010-12-14  Nate Chapin  <japhet@chromium.org>
2483
2484         Unreviewed, fix mac and qt builds.
2485
2486         Missed a couple of references to loader.h and
2487         improperly added CachedResourceRequest.h to
2488         WebCore.xcodeproj.
2489
2490         * WebCore.xcodeproj/project.pbxproj:
2491         * platform/android/TemporaryLinkStubs.cpp:
2492         * platform/qt/TemporaryLinkStubsQt.cpp:
2493
2494 2010-12-14  Nate Chapin  <japhet@chromium.org>
2495
2496         Reviewed by Adam Barth.
2497
2498         Rename Loader to CachedResourceRequest.
2499         https://bugs.webkit.org/show_bug.cgi?id=50848
2500
2501         No new tests, rename only.
2502
2503         * Android.mk:
2504         * CMakeLists.txt:
2505         * GNUmakefile.am:
2506         * WebCore.gypi:
2507         * WebCore.pro:
2508         * WebCore.vcproj/WebCore.vcproj:
2509         * WebCore.xcodeproj/project.pbxproj:
2510         * css/CSSStyleSelector.cpp:
2511         * loader/cache/CachedCSSStyleSheet.cpp:
2512         * loader/cache/CachedFont.cpp:
2513         * loader/cache/CachedResource.cpp:
2514         (WebCore::CachedResource::setRequest):
2515         * loader/cache/CachedResource.h:
2516         * loader/cache/CachedResourceLoader.cpp:
2517         (WebCore::CachedResourceLoader::load):
2518         (WebCore::CachedResourceLoader::loadDone):
2519         (WebCore::CachedResourceLoader::cancelRequests):
2520         * loader/cache/CachedResourceLoader.h:
2521         * loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp.
2522         * loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h.
2523         * loader/loader.cpp: Removed.
2524         * loader/loader.h: Removed.
2525         * xml/XSLStyleSheetLibxslt.cpp:
2526         * xml/XSLTProcessor.cpp:
2527         * xml/XSLTProcessorLibxslt.cpp:
2528
2529 2010-12-14  David Hyatt  <hyatt@apple.com>
2530
2531         Reviewed by Tim Hatcher.
2532
2533         https://bugs.webkit.org/show_bug.cgi?id=46422
2534
2535         Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for
2536         making printing and pagination work with vertical writing modes.
2537
2538         * page/FrameView.cpp:
2539         (WebCore::FrameView::forceLayoutForPagination):
2540         * rendering/LayoutState.cpp:
2541         (WebCore::LayoutState::LayoutState):
2542         (WebCore::LayoutState::clearPaginationInformation):
2543         * rendering/LayoutState.h:
2544         (WebCore::LayoutState::LayoutState):
2545         (WebCore::LayoutState::isPaginated):
2546         (WebCore::LayoutState::pageLogicalHeight):
2547         (WebCore::LayoutState::pageLogicalHeightChanged):
2548         * rendering/RenderBlock.cpp:
2549         (WebCore::RenderBlock::layoutBlock):
2550         (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
2551         (WebCore::RenderBlock::insertFloatingObject):
2552         (WebCore::RenderBlock::layoutColumns):
2553         (WebCore::RenderBlock::nextPageTop):
2554         (WebCore::RenderBlock::applyBeforeBreak):
2555         (WebCore::RenderBlock::applyAfterBreak):
2556         (WebCore::RenderBlock::adjustForUnsplittableChild):
2557         (WebCore::RenderBlock::adjustLinePositionForPagination):
2558         * rendering/RenderBlock.h:
2559         * rendering/RenderBox.cpp:
2560         (WebCore::RenderBox::computeLogicalHeight):
2561         * rendering/RenderFlexibleBox.cpp:
2562         (WebCore::RenderFlexibleBox::layoutBlock):
2563         * rendering/RenderTable.cpp:
2564         (WebCore::RenderTable::layout):
2565         * rendering/RenderTableRow.cpp:
2566         (WebCore::RenderTableRow::layout):
2567         * rendering/RenderTableSection.cpp:
2568         (WebCore::RenderTableSection::layoutRows):
2569         * rendering/RenderView.cpp:
2570         (WebCore::RenderView::RenderView):
2571         (WebCore::RenderView::layout):
2572         * rendering/RenderView.h:
2573         (WebCore::RenderView::pageLogicalHeight):
2574         (WebCore::RenderView::setPageLogicalHeight):
2575
2576 2010-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
2577
2578         Fix GTK build by adding source files that were accidentally skipped in
2579         r74044. Sorry!
2580
2581         * GNUmakefile.am: Added SliderThumbElement.
2582
2583 2010-12-14  Beth Dakin  <bdakin@apple.com>
2584
2585         Reviewed by Darin Adler.
2586
2587         Fix for https://bugs.webkit.org/show_bug.cgi?id=50974 
2588         getComputedStyle() returns wrong values for zoomed elements when 
2589         display is none
2590         -and corresponding-
2591         <rdar://problem/8522731>
2592
2593         If there is no renderer but the RenderStyle's value is a fixed 
2594         length, send it through zoomAdjustedPixelValue(). There's not much 
2595         we can do for other length types without a renderer.
2596         * css/CSSComputedStyleDeclaration.cpp:
2597         (WebCore::zoomAdjustedPixelValueForLength):
2598         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2599
2600 2010-12-13  Dimitri Glazkov  <dglazkov@chromium.org>
2601
2602         Reviewed by David Levin.
2603
2604         Move SliderThumbElement into its own file.
2605         https://bugs.webkit.org/show_bug.cgi?id=50973
2606
2607         No change in behavior, so no tests.
2608
2609         * Android.mk: Added SliderThumbElement.
2610         * CMakeLists.txt: Ditto.
2611         * WebCore.gyp/WebCore.gyp: Ditto.
2612         * WebCore.gypi: Ditto.
2613         * WebCore.pro: Ditto.
2614         * WebCore.vcproj/WebCore.vcproj: Ditto.
2615         * WebCore.xcodeproj/project.pbxproj: Ditto,
2616         * html/shadow/SliderThumbElement.cpp: Added.
2617         * html/shadow/SliderThumbElement.h: Added.
2618         * rendering/RenderSlider.cpp: Removed code that was moved into
2619             SliderThumbElement.
2620
2621 2010-12-13  Alexey Proskuryakov  <ap@apple.com>
2622
2623         Reviewed by Adam Barth.
2624
2625         https://bugs.webkit.org/show_bug.cgi?id=50953
2626         DNS Prefetch should be an opt-in feature
2627
2628         No new tests, can't test DNS.
2629
2630         * dom/Document.h: Made initDNSPrefetch public, since Page now calls it.
2631
2632         * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged):
2633         * page/Page.h:
2634         Documents cache the value of this setting, so they need to be notified of changes. In particular,
2635         the first document in a page is created before settings are applied.
2636
2637         * page/Settings.cpp:
2638         (WebCore::Settings::Settings): Changed default to false.
2639         (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change.
2640
2641 2010-12-14  Helder Correia  <helder@sencha.com>
2642
2643         Reviewed by Ariya Hidayat.
2644
2645         [Qt] Canvas shadow offset should not be affected by any transformation
2646         https://bugs.webkit.org/show_bug.cgi?id=50422
2647
2648         On a canvas context, shadows are currently affected by all
2649         transformations except scaling. According to the spec:
2650         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows
2651
2652         "The shadowOffsetX and shadowOffsetY attributes specify the distance
2653         that the shadow will be offset in the positive horizontal and positive
2654         vertical distance respectively. Their values are in coordinate space
2655         units. They are not affected by the current transformation matrix."
2656
2657         NOTE: this applies only to canvas, not to box shadows.
2658
2659         Test: fast/canvas/canvas-transforms-fillRect-shadow.html
2660
2661         * platform/graphics/ContextShadow.cpp:
2662         (WebCore::ContextShadow::ContextShadow):
2663         (WebCore::ContextShadow::calculateLayerBoundingRect):
2664         * platform/graphics/ContextShadow.h:
2665         (WebCore::ContextShadow::setShadowsIgnoreTransforms):
2666         (WebCore::ContextShadow::shadowsIgnoreTransforms):
2667         (WebCore::ContextShadow::offset):
2668         * platform/graphics/qt/ContextShadowQt.cpp:
2669         (WebCore::ContextShadow::beginShadowLayer):
2670         (WebCore::ContextShadow::endShadowLayer):
2671         * platform/graphics/qt/GraphicsContextQt.cpp:
2672         (WebCore::mustUseContextShadow):
2673         (WebCore::GraphicsContext::fillPath):
2674         (WebCore::GraphicsContext::strokePath):
2675         (WebCore::GraphicsContext::fillRect):
2676         (WebCore::GraphicsContext::fillRoundedRect):
2677         (WebCore::GraphicsContext::setPlatformShadow):
2678
2679 2010-12-14  Alexander Pavlov  <apavlov@chromium.org>
2680
2681         Reviewed by Yury Semikhatsky.
2682
2683         Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted
2684         https://bugs.webkit.org/show_bug.cgi?id=51034
2685
2686         * inspector/front-end/CSSStyleModel.js:
2687         (WebInspector.CSSStyleModel.prototype._onRevert):
2688         * inspector/front-end/ElementsPanel.js:
2689         (WebInspector.ElementsPanel):
2690         (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
2691         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
2692         (WebInspector.ElementsPanel.prototype._styleSheetChanged):
2693
2694 2010-12-14  Andreas Kling  <andreas.kling@nokia.com>
2695
2696         Reviewed by Kenneth Rohde Christiansen.
2697
2698         [Qt] Avoid GraphicsContext save/restore in Image::drawPattern()
2699         https://bugs.webkit.org/show_bug.cgi?id=51037
2700
2701         It's enough to restore the CompositeOperator after drawing.
2702
2703         * platform/graphics/qt/ImageQt.cpp:
2704         (WebCore::Image::drawPattern):
2705
2706 2010-12-14  Eric Carlson  <eric.carlson@apple.com>
2707
2708         Reviewed by Dan Bernstein.
2709
2710         <rdar://problem/8763862>
2711         r72017 used incorrect compiler conditional.
2712
2713         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2714         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
2715
2716 2010-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2717
2718         Reviewed by Martin Robinson.
2719
2720         [GTK] Simplify context-menu handling code
2721         https://bugs.webkit.org/show_bug.cgi?id=49658
2722
2723         * platform/ContextMenuItem.h:
2724         * platform/gtk/ContextMenuGtk.cpp:
2725         (WebCore::ContextMenu::appendItem):
2726         * platform/gtk/ContextMenuItemGtk.cpp:
2727         (WebCore::ContextMenuItem::ContextMenuItem):
2728         (WebCore::ContextMenuItem::~ContextMenuItem):
2729         (WebCore::ContextMenuItem::releasePlatformDescription):
2730         (WebCore::ContextMenuItem::type):
2731         (WebCore::ContextMenuItem::setType):
2732         (WebCore::ContextMenuItem::action):
2733         (WebCore::ContextMenuItem::setAction):
2734         (WebCore::ContextMenuItem::title):
2735         (WebCore::ContextMenuItem::setTitle):
2736         (WebCore::ContextMenuItem::platformSubMenu):
2737         (WebCore::ContextMenuItem::setSubMenu):
2738         (WebCore::ContextMenuItem::setChecked):
2739         (WebCore::ContextMenuItem::setEnabled):
2740
2741 2010-12-14  Mario Sanchez Prada  <msanchez@igalia.com>
2742
2743         Reviewed by Xan Lopez.
2744
2745         [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects
2746         https://bugs.webkit.org/show_bug.cgi?id=27048
2747
2748         Handle focus change for text objects based in caret changes.
2749
2750         As text objects (such as paragraphs) seem not to accept focus in
2751         WebCore in the same way other objects (text controls) do, a
2752         Gtk-specific workaround is needed to expose this states and the
2753         related events to ATK-based assistive technologies.
2754
2755         Test: platform/gtk/accessibility/caret-browsing-text-focus.html
2756
2757         Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE
2758         state, and that the ATK_STATE_FOCUSED state is added to those
2759         text objects containing the currently active caret selection.
2760
2761         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2762         (selectionBelongsToObject): Moved upwards to use it from
2763         the new isTextWithCaret() function.
2764         (isTextWithCaret): New, checks whether an accessibility object
2765         represents a text object with the current caret selection on it.
2766         (setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state
2767         when also when isTextWithCaret(coreObject) returns true.
2768         (webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE
2769         state to text objects and those with the ATK_ROLE_PARAGRAPH role.
2770         (webkit_accessible_text_get_n_selections): Optimize return expression.
2771
2772         Make sure the proper events associated to a change of focus are
2773         emitted, based on caret changes across different accessibility
2774         objects. Also, refactored the code in more manageable and
2775         understandable helper functions.
2776
2777         * editing/gtk/SelectionControllerGtk.cpp:
2778         (WebCore::emitTextSelectionChange): New, includes the specific
2779         code formerly placed in notifyAccessibilityForSelectionChange() to
2780         emit the 'text-caret-moved' and 'text-selection-change' signals.
2781         (WebCore::maybeEmitTextFocusChange): New, takes care of emitting
2782         the 'focus-event' and 'state-changed::focused' signals when
2783         needed, that is, when a change in the selection happens across
2784         different accessible objects.
2785         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2786         Refactored some code here, by using the new helper functions.
2787
2788 2010-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
2789
2790         Reviewed by Pavel Feldman.
2791
2792         Web Inspector: regroup Inspector.idl entries.
2793         Just for better visibility.
2794
2795         https://bugs.webkit.org/show_bug.cgi?id=51025
2796
2797         * inspector/Inspector.idl:
2798
2799 2010-12-14  Alexander Pavlov  <apavlov@chromium.org>
2800
2801         Reviewed by Yury Semikhatsky.
2802
2803         Web Inspector: Reverted stylesheet breaks style data
2804         https://bugs.webkit.org/show_bug.cgi?id=51030
2805
2806         * inspector/InspectorStyleSheet.cpp:
2807         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2808
2809 2010-12-14  Mads Ager  <ager@chromium.org>
2810
2811         Reviewed by Pavel Feldman.
2812
2813         [V8] Reflected unsigned attributes should be in the range [0, 2^31)
2814         https://bugs.webkit.org/show_bug.cgi?id=51023
2815
2816         Follow the changes made to CodeGeneratorJS.pm to return 0 for
2817         reflected unsigned attributes that are outside the allowed range.
2818         See https://bugs.webkit.org/show_bug.cgi?id=50472
2819
2820         * bindings/scripts/CodeGeneratorV8.pm:
2821
2822 2010-12-14  Charlie Reis  <creis@chromium.org>
2823
2824         Reviewed by Darin Adler.
2825
2826         Remove stale include of Document.h in V8DOMWrapper.h
2827         https://bugs.webkit.org/show_bug.cgi?id=50607
2828
2829         We no longer need to include Document.h or V8DOMMap.h in
2830         V8DOMWrapper.  Removing them to avoid dependencies.
2831
2832         * bindings/v8/V8DOMWrapper.h:
2833
2834 2010-12-14  Julien Chaffraix  <jchaffraix@codeaurora.org>
2835
2836         Reviewed by Darin Adler.
2837
2838         Test for: EventSource fails to connect if Content-Type header has a charset attribute
2839         https://bugs.webkit.org/show_bug.cgi?id=45372
2840
2841         Tests: http/tests/eventsource/eventsource-content-type-charset.html
2842                http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html
2843
2844         * page/EventSource.cpp:
2845         (WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type
2846         header directly. This makes the detection of the "text/stream" mimeType more accurate.
2847
2848 2010-12-14  Pieter Senster  <psenster@google.com>
2849
2850         Reviewed by Dirk Schulze.
2851
2852         Incorporate the channel offsets from the ColorMatrix filter in the filter calculation
2853         https://bugs.webkit.org/show_bug.cgi?id=50682
2854
2855         Test: svg/filters/feColorMatrix-offset.svg
2856
2857         * platform/graphics/filters/FEColorMatrix.cpp:
2858         (WebCore::matrix):
2859
2860 2010-12-14  Jarred Nicholls  <jarred@sencha.com>
2861
2862         Reviewed by Kenneth Rohde Christiansen.
2863
2864         Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer)
2865
2866         No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles.
2867
2868         * platform/qt/ClipboardQt.cpp:
2869         (WebCore::ClipboardQt::files):
2870
2871 2010-12-13  Antonio Gomes  <agomes@rim.com>
2872
2873         Rubber stamped by Daniel Bates.
2874
2875         Spatial Navigation: code clean up (part V)
2876         https://bugs.webkit.org/show_bug.cgi?id=50666
2877
2878         No new tests needed.
2879
2880         * page/SpatialNavigation.cpp:
2881         (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not
2882         supposed to change within this function.
2883         * page/SpatialNavigation.h: Ditto.
2884
2885 2010-12-13  takano takumi  <takano@apple.com>
2886
2887         Reviewed by Dan Bernstein.
2888
2889         GlyphPage::fill() is slow on vertical writing (Mac)
2890         https://bugs.webkit.org/show_bug.cgi?id=50865
2891
2892         No test. Just a performance improvement.
2893
2894         * platform/graphics/Font.cpp:
2895         (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji).
2896         (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols.
2897         * platform/graphics/Font.h:
2898         * platform/graphics/FontFastPath.cpp:
2899         (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph().
2900         * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
2901         (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not.
2902         For vertical writing, if the current page contains only ideographs, we go CG path.
2903         (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path.
2904
2905 2010-12-13  Antonio Gomes  <agomes@rim.com>
2906
2907         Reviewed by Daniel Bates.
2908
2909         Spatial Navigation: code clean up (part IV)
2910         https://bugs.webkit.org/show_bug.cgi?id=50666
2911
2912         Avoid calling canScrollInDirection more than necessary.
2913
2914         No new tests needed.
2915
2916         * page/FocusController.cpp:
2917         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection()
2918         to within the scrollInDirection().
2919         * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function.
2920         (WebCore::scrollInDirection):
2921
2922 2010-12-13  Antonio Gomes  <agomes@rim.com>
2923
2924         Reviewed by Daniel Bates.
2925
2926         Spatial Navigation: code clean up (part III)
2927         https://bugs.webkit.org/show_bug.cgi?id=50666
2928
2929         No new tests needed.
2930
2931         * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and
2932         WebCore::frameOwnerElement helper functions.
2933         (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer
2934         wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false
2935         otherwise.
2936         * page/SpatialNavigation.cpp:
2937         (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with
2938         the FocusCandidate if appropriate.
2939         * page/FocusController.cpp:
2940         (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper.
2941         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto.
2942
2943 2010-12-13  Mike Lawther  <mikelawther@chromium.org>
2944
2945         Reviewed by Daniel Bates.
2946
2947         [skia] ignore transform for canvas shadows
2948         https://bugs.webkit.org/show_bug.cgi?id=50437
2949
2950         * platform/graphics/skia/GraphicsContextSkia.cpp:
2951         (WebCore::GraphicsContext::setPlatformShadow):
2952
2953 2010-12-13  Dai Mikurube  <dmikurube@google.com>
2954
2955         Reviewed by Kent Tamura.
2956
2957         ValidityState's exposed functions should check if willValidate() is true before all
2958         https://bugs.webkit.org/show_bug.cgi?id=50617
2959
2960         Added checking willValidate() to exposed functions. And modified willValidate() behavior
2961         for <button type="submit"> and <input type="submit"> to return true if not disabled and
2962         not readonly.
2963
2964         * html/HTMLButtonElement.cpp:
2965         (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type.
2966         (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec.
2967         * html/HTMLButtonElement.h:
2968         * html/SubmitInputType.cpp:
2969         (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec.
2970         (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available.
2971         * html/SubmitInputType.h:
2972         * html/ValidityState.cpp: Added checking willValidate().
2973         (WebCore::ValidityState::typeMismatch):
2974         (WebCore::ValidityState::patternMismatch):
2975         (WebCore::ValidityState::tooLong):
2976         (WebCore::ValidityState::rangeUnderflow):
2977         (WebCore::ValidityState::rangeOverflow):
2978         (WebCore::ValidityState::stepMismatch):
2979         (WebCore::ValidityState::customError):
2980         * html/ValidityState.h:
2981
2982 2010-12-13  Noel Gordon  <noel.gordon@gmail.com>
2983
2984         Reviewed by David Levin.
2985
2986         [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil()
2987         https://bugs.webkit.org/show_bug.cgi?id=50545
2988
2989         Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling.
2990
2991         No new tests, no change in behaviour.
2992
2993         * platform/graphics/skia/ImageBufferSkia.cpp:
2994         (WebCore::putImageData):
2995
2996 2010-12-13  Gavin Peters  <gavinp@chromium.org>
2997
2998         Reviewed by Adam Barth.
2999
3000         Re land Purpose after bad merge
3001         https://bugs.webkit.org/show_bug.cgi?id=51000
3002
3003         * loader/loader.cpp:
3004         (WebCore::Loader::load):
3005
3006 2010-12-13  Dan Bernstein  <mitz@apple.com>
3007
3008         Reviewed by Simon Fraser.
3009
3010         <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified
3011         https://bugs.webkit.org/show_bug.cgi?id=50979
3012
3013         Many test results updated.
3014
3015         * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and
3016         affectsDescent in the used-fonts code path. Renamed variables for clarity. Added
3017         a check whether usedFonts is empty (which it might be if there is glyph overflow
3018         but no fallback) as an optimization.
3019
3020 2010-12-13  Mark Rowe  <mrowe@apple.com>
3021
3022         Rubber-stamped by Jon Honeycutt.
3023
3024         Remove unnecessary include of Switch module.
3025
3026         There are no switch statements in this file.
3027
3028         * dom/make_names.pl:
3029
3030 2010-12-13  Emil Eklund  <eae@chromium.org>
3031
3032         Reviewed by Dimitri Glazkov.
3033
3034         Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM
3035         tree instead of the render tree.
3036         https://bugs.webkit.org/show_bug.cgi?id=50989
3037
3038         * editing/SelectionController.cpp:
3039         (WebCore::SelectionController::setFocusedNodeIfNeeded):
3040         Walk up DOM/hosted tree rather than render tree and remove FIXME comment
3041         that does't apply (SelectionController and EventHandler needs different
3042         checks).
3043
3044 2010-12-13  Chris Fleizach  <cfleizach@apple.com>
3045
3046         Reviewed by Beth Dakin.
3047
3048         AX: aria-invalid should be supported.
3049         https://bugs.webkit.org/show_bug.cgi?id=50573
3050
3051         Test: platform/mac/accessibility/aria-invalid.html
3052
3053         * accessibility/AXObjectCache.h:
3054         * accessibility/AccessibilityObject.cpp:
3055         (WebCore::AccessibilityObject::invalidStatus):
3056         * accessibility/AccessibilityObject.h:
3057         * accessibility/chromium/AXObjectCacheChromium.cpp
3058         (WebCore::AXObjectCache::postPlatformNotification):
3059         * accessibility/mac/AXObjectCacheMac.mm:
3060         (WebCore::AXObjectCache::postPlatformNotification):
3061         * accessibility/mac/AccessibilityObjectWrapper.mm:
3062         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3063         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3064         * dom/Element.cpp:
3065         (WebCore::Element::updateAfterAttributeChanged):
3066         * html/HTMLAttributeNames.in:
3067
3068 2010-12-13  Joone Hur  <joone@kldp.org>
3069
3070         Reviewed by Eric Seidel.
3071
3072         WebKit fails to compile when building with WML support enabled
3073         https://bugs.webkit.org/show_bug.cgi?id=42943
3074
3075         Use TextPosition instead of lineNumber() and columNumber().
3076
3077         No new tests are added, because this is just a build fix.
3078
3079         * dom/XMLDocumentParser.h: Make lineNumber() private.
3080         * wml/WMLErrorHandling.cpp:
3081         (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber().
3082
3083 2010-12-13  Chris Fleizach  <cfleizach@apple.com>
3084
3085         Reviewed by Beth Dakin.
3086
3087         AX: lists and list boxes need different attributes
3088         https://bugs.webkit.org/show_bug.cgi?id=50978
3089
3090         Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>).
3091
3092         * accessibility/mac/AccessibilityObjectWrapper.mm:
3093         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3094
3095 2010-12-13  David Hyatt  <hyatt@apple.com>
3096
3097         Reviewed by Sam Weinig.
3098
3099         https://bugs.webkit.org/show_bug.cgi?id=50963
3100
3101         REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView.
3102        
3103         The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box
3104         of the root layer.  This bounding box was only coincidentally incorporating overflow as part of the 
3105         RenderLayer's bounds.  Since I fixed the RenderLayer bounds to not include layout overflow any longer,
3106         this check is now exposed as incorrect.  Use the entire document size  when computing layer clip
3107         rects.
3108
3109         * rendering/RenderLayer.cpp:
3110         (WebCore::RenderLayer::childrenClipRect):
3111         (WebCore::RenderLayer::selfClipRect):
3112         * rendering/RenderView.h:
3113         (WebCore::RenderView::documentRect):
3114
3115 2010-12-13  Simon Fraser  <simon.fraser@apple.com>
3116
3117         GraphicsContextPrivate.h was removed. Nuke it from the project.
3118         
3119         * WebCore.xcodeproj/project.pbxproj:
3120
3121 2010-12-13  Eric Carlson  <eric.carlson@apple.com>
3122
3123         Reviewed by Antti Koivisto.
3124
3125         HTMLMediaElement::endedPlayback should not return true if duration is zero
3126         https://bugs.webkit.org/show_bug.cgi?id=50962
3127
3128         (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a 
3129         media file can't play if it has no duration, therefore it can't have ended playback.
3130
3131 2010-12-13  Brent Fulgham  <bfulgham@webkit.org>
3132
3133         Unreviewed build fix after r73840.
3134
3135         * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file
3136         to pass three arguments to build-generated-files.sh, just like
3137         the official Apple port.
3138
3139 2010-12-13  David Hyatt  <hyatt@apple.com>
3140
3141         Reviewed by Adam Roben.
3142
3143         Make sure the defaultSpaceEventHandler does logical scrolling.
3144
3145         * page/EventHandler.cpp:
3146         (WebCore::EventHandler::defaultSpaceEventHandler):
3147
3148 2010-12-13  Matthew Delaney  <mdelaney@apple.com>
3149
3150         Reviewed by Simon Fraser.
3151
3152         https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas
3153
3154         No new tests necessary.
3155
3156         * Configurations/WebCore.xcconfig: Added IOSurface framework link.
3157         * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead.
3158         * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor.
3159         * platform/graphics/cairo/ImageBufferCairo.cpp:
3160         * platform/graphics/cg/ImageBufferCG.cpp:
3161         * platform/graphics/haiku/ImageBufferHaiku.cpp:
3162         * platform/graphics/qt/ImageBufferQt.cpp:
3163         * platform/graphics/skia/ImageBufferSkia.cpp:
3164         * platform/graphics/wince/ImageBufferWinCE.cpp:
3165         * platform/graphics/wx/ImageBufferWx.cpp:
3166
3167 2010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3168
3169         Unreviewed, rolling out r73923.
3170         http://trac.webkit.org/changeset/73923
3171         https://bugs.webkit.org/show_bug.cgi?id=50944
3172
3173         Broke editing/selection/extend-selection-home-end.html on non-
3174         mac platforms. Looks like a real bug. (Requested by ojan on
3175         #webkit).
3176
3177         * editing/SelectionController.cpp:
3178         (WebCore::SelectionController::positionForPlatform):
3179         (WebCore::SelectionController::modifyExtendingForward):
3180
3181 2010-12-13  David Hyatt  <hyatt@apple.com>
3182
3183         Reviewed by Sam Weinig.
3184
3185         https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. 
3186
3187         Add logical scrolling to WebCore.  It basically mirrors physical scrolling but works in abstract logical
3188         directions and only converts to physical when it's time to attempt the scroll.
3189         
3190         Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing
3191         frames got skipped over.
3192         
3193         Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections.
3194         
3195         * WebCore.exp.in:
3196         * page/EventHandler.cpp:
3197         (WebCore::EventHandler::logicalScrollOverflow):
3198         (WebCore::EventHandler::scrollRecursively):
3199         (WebCore::EventHandler::logicalScrollRecursively):
3200         * page/EventHandler.h:
3201         * page/FrameView.cpp:
3202         (WebCore::FrameView::isVerticalDocument):
3203         (WebCore::FrameView::isFlippedDocument):
3204         * page/FrameView.h:
3205         * platform/ScrollTypes.h:
3206         (WebCore::logicalToPhysical):
3207         * platform/ScrollView.cpp:
3208         (WebCore::ScrollView::scroll):
3209         (WebCore::ScrollView::logicalScroll):
3210         * platform/ScrollView.h:
3211         (WebCore::ScrollView::isVerticalDocument):
3212         (WebCore::ScrollView::isFlippedDocument):
3213         * rendering/RenderBox.cpp:
3214         (WebCore::RenderBox::logicalScroll):
3215         * rendering/RenderBox.h:
3216         * rendering/RenderLayer.cpp:
3217         (WebCore::RenderLayer::scroll):
3218         * rendering/RenderListBox.cpp:
3219         (WebCore::RenderListBox::logicalScroll):
3220         * rendering/RenderListBox.h:
3221         * rendering/RenderTextControlSingleLine.cpp:
3222         (WebCore::RenderTextControlSingleLine::logicalScroll):
3223         * rendering/RenderTextControlSingleLine.h:
3224
3225 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
3226
3227         Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.
3228
3229         REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
3230         https://bugs.webkit.org/show_bug.cgi?id=50950
3231
3232         * Android.jscbindings.mk:
3233         * CMakeLists.txt:
3234         * GNUmakefile.am:
3235         * WebCore.gypi:
3236         * WebCore.order:
3237         * WebCore.pro:
3238         * WebCore.vcproj/WebCore.vcproj:
3239         * WebCore.xcodeproj/project.pbxproj:
3240         * bindings/js/JSBindingsAllInOne.cpp:
3241         * bindings/js/JSDOMBinding.cpp:
3242         (WebCore::reportException):
3243         * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp.
3244         (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
3245         (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
3246         (WebCore::JSWorkerContextErrorHandler::handleEvent):
3247         * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h.
3248         (WebCore::JSWorkerContextErrorHandler::create):
3249         (WebCore::createJSWorkerContextErrorHandler):
3250         * bindings/scripts/CodeGeneratorJS.pm:
3251         * bindings/scripts/CodeGeneratorV8.pm:
3252         * bindings/v8/V8ConsoleMessage.cpp:
3253         (WebCore::V8ConsoleMessage::dispatchNow):
3254         (WebCore::V8ConsoleMessage::handler):
3255         * bindings/v8/V8ConsoleMessage.h:
3256         * bindings/v8/V8WindowErrorHandler.cpp: Removed.
3257         * bindings/v8/V8WindowErrorHandler.h: Removed.
3258         * bindings/v8/WorkerContextExecutionProxy.cpp:
3259         (WebCore::v8MessageHandler):
3260         * bindings/v8/WorkerScriptController.cpp:
3261         (WebCore::WorkerScriptController::evaluate):
3262         * dom/Document.cpp:
3263         (WebCore::Document::reportException):
3264         (WebCore::Document::addMessage):
3265         * dom/Document.h:
3266         * dom/ErrorEvent.cpp:
3267         * dom/ErrorEvent.h:
3268         * dom/Event.cpp:
3269         * dom/Event.h:
3270         * dom/ScriptExecutionContext.cpp:
3271         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3272         * dom/ScriptExecutionContext.h:
3273         * websockets/WebSocket.cpp:
3274         (WebCore::WebSocket::connect):
3275         * websockets/WebSocketChannel.cpp:
3276         (WebCore::WebSocketChannel::didOpen):
3277         (WebCore::WebSocketChannel::appendToBuffer):
3278         * websockets/WebSocketHandshake.cpp:
3279         (WebCore::WebSocketHandshake::readServerHandshake):
3280         (WebCore::WebSocketHandshake::readStatusLine):
3281         (WebCore::WebSocketHandshake::readHTTPHeaders):
3282         (WebCore::WebSocketHandshake::checkResponseHeaders):
3283         * workers/DefaultSharedWorkerRepository.cpp:
3284         (WebCore::postExceptionTask):
3285         (WebCore::postConsoleMessageTask):
3286         * workers/WorkerContext.cpp:
3287         (WebCore::WorkerContext::WorkerContext):
3288         (WebCore::WorkerContext::reportException):
3289         (WebCore::WorkerContext::addMessage):
3290         * workers/WorkerContext.h:
3291         * workers/WorkerMessagingProxy.cpp:
3292         (WebCore::WorkerExceptionTask::performTask):
3293         (WebCore::postConsoleMessageTask):
3294         * xml/XMLHttpRequest.cpp:
3295         (WebCore::reportUnsafeUsage):
3296
3297 2010-12-13  Antti Koivisto  <antti@apple.com>
3298
3299         Reviewed by Alexey Proskuryakov.
3300
3301         https://bugs.webkit.org/show_bug.cgi?id=50758
3302         <rdar://problem/8722094> 
3303         Defer loading print stylesheets
3304         
3305         - Make preload scanner skip stylesheets with non-screen media types.
3306         - Make it possible to specify non-default load priority from the client.
3307         - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else.
3308         - Move default priority code from Loader to CachedResource.
3309         - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority).
3310         - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably.
3311
3312         Tests: http/tests/local/link-stylesheet-load-order-preload.html
3313                http/tests/local/link-stylesheet-load-order.html
3314
3315         * WebCore.exp.in:
3316         * WebCore.gypi:
3317         * WebCore.pro:
3318         * WebCore.vcproj/WebCore.vcproj:
3319         * WebCore.xcodeproj/project.pbxproj:
3320         * css/CSSImageValue.cpp:
3321         (WebCore::CSSImageValue::cachedImage):
3322         * html/HTMLLinkElement.cpp:
3323         (WebCore::HTMLLinkElement::process):
3324         * html/parser/HTMLPreloadScanner.cpp:
3325         (WebCore::HTMLNames::PreloadTask::PreloadTask):
3326         (WebCore::HTMLNames::PreloadTask::processAttributes):
3327         (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
3328         (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
3329         (WebCore::HTMLNames::PreloadTask::preload):
3330         * loader/DocumentThreadableLoader.cpp:
3331         (WebCore::DocumentThreadableLoader::loadRequest):
3332         * loader/ResourceLoadPriority.h: Added.
3333         * loader/ResourceLoadScheduler.cpp:
3334         (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
3335         (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
3336         (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
3337         (WebCore::ResourceLoadScheduler::scheduleLoad):
3338         (WebCore::ResourceLoadScheduler::servePendingRequests):
3339         (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
3340         (WebCore::ResourceLoadScheduler::HostInformation::schedule):
3341         (WebCore::ResourceLoadScheduler::HostInformation::remove):
3342         (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
3343         (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
3344         * loader/ResourceLoadScheduler.h:
3345         (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled):
3346         (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled):
3347         (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
3348         * loader/cache/CachedResource.cpp:
3349         (WebCore::defaultPriorityForResourceType):
3350         (WebCore::CachedResource::CachedResource):
3351         * loader/cache/CachedResource.h:
3352         (WebCore::CachedResource::loadPriority):
3353         (WebCore::CachedResource::setLoadPriority):
3354         * loader/cache/CachedResourceLoader.cpp:
3355         (WebCore::CachedResourceLoader::requestCSSStyleSheet):
3356         (WebCore::CachedResourceLoader::requestResource):
3357         (WebCore::CachedResourceLoader::requestPreload):
3358         * loader/cache/CachedResourceLoader.h:
3359         * loader/cache/MemoryCache.cpp:
3360         (WebCore::MemoryCache::requestResource):
3361         * loader/cache/MemoryCache.h:
3362         * loader/loader.cpp:
3363         (WebCore::Loader::load):
3364
3365 2010-12-13  Justin Schuh  <jschuh@chromium.org>
3366
3367         Reviewed by Dimitri Glazkov.
3368
3369         Build fix for r73927
3370         https://bugs.webkit.org/show_bug.cgi?id=50946
3371
3372         Reverting CSSCanvasValue::canvasDestroyed to its code before r73927
3373         because it's breaking the build and I changed it only because it
3374         appeared redunudant after r73927.
3375
3376         No behavior changed so no new tests needed.
3377
3378         * css/CSSCanvasValue.cpp:
3379         (WebCore::CSSCanvasValue::canvasDestroyed):
3380
3381 2010-12-13  Matthew Delaney  <mdelaney@apple.com>
3382
3383         Reviewed by nobody, build fix.
3384
3385         Unlinking IOSurface framework from xcodeproj.
3386
3387         * WebCore.xcodeproj/project.pbxproj:
3388
3389 2010-12-13  Justin Schuh  <jschuh@chromium.org>
3390
3391         Reviewed by Dimitri Glazkov.
3392
3393         HTMLCanvasElement should handle multiple observers.
3394         https://bugs.webkit.org/show_bug.cgi?id=50899
3395
3396         Test: fast/canvas/canvas-bg-multiple-removal.html
3397
3398         * css/CSSCanvasValue.cpp:
3399         (WebCore::CSSCanvasValue::~CSSCanvasValue):
3400         (WebCore::CSSCanvasValue::canvasDestroyed):
3401         (WebCore::CSSCanvasValue::element):
3402         * html/HTMLCanvasElement.cpp:
3403         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
3404         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
3405         (WebCore::HTMLCanvasElement::addObserver):
3406         (WebCore::HTMLCanvasElement::removeObserver):
3407         (WebCore::HTMLCanvasElement::didDraw):
3408         (WebCore::HTMLCanvasElement::reset):
3409         * html/HTMLCanvasElement.h:
3410
3411 2010-12-13  Mihai Parparita  <mihaip@chromium.org>
3412
3413         Reviewed by Adam Barth.
3414
3415         [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard
3416         https://bugs.webkit.org/show_bug.cgi?id=50841
3417
3418         Test: fast/canvas/strokeText-missing-args.html
3419         
3420         We didn't have isfinite checks for the x and y coordinates that are
3421         passed to strokeText/drawTextInternal (unlike all the other methods,
3422         which got checks in r50910 and r59447).
3423
3424         * html/canvas/CanvasRenderingContext2D.cpp:
3425         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3426
3427 2010-12-09  Matthew Delaney  <mdelaney@apple.com>
3428
3429         Reviewed by Simon Fraser.
3430
3431         Adopt new CG API for canvas
3432         https://bugs.webkit.org/show_bug.cgi?id=50591
3433
3434         No new tests. All current layout tests are sufficient.
3435
3436         * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation.
3437         * html/canvas/CanvasRenderingContext2D.cpp:
3438         (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms.
3439         (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer.
3440         * platform/graphics/ImageBuffer.h:
3441         (WebCore::ImageBuffer::create): Plumb through new flag.
3442         * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig.
3443         * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths.
3444         * platform/graphics/cg/ImageBufferData.h: Add in surface ref
3445         * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig.
3446         * platform/graphics/qt/ImageBufferQt.cpp: ^^
3447         * platform/graphics/skia/ImageBufferSkia.cpp: ^^
3448         * platform/graphics/wince/ImageBufferWinCE.cpp: ^^
3449         * platform/graphics/wx/ImageBufferWx.cpp: ^^
3450         * platform/mac/WebCoreSystemInterface.h: Add new method sigs
3451         * platform/mac/WebCoreSystemInterface.mm: ^^
3452         * rendering/RenderLayerBacking.cpp:
3453         * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings.
3454
3455 2010-12-13  Benjamin Kalman  <kalman@chromium.org>
3456
3457         Reviewed by Ojan Vafai.
3458
3459         Shift-End does not select to the end of the line
3460         https://bugs.webkit.org/show_bug.cgi?id=50610
3461
3462         Test: editing/selection/extend-to-line-boundary.html
3463
3464         * editing/SelectionController.cpp:
3465         (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
3466         start/end.
3467         (WebCore::SelectionController::modifyExtendingForward):
3468
3469 2010-12-13  Adam Roben  <aroben@apple.com>
3470
3471         Windows build fix after r73914
3472
3473         * WebCore.vcproj/WebCore.vcproj: Fix malformed XML.
3474
3475 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
3476
3477         Unreviewed. Qt build fix.
3478
3479         * dom/ScriptExecutionContext.cpp:
3480         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
3481         * dom/ScriptExecutionContext.h:
3482
3483 2010-12-13  Mario Sanchez Prada  <msanchez@igalia.com>
3484
3485         Reviewed by Xan Lopez.
3486
3487         [Gtk] Additional support is needed for caret browsing
3488         https://bugs.webkit.org/show_bug.cgi?id=25526
3489
3490         Enable "MoveTo{Beginninng|End}OfDocument" commands when caret
3491         browsing is enabled.
3492
3493         This change impacts the GTK-port only as caret browsing is a
3494         feature only used in that platform so far.
3495
3496         Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html
3497
3498         * editing/EditorCommand.cpp:
3499         (WebCore::createCommandMap): Enable the commads when in caret browsing.
3500
3501 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
3502
3503         Unreviewed. Qt build fix.
3504
3505         * dom/Event.cpp:
3506         (WebCore::Event::isErrorEvent):
3507         * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
3508         only in workers.
3509
3510 2010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>
3511
3512         Reviewed by Yury Semikhatsky.
3513
3514         Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.
3515
3516         Debugger and Resources related notification functions of Inspector.idl were
3517         marked as such with help of "domain" attribute. The other changes in js files
3518         are reflecting this change. Some wrappers in WebInspector namespace were dropped,
3519         the others were moved to DebuggerModel class.
3520
3521         https://bugs.webkit.org/show_bug.cgi?id=50906
3522
3523         * inspector/Inspector.idl:
3524         * inspector/InspectorDebuggerAgent.cpp:
3525         (WebCore::InspectorDebuggerAgent::didParseSource):
3526         * inspector/InspectorProfilerAgent.cpp:
3527         (WebCore::InspectorProfilerAgent::resetState):
3528         * inspector/front-end/DOMAgent.js:
3529         (WebInspector.DOMAgent.prototype.didCommitLoad):
3530         * inspector/front-end/Database.js:
3531         * inspector/front-end/DebuggerModel.js:
3532         (WebInspector.DebuggerModel):
3533         (WebInspector.DebuggerModel.prototype.pausedScript):
3534         (WebInspector.DebuggerModel.prototype.resumedScript):
3535         (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
3536         (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
3537         (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
3538         (WebInspector.DebuggerModel.prototype.parsedScriptSource):
3539         (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
3540         (WebInspector.DebuggerModel.prototype.didCreateWorker):
3541         (WebInspector.DebuggerModel.prototype.didDestroyWorker):
3542         * inspector/front-end/ProfilesPanel.js:
3543         (WebInspector.ProfilesPanel):
3544         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
3545         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
3546         * inspector/front-end/ResourceManager.js:
3547         (WebInspector.ResourceManager):
3548         (WebInspector.ResourceManager.prototype._unbindResourceURL):
3549         (WebInspector.ResourceManager.prototype.updateDOMStorage):
3550         (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
3551         (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
3552         (WebInspector.ResourceManager.prototype.didGetFileSystemError):
3553         (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
3554         (WebInspector.ResourceManager.prototype.updateNetworkState):
3555         (WebInspector.ResourceManager.prototype.addDOMStorage):
3556         (WebInspector.ResourceManager.prototype.selectDOMStorage):
3557         (WebInspector.ResourceManager.prototype.addDatabase):
3558         (WebInspector.ResourceManager.prototype.selectDatabase):
3559         (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded):
3560         (WebInspector.ResourceManager.prototype.sqlTransactionFailed):
3561         * inspector/front-end/WorkersSidebarPane.js:
3562         (WebInspector.Worker):
3563         * inspector/front-end/inspector.js:
3564
3565 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
3566
3567         Unreviewed. Qt build fix. 
3568
3569         * dom/ErrorEvent.cpp:
3570         * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
3571         only in workers.
3572
3573 2010-12-13  Yury Semikhatsky  <yurys@chromium.org>
3574
3575         Reviewed by Adam Barth.
3576
3577         WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
3578         https://bugs.webkit.org/show_bug.cgi?id=8519
3579
3580         Uncaught exceptions are propagated to window.onerror hander if one is present.
3581         The handler is expected to be a function accepting three arguments: error message,
3582         resource url and line number where the exception occured.
3583
3584         It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
3585         were created in the same isolated world where the exception occured or not.
3586
3587         Tests: fast/events/window-onerror1.html
3588                fast/events/window-onerror10.html
3589                fast/events/window-onerror11.html
3590                fast/events/window-onerror2.html
3591                fast/events/window-onerror3.html
3592                fast/events/window-onerror4.html
3593                fast/events/window-onerror5.html
3594                fast/events/window-onerror6.html
3595                fast/events/window-onerror7.html
3596                fast/events/window-onerror8.html
3597                fast/events/window-onerror9.html
3598                http/tests/security/window-onerror-exception-in-iframe.html
3599                userscripts/window-onerror-for-isolated-world-1.html
3600                userscripts/window-onerror-for-isolated-world-2.html
3601
3602         * Android.jscbindings.mk:
3603         * CMakeLists.txt:
3604         * GNUmakefile.am:
3605         * WebCore.gypi: