2011-03-30 Xiaomei Ji <xji@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-30  Xiaomei Ji  <xji@chromium.org>
2
3         Reviewed by Ryosuke Niwa.
4
5         Experiment with moving caret by word in visual order.
6         https://bugs.webkit.org/show_bug.cgi?id=57336
7
8         Follow Firefox's convention in Windows, 
9         In LTR block, word break visually moves cursor to the left boundary of words,
10         In RTL block, word break visually moves cursor to the right boundary of words.
11
12         This is the 1st version of implementing "move caret by word in visual order".
13         It only works in the following situation:
14         1. For a LTR box in a LTR block or a RTL box in RTL block, 
15         when caret is at the left boundary of the box and we are looking for 
16         the word boundary in right.
17         2. For a LTR or RTL box in a LTR block, when caret is at the left boundary
18         of the box and we are looking for the word boundary in left and 
19         previous box is a LTR box.
20         3. For a LTR or RTL box in a RTL block, when the caret is at the right 
21         boundary of the box and we are looking for the word boundary in right and next box is RTL box.
22
23         An experimental granularity is introduced, as a side effect, functions having switch statements
24         to handle those granularities have to add more one case to handle this new granularity.
25         The experimental granularity is exposed though JS by '-webkit-visual-word".
26
27         The overall algorithm is looping through inline boxes visually and looking
28         for the visually nearest word break position. 
29
30         Test: editing/selection/move-by-word-visually.html
31
32         * editing/SelectionController.cpp:
33         (WebCore::SelectionController::modifyExtendingRight):
34         (WebCore::SelectionController::modifyExtendingForward):
35         (WebCore::SelectionController::modifyMovingRight):
36         (WebCore::SelectionController::modifyMovingForward):
37         (WebCore::SelectionController::modifyExtendingLeft):
38         (WebCore::SelectionController::modifyExtendingBackward):
39         (WebCore::SelectionController::modifyMovingLeft):
40         (WebCore::SelectionController::modifyMovingBackward):
41         * editing/TextGranularity.h:
42         * editing/VisibleSelection.cpp:
43         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
44         * editing/visible_units.cpp:
45         (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
46         (WebCore::wordBoundaryInBox):
47         (WebCore::wordBoundaryInAdjacentBoxes):
48         (WebCore::leftWordBoundary):
49         (WebCore::rightWordBoundary):
50         (WebCore::leftWordPosition):
51         (WebCore::rightWordPosition):
52         * editing/visible_units.h:
53         * page/DOMSelection.cpp:
54         (WebCore::DOMSelection::modify):
55
56 2011-03-31  Dimitri Glazkov  <dglazkov@chromium.org>
57
58         Reviewed by Darin Adler.
59
60         Move coordinate-computing logic into MouseRelatedEvent.
61         https://bugs.webkit.org/show_bug.cgi?id=57521
62
63         Refactoring, covered by existing tests.
64
65         * dom/EventDispatcher.cpp:
66         (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of
67             coordinates out.
68         (WebCore::EventDispatcher::dispatchMouseEvent): Ditto.
69         * dom/MouseEvent.cpp:
70         (WebCore::MouseEvent::create): Add coordinate-computing logic.
71         * dom/MouseEvent.h: Adjust decl to reflect new meaning of params.
72         * dom/MouseRelatedEvent.cpp:
73         (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
74         * page/EventHandler.cpp:
75         (WebCore::EventHandler::dispatchDragEvent): Ditto.
76
77 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
78
79         Reviewed by Pavel Feldman.
80
81         Web Inspector: document CSS agent.
82         https://bugs.webkit.org/show_bug.cgi?id=57435
83
84         * inspector/Inspector.json:
85
86 2011-03-31  Andrey Kosyakov  <caseq@chromium.org>
87
88         Reviewed by Yury Semikhatsky.
89
90         Web Inspector: remove periods at the end of error messages
91         https://bugs.webkit.org/show_bug.cgi?id=57544
92
93         * inspector/InjectedScript.cpp:
94         (WebCore::InjectedScript::getProperties):
95         (WebCore::InjectedScript::makeObjectCall):
96         * inspector/InspectorCSSAgent.cpp:
97         (WebCore::InspectorCSSAgent::elementForId):
98         (WebCore::InspectorCSSAgent::styleSheetForId):
99         * inspector/InspectorDOMAgent.cpp:
100         (WebCore::InspectorDOMAgent::assertNode):
101         (WebCore::InspectorDOMAgent::assertElement):
102         (WebCore::InspectorDOMAgent::assertHTMLElement):
103         (WebCore::InspectorDOMAgent::querySelector):
104         (WebCore::InspectorDOMAgent::querySelectorAll):
105         (WebCore::InspectorDOMAgent::setAttribute):
106         (WebCore::InspectorDOMAgent::removeAttribute):
107         (WebCore::InspectorDOMAgent::removeNode):
108         (WebCore::InspectorDOMAgent::setNodeValue):
109         * inspector/InspectorDebuggerAgent.cpp:
110         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
111         * inspector/InspectorResourceAgent.cpp:
112         (WebCore::InspectorResourceAgent::resourceContent):
113         (WebCore::InspectorResourceAgent::resourceContentBase64):
114         (WebCore::InspectorResourceAgent::getResourceContent):
115         * inspector/InspectorRuntimeAgent.cpp:
116         (WebCore::InspectorRuntimeAgent::setPropertyValue):
117
118 2011-03-31  Evan Martin  <evan@chromium.org>
119
120         Reviewed by Eric Seidel.
121
122         <title> should support dir attribute
123         https://bugs.webkit.org/show_bug.cgi?id=50961
124
125         Introduce a new StringWithDirection object that carries a String along
126         with the TextDirection associated with the String.  Use this object for
127         document titles used within WebCore, because in HTML the direction of
128         a title can be set with the 'dir' attribute.
129
130         Put FIXMEs at the WebKit level to expose the new direction information
131         to clients.
132
133         No behavioral change intended, so no new tests.  A follow-up will expose
134         the title direction and hopefully can be accompanied by tests that
135         verify it is correct.
136
137         * dom/Document.cpp:
138         (WebCore::Document::Document):
139         (WebCore::Document::updateTitle):
140         (WebCore::Document::setTitle):
141         (WebCore::Document::removeTitle):
142         * dom/Document.h:
143         (WebCore::Document::title):
144         * html/HTMLTitleElement.cpp:
145         (WebCore::HTMLTitleElement::HTMLTitleElement):
146         (WebCore::HTMLTitleElement::childrenChanged):
147         (WebCore::HTMLTitleElement::text):
148         (WebCore::HTMLTitleElement::textWithDirection):
149         * html/HTMLTitleElement.h:
150         * loader/DocumentLoader.cpp:
151         (WebCore::DocumentLoader::setTitle):
152         * loader/DocumentLoader.h:
153         (WebCore::DocumentLoader::title):
154         * loader/EmptyClients.h:
155         (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle):
156         (WebCore::EmptyFrameLoaderClient::setTitle):
157         * loader/FrameLoader.cpp:
158         (WebCore::FrameLoader::receivedFirstData):
159         (WebCore::FrameLoader::commitProvisionalLoad):
160         (WebCore::FrameLoader::setTitle):
161         * loader/FrameLoader.h:
162         * loader/FrameLoaderClient.h:
163         * loader/HistoryController.cpp:
164         (WebCore::HistoryController::updateForBackForwardNavigation):
165         (WebCore::HistoryController::updateForReload):
166         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
167         (WebCore::HistoryController::updateForClientRedirect):
168         (WebCore::HistoryController::updateForCommit):
169         (WebCore::HistoryController::setCurrentItemTitle):
170         (WebCore::HistoryController::initializeItem):
171         * loader/HistoryController.h:
172         * platform/text/StringWithDirection.h: Added.
173         (WebCore::StringWithDirection::StringWithDirection):
174         (WebCore::StringWithDirection::operator==):
175         (WebCore::StringWithDirection::operator!=):
176         * svg/SVGTitleElement.cpp:
177         (WebCore::SVGTitleElement::insertedIntoDocument):
178         (WebCore::SVGTitleElement::childrenChanged):
179
180 2011-03-31  Alexander Pavlov  <apavlov@chromium.org>
181
182         Reviewed by Yury Semikhatsky.
183
184         Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
185         https://bugs.webkit.org/show_bug.cgi?id=57538
186
187         * inspector/InspectorStyleSheet.cpp:
188         (WebCore::buildSourceRangeObject):
189         (WebCore::InspectorStyle::buildObjectForStyle):
190         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
191         * inspector/front-end/AuditRules.js:
192         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
193         * inspector/front-end/CSSStyleModel.js:
194         (WebInspector.CSSStyleDeclaration):
195
196 2011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
197
198         Unreviewed, rolling out r82565.
199         http://trac.webkit.org/changeset/82565
200         https://bugs.webkit.org/show_bug.cgi?id=57541
201
202         Caused assertion failures. (Requested by bbandix on #webkit).
203
204         * platform/graphics/filters/FEFlood.cpp:
205         (WebCore::FEFlood::setFloodColor):
206         (WebCore::FEFlood::setFloodOpacity):
207         * platform/graphics/filters/FEFlood.h:
208         * platform/graphics/filters/FESpecularLighting.cpp:
209         (WebCore::FESpecularLighting::setLightingColor):
210         * platform/graphics/filters/FESpecularLighting.h:
211         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
212         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
213         * rendering/svg/SVGResourcesCache.cpp:
214         (WebCore::SVGResourcesCache::clientStyleChanged):
215         * svg/SVGFEDiffuseLightingElement.cpp:
216         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
217         * svg/SVGFEFloodElement.cpp:
218         * svg/SVGFEFloodElement.h:
219         * svg/SVGFESpecularLightingElement.cpp:
220         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
221
222 2011-03-31  Renata Hodovan  <reni@webkit.org>
223
224         Reviewed by Dirk Schulze.
225
226         CSS related SVG*Element changes doesn't require relayout
227         https://bugs.webkit.org/show_bug.cgi?id=56906
228
229         The changes of some CSS related SVGFilter properties e.g. lighting-color, flood-color, flood-opacity
230         need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
231         we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
232         via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
233
234         Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
235                svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
236                svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
237                svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
238
239         * platform/graphics/filters/FEFlood.cpp:
240         (WebCore::FEFlood::setFloodColor):
241         (WebCore::FEFlood::setFloodOpacity):
242         * platform/graphics/filters/FEFlood.h:
243         * platform/graphics/filters/FESpecularLighting.cpp:
244         (WebCore::FESpecularLighting::setLightingColor):
245         * platform/graphics/filters/FESpecularLighting.h:
246         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
247         (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
248         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
249         * rendering/svg/SVGResourcesCache.cpp:
250         (WebCore::SVGResourcesCache::clientStyleChanged):
251         * svg/SVGFEDiffuseLightingElement.cpp:
252         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
253         * svg/SVGFEFloodElement.cpp:
254         (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
255         * svg/SVGFEFloodElement.h:
256         * svg/SVGFESpecularLightingElement.cpp:
257         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
258
259 2011-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
260
261         Reviewed by Pavel Feldman.
262
263         XML Viewer: declared namespaces are not rendered.
264         https://bugs.webkit.org/show_bug.cgi?id=56262
265
266         XML viewer rewritten on javascript.
267
268         * CMakeLists.txt:
269         * DerivedSources.make:
270         * GNUmakefile.am:
271         * WebCore.gyp/WebCore.gyp:
272         * WebCore.gypi:
273         * WebCore.vcproj/WebCore.vcproj:
274         * WebCore.xcodeproj/project.pbxproj:
275         * dom/XMLDocumentParserLibxml2.cpp:
276         (WebCore::XMLDocumentParser::doEnd):
277         * xml/XMLTreeViewer.cpp:
278         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
279         * xml/XMLViewer.css: Added.
280         * xml/XMLViewer.js: Added.
281         * xml/XMLViewer.xsl: Removed.
282         * xml/XSLStyleSheet.h:
283
284 2011-03-31  Jaehun Lim  <ljaehun.lim@samsung.com>
285
286         Unreviewed build fix.
287
288         Fix build break after rolling out r82496
289         https://bugs.webkit.org/show_bug.cgi?id=57536
290
291         * platform/efl/RenderThemeEfl.cpp:
292
293 2011-03-31  Andrey Adaikin  <aandrey@google.com>
294
295         Reviewed by Pavel Feldman.
296
297         Web Inspector: execution line is displayed incorrectly after source editing.
298         https://bugs.webkit.org/show_bug.cgi?id=57229
299
300         * inspector/front-end/SourceFrame.js:
301         (WebInspector.SourceFrame.prototype._saveViewerState):
302         (WebInspector.SourceFrame.prototype._restoreViewerState):
303         (WebInspector.SourceFrame.prototype._startEditing):
304         (WebInspector.SourceFrame.prototype._endEditing):
305         (WebInspector.SourceFrame.prototype._createTextViewer):
306         (WebInspector.SourceFrame.prototype.setExecutionLine):
307         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
308         (WebInspector.SourceFrame.prototype._handleSave):
309         (WebInspector.SourceFrame.prototype._handleRevertEditing):
310         * inspector/front-end/TextViewer.js:
311         (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
312         (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
313         (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk):
314         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
315
316 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
317
318         Reviewed by Pavel Feldman.
319
320         Web Inspector: Make the CSStyle "shorthandValues" name-value map an array
321         https://bugs.webkit.org/show_bug.cgi?id=57452
322
323         No new tests, as this is a refactoring.
324
325         * inspector/InspectorCSSAgent.cpp:
326         * inspector/InspectorStyleSheet.cpp:
327         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
328         * inspector/front-end/CSSStyleModel.js:
329         (WebInspector.CSSStyleDeclaration):
330         (WebInspector.CSSStyleDeclaration.buildShorthandValueMap):
331
332 2011-03-30  Steve Block  <steveblock@google.com>
333
334         Reviewed by Jeremy Orlow.
335
336         JavaField should not expose JavaString in its API
337         https://bugs.webkit.org/show_bug.cgi?id=55766
338
339         This patch fixes JavaField for V8 only.
340         - Factors out a JavaField interface which does not use JNI types.
341           This will allow the Java bridge to be used with objects that
342           don't use JNI directly. The existing jobject-backed
343           implementation is moved to a new JavaFieldJobject class which
344           implements the interface.
345         - Use WTF::String in place of JavaString in the API, as JavaString
346           exposes JNI types in its interface.
347
348         No new tests, refactoring only.
349
350         * Android.v8bindings.mk:
351         * WebCore.gypi:
352         * bridge/jni/JavaMethod.h:
353         (JSC::Bindings::JavaMethod::~JavaMethod):
354         * bridge/jni/JobjectWrapper.h:
355         * bridge/jni/v8/JavaClassV8.cpp:
356         (JavaClass::JavaClass):
357         * bridge/jni/v8/JavaFieldJobjectV8.cpp:
358         (JavaFieldJobject::JavaFieldJobject):
359         * bridge/jni/v8/JavaFieldJobjectV8.h:
360         (JSC::Bindings::JavaFieldJobject::name):
361         (JSC::Bindings::JavaFieldJobject::typeClassName):
362         (JSC::Bindings::JavaFieldJobject::type):
363         * bridge/jni/v8/JavaFieldV8.h:
364         (JSC::Bindings::JavaField::~JavaField):
365         * bridge/jni/v8/JavaInstanceV8.cpp:
366         (JavaInstance::getField):
367
368 2011-03-31  Levi Weintraub  <leviw@chromium.org>
369
370         Reviewed by Ryosuke Niwa.
371
372         Clean up from r82447.
373         https://bugs.webkit.org/attachment.cgi?bugid=57532
374
375         No new tests since this doesn't change behavior.
376
377         * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include.
378         * rendering/RootInlineBox.cpp:
379         (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const.
380         (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
381         * rendering/RootInlineBox.h:
382
383 2011-03-31  Benjamin Kalman  <kalman@chromium.org>
384
385         Reviewed by Ojan Vafai.
386
387         DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions
388         https://bugs.webkit.org/show_bug.cgi?id=57079
389
390         Test: editing/execCommand/delete-table-with-empty-contents.html
391
392         This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds
393         of WebKit.
394
395         * editing/DeleteSelectionCommand.cpp:
396         (WebCore::firstEditablePositionInNode):
397         (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode
398         to find anchor node for the placeholder's position, if any.
399
400 2011-03-30  Ojan Vafai  <ojan@chromium.org>
401
402         Reviewed by Adam Roben.
403
404         REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet
405         https://bugs.webkit.org/show_bug.cgi?id=57478
406
407         * css/CSSGrammar.y:
408         * css/CSSParser.cpp:
409         (WebCore::CSSParser::sinkFloatingSelectorVector):
410         * css/CSSParser.h:
411
412 2011-03-30  Dominic Cooney  <dominicc@google.com>
413
414         Reviewed by Dimitri Glazkov.
415
416         Adds layoutTestController.shadowRoot accessor to Mac DRT.
417         https://bugs.webkit.org/show_bug.cgi?id=57415
418
419         * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot
420
421 2011-03-30  Kent Tamura  <tkent@chromium.org>
422
423         Reviewed by Dimitri Glazkov.
424
425         Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event
426         https://bugs.webkit.org/show_bug.cgi?id=57424
427
428         r75555 made 'scroll' event asynchronous. So we don't need to worry about
429         deleting or moving a target node in scrollIntoViewIfNeeded().
430
431         * html/HTMLFormElement.cpp:
432         (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code.
433
434 2011-03-30  Kent Tamura  <tkent@chromium.org>
435
436         Reviewed by Darin Adler.
437
438         REGRESSION (r74895): Crash if input.type = 'file' twice
439         https://bugs.webkit.org/show_bug.cgi?id=57343
440
441         * html/HTMLInputElement.cpp:
442         (WebCore::HTMLInputElement::updateType):
443           Don't call setAttribute() if the type is not changed.
444
445 2011-03-30  Jia Pu  <jpu@apple.com>
446
447         Reviewed by Darin Adler.
448
449         Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x.
450         https://bugs.webkit.org/show_bug.cgi?id=57353
451         <rdar://problem/9163983>
452
453         We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction
454         panel. The latter function compensates for zooming, which we don't need in this case. We also
455         dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors().
456
457         * WebCore.exp.in:
458         * dom/Range.cpp:
459         (WebCore::Range::textQuads):
460         * dom/Range.h:
461         * editing/Editor.cpp:
462         (WebCore::Editor::windowRectForRange):
463         * editing/Editor.h:
464         * page/Frame.cpp:
465         (WebCore::Frame::setPageAndTextZoomFactors):
466
467 2011-03-30  Chris Guillory  <chris.guillory@google.com>
468
469         Reviewed by Dimitri Glazkov.
470
471         Render fonts using skia when requested by platform context.
472         https://bugs.webkit.org/show_bug.cgi?id=56441
473
474         * platform/graphics/skia/PlatformContextSkia.cpp:
475         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
476         * platform/graphics/skia/PlatformContextSkia.h:
477         * platform/graphics/skia/SkiaFontWin.cpp:
478         (WebCore::windowsCanHandleTextDrawing):
479         (WebCore::skiaDrawText):
480         (WebCore::setupPaintForFont):
481         (WebCore::paintSkiaText):
482
483 2011-03-30  Dan Bernstein  <mitz@apple.com>
484
485         Reviewed by Darin Adler.
486
487         <rdar://problem/9199518> Crash when focusing a styled editable element
488
489         Test: editing/deleting/delete-button-background-image-none.html
490
491         * editing/DeleteButtonController.cpp:
492         (WebCore::isDeletableElement): Check all background layers for background images.
493         * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly,
494         in the above function.
495
496 2011-03-30  Martin Robinson  <mrobinson@igalia.com>
497
498         Try once more to fix the EFL build.
499
500         * platform/efl/RenderThemeEfl.cpp:
501
502 2011-03-30  Chris Fleizach  <cfleizach@apple.com>
503
504         Reviewed by Darin Adler.
505
506         Regression: VO cursor doesn't follow KB focus back into HTML view
507         https://bugs.webkit.org/show_bug.cgi?id=57509
508
509         In WK2, because the web area never believes focus leave the area, sending the initial
510         focus change when moving back into the web area, does not trigger a notification.
511
512         That behavior needs to be overridden by explicitly posting a focused UI element change
513         at the appropriate time. This is only used in WK2, hence the absence of a layout test for now.
514
515         * page/FocusController.cpp:
516         (WebCore::FocusController::setInitialFocus):
517
518 2011-03-30  MORITA Hajime  <morrita@google.com>
519
520         Reviewed by Simon Fraser.
521
522         box-shadow radii stays the same regardless of any spread set
523         https://bugs.webkit.org/show_bug.cgi?id=49726
524
525         - Removed special shadowSpread handling path
526         - Fixed broken multple inset shadow border computation.
527
528         Test: fast/box-shadow/spread-multiple-inset.html
529
530         * rendering/RenderBoxModelObject.cpp:
531         (WebCore::RenderBoxModelObject::paintBoxShadow):
532
533 2011-03-29  Matthew Delaney  <mdelaney@apple.com>
534
535         Reviewed by Simon Fraser.
536
537         Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG
538
539         https://bugs.webkit.org/show_bug.cgi?id=53134
540
541         Test: fast/canvas/getPutImageDataPairTest.html
542
543         * platform/graphics/cg/ImageBufferCG.cpp:
544
545 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
546
547         Reviewed by Adam Roben.
548
549         Share most vsprops between Release and Production builds in releaseproduction.vsprops
550         https://bugs.webkit.org/show_bug.cgi?id=57508
551
552         * WebCore.vcproj/QTMovieWinProduction.vsprops:
553         * WebCore.vcproj/QTMovieWinRelease.vsprops:
554         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
555         * WebCore.vcproj/WebCoreProduction.vsprops:
556         * WebCore.vcproj/WebCoreRelease.vsprops:
557         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
558
559 2011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
560
561         Reviewed by Alexey Proskuryakov.
562
563         Add some dynamic annotations to JavaScriptCore/wtf
564         https://bugs.webkit.org/show_bug.cgi?id=53747
565
566         By using these annotations we can improve the precision of finding
567         WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
568         These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
569
570         These files don't add new functionality, so don't need extra tests.
571
572         * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
573
574 2011-03-30  Abhishek Arya  <inferno@chromium.org>
575
576         Reviewed by Simon Fraser.
577
578         Fix wrong type assumptions in editing code. Move code
579         from ASSERTs to hard checks.
580         https://bugs.webkit.org/show_bug.cgi?id=57348
581
582         Test: editing/execCommand/remove-format-non-html-element-crash.html
583
584         * css/CSSStyleSelector.cpp:
585         (WebCore::CSSStyleSelector::applyProperty):
586         * editing/ApplyStyleCommand.cpp:
587         (WebCore::getRGBAFontColor):
588         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
589         * editing/DeleteButtonController.cpp:
590         (WebCore::enclosingDeletableElement):
591         * editing/EditingStyle.cpp:
592         (WebCore::EditingStyle::textDirection):
593         (WebCore::EditingStyle::prepareToApplyAt):
594         * editing/Editor.cpp:
595         (WebCore::Editor::textDirectionForSelection):
596         * editing/FormatBlockCommand.cpp:
597         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
598
599 2011-03-30  Stephen White  <senorblanco@chromium.org>
600
601         Reviewed by Kenneth Russell.
602
603         Speed up clipping in accelerated 2D canvas.
604         https://bugs.webkit.org/show_bug.cgi?id=57464
605
606         Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation.
607         Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others.
608
609         * platform/graphics/chromium/GLES2Canvas.cpp:
610         (WebCore::PathAndTransform::PathAndTransform):
611         New structure to keep track of the CTM at the time the clipping path was added.
612         (WebCore::GLES2Canvas::State::State):
613         Replace m_clippingEnabled with a count of total clipping paths.
614         (WebCore::GLES2Canvas::clearRect):
615         Check the total clipping path count, instead of m_clippingEnabled.
616         (WebCore::GLES2Canvas::fillPath):
617         (WebCore::GLES2Canvas::fillRect):
618         Perform state application after doing shadows.  This is necessary
619         since restore() may now leave clipping enabled.
620         (WebCore::GLES2Canvas::clipPath):
621         Explicitly specify the stencil operation as INCR.  Store the current
622         transformation when saving clipping paths.
623         (WebCore::GLES2Canvas::restore):
624         Don't clear the stencil buffer and re-draw active paths on each restore.
625         Erase the old paths with DECR.
626         (WebCore::GLES2Canvas::drawTexturedRect):
627         Check m_numClippingPaths instead of m_clippingEnabled.
628         (WebCore::GLES2Canvas::beginShadowDraw):
629         Perform state application when drawing hard shadows.
630         (WebCore::GLES2Canvas::endShadowDraw):
631         Check m_numClippingPaths instead of m_clippingEnabled.
632         (WebCore::GLES2Canvas::beginStencilDraw):
633         Make the stencil op a parameter to beginShadowDraw().
634         (WebCore::GLES2Canvas::applyClipping):
635         Compare against the total number of stencil paths, not just the ones in
636         the current state.
637         * platform/graphics/chromium/GLES2Canvas.h:
638         Make the stencil op a parameter to beginShadowDraw().
639
640 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
641
642         Reviewed by Darin Adler.
643
644         Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering.
645         https://bugs.webkit.org/show_bug.cgi?id=57419
646
647         Refactoring, covered by existing tests.
648
649         * dom/EventDispatcher.cpp:
650         (WebCore::EventDispatcher::dispatchMouseEvent): Reordered and clarified names.
651         * dom/MouseEvent.cpp:
652         (WebCore::MouseEvent::create): Added a new factory method that takes PlatformMouseEvent.
653         * dom/MouseEvent.h: Added decl.
654
655 2011-03-30  Erik Arvidsson  <arv@chromium.org>
656
657         Reviewed by Alexey Proskuryakov.
658
659         Missing DOM bindings for a ping
660         https://bugs.webkit.org/show_bug.cgi?id=51955
661
662         Test: fast/dom/ping-attribute-dom-binding.html
663
664         * html/HTMLAnchorElement.idl:
665         * html/HTMLAreaElement.idl:
666
667 2011-03-30  Patrick Gansterer  <paroga@webkit.org>
668
669         Unreviewed WinCE build fix for r82465.
670
671         * CMakeListsWinCE.txt:
672
673 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
674
675         Reviewed by Adam Roben.
676
677         Update Windows production build logic for new production configurations
678         https://bugs.webkit.org/show_bug.cgi?id=57494
679
680         * WebCore.vcproj/QTMovieWinProduction.vsprops:
681         * WebCore.vcproj/WebCore.make:
682         * WebCore.vcproj/WebCoreProduction.vsprops:
683
684 2011-03-30  Sam Weinig  <sam@webkit.org>
685
686         Reviewed by Brady Eidson.
687
688         WebKit2: Attempting to view css file from url causes it to download
689         <rdar://problem/9102611>
690         https://bugs.webkit.org/show_bug.cgi?id=57501
691
692         * WebCore.exp.in:
693         * platform/MIMETypeRegistry.cpp:
694         (WebCore::initializeUnsupportedTextMIMETypes):
695         (WebCore::initializeMIMETypeRegistry):
696         (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType):
697         (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes):
698         * platform/MIMETypeRegistry.h:
699         Add set of unsupported text MIME types, taken from WebKit/mac.
700
701 2011-03-30  Brian Weinstein  <bweinstein@apple.com>
702
703         Reviewed by Darin Adler.
704         
705         Crash when closing "Add Bookmark" dialog using the Enter Key
706         https://bugs.webkit.org/show_bug.cgi?id=57294
707         <rdar://problem/9044756>
708
709         Protect the FrameView in EventHandler::keyEvent, like we do in other EventHandler
710         functions that could destroy the frame.
711
712         * page/EventHandler.cpp:
713         (WebCore::EventHandler::keyEvent):
714
715 2011-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
716
717         Unreviewed, rolling out r82463.
718         http://trac.webkit.org/changeset/82463
719         https://bugs.webkit.org/show_bug.cgi?id=57482
720
721         Assertion failure in Node::rendererIsEditable on multiple
722         editing tests (Requested by aroben|meeting on #webkit).
723
724         * css/CSSParser.cpp:
725         (WebCore::CSSParser::parseValue):
726         * css/CSSPrimitiveValueMappings.h:
727         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
728         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
729         * css/CSSValueKeywords.in:
730         * rendering/style/RenderStyle.h:
731         * rendering/style/RenderStyleConstants.h:
732
733 2011-03-24  Luiz Agostini  <luiz.agostini@openbossa.org>
734
735         Reviewed by Kenneth Rohde Christiansen.
736
737         [Qt] QNetworkReplyHandler refactoring: signal sequence.
738         https://bugs.webkit.org/show_bug.cgi?id=57049
739
740         This is the first step in QNetworkReplyHandler. The main objective here is to create simple invariants:
741
742             1 - that the signals metadatachanged, readyRead and finished will come in this order.
743             2 - that signals metadatachanged and finished will be called exactly once.
744
745         Having these invariants further simplifications will be possible and will come in future patches.
746
747         Class QNetworkReplyWrapper was created to handle QNetworkReply object. To connect to the signals of it
748         instead of connecting to the signals of QNetworkReply is what guarantees the sequence of the signals.
749         QNetworkReplyWrapper will be used in future to perform mime type sniffing before sending
750         metadatachanged signal.
751
752         * platform/network/qt/QNetworkReplyHandler.cpp:
753         (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
754         (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
755         (WebCore::QNetworkReplyWrapper::release):
756         (WebCore::QNetworkReplyWrapper::resetConnections):
757         (WebCore::QNetworkReplyWrapper::receiveMetaData):
758         (WebCore::QNetworkReplyWrapper::didReceiveFinished):
759         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
760         (WebCore::QNetworkReplyHandler::resetState):
761         (WebCore::QNetworkReplyHandler::release):
762         (WebCore::QNetworkReplyHandler::finish):
763         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
764         (WebCore::QNetworkReplyHandler::redirect):
765         (WebCore::QNetworkReplyHandler::forwardData):
766         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
767         (WebCore::QNetworkReplyHandler::start):
768         * platform/network/qt/QNetworkReplyHandler.h:
769         (WebCore::QNetworkReplyWrapper::reply):
770         (WebCore::QNetworkReplyWrapper::redirectionTargetUrl):
771         (WebCore::QNetworkReplyWrapper::encoding):
772         (WebCore::QNetworkReplyWrapper::advertisedMimeType):
773         (WebCore::QNetworkReplyHandler::reply):
774
775 2011-03-30  Steve Falkenburg  <sfalken@apple.com>
776
777         Reviewed by Adam Roben.
778
779         Rename Windows configuration Release_LTCG to Production for clarity
780         https://bugs.webkit.org/show_bug.cgi?id=57465
781
782         * WebCore.vcproj/QTMovieWin.vcproj:
783         * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops.
784         * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed.
785         * WebCore.vcproj/WebCore.sln:
786         * WebCore.vcproj/WebCore.submit.sln:
787         * WebCore.vcproj/WebCore.vcproj:
788         * WebCore.vcproj/WebCoreGenerated.vcproj:
789         * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops.
790         * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed.
791
792 2011-03-30  Brian Weinstein  <bweinstein@apple.com>
793
794         Reviewed by Anders Carlsson.
795         
796         ASSERT(cookieStorageAdapter) when calling stopObservingCookieChanges after WebProcess has crashed
797         https://bugs.webkit.org/show_bug.cgi?id=57477
798         <rdar://problem/9178751>
799         
800         If someone has called startObservingCookieChanges, and the WebProcess crashes and restarts, the UIProcess
801         will call stopObservingCookieChanges when cookieStorageAdapter is nil.
802         
803         The assert is wrong when the web process crashes, and there is no harm in dispatching a message to nil,
804         so remove the assert.
805         
806         * platform/network/mac/CookieStorageMac.mm:
807         (WebCore::stopObservingCookieChanges):
808
809 2011-03-30  Sam Weinig  <sam@webkit.org>
810
811         Fix Leopard build.
812
813         * platform/DefaultLocalizationStrategy.cpp:
814         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
815
816 2011-03-30  Sam Weinig  <sam@webkit.org>
817
818         Reviewed by Anders Carlsson.
819
820         Add default localization strategy that can be shared by WebKit1 and WebKit2
821         https://bugs.webkit.org/show_bug.cgi?id=57406
822
823         Currently, only WebKit2 uses this default strategy, but WebKit1 should be able
824         to adopt it soon.
825
826         * platform/DefaultLocalizationStrategy.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp.
827         (WebCore::DefaultLocalizationStrategy::DefaultLocalizationStrategy):
828         * platform/DefaultLocalizationStrategy.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h.
829         Copy the implementation of the Localization strategy from WebKit2 into a shared default strategy.
830
831         * platform/LocalizedStrings.cpp:
832         (WebCore::localizedString):
833         Add default implementation of localization bottleneck function.
834
835         * platform/LocalizedStrings.h:
836         Add localization macros here, instead of defining them in the above layer.
837
838         * platform/PlatformStrategies.cpp:
839         (WebCore::PlatformStrategies::createLocalizationStrategy):
840         * platform/PlatformStrategies.h:
841         Add default implementation of strategy creation function which creates the default strategy.
842
843         * platform/win/LocalizedStringsWin.cpp: Copied from Source/WebCore/platform/mac/LocalizedStringsMac.mm.
844         (WebCore::localizedString):
845         Add stub for windows, this will be update to pull from the bundle in a follow up patch.
846
847         * Android.mk:
848         * CMakeLists.txt:
849         * GNUmakefile.am:
850         * WebCore.exp.in:
851         * WebCore.gypi:
852         * WebCore.pro:
853         * WebCore.vcproj/WebCore.vcproj:
854         * WebCore.xcodeproj/project.pbxproj:
855         Add new files.
856
857 2011-03-30  Andras Becsi  <abecsi@webkit.org>
858
859         Reviewed by Darin Adler.
860
861         CSS: Slow parsing of rgb() with percent values
862         https://bugs.webkit.org/show_bug.cgi?id=16708
863
864         Implement fast-path parsing for percentage color values.
865
866         Gain ~30% speedup on  http://canvex.lazyilluminati.com/misc/3d.html
867
868         Relanding with rounding fix after it was rolled out in r82315.
869
870         * css/CSSParser.cpp:
871         (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
872         (WebCore::parseDouble): Function for parsing double values if they are valid.
873         (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
874         (WebCore::parseAlphaValue): Use the new functions.
875         (WebCore::CSSParser::parseColor): Ditto.
876
877 2011-03-30  Ofri Wolfus  <ofri@dhcp-172-28-40-178.tlv.corp.google.com>
878
879         Reviewed by Eric Seidel.
880
881         Add support for parsing unicode-bidi: -webkit-plaintext.
882         https://bugs.webkit.org/show_bug.cgi?id=57457
883
884         Test: css3/unicode-bidi-plaintext-parse.html
885
886         * css/CSSParser.cpp:
887         (WebCore::CSSParser::parseValue):
888         * css/CSSPrimitiveValueMappings.h:
889         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
890         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
891         * css/CSSValueKeywords.in:
892         * rendering/style/RenderStyle.h:
893         * rendering/style/RenderStyleConstants.h:
894
895 2011-03-30  Andreas Kling  <kling@webkit.org>
896
897         Reviewed by Benjamin Poulain.
898
899         [Qt] Remove unused variables in GraphicsContext::fillRect()
900
901         * platform/graphics/qt/GraphicsContextQt.cpp:
902         (WebCore::GraphicsContext::fillRect):
903
904 2011-03-30  Yael Aharon  <yael.aharon@nokia.com>
905
906         Reviewed by Eric Seidel.
907
908         REGRESSION(r82419): New pixel test failure fast/box-shadow/basic-shadows.html
909         https://bugs.webkit.org/show_bug.cgi?id=57442
910
911         When checking the position of the inline iterator in the logicallyLastRun, we should not consider BR as text.
912
913         No new tests as existing test covers this case.
914
915         * rendering/RenderBlockLineLayout.cpp:
916         (WebCore::reachedEndOfTextRenderer):
917
918 2011-03-30  Mario Sanchez Prada  <msanchez@igalia.com>
919
920         Reviewed by Chris Fleizach.
921
922         AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
923         https://bugs.webkit.org/show_bug.cgi?id=47636
924
925         Define new roles in WebCore and map them to ATK accordingly.
926
927         Test: platform/gtk/accessibility/aria-roles-unignored.html
928
929         * accessibility/AccessibilityObject.h: Added new roles to
930         represent paragraphs, labels, forms and div sections.
931         * accessibility/AccessibilityRenderObject.cpp:
932         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
933         Return ParagraphRole, LabelRole, FormRole and DivRole when needed
934         for the GTK platform only.
935         * accessibility/gtk/AccessibilityObjectAtk.cpp:
936         (WebCore::AccessibilityObject::allowsTextRanges): Consider the new
937         roles now that those kind of nodes won't return true to isGroup().
938         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
939         (atkRole): Map new WebCore roles to ATK Roles.
940         (webkit_accessible_get_role): Remove code to define roles for
941         paragraphs, labels, forms and divs based on node's tag name.
942
943         Update mappings for the Mac platform.
944
945         * accessibility/mac/AccessibilityObjectWrapper.mm:
946         (createAccessibilityRoleMap): Add explicit mappings from the new
947         roles introduced to NSAccessibilityGroupRole.
948
949 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
950
951         Unreviewed. Build fix for Efl and Qt Win.
952
953         * inspector/PageDebuggerAgent.cpp: removed ENABLE(WORKERS) guard from code that has nothing to do with workers.
954
955 2011-03-30  Andrey Kosyakov  <caseq@chromium.org>
956
957         Reviewed by Pavel Feldman.
958
959         Web Inspector: audit run never completes, fails in DOMAgent.js
960         https://bugs.webkit.org/show_bug.cgi?id=57349
961
962         - assure document is present before calling DOMAgent.querySelectAll()
963
964         * inspector/front-end/AuditRules.js:
965         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
966
967 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
968
969         Unreviewed. Build fix.
970
971         * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer
972
973 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
974
975         Reviewed by Pavel Feldman.
976
977         Web Inspector: split debugger agent into Page and Worker-specific ones
978         https://bugs.webkit.org/show_bug.cgi?id=57345
979
980         ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
981         for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
982         and Page/WorkerDebuggerAgent.
983
984         * CMakeLists.txt:
985         * GNUmakefile.am:
986         * UseJSC.cmake:
987         * WebCore.gypi:
988         * WebCore.pro:
989         * WebCore.vcproj/WebCore.vcproj:
990         * WebCore.xcodeproj/project.pbxproj:
991         * bindings/js/JSBindingsAllInOne.cpp:
992         * bindings/js/JSInjectedScriptHostCustom.cpp:
993         (WebCore::JSInjectedScriptHost::currentCallFrame):
994         * bindings/js/PageScriptDebugServer.cpp: Added.
995         (WebCore::toPage):
996         (WebCore::PageScriptDebugServer::shared):
997         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
998         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
999         (WebCore::PageScriptDebugServer::addListener):
1000         (WebCore::PageScriptDebugServer::removeListener):
1001         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1002         (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
1003         (WebCore::PageScriptDebugServer::didPause):
1004         (WebCore::PageScriptDebugServer::didContinue):
1005         (WebCore::PageScriptDebugServer::didRemoveLastListener):
1006         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
1007         * bindings/js/PageScriptDebugServer.h: Added.
1008         * bindings/js/ScriptDebugServer.cpp:
1009         (WebCore::ScriptDebugServer::ScriptDebugServer):
1010         (WebCore::ScriptDebugServer::sourceParsed):
1011         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
1012         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
1013         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
1014         (WebCore::ScriptDebugServer::pauseIfNeeded):
1015         * bindings/js/ScriptDebugServer.h:
1016         * bindings/js/WorkerScriptDebugServer.cpp: Added.
1017         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1018         (WebCore::WorkerScriptDebugServer::addListener):
1019         (WebCore::WorkerScriptDebugServer::removeListener):
1020         * bindings/js/WorkerScriptDebugServer.h: Added.
1021         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
1022         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1023         (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
1024         (WebCore::WorkerScriptDebugServer::didPause):
1025         (WebCore::WorkerScriptDebugServer::didContinue):
1026         * bindings/v8/PageScriptDebugServer.cpp: Added.
1027         (WebCore::retrieveFrame):
1028         (WebCore::PageScriptDebugServer::shared):
1029         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
1030         (WebCore::PageScriptDebugServer::addListener):
1031         (WebCore::PageScriptDebugServer::removeListener):
1032         (WebCore::PageScriptDebugServer::setClientMessageLoop):
1033         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
1034         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
1035         (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
1036         * bindings/v8/PageScriptDebugServer.h: Added.
1037         (WebCore::PageScriptDebugServer::setEnabled):
1038         (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
1039         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
1040         * bindings/v8/ScriptDebugServer.cpp:
1041         (WebCore::ScriptDebugServer::ScriptDebugServer):
1042         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
1043         (WebCore::ScriptDebugServer::breakProgram):
1044         (WebCore::ScriptDebugServer::continueProgram):
1045         (WebCore::ScriptDebugServer::stepIntoStatement):
1046         (WebCore::ScriptDebugServer::stepOverStatement):
1047         (WebCore::ScriptDebugServer::stepOutOfFunction):
1048         (WebCore::ScriptDebugServer::editScriptSource):
1049         (WebCore::toScriptDebugServer):
1050         (WebCore::ScriptDebugServer::breakProgramCallback):
1051         (WebCore::ScriptDebugServer::v8DebugEventCallback):
1052         (WebCore::ScriptDebugServer::handleV8DebugEvent):
1053         (WebCore::ScriptDebugServer::isPaused):
1054         * bindings/v8/ScriptDebugServer.h:
1055         * bindings/v8/WorkerScriptDebugServer.cpp: Added.
1056         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1057         (WebCore::WorkerScriptDebugServer::addListener):
1058         (WebCore::WorkerScriptDebugServer::removeListener):
1059         * bindings/v8/WorkerScriptDebugServer.h: Added.
1060         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
1061         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
1062         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
1063         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
1064         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1065         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
1066         * inspector/InjectedScriptHost.h:
1067         (WebCore::InjectedScriptHost::init):
1068         (WebCore::InjectedScriptHost::debuggerAgent):
1069         * inspector/InspectorAgent.cpp:
1070         (WebCore::InspectorAgent::InspectorAgent):
1071         * inspector/InspectorDebuggerAgent.cpp:
1072         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1073         (WebCore::InspectorDebuggerAgent::enable):
1074         (WebCore::InspectorDebuggerAgent::disable):
1075         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
1076         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1077         (WebCore::InspectorDebuggerAgent::continueToLocation):
1078         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1079         (WebCore::InspectorDebuggerAgent::editScriptSource):
1080         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1081         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
1082         (WebCore::InspectorDebuggerAgent::resume):
1083         (WebCore::InspectorDebuggerAgent::stepOver):
1084         (WebCore::InspectorDebuggerAgent::stepInto):
1085         (WebCore::InspectorDebuggerAgent::stepOut):
1086         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
1087         (WebCore::InspectorDebuggerAgent::didPause):
1088         (WebCore::InspectorDebuggerAgent::breakProgram):
1089         * inspector/InspectorDebuggerAgent.h:
1090         * inspector/InspectorProfilerAgent.cpp:
1091         (WebCore::InspectorProfilerAgent::disable):
1092         (WebCore::InspectorProfilerAgent::enable):
1093         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1094         * inspector/PageDebuggerAgent.cpp: Added.
1095         (WebCore::PageDebuggerAgent::create):
1096         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
1097         (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
1098         (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
1099         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
1100         (WebCore::PageDebuggerAgent::scriptDebugServer):
1101         * inspector/PageDebuggerAgent.h: Added.
1102         * inspector/WorkerDebuggerAgent.cpp: Added.
1103         (WebCore::WorkerDebuggerAgent::create):
1104         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1105         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
1106         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
1107         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
1108         (WebCore::WorkerDebuggerAgent::scriptDebugServer):
1109         * inspector/WorkerDebuggerAgent.h: Added.
1110
1111 2011-03-30  Levi Weintraub  <leviw@chromium.org>
1112
1113         Reviewed by Ryosuke Niwa.
1114
1115         Clicking below last line of right-to-left editable text that puts caret in the wrong place
1116         https://bugs.webkit.org/show_bug.cgi?id=38087
1117
1118         Moving getLogical[Start/End]BoxWithNode to RootInlineBox and using it in positionForPointWithInlineChildren
1119         instead of lastLeafChild, which wasn't correct in the RTL case.
1120
1121         Test: editing/selection/click-below-rtl-text.html
1122
1123         * editing/visible_units.cpp:
1124         (WebCore::logicalStartPositionForLine): Moved to RootInlineBox.
1125         (WebCore::logicalEndPositionForLine): Ditto.
1126         * editing/visible_units.h:
1127         * rendering/RenderBlock.cpp:
1128         (WebCore::RenderBlock::positionForPointWithInlineChildren): Useing getLogicalEndBoxWithNode instead
1129         of lastLeafChild.
1130         * rendering/RootInlineBox.cpp:
1131         (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Moved and refactored.
1132         (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
1133         * rendering/RootInlineBox.h:
1134
1135 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
1136
1137         Unreviewed. Rollout r82438 and r82436.
1138
1139         * CMakeLists.txt:
1140         * GNUmakefile.am:
1141         * UseJSC.cmake:
1142         * WebCore.gypi:
1143         * WebCore.pro:
1144         * WebCore.vcproj/WebCore.vcproj:
1145         * WebCore.xcodeproj/project.pbxproj:
1146         * bindings/js/JSBindingsAllInOne.cpp:
1147         * bindings/js/JSInjectedScriptHostCustom.cpp:
1148         (WebCore::JSInjectedScriptHost::currentCallFrame):
1149         * bindings/js/PageScriptDebugServer.cpp: Removed.
1150         * bindings/js/PageScriptDebugServer.h: Removed.
1151         * bindings/js/ScriptDebugServer.cpp:
1152         (WebCore::ScriptDebugServer::shared):
1153         (WebCore::ScriptDebugServer::ScriptDebugServer):
1154         (WebCore::ScriptDebugServer::addListener):
1155         (WebCore::ScriptDebugServer::removeListener):
1156         (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
1157         (WebCore::toPage):
1158         (WebCore::ScriptDebugServer::sourceParsed):
1159         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
1160         (WebCore::ScriptDebugServer::setJavaScriptPaused):
1161         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
1162         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
1163         (WebCore::ScriptDebugServer::pauseIfNeeded):
1164         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
1165         (WebCore::ScriptDebugServer::didAddListener):
1166         (WebCore::ScriptDebugServer::didRemoveListener):
1167         * bindings/js/ScriptDebugServer.h:
1168         * bindings/js/WorkerScriptDebugServer.cpp: Removed.
1169         * bindings/js/WorkerScriptDebugServer.h: Removed.
1170         * bindings/v8/PageScriptDebugServer.cpp: Removed.
1171         * bindings/v8/PageScriptDebugServer.h: Removed.
1172         * bindings/v8/ScriptDebugServer.cpp:
1173         (WebCore::retrieveFrame):
1174         (WebCore::ScriptDebugServer::shared):
1175         (WebCore::ScriptDebugServer::ScriptDebugServer):
1176         (WebCore::ScriptDebugServer::addListener):
1177         (WebCore::ScriptDebugServer::removeListener):
1178         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
1179         (WebCore::ScriptDebugServer::breakProgram):
1180         (WebCore::ScriptDebugServer::continueProgram):
1181         (WebCore::ScriptDebugServer::stepIntoStatement):
1182         (WebCore::ScriptDebugServer::stepOverStatement):
1183         (WebCore::ScriptDebugServer::stepOutOfFunction):
1184         (WebCore::ScriptDebugServer::editScriptSource):
1185         (WebCore::ScriptDebugServer::setEnabled):
1186         (WebCore::ScriptDebugServer::breakProgramCallback):
1187         (WebCore::ScriptDebugServer::v8DebugEventCallback):
1188         (WebCore::ScriptDebugServer::handleV8DebugEvent):
1189         (WebCore::ScriptDebugServer::didResume):
1190         * bindings/v8/ScriptDebugServer.h:
1191         (WebCore::ScriptDebugServer::pageCreated):
1192         (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
1193         (WebCore::ScriptDebugServer::setClientMessageLoop):
1194         * bindings/v8/WorkerScriptDebugServer.cpp: Removed.
1195         * bindings/v8/WorkerScriptDebugServer.h: Removed.
1196         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1197         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
1198         * inspector/InjectedScriptHost.h:
1199         (WebCore::InjectedScriptHost::init):
1200         * inspector/InspectorAgent.cpp:
1201         (WebCore::InspectorAgent::InspectorAgent):
1202         * inspector/InspectorDebuggerAgent.cpp:
1203         (WebCore::InspectorDebuggerAgent::create):
1204         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1205         (WebCore::InspectorDebuggerAgent::enable):
1206         (WebCore::InspectorDebuggerAgent::disable):
1207         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
1208         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1209         (WebCore::InspectorDebuggerAgent::continueToLocation):
1210         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1211         (WebCore::InspectorDebuggerAgent::editScriptSource):
1212         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1213         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
1214         (WebCore::InspectorDebuggerAgent::resume):
1215         (WebCore::InspectorDebuggerAgent::stepOver):
1216         (WebCore::InspectorDebuggerAgent::stepInto):
1217         (WebCore::InspectorDebuggerAgent::stepOut):
1218         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
1219         (WebCore::InspectorDebuggerAgent::didPause):
1220         (WebCore::InspectorDebuggerAgent::breakProgram):
1221         * inspector/InspectorDebuggerAgent.h:
1222         * inspector/InspectorProfilerAgent.cpp:
1223         (WebCore::InspectorProfilerAgent::disable):
1224         (WebCore::InspectorProfilerAgent::enable):
1225         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1226         * inspector/PageDebuggerAgent.cpp: Removed.
1227         * inspector/PageDebuggerAgent.h: Removed.
1228         * inspector/WorkerDebuggerAgent.cpp: Removed.
1229         * inspector/WorkerDebuggerAgent.h: Removed.
1230
1231 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
1232
1233         Unreviewed. Fix compilation on Windows and EFL.
1234
1235         * CMakeLists.txt:
1236         * bindings/js/JSBindingsAllInOne.cpp:
1237
1238 2011-03-30  Yury Semikhatsky  <yurys@chromium.org>
1239
1240         Reviewed by Pavel Feldman.
1241
1242         Web Inspector: split debugger agent into Page and Worker-specific ones
1243         https://bugs.webkit.org/show_bug.cgi?id=57345
1244
1245         ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
1246         for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
1247         and Page/WorkerDebuggerAgent.
1248
1249         * GNUmakefile.am:
1250         * UseJSC.cmake:
1251         * WebCore.gypi:
1252         * WebCore.pro:
1253         * WebCore.vcproj/WebCore.vcproj:
1254         * WebCore.xcodeproj/project.pbxproj:
1255         * bindings/js/JSInjectedScriptHostCustom.cpp:
1256         (WebCore::JSInjectedScriptHost::currentCallFrame):
1257         * bindings/js/PageScriptDebugServer.cpp: Added.
1258         (WebCore::toPage):
1259         (WebCore::PageScriptDebugServer::shared):
1260         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
1261         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
1262         (WebCore::PageScriptDebugServer::addListener):
1263         (WebCore::PageScriptDebugServer::removeListener):
1264         (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
1265         (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
1266         (WebCore::PageScriptDebugServer::didPause):
1267         (WebCore::PageScriptDebugServer::didContinue):
1268         (WebCore::PageScriptDebugServer::didRemoveLastListener):
1269         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
1270         * bindings/js/PageScriptDebugServer.h: Added.
1271         * bindings/js/ScriptDebugServer.cpp:
1272         (WebCore::ScriptDebugServer::ScriptDebugServer):
1273         (WebCore::ScriptDebugServer::sourceParsed):
1274         (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
1275         (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
1276         (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
1277         (WebCore::ScriptDebugServer::pauseIfNeeded):
1278         * bindings/js/ScriptDebugServer.h:
1279         * bindings/js/WorkerScriptDebugServer.cpp: Added.
1280         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1281         (WebCore::WorkerScriptDebugServer::addListener):
1282         (WebCore::WorkerScriptDebugServer::removeListener):
1283         * bindings/js/WorkerScriptDebugServer.h: Added.
1284         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
1285         (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
1286         (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
1287         (WebCore::WorkerScriptDebugServer::didPause):
1288         (WebCore::WorkerScriptDebugServer::didContinue):
1289         * bindings/v8/PageScriptDebugServer.cpp: Added.
1290         (WebCore::retrieveFrame):
1291         (WebCore::PageScriptDebugServer::shared):
1292         (WebCore::PageScriptDebugServer::PageScriptDebugServer):
1293         (WebCore::PageScriptDebugServer::addListener):
1294         (WebCore::PageScriptDebugServer::removeListener):
1295         (WebCore::PageScriptDebugServer::setClientMessageLoop):
1296         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
1297         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
1298         (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
1299         * bindings/v8/PageScriptDebugServer.h: Added.
1300         (WebCore::PageScriptDebugServer::setEnabled):
1301         (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
1302         (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
1303         * bindings/v8/ScriptDebugServer.cpp:
1304         (WebCore::ScriptDebugServer::ScriptDebugServer):
1305         (WebCore::ScriptDebugServer::setPauseOnNextStatement):
1306         (WebCore::ScriptDebugServer::breakProgram):
1307         (WebCore::ScriptDebugServer::continueProgram):
1308         (WebCore::ScriptDebugServer::stepIntoStatement):
1309         (WebCore::ScriptDebugServer::stepOverStatement):
1310         (WebCore::ScriptDebugServer::stepOutOfFunction):
1311         (WebCore::ScriptDebugServer::editScriptSource):
1312         (WebCore::toScriptDebugServer):
1313         (WebCore::ScriptDebugServer::breakProgramCallback):
1314         (WebCore::ScriptDebugServer::v8DebugEventCallback):
1315         (WebCore::ScriptDebugServer::handleV8DebugEvent):
1316         (WebCore::ScriptDebugServer::isPaused):
1317         * bindings/v8/ScriptDebugServer.h:
1318         * bindings/v8/WorkerScriptDebugServer.cpp: Added.
1319         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
1320         (WebCore::WorkerScriptDebugServer::addListener):
1321         (WebCore::WorkerScriptDebugServer::removeListener):
1322         * bindings/v8/WorkerScriptDebugServer.h: Added.
1323         (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
1324         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
1325         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
1326         (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
1327         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1328         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
1329         * inspector/InjectedScriptHost.h:
1330         (WebCore::InjectedScriptHost::init):
1331         (WebCore::InjectedScriptHost::debuggerAgent):
1332         * inspector/InspectorAgent.cpp:
1333         (WebCore::InspectorAgent::InspectorAgent):
1334         * inspector/InspectorDebuggerAgent.cpp:
1335         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1336         (WebCore::InspectorDebuggerAgent::enable):
1337         (WebCore::InspectorDebuggerAgent::disable):
1338         (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
1339         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
1340         (WebCore::InspectorDebuggerAgent::continueToLocation):
1341         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1342         (WebCore::InspectorDebuggerAgent::editScriptSource):
1343         (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
1344         (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
1345         (WebCore::InspectorDebuggerAgent::resume):
1346         (WebCore::InspectorDebuggerAgent::stepOver):
1347         (WebCore::InspectorDebuggerAgent::stepInto):
1348         (WebCore::InspectorDebuggerAgent::stepOut):
1349         (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
1350         (WebCore::InspectorDebuggerAgent::didPause):
1351         (WebCore::InspectorDebuggerAgent::breakProgram):
1352         * inspector/InspectorDebuggerAgent.h:
1353         * inspector/InspectorProfilerAgent.cpp:
1354         (WebCore::InspectorProfilerAgent::disable):
1355         (WebCore::InspectorProfilerAgent::enable):
1356         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1357         * inspector/PageDebuggerAgent.cpp: Added.
1358         (WebCore::PageDebuggerAgent::create):
1359         (WebCore::PageDebuggerAgent::PageDebuggerAgent):
1360         (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
1361         (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
1362         (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
1363         (WebCore::PageDebuggerAgent::scriptDebugServer):
1364         * inspector/PageDebuggerAgent.h: Added.
1365         * inspector/WorkerDebuggerAgent.cpp: Added.
1366         (WebCore::WorkerDebuggerAgent::create):
1367         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
1368         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
1369         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
1370         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
1371         (WebCore::WorkerDebuggerAgent::scriptDebugServer):
1372         * inspector/WorkerDebuggerAgent.h: Added.
1373
1374 2011-03-30  Alexander Pavlov  <apavlov@chromium.org>
1375
1376         Reviewed by Pavel Feldman.
1377
1378         Web Inspector: Make the getStylesForNode result "styleAttributes" value an array rather than a map
1379         https://bugs.webkit.org/show_bug.cgi?id=57440
1380
1381         * inspector/InspectorCSSAgent.cpp:
1382         (WebCore::InspectorCSSAgent::getStylesForNode):
1383         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
1384         * inspector/InspectorCSSAgent.h:
1385         * inspector/front-end/CSSStyleModel.js:
1386         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1387
1388 2011-03-30  Evan Martin  <evan@chromium.org>
1389
1390         Reviewed by Ryosuke Niwa.
1391
1392         Fix a last-second ASSERT in previous change that was wrong.
1393
1394         * dom/Document.cpp:
1395         (WebCore::Document::setTitle):
1396
1397 2011-03-30  Levi Weintraub  <leviw@chromium.org>
1398
1399         Reviewed by Eric Seidel.
1400
1401         RTL:  Directionality always reset on hard line break
1402         https://bugs.webkit.org/show_bug.cgi?id=23124
1403
1404         No longer clearing all BidiContexts when we hit a hard line break.
1405         Instead, directionality applied by DOM elements is preserved by
1406         reconstructing the context stack ignoring those that didn't come
1407         from the DOM.
1408
1409         Test: fast/text/international/bidi-br-as-paragraph-separator.html
1410
1411         * platform/text/BidiContext.cpp:
1412         (WebCore::BidiContext::createUncached):
1413         (WebCore::BidiContext::create):
1414         (WebCore::copyContextAndRebaselineLevel): Helper to make a copy of a context
1415         and recalculate its bidi level.
1416         (WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Returns the top of
1417         a BidiContext stack that's equivalent but without contexts from Unicode directional
1418         characters.
1419         (WebCore::operator==): Now takes into account embedding source.
1420         * platform/text/BidiContext.h:
1421         (WebCore::BidiContext::source): Enum to specify whether an embedded
1422         bidirectional control came from the DOM/Style or Unicode characters
1423         (WebCore::BidiContext::BidiContext):
1424         * platform/text/BidiResolver.h:
1425         (WebCore::BidiEmbedding::BidiEmbedding): An embedding is now a direction
1426         and a hint about where it came from so we can differentiate DOM directions
1427         from unicode direction control characters.
1428         (WebCore::BidiEmbedding::direction):
1429         (WebCore::BidiEmbedding::source):
1430         (WebCore::::embed): Now takes a source as well as a direction.
1431         (WebCore::::commitExplicitEmbedding):
1432         (WebCore::::createBidiRunsForLine):
1433         * rendering/InlineIterator.h:
1434         (WebCore::bidiNext):
1435         (WebCore::bidiFirst):
1436         * rendering/RenderBlockLineLayout.cpp:
1437         (WebCore::RenderBlock::determineStartPosition):
1438
1439 2011-03-30  Steve Block  <steveblock@google.com>
1440
1441         Reviewed by Jeremy Orlow.
1442
1443         JavaMethod should not expose JavaString in its API
1444         https://bugs.webkit.org/show_bug.cgi?id=55765
1445
1446         - Factors out a JavaMethod interface which does not use JNI types.
1447           This will allow the Java bridge to be used with objects that
1448           don't use JNI directly. The existing jobject-backed
1449           implementation is moved to a new JavaMethodJobject class which
1450           implements the interface.
1451         - Use WTF::String in place of JavaString in the API, as JavaString
1452           exposes JNI types in its interface.
1453         - Remove the method ID as it uses JNI types.
1454
1455         No new tests, refactoring only.
1456
1457         * Android.jscbindings.mk:
1458         * Android.v8bindings.mk:
1459         * GNUmakefile.am:
1460         * WebCore.gypi:
1461         * WebCore.xcodeproj/project.pbxproj:
1462         * bridge/jni/JavaMethod.h:
1463         * bridge/jni/JavaMethodJobject.cpp:
1464         (JavaMethodJobject::JavaMethodJobject):
1465         (JavaMethodJobject::~JavaMethodJobject):
1466         (appendClassName):
1467         (JavaMethodJobject::signature):
1468         * bridge/jni/JavaMethodJobject.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
1469         (JSC::Bindings::JavaMethodJobject::name):
1470         (JSC::Bindings::JavaMethodJobject::returnTypeClassName):
1471         (JSC::Bindings::JavaMethodJobject::parameterAt):
1472         (JSC::Bindings::JavaMethodJobject::returnType):
1473         (JSC::Bindings::JavaMethodJobject::isStatic):
1474         (JSC::Bindings::JavaMethodJobject::numParameters):
1475         * bridge/jni/jsc/JavaClassJSC.cpp:
1476         (JavaClass::JavaClass):
1477         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1478         (JavaInstance::invokeMethod):
1479         * bridge/jni/v8/JavaClassV8.cpp:
1480         (JavaClass::JavaClass):
1481         * bridge/jni/v8/JavaInstanceV8.cpp:
1482         (JavaInstance::invokeMethod):
1483
1484 2011-03-30  Evan Martin  <evan@chromium.org>
1485
1486         Reviewed by Ryosuke Niwa.
1487
1488         clean up Document's handling of title changes
1489         https://bugs.webkit.org/show_bug.cgi?id=57433
1490
1491         Document::setTitle has two entry points:
1492         1) from DOM bindings, like document.title="foo"
1493         2) from title tags, like <title>foo</title> in HTML
1494
1495         Split these two code paths to make the code easier to follow.
1496         Also, replace the repeated pattern of
1497             m_rawTitle = "foo"; updateTitle();
1498         with
1499             updateTitle("foo");
1500
1501         * dom/Document.cpp:
1502         (WebCore::Document::updateTitle):
1503         (WebCore::Document::setTitle):
1504         (WebCore::Document::setTitleElement):
1505         (WebCore::Document::removeTitle):
1506         * dom/Document.h:
1507         * html/HTMLTitleElement.cpp:
1508         (WebCore::HTMLTitleElement::insertedIntoDocument):
1509         (WebCore::HTMLTitleElement::childrenChanged):
1510         * svg/SVGTitleElement.cpp:
1511         (WebCore::SVGTitleElement::insertedIntoDocument):
1512         (WebCore::SVGTitleElement::childrenChanged):
1513
1514 2011-03-30  Levi Weintraub  <leviw@chromium.org>
1515
1516         Reviewed by Ryosuke Niwa.
1517
1518         BreakBlockQuoteCommand assumes all li tags have list item renderers
1519         https://bugs.webkit.org/show_bug.cgi?id=57253
1520
1521         Checking that the renderers of li nodes are actually RenderListItems
1522         before treating them as such.
1523
1524         Test: editing/execCommand/crash-breaking-blockquote-with-list.html
1525
1526         * editing/BreakBlockquoteCommand.cpp:
1527         (WebCore::BreakBlockQuoteCommand::doApply):
1528
1529 2011-03-30  Pavel Feldman  <pfeldman@chromium.org>
1530
1531         Not reviewed: fixing typo in the inspector front-end.
1532
1533         Web Inspector: REGRESSION: Broken live edit errors handling
1534         https://bugs.webkit.org/show_bug.cgi?id=57436
1535
1536         * inspector/front-end/DebuggerModel.js:
1537         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1538
1539 2011-03-30  Yael Aharon  <yael.aharon@nokia.com>
1540
1541         Reviewed by Eric Seidel.
1542
1543         Left/Right borders/padding/margins are not always added correctly when rendering multiline inline boxes with bidi elements
1544         https://bugs.webkit.org/show_bug.cgi?id=9272
1545
1546
1547         Also fixes https://bugs.webkit.org/show_bug.cgi?id=47210 and https://bugs.webkit.org/show_bug.cgi?id=8392.
1548
1549         Change how we decide if an InlineFlowBox is the last one for its renderer. Use the position of resolver's logicallyLastRun
1550         to decide if there is more text in the next line.
1551
1552         Tests: fast/borders/rtl-border-01.html
1553                fast/borders/rtl-border-02.html
1554                fast/borders/rtl-border-03.html
1555                fast/borders/rtl-border-04.html
1556                fast/borders/rtl-border-05.html
1557
1558         * rendering/InlineFlowBox.cpp:
1559         (WebCore::isAnsectorAndWithinBlock):
1560         (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
1561         * rendering/InlineFlowBox.h:
1562         * rendering/RenderBlock.h:
1563         * rendering/RenderBlockLineLayout.cpp:
1564         (WebCore::RenderBlock::constructLine):
1565         (WebCore::reachedEndOfTextRenderer):
1566         (WebCore::RenderBlock::layoutInlineChildren):
1567
1568 2011-03-29  Nikolas Zimmermann  <nzimmermann@rim.com>
1569
1570         Reviewed by Eric Seidel.
1571
1572         REGRESSION (r68976): Incorrect bidi rendering in SVG text
1573         https://bugs.webkit.org/show_bug.cgi?id=53980
1574
1575         Deconvolute SVGTextLayoutEngine code, which was confusing due to the simultaneous processing of the rendered text
1576         in visual and logical order. Added several helper methods to make the code more readable.
1577
1578         Fix Unicode directional formatting characters support, now works as expected.
1579
1580         Test: svg/text/bidi-embedded-direction.svg
1581
1582         * editing/visible_units.cpp: Refactor getLeafBoxesInLogicalOrder(), move to InlineFlowBox.
1583         (WebCore::getLogicalStartBoxAndNode): Use new collectLeafBoxesInLogicalOrder() method in InlineFlowBox.
1584         (WebCore::getLogicalEndBoxAndNode): Ditto.
1585         * rendering/InlineFlowBox.cpp: Add new helper function, that returns a list of all leaf boxes in logical order.
1586         (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
1587         * rendering/InlineFlowBox.h:
1588         * rendering/svg/RenderSVGText.cpp: Actually trigger reordering the x/y/dx/dy/rotate value lists, if needed.
1589         (WebCore::RenderSVGText::RenderSVGText):
1590         (WebCore::RenderSVGText::layout):
1591         * rendering/svg/RenderSVGText.h: Ditto.
1592         (WebCore::RenderSVGText::layoutAttributes):
1593         (WebCore::RenderSVGText::needsReordering):
1594         * rendering/svg/SVGRootInlineBox.cpp: Use new InlineFlowBox::collectLeafBoxesINLogicalOrder(), with a custom "inline box reverse" implementation,
1595                                               which not only reverses the order of InlineBoxes, but also the order of the x/y/dx/dy/rotate value lists, if needed.
1596         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
1597         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
1598         (WebCore::swapItems):
1599         (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
1600         (WebCore::SVGRootInlineBox::reorderValueLists):
1601         * rendering/svg/SVGRootInlineBox.h:
1602         * rendering/svg/SVGTextLayoutAttributes.cpp: Store RenderSVGInlineText* pointer, where we belong to.
1603         (WebCore::SVGTextLayoutAttributes::SVGTextLayoutAttributes):
1604         (WebCore::SVGTextLayoutAttributes::dump):
1605         * rendering/svg/SVGTextLayoutAttributes.h:
1606         (WebCore::SVGTextLayoutAttributes::context):
1607         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Pass RenderSVGInlineText* object when creating SVGTextLayoutAttributes.
1608         (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
1609         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
1610         * rendering/svg/SVGTextLayoutAttributesBuilder.h:
1611         * rendering/svg/SVGTextLayoutEngine.cpp: Rewrite & cleanup the main layout algorithm, to be less confusing.
1612         (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
1613         (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
1614         (WebCore::SVGTextLayoutEngine::recordTextFragment):
1615         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
1616         (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
1617         (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
1618         (WebCore::SVGTextLayoutEngine::advanceToNextLogicalCharacter):
1619         (WebCore::SVGTextLayoutEngine::advanceToNextVisualCharacter):
1620         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
1621         * rendering/svg/SVGTextLayoutEngine.h:
1622
1623 2011-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
1624
1625         Not reviewed trivial change.
1626
1627         Web Inspector: Remove unnecessary function arguments after r82281.
1628         https://bugs.webkit.org/show_bug.cgi?id=57327
1629
1630         * inspector/InspectorAgent.cpp:
1631         (WebCore::InspectorAgent::didCommitLoad):
1632         (WebCore::InspectorAgent::domContentLoadedEventFired):
1633         * inspector/InspectorAgent.h:
1634         * inspector/InspectorInstrumentation.cpp:
1635         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
1636         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1637
1638 2011-03-30  Kent Tamura  <tkent@chromium.org>
1639
1640         Reviewed by Ojan Vafai.
1641
1642         H1 element should have different default style if it is in HTML5 sectioning elements.
1643         https://bugs.webkit.org/show_bug.cgi?id=52693
1644
1645         Test: fast/css/h1-in-section-elements.html
1646
1647         * css/html.css: Add font-size and margin declarations to follow HTML5 specification.
1648         (:-webkit-any(article,aside,nav,section) h1):
1649         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
1650         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
1651         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
1652         (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
1653
1654 2011-03-29  Beth Dakin  <bdakin@apple.com>
1655
1656         Reviewed by Maciej Stachowiak.
1657
1658         Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
1659         webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard 
1660         -and corresponding-
1661         <rdar://problem/8665411>
1662
1663         * platform/mac/PlatformScreenMac.mm:
1664         (WebCore::windowScaleFactor):
1665         (WebCore::toUserSpace):
1666         (WebCore::toDeviceSpace):
1667
1668 2011-03-29  Eric Seidel  <eric@webkit.org>
1669
1670         Reviewed by Dimitri Glazkov.
1671
1672         Rename BidiResolver::eor and sor to m_eor and m_sor to match modern style
1673         https://bugs.webkit.org/show_bug.cgi?id=57369
1674
1675         I considered renaming these to m_endOfRun and m_startOfRun but decided
1676         that was too verbose for now (given how often they're used).  I suspect
1677         with a bit more refactoring we'll find they're not used very often and can be renamed
1678         if so desired.
1679
1680         * platform/text/BidiResolver.h:
1681         (WebCore::::appendRun):
1682         (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
1683         (WebCore::::lowerExplicitEmbeddingLevel):
1684         (WebCore::::raiseExplicitEmbeddingLevel):
1685         (WebCore::::createBidiRunsForLine):
1686         * rendering/InlineIterator.h:
1687         (WebCore::InlineBidiResolver::appendRun):
1688
1689 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
1690
1691         Reviewed by Pavel Feldman.
1692
1693         Web Inspector: [Chromium] Remove exact retained size request in detailed heap snapshots.
1694         https://bugs.webkit.org/show_bug.cgi?id=57351
1695
1696         * bindings/js/ScriptHeapSnapshot.h:
1697         * bindings/v8/ScriptHeapSnapshot.cpp:
1698         * bindings/v8/ScriptHeapSnapshot.h:
1699         * inspector/Inspector.json:
1700         * inspector/InspectorProfilerAgent.cpp:
1701         * inspector/InspectorProfilerAgent.h:
1702         * inspector/front-end/DetailedHeapshotGridNodes.js:
1703         (WebInspector.HeapSnapshotGenericObjectNode):
1704         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
1705         * inspector/front-end/DetailedHeapshotView.js:
1706         (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
1707
1708 2011-03-29  Eric Seidel  <eric@webkit.org>
1709
1710         Reviewed by Ryosuke Niwa.
1711
1712         Split more logic out from createBidiRunsForLine for readability
1713         https://bugs.webkit.org/show_bug.cgi?id=57341
1714
1715         I marked reorderRunsFromLevels inline, but it probably doesn't actually need to (or want to) be.
1716         This lops another large hunk off of reorderRunsFromLevels further reducing the size and complexity.
1717
1718         * platform/text/BidiResolver.h:
1719         (WebCore::::reorderRunsFromLevels):
1720         (WebCore::::createBidiRunsForLine):
1721
1722 2011-03-29  Kent Tamura  <tkent@chromium.org>
1723
1724         Reviewed by Dimitri Glazkov.
1725
1726         Make validation message bubble testable
1727         https://bugs.webkit.org/show_bug.cgi?id=57290
1728
1729         Introduce a setting for validation message timer so that we can configure
1730         how long we show a validation message bubble.
1731
1732         Test: fast/forms/validation-message-appearance.html
1733
1734         * html/ValidationMessage.cpp:
1735         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
1736           Don't set a timer if the timer magnification value is 0 or negative.
1737           Otherwise, hides the bubble length * magnification / 1000 seconds.
1738         * page/Settings.cpp:
1739         (WebCore::Settings::Settings): Initialize the timer magnification value.
1740         * page/Settings.h:
1741         (WebCore::Settings::setValidationMessageTimerMagnification): Added.
1742         (WebCore::Settings::validationMessageTimerMaginification): Added.
1743
1744 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
1745
1746         Remove the extraneous declaration I accidentally added in r82376.
1747
1748         * dom/MouseEvent.h: Removed createSimulated decl.
1749
1750 2011-03-29  James Robinson  <jamesr@chromium.org>
1751
1752         Reviewed by Kenneth Russell.
1753
1754         [chromium] Compositor crash with show-layer-borders flag
1755         https://bugs.webkit.org/show_bug.cgi?id=57292
1756
1757         Synchronize the debug border color/width with other properties to ensure the appropriate
1758         CCLayerImpl exists.  Code is only exercised with a debugging command line flag so no layout
1759         test.
1760
1761         * platform/graphics/chromium/LayerChromium.cpp:
1762         (WebCore::LayerChromium::pushPropertiesTo):
1763         (WebCore::LayerChromium::setBorderColor):
1764         (WebCore::LayerChromium::setBorderWidth):
1765         * platform/graphics/chromium/LayerChromium.h:
1766
1767 2011-03-29  Tony Gentilcore  <tonyg@chromium.org>
1768
1769         Reviewed by Adam Barth.
1770
1771         Teach the preload scanner about &lt;input type=image&gt;
1772         https://bugs.webkit.org/show_bug.cgi?id=57404
1773
1774         I did a very rough sample of the top 50 web pages to see how many of each
1775         HTML resource type they include:
1776         img src: 1,359
1777         script src: 276
1778         link href: 256
1779         iframe src: 104
1780         input src: 50
1781         embed src: 37
1782         @import: 13
1783         object data: 11
1784
1785         Based on this, it seems worthwhile to preload inputs and iframes (possibly embed).
1786         This patch only does inputs.
1787
1788         Test: fast/preloader/input.html
1789
1790         * html/parser/HTMLPreloadScanner.cpp:
1791         (WebCore::HTMLNames::PreloadTask::PreloadTask):
1792         (WebCore::HTMLNames::PreloadTask::processAttributes):
1793         (WebCore::HTMLNames::PreloadTask::inputTypeAttributeIsImage):
1794         (WebCore::HTMLNames::PreloadTask::preload):
1795
1796 2011-03-29  Luke Macpherson   <macpherson@chromium.org>
1797
1798         Reviewed by David Levin.
1799
1800         Improve the massive switch statement in CSSStyleSelector::applyProperty.
1801         https://bugs.webkit.org/show_bug.cgi?id=56288
1802
1803         No new tests are needed because no new functionality exposed.
1804
1805         * css/CSSStyleSelector.cpp:
1806         (WebCore::CSSStyleSelector::applyProperty):
1807         Asserted that cases implemented in the CSSStyleApplyProperty lookup table are unreachable.
1808         Updated comment.
1809
1810 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
1811
1812         Reviewed by Darin Adler.
1813
1814         Introduce SimulatedMouseEvent and teach EventDispatcher how to use it.
1815         https://bugs.webkit.org/show_bug.cgi?id=57402
1816
1817         No functional changes, covered by existing tests.
1818
1819         * dom/EventDispatcher.cpp:
1820         (WebCore::EventDispatcher::dispatchSimulatedClick): Changed to use SimulatedMouseEvent.
1821         (WebCore::EventDispatcher::dispatchMouseEvent): Combined two dispatchMouseEvent methods
1822             into one, now that simulated-click events don't need one.
1823         * dom/EventDispatcher.h: Updated decls.
1824         * dom/MouseEvent.cpp:
1825         (WebCore::SimulatedMouseEvent::create): Added.
1826         (WebCore::SimulatedMouseEvent::~SimulatedMouseEvent): Added.
1827         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Added.
1828         * dom/MouseEvent.h: Made constructor protected.
1829
1830 2011-03-29  Anders Carlsson  <andersca@apple.com>
1831
1832         Fix build.
1833
1834         * WebCore.exp.in:
1835
1836 2011-03-29  Steve Block  <steveblock@google.com>
1837
1838         Reviewed by Jeremy Orlow.
1839
1840         JavaInstance should not use jvalue in its API
1841         https://bugs.webkit.org/show_bug.cgi?id=57019
1842
1843         This change updates JavaInstance for V8 to use JavaValue, rather than
1844         jvalue, in its API. This will allow us to create an API for
1845         JavaInstance that is independent of JNI, to allow it to be
1846         implemented on platforms that do not use JNI directly.
1847
1848         Refactoring only, no new tests.
1849
1850         * bridge/jni/v8/JavaInstanceV8.cpp:
1851         (JavaInstance::invokeMethod):
1852         (JavaInstance::getField):
1853         * bridge/jni/v8/JavaInstanceV8.h:
1854         * bridge/jni/v8/JavaNPObjectV8.cpp:
1855         (JSC::Bindings::JavaNPObjectInvoke):
1856         (JSC::Bindings::JavaNPObjectGetProperty):
1857         * bridge/jni/v8/JavaValueV8.h:
1858
1859 2011-03-29  Eric Seidel  <eric@webkit.org>
1860
1861         Reviewed by Dimitri Glazkov.
1862
1863         Rename BidiResolver::last to m_last to match modern style
1864         https://bugs.webkit.org/show_bug.cgi?id=57367
1865
1866         * platform/text/BidiResolver.h:
1867         (WebCore::::lowerExplicitEmbeddingLevel):
1868         (WebCore::::raiseExplicitEmbeddingLevel):
1869         (WebCore::::createBidiRunsForLine):
1870
1871 2011-03-29  Justin Schuh  <jschuh@chromium.org>
1872
1873         Reviewed by Maciej Stachowiak.
1874
1875         SVGComponentTransferFunctionElement should validate type
1876         https://bugs.webkit.org/show_bug.cgi?id=56960
1877
1878         Test: svg/filters/feComponentTransfer-style-crash.xhtml
1879
1880         * svg/SVGComponentTransferFunctionElement.cpp:
1881         (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
1882         * svg/SVGComponentTransferFunctionElement.h:
1883
1884 2011-03-29  Thomas Klausner  <tk@giga.or.at>
1885
1886         Reviewed by David Levin.
1887
1888         png-1.5 fixes
1889         https://bugs.webkit.org/show_bug.cgi?id=54406
1890
1891         Fix compilation with png-1.5: struct members were hidden, and
1892         a new API to terminate data processing was added (especially for
1893         WebKit).
1894
1895         Compilation fixes, so no new tests.
1896
1897         * platform/image-decoders/png/PNGImageDecoder.cpp:
1898         (WebCore::PNGImageDecoder::headerAvailable):
1899         (WebCore::PNGImageDecoder::rowAvailable):
1900
1901 2011-03-29  Gavin Peters  <gavinp@chromium.org>
1902
1903         Reviewed by Tony Gentilcore.
1904
1905         Add beforeload to icon and prefetch link rel types
1906         https://bugs.webkit.org/show_bug.cgi?id=56424
1907
1908         Over in https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html , a webkit-dev
1909         thread, I've discussed my hopes for the link element, and adding the link header.  This
1910         change helps improve the link header by making it participate in the beforeload event in
1911         two more important cases.
1912
1913         Tests: fast/dom/HTMLLinkElement/prefetch-beforeload.html
1914                http/tests/misc/link-rel-icon-beforeload.html
1915                webarchive/test-link-rel-icon-beforeload.html
1916
1917         * html/HTMLLinkElement.cpp:
1918         (WebCore::HTMLLinkElement::checkBeforeLoadEvent):
1919         (WebCore::HTMLLinkElement::process):
1920         * html/HTMLLinkElement.h:
1921
1922 2011-03-29  Eric Seidel  <eric@webkit.org>
1923
1924         Reviewed by Dimitri Glazkov.
1925
1926         Rename BidiResolver::current to BidiResolver::m_current to match modern style
1927         https://bugs.webkit.org/show_bug.cgi?id=57363
1928
1929         I was very confused by current until I realized it was a member variable.
1930         I also did m_reachedEndOfLine since that was small.
1931
1932         * platform/text/BidiResolver.h:
1933         (WebCore::BidiResolver::position):
1934         (WebCore::BidiResolver::setPosition):
1935         (WebCore::BidiResolver::increment):
1936         (WebCore::::createBidiRunsForLine):
1937
1938 2011-03-29  Geoff Pike  <gpike@chromium.org>
1939
1940         Reviewed by Dimitri Glazkov.
1941
1942         In HitTestResult objects, initialize the ListHashSet<RefPtr<Node> >
1943         lazily.  In my informal testing it seems to be used hardly at all, so
1944         it's wasteful to create it eagerly.  Initializing a ListHashSet
1945         is expensive because a ListHashSet initially has space for 256
1946         elements, and that space is memset to 0.
1947
1948         This change should improve performance but have no impact on
1949         correctness.  On x86-64, for example, the change cuts the
1950         cost of HitTestResult(IntPoint()) in EventHandler::mouseMoved()
1951         from ~1700 cycles to ~300 cycles.
1952
1953         * rendering/HitTestResult.cpp:
1954         (WebCore::HitTestResult::HitTestResult): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
1955         (WebCore::HitTestResult::operator=): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
1956         (WebCore::HitTestResult::addNodeToRectBasedTestResult): use mutableRectBasedTestResult() rather than m_rectBasedTestResult
1957         (WebCore::HitTestResult::append): append *(other.m_rectBasedTestResult) if other.m_rectBasedTestResult isn't 0
1958         * rendering/HitTestResult.h:
1959         (WebCore::HitTestResult::rectBasedTestResult): Add a typedef for ListHashSet<RefPtr<Node> > to ease readability.  Change m_rectBasedTestResult from ListHashSet<RefPtr<Node> > to an OwnPtr of same.  Modify rectBasedTestResult() and add mutableRectBasedTestResult().
1960
1961 2011-03-29  Timothy Hatcher  <timothy@apple.com>
1962
1963         Update the order of the context menu to better match AppKit on Mac.
1964
1965         <rdar://problem/9054893>
1966
1967         Reviewed by John Sullivan.
1968
1969         * English.lproj/Localizable.strings: Updated.
1970         * page/ContextMenuController.cpp:
1971         (WebCore::ContextMenuController::populate): Update the order of items on Mac.
1972         * platform/LocalizationStrategy.h:
1973         * platform/LocalizedStrings.cpp:
1974         (WebCore::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
1975         * platform/LocalizedStrings.h:
1976         * platform/android/LocalizedStringsAndroid.cpp:
1977         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1978         * platform/brew/LocalizedStringsBrew.cpp:
1979         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1980         * platform/efl/LocalizedStringsEfl.cpp:
1981         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1982         * platform/gtk/LocalizedStringsGtk.cpp:
1983         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1984         * platform/haiku/LocalizedStringsHaiku.cpp:
1985         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1986         * platform/wx/LocalizedStringsWx.cpp:
1987         (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
1988
1989 2011-03-29  Dean Jackson  <dino@apple.com>
1990
1991         Reviewed by Chris Marrin and Ken Russell.
1992
1993         https://bugs.webkit.org/show_bug.cgi?id=57248
1994         Occlusion issues with WebGL in Safari
1995
1996         The depth buffer on Safari ports was being set up with a
1997         maximum of 16 bits. Now we use a combined 24/8 depth/stencil
1998         buffer on Mac ports.
1999
2000         No new tests as this is the setting for a particular port. Other
2001         ports may use different defaults.
2002
2003         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2004         (WebCore::GraphicsContext3D::validateAttributes):
2005         - use Extensions3D to test for depth and multisample extensions
2006           rather than querying OpenGL directly.
2007         (WebCore::GraphicsContext3D::reshape):
2008         - use a 24bit depth buffer when the extension is enabled.
2009
2010 2011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
2011
2012         Sorted XCode project. It's gotten quite out of sorts.
2013
2014         * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
2015
2016 2011-03-29  Emil A Eklund  <eae@chromium.org>
2017
2018         Reviewed by Dimitri Glazkov.
2019
2020         DatasetDOMStringMap::item and ::contains copies attribute name string
2021         https://bugs.webkit.org/show_bug.cgi?id=55645
2022
2023         Change propertyNameMatchesAttributeName to match without creating a copy
2024         of the string.
2025
2026         * dom/DatasetDOMStringMap.cpp:
2027         (WebCore::propertyNameMatchesAttributeName):
2028
2029 2011-03-29  Csaba Osztrogon√°c  <ossy@webkit.org>
2030
2031         Unreviewed rollout r82282, part of r82288, r82298.
2032
2033         * css/CSSParser.cpp:
2034         (WebCore::parseColorInt):
2035         (WebCore::isValidDouble):
2036         (WebCore::parseAlphaValue):
2037         (WebCore::CSSParser::parseColor):
2038
2039 2011-03-25  Brent Fulgham  <bfulgham@webkit.org>
2040
2041         Reviewed by Dave Hyatt.
2042
2043         https://bugs.webkit.org/show_bug.cgi?id=55981
2044         Second round of clean-ups, aimed at supporting GTK with the
2045         same unified FontPlatformData header.  This version removes
2046         some unneeded WinCairo code, and aligns the WinCairo and
2047         GTK ports to reduce code duplication.
2048
2049         * WebCore.vcproj/WebCore.vcproj: Get rid of a dangling reference
2050           to an old WinCairo file.
2051         * platform/graphics/FontPlatformData.h: Remove unneeded member
2052           for m_fontFace, which is a member of m_scaledFont.  Switch to
2053           standard Cairo hashing.
2054         (WebCore::FontPlatformData::FontPlatformData):
2055         (WebCore::FontPlatformData::font):
2056         (WebCore::FontPlatformData::scaledFont):
2057         (WebCore::FontPlatformData::hash):
2058         (WebCore::FontPlatformData::isHashTableDeletedValue):
2059         (WebCore::FontPlatformData::hashTableDeletedFontValue):
2060         * platform/graphics/win/FontCacheWin.cpp: Update to no longer use
2061           the unnecessary fontFace() accessor.
2062         (WebCore::FontCache::createFontPlatformData):
2063         * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
2064         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2065         (WebCore::FontPlatformData::platformDataInit):
2066         (WebCore::FontPlatformData::FontPlatformData):
2067         (WebCore::FontPlatformData::~FontPlatformData):
2068         (WebCore::FontPlatformData::platformDataAssign):
2069         (WebCore::FontPlatformData::platformIsEqual):
2070         * platform/graphics/win/FontPlatformDataWin.cpp:
2071         (WebCore::FontPlatformData::FontPlatformData):
2072
2073 2011-03-29  Jian Li  <jianli@chromium.org>
2074
2075         Reviewed by Adam Barth.
2076
2077         Inline worker powered by blob URL does not work with files URL even if
2078         allowFileAccessFromFileURLs is enabled
2079         https://bugs.webkit.org/show_bug.cgi?id=56063
2080
2081         Test: fast/files/workers/inline-worker-via-blob-url.html
2082
2083         * fileapi/BlobURL.cpp: Removed unneeded getOrigin() method.
2084         * fileapi/BlobURL.h: Removed unneeded getOrigin() method.
2085         * page/SecurityOrigin.cpp:
2086         (WebCore::SecurityOrigin::SecurityOrigin): Extended the logic to handle
2087         filesystem URL also to blob URL. Also fixed the problem that m_isUnique
2088         is incorrectly set for blob and filesystem URLs.
2089         (WebCore::SecurityOrigin::create): Removed the special logic for blob URL
2090         since we use the same logic in SecurityOrigin constructor as filesystem
2091         URL.
2092         (WebCore::SecurityOrigin::canRequest): Removed the special logic for blob
2093         URL since it is not needed with the fix in SecurityOrigin constructor.
2094
2095 2011-03-29  Timothy Hatcher  <timothy@apple.com>
2096
2097         Update WebCore Localizable.strings to contain WebCore, WebKit/mac and WebKit2 strings.
2098
2099         https://webkit.org/b/57354
2100
2101         Reviewed by Sam Weinig.
2102
2103         * English.lproj/Localizable.strings: Updated.
2104         * StringsNotToBeLocalized.txt: Removed. To hard to maintain in WebCore.
2105         * platform/network/cf/LoaderRunLoopCF.h: Remove a single quote in an #error so
2106         extract-localizable-strings does not complain about unbalanced single quotes.
2107
2108 2011-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
2109
2110         Unreviewed, rolling out r82295 and r82300.
2111         http://trac.webkit.org/changeset/82295
2112         http://trac.webkit.org/changeset/82300
2113         https://bugs.webkit.org/show_bug.cgi?id=57380
2114
2115         This patch breaks compile on Chromium (Requested by
2116         abarth|gardener on #webkit).
2117
2118         * accessibility/AccessibilityObject.h:
2119         * accessibility/AccessibilityRenderObject.cpp:
2120         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2121         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2122         (atkRole):
2123         (webkit_accessible_get_role):
2124         * accessibility/mac/AccessibilityObjectWrapper.mm:
2125
2126 2011-03-29  Anders Carlsson  <andersca@apple.com>
2127
2128         Fix clang build.
2129
2130         * platform/text/BidiResolver.h:
2131         (WebCore::::createBidiRunsForLine):
2132
2133 2011-03-29  Steve Falkenburg  <sfalken@apple.com>
2134
2135         Reviewed by Adam Roben.
2136
2137         Use per-configuration vsprops in WebCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
2138         https://bugs.webkit.org/show_bug.cgi?id=57378
2139
2140         Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
2141         InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
2142         the IDE. To avoid this, add a separate vsprops file for each project configuration that
2143         contains the required inherited property sheets.
2144
2145         * WebCore.vcproj/QTMovieWin.vcproj:
2146         * WebCore.vcproj/QTMovieWinDebug.vsprops: Added.
2147         * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Added.
2148         * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Added.
2149         * WebCore.vcproj/QTMovieWinRelease.vsprops: Added.
2150         * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Added.
2151         * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Added.
2152         * WebCore.vcproj/WebCore.vcproj:
2153         * WebCore.vcproj/WebCoreDebug.vsprops: Added.
2154         * WebCore.vcproj/WebCoreDebugAll.vsprops: Added.
2155         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Added.
2156         * WebCore.vcproj/WebCoreRelease.vsprops: Added.
2157         * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Added.
2158         * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Added.
2159
2160 2011-03-29  David Hyatt  <hyatt@apple.com>
2161
2162         Reviewed by Simon Fraser.
2163
2164         <rdar://problem/9194927> REGRESSION (r81691): Page at www.mondaynote.com lays out incorrectly
2165         
2166         Back out the optimization that stopped when it hit the first float. This was an incorrect optimization
2167         and can't be done without more work.
2168
2169         Added fast/block/float/float-forced-below-other-floats.html
2170
2171         * rendering/RenderBlock.cpp:
2172         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2173         (WebCore::RenderBlock::logicalRightOffsetForLine):
2174
2175 2011-03-29  Eric Seidel  <eric@webkit.org>
2176
2177         Reviewed by Ryosuke Niwa.
2178
2179         Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it
2180         https://bugs.webkit.org/show_bug.cgi?id=57338
2181
2182         I'm attempting to break createBidiRunsForLine into understandable pieces
2183         so that we can tell what it's actually doing.  Our implementation of the
2184         unicode bidi algorithm is slightly different from the spec in that we
2185         run it per-line (instead of over the entire paragraph at once).  This is
2186         great for performance (our implementation is resumable), but it makes
2187         things a bit tricky to understand.  Splitting createBidiRunsForLine into
2188         pieces should help make our UBA implementation more readable.
2189
2190         * platform/text/BidiResolver.h:
2191         (WebCore::::updateStatusLastFromCurrentDirection):
2192         (WebCore::::createBidiRunsForLine):
2193
2194 2011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
2195
2196         Reviewed by Martin Robinson.
2197
2198         [Gtk] Consistent crash from Google/ARIA combobox click
2199         https://bugs.webkit.org/show_bug.cgi?id=55883
2200
2201         Do not call to firstChild() to avoid entering into infinite loops.
2202
2203         This would happen when current item is a WebCore Group and some of
2204         its children have either role 'option' or 'menuitem'. Other than
2205         that the logic behind that call to firstChild() seems to be no
2206         longer needed so it's safe to remove it.
2207
2208         Test: platform/gtk/accessibility/aria-options-and-menuitems-crash.html
2209
2210         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2211         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2212         Remove call to firsChild, which was leading to crashes sometimes.
2213
2214 2011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
2215
2216         Reviewed by Chris Fleizach.
2217
2218         AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
2219         https://bugs.webkit.org/show_bug.cgi?id=47636
2220
2221         Define new roles in WebCore and map them to ATK accordingly.
2222
2223         Test: platform/gtk/accessibility/aria-roles-unignored.html
2224
2225         * accessibility/AccessibilityObject.h: Added new roles to
2226         represent paragraphs, labels, forms and div sections.
2227         * accessibility/AccessibilityRenderObject.cpp:
2228         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
2229         Return ParagraphRole, LabelRole, FormRole and DivRole when needed.
2230         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2231         (atkRole): Map new WebCore roles to ATK Roles.
2232         (webkit_accessible_get_role): Remove code to define roles for
2233         paragraphs, labels, forms and divs based on node's tag name.
2234
2235         Update mappings for the Mac platform.
2236
2237         * accessibility/mac/AccessibilityObjectWrapper.mm:
2238         (createAccessibilityRoleMap): Add explicit mappings from the new
2239         roles introduced to NSAccessibilityGroupRole.
2240
2241 2011-03-29  Philippe Normand  <pnormand@igalia.com>
2242
2243         Unreviewed build fix. Remove ASSERT hitting consitently on GTK.
2244
2245         * rendering/InlineIterator.h:
2246         (WebCore::InlineIterator::moveToStartOf):
2247
2248 2011-03-29  Darin Adler  <darin@apple.com>
2249
2250         Fix some just-introduced build failures.
2251
2252         * WebCore.pro: Correct spelling of filename.
2253
2254         * css/CSSParser.cpp:
2255         (WebCore::parseColorIntOrPercentage): Fix double/int conversion that fails to compile
2256         on Leopard. Also renamed one local variabel.
2257
2258         * inspector/InspectorAgent.cpp:
2259         (WebCore::InspectorAgent::didCommitLoad): Removed unused argument names to avoid warning.
2260         (WebCore::InspectorAgent::domContentLoadedEventFired): Ditto.
2261
2262 2011-03-29  Andras Becsi  <abecsi@webkit.org>
2263
2264         Reviewed by Darin Adler.
2265
2266         CSS: Slow parsing of rgb() with percent values
2267         https://bugs.webkit.org/show_bug.cgi?id=16708
2268
2269         Implement fast-path parsing for percentage color values.
2270
2271         Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html.
2272
2273         * css/CSSParser.cpp:
2274         (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
2275         (WebCore::parseDouble): Function for parsing double values if they are valid.
2276         (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
2277         (WebCore::parseAlphaValue): Use the new functions.
2278         (WebCore::CSSParser::parseColor): Ditto.
2279
2280 2011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
2281
2282         Reviewed by Pavel Feldman.
2283
2284         Web Inspector: extract InspectorPageAgent from InspectorAgent.
2285         https://bugs.webkit.org/show_bug.cgi?id=57327
2286
2287         There are page related methods and inspector related methods in InspectorAgent.
2288         It would be nice to extract page specific methods for future usage the rest of methods in workers debugger.
2289
2290         * GNUmakefile.am:
2291         * WebCore.gypi:
2292         * inspector/CodeGeneratorInspector.pm:
2293         * inspector/Inspector.json:
2294         * inspector/InspectorAgent.cpp:
2295         (WebCore::InspectorAgent::InspectorAgent):
2296         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
2297         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2298         (WebCore::InspectorAgent::setFrontend):
2299         (WebCore::InspectorAgent::disconnectFrontend):
2300         (WebCore::InspectorAgent::didCommitLoad):
2301         (WebCore::InspectorAgent::domContentLoadedEventFired):
2302         * inspector/InspectorAgent.h:
2303         (WebCore::InspectorAgent::pageAgent):
2304         * inspector/InspectorPageAgent.cpp: Added.
2305         (WebCore::InspectorPageAgent::create):
2306         (WebCore::InspectorPageAgent::InspectorPageAgent):
2307         (WebCore::InspectorPageAgent::setFrontend):
2308         (WebCore::InspectorPageAgent::clearFrontend):
2309         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
2310         (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
2311         (WebCore::InspectorPageAgent::reloadPage):
2312         (WebCore::InspectorPageAgent::openInInspectedWindow):
2313         (WebCore::InspectorPageAgent::setUserAgentOverride):
2314         (WebCore::buildObjectForCookie):
2315         (WebCore::buildArrayForCookies):
2316         (WebCore::InspectorPageAgent::getCookies):
2317         (WebCore::InspectorPageAgent::deleteCookie):
2318         (WebCore::InspectorPageAgent::inspectedURLChanged):
2319         (WebCore::InspectorPageAgent::restore):
2320         (WebCore::InspectorPageAgent::didCommitLoad):
2321         (WebCore::InspectorPageAgent::domContentEventFired):
2322         (WebCore::InspectorPageAgent::loadEventFired):
2323         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2324         (WebCore::InspectorPageAgent::applyUserAgentOverride):
2325         * inspector/InspectorPageAgent.h: Added.
2326         * inspector/InspectorController.cpp:
2327         (WebCore::InspectorController::connectFrontend):
2328         * inspector/InspectorInstrumentation.cpp:
2329         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
2330         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
2331         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
2332         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
2333         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2334         (WebCore::InspectorInstrumentation::retrievePageAgent):
2335         * inspector/InspectorInstrumentation.h:
2336         * inspector/InstrumentingAgents.h:
2337         (WebCore::InstrumentingAgents::InstrumentingAgents):
2338         (WebCore::InstrumentingAgents::inspectorPageAgent):
2339         (WebCore::InstrumentingAgents::setInspectorPageAgent):
2340         * inspector/front-end/AuditsPanel.js:
2341         (WebInspector.AuditsPanel.prototype._reloadResources):
2342         * inspector/front-end/CookieItemsView.js:
2343         (WebInspector.CookieItemsView.prototype._deleteCookie):
2344         (WebInspector.Cookies.getCookiesAsync):
2345         * inspector/front-end/ExtensionServer.js:
2346         (WebInspector.ExtensionServer.prototype._onReload):
2347         * inspector/front-end/NetworkPanel.js:
2348         (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
2349         * inspector/front-end/ResourcesPanel.js:
2350         (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
2351         * inspector/front-end/WorkersSidebarPane.js:
2352         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
2353         * inspector/front-end/inspector.js:
2354         (WebInspector.openResource):
2355         (WebInspector.documentKeyDown):
2356
2357 2011-03-29  David Hyatt  <hyatt@apple.com>
2358
2359         Reviewed by Darin Adler.
2360
2361         https://bugs.webkit.org/show_bug.cgi?id=57276
2362         
2363         Add optimizations to make the vertical placement of boxes much faster. Whenever a box is added
2364         to a line, compare it with the parent box. If we can determine that the child box has the exact
2365         same height and baseline position as the parent box, then we keep a boolean flag set called
2366         descendantsHaveSameLineHeightAndBaseline(). If the box is different for any reason then we clear the
2367         flag up the line box parent chain.
2368
2369         When it comes time to do computeLogicalboxHeights, we can avoid recurring into the children of
2370         a box whose descendants all have the same position. When we do placeBoxesInBlockDirection, we
2371         can do a simplified recursion that just calls adjustBlockDirectionPosition to offset the boxes
2372         without doing anything else.
2373         
2374         Because of the quirks mode rule of only shrinking boxes with no immediate text children, we need
2375         to track whether a box has text descendants now as well.  When we avoid doing the recursion
2376         this flag tells us whether the collection of boxes should have an effect on the ascent and descent
2377         of the line in quirks mode.
2378  
2379         * rendering/InlineFlowBox.cpp:
2380         (WebCore::InlineFlowBox::addToLine):
2381         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2382         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2383         (WebCore::InlineFlowBox::nodeAtPoint):
2384         (WebCore::InlineFlowBox::paintBoxDecorations):
2385         (WebCore::InlineFlowBox::paintMask):
2386         * rendering/InlineFlowBox.h:
2387         (WebCore::InlineFlowBox::InlineFlowBox):
2388         (WebCore::InlineFlowBox::hasTextDescendants):
2389         (WebCore::InlineFlowBox::descendantsHaveSameLineHeightAndBaseline):
2390         (WebCore::InlineFlowBox::clearDescendantsHaveSameLineHeightAndBaseline):
2391         * rendering/RenderBlock.h:
2392         * rendering/RenderBlockLineLayout.cpp:
2393         (WebCore::RenderBlock::createLineBoxes):
2394         (WebCore::RenderBlock::constructLine):
2395         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
2396
2397 2011-03-29  Eric Seidel  <eric@webkit.org>
2398
2399         Reviewed by Ryosuke Niwa.
2400
2401         Remove a bunch of duplicate code by adding some InlineIterator helper methods
2402         https://bugs.webkit.org/show_bug.cgi?id=57326
2403
2404         Once I started adding these it became clear how much crazy duplicated code
2405         we had due to treating InlineIterator as a struct and accessing its
2406         members directly.  We can't quite make the members private yet since
2407         findNextLineBreak still splits out the members.  But this change
2408         makes the code much cleaner.
2409
2410         * rendering/InlineIterator.h:
2411         (WebCore::InlineIterator::clear):
2412         (WebCore::InlineIterator::moveToStartOf):i
2413         (WebCore::InlineIterator::moveTo):
2414         (WebCore::InlineIterator::increment):
2415         * rendering/RenderBlockLineLayout.cpp:
2416         (WebCore::tryHyphenating):
2417         (WebCore::RenderBlock::findNextLineBreak):
2418
2419 2011-03-29  Eric Seidel  <eric@webkit.org>
2420
2421         Reviewed by Ryosuke Niwa.
2422
2423         Clean up bidiNext by abstracting repeated code
2424         https://bugs.webkit.org/show_bug.cgi?id=57335
2425
2426         I also added a comment to explain what bidiNext is actually doing.
2427         This whole area of code is confusing but need not be.
2428
2429         * rendering/InlineIterator.h:
2430         (WebCore::embedCharFromDirection):
2431         (WebCore::notifyResolverEnteredObject):
2432         (WebCore::notifyResolverWillExitObject):
2433         (WebCore::bidiNext):
2434         (WebCore::bidiFirst):
2435
2436 2011-03-29  Alexander Pavlov  <apavlov@chromium.org>
2437
2438         Reviewed by Yury Semikhatsky.
2439
2440         Web Inspector: Support external CSS stylesheet freeflow text editing
2441         https://bugs.webkit.org/show_bug.cgi?id=54397
2442
2443         In this implementation, Ctrl/Cmd-S commits the current changes into the model.
2444
2445         * inspector/front-end/ResourceView.js:
2446         (WebInspector.ResourceView.createResourceView):
2447         (WebInspector.CSSSourceFrameDelegateForResourcesPanel):
2448         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.canEditScriptSource):
2449         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource):
2450         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource.handleInfos):
2451         (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype._saveStyleSheet):
2452         * inspector/front-end/ResourcesPanel.js:
2453         (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
2454         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
2455         * inspector/front-end/SourceFrame.js:
2456         (WebInspector.SourceFrame.prototype._createTextViewer):
2457
2458 2011-03-29  Eric Carlson  <eric.carlson@apple.com>
2459
2460         Reviewed by Dan Bernstein.
2461
2462         playbackRate should not be set to defaultPlaybackRate in play()
2463         https://bugs.webkit.org/show_bug.cgi?id=55943
2464
2465         Test: media/video-playbackrate.html
2466
2467         * html/HTMLMediaElement.cpp:
2468         (WebCore::HTMLMediaElement::playbackRate): No need to ask the media engine for the current
2469             rate, we already have the current value cached.
2470         (WebCore::HTMLMediaElement::playInternal): Don't reset the engine's playback rate to 
2471             the default rate.
2472         (WebCore::HTMLMediaElement::togglePlayState): Do reset the engine's playback rate to 
2473             the default rate before triggering playback.
2474         * manual-tests/media-default-playback-rate.html: Added.
2475
2476 2011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
2477
2478         Reviewed by Eric Seidel.
2479
2480         Remove specialization of EventDispatcher with inversion of control.
2481         https://bugs.webkit.org/show_bug.cgi?id=57285
2482
2483         Since some events have extra logic around their dispatch, allow them
2484         to dispatch themselves and specialize the logic. This change only
2485         converts KeyboardEvent to this model.
2486
2487         No functional change, covered by existing tests.
2488
2489         * dom/Event.cpp:
2490         (WebCore::Event::dispatch): Added.
2491         * dom/Event.h: Updated decls.
2492         * dom/EventDispatcher.cpp:
2493         (WebCore::EventDispatcher::dispatchEvent): Changed to ask event to dispatch
2494             itself.
2495         * dom/EventDispatcher.h: Updated decls.
2496         * dom/KeyboardEvent.cpp:
2497         (WebCore::KeyboardEvent::dispatch): Added, moving code from EventDispatcher.
2498         * dom/KeyboardEvent.h: Updated decls.
2499         * dom/Node.cpp:
2500         (WebCore::Node::dispatchKeyEvent): Changed to use the new ways.
2501
2502 2011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
2503
2504         Reviewed by Yury Semikhatsky.
2505
2506         Web Inspector: InspectorDOMAgent has unnecessary dependency from InspectorAgent.
2507         https://bugs.webkit.org/show_bug.cgi?id=57329
2508
2509         * inspector/InspectorAgent.cpp:
2510         (WebCore::InspectorAgent::InspectorAgent):
2511         (WebCore::InspectorAgent::setFrontend):
2512         * inspector/InspectorAgent.h:
2513         * inspector/InspectorController.cpp:
2514         (WebCore::InspectorController::inspect):
2515         * inspector/InspectorDOMAgent.cpp:
2516         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2517         (WebCore::InspectorDOMAgent::setFrontend):
2518         (WebCore::InspectorDOMAgent::handleMousePress):
2519         (WebCore::InspectorDOMAgent::inspect):
2520         (WebCore::InspectorDOMAgent::focusNode):
2521         (WebCore::InspectorDOMAgent::highlight):
2522         (WebCore::InspectorDOMAgent::hideHighlight):
2523         * inspector/InspectorDOMAgent.h:
2524         (WebCore::InspectorDOMAgent::create):
2525
2526 2011-03-29  Eric Seidel  <eric@webkit.org>
2527
2528         Reviewed by Nikolas Zimmermann.
2529
2530         Rename InlineIterator::pos to m_pos to match modern style
2531         https://bugs.webkit.org/show_bug.cgi?id=57342
2532
2533         Somehow I failed to upload this one earlier, no wonder later patches didn't apply.
2534
2535         * rendering/InlineIterator.h:
2536         (WebCore::InlineIterator::InlineIterator):
2537         (WebCore::operator==):
2538         (WebCore::operator!=):
2539         (WebCore::InlineIterator::increment):
2540         (WebCore::InlineIterator::current):
2541         (WebCore::InlineBidiResolver::appendRun):
2542         * rendering/RenderBlockLineLayout.cpp:
2543         (WebCore::checkMidpoints):
2544         (WebCore::RenderBlock::appendRunsForObject):
2545         (WebCore::RenderBlock::layoutInlineChildren):
2546         (WebCore::RenderBlock::matchedEndLine):
2547         (WebCore::tryHyphenating):
2548         (WebCore::RenderBlock::findNextLineBreak):
2549
2550 2011-03-29  Pavel Feldman  <pfeldman@chromium.org>
2551
2552         Reviewed by Yury Semikhatsky.
2553
2554         Web Inspector: document BrowserDebugger agent.
2555         https://bugs.webkit.org/show_bug.cgi?id=57331
2556
2557         * inspector/Inspector.json:
2558
2559 2011-03-29  Alexander Pavlov  <apavlov@chromium.org>
2560
2561         Reviewed by Pavel Feldman.
2562
2563         Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
2564         https://bugs.webkit.org/show_bug.cgi?id=56310
2565
2566         Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
2567         "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
2568         by CSSAgent.getStyleSheet() anymore.
2569
2570         Test: inspector/styles/get-set-stylesheet-text.html
2571
2572         * inspector/Inspector.json:
2573         * inspector/InspectorCSSAgent.cpp:
2574         (WebCore::InspectorCSSAgent::getAllStyleSheets):
2575         * inspector/InspectorCSSAgent.h:
2576         * inspector/InspectorStyleSheet.cpp:
2577         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
2578         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
2579         * inspector/InspectorStyleSheet.h:
2580         * inspector/front-end/AuditRules.js:
2581         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
2582         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
2583         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
2584         * inspector/front-end/CSSStyleModel.js:
2585         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
2586         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2587         (WebInspector.CSSStyleModel.prototype._onRevert):
2588         (WebInspector.CSSStyleSheet):
2589         (WebInspector.CSSStyleSheet.prototype.setText):
2590
2591 2011-03-29  Jeremy Moskovich  <jeremy@chromium.org>
2592
2593         Reviewed by Eric Seidel.
2594
2595         Implement text-align:match-parent as -webkit-match-parent.
2596         https://bugs.webkit.org/show_bug.cgi?id=50951
2597
2598         Add support to the CSS parser.
2599
2600         Tests: fast/css/text-align-webkit-match-parent-parse.html
2601                fast/css/text-align-webkit-match-parent.html
2602
2603         * css/CSSParser.cpp:
2604         (WebCore::CSSParser::parseValue):
2605         * css/CSSStyleSelector.cpp:
2606         (WebCore::CSSStyleSelector::applyProperty):
2607         * css/CSSValueKeywords.in:
2608
2609 2011-03-29  Eric Seidel  <eric@webkit.org>
2610
2611         Reviewed by Ryosuke Niwa.
2612
2613         Rename InlineIterator::nextBreakablePosition to m_nextBreakablePosition to match modern style
2614         https://bugs.webkit.org/show_bug.cgi?id=57323
2615
2616         All of these m_nextBreakablePosition = -1 could probably be replaced with
2617         some new methods.  But I'll do that in a separate change.  Clearly
2618         m_nextBreakablePosition is just a cached value which should be cleared
2619         at the right times.  I suspect we may even fail to clear it sometimes when
2620         we should due to the current used of direct access instead of smarter functions.
2621
2622         * rendering/InlineIterator.h:
2623         (WebCore::InlineIterator::InlineIterator):
2624         (WebCore::InlineIterator::increment):
2625         * rendering/RenderBlockLineLayout.cpp:
2626         (WebCore::tryHyphenating):
2627         (WebCore::RenderBlock::findNextLineBreak):
2628
2629 2011-03-29  Jeff Miller  <jeffm@apple.com>
2630
2631         Reviewed by Jon Honeycutt.
2632
2633         Add WebCore::copyCertificateToData() on Windows
2634         https://bugs.webkit.org/show_bug.cgi?id=57296
2635
2636         Create a new win directory in platform/cf and add CertificateCFWin.cpp and CertificateCFWin.h to it.
2637
2638         * WebCore.vcproj/WebCore.vcproj: Added CertificateCFWin.cpp and CertificateCFWin.h.
2639         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy all header files in \platform\cf\win\.
2640         * platform/cf/win: Added.
2641         * platform/cf/win/CertificateCFWin.cpp: Added.
2642         (WebCore::deallocCertContext): Added.
2643         (WebCore::createCertContextDeallocator): Added.
2644         (WebCore::copyCertificateToData): Added.
2645         * platform/cf/win/CertificateCFWin.h: Added.
2646
2647 2011-03-29  Eric Seidel  <eric@webkit.org>
2648
2649         Reviewed by Ryosuke Niwa.
2650
2651         Rename InlineIterator::block to m_block to match modern style
2652         https://bugs.webkit.org/show_bug.cgi?id=57321
2653
2654         I could have made m_block private, since it's only accessed in
2655         one place outside of InlineIterator (for an ASSERT).  But I chose
2656         not to do so in this change.
2657
2658         * rendering/InlineIterator.h:
2659         (WebCore::InlineIterator::InlineIterator):
2660         (WebCore::InlineIterator::increment):
2661         (WebCore::InlineBidiResolver::appendRun):
2662         * rendering/RenderBlockLineLayout.cpp:
2663         (WebCore::RenderBlock::findNextLineBreak):
2664
2665 2011-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
2666
2667         Reviewed by Nikolas Zimmermann.
2668
2669         Incorrect offset of svg <use> element which is in <symbol> element
2670         https://bugs.webkit.org/show_bug.cgi?id=57318
2671
2672         When webkit expanded a svg <symbol> element in the shadow tree it
2673         would clone the children of the <symbol>. The children may contain
2674         SVGShadowTreeContainerElement which was expanded from svg <use>
2675         element. But the clone operation would clone a
2676         SVGShadowTreeContainerElement as a svg <g> element. This resulted
2677         that updateContainerOffset wouldn't update offset for those elements
2678         which were expand from <use> elements.
2679
2680         This patch implements cloneElementWithoutAttributesAndChildren for
2681         SVGShadowTreeContainerElement to make the container clone itself
2682         correctly.
2683
2684         Test: svg/custom/use-in-symbol-with-offset.svg
2685
2686         * rendering/svg/SVGShadowTreeElements.cpp:
2687         (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren):
2688         * rendering/svg/SVGShadowTreeElements.h:
2689
2690 2011-03-29  Eric Seidel  <eric@webkit.org>
2691
2692         Reviewed by Ryosuke Niwa.
2693
2694         Rename InlineIterator::obj to m_obj to match modern style
2695         https://bugs.webkit.org/show_bug.cgi?id=57319
2696
2697         I started this rename after confusion in InlineBidiResolver::appendRun.
2698         (Which uses an "obj" local in InlineIterator.h.  It's not actually
2699         masking m_obj because it's a separate class, but I didn't realize
2700         that at the time because it's in InlineIterator.h which is itself confusing!)
2701
2702         * rendering/InlineIterator.h:
2703         (WebCore::InlineIterator::InlineIterator):
2704         (WebCore::operator==):
2705         (WebCore::operator!=):
2706         (WebCore::InlineIterator::increment):
2707         (WebCore::InlineIterator::atEnd):
2708         (WebCore::InlineIterator::current):
2709         (WebCore::InlineIterator::direction):
2710         (WebCore::InlineBidiResolver::appendRun):
2711         * rendering/RenderBlockLineLayout.cpp:
2712         (WebCore::checkMidpoints):
2713         (WebCore::RenderBlock::appendRunsForObject):
2714         (WebCore::RenderBlock::layoutInlineChildren):
2715         (WebCore::RenderBlock::matchedEndLine):
2716         (WebCore::skipNonBreakingSpace):
2717         (WebCore::RenderBlock::requiresLineBox):
2718         (WebCore::RenderBlock::skipTrailingWhitespace):
2719         (WebCore::RenderBlock::skipLeadingWhitespace):
2720         (WebCore::tryHyphenating):
2721         (WebCore::RenderBlock::findNextLineBreak):
2722
2723 2011-03-29  Pavel Feldman  <pfeldman@chromium.org>
2724
2725         Reviewed by Yury Semikhatsky.
2726
2727         Web Inspector: document Timeline domain, make timeline event types of type string.
2728         https://bugs.webkit.org/show_bug.cgi?id=57299
2729
2730         * inspector/Inspector.json:
2731         * inspector/InspectorTimelineAgent.cpp:
2732         (WebCore::InspectorTimelineAgent::pushGCEventRecords):
2733         (WebCore::InspectorTimelineAgent::start):
2734         (WebCore::InspectorTimelineAgent::stop):
2735         (WebCore::InspectorTimelineAgent::willCallFunction):
2736         (WebCore::InspectorTimelineAgent::didCallFunction):
2737         (WebCore::InspectorTimelineAgent::willDispatchEvent):
2738         (WebCore::InspectorTimelineAgent::didDispatchEvent):
2739         (WebCore::InspectorTimelineAgent::willLayout):
2740         (WebCore::InspectorTimelineAgent::didLayout):
2741         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
2742         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
2743         (WebCore::InspectorTimelineAgent::willPaint):
2744         (WebCore::InspectorTimelineAgent::didPaint):
2745         (WebCore::InspectorTimelineAgent::willWriteHTML):
2746         (WebCore::InspectorTimelineAgent::didWriteHTML):
2747         (WebCore::InspectorTimelineAgent::didInstallTimer):
2748         (WebCore::InspectorTimelineAgent::didRemoveTimer):
2749         (WebCore::InspectorTimelineAgent::willFireTimer):
2750         (WebCore::InspectorTimelineAgent::didFireTimer):
2751         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
2752         (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
2753         (WebCore::InspectorTimelineAgent::willLoadXHR):
2754         (WebCore::InspectorTimelineAgent::didLoadXHR):
2755         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2756         (WebCore::InspectorTimelineAgent::didEvaluateScript):
2757         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
2758         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2759         (WebCore::InspectorTimelineAgent::willReceiveResourceData):
2760         (WebCore::InspectorTimelineAgent::didReceiveResourceData):
2761         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
2762         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2763         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2764         (WebCore::InspectorTimelineAgent::didMarkTimeline):
2765         (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
2766         (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
2767         (WebCore::InspectorTimelineAgent::addRecordToTimeline):
2768         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2769         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2770         * inspector/InspectorTimelineAgent.h:
2771         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2772         * inspector/front-end/TimelineAgent.js:
2773         * inspector/front-end/TimelinePanel.js:
2774         (WebInspector.TimelinePanel.prototype.get _recordStyles):
2775         (WebInspector.TimelinePanel.prototype._createEventDivider):
2776         (WebInspector.TimelinePanel.prototype._findParentRecord):
2777         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2778         (WebInspector.TimelineDispatcher.prototype.started):
2779         (WebInspector.TimelineDispatcher.prototype.stopped):
2780         (WebInspector.TimelineDispatcher.prototype.eventRecorded):
2781         (WebInspector.TimelinePanel.FormattedRecord):
2782         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2783         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2784
2785 2011-03-29  Andrey Adaikin  <aandrey@google.com>
2786
2787         Reviewed by Pavel Feldman.
2788
2789         Web Inspector: Fixing live edits tests on chromium.
2790         https://bugs.webkit.org/show_bug.cgi?id=57316
2791
2792         * inspector/front-end/ScriptsPanel.js:
2793         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
2794         * inspector/front-end/SourceFrame.js:
2795         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
2796         (WebInspector.SourceFrame.prototype._handleSave):
2797         (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
2798
2799 2011-03-29  Pavel Podivilov  <podivilov@chromium.org>
2800
2801         Reviewed by Yury Semikhatsky.
2802
2803         Web Inspector: fix call frames positions in formatted scripts.
2804         https://bugs.webkit.org/show_bug.cgi?id=57036
2805
2806         Introduce PresentationCallFrame class that encapsulates source mapping details from UI components.
2807
2808         * inspector/front-end/CallStackSidebarPane.js:
2809         (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLocation):
2810         (WebInspector.CallStackSidebarPane.prototype.update):
2811         (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
2812         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
2813         (WebInspector.CallStackSidebarPane.prototype._contextMenu):
2814         (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
2815         * inspector/front-end/DebuggerModel.js:
2816         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
2817         (WebInspector.DebuggerModel.prototype.get debuggerPausedDetails):
2818         (WebInspector.DebuggerModel.prototype._pausedScript):
2819         * inspector/front-end/DebuggerPresentationModel.js:
2820         (WebInspector.DebuggerPresentationModel):
2821         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
2822         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
2823         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2824         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
2825         (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
2826         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
2827         (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
2828         (WebInspector.DebuggerPresentationModel.prototype._reset):
2829         (WebInspector.PresenationCallFrame): Call frame wrapper for UI.
2830         * inspector/front-end/ScriptsPanel.js:
2831         (WebInspector.ScriptsPanel):
2832         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2833         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
2834         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2835         (WebInspector.ScriptsPanel.prototype._debuggerResumed):
2836         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2837         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
2838         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2839         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
2840         * inspector/front-end/SourceFile.js:
2841         (WebInspector.SourceFile.prototype.get content):
2842         * inspector/front-end/SourceFrame.js:
2843         (WebInspector.SourceFrame.prototype._createTextViewer):
2844         (WebInspector.SourceFrame.prototype.setExecutionLine):
2845         (WebInspector.SourceFrame.prototype.clearExecutionLine):
2846         (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
2847         (WebInspector.SourceFrame.prototype._showPopup):
2848
2849 2011-03-29  Emil A Eklund  <eae@chromium.org>
2850
2851         Reviewed by Darin Adler.
2852
2853         Fix for execCommand("Delete") with an empty selection.
2854         https://bugs.webkit.org/show_bug.cgi?id=56652
2855
2856         Test: editing/execCommand/delete-empty-container.html
2857
2858         * editing/TypingCommand.cpp:
2859         (WebCore::TypingCommand::makeEditableRootEmpty): Add check for root element.
2860
2861 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
2862
2863         Reviewed by Pavel Feldman.
2864
2865         Web Inspector: [Chromium] Refactor HeapSnapshot-related code to
2866         make sure we don't return big amounts of data to forms.
2867         https://bugs.webkit.org/show_bug.cgi?id=57227
2868
2869         * inspector/front-end/DetailedHeapshotGridNodes.js:
2870         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
2871         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
2872         (WebInspector.HeapSnapshotObjectNode):
2873         (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
2874         (WebInspector.HeapSnapshotInstanceNode):
2875         (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
2876         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
2877         (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
2878         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
2879         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
2880         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
2881         * inspector/front-end/DetailedHeapshotView.js:
2882         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
2883         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
2884         * inspector/front-end/HeapSnapshot.js:
2885         (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
2886         (WebInspector.HeapSnapshotNode.prototype.get retainers):
2887         (WebInspector.HeapSnapshot):
2888         (WebInspector.HeapSnapshot.prototype.get _allNodes):
2889         (WebInspector.HeapSnapshot.prototype.get nodeCount):
2890         (WebInspector.HeapSnapshot.prototype.get rootNodeIndex):
2891         (WebInspector.HeapSnapshot.prototype.hasId):
2892         (WebInspector.HeapSnapshot.prototype.get nodeIds):
2893         (WebInspector.HeapSnapshot.prototype._retainersForNode):
2894         (WebInspector.HeapSnapshot.prototype._buildRetainers):
2895         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2896         (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
2897         (WebInspector.HeapSnapshot.prototype._buildIdsList):
2898         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
2899         (WebInspector.HeapSnapshotFilteredOrderedIterator):
2900         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
2901         (WebInspector.HeapSnapshotEdgesProvider):
2902         (WebInspector.HeapSnapshotNodesProvider):
2903
2904 2011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
2905
2906         Reviewed by Pavel Feldman.
2907
2908         Web Inspector: [Chromium] Fix detailed heap snapshots UI.
2909         https://bugs.webkit.org/show_bug.cgi?id=57235
2910
2911         Fix two problems:
2912           1. Text color of grid cells under selection needs to be white, otherwise it's unreadable for some colors;
2913           2. Long strings need to be truncated in grid, their contents can be shown on hover.
2914
2915         * inspector/front-end/DetailedHeapshotView.js:
2916         (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
2917         (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
2918         * inspector/front-end/heapProfiler.css:
2919         (.detailed-heapshot-view .console-formatted-string):
2920         (.detailed-heapshot-view .data-grid tr.selected *):
2921         (.detailed-heapshot-view .data-grid:focus tr.selected *):
2922
2923 2011-03-29  Andrey Adaikin  <aandrey@google.com>
2924
2925         Reviewed by Yury Semikhatsky.
2926
2927         Web Inspector: Highlight visible lines first
2928         https://bugs.webkit.org/show_bug.cgi?id=57013
2929
2930         * inspector/front-end/TextViewer.js:
2931         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleChunkNumber):
2932         (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
2933         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops):
2934         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber):
2935         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
2936         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2937         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
2938         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2939         (WebInspector.TextEditorMainChunk.prototype.set expanded):
2940
2941 2011-03-29  Emil A Eklund  <eae@chromium.org>
2942
2943         Reviewed by Dimitri Glazkov.
2944
2945         Relative mouse coordinates recalculated for each target
2946         https://bugs.webkit.org/show_bug.cgi?id=57130
2947
2948         Calculate relative coordinates lazily for mouse events instead of doing
2949         it for each target. Speeds up dispatching of mouse events in deep dom
2950         structures significantly, O(n^2) to O(n).
2951
2952         Also fixes https://bugs.webkit.org/show_bug.cgi?id=34973
2953
2954         Tests: fast/events/mouse-relative-position.html
2955                perf/mouse-event.html
2956
2957         * dom/Event.cpp:
2958         (WebCore::Event::setTarget):
2959         * dom/MouseRelatedEvent.cpp:
2960         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2961         (WebCore::MouseRelatedEvent::initCoordinates):
2962         (WebCore::pageZoomFactor):
2963         (WebCore::MouseRelatedEvent::receivedTarget):
2964         (WebCore::MouseRelatedEvent::computeRelativePosition):
2965         (WebCore::MouseRelatedEvent::layerX):
2966         (WebCore::MouseRelatedEvent::layerY):
2967         (WebCore::MouseRelatedEvent::offsetX):
2968         (WebCore::MouseRelatedEvent::offsetY):
2969         * dom/MouseRelatedEvent.h:
2970         * dom/UIEvent.cpp:
2971         (WebCore::UIEvent::layerX):
2972         (WebCore::UIEvent::layerY):
2973         * dom/UIEvent.h:
2974
2975 2011-03-29  Emil A Eklund  <eae@chromium.org>
2976
2977         Reviewed by Darin Adler.
2978
2979         getComputedStyle counterIncrement crash @ WebCore::counterToCSSValue
2980         https://bugs.webkit.org/show_bug.cgi?id=57266
2981
2982         Add null check to counterToCSSValue.
2983
2984         Test: fast/css/getComputedStyle/counterIncrement-without-counter.html
2985
2986         * css/CSSComputedStyleDeclaration.cpp:
2987         (WebCore::counterToCSSValue):
2988
2989 2011-03-29  Gavin Peters  <gavinp@chromium.org>
2990
2991         Reviewed by Tony Gentilcore.
2992
2993         Implement onerror events for <link rel=prefetch>
2994         https://bugs.webkit.org/show_bug.cgi?id=57182
2995
2996         These events are equired on link elements, see
2997         http://dev.w3.org/html5/spec/Overview.html#the-link-element
2998
2999         After a discussion in WebKit-dev about the direction of prefetch in the loader, and about a path
3000         to adding the Link header, we decided to look at making onerror, onload and onbeforeload events
3001         more uniformly supported.  See the thread at
3002         https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html .
3003
3004         It turned out that part of adding onerror for link prefetch was to make the top CachedResource less
3005         abstract.  It was pure virtual until prefetch became the first consumer to use an unspecialised
3006         implementation, and this CL continues that by adding a default checkNotify method to it.  As it
3007         happens there were already two subclasses using what amounted to the generic checkNotify, so I
3008         also removed those, buying us some code cleanup with the change.
3009
3010         Test: fast/dom/HTMLLinkElement/prefetch-onerror.html
3011
3012         * html/HTMLLinkElement.cpp:
3013         (WebCore::HTMLLinkElement::parseMappedAttribute):
3014         (WebCore::HTMLLinkElement::onloadTimerFired):
3015         (WebCore::HTMLLinkElement::notifyFinished):
3016         * loader/cache/CachedImage.cpp:
3017         * loader/cache/CachedImage.h:
3018         * loader/cache/CachedResource.cpp:
3019         (WebCore::CachedResource::checkNotify):
3020         (WebCore::CachedResource::data):
3021         (WebCore::CachedResource::error):
3022         * loader/cache/CachedResource.h:
3023         * loader/cache/CachedScript.cpp:
3024         * loader/cache/CachedScript.h:
3025
3026 2011-03-29  Eric Seidel  <eric@webkit.org>
3027
3028         Reviewed by Ryosuke Niwa.
3029
3030         Add support for parsing unicode-bidi: -webkit-isolate
3031         https://bugs.webkit.org/show_bug.cgi?id=57181
3032
3033         Test: css3/unicode-bidi-insolate-parse.html
3034
3035         * WebCore.xcodeproj/project.pbxproj:
3036         * css/CSSParser.cpp:
3037         (WebCore::CSSParser::parseValue):
3038         * css/CSSPrimitiveValueMappings.h:
3039         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3040         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
3041         * css/CSSValueKeywords.in:
3042         * rendering/style/RenderStyleConstants.h:
3043
3044 2011-03-29  Patrick Gansterer  <paroga@webkit.org>
3045
3046         Unreviewed WinCE build fix for r82193.
3047
3048         * platform/wince/FileSystemWinCE.cpp:
3049         (WebCore::openTemporaryFile):
3050
3051 2011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
3052
3053         Unreviewed, rolling out r82198.
3054         http://trac.webkit.org/changeset/82198
3055         https://bugs.webkit.org/show_bug.cgi?id=57304
3056
3057         Broke Chromium Win build. (Requested by dave_levin on
3058         #webkit).
3059
3060         * platform/image-decoders/png/PNGImageDecoder.cpp:
3061         (WebCore::PNGImageDecoder::headerAvailable):
3062         (WebCore::PNGImageDecoder::rowAvailable):
3063
3064 2011-03-28  Ofri Wolfus  <ofri@google.com>
3065
3066         Reviewed by Eric Seidel.
3067
3068         RTL: Select elements with a size attribute are always left aligned.
3069         https://bugs.webkit.org/show_bug.cgi?id=50928
3070
3071         Added support for alignment in RenderListBox.
3072
3073         Test: fast/forms/listbox-bidi-align.html
3074
3075         * rendering/RenderListBox.cpp:
3076         (WebCore::itemOffsetForAlignment):
3077         (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
3078
3079 2011-03-28  Kwang Yul Seo  <skyul@company100.net>
3080
3081         Reviewed by Benjamin Poulain.
3082
3083         [Qt] Change TextureMapperVideoLayer to TextureMapperMediaLayer
3084         https://bugs.webkit.org/show_bug.cgi?id=57142
3085
3086         TextureMapperMediaLayer is a better name here because both video and plugins use this layer.
3087         Remove ENABLE(VIDEO) guard.
3088
3089         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3090         * platform/graphics/qt/MediaPlayerPrivateQt.h:
3091         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
3092         (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
3093         * platform/graphics/texmap/TextureMapperNode.h:
3094         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
3095         (WebCore::TextureMapperMediaLayer::layerType):
3096
3097 2011-03-28  Thomas Klausner  <tk@giga.or.at>
3098
3099         Reviewed by David Levin.
3100
3101         png-1.5 fixes
3102         https://bugs.webkit.org/show_bug.cgi?id=54406
3103
3104         Fix compilation with png-1.5: struct members were hidden, and
3105         a new API to terminate data processing was added (especially for
3106         WebKit).
3107
3108         Compilation fixes, so no new tests.
3109
3110         * platform/image-decoders/png/PNGImageDecoder.cpp:
3111         (WebCore::PNGImageDecoder::headerAvailable):
3112         (WebCore::PNGImageDecoder::rowAvailable):
3113
3114 2011-03-28  Kwang Yul Seo  <skyul@company100.net>
3115
3116         Reviewed by Adam Barth.
3117
3118         Replace fprintf(stderr, ...) with LOG_ERROR
3119         https://bugs.webkit.org/show_bug.cgi?id=57216
3120
3121         LOG_ERROR is a better choice here.
3122
3123         * bridge/jni/v8/JavaClassV8.cpp:
3124         (JavaClass::JavaClass):
3125
3126 2011-03-28  Steve Block  <steveblock@google.com>
3127
3128         Reviewed by Jeremy Orlow.
3129
3130         Add a new JavaValue to type to represent a Java value in the Java bridge
3131         https://bugs.webkit.org/show_bug.cgi?id=57022
3132
3133         This change introduces a new JavaValue type and uses it in place of jvalue
3134         in the conversions to and from JavaNPObject used in the V8 Java bridge.
3135
3136         Refactoring only, no new tests.
3137
3138         * WebCore.gypi:
3139         * bridge/jni/JNIUtility.cpp:
3140         (JSC::Bindings::javaTypeFromClassName):
3141         (JSC::Bindings::signatureFromJavaType):
3142         (JSC::Bindings::getJNIField):
3143         (JSC::Bindings::callJNIMethod):
3144         * bridge/jni/JavaType.h:
3145         * bridge/jni/v8/JNIUtilityPrivate.cpp:
3146         (JSC::Bindings::convertNPVariantToJavaValue):
3147         (JSC::Bindings::convertJavaValueToNPVariant):
3148         (JSC::Bindings::jvalueToJavaValue):
3149         (JSC::Bindings::javaValueToJvalue):
3150         * bridge/jni/v8/JNIUtilityPrivate.h:
3151         * bridge/jni/v8/JavaNPObjectV8.cpp:
3152         (JSC::Bindings::JavaNPObjectInvoke):
3153         (JSC::Bindings::JavaNPObjectGetProperty):
3154         * bridge/jni/v8/JavaValueV8.h: Added.
3155         (JSC::Bindings::JavaValue::JavaValue):
3156
3157 2011-03-28  Patrick Gansterer  <paroga@webkit.org>
3158
3159         Reviewed by Darin Adler.
3160
3161         Use String instead of CString as return value of openTemporaryFile
3162         https://bugs.webkit.org/show_bug.cgi?id=55332
3163
3164         We usually store all paths as UTF-16. Do this for temporary files too.
3165
3166         * WebCore.exp.in
3167         * platform/FileSystem.h:
3168         * platform/android/FileSystemAndroid.cpp:
3169         * platform/brew/FileSystemBrew.cpp:
3170         * platform/efl/FileSystemEfl.cpp:
3171         * platform/gtk/FileSystemGtk.cpp:
3172         * platform/haiku/FileSystemHaiku.cpp:
3173         * platform/mac/FileSystemMac.mm:
3174         * platform/qt/FileSystemQt.cpp:
3175         * platform/win/FileSystemWin.cpp:
3176         * platform/wince/FileSystemWinCE.cpp:
3177         * platform/wx/FileSystemWx.cpp:
3178         * plugins/PluginStream.cpp:
3179         (WebCore::PluginStream::destroyStream):
3180         * plugins/PluginStream.h:
3181
3182 2011-03-28  Jeff Johnson  <opendarwin@lapcatsoftware.com>
3183
3184         Reviewed by Pavel Feldman.
3185
3186         Web Inspector: empty, non-functional window
3187         https://bugs.webkit.org/show_bug.cgi?id=56354
3188
3189         Check whether DOM local storage is enabled
3190         before attempting to access window.localStorage.
3191
3192         No new tests.
3193
3194         * inspector/front-end/Settings.js:
3195         (WebInspector.Settings.prototype.findSettingForAllProjects):
3196         (WebInspector.Settings.prototype._get):
3197         (WebInspector.Settings.prototype._set):
3198
3199 2011-03-28  Beth Dakin  <bdakin@apple.com>
3200
3201         Reviewed by Darin Adler.
3202
3203         Fix for https://bugs.webkit.org/show_bug.cgi?id=57286 Alternative fix for: 
3204         Horizontal scroller stops appearing after going Forward
3205         -and corresponding-
3206         <rdar://problem/9026946>
3207
3208         This patch rolls out revision 79053 and fixes the same bug in a  better way.
3209
3210         New function resetScrollbarsAndClearContentsSize() calls resetScrollbars() and then 
3211         sets the contents size to 0. This is called when a document is going into the page 
3212         cache.
3213         * dom/Document.cpp:
3214         (WebCore::Document::setInPageCache):
3215         (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
3216
3217         Roll-out of 79053.
3218         * history/CachedFrame.cpp:
3219         (WebCore::CachedFrameBase::restore):
3220         * page/FrameView.cpp:
3221         (WebCore::FrameView::FrameView):
3222         (WebCore::FrameView::reset):
3223         (WebCore::FrameView::layout):
3224         * page/FrameView.h:
3225
3226 2011-03-28  Ojan Vafai  <ojan@chromium.org>
3227
3228         Reviewed by Antti Koivisto.
3229
3230         fix style sharing with :any and sibling selectors
3231         https://bugs.webkit.org/show_bug.cgi?id=57211
3232
3233         Test: fast/css/sibling-selectors.html
3234
3235         * css/CSSStyleSelector.cpp:
3236         (WebCore::collectFeaturesFromList):
3237
3238 2011-03-27  Ojan Vafai  <ojan@chromium.org>
3239
3240         Reviewed by Antti Koivisto.
3241
3242         fix :-webkit-any(:last-child)
3243         https://bugs.webkit.org/show_bug.cgi?id=57207
3244
3245         We were passing the wrong arguments to checkSelector. Also, we were not
3246         passing through the encounteredLink bool.
3247
3248         * css/CSSStyleSelector.cpp:
3249         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
3250         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3251         * css/CSSStyleSelector.h:
3252
3253 2011-03-27  Ojan Vafai  <ojan@chromium.org>
3254
3255         Reviewed by Antti Koivisto.
3256
3257         fix :-webkit-any(:last-child)
3258         https://bugs.webkit.org/show_bug.cgi?id=57207
3259
3260         We were passing the wrong arguments to checkSelector. Also, we were not
3261         passing through the encounteredLink bool.
3262
3263         * css/CSSStyleSelector.cpp:
3264         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
3265         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3266         * css/CSSStyleSelector.h:
3267
3268 2011-03-28  Maciej Stachowiak  <mjs@apple.com>
3269
3270         Reviewed by Darin Adler.
3271
3272         REGRESSION(r82152): fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
3273         https://bugs.webkit.org/show_bug.cgi?id=57291
3274
3275         * platform/KURL.cpp:
3276         (WebCore::KURL::parse): Instead of considering URLs with
3277         credentials but no host invalid, consider them to have a host
3278         ending in @ (which fails down the line)/
3279
3280 2011-03-28  Kent Tamura  <tkent@chromium.org>
3281
3282         Reviewed by Dimitri Glazkov.
3283
3284         Fix some problems of the appearance of form validation message bubble.
3285         https://bugs.webkit.org/show_bug.cgi?id=57208
3286
3287         No new tests. Validation message bubble appearance is not testable
3288         because it depends on a timer.
3289
3290         * css/html.css:
3291         (::-webkit-validation-bubble):
3292         (::-webkit-validation-bubble-message):
3293         (::-webkit-validation-bubble-arrow):
3294         (::-webkit-validation-bubble-arrow-clipper):
3295           - Explicitly set margin, padding, and color.
3296           - Make the shadow darker.
3297           - Make the background color darker.
3298           - Make opacity larger.
3299           - Make the border color lighter.
3300           - Add inset shadows
3301           - Change the implementation of an arrow.
3302             Stop making a right triangle by the border trick.
3303             Use -webkit-transform instead.
3304           - Make min-width workable by changing display property of
3305             -webkit-validation-bubble to "inline-block".
3306         * html/ValidationMessage.cpp:
3307         (WebCore::ValidationMessage::buildBubbleTree):
3308           Change the node structure. Before this change, -webkit-validation-bubble
3309           had three DIVs inside. After this change, it has two DIVs;
3310           -webkit-validation-bubble-arrow-clipper and
3311           -webkit-validation-bubble-message, and
3312           -webkit-validation-bubble-arrow-clipper contains
3313           -webkit-validation-bubble-arrow.
3314
3315 2011-03-28  Enrica Casucci  <enrica@apple.com>
3316
3317         Reviewed by Sam Weinig.
3318
3319         REGRESSION: Can't enter pasted with context or Edit menu text in search or address field in the browser.
3320         https://bugs.webkit.org/show_bug.cgi?id=57275
3321         <rdar://problem/8246691>
3322
3323         We need to classify cut and paste actions as user typing actions even when
3324         the action is triggered by a context menu selection to
3325         allow the propagation of the textDidChangeInTextField event.
3326
3327         * editing/EditorCommand.cpp:
3328         The following methods have been modified to properly set up
3329         the UserTypingGestureAction when the command source is the
3330         menu or a key binding sequence.
3331         (WebCore::executeCut):
3332         (WebCore::executePaste):
3333         (WebCore::executePasteAndMatchStyle):
3334         (WebCore::executePasteAsPlainText):
3335         (WebCore::executeDelete):
3336         * page/ContextMenuController.cpp:
3337         (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
3338         call execute command instead of referring to the specific method in
3339         the editor class.
3340
3341 2011-03-28  Oliver Hunt  <oliver@apple.com>
3342
3343         Reviewed by Geoffrey Garen.
3344
3345         instanceof Array test fails when using iframes
3346         https://bugs.webkit.org/show_bug.cgi?id=17250
3347
3348         Update for new function and date apis
3349
3350         Test: fast/js/js-constructors-use-correct-global.html
3351
3352         * WebCore.xcodeproj/project.pbxproj:
3353         * bindings/js/JSDOMBinding.cpp:
3354         (WebCore::jsDateOrNull):
3355         * bindings/js/JSLazyEventListener.cpp:
3356         (WebCore::JSLazyEventListener::initializeJSFunction):
3357
3358 2011-03-28  Beth Dakin  <bdakin@apple.com>
3359
3360         Reviewed by Darin Adler.
3361
3362         Fix for https://bugs.webkit.org/show_bug.cgi?id=57124 When the scroller style is 
3363         changed via delegate method, the page needs a full relayout and repaint
3364         -and corresponding-
3365         <rdar://problem/9059129>
3366
3367         Call into WebKitSystemInterface to associate the new painter with the existing 
3368         painter controller. Reset the scrollbar frame rects to the new thickness -- normally 
3369         this only happens when a scrollbar is created, so we have to reset the thickness 
3370         here to pick up the new theme thickness. Finally, force a full relayout and style 
3371         recall with setNeedsRecalcStyleInAllFrames()
3372         * platform/mac/ScrollAnimatorMac.mm:
3373         (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
3374
3375         setNeedsRecalcStyleInAllFrames() used to be a static method in Settings.cpp. This 
3376         patch moves it to be a member function on Page so that it can be called from 
3377         FrameView when the scrollbar style changes.
3378         * page/FrameView.cpp:
3379         (WebCore::FrameView::setNeedsRecalcStyleInAllFrames):
3380         * page/FrameView.h:
3381         * page/Page.cpp:
3382         (WebCore::Page::setNeedsRecalcStyleInAllFrames):
3383         * page/Page.h:
3384         * page/Settings.cpp:
3385         (WebCore::Settings::setStandardFontFamily):
3386         (WebCore::Settings::setFixedFontFamily):
3387         (WebCore::Settings::setSerifFontFamily):
3388         (WebCore::Settings::setSansSerifFontFamily):
3389         (WebCore::Settings::setCursiveFontFamily):
3390         (WebCore::Settings::setFantasyFontFamily):
3391         (WebCore::Settings::setMinimumFontSize):
3392         (WebCore::Settings::setMinimumLogicalFontSize):
3393         (WebCore::Settings::setDefaultFontSize):
3394         (WebCore::Settings::setDefaultFixedFontSize):
3395         (WebCore::Settings::setTextAreasAreResizable):
3396         (WebCore::Settings::setAuthorAndUserStylesEnabled):
3397         (WebCore::Settings::setFontRenderingMode):
3398         (WebCore::Settings::setAcceleratedCompositingEnabled):
3399         (WebCore::Settings::setShowDebugBorders):
3400         (WebCore::Settings::setShowRepaintCounter):
3401         * platform/ScrollableArea.h:
3402         (WebCore::ScrollableArea::setNeedsRecalcStyleInAllFrames):
3403
3404 2011-03-28  Dirk Pranke  <dpranke@chromium.org>
3405
3406         RS=Tony Chang.
3407
3408         r81977 moved FontPlatformData.h from
3409         WebCore/platform/graphics/cocoa to platform/graphics. This
3410         change updates the chromium build accordingly.
3411
3412         https://bugs.webkit.org/show_bug.cgi?id=57281
3413
3414         * platform/graphics/chromium/CrossProcessFontLoading.mm:
3415
3416 2011-03-28  Jer Noble  <jer.noble@apple.com>
3417
3418         Reviewed by Darin Adler.
3419
3420         MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
3421         https://bugs.webkit.org/show_bug.cgi?id=57249
3422
3423         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3424         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
3425         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3426
3427 2011-03-28  Jer Noble  <jer.noble@apple.com>
3428
3429         Reviewed by Darin Adler.
3430
3431         AVFoundation can indeed support full screen.
3432
3433         MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
3434         https://bugs.webkit.org/show_bug.cgi?id=57249
3435
3436         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3437         (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): Return true if using
3438             the new full screen APIs.
3439         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3440
3441 2011-03-28  Eric Carlson  <eric.carlson@apple.com>
3442
3443         Reviewed by Darin Adler.
3444
3445         http streams don't always display video with AVFoundation backend
3446         https://bugs.webkit.org/show_bug.cgi?id=57203
3447
3448         No new tests, we don't currently have tests for http live streams. Changes verified manually.
3449
3450         * platform/graphics/MediaPlayer.cpp:
3451         (WebCore::MediaPlayer::MediaPlayer): Initialize m_shouldPrepareToRender.
3452         (WebCore::MediaPlayer::loadWithNextMediaEngine): Call prepareForRendering on new engine
3453             if m_shouldPrepareToRender is set.
3454         (WebCore::MediaPlayer::prepareForRendering): Set m_shouldPrepareToRender.
3455         * platform/graphics/MediaPlayer.h:
3456
3457         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3458         (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup): Don't return true until
3459             m_isAllowedToRender has been set.
3460         (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Always call setUpVideoRendering,
3461             it has logic to figure out when setup is required.
3462         (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Call setUpVideoRendering when we aren't
3463             using the preferred rendering mode because if we get a file's metadata between the
3464             time supportsAcceleratedRendering() and paint() are called, we will allocate a software
3465             renderer even when we prefer a layer backed renderer.
3466         (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Return "unknown" until we have metadata.
3467
3468         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
3469         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3470         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Use itemKVOProperties() instead of
3471             an explicit list of key path names.
3472         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): Ditto.
3473         (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): metadataKeyNames renamed
3474             to assetMetadataKeyNames, return an NSArray instead of a CFArrayRef since that is what the
3475             callers need.
3476         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Return the duration of the 
3477             player item, not the asset, because AVAsset.duration always returns an indefinite time
3478             for all streaming