ffc72978855a1e4d0e5e61f04138c9b40757316c
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-06-30  Dan Bernstein  <mitz@apple.com>
2
3         Reviewed by Adele Peterson.
4
5         Add +[WebView _allowsRoundingHacks]
6         https://bugs.webkit.org/show_bug.cgi?id=63734
7
8         * WebCore.exp.in: Export TextRun::allowsRoundingHacks().
9         * platform/graphics/TextRun.cpp:
10         (WebCore::TextRun::allowsRoundingHacks): Added this accessor.
11         * platform/graphics/TextRun.h:
12
13 2011-06-30  Patrick Gansterer  <paroga@webkit.org>
14
15         Reviewed by Adam Roben.
16
17         [WIN] Don't redefine the keyboard codes
18         https://bugs.webkit.org/show_bug.cgi?id=63726
19
20         Only define the codes when undefined.
21         r64957 fixed this problem for COMPILER(MINGW) but not for OS(WINCE).
22
23         * platform/WindowsKeyboardCodes.h:
24
25 2011-06-30  Yury Semikhatsky  <yurys@chromium.org>
26
27         Reviewed by Pavel Feldman.
28
29         Web Inspector: hide "Enabled background events collection" option in context menu until the setting is persisted
30         https://bugs.webkit.org/show_bug.cgi?id=63708
31
32         The option has no much sense if it is not preserved between browser restarts.
33
34         * inspector/front-end/NetworkPanel.js:
35         (WebInspector.NetworkPanel.prototype._contextMenu):
36
37 2011-06-30  Patrick Gansterer  <paroga@webkit.org>
38
39         Reviewed by Darin Adler.
40
41         Remove dependnecy on IDL generation for disabled features in JSC bindings
42         https://bugs.webkit.org/show_bug.cgi?id=63718
43
44         Move the #if ENABLE() line directly after #include "config.h".
45         This enables us to compile all files even when we don't generate the IDL output.
46
47         * bindings/js/IDBBindingUtilities.cpp:
48         * bindings/js/JSConsoleCustom.cpp:
49         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
50         * bindings/js/JSCustomXPathNSResolver.cpp:
51         * bindings/js/JSDOMApplicationCacheCustom.cpp:
52         * bindings/js/JSDeviceMotionEventCustom.cpp:
53         * bindings/js/JSDeviceOrientationEventCustom.cpp:
54         * bindings/js/JSInjectedScriptHostCustom.cpp:
55         * bindings/js/JSInjectedScriptManager.cpp:
56         * bindings/js/JSInspectorFrontendHostCustom.cpp:
57         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
58         * bindings/js/JSSQLResultSetRowListCustom.cpp:
59         * bindings/js/JSSQLTransactionCustom.cpp:
60         * bindings/js/JSSQLTransactionSyncCustom.cpp:
61         * bindings/js/JSSVGElementInstanceCustom.cpp:
62         * bindings/js/JSStorageCustom.cpp:
63         * bindings/js/JSTouchCustom.cpp:
64         * bindings/js/JSTouchListCustom.cpp:
65         * bindings/js/JSXPathResultCustom.cpp:
66         * bindings/js/JavaScriptCallFrame.cpp:
67         * bindings/js/PageScriptDebugServer.cpp:
68         * bindings/js/ScriptDebugServer.cpp:
69         * bindings/js/ScriptGCEvent.cpp:
70         * bindings/js/ScriptProfile.cpp:
71         * bindings/js/WorkerScriptDebugServer.cpp:
72
73 2011-06-30  Alexander Pavlov  <apavlov@chromium.org>
74
75         Reviewed by Kent Tamura.
76
77         [Chromium] Autofill suggestions appear in upper left corner after input change
78         https://bugs.webkit.org/show_bug.cgi?id=63702
79
80         This change fixes a few popup layout issues, some of which have existed for quite a while:
81         - the absence of the ChromeClientImpl::screenToWindow() implementation (the method used to always return (0, 0));
82         - the confusion of window and screen coordinates passed into the autofill popup client's setWindowRect() method;
83         - the use of the current frameRect() width as the target element's width (which was wrong when refreshing
84           a popup resized during the initial layout (e.g. made wider than the target element)).
85
86         No new tests, as this is a change to platform-specific widget code. The test case is provided in the bug description.
87
88         * platform/chromium/PopupMenuChromium.cpp:
89         (WebCore::PopupContainer::layoutAndGetRTLOffset): Use original target element width, not frameRect().width(),
90         since the latter gets updated if the popup is not the same width as the target element.
91         (WebCore::PopupContainer::refresh): Restore only the popup bounds rather than its original rectangle,
92         since it sometimes breaks the invalidation region and layout.
93
94 2011-06-30  Sheriff Bot  <webkit.review.bot@gmail.com>
95
96         Unreviewed, rolling out r90102.
97         http://trac.webkit.org/changeset/90102
98         https://bugs.webkit.org/show_bug.cgi?id=63714
99
100         Lots of tests asserting beneath
101         SVGSMILElement::findInstanceTime (Requested by aroben on
102         #webkit).
103
104         * svg/animation/SVGSMILElement.cpp:
105         (WebCore::SVGSMILElement::findInstanceTime):
106
107 2011-06-30  Andrey Kosyakov  <caseq@chromium.org>
108
109         Reviewed by Yury Semikhatsky.
110
111         Web Inspector: remove ExtensionAPISchema.json
112         https://bugs.webkit.org/show_bug.cgi?id=63687
113
114         * inspector/front-end/ExtensionAPISchema.json: Removed.
115
116 2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>
117
118         Unreviewed build fix for chromium.
119
120         * inspector/CodeGeneratorInspector.pm:
121
122 2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>
123
124         Unreviewed build fix for mac.
125
126         * inspector/CodeGeneratorInspector.pm:
127
128 2011-06-30  Ilya Tikhonovsky  <loislo@chromium.org>
129
130         Reviewed by Pavel Feldman.
131
132         Web Inspector: Protocol: error object needs some improvement.
133         https://bugs.webkit.org/show_bug.cgi?id=63707
134
135         Current implementation is not useful in the code.
136         We need to have toString implementation with nice formatting
137         I'd like to use error.message property as the main place for the error's text.
138
139         * inspector/CodeGeneratorInspector.pm:
140
141 2011-06-30  Mikhail Naganov  <mnaganov@chromium.org>
142
143         Reviewed by Yury Semikhatsky.
144
145         Web Inspector: [Chromium] Support annotations for arrays in heap profiler.
146         https://bugs.webkit.org/show_bug.cgi?id=63690
147
148         * inspector/front-end/DetailedHeapshotGridNodes.js:
149         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
150
151
152 2011-06-30  Patrick Gansterer  <paroga@webkit.org>
153
154         Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r88663, r89187, r89220, r89431 and r89661.
155
156         * svg/SVGAnimatedAngle.h:
157         * svg/SVGAnimatedLength.h:
158         * svg/SVGAnimatedNumber.h:
159         * svg/SVGAnimatedRect.h:
160         * svg/SVGAnimatedString.h:
161
162 2011-06-30  Gabor Loki  <loki@webkit.org>
163
164         Reviewed by Csaba Osztrogonác.
165
166         Fixed several style and typo issues after r90091.
167         https://bugs.webkit.org/show_bug.cgi?id=63692
168
169         Rename yStart to extremaStartY during computing extremas
170
171         * platform/graphics/filters/FEMorphology.cpp:
172         (WebCore::FEMorphology::platformApplyGeneric):
173         * platform/graphics/filters/FEMorphology.h:
174
175 2011-06-30  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
176
177         Reviewed by Nikolas Zimmermann.
178
179         Speed up SVGSMILElement::findInstanceTime.
180         https://bugs.webkit.org/show_bug.cgi?id=61025
181
182         Replace the linear search to binary search on ordered list because
183         the previous searches from the beginning was not efficient.
184
185         No new tests this is only a performance tweak.
186
187         * svg/animation/SVGSMILElement.cpp:
188         (WebCore::extractTimeFromVector):
189         (WebCore::SVGSMILElement::findInstanceTime):
190
191 2011-06-30  Kentaro Hara  <haraken@google.com>
192
193         Reviewed by Kent Tamura.
194
195         Change the label of an HTML5 file chooser button to "Choose Files"
196         https://bugs.webkit.org/show_bug.cgi?id=49245
197
198         We should notify capability of multiple files to users.
199
200         Test: fast/forms/input-file-label.html
201
202         * English.lproj/Localizable.strings:
203         * html/FileInputType.cpp:
204         (WebCore::UploadButtonElement::createForMultiple): Constructs a multiple file chooser button.
205         (WebCore::FileInputType::createShadowSubtree): Constructs a single/multiple file chooser button depending on 'multiple' attribute.
206         (WebCore::FileInputType::multipleAttributeChanged): Updates the label of the file chooser button.
207         * html/FileInputType.h:
208         * html/HTMLInputElement.cpp:
209         (WebCore::HTMLInputElement::parseMappedAttribute): Updates the shadow tree of the file chooser button when 'multiple' attribute is set or unset.
210         * html/InputType.cpp:
211         (WebCore::InputType::multipleAttributeChanged): Virtual method to be overridden by FileInputType.
212         * html/InputType.h:
213         * platform/DefaultLocalizationStrategy.cpp:
214         (WebCore::DefaultLocalizationStrategy::fileButtonChooseFileLabel): Updated the description for "Choose File".
215         (WebCore::DefaultLocalizationStrategy::fileButtonChooseMultipleFilesLabel): Returns a string "Choose Files".
216         * platform/DefaultLocalizationStrategy.h:
217         * platform/LocalizationStrategy.h:
218         * platform/LocalizedStrings.cpp:
219         (WebCore::fileButtonChooseMultipleFilesLabel): Wrapper method for getting the "Choose Files" label.
220         * platform/LocalizedStrings.h:
221         * platform/brew/LocalizedStringsBrew.cpp:
222         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
223         * platform/efl/LocalizedStringsEfl.cpp:
224         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
225         * platform/gtk/LocalizedStringsGtk.cpp:
226         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
227         * platform/haiku/LocalizedStringsHaiku.cpp:
228         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
229         * platform/wx/LocalizedStringsWx.cpp:
230         (WebCore::fileButtonChooseMultipleFilesLabel): Returns a "Choose Files" label.
231
232 2011-06-30  Ryosuke Niwa  <rniwa@webkit.org>
233
234         Reviewed by Kent Tamura.
235
236         Replace isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&)
237         https://bugs.webkit.org/show_bug.cgi?id=63672
238
239         Replaced isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&).
240         Also added a safe toTextFormControl to HTMLFormControlElement.h.
241
242         * editing/DeleteSelectionCommand.cpp:
243         (WebCore::DeleteSelectionCommand::doApply): Calls enclosingTextFormControl instead of manually
244         checking the tag name of shadowAncestorNode.
245         * editing/Editor.cpp:
246         (WebCore::Editor::selectionForCommand): Rewritten using enclosingTextFormControl and toTextFormControl.
247         (WebCore::Editor::cut): Calls enclosingTextFormControl instead of isNodeInTextFormControl.
248         (WebCore::Editor::copy): Ditto.
249         (WebCore::Editor::setBaseWritingDirection): Calls toTextFormControl instead of manually checking tag name.
250         * editing/FrameSelection.cpp:
251         (WebCore::FrameSelection::isInPasswordField): Calls enclosingTextFormControl.
252         * editing/ReplaceSelectionCommand.cpp:
253         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
254         * editing/htmlediting.cpp:
255         (WebCore::enclosingTextFormControl): Added.
256         * editing/htmlediting.h:
257         * html/HTMLFormControlElement.h:
258         (WebCore::toTextFormControl): Added.
259         * page/DragController.cpp:
260         (WebCore::DragController::startDrag): Calls enclosingTextFormControl instead of isNodeInTextFormControl.
261
262 2011-06-27  Pavel Podivilov  <podivilov@chromium.org>
263
264         Reviewed by Pavel Feldman.
265
266         Web Inspector: source code is not highlighted after drawer height animations.
267         https://bugs.webkit.org/show_bug.cgi?id=62860
268
269         * inspector/front-end/Drawer.js:
270         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
271         (WebInspector.Drawer.prototype._animateDrawerHeight):
272
273 2011-06-30  MORITA Hajime  <morrita@google.com>
274
275         Reviewed by Dimitri Glazkov.
276
277         Crash if ShadowRoot has a text node.
278         https://bugs.webkit.org/show_bug.cgi?id=63607
279         
280         Node::styleForRenderer() for Text node wasn't shadow-aware.
281         This change allow styleForRenderer() to know its visual parent by
282         passing NodeRenderingContext.
283         
284         Changes other than NodeRenderingContext and Element is just a
285         follow up for change above.
286
287         * dom/Element.cpp: use NodeRenderingContext to resolve parent node.
288         (WebCore::Element::recalcStyle):
289         * dom/Node.cpp:
290         (WebCore::Node::styleForRenderer): Added NodeRenderingContext as a parameter.
291         * dom/Node.h:
292         * dom/NodeRenderingContext.cpp:
293         (WebCore::NodeRendererFactory::createRendererAndStyle):
294         * html/HTMLOptGroupElement.cpp:
295         (WebCore::HTMLOptGroupElement::attach):
296         * html/HTMLOptionElement.cpp:
297         (WebCore::HTMLOptionElement::attach):
298         * html/HTMLTitleElement.cpp:
299         (WebCore::HTMLTitleElement::textWithDirection):
300         * html/shadow/TextControlInnerElements.cpp:
301         (WebCore::TextControlInnerElement::styleForRenderer):
302         (WebCore::TextControlInnerTextElement::styleForRenderer):
303         * html/shadow/TextControlInnerElements.h:
304
305         Test: fast/dom/shadow/shadow-root-text-child.html
306         
307 2011-06-30  Piroska András  <Piroska.Andras@stud.u-szeged.hu>
308
309         Reviewed by Dirk Schulze.
310
311         Apply the ParallelJobs support to FEMorphology
312         https://bugs.webkit.org/show_bug.cgi?id=63064
313
314         The FEMorphology filter of SVG can consume lots of resources if it is
315         applied to a large area. The computation can be distributed to multiple
316         cores if the architecture supports.
317         The average performance progression is 20-25% on dual-core machines.
318
319         * platform/graphics/filters/FEMorphology.cpp:
320         (WebCore::FEMorphology::platformApplyGeneric): Apply the filter between yStart and yEnd interval
321         (WebCore::FEMorphology::platformApplyWorker): Call the generic apply from a parallel worker
322         (WebCore::FEMorphology::platformApply):
323         (WebCore::FEMorphology::apply): Move the functionality into platformApply
324         (WebCore::FEMorphology::externalRepresentation): Remove whitespaces
325         * platform/graphics/filters/FEMorphology.h:
326
327 2011-06-29  Kent Tamura  <tkent@chromium.org>
328
329         Reviewed by Dimitri Glazkov.
330
331         Avoid custom layout code of RenderTextControlSingleLine
332         https://bugs.webkit.org/show_bug.cgi?id=61415
333
334         If a text field has a search results button, a search cancel
335         button, a speech button, or a spin button, the editable inner text
336         element and the buttons are wrapped by a flexible box container,
337         and the editable inner text element has flexibility. As the result
338         of applying the flexible box, we don't need any horizontal layout
339         code in RenderTextControlSingleLine except the inner spin button.
340
341         Also, we remove custom hit-testing code in nodeAtPoint(). If a
342         user clicks on a position left of the inner editable text but not
343         on the search results button, the search results button doesn't
344         work though it worked.
345
346         * css/html.css:
347         (input::-webkit-textfield-decoration-container):
348           New style definition for the "container" element.
349         (input[type="search"]::-webkit-search-cancel-button):
350           It should be a block element because it's a child of the flexible box.
351           Also, this doesn't have flexibility.
352         (input[type="search"]::-webkit-search-decoration): ditto.
353         (input[type="search"]::-webkit-search-results-decoration): ditto.
354         (input[type="search"]::-webkit-search-results-button): ditto.
355         (input::-webkit-inner-spin-button): ditto.
356         (input::-webkit-input-speech-button): ditto.
357         * html/HTMLInputElement.cpp:
358         (WebCore::HTMLInputElement::containerElement):
359           Add an accessor of the flexible box container.
360           It just calls InputType::containerElement().
361         * html/HTMLInputElement.h: Declare it.
362         * html/InputType.h:
363         (WebCore::InputType::containerElement): New accessor for a shadow element.
364         * html/SearchInputType.cpp:
365         (WebCore::SearchInputType::SearchInputType):
366           m_innerBlock is moved to TextFieldInputType.
367         (WebCore::SearchInputType::needsContainer):
368           A search field always needs the flexible box container because
369           of the results button and the cancel button.
370         (WebCore::SearchInputType::createShadowSubtree):
371           Use TextFieldInputType::createShadowSubtree(), then modify the tree.
372         (WebCore::SearchInputType::destroyShadowSubtree):
373           m_innerBlock is moved to TextFieldInputType.
374         * html/SearchInputType.h:
375         * html/TextFieldInputType.cpp:
376         (WebCore::TextFieldInputType::TextFieldInputType):
377           Initialize the new members.
378         (WebCore::TextFieldInputType::needsContainer):
379           Returns true if x-webkit-speech. We check a spin button separately.
380         (WebCore::TextFieldInputType::createShadowSubtree):
381           Wrap everything with the flexible box container if needsContainer() or we need a spin button.
382         (WebCore::TextFieldInputType::containerElement): Added an accessor.
383         (WebCore::TextFieldInputType::innerBlockElement): ditto.
384         (WebCore::TextFieldInputType::innerTextElement): ditto.
385         (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
386         (WebCore::TextFieldInputType::speechButtonElement): ditto.
387         (WebCore::TextFieldInputType::destroyShadowSubtree):
388           Clear references to new shadow nodes.
389         * html/TextFieldInputType.h:
390         * rendering/RenderTextControlSingleLine.cpp:
391         (WebCore::RenderTextControlSingleLine::containerElement): Added an accessor.
392         (WebCore::RenderTextControlSingleLine::innerTextElement):
393         (WebCore::RenderTextControlSingleLine::layout):
394          - Correct heights check
395           Comparing with height(), not contentHeigth(), was incorrect.
396          - Adjust the container height like the editable inner text.
397          - Remove width adjustment
398          - Remove the speech button layout code
399           The flexible box layout is enough.
400         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
401           Remove custom code for results/cancel/speech buttons, and
402           Simplify comments.
403         (WebCore::RenderTextControlSingleLine::forwardEvent):
404           Remove custom forwarding code for results/cancel buttons.
405         (WebCore::RenderTextControlSingleLine::styleDidChange):
406           Clear the style of the container because we update it in layout().
407         (WebCore::RenderTextControlSingleLine::hasControlClip):
408           Decoration buttons should be clipped by the container.
409         (WebCore::RenderTextControlSingleLine::controlClipRect): ditto.
410         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
411           We don't need to use display:inline-block any more.
412         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
413           The text wrapper element should have flexibility.
414         (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
415           Updated for the tree structure change.
416         * rendering/RenderTextControlSingleLine.h:
417
418 2011-06-29  Kent Tamura  <tkent@chromium.org>
419
420         [Mac] Attempt to fix Leopard build.
421
422         * platform/mac/CursorMac.mm:
423         (WebCore::Cursor::ensurePlatformCursor):
424
425 2011-06-29  Darin Adler  <darin@apple.com>
426
427         Reviewed by Dan Bernstein.
428
429         [Mac] Use system cursors instead of custom bitmaps where possible
430         https://bugs.webkit.org/show_bug.cgi?id=63679
431
432         * Resources/crossHairCursor.png: Removed.
433         * Resources/notAllowedCursor.png: Removed.
434         * WebCore.exp.in: Added wkCursor.
435         * WebCore/WebCore.gyp/WebCore.gyp: Removed the two now-unused PNG files.
436         * WebCore.xcodeproj/project.pbxproj: Ditto.
437
438         * platform/mac/CursorMac.mm:
439         (WebCore::Cursor::ensurePlatformCursor): Use NSCursor API for Cross, Hand,
440         VerticalText, ContextMenu, Copy, and NotAllowed. Use wkCursor for Move,
441         Alias, Progress, and the resize and panning cursors.
442
443         * platform/mac/WebCoreSystemInterface.h: Added wkCursor.
444         * platform/mac/WebCoreSystemInterface.mm: Ditto.
445
446 2011-06-29  Keishi Hattori  <keishi@webkit.org>
447
448         Reviewed by Adam Barth.
449
450         Remove extra space at EOL in view source mode
451         https://bugs.webkit.org/show_bug.cgi?id=63620
452
453         Test: fast/frames/viewsource-linebreak.html
454
455         * css/view-source.css:
456         (tbody:last-child .webkit-line-content:empty:before): If we don't do this
457         the last line will be empty and the height will be shorter than the rest.
458         * html/HTMLViewSourceDocument.cpp:
459         (WebCore::HTMLViewSourceDocument::addSource): If source file is empty, add an empty line.
460         (WebCore::HTMLViewSourceDocument::finishLine): Call when you are done with the current line.
461         Adds a BR element if the line is empty and sets current to tbody.
462         (WebCore::HTMLViewSourceDocument::addText):
463         * html/HTMLViewSourceDocument.h:
464
465 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
466
467         [WinCE] Correct logical state of WINCE test.
468
469         * platform/win/ScrollbarThemeWin.cpp: The #if OS(WINCE)
470           should have been #if !OS(WINCE)
471         (WebCore::ScrollbarThemeWin::paintTrackPiece):
472         (WebCore::ScrollbarThemeWin::paintButton):
473         (WebCore::ScrollbarThemeWin::paintThumb):
474         * rendering/RenderThemeWin.cpp: ditto.
475         (WebCore::drawControl):
476
477 2011-06-29  Justin Garcia  <justin.garcia@apple.com>
478
479         Reviewed by Enrica Casucci.
480         
481         I forgot to include these (reviewed) style fix-ups in my previous check-in.
482
483         * editing/htmlediting.cpp:
484         (WebCore::indexForVisiblePosition):
485         (WebCore::visiblePositionForIndex):
486
487 2011-06-29  Justin Garcia  <justin.garcia@apple.com>
488
489         Reviewed by Enrica Casucci.
490
491         https://bugs.webkit.org/show_bug.cgi?id=62922
492         indexForVisiblePosition(const VisiblePosition& visiblePosition) does not consider shadow content
493         
494         VisiblePositions can be inside web form text regions, which use shadow trees. Made indexForVisiblePosition
495         aware of this, and added a new parameter to obtain the scope for a VisiblePosition, in addition to its index.
496         
497         Added visiblePositionForIndex to go in the opposite direction, taking into account the scope
498         used to compute the index.
499         
500         These two functions use TextIterators to convert between VisiblePositions and indices. But 
501         TextIterator iteration using TextIteratorEmitsCharactersBetweenAllVisiblePositions does not 
502         exactly match VisiblePosition iteration, so using them to preserve a selection during an 
503         editing operation is unreliable. This can be seen in the expected results for:
504         
505         editing/execCommand/indent-pre-list.html
506         editing/execCommand/crash-indenting-list-item.html
507         
508         TextIterator's TextIteratorEmitsCharactersBetweenAllVisiblePositions mode needs to be fixed, or 
509         these functions need to be changed to iterate using actual VisiblePositions. See:
510         
511         https://bugs.webkit.org/show_bug.cgi?id=63590
512         TextIterators in TextIteratorEmitsCharactersBetweenAllVisiblePositions do not exactly match VisiblePositions
513         
514         Also:
515         
516         https://bugs.webkit.org/show_bug.cgi?id=63592
517         Use visiblePositionForIndex and indexForVisiblePosition everywhere that TextIterators are used to convert between VisiblePositions and indices
518         
519         No new tests added because indexForVisiblePosition is currently only used for editing operations
520         that cannot be performed inside web form fields.
521
522         * editing/ApplyBlockElementCommand.cpp:
523         (WebCore::ApplyBlockElementCommand::doApply):
524         * editing/InsertListCommand.cpp:
525         (WebCore::InsertListCommand::doApply):
526         * editing/htmlediting.cpp:
527         (WebCore::indexForVisiblePosition):
528         (WebCore::visiblePositionForIndex):
529         * editing/htmlediting.h:
530
531 2011-06-29  Dimitri Glazkov  <dglazkov@chromium.org>
532
533         Reviewed by Kent Tamura.
534
535         Remove ElementWithPseudoId, since now an Element can store it all by itself.
536         https://bugs.webkit.org/show_bug.cgi?id=63657
537
538         Refactoring, covered by existing tests.
539
540         * CMakeLists.txt: Removed ElementWithPseudoId from build.
541         * GNUmakefile.list.am: Ditto.
542         * WebCore.gypi: Ditto.
543         * WebCore.order: Ditto.
544         * WebCore.pro: Ditto.
545         * WebCore.vcproj/WebCore.vcproj: Ditto.
546         * WebCore.xcodeproj/project.pbxproj: Ditto.
547         * html/ColorInputType.cpp:
548         (WebCore::ColorInputType::createShadowSubtree): Changed to use plain-old HTMLDivElement.
549         * html/RangeInputType.cpp:
550         (WebCore::RangeInputType::createShadowSubtree): Ditto.
551         * html/ValidationMessage.cpp:
552         (WebCore::ValidationMessage::buildBubbleTree): Ditto.
553         * html/shadow/ElementWithPseudoId.cpp: Removed.
554         * html/shadow/ElementWithPseudoId.h: Removed.
555
556 2011-06-29  Levi Weintraub  <leviw@chromium.org>
557
558         Reviewed by Eric Seidel.
559
560         Switch computeWidth and computeHeight functions to new layout types
561         https://bugs.webkit.org/show_bug.cgi?id=63655
562
563         Switch computeWidth and computeHeight functions over to the new layout unit abstraction.
564
565         Making a point to mark rounding that should eventually be removed by linking to a new
566         tracking bug: 63645.
567
568         No new tests, no functionality changes.
569
570         * rendering/AutoTableLayout.cpp:
571         (WebCore::AutoTableLayout::computePreferredLogicalWidths):
572         * rendering/AutoTableLayout.h:
573         * rendering/FixedTableLayout.cpp:
574         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
575         * rendering/FixedTableLayout.h:
576         * rendering/LayoutTypes.h:
577         * rendering/RenderBlock.cpp:
578         (WebCore::RenderBlock::computePreferredLogicalWidths):
579         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
580         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
581         * rendering/RenderBox.cpp:
582         (WebCore::RenderBox::computeLogicalWidthUsing):
583         (WebCore::RenderBox::computeLogicalHeight):
584         (WebCore::RenderBox::computeLogicalHeightUsing):
585         (WebCore::RenderBox::computePercentageLogicalHeight):
586         (WebCore::RenderBox::computeReplacedLogicalWidth):
587         (WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
588         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
589         (WebCore::RenderBox::computeReplacedLogicalHeight):
590         (WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
591         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
592         * rendering/RenderBox.h:
593         * rendering/RenderIFrame.cpp:
594         (WebCore::RenderIFrame::computeLogicalWidth):
595         * rendering/RenderImage.cpp:
596         (WebCore::RenderImage::computeReplacedLogicalWidth):
597         (WebCore::RenderImage::computeReplacedLogicalHeight):
598         * rendering/RenderImage.h:
599         * rendering/RenderListBox.cpp:
600         (WebCore::RenderListBox::computePreferredLogicalWidths):
601         * rendering/RenderListMarker.cpp:
602         (WebCore::RenderListMarker::computePreferredLogicalWidths):
603         * rendering/RenderMenuList.cpp:
604         (WebCore::RenderMenuList::computePreferredLogicalWidths):
605         * rendering/RenderReplaced.cpp:
606         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
607         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
608         (WebCore::RenderReplaced::computePreferredLogicalWidths):
609         * rendering/RenderReplaced.h:
610         * rendering/RenderSlider.cpp:
611         (WebCore::RenderSlider::computePreferredLogicalWidths):
612         * rendering/RenderTable.cpp:
613         (WebCore::RenderTable::computeLogicalWidth):
614         * rendering/RenderTextControl.cpp:
615         (WebCore::RenderTextControl::computePreferredLogicalWidths):
616         * rendering/RenderVideo.cpp:
617         (WebCore::RenderVideo::computeReplacedLogicalWidth):
618         (WebCore::RenderVideo::computeReplacedLogicalHeight):
619         * rendering/RenderVideo.h:
620         * rendering/svg/RenderSVGForeignObject.cpp:
621         (WebCore::RenderSVGForeignObject::computeLogicalWidth):
622         (WebCore::RenderSVGForeignObject::computeLogicalHeight):
623         * rendering/svg/RenderSVGRoot.cpp:
624         (WebCore::RenderSVGRoot::computePreferredLogicalWidths):
625         (WebCore::RenderSVGRoot::computeIntrinsicWidth):
626         (WebCore::RenderSVGRoot::computeIntrinsicHeight):
627         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
628         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
629         (WebCore::RenderSVGRoot::layout):
630         * rendering/svg/RenderSVGRoot.h:
631
632 2011-06-23  Abhishek Arya  <inferno@chromium.org>
633
634         Reviewed by James Robinson.
635
636         In RenderBlock, RenderWidget and RenderReplaced destroy functions,
637         call dirtyLinesFromChangedChild to tell our parent that we are going away.
638         https://bugs.webkit.org/show_bug.cgi?id=60307
639
640         Test: fast/block/child-not-removed-from-parent-lineboxes-crash.html
641               fast/block/block-not-removed-from-parent-lineboxes-crash.html
642
643         * rendering/RenderBlock.cpp:
644         (WebCore::RenderBlock::destroy):
645         * rendering/RenderReplaced.cpp:
646         (WebCore::RenderReplaced::destroy):
647         * rendering/RenderReplaced.h:
648         * rendering/RenderWidget.cpp:
649         (WebCore::RenderWidget::destroy):
650
651 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
652
653         Speculative WinCE build correction.
654
655         * rendering/RenderThemeWin.cpp:
656         (WebCore::drawControl): Don't call setRGBABitmapAlpha
657           for WinCE case.
658
659 2011-06-29  Ryosuke Niwa  <rniwa@webkit.org>
660
661         Reviewed by Darin Adler.
662
663         REGRESSION(r89952): r89952 added a wrong assertion in visible_units.cpp
664         https://bugs.webkit.org/show_bug.cgi?id=63668
665
666         We need to assert the offset to be zero only when the position is NOT offset in node.
667
668         * editing/visible_units.cpp:
669         (WebCore::startOfParagraph):
670
671 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
672
673         Speculative WinCE build correction after r90057.
674
675         * CMakeListsWinCE.txt: Roll back r90061, since GetWorldTransform
676           is not available in WinCE.
677         * platform/win/ScrollbarThemeWin.cpp: Conditionally exclude calls
678           to DIBPixelData::setRGBABitmapAlpha for WinCE.
679         (WebCore::ScrollbarThemeWin::paintTrackPiece):
680         (WebCore::ScrollbarThemeWin::paintButton):
681         (WebCore::ScrollbarThemeWin::paintThumb):
682
683 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
684
685         Speculative WinCE build correction after r90057.
686
687         * CMakeListsWinCE.txt: Add missing DIBPixelData.cpp to
688         WinCE build to support setting bitmap image alpha value.
689
690 2011-06-29  Simon Fraser  <simon.fraser@apple.com>
691
692         Reviewed by Beth Dakin.
693
694         Lay some groundwork for rubber-banding in overflow:scroll divs
695         https://bugs.webkit.org/show_bug.cgi?id=63654
696
697         Make it possible for scrollTop and scrollLeft on a RenderLayer to be
698         set to negative values, which we will do during rubber-banding in
699         future. Continue to clamp programmatic scrolls, and scroll positions
700         set by layout between 0 and the max value.
701
702         Test: fast/layers/negative-scroll-positions.html
703
704         * rendering/RenderBox.cpp:
705         (WebCore::RenderBox::setScrollLeft):
706         (WebCore::RenderBox::setScrollTop):
707         * rendering/RenderLayer.cpp:
708         (WebCore::RenderLayer::scrollToOffset):
709         (WebCore::RenderLayer::scrollTo):
710         * rendering/RenderLayer.h:
711         (WebCore::RenderLayer::scrollToXOffset):
712         (WebCore::RenderLayer::scrollToYOffset):
713         * rendering/RenderTextControlSingleLine.cpp:
714         (WebCore::RenderTextControlSingleLine::forwardEvent):
715
716 2011-06-29  Anders Carlsson  <andersca@apple.com>
717
718         Reviewed by Simon Fraser.
719
720         RenderLayer::maximumScrollPosition() is wrong
721         https://bugs.webkit.org/show_bug.cgi?id=62667
722
723         * platform/ScrollableArea.h:
724         (WebCore::ScrollableArea::isVerticalScrollerPinnedToMinimumPosition):
725         (WebCore::ScrollableArea::isVerticalScrollerPinnedToMaximumPosition):
726         Add these for good measure; they will be needed in an upcoming patch.
727
728         * rendering/RenderLayer.cpp:
729         (WebCore::RenderLayer::maximumScrollPosition):
730         Subtract the visible content rect, including the scroll bars.
731
732 2011-06-29  Brent Fulgham  <bfulgham@webkit.org>
733
734         Speculative WinCE build correction after r90053.
735
736         * platform/graphics/GraphicsContext.h:
737         (WebCore::GraphicsContext::inTransparencyLayer): Provide
738         stub implementation for 'inTransparencyLayer'.
739
740 2011-06-29  Xu Fan  <qifuren1985@gmail.com>
741
742         Reviewed by Brent Fulgham.
743
744         Fix Scrollbars Transparent in Windows XP if WebKit is using Layered Window
745         https://bugs.webkit.org/show_bug.cgi?id=61136
746
747         * platform/graphics/win/DIBPixelData.h: add a static method setRGBABitmapAlpha
748         * platform/graphics/win/DIBPixelData.cpp: add implementation
749         * platform/win/ScrollbarThemeWin.cpp: fix scroolbar transparent
750         * rendering/RenderThemeWin.cpp: fix textbox and button transparent
751
752 2011-06-29  Emil A Eklund  <eae@chromium.org>
753
754         Reviewed by Eric Seidel.
755
756         Switch RenderBoxModelObject::margin* and setMargin* to to new layout types
757         https://bugs.webkit.org/show_bug.cgi?id=63652
758
759         Switch margin methods for render tree over to the new layout unit abstraction.
760
761         No new tests, no functionality changes.
762
763         * rendering/InlineFlowBox.h:
764         * rendering/RenderBlock.cpp:
765         * rendering/RenderBlock.h:
766         * rendering/RenderBox.cpp:
767         * rendering/RenderBox.h:
768         * rendering/RenderBoxModelObject.h:
769         * rendering/RenderInline.cpp:
770         * rendering/RenderInline.h:
771         * rendering/RenderText.h:
772
773 2011-06-29  Levi Weintraub  <leviw@chromium.org>
774
775         Reviewed by Eric Seidel.
776
777         Switch paint to new layout types
778         https://bugs.webkit.org/show_bug.cgi?id=63645
779
780         Switch vanilla paint function over to the new layout unit abstraction.
781
782         No new tests, no functionality changes.
783
784         * rendering/RenderBlock.cpp:
785         (WebCore::RenderBlock::paint):
786         * rendering/RenderBlock.h:
787         * rendering/RenderBox.cpp:
788         (WebCore::RenderBox::paint):
789         * rendering/RenderBox.h:
790         * rendering/RenderDetailsMarker.cpp:
791         (WebCore::RenderDetailsMarker::paint):
792         * rendering/RenderDetailsMarker.h:
793         * rendering/RenderEmbeddedObject.cpp:
794         (WebCore::RenderEmbeddedObject::paint):
795         * rendering/RenderEmbeddedObject.h:
796         * rendering/RenderFrameSet.cpp:
797         (WebCore::RenderFrameSet::paint):
798         * rendering/RenderFrameSet.h:
799         * rendering/RenderImage.cpp:
800         (WebCore::RenderImage::paint):
801         * rendering/RenderImage.h:
802         * rendering/RenderInline.cpp:
803         (WebCore::RenderInline::paint):
804         * rendering/RenderInline.h:
805         * rendering/RenderLineBoxList.h:
806         * rendering/RenderListItem.cpp:
807         (WebCore::RenderListItem::paint):
808         * rendering/RenderListItem.h:
809         * rendering/RenderListMarker.cpp:
810         (WebCore::RenderListMarker::paint):
811         * rendering/RenderListMarker.h:
812         * rendering/RenderObject.h:
813         * rendering/RenderReplaced.cpp:
814         (WebCore::RenderReplaced::paint):
815         * rendering/RenderReplaced.h:
816         * rendering/RenderReplica.cpp:
817         (WebCore::RenderReplica::paint):
818         * rendering/RenderReplica.h:
819         * rendering/RenderTable.cpp:
820         (WebCore::RenderTable::paint):
821         * rendering/RenderTable.h:
822         * rendering/RenderTableCell.cpp:
823         (WebCore::RenderTableCell::paint):
824         * rendering/RenderTableCell.h:
825         * rendering/RenderTableRow.cpp:
826         (WebCore::RenderTableRow::paint):
827         * rendering/RenderTableRow.h:
828         * rendering/RenderTableSection.cpp:
829         (WebCore::RenderTableSection::paint):
830         * rendering/RenderTableSection.h:
831         * rendering/RenderTextControlSingleLine.cpp:
832         (WebCore::RenderTextControlSingleLine::paint):
833         * rendering/RenderTextControlSingleLine.h:
834         * rendering/RenderTheme.h:
835         * rendering/RenderView.cpp:
836         (WebCore::RenderView::paint):
837         * rendering/RenderView.h:
838         * rendering/RenderWidget.cpp:
839         (WebCore::RenderWidget::paint):
840         * rendering/RenderWidget.h:
841         * rendering/mathml/RenderMathMLBlock.h:
842         * rendering/mathml/RenderMathMLFraction.h:
843         * rendering/mathml/RenderMathMLRoot.h:
844         * rendering/mathml/RenderMathMLSquareRoot.h:
845         * rendering/svg/RenderSVGContainer.h:
846         * rendering/svg/RenderSVGForeignObject.h:
847         * rendering/svg/RenderSVGHiddenContainer.h:
848         * rendering/svg/RenderSVGImage.h:
849         * rendering/svg/RenderSVGPath.h:
850         * rendering/svg/RenderSVGRoot.cpp:
851         (WebCore::RenderSVGRoot::paint):
852         * rendering/svg/RenderSVGRoot.h:
853         * rendering/svg/RenderSVGText.h:
854
855 2011-06-29  Jian Li  <jianli@chromium.org>
856
857         Reviewed by Kenneth Russell.
858
859         WebGL test failing on SL bots: fast/canvas/webgl/data-view-test.html 
860         https://bugs.webkit.org/show_bug.cgi?id=63151
861
862         The fix is to change to throw TypeError in custom JS/V8 bindings.
863
864         * bindings/js/JSDataViewCustom.cpp:
865         (WebCore::getDataViewMember):
866         (WebCore::setDataViewMember):
867         * bindings/v8/custom/V8DataViewCustom.cpp:
868         (WebCore::V8DataView::constructorCallback):
869         (WebCore::V8DataView::getInt8Callback):
870
871 2011-06-29  Luke Macpherson   <macpherson@chromium.org>
872
873         Reviewed by Darin Adler.
874
875         Convert uses of computeLengthIntForLength() to computeLength<Length>()
876         https://bugs.webkit.org/show_bug.cgi?id=63641
877
878         No new tests / refactoring only.
879
880         * css/CSSStyleSelector.cpp:
881         (WebCore::convertToLength):
882         (WebCore::CSSStyleSelector::applyProperty):
883         (WebCore::CSSStyleSelector::applyPageSizeProperty):
884         (WebCore::CSSStyleSelector::mmLength):
885         (WebCore::CSSStyleSelector::inchLength):
886         (WebCore::CSSStyleSelector::mapFillSize):
887         (WebCore::CSSStyleSelector::mapFillXPosition):
888         (WebCore::CSSStyleSelector::mapFillYPosition):
889
890 2011-06-29  Chris Rogers  <crogers@google.com>
891
892         Reviewed by Kenneth Russell.
893
894         Simplify AudioBufferSourceNode rendering
895         https://bugs.webkit.org/show_bug.cgi?id=63586
896
897         No new tests since this doesn't change API.
898
899         * webaudio/AudioBufferSourceNode.cpp:
900         (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
901         (WebCore::AudioBufferSourceNode::process):
902         (WebCore::AudioBufferSourceNode::renderFromBuffer):
903         (WebCore::AudioBufferSourceNode::reset):
904         (WebCore::AudioBufferSourceNode::setBuffer):
905         (WebCore::AudioBufferSourceNode::noteOn):
906         (WebCore::AudioBufferSourceNode::noteGrainOn):
907         (WebCore::AudioBufferSourceNode::totalPitchRate):
908         * webaudio/AudioBufferSourceNode.h:
909
910 2011-06-29  Martin Robinson  <mrobinson@igalia.com>
911
912         Reviewed by Xan Lopez.
913
914         [Freetype] Many tests report ERROR: Failed to get glyph page zero.
915         https://bugs.webkit.org/show_bug.cgi?id=63498
916
917         Instead of conditionally instantiating the m_scaledFont member of FontPlatformData,
918         always instantiate it. For times when the size is 0 and the instantiation would lead
919         to a Cairo error, we use size 1 and just make operations which would fail conditional
920         on the m_size > 0.
921
922         No new tests. This change is covered by existing tests. We should
923         observe no errors on the bots after landing.
924
925         * platform/graphics/cairo/FontCairo.cpp:
926         (WebCore::Font::drawGlyphs): Instead of looking at whether or not there is
927         a scaled font to determine whether to draw, just look at the size.
928         * platform/graphics/freetype/FontPlatformData.h: Remove the m_font member.
929         * platform/graphics/freetype/FontPlatformDataFreeType.cpp: Always instantiate
930         a scaled font member and remove references to m_font. If we are instantiating
931         a scaled font for a 0 size font, instantiate a size 1 font, so that we can
932         still use Cairo to query font properties.
933         * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
934         (WebCore::GlyphPage::fill): We can assume there is always a scaled font now.
935         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
936         (WebCore::SimpleFontData::platformInit): Ditto.
937         (WebCore::SimpleFontData::createScaledFontData): Ditto.
938         (WebCore::SimpleFontData::containsCharacters): Ditto.
939         (WebCore::SimpleFontData::platformWidthForGlyph): Ditto.
940
941 2011-06-29  Eric Carlson  <eric.carlson@apple.com>
942
943         Reviewed by Darin Adler.
944
945         Media element loads blocked by a resource load delegate do not generate an error event
946         https://bugs.webkit.org/show_bug.cgi?id=63558
947
948         Tests: media/media-blocked-by-beforeload.html
949                media/media-blocked-by-willsendrequest.html
950
951         * html/HTMLMediaElement.cpp:
952         (WebCore::HTMLMediaElement::selectMediaResource): Call mediaLoadingFailed instead of noneSupported
953             so all failures follow the same code path.
954         (WebCore::HTMLMediaElement::loadResource): Call mediaLoadingFailed when there is no frame, when 
955             the loader delegate rejects the url, or when MediaPlayer doesn't find a media engine that
956             supports the type.
957         (WebCore::HTMLMediaElement::selectNextSourceChild): Fix incorrect logging.
958         (WebCore::HTMLMediaElement::mediaLoadingFailed): Change name of parameter from "state" to
959             "error" to make its purpose obvious.
960
961         * platform/graphics/MediaPlayer.cpp:
962         (WebCore::MediaPlayer::load): Return a bool indicating whether or not the url was given to
963             a media engine.
964         (WebCore::MediaPlayer::loadWithNextMediaEngine): Add some logging.
965         * platform/graphics/MediaPlayer.h:
966
967 2011-06-29  Darin Adler  <darin@apple.com>
968
969         Reviewed by Anders Carlsson.
970
971         [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded
972         https://bugs.webkit.org/show_bug.cgi?id=63483
973
974         Test: fast/loader/create-frame-in-DOMContentLoaded.html
975
976         * loader/FrameLoader.cpp:
977         (WebCore::FrameLoader::init): Added an assertion.
978         (WebCore::FrameLoader::finishedLoadingDocument): Removed a non-helpful #if
979         statement. The rule that we do not call the client when creating the initial
980         empty document was nominally specific to Windows and Chromium but is needed
981         for all platforms.
982
983 2011-06-29  Emil A Eklund  <eae@chromium.org>
984
985         Reviewed by Darin Adler.
986
987         Switch hitTestColumns/Contents/Floats to to new layout types
988         https://bugs.webkit.org/show_bug.cgi?id=63589
989
990         Switch location and size methods for RenderBox over to the new layout unit abstraction.
991
992         No new tests, no functionality changes.
993
994         * rendering/ColumnInfo.h:
995         (WebCore::ColumnInfo::desiredColumnWidth):
996         (WebCore::ColumnInfo::setDesiredColumnWidth):
997         (WebCore::ColumnInfo::columnHeight):
998         (WebCore::ColumnInfo::setColumnCountAndHeight):
999         (WebCore::ColumnInfo::setColumnHeight):
1000         (WebCore::ColumnInfo::updateMinimumColumnHeight):
1001         (WebCore::ColumnInfo::minimumColumnHeight):
1002         * rendering/RenderBlock.cpp:
1003         (WebCore::RenderBlock::addOverflowFromChildren):
1004         (WebCore::RenderBlock::paintColumnRules):
1005         (WebCore::RenderBlock::paintColumnContents):
1006         (WebCore::RenderBlock::hitTestFloats):
1007         (WebCore::RenderBlock::hitTestColumns):
1008         (WebCore::RenderBlock::hitTestContents):
1009         (WebCore::RenderBlock::columnRectAt):
1010         * rendering/RenderBlock.h:
1011         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1012         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1013         * rendering/RenderLayer.cpp:
1014         (WebCore::RenderLayer::hitTestContents):
1015         * rendering/RenderLayer.h:
1016
1017 2011-06-29  Adrienne Walker  <enne@google.com>
1018
1019         Reviewed by James Robinson.
1020
1021         [chromium] Divide by zero in TilingData
1022         https://bugs.webkit.org/show_bug.cgi?id=63305
1023
1024         Add safety checks for empty layers.
1025
1026         * platform/graphics/chromium/LayerTilerChromium.cpp:
1027         (WebCore::LayerTilerChromium::prepareToUpdate):
1028         (WebCore::LayerTilerChromium::reset):
1029         (WebCore::LayerTilerChromium::updateRect):
1030
1031 2011-06-29  Dimitri Glazkov  <dglazkov@chromium.org>
1032
1033         Reviewed by Adam Barth.
1034
1035         Extract setShadowRoot function, harden it in preparation to be exposed to script.
1036         https://bugs.webkit.org/show_bug.cgi?id=63596
1037
1038         Refactoring, covered by existing tests.
1039
1040         * dom/Element.cpp:
1041         (WebCore::validateShadowRoot): Added.
1042         (WebCore::Element::setShadowRoot): Extracted from ensureShadowRoot.
1043         (WebCore::Element::ensureShadowRoot): Changed to use setShadowRoot.
1044         * dom/Element.h: Added decl.
1045
1046 2011-06-29  Vsevolod Vlasov  <vsevik@chromium.org>
1047
1048         Reviewed by Pavel Feldman.
1049
1050         Web Inspector: REGRESSION Resource revision fails to request content if it was not yet loaded for resource.
1051         https://bugs.webkit.org/show_bug.cgi?id=63631
1052
1053         Test: http/tests/inspector/network/network-request-revision-content.html
1054
1055         * inspector/front-end/Resource.js:
1056         (WebInspector.ResourceRevision.prototype.requestContent):
1057
1058 2011-06-29  Igor Oliveira  <igor.oliveira@openbossa.org>
1059
1060         Reviewed by Andreas Kling.
1061
1062         [Qt] GraphicsContext::clipToImageBuffer does not support scale transformation
1063         https://bugs.webkit.org/show_bug.cgi?id=63555
1064
1065         Scale alphaMask if GraphicsContext is scaled
1066
1067         * platform/graphics/qt/GraphicsContextQt.cpp:
1068         (WebCore::GraphicsContext::pushTransparencyLayerInternal):
1069         * platform/graphics/qt/ImageBufferQt.cpp:
1070         (WebCore::ImageBuffer::clip):
1071
1072 2011-06-29  Andrey Kosyakov  <caseq@chromium.org>
1073
1074         Reviewed by Pavel Feldman.
1075
1076         Web Inspector: backend needs to provide system-unique object ids, so these remain unique across navigation
1077         https://bugs.webkit.org/show_bug.cgi?id=62894
1078
1079         * inspector/InspectorController.cpp:
1080         (WebCore::InspectorController::setAgentProcessIdentifier):
1081         * inspector/InspectorController.h:
1082         * inspector/InspectorPageAgent.cpp:
1083         (WebCore::InspectorPageAgent::setAgentIdentifier):
1084         (WebCore::InspectorPageAgent::createIdentifier):
1085         (WebCore::InspectorPageAgent::frameForId):
1086         (WebCore::InspectorPageAgent::frameId):
1087         (WebCore::InspectorPageAgent::frameDestroyed):
1088         * inspector/InspectorPageAgent.h:
1089
1090 2011-06-29  Pavel Feldman  <pfeldman@google.com>
1091
1092         Reviewed by Yury Semikhatsky.
1093
1094         Web Inspector: create status bar buttons programmatically. Add "Inspect" button to all panels.
1095         https://bugs.webkit.org/show_bug.cgi?id=63450
1096
1097         Buttons should be created in code, not in HTML. Also making Inspect Element
1098         action available on all panels (as an experiment).
1099
1100         * inspector/front-end/ConsoleView.js:
1101         (WebInspector.ConsoleView.prototype.show):
1102         (WebInspector.ConsoleView.prototype.hide):
1103         * inspector/front-end/ElementsPanel.js:
1104         (WebInspector.ElementsPanel):
1105         (WebInspector.ElementsPanel.prototype.get statusBarItems):
1106         (WebInspector.ElementsPanel.prototype.updateFocusedNode):
1107         (WebInspector.ElementsPanel.prototype._setSearchingForNode):
1108         (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
1109         * inspector/front-end/inspector.css:
1110         (button.dock-status-bar-item.status-bar-item .glyph):
1111         (button.dock-status-bar-item.status-bar-item.toggled-on .glyph):
1112         (.console-status-bar-item .glyph):
1113         * inspector/front-end/inspector.html:
1114         * inspector/front-end/inspector.js:
1115         (WebInspector._createGlobalStatusBarItems):
1116         (WebInspector.set attached):
1117
1118 2011-06-29  Pavel Feldman  <pfeldman@google.com>
1119
1120         Reviewed by Yury Semikhatsky.
1121
1122         Web Inspector: tab crash after deleting trailing quote when editing attribute
1123         https://bugs.webkit.org/show_bug.cgi?id=63544
1124
1125         * inspector/InspectorDOMAgent.cpp:
1126         (WebCore::InspectorDOMAgent::setAttributesText):
1127         * inspector/front-end/ElementsTreeOutline.js:
1128         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
1129         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
1130
1131 2011-06-29  Vsevolod Vlasov  <vsevik@chromium.org>
1132
1133         Reviewed by Pavel Feldman.
1134
1135         Web Inspector: REGRESSION Inspector failing to load resource content after navigation. Safari.
1136         https://bugs.webkit.org/show_bug.cgi?id=63480
1137
1138         * inspector/front-end/NetworkManager.js:
1139         (WebInspector.NetworkDispatcher):
1140         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
1141
1142 2011-06-29  Mike West  <mkwst@chromium.org>
1143
1144         Reviewed by Pavel Feldman.
1145
1146         Web Inspector: Missing fields in HAR
1147         https://bugs.webkit.org/show_bug.cgi?id=58127
1148         
1149         Specifically, this patch adds:
1150         - entry.request.httpVersion
1151         - entry.request.headersSize
1152         - entry.request.bodySize
1153         - entry.response.httpVersion
1154         - entry.response.headersSize
1155         - entry.response.bodySize
1156         - entry.response.content.compression
1157         
1158         Tests: http/tests/inspector/resource-har-conversion.html
1159                http/tests/inspector/resource-har-headers.html
1160                http/tests/inspector/resource-parameters.html
1161                http/tests/inspector/network/network-size.html
1162
1163         * inspector/front-end/HAREntry.js:
1164         (WebInspector.HAREntry.prototype.build):
1165         (WebInspector.HAREntry.prototype._buildRequest):
1166         (WebInspector.HAREntry.prototype._buildResponse):
1167         (WebInspector.HAREntry.prototype._buildContent):
1168         (WebInspector.HAREntry.prototype._buildCookie):
1169         (WebInspector.HAREntry.prototype._interval):
1170         (WebInspector.HAREntry.prototype.get requestBodySize):
1171         (WebInspector.HAREntry.prototype.get responseBodySize):
1172         (WebInspector.HAREntry.prototype.get responseCompression):
1173         (WebInspector.HARLog.prototype.build):
1174         * inspector/front-end/Resource.js:
1175         (WebInspector.Resource.prototype.set requestHeaders):
1176         (WebInspector.Resource.prototype.get requestHeadersText):
1177         (WebInspector.Resource.prototype.set requestHeadersText):
1178         (WebInspector.Resource.prototype.get requestHeadersSize):
1179         (WebInspector.Resource.prototype.get requestHttpVersion):
1180         (WebInspector.Resource.prototype.set responseHeaders):
1181         (WebInspector.Resource.prototype.get responseHeadersText):
1182         (WebInspector.Resource.prototype.set responseHeadersText):
1183         (WebInspector.Resource.prototype.get responseHeadersSize):
1184         (WebInspector.Resource.prototype.get responseHttpVersion):
1185
1186 2011-06-29  Hayato Ito  <hayato@chromium.org>
1187
1188         Reviewed by Hajime Morita.
1189
1190         Make a shadow host transfer a focus to the first focusable element in the shadow root when its focus() is called.
1191         https://bugs.webkit.org/show_bug.cgi?id=62358.
1192
1193         This patch doesn't take an effect on the following elements to keep a compatibility.
1194         - <input>, <textarea>, <video> and <audio> elements
1195         We'll address these elements separately after re-targeting focus events
1196         (bug 61421) is implemented.
1197
1198         A shadow root's <content> is not considered in this patch.
1199         That should be addressed in another patch. See bug 63522.
1200
1201         Test: fast/dom/shadow/shadow-host-transfer-focus.html
1202
1203         * dom/Element.cpp:
1204         (WebCore::Element::focus):
1205         * page/FocusController.cpp:
1206         (WebCore::shadowRoot):
1207         (WebCore::isTreeScopeOwner):
1208         (WebCore::FocusController::transferFocusToElementInShadowRoot):
1209         (WebCore::hasCustomFocusLogic):
1210         (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
1211         (WebCore::FocusController::advanceFocusInDocumentOrder):
1212         (WebCore::ownerOfTreeScope):
1213         (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
1214         * page/FocusController.h:
1215
1216 2011-06-29  Ryan Sleevi  <rsleevi@chromium.org>
1217
1218         Reviewed by Dirk Schulze.
1219
1220         SVGRadialGradientElement::selfHasRelativeLengths() doesn't consider if cx() is relative
1221         https://bugs.webkit.org/show_bug.cgi?id=61600
1222
1223         Correct the logic for checking for relative lengths in a SVGRadialGradientElement to consider cx() in addition to cy()
1224         
1225         No new tests, as there is no way to currently test this. With the bug present, a side-effect is causing the
1226         expected/correct image to be rendered. This is because the cached SVG resource is getting invalided through a
1227         different path, forcing a repaint. The repaint takes into consideration the proper dimensions, hiding the bug.
1228
1229         * svg/SVGRadialGradientElement.cpp:
1230         (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
1231
1232 2011-06-28  Dirk Schulze  <krit@webkit.org>
1233
1234         Reviewed by Nikolas Zimmermann.
1235
1236         SVGAnimatedType should support SVGBoolean animation
1237         https://bugs.webkit.org/show_bug.cgi?id=63529
1238
1239         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
1240         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGBoolean.
1241         
1242         The new animator does not affect any behavior, since it was animated with SVGAnimatedString before. The new animator is still needed
1243         to support animVal and baseVal later.
1244
1245         Test: svg/animations/svgboolean-animation-1.html
1246
1247         * CMakeLists.txt: Add new file to build system.
1248         * GNUmakefile.list.am: Ditto.
1249         * WebCore.gypi: Ditto.
1250         * WebCore.pro: Ditto.
1251         * WebCore.xcodeproj/project.pbxproj: Ditto.
1252         * svg/SVGAllInOne.cpp: Ditto.
1253         * svg/SVGAnimateElement.cpp: Make use of AnimatedBoolean.
1254         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
1255         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1256         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1257         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1258         (WebCore::SVGAnimateElement::resetToBaseValue):
1259         (WebCore::SVGAnimateElement::applyResultsToTarget):
1260         (WebCore::SVGAnimateElement::calculateDistance):
1261         * svg/SVGAnimatedBoolean.cpp: Added. New animator for SVGBoolean.
1262         (WebCore::SVGAnimatedBooleanAnimator::SVGAnimatedBooleanAnimator):
1263         (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
1264         (WebCore::SVGAnimatedBooleanAnimator::calculateFromAndToValues):
1265         (WebCore::SVGAnimatedBooleanAnimator::calculateFromAndByValues):
1266         (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
1267         (WebCore::SVGAnimatedBooleanAnimator::calculateDistance):
1268         * svg/SVGAnimatedBoolean.h:
1269         (WebCore::SVGAnimatedBooleanAnimator::~SVGAnimatedBooleanAnimator):
1270         * svg/SVGAnimatedType.cpp: Use bool for SVGBoolean.
1271         (WebCore::SVGAnimatedType::~SVGAnimatedType):
1272         (WebCore::SVGAnimatedType::createBoolean):
1273         (WebCore::SVGAnimatedType::boolean):
1274         (WebCore::SVGAnimatedType::valueAsString):
1275         (WebCore::SVGAnimatedType::setValueAsString):
1276         * svg/SVGAnimatedType.h:
1277         * svg/SVGAnimatorFactory.h: New crate function for SVGAnimatedSVGBooleanAnimator.
1278         (WebCore::SVGAnimatorFactory::create):
1279
1280 2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>
1281
1282         Reviewed by Adam Barth.
1283
1284         Make applyAuthorSheets settable on ShadowRoot.
1285         https://bugs.webkit.org/show_bug.cgi?id=63599
1286
1287         Refactoring and adding not-yet used function, tests to follow when API lands.
1288
1289         * dom/ShadowRoot.cpp:
1290         (WebCore::ShadowRoot::ShadowRoot): Added initializer.
1291         (WebCore::ShadowRoot::applyAuthorSheets): Made to use member variable.
1292         (WebCore::ShadowRoot::setApplyAuthorSheets): Added.
1293         * dom/ShadowRoot.h: Tweaked, added decls.
1294
1295 2011-06-28  Ilya Sherman  <isherman@chromium.org>
1296
1297         Reviewed by Adam Barth.
1298
1299         form.autocomplete="off" does not work
1300         Rename the autoComplete() method for HTMLFormElement, HTMLFormControlElementWithState, and HTMLInputElement to shouldAutocomplete()
1301         Add the autocomplete attribute to HTMLFormElement.idl and HTMLInputElement.idl
1302         https://bugs.webkit.org/show_bug.cgi?id=35823
1303
1304         Test: fast/forms/autocomplete.html
1305
1306         * html/HTMLFormControlElement.cpp:
1307         (WebCore::HTMLFormControlElementWithState::shouldAutocomplete): Renamed from ::autoComplete()
1308         (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState): Update callsite.
1309         * html/HTMLFormControlElement.h:
1310         * html/HTMLFormElement.cpp:
1311         (WebCore::HTMLFormElement::~HTMLFormElement): Update callsite.
1312         (WebCore::HTMLFormElement::parseMappedAttribute): Update callsite.
1313         (WebCore::HTMLFormElement::documentDidBecomeActive): Update callsite.
1314         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Update callsite.
1315         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Update callsite.
1316         (WebCore::HTMLFormElement::shouldAutocomplete): Renamed from ::autoComplete()
1317         * html/HTMLFormElement.h:
1318         * html/HTMLFormElement.idl: Bind the autocomplete attribute to a JavaScript property.
1319         * html/HTMLInputElement.cpp:
1320         (WebCore::HTMLInputElement::shouldAutocomplete): Renamed from ::autoComplete()
1321         * html/HTMLInputElement.h:
1322         * html/HTMLInputElement.idl: Bind the autocomplete attribute to a JavaScript property.
1323         * WebCore.exp.in: Updated autoComplete() -> shouldAutocomplete()
1324
1325 2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>
1326
1327         Reviewed by Kent Tamura.
1328
1329         Store shadowPseudoId in ElementRareData.
1330         https://bugs.webkit.org/show_bug.cgi?id=63604
1331
1332         No new tests, because the code isn't yet used.
1333
1334         * css/CSSSelector.cpp:
1335         (WebCore::CSSSelector::isUnknownPseudoType): Added convenience helper.
1336         * css/CSSSelector.h: Added decl.
1337         * dom/Element.cpp:
1338         (WebCore::Element::shadowPseudoId): Changed to use ElementRareData.
1339         (WebCore::Element::setShadowPseudoId): Ditto.
1340         * dom/Element.h: Added decls.
1341         * dom/ElementRareData.h: Added a member to keep shadowPseudoId.
1342
1343 2011-06-28  Kenichi Ishibashi  <bashi@chromium.org>
1344
1345         Reviewed by Tony Chang.
1346
1347         [Chromium] Remove dependencies on harfbuzz from FontPlatformDataLinux and FontLinux
1348         https://bugs.webkit.org/show_bug.cgi?id=62530
1349
1350         - Moved codes of FontLinux which depend on harfbuzz APIs to ComplexTextController.  Removed Some methods of ComplexTextController(advances() and logClusters()) since they are no longer needed.
1351         - Moved RefCountedHarfbuzzFace from FontPlatformDataLinux to HarfbuzzSkia and renamed it to HarfbuzzFace.
1352
1353         No new tests because there is no behavior change (The existing tests should cover the changes).
1354
1355         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
1356         (WebCore::ComplexTextController::ComplexTextController): Added arguments so eliminating setter invocations.
1357         (WebCore::ComplexTextController::setupForRTL): Added.
1358         (WebCore::ComplexTextController::setupFontForScriptRun): Adopt the change of HarfbuzzFace class.
1359         (WebCore::ComplexTextController::setGlyphPositions): Use m_item.log_clusters instead of removed method.
1360         (WebCore::ComplexTextController::glyphIndexForXPositionInScriptRun): Added.
1361         (WebCore::ComplexTextController::offsetForPosition): Ditto.
1362         (WebCore::ComplexTextController::selectionRect): Ditto.
1363         * platform/graphics/chromium/ComplexTextControllerLinux.h:
1364         (WebCore::ComplexTextController::width):
1365         * platform/graphics/chromium/FontLinux.cpp: Removed truncateFixedPointToInteger().
1366         (WebCore::Font::drawComplexText): Removed setter invocations of ComplexTextController.
1367         (WebCore::Font::floatWidthForComplexText): Ditto.
1368         (WebCore::Font::offsetForPositionForComplexText): Moved harfbuzz dependent code to ComplexTextController.
1369         (WebCore::Font::selectionRectForComplexText): Ditto.
1370         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1371         (WebCore::FontPlatformData::harfbuzzFace): Wrapped up HB_FaceRec in HarfbuzzFace class.
1372         * platform/graphics/chromium/FontPlatformDataLinux.h: Moved RefCountedHarfbuzzFace class and renamed to HarfbuzzFace.
1373         * platform/graphics/chromium/HarfbuzzSkia.cpp:
1374         (WebCore::allocHarfbuzzFont): Moved from ComplexTextControllerLinux.cpp.
1375         (WebCore::HarfbuzzFace::HarfbuzzFace): Added.
1376         (WebCore::HarfbuzzFace::~HarfbuzzFace): Added.
1377         * platform/graphics/chromium/HarfbuzzSkia.h:
1378         (WebCore::HarfbuzzFace::create): Added.
1379         (WebCore::HarfbuzzFace::face): Added.
1380         * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
1381         (WebCore::substituteWithVerticalGlyphs): Adopt  the change of HarfbuzzFace class.
1382
1383 2011-06-28  Roland Steiner  <rolandsteiner@chromium.org>
1384
1385         Reviewed by Eric Seidel.
1386
1387         Bug 55930 - (CVE-2011-1440) Incorrect handling of 'display:' property within nested <ruby> tags
1388         https://bugs.webkit.org/show_bug.cgi?id=55930
1389
1390         Don't set style type BEFORE/AFTER on anonymous wrapper block.
1391         Rather, check style type on generated wrapped child.
1392
1393         Tests: fast/ruby/generated-after-counter-doesnt-crash.html
1394                fast/ruby/generated-before-and-after-counter-doesnt-crash.html
1395                fast/ruby/generated-before-counter-doesnt-crash.html
1396
1397         * rendering/RenderRuby.cpp:
1398         (WebCore::isAnonymousRubyInlineBlock):
1399         (WebCore::isRubyBeforeBlock):
1400         (WebCore::isRubyAfterBlock):
1401         (WebCore::rubyBeforeBlock):
1402         (WebCore::rubyAfterBlock):
1403         (WebCore::createAnonymousRubyInlineBlock):
1404         (WebCore::RenderRubyAsInline::addChild):
1405         (WebCore::RenderRubyAsBlock::addChild):
1406
1407 2011-06-28  Emil A Eklund  <eae@chromium.org>
1408
1409         Reviewed by Eric Seidel.
1410
1411         Switch RenderLayer position/size to to new layout types
1412         https://bugs.webkit.org/show_bug.cgi?id=63578
1413
1414         Switch location and size methods for RenderLayer over to the new layout unit abstraction.
1415         
1416         No new tests, no functionality changes.
1417
1418         * rendering/RenderLayer.cpp:
1419         (WebCore::RenderLayer::resize):
1420         (WebCore::RenderLayer::visibleHeight):
1421         (WebCore::RenderLayer::visibleWidth):
1422         (WebCore::RenderLayer::offsetFromResizeCorner):
1423         * rendering/RenderLayer.h:
1424         (WebCore::RenderLayer::location):
1425         (WebCore::RenderLayer::setLocation):
1426         (WebCore::RenderLayer::size):
1427         (WebCore::RenderLayer::setSize):
1428         (WebCore::RenderLayer::rect):
1429         (WebCore::RenderLayer::renderBoxLocation):
1430         (WebCore::RenderLayer::renderBoxX):
1431         (WebCore::RenderLayer::renderBoxY):
1432         * rendering/RenderListBox.cpp:
1433         (WebCore::RenderListBox::visibleHeight):
1434         (WebCore::RenderListBox::visibleWidth):
1435         * rendering/RenderListBox.h:
1436
1437 2011-06-28  Levi Weintraub  <leviw@chromium.org>
1438
1439         Reviewed by Eric Seidel.
1440
1441         Switch paintObject and paintReplaced to new layout types
1442         https://bugs.webkit.org/show_bug.cgi?id=63585
1443
1444         Switching paintObject and paintReplaced to layout type abstractions from more integral types.
1445
1446         No new tests as this is just moving to an abstraction.
1447
1448         * rendering/RenderBlock.cpp:
1449         (WebCore::RenderBlock::paintObject):
1450         * rendering/RenderBlock.h:
1451         * rendering/RenderBox.h:
1452         (WebCore::RenderBox::paintObject):
1453         * rendering/RenderEmbeddedObject.cpp:
1454         (WebCore::RenderEmbeddedObject::paintReplaced):
1455         * rendering/RenderEmbeddedObject.h:
1456         * rendering/RenderFileUploadControl.cpp:
1457         (WebCore::RenderFileUploadControl::paintObject):
1458         * rendering/RenderFileUploadControl.h:
1459         * rendering/RenderHTMLCanvas.cpp:
1460         (WebCore::RenderHTMLCanvas::paintReplaced):
1461         * rendering/RenderHTMLCanvas.h:
1462         * rendering/RenderImage.cpp:
1463         (WebCore::RenderImage::paintReplaced):
1464         * rendering/RenderImage.h:
1465         * rendering/RenderListBox.cpp:
1466         (WebCore::RenderListBox::paintObject):
1467         * rendering/RenderListBox.h:
1468         * rendering/RenderReplaced.h:
1469         (WebCore::RenderReplaced::paintReplaced):
1470         * rendering/RenderTable.cpp:
1471         (WebCore::RenderTable::paintObject):
1472         * rendering/RenderTable.h:
1473         * rendering/RenderTableSection.cpp:
1474         (WebCore::RenderTableSection::paintObject):
1475         * rendering/RenderTableSection.h:
1476         * rendering/RenderTextControl.cpp:
1477         (WebCore::RenderTextControl::paintObject):
1478         * rendering/RenderTextControl.h:
1479         * rendering/RenderVideo.cpp:
1480         (WebCore::RenderVideo::paintReplaced):
1481         * rendering/RenderVideo.h:
1482
1483 2011-06-28  Adam Langley  <agl@chromium.org>
1484
1485         Reviewed by Adam Barth.
1486
1487         Skip cache validation on back with HTTPS.
1488         https://bugs.webkit.org/show_bug.cgi?id=63537
1489
1490         For back navigations over HTTP, WebKit sets a flag to use cached data
1491         irrespective of whether it has expired. However, this isn't currently
1492         done for HTTPS.
1493
1494         The logic in question was added in
1495         https://bugs.webkit.org/show_bug.cgi?id=33993 and appears to have been
1496         precautionary. However, both Firefox and IE will use this back
1497         navigation trick for HTTPS as well and so we should probably behave
1498         likewise.
1499
1500         Test: http/tests/cache/history-only-cached-subresource-loads-max-age-https.html
1501
1502         * loader/FrameLoader.cpp:
1503         (WebCore::FrameLoader::addExtraFieldsToRequest):
1504
1505 2011-06-28  Dimitri Glazkov  <dglazkov@chromium.org>
1506
1507         Reviewed by Adam Barth.
1508
1509         Remove errant isShadowBoundary on ShadowRoot.
1510         https://bugs.webkit.org/show_bug.cgi?id=63588
1511
1512         Removing dead code, no tests for that.
1513
1514         * dom/ShadowRoot.h: Removed a function that's no longer used.
1515
1516 2011-06-28  Zeng Huiqing  <huiqing.zeng@intel.com>
1517
1518         Reviewed by Kenneth Russell.
1519
1520         [chromium]Optimize GraphicsLayerChromium::setChildren()
1521         https://bugs.webkit.org/show_bug.cgi?id=62837
1522
1523         No new tests. 
1524
1525         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1526         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1527         (WebCore::GraphicsLayerChromium::setChildren):
1528         (WebCore::GraphicsLayerChromium::addChild):
1529         * platform/graphics/chromium/GraphicsLayerChromium.h:
1530
1531 2011-06-28  Levi Weintraub  <leviw@chromium.org>
1532
1533         Reviewed by Eric Seidel.
1534
1535         Switch paintBoxShadow and paintBoxDecorations to new layout types
1536         https://bugs.webkit.org/show_bug.cgi?id=63577
1537
1538         Switching paintBoxShadow and paintBoxDecorations to layout type abstraction 
1539         from more integral types.
1540
1541         No new tests as this is just moving to an abstraction.
1542
1543         * rendering/InlineFlowBox.cpp:
1544         (WebCore::InlineFlowBox::paintBoxShadow):
1545         (WebCore::InlineFlowBox::paintBoxDecorations):
1546         * rendering/InlineFlowBox.h:
1547         * rendering/RenderBox.cpp:
1548         (WebCore::RenderBox::paintBoxDecorations):
1549         * rendering/RenderBox.h:
1550         * rendering/RenderBoxModelObject.cpp:
1551         (WebCore::RenderBoxModelObject::paintBoxShadow):
1552         * rendering/RenderBoxModelObject.h:
1553         * rendering/RenderFieldset.cpp:
1554         (WebCore::RenderFieldset::paintBoxDecorations):
1555         * rendering/RenderFieldset.h:
1556         * rendering/RenderTable.cpp:
1557         (WebCore::RenderTable::paintBoxDecorations):
1558         * rendering/RenderTable.h:
1559         * rendering/RenderTableCell.cpp:
1560         (WebCore::RenderTableCell::paintBoxDecorations):
1561         * rendering/RenderTableCell.h:
1562         * rendering/RenderView.cpp:
1563         (WebCore::RenderView::paintBoxDecorations):
1564         * rendering/RenderView.h:
1565
1566 2011-06-28  Emil A Eklund  <eae@chromium.org>
1567
1568         Reviewed by Eric Seidel.
1569
1570         Switch RenderBox position/size to to new layout types
1571         https://bugs.webkit.org/show_bug.cgi?id=63571
1572
1573         Switch location and size methods for RenderBox over to the new layout unit abstraction.
1574
1575         No new tests, no functionality changes.
1576
1577         * rendering/RenderBox.cpp:
1578         * rendering/RenderBox.h:
1579         * rendering/RenderBoxModelObject.cpp:
1580         * rendering/RenderBoxModelObject.h:
1581         * rendering/RenderInline.cpp:
1582         * rendering/RenderInline.h:
1583         * rendering/RenderVideo.cpp:
1584         * rendering/RenderVideo.h:
1585
1586 2011-06-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1587
1588         Unreviewed, rolling out r89968.
1589         http://trac.webkit.org/changeset/89968
1590         https://bugs.webkit.org/show_bug.cgi?id=63581
1591
1592         Broke chromium windows compile (Requested by jamesr on
1593         #webkit).
1594
1595         * WebCore.gyp/WebCore.gyp:
1596         * loader/cache/CachedFont.cpp:
1597         * platform/chromium/DragImageRef.h:
1598         * platform/graphics/FloatPoint.h:
1599         * platform/graphics/FloatRect.h:
1600         * platform/graphics/FloatSize.h:
1601         * platform/graphics/FontPlatformData.h:
1602         (WebCore::FontPlatformData::hash):
1603         * platform/graphics/GlyphBuffer.h:
1604         (WebCore::GlyphBuffer::advanceAt):
1605         (WebCore::GlyphBuffer::add):
1606         (WebCore::GlyphBuffer::expandLastAdvance):
1607         * platform/graphics/IntPoint.h:
1608         * platform/graphics/IntRect.h:
1609         * platform/graphics/IntSize.h:
1610         * platform/graphics/SimpleFontData.h:
1611         * platform/graphics/cg/FloatPointCG.cpp:
1612         * platform/graphics/cg/FloatRectCG.cpp:
1613         * platform/graphics/cg/FloatSizeCG.cpp:
1614         * platform/graphics/cg/IntPointCG.cpp:
1615         * platform/graphics/cg/IntRectCG.cpp:
1616         * platform/graphics/cg/IntSizeCG.cpp:
1617         * platform/graphics/mac/FontCustomPlatformData.cpp:
1618         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1619         (WebCore::createFontCustomPlatformData):
1620         * platform/graphics/mac/FontCustomPlatformData.h:
1621         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1622
1623 2011-06-28  Levi Weintraub  <leviw@chromium.org>
1624
1625         Reviewed by Eric Seidel.
1626
1627         Switch PaintMask* to new layout types
1628         https://bugs.webkit.org/show_bug.cgi?id=63576
1629
1630         Switching paintMask* to layout type abstraction from more integral types.
1631
1632         No new tests as this is just moving to an abstraction.
1633
1634         * rendering/InlineFlowBox.cpp:
1635         (WebCore::InlineFlowBox::paintMask):
1636         * rendering/InlineFlowBox.h:
1637         * rendering/RenderBox.cpp:
1638         (WebCore::RenderBox::paintMask):
1639         (WebCore::RenderBox::paintMaskImages):
1640         * rendering/RenderBox.h:
1641         * rendering/RenderFieldset.cpp:
1642         (WebCore::RenderFieldset::paintMask):
1643         * rendering/RenderFieldset.h:
1644         * rendering/RenderTable.cpp:
1645         (WebCore::RenderTable::paintMask):
1646         * rendering/RenderTable.h:
1647         * rendering/RenderTableCell.cpp:
1648         (WebCore::RenderTableCell::paintMask):
1649         * rendering/RenderTableCell.h:
1650
1651 2011-06-28  Levi Weintraub  <leviw@chromium.org>
1652
1653         Reviewed by Eric Seidel.
1654
1655         Switch paintFillLayer* to new layout types
1656         https://bugs.webkit.org/show_bug.cgi?id=63570
1657
1658         Switching painFillLayer* to layout type abstraction from more integral types.
1659
1660         No new tests as this is just moving to an abstraction.
1661
1662         * rendering/InlineFlowBox.cpp:
1663         (WebCore::InlineFlowBox::paintFillLayers):
1664         (WebCore::InlineFlowBox::paintFillLayer):
1665         * rendering/InlineFlowBox.h:
1666         * rendering/RenderBox.cpp:
1667         (WebCore::RenderBox::paintFillLayers):
1668         (WebCore::RenderBox::paintFillLayer):
1669         * rendering/RenderBox.h:
1670         * rendering/RenderBoxModelObject.cpp:
1671         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1672         * rendering/RenderBoxModelObject.h:
1673         * rendering/RenderObject.h:
1674
1675 2011-06-28  Luke Macpherson   <macpherson@chromium.org>
1676
1677         Reviewed by Eric Seidel.
1678
1679         Use appropriate macro for CSSPropertyWebkitAppearance in CSSStyleSelector::applyProperty()
1680         https://bugs.webkit.org/show_bug.cgi?id=63197
1681
1682         No new tests / no functionality changed.
1683
1684         * css/CSSStyleSelector.cpp:
1685         (WebCore::CSSStyleSelector::applyProperty):
1686         Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro and delete duplicate code.
1687
1688 2011-06-28  Cary Clark  <caryclark@google.com>
1689
1690         Reviewed by James Robinson.
1691
1692         Use Skia if Skia on Mac Chrome is enabled
1693         https://bugs.webkit.org/show_bug.cgi?id=62999
1694
1695         No new tests. This does not affect existing
1696         functionality.
1697
1698         * WebCore.gyp/WebCore.gyp:
1699         Include Skia and related files and exclude CG
1700         and related files when building Chromium for Skia
1701         on the Mac.
1702
1703         * loader/cache/CachedFont.cpp:
1704         Rename CHROME to CHROMIUM.
1705
1706         * platform/chromium/DragImageRef.h:
1707         * platform/graphics/FloatPoint.h:
1708         * platform/graphics/FloatRect.h:
1709         * platform/graphics/FloatSize.h:
1710         * platform/graphics/FontPlatformData.h:
1711         (WebCore::FontPlatformData::hash):
1712         * platform/graphics/GlyphBuffer.h:
1713         (WebCore::GlyphBuffer::advanceAt):
1714         (WebCore::GlyphBuffer::add):
1715         (WebCore::GlyphBuffer::expandLastAdvance):
1716         * platform/graphics/IntPoint.h:
1717         * platform/graphics/IntRect.h:
1718         * platform/graphics/IntSize.h:
1719         * platform/graphics/SimpleFontData.h:
1720         * platform/graphics/cg/FloatPointCG.cpp:
1721         * platform/graphics/cg/FloatRectCG.cpp:
1722         * platform/graphics/cg/FloatSizeCG.cpp:
1723         * platform/graphics/cg/IntPointCG.cpp:
1724         * platform/graphics/cg/IntRectCG.cpp:
1725         * platform/graphics/cg/IntSizeCG.cpp:
1726         * platform/graphics/mac/FontCustomPlatformData.cpp:
1727         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1728         (WebCore::createFontCustomPlatformData):
1729         * platform/graphics/mac/FontCustomPlatformData.h:
1730         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1731         Ditto.
1732
1733 2011-06-28  Ryosuke Niwa  <rniwa@webkit.org>
1734
1735         Reviewed by Darin Adler.
1736
1737         Stop instantiating Position with PositionIsOffsetInAnchor in various files
1738         https://bugs.webkit.org/show_bug.cgi?id=63384
1739
1740         Refactoring.
1741
1742         Removed many if conditions that compared the anchor type to Position::PositionIsOffsetInAnchor
1743         because there were also checking that containerNode is a text node.
1744
1745         Also added Position::containerText() to avoid manually casting containerNode().
1746
1747         * dom/Position.cpp:
1748         (WebCore::Position::Position): Added an assertion to ensure BeforeChildren/AfterChildren
1749         anchor type won't be used for a node whose contents is ignored by editing.
1750         (WebCore::Position::containerText): Added.
1751         * dom/Position.h:
1752         * editing/ApplyBlockElementCommand.cpp:
1753         (WebCore::isNewLineAtPosition): Removed a redundant comparison of anchor type.
1754         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Since containerNode
1755         is always a text node when renderStyleOfEnclosingTextNode returns a render style, use new Position
1756         constructor that takes Text* and offset.
1757         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Removed redundant
1758         comparison of anchor type and use new Position constructor that takes Text* and offset.
1759         * editing/ApplyStyleCommand.cpp:
1760         (WebCore::ApplyStyleCommand::splitTextAtStart): Replaced an assertion that compared anchor type by
1761         an assertion that the container node is a text node; use new constructor.
1762         (WebCore::ApplyStyleCommand::splitTextAtEnd): Ditto; also added early exits in the case script
1763         modified DOM.
1764         (WebCore::ApplyStyleCommand::splitTextElementAtStart): Ditto.
1765         (WebCore::ApplyStyleCommand::splitTextElementAtEnd): Ditto.
1766         (WebCore::ApplyStyleCommand::joinChildTextNodes): Use new constructor.
1767         * editing/CompositeEditCommand.cpp:
1768         (WebCore::Editor::replaceSelectedTextInNode): Calls containerText instead of manually casting containerNode.
1769         * editing/Editor.cpp:
1770         (WebCore::Editor::canDeleteRange): Call Range::startPosition instead of manually instantiating Position
1771         by calling startContainer and startOffset.
1772         * editing/FrameSelection.cpp:
1773         (WebCore::FrameSelection::setSelectedRange): Ditto.
1774         * editing/InsertTextCommand.cpp:
1775         (WebCore::InsertTextCommand::input): Calls containerText instead of manually casting containerNode.
1776         * editing/ReplaceSelectionCommand.cpp:
1777         (WebCore::ReplaceSelectionCommand::doApply): Calls containerText instead of manually casting containerNode.
1778         * editing/VisiblePosition.cpp:
1779         (WebCore::VisiblePosition::characterAfter): Removed a redundant anchor type comparison.
1780         (WebCore::startVisiblePosition): Call Range::startPosition instead of startContainer and startOffset.
1781         (WebCore::endVisiblePosition): Call Range::endPosition instead of endContainer and endOffset.
1782         * editing/htmlediting.cpp:
1783         (WebCore::firstInSpecialElement): Call containerNode() to address <rdar://problem/5027702>.
1784         (WebCore::lastInSpecialElement): Ditto; use new constructor.
1785         * editing/visible_units.cpp:
1786         (WebCore::endPositionForLine): Use new constructor.
1787         (WebCore::startOfParagraph): Ditto.
1788         (WebCore::endOfParagraph): Ditto.
1789
1790 2011-06-28  Rob Buis  <rbuis@rim.com>
1791
1792         Reviewed by Nikolas Zimmermann.
1793
1794         SVG1.1SE test text-tref-03-b.svg fails
1795         https://bugs.webkit.org/show_bug.cgi?id=63390
1796
1797         Support tref on forward referenced content by listening to DOMSubtreeModified events. This also
1798         allows updating after modifications in the referenced content subtree.
1799
1800         Tests: svg/W3C-SVG-1.1-SE/text-tref-03-b.svg
1801                svg/custom/text-tref-03-b-change-href-dom.svg
1802                svg/custom/text-tref-03-b-change-href.svg
1803                svg/custom/text-tref-03-b-dynamic.svg
1804                svg/custom/text-tref-03-b-dynamic2.svg
1805                svg/custom/text-tref-03-b-referenced-element-removal.svg
1806                svg/custom/text-tref-03-b-tref-removal.svg
1807
1808         * svg/SVGTRefElement.cpp:
1809         (WebCore::SubtreeModificationEventListener::create):
1810         (WebCore::SubtreeModificationEventListener::cast):
1811         (WebCore::SubtreeModificationEventListener::removeFromTarget):
1812         (WebCore::SubtreeModificationEventListener::SubtreeModificationEventListener):
1813         (WebCore::SubtreeModificationEventListener::operator==):
1814         (WebCore::SubtreeModificationEventListener::handleEvent):
1815         (WebCore::SVGTRefElement::updateReferencedText):
1816         (WebCore::SVGTRefElement::parseMappedAttribute):
1817         (WebCore::SVGTRefElement::svgAttributeChanged):
1818         (WebCore::SVGTRefElement::buildPendingResource):
1819         (WebCore::SVGTRefElement::removedFromDocument):
1820         * svg/SVGTRefElement.h:
1821
1822 2011-06-28  Abhishek Arya  <inferno@chromium.org>
1823
1824         Reviewed by Anders Carlsson.
1825
1826         Split the string creation into a local (while creating text runs)
1827         so that it is not destroyed prematurely.
1828         https://bugs.webkit.org/show_bug.cgi?id=63543
1829
1830         Run fast/forms/text-control-intrinsic-widths.html under valgrind/ASAN.       
1831         * rendering/RenderFileUploadControl.cpp:
1832         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
1833         this one is just done for caution, in case, we don't do the same
1834         mistake when adding legacy rounding hacks option.
1835         * rendering/RenderTextControl.cpp:
1836         (WebCore::RenderTextControl::getAvgCharWidth):
1837
1838 2011-06-28  Greg Simon  <gregsimon@chromium.org>
1839
1840         Reviewed by Dimitri Glazkov.
1841
1842         Migrate SQLite backing store to LevelDB backing store for Indexeddb.
1843         https://bugs.webkit.org/show_bug.cgi?id=62780
1844
1845         * storage/IDBFactoryBackendImpl.cpp:
1846         (WebCore::computeFileIdentifier):
1847         (WebCore::computeUniqueIdentifier):
1848         (WebCore::IDBFactoryBackendImpl::open):
1849         (WebCore::migrateObjectStores):
1850         (WebCore::IDBFactoryBackendImpl::migrateFromSQLiteToLevelDB):
1851         * storage/IDBLevelDBBackingStore.cpp:
1852         (WebCore::IDBLevelDBBackingStore::backingStoreExists):
1853         * storage/IDBLevelDBBackingStore.h:
1854         * storage/IDBObjectStoreBackendImpl.cpp:
1855         (WebCore::IDBObjectStoreBackendImpl::populateIndex):
1856         * storage/IDBObjectStoreBackendImpl.h:
1857         * storage/IDBSQLiteBackingStore.cpp:
1858         (WebCore::IDBSQLiteBackingStore::backingStoreExists):
1859         * storage/IDBSQLiteBackingStore.h:
1860
1861 2011-06-28  Levi Weintraub  <leviw@chromium.org>
1862
1863         Reviewed by Darin Adler.
1864
1865         Create intermediate classes as a path towards getting off of pixel offsets
1866         https://bugs.webkit.org/show_bug.cgi?id=61896
1867
1868         Creating three intermediate typedefs to aid in moving layout and hit testing from integers
1869         to floats. We'll transition the render tree over to these intermediate types and add
1870         infrastructure to support the new types behind USE(FLOAT_LAYOUT_OFFSETS). This allows the ultimate
1871         changeover to be easier.
1872
1873         Switching LayoutState over to this abstraction to verify it works correctly.
1874
1875         No new tests since this is creating a new abstraction, not changing current behavior.
1876
1877         * GNUmakefile.list.am:
1878         * WebCore.gypi:
1879         * WebCore.pro:
1880         * WebCore.vcproj/WebCore.vcproj:
1881         * WebCore.xcodeproj/project.pbxproj:
1882         * rendering/LayoutState.cpp:
1883         (WebCore::LayoutState::LayoutState):
1884         (WebCore::LayoutState::pageLogicalOffset):
1885         (WebCore::LayoutState::addForcedColumnBreak):
1886         * rendering/LayoutState.h:
1887         * rendering/LayoutTypes.h: Added.
1888
1889 2011-06-28  Jeff Miller  <jeffm@apple.com>
1890
1891         Add fullscreen.css and fullscreenQuickTime.css to the WebCore Visual Studio project for convenience.
1892         Looks like Visual Studio also re-sorted one more file since my last checkin.
1893
1894         * WebCore.vcproj/WebCore.vcproj:
1895
1896 2011-06-28  Jeff Miller  <jeffm@apple.com>
1897
1898         Re-sort the WebCore project with Visual Studio after recent changes that I assume were done by manually editing the XML.
1899
1900         * WebCore.vcproj/WebCore.vcproj:
1901
1902 2011-06-28  Joone Hur  <joone.hur@collabora.co.uk>
1903
1904         Reviewed by Martin Robinson.
1905
1906         [GTK] Rename 3D transforms to 3D rendering
1907         https://bugs.webkit.org/show_bug.cgi?id=63508
1908
1909         This patch allows to include ENABLE_3D_RENDERING to build WebKitGtk+.
1910
1911         * GNUmakefile.am: Add ENABLE_3D_RENDERING
1912
1913 2011-06-22  Pavel Podivilov  <podivilov@chromium.org>
1914
1915         Reviewed by Yury Semikhatsky.
1916
1917         Web Inspector: use column numbers when linking to script location in timeline and console.
1918         https://bugs.webkit.org/show_bug.cgi?id=63126
1919
1920         * inspector/front-end/ConsoleView.js:
1921         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
1922         * inspector/front-end/TimelinePanel.js:
1923         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1924         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
1925
1926 2011-06-28  Joone Hur  <joone.hur@collabora.co.uk>
1927
1928         Reviewed by Martin Robinson.
1929
1930         [GTK] Allow to build WebKitGtk+ with accelerated compositing
1931         https://bugs.webkit.org/show_bug.cgi?id=63404
1932
1933         WebKitGtk+ needs to implement accelerated compositing for running CSS3 3D transforms 
1934         and animation through GPU acceleration. We could implement GraphicsLayer using Clutter.
1935
1936         * GNUmakefile.list.am:
1937         * platform/graphics/clutter/GraphicsLayerClutter.cpp: Added.
1938         (WebCore::GraphicsLayer::create): Not implemented yet.
1939         (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
1940         (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
1941         (WebCore::GraphicsLayerClutter::setNeedsDisplay): Ditto.
1942         (WebCore::GraphicsLayerClutter::setNeedsDisplayInRect): Ditto.
1943         * platform/graphics/clutter/GraphicsLayerClutter.h: Added.
1944
1945 2011-06-28  Dan Bernstein  <mitz@apple.com>
1946
1947         Reviewed by Darin Adler.
1948
1949         REGRESSION (r89733): fast/text/zero-font-size.html is failing on Leopard
1950         https://bugs.webkit.org/show_bug.cgi?id=63512
1951
1952         * platform/graphics/mac/SimpleFontDataMac.mm:
1953         (WebCore::SimpleFontData::platformWidthForGlyph): Initialize the advance local variable, because
1954         on Leopard wkGetGlyphTransformedAdvances can return successfully yet not update the variable when
1955         the font size is 0. Presumably, r89733 exposed this by changing the values put on the stack just
1956         before this function is called.
1957
1958 2011-06-27  Alexander Pavlov  <apavlov@chromium.org>
1959
1960         Reviewed by Pavel Feldman.
1961
1962         Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
1963         https://bugs.webkit.org/show_bug.cgi?id=63446
1964
1965         * inspector/Inspector.json:
1966         * inspector/InspectorCSSAgent.cpp:
1967         (WebCore::computePseudoClassMask):
1968         (WebCore::InspectorCSSAgent::getStylesForNode):
1969         * inspector/InspectorCSSAgent.h:
1970         * inspector/front-end/AuditRules.js:
1971         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
1972         * inspector/front-end/CSSStyleModel.js:
1973         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1974         * inspector/front-end/StylesSidebarPane.js:
1975         (WebInspector.StylesSidebarPane.prototype.update):
1976
1977 2011-06-28  Kent Tamura  <tkent@chromium.org>
1978
1979         Fix a build error on Mac by r89907.
1980
1981         * svg/animation/SVGSMILElement.cpp:
1982         (WebCore::SVGSMILElement::endListChanged):
1983
1984 2011-06-27  Alexander Pavlov  <apavlov@chromium.org>
1985
1986         Reviewed by Kent Tamura.
1987
1988         [Chromium] SELECT or autofill popup is trimmed by screen edge on Windows
1989         https://bugs.webkit.org/show_bug.cgi?id=63438
1990
1991         If the popup is calculated to be trimmed by a screen edge, an attempt is made
1992         to alter its vertical edge alignment (set to the right edge for LTR or to the left edge for RTL)
1993         to see if the trimmed portion becomes smaller than that with the original layout.
1994         The change involves remembering the original frameRect for the popup and restoring it in refresh().
1995         This is due to the fact that the frameRect originally set in showInRect() is overwritten
1996         by layoutAndGetRTLOffset(), which breaks the originally requested popup container layout metrics.
1997         The max width is reset on every layoutAndCalculateWidgetRect(), as it can be constrained by the screen edge,
1998         and thus should be re-checked every time the popup is displayed, in case the browser window has been moved.
1999
2000         Tests: manual-tests/popup-width-restriction-within-screen.html partly covers the fix (should not regress).
2001         Other than that, there is no way to unit-test the platform-specific native code.
2002
2003         * platform/chromium/PopupMenuChromium.cpp:
2004         (WebCore::PopupListBox::setMaxWidth): Added. Avoid duplicate popup content layouts (in contrast with setMaxWidthAndLayout()).
2005         (WebCore::PopupListBox::PopupListBox):
2006         (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Attempt a left-right popup alignment inversion
2007         to minimize the trimmed content. Also restore a default max popup width.
2008         (WebCore::PopupContainer::layoutAndGetRTLOffset): Always return the popup listbox offset for the RTL (right alignment) case.
2009         The method rename is due to the return value semantics change.
2010         (WebCore::PopupContainer::showInRect): Store the originally requested frameRect for the popup.
2011         (WebCore::PopupContainer::refresh): Restore the original popup frameRect to avoid layout artifacts on refresh.
2012         (WebCore::PopupContainer::isRTL): This check should be made by the layoutAndGetRTLOffset() clients.
2013         * platform/chromium/PopupMenuChromium.h:
2014
2015 2011-06-28  Kentaro Hara  <haraken@google.com>
2016
2017         Reviewed by Kent Tamura.
2018
2019         Allow spaces between e-mail addresses in 'email' input type.
2020         https://bugs.webkit.org/show_bug.cgi?id=55987
2021
2022         Allowed spaces between e-mail addresses in 'email' input type,
2023         e.g. ' a@p.com , b@p.com ' is a valid value. Implemented the
2024         value sanitization algorithm for an e-mail value.  Added more unit
2025         tests that check the e-mail value parser.
2026
2027         Test: fast/forms/ValidityState-typeMismatch-email.html
2028
2029         * html/EmailInputType.cpp:
2030         (WebCore::EmailInputType::typeMismatchFor):
2031         (WebCore::EmailInputType::sanitizeValue):
2032         * html/EmailInputType.h:
2033         * html/parser/HTMLParserIdioms.cpp:
2034         (WebCore::stripHTMLLineBreaks):
2035         * html/parser/HTMLParserIdioms.h:
2036         (WebCore::isHTMLLineBreak):
2037
2038 2011-06-28  Kent Tamura  <tkent@chromium.org>
2039
2040         Reviewed by Hajime Morita.
2041
2042         Refactor RenderTextControl::text().
2043         https://bugs.webkit.org/show_bug.cgi?id=63519
2044
2045         No new tests because this is just a refactoring.
2046
2047         * rendering/RenderTextControl.cpp:
2048         (WebCore::RenderTextControl::setInnerTextValue):
2049          Resuce the number of text() calls.
2050         (WebCore::finishText):
2051           - Use StringBuilder.
2052           - Make this a static function.
2053             This function doesn't access anything of RenderTextControl.
2054         (WebCore::RenderTextControl::text):
2055          Use emptyString() and StringBuilder.
2056         (WebCore::RenderTextControl::textWithHardLineBreaks): ditto.
2057         * rendering/RenderTextControl.h: Remove finishText().
2058
2059 2011-06-28  Yury Semikhatsky  <yurys@chromium.org>
2060
2061         Reviewed by Pavel Feldman.
2062
2063         Web Inspector: console.group messages should never be coalesced
2064         https://bugs.webkit.org/show_bug.cgi?id=63521
2065
2066         * inspector/InspectorConsoleAgent.cpp:
2067         (WebCore::isGroupMessage):
2068         (WebCore::InspectorConsoleAgent::addConsoleMessage):
2069
2070 2011-06-28  Yury Semikhatsky  <yurys@chromium.org>
2071
2072         Reviewed by Pavel Feldman.
2073
2074         Web Inspector: console group boundaries should be more distinct in UI
2075         https://bugs.webkit.org/show_bug.cgi?id=63455
2076
2077         Show grey bracket to on the left side of a console group message to highlight
2078         the group extent.
2079
2080         * inspector/front-end/ConsoleView.js:
2081         (WebInspector.ConsoleGroup):
2082         * inspector/front-end/inspector.css:
2083         (#console-prompt):
2084         (.console-message, .console-user-command):
2085         (.console-message::before, .console-user-command::before, #console-prompt::before, .console-group-title::before):
2086         (.console-group-title::before):
2087         (.console-group):
2088         (.console-group-bracket):
2089         (.console-group.collapsed > .console-group-bracket):
2090
2091 2011-06-28  Kent Tamura  <tkent@chromium.org>
2092
2093         Reviewed by Hajime Morita.
2094
2095         Use RefPtr for the HTMLElement data members of TextFieldInptType
2096         and SearchInputType.
2097         https://bugs.webkit.org/show_bug.cgi?id=63511
2098
2099         No new tests because of no behavior change.
2100
2101         * html/SearchInputType.cpp:
2102         (WebCore::SearchInputType::SearchInputType):
2103         No need to initialize the element members explicitly because
2104         RefPtr constructor works well.
2105         (WebCore::SearchInputType::createShadowSubtree):
2106         Substitute an element to a data member, and don't call RefPtr<>::release().
2107         (WebCore::SearchInputType::innerBlockElement):
2108         Moved from the header file, and adjustment for RefPtr<>.
2109         (WebCore::SearchInputType::resultsButtonElement): ditto.
2110         (WebCore::SearchInputType::cancelButtonElement): ditto.
2111         (WebCore::SearchInputType::destroyShadowSubtree):
2112          Adjustment for RefPtr<>.
2113         * html/SearchInputType.h:
2114          - Move accessor functions to the cpp file because they are virtual.
2115          - Change element data member types: HTMLElement* -> RefPtr<HTMLElement>.
2116         * html/TextFieldInputType.cpp:
2117         (WebCore::TextFieldInputType::TextFieldInputType):
2118         No need to initialize the element members explicitly because
2119         RefPtr constructor works well.
2120         (WebCore::TextFieldInputType::~TextFieldInputType):
2121         Explicityly defines the destructor in the cpp file to avoid to
2122         make it implicitly in the header file. If the destructor was made
2123         in the header file, we would need to include HTMLElement.h in the
2124         header file.
2125         (WebCore::TextFieldInputType::createShadowSubtree):
2126         - Don't call RenderTheme::themeForPage().
2127         - Substitute an element to a data member, and don't call RefPtr<>::release().
2128         (WebCore::TextFieldInputType::setInnerTextElement):
2129          Moved from the header file to avoid to include HTMLElement.h.
2130         (WebCore::TextFieldInputType::setSpeechButtonElement): ditto.
2131         (WebCore::TextFieldInputType::innerTextElement):
2132         Moved from the header file, and adjustment for RefPtr<>.
2133         (WebCore::TextFieldInputType::innerSpinButtonElement): ditto.
2134         (WebCore::TextFieldInputType::speechButtonElement): ditto.
2135         (WebCore::TextFieldInputType::destroyShadowSubtree):
2136          Adjustment for RefPtr<>.
2137         * html/TextFieldInputType.h:
2138          - Move accessor functions to the cpp file because they are virtual.
2139          - Change element data member types: HTMLElement* -> RefPtr<HTMLElement>.
2140
2141 2011-06-28  Felician Marton  <marton.felician.zoltan@stud.u-szeged.hu>
2142
2143         Reviewed by Nikolas Zimmermann.
2144
2145         SVG animation flickers when restarting
2146         https://bugs.webkit.org/show_bug.cgi?id=18450
2147
2148         Add new parameter to the following methods. The new parameter is the time of adding a "begin" or "end" time to the SVG animation.
2149          - WebCore::SVGSMILElement::addBeginTime
2150          - WebCore::SVGSMILElement::beginListChanged
2151          - WebCore::SVGSMILElement::addEndTime
2152          - WebCore::SVGSMILElement::endListChanged
2153         In case of beginTime and beginListChanged it's necessary, because the delay between the event of adding a new begin time
2154         (in WebCore::SVGAnimationElement::beginElementAt) and the actual processing (in WebCore::SVGSMILElement::endListChanged)
2155         is significant. In lack of event time we can't decide that we should consider the new time or not.
2156         If the new begin time is smaller than the event time, we musn't begin the animation, else we shoud do further calculations.
2157
2158         The following methods just modified for consistency:
2159          - WebCore::SVGSMILElement::addEndTime
2160          - WebCore::SVGSMILElement::endListChanged
2161
2162         No new tests, because currently there is no way to test SVG flickering at zero time.
2163
2164         * svg/SVGAnimationElement.cpp:
2165         (WebCore::SVGAnimationElement::beginElementAt):
2166         (WebCore::SVGAnimationElement::endElementAt):
2167         * svg/animation/SVGSMILElement.cpp:
2168         (WebCore::SVGSMILElement::attributeChanged):
2169         (WebCore::SVGSMILElement::addBeginTime):
2170         (WebCore::SVGSMILElement::addEndTime):
2171         (WebCore::SVGSMILElement::beginListChanged):
2172         (WebCore::SVGSMILElement::endListChanged):
2173           The body changed:
2174            - Use new parameter, the time of adding the new begin time.
2175            - Cancel some incorrect optimalization. We should also do further calculations when elapsed >= m_intervalBegin.
2176         (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
2177         (WebCore::SVGSMILElement::handleConditionEvent):
2178         (WebCore::SVGSMILElement::beginByLinkActivation):
2179         * svg/animation/SVGSMILElement.h:
2180
2181 2011-06-28  Csaba Osztrogonác  <ossy@webkit.org>
2182
2183         Reviewed by Andreas Kling.
2184
2185         Adding MHTML reading support.
2186         https://bugs.webkit.org/show_bug.cgi?id=7168
2187
2188         * features.pri: Disable MHTML on Qt by default in a proper way.
2189
2190 2011-06-28  Csaba Osztrogonác  <ossy@webkit.org>
2191
2192         Reviewed by Andreas Kling.
2193
2194         [Qt] Remove ENABLE_XBL, because there aren't ENABLE(XBL) macros anymore.
2195
2196         * features.pri:
2197
2198 2011-06-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2199
2200         Unreviewed. Fix style error related to wrong include order.
2201
2202         * platform/graphics/efl/ImageEfl.cpp:
2203
2204 2011-06-27  Brian Weinstein  <bweinstein@apple.com>
2205
2206         Fix the WebCore vcproj file after r89851.
2207
2208         * WebCore.vcproj/WebCore.vcproj:
2209
2210 2011-06-27  Joe Wild  <joseph.wild@nokia.com>
2211
2212         Reviewed by Simon Fraser.
2213
2214         Crash on www.crave.cnet.com in FrameView::windowClipRect()
2215         https://bugs.webkit.org/show_bug.cgi?id=56393
2216
2217         Check for a null renderer to fix a crash. This situation can
2218         arise when external content/plugins is referenced from html
2219         elements with style="display:none".
2220
2221         Test: plugins/hidden-iframe-with-swf-plugin.html
2222
2223         * page/FrameView.cpp:
2224         (WebCore::FrameView::windowClipRect):
2225
2226 2011-06-27  Raymes Khoury  <raymes@chromium.org>
2227
2228         Reviewed by Tony Chang.
2229
2230         WebCore fails to compile in thumb mode when neon instructions are
2231         enabled.
2232
2233         There are two files (FELightingNEON.cpp and FEGaussianBlur.cpp)
2234         which fail to build when -mthumb is passed to gcc. These contain inline
2235         assembly for neon instructions on arm. This patch forces the -marm flag
2236         to be passed when compiling these files to work around this.
2237
2238         https://bugs.webkit.org/show_bug.cgi?id=62916
2239
2240         Built WebKit in Chromium and checked that -marm is passed
2241         only when building these files.
2242
2243         https://bugs.webkit.org/show_bug.cgi?id=62916
2244
2245         * WebCore.gyp/WebCore.gyp:
2246
2247 2011-06-27  Jay Civelli  <jcivelli@chromium.org>
2248
2249         Reviewed by Darin Fisher.
2250
2251         Adding binary part support to MHTML.
2252         https://bugs.webkit.org/show_bug.cgi?id=63310
2253
2254         * loader/archive/mhtml/MHTMLArchive.cpp:
2255         (WebCore::MHTMLArchive::generateMHTMLData):
2256         (WebCore::MHTMLArchive::generateMHTMLDataUsingBinaryEncoding):
2257         * loader/archive/mhtml/MHTMLArchive.h:
2258         * loader/archive/mhtml/MHTMLParser.cpp:
2259         (WebCore::MHTMLParser::parseNextPart):
2260         * platform/SharedBuffer.cpp:
2261         (WebCore::SharedBuffer::append):
2262         * platform/SharedBuffer.h:
2263         * platform/network/MIMEHeader.cpp:
2264         (WebCore::MIMEHeader::parseContentTransferEncoding):
2265         * platform/network/MIMEHeader.h:
2266
2267 2011-06-27  Levi Weintraub  <leviw@chromium.org>
2268
2269         Reviewed by Eric Seidel.
2270
2271         Add support for unicode-bidi:plaintext CSS property
2272         https://bugs.webkit.org/show_bug.cgi?id=50949
2273
2274         Adding support for unicode-bidi: plaintext. This involves invoking P2 and P3
2275         of the Unicode BiDi algorithm on each paragraph of a block with that style.
2276         This is similar to dir=auto but done per-paragraph instead of per element.
2277
2278         Test: fast/text/international/unicode-bidi-plaintext.html
2279
2280         * css/CSSParser.cpp:
2281         (WebCore::CSSParser::parseValue):  Added plaintext.
2282         * css/CSSPrimitiveValueMappings.h:
2283         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Ditto.
2284         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): Ditto.
2285         * css/CSSValueKeywords.in: Ditto.
2286         * html/HTMLElement.cpp:
2287         (WebCore::unicodeBidiAttributeForDirAuto): Helper to map elements with dir=auto
2288         to their proper unicode-bidi attribute.
2289         (WebCore::HTMLElement::parseMappedAttribute): Assign plaintext to pre and textarea
2290         when dir=auto.
2291         * platform/text/UnicodeBidi.h: Added plaintext.
2292         * rendering/RenderBlockLineLayout.cpp:
2293         (WebCore::determineParagraphDirection): Determines the direction of a paragraph
2294         based on the first strong character. Stops at first paragraph separator.
2295         (WebCore::RenderBlock::layoutInlineChildren): Uses determineParagraphDirection
2296         when in unicode-bidi: plaintext mode (and operating at the block's BidiContext)
2297         to set each paragraph to the proper base BidiContext.
2298         (WebCore::RenderBlock::determineStartPosition): Ditto.
2299         * rendering/style/RenderStyle.h: Gave _unicodebidi another bit to accomodate
2300         for plaintext.
2301
2302 2011-06-27  Alexis Menard  <alexis.menard@openbossa.org>
2303
2304         Reviewed by Darin Adler.
2305
2306         Use specific headers includes rather than full system headers.
2307         https://bugs.webkit.org/show_bug.cgi?id=63475
2308
2309         Use only needed headers rather than system headers.
2310
2311         No new tests, it's just a little cosmetic change.
2312
2313         * platform/mac/WebVideoFullscreenController.h:
2314         * platform/mac/WebVideoFullscreenHUDWindowController.h:
2315
2316 2011-06-27  Joseph Pecoraro  <joepeck@webkit.org>
2317
2318         Reviewed by Darin Adler.
2319
2320         Allow non-main thread text drawing in ICU ports
2321         https://bugs.webkit.org/show_bug.cgi?id=63482
2322
2323         Some ports allow multiple threads to draw strings.
2324         LineBreakIteratorPool is not thread safe and the existing
2325         ASSERT caught cases where multiple threads were trying
2326         to access the shared pool. This makes the pool a lazily
2327         created per-thread pool to allow for thread safe pool use.
2328
2329         * platform/ThreadGlobalData.h:
2330         * platform/ThreadGlobalData.cpp:
2331         (WebCore::ThreadGlobalData::ThreadGlobalData): start with null.
2332         (WebCore::ThreadGlobalData::lineBreakIteratorPool): lazily create.
2333         (WebCore::ThreadGlobalData::destroy): delete.
2334         Manage the lifetime of the per-thread pool instance.
2335
2336         * platform/text/LineBreakIteratorPoolICU.h:
2337         (WebCore::LineBreakIteratorPool::sharedPool):
2338         Use the per-thread pool instance and remove the ASSERT that
2339         this needs to be on the main thread.
2340
2341         (WebCore::LineBreakIteratorPool::create):
2342         Create a PassOwnPtr so we can use OwnPtr on pools.
2343
2344         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
2345         Private now that there is a public create function.
2346
2347 2011-06-27  Joseph Pecoraro  <joepeck@webkit.org>
2348
2349         Reviewed by Darin Adler.
2350
2351         Extract LineBreakIteratorPool class into its own file
2352         https://bugs.webkit.org/show_bug.cgi?id=63471
2353
2354         * GNUmakefile.list.am:
2355         * WebCore.gypi:
2356         * WebCore.vcproj/WebCore.vcproj:
2357         * WebCore.xcodeproj/project.pbxproj:
2358         Add the new file to builds that used TextBreakIteratorPoolICU.h.
2359
2360         * platform/text/LineBreakIteratorPoolICU.h: Added.
2361         (WebCore::LineBreakIteratorPool::sharedPool):
2362         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
2363         Expose the constructor so it can be used by others.
2364
2365         * platform/text/TextBreakIteratorICU.cpp:
2366         Remove the old LineBreakIteratorPool implementation.
2367
2368 2011-06-27  Justin Garcia  <justin.garcia@apple.com>
2369
2370         Reviewed by Ryosuke Niwa.
2371
2372         CompositeEditCommand::inputText(const String& text, bool selectedInsertText) is unused
2373         https://bugs.webkit.org/show_bug.cgi?id=62921
2374
2375         * editing/CompositeEditCommand.cpp:
2376         * editing/CompositeEditCommand.h:
2377         * editing/InsertTextCommand.cpp:
2378         (WebCore::InsertTextCommand::input):
2379
2380 2011-05-17  Nat Duca  <nduca@chromium.org>
2381
2382         Reviewed by James Robinson.
2383
2384         [chromium] Implement CCLayerTreeHost and CCLayerTreeHostImpl portions of threaded compositor
2385         https://bugs.webkit.org/show_bug.cgi?id=58408
2386
2387         Create CCLayerTreeHost and CCLayerTreeHostImpl, which are the main
2388         thread and compositor thread halves of a composited view. Communication
2389         between the two is based on the design used in FileStreamProxy.
2390
2391         * WebCore.gypi:
2392         * platform/chromium/TraceEvent.h:
2393         * platform/graphics/chromium/LayerRendererChromium.cpp:
2394         (WebCore::LayerRendererChromium::create):
2395         (WebCore::LayerRendererChromium::LayerRendererChromium):
2396         (WebCore::LayerRendererChromium::setViewport):
2397         (WebCore::LayerRendererChromium::updateLayers):
2398         (WebCore::LayerRendererChromium::drawLayers):
2399         (WebCore::LayerRendererChromiumImpl::create):
2400         (WebCore::LayerRendererChromiumImpl::drawLayersAndPresent):
2401         (WebCore::LayerRendererChromiumImpl::LayerRendererChromiumImpl):
2402         (WebCore::LayerRendererChromiumImpl::drawLayersOnMainThread):
2403         (WebCore::LayerRendererChromiumImplProxy::create):
2404         (WebCore::LayerRendererChromiumImplProxy::createLayerTreeHostImpl):
2405         (WebCore::LayerRendererChromiumImplProxy::LayerRendererChromiumImplProxy):
2406         (WebCore::LayerRendererChromium::createLayerTreeHostImplProxy):
2407         * platform/graphics/chromium/LayerRendererChromium.h:
2408         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2409         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
2410         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
2411         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
2412         (WebCore::CCHeadsUpDisplay::currentFrameNumber):
2413         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
2414         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
2415         (WebCore::CCLayerTreeHost::init):
2416         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
2417         (WebCore::CCLayerTreeHost::beginCommit):
2418         (WebCore::CCLayerTreeHost::commitComplete):
2419         (WebCore::CCLayerTreeHost::animateAndLayout):
2420         (WebCore::CCLayerTreeHost::createLayerTreeHostCommitter):
2421         (WebCore::CCLayerTreeHost::setNeedsCommitAndRedraw):
2422         (WebCore::CCLayerTreeHost::setNeedsRedraw):
2423         (WebCore::CCLayerTreeHost::updateLayers):
2424         * platform/graphics/chromium/cc/CCLayerTreeHost.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
2425         (WebCore::CCLayerTreeHost::frameNumber):
2426         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
2427         (WebCore::CCLayerTreeHostCommitter::create):
2428         (WebCore::CCLayerTreeHostCommitter::commit):
2429         * platform/graphics/chromium/cc/CCLayerTreeHostCommitter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
2430         (WebCore::CCLayerTreeHostCommitter::CCLayerTreeHostCommitter):
2431         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp: Added.
2432         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2433         (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
2434         (WebCore::CCLayerTreeHostImpl::beginCommit):
2435         (WebCore::CCLayerTreeHostImpl::commitComplete):
2436         (WebCore::CCLayerTreeHostImpl::drawLayers):
2437         (WebCore::CCLayerTreeHostImpl::setNeedsCommitAndRedraw):
2438         (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
2439         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCThread.cpp.
2440         (WebCore::CCLayerTreeHostImplClient::~CCLayerTreeHostImplClient):
2441         (WebCore::CCLayerTreeHostImpl::frameNumber):
2442         (WebCore::CCLayerTreeHostImpl::sourceFrameNumber):
2443         (WebCore::CCLayerTreeHostImpl::setSourceFrameNumber):
2444         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp: Added.
2445         (WebCore::CCLayerTreeHostImplProxy::CCLayerTreeHostImplProxy):
2446         (WebCore::CCLayerTreeHostImplProxy::start):
2447         (WebCore::CCLayerTreeHostImplProxy::~CCLayerTreeHostImplProxy):
2448         (WebCore::CCLayerTreeHostImplProxy::isStarted):
2449         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedraw):
2450         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedraw):
2451         (WebCore::CCLayerTreeHostImplProxy::stop):
2452         (WebCore::CCLayerTreeHostImplProxy::postDrawLayersTaskOnCCThread):
2453         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommitOnCCThread):
2454         (WebCore::CCLayerTreeHostImplProxy::isMainThread):
2455         (WebCore::CCLayerTreeHostImplProxy::isCCThread):
2456         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
2457         (WebCore::CCLayerTreeHostImplProxy::commitOnCCThread):
2458         (WebCore::CCLayerTreeHostImplProxy::drawLayersOnCCThread):
2459         (WebCore::CCLayerTreeHostImplProxy::setNeedsCommitAndRedrawOnCCThread):
2460         (WebCore::CCLayerTreeHostImplProxy::setNeedsRedrawOnCCThread):
2461         (WebCore::CCLayerTreeHostImplProxy::initImplOnCCThread):
2462         (WebCore::CCLayerTreeHostImplProxy::layerTreeHostClosedOnCCThread):
2463         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.h: Added.
2464         (WebCore::CCLayerTreeHostImplProxy::host):
2465         * platform/graphics/chromium/cc/CCMainThreadTask.h:
2466         * platform/graphics/chromium/cc/CCThread.cpp:
2467         (WebCore::CCThread::runLoop):
2468         * platform/graphics/chromium/cc/CCThreadTask.h:
2469
2470 2011-06-27  Abhishek Arya  <inferno@chromium.org>
2471
2472         Reviewed by Simon Fraser.
2473
2474         Fix removal of overhanging floats on style changes to absolute/fixed position.
2475         https://bugs.webkit.org/show_bug.cgi?id=63355
2476
2477         1. If we are not currently positioned.
2478         2. And we are not floating. (If we are floating, then this will be automatically
2479            done in RenderBox::styleWillChange as part of removeFloatingOrPositionedChildFromBlockLists) 
2480         3. And we have overhanging floats from previous sibling blocks.
2481         4. And our new new style tells that we will have absolute or fixed position.
2482
2483         Then, we mark all our descendants with floats for layout. This will make sure that
2484         overhanging floats are removed. Also, it is important to do that since if that previous
2485         sibling block goes away, it is not able to tell us that to remove those floats thinking 
2486         that being a positioned block, we should have removed them already.
2487
2488         Tests: fast/block/float/intruding-float-add-in-sibling-block-on-static-position.html
2489                fast/block/float/intruding-float-add-in-sibling-block-on-static-position2.html
2490                fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position.html
2491                fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position2.html
2492                fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position.html
2493                fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position2.html
2494                fast/block/float/overhanging-float-add-in-static-position-block.html
2495                fast/block/float/overhanging-float-add-in-static-position-block2.html
2496                fast/block/float/overhanging-float-remove-from-absolute-position-block.html
2497                fast/block/float/overhanging-float-remove-from-absolute-position-block2.html
2498                fast/block/float/overhanging-float-remove-from-fixed-position-block.html
2499                fast/block/float/overhanging-float-remove-from-fixed-position-block2.html
2500
2501         * rendering/RenderBlock.cpp:
2502         (WebCore::RenderBlock::styleWillChange):
2503
2504 2011-06-27  Dirk Schulze  <krit@webkit.org>
2505
2506         Reviewed by Nikolas Zimmermann.
2507
2508         SVGAnimatedType should support SVGPreserveAspectRatio animation
2509         https://bugs.webkit.org/show_bug.cgi?id=63456
2510         
2511         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
2512         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedPreserveAspectRatio.
2513         
2514         The new animator does not affect any behavior, since it was animated with SVGAnimatedString before. The new animator is still needed
2515         to support animVal and baseVal later.
2516
2517         Test: svg/animations/svgPreserveAspectRatio-animation-1.html
2518
2519         * CMakeLists.txt: Added new file.
2520         * GNUmakefile.list.am: Ditto.
2521         * WebCore.gypi: Ditto.
2522         * WebCore.pro: Ditto.
2523         * WebCore.xcodeproj/project.pbxproj: Ditto.
2524         * svg/SVGAllInOne.cpp: Ditto.
2525         * svg/SVGAnimateElement.cpp: Handle AnimatedPreserveAspectRatio.
2526         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
2527         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2528         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2529         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2530         (WebCore::SVGAnimateElement::resetToBaseValue):
2531         (WebCore::SVGAnimateElement::applyResultsToTarget):
2532         (WebCore::SVGAnimateElement::calculateDistance):
2533         * svg/SVGAnimatedPreserveAspectRatio.cpp: Added. New animator for SVGAnimatedPreserveAspectRatio.
2534         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::SVGAnimatedPreserveAspectRatioAnimator):
2535         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
2536         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateFromAndToValues):
2537         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateFromAndByValues):
2538         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
2539         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateDistance):
2540         * svg/SVGAnimatedPreserveAspectRatio.h:
2541         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::~SVGAnimatedPreserveAspectRatioAnimator):
2542         * svg/SVGAnimatedType.cpp: Support for SVGPreserveAspectRatio.
2543         (WebCore::SVGAnimatedType::~SVGAnimatedType):
2544         (WebCore::SVGAnimatedType::createPreserveAspectRatio):
2545         (WebCore::SVGAnimatedType::preserveAspectRatio):
2546         (WebCore::SVGAnimatedType::valueAsString):
2547         (WebCore::SVGAnimatedType::setValueAsString):
2548         (WebCore::SVGAnimatedType::setPreserveAspectRatioBaseValue):
2549         * svg/SVGAnimatedType.h:
2550         * svg/SVGAnimatorFactory.h:
2551         (WebCore::SVGAnimatorFactory::create):
2552
2553 2011-06-27  Alexis Menard  <alexis.menard@openbossa.org>
2554
2555         Reviewed by Kenneth Rohde Christiansen.
2556
2557         [Qt] Remove Phonon MediaPlayer from the tree.
2558         https://bugs.webkit.org/show_bug.cgi?id=63448
2559
2560         Remove Phonon mediaplayer as it is unused, not finished and
2561         unmaintained.
2562
2563         * WebCore.gypi:
2564         * WebCore.pri:
2565         * WebCore.pro:
2566         * features.pri:
2567         * platform/graphics/MediaPlayer.cpp:
2568         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Removed.
2569         * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Removed.
2570
2571 2011-06-27  Ryosuke Niwa  <rniwa@webkit.org>
2572
2573         Reviewed by Kent Tamura.
2574
2575         Crash in TextIterator
2576         https://bugs.webkit.org/show_bug.cgi?id=63334
2577
2578         Fix a crash in TextIterator. Keep m_sortedTextBoxes and renderer consistent
2579         and check !m_offset when handling first letter.
2580
2581         Also add more assertions to help detecting similar bugs.
2582
2583         Test: editing/text-iterator/first-letter-rtl-crash.html
2584
2585         * editing/TextIterator.cpp:
2586         (WebCore::TextIterator::handleTextNode):
2587         (WebCore::TextIterator::emitText):
2588
2589 2011-06-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2590
2591         Reviewed by Andreas Kling.
2592
2593         [Qt] tst_QWebFrame::overloadedSlots() fails
2594         https://bugs.webkit.org/show_bug.cgi?id=37319
2595
2596         This patch is based on Noam Rosenthal original patch in the same bug.
2597
2598         When hinted with QWebElement metatype, we qualify the conversion
2599         from JSElement as a "perfect match".
2600
2601         The test was failing because the wrong slot was called, since the QWebElement
2602         match was taken as equal to the others and not chosen when the metacall happened.
2603
2604         * bridge/qt/qt_runtime.cpp:
2605         (JSC::Bindings::convertValueToQVariant): Identify the conversion between JSElement
2606         to QWebElement as a "perfect match" (dist = 0). Add comments to explain the reason
2607         why we have the implicit conversion.
2608
2609 2011-06-27  ChangSeok Oh  <shivamidow@gmail.com>
2610
2611         Reviewed by Martin Robinson.
2612
2613         [GTK] Fix build break to support webgl
2614         https://bugs.webkit.org/show_bug.cgi?id=63425
2615
2616         Some missing files in ANGLE are just added to fix build-break.
2617
2618         No test reqired
2619
2620         * GNUmakefile.list.am:
2621
2622 2011-06-27  Hyowon Kim  <hw1008.kim@samsung.com>
2623
2624         Reviewed by Martin Robinson.
2625
2626         [EFL] Add some PLATFORM(EFL) ifdefs to GraphicsContext3D.h
2627         https://bugs.webkit.org/show_bug.cgi?id=62959
2628
2629         Add PLATFORM(EFL) ifdefs to use GraphicsContextInternal.
2630
2631         * platform/graphics/GraphicsContext3D.h:
2632
2633 2011-06-27  Alexandru Chiculita  <achicu@adobe.com>
2634
2635         Reviewed by Ojan Vafai.
2636
2637         css combinator "+" in combination with NAV tag is buggy
2638         https://bugs.webkit.org/show_bug.cgi?id=47971
2639
2640         Added a new state in css/tokenizer.flex for the "nth" rule. The state begins
2641         at nth-*( functions and ends at the first ")". It avoids parsing selectors 
2642         like "#div+nav" as: "#div" "+n" "av".
2643
2644         Test: fast/css/div_plus_nav_bug47971.html
2645
2646         * css/maketokenizer:
2647         * css/tokenizer.flex:
2648
2649 2011-06-27  Sheriff Bot  <webkit.review.bot@gmail.com>
2650
2651         Unreviewed, rolling out r89822.
2652         http://trac.webkit.org/changeset/89822
2653         https://bugs.webkit.org/show_bug.cgi?id=63461
2654
2655         Broken builds (Requested by apavlov on #webkit).
2656
2657         * inspector/Inspector.json:
2658         * inspector/InspectorCSSAgent.cpp:
2659         (WebCore::InspectorCSSAgent::getStylesForNode):
2660         * inspector/InspectorCSSAgent.h:
2661         * inspector/front-end/AuditRules.js:
2662         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2663         * inspector/front-end/CSSStyleModel.js:
2664         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
2665         * inspector/front-end/StylesSidebarPane.js:
2666         (WebInspector.StylesSidebarPane.prototype.update):
2667
2668 2011-06-27  Noel Gordon  <noel.gordon@gmail.com>
2669
2670         Reviewed by Adam Roben.
2671
2672         Send keypress events to windowless plugins on the windows port.
2673         https://bugs.webkit.org/show_bug.cgi?id=63144
2674
2675         No new tests.  Covered by existing windowless plugin tests plugins/mouse-events.html
2676         and plugins/keyboard-events.html.  Both are not yet working as desired because focus
2677         events are not being fowarded to windowed plugins on the win port (bug 62375).  Test
2678         plugin logging on the win port was added in bug 61721.  New failing expectations for
2679         plugins/keyboard-events.html were subsequently added in bug 33973 so there's no need
2680         to update test expectations in this patch.
2681
2682          * plugins/win/PluginViewWin.cpp:
2683         (WebCore::PluginView::handleKeyboardEvent): Add an ASSERT(m_plugin && !m_isWindowed)
2684         to indicate that the routine is for windowless plugins.  Remove trailing whitespace.
2685         Add handling for keyPress events (map to WM_CHAR).
2686         (WebCore::PluginView::handleMouseEvent): Add the ASSERT to indicate that the routine
2687         is for windowless plugins.  Add FIXME note.  Remove trailing whitespace.
2688
2689 2011-06-27  Alexander Pavlov  <apavlov@chromium.org>
2690
2691         Reviewed by Pavel Feldman.
2692
2693         Web Inspector: Change the inspector model API and backend to allow CSS pseudoclass inspection
2694         https://bugs.webkit.org/show_bug.cgi?id=63446
2695
2696         * inspector/Inspector.json:
2697         * inspector/InspectorCSSAgent.cpp:
2698         (WebCore::computePseudoClassMask):
2699         (WebCore::InspectorCSSAgent::getStylesForNode):
2700         * inspector/InspectorCSSAgent.h:
2701         * inspector/front-end/AuditRules.js:
2702         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2703         * inspector/front-end/CSSStyleModel.js:
2704         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
2705         * inspector/front-end/StylesSidebarPane.js:
2706         (WebInspector.StylesSidebarPane.prototype.update):
2707
2708 2011-06-27  Pavel Feldman  <pfeldman@google.com>
2709
2710         Reviewed by Yury Semikhatsky.
2711
2712         Web Inspector: [REGRESSION r84481] updateLayout called from DrawNodeHighlight
2713         https://bugs.webkit.org/show_bug.cgi?id=63405
2714
2715         We should not call layout from paint.
2716
2717         * inspector/DOMNodeHighlighter.cpp:
2718         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
2719         * inspector/DOMNodeHighlighter.h:
2720         * inspector/InspectorDOMAgent.cpp:
2721         (WebCore::InspectorDOMAgent::drawNodeHighlight):
2722
2723 2011-06-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2724
2725         Unreviewed. Fix style error in EFL port.
2726
2727         * platform/efl/PlatformKeyboardEventEfl.cpp:
2728         * platform/efl/PlatformScreenEfl.cpp:
2729         * platform/efl/SharedBufferEfl.cpp:
2730
2731 2011-06-27  Pavel Feldman  <pfeldman@google.com>
2732
2733         Reviewed by Yury Semikhatsky.
2734
2735         Web Inspector: node selection is slow in the Elements panel.
2736         https://bugs.webkit.org/show_bug.cgi?id=60813
2737
2738         * inspector/front-end/StylesSidebarPane.js:
2739         (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
2740         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
2741         (WebInspector.StylesSidebarPane.prototype.update):
2742
2743 2011-06-26  Pavel Feldman  <pfeldman@chromium.org>
2744
2745         Reviewed by Yury Semikhatsky.
2746
2747         Web Inspector: roll out r88337 for making tests flaky.
2748         https://bugs.webkit.org/show_bug.cgi?id=63422
2749
2750         * inspector/front-end/ElementsPanel.js:
2751         (WebInspector.ElementsPanel):
2752         (WebInspector.ElementsPanel.prototype.updateStyles):
2753         (WebInspector.ElementsPanel.prototype._stylesUpdated):
2754         * inspector/front-end/StylesSidebarPane.js:
2755         (WebInspector.StylesSidebarPane.prototype.update.stylesCallback):
2756         (WebInspector.StylesSidebarPane.prototype.update.computedStyleCallback):
2757         (WebInspector.StylesSidebarPane.prototype.update):
2758
2759 2011-06-27  Huang Dongsung  <luxtella@company100.net>
2760
2761         Reviewed by Kenneth Rohde Christiansen.
2762
2763         TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
2764         error.
2765         https://bugs.webkit.org/show_bug.cgi?id=62422
2766
2767         REGRESSION(r77286): Remove bottomRight().
2768         REGRESSION(r77312): Change the logic to get the bottom right point.
2769         REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
2770         REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
2771         REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
2772
2773         If the viewport width equals the contents width, especially in the mobile
2774         device, TiledBackingStore endlessly creates and deletes the rightmost
2775         column and bottom row of tiles.
2776         In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
2777         deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
2778         tiles infinitely.
2779         Modified TiledDrawingAreaProxy also.
2780
2781         * platform/graphics/TiledBackingStore.cpp:
2782         (WebCore::innerBottomRight):
2783         (WebCore::TiledBackingStore::invalidate):
2784         (WebCore::TiledBackingStore::paint):
2785         (WebCore::TiledBackingStore::createTiles):
2786
2787 2011-06-26  Adam Barth  <abarth@webkit.org>
2788
2789         Reviewed by Eric Seidel.
2790
2791         Remove LegacyDefaultOptionalArguments from WebAudio IDL files
2792         https://bugs.webkit.org/show_bug.cgi?id=63416
2793
2794         WebAudio isn't that widely used, so it's seems somewhat safe to remove
2795         legacy code generation hacks.  I'm not an expert on WebAudio, but the
2796         API doesn't appear to need many optional arguments.
2797
2798         There are a bunch of APIs that have custom bindings that look like they
2799         could be autogenerated.  I've added FIXME comments where appropriate.
2800
2801         * webaudio/AudioBuffer.idl:
2802         * webaudio/AudioContext.idl:
2803         * webaudio/AudioListener.idl:
2804         * webaudio/AudioNode.idl:
2805         * webaudio/AudioPannerNode.idl:
2806         * webaudio/AudioParam.idl:
2807         * webaudio/RealtimeAnalyserNode.idl:
2808
2809 2011-06-26  Yury Semikhatsky  <yurys@chromium.org>
2810
2811         Reviewed by Pavel Feldman.
2812
2813         Web Inspector: REGRESSION Scripts panel sidebar pane context menu has no "Remove breakpoint" item
2814         https://bugs.webkit.org/show_bug.cgi?id=63421
2815
2816         Show generic sidebar menu only if no pane-specific menu has been shown.
2817
2818         * inspector/front-end/ScriptsPanel.js:
2819         (WebInspector.ScriptsPanel):
2820
2821 2011-06-26  Adam Barth  <abarth@webkit.org>
2822
2823         Build fix for clang.  Apparently clang doesn't want us to use the std
2824         namespace in headers, which makes sense.
2825
2826         * svg/SVGAnimatedType.h:
2827
2828 2011-06-26  Adam Barth  <abarth@webkit.org>
2829
2830         Reviewed by Eric Seidel.
2831
2832         Remove LegacyDefaultOptionalArguments from XMLHttpRequest.idl and XMLHttpRequestUpload.idl
2833         https://bugs.webkit.org/show_bug.cgi?id=63418
2834
2835         The XMLHttpRequest.idl interface used to implement the new behavior
2836         manually using the RequiresAllArguments attribute.  Now that we have
2837         that behavior by default, we can simply remove the
2838         LegacyDefaultOptionalArguments attribute.
2839
2840         * xml/XMLHttpRequest.idl:
2841         * xml/XMLHttpRequestUpload.idl:
2842
2843 2011-06-26  Dirk Schulze  <krit@webkit.org>
2844
2845         Reviewed by Nikolas Zimmermann.
2846
2847         SVGAnimatedType should support SVGLengthList animation
2848         https://bugs.webkit.org/show_bug.cgi?id=63399
2849
2850         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
2851         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedLengthList.
2852         
2853         Interpolated animations of glyph positions are possible now.
2854
2855         Tests: svg/animations/svglengthlist-animation-1.html
2856                svg/animations/svglengthlist-animation-2.html
2857                svg/animations/svglengthlist-animation-3.html
2858                svg/animations/svglengthlist-animation-4.html
2859
2860         * CMakeLists.txt: Add new file to build system.
2861         * GNUmakefile.list.am: Ditto.
2862         * WebCore.gypi: Ditto.
2863         * WebCore.pro: Ditto.
2864         * WebCore.xcodeproj/project.pbxproj: Ditto.
2865         * svg/SVGAllInOne.cpp: Ditto.
2866         * svg/SVGAnimateElement.cpp: Make use of AnimatedLengthList.
2867         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
2868         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2869         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2870         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2871         (WebCore::SVGAnimateElement::resetToBaseValue):
2872         (WebCore::SVGAnimateElement::applyResultsToTarget):
2873         (WebCore::SVGAnimateElement::calculateDistance):
2874         * svg/SVGAnimatedLengthList.cpp: Added. New animator for SVGLengthList.
2875         (WebCore::SVGAnimatedLengthListAnimator::SVGAnimatedLengthListAnimator):
2876         (WebCore::SVGAnimatedLengthListAnimator::constructFromString):
2877         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndToValues):
2878         (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
2879         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
2880         (WebCore::SVGAnimatedLengthListAnimator::calculateDistance):
2881         * svg/SVGAnimatedLengthList.h:
2882         (WebCore::SVGAnimatedLengthListAnimator::~SVGAnimatedLengthListAnimator):
2883         * svg/SVGAnimatedType.cpp: Add SVGLengthList.
2884         (WebCore::SVGAnimatedType::~SVGAnimatedType):
2885         (WebCore::SVGAnimatedType::createLengthList):
2886         (WebCore::SVGAnimatedType::lengthList):
2887         (WebCore::SVGAnimatedType::valueAsString):
2888         (WebCore::SVGAnimatedType::setValueAsString):
2889         * svg/SVGAnimatedType.h:
2890         * svg/SVGAnimatorFactory.h:
2891         (WebCore::SVGAnimatorFactory::create):
2892         * svg/SVGLength.cpp: Add new constructor with LengthType, LengthMode and value.
2893         (WebCore::SVGLength::SVGLength):
2894         * svg/SVGLength.h:
2895
2896 2011-06-26  Adam Barth  <abarth@webkit.org>
2897
2898         Reviewed by Eric Seidel.
2899
2900         window.location should use the holder's prototype chain
2901         https://bugs.webkit.org/show_bug.cgi?id=63411
2902
2903         This patch corrects the prototype chain for Location, but we really
2904         should do a complete cleanup of the prototype chain generation, like we
2905         did for JavaScriptCore.
2906
2907         Test: http/tests/security/location-prototype.html
2908
2909         * bindings/scripts/CodeGeneratorV8.pm:
2910
2911 2011-06-26  Adam Barth  <abarth@webkit.org>
2912
2913         Reviewed by Eric Seidel.
2914
2915         Add [Optional] attributes where appropriate for addEventListener and removeEventListener
2916         https://bugs.webkit.org/show_bug.cgi?id=63417
2917
2918         This patch doesn't actually change behavior because these interfaces
2919         have the LegacyDefaultOptionalArguments attribute.  This patch paves
2920         the way to removing LegacyDefaultOptionalArguments from some of these
2921         interfaces as well as making the project safer for copy-and-pasting
2922         these methods into new IDL files that don't have the
2923         LegacyDefaultOptionalArguments attribute.
2924
2925         * bindings/scripts/test/TestObj.idl:
2926         * dom/EventTarget.idl:
2927         * dom/MediaStream.idl:
2928         * dom/MessagePort.idl:
2929         * dom/Node.idl:
2930         * loader/appcache/DOMApplicationCache.idl:
2931         * notifications/Notification.idl:
2932         * page/DOMWindow.idl:
2933         * page/EventSource.idl:
2934         * storage/IDBRequest.idl:
2935         * storage/IDBTransaction.idl:
2936         * svg/SVGElementInstance.idl:
2937         * websockets/WebSocket.idl:
2938         * workers/AbstractWorker.idl:
2939         * workers/WorkerContext.idl:
2940         * xml/XMLHttpRequest.idl:
2941         * xml/XMLHttpRequestUpload.idl:
2942
2943 2011-06-26  Adam Barth  <abarth@webkit.org>
2944
2945         Reviewed by Kent Tamura.
2946
2947         m_formElementsWithFormAttribute doesn't ref the objects it holds
2948         https://bugs.webkit.org/show_bug.cgi?id=62956
2949
2950         Test: fast/forms/form-associated-element-crash3.html
2951
2952         * dom/Document.h:
2953
2954 2011-06-26  Dimitri Glazkov  <dglazkov@chromium.org>
2955
2956         Reviewed by Adam Barth.
2957
2958         FileList::filenames should be FileList::paths, because it's more accurate.
2959         https://bugs.webkit.org/show_bug.cgi?id=63414
2960
2961         Refactoring, no change in behavior.
2962
2963         * fileapi/FileList.cpp:
2964         (WebCore::FileList::paths): Renamed from filenames.
2965         * fileapi/FileList.h:
2966         * html/FileInputType.cpp:
2967         (WebCore::FileInputType::handleDOMActivateEvent): Changed to use filenames, also fixed a reach-unto-thyself whoopsie.
2968         (WebCore::FileInputType::requestIcon): Ditto.
2969         (WebCore::FileInputType::filesChosen): Ditto.
2970         * rendering/RenderFileUploadControl.cpp:
2971         (WebCore::RenderFileUploadControl::fileTextValue): Ditto.
2972
2973 2011-06-26  Young Han Lee  <joybro@company100.net>
2974
2975         Reviewed by Dirk Schulze.
2976
2977         SVGAnimation - keyTime value 1 never get animated
2978         https://bugs.webkit.org/show_bug.cgi?id=63230
2979
2980         According to the SMIL 3.0 specification, the index of the keyTimes should be 
2981         determined under the end-point-exclusive rule (e.g. Given keyTimes(0;0.5;1) 
2982         and t=0.5, the current index of the keyTimes have to be 1 not 0).
2983         http://www.w3.org/TR/SMIL3/smil-animation.html#animationNS-InterpolationExamplesAdvanced
2984
2985         Test: svg/animations/animate-number-calcMode-discrete-keyTimes.html
2986
2987         * svg/SVGAnimationElement.cpp:
2988         (WebCore::SVGAnimationElement::calculateKeyTimesIndex):
2989
2990 2011-06-26  Dan Bernstein  <mitz@apple.com>
2991
2992         Reviewed by Darin Adler.
2993
2994         With word-break: break-all, words do not break correctly before a surrogate pair
2995         https://bugs.webkit.org/show_bug.cgi?id=63401
2996
2997         The code to check for mid-word breaks accumulates width one character at a time. It was actually
2998         measuring the two parts of the surrogate pair individually, so they appeared to have zero width.
2999         Fixed by checking for surrogate pairs and measuring the pair as one unit.
3000
3001         Test: fast/text/midword-break-before-surrogate-pair.html
3002
3003         * rendering/RenderBlockLineLayout.cpp:
3004         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3005
3006 2011-06-26  Dirk Schulze  <krit@webkit.org>
3007
3008         Reviewed by Nikolas Zimmermann.
3009
3010         SVGAnimatedType should support SVGNumberOptionalNumber animation
3011         https://bugs.webkit.org/show_bug.cgi?id=63397
3012         
3013         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
3014         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGAnimatedNumberOptionalNumber.
3015         
3016         Animations of attributes with type SVGAnimatedNumberOptionalNumber can be interpolated now. This can be used for smooth
3017         growing shadows with feGaussianBlur, feDropShadow or other filter effects.
3018
3019         Tests: svg/animations/svgnumberoptionalnumber-animation-1.html
3020                svg/animations/svgnumberoptionalnumber-animation-2.html
3021                svg/animations/svgnumberoptionalnumber-animation-3.html
3022                svg/animations/svgnumberoptionalnumber-animation-4.html
3023
3024         * CMakeLists.txt: Added new files to build system.
3025         * GNUmakefile.list.am: Ditto.
3026         * WebCore.gypi: Ditto.
3027         * WebCore.pro: Ditto.
3028         * WebCore.vcproj/WebCore.vcproj: Ditto.
3029         * WebCore.xcodeproj/project.pbxproj: Ditto.
3030         * svg/SVGAllInOne.cpp: Ditto.
3031         * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberOptionalNumber.
3032         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
3033         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3034         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3035         (WebCore::SVGAnimateElement::calculateFromAndByValues):
3036         (WebCore::SVGAnimateElement::resetToBaseValue):
3037         (WebCore::SVGAnimateElement::applyResultsToTarget):
3038         (WebCore::SVGAnimateElement::calculateDistance):
3039         * svg/SVGAnimatedNumberOptionalNumber.cpp: Added. New animator for SVGAnimatedNumberOptionalNumber.
3040         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::SVGAnimatedNumberOptionalNumberAnimator):
3041         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
3042         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndToValues):
3043         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateFromAndByValues):
3044         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
3045         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateDistance):
3046         * svg/SVGAnimatedNumberOptionalNumber.h: Added.
3047         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::~SVGAnimatedNumberOptionalNumberAnimator):
3048         * svg/SVGAnimatedType.cpp: Added new type: pair<float, float>.
3049         (WebCore::SVGAnimatedType::~SVGAnimatedType):
3050         (WebCore::SVGAnimatedType::createNumberOptionalNumber):
3051         (WebCore::SVGAnimatedType::numberOptionalNumber):
3052         (WebCore::SVGAnimatedType::valueAsString):
3053         (WebCore::SVGAnimatedType::setValueAsString):
3054         * svg/SVGAnimatedType.h:
3055         * svg/SVGAnimatorFactory.h: Add new animator to factory.
3056         (WebCore::SVGAnimatorFactory::create):
3057
3058 2011-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
3059
3060         Reviewed by Adam Barth.
3061
3062         Crash in frameless document with media element.
3063         https://bugs.webkit.org/show_bug.cgi?id=63393
3064
3065         Since MediaControls::create can return 0 (and does for frameless documents), we must anticipate it
3066         in the calling code.
3067
3068         Test: fast/dom/shadow/frameless-media-element-crash.html
3069
3070         * html/HTMLMediaElement.cpp:
3071         (WebCore::HTMLMediaElement::attributeChanged): Changed to bail out if controls weren't successfully created.
3072         (WebCore::HTMLMediaElement::createMediaControls): Renamed to better reflect the purpose, changed to handle failure of creation.
3073         (WebCore::HTMLMediaElement::preDispatchEventHandler): Changed to bail out if controls weren't successfully created.
3074         * html/HTMLMediaElement.h: Adjusted def.
3075
3076 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
3077
3078         Reviewed by Darin Adler.
3079
3080         Fix some minor style issues
3081         https://bugs.webkit.org/show_bug.cgi?id=63391
3082
3083         * inspector/DOMNodeHighlighter.cpp:
3084         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
3085         The explicit WebCore namespace usage can be dropped.
3086
3087         * rendering/RenderView.cpp:
3088         (WebCore::RenderView::mapLocalToContainer):
3089         Use ASSERT_UNUSED for a parameter that we want to ASSERT
3090         on for a debug build, but is UNUSED in a release build.
3091
3092 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
3093
3094         Unreviewed build fix.
3095
3096         Use UNUSED_PARAM on the correct param!
3097
3098         * rendering/RenderView.cpp:
3099         (WebCore::RenderView::mapLocalToContainer):
3100
3101 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
3102
3103         Reviewed by Simon Fraser.
3104
3105         Inspector highlight rect is wrong for contents of transformed iframes
3106         https://bugs.webkit.org/show_bug.cgi?id=53627
3107
3108         Part 2: Only adjust for the FrameView's scroll position when
3109         the localToAbsolute mapping did not end with fixed content.
3110         Content that is inside of a fixed position container is already
3111         adjusted for the FrameView's scrollPosition when RenderView
3112         maps local to container.
3113
3114         This patch uses a "wasFixed" out parameter to determine if
3115         the localToAbsolute transformation ended inside a fixed block,
3116         and if so does not apply the scroll position.
3117
3118         * page/FrameView.cpp:
3119         (WebCore::FrameView::convertFromRenderer):
3120         Respect wasFixed as described above.
3121
3122         * rendering/RenderBox.h:
3123         * rendering/RenderBox.cpp:
3124         (WebCore::RenderBox::mapLocalToContainer):
3125         This is the only time that "fixed" ever changed. So when
3126         fixed changes, update the optional wasFixed out parameter.
3127
3128         * rendering/RenderObject.cpp:
3129         (WebCore::RenderObject::localToAbsolute):
3130         (WebCore::RenderObject::mapLocalToContainer):
3131         (WebCore::RenderObject::localToContainerQuad):
3132         * rendering/RenderObject.h:
3133         (WebCore::RenderObject::localToAbsoluteQuad):
3134         Ignore wasFixed by default, but pipe it though where needed.
3135
3136         * rendering/RenderView.h:
3137         * rendering/RenderView.cpp:
3138         (WebCore::RenderView::mapLocalToContainer):
3139         This is the final recursive call, so wasFixed goes no
3140         further. We sanity check its value in debug builds.
3141
3142         * rendering/RenderBlock.cpp:
3143         (WebCore::RenderBlock::selectionGapRectsForRepaint):
3144         * rendering/RenderInline.cpp:
3145         (WebCore::RenderInline::mapLocalToContainer):
3146         * rendering/RenderInline.h:
3147         * rendering/svg/RenderSVGForeignObject.cpp:
3148         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
3149         * rendering/svg/RenderSVGForeignObject.h:
3150         * rendering/svg/RenderSVGInline.cpp:
3151         (WebCore::RenderSVGInline::mapLocalToContainer):
3152         * rendering/svg/RenderSVGInline.h:
3153         * rendering/svg/RenderSVGModelObject.cpp:
3154         (WebCore::RenderSVGModelObject::mapLocalToContainer):
3155         * rendering/svg/RenderSVGModelObject.h:
3156         * rendering/svg/RenderSVGRoot.cpp:
3157         (WebCore::RenderSVGRoot::mapLocalToContainer):
3158         * rendering/svg/RenderSVGRoot.h:
3159         * rendering/svg/RenderSVGText.cpp:
3160         (WebCore::RenderSVGText::mapLocalToContainer):
3161         * rendering/svg/RenderSVGText.h:
3162         * rendering/svg/SVGRenderSupport.cpp:
3163         (WebCore::SVGRenderSupport::mapLocalToContainer):
3164         * rendering/svg/SVGRenderSupport.h:
3165         Pipe wasFixed through where needed.
3166
3167 2011-06-25  Joseph Pecoraro  <joepeck@webkit.org>
3168
3169         Reviewed by Simon Fraser.
3170
3171         Inspector highlight rect is wrong for contents of transformed iframes
3172         https://bugs.webkit.org/show_bug.cgi?id=53627
3173
3174         Part 1: Provide FloatQuad versions of convertFromRenderer,
3175         convertToContainingView, and convertChildToSelf, so that we
3176         can get the fully transformed quad of a renderer all the
3177         way up to the root widget.
3178
3179         * page/FrameView.cpp:
3180         (WebCore::FrameView::convertFromRenderer):
3181         (WebCore::FrameView::convertToContainingView):
3182         * page/FrameView.h:
3183         * platform/ScrollView.h:
3184         (WebCore::ScrollView::convertChildToSelf):
3185         * platform/Widget.h:
3186         * platform/Widget.cpp:
3187         (WebCore::Widget::convertToContainingView):
3188         Provide FloatQuad versions of these already existing functions.
3189
3190         (WebCore::Widget::convertToRootContainingView):
3191         Provide a helper conversion function to recursively
3192         convert a given FloatQuad up to the root widget.
3193
3194         * inspector/DOMNodeHighlighter.cpp:
3195         (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
3196         Use the new methods to convert the FloatQuad for the highlighted
3197         node to the root container, without losing transformation
3198         information. Add a FIXME for SVG, which is still broken.
3199
3200         * WebCore.exp.in:
3201         Export the new Widget functions so WebKit can link properly.
3202
3203 2011-06-25  Dirk Schulze  <krit@webkit.org>
3204
3205         Unreviewed build fix.
3206
3207         SVGAnimatedType should support SVGNumberList animation
3208         https://bugs.webkit.org/show_bug.cgi?id=63387
3209
3210         * svg/SVGAnimatedNumberList.cpp:
3211         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
3212
3213 2011-06-25  Dirk Schulze  <krit@webkit.org>
3214
3215         Reviewed by Nikolas Zimmermann.
3216
3217         SVGAnimatedType should support SVGNumberList animation
3218         https://bugs.webkit.org/show_bug.cgi?id=63387
3219         
3220         Follow up of "SVGAnimation should use direct unit animation for SVGLength": https://bugs.webkit.org/show_bug.cgi?id=61368
3221         This patch continues the conversion to the new concept of SVGAnimatorFactory with SVGNumberList.
3222         
3223         Animations of attributes with type SVGNumberList can be interpolated now.
3224
3225         Tests: svg/animations/svgnumberlist-animation-1.html
3226                svg/animations/svgnumberlist-animation-2.html
3227
3228         * CMakeLists.txt: Added new file to build system.
3229         * GNUmakefile.list.am: Ditto.
3230         * WebCore.gypi: Ditto.
3231         * WebCore.pro: Ditto.
3232         * WebCore.xcodeproj/project.pbxproj: Ditto.
3233         * svg/SVGAllInOne.cpp: Ditto.
3234         * svg/SVGAnimateElement.cpp: Make use of attribute type AnimatedNumberList.
3235         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
3236         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3237         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3238         (WebCore::SVGAnimateElement::calculateFromAndByValues):
3239         (WebCore::SVGAnimateElement::resetToBaseValue):
3240         (WebCore::SVGAnimateElement::applyResultsToTarget):
3241         (WebCore::SVGAnimateElement::calculateDistance):
3242         * svg/SVGAnimatedNumber.cpp:
3243         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedNumber): Made method static for reuse in SVGAnimatedNumberList (and SVGAnimatedNumberOptionalNumber later).
3244         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue): Use new static function.
3245         * svg/SVGAnimatedNumber.h:
3246         * svg/SVGAnimatedNumberList.cpp: Added. New animator for SVGNumberList.
3247         (WebCore::SVGAnimatedNumberListAnimator::SVGAnimatedNumberListAnimator):
3248         (WebCore::SVGAnimatedNumberListAnimator::constructFromString):
3249         (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndToValues):
3250         (WebCore::SVGAnimatedNumberListAnimator::calculateFromAndByValues):
3251         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
3252         (WebCore::SVGAnimatedNumberListAnimator::calculateDistance):
3253         * svg/SVGAnimatedNumberList.h:
3254         (WebCore::SVGAnimatedNumberListAnimator::~SVGAnimatedNumberListAnimator):
3255         * svg/SVGAnimatedType.cpp: Use new Animator.
3256         (WebCore::SVGAnimatedType::~SVGAnimatedType):
3257         (WebCore::SVGAnimatedType::createNumberList):
3258         (WebCore::SVGAnimatedType::numberList):
3259         (WebCore::SVGAnimatedType::valueAsString):
3260         (WebCore::SVGAnimatedType::setValueAsString):
3261         * svg/SVGAnimatedType.h:
3262         * svg/SVGAnimatorFactory.h:
3263         (WebCore::SVGAnimatorFactory::create):
3264
3265 2011-06-25  Nikolas Zimmermann  <nzimmermann@rim.com>
3266
3267         Reviewed by Dirk Schulze.
3268
3269         Convert SVGPath to SVGAnimatorFactory concept
3270         https://bugs.webkit.org/show_bug.cgi?id=63336
3271
3272         Convert <animate attributeName="d"> parsing to the new SVGAnimatorFactory concept, removing
3273         the last special data types from SVGAnimateElement: SVGPathByteStream m_fromPath/m_toPath/m_animatedPath.
3274         All existing non-string primitives have been converted to the new concept.
3275
3276         Doesn't change any functionality.
3277
3278         * CMakeLists.txt: Added SVGAnimatedPath.*.
3279         * GNUmakefile.list.am: Ditto.
3280         * WebCore.gypi: Ditto.
3281         * WebCore.pro: Ditto.
3282         * WebCore.vcproj/WebCore.vcproj: Ditto.
3283         * WebCore.xcodeproj/project.pbxproj: Ditto.
3284         * svg/SVGAllInOne.cpp: Ditto.
3285         * svg/SVGAnimateElement.cpp:
3286         (WebCore::SVGAnimateElement::SVGAnimateElement):
3287         (WebCore::SVGAnimateElement::calculateAnimatedValue):
3288         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3289         (WebCore::SVGAnimateElement::calculateFromAndByValues):
3290         (WebCore::SVGAnimateElement::resetToBaseValue):
3291         (WebCore::SVGAnimateElement::applyResultsToTarget):
3292         * svg/SVGAnimateElement.h:
3293         * svg/SVGAnimatedPath.cpp: Added.
3294         (WebCore::SVGAnimatedPathAnimator::SVGAnimatedPathAnimator):
3295         (WebCore::SVGAnimatedPathAnimator::constructFromString):
3296         (WebCore::SVGAnimatedPathAnimator::calculateFromAndToValues):
3297         (WebCore::SVGAnimatedPathAnimator::calculateFromAndByValues):
3298         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
3299         (WebCore::SVGAnimatedPathAnimator::calculateDistance):
3300         * svg/SVGAnimatedPath.h: Added.
3301         (WebCore::SVGAnimatedPathAnimator::~SVGAnimatedPathAnimator):
3302         * svg/SVGAnimatedType.cpp:
3303         (WebCore::SVGAnimatedType::~SVGAnimatedType):
3304         (WebCore::SVGAnimatedType::createPath):
3305         (WebCore::SVGAnimatedType::path):
3306         (WebCore::SVGAnimatedType::valueAsString):
3307         (WebCore::SVGAnimatedType::setValueAsString):
3308         * svg/SVGAnimatedType.h:
3309         * svg/SVGAnimatorFactory.h:
3310         (WebCore::SVGAnimatorFactory::create):
3311         * svg/SVGPathByteStream.h:
3312         (WebCore::SVGPathByteStream::initializeFrom):
3313         * svg/SVGPathParserFactory.cpp:
3314         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
3315         (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
3316         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
3317
3318 2011-06-25  Jer Noble  <jer.noble@apple.com>
3319
3320         Reviewed by Maciej Stachowiak.
3321
3322         SOFT_LINK_POINTER_OPTIONAL isn't optional.
3323         https://bugs.webkit.org/show_bug.cgi?id=63378
3324
3325         Continuation of r89718.  SOFT_LINK_POINTER_OPTIONAL should check the value returned by dlsym before dereferencing it.
3326
3327         * platform/mac/SoftLinking.h:
3328
3329 2011-06-25  Rob Buis  <rbuis@rim.com>
3330
3331         Reviewed by Nikolas Zimmermann.
3332
3333         SVG1.1SE test linking-uri-01-b.svg fails
3334         https://bugs.webkit.org/show_bug.cgi?id=63322
3335
3336         Allow navigating to internal <view> targets. When choosing Back ensure
3337         the <svg> current view is initialized correctly.
3338
3339         Tests: svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg
3340                svg/custom/linking-uri-01-b.svg
3341
3342         * page/FrameView.cpp: Delegate to setupInitialView.
3343         (WebCore::FrameView::scrollToAnchor):
3344         * svg/SVGAElement.cpp: Allow navigating to internal <view> targets.
3345         (WebCore::SVGAElement::defaultEventHandler):
3346         * svg/SVGSVGElement.cpp:
3347         (WebCore::SVGSVGElement::setupInitialView): Initialize current view depending on fragment identifier.
3348         (WebCore::SVGSVGElement::inheritViewAttributes):
3349         * svg/SVGSVGElement.h:
3350
3351 2011-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
3352
3353         Reviewed by Darin Adler.
3354
3355         REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
3356         https://bugs.webkit.org/show_bug.cgi?id=63373
3357
3358         * css/CSSStyleSelector.cpp:
3359         (WebCore::CSSStyleSelector::pushParentStackFrame): Changed to use parentOrHostElement.
3360         (WebCore::CSSStyleSelector::pushParent): Ditto.
3361         * dom/Node.cpp:
3362         (WebCore::Node::parentOrHostElement): Added.
3363         * dom/Node.h:
3364
3365 2011-06-24  Dan Bernstein  <mitz@apple.com>
3366
3367         Reviewed by Anders Carlsson.
3368
3369         Add an option to enable legacy rounding hacks
3370         https://bugs.webkit.org/show_bug.cgi?id=63363
3371
3372         Restored most of text rounding hacks which were removed in r78846, with a global flag to control
3373         whether rounding hacks are allowed, which defaults to false.
3374
3375         Test: platform/mac/fast/text/rounding-hacks.html
3376
3377         * CMakeLists.txt: Added TextRun.cpp.
3378         * GNUmakefile.list.am: Ditto.
3379         * WebCore.exp.in: Export new TextRun function and global and updated StringTruncator functions.
3380         * WebCore.gypi: Added TextRun.cpp.
3381         * WebCore.pro: Ditto.
3382         * WebCore.vcproj/WebCore.vcproj: Ditto.
3383         * WebCore.xcodeproj/project.pbxproj: Ditto.
3384         * html/canvas/CanvasRenderingContext2D.cpp:
3385         (WebCore::CanvasRenderingContext2D::drawTextInternal): Disable rounding hacks in the one place
3386         they used to be disabled.
3387         * platform/graphics/Font.cpp: Re-added the rounding character table.
3388         * platform/graphics/Font.h:
3389         (WebCore::Font::isRoundingHackCharacter): Re-added.
3390         * platform/graphics/FontFastPath.cpp:
3391         (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Account for final rounding width.
3392         * platform/graphics/SimpleFontData.cpp:
3393         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
3394         * platform/graphics/SimpleFontData.h:
3395         (WebCore::SimpleFontData::adjustedSpaceWidth): Re-added.
3396         * platform/graphics/StringTruncator.cpp:
3397         (WebCore::stringWidth): Re-added disableRoundingHacks parameter.
3398         (WebCore::truncateString): Ditto.
3399         (WebCore::StringTruncator::centerTruncate): Added EnableRoundingHacksOrNot parameter.
3400         (WebCore::StringTruncator::rightTruncate): Ditto.
3401         (WebCore::StringTruncator::width): Ditto.
3402         * platform/graphics/StringTruncator.h:
3403         * platform/graphics/TextRun.cpp: Added.
3404         (WebCore::TextRun::setAllowsRoundingHacks): Added.
3405         * platform/graphics/TextRun.h:
3406         (WebCore::TextRun::TextRun): Added RoundingHacks parameter to the constructors, used to initialize
3407         the m_applyRunRounding and m_applyWordRounding member variables, subject to rounding hacks being allowed.
3408         (WebCore::TextRun::applyRunRounding): Re-added this accessor.
3409         (WebCore::TextRun::applyWordRounding): Ditto.
3410         (WebCore::TextRun::disableRoundingHacks): Re-added.
3411         * platform/graphics/WidthIterator.cpp:
3412         (WebCore::WidthIterator::WidthIterator): Re-added code to apply rounding hacks.
3413         (WebCore::WidthIterator::advance): Ditto.
3414         * platform/graphics/WidthIterator.h:
3415         * platform/graphics/mac/ComplexTextController.cpp:
3416         (WebCore::ceilCGFloat): Re-added.
3417         (WebCore::ComplexTextController::ComplexTextController): Re-added code to apply rounding hacks.
3418         (WebCore::ComplexTextController::advance): Ditto.
3419         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.
3420         * platform/graphics/mac/ComplexTextController.h:
3421         (WebCore::ComplexTextController::finalRoundingWidth): Re-added this accessor.
3422         * platform/graphics/mac/FontComplexTextMac.cpp:
3423         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Accound for final rounding width.
3424         * platform/graphics/qt/SimpleFontDataQt.cpp:
3425         (WebCore::SimpleFontData::platformGlyphInit): Initialize m_adjustedSpaceWidth.
3426         * platform/gtk/RenderThemeGtk.cpp:
3427         (WebCore::RenderThemeGtk::fileListNameForWidth): Enabled rounding hacks in the string truncator.
3428         * platform/mac/DragImageMac.mm:
3429         (WebCore::widthWithFont): Disable rounding hacks when measuring.
3430         (WebCore::drawAtPoint): Disable rounding hacks when drawing.
3431         * platform/win/DragImageWin.cpp:
3432         (WebCore::createDragImageForLink): Enable rounding hacks in the string truncator.
3433         * platform/win/WebCoreTextRenderer.cpp:
3434         (WebCore::WebCoreTextFloatWidth): Ditto.
3435         * rendering/RenderFileUploadControl.cpp:
3436         (WebCore::RenderFileUploadControl::paintObject): Disable rounding hacks.
3437         * rendering/RenderListBox.cpp:
3438         (WebCore::RenderListBox::updateFromElement): Ditto.
3439         (WebCore::RenderListBox::paintItemForeground): Ditto.
3440         * rendering/RenderTextControl.cpp:
3441         (WebCore::RenderTextControl::getAvgCharWidth): Ditto.
3442         * rendering/RenderTheme.cpp:
3443         (WebCore::RenderTheme::fileListNameForWidth): Enabled rounding hacks in the string truncator.
3444         * rendering/RenderThemeMac.mm:
3445         (WebCore::RenderThemeMac::fileListNameForWidth): Ditto.
3446         * rendering/svg/SVGInlineTextBox.cpp:
3447         (WebCore::SVGInlineTextBox::constructTextRun): Disabled rounding hacks.
3448         * rendering/svg/SVGTextMetrics.cpp:
3449         (WebCore::constructTextRun): Ditto.
3450
3451 2011-06-24  Nikolas Zimmermann  <nzimmermann@rim.com>
3452
3453         Reviewed by Rob Buis.
3454
3455         Integrate SVG Fonts within GlyphPage concept, removing the special SVG code paths from Font, making it possible to reuse the simple text code path for SVG Fonts
3456         https://bugs.webkit.org/show_bug.cgi?id=59085