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