a3a0f1ecbea2f70d189967f0b1a7724cfe0b2bf1
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-19  Dan Bernstein  <mitz@apple.com>
2
3         Better build fix after r93384.
4
5         * rendering/RenderBlockLineLayout.cpp:
6         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use WTF::Unicode wrapper instead of ICU.
7
8 2011-08-19  Pavel Podivilov  <podivilov@chromium.org>
9
10         Web Inspector: update scope variables upon value changes via console.
11         https://bugs.webkit.org/show_bug.cgi?id=54720
12
13         Reviewed by Pavel Feldman.
14
15         * inspector/front-end/ScriptsPanel.js:
16         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
17
18 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
19
20         Web Inspector: extract breakpoint management code to a separate class and add tests.
21         https://bugs.webkit.org/show_bug.cgi?id=66224
22
23         Reviewed by Pavel Feldman.
24
25         Test: inspector/debugger/breakpoint-manager.html
26
27         * WebCore.gypi:
28         * WebCore.vcproj/WebCore.vcproj:
29         * inspector/front-end/BreakpointManager.js: Added.
30         (WebInspector.BreakpointManager):
31         (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
32         (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
33         (WebInspector.BreakpointManager.prototype.setBreakpoint):
34         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
35         (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
36         (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
37         (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
38         (WebInspector.BreakpointManager.prototype._deleteBreakpointFromUI):
39         (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
40         (WebInspector.BreakpointManager.prototype._breakpoints):
41         (WebInspector.BreakpointManager.prototype._breakpoint):
42         (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
43         (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
44         (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
45         (WebInspector.BreakpointManager.prototype._breakpointResolved):
46         (WebInspector.BreakpointManager.prototype.serializeBreakpoints):
47         (WebInspector.BreakpointManager.prototype.reset):
48         (WebInspector.BreakpointManager.prototype.debuggerReset):
49         (WebInspector.Breakpoint):
50         (WebInspector.Breakpoint.prototype.serialize):
51         (WebInspector.Breakpoint.deserialize):
52         * inspector/front-end/DebuggerModel.js:
53         (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
54         * inspector/front-end/SourceFile.js:
55         (WebInspector.RawSourceCode.prototype.get rawSourceCode):
56         * inspector/front-end/WebKit.qrc:
57         * inspector/front-end/inspector.html:
58
59 2011-08-19  Adam Roben  <aroben@apple.com>
60
61         Fix typo
62
63         * dom/DOMAllInOne.cpp:
64
65 2011-08-19  Adam Roben  <aroben@apple.com>
66
67         Windows build fix after r93385
68
69         * dom/DOMAllInOne.cpp: Added EventDispatcMediator.cpp.
70
71 2011-08-19  Pavel Feldman  <pfeldman@google.com>
72
73         Web Inspector: getAttributes should work on a single node, not array.
74         https://bugs.webkit.org/show_bug.cgi?id=66544
75
76         Reviewed by Adam Roben.
77
78         * inspector/Inspector.json:
79         * inspector/InspectorDOMAgent.cpp:
80         (WebCore::InspectorDOMAgent::getAttributes):
81         * inspector/InspectorDOMAgent.h:
82         * inspector/front-end/DOMAgent.js:
83         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
84
85 2011-08-19  Anton Muhin  <antonm@chromium.org>
86
87         [v8] CSS wrapper objects retention
88         https://bugs.webkit.org/show_bug.cgi?id=66377
89
90         Reviewed by Pavel Feldman.
91
92         Disable object grouping for CSS object wrappers.
93         This logic leads to hard to debug use-after-free problems.
94
95         * bindings/v8/V8GCController.cpp:
96         (WebCore::GrouperVisitor::visitDOMWrapper):
97
98 2011-08-19  Pavel Feldman  <pfeldman@google.com>
99
100         Web Inspector: introduce NodeId inherited from integer in the DOM domain description.
101         https://bugs.webkit.org/show_bug.cgi?id=66491
102
103         Drive-by rename of couple of DOM domain protocol methods.
104
105         Reviewed by Adam Roben.
106
107         * inspector/Inspector.json:
108         * inspector/InspectorDOMAgent.cpp:
109         (WebCore::InspectorDOMAgent::requestChildNodes):
110         (WebCore::InspectorDOMAgent::getAttributes):
111         (WebCore::InspectorDOMAgent::requestNode):
112         (WebCore::InspectorDOMAgent::buildObjectForNode):
113         * inspector/InspectorDOMAgent.h:
114         * inspector/front-end/DOMAgent.js:
115         (WebInspector.DOMNode):
116         (WebInspector.DOMNode.prototype.getChildNodes):
117         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
118         (WebInspector.DOMAgent.prototype._loadNodeAttributes):
119         (WebInspector.DOMAgent.prototype._setDocument):
120         (WebInspector.DOMAgent.prototype._setDetachedRoot):
121         * inspector/generate-inspector-idl:
122
123 2011-08-19  Jochen Eisinger  <jochen@chromium.org>
124
125         IDBSQLiteBackingStore::deleteObjectStore should maintain referential integrity.
126         https://bugs.webkit.org/show_bug.cgi?id=66470
127
128         Reviewed by Tony Gentilcore.
129
130         * storage/IDBSQLiteBackingStore.cpp:
131         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
132
133 2011-08-19  Takashi Toyoshima  <toyoshim@chromium.org>
134
135         [WebSocket] CloseEvent's code and reason properties support.
136         https://bugs.webkit.org/show_bug.cgi?id=66362
137
138         Reviewed by Kent Tamura.
139
140         Current WebSocket implementation miss code and reason properties
141         in CloseEvent. This change expose incoming closing frame's code
142         and reason to JavaScript API.
143
144         Tests: http/tests/websocket/tests/hybi/close-code-and-reason.html
145                http/tests/websocket/tests/hybi/workers/close-code-and-reason.html
146
147         * websockets/CloseEvent.h:
148         (WebCore::CloseEvent::initCloseEvent):
149         (WebCore::CloseEvent::code):
150         (WebCore::CloseEvent::reason):
151         (WebCore::CloseEvent::CloseEvent):
152         * websockets/CloseEvent.idl:
153         Add code and reason properies.
154         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
155         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
156         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
157         * websockets/ThreadableWebSocketChannelClientWrapper.h:
158         * websockets/WebSocket.cpp:
159         (WebCore::WebSocket::didConnect):
160         (WebCore::WebSocket::didClose):
161         * websockets/WebSocket.h:
162         Add implement to handle code and reason.
163         * websockets/WebSocketChannel.cpp:
164         (WebCore::WebSocketChannel::WebSocketChannel):
165         (WebCore::WebSocketChannel::didCloseSocketStream):
166         (WebCore::WebSocketChannel::processFrame):
167         * websockets/WebSocketChannel.h:
168         Add closing frame payload parser.
169         * websockets/WebSocketChannelClient.h:
170         (WebCore::WebSocketChannelClient::didClose):
171         * websockets/WorkerThreadableWebSocketChannel.cpp:
172         (WebCore::workerContextDidClose):
173         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
174         * websockets/WorkerThreadableWebSocketChannel.h:
175         Add implement to handle code and reason.
176
177 2011-08-19  MORITA Hajime  <morrita@google.com>
178
179         Spell-checking doesn't recognize word boundaries on contests inserted by execCommand('insertHTML')
180         https://bugs.webkit.org/show_bug.cgi?id=65902
181
182         Reviewed by Ryosuke Niwa.
183         
184         markMisspellingsAndBadGrammar() was using markSpelling() and markBadGrammar().
185         But these are low-level API and caller should take care of word boundary.
186         This change replaced these call with overloaded version of markMisspellingsAndBadGrammar(),
187         which handles word boundary correctly.
188         
189         Test: editing/spelling/spelling-insert-html.html
190
191         * WebCore.exp.in:
192         * editing/Editor.cpp:
193         (WebCore::Editor::markMisspellingsAndBadGrammar):
194         * testing/Internals.cpp:
195         (WebCore::Internals::markerCountOf): Added.
196         (WebCore::Internals::markedRangeAt): Added.
197         * testing/Internals.h:
198         * testing/Internals.idl:
199
200 2011-08-19  Nayan Kumar K  <nayankk@motorola.com>
201
202         Run-time error fix in WebKit-GTK with video support disabled.
203         https://bugs.webkit.org/show_bug.cgi?id=66541
204
205         Definition of the function extraFullScreenStyleSheet() in webkit-gtk
206         lies outside ENABLE(VIDEO) guard, resulting in runtime error while
207         trying to launch GtkLauncher with video support disabled.
208
209         Reviewed by Philippe Normand.
210
211         Run-time error fix. No test cases were added.
212
213         * platform/gtk/RenderThemeGtk.h:
214
215 2011-08-19  Shinya Kawanaka  <shinyak@google.com>
216
217         input[maxlength=0] should ignore text input.
218         https://bugs.webkit.org/show_bug.cgi?id=65497
219
220         Reviewed by Kent Tamura.
221
222         Changed the valid range of maxlength.
223
224         * html/HTMLInputElement.cpp:
225         (WebCore::HTMLInputElement::parseMaxLengthAttribute):
226           Changed maxlength check condition.
227
228 2011-08-19  Ilya Tikhonovsky  <loislo@chromium.org>
229
230         Web Inspector: backend js api: an ability to skip optional arguments in the middle of the argument list is required.
231         https://bugs.webkit.org/show_bug.cgi?id=66482
232
233         There are functions in the API with multiple optional arguments.
234         When we call it we have to specify an optional argument as 'undefined' if we want to pass non default value for the next one.
235         This can be solved with passing the arguments as an object.
236
237         Reviewed by Pavel Feldman.
238
239         * inspector/CodeGeneratorInspector.pm:
240         * inspector/front-end/RemoteObject.js:
241
242 2011-08-19  Zoltan Horvath  <zoltan@webkit.org>
243
244         [Qt] Build fix after r93384.
245
246         * rendering/RenderBlockLineLayout.cpp:
247         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
248
249 2011-08-18  Shawn Singh  <shawnsingh@chromium.org>
250
251         Computing screen-space transform for LayerChromium and CCLayerImpl
252         https://bugs.webkit.org/show_bug.cgi?id=66114
253
254         Added a data member to LayerChromium and CCLayerImpl that holds
255         the screen-space transform.   The transform is computed in
256         calculateDrawTransformsAndVisibility(), which is used during
257         updating (LayerChromium) and drawing (CCLayerImpl).
258
259         Also fixed a FIXME in LayerRendererChromium::drawLayer, which
260         was not computing the entire hierarchy of transforms to determine
261         back-face visibility.  Now it simply uses the world space transform.
262
263         Reviewed by James Robinson.
264
265         Test: compositing/backface-visibility-hierarchical-transform.html
266
267         * platform/graphics/chromium/LayerChromium.h:
268         (WebCore::LayerChromium::screenSpaceTransform):
269         (WebCore::LayerChromium::setScreenSpaceTransform):
270         * platform/graphics/chromium/LayerRendererChromium.cpp:
271         (WebCore::LayerRendererChromium::updateLayers):
272         (WebCore::LayerRendererChromium::drawLayersInternal):
273         (WebCore::LayerRendererChromium::drawLayer):
274         * platform/graphics/chromium/cc/CCLayerImpl.h:
275         (WebCore::CCLayerImpl::screenSpaceTransform):
276         (WebCore::CCLayerImpl::setScreenSpaceTransform):
277
278 2011-08-18  Ben Wells  <benwells@chromium.org>
279
280         [skia] -webkit-transform breaks -webkit-mask
281         https://bugs.webkit.org/show_bug.cgi?id=66442
282
283         The problem here is that in RenderBox::paintMaskImages, if we are in
284         a transform with a rotation, scale or skew we set the composite mode to
285         be DestinationIn and then create a transparency layer, then paint the
286         mask with SourceOver and end the transparency layer. (The normal case
287         is just to use DestinationIn to paint the mask.)
288
289         In skia when we create transparency layers we don't pass on the composite
290         mode, so when we end the transparency layer it is composited back using
291         SourceOver. The fix is to pass on the composite mode when creating
292         transparency layers in skia.
293
294         Reviewed by Stephen White.
295
296         * platform/graphics/skia/GraphicsContextSkia.cpp:
297         (WebCore::GraphicsContext::beginTransparencyLayer):
298         * platform/graphics/skia/PlatformContextSkia.cpp:
299         (WebCore::PlatformContextSkia::getXfermodeMode):
300         * platform/graphics/skia/PlatformContextSkia.h:
301
302 2011-08-18  Hayato Ito  <hayato@chromium.org>
303
304         Isolate EventDispatchMediator into a separate file.
305         https://bugs.webkit.org/show_bug.cgi?id=66458
306
307         Reviewed by Ryosuke Niwa.
308
309         Extracted EventDispatchMediator.h and EventDispatchMediator.cpp
310         out of Event.h and Event.cpp Also moved FocusEventDispatchMediator
311         and BlurEventDispatchMediator from Event.{h|cpp} to
312         EventDispatchMediator.{h|cpp}.
313
314         No new tests since this is just refactoring.
315
316         * CMakeLists.txt:
317         * GNUmakefile.list.am:
318         * WebCore.gypi:
319         * WebCore.pro:
320         * WebCore.vcproj/WebCore.vcproj:
321         * WebCore.xcodeproj/project.pbxproj:
322         * dom/Event.cpp:
323         * dom/Event.h:
324         * dom/EventDispatchMediator.cpp: Added.
325         (WebCore::EventDispatchMediator::create):
326         (WebCore::EventDispatchMediator::EventDispatchMediator):
327         (WebCore::EventDispatchMediator::dispatchEvent):
328         (WebCore::FocusEventDispatchMediator::create):
329         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
330         (WebCore::FocusEventDispatchMediator::dispatchEvent):
331         (WebCore::BlurEventDispatchMediator::create):
332         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
333         (WebCore::BlurEventDispatchMediator::dispatchEvent):
334         * dom/EventDispatchMediator.h: Added.
335         (WebCore::EventDispatchMediator::~EventDispatchMediator):
336         (WebCore::EventDispatchMediator::event):
337         (WebCore::EventDispatchMediator::EventDispatchMediator):
338         (WebCore::EventDispatchMediator::setEvent):
339         * dom/EventDispatcher.cpp:
340         * dom/KeyboardEvent.h:
341         * dom/MouseEvent.h:
342         * dom/Node.cpp:
343         * dom/ScopedEventQueue.cpp:
344         * dom/UIEvent.h:
345         * dom/WheelEvent.h:
346
347 2011-08-18  Dan Bernstein  <mitz@apple.com>
348
349         Mid-word break can occur between a character and a combining mark
350         https://bugs.webkit.org/show_bug.cgi?id=66529
351
352         Reviewed by Simon Fraser.
353
354         No test added because I could not find a combining mark with a non-zero advance in
355         any of the system fonts and tests fonts. 
356
357         * rendering/RenderBlockLineLayout.cpp:
358         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Disallow a mid-word break before a
359         combining mark.
360
361 2011-08-18  Kent Tamura  <tkent@chromium.org>
362
363         REGRESSION(r90971): Null pointer dereference with placeholder and webkit-scrollbar-corner
364         https://bugs.webkit.org/show_bug.cgi?id=66453
365
366         Reviewed by Simon Fraser.
367
368         Test: fast/forms/placeholder-crash-with-scrollbar-corner.html
369
370         * rendering/RenderObjectChildList.cpp:
371         (WebCore::RenderObjectChildList::removeChildNode): Add a NULL check for owner's layer.
372
373 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
374
375         New XML parser: scripting support
376         https://bugs.webkit.org/show_bug.cgi?id=66406
377
378         Reviewed by Adam Barth.
379
380         * xml/parser/NewXMLDocumentParser.cpp:
381         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
382         (WebCore::NewXMLDocumentParser::resumeParsing):
383         (WebCore::NewXMLDocumentParser::processScript):
384         (WebCore::NewXMLDocumentParser::append): Add support for pausing the parsing
385         (WebCore::NewXMLDocumentParser::finish): Add support for pausing the parsing
386         (WebCore::NewXMLDocumentParser::notifyFinished):
387         * xml/parser/NewXMLDocumentParser.h:
388         (WebCore::NewXMLDocumentParser::pauseParsing):
389         * xml/parser/XMLTreeBuilder.cpp: Add a shared function between self-closing and end tags
390         (WebCore::XMLTreeBuilder::closeElement): Registers scripts and pops the stack
391         (WebCore::XMLTreeBuilder::processStartTag):
392         (WebCore::XMLTreeBuilder::processEndTag):
393         * xml/parser/XMLTreeBuilder.h:
394
395 2011-08-18  Mark Hahnenberg  <mhahnenberg@apple.com>
396
397         Move allocation in constructors into separate constructorBody() methods
398         https://bugs.webkit.org/show_bug.cgi?id=66265
399
400         Reviewed by Oliver Hunt.
401
402         No new tests.
403
404         Refactoring to put all allocations that need to be done after the object's 
405         initialization list has executed but before the object is ready for use 
406         into a separate constructorBody() method.  This method is still called by the constructor, 
407         so the patch doesn't resolve any potential issues, it's just to set up the code for further refactoring.
408
409         * bridge/objc/ObjCRuntimeObject.h:
410         (JSC::Bindings::ObjCRuntimeObject::create):
411         * bridge/objc/ObjCRuntimeObject.mm:
412         * bridge/objc/objc_instance.mm:
413         (ObjCRuntimeMethod::create):
414         (ObjCRuntimeMethod::ObjCRuntimeMethod):
415         * bridge/runtime_array.cpp:
416         * bridge/runtime_array.h:
417         (JSC::RuntimeArray::create):
418
419 2011-08-18  Beth Dakin  <bdakin@apple.com>
420
421         https://bugs.webkit.org/show_bug.cgi?id=66495
422         Lion-specific scroller SPIs can use forward declaration instead of 
423         WebKitSystemInterface
424
425         Reviewed by Sam Weinig.
426
427         * WebCore.exp.in:
428         * WebCore.xcodeproj/project.pbxproj:
429         * platform/mac/NSScrollerImpDetails.h: Added.
430         * platform/mac/ScrollAnimatorMac.h:
431         * platform/mac/ScrollAnimatorMac.mm:
432         (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
433         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
434         (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
435         (-[ScrollbarPartAnimation setCurrentProgress:]):
436         (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
437         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
438         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
439         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
440         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
441         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
442         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
443         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
444         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
445         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
446         (WebCore::ScrollAnimatorMac::willStartLiveResize):
447         (WebCore::ScrollAnimatorMac::contentsResized):
448         (WebCore::ScrollAnimatorMac::willEndLiveResize):
449         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
450         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
451         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
452         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
453         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
454         (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
455         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
456         (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
457         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
458         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
459         * platform/mac/ScrollbarThemeMac.h:
460         * platform/mac/ScrollbarThemeMac.mm:
461         (WebCore::ScrollbarThemeMac::registerScrollbar):
462         (WebCore::ScrollbarThemeMac::scrollbarThickness):
463         (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
464         (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
465         (WebCore::ScrollbarThemeMac::hasThumb):
466         (WebCore::ScrollbarThemeMac::minimumThumbLength):
467         (WebCore::ScrollbarThemeMac::updateEnabledState):
468         (WebCore::scrollbarPainterPaint):
469         (WebCore::ScrollbarThemeMac::paint):
470         * platform/mac/WebCoreSystemInterface.h:
471         * platform/mac/WebCoreSystemInterface.mm:
472
473 2011-08-18  Dan Bernstein  <mitz@apple.com>
474
475         <rdar://problem/9973194> Fonts that specify a positive descender value are treated as having descenders ending above the baseline
476         https://bugs.webkit.org/show_bug.cgi?id=66515
477
478         Reviewed by Darin Adler.
479
480         No test because none of the system fonts and test fonts have an incorrectly-specified descender value.
481
482         * platform/graphics/mac/SimpleFontDataMac.mm:
483         (WebCore::SimpleFontData::platformInit): If the font specifies a positive descender, assume that it meant
484         the same amount, but negative. This is consistent with what Core Text does.
485
486 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
487
488         positionForPoint returns wrong VisiblePosition at bidi boundaries
489         https://bugs.webkit.org/show_bug.cgi?id=65356
490
491         Reviewed by David Hyatt.
492
493         The bug was caused by RenderText::positionForPoint's assuming that the position will always reside
494         inside the inline box that contains the point, which is not true at the boundaries of bidi-runs.
495
496         For example, in aDC12BAb where AB12CD is a RTL text, the offset on the right of A is 7 even though
497         the inline box for "BA" only contains offsets 1, 2, and 3. We must traverse the bidi-run "DC12BA"
498         until the end to obtain the offset 7 from the inline box for "DC".
499
500         Fixed the bug by introducing createVisiblePositionAfterAdjustingOffsetForBiDi which traverses runs
501         on the left or the right of the position to compute the appropriate offset following the NSTextView convention.
502
503         This patch also fixes a regression from r74971 that caret is placed incorrectly between inline boxes of
504         LTR or RTL text in a RTL or LTR block respectively.
505
506         Test: editing/selection/caret-at-bidi-boundary.html
507
508         * rendering/InlineTextBox.cpp:
509         (WebCore::InlineTextBox::offsetForPosition):
510         * rendering/RenderText.cpp:
511         (WebCore::lineDirectionPointFitsInBox): Takes ShouldAffinityBeDownstream instead of EAfinity.
512         (WebCore::createVisiblePositionForBox):
513         (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi):
514         (WebCore::RenderText::positionForPoint):
515
516 2011-08-18  Xiaomei Ji  <xji@chromium.org>
517
518         --webkit-visual-word renaming right/leftWordPositionAcrossBoundary
519         https://bugs.webkit.org/show_bug.cgi?id=66436
520
521         Reviewed by Ryosuke Niwa.
522
523         Rename them to right/leftWordPositionIgnoringEditingBoundary.
524
525         * editing/visible_units.cpp:
526         (WebCore::leftWordPositionIgnoringEditingBoundary):
527         (WebCore::rightWordPositionIgnoringEditingBoundary):
528         (WebCore::leftWordPosition):
529         (WebCore::rightWordPosition):
530
531 2011-08-18  Jeff Miller  <jeffm@apple.com>
532
533         Soft link against AVFoundationCF and CoreMedia
534         https://bugs.webkit.org/show_bug.cgi?id=65725
535         
536         Add new macros to SoftLinking.h to support soft-linking to functions and variables decorated with __declspec(dllimport),
537         and use them to soft-link to AVFoundationCF and CoreMedia. I verified that the WebProcess doesn't load these DLLs
538         until a media element is used.
539
540         Reviewed by Eric Carlson.
541
542         No new tests as no change in functionality.
543
544         * WebCore.vcproj/WebCore.vcproj: Added AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
545         * WebCore.vcproj/WebCoreMediaQT.vsprops: Removed DelayLoadDLLs linker option which is no longer needed.
546         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Added.
547         * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Added.
548         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Stop linking against AVFoundationCF.lib and CoreMedia.lib and include AVFoundationCFSoftLinking.h and CoreMediaSoftLinking.h.
549         * platform/win/SoftLinking.h: Added SOFT_LINK_DLL_IMPORT() and SOFT_LINK_VARIABLE_DLL_IMPORT() macros.
550
551 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
552
553         Chromium Mac: Show scrollbar when doing search
554         https://bugs.webkit.org/show_bug.cgi?id=66209
555
556         Reviewed by James Robinson.
557
558         Updated the Lion scrollbar drawing code to force the scrollbar to be visible when we have tickmarks for search results.
559
560         No tests because there are no Mac 10.7 chromium bots yet.
561
562         * platform/chromium/ScrollbarThemeChromiumMac.h:
563         * platform/chromium/ScrollbarThemeChromiumMac.mm:
564         (WebCore::ScrollbarThemeChromiumMac::paint):
565         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
566
567 2011-08-18  James Robinson  <jamesr@chromium.org>
568
569         [chromium] Draw the root/"non-composited content" in compositor side
570         https://bugs.webkit.org/show_bug.cgi?id=58834
571
572         Reviewed by Kenneth Russell.
573
574         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
575         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
576         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
577         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
578             draw-time transform.
579         *) The root layer masks the alpha channel and disable blending when drawing because of concerns about subpixel
580             AA trashing the alpha channel.  The root layer is always opaque so this is fine.
581         *) The root layer does not have border texels and does have subpixel AA for text.
582
583         Covered by compositing/
584
585         * WebCore.gypi:
586         * platform/graphics/chromium/ContentLayerChromium.cpp:
587         (WebCore::ContentLayerChromium::paintContentsIfDirty):
588         * platform/graphics/chromium/ImageLayerChromium.cpp:
589         (WebCore::ImageLayerChromium::paintContentsIfDirty):
590         * platform/graphics/chromium/LayerChromium.cpp:
591         (WebCore::LayerChromium::pushPropertiesTo):
592         * platform/graphics/chromium/LayerChromium.h:
593         (WebCore::LayerChromium::scrollPosition):
594         (WebCore::LayerChromium::setScrollPosition):
595         * platform/graphics/chromium/LayerRendererChromium.cpp:
596         (WebCore::LayerRendererChromium::initialize):
597         (WebCore::LayerRendererChromium::releaseTextures):
598         (WebCore::LayerRendererChromium::viewportChanged):
599         (WebCore::LayerRendererChromium::updateLayers):
600         (WebCore::LayerRendererChromium::drawLayers):
601         (WebCore::LayerRendererChromium::drawLayersInternal):
602         (WebCore::LayerRendererChromium::getFramebufferPixels):
603         (WebCore::LayerRendererChromium::cleanupSharedObjects):
604         (WebCore::LayerRendererChromium::layerTreeAsText):
605         * platform/graphics/chromium/LayerRendererChromium.h:
606         (WebCore::LayerRendererChromium::rootLayer):
607         (WebCore::LayerRendererChromium::viewportSize):
608         (WebCore::LayerRendererChromium::viewportWidth):
609         (WebCore::LayerRendererChromium::viewportHeight):
610         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
611         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
612         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
613         (WebCore::NonCompositedContentHost::invalidateRect):
614         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
615         (WebCore::NonCompositedContentHost::setScrollPosition):
616         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
617         (WebCore::NonCompositedContentHost::notifySyncRequired):
618         (WebCore::NonCompositedContentHost::paintContents):
619         (WebCore::NonCompositedContentHost::showDebugBorders):
620         (WebCore::NonCompositedContentHost::showRepaintCounter):
621         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
622         (WebCore::NonCompositedContentHost::create):
623         (WebCore::NonCompositedContentHost::graphicsLayer):
624         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
625         (WebCore::CCHeadsUpDisplay::draw):
626         * platform/graphics/chromium/cc/CCLayerImpl.h:
627         (WebCore::CCLayerImpl::scrollPosition):
628         (WebCore::CCLayerImpl::setScrollPosition):
629         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
630         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
631         (WebCore::CCLayerTreeHost::initialize):
632         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
633         (WebCore::CCLayerTreeHost::setRootLayer):
634         (WebCore::CCLayerTreeHost::setViewport):
635         (WebCore::CCLayerTreeHost::reallocateRenderer):
636         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
637         (WebCore::CCLayerTreeHost::rootLayer):
638         (WebCore::CCLayerTreeHost::viewportSize):
639
640 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
641
642         Unreviewed, rolling out r93354.
643         http://trac.webkit.org/changeset/93354
644         https://bugs.webkit.org/show_bug.cgi?id=66503
645
646         "consensus was not reached" (Requested by senorblanco on
647         #webkit).
648
649         * html/canvas/CanvasRenderingContext2D.cpp:
650         (WebCore::CanvasRenderingContext2D::drawImage):
651         * platform/graphics/cg/GraphicsContextCG.cpp:
652         (WebCore::GraphicsContext::drawNativeImage):
653
654 2011-08-18  Sadrul Habib Chowdhury  <sadrul@chromium.org>
655
656         GestureRecognizer: Update how gesture-scroll works.
657
658         Instead of just sending a series of 'GestureUpdate' events, send a
659         single 'GestureBegin' event, followed by a series of 'GestureUpdate' events,
660         and end with a 'GestureEnd' event.
661         https://bugs.webkit.org/show_bug.cgi?id=66267
662
663         Reviewed by Adam Barth.
664
665         * page/EventHandler.cpp:
666         (WebCore::EventHandler::handleGestureEvent):
667         * platform/chromium/GestureRecognizerChromium.cpp:
668         (WebCore::InnerGestureRecognizer::InnerGestureRecognizer):
669         (WebCore::InnerGestureRecognizer::appendScrollGestureBegin):
670         (WebCore::InnerGestureRecognizer::appendScrollGestureEnd):
671         (WebCore::InnerGestureRecognizer::appendScrollGestureUpdate):
672         (WebCore::scrollEnd):
673         (WebCore::isClickOrScroll):
674         (WebCore::inScroll):
675         * platform/chromium/GestureRecognizerChromium.h:
676         (WebCore::InnerGestureRecognizer::firstTouchPosition):
677
678 2011-08-18  Sailesh Agrawal  <sail@chromium.org>
679
680         Chromium: Update forked ScrollbarThemeChromiumMac.mm
681         https://bugs.webkit.org/show_bug.cgi?id=65555
682
683         Reviewed by James Robinson.
684
685         Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
686
687         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
688         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
689         (wkScrollbarPainterSetEnabled):
690         * platform/chromium/ScrollbarThemeChromiumMac.h:
691         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
692         * platform/chromium/ScrollbarThemeChromiumMac.mm:
693         (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
694         (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
695         (WebCore::toScrollbarPainterKnobStyle):
696         (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
697         (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
698         (WebCore::ScrollbarThemeChromiumMac::paint):
699
700 2011-08-18  Justin Novosad  <junov@chromium.org>
701
702         Unwarranted DOM Exception when when canvas2D drawImage is called with src
703         rect out of bounds
704         https://bugs.webkit.org/show_bug.cgi?id=65709
705
706         Reviewed by Stephen White.
707
708         Test: fast/canvas/drawImage-clipped-source.html
709
710         * html/canvas/CanvasRenderingContext2D.cpp:
711         (WebCore::CanvasRenderingContext2D::drawImage):
712         Removed the unnecessary dom exceptions for out of bounds source rectangles
713         The overloads that receive video and image elements as source images
714         now use the normalized versions of the source rectangle, which
715         GraphicsContext (and its various platform flavors) can handle correctly.
716         The normalized rectangle is the equivalent rectangle with width and height
717         greater than 0.  The canvas version of this method, which had better layout 
718         test coverage, was already correctly using the normalized rectangle. The
719         newly added layout test verifies correct behavior with negative
720         source rectangle dimensions.
721         * platform/graphics/cg/GraphicsContextCG.cpp:
722         (WebCore::GraphicsContext::drawNativeImage):
723         Fixed algorithm that adjusts the destination rectangle to match the clipping
724         applied to the source rect. The case of scaled filtered images with source
725         rectangles that overlap the edge of the image was not being handled
726         correctly. This use case was previously unsupported and used to trigger
727         a DOM exception.
728
729 2011-08-18  Sheriff Bot  <webkit.review.bot@gmail.com>
730
731         Unreviewed, rolling out r93329.
732         http://trac.webkit.org/changeset/93329
733         https://bugs.webkit.org/show_bug.cgi?id=66497
734
735         Turned text on chromium win blue (Requested by jamesr_ on
736         #webkit).
737
738         * WebCore.gypi:
739         * platform/graphics/chromium/ContentLayerChromium.cpp:
740         * platform/graphics/chromium/ContentLayerChromium.h:
741         * platform/graphics/chromium/ImageLayerChromium.cpp:
742         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
743         * platform/graphics/chromium/LayerChromium.cpp:
744         (WebCore::LayerChromium::LayerChromium):
745         (WebCore::LayerChromium::pushPropertiesTo):
746         (WebCore::LayerChromium::dumpLayerProperties):
747         * platform/graphics/chromium/LayerChromium.h:
748         * platform/graphics/chromium/LayerRendererChromium.cpp:
749         (WebCore::LayerRendererChromium::initialize):
750         (WebCore::LayerRendererChromium::releaseTextures):
751         (WebCore::LayerRendererChromium::updateRootLayerContents):
752         (WebCore::LayerRendererChromium::drawRootLayer):
753         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
754         (WebCore::LayerRendererChromium::rootLayerChanged):
755         (WebCore::LayerRendererChromium::viewportChanged):
756         (WebCore::LayerRendererChromium::updateLayers):
757         (WebCore::LayerRendererChromium::drawLayers):
758         (WebCore::LayerRendererChromium::paintLayerContents):
759         (WebCore::LayerRendererChromium::drawLayersInternal):
760         (WebCore::LayerRendererChromium::getFramebufferPixels):
761         (WebCore::LayerRendererChromium::cleanupSharedObjects):
762         (WebCore::LayerRendererChromium::layerTreeAsText):
763         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
764         * platform/graphics/chromium/LayerRendererChromium.h:
765         (WebCore::LayerRendererChromium::rootLayer):
766         * platform/graphics/chromium/NonCompositedContentHost.cpp: Removed.
767         * platform/graphics/chromium/NonCompositedContentHost.h: Removed.
768         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
769         (WebCore::RenderSurfaceChromium::dumpSurface):
770         * platform/graphics/chromium/TiledLayerChromium.cpp:
771         (WebCore::TiledLayerChromium::createTilerIfNeeded):
772         (WebCore::TiledLayerChromium::tilingTransform):
773         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
774         (WebCore::CCHeadsUpDisplay::draw):
775         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
776         (WebCore::CCLayerImpl::CCLayerImpl):
777         * platform/graphics/chromium/cc/CCLayerImpl.h:
778         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
779         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
780         (WebCore::CCLayerTreeHost::initialize):
781         (WebCore::CCLayerTreeHost::createRootLayerPainter):
782         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
783         (WebCore::CCLayerTreeHost::setRootLayer):
784         (WebCore::CCLayerTreeHost::setViewport):
785         (WebCore::CCLayerTreeHost::reallocateRenderer):
786         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
787         (WebCore::CCLayerTreeHost::rootLayer):
788         (WebCore::CCLayerTreeHost::viewportContentRect):
789         (WebCore::CCLayerTreeHost::viewportScrollPosition):
790         (WebCore::CCLayerTreeHost::viewportVisibleRect):
791         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
792         (WebCore::CCTiledLayerImpl::draw):
793
794 2011-08-18  Ryosuke Niwa  <rniwa@webkit.org>
795
796         SimplifiedBackwardsTextIterator returns incorrect offset with first-letter rule
797         https://bugs.webkit.org/show_bug.cgi?id=66086
798
799         Reviewed by Darin Adler.
800
801         The bug was caused by SimplifiedBackwardsTextIterator's not taking care of first-letter at all.
802         Fixing the bug by detecting RenderTextFragment in handleTextNode.
803
804         Also added m_shouldHandleFirstLetter to SimplifiedBackwardsTextIterator to keep track of whether or not
805         the next call to handleTextNode needs to process the first-letter part of the text fragment.
806
807         Test: editing/text-iterator/backward-textiterator-first-letter-crash.html
808
809         * editing/TextIterator.cpp:
810         (WebCore::firstRenderTextInFirstLetter): Extracted from handleTextNodeFirstLetter.
811         (WebCore::TextIterator::handleTextNodeFirstLetter): Calls firstRenderTextInFirstLetter.
812         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
813         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
814         (WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Added.
815         * editing/TextIterator.h:
816
817 2011-08-18  Iain Merrick  <husky@google.com>
818
819         [chromium] Assert that main thread and compositor thread are used safely
820         https://bugs.webkit.org/show_bug.cgi?id=66145
821
822         CCLayerTreeHostImplProxy now has public static methods isMainThread()
823         and isImplThread(), and we ASSERT these in various places. If threaded
824         compositing is disabled, we fake isImplThread() by setting a flag for
825         the duration of compositing, so the assert is still valid.
826
827         Reviewed by James Robinson.
828
829         Covered by existing tests.
830
831         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
832         (WebCore::CCCanvasLayerImpl::draw):
833         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
834         (WebCore::CCLayerTreeHost::doComposite):
835         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
836         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
837         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
838         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
839         (WebCore::CCLayerTreeHostImplProxy::isImplThread):
840         (WebCore::CCLayerTreeHostImplProxy::setImplThread):
841         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
842         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
843         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
844         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
845         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
846         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
847         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h:
848         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
849         (WebCore::CCPluginLayerImpl::draw):
850         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
851         (WebCore::CCTiledLayerImpl::draw):
852         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
853         (WebCore::CCVideoLayerImpl::draw):
854
855 2011-08-18  Alexey Proskuryakov  <ap@apple.com>
856
857         Regional indicator symbols that are combined should behave as a single character when editing
858         https://bugs.webkit.org/show_bug.cgi?id=65395
859
860         Reviewed by Dan Bernstein.
861
862         Part two: make cursor movement iterator work. This fixes the problem for strings that don't
863         contain more than two flags in a row, as fixing it completely doesn't seem possible with ICU.
864
865         Test: editing/selection/regional-indicators.html
866
867         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added custom
868         rules for regional indicator symbols.
869
870 2011-08-18  Cary Clark  <caryclark@google.com>
871
872         Fix rubber band gutter drawing for Skia on Chromium Mac
873         https://bugs.webkit.org/show_bug.cgi?id=66478
874
875         Reviewed by James Robinson.
876
877         No new tests. The Skia on Chromium Mac platform has
878         not been enabled.
879
880         This break was detected at compile time; there is no
881         behavior change.
882
883         * platform/chromium/ScrollbarThemeChromiumMac.mm:
884         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
885         Convert the CGImage into an SkBitmap if Skia is present.
886
887 2011-08-18  Julien Chaffraix  <jchaffraix@webkit.org>
888
889         Implement a faster path for painting tables with overflowing cells
890         https://bugs.webkit.org/show_bug.cgi?id=65491
891
892         This change introduces a smarter way of painting if the table is big enough and we have a small amount
893         of overflowing cells in the table. The new path does a binary search of the cells to repaint but adds
894         the overflowing cells to the repainting cells.
895
896         This saves ~50% when doing programmatic scrolling throught JS on a 500x100 table with some overflowing
897         cells. Also we cap the memory usage to a ratio of the total size of the table to avoid blowing up the
898         memory.
899
900         Reviewed by David Hyatt.
901
902         No new tests as the behavior should be the same.
903
904         * rendering/RenderTableSection.cpp:
905         (WebCore::RenderTableSection::RenderTableSection):
906         (WebCore::RenderTableSection::layoutRows): Added some code to accumulate the overflowing cells
907         in an internal HashSet (we don't need to keep them sorted and it makes it easier to use them during
908         painting). If we hit the cap, flip the boolean value and clear the HashSet as the slow path does not
909         care about the cell's information. Make sure that the "has overflowing cells" information is still
910         properly encoded on our 2 values.
911
912         (WebCore::compareCellPositionsWithOverflowingCells): Added this method as we are doing a more
913         complicated sort:
914             * the old path would sort one (mostly sorted) array by rows only as the stable sort would
915               take care of keeping the column ordering inside a row.
916             * the new path basically has to sort an unsorted array (taken partly from the HashSet).
917
918         (WebCore::RenderTableSection::paintObject): Tweaked the logic to account for difference between
919         m_forceSlowPaintPathWithOverflowingCell and has some overflowing cells. Also we make sure we don't
920         repaint the same cell twice.
921
922         (WebCore::RenderTableSection::nodeAtPoint): Changed to hasOverflowingCell(). We don't apply our
923         fast path optimization here.
924
925         * rendering/RenderTableSection.h: Transformed our original boolean into
926         a HashSet and a boolean. The HashSet holds up the CellStruct that are overflowing
927         until we reach the memory threshold. After this is hit, we just set the boolean
928         to avoid using too much memory.
929
930         (WebCore::RenderTableSection::hasOverflowingCell): This is the new way to determine
931         if we have any overflowing cell, used only for hit testing.
932
933 2011-08-18  Kentaro Hara  <haraken@google.com>
934
935         An EventSource constructor should throw TypeError, when the number of arguments is not enough.
936         https://bugs.webkit.org/show_bug.cgi?id=66454
937
938         Reviewed by Adam Barth.
939
940         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
941
942         Test: fast/eventsource/eventsource-constructor.html
943
944         * bindings/js/JSEventSourceCustom.cpp:
945         (WebCore::JSEventSourceConstructor::constructJSEventSource): Changed SyntaxError to TypeError.
946         * bindings/v8/custom/V8EventSourceConstructor.cpp:
947         (WebCore::V8EventSource::constructorCallback): Changed SyntaxError to TypeError.
948
949 2011-08-18  Kentaro Hara  <haraken@google.com>
950
951         A SharedWorker constructor should throw TypeError, when the number of arguments is not enough.
952         https://bugs.webkit.org/show_bug.cgi?id=66455
953
954         Reviewed by Adam Barth.
955
956         The spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
957
958         Test: fast/workers/shared-worker-constructor.html
959
960         * bindings/js/JSSharedWorkerCustom.cpp:
961         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker): Changed SyntaxError to TypeError.
962         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
963         (WebCore::V8SharedWorker::constructorCallback): Changed SyntaxError to TypeError.
964
965 2011-08-17  Alejandro G. Castro  <alex@igalia.com>
966
967         [GTK] Fix compilation problems with deprecations in gtk+
968         https://bugs.webkit.org/show_bug.cgi?id=66073
969
970         Reviewed by Martin Robinson.
971
972         * platform/gtk/GtkAuthenticationDialog.cpp:
973         (WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Added
974         gtk_box_new conditional compilation for gtk+-3.
975         * platform/gtk/RenderThemeGtk3.cpp:
976         (WebCore::RenderThemeGtk::adjustRepaintRect):
977         (WebCore::RenderThemeGtk::paintSliderTrack):
978         (WebCore::RenderThemeGtk::paintSliderThumb):
979         (WebCore::RenderThemeGtk::adjustSliderThumbSize): Now we have have
980         GTK_TYPE_SCALE in gtk+3.
981
982 2011-08-18  Kentaro Hara  <haraken@google.com>
983
984         A Worker constructor should throw TypeError, when the number of arguments is not enough
985         https://bugs.webkit.org/show_bug.cgi?id=66456
986
987         Reviewed by Adam Barth.
988
989         Spec is here: http://www.w3.org/TR/WebIDL/#es-operations.
990
991         Test: fast/workers/worker-constructor.html
992
993         * bindings/js/JSWorkerCustom.cpp:
994         (WebCore::JSWorkerConstructor::constructJSWorker): Changed SyntaxError to TypeError.
995         * bindings/v8/custom/V8WorkerCustom.cpp:
996         (WebCore::V8Worker::constructorCallback): Changed SyntaxError to TypeError.
997
998 2011-08-18  John Bates  <jbates@google.com>
999
1000         Fix logic error causing reverse of desired WebGL rate limiting behavior
1001         https://bugs.webkit.org/show_bug.cgi?id=66445
1002
1003         Reviewed by Kenneth Russell.
1004
1005         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1006         (WebCore::WebGLLayerChromium::setTextureUpdated):
1007
1008 2011-08-18  Levi Weintraub  <leviw@chromium.org>
1009
1010         Switch RenderTextControl* to new layout types
1011         https://bugs.webkit.org/show_bug.cgi?id=66250
1012
1013         Reviewed by Eric Seidel.
1014
1015         Convertikng the RenderTextControl* classes to use the LayoutUnit abstraction.
1016
1017         No new tests as no change in behavior.
1018
1019         * rendering/LayoutTypes.h:
1020         (WebCore::layoutMod): Added a function to perform the modulo operation on LayoutUnits.
1021         * rendering/RenderTextControl.cpp:
1022         (WebCore::RenderTextControl::hitInnerTextElement):
1023         * rendering/RenderTextControl.h:
1024         * rendering/RenderTextControlMultiLine.cpp:
1025         (WebCore::RenderTextControlMultiLine::preferredContentWidth):
1026         (WebCore::RenderTextControlMultiLine::baselinePosition):
1027         * rendering/RenderTextControlMultiLine.h:
1028         * rendering/RenderTextControlSingleLine.cpp:
1029         (WebCore::RenderTextControlSingleLine::layout):
1030         (WebCore::RenderTextControlSingleLine::controlClipRect):
1031         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
1032         (WebCore::RenderTextControlSingleLine::scrollWidth):
1033         (WebCore::RenderTextControlSingleLine::scrollHeight):
1034         (WebCore::RenderTextControlSingleLine::scrollLeft):
1035         (WebCore::RenderTextControlSingleLine::scrollTop):
1036         (WebCore::RenderTextControlSingleLine::setScrollLeft):
1037         (WebCore::RenderTextControlSingleLine::setScrollTop):
1038         * rendering/RenderTextControlSingleLine.h:
1039
1040 2011-08-18  Levi Weintraub  <leviw@chromium.org>
1041
1042         Switch Inline rendering classes to new layout types
1043         https://bugs.webkit.org/show_bug.cgi?id=66239
1044
1045         Reviewed by Eric Seidel.
1046
1047         Converting inline rendering classes to use the LayoutUnit abstraction from ints.
1048
1049         No new tests as no change in functionality.
1050
1051         * rendering/InlineBox.h:
1052         (WebCore::InlineBox::logicalFrameRect):
1053         (WebCore::InlineBox::baselinePosition):
1054         (WebCore::InlineBox::lineHeight):
1055         * rendering/InlineFlowBox.h:
1056         * rendering/InlineTextBox.cpp:
1057         (WebCore::InlineTextBox::logicalOverflowRect):
1058         (WebCore::InlineTextBox::setLogicalOverflowRect):
1059         (WebCore::InlineTextBox::baselinePosition):
1060         (WebCore::InlineTextBox::lineHeight):
1061         * rendering/InlineTextBox.h:
1062         (WebCore::InlineTextBox::logicalTopVisualOverflow):
1063         (WebCore::InlineTextBox::logicalBottomVisualOverflow):
1064         (WebCore::InlineTextBox::logicalLeftVisualOverflow):
1065         (WebCore::InlineTextBox::logicalRightVisualOverflow):
1066         * rendering/RenderInline.cpp:
1067         (WebCore::RenderInline::culledInlineAbsoluteRects):
1068         (WebCore::computeMargin):
1069         (WebCore::RenderInline::culledInlineBoundingBox):
1070         (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
1071         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
1072         (WebCore::RenderInline::clippedOverflowRectForRepaint):
1073         (WebCore::RenderInline::rectWithOutlineForRepaint):
1074         (WebCore::RenderInline::computeRectForRepaint):
1075         (WebCore::RenderInline::mapLocalToContainer):
1076         (WebCore::RenderInline::lineHeight):
1077         (WebCore::RenderInline::baselinePosition):
1078         (WebCore::RenderInline::addDashboardRegions):
1079         * rendering/RenderInline.h:
1080
1081 2011-08-18  Jeffrey Pfau  <jpfau@apple.com>
1082
1083         New XML parser: add doctype to DOM tree
1084         https://bugs.webkit.org/show_bug.cgi?id=66408
1085
1086         Reviewed by Adam Barth.
1087
1088         * xml/parser/XMLTreeBuilder.cpp:
1089         (WebCore::XMLTreeBuilder::processDOCTYPE):
1090
1091 2011-08-18  James Robinson  <jamesr@chromium.org>
1092
1093         [chromium] Draw the root/"non-composited content" in compositor side
1094         https://bugs.webkit.org/show_bug.cgi?id=58834
1095
1096         Reviewed by Darin Fisher.
1097
1098         Handle the root or non-composited content with a GraphicsLayer rather than special case logic in
1099         LayerRendererChromium. This layer's client is the NonCompositedContentHost, which routes the paint callbacks
1100         through the LayerPainterChromium interface out to the WebView.  The root layer is special in two ways:
1101         *) The root layer has a scroll offset, which changes how the visibleLayerRect maps to content space and applies a
1102             draw-time transform.
1103         *) The root layer masks the alpha channel when drawing because of concerns about subpixel AA trashing the alpha
1104             channel.  The root layer is always opaque so this is fine.
1105         *) The root layer does not have border texels and does have subpixel AA for text.
1106
1107         Covered by compositing/
1108
1109         * WebCore.gypi:
1110         * platform/graphics/chromium/ContentLayerChromium.cpp:
1111         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1112         * platform/graphics/chromium/ImageLayerChromium.cpp:
1113         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1114         * platform/graphics/chromium/LayerChromium.cpp:
1115         (WebCore::LayerChromium::pushPropertiesTo):
1116         * platform/graphics/chromium/LayerChromium.h:
1117         (WebCore::LayerChromium::scrollPosition):
1118         (WebCore::LayerChromium::setScrollPosition):
1119         * platform/graphics/chromium/LayerRendererChromium.cpp:
1120         (WebCore::LayerRendererChromium::initialize):
1121         (WebCore::LayerRendererChromium::releaseTextures):
1122         (WebCore::LayerRendererChromium::viewportChanged):
1123         (WebCore::LayerRendererChromium::updateLayers):
1124         (WebCore::LayerRendererChromium::drawLayers):
1125         (WebCore::LayerRendererChromium::drawLayersInternal):
1126         (WebCore::LayerRendererChromium::getFramebufferPixels):
1127         (WebCore::LayerRendererChromium::cleanupSharedObjects):
1128         (WebCore::LayerRendererChromium::layerTreeAsText):
1129         * platform/graphics/chromium/LayerRendererChromium.h:
1130         (WebCore::LayerRendererChromium::rootLayer):
1131         (WebCore::LayerRendererChromium::viewportSize):
1132         (WebCore::LayerRendererChromium::viewportWidth):
1133         (WebCore::LayerRendererChromium::viewportHeight):
1134         * platform/graphics/chromium/NonCompositedContentHost.cpp: Added.
1135         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
1136         (WebCore::NonCompositedContentHost::~NonCompositedContentHost):
1137         (WebCore::NonCompositedContentHost::invalidateRect):
1138         (WebCore::NonCompositedContentHost::invalidateEntireLayer):
1139         (WebCore::NonCompositedContentHost::setScrollPosition):
1140         (WebCore::NonCompositedContentHost::notifyAnimationStarted):
1141         (WebCore::NonCompositedContentHost::notifySyncRequired):
1142         (WebCore::NonCompositedContentHost::paintContents):
1143         (WebCore::NonCompositedContentHost::showDebugBorders):
1144         (WebCore::NonCompositedContentHost::showRepaintCounter):
1145         * platform/graphics/chromium/NonCompositedContentHost.h: Added.
1146         (WebCore::NonCompositedContentHost::create):
1147         (WebCore::NonCompositedContentHost::graphicsLayer):
1148         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
1149         (WebCore::CCHeadsUpDisplay::draw):
1150         * platform/graphics/chromium/cc/CCLayerImpl.h:
1151         (WebCore::CCLayerImpl::scrollPosition):
1152         (WebCore::CCLayerImpl::setScrollPosition):
1153         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1154         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1155         (WebCore::CCLayerTreeHost::initialize):
1156         (WebCore::CCLayerTreeHost::invalidateRootLayerRect):
1157         (WebCore::CCLayerTreeHost::setRootLayer):
1158         (WebCore::CCLayerTreeHost::setViewport):
1159         (WebCore::CCLayerTreeHost::reallocateRenderer):
1160         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1161         (WebCore::CCLayerTreeHost::rootLayer):
1162         (WebCore::CCLayerTreeHost::viewportSize):
1163
1164 2011-08-18  Nico Weber  <thakis@chromium.org>
1165
1166         Fix "missing return" gcc warning in ScrollAnimatorNone
1167         https://bugs.webkit.org/show_bug.cgi?id=66480
1168
1169         Reviewed by Tony Chang.
1170
1171         * platform/ScrollAnimatorNone.cpp:
1172         (WebCore::ScrollAnimatorNone::PerAxisData::curveAt):
1173         (WebCore::ScrollAnimatorNone::PerAxisData::curveDerivativeAt):
1174
1175 2011-08-18  James Simonsen  <simonjam@chromium.org>
1176
1177         Revalidate expired resources if they're requested after the initial document load
1178         https://bugs.webkit.org/show_bug.cgi?id=52153
1179
1180         Reviewed by Antti Koivisto.
1181
1182         Test: http/tests/cache/subresource-multiple-instances.html
1183
1184         * loader/cache/CachedResourceLoader.cpp:
1185         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1186
1187 2011-08-18  Anders Carlsson  <andersca@apple.com>
1188
1189         Fix clang libc++ C++0x build
1190         https://bugs.webkit.org/show_bug.cgi?id=66475
1191
1192         Reviewed by Adam Roben.
1193
1194         Remove calls to isnan and isfinite with integer arguments.
1195
1196         * css/CSSPrimitiveValue.cpp:
1197         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1198         * html/canvas/WebGLRenderingContext.cpp:
1199         (WebCore::WebGLRenderingContext::viewport):
1200
1201 2011-08-18  Andrey Kosyakov  <caseq@chromium.org>
1202
1203         Web Inspector: [Extensions API] rename webInspector.resources to webInspector.network
1204         https://bugs.webkit.org/show_bug.cgi?id=66460
1205
1206         Reviewed by Pavel Feldman.
1207
1208         Tests: http/tests/inspector/extensions-network-redirect.html
1209                inspector/extensions/extensions-network.html
1210
1211         * inspector/front-end/ExtensionAPI.js:
1212         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
1213         (WebInspector.injectedExtensionAPI.Network.requestDispatch):
1214         (WebInspector.injectedExtensionAPI):
1215         (WebInspector.injectedExtensionAPI.Network.prototype.getHAR):
1216         (WebInspector.injectedExtensionAPI.defineDeprecatedProperty.getter):
1217         (WebInspector.injectedExtensionAPI.defineDeprecatedProperty):
1218         * inspector/front-end/ExtensionServer.js:
1219         (WebInspector.ExtensionServer):
1220         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
1221         (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
1222         (WebInspector.ExtensionServer.prototype._onGetHAR):
1223         (WebInspector.ExtensionServer.prototype._onGetResourceContent):
1224         (WebInspector.ExtensionServer.prototype._requestId):
1225         (WebInspector.ExtensionServer.prototype._requestById):
1226         (WebInspector.ExtensionServer.prototype._onAddAuditCategory):
1227         (WebInspector.ExtensionServer.prototype._onAddAuditResult):
1228         (WebInspector.ExtensionServer.prototype._onStopAuditCategoryRun):
1229         (WebInspector.ExtensionServer.prototype.initExtensions):
1230         (WebInspector.ExtensionServer.prototype._onmessage):
1231
1232 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
1233
1234         Web Inspector: extract content loading functions from RawSourceCode to ContentProvider implementations.
1235         https://bugs.webkit.org/show_bug.cgi?id=66237
1236
1237         Reviewed by Pavel Feldman.
1238
1239         Test: inspector/debugger/content-providers.html
1240
1241         * inspector/front-end/SourceFile.js:
1242         (WebInspector.RawSourceCode.prototype._loadResourceContent):
1243         (WebInspector.RawSourceCode.prototype._loadScriptContent):
1244         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
1245         (WebInspector.ScriptContentProvider):
1246         (WebInspector.ScriptContentProvider.prototype.requestContent):
1247         (WebInspector.ConcatenatedScriptsContentProvider):
1248         (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
1249         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
1250         (WebInspector.ResourceContentProvider):
1251         (WebInspector.ResourceContentProvider.prototype.requestContent):
1252
1253 2011-08-18  Alexandru Chiculita  <achicu@adobe.com>
1254
1255         [CSSRegions] RenderRegion should not reference a parent RenderFlowThread
1256         https://bugs.webkit.org/show_bug.cgi?id=66142
1257
1258         Added code that checks the parent RenderFlowThread of a RenderRegion and creates
1259         a dependency for its referenced RenderFlowThread (from CSS style).
1260
1261         There are two cases:
1262         1. A RenderRegion tries to display the flow thread that laid it out. In this case
1263         the region will be ignored and will not participate in the flow threads regions list.
1264         2. A RenderRegion tries to display a flow thread that contains another region that
1265         tries to display the first region's flow thread. This one can be generalized with any
1266         number of intermediate flow threads. In this case the recursion is detected and only the
1267         first added region will actually be selected. The other region will be ignored. However,
1268         when the recursion is removed the invalid regions will be recovered.
1269
1270         Reviewed by David Hyatt.
1271
1272         Tests: fast/regions/flows-dependency-dynamic-remove.html
1273                fast/regions/flows-dependency-same-flow.html
1274
1275         * rendering/RenderBlock.cpp:
1276         (WebCore::RenderBlock::insertPositionedObject):
1277         * rendering/RenderFlowThread.cpp:
1278         (WebCore::RenderFlowThread::dependsOn):
1279         (WebCore::RenderFlowThread::addRegionToThread):
1280         (WebCore::RenderFlowThread::removeRegionFromThread):
1281         (WebCore::RenderFlowThread::checkInvalidRegions):
1282         (WebCore::RenderFlowThread::addDependencyOnFlowThread):
1283         (WebCore::RenderFlowThread::removeDependencyOnFlowThread):
1284         (WebCore::RenderFlowThread::pushDependencies):
1285         (WebCore::RenderFlowThread::layout):
1286         (WebCore::RenderFlowThread::computeLogicalWidth):
1287         (WebCore::RenderFlowThread::computeLogicalHeight):
1288         (WebCore::RenderFlowThread::repaintRectangleInRegions):
1289         * rendering/RenderFlowThread.h:
1290         * rendering/RenderObjectChildList.cpp:
1291         (WebCore::RenderObjectChildList::removeChildNode):
1292         (WebCore::RenderObjectChildList::appendChildNode):
1293         * rendering/RenderRegion.cpp:
1294         (WebCore::RenderRegion::RenderRegion):
1295         (WebCore::RenderRegion::~RenderRegion):
1296         (WebCore::RenderRegion::paintReplaced):
1297         (WebCore::RenderRegion::nodeAtPoint):
1298         (WebCore::RenderRegion::attachRegion):
1299         (WebCore::RenderRegion::detachRegion):
1300         * rendering/RenderRegion.h:
1301         (WebCore::RenderRegion::parentFlowThread):
1302         (WebCore::RenderRegion::isValid):
1303         (WebCore::RenderRegion::setIsValid):
1304         * rendering/RenderTreeAsText.cpp:
1305         (WebCore::writeRenderFlowThreads):
1306         (WebCore::writeLayers):
1307         * rendering/RenderView.cpp:
1308         (WebCore::RenderView::RenderView):
1309         (WebCore::RenderView::layout):
1310         (WebCore::RenderView::renderFlowThreadWithName):
1311         (WebCore::RenderView::layoutRenderFlowThreads):
1312         * rendering/RenderView.h:
1313         (WebCore::RenderView::hasRenderFlowThreads):
1314         (WebCore::RenderView::isRenderFlowThreadOrderDirty):
1315         (WebCore::RenderView::setIsRenderFlowThreadOrderDirty):
1316         (WebCore::RenderView::renderFlowThreadList):
1317
1318 2011-08-18  Pavel Podivilov  <podivilov@chromium.org>
1319
1320         Web Inspector: add UISourceCode class.
1321         https://bugs.webkit.org/show_bug.cgi?id=66233
1322
1323         This is a next step towards splitting SourceFile into RawSourceCode and UISourceCode.
1324         UISourceCode is a part of SourceFile's interface that is visible to ScriptsPanel.
1325         UISourceCode represents a single entry in scripts panel's files select.
1326
1327         Reviewed by Pavel Feldman.
1328
1329         Test: inspector/debugger/ui-source-code.html
1330
1331         * WebCore.gypi:
1332         * WebCore.vcproj/WebCore.vcproj:
1333         * inspector/front-end/UISourceCode.js: Added.
1334         (WebInspector.UISourceCode):
1335         (WebInspector.UISourceCode.prototype.get id):
1336         (WebInspector.UISourceCode.prototype.get url):
1337         (WebInspector.UISourceCode.prototype.get isContentScript):
1338         (WebInspector.UISourceCode.prototype.requestContent):
1339         (WebInspector.UISourceCode.prototype._didRequestContent):
1340         (WebInspector.ContentProvider):
1341         (WebInspector.ContentProvider.prototype.requestContent):
1342         * inspector/front-end/WebKit.qrc:
1343         * inspector/front-end/inspector.html:
1344
1345 2011-08-17  Adam Roben  <aroben@apple.com>
1346
1347         Make WebCore keep track of the current device scale factor
1348
1349         Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
1350         device scale factor
1351
1352         Reviewed by Darin Adler.
1353
1354         * WebCore.exp.in: Removed Frame::deviceScaleFactorChanged, added Page::setDeviceScaleFactor.
1355
1356         * css/MediaQueryEvaluator.cpp:
1357         (WebCore::device_pixel_ratioMediaFeatureEval):
1358         * html/HTMLCanvasElement.cpp:
1359         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1360         * page/DOMWindow.cpp:
1361         (WebCore::DOMWindow::devicePixelRatio):
1362         * rendering/RenderInline.cpp:
1363         (WebCore::RenderInline::addDashboardRegions):
1364         * rendering/RenderLayerCompositor.cpp:
1365         (WebCore::RenderLayerCompositor::deviceScaleFactor):
1366         * rendering/RenderObject.cpp:
1367         (WebCore::RenderObject::addDashboardRegions):
1368         Changed to get the device scale factor from Page.
1369
1370         * loader/EmptyClients.h:
1371         * page/Chrome.cpp:
1372         * page/Chrome.h:
1373         * page/ChromeClient.h:
1374         Removed Chrome[Client]::deviceScaleFactor.
1375
1376         * page/Frame.cpp:
1377         * page/Frame.h:
1378         Removed deviceScaleFactorChanged. Made deviceOrPageScaleFactorChanged public.
1379
1380         * page/Page.cpp:
1381         (WebCore::Page::Page): Initialize m_deviceScaleFactor.
1382         (WebCore::Page::setDeviceScaleFactor): Added. Code came from
1383         Frame::deviceScaleFactorChanged.
1384
1385         * page/Page.h: Added m_deviceScaleFactor.
1386         (WebCore::Page::deviceScaleFactor): Added simple getter.
1387
1388 2011-08-18  Darin Adler  <darin@apple.com>
1389
1390         SVG and HTML editing have conflicting inline isWhitespace functions
1391         https://bugs.webkit.org/show_bug.cgi?id=65145
1392
1393         Reviewed by Nikolas Zimmermann.
1394
1395         Renamed the SVG-specific whitespace functions to call it "SVG space"
1396         rather than just "whitespace". An alternative would have been to put
1397         the functions into an SVG namespace instead of the top level WebCore
1398         namespace.
1399
1400         * svg/SVGAnimateMotionElement.cpp:
1401         (WebCore::parsePoint): Call skipOptionalSVGSpaces.
1402         * svg/SVGAnimationElement.cpp:
1403         (WebCore::parseKeySplines): Ditto.
1404         * svg/SVGFitToViewBox.cpp:
1405         (WebCore::SVGFitToViewBox::parseViewBox): Ditto.
1406         * svg/SVGLengthList.cpp:
1407         (WebCore::SVGLengthList::parse): Call isSVGSpace and
1408         skipOptionalSVGSpacesOrDelimiter.
1409         * svg/SVGParserUtilities.cpp:
1410         (WebCore::genericParseNumber): Call skipOptionalSVGSpacesOrDelimiter.
1411         (WebCore::parseArcFlag): Ditto.
1412         (WebCore::parseRect): Call skipOptionalSVGSpaces.
1413         (WebCore::pointsListFromSVGData): Ditto.
1414         (WebCore::parseGlyphName): Call skipOptionalSVGSpaces, isSVGSpace,
1415         and skipOptionalSVGSpacesOrDelimiter.
1416         (WebCore::parseDelimitedString): Call skipOptionalSVGSpaces.
1417
1418         * svg/SVGParserUtilities.h:
1419         (WebCore::isSVGSpace): Renamed from isWhitespace. This better matches
1420         the comment which specifically talks about SVG.
1421         (WebCore::skipOptionalSVGSpaces): Renamed from skipOptionalSpaces.
1422         (WebCore::skipOptionalSVGSpacesOrDelimiter): Renamed from
1423         skipOptionalSVGSpacesOrDelimiter.
1424
1425         * svg/SVGPathStringSource.cpp:
1426         (WebCore::SVGPathStringSource::moveToNextToken): Call skipOptionalSVGSpaces.
1427         * svg/SVGPreserveAspectRatio.cpp:
1428         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio): Ditto.
1429         * svg/SVGStringList.cpp:
1430         (WebCore::SVGStringList::parse): Call isSVGSpace and
1431         skipOptionalSVGSpacesOrDelimiter.
1432         * svg/SVGTransformable.cpp:
1433         (WebCore::parseTransformParamList): Call skipOptionalSVGSpaces and
1434         skipOptionalSVGSpacesOrDelimiter.
1435         (WebCore::SVGTransformable::parseTransformAttribute): Call skipOptionalSVGSpaces.
1436
1437 2011-08-18  Gavin Peters  <gavinp@chromium.org>
1438
1439         Prepare frames for history navigation.
1440
1441         Before beginning an explicit history navigation in a newly initialized
1442         frame, it's important to give a "previous" item to avoid crashes, and
1443         give a state to the state machine to avoid extra validating loads.
1444
1445         https://bugs.webkit.org/show_bug.cgi?id=66322
1446
1447         Reviewed by Darin Fisher.
1448
1449         No new tests, as history navigation is very difficult to test in
1450         DumpRenderTree.
1451
1452         * loader/FrameLoader.cpp:
1453         (WebCore::FrameLoader::prepareForHistoryNavigation):
1454         * loader/FrameLoader.h:
1455
1456 2011-08-18  Jing Zhao  <jingzhao@chromium.org>
1457
1458         When changing the size of a menulist from x (x>1) to 1, the first item should be selected.
1459         https://bugs.webkit.org/show_bug.cgi?id=66282
1460
1461         Reviewed by Kent Tamura.
1462
1463         No new tests since it only changes the behavior in Android Browser.
1464
1465         * html/HTMLSelectElement.cpp:
1466         (WebCore::HTMLSelectElement::parseMappedAttribute):
1467
1468 2011-08-18  Adam Klein  <adamk@chromium.org>
1469
1470         Handle "form" attribute updates in parseMappedAttribute() instead of attributeChanged() to better match HTMLElement practices
1471         https://bugs.webkit.org/show_bug.cgi?id=66321
1472
1473         Reviewed by Darin Adler.
1474
1475         This is simply a cleanup change: there's no need that I can see for
1476         HTMLFormControlElement and HTMLObjectElement to override
1477         Element::attributeChanged since they can properly handle form
1478         attribute changes in parseMappedAttribute, which they also override.
1479
1480         Though no change in behavior, I've added test coverage of the moved
1481         code to an existing test (fast/forms/form-attribute.html) and added
1482         a new test.
1483
1484         Test: fast/forms/radio-remove-form-attr.html
1485
1486         * html/HTMLFormControlElement.cpp:
1487         (WebCore::HTMLFormControlElement::parseMappedAttribute):
1488         * html/HTMLFormControlElement.h:
1489         * html/HTMLObjectElement.cpp:
1490         (WebCore::HTMLObjectElement::parseMappedAttribute):
1491         * html/HTMLObjectElement.h:
1492
1493 2011-08-18  Chang Shu  <cshu@webkit.org>
1494
1495         Add support of setPasswordEchoEnabled and setPasswordEchoDuration for password echo feature
1496         https://bugs.webkit.org/show_bug.cgi?id=66052
1497
1498         Reviewed by Alexey Proskuryakov.
1499
1500         Added runtime settings in WebCore.
1501         Added support in window.internals for testing.
1502
1503         Tests: editing/input/password-echo-passnode.html
1504                editing/input/password-echo-passnode2.html
1505                editing/input/password-echo-passnode3.html
1506                editing/input/password-echo-textnode.html
1507
1508         * page/Settings.cpp:
1509         (WebCore::Settings::Settings):
1510         * page/Settings.h:
1511         (WebCore::Settings::setPasswordEchoEnabled):
1512         (WebCore::Settings::passwordEchoEnabled):
1513         (WebCore::Settings::setPasswordEchoDurationInSeconds):
1514         (WebCore::Settings::passwordEchoDurationInSeconds):
1515         * testing/Internals.cpp:
1516         (WebCore::Internals::Internals):
1517         (WebCore::Internals::setPasswordEchoEnabled):
1518         (WebCore::Internals::setPasswordEchoDurationInSeconds):
1519         (WebCore::Internals::reset):
1520         * testing/Internals.h:
1521         * testing/Internals.idl:
1522
1523 2011-08-18  Wyatt Carss  <wcarss@chromium.org>
1524
1525         Selecting all and inserting text into a page with a frameset leads to a NULL ptr
1526         https://bugs.webkit.org/show_bug.cgi?id=66288
1527
1528         Reviewed by Tony Chang.
1529
1530         VisibleSelection returns a NoSelection to InsertTextCommand::doApply as
1531         a new endingSelection, which isn't a sane state to be in. The code
1532         tries to get a position on a higher node for a better selection, but
1533         cannot go above the frameset (which exists in place of the body tag),
1534         which lacks a renderer, and therefore cannot have a non-NoSelection
1535         VisibleSelection.
1536
1537         Because this is a rare corner case, it seemed more reasonable to bail
1538         out in this circumstance than to change the way VisibleSelection
1539         canonicalization works. The new behavior is to delete the content, but
1540         insert nothing. I investigated the possibility of trying to move above
1541         or below the frameset in this particular case, but there still isn't a
1542         renderer, so it didn't prevent the crash.
1543
1544         Test: editing/inserting/insert-text-into-empty-frameset-crash.html
1545
1546         * editing/InsertTextCommand.cpp:
1547         (WebCore::InsertTextCommand::doApply):
1548
1549 2011-08-18  Takashi Toyoshima  <toyoshim@chromium.org>
1550
1551         Remove arguments from CloseEvent::create().
1552         https://bugs.webkit.org/show_bug.cgi?id=66294
1553
1554         Reviewed by Kent Tamura.
1555
1556         CloseEvent objects are initialized by initCloseEvent() in all cases.
1557         Initialization in create() is redundant.
1558
1559         No new tests for no functional difference.
1560
1561         * websockets/CloseEvent.h:
1562         (WebCore::CloseEvent::create):
1563         (WebCore::CloseEvent::CloseEvent):
1564         * websockets/WebSocket.cpp:
1565         (WebCore::WebSocket::didClose):
1566
1567 2011-08-18  Fady Samuel  <fsamuel@chromium.org>
1568
1569         iframe and frameset scaling is broken
1570         https://bugs.webkit.org/show_bug.cgi?id=57785
1571
1572         Reviewed by Simon Fraser.
1573
1574         Fixed two iframe and frameset scaling bugs:
1575           #1 iframes and frameset backgrounds and scroll areas are doubly scaled when they are styled with -webkit-transform.
1576           #2 frameset does not respect -webkit-transform-origin when scaled
1577
1578         Tests: fast/frames/frame-set-scaling-3d.html
1579                fast/frames/frame-set-scaling-centered.html
1580                fast/frames/frame-set-scaling-rotate.html
1581                fast/frames/frame-set-scaling-skew.html
1582                fast/frames/frame-set-scaling.html
1583                fast/frames/iframe-scaling-with-scroll.html
1584
1585         * rendering/RenderFrameSet.cpp:
1586         (WebCore::RenderFrameSet::layout):
1587         Update the FrameSet's layer transform after we've computed size to correctly account for the transform origin.
1588         * rendering/RenderLayer.cpp:
1589         (WebCore::RenderLayer::childrenClipRect):
1590         The dirty rect should be the document's unscaled size.
1591         * rendering/RenderWidget.cpp:
1592         (WebCore::RenderWidget::setWidget):
1593         (WebCore::RenderWidget::updateWidgetPosition):
1594         Don't scale the FrameView rect here. Scaling is done within the FrameView.
1595
1596 2011-08-18  Csaba Osztrogon√°c  <ossy@webkit.org>
1597
1598         Unreviewed buildfix after r93268.
1599
1600         * dom/Document.cpp:
1601         (WebCore::disableRangeMutation):
1602
1603 2011-08-17  Emil A Eklund  <eae@chromium.org>
1604
1605         Switch RenderBox to to new layout types
1606         https://bugs.webkit.org/show_bug.cgi?id=66156
1607
1608         Reviewed by Eric Seidel.
1609
1610         Convert RenderBox to new layout abstraction as a part of the ongoing
1611         conversion work.
1612
1613         No new tests as no new functionality.
1614
1615         * rendering/RenderBox.cpp:
1616         (WebCore::RenderBox::scrollWidth):
1617         (WebCore::RenderBox::scrollHeight):
1618         (WebCore::RenderBox::scrollLeft):
1619         (WebCore::RenderBox::scrollTop):
1620         (WebCore::RenderBox::setScrollLeft):
1621         (WebCore::RenderBox::setScrollTop):
1622         (WebCore::RenderBox::absoluteRects):
1623         (WebCore::RenderBox::absoluteContentBox):
1624         (WebCore::RenderBox::absoluteContentQuad):
1625         (WebCore::RenderBox::outlineBoundsForRepaint):
1626         (WebCore::RenderBox::reflectionBox):
1627         (WebCore::RenderBox::reflectedRect):
1628         (WebCore::RenderBox::verticalScrollbarWidth):
1629         (WebCore::RenderBox::horizontalScrollbarHeight):
1630         (WebCore::RenderBox::computeContentBoxLogicalWidth):
1631         (WebCore::RenderBox::computeContentBoxLogicalHeight):
1632         (WebCore::RenderBox::maskClipRect):
1633         (WebCore::RenderBox::repaintLayerRectsForImage):
1634         (WebCore::RenderBox::pushContentsClip):
1635         (WebCore::RenderBox::overflowClipRect):
1636         (WebCore::RenderBox::clipRect):
1637         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
1638         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1639         (WebCore::RenderBox::positionLineBox):
1640         (WebCore::RenderBox::clippedOverflowRectForRepaint):
1641         (WebCore::RenderBox::computeRectForRepaint):
1642         (WebCore::RenderBox::computeLogicalWidth):
1643         (WebCore::RenderBox::computeInlineDirectionMargins):
1644         (WebCore::RenderBox::computeLogicalHeight):
1645         (WebCore::RenderBox::computeLogicalHeightUsing):
1646         (WebCore::RenderBox::computePercentageLogicalHeight):
1647         (WebCore::RenderBox::computeBlockDirectionMargins):
1648         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
1649         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
1650         (WebCore::computeInlineStaticDistance):
1651         (WebCore::RenderBox::computePositionedLogicalWidth):
1652         (WebCore::computeLogicalLeftPositionedOffset):
1653         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1654         (WebCore::computeBlockStaticDistance):
1655         (WebCore::RenderBox::computePositionedLogicalHeight):
1656         (WebCore::computeLogicalTopPositionedOffset):
1657         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1658         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1659         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1660         (WebCore::RenderBox::localCaretRect):
1661         (WebCore::RenderBox::lineHeight):
1662         (WebCore::RenderBox::baselinePosition):
1663         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
1664         (WebCore::RenderBox::visualOverflowRectForPropagation):
1665         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
1666         (WebCore::RenderBox::layoutOverflowRectForPropagation):
1667         (WebCore::RenderBox::locationOffsetIncludingFlipping):
1668         * rendering/RenderBox.h:
1669         (WebCore::RenderBox::borderFitAdjust):
1670         (WebCore::RenderBox::intrinsicSize):
1671         (WebCore::RenderBox::intrinsicLogicalWidth):
1672         (WebCore::RenderBox::intrinsicLogicalHeight):
1673         (WebCore::RenderBox::scrollbarLogicalHeight):
1674         (WebCore::RenderBox::controlClipRect):
1675         (WebCore::RenderBox::firstLineBoxBaseline):
1676         (WebCore::RenderBox::lastLineBoxBaseline):
1677
1678 2011-08-17  Annie Sullivan  <sullivan@chromium.org>
1679
1680         Reduce usages of String::createUninitialized
1681         https://bugs.webkit.org/show_bug.cgi?id=66399
1682
1683         Constructs Strings with StringBuilder instead of calling createUninitialized.
1684
1685         Reviewed by Adam Barth.
1686
1687         No new tests; no functional change.
1688
1689         * dom/StyleElement.cpp:
1690         (WebCore::StyleElement::process):
1691         * dom/Text.cpp:
1692         (WebCore::Text::wholeText):
1693         * html/parser/HTMLSourceTracker.cpp:
1694         (WebCore::HTMLSourceTracker::sourceForToken):
1695         * platform/graphics/Font.cpp:
1696         (WebCore::Font::normalizeSpaces):
1697         * platform/text/TextCodecUserDefined.cpp:
1698         (WebCore::TextCodecUserDefined::decode):
1699
1700 2011-08-17  Emil A Eklund  <eae@chromium.org>
1701
1702         Switch FrameView to to new layout types
1703         https://bugs.webkit.org/show_bug.cgi?id=66147
1704
1705         Reviewed by Eric Seidel.
1706
1707         Convert Frame & FrameView to new layout abstraction as a part of the
1708         ongoing conversion work.
1709
1710         No new tests, no new functionality.
1711
1712         * page/Frame.cpp:
1713         (WebCore::Frame::visiblePositionForPoint):
1714         (WebCore::Frame::documentAtPoint):
1715         (WebCore::Frame::rangeForPoint):
1716         (WebCore::Frame::setPageAndTextZoomFactors):
1717         (WebCore::Frame::scalePage):
1718         * page/Frame.h:
1719         * page/FrameView.cpp:
1720         (WebCore::FrameView::create):
1721         (WebCore::FrameView::reset):
1722         (WebCore::FrameView::init):
1723         (WebCore::FrameView::invalidateRect):
1724         (WebCore::FrameView::setFrameRect):
1725         (WebCore::FrameView::setMarginWidth):
1726         (WebCore::FrameView::setMarginHeight):
1727         (WebCore::FrameView::setContentsSize):
1728         (WebCore::FrameView::adjustViewSize):
1729         (WebCore::FrameView::scrollXForFixedPosition):
1730         (WebCore::FrameView::scrollYForFixedPosition):
1731         (WebCore::FrameView::scrollOffsetForFixedPosition):
1732         (WebCore::FrameView::currentMousePosition):
1733         (WebCore::FrameView::scrollContentsFastPath):
1734         (WebCore::FrameView::scrollContentsSlowPath):
1735         (WebCore::FrameView::setScrollPosition):
1736         (WebCore::FrameView::repaintContentRectangle):
1737         (WebCore::FrameView::scrollToAnchor):
1738         (WebCore::FrameView::performPostLayoutTasks):
1739         (WebCore::FrameView::windowClipRect):
1740         (WebCore::FrameView::windowClipRectForLayer):
1741         (WebCore::FrameView::scrollTo):
1742         (WebCore::FrameView::invalidateScrollbarRect):
1743         (WebCore::FrameView::getTickmarks):
1744         (WebCore::FrameView::windowResizerRect):
1745         (WebCore::FrameView::setVisibleScrollerThumbRect):
1746         (WebCore::FrameView::paintScrollCorner):
1747         (WebCore::FrameView::paintContents):
1748         (WebCore::FrameView::paintOverhangAreas):
1749         (WebCore::FrameView::forceLayoutForPagination):
1750         (WebCore::FrameView::convertFromRenderer):
1751         (WebCore::FrameView::convertToRenderer):
1752         (WebCore::FrameView::convertToContainingView):
1753         (WebCore::FrameView::convertFromContainingView):
1754         * page/FrameView.h:
1755         (WebCore::FrameView::marginWidth):
1756         (WebCore::FrameView::marginHeight):
1757         * page/mac/FrameMac.mm:
1758         (WebCore::Frame::snapshotDragImage):
1759         (WebCore::Frame::nodeImage):
1760
1761 2011-08-17  Emil A Eklund  <eae@chromium.org>
1762
1763         Switch html/* to to new layout types
1764         https://bugs.webkit.org/show_bug.cgi?id=66347
1765
1766         Reviewed by Eric Seidel.
1767
1768         Convert HTML* and shadow element to new layout abstraction as a part of
1769         the ongoing conversion work.
1770
1771         No new tests, no new functionality.
1772
1773         * html/HTMLAreaElement.cpp:
1774         (WebCore::HTMLAreaElement::invalidateCachedRegion):
1775         (WebCore::HTMLAreaElement::mapMouseEvent):
1776         (WebCore::HTMLAreaElement::computePath):
1777         (WebCore::HTMLAreaElement::computeRect):
1778         (WebCore::HTMLAreaElement::getRegion):
1779         * html/HTMLAreaElement.h:
1780         * html/HTMLCanvasElement.cpp:
1781         (WebCore::HTMLCanvasElement::paint):
1782         * html/HTMLCanvasElement.h:
1783         * html/HTMLMapElement.cpp:
1784         (WebCore::HTMLMapElement::mapMouseEvent):
1785         * html/HTMLMapElement.h:
1786         * html/ImageDocument.cpp:
1787         (WebCore::ImageDocumentParser::finish):
1788         (WebCore::ImageDocument::scale):
1789         (WebCore::ImageDocument::resizeImageToFit):
1790         (WebCore::ImageDocument::imageFitsInWindow):
1791         * html/ValidationMessage.cpp:
1792         (WebCore::adjustBubblePosition):
1793         * html/canvas/CanvasRenderingContext2D.cpp:
1794         (WebCore::size):
1795         (WebCore::CanvasRenderingContext2D::drawImage):
1796         * html/shadow/MediaControlElements.cpp:
1797         (WebCore::MediaControlPanelElement::startDrag):
1798         (WebCore::MediaControlPanelElement::continueDrag):
1799         (WebCore::MediaControlPanelElement::setPosition):
1800         (WebCore::MediaControlPanelElement::defaultEventHandler):
1801         * html/shadow/MediaControlElements.h:
1802         * html/shadow/SliderThumbElement.cpp:
1803         (WebCore::SliderThumbElement::dragFrom):
1804         (WebCore::SliderThumbElement::setPositionFromPoint):
1805         * html/shadow/SliderThumbElement.h:
1806         * rendering/RenderImage.cpp:
1807         (WebCore::RenderImage::nodeAtPoint):
1808
1809 2011-08-17  David Grogan  <dgrogan@chromium.org>
1810
1811         Change references to leveldb.gyp to leveldatabase.gyp as part of the
1812         leveldb refactoring going on in chromium: crbug.com/89378
1813         https://bugs.webkit.org/show_bug.cgi?id=66332
1814
1815         Reviewed by Tony Gentilcore.
1816
1817         Tests: new-run-webkit-tests --debug --chromium --no-retry-failures --build-directory=llvm storage/indexeddb
1818
1819         * WebCore.gyp/WebCore.gyp:
1820
1821 2011-08-17  Hayato Ito  <hayato@chromium.org>
1822
1823         Implement proper handling of focus/blur events in regard to shadow DOM boundaries.
1824         https://bugs.webkit.org/show_bug.cgi?id=61421
1825
1826         Reviewed by Dimitri Glazkov.
1827
1828         Introduces FocusEventDispatchMediator/BlurEventDispatchMediator so
1829         that focus/blue events are stopped at the lowest common shadow boundary.
1830
1831         * dom/Document.cpp:
1832         (WebCore::Document::setFocusedNode):
1833         * dom/Event.cpp:
1834         (WebCore::FocusEventDispatchMediator::create):
1835         (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
1836         (WebCore::FocusEventDispatchMediator::dispatchEvent):
1837         (WebCore::BlurEventDispatchMediator::create):
1838         (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
1839         (WebCore::BlurEventDispatchMediator::dispatchEvent):
1840         * dom/Event.h:
1841         * dom/Node.cpp:
1842         (WebCore::Node::dispatchFocusEvent):
1843         (WebCore::Node::dispatchBlurEvent):
1844         * dom/Node.h:
1845         * html/HTMLFormControlElement.cpp:
1846         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
1847         * html/HTMLFormControlElement.h:
1848         * html/HTMLSelectElement.cpp:
1849         (WebCore::HTMLSelectElement::dispatchFocusEvent):
1850         (WebCore::HTMLSelectElement::dispatchBlurEvent):
1851         * html/HTMLSelectElement.h:
1852         * html/HTMLTextFormControlElement.cpp:
1853         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
1854         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
1855         * html/HTMLTextFormControlElement.h:
1856         * page/FocusController.cpp:
1857         (WebCore::dispatchEventsOnWindowAndFocusedNode):
1858
1859 2011-08-17  Ben Wells  <benwells@chromium.org>
1860
1861         Canvas fill and fillRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
1862         https://bugs.webkit.org/show_bug.cgi?id=66036
1863
1864         These modes cannot be passed straight through to the underlying graphics context as the graphics context
1865         and the HTML5 canvas spec have different interpretations to them. In the graphics context, the compositing
1866         modes are applied just over the area being filled. In the HTML5 spec, the compositing modes are applied over
1867         the entire canvas.
1868
1869         The SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy modes all need some kind of extra action
1870         to just performing the composited fill on the canvas, as they need t he canvas to be cleared outside of the 
1871         area being filled.
1872
1873         Previous to this change the Copy mode did not do this clearing at all. The other modes did but if the
1874         transformed path being filled contained anti-aliasing at its edges artifacts were introduced.
1875
1876         With this change, Copy now does a complete erase of the canvas before performing a fill as per normal.
1877         The other modes use a temporary buffer just big enough for the transformed path (in device coordinates).
1878         The fill is first done there in SourceOver mode. Then this is drawn into the canvas context using the
1879         appropriate mode, with any areas outside the draw area being cleared.
1880
1881         Reviewed by James Robinson.
1882
1883         Test: fast/canvas/canvas-composite-transformclip.html
1884
1885         * html/HTMLCanvasElement.h:
1886         * html/canvas/CanvasRenderingContext2D.cpp:
1887         (WebCore::CanvasRenderingContext2D::fill):
1888         (WebCore::CanvasRenderingContext2D::fillRect):
1889         (WebCore::CanvasRenderingContext2D::clearCanvas):
1890         (WebCore::CanvasRenderingContext2D::transformAreaToDevice):
1891         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
1892         * html/canvas/CanvasRenderingContext2D.h:
1893         * platform/graphics/skia/ImageBufferSkia.cpp:
1894         (WebCore::ImageBuffer::ImageBuffer):
1895
1896 2011-08-17  Emil A Eklund  <eae@chromium.org>
1897
1898         Switch inspector to to new layout types
1899         https://bugs.webkit.org/show_bug.cgi?id=66358
1900
1901         Reviewed by Eric Seidel.
1902
1903         Convert inspector code to new layout abstraction as a part of the ongoing
1904         conversion work.
1905
1906         No new tests, no new functionality.
1907
1908         * inspector/DOMNodeHighlighter.cpp:
1909         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
1910         * inspector/InspectorInstrumentation.cpp:
1911         (WebCore::InspectorInstrumentation::willPaintImpl):
1912         * inspector/InspectorInstrumentation.h:
1913         (WebCore::InspectorInstrumentation::willPaint):
1914         * inspector/InspectorTimelineAgent.cpp:
1915         (WebCore::InspectorTimelineAgent::willPaint):
1916         * inspector/InspectorTimelineAgent.h:
1917         * inspector/TimelineRecordFactory.cpp:
1918         (WebCore::TimelineRecordFactory::createPaintData):
1919         * inspector/TimelineRecordFactory.h:
1920
1921 2011-08-17  Levi Weintraub  <leviw@chromium.org>
1922
1923         Switch Editing code to new layout types
1924         https://bugs.webkit.org/show_bug.cgi?id=66355
1925
1926         Reviewed by Eric Seidel.
1927
1928         Converting remaining editing code to the LayoutUnit abstraction.
1929
1930         No new tests, no change in functionality.
1931
1932         * editing/Editor.cpp:
1933         (WebCore::Editor::rangeForPoint):
1934         (WebCore::Editor::insideVisibleArea):
1935         (WebCore::Editor::countMatchesForText):
1936         * editing/Editor.h:
1937         * editing/mac/FrameSelectionMac.mm:
1938         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
1939
1940 2011-08-17  Levi Weintraub  <leviw@chromium.org>
1941
1942         Switch Accessibility code to new layout types
1943         https://bugs.webkit.org/show_bug.cgi?id=66348
1944
1945         Reviewed by Eric Seidel.
1946
1947         Converting remaining Accessibility code to the LayoutUnit abstraction.
1948
1949         No new tests, no change in functionality
1950
1951         * accessibility/AccessibilityImageMapLink.cpp:
1952         (WebCore::AccessibilityImageMapLink::elementRect):
1953         * accessibility/AccessibilityImageMapLink.h:
1954         * accessibility/AccessibilityListBox.cpp:
1955         (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
1956         * accessibility/AccessibilityListBox.h:
1957         * accessibility/AccessibilityListBoxOption.cpp:
1958         (WebCore::AccessibilityListBoxOption::elementRect):
1959         * accessibility/AccessibilityListBoxOption.h:
1960         * accessibility/AccessibilityMenuListOption.cpp:
1961         (WebCore::AccessibilityMenuListOption::elementRect):
1962         * accessibility/AccessibilityMenuListOption.h:
1963         (WebCore::AccessibilityMenuListOption::size):
1964         * accessibility/AccessibilityMenuListPopup.h:
1965         (WebCore::AccessibilityMenuListPopup::elementRect):
1966         (WebCore::AccessibilityMenuListPopup::size):
1967         * accessibility/AccessibilityObject.cpp:
1968         (WebCore::AccessibilityObject::clickPoint):
1969         (WebCore::AccessibilityObject::orientation):
1970         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
1971         * accessibility/AccessibilityObject.h:
1972         (WebCore::AccessibilityObject::accessibilityHitTest):
1973         (WebCore::AccessibilityObject::boundingBoxRect):
1974         (WebCore::AccessibilityObject::size):
1975         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
1976         (WebCore::AccessibilityObject::doAXBoundsForRange):
1977         * accessibility/AccessibilityRenderObject.cpp:
1978         (WebCore::AccessibilityRenderObject::isOffScreen):
1979         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1980         (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
1981         (WebCore::AccessibilityRenderObject::elementRect):
1982         (WebCore::AccessibilityRenderObject::size):
1983         (WebCore::AccessibilityRenderObject::clickPoint):
1984         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1985         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1986         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1987         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
1988         * accessibility/AccessibilityRenderObject.h:
1989         * accessibility/AccessibilityScrollView.cpp:
1990         (WebCore::AccessibilityScrollView::accessibilityHitTest):
1991         (WebCore::AccessibilityScrollView::elementRect):
1992         * accessibility/AccessibilityScrollView.h:
1993         * accessibility/AccessibilityScrollbar.cpp:
1994         (WebCore::AccessibilityScrollbar::elementRect):
1995         * accessibility/AccessibilityScrollbar.h:
1996         * accessibility/AccessibilitySlider.cpp:
1997         (WebCore::AccessibilitySliderThumb::elementRect):
1998         (WebCore::AccessibilitySliderThumb::size):
1999         * accessibility/AccessibilitySlider.h:
2000         * accessibility/AccessibilityTableColumn.cpp:
2001         (WebCore::AccessibilityTableColumn::elementRect):
2002         (WebCore::AccessibilityTableColumn::size):
2003         * accessibility/AccessibilityTableColumn.h:
2004         * accessibility/AccessibilityTableHeaderContainer.cpp:
2005         (WebCore::AccessibilityTableHeaderContainer::elementRect):
2006         (WebCore::AccessibilityTableHeaderContainer::size):
2007         * accessibility/AccessibilityTableHeaderContainer.h:
2008         * accessibility/mac/AccessibilityObjectWrapper.mm:
2009         (-[AccessibilityObjectWrapper position]):
2010         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2011         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
2012
2013 2011-08-17  Emil A Eklund  <eae@chromium.org>
2014
2015         Switch focus handling to to new layout types
2016         https://bugs.webkit.org/show_bug.cgi?id=66331
2017
2018         Reviewed by Eric Seidel.
2019
2020         Convert FocusController and SpatialNavigation to new layout abstraction
2021         as a part of the ongoing conversion work.
2022
2023         No new tests, no new functionality.
2024
2025         * page/FocusController.cpp:
2026         (WebCore::updateFocusCandidateIfNeeded):
2027         (WebCore::FocusController::findFocusCandidateInContainer):
2028         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
2029         (WebCore::FocusController::advanceFocusDirectionally):
2030         * page/FocusController.h:
2031         * page/SpatialNavigation.cpp:
2032         (WebCore::alignmentForRects):
2033         (WebCore::start):
2034         (WebCore::middle):
2035         (WebCore::end):
2036         (WebCore::areRectsFullyAligned):
2037         (WebCore::areRectsPartiallyAligned):
2038         (WebCore::areRectsMoreThanFullScreenApart):
2039         (WebCore::below):
2040         (WebCore::rightOf):
2041         (WebCore::isRectInDirection):
2042         (WebCore::hasOffscreenRect):
2043         (WebCore::scrollInDirection):
2044         (WebCore::deflateIfOverlapped):
2045         (WebCore::canScrollInDirection):
2046         (WebCore::rectToAbsoluteCoordinates):
2047         (WebCore::nodeRectInAbsoluteCoordinates):
2048         (WebCore::frameRectInAbsoluteCoordinates):
2049         (WebCore::entryAndExitPointsForDirection):
2050         (WebCore::distanceDataForNode):
2051         (WebCore::canBeScrolledIntoView):
2052         (WebCore::virtualRectForDirection):
2053         (WebCore::virtualRectForAreaElementAndDirection):
2054         * page/SpatialNavigation.h:
2055
2056 2011-08-17  Levi Weintraub  <leviw@chromium.org>
2057
2058         Switch Document, DocumentMarker, Clipboard, and Range to new layout types
2059         https://bugs.webkit.org/show_bug.cgi?id=66330
2060
2061         Reviewed by Eric Seidel.
2062
2063         Converting the remaining DOM classes to use the LayoutUnit abstraction.
2064
2065         No new tests, no new behavior.
2066
2067         * dom/Clipboard.h:
2068         (WebCore::Clipboard::dragLocation):
2069         * dom/Document.cpp:
2070         (WebCore::Document::nodesFromRect):
2071         (WebCore::nodeFromPoint):
2072         (WebCore::Document::caretRangeFromPoint):
2073         (WebCore::Document::prepareMouseEvent):
2074         * dom/Document.h:
2075         * dom/DocumentMarkerController.cpp:
2076         (WebCore::DocumentMarkerController::markerContainingPoint):
2077         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
2078         (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
2079         * dom/DocumentMarkerController.h:
2080         * dom/Range.cpp:
2081         (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
2082         * dom/RenderedDocumentMarker.h:
2083         (WebCore::RenderedDocumentMarker::contains):
2084         (WebCore::RenderedDocumentMarker::setRenderedRect):
2085         (WebCore::RenderedDocumentMarker::renderedRect):
2086         (WebCore::RenderedDocumentMarker::invalidMarkerRect):
2087         (WebCore::RenderedDocumentMarker::invalidate):
2088
2089 2011-08-17  Dan Bernstein  <mitz@apple.com>
2090
2091         Removed an unused setting.
2092
2093         Reviewed by Anders Carlsson.
2094
2095         * WebCore.exp.in:
2096         * page/Settings.cpp:
2097         (WebCore::Settings::Settings): Removed initializer for m_needsTigerMailQuirks.
2098         * page/Settings.h: Removed accessors.
2099
2100 2011-08-17  Oliver Hunt  <oliver@apple.com>
2101
2102         Move towards supporting user controlled prototypes on CanvasPixelArray
2103         https://bugs.webkit.org/show_bug.cgi?id=66429
2104
2105         Reviewed by Gavin Barraclough.
2106
2107         Start using a per-global object structure for canvas pixel array.
2108
2109         * bindings/js/JSImageDataCustom.cpp:
2110         (WebCore::toJS):
2111
2112 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
2113
2114         Support cast from CSSPrimitiveValue to unsigned, and use in appropriate places in CSSStyleSelector::applyProperty
2115         https://bugs.webkit.org/show_bug.cgi?id=66281
2116
2117         Reviewed by Eric Seidel.
2118
2119         No new tests - refactoring only.
2120
2121         The return if type!=CSS_NUMBER case becomes an ASSERT because it is unreachable unless there is an error in the parser.
2122
2123         * css/CSSPrimitiveValueMappings.h:
2124         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2125         Support cast from unsigned to CSSPrimitiveValue
2126         (WebCore::CSSPrimitiveValue::operator unsigned):
2127         Support cast from CSSPrimitiveValue to unsigned
2128         * css/CSSStyleSelector.cpp:
2129         (WebCore::CSSStyleSelector::applyProperty):
2130         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for CSSPropertyWebkitBoxFlex,
2131         CSSPropertyWebkitBoxFlexGroup and CSSPropertyWebkitBoxOrdinalGroup properties.
2132
2133 2011-08-17  Scott Byer  <scottbyer@chromium.org>
2134
2135         ScrollAnimatorNone: Remove unused field
2136         https://bugs.webkit.org/show_bug.cgi?id=66312
2137
2138         Reviewed by Adam Barth.
2139
2140         No functional change; no test needed.
2141
2142         * platform/ScrollAnimatorNone.cpp:
2143         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
2144         (WebCore::ScrollAnimatorNone::scroll):
2145         * platform/ScrollAnimatorNone.h:
2146
2147 2011-08-17  Jeff Miller  <jeffm@apple.com>
2148
2149         Work-in-progress on Soft link against AVFoundationCF and CoreMedia
2150         https://bugs.webkit.org/show_bug.cgi?id=65725
2151         
2152         Don't bother with SOFT_LINK_LIBRARY(libdispatch), we're going to continue to statically link to it since
2153         the DLL will have already been loaded by other parts of AAS and is guaranteed to be available if AVFoundation
2154         is enabled.
2155
2156         Reviewed by Anders Carlsson.
2157
2158         No new tests; no functional change.
2159
2160         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Removed SOFT_LINK_DEBUG_LIBRARY(libdispatch) and SOFT_LINK_LIBRARY(libdispatch).
2161         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable): Don't check for libdispatch.
2162
2163 2011-08-17  Brady Eidson  <beidson@apple.com>
2164
2165         https://bugs.webkit.org/show_bug.cgi?id=66354 and <rdar://problem/9965209>
2166         Regression:  On Lion, redirects lose HTTP authentication headers
2167
2168         Reviewed by Alexey Proskuryakov and Darin Adler.
2169
2170         This changes makes WebCore try to apply basic credentials after a redirect if the redirect is to the same origin,
2171         assuming the redirected URL did not contain credentials directly.
2172
2173         Tests: http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin.html
2174                http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin.html
2175                http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials.html
2176
2177         * platform/network/cf/ResourceHandleCFNet.cpp:
2178         (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
2179         (WebCore::ResourceHandle::createCFURLConnection): Use the applyBasicAuthorizationHeader helper.
2180         (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
2181
2182         * platform/network/mac/ResourceHandleMac.mm:
2183         (WebCore::applyBasicAuthorizationHeader): Apply the user/password from a credential to the HTTP headers for a request.
2184         (WebCore::ResourceHandle::createNSURLConnection): Use the applyBasicAuthorizationHeader helper.
2185         (WebCore::ResourceHandle::willSendRequest): If this is a redirect within the same origin, apply any stored target credentials to the new request.
2186
2187 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
2188
2189         Accessibility stack exhaustion using role attribute
2190         https://bugs.webkit.org/show_bug.cgi?id=65174
2191
2192         Reviewed by Darin Adler.
2193
2194         Forgot to commit review comments.
2195
2196         * accessibility/AccessibilityRenderObject.cpp:
2197         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
2198
2199 2011-08-17  Chris Fleizach  <cfleizach@apple.com>
2200
2201         Accessibility stack exhaustion using role attribute
2202         https://bugs.webkit.org/show_bug.cgi?id=65174
2203
2204         Make sure we do not call accessibilityIsIgnored() during the AccessibilityObject
2205         creation flow. That can lead to loops.
2206    
2207         Reviewed by Darin Adler.
2208
2209         Tests: accessibility/crash-determining-aria-role-when-label-present.html
2210
2211         * accessibility/AccessibilityObject.cpp:
2212         (WebCore::createARIARoleMap):
2213         * accessibility/AccessibilityRenderObject.cpp:
2214         (WebCore::AccessibilityRenderObject::remapAriaRoleDueToParent):
2215         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
2216         * accessibility/AccessibilityRenderObject.h:
2217
2218 2011-08-17  James Robinson  <jamesr@chromium.org>
2219
2220         [chromium] Crash if compositing is disabled during updateLayers()
2221         https://bugs.webkit.org/show_bug.cgi?id=66353
2222
2223         Reviewed by Kenneth Russell.
2224
2225         If compositing is turned off during LayerRendererChromium::updateLayers(), the rootLayer() will become null.
2226         Sicne CCLayerTreeHost::doComposite() calls updateLayers() and then drawLayers() without checking for this case,
2227         drawLayers() has to return without doing anything if the root layer is null.
2228
2229         Crash fixed based on crash reports.  No known reliably repro case, unfortunately.
2230
2231         * platform/graphics/chromium/LayerRendererChromium.cpp:
2232         (WebCore::LayerRendererChromium::drawLayers):
2233
2234 2011-08-17  Dan Bernstein  <mitz@apple.com>
2235
2236         <rdar://problem/9971293> Mid-word breaks can occur in the middle of a surrogate pair
2237         https://bugs.webkit.org/show_bug.cgi?id=66402
2238
2239         Reviewed by Dave Hyatt.
2240
2241         Test: fast/text/midword-break-before-surrogate-pair-2.html
2242
2243         * rendering/RenderBlockLineLayout.cpp:
2244         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Just never allow a mid-word
2245         break before a trailing surrogate.
2246
2247 2011-08-16  Chang Shu  <cshu@webkit.org>
2248
2249         Support reset in WebCore::Internals
2250         https://bugs.webkit.org/show_bug.cgi?id=66307
2251
2252         Reviewed by Dimitri Glazkov.
2253
2254         New tests will be added when function reset is implemented.
2255
2256         Added framework code in WebCoreTestSupport. The real implementation of
2257         Internals::reset() depends on the need from the settings that require a reset.
2258
2259         * testing/Internals.cpp:
2260         (WebCore::Internals::reset):
2261         * testing/Internals.h:
2262         * testing/js/WebCoreTestSupport.cpp:
2263         (WebCoreTestSupport::resetInternalsObject):
2264         * testing/js/WebCoreTestSupport.h:
2265         * testing/v8/WebCoreTestSupport.cpp:
2266         (WebCoreTestSupport::resetInternalsObject):
2267         * testing/v8/WebCoreTestSupport.h:
2268
2269 2011-08-17  Tony Chang  <tony@chromium.org>
2270
2271         Fix chromium mac compile.  MediaPlayerPrivateAVFoundationObjC.* moved
2272         and the WebCore.gypi file wasn't updated.
2273
2274         * WebCore.gypi:
2275
2276 2011-08-17  Abhishek Arya  <inferno@chromium.org>
2277
2278         Crash in Document::recalcStyleSelector
2279         https://bugs.webkit.org/show_bug.cgi?id=66335
2280
2281         Reviewed by Simon Fraser.
2282
2283         When node is getting destroyed and its removedFromDocument
2284         is not called due to entire document structure torn down(using
2285         removeAllChildren), make sure to clear out the stylesheet
2286         candidate node from document's structures in its destructor.
2287
2288         Test: svg/dom/stylesheet-candidate-node-crash-main.html
2289
2290         * dom/ProcessingInstruction.cpp:
2291         (WebCore::ProcessingInstruction::~ProcessingInstruction):
2292         * html/HTMLLinkElement.cpp:
2293         (WebCore::HTMLLinkElement::~HTMLLinkElement):
2294         * html/HTMLStyleElement.cpp:
2295         (WebCore::HTMLStyleElement::~HTMLStyleElement):
2296         * svg/SVGStyleElement.cpp:
2297         (WebCore::SVGStyleElement::~SVGStyleElement):
2298
2299 2011-08-17  Sam White  <samuel.white@rochester.edu>
2300
2301         AccessibilityObject levels are inconsistent
2302         https://bugs.webkit.org/show_bug.cgi?id=66180
2303         
2304         Updated accessibilityTable to return level values consistent with other accessibilityObjects that
2305         return level values. This means a value of 0 is now only returned when tableLevel() is called on a
2306         non-table element.
2307
2308         Reviewed by Chris Fleizach.
2309
2310         Test: platform/mac/accessibility/element-level.html
2311
2312         * accessibility/AccessibilityTable.cpp:
2313         (WebCore::AccessibilityTable::tableLevel):
2314         * accessibility/mac/AccessibilityObjectWrapper.mm:
2315         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2316
2317 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
2318
2319         An arrow key collapses directionless selection range in the wrong direction in BiDi
2320         https://bugs.webkit.org/show_bug.cgi?id=64626
2321
2322         Reviewed by Darin Adler.
2323
2324         The bug was caused by willBeModified's always using block direction to determine
2325         the direction to which the selection is collapsed. Fixed the bug by calling directionOfSelection
2326         in willBeModified, which will return the text direction of the surrounding context when
2327         the start and the end have the same direction. When the text directions at the start and at the end
2328         of selection do not match, it uses the block's text direction.
2329
2330         Test: editing/selection/collapse-selection-in-bidi.html
2331
2332         * editing/FrameSelection.cpp:
2333         (WebCore::FrameSelection::directionOfSelection): Added.
2334         (WebCore::FrameSelection::willBeModified): Calls directionOfSelection.
2335         (WebCore::FrameSelection::modifyMovingRight): Ditto.
2336         (WebCore::FrameSelection::modifyMovingLeft): Ditto.
2337         * editing/FrameSelection.h:
2338
2339 2011-08-17  Jeff Miller  <jeffm@apple.com>
2340
2341         Some AVFoundation source files should be in platform-specific directories
2342         https://bugs.webkit.org/show_bug.cgi?id=66352
2343         
2344         Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf,
2345         and moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
2346         
2347         While I was at it, added svn:eol-style property to the MediaPlayerPrivateAVFoundationObjC.* files.
2348         
2349         Also, for some reason, Visual Studio decided to re-sort a couple files in \inspector\front-end\ in WebCore.vcproj, even though
2350         I just re-sorted the project in r93215.
2351
2352         Reviewed by Eric Carlson.
2353
2354         No new tests; no functional change.
2355
2356         * WebCore.vcproj/WebCore.vcproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.* files to platform/graphics/avfoundation/cf.
2357
2358         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added $(ProjectDir)..\platform\graphics\avfoundation\cf to include paths.
2359
2360         * WebCore.xcodeproj/project.pbxproj: Moved platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.* files to platform/graphics/avfoundation/objc/.
2361
2362         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Removed.
2363         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Removed.
2364         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Removed.
2365         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Removed.
2366
2367         * platform/graphics/avfoundation/cf: Added.
2368         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp.
2369         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h.
2370
2371         * platform/graphics/avfoundation/objc: Added.
2372         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h.
2373         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Copied from Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm.
2374
2375 2011-08-17  Luke Macpherson   <macpherson@chromium.org>
2376
2377         Only set m_fontDirty if TextSizeAdjust is actually changed.
2378         https://bugs.webkit.org/show_bug.cgi?id=66022
2379
2380         Reviewed by Darin Adler.
2381
2382         No new tests. Refactoring only.
2383
2384         Reduces instances where the font information is dirtied to save recalculation where it is not necessary.
2385
2386         * css/CSSStyleSelector.cpp:
2387         (WebCore::CSSStyleSelector::applyProperty):
2388         Call new setTextSizeAdjust function.
2389         * css/CSSStyleSelector.h:
2390         (WebCore::CSSStyleSelector::setTextSizeAdjust):
2391         Add wrapper for RenderStyle::setTextSizeAdjust() that automatically updates m_fontDirty.
2392         * rendering/style/RenderStyle.h:
2393         (WebCore::RenderStyle::setTextSizeAdjust):
2394         Make setTextSizeAdjust return true if the unlderlying value was changed.
2395
2396 2011-08-17  Kenichi Ishibashi  <bashi@chromium.org>
2397
2398         [Chromium] Crash in HarfbuzzFace::~HarfbuzzFace
2399         https://bugs.webkit.org/show_bug.cgi?id=66211
2400
2401         Holds Skia's unique font ID instead of FontPlatformData to avoid accessing freed FontPlatformData.
2402
2403         Reviewed by Tony Chang.
2404
2405         No new tests; no functional change.
2406
2407         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2408         (WebCore::releaseCachedHarfbuzzFace): Changed the argument.
2409         (WebCore::HarfbuzzFace::HarfbuzzFace): Changed to have Skia's font uniqueID instead of FontPlatformData.
2410         (WebCore::HarfbuzzFace::~HarfbuzzFace): Uses m_uniqueID to call releaseCachedHarfbuzzFace.
2411         * platform/graphics/chromium/HarfbuzzSkia.h:
2412
2413 2011-08-17  Jeff Miller  <jeffm@apple.com>
2414
2415         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
2416
2417         * WebCore.vcproj/WebCore.vcproj:
2418
2419 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
2420
2421         Chromium Mac: Fix implementation of wkScrollbarMinimumTotalLengthNeededForThumb to match WebKitSystemInterface
2422         https://bugs.webkit.org/show_bug.cgi?id=66311
2423
2424         Reviewed by Dimitri Glazkov.
2425
2426         Updated wkScrollbarMinimumTotalLengthNeededForThumb() based on the latest disassembly of libWebKitSystemInterfaceLion.a.
2427
2428         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2429         (wkScrollbarMinimumTotalLengthNeededForThumb):
2430
2431 2011-08-17  Steve Block  <steveblock@google.com>
2432
2433         Unreviewed, rolling out r93186.
2434         http://trac.webkit.org/changeset/93186
2435         https://bugs.webkit.org/show_bug.cgi?id=66114
2436
2437         Breaks LayoutTests on Chromium canary bots
2438
2439         * platform/graphics/chromium/LayerChromium.h:
2440         * platform/graphics/chromium/LayerRendererChromium.cpp:
2441         (WebCore::LayerRendererChromium::updateLayers):
2442         (WebCore::LayerRendererChromium::drawLayersInternal):
2443         (WebCore::LayerRendererChromium::drawLayer):
2444         * platform/graphics/chromium/cc/CCLayerImpl.h:
2445
2446 2011-08-17  Ryosuke Niwa  <rniwa@webkit.org>
2447
2448         Get rid of calls to deprecatedNode and deprecatedEditingOffset in
2449         AccessibilityRenderObject.cpp and InsertTextCommand.cpp
2450         https://bugs.webkit.org/show_bug.cgi?id=66014
2451
2452         Reviewed by Hajime Morita.
2453
2454         Removed calls to deprecatedNode and deprecatedEditingOffsets in the following files.
2455
2456         * accessibility/AccessibilityRenderObject.cpp:
2457         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls Position::rootEditableElement
2458         and Range::setEnd(const Position&, ExceptionCode) instead of manually pulling deprecatedNode
2459         and deprecatedEditingOffset.
2460         (WebCore::AccessibilityRenderObject::index): Abstracted the logic to loop through render objects
2461         from deprecatedNodes' renderer to m_renderer as renderObjectContainsPosition.
2462         * dom/Position.h:
2463         (WebCore::Position::rootEditableElement): Added.
2464         * dom/Range.cpp:
2465         (WebCore::Range::setStart): Added.
2466         (WebCore::Range::setEnd): Added.
2467         * dom/Range.h:
2468         * editing/InsertTextCommand.cpp:
2469         (WebCore::InsertTextCommand::insertTab):
2470         * editing/RenderedPosition.cpp:
2471         (WebCore::renderObjectContainsPosition): Extracted from AccessibilityRenderObject::index.
2472         * editing/RenderedPosition.h:
2473
2474 2011-08-17  Sailesh Agrawal  <sail@chromium.org>
2475
2476         Chromium Mac: Fix issue where scrollbar wouldn't be drawn until page finished loading
2477         https://bugs.webkit.org/show_bug.cgi?id=66238
2478
2479         Reviewed by Dimitri Glazkov.
2480
2481         Overlay scrollbars were not visible if the user scrolled a page while the page was loading. The sequence of events necessary to reproduce this bug were:
2482           1. -[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:] is called
2483           2. animation is delayed because shouldSuspendScrollAnimations() is true
2484           3. ScrollAnimatorChromiumMac::scroll() is called before the ScrollAnimatorChromiumMac::m_initialScrollbarPaintTimer is fired.
2485           4. At this point the scrollbar painter assumes the scrollbar is already visible (because of 1.) so the scrollbar's alpha stays at 0. Thus the scrollbar isn't visible until the page finishes loading.
2486         It turns out that the root problem was that when the initialScrollbarPainterTimer fired I wasn't flashing the scrollbar correctly. My implementation of wkScrollbarPainterForceFlashScrollers() just called flashScrollers. The Safari implementation of this function also calls hideOverlayScrollers. Calling hideOverlayScrollers causes the alpha to change to 0 which prevents step 4 from happening.
2487
2488         Also, now that wkScrollbarPainterForceFlashScrollers is working correctly I don't need the extra logic I added to the initialScrollbarPainterTimer handler. That logic restarted the timer if shouldSuspendScrollAnimations() was true. But this isn't necessary since calling wkScrollbarPainterForceFlashScrollers() causes -[ScrollbarPainterDelegate setUpAnimation:...] to be called which does the exact same thing. Removing the extra logic reverts http://trac.webkit.org/changeset/92316.
2489
2490         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2491         (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
2492         * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
2493         (wkScrollbarPainterForceFlashScrollers):
2494
2495 2011-08-16  Andrey Kosyakov  <caseq@chromium.org>
2496
2497         Web Inspector: maintain visible view hierarchy and dispatch common view events automatically
2498         https://bugs.webkit.org/show_bug.cgi?id=66131
2499
2500         Reviewed by Pavel Feldman.
2501
2502         Test: inspector/view-events.html
2503
2504         - added a notion of an optional parent to a View
2505         - maintain a list of View children
2506         - dispatch common view events, such as show/hide/resize automatically through the hierarchy of visible views.
2507         - promoted Panel's logic of (re)storing scroll positions to view
2508         - demoted inheritScrollPositionFromView to a couple of views that need it.
2509
2510         * inspector/front-end/ApplicationCacheItemsView.js:
2511         (WebInspector.ApplicationCacheItemsView.prototype.onResize):
2512         * inspector/front-end/ConsoleView.js:
2513         (WebInspector.ConsoleView.prototype.populateStatusBar):
2514         (WebInspector.ConsoleView.prototype.elementsToRestoreScrollPositionsFor):
2515         * inspector/front-end/CookieItemsView.js:
2516         (WebInspector.CookieItemsView.prototype.onResize):
2517         (WebInspector.SimpleCookiesTable.prototype.onResize):
2518         * inspector/front-end/DOMStorageItemsView.js:
2519         (WebInspector.DOMStorageItemsView.prototype.onResize):
2520         * inspector/front-end/DetailedHeapshotView.js:
2521         (WebInspector.DetailedHeapshotView.prototype.onResize):
2522         * inspector/front-end/Drawer.js:
2523         (WebInspector.Drawer.prototype.set visibleView):
2524         (WebInspector.Drawer.prototype.show):
2525         (WebInspector.Drawer.prototype.hide):
2526         (WebInspector.Drawer.prototype.onResize):
2527         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
2528         (WebInspector.Drawer.prototype._animateDrawerHeight):
2529         (WebInspector.Drawer.prototype._statusBarDragging):
2530         (WebInspector.Drawer.prototype._endStatusBarDragging):
2531         * inspector/front-end/ElementsPanel.js:
2532         (WebInspector.ElementsPanel.prototype.onResize):
2533         * inspector/front-end/ExtensionPanel.js:
2534         * inspector/front-end/FontView.js:
2535         (WebInspector.FontView.prototype.onResize):
2536         * inspector/front-end/IFrameView.js:
2537         (WebInspector.IFrameView):
2538         * inspector/front-end/NetworkItemView.js:
2539         (WebInspector.NetworkItemView.prototype._installHighlightSupport):
2540         * inspector/front-end/NetworkPanel.js:
2541         (WebInspector.NetworkLogView):
2542         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
2543         (WebInspector.NetworkLogView.prototype.onResize):
2544         (WebInspector.NetworkLogView.prototype.wasShown):
2545         (WebInspector.NetworkLogView.prototype.willHide):
2546         (WebInspector.NetworkPanel):
2547         (WebInspector.NetworkPanel.prototype.show):
2548         (WebInspector.NetworkPanel.prototype._showResource):
2549         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
2550         * inspector/front-end/Panel.js:
2551         (WebInspector.Panel.prototype.show):
2552         (WebInspector.Panel.prototype.hide):
2553         (WebInspector.Panel.prototype.performSearch.processChunk):
2554         (WebInspector.Panel.prototype.performSearch):
2555         (WebInspector.Panel.prototype.updateSidebarWidth):
2556         * inspector/front-end/PanelEnablerView.js:
2557         (WebInspector.PanelEnablerView.prototype.show):
2558         (WebInspector.PanelEnablerView.prototype.onResize):
2559         * inspector/front-end/ProfileView.js:
2560         (WebInspector.CPUProfileView.prototype.onResize):
2561         * inspector/front-end/ProfilesPanel.js:
2562         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
2563         * inspector/front-end/ResourceCookiesView.js:
2564         (WebInspector.ResourceCookiesView.prototype.onResize):
2565         * inspector/front-end/ResourcePreviewView.js:
2566         (WebInspector.ResourcePreviewView.prototype.contentLoaded):
2567         * inspector/front-end/ResourceResponseView.js:
2568         (WebInspector.ResourceResponseView.prototype.contentLoaded):
2569         * inspector/front-end/ResourceTimingView.js:
2570         (WebInspector.ResourceTimingView.prototype.show):
2571         * inspector/front-end/ResourcesPanel.js:
2572         (WebInspector.ResourcesPanel.prototype.show):
2573         (WebInspector.ResourcesPanel.prototype._innerShowView):
2574         (WebInspector.ResourcesPanel.prototype.closeVisibleView):
2575         (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
2576         (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
2577         * inspector/front-end/ScriptsPanel.js:
2578         (WebInspector.ScriptsPanel.prototype.show):
2579         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2580         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2581         (WebInspector.ScriptsPanel.prototype.setSidebarWidth):
2582         * inspector/front-end/SourceFrame.js:
2583         (WebInspector.SourceFrame):
2584         (WebInspector.SourceFrame.prototype.show):
2585         (WebInspector.SourceFrame.prototype.willHide):
2586         (WebInspector.SourceFrame.prototype.clearMessages):
2587         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
2588         (WebInspector.SourceFrame.prototype.inheritScrollPositions):
2589         * inspector/front-end/TabbedPane.js:
2590         (WebInspector.TabbedPane.prototype.appendTab):
2591         * inspector/front-end/TextViewer.js:
2592         (WebInspector.TextViewer.prototype.elementsToRestoreScrollPositionsFor):
2593         (WebInspector.TextViewer.prototype.inheritScrollPositions):
2594         (WebInspector.TextViewer.prototype.onResize):
2595         * inspector/front-end/TimelinePanel.js:
2596         (WebInspector.TimelinePanel.prototype.onResize):
2597         (WebInspector.TimelinePanel.prototype.elementsToRestoreScrollPositionsFor):
2598         (WebInspector.TimelinePanel.prototype.show):
2599         * inspector/front-end/View.js:
2600         (WebInspector.View):
2601         (WebInspector.View.prototype.wasShown):
2602         (WebInspector.View.prototype.willHide):
2603         (WebInspector.View.prototype._innerShow):
2604         (WebInspector.View.prototype.show):
2605         (WebInspector.View.prototype._innerHide):
2606         (WebInspector.View.prototype.hide):
2607         (WebInspector.View.prototype._detach):
2608         (WebInspector.View.prototype.elementsToRestoreScrollPositionsFor):
2609         (WebInspector.View.prototype.storeScrollPositions):
2610         (WebInspector.View.prototype.restoreScrollPositions):
2611         (WebInspector.View.prototype.addChildView):
2612         (WebInspector.View.prototype.removeChildView):
2613         (WebInspector.View.prototype.onResize):
2614         (WebInspector.View.prototype.doResize):
2615         (WebInspector.View.prototype.dispatchToSelfAndVisibleChildren):
2616         (WebInspector.View.prototype.dispatchToVisibleChildren):
2617         * inspector/front-end/inspector.js:
2618         (WebInspector.windowResize):
2619
2620 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
2621
2622         Represent RenderStyle::textOverflow property using an enum instead of a bool.
2623         https://bugs.webkit.org/show_bug.cgi?id=66356
2624
2625         Reviewed by Dan Bernstein.
2626
2627         No new tests - no behavioral changes.
2628
2629         * css/CSSPrimitiveValueMappings.h:
2630         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2631         Support cast from TextOverflow to CSSPrimitiveValue.
2632         (WebCore::CSSPrimitiveValue::operator TextOverflow):
2633         Support cast from CSSPrimitiveValue to TextOverflow.
2634         * css/CSSStyleSelector.cpp:
2635         (WebCore::CSSStyleSelector::applyProperty):
2636         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro for text overflow.
2637         * rendering/style/RenderStyle.h:
2638         (WebCore::InheritedFlags::textOverflow):
2639         Return TextOverflow enum.
2640         (WebCore::InheritedFlags::setTextOverflow):
2641         Accept TextOverflow enum parameter.
2642         (WebCore::InheritedFlags::initialTextOverflow):
2643         Return TextOverflowClip.
2644         * rendering/style/RenderStyleConstants.h:
2645         Define TextOverflow enum.
2646         * rendering/style/StyleRareNonInheritedData.h:
2647         Change representation of text overflow from bool to one-bit unsigned.
2648
2649 2011-08-16  Jeff Miller  <jeffm@apple.com>
2650
2651         Apple's Windows production build should fail to compile if AVFoundation is not enabled
2652         https://bugs.webkit.org/show_bug.cgi?id=66339
2653         
2654         Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
2655
2656         Reviewed by Darin Adler.
2657
2658         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Generate a compile-time error for Production builds if !USE(AVFOUNDATION).
2659
2660 2011-08-16  David Levin  <levin@chromium.org>
2661
2662         REGRESSION (r89086): All worker xhr requests trigger preflight requests.
2663         https://bugs.webkit.org/show_bug.cgi?id=66340
2664
2665         Reviewed by Adam Barth.
2666
2667         Test coming in a more comprehensive patch shortly. This is just a very targetted
2668         patch to allow for easier merging.
2669
2670         * loader/CrossOriginAccessControl.cpp:
2671         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Add referer to the list
2672         of whitelisted headers. It can't be set by xhr so it is ok to whitelist it, but it is
2673         set before calling this function. This is similar to what is done for "origin" in here.
2674
2675 2011-08-16  Shawn Singh  <shawnsingh@chromium.org>
2676
2677         Computing screen-space transform for LayerChromium and CCLayerImpl
2678         https://bugs.webkit.org/show_bug.cgi?id=66114
2679
2680         Reviewed by James Robinson.
2681
2682         Test: compositing/backface-visibility-hierarchical-transform.html
2683
2684         Added a data member to LayerChromium and CCLayerImpl that holds
2685         the screen-space transform.   The transform is computed in
2686         calculateDrawTransformsAndVisibility(), which is used during
2687         updating (LayerChromium) and drawing (CCLayerImpl).  This transform
2688         will also be used for other things, such as HUD drawing, in upcoming
2689         patches.
2690
2691         Also fixed a FIXME in LayerRendererChromium::drawLayer, which
2692         was not computing the entire hierarchy of transforms to determine
2693         back-face visibility.  Now it simply uses the screen space transform.
2694
2695         * platform/graphics/chromium/LayerChromium.h:
2696         (WebCore::LayerChromium::screenSpaceDrawTransform):
2697         (WebCore::LayerChromium::setScreenSpaceDrawTransform):
2698         * platform/graphics/chromium/LayerRendererChromium.cpp:
2699         (WebCore::LayerRendererChromium::updateLayers):
2700         (WebCore::LayerRendererChromium::drawLayersInternal):
2701         (WebCore::LayerRendererChromium::drawLayer):
2702         (WebCore::calculateDrawTransformsAndVisibility):
2703         * platform/graphics/chromium/cc/CCLayerImpl.h:
2704         (WebCore::CCLayerImpl::screenSpaceDrawTransform):
2705         (WebCore::CCLayerImpl::setScreenSpaceDrawTransform):
2706
2707 2011-08-16  Hayato Ito  <hayato@chromium.org>
2708
2709         Implement proper handling of events which happen in children of shadow hosts.
2710         https://bugs.webkit.org/show_bug.cgi?id=66285
2711
2712         Reviewed by Dimitri Glazkov.
2713
2714         Fix the issue where a shadow host stops an event propagation if an
2715         event happens at the children of shadow hosts, outside of the shadow root.
2716
2717         Test: fast/dom/shadow/shadow-contents-event.html
2718
2719         * dom/EventDispatcher.cpp:
2720         (WebCore::EventDispatcher::adjustToShadowBoundaries):
2721
2722 2011-08-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
2723
2724         Make it possible to explicitly prevent a preflight via ThreadableLoaderOptions
2725         https://bugs.webkit.org/show_bug.cgi?id=65694
2726
2727         Reviewed by Alexey Proskuryakov.
2728
2729         No new tests since there is no change in behavior.
2730
2731         * fileapi/FileReaderLoader.cpp:
2732         (WebCore::FileReaderLoader::start):
2733         * loader/DocumentThreadableLoader.cpp:
2734         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
2735         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
2736         * loader/ThreadableLoader.h:
2737         (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
2738         * notifications/Notification.cpp:
2739         (WebCore::Notification::startLoading):
2740         * xml/XMLHttpRequest.cpp:
2741         (WebCore::XMLHttpRequest::createRequest):
2742
2743 2011-08-16  Scott Byer  <scottbyer@chromium.org>
2744
2745         Fix spelling error.
2746         https://bugs.webkit.org/show_bug.cgi?id=66261
2747
2748         Reviewed by Adam Barth.
2749
2750         No functional change, no tests needed.
2751
2752         * platform/ScrollAnimator.cpp:
2753         (WebCore::ScrollAnimator::scroll):
2754         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
2755         (WebCore::ScrollAnimator::notifyPositionChanged):
2756         * platform/ScrollAnimator.h:
2757         * platform/ScrollAnimatorNone.cpp:
2758         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
2759         (WebCore::ScrollAnimatorNone::animationTimerFired):
2760         * platform/ScrollAnimatorWin.cpp:
2761         (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
2762         (WebCore::ScrollAnimatorWin::animateScroll):
2763         * platform/chromium/ScrollAnimatorChromiumMac.h:
2764         * platform/chromium/ScrollAnimatorChromiumMac.mm:
2765         (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
2766         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
2767         (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
2768         (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
2769         * platform/mac/ScrollAnimatorMac.h:
2770         * platform/mac/ScrollAnimatorMac.mm:
2771         (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
2772         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
2773         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
2774         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2775
2776 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2777
2778         ASSERT in fast/css/custom-font-xheight.html
2779         https://bugs.webkit.org/show_bug.cgi?id=66328
2780
2781         Reviewed by Dan Bernstein.
2782
2783         In r93140 the temporary font created for a remote CSS font face
2784         was created without being retained. We need to protect the
2785         font from being purged while we hold onto it, so add a font cache
2786         purge preventer.
2787
2788         * css/CSSFontFaceSource.cpp:
2789         (WebCore::CSSFontFaceSource::getFontData):
2790
2791 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2792
2793         Unreviewed Chromium Windows build fix after r93140. Take 4.
2794         Namespace the now public enum as FontCache::ShouldRetain.
2795
2796         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2797         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
2798
2799 2011-08-15  Stephen White  <senorblanco@chromium.org>
2800
2801         Canvas resizing can be slow
2802         https://bugs.webkit.org/show_bug.cgi?id=66251
2803
2804         Canvas resizing was slow due to re-allocation of the ImageBuffer on
2805         each size change (width or height).  This was introduced inadvertently
2806         by calls to isAccelerated() during canvas reset().  Since we won't 
2807         know if we have successfully accelerated until ImageBuffer creation,
2808         move the compositor invalidation to createImageBuffer() as well.
2809         This patch also attempts to unify the Skia and CG accelerated canvas
2810         paths.  The DrawingBuffer used by the Skia path is now owned by 
2811         ImageBuffer[Skia], similar to how the IOSurface is owned by
2812         ImageBuffer[CG].  Some of the logic for when to accelerate was moved
2813         into HTMLCanvasElement and unified with the CG path.  Acceleration is
2814         also now enabled by the same "Accelerated" ImageBuffer create flag
2815         used by the CG path.  DrawingBuffer is now re-created even for a 
2816         same-size change (same as the memory buffer), but we speed it up
2817         by calling GraphicsContext3D::texImage2D() with a NULL pixels ptr
2818         instead of GraphicsContext3D::teximage2DResourceSafe() (no need to
2819         clear it, since it's done with a glClear anyway).
2820
2821         Reviewed by Kenneth Russell.
2822
2823         Covered by existing tests in fast/canvas and canvas/philip.
2824
2825         * html/HTMLCanvasElement.cpp:
2826         (WebCore::HTMLCanvasElement::reset):
2827         Don't call isAccelerated() from reset(), since we don't want to
2828         inadvertently create the ImageBuffer.  Also, since we won't know if
2829         we have successfully accelerated until createImageBuffer() is
2830         called, defer the compositor invalidation to createImageBuffer() as
2831         well.
2832         (WebCore::HTMLCanvasElement::shouldAccelerate):
2833         Unify the CG and Skia ports' logic for when to accelerate (Skia
2834         logic moved in from CanvasRenderingContext2D).
2835         (WebCore::HTMLCanvasElement::createImageBuffer):
2836         Use the unified shouldAccelerate() logic, and pass it as a flag
2837         to ImageBuffer.  Do compositor invalidation as well.
2838         * html/HTMLCanvasElement.h:
2839         (WebCore::HTMLCanvasElement::hasCreatedImageBuffer):
2840         Expose hasCreatedImageBuffer() publically, so
2841         CanvasRenderingContext2D::isAccelerated() doesn't inadvertently create
2842         it.
2843         * html/canvas/CanvasRenderingContext2D.cpp:
2844         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2845         (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
2846         Remove all acceleration setting and resetting, since it's now done
2847         during ImageBuffer creation.
2848         (WebCore::CanvasRenderingContext2D::isAccelerated):
2849         Check if the image buffer was created, so we don't inadvertently
2850         create it here.
2851         (WebCore::CanvasRenderingContext2D::paintsIntoCanvasBuffer):
2852         Don't call GraphicsContext3D::paintsIntoCanvasBuffer(), since its
2853         WebViewImpl may be null.  Ask the render tree instead.
2854         (WebCore::CanvasRenderingContext2D::reset):
2855         Don't reset acceleration here, since we don't own it anymore.
2856         (WebCore::CanvasRenderingContext2D::platformLayer):
2857         Call into the ImageBuffer to get our PlatformLayer.
2858         * html/canvas/CanvasRenderingContext2D.h:
2859         Remove m_drawingBuffer, and all acceleration-related calls.
2860         * platform/graphics/GraphicsContext.cpp:
2861         * platform/graphics/GraphicsContext.h:
2862         Remove setGraphicsContext3D(), and paintsIntoImageBuffer().
2863         * platform/graphics/ImageBuffer.cpp:
2864         (WebCore::ImageBuffer::platformLayer):
2865         Implement a dummy platformLayer() call for non-skia ports.
2866         * platform/graphics/ImageBuffer.h:
2867         Declare a platformLayer() call (USE(ACCELERATED_COMPOSITING) only).
2868         * platform/graphics/chromium/ImageBufferDataSkia.h:
2869         Add a DrawingBuffer data member.
2870         * platform/graphics/gpu/DrawingBuffer.cpp:
2871         (WebCore::DrawingBuffer::reset):
2872         Use texImage2D() with a NULL ptr, not texImage2DResourceSafe().
2873         Since we immediately clear the framebuffer via glClear(), this whole
2874         resource safe business is overkill.
2875         * platform/graphics/skia/GraphicsContextSkia.cpp:
2876         Remove setGraphicsContext3D() and paintsIntoImageBuffer().  This
2877         functionality is handled by ImageBuffer now.
2878         * platform/graphics/skia/ImageBufferSkia.cpp:
2879         (WebCore::ImageBuffer::ImageBuffer):
2880         Give the ImageBufferData ownership of the DrawingBuffer.
2881         (WebCore::ImageBuffer::platformLayer):
2882         Implement an accessor for the DrawingBuffer's PlatformLayer.
2883         * platform/graphics/skia/PlatformContextSkia.cpp:
2884         (WebCore::PlatformContextSkia::setGraphicsContext3D):
2885         * platform/graphics/skia/PlatformContextSkia.h:
2886         Remove isPathSkiaSafe() extern (unused).
2887         Remove paintsIntoImageBuffer() (now unused).  Remove IntSize param
2888         from setGraphicsContext3D() (unused).
2889
2890 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2891
2892         Unreviewed Chromium Windows build fix after r93140. Take 3.
2893         Include the proper includes!
2894
2895         * platform/graphics/FontCache.h:
2896
2897 2011-08-16  Mihnea Ovidenie  <mihnea@adobe.com>
2898
2899         Unmatrix algorithm implementation is wrong
2900         https://bugs.webkit.org/show_bug.cgi?id=66080
2901
2902         Reviewed by Dean Jackson.
2903
2904         Current version of the algorithm negates only the scaleX while
2905         it should negate also scaleY and scaleZ when appropriate.
2906
2907         Test: animations/animation-matrix-negative-scale-unmatrix.html
2908
2909         * platform/graphics/transforms/TransformationMatrix.cpp:
2910         (WebCore::decompose):
2911
2912 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2913
2914         Unreviewed Chromium Windows build fix after r93140.
2915
2916         This just makes the troublesome enum public. If this
2917         fixes the build I will file a follow-up bug to clean-up
2918         these build issues and either keep the enum public and
2919         cleanup other functions or restore the enum to private.
2920         There is no harm in making the enum public right now.
2921
2922         * platform/graphics/FontCache.h:
2923
2924 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2925
2926         Unreviewed Chromium Windows build fix after r93140.
2927
2928         * platform/graphics/FontCache.h:
2929
2930 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2931
2932         Unreviewed Windows and Chromium Windows build fix after r93140.
2933
2934         * platform/graphics/FontCache.h:
2935         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2936         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
2937         (WebCore::getLastResortFallbackFontProc):
2938         (WebCore::FontCache::getLastResortFallbackFont):
2939         * platform/graphics/win/FontCacheWin.cpp:
2940         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
2941         (WebCore::FontCache::getLastResortFallbackFont):
2942
2943 2011-08-16  Adam Roben  <aroben@apple.com>
2944
2945         Make placeholder text remain visible until a character is typed on Windows
2946
2947         Fixes <http://webkit.org/b/66319> Placeholder text in text fields disappears when the field
2948         is focused on Windows, which doesn't match Lion or Windows native text fields
2949
2950         Covered by existing tests (which are currently failing on the bots until this patch lands).
2951
2952         Reviewed by Dave Hyatt.
2953
2954         * rendering/RenderThemeSafari.h:
2955         (WebCore::RenderThemeSafari::shouldShowPlaceholderWhenFocused):
2956         * rendering/RenderThemeWin.h:
2957         (WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):
2958         Added overrides to return true.
2959
2960 2011-08-16  David Hyatt  <hyatt@apple.com>
2961
2962         https://bugs.webkit.org/show_bug.cgi?id=66254
2963
2964         Make region invalidation and repainting work properly. We do this by making RenderFlowThreads into
2965         repaint containers and then issuing new repaints in the regions that contain the invalidated flow thread
2966         content.
2967
2968         Reviewed by Simon Fraser.
2969
2970         Added new tests in fast/repaint.
2971
2972         * rendering/RenderFlowThread.cpp:
2973         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2974         * rendering/RenderFlowThread.h:
2975         * rendering/RenderObject.cpp:
2976         (WebCore::RenderObject::enclosingRenderFlowThread):
2977         (WebCore::RenderObject::containerForRepaint):
2978         (WebCore::RenderObject::repaintUsingContainer):
2979         * rendering/RenderObject.h:
2980         * rendering/RenderView.cpp:
2981         (WebCore::RenderView::RenderView):
2982         (WebCore::RenderView::renderFlowThreadWithName):
2983         * rendering/RenderView.h:
2984         (WebCore::RenderView::hasRenderFlowThreads):
2985
2986 2011-08-16  Joseph Pecoraro  <joepeck@webkit.org>
2987
2988         Abandoned Memory: Temporary CSS Fonts May Never Be Purged
2989         https://bugs.webkit.org/show_bug.cgi?id=66153
2990
2991         Reviewed by Dan Bernstein.
2992
2993         While a remote CSS font face is loading we fallback to a
2994         temporary font. We don't want to retain the fallback font
2995         because noone takes ownership of the temporary font. This
2996         patch adds a way to get an uncached fallback font, which
2997         plumbs the ShouldRetain enum through the different platform
2998         implementations of getLastResortFallbackFont.
2999
3000         No new tests, no functional change.
3001
3002         * css/CSSFontFaceSource.cpp:
3003         (WebCore::CSSFontFaceSource::getFontData):
3004         * platform/graphics/FontCache.cpp:
3005         (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
3006         * platform/graphics/FontCache.h:
3007         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
3008         (WebCore::fontDataFromDescriptionAndLogFont):
3009         (WebCore::GetLastResortFallbackFontProcData::GetLastResortFallbackFontProcData):
3010         (WebCore::getLastResortFallbackFontProc):
3011         (WebCore::FontCache::getLastResortFallbackFont):
3012         * platform/graphics/chromium/FontCacheLinux.cpp:
3013         (WebCore::FontCache::getLastResortFallbackFont):
3014         * platform/graphics/freetype/FontCacheFreeType.cpp:
3015         (WebCore::FontCache::getLastResortFallbackFont):
3016         * platform/graphics/haiku/FontCacheHaiku.cpp:
3017         (WebCore::FontCache::getLastResortFallbackFont):
3018         * platform/graphics/mac/FontCacheMac.mm:
3019         (WebCore::FontCache::getLastResortFallbackFont):
3020         * platform/graphics/pango/FontCachePango.cpp:
3021         (WebCore::FontCache::getLastResortFallbackFont):
3022         * platform/graphics/qt/FontCacheQt.cpp:
3023         (WebCore::FontCache::getLastResortFallbackFont):
3024         * platform/graphics/win/FontCacheWin.cpp:
3025         (WebCore::fontDataFromDescriptionAndLogFont):
3026         (WebCore::FontCache::getLastResortFallbackFont):
3027         * platform/graphics/wince/FontCacheWinCE.cpp:
3028         * platform/graphics/wx/FontCacheWx.cpp:
3029         (WebCore::FontCache::getLastResortFallbackFont):
3030
3031 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
3032
3033         Chromium Mac: Rubber banding gutter drawing
3034         https://bugs.webkit.org/show_bug.cgi?id=66226
3035
3036         Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
3037         draw the overhang areas.
3038         Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
3039         Add a different implementation for Chromium Mac.
3040
3041         Reviewed by Dimitri Glazkov.
3042
3043         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
3044
3045         * platform/ScrollView.cpp:
3046         (WebCore::ScrollView::wheelEvent):
3047         * platform/ScrollbarTheme.h:
3048         (WebCore::ScrollbarTheme::paintOverhangAreas):
3049         * platform/ScrollbarThemeComposite.cpp:
3050         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
3051         * platform/ScrollbarThemeComposite.h:
3052         * platform/chromium/ScrollbarThemeChromiumMac.h:
3053         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3054         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
3055         (WebCore::scrollbarStateToThemeState):
3056         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
3057         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
3058
3059 2011-08-12  Wyatt Carss  <wcarss@chromium.org>
3060
3061         Programmatically set selection should not have direction on Mac
3062         https://bugs.webkit.org/show_bug.cgi?id=60529
3063
3064         Reviewed by Ryosuke Niwa.
3065
3066         Modified default value of VisibleSelection->m_isDirectional from 'true'
3067         to 'false' by adding a defaulted argument to several VisibleSelection 
3068         constructors to make programmatic selection be directionless by default 
3069         on Mac. Also modified several calls to VisibleSelection's constructors
3070         to correctly preserve directionality.
3071         
3072         Near the end of FrameSelection::modify (presently FrameSelection.cpp:869)
3073         a call to setExtent triggers an editing delegate that uses the
3074         FrameSelection. The direction here should have been preserved from before,
3075         but setIsDirectional was not called until after FrameSelection.cpp:869. It
3076         has been moved up to make things behave.
3077
3078         * WebCore.exp.in:
3079         * editing/ApplyBlockElementCommand.cpp:
3080         (WebCore::ApplyBlockElementCommand::doApply):
3081         (WebCore::ApplyBlockElementCommand::formatSelection):
3082         * editing/ApplyStyleCommand.cpp:
3083         (WebCore::ApplyStyleCommand::updateStartEnd):
3084         * editing/BreakBlockquoteCommand.cpp:
3085         (WebCore::BreakBlockquoteCommand::doApply):
3086         * editing/CompositeEditCommand.cpp:
3087         (WebCore::CompositeEditCommand::moveParagraphWithClones):
3088         (WebCore::CompositeEditCommand::moveParagraphs):
3089         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
3090         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
3091         * editing/CreateLinkCommand.cpp:
3092         (WebCore::CreateLinkCommand::doApply):
3093         * editing/DeleteSelectionCommand.cpp:
3094         (WebCore::DeleteSelectionCommand::setStartingSelectionOnSmartDelete):
3095         (WebCore::DeleteSelectionCommand::doApply):
3096         * editing/Editor.cpp:
3097         (WebCore::Editor::selectionForCommand):
3098         * editing/FrameSelection.cpp:
3099         (WebCore::shouldAlwaysUseDirectionalSelection):
3100         (WebCore::FrameSelection::FrameSelection):
3101         (WebCore::FrameSelection::moveTo):
3102         (WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded):
3103         (WebCore::FrameSelection::modify):
3104         (WebCore::FrameSelection::setBase):
3105         (WebCore::FrameSelection::setExtent):
3106         * editing/FrameSelection.h:
3107         * editing/InsertLineBreakCommand.cpp:
3108         (WebCore::InsertLineBreakCommand::doApply):
3109         * editing/InsertListCommand.cpp:
3110         (WebCore::InsertListCommand::doApply):
3111         * editing/InsertParagraphSeparatorCommand.cpp:
3112         (WebCore::InsertParagraphSeparatorCommand::doApply):
3113         * editing/InsertTextCommand.cpp:
3114         (WebCore::InsertTextCommand::performTrivialReplace):
3115         (WebCore::InsertTextCommand::doApply):
3116         * editing/MoveSelectionCommand.cpp:
3117         (WebCore::MoveSelectionCommand::doApply):
3118         * editing/ReplaceSelectionCommand.cpp:
3119         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
3120         * editing/TypingCommand.cpp:
3121         (WebCore::TypingCommand::makeEditableRootEmpty):
3122         (WebCore::TypingCommand::deleteKeyPressed):
3123         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3124         * editing/VisibleSelection.cpp:
3125         (WebCore::VisibleSelection::VisibleSelection):
3126         * editing/VisibleSelection.h:
3127         * page/EventHandler.cpp:
3128         (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
3129         (WebCore::EventHandler::updateSelectionForMouseDrag):
3130
3131 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
3132
3133         New XML parser: Add document fragment parser
3134         https://bugs.webkit.org/show_bug.cgi?id=66317
3135
3136         Reviewed by Adam Barth.
3137
3138         * dom/DocumentFragment.cpp:
3139         (WebCore::DocumentFragment::parseXML):
3140         * xml/parser/NewXMLDocumentParser.cpp:
3141         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
3142         (WebCore::NewXMLDocumentParser::parseDocumentFragment):
3143         * xml/parser/NewXMLDocumentParser.h:
3144         (WebCore::NewXMLDocumentParser::create):
3145         * xml/parser/XMLTokenizer.h:
3146         * xml/parser/XMLTreeBuilder.cpp:
3147         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
3148         (WebCore::XMLTreeBuilder::pushCurrentNode):
3149         * xml/parser/XMLTreeBuilder.h:
3150         (WebCore::XMLTreeBuilder::create):
3151         (WebCore::XMLTreeBuilder::NodeStackItem::node):
3152
3153 2011-08-16  Jeffrey Pfau  <jpfau@apple.com>
3154
3155         New XML parser: Replace assertions regarding character data in the prolog with proper checks
3156         https://bugs.webkit.org/show_bug.cgi?id=66269
3157
3158         Reviewed by Adam Barth.
3159
3160         This patch checks for character data in the prolog (which is illegal in XML) and discards it, instead of failing an assertion.
3161
3162         * xml/parser/XMLTreeBuilder.cpp:
3163         (WebCore::XMLTreeBuilder::processProcessingInstruction):
3164         (WebCore::XMLTreeBuilder::processXMLDeclaration):
3165         (WebCore::XMLTreeBuilder::processDOCTYPE):
3166         (WebCore::XMLTreeBuilder::enterText):
3167         (WebCore::XMLTreeBuilder::failOnText):
3168         * xml/parser/XMLTreeBuilder.h:
3169
3170 2011-08-16  Alexander Pavlov  <apavlov@chromium.org>
3171
3172         Web Inspector: word wrap long edits
3173         https://bugs.webkit.org/show_bug.cgi?id=65512
3174
3175         Reviewed by Pavel Feldman.
3176
3177         * inspector/front-end/inspector.css:
3178         (.styles-section .properties li.child-editing):
3179
3180 2011-08-16  Pavel Feldman  <pfeldman@google.com>
3181
3182         Web Inspector: convert DOM breakpoint types to strings.
3183         https://bugs.webkit.org/show_bug.cgi?id=66304
3184
3185         Reviewed by Yury Semikhatsky.
3186
3187         * inspector/Inspector.json:
3188         * inspector/InspectorDOMDebuggerAgent.cpp:
3189         (WebCore::domTypeForName):
3190         (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
3191         (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
3192         * inspector/InspectorDOMDebuggerAgent.h:
3193         * inspector/front-end/DOMBreakpointsSidebarPane.js:
3194         (WebInspector.DOMBreakpointsSidebarPane):
3195
3196 2011-08-16  Pavel Feldman  <pfeldman@google.com>
3197
3198         Web Inspector: force pseudo element state when checking it in the styles sidebar.
3199         https://bugs.webkit.org/show_bug.cgi?id=66292
3200
3201         This reverts http://trac.webkit.org/changeset/89132 and introduces InspectorInstrumentation
3202         calls from the CSSStyleSelector for pseudo state processing. These calls are very fast:
3203         they are guarded with the inline checks for the front-end count.
3204
3205         Reviewed by David Hyatt.
3206
3207         * css/CSSStyleSelector.cpp:
3208         (WebCore::CSSStyleSelector::initForStyleResolve):
3209         (WebCore::CSSStyleSelector::styleRulesForElement):
3210         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
3211         (WebCore::CSSStyleSelector::checkSelector):
3212         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
3213         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3214         * css/CSSStyleSelector.h:
3215         * inspector/InspectorCSSAgent.cpp:
3216         (WebCore::computePseudoClassMask):
3217         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
3218         (WebCore::InspectorCSSAgent::clearFrontend):
3219         (WebCore::InspectorCSSAgent::forcePseudoState):
3220         (WebCore::InspectorCSSAgent::getStylesForNode):
3221         (WebCore::InspectorCSSAgent::didRemoveDocument):
3222         (WebCore::InspectorCSSAgent::didRemoveDOMNode):
3223         (WebCore::InspectorCSSAgent::clearPseudoState):
3224         * inspector/InspectorCSSAgent.h:
3225         * inspector/InspectorController.cpp:
3226         (WebCore::InspectorController::disconnectFrontend):
3227         * inspector/InspectorInstrumentation.cpp:
3228         (WebCore::InspectorInstrumentation::forcePseudoStateImpl):
3229         * inspector/InspectorInstrumentation.h:
3230         (WebCore::InspectorInstrumentation::forcePseudoState):
3231
3232 2011-08-16  Tony Chang  <tony@chromium.org>
3233
3234         Unreviewed, rolling out r93114.
3235         http://trac.webkit.org/changeset/93114
3236         https://bugs.webkit.org/show_bug.cgi?id=66226
3237
3238         broke the chromium mac compile
3239
3240         * platform/ScrollView.cpp:
3241         (WebCore::ScrollView::wheelEvent):
3242         * platform/ScrollbarTheme.h:
3243         * platform/ScrollbarThemeComposite.cpp:
3244         * platform/ScrollbarThemeComposite.h:
3245         * platform/chromium/ScrollbarThemeChromiumMac.h:
3246         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3247         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
3248         (WebCore::scrollbarStateToThemeState):
3249         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
3250         * platform/mac/ScrollbarThemeMac.h:
3251
3252 2011-08-16  Alexei Svitkine  <asvitkine@chromium.org>
3253
3254         Chromium Mac: Rubber banding gutter drawing
3255         https://bugs.webkit.org/show_bug.cgi?id=66226
3256
3257         Make ScrollView::paintOverhangAreas() use the ScrollbarTheme::nativeTheme() to
3258         draw the overhang areas.
3259         Move default implementation to ScrollbarThemeComposite::paintOverhangAreas().
3260         Add a different implementation for Chromium Mac.
3261
3262         Reviewed by Dimitri Glazkov.
3263
3264         No new tests since this is just refactoring code and adding a Chromium-specific path for overhang drawing.
3265
3266         * platform/ScrollView.cpp:
3267         (WebCore::ScrollView::wheelEvent):
3268         * platform/ScrollbarTheme.h:
3269         (WebCore::ScrollbarTheme::paintOverhangAreas):
3270         * platform/ScrollbarThemeComposite.cpp:
3271         (WebCore::ScrollbarThemeComposite::paintOverhangAreas):
3272         * platform/ScrollbarThemeComposite.h:
3273         * platform/chromium/ScrollbarThemeChromiumMac.h:
3274         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3275         (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
3276         (WebCore::scrollbarStateToThemeState):
3277         (WebCore::ScrollbarThemeChromiumMac::paintTickmarks):
3278         (WebCore::ScrollbarThemeChromiumMac::paintOverhangAreas):
3279
3280 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
3281
3282         Support cast between CSSPrimitiveValue and ETransformStyle3D and use in CSSStyleSelector.
3283         https://bugs.webkit.org/show_bug.cgi?id=66273
3284
3285         Reviewed by Simon Fraser.
3286
3287         No new tests - no functionality changed - refactoring only.
3288
3289         * css/CSSPrimitiveValueMappings.h:
3290         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3291         Define cast from CSSPrimitiveValue to ETransformStyle3D.
3292         (WebCore::CSSPrimitiveValue::operator ETransformStyle3D):
3293         Define cast from ETransformStyle3D to CSSPrimitiveValue.
3294         * css/CSSStyleSelector.cpp:
3295         (WebCore::CSSStyleSelector::applyProperty):
3296         Use appropriate macro to handle CSSPropertyWebkitTransformStyle.
3297
3298 2011-08-16  Luke Macpherson   <macpherson@chromium.org>
3299
3300         Use appropriate macro to handle CSSPropertyWebkitContentOrder in CSSStyleSelector::applyProperty()
3301         https://bugs.webkit.org/show_bug.cgi?id=66279
3302
3303         Reviewed by Simon Fraser.
3304
3305         No new tests - no functionality changed - simple refactoring only.
3306
3307         * css/CSSStyleSelector.cpp:
3308         (WebCore::CSSStyleSelector::applyProperty):
3309         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to handle CSSPropertyWebkitContentOrder.
3310         This works because PrimitiveValue now supports cast to int.
3311
3312 2011-08-16  Eric Carlson  <eric.carlson@apple.com>
3313
3314         [REGRESSION] Media controls should always be enabled when scripting is disabled
3315         https://bugs.webkit.org/show_bug.cgi?id=66303
3316
3317         Reviewed by Dimitri Glazkov.
3318
3319         Tests: media/video-controls-no-scripting-iframe.html
3320                media/video-controls-no-scripting.html
3321
3322         * html/HTMLMediaElement.cpp:
3323         (WebCore::HTMLMediaElement::attributeChanged): Move the controls enabling/disabling code
3324             to configureMediaControls.
3325         (WebCore::HTMLMediaElement::prepareForLoad): Call configureMediaControls.
3326         (WebCore::HTMLMediaElement::configureMediaControls): New, move code duplicated in 
3327             attributeChanged and preDispatchEventHandler here.
3328         (WebCore::HTMLMediaElement::preDispatchEventHandler): Move the controls enabling/disabling code
3329             to configureMediaControls.
3330         * html/HTMLMediaElement.h:
3331
3332 2011-08-16  Pavel Feldman  <pfeldman@google.com>
3333
3334         Web Inspector: hide non-conservative methods from the protocol documentation.
3335         https://bugs.webkit.org/show_bug.cgi?id=66301
3336
3337         Reviewed by Yury Semikhatsky.
3338
3339         * inspector/Inspector.json:
3340
3341 2011-08-16  Andras Becsi  <abecsi@webkit.org>
3342
3343         Web Inspector: nuke background events collection (dead feature)
3344         https://bugs.webkit.org/show_bug.cgi?id=66296
3345
3346         Fix the GTK build after r93095.
3347
3348         Unreviewed build fix.
3349
3350         No new tests neede.
3351
3352         * GNUmakefile.list.am: Remove nonexistent sources.
3353
3354 2011-08-16  Andras Becsi  <abecsi@webkit.org>
3355
3356         Reviewed by Csaba Osztrogon√°c.
3357
3358         Need AtomicStrings for the various font family names
3359         https://bugs.webkit.org/show_bug.cgi?id=28024
3360
3361         Unify the usage of '-webkit' prefixed font family names by using
3362         global AtomicStrings.
3363         Use a .in file to generate the needed sources through make_names.pl.
3364
3365         No new tests needed.
3366
3367         * CMakeLists.txt:
3368         * CodeGenerators.pri:
3369         * DerivedSources.make:
3370         * GNUmakefile.am:
3371         * GNUmakefile.list.am:
3372         * WebCore.gyp/WebCore.gyp:
3373         * WebCore.gyp/scripts/action_makenames.py:
3374         * WebCore.gypi:
3375         * WebCore.vcproj/WebCore.vcproj:
3376         * WebCore.xcodeproj/project.pbxproj:
3377         * css/CSSComputedStyleDeclaration.cpp:
3378         (WebCore::identifierForFamily):
3379         * css/CSSFontSelector.cpp:
3380         (WebCore::CSSFontSelector::addFontFaceRule):
3381         (WebCore::fontDataForGenericFamily):
3382         * css/CSSStyleSelector.cpp:
3383         (WebCore::CSSStyleSelector::applyProperty):
3384         * css/WebKitFontFamilyNames.in: Added.
3385         * dom/make_names.pl:
3386         * page/Frame.cpp:
3387         (WebCore::Frame::Frame):
3388         * platform/graphics/FontCache.cpp:
3389         (WebCore::FontCache::getFontData):
3390         * platform/graphics/FontDescription.h:
3391         (WebCore::FontDescription::useFixedDefaultSize):
3392
3393 2011-08-16  Pavel Feldman  <pfeldman@google.com>
3394
3395         Web Inspector: nuke background events collection (dead feature)
3396         https://bugs.webkit.org/show_bug.cgi?id=66296
3397
3398         Reviewed by Yury Semikhatsky.
3399
3400         * CMakeLists.txt:
3401         * WebCore.gypi:
3402         * WebCore.pro:
3403         * WebCore.vcproj/WebCore.vcproj:
3404         * WebCore.xcodeproj/project.pbxproj:
3405         * inspector/EventsCollector.cpp: Removed.
3406         * inspector/EventsCollector.h: Removed.
3407         * inspector/Inspector.json:
3408         * inspector/InspectorFrontendProxy.cpp: Removed.
3409         * inspector/InspectorFrontendProxy.h: Removed.
3410         * inspector/InspectorResourceAgent.cpp:
3411         (WebCore::InspectorResourceAgent::setFrontend):
3412         (WebCore::InspectorResourceAgent::clearFrontend):
3413         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
3414         * inspector/InspectorResourceAgent.h:
3415         * inspector/front-end/NetworkPanel.js:
3416         (WebInspector.NetworkLogView):
3417
3418 2011-08-16  Lindsay Mathieson   <lindsay.mathieson@gmail.com>
3419
3420         [Qt] Missing spell check support
3421         https://bugs.webkit.org/show_bug.cgi?id=44114
3422
3423         Reviewed by Benjamin Poulain.
3424
3425         Add drawErrorUnderline() from Cairo to render the line for text checking on the Qt port.
3426
3427         * platform/graphics/qt/GraphicsContextQt.cpp:
3428         (WebCore::drawErrorUnderline):
3429         (WebCore::GraphicsContext::drawLineForTextChecking):
3430
3431 2011-08-15  MORITA Hajime  <morrita@google.com>
3432
3433         REGRESSION(r70598): [Chromium] Style changes in textInput event can prevent from updating <textarea> value.
3434         https://bugs.webkit.org/show_bug.cgi?id=66216
3435
3436         Reviewed by Ryosuke Niwa.
3437
3438         Element::spellcheckAttributeState() uses Element::hasAttribute(),
3439         which calls updateStyleAttribute(), which potentially makes style
3440         dirty. But that is problematic since Editor calls spellcheckAttributeState()
3441         during the spell-checking phase and make the style dirty,
3442         which can trigger re-layout, which wipes the shadow tree of a textarea
3443         out by pre-committed "value" text.
3444
3445         This change removes the hasAttribute() call from
3446         spellcheckAttributeState().
3447
3448         Test: editing/input/style-change-during-input.html
3449
3450         * dom/Element.cpp:
3451         (WebCore::Element::spellcheckAttributeState):
3452
3453 2011-08-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3454
3455         [CMAKE] Wrap files of websocket and worker in each macro.
3456         https://bugs.webkit.org/show_bug.cgi?id=65012
3457
3458         Move files of web socket and workers into each macro block in CMakeList.txt.
3459         And, header files related to WORKER and SHARED_WORKER are wrapped by macro in cpp files.