019dcf55afdd19d92a7416e622385164c6b87689
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-02  Renata Hodovan  <reni@webkit.org>
2
3         Reviewed by Andreas Kling.
4
5         FEMorphologyElement changes doesn't require relayout
6         https://bugs.webkit.org/show_bug.cgi?id=55462
7
8         When the FEMorphologyElement receives an update message but the given value remains the same we don't need
9         to relayout the filter.
10
11         No new tests are needed because this modification is covered by the dynamic update tests of FEMorphology.
12
13         * platform/graphics/filters/FEMorphology.cpp:
14         (WebCore::FEMorphology::setMorphologyOperator):
15         (WebCore::FEMorphology::setRadiusX):
16         (WebCore::FEMorphology::setRadiusY):
17         * platform/graphics/filters/FEMorphology.h:
18         * svg/SVGFEMorphologyElement.cpp:
19         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
20         (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
21         * svg/SVGFEMorphologyElement.h:
22
23 2011-03-01  Kent Tamura  <tkent@chromium.org>
24
25         Reviewed by Dimitri Glazkov.
26
27         Assertion fails when a form validation bubble appears
28         https://bugs.webkit.org/show_bug.cgi?id=55550
29
30         Test: fast/forms/interactive-validation-attach-assertion.html
31
32         * html/ValidationMessage.cpp:
33         (WebCore::ValidationMessage::buildBubbleTree):
34          Just remove unnecessary attach().
35
36 2011-03-01  Kent Tamura  <tkent@chromium.org>
37
38         Reviewed by Dimitri Glazkov.
39
40         Support localized numbers in <input type=number>
41         https://bugs.webkit.org/show_bug.cgi?id=42484
42
43         This change adds support of localized numbers in <input type=number>.
44         This affects only the UI, and not HTMLInputElement::value.
45
46         - Remove the keyboard input restriction feature because it is hard to
47           retrieve characters usable for localized numbers in ICU.
48
49         - Separate convertFromVisibleValue() from sanitizeValue().
50           sanitizeValue() is used for not only converting a renderer value to a
51           DOM value.
52
53         - Implement LocalizedNumber functions for ICU and NSNumberFormatter.
54           It is used only in Chromium for now.
55
56         Test: manual-tests/input-number-localization.html
57
58         * WebCore.gypi: Use LocalizedNumberICU.cpp.
59         * WebCore.xcodeproj/project.pbxproj:
60           Add LocalizedNumberMac.mm and remove LocalizedNumberNone.cpp.
61         * dom/InputElement.h: Introduce convertFromVisibleValue().
62         * html/HTMLInputElement.cpp:
63         (WebCore::HTMLInputElement::convertFromVisibleValue):
64         * html/HTMLInputElement.h:
65         * html/InputType.cpp:
66         (WebCore::InputType::convertFromVisibleValue):
67         * html/InputType.h:
68         * html/NumberInputType.cpp: Remove isHTMLNumberCharacter(),
69           isNumberCharacter(), and handleBeforeTextInsertedEvent() because we
70           remove the keyboard input restriction feature for type=number.
71         (WebCore::NumberInputType::convertFromVisibleValue):
72         (WebCore::NumberInputType::sanitizeValue):
73         * html/NumberInputType.h:
74         * manual-tests/input-number-localization.html: Add a manual test because
75           the behavior depends on the current locale.
76         * platform/text/LocalizedNumber.h: Remove isLocalizedNumberCharacter().
77         * platform/text/LocalizedNumberICU.cpp:
78           Implement LocalizedNumber functions with ICU NumberFormat.
79         (WebCore::createFormatterForCurrentLocale):
80         (WebCore::parseLocalizedNumber):
81         (WebCore::formatLocalizedNumber):
82         * platform/text/LocalizedNumberNone.cpp: Remove isLocalizedNumberCharacter().
83         * platform/text/mac/LocalizedNumberMac.mm:
84           Implement LocalizedNumber functions with NSNumberFormatter.
85         (WebCore::parseLocalizedNumber):
86         (WebCore::formatLocalizedNumber):
87         * rendering/RenderTextControlSingleLine.cpp:
88         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
89         * wml/WMLInputElement.h:
90         (WebCore::WMLInputElement::convertFromVisibleValue):
91           Implemented as a function doing nothing.
92
93 2011-03-01  Yuta Kitamura  <yutak@chromium.org>
94
95         Reviewed by Darin Adler.
96
97         REGRESSION(r78383): Failure to connect on websocketstest.com
98         https://bugs.webkit.org/show_bug.cgi?id=54811
99
100         After r78383, KURL::setPort() no longer appends ":port" part
101         if that port is the default port for URL scheme. This broke
102         SocketStreamHandleCFNet, whose code was based on an assumption
103         that KURL::setPort() always inserts ":port" part.
104
105         To fix this, KURL::port() call is removed from SocketStreamHandle
106         and the port number is calculated on-the-fly.
107
108         Unfortunately it is impossible to write a test; this bug only
109         affects WebSockets connecting to the default port (port 80
110         for ws, port 443 for wss), while we use different ports to test
111         WebSockets in LayoutTests.
112
113         * platform/network/cf/SocketStreamHandle.h:
114         * platform/network/cf/SocketStreamHandleCFNet.cpp:
115         (WebCore::SocketStreamHandle::SocketStreamHandle):
116         (WebCore::SocketStreamHandle::createStreams):
117         (WebCore::SocketStreamHandle::port):
118
119 2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
120
121         Unreviewed, rolling out r80079.
122         http://trac.webkit.org/changeset/80079
123         https://bugs.webkit.org/show_bug.cgi?id=55547
124
125         "Broke the Win debug build?" (Requested by dcheng on #webkit).
126
127         * Configurations/FeatureDefines.xcconfig:
128         * GNUmakefile.am:
129         * features.pri:
130
131 2011-02-25  Adrienne Walker  <enne@google.com>
132
133         Reviewed by James Robinson.
134
135         [chromium] Abstract "pixels with a graphics context" into its own class
136         https://bugs.webkit.org/show_bug.cgi?id=55259
137
138         This creates new PlatformCanvas/PlatformImage classes which wrap
139         all of the #ifdef Skia/Cg warts from the compositor.  All classes
140         (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
141         modified to use these abstractions.
142
143         Tests: LayoutTests/compositing
144
145         * WebCore.gypi:
146         * platform/graphics/chromium/ContentLayerChromium.cpp:
147         (WebCore::ContentLayerChromium::updateContentsIfDirty):
148         (WebCore::ContentLayerChromium::resizeUploadBuffer):
149         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
150         (WebCore::ContentLayerChromium::updateTexture):
151         (WebCore::ContentLayerChromium::draw):
152         * platform/graphics/chromium/ContentLayerChromium.h:
153         * platform/graphics/chromium/ImageLayerChromium.cpp:
154         (WebCore::ImageLayerChromium::updateContentsIfDirty):
155         (WebCore::ImageLayerChromium::updateTextureIfNeeded):
156         * platform/graphics/chromium/ImageLayerChromium.h:
157         * platform/graphics/chromium/LayerTilerChromium.cpp:
158         (WebCore::LayerTilerChromium::contentRectToTileIndices):
159         (WebCore::LayerTilerChromium::update):
160         (WebCore::LayerTilerChromium::updateFromPixels):
161         * platform/graphics/chromium/LayerTilerChromium.h:
162         * platform/graphics/chromium/PlatformCanvas.cpp: Added.
163         (WebCore::PlatformCanvas::PlatformCanvas):
164         (WebCore::PlatformCanvas::~PlatformCanvas):
165         (WebCore::PlatformCanvas::resize):
166         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
167         (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
168         (WebCore::PlatformCanvas::Painter::Painter):
169         (WebCore::PlatformCanvas::Painter::~Painter):
170         * platform/graphics/chromium/PlatformCanvas.h: Added.
171         (WebCore::PlatformCanvas::AutoLocker::pixels):
172         (WebCore::PlatformCanvas::Painter::context):
173         (WebCore::PlatformCanvas::size):
174         * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
175         (WebCore::PlatformImage::PlatformImage):
176         (WebCore::PlatformImage::updateFromImage):
177         * platform/graphics/chromium/PlatformImage.h: Added.
178         (WebCore::PlatformImage::pixels):
179         (WebCore::PlatformImage::size):
180
181 2011-03-01  Daniel Cheng  <dcheng@chromium.org>
182
183         Reviewed by David Levin.
184
185         Add feature define for data transfer items
186         https://bugs.webkit.org/show_bug.cgi?id=55510
187
188         * Configurations/FeatureDefines.xcconfig:
189         * GNUmakefile.am:
190         * features.pri:
191
192 2011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
193
194         Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
195
196         * dom/ViewportArguments.cpp:
197         (WebCore::computeViewportAttributes):
198         (WebCore::numericPrefix):
199         (WebCore::findSizeValue):
200         (WebCore::setViewportFeature):
201         (WebCore::viewportErrorMessageTemplate):
202         (WebCore::viewportErrorMessageLevel):
203         * dom/ViewportArguments.h:
204
205 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
206
207         Reviewed by James Robinson.
208
209         IDBKeyRange.bound() should not use the optional options object
210         https://bugs.webkit.org/show_bug.cgi?id=55419
211
212         http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#range-concept
213
214         Added some code to existing tests to cover these cases.
215
216         * storage/IDBKeyRange.cpp:
217         (WebCore::IDBKeyRange::bound):
218         * storage/IDBKeyRange.h:
219         * storage/IDBKeyRange.idl:
220
221 2011-03-01  Dan Bernstein  <mitz@apple.com>
222
223         Build fix.
224
225         * dom/DocumentMarkerController.cpp:
226         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
227
228 2011-03-01  Kent Tamura  <tkent@chromium.org>
229
230         Unreviewed. Apply sort-Xcode-project-file.
231
232         * WebCore.xcodeproj/project.pbxproj:
233
234 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
235
236         Reviewed by James Robinson.
237
238         V8 code generator doesn't properly support a single SerializedScriptValue attribute
239         https://bugs.webkit.org/show_bug.cgi?id=55530
240
241         This is tested by the bindings tests changes.
242
243         * bindings/scripts/CodeGeneratorV8.pm:
244         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Added.
245         (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterfacePrivate::WebDOMTestSerializedScriptValueInterfacePrivate):
246         (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterface):
247         (WebDOMTestSerializedScriptValueInterface::operator=):
248         (WebDOMTestSerializedScriptValueInterface::impl):
249         (WebDOMTestSerializedScriptValueInterface::~WebDOMTestSerializedScriptValueInterface):
250         (WebDOMTestSerializedScriptValueInterface::value):
251         (toWebCore):
252         (toWebKit):
253         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Added.
254         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Added.
255         (WebKit::kit):
256         (webkit_dom_test_serialized_script_value_interface_get_value):
257         (WebKit::core):
258         (webkit_dom_test_serialized_script_value_interface_finalize):
259         (webkit_dom_test_serialized_script_value_interface_set_property):
260         (webkit_dom_test_serialized_script_value_interface_get_property):
261         (webkit_dom_test_serialized_script_value_interface_constructed):
262         (webkit_dom_test_serialized_script_value_interface_class_init):
263         (webkit_dom_test_serialized_script_value_interface_init):
264         (WebKit::wrapTestSerializedScriptValueInterface):
265         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: Added.
266         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h: Added.
267         * bindings/scripts/test/JS/JSTestInterface.cpp:
268         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
269         (WebCore::JSTestInterface::JSTestInterface):
270         * bindings/scripts/test/JS/JSTestInterface.h:
271         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
272         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
273         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
274         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
275         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
276         * bindings/scripts/test/JS/JSTestObj.cpp:
277         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
278         (WebCore::JSTestObj::JSTestObj):
279         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
280         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
281         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
282         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
283         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
284         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
285         (WebCore::jsTestObjPrototypeFunctionIdbKey):
286         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
287         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
288         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
289         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
290         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
291         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
292         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
293         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
294         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
295         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
296         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
297         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
298         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
299         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
300         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
301         * bindings/scripts/test/JS/JSTestObj.h:
302         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Added.
303         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
304         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
305         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
306         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
307         (WebCore::JSTestSerializedScriptValueInterfacePrototype::self):
308         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
309         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
310         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
311         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
312         (WebCore::jsTestSerializedScriptValueInterfaceValue):
313         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
314         (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
315         (WebCore::toJS):
316         (WebCore::toTestSerializedScriptValueInterface):
317         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h.
318         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
319         (WebCore::JSTestSerializedScriptValueInterface::impl):
320         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
321         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
322         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Added.
323         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Added.
324         (-[DOMTestSerializedScriptValueInterface dealloc]):
325         (-[DOMTestSerializedScriptValueInterface finalize]):
326         (-[DOMTestSerializedScriptValueInterface value]):
327         (core):
328         (kit):
329         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Added.
330         * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Added.
331         * bindings/scripts/test/V8/V8TestInterface.cpp:
332         (WebCore::ConfigureV8TestInterfaceTemplate):
333         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Copied from Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp.
334         (WebCore::TestSerializedScriptValueInterfaceInternal::V8_USE):
335         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
336         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
337         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
338         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
339         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
340         (WebCore::V8TestSerializedScriptValueInterface::derefObject):
341         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Added.
342         (WebCore::V8TestSerializedScriptValueInterface::toNative):
343         (WebCore::V8TestSerializedScriptValueInterface::wrap):
344         (WebCore::toV8):
345
346 2011-03-01  Oliver Hunt  <oliver@apple.com>
347
348         Reviewed by Joseph Pecoraro.
349
350         Misaligned memory access in CloneDeserializer on all ARM arch.
351         https://bugs.webkit.org/show_bug.cgi?id=48742
352
353         Push platforms that need aligned memory access down the
354         endian independent serialization and deserialization
355         paths.
356
357         * bindings/js/SerializedScriptValue.cpp:
358
359 2011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
360
361         Reviewed by Kenneth Rohde Christiansen.
362
363         Viewport Warning/Error Messages Are Now Inaccurate
364         https://bugs.webkit.org/show_bug.cgi?id=53707
365
366         Correct and improve the error messages for viewport
367         parsing. Clarify the difference between incorrect
368         keys, values, and when to use the device-width or
369         device-height constants.
370
371         * dom/ViewportArguments.cpp:
372         (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height.
373         (WebCore::numericPrefix):
374         (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height.
375         (WebCore::setViewportFeature): report a warning for an unrecognized key.
376         (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
377         (WebCore::viewportErrorMessageLevel):
378         * dom/ViewportArguments.h:
379
380 2011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
381
382         Reviewed by Darin Adler.
383
384         WebKit does not merge text decorations in the typing style and the selected element properly
385         https://bugs.webkit.org/show_bug.cgi?id=55349
386
387         The bug was caused by EditingStyle::mergeTypingStyle's not properly merging text decoration property.
388         Fixed the bug by extracting a function from ApplyStyleCommand::pushDownInlineStyleAroundNode and
389         calling it in pushDownInlineStyleAroundNode and in mergeTypingStyle.
390
391         Test: editing/execCommand/merge-text-decoration-with-typing-style.html
392
393         * editing/ApplyStyleCommand.cpp:
394         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Takes EditingStyle*;
395         calls mergeInlineStyleOfElement.
396         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls applyInlineStyleToPushDown.
397         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
398         * editing/ApplyStyleCommand.h:
399         * editing/EditingStyle.cpp:
400         (WebCore::EditingStyle::mergeTypingStyle): Added; calls mergeStyle.
401         (WebCore::EditingStyle::mergeInlineStyleOfElement): Ditto.
402         (WebCore::EditingStyle::mergeStyle): Extracted from applyInlineStyleToPushDown.
403         * editing/EditingStyle.h:
404
405 2011-03-01  Levi Weintraub  <leviw@chromium.org>
406
407         Reviewed by Ryosuke Niwa.
408
409         Stop instantiating legacy editing Positions in VisiblePosition
410         https://bugs.webkit.org/show_bug.cgi?id=52919
411
412         Changing VisiblePosition completely away from legacy positions.
413
414         No new tests since this is functionaly equivalent.
415
416         * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
417         adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
418         outside of WebCore, they should be parent anchored.
419         * accessibility/AXObjectCache.cpp:
420         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
421         * accessibility/AccessibilityObject.cpp:
422         (WebCore::startOfStyleRange):
423         (WebCore::endOfStyleRange):
424         * accessibility/AccessibilityRenderObject.cpp:
425         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
426         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
427         (objectAndOffsetUnignored):
428         * dom/Position.cpp:
429         (WebCore::Position::document): Added this inline function to avoid the necessity
430         of calling anchorNode to assure a document from a Position.
431         (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
432         (WebCore::Position::downstream): ditto
433         * dom/Range.cpp:
434         (WebCore::Range::editingStartPosition):
435         * editing/Editor.cpp:
436         (WebCore::Editor::canDeleteRange):
437         * editing/ReplaceSelectionCommand.cpp:
438         (WebCore::ReplaceSelectionCommand::doApply):
439         * editing/SelectionController.cpp:
440         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
441         (WebCore::SelectionController::setSelectedRange):
442         * editing/TextIterator.cpp:
443         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
444         * editing/TypingCommand.cpp:
445         (WebCore::TypingCommand::deleteKeyPressed):
446         * editing/VisiblePosition.cpp:
447         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
448         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
449         (WebCore::VisiblePosition::canonicalPosition):
450         (WebCore::VisiblePosition::characterAfter):
451         (WebCore::VisiblePosition::localCaretRect):
452         (WebCore::makeRange):
453         (WebCore::startVisiblePosition):
454         (WebCore::endVisiblePosition):
455         (WebCore::setStart):
456         (WebCore::setEnd):
457         (WebCore::isFirstVisiblePositionInNode):
458         (WebCore::isLastVisiblePositionInNode):
459         * editing/VisiblePosition.h:
460         (WebCore::VisiblePosition::VisiblePosition):
461         * editing/htmlediting.cpp:
462         (WebCore::firstInSpecialElement):
463         (WebCore::lastInSpecialElement):
464         (WebCore::visiblePositionBeforeNode):
465         (WebCore::visiblePositionAfterNode):
466         * editing/visible_units.cpp:
467         (WebCore::startPositionForLine):
468         (WebCore::endPositionForLine):
469         (WebCore::previousLinePosition):
470         (WebCore::nextLinePosition):
471         (WebCore::startOfParagraph):
472         (WebCore::endOfParagraph):
473         (WebCore::endOfBlock):
474         (WebCore::startOfDocument):
475         (WebCore::endOfDocument):
476         (WebCore::logicalStartPositionForLine):
477         (WebCore::logicalEndPositionForLine):
478         * page/DOMSelection.cpp:
479         (WebCore::DOMSelection::collapse):
480         (WebCore::DOMSelection::setBaseAndExtent):
481         (WebCore::DOMSelection::setPosition):
482         (WebCore::DOMSelection::extend):
483         * page/EventHandler.cpp:
484         (WebCore::EventHandler::handleMousePressEventSingleClick):
485         * rendering/RenderObject.cpp:
486         (WebCore::RenderObject::createVisiblePosition):
487         * rendering/RenderTextControl.cpp:
488         (WebCore::RenderTextControl::visiblePositionForIndex):
489         * svg/SVGTextContentElement.cpp:
490         (WebCore::SVGTextContentElement::selectSubString):
491
492 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
493
494        Reviewed by Steve Block.
495
496        When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
497        https://bugs.webkit.org/show_bug.cgi?id=54785
498
499        This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
500        the right thing and continue to do the right thing. It also modifies EventQueue
501        so that we can cancel an event. To do this efficiently, the vector is now a
502        ListHashSet.
503
504        Cancelling the event is harder/messier, but the most deterministic thing to do.
505        To the user, the work isn't done until we fire the onsuccess/onerror handler.
506        So the event (which does fire that) needs to be cancelable.
507
508        transaction-abort.html tests this.
509
510        * dom/EventQueue.cpp:
511        (WebCore::EventQueue::enqueueEvent):
512        (WebCore::EventQueue::cancelEvent):
513        (WebCore::EventQueue::pendingEventTimerFired):
514        (WebCore::EventQueue::dispatchEvent):
515        * dom/EventQueue.h:
516        * dom/ExceptionCode.cpp:
517        * storage/IDBCursor.cpp:
518        (WebCore::IDBCursor::update):
519        (WebCore::IDBCursor::deleteFunction):
520        * storage/IDBDatabaseBackendImpl.cpp:
521        (WebCore::IDBDatabaseBackendImpl::close):
522        * storage/IDBDatabaseException.h:
523        * storage/IDBIndex.cpp:
524        (WebCore::IDBIndex::openCursor):
525        (WebCore::IDBIndex::openKeyCursor):
526        (WebCore::IDBIndex::get):
527        (WebCore::IDBIndex::getKey):
528        * storage/IDBObjectStore.cpp:
529        (WebCore::IDBObjectStore::get):
530        (WebCore::IDBObjectStore::add):
531        (WebCore::IDBObjectStore::put):
532        (WebCore::IDBObjectStore::deleteFunction):
533        (WebCore::IDBObjectStore::clear):
534        (WebCore::IDBObjectStore::openCursor):
535        * storage/IDBRequest.cpp:
536        (WebCore::IDBRequest::IDBRequest):
537        (WebCore::IDBRequest::~IDBRequest):
538        (WebCore::IDBRequest::readyState):
539        (WebCore::IDBRequest::markEarlyDeath):
540        (WebCore::IDBRequest::source):
541        (WebCore::IDBRequest::abort):
542        (WebCore::IDBRequest::onSuccess):
543        (WebCore::IDBRequest::dispatchEvent):
544        (WebCore::IDBRequest::enqueueEvent):
545        * storage/IDBRequest.h:
546        * storage/IDBTransaction.cpp:
547        (WebCore::IDBTransaction::registerRequest):
548        (WebCore::IDBTransaction::unregisterRequest):
549        (WebCore::IDBTransaction::onAbort):
550        * storage/IDBTransaction.h:
551
552 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
553
554         Reviewed by Mihai Parparita.
555
556         EventQueue needs to be ref counted
557         https://bugs.webkit.org/show_bug.cgi?id=55512
558
559         EventQueue needs to be ref counted because it's possible for its instance
560         to be deleted while it's dispatching events. This is the reason why
561         https://bugs.webkit.org/show_bug.cgi?id=54785 had to be reverted.
562
563         No change of behavior, so no tests.
564
565         * dom/Document.h:
566         * dom/EventQueue.cpp:
567         (WebCore::EventQueue::create):
568         * dom/EventQueue.h:
569
570 2011-03-01  Helder Correia  <helder@sencha.com>
571
572         Reviewed by Simon Fraser.
573
574         No shadow when stroking a path with a gradient
575         https://bugs.webkit.org/show_bug.cgi?id=55436
576
577         This happens in CG and is related to bug 52509, this time to be fixed
578         in GraphicsContext::strokePath(). The gradient needs to be drawn
579         clipped to the stroke on a CGLayer first, then the layer drawn on the
580         GraphicsContext.
581
582         Tests: fast/canvas/canvas-strokePath-gradient-shadow.html
583                svg/css/path-gradient-stroke-shadow.svg
584
585         * platform/graphics/cg/GraphicsContextCG.cpp:
586         (WebCore::GraphicsContext::strokePath):
587
588 2011-03-01  David Hyatt  <hyatt@apple.com>
589
590         Reviewed by Dan Bernstein.
591
592         Fix Font::spaceWidth() to be a float instead of an int.
593
594         * platform/graphics/Font.h:
595         (WebCore::Font::spaceWidth):
596
597 2011-02-28  Steve Block  <steveblock@google.com>
598
599         Reviewed by Jeremy Orlow.
600
601         Chromium gypi file should include Java bridge files from WebCore/bridge
602         https://bugs.webkit.org/show_bug.cgi?id=55387
603
604         No new tests, no code changes.
605
606         * WebCore.gyp/WebCore.gyp:
607         * WebCore.gypi:
608
609 2011-03-01  James Simonsen  <simonjam@chromium.org>
610
611         Reviewed by Tony Gentilcore.
612
613         [Web Timing] Handle the case where no responseEnd time is available.
614         https://bugs.webkit.org/show_bug.cgi?id=55444
615
616         * loader/MainResourceLoader.cpp:
617         (WebCore::MainResourceLoader::MainResourceLoader): Initialize to 0.
618         (WebCore::MainResourceLoader::didFinishLoading): Fall back to current time if no other time is available.
619
620 2011-03-01  Patrick Gansterer  <paroga@webkit.org>
621
622         Unreviewed, adding missing change for r80034.
623
624         Add a handler class for Win32 HANDLE
625         https://bugs.webkit.org/show_bug.cgi?id=55334
626
627         * platform/win/Win32Handle.h: Added missing WTF_MAKE_NONCOPYABLE macro.
628
629 2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
630
631         Unreviewed, rolling out r80037.
632         http://trac.webkit.org/changeset/80037
633         https://bugs.webkit.org/show_bug.cgi?id=55508
634
635         broke compile on SL (Requested by tonyg-cr on #webkit).
636
637         * Android.mk:
638         * CMakeLists.txt:
639         * GNUmakefile.am:
640         * WebCore.gypi:
641         * WebCore.pro:
642         * WebCore.vcproj/WebCore.vcproj:
643         * WebCore.xcodeproj/project.pbxproj:
644         * css/CSSParser.cpp:
645         (WebCore::CSSParser::parseValue):
646         * css/CSSParser.h:
647         * css/CSSStyleSelector.cpp:
648         (WebCore::CSSStyleSelector::applyProperty):
649         * css/html.css:
650         (q:before):
651         (q:after):
652         * rendering/RenderBlockLineLayout.cpp:
653         (WebCore::dirtyLineBoxesForRenderer):
654         * rendering/RenderObject.h:
655         * rendering/RenderObjectChildList.cpp:
656         (WebCore::RenderObjectChildList::removeChildNode):
657         (WebCore::RenderObjectChildList::appendChildNode):
658         (WebCore::RenderObjectChildList::insertChildNode):
659         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
660         * rendering/RenderQuote.cpp: Removed.
661         * rendering/RenderQuote.h: Removed.
662         * rendering/RenderingAllInOne.cpp:
663         * rendering/style/ContentData.cpp:
664         (WebCore::ContentData::dataEquivalent):
665         (WebCore::ContentData::deleteContent):
666         * rendering/style/ContentData.h:
667         * rendering/style/QuotesData.cpp: Removed.
668         * rendering/style/QuotesData.h: Removed.
669         * rendering/style/RenderStyle.cpp:
670         * rendering/style/RenderStyle.h:
671         * rendering/style/RenderStyleConstants.h:
672         * rendering/style/StyleAllInOne.cpp:
673         * rendering/style/StyleRareInheritedData.cpp:
674         (WebCore::StyleRareInheritedData::operator==):
675         * rendering/style/StyleRareInheritedData.h:
676
677 2011-03-01  Abhishek Arya  <inferno@chromium.org>
678
679         Reviewed by Dave Hyatt.
680
681         Paint outline for tables.
682         https://bugs.webkit.org/show_bug.cgi?id=55474
683
684         Test: fast/table/table-and-parts-outline.html
685
686         * rendering/RenderTable.cpp:
687         (WebCore::RenderTable::paintObject):
688
689 2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
690
691         Unreviewed, rolling out r80028.
692         http://trac.webkit.org/changeset/80028
693         https://bugs.webkit.org/show_bug.cgi?id=55502
694
695         'caused crashes; rolling out while investigating' (Requested
696         by jorlow on #webkit).
697
698         * dom/EventQueue.cpp:
699         (WebCore::EventQueue::enqueueEvent):
700         (WebCore::EventQueue::pendingEventTimerFired):
701         (WebCore::EventQueue::dispatchEvent):
702         * dom/EventQueue.h:
703         * dom/ExceptionCode.cpp:
704         * storage/IDBCursor.cpp:
705         (WebCore::IDBCursor::update):
706         (WebCore::IDBCursor::deleteFunction):
707         * storage/IDBDatabaseException.h:
708         * storage/IDBDatabaseException.idl:
709         * storage/IDBIndex.cpp:
710         (WebCore::IDBIndex::openCursor):
711         (WebCore::IDBIndex::openKeyCursor):
712         (WebCore::IDBIndex::get):
713         (WebCore::IDBIndex::getKey):
714         * storage/IDBObjectStore.cpp:
715         (WebCore::IDBObjectStore::get):
716         (WebCore::IDBObjectStore::add):
717         (WebCore::IDBObjectStore::put):
718         (WebCore::IDBObjectStore::deleteFunction):
719         (WebCore::IDBObjectStore::clear):
720         (WebCore::IDBObjectStore::openCursor):
721         * storage/IDBRequest.cpp:
722         (WebCore::IDBRequest::IDBRequest):
723         (WebCore::IDBRequest::~IDBRequest):
724         (WebCore::IDBRequest::readyState):
725         (WebCore::IDBRequest::dispatchEvent):
726         (WebCore::IDBRequest::enqueueEvent):
727         (WebCore::IDBRequest::source):
728         * storage/IDBRequest.h:
729         * storage/IDBTransaction.cpp:
730         (WebCore::IDBTransaction::onAbort):
731         * storage/IDBTransaction.h:
732
733 2011-03-01  Carol Szabo  <carol.szabo@nokia.com>
734
735         Reviewed by David Hyatt  <hyatt@apple.com>
736
737         content property doesn't support quotes
738         https://bugs.webkit.org/show_bug.cgi?id=6503
739
740         Added full support for quotes as defined by CSS 2.1.
741
742         Tests: fast/css/content/content-quotes-01.html
743                fast/css/content/content-quotes-02.html
744                fast/css/content/content-quotes-03.html
745                fast/css/content/content-quotes-04.html
746                fast/css/content/content-quotes-05.html
747
748         * Android.mk:
749         * CMakeLists.txt:
750         * GNUmakefile.am:
751         * WebCore.pro:
752         * WebCore.vcproj/WebCore.vcproj:
753         * WebCore.xcodeproj/project.pbxproj:
754         Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
755         * css/CSSParser.cpp:
756         (WebCore::CSSParser::parseValue):
757         (WebCore::CSSParser::parseQuotes):
758         * css/CSSParser.h:
759         Added needed stylesheet parsing support for quotes,
760         (no-)open-quote and (no-)close-quote
761         * css/CSSStyleSelector.cpp:
762         (WebCore::CSSStyleSelector::applyProperty):
763         Handled setting of the new quotes RenderStyle property and added
764         handling of quotes for the content property.
765         * css/html.css:
766         (q:before):
767         (q:after):
768         replaced the '"' workaround with open/close-quote
769         * rendering/RenderBlockLineLayout.cpp:
770         (WebCore::dirtyLineBoxesForRenderer):
771         Made RenderQuote behave like RenderCounter.
772         Needed to ensure that the Quote text is calculated before layout,
773         just as it is for RenderCounter.
774         * rendering/RenderObject.h:
775         (WebCore::RenderObject::isQuote):
776         * rendering/RenderObjectChildList.cpp:
777         (WebCore::RenderObjectChildList::removeChildNode):
778         (WebCore::RenderObjectChildList::appendChildNode):
779         (WebCore::RenderObjectChildList::insertChildNode):
780         Handled updating of quote depth when renderers are added and removed
781         from the tree.
782         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
783         * rendering/RenderQuote.cpp: Added.
784         (WebCore::adjustDepth):
785         (WebCore::RenderQuote::RenderQuote):
786         (WebCore::RenderQuote::~RenderQuote):
787         (WebCore::RenderQuote::renderName):
788         (WebCore::RenderQuote::placeQuote):
789         (WebCore::RenderQuote::originalText):
790         (WebCore::RenderQuote::computePreferredLogicalWidths):
791         (WebCore::RenderQuote::rendererSubtreeAttached):
792         (WebCore::RenderQuote::rendererRemovedFromTree):
793         (WebCore::RenderQuote::styleDidChange):
794         * rendering/RenderQuote.h: Added.
795         (WebCore::RenderQuote::isQuote):
796         (WebCore::toRenderQuote):
797         * rendering/RenderingAllInOne.cpp:
798         Included RenderQuote.cpp
799         * rendering/style/StyleAllInOne.cpp:
800         Included QuotesData.cpp
801         * rendering/style/ContentData.cpp:
802         (WebCore::ContentData::dataEquivalent):
803         Checked for quotetype identity.
804         (WebCore::ContentData::deleteContent):
805         Accounted for the new QUOTE_TYPE.
806         * rendering/style/ContentData.h:
807         (WebCore::ContentData::isQuote):
808         (WebCore::ContentData::quote):
809         (WebCore::ContentData::setQuote):
810         * rendering/style/RenderStyle.cpp:
811         (WebCore::RenderStyle::setContent):
812         * rendering/style/RenderStyle.h:
813         (WebCore::InheritedFlags::quotes):
814         (WebCore::InheritedFlags::setQuotes):
815         * rendering/style/RenderStyleConstants.h:
816         * rendering/style/StyleRareInheritedData.cpp:
817         (WebCore::StyleRareInheritedData::operator==):
818         Included quotes in equality check.
819         * rendering/style/StyleRareInheritedData.h:
820         Added quotes
821
822 2011-03-01  Michael Nordman  <michaeln@google.com>
823
824         Reviewed by Alexey Proskuryakov.
825
826         Alter the relative priorities of network vs fallback namespaces in the appcache.
827         If a resource url is in an appcache's network namespace and fallback namespace, the network
828         namespace wins (with the exception of the special '*' network namespace which does not take
829         priority over the fallback namespace.
830         https://bugs.webkit.org/show_bug.cgi?id=49292
831
832         Test: http/tests/appcache/online-fallback-layering.html
833
834         * loader/appcache/ApplicationCache.cpp:
835         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
836         * loader/appcache/ApplicationCacheHost.cpp:
837         (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
838         (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource):
839         * loader/appcache/ApplicationCacheStorage.cpp:
840         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
841
842 2011-03-01  Patrick Gansterer  <paroga@webkit.org>
843
844         Reviewed by Adam Roben.
845
846         Add a handler class for Win32 HANDLE
847         https://bugs.webkit.org/show_bug.cgi?id=55334
848
849         This class will call CloseHandle in the destructor for valid handles.
850
851         * platform/win/Win32Handle.h: Added.
852
853 2011-03-01  Eric Carlson  <eric.carlson@apple.com>
854
855         Reviewed by Chris Marrin.
856
857         <audio> and <video> should respect private browsing mode
858         https://bugs.webkit.org/show_bug.cgi?id=55287
859         <rdar://problem/9057699>
860
861         No new tests, this is just the plumbing.
862
863         * dom/Document.cpp:
864         (WebCore::Document::privateBrowsingStateDidChange): New.
865         (WebCore::Document::registerForPrivateBrowsingStateChangedCallbacks): Ditto.
866         (WebCore::Document::unregisterForPrivateBrowsingStateChangedCallbacks): Ditto.
867         * dom/Document.h:
868
869         * dom/Element.h:
870         (WebCore::Element::privateBrowsingStateDidChange): New.
871
872         * html/HTMLMediaElement.cpp:
873         (WebCore::HTMLMediaElement::HTMLMediaElement): Register for privacy mode changes.
874         (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for privacy mode changes.
875         (WebCore::HTMLMediaElement::loadResource): Tell player current privacy mode.
876         (WebCore::HTMLMediaElement::privateBrowsingStateDidChange):  New, call through to MediaPlayer.
877         * html/HTMLMediaElement.h:
878
879         * page/Page.cpp:
880         (WebCore::Page::privateBrowsingStateChanged): Call document()->privateBrowsingStateDidChange.
881
882         * platform/graphics/MediaPlayer.cpp:
883         (WebCore::MediaPlayer::setPrivateBrowsingMode): New, call through to media engine.
884         * platform/graphics/MediaPlayer.h:
885
886         * platform/graphics/MediaPlayerPrivate.h:
887         (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):  Declare new interface.
888
889 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
890
891         Reviewed by Steve Block.
892
893         When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
894         https://bugs.webkit.org/show_bug.cgi?id=54785
895
896         This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
897         the right thing and continue to do the right thing. It also modifies EventQueue
898         so that we can cancel an event. To do this efficiently, the vector is now a
899         ListHashSet.
900
901         Canelling the event is harder/messier, but the most deterministic thing to do.
902         To the user, the work isn't done until we fire the onsuccess/onerror handler.
903         So the event (which does fire that) needs to be cancelable.
904
905         transaction-abort.html tests this.
906
907         * dom/EventQueue.cpp:
908         (WebCore::EventQueue::enqueueEvent):
909         (WebCore::EventQueue::cancelEvent):
910         (WebCore::EventQueue::pendingEventTimerFired):
911         (WebCore::EventQueue::dispatchEvent):
912         * dom/EventQueue.h:
913         * dom/ExceptionCode.cpp:
914         * storage/IDBCursor.cpp:
915         (WebCore::IDBCursor::update):
916         (WebCore::IDBCursor::deleteFunction):
917         * storage/IDBDatabaseBackendImpl.cpp:
918         (WebCore::IDBDatabaseBackendImpl::close):
919         * storage/IDBDatabaseException.h:
920         * storage/IDBIndex.cpp:
921         (WebCore::IDBIndex::openCursor):
922         (WebCore::IDBIndex::openKeyCursor):
923         (WebCore::IDBIndex::get):
924         (WebCore::IDBIndex::getKey):
925         * storage/IDBObjectStore.cpp:
926         (WebCore::IDBObjectStore::get):
927         (WebCore::IDBObjectStore::add):
928         (WebCore::IDBObjectStore::put):
929         (WebCore::IDBObjectStore::deleteFunction):
930         (WebCore::IDBObjectStore::clear):
931         (WebCore::IDBObjectStore::openCursor):
932         * storage/IDBRequest.cpp:
933         (WebCore::IDBRequest::IDBRequest):
934         (WebCore::IDBRequest::~IDBRequest):
935         (WebCore::IDBRequest::readyState):
936         (WebCore::IDBRequest::markEarlyDeath):
937         (WebCore::IDBRequest::source):
938         (WebCore::IDBRequest::abort):
939         (WebCore::IDBRequest::onSuccess):
940         (WebCore::IDBRequest::dispatchEvent):
941         (WebCore::IDBRequest::enqueueEvent):
942         * storage/IDBRequest.h:
943         * storage/IDBTransaction.cpp:
944         (WebCore::IDBTransaction::registerRequest):
945         (WebCore::IDBTransaction::unregisterRequest):
946         (WebCore::IDBTransaction::onAbort):
947         * storage/IDBTransaction.h:
948
949 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
950
951         Reviewed by Steve Block.
952
953         Only IndexedDB's error event should be cancelable
954         https://bugs.webkit.org/show_bug.cgi?id=55413
955
956         * storage/IDBRequest.cpp:
957         (WebCore::createSuccessEvent):
958         * storage/IDBTransaction.cpp:
959         (WebCore::IDBTransaction::onAbort):
960         (WebCore::IDBTransaction::onComplete):
961
962 2011-03-01  Jia Pu  <jpu@apple.com>
963
964         Reviewed by Darin Adler.
965
966         Remove CorrectionIndicator markers sooner.
967         https://bugs.webkit.org/show_bug.cgi?id=54893
968         <rdar://problem/8997524>
969
970         Test: platform/mac/editing/spelling/removing-underline-after-accepting-autocorrection-using-punctuation.html
971
972         This patch changes the autocorrection behavior on Mac OS X. We want to remove CorrectionIndicator
973         marker after any editing command if the command:
974         1. is not a SpellingCorrectionCommand itself.
975         2. is not the command that triggers the autocorrection.
976         This is achieved by adding shouldRetainAutocorrectionIndicator() function to EditCommand. This function returns
977         false for all commands derived from EditCommand, except SpellingCorrectionCommand and TypingCommand. This function
978         always returns true for SpellingCorrectionCommand. For TypingCommand, the return value is determined by member
979         variable m_shouldRetainAutocorrectionIndicator, which can be modified by passing option into the TypingCommand's
980         public functions.
981         
982         To avoid constantly searching marker list, we use variable DocumentMarkerController::m_absentMarkerTypeCache
983         to cache whether there is any marker of a particular type.
984
985         This patch also fixes two minor existing bugs.
986         
987         1. We used to show reversion panel for word with CorrectionIndicator marker. This is incorrect because
988         CorrectionIndicator marker can be removed from corrected words. Since all autocorrected words have Replacement
989         marker unless the whole word is deleted, the correct behavior is to show reversion panel for word with Replacement
990         marker, since all autocorrected words have such marker. However, since we don't want to show the reversion panel
991         if an autocorrected word has been edited, we also check to see if the Replacement marker's description is null.
992         
993         This works as following:
994         When we apply an autocorrection, we add Replacement marker to corrected word, and store original word
995         as the marker's description. If the user edited the corrected word afterward, we set description to null.
996         So when we decide whether to show a reversion panel, we not only check for the existence of Replacement
997         marker, but also check if description is null.
998         
999         2. Fixed an assertion violation in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited(), which would
1000         occur when deleting the first character in an editable area.
1001
1002         * dom/DocumentMarker.h: Added m_possiblyExistingMarkerTypes to allow quickly checking whether a marker type is
1003            completely in from the document.
1004
1005         * dom/DocumentMarkerController.cpp: Most of the functions listed here are optimized for early return by checking
1006            the return value of possiblyHasMarkers() at beginning.
1007         (WebCore::DocumentMarkerController::possiblyHasMarkers):
1008         (WebCore::DocumentMarkerController::DocumentMarkerController):
1009         (WebCore::DocumentMarkerController::detach):
1010         (WebCore::DocumentMarkerController::removeMarkers):
1011         (WebCore::DocumentMarkerController::addMarker):
1012         (WebCore::DocumentMarkerController::copyMarkers):
1013         (WebCore::DocumentMarkerController::markerContainingPoint):
1014         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1015         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
1016         (WebCore::DocumentMarkerController::repaintMarkers):
1017         (WebCore::DocumentMarkerController::shiftMarkers):
1018         (WebCore::DocumentMarkerController::setMarkersActive):
1019         (WebCore::DocumentMarkerController::hasMarkers):
1020         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
1021         * dom/DocumentMarkerController.h:
1022         * editing/EditCommand.cpp:
1023         (WebCore::EditCommand::apply):
1024         (WebCore::EditCommand::shouldRetainAutocorrectionIndicator):
1025         (WebCore::EditCommand::setShouldRetainAutocorrectionIndicator):
1026         * editing/EditCommand.h:
1027         * editing/Editor.cpp:
1028         (WebCore::Editor::respondToChangedSelection):
1029         (WebCore::Editor::appliedEditing):
1030         (WebCore::Editor::insertTextWithoutSendingTextEvent):
1031         (WebCore::Editor::insertLineBreak):
1032         (WebCore::Editor::insertParagraphSeparator):
1033         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1034         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1035         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
1036         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
1037         * editing/Editor.h:
1038         * editing/EditorCommand.cpp:
1039         (WebCore::executeInsertLineBreak):
1040         (WebCore::executeInsertParagraph):
1041         (WebCore::executeInsertText):
1042         * editing/SpellingCorrectionCommand.cpp:
1043         (WebCore::SpellingCorrectionCommand::shouldRetainAutocorrectionIndicator):
1044         * editing/SpellingCorrectionCommand.h:
1045         * editing/TypingCommand.cpp:
1046         (WebCore::TypingCommand::TypingCommand):
1047         (WebCore::TypingCommand::deleteSelection):
1048         (WebCore::TypingCommand::deleteKeyPressed):
1049         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1050         (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection):
1051         (WebCore::TypingCommand::insertText):
1052         (WebCore::TypingCommand::insertLineBreak):
1053         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
1054         (WebCore::TypingCommand::insertParagraphSeparator):
1055         * editing/TypingCommand.h:
1056         (WebCore::TypingCommand::create):
1057         (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):
1058         (WebCore::TypingCommand::setShouldRetainAutocorrectionIndicator):
1059         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html:
1060
1061 2011-03-01  Renata Hodovan  <reni@webkit.org>
1062
1063         Reviewed by Andreas Kling.
1064
1065         FEDisplacementMapElement changes doesn't require relayout
1066         https://bugs.webkit.org/show_bug.cgi?id=55454
1067
1068         When the FEDisplacementMapElement receives an update message but the given value remains the same we don't need
1069         to relayout the filter.
1070
1071         No new tests are needed because this modification is covered by the dynamic update tests of FEDisplacementMap.
1072
1073         * platform/graphics/filters/FEDisplacementMap.cpp:
1074         (WebCore::FEDisplacementMap::setXChannelSelector):
1075         (WebCore::FEDisplacementMap::setYChannelSelector):
1076         (WebCore::FEDisplacementMap::setScale):
1077         * platform/graphics/filters/FEDisplacementMap.h:
1078         * svg/SVGFEDisplacementMapElement.cpp:
1079         (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute):
1080         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
1081         * svg/SVGFEDisplacementMapElement.h:
1082
1083 2011-03-01  Dan Bernstein  <mitz@apple.com>
1084
1085         Reviewed by Darin Adler.
1086
1087         <rdar://problem/8902714> Expand ruby text when it is shorter than the ruby base
1088         https://bugs.webkit.org/show_bug.cgi?id=55487
1089
1090         * css/html.css:
1091         (ruby > rt): Changed the default text-align value to -webkit-auto to signal
1092         the default expansion behavior.
1093         * rendering/RenderBlock.h:
1094         (WebCore::RenderRubyText::textAlignmentForLine): Made protected.
1095         (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Made protected.
1096         * rendering/RenderRubyText.cpp:
1097         (WebCore::RenderRubyText::textAlignmentForLine): Added. If text-align is
1098         -webkit-auto, returns JUSTIFY to allow expansion.
1099         (WebCore::RenderRubyText::adjustInlineDirectionLineBounds): Added. If
1100         text-align is -webkit-auto, insets the line such that the inset on each side
1101         is the half the inter-ideograph expansion, or one ruby character wide,
1102         whichever is smaller.
1103         * rendering/RenderRubyText.h:
1104
1105 2011-03-01  Sam Weinig  <sam@webkit.org>
1106
1107         Reviewed by Timothy Hatcher.
1108
1109         WebKit2 needs to be made localizable
1110         https://bugs.webkit.org/show_bug.cgi?id=55483
1111
1112         * English.lproj/Localizable.strings: Copied from Source/WebKit/English.lproj/Localizable.strings.
1113         * WebCore.xcodeproj/project.pbxproj:
1114         Move Localizable.strings to WebCore.
1115
1116         * WebCore.exp.in:
1117         Add export for localizedString function.
1118
1119         * platform/LocalizedStrings.h:
1120         * platform/mac/LocalizedStringsMac.mm: Added.
1121         Add function to get localized version of a string from the WebCore bundle.
1122
1123 2011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
1124
1125         Reviewed by Timothy Hatcher.
1126
1127         All Console Messages should be passed to ChromeClients.
1128         https://bugs.webkit.org/show_bug.cgi?id=54926
1129
1130         Do not filter the message type here, allow clients
1131         to filter and deal with the different message types.
1132
1133         * page/Console.cpp:
1134         (WebCore::Console::addMessage):
1135
1136 2011-02-23  Joseph Pecoraro  <joepeck@webkit.org>
1137
1138         Reviewed by Kenneth Rohde Christiansen.
1139
1140         Viewport parsing no longer accepts "1.0;" value as valid.
1141         https://bugs.webkit.org/show_bug.cgi?id=53705
1142
1143         When parsing numeric values, the "css-viewport" spec says
1144         to use the number prefix, and the non numeric part of the
1145         string can be ignored. This matches our behavior before
1146         r67376. The change was that checking the error out condition
1147         of String::toFloat doesn't necessarily mean that there
1148         was a non-numeric prefix. This patch checks if there was
1149         or wasn't a non-numeric prefix.
1150
1151         There is a console warning in any case where a numeric
1152         value is not parsed cleanly. There is an error warning
1153         when it is not a number at all, and a tip warning when
1154         it has been truncated.
1155
1156         Error messages are slightly improved to provide more
1157         context, both the key and value, when an error happens.
1158
1159         Test: fast/viewport/viewport-129.html
1160
1161         * dom/ViewportArguments.cpp:
1162         (WebCore::numericPrefix):
1163         (WebCore::findSizeValue):
1164         (WebCore::findScaleValue):
1165         (WebCore::findUserScalableValue):
1166         (WebCore::findTargetDensityDPIValue):
1167         (WebCore::viewportErrorMessageTemplate):
1168         (WebCore::viewportErrorMessageLevel):
1169         (WebCore::reportViewportWarning):
1170         * dom/ViewportArguments.h:
1171
1172 2011-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
1173
1174         Reviewed by Pavel Feldman.
1175
1176         Web Inspector: InjectedScript.setPropertyValue doesn't work.
1177         https://bugs.webkit.org/show_bug.cgi?id=55475
1178
1179         * inspector/InjectedScript.cpp:
1180         (WebCore::InjectedScript::setPropertyValue):
1181
1182 2011-03-01  Steve Block  <steveblock@google.com>
1183
1184         Reviewed by Jeremy Orlow.
1185
1186         Remove unused JavaString::uchars()
1187         https://bugs.webkit.org/show_bug.cgi?id=55465
1188
1189         No new tests, removing dead code only.
1190
1191         * bridge/jni/JNIBridge.h:
1192         * bridge/jni/jsc/JavaStringJSC.h:
1193         (JSC::Bindings::JavaStringImpl::utf8):
1194         * bridge/jni/v8/JavaStringV8.h:
1195
1196 2011-03-01  Alexander Pavlov  <apavlov@chromium.org>
1197
1198         Reviewed by Yury Semikhatsky.
1199
1200         Web Inspector: Extremely slow DOM search in GMail
1201         https://bugs.webkit.org/show_bug.cgi?id=55456
1202
1203         The solution comprises three major parts:
1204         - avoid multiple invocations of highlightSearchResults(), one per each nodeIds chunk.
1205         - cache highlighted node's innerHTML so that no extra _nodeTitleInfo() calls will be needed.
1206         - replace hand-written Text nodes iteration with a snapshot-based ".//text()" XPathResult.
1207
1208         * inspector/front-end/ElementsPanel.js:
1209         (WebInspector.ElementsPanel.prototype.searchCanceled):
1210         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
1211         * inspector/front-end/ElementsTreeOutline.js:
1212         (WebInspector.ElementsTreeElement.prototype.highlightSearchResults):
1213         (WebInspector.ElementsTreeElement.prototype.updateTitle):
1214         ():
1215         * inspector/front-end/utilities.js:
1216         ():
1217
1218 2011-03-01  Adam Roben  <aroben@apple.com>
1219
1220         Fix multiple-definition linker warnings introduced by r79978 on Windows
1221
1222         * rendering/RenderingAllInOne.cpp: Removed TextControlInnerElements.cpp, as it is now being
1223         compiled separately.
1224
1225 2011-03-01  Andras Becsi  <abecsi@webkit.org>
1226
1227         Reviewed by Csaba Osztrogonác.
1228
1229         [Qt] Clean up the project files and move common options to WebKit.pri.
1230
1231         No new tests needed.
1232
1233         * WebCore.pri: Move common options to WebKit.pri.
1234         * WebCore.pro: Ditto.
1235
1236 2011-03-01  Steve Block  <steveblock@google.com>
1237
1238         Reviewed by Pavel Feldman.
1239
1240         JNI code in Java bridge is not correctly guarded
1241         https://bugs.webkit.org/show_bug.cgi?id=55459
1242
1243         No new tests, build fix only.
1244
1245         * bridge/jni/v8/JNIBridgeV8.cpp:
1246         * bridge/jni/v8/JNIBridgeV8.h:
1247         * bridge/jni/v8/JNIUtilityPrivate.cpp:
1248         * bridge/jni/v8/JNIUtilityPrivate.h:
1249         * bridge/jni/v8/JavaClassV8.cpp:
1250         * bridge/jni/v8/JavaClassV8.h:
1251         * bridge/jni/v8/JavaInstanceV8.cpp:
1252         * bridge/jni/v8/JavaInstanceV8.h:
1253         * bridge/jni/v8/JavaNPObjectV8.cpp:
1254         * bridge/jni/v8/JavaNPObjectV8.h:
1255
1256 2011-03-01  Steve Block  <steveblock@google.com>
1257
1258         Reviewed by Jeremy Orlow.
1259
1260         Bridge.h should not include BridgeJSC.h
1261         https://bugs.webkit.org/show_bug.cgi?id=55212
1262
1263         Instead, BridgeJSC.h should include Bridge.h and code should include
1264         BridgeJSC.h as appropriate.
1265
1266         This prevents ports that use V8 from having to include JSC-specific
1267         files, even if the contents of those files are guarded.
1268
1269         No new tests, cleanup only.
1270
1271         * bindings/js/JSPluginElementFunctions.cpp:
1272         * bindings/js/ScriptControllerBrew.cpp:
1273         * bindings/js/ScriptControllerGtk.cpp:
1274         * bindings/js/ScriptControllerHaiku.cpp:
1275         * bindings/js/ScriptControllerQt.cpp:
1276         * bindings/js/ScriptControllerMac.mm:
1277         * bindings/js/ScriptControllerWin.cpp:
1278         * bindings/js/ScriptControllerWx.cpp:
1279         * bindings/js/ScriptInstance.h:
1280         * bindings/objc/WebScriptObject.mm:
1281         * bridge/Bridge.h:
1282         * bridge/c/c_class.h:
1283         * bridge/c/c_instance.h:
1284         * bridge/c/c_runtime.h:
1285         * bridge/jni/jsc/JNIBridgeJSC.h:
1286         * bridge/jni/jsc/JavaInstanceJSC.h:
1287         * bridge/jsc/BridgeJSC.h:
1288         * bridge/objc/objc_runtime.h:
1289         * bridge/qt/qt_class.h:
1290         * bridge/qt/qt_instance.h:
1291         * bridge/qt/qt_pixmapruntime.h:
1292         * bridge/qt/qt_runtime.h:
1293         * bridge/runtime_array.h:
1294         * bridge/runtime_method.h:
1295         * bridge/runtime_object.h:
1296         * bridge/runtime_root.cpp:
1297         * bridge/testbindings.cpp:
1298         * bridge/testbindings.mm:
1299         * bridge/testqtbindings.cpp:
1300         * page/win/FrameWin.cpp:
1301         * platform/graphics/wince/MediaPlayerProxy.cpp:
1302         * plugins/PluginView.cpp:
1303         * plugins/PluginViewNone.cpp:
1304         * plugins/gtk/PluginViewGtk.cpp:
1305         * plugins/mac/PluginViewMac.mm:
1306         * plugins/qt/PluginViewQt.cpp:
1307         * plugins/symbian/PluginViewSymbian.cpp:
1308         * plugins/win/PluginViewWin.cpp:
1309
1310 2011-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
1311
1312         Reviewed by Antti Koivisto.
1313
1314         SVG 1.1 2nd Edition color-prop-05-t.svg exposes bug in 'currentColor' handling
1315         https://bugs.webkit.org/show_bug.cgi?id=54800
1316
1317         Wrong handling of currentColor on inherit
1318         https://bugs.webkit.org/show_bug.cgi?id=38102
1319
1320         Stop storing RefPtr<SVGPaint> objects in the SVGRenderStyle for fill/stroke. These are the last
1321         two objects that held references to CSSValues, they're all gone now, aligning better with RenderStyle.
1322         It's also dangerous, as a SVGPaint object can be shared by multiple SVGRenderStyles (MappedAttribute will
1323         once create a CSSStyleDeclaration for fill="red" and reuse it where possible), and it was easy to
1324         accidently mutate the object, affecting multiple styles. Instead store a Color, an URI and a paint
1325         type in SVGRenderStyle, enough to create a SVGPaint object, if needed (eg for computed styles).
1326
1327         <g color="green"><rect fill="currentColor"/> already worked fine in trunk, but
1328         <g fill="currentColor" color="green"><rect color="red"/> procuded a red rectangle.
1329
1330         In order to fix to bug we have to resolve all currentColor values for SVGPaint objects, in SVGCSSStyleSelector,
1331         as it's already done for SVGColor objects (stop-color, flood-color, etc.) instead of in RenderSVGResource::fill/strokePaintingResource,
1332         when trying to use the paint server. The correct "color" value that should be used from the RenderStyle, is directly
1333         available in CSSStyleSelector: in applyProperty m_style->color() gives the desired value. In CSSStyleSelector it's handled
1334         exactly this way for non-SVG currentColor properties. Also fix computed styles, which did not resolve currentColor for SVGPaint/SVGColor.
1335
1336         A previous patch implemented the SVGPaint/SVGColor API. SVG demands these CSSValues to be mutable. Introduce
1337         CSSMutableValue, which extends CSSValue by a Node pointer, and let SVGPaint/SVGColor inherit from it.
1338         Mutating a SVGPaint/SVGColor object now takes immediate effect, which is reflected in the inline style / computed style.
1339         (Note that getPresentationAttribute() already takes care of removing the CSSValue from the mapped attribute cache, so that it's no longer shared.)
1340
1341         Add several new tests covering the patch.
1342
1343         Tests: svg/W3C-SVG-1.1-SE/color-prop-05-t.svg
1344                svg/animations/animate-color-fill-currentColor.html
1345                svg/custom/SVGPaint-mutate-attribute.svg
1346                svg/custom/SVGPaint-mutate-inline-style.svg
1347
1348         * GNUMakefile.am: Add CSSMutableValue.h
1349         * WebCore.gypi: Ditto.
1350         * WebCore.xcodeproj/project.pbxproj: Ditto.
1351         * css/CSSMutableStyleDeclaration.cpp: Reset the Node pointer in all CSSMutableValues belonging to this style declaration.
1352         (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
1353         * css/CSSMutableStyleDeclaration.h: Add destructor.
1354         * css/CSSMutableValue.h: Added.
1355         (WebCore::CSSMutableValue::CSSMutableValue):
1356         (WebCore::CSSMutableValue::~CSSMutableValue):
1357         (WebCore::CSSMutableValue::isMutableValue):
1358         (WebCore::CSSMutableValue::node):
1359         (WebCore::CSSMutableValue::setNode):
1360         (WebCore::CSSMutableValue::setNeedsStyleRecalc):
1361         * css/CSSStyleDeclaration.cpp:
1362         (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Set the Node object of a CSSMutableValue to the Node, this style declaration belongs to.
1363         * css/CSSValue.h:
1364         (WebCore::CSSValue::isMutableValue): Return false, default.
1365         * css/SVGCSSComputedStyleDeclaration.cpp:
1366         (WebCore::CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor): Add helper function, resolving currentColor values for SVGPaint objects.
1367         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Use currentColorOrValidColor/adjustSVGPaintForCurrentColor to resolve SVGColor/SVGPaint values.
1368         * css/SVGCSSStyleSelector.cpp:
1369         (WebCore::CSSStyleSelector::applySVGProperty): Store fill/stroke uri, color, paint type seperated in SVGRenderStyle, don't store the full SVGPaint object anymore.
1370         * rendering/style/SVGRenderStyle.cpp:
1371         (WebCore::SVGRenderStyle::diff): Adapt to SVGPaint changes.
1372         * rendering/style/SVGRenderStyle.h: Ditto.
1373         (WebCore::SVGRenderStyle::initialFillOpacity):
1374         (WebCore::SVGRenderStyle::initialFillPaintType):
1375         (WebCore::SVGRenderStyle::initialFillPaintColor):
1376         (WebCore::SVGRenderStyle::initialFillPaintUri):
1377         (WebCore::SVGRenderStyle::initialStrokeOpacity):
1378         (WebCore::SVGRenderStyle::initialStrokePaintType):
1379         (WebCore::SVGRenderStyle::initialStrokePaintColor):
1380         (WebCore::SVGRenderStyle::initialStrokePaintUri):
1381         (WebCore::SVGRenderStyle::initialStrokeMiterLimit):
1382         (WebCore::SVGRenderStyle::initialStopOpacity):
1383         (WebCore::SVGRenderStyle::initialFloodOpacity):
1384         (WebCore::SVGRenderStyle::setFillPaint):
1385         (WebCore::SVGRenderStyle::setStrokePaint):
1386         (WebCore::SVGRenderStyle::fillPaintType):
1387         (WebCore::SVGRenderStyle::fillPaintColor):
1388         (WebCore::SVGRenderStyle::fillPaintUri):
1389         (WebCore::SVGRenderStyle::strokePaintType):
1390         (WebCore::SVGRenderStyle::strokePaintColor):
1391         (WebCore::SVGRenderStyle::strokePaintUri):
1392         (WebCore::SVGRenderStyle::hasStroke):
1393         (WebCore::SVGRenderStyle::hasFill):
1394         * rendering/style/SVGRenderStyleDefs.cpp: Ditto.
1395         (WebCore::StyleFillData::StyleFillData):
1396         (WebCore::StyleFillData::operator==):
1397         (WebCore::StyleStrokeData::StyleStrokeData):
1398         (WebCore::StyleStrokeData::operator==):
1399         * rendering/style/SVGRenderStyleDefs.h: Ditto.
1400         * rendering/svg/RenderSVGResource.cpp: Ditto.
1401         (WebCore::requestPaintingResource):
1402         * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
1403         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
1404         * rendering/svg/SVGResources.cpp: Ditto.
1405         (WebCore::paintingResourceFromSVGPaint):
1406         (WebCore::SVGResources::buildCachedResources):
1407         * svg/SVGColor.cpp: Call setNeedsStyleRecalc() after mutating the object.
1408         (WebCore::SVGColor::setRGBColor):
1409         (WebCore::SVGColor::setRGBColorICCColor):
1410         (WebCore::SVGColor::setColor):
1411         * svg/SVGColor.h:
1412         * svg/SVGPaint.cpp: Ditto.
1413         (WebCore::SVGPaint::setUri):
1414         (WebCore::SVGPaint::setPaint):
1415         * svg/SVGPaint.h:
1416
1417 2011-03-01  Andrey Adaikin  <aandrey@google.com>
1418
1419         Reviewed by Pavel Feldman.
1420
1421         Web Inspector: [Text editor] Handle decorated lines in the editor
1422         https://bugs.webkit.org/show_bug.cgi?id=55373
1423
1424         * inspector/front-end/SourceFrame.js:
1425         (WebInspector.SourceFrame.prototype._startEditing):
1426         (WebInspector.SourceFrame.prototype._endEditing):
1427         (WebInspector.SourceFrame.prototype._createTextViewer):
1428         * inspector/front-end/TextViewer.js:
1429         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
1430         (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
1431         (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
1432         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
1433         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1434         (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
1435         (WebInspector.TextEditorMainPanel.prototype._markDirtyLines):
1436         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1437         (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
1438         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
1439         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
1440         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
1441         (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
1442         (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
1443         (WebInspector.TextEditorMainChunk.prototype.get decorated):
1444
1445 2011-03-01  Philippe Normand  <pnormand@igalia.com>
1446
1447         Unreviewed GTK build fix after r79978
1448
1449         * GNUmakefile.am:
1450
1451 2011-03-01  Andras Becsi  <abecsi@webkit.org>
1452
1453         Unreviewed build fix.
1454
1455         [Qt] Fix minimal build.
1456
1457         No new tests needed.
1458
1459         * WebCore.pri: Is included in WebKit2.pro, so XP_UNIX can remain here.
1460
1461 2011-03-01  anthony taranto  <anthony.taranto@gmail.com>
1462
1463         Return undefined value from ScriptController::evaluate(), allowing the
1464         caller to distinguish between an error and an undefined return value.
1465         https://bugs.webkit.org/show_bug.cgi?id=51528
1466
1467         * bindings/v8/ScriptController.cpp: 
1468
1469 2011-03-01  Roland Steiner  <rolandsteiner@chromium.org>
1470
1471         Reviewed by Kent Tamura.
1472
1473         Bug 54853 - Move TextControlInnerElements from WebCore/rendering to WebCore/html/shadow
1474         https://bugs.webkit.org/show_bug.cgi?id=54853
1475         
1476         Moving the files from rendering to html/shadow, with the exception of
1477         the class RenderTextControlInnerBlock, which I moved to RenderTextControlSingleLine
1478         (this place is not ideal, but only a temporary state during the larger refactoring
1479         for <input>).
1480
1481         No new tests. (refactoring)
1482
1483         * Android.mk:
1484         * CMakeLists.txt:
1485         * WebCore.gypi:
1486         * WebCore.pro:
1487         * WebCore.vcproj/WebCore.vcproj:
1488         * WebCore.xcodeproj/project.pbxproj:
1489         * html/shadow/TextControlInnerElements.cpp: Copied from Source/WebCore/rendering/TextControlInnerElements.cpp.
1490         * html/shadow/TextControlInnerElements.h: Copied from Source/WebCore/rendering/TextControlInnerElements.h.
1491         * rendering/RenderTextControlSingleLine.cpp:
1492         (WebCore::RenderTextControlInnerBlock::positionForPoint):
1493         * rendering/RenderTextControlSingleLine.h:
1494         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
1495         (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty):
1496         * rendering/TextControlInnerElements.cpp: Removed.
1497         * rendering/TextControlInnerElements.h: Removed.
1498
1499 2011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
1500
1501         Reviewed by Tony Chang.
1502
1503         applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
1504         https://bugs.webkit.org/show_bug.cgi?id=55338
1505
1506         Deployed EditingStyle in applyInlineStyleToPushDown and removeInlineStyleFromElement.
1507
1508         Also added a convenience function EditingStyle::setProperty, which lazily instantiates
1509         new CSSMutableStyleDeclaration for m_mutableStyle.
1510
1511         * editing/ApplyStyleCommand.cpp:
1512         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle*.
1513         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Ditto.
1514         (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
1515         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls the above three functions.
1516         (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownInlineStyleAroundNode.
1517         * editing/ApplyStyleCommand.h:
1518         * editing/EditingStyle.cpp:
1519         (WebCore::HTMLElementEquivalent::addToStyle): Takes EditingStyle*; calls EditingStyle::setProperty.
1520         (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
1521         (WebCore::EditingStyle::setProperty): Added.  This member function lazily instantiates
1522         new CSSMutableStyleDeclaration for m_mutableStyle.
1523         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Takes EditingStyle*.
1524         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Ditto.
1525         (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Ditto.
1526         * editing/EditingStyle.h: Added HTMLElementEquivalent and HTMLAttributeEquivalent as friends.
1527         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Ditto.
1528         * editing/InsertTextCommand.cpp: Removed unnecessary includes.
1529         * editing/RemoveCSSPropertyCommand.h: Ditto.
1530
1531 2011-02-28  Pavel Feldman  <pfeldman@chromium.org>
1532
1533         Not reviewed: chromium rebuilds XMLViewer after noop. Fixed gyp file.
1534
1535         * WebCore.gyp/WebCore.gyp:
1536
1537 2011-02-28  David Levin  <levin@chromium.org>
1538
1539         Reviewed by Darin Adler.
1540
1541         KURL should expose a referrer property.
1542         https://bugs.webkit.org/show_bug.cgi?id=55415
1543
1544         No change in functionality so no new tests.
1545
1546         * loader/FrameLoader.cpp:
1547         (WebCore::FrameLoader::setOutgoingReferrer): Refactor to put the majority
1548         of functionality in KURL::strippedForUseAsReferrer() so that this code can
1549         be more easily reused.
1550         * platform/KURL.cpp:
1551         (WebCore::KURL::strippedForUseAsReferrer): Converts the url to a string
1552         which is suitable for use as a referrer.
1553         * platform/KURL.h:
1554
1555 2011-02-28  Chang Shu  <cshu@webkit.org>
1556
1557         Reviewed by Ryosuke Niwa.
1558
1559         Remove the support of Frame::isContentEditable and its dependencies.
1560         https://bugs.webkit.org/show_bug.cgi?id=54292
1561
1562         Frame::isContentEditable is currently based on two things: Editor::clientIsEditable and
1563         Document::inDesignMode. In fact, it should only rely on Document::inDesignMode. As a result,
1564         Editor::clientIsEditable and its client-side implementation can be removed.
1565
1566         * WebCore.exp.in:
1567         * accessibility/AccessibilityRenderObject.cpp:
1568         (WebCore::AccessibilityRenderObject::isReadOnly):
1569         * editing/Editor.cpp:
1570         * editing/Editor.h:
1571         * editing/SelectionController.cpp:
1572         (WebCore::SelectionController::setSelectionFromNone):
1573         * html/HTMLElement.cpp:
1574         (WebCore::HTMLElement::isContentEditable):
1575         (WebCore::HTMLElement::isContentRichlyEditable):
1576         * page/DragController.cpp:
1577         (WebCore::DragController::operationForLoad):
1578         * page/EditorClient.h:
1579         * page/Frame.cpp:
1580         * page/Frame.h:
1581
1582 2011-02-28  Kent Tamura  <tkent@chromium.org>
1583
1584         Reviewed by Darin Adler.
1585
1586         Number type input cannot be set to empty string if it has an initial value
1587         https://bugs.webkit.org/show_bug.cgi?id=53744
1588
1589         We need to distinguish null strings and empty strings for
1590         InputElementData::value. So InputType::sanitizeValue() also needs to
1591         take care of it.
1592
1593         * dom/InputElement.h: Add a comment to InputElementData::value and
1594           setValue about null strings.
1595         * html/InputType.h: Add a comment to sanitizeValue about null strings.
1596         * html/NumberInputType.cpp:
1597         (WebCore::NumberInputType::sanitizeValue): Returns a null string if the
1598           proposed value is a null string. Returning an empty string if the
1599           proposed value is not a number.
1600
1601 2011-02-28  Kent Tamura  <tkent@chromium.org>
1602
1603         Reviewed by Darin Adler.
1604
1605         Number type input should not handle mouse wheel events if it has no focus.
1606         https://bugs.webkit.org/show_bug.cgi?id=53638
1607
1608         * html/TextFieldInputType.cpp:
1609         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Check focused().
1610
1611 2011-02-28  Noel Gordon  <noel.gordon@gmail.com>
1612         Reviewed by James Robinson.
1613
1614         [chromium] GradientSkia: use the common Gradient stop sorting methods.
1615         https://bugs.webkit.org/show_bug.cgi?id=54625
1616
1617         Remove a FIXME: call the Gradient.cpp stop storting routines, no need
1618         to duplicate that code herein.
1619
1620         No change in behavior, so no new tests.
1621
1622         * platform/graphics/skia/GradientSkia.cpp:
1623         (WebCore::Gradient::platformGradient):
1624
1625 2011-02-28  Steve Block  <steveblock@google.com>
1626
1627         Reviewed by Jeremy Orlow.
1628
1629         JNI code should include <jni.h> on non-OSX platforms.
1630         https://bugs.webkit.org/show_bug.cgi?id=55219
1631
1632         On Mac we need to include <JavaVM/jni.h> as this is a framework
1633         include. We include jni.h through JNIUtility.h to minimize the
1634         number of ifdefs.
1635
1636         No new tests, build fix only.
1637
1638         * WebCore.xcodeproj/project.pbxproj
1639         * bridge/jni/JNIUtility.h:
1640         * bridge/jni/jni_jsobject.h:
1641         * bridge/jni/jsc/JNIBridgeJSC.h:
1642         * bridge/jni/jsc/JavaInstanceJSC.h:
1643         * bridge/jni/v8/JavaInstanceV8.h:
1644
1645 2011-02-28  Nebojsa Sabovic  <neb@chromium.org>
1646
1647         Reviewed by James Robinson.
1648
1649         [chromium] Pepper plugins render upside down
1650         https://bugs.webkit.org/show_bug.cgi?id=55101
1651
1652         No layout tests for pepper plugins (yet).
1653
1654         * platform/graphics/chromium/PluginLayerChromium.h:
1655
1656 2011-02-28  Tony Gentilcore  <tonyg@chromium.org>
1657
1658         Reviewed by Adam Barth.
1659
1660         Follow HTML5 spec for document.open() a little more closely
1661         https://bugs.webkit.org/show_bug.cgi?id=55392
1662
1663         See: 3.5.1.4 at http://www.whatwg.org/specs/web-apps/current-work/#dom-document-open.
1664
1665         The second return check matches the spec. The first return check (isExecutingScript())
1666         was left in place because without it, fast/tokenizer/write-external-script-open.html
1667         would fail. It also possible there is a spec bug because FF4 crashes on that test and
1668         IE9 prints "FAILURE." The isLoadingMainResource() check was removed because the main
1669         resource is always loading while parser->isParsing().
1670
1671         Test: fast/parser/double-write-from-closed-iframe.html
1672
1673         * dom/Document.cpp:
1674         (WebCore::Document::open):
1675
1676 2011-02-28  Avi Drissman  <avi@google.com>
1677
1678         Reviewed by James Robinson.
1679
1680         WebCursorInfo needs to match enums in platform/Cursor.h
1681         https://bugs.webkit.org/show_bug.cgi?id=55094
1682
1683         * platform/chromium/CursorChromium.cpp:
1684         (WebCore::grabCursor):
1685         (WebCore::grabbingCursor):
1686         * platform/chromium/PlatformCursor.h:
1687
1688 2011-02-28  Jia Pu  <jpu@apple.com>
1689
1690         Reviewed by Darin Adler.
1691
1692         [Mac] Make "Change back to …" contextual menu item work with new autocorrection.
1693         https://bugs.webkit.org/show_bug.cgi?id=55396
1694         <rdar://problem/8836093>
1695
1696         The change in InlineTextBox.cpp fixes a bug, where the rectangle of Replacement marker isn't
1697         calculated. We need this to do hit test when deciding whether to show "Change back to ..." on
1698         contextual menu.
1699
1700         The change in Editor.cpp is for notifying spellchecker about the reversion whenever "Change
1701         back to ..." is clicked.
1702
1703         * editing/Editor.cpp:
1704         (WebCore::Editor::changeBackToReplacedString):
1705         * rendering/InlineTextBox.cpp:
1706         (WebCore::InlineTextBox::paintDocumentMarkers):
1707
1708 2011-02-28  Victoria Kirst  <vrk@google.com>
1709
1710         Reviewed by Kenneth Russell.
1711
1712         [chromium] Fall back to texSubImage2D when mapTexSubImage2D fails in VideoLayerChromium
1713         https://bugs.webkit.org/show_bug.cgi?id=55269
1714
1715         Mesa does not support mapTexSubImage2D, so this change lets
1716         GPU-accelerated video work with DRT layout tests.
1717
1718         * platform/graphics/chromium/VideoLayerChromium.cpp:
1719         (WebCore::VideoLayerChromium::updateTexture):
1720
1721 2011-02-28  David Hyatt  <hyatt@apple.com>
1722
1723         Reviewed by Dan Bernstein.
1724
1725         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.  Change staticX and staticY
1726         to be staticInlinePosition and staticBlockPosition.  Patch all of the computations involving these variables to be writing
1727         mode aware.  Mixed writing modes are not yet supported.
1728
1729         Added new tests in fast/block/positioning/auto.
1730
1731         * rendering/RenderBlock.cpp:
1732         (WebCore::RenderBlock::adjustPositionedBlock):
1733         (WebCore::RenderBlock::layoutPositionedObjects):
1734         * rendering/RenderBlock.h:
1735         (WebCore::RenderBlock::startOffsetForLine):
1736         * rendering/RenderBlockLineLayout.cpp:
1737         (WebCore::RenderBlock::appendRunsForObject):
1738         (WebCore::setStaticPositions):
1739         (WebCore::RenderBlock::skipTrailingWhitespace):
1740         (WebCore::RenderBlock::skipLeadingWhitespace):
1741         (WebCore::RenderBlock::findNextLineBreak):
1742         * rendering/RenderBox.cpp:
1743         (WebCore::RenderBox::positionLineBox):
1744         (WebCore::computeInlineStaticDistance):
1745         (WebCore::RenderBox::computePositionedLogicalWidth):
1746         (WebCore::computeBlockStaticDistance):
1747         (WebCore::RenderBox::computePositionedLogicalHeight):
1748         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
1749         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
1750         * rendering/RenderBoxModelObject.h:
1751         (WebCore::RenderBoxModelObject::borderAndPaddingLogicalLeft):
1752         (WebCore::RenderBoxModelObject::borderAndPaddingStart):
1753         (WebCore::RenderBoxModelObject::borderLogicalLeft):
1754         (WebCore::RenderBoxModelObject::borderLogicalRight):
1755         * rendering/RenderFlexibleBox.cpp:
1756         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1757         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1758         * rendering/RenderInline.cpp:
1759         (WebCore::RenderInline::relativePositionedInlineOffset):
1760         * rendering/RenderLayer.cpp:
1761         (WebCore::RenderLayer::RenderLayer):
1762         * rendering/RenderLayer.h:
1763         (WebCore::RenderLayer::staticInlinePosition):
1764         (WebCore::RenderLayer::staticBlockPosition):
1765         (WebCore::RenderLayer::setStaticInlinePosition):
1766         (WebCore::RenderLayer::setStaticBlockPosition):
1767         * rendering/style/RenderStyle.h:
1768         (WebCore::InheritedFlags::hasAutoLeftAndRight):
1769         (WebCore::InheritedFlags::hasAutoTopAndBottom):
1770         (WebCore::InheritedFlags::hasStaticInlinePosition):
1771         (WebCore::InheritedFlags::hasStaticBlockPosition):
1772
1773 2011-02-28  Balazs Kelemen  <kbalazs@webkit.org>
1774
1775         Reviewed by Anders Carlsson.
1776
1777         [Qt][WK2] Plugin initialization
1778         https://bugs.webkit.org/show_bug.cgi?id=48127
1779
1780         No function change so no new tests.
1781
1782         * WebCore.pri: Lift the definition of the XP_UNIX macro
1783         from WebCore.pri to WebKit.pri to apply it to WebKit2 as well.
1784
1785 2011-02-28  Dean Jackson  <dino@apple.com>
1786
1787         Reviewed by Eric Carlson.
1788
1789         https://bugs.webkit.org/show_bug.cgi?id=55239
1790
1791         Allow webkitEnterFullScreen to be called from outside
1792         a user gesture, but only when the correct restrictions
1793         have been lifted in WebCore. Add a new restriction type
1794         for this situation. Meanwhile, expose the current
1795         restrictions externally from HTMLMediaElement, so that
1796         clients can easily set restrictions on their port.
1797
1798         No new tests. This doesn't change existing behavior. Some
1799         WebKit clients may lift the restriction.
1800
1801         * html/HTMLMediaElement.cpp:
1802         (WebCore::HTMLMediaElement::HTMLMediaElement):
1803         - ensure restrictions initialize with fullscreen restricted
1804         * html/HTMLMediaElement.h:
1805         (WebCore::HTMLMediaElement::requireUserGestureForLoad):
1806         (WebCore::HTMLMediaElement::requireUserGestureForRateChange):
1807         (WebCore::HTMLMediaElement::requireUserGestureForFullScreen):
1808         (WebCore::HTMLMediaElement::setBehaviorRestrictions):
1809         - new methods to expose the current restrictions
1810         * html/HTMLVideoElement.cpp:
1811         (WebCore::HTMLVideoElement::webkitEnterFullscreen):
1812
1813 2011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1814
1815         Unreviewed, rolling out r78789.
1816         http://trac.webkit.org/changeset/78789
1817         https://bugs.webkit.org/show_bug.cgi?id=55409
1818
1819         Incorrect canvas fallback implementation (Requested by
1820         inferno-sec on #webkit).
1821
1822         * accessibility/AccessibilityObject.h:
1823         * accessibility/AccessibilityRenderObject.cpp:
1824         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1825         (WebCore::AccessibilityRenderObject::canHaveChildren):
1826         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1827         (atkRole):
1828         * accessibility/mac/AccessibilityObjectWrapper.mm:
1829         * html/HTMLFormControlElement.cpp:
1830         (WebCore::HTMLFormControlElement::isFocusable):
1831         * rendering/RenderHTMLCanvas.cpp:
1832         * rendering/RenderHTMLCanvas.h:
1833         * rendering/RenderObject.cpp:
1834         (WebCore::RenderObject::repaint):
1835         * rendering/RenderTreeAsText.cpp:
1836         (WebCore::write):
1837
1838 2011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
1839
1840         Unreviewed, rolling out r79425.
1841         http://trac.webkit.org/changeset/79425
1842         https://bugs.webkit.org/show_bug.cgi?id=55406
1843
1844         Incorrect canvas fallback implementation. (Requested by
1845         inferno-sec on #webkit).
1846
1847         * rendering/RenderHTMLCanvas.cpp:
1848         (WebCore::RenderHTMLCanvas::nodeAtPoint):
1849
1850 2011-02-28  Adam Klein  <adamk@chromium.org>
1851
1852         Reviewed by Adam Barth.
1853
1854         [fileapi] Implement LocalFileSystem.resolveLocalFileSystemURI
1855         https://bugs.webkit.org/show_bug.cgi?id=54774
1856
1857         See http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods
1858         for the spec implemented by this patch.
1859
1860         Test: fast/filesystem/resolve-uri.html
1861
1862         * fileapi/DOMFileSystemBase.cpp:
1863         (WebCore::DOMFileSystemBase::crackFileSystemURL):
1864         * fileapi/DOMFileSystemBase.h:
1865         Added constants for "temporary" and "persistent".
1866         * fileapi/EntryBase.cpp:
1867         Replace hardcoded strings with aforementioned constants.
1868         * fileapi/FileSystemCallbacks.cpp:
1869         (WebCore::ResolveURICallbacks::create):
1870         (WebCore::ResolveURICallbacks::ResolveURICallbacks):
1871         (WebCore::ResolveURICallbacks::didOpenFileSystem):
1872         Chains a call of openFileSystem to calls to getDirectory/getFile.
1873         * fileapi/FileSystemCallbacks.h:
1874         * fileapi/LocalFileSystem.cpp:
1875         (WebCore::LocalFileSystem::readFileSystem):
1876         * fileapi/LocalFileSystem.h:
1877         Remove size argument from readFileSystem()
1878         * page/DOMWindow.cpp:
1879         (WebCore::DOMWindow::resolveLocalFileSystemURI):
1880         * page/DOMWindow.h:
1881         * page/DOMWindow.idl:
1882
1883 2011-02-28  Alexis Menard  <alexis.menard@openbossa.org>
1884
1885         Reviewed by Oliver Hunt.
1886
1887         Build fix for Qt port after API changes of http://trac.webkit.org/changeset/79904.
1888
1889         * bridge/qt/qt_runtime.cpp:
1890         (JSC::Bindings::QtConnectionObject::execute):
1891
1892 2011-02-25  David Levin  <levin@chromium.org>
1893
1894         Reviewed by Darin Adler.
1895
1896         Remove some duplicate code from KURLGoogle.cpp
1897         https://bugs.webkit.org/show_bug.cgi?id=55266
1898
1899         No change in functionality so no new tests.
1900
1901         * WebCore.gyp/WebCore.gyp: Make KURL.cpp get built by Chromium.
1902         * platform/KURL.cpp:
1903         Simply moved #include's and some code that was identical (i.e.
1904         had been copied) to KURLGoogle.cpp outside of ifdef !USE(GOOGLEURL)
1905         to reduce duplication.
1906         * platform/KURLGoogle.cpp:
1907         Removed the duplicate code.
1908
1909 2011-02-28  Oliver Hunt  <oliver@apple.com>
1910
1911         Reviewed by Gavin Barraclough.
1912
1913         Make ScopeChainNode GC allocated
1914         https://bugs.webkit.org/show_bug.cgi?id=55283
1915
1916         Update WebCore to deal with the absence of the ScopeChain
1917         class.
1918
1919         * ForwardingHeaders/runtime/ScopeChain.h: Added.
1920         * bindings/js/JSHTMLElementCustom.cpp:
1921         (WebCore::JSHTMLElement::pushEventHandlerScope):
1922         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1923         (WebCore::JSJavaScriptCallFrame::scopeChain):
1924         (WebCore::JSJavaScriptCallFrame::scopeType):
1925         * bindings/js/JSLazyEventListener.cpp:
1926         (WebCore::JSLazyEventListener::initializeJSFunction):
1927         * bindings/js/JSMainThreadExecState.h:
1928         (WebCore::JSMainThreadExecState::evaluate):
1929         * bindings/js/JSNodeCustom.cpp:
1930         (WebCore::JSNode::pushEventHandlerScope):
1931         * bindings/js/JavaScriptCallFrame.cpp:
1932         (WebCore::JavaScriptCallFrame::scopeChain):
1933         * bindings/js/JavaScriptCallFrame.h:
1934         * bindings/scripts/CodeGeneratorJS.pm:
1935         * bridge/c/c_class.cpp:
1936         * bridge/c/c_runtime.cpp:
1937         * bridge/jni/JNIBridge.cpp:
1938         * bridge/qt/qt_runtime.cpp:
1939         (JSC::Bindings::QtConnectionObject::execute):
1940         * plugins/PluginViewNone.cpp:
1941
1942 2011-02-28  Chang Shu  <cshu@webkit.org>
1943
1944         Reviewed by Adele Peterson.
1945
1946         REGRESSION (r79762): Items in <select multiple> have focus rings, but shouldn't
1947         https://bugs.webkit.org/show_bug.cgi?id=55323
1948
1949         Draw focus ring on selected items only if spatial navigation is enabled.
1950
1951         Test: fast/forms/select-listbox-multiple-no-focusring.html
1952
1953         * rendering/RenderBlock.h:
1954         * rendering/RenderListBox.cpp:
1955         (WebCore::RenderListBox::addFocusRingRects):
1956
1957 2011-02-28  Abhishek Arya  <inferno@chromium.org>
1958
1959         Reviewed by Anders Carlsson.
1960
1961         We can cancel the plugin load and fail with error before m_manualStream
1962         got a chance to initialize in PluginView::didReceiveResponse. This can
1963         happen when we run pending document onload events during plugin load that
1964         remove the frame from underneath. So, change the assert into a null check. 
1965         https://bugs.webkit.org/show_bug.cgi?id=55307
1966
1967         * plugins/PluginView.cpp:
1968         (WebCore::PluginView::didFail):
1969
1970 2011-02-28  Alexis Menard  <alexis.menard@openbossa.org>
1971
1972         Reviewed by Alexey Proskuryakov.
1973
1974         Build fix for Intel ICC Compiler.
1975         https://bugs.webkit.org/show_bug.cgi?id=55221
1976
1977         The virtual inheritance seems to confuse ICC.
1978         Anything that links with webkit has an undefined reference otherwise.
1979
1980         * svg/SVGTransformable.cpp:
1981         (WebCore::SVGTransformable::~SVGTransformable):
1982         * svg/SVGTransformable.h:
1983
1984 2011-02-28  Sergio Villar Senin  <svillar@igalia.com>
1985
1986         Reviewed by Martin Robinson.
1987
1988         [Gtk] Resource size is incorrectly reported to WebCore
1989         https://bugs.webkit.org/show_bug.cgi?id=53228
1990
1991         When calling didReceiveData we are sending an invalid value for
1992         lengthReceived. Sometimes we were even passing a boolean value instead of the
1993         expected integer. We should pass the size of the received data instead of the
1994         total amount of data received.
1995
1996         * platform/network/ResourceHandleInternal.h:
1997         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1998         * platform/network/soup/ResourceHandleSoup.cpp:
1999         (WebCore::gotChunkCallback):
2000         (WebCore::sendRequestCallback):
2001         (WebCore::readCallback):
2002
2003 2011-02-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2004
2005         Reviewed by Dan Bernstein.
2006
2007         Cleanup the include guard form an Objective-C files
2008         https://bugs.webkit.org/show_bug.cgi?id=55379
2009
2010         Normally Objective-C files do not need include guard.
2011         r76916 introduced an include guard in EmptyProtocolDefinitions.h.
2012         The guard is no longer needed after r76991.
2013
2014         No new tests as there is no new functionality. 
2015
2016         * platform/mac/EmptyProtocolDefinitions.h:
2017
2018 2011-02-28  Pavel Podivilov  <podivilov@chromium.org>
2019
2020         Reviewed by Pavel Feldman.
2021
2022         Web Inspector: [REGRESSION] no resources in scripts panel because debugger is enabled too early.
2023         https://bugs.webkit.org/show_bug.cgi?id=55389
2024
2025         * inspector/InspectorAgent.cpp:
2026         (WebCore::InspectorAgent::populateScriptObjects):
2027         * inspector/InspectorDebuggerAgent.cpp:
2028         (WebCore::InspectorDebuggerAgent::setFrontend):
2029         (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
2030         * inspector/InspectorDebuggerAgent.h:
2031
2032 2011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2033
2034         Unreviewed, rolling out r79877.
2035         http://trac.webkit.org/changeset/79877
2036         https://bugs.webkit.org/show_bug.cgi?id=55388
2037
2038         Breaks chromium build (Requested by antonm_ on #webkit).
2039
2040         * WebCore.gypi:
2041         * platform/graphics/chromium/ContentLayerChromium.cpp:
2042         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2043         (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
2044         (WebCore::ContentLayerChromium::resizeUploadBuffer):
2045         (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
2046         (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
2047         (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
2048         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2049         (WebCore::ContentLayerChromium::draw):
2050         * platform/graphics/chromium/ContentLayerChromium.h:
2051         * platform/graphics/chromium/ImageLayerChromium.cpp:
2052         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2053         * platform/graphics/chromium/ImageLayerChromium.h:
2054         * platform/graphics/chromium/LayerTilerChromium.cpp:
2055         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2056         (WebCore::LayerTilerChromium::update):
2057         * platform/graphics/chromium/LayerTilerChromium.h:
2058         * platform/graphics/chromium/PlatformCanvas.cpp: Removed.
2059         * platform/graphics/chromium/PlatformCanvas.h: Removed.
2060         * platform/graphics/chromium/PlatformImage.cpp: Removed.
2061         * platform/graphics/chromium/PlatformImage.h: Removed.
2062
2063 2011-02-28  Pavel Podivilov  <podivilov@chromium.org>
2064
2065         Reviewed by Pavel Feldman.
2066
2067         Web Inspector: add live edit test.
2068         https://bugs.webkit.org/show_bug.cgi?id=55360
2069
2070         Test: inspector/debugger/live-edit.html
2071
2072         * inspector/front-end/SourceFrame.js:
2073         (WebInspector.SourceFrame.prototype._doubleClick):
2074         (WebInspector.SourceFrame.prototype._didEditLine):
2075
2076 2011-02-28  Pavel Feldman  <pfeldman@chromium.org>
2077
2078         Not reviewed. Follow up to r79858, removing optimistic assertion that fails on debug bot.
2079
2080         * inspector/InspectorBrowserDebuggerAgent.cpp:
2081         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
2082
2083 2011-02-25  Adrienne Walker  <enne@google.com>
2084
2085         Reviewed by James Robinson.
2086
2087         [chromium] Abstract "pixels with a graphics context" into its own class
2088         https://bugs.webkit.org/show_bug.cgi?id=55259
2089
2090         This creates new PlatformCanvas/PlatformImage classes which wrap
2091         all of the #ifdef Skia/Cg warts from the compositor.  All classes
2092         (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
2093         modified to use these abstractions.
2094
2095         Tests: LayoutTests/compositing
2096
2097         * WebCore.gypi:
2098         * platform/graphics/chromium/ContentLayerChromium.cpp:
2099         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2100         (WebCore::ContentLayerChromium::resizeUploadBuffer):
2101         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2102         (WebCore::ContentLayerChromium::updateTexture):
2103         (WebCore::ContentLayerChromium::draw):
2104         * platform/graphics/chromium/ContentLayerChromium.h:
2105         * platform/graphics/chromium/ImageLayerChromium.cpp:
2106         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2107         (WebCore::ImageLayerChromium::updateTextureIfNeeded):
2108         * platform/graphics/chromium/ImageLayerChromium.h:
2109         * platform/graphics/chromium/LayerTilerChromium.cpp:
2110         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2111         (WebCore::LayerTilerChromium::update):
2112         (WebCore::LayerTilerChromium::updateFromPixels):
2113         * platform/graphics/chromium/LayerTilerChromium.h:
2114         * platform/graphics/chromium/PlatformCanvas.cpp: Added.
2115         (WebCore::PlatformCanvas::PlatformCanvas):
2116         (WebCore::PlatformCanvas::~PlatformCanvas):
2117         (WebCore::PlatformCanvas::resize):
2118         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
2119         (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
2120         (WebCore::PlatformCanvas::Painter::Painter):
2121         (WebCore::PlatformCanvas::Painter::~Painter):
2122         * platform/graphics/chromium/PlatformCanvas.h: Added.
2123         (WebCore::PlatformCanvas::AutoLocker::pixels):
2124         (WebCore::PlatformCanvas::Painter::context):
2125         (WebCore::PlatformCanvas::size):
2126         * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
2127         (WebCore::PlatformImage::PlatformImage):
2128         (WebCore::PlatformImage::updateFromImage):
2129         * platform/graphics/chromium/PlatformImage.h: Added.
2130         (WebCore::PlatformImage::pixels):
2131         (WebCore::PlatformImage::size):
2132
2133 2011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
2134
2135         Unreviewed, rolling out r79784.
2136         http://trac.webkit.org/changeset/79784
2137         https://bugs.webkit.org/show_bug.cgi?id=55386
2138
2139         This change causes lots of assertion failures in Debug builds
2140         (Requested by aroben on #webkit).
2141
2142         * css/CSSStyleSelector.cpp:
2143         (WebCore::convertToLength):
2144         (WebCore::CSSStyleSelector::applyProperty):
2145         (WebCore::CSSStyleSelector::createTransformOperations):
2146         * platform/Length.h:
2147         (WebCore::Length::Length):
2148         (WebCore::Length::operator==):
2149         (WebCore::Length::operator!=):
2150         (WebCore::Length::rawValue):
2151         (WebCore::Length::type):
2152         (WebCore::Length::quirk):
2153         (WebCore::Length::setValue):
2154         (WebCore::Length::setRawValue):
2155         (WebCore::Length::calcFloatValue):
2156         (WebCore::Length::isZero):
2157         (WebCore::Length::blend):
2158         * rendering/AutoTableLayout.cpp:
2159         (WebCore::AutoTableLayout::recalcColumn):
2160         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2161         * rendering/FixedTableLayout.cpp:
2162         (WebCore::FixedTableLayout::calcWidthArray):
2163
2164 2011-02-28  Andreas Kling  <kling@webkit.org>
2165
2166         Reviewed by Darin Adler.
2167
2168         Use Frame::ownerElement() directly where appropriate.
2169         https://bugs.webkit.org/show_bug.cgi?id=55385
2170
2171         Don't take the roundabout way through frame->document->ownerElement
2172         which just checks that the document->frame is non-null.
2173
2174         No new test, refactoring only.
2175
2176         * editing/SelectionController.cpp:
2177         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
2178         * loader/FrameLoader.cpp:
2179         (WebCore::FrameLoader::loadWithDocumentLoader):
2180         * page/DOMWindow.cpp:
2181         (WebCore::DOMWindow::dispatchLoadEvent):
2182         * page/EventHandler.cpp:
2183         (WebCore::EventHandler::scrollRecursively):
2184         (WebCore::EventHandler::logicalScrollRecursively):
2185         * page/FrameView.cpp:
2186         (WebCore::FrameView::init):
2187         (WebCore::FrameView::layout):
2188         (WebCore::FrameView::repaintContentRectangle):
2189         (WebCore::FrameView::windowClipRect):
2190         (WebCore::FrameView::paintContents):
2191
2192 2011-02-28  Pavel Podivilov  <podivilov@chromium.org>
2193
2194         Reviewed by Pavel Feldman.
2195
2196         Web Inspector: [REGRESSION] source frame is recreated for each inlined script in document.
2197         https://bugs.webkit.org/show_bug.cgi?id=55377
2198
2199         * inspector/front-end/ScriptsPanel.js:
2200         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
2201         (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
2202         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2203         (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
2204
2205 2011-02-28  Patrick Gansterer  <paroga@webkit.org>
2206
2207         Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r79569.
2208
2209         * svg/SVGDocumentExtensions.cpp:
2210         (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
2211
2212 2011-02-28  Renata Hodovan  <reni@webkit.org>
2213
2214         Reviewed by Andreas Kling.
2215
2216         Optimize parameter transmissions in FEConvolveMatrix.
2217         https://bugs.webkit.org/show_bug.cgi?id=55381
2218
2219         Parameter transmission via reference is more efficient than with copy. So they are substituted.
2220
2221         No new tests are needed since this is a refactoring.
2222
2223         * platform/graphics/filters/FEConvolveMatrix.cpp:
2224         (WebCore::FEConvolveMatrix::setKernelSize):
2225         (WebCore::FEConvolveMatrix::setTargetOffset):
2226         (WebCore::FEConvolveMatrix::setKernelUnitLength):
2227         * platform/graphics/filters/FEConvolveMatrix.h:
2228
2229 2011-02-28  Yury Semikhatsky  <yurys@chromium.org>
2230
2231         Unreviewed. Fix Chromium tests failures due to r79858.
2232
2233         * inspector/InspectorAgent.cpp:
2234         (WebCore::InspectorAgent::inspectedPageDestroyed):
2235
2236 2011-02-28  Vsevolod Vlasov  <vsevik@chromium.org>
2237
2238         Reviewed by Pavel Feldman.
2239
2240         XML without style should render as syntax-highlighted source.
2241         https://bugs.webkit.org/show_bug.cgi?id=13807
2242
2243         XML tree view mode implemented. If XML does not have any style
2244         information, it is rendered as highlighted source with collapsable
2245         elements.
2246
2247         Tests: fast/css/dumpAsText/xml-stylesheet-pi-not-in-prolog.xml
2248                fast/encoding/dumpAsText/utf-16-no-bom.xml
2249                http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
2250                http/tests/xmlviewer/dumpAsText/frames.html
2251                http/tests/xmlviewer/dumpAsText/mathml.xml
2252                http/tests/xmlviewer/dumpAsText/svg.xml
2253                http/tests/xmlviewer/dumpAsText/wml.xml
2254                http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
2255                http/tests/xmlviewer/dumpAsText/xlink.xml
2256                http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
2257                http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
2258                http/tests/xmlviewer/dumpAsText/xmlviewer.xml
2259                http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
2260                http/tests/xmlviewer/dumpAsText/xul.xml
2261                svg/hixie/error/dumpAsText/004.xml
2262                svg/hixie/error/dumpAsText/005.xml
2263
2264         * CMakeLists.txt:
2265         * DerivedSources.make:
2266         * GNUmakefile.am:
2267         * WebCore.gyp/WebCore.gyp:
2268         * WebCore.gypi:
2269         * WebCore.vcproj/WebCore.vcproj:
2270         * WebCore.xcodeproj/project.pbxproj:
2271         * css/CSSStyleSelector.cpp:
2272         (WebCore::CSSStyleSelector::matchUARules):
2273         * dom/Document.cpp:
2274         (WebCore::Document::Document):
2275         (WebCore::Document::createElement):
2276         * dom/Document.h:
2277         (WebCore::Document::usesViewSourceStyles):
2278         (WebCore::Document::setUsesViewSourceStyles):
2279         (WebCore::Document::sawElementsInKnownNamespaces):
2280         * dom/XMLDocumentParser.h:
2281         * dom/XMLDocumentParserLibxml2.cpp:
2282         (WebCore::XMLDocumentParser::XMLDocumentParser):
2283         (WebCore::XMLDocumentParser::processingInstruction):
2284         (WebCore::XMLDocumentParser::initializeParserContext):
2285         (WebCore::XMLDocumentParser::doEnd):
2286         * dom/XMLDocumentParserQt.cpp:
2287         (WebCore::XMLDocumentParser::XMLDocumentParser):
2288         (WebCore::XMLDocumentParser::initializeParserContext):
2289         (WebCore::XMLDocumentParser::parseProcessingInstruction):
2290         * html/HTMLViewSourceDocument.cpp:
2291         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
2292         * xml/XMLTreeViewer.cpp: Added.
2293         (WebCore::XMLTreeViewer::XMLTreeViewer):
2294         (WebCore::XMLTreeViewer::hasNoStyleInformation):
2295         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2296         * xml/XMLTreeViewer.h: Added.
2297         (WebCore::XMLTreeViewer::~XMLTreeViewer):
2298         * xml/XMLViewer.xsl: Added.
2299         * xml/XSLStyleSheet.h:
2300         (WebCore::XSLStyleSheet::createForXMLTreeViewer):
2301
2302 2011-02-28  Yury Semikhatsky  <yurys@chromium.org>
2303
2304         Reviewed by Pavel Feldman.
2305
2306         Web Inspector: debugger agents should have same livetime as InspectorAgent
2307         https://bugs.webkit.org/show_bug.cgi?id=55369
2308
2309         DOM and JS debugger agents are now created in InspectorAgent's constructor and owned
2310         by the agent. Debugger state is cleared on frontend disconnect.
2311
2312         * inspector/Inspector.idl:
2313         * inspector/InspectorAgent.cpp:
2314         (WebCore::InspectorAgent::InspectorAgent):
2315         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
2316         (WebCore::InspectorAgent::setFrontend):
2317         (WebCore::InspectorAgent::disconnectFrontend):
2318         (WebCore::InspectorAgent::populateScriptObjects):
2319         (WebCore::InspectorAgent::didCommitLoad):
2320         (WebCore::InspectorAgent::showScriptsPanel):
2321         * inspector/InspectorAgent.h:
2322         * inspector/InspectorBrowserDebuggerAgent.cpp:
2323         (WebCore::InspectorBrowserDebuggerAgent::create):
2324         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
2325         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
2326         (WebCore::InspectorBrowserDebuggerAgent::debuggerWasEnabled):
2327         (WebCore::InspectorBrowserDebuggerAgent::debuggerWasDisabled):
2328         (WebCore::InspectorBrowserDebuggerAgent::disable):
2329         (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
2330         (WebCore::InspectorBrowserDebuggerAgent::clearFrontend):
2331         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
2332         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
2333         (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
2334         (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
2335         (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
2336         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
2337         (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
2338         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
2339         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
2340         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
2341         (WebCore::InspectorBrowserDebuggerAgent::clear):
2342         * inspector/InspectorBrowserDebuggerAgent.h:
2343         * inspector/InspectorController.cpp:
2344         (WebCore::InspectorController::debuggerEnabled):
2345         (WebCore::InspectorController::showAndEnableDebugger):
2346         (WebCore::InspectorController::disableDebugger):
2347         * inspector/InspectorDebuggerAgent.cpp:
2348         (WebCore::InspectorDebuggerAgent::create):
2349         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2350         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
2351         (WebCore::InspectorDebuggerAgent::startUserInitiatedDebugging):
2352         (WebCore::InspectorDebuggerAgent::enable):
2353         (WebCore::InspectorDebuggerAgent::disable):
2354         (WebCore::InspectorDebuggerAgent::enabled):
2355         (WebCore::InspectorDebuggerAgent::restore):
2356         (WebCore::InspectorDebuggerAgent::setFrontend):
2357         (WebCore::InspectorDebuggerAgent::clearFrontend):
2358         (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
2359         (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
2360         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2361         (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
2362         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2363         (WebCore::InspectorDebuggerAgent::didParseSource):
2364         (WebCore::InspectorDebuggerAgent::clear):
2365         * inspector/InspectorDebuggerAgent.h:
2366         (WebCore::InspectorDebuggerAgent::enable):
2367         (WebCore::InspectorDebuggerAgent::disable):
2368         (WebCore::InspectorDebuggerAgent::Listener::~Listener):
2369         (WebCore::InspectorDebuggerAgent::setListener):
2370         * inspector/InspectorInstrumentation.cpp:
2371         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
2372         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
2373         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
2374         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
2375         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
2376         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
2377         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
2378         * inspector/front-end/DebuggerModel.js:
2379         (WebInspector.DebuggerModel.prototype.enableDebugger):
2380         (WebInspector.DebuggerModel.prototype.disableDebugger):
2381
2382 2011-02-28  Renata Hodovan  <reni@webkit.org>
2383
2384         Reviewed by Andreas Kling.
2385
2386         FECompositeElement changes doesn't require relayout.
2387         https://bugs.webkit.org/show_bug.cgi?id=55367
2388
2389         When the FECompositeElement receives an update message but the given value remains the same we don't need
2390         to relayout the filter.
2391
2392         No new tests are needed because this modification is covered by the dynamic update tests of FEComposite.
2393
2394         * platform/graphics/filters/FEComposite.cpp:
2395         (WebCore::FEComposite::setOperation):
2396         (WebCore::FEComposite::setK1):
2397         (WebCore::FEComposite::setK2):
2398         (WebCore::FEComposite::setK3):
2399         (WebCore::FEComposite::setK4):
2400         * platform/graphics/filters/FEComposite.h:
2401         * svg/SVGFECompositeElement.cpp:
2402         (WebCore::SVGFECompositeElement::setFilterEffectAttribute):
2403         (WebCore::SVGFECompositeElement::svgAttributeChanged):
2404         * svg/SVGFECompositeElement.h:
2405
2406 2011-02-28  Andreas Kling  <kling@webkit.org>
2407
2408         Reviewed by Kenneth Rohde Christiansen.
2409
2410         FrameLoader: Reorder early-returns in checkCompleted()
2411         https://bugs.webkit.org/show_bug.cgi?id=55366
2412
2413         Check allChildrenAreComplete() last, since it's the most expensive.
2414
2415         * loader/FrameLoader.cpp:
2416         (WebCore::FrameLoader::checkCompleted):
2417
2418 2011-02-28  Ryosuke Niwa  <rniwa@webkit.org>
2419
2420         Reviewed by Kent Tamura.
2421
2422         Range::processContents needs cleanup
2423         https://bugs.webkit.org/show_bug.cgi?id=51006
2424
2425         Refactored Range::processContents.  Extracted childOfCommonRootBeforeOffset from processContents
2426         which is used to find processStart and processEnd respectively.  In the case of processStart,
2427         we use the next sibling of the node returned by childOfCommonRootBeforeOffset when m_start is not
2428         the common root because copying m_start's ancestors will result in processing too much contents.
2429
2430         Also extracted processNodes and deleteCharacterData from processContents and processContentsBetweenOffsets.
2431
2432         In addition, lengthOfContentsInNode was modified to return the correct length instead of
2433         numeric_limits<unsigned>::max() because the convention that processContentsBetweenOffsets automatically
2434         corrects the length when endOffset is numeric_limits<unsigned>::max() seemed more confusing than
2435         having two switch statements that need to be consistent.
2436
2437         Historically, lengthOfContentsInNode was introduced in r78413 as a build fix because unsigned const
2438         LengthOfContentsInNode added in r78409 violated WebKit C++ rules and caused build failures on Mac and
2439         other ports.
2440
2441         * dom/Range.cpp:
2442         (WebCore::childOfCommonRootBeforeOffset): Extracted from processContents.
2443         (WebCore::lengthOfContentsInNode): Added.
2444         (WebCore::Range::processContents): Calls childOfCommonRootBeforeOffset, lengthOfContentsInNode,
2445         and processNodes.
2446         (WebCore::deleteCharacterData): Added.
2447         (WebCore::Range::processContentsBetweenOffsets): Calls deleteCharacterData and processNodes.
2448         (WebCore::Range::processNodes): Extracted from processContents and processContentsBetweenOffsets.
2449         (WebCore::Range::processAncestorsAndTheirSiblings):
2450         * dom/Range.h:
2451
2452 2011-02-28  Pavel Feldman  <pfeldman@chromium.org>
2453
2454         Not reviewed. Test harness change follow up.
2455         Consider missing localized string a warning, not an error in the front-end.
2456
2457         * inspector/front-end/inspector.js:
2458         (WebInspector.UIString):
2459
2460 2011-02-28  Steve Block  <steveblock@google.com>
2461
2462         Reviewed by Jeremy Orlow.
2463
2464         getJNIEnv() passes wrong type to AttachCurrentThread() for JNIEnv argument on Android
2465         https://bugs.webkit.org/show_bug.cgi?id=55218
2466
2467         AttachCurrentThread() in Android's JVM takes a JINEnv**
2468         argument.
2469
2470         No new tests, build fix only.
2471
2472         * bridge/jni/JNIUtility.cpp:
2473         (JSC::Bindings::getJNIEnv):
2474
2475 2011-02-28  Renata Hodovan  <reni@webkit.org>
2476
2477         Reviewed by Andreas Kling.
2478
2479         FETurbulenceElement changes doesn't require relayout
2480         https://bugs.webkit.org/show_bug.cgi?id=55141
2481
2482         When the FETurbulenceElement receives an update message but the given value remains the same we don't need
2483         to relayout the filter.
2484         Besides fix a typo in FETurbulence and change the paramterer type of FETurbulence::setNumOctaves from bool
2485         to int according to the spec.
2486
2487         No new tests are needed because this modification is covered by the dynamic update tests of FETurbulence.
2488
2489         * platform/graphics/filters/FETurbulence.cpp:
2490         (WebCore::FETurbulence::FETurbulence):
2491         (WebCore::FETurbulence::create):
2492         (WebCore::FETurbulence::type):
2493         (WebCore::FETurbulence::setType):
2494         (WebCore::FETurbulence::setBaseFrequencyY):
2495         (WebCore::FETurbulence::setBaseFrequencyX):
2496         (WebCore::FETurbulence::setSeed):
2497         (WebCore::FETurbulence::setNumOctaves):
2498         (WebCore::FETurbulence::setStitchTiles):
2499         (WebCore::operator<<):
2500         * platform/graphics/filters/FETurbulence.h:
2501         * svg/SVGFETurbulenceElement.cpp:
2502         (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute):
2503         (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
2504         (WebCore::SVGFETurbulenceElement::build):
2505         * svg/SVGFETurbulenceElement.h:
2506
2507 2011-02-28  Pavel Feldman  <pfeldman@chromium.org>
2508
2509         Reviewed by Yury Semikhatsky.
2510
2511         WebInspector: InspectorAgent calls offsetWidth in the middle of painting
2512         https://bugs.webkit.org/show_bug.cgi?id=54597
2513
2514         * inspector/InspectorAgent.cpp:
2515         (WebCore::InspectorAgent::drawElementTitle):
2516
2517 2011-02-28  Roland Steiner  <rolandsteiner@chromium.org>
2518
2519         Reviewed by Kent Tamura.
2520
2521         Bug 55355 - TextIterator should not be a friend of RenderTextControl
2522         https://bugs.webkit.org/show_bug.cgi?id=55355
2523
2524         Remove need for 'friend' clause by making innerTextElement() public.
2525
2526         No new tests. (simple refactoring)
2527
2528         * rendering/RenderTextControl.h:
2529
2530 2011-02-27  Patrick Gansterer  <paroga@webkit.org>
2531
2532         Reviewed by Darin Adler.
2533
2534         Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecWinCE
2535         https://bugs.webkit.org/show_bug.cgi?id=55317
2536
2537         This functions are obsolete, since r78499 added TextCodecUTF8.
2538         Also remove the "fast path" for UTF-8 data, because we now have a separate TextCodec.
2539
2540         * platform/text/TextEncodingRegistry.cpp:
2541         (WebCore::buildBaseTextCodecMaps):
2542         * platform/text/wince/TextCodecWinCE.cpp:
2543         * platform/text/wince/TextCodecWinCE.h:
2544
2545 2011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
2546
2547         Reviewed by Sam Weinig.
2548
2549         Use OwnPtr to handle the memory of RenderBlock::m_floatingObjects and RenderBlock::m_positionedObjects
2550         https://bugs.webkit.org/show_bug.cgi?id=55327
2551
2552         Refactor RenderBlock to use OwnPtr for m_floatingObjects and m_positionedObjects so we do not have
2553         to release the memory manually.
2554
2555         * rendering/RenderBlock.cpp:
2556         (WebCore::RenderBlock::~RenderBlock):
2557         (WebCore::RenderBlock::selectionGaps):
2558         (WebCore::RenderBlock::insertPositionedObject):
2559         (WebCore::RenderBlock::insertFloatingObject):
2560         (WebCore::RenderBlock::addOverhangingFloats):
2561         (WebCore::RenderBlock::addIntrudingFloats):
2562         * rendering/RenderBlock.h:
2563         (WebCore::RenderBlock::positionedObjects):
2564
2565 2011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
2566
2567         Reviewed by Andreas Kling.
2568
2569         Eliminate DeprecatedPtrList
2570         https://bugs.webkit.org/show_bug.cgi?id=17425
2571
2572         Remove the implementation of DeprecatedPtrList and all its references
2573         from the build systems.
2574
2575         * Android.mk:
2576         * CMakeLists.txt:
2577         * GNUmakefile.am:
2578         * WebCore.gypi:
2579         * WebCore.order:
2580         * WebCore.pro:
2581         * WebCore.vcproj/WebCore.vcproj:
2582         * WebCore.xcodeproj/project.pbxproj:
2583         * platform/DeprecatedPtrList.h: Removed.
2584         * platform/DeprecatedPtrListImpl.cpp: Removed.
2585         * platform/DeprecatedPtrListImpl.h: Removed.
2586
2587 2011-02-27  Andreas Kling  <kling@webkit.org>
2588
2589         Reviewed by Kenneth Rohde Christiansen.
2590
2591         [Qt] Use WTF ref counting for FontPlatformDataPrivate
2592         https://bugs.webkit.org/show_bug.cgi?id=55303
2593
2594         Make FontPlatformDataPrivate a RefCounted<FPDP>.
2595         Incidentally fixes an uninitialized member bug in FontPlatformData().
2596
2597         * platform/graphics/qt/FontPlatformData.h:
2598         (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
2599         (WebCore::FontPlatformData::FontPlatformData):
2600         (WebCore::FontPlatformData::isHashTableDeletedValue):
2601         (WebCore::FontPlatformData::font):
2602         (WebCore::FontPlatformData::size):
2603         (WebCore::FontPlatformData::family):
2604         (WebCore::FontPlatformData::bold):
2605         (WebCore::FontPlatformData::italic):
2606         (WebCore::FontPlatformData::smallCaps):
2607         (WebCore::FontPlatformData::pixelSize):
2608         * platform/graphics/qt/FontPlatformDataQt.cpp:
2609         (WebCore::toQFontWeight):
2610         (WebCore::FontPlatformData::operator==):
2611         (WebCore::FontPlatformData::hash):
2612
2613 2011-02-27  Benjamin Poulain  <ikipou@gmail.com>
2614
2615         Reviewed by Darin Adler.
2616
2617         Eliminate DeprecatedPtrList from RenderBlock
2618         https://bugs.webkit.org/show_bug.cgi?id=54972
2619
2620         Refactor RenderBlock to get rid of the DeprecatedPtrList.
2621         The floating objects are stored in a ListHashSet.
2622
2623         Refactoring covered by existing test.
2624
2625         * rendering/RenderBlock.cpp:
2626         (WebCore::RenderBlock::~RenderBlock):
2627         (WebCore::RenderBlock::addOverflowFromFloats):
2628         (WebCore::RenderBlock::repaintOverhangingFloats):
2629         (WebCore::RenderBlock::paintFloats):
2630         (WebCore::RenderBlock::selectionGaps):
2631         (WebCore::RenderBlock::insertFloatingObject):
2632         (WebCore::RenderBlock::removeFloatingObject):
2633         (WebCore::RenderBlock::removeFloatingObjectsBelow):
2634         (WebCore::RenderBlock::positionNewFloats):
2635         (WebCore::RenderBlock::positionNewFloatOnLine):
2636         (WebCore::RenderBlock::logicalLeftOffsetForLine):
2637         (WebCore::RenderBlock::logicalRightOffsetForLine):
2638         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
2639         (WebCore::RenderBlock::lowestFloatLogicalBottom):
2640         (WebCore::RenderBlock::clearFloats):
2641         (WebCore::RenderBlock::addOverhangingFloats):
2642         (WebCore::RenderBlock::addIntrudingFloats):
2643         (WebCore::RenderBlock::containsFloat):
2644         (WebCore::RenderBlock::hitTestFloats):
2645         (WebCore::RenderBlock::adjustForBorderFit):
2646         * rendering/RenderBlock.h:
2647         (WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
2648         (WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
2649         (WebCore::RenderBlock::FloatingObjectHashTranslator::hash):
2650         (WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
2651         * rendering/RenderBlockLineLayout.cpp:
2652         (WebCore::RenderBlock::layoutInlineChildren):
2653         (WebCore::RenderBlock::matchedEndLine):
2654
2655 2011-02-26  Adam Barth  <abarth@webkit.org>
2656
2657         Reviewed by Eric Seidel.
2658
2659         <input value="type=submit"> throws a warning (“HTML parse error”)
2660         https://bugs.webkit.org/show_bug.cgi?id=55120
2661
2662         This patch removes parse error messages from the HTML parser.  These
2663         messages are displayed at the wrong times, aren't tested, and aren't
2664         helpful.  We'll try again with some more informative messages and
2665         better testing.
2666
2667         * html/parser/HTMLTreeBuilder.cpp:
2668         (WebCore::HTMLTreeBuilder::parseError):
2669
2670 2011-02-26  Patrick Gansterer  <paroga@webkit.org>
2671
2672         Reviewed by Alexey Proskuryakov.
2673
2674         Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecBrew
2675         https://bugs.webkit.org/show_bug.cgi?id=55309
2676
2677         This functions are obsolete, since r78499 added TextCodecUTF8.
2678
2679         * platform/text/TextEncodingRegistry.cpp:
2680         (WebCore::buildBaseTextCodecMaps):
2681         * platform/text/brew/TextCodecBrew.cpp:
2682         * platform/text/brew/TextCodecBrew.h:
2683
2684 2011-02-26  Justin Schuh  <jschuh@chromium.org>
2685
2686         Reviewed by Darin Adler.
2687
2688         Delay firing of mutation events while setting attribute values
2689         https://bugs.webkit.org/show_bug.cgi?id=55199
2690
2691         Test: fast/dom/attribute-change-on-mutate.html
2692
2693         * dom/Attr.cpp:
2694         (WebCore::Attr::setValue):
2695
2696 2011-02-26  Yi Shen  <yi.4.shen@nokia.com>
2697
2698         Reviewed by Andreas Kling.
2699
2700         [Qt] Notify HTMLMediaElement when MediaPlayerPrivateQt's playback state gets changed
2701         https://bugs.webkit.org/show_bug.cgi?id=55252
2702
2703         Need to invoke a callback function to notify the HTMLMediaElement
2704         when MediaPlayerPrivateQt's playback state gets changed.
2705
2706         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2707         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): Set a flag to ignore the playback state change for pre-roll
2708         (WebCore::MediaPlayerPrivateQt::commitLoad): Call playbackStateChanged() to notify HTMLMediaElement
2709         (WebCore::MediaPlayerPrivateQt::stateChanged):
2710         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2711
2712 2011-02-25  Abhishek Arya  <inferno@chromium.org>
2713
2714         Reviewed by Adam Barth.
2715
2716         When plugin document parser finishes parsing, it runs the raw
2717         document's parser finish functions which call the pending document
2718         onload events that removes the frame from underneath. So, we protect
2719         frame (and hence frameloader) in DocumentLoader::commitLoad.
2720         https://bugs.webkit.org/show_bug.cgi?id=55289
2721
2722         Test: fast/frames/iframe-plugin-load-remove-document-crash.html
2723
2724         * loader/DocumentLoader.cpp:
2725         (WebCore::DocumentLoader::commitLoad):
2726
2727 2011-02-26  Pavel Feldman  <pfeldman@chromium.org>
2728
2729         Not reviewed: rolling out 79799 and 79804 for breaking xml tests on mac.
2730
2731 2011-02-26  Pavel Feldman  <pfeldman@chromium.org>
2732
2733         Not reviewed: follow up to r79799. Fixing WinCE+Efl, mute new tests on Qt.
2734         https://bugs.webkit.org/show_bug.cgi?id=55302
2735
2736         * CMakeLists.txt:
2737
2738 2011-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
2739
2740         Reviewed by Pavel Feldman.
2741
2742         XML without style should render as syntax-highlighted source.
2743         https://bugs.webkit.org/show_bug.cgi?id=13807
2744
2745         XML tree view mode implemented. If XML does not have any style
2746         information, it is rendered as highlighted source with collapsable
2747         elements.
2748
2749         Tests: http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
2750                http/tests/xmlviewer/dumpAsText/frames.html
2751                http/tests/xmlviewer/dumpAsText/mathml.xml
2752                http/tests/xmlviewer/dumpAsText/svg.xml
2753                http/tests/xmlviewer/dumpAsText/wml.xml
2754                http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
2755                http/tests/xmlviewer/dumpAsText/xlink.xml
2756                http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
2757                http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
2758                http/tests/xmlviewer/dumpAsText/xmlviewer.xml
2759                http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
2760                http/tests/xmlviewer/dumpAsText/xul.xml
2761
2762         * CMakeLists.txt:
2763         * DerivedSources.make:
2764         * GNUmakefile.am:
2765         * WebCore.gyp/WebCore.gyp:
2766         * WebCore.gypi:
2767         * WebCore.vcproj/WebCore.vcproj:
2768         * WebCore.xcodeproj/project.pbxproj:
2769         * css/CSSStyleSelector.cpp:
2770         (WebCore::CSSStyleSelector::matchUARules):
2771         * dom/Document.cpp:
2772         (WebCore::Document::Document):
2773         (WebCore::Document::createElement):
2774         * dom/Document.h:
2775         (WebCore::Document::usesViewSourceStyles):
2776         (WebCore::Document::setUsesViewSourceStyles):
2777         (WebCore::Document::sawElementsInKnownNamespaces):
2778         * dom/XMLDocumentParser.h:
2779         * dom/XMLDocumentParserLibxml2.cpp:
2780         (WebCore::XMLDocumentParser::XMLDocumentParser):
2781         (WebCore::XMLDocumentParser::processingInstruction):
2782         (WebCore::XMLDocumentParser::initializeParserContext):
2783         (WebCore::XMLDocumentParser::doEnd):
2784         * dom/XMLDocumentParserQt.cpp:
2785         (WebCore::XMLDocumentParser::XMLDocumentParser):
2786         (WebCore::XMLDocumentParser::initializeParserContext):
2787         (WebCore::XMLDocumentParser::parseProcessingInstruction):
2788         * html/HTMLViewSourceDocument.cpp:
2789         (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
2790         * xml/XMLTreeViewer.cpp: Added.
2791         (WebCore::XMLTreeViewer::XMLTreeViewer):
2792         (WebCore::XMLTreeViewer::hasNoStyleInformation):
2793         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
2794         * xml/XMLTreeViewer.h: Added.
2795         (WebCore::XMLTreeViewer::~XMLTreeViewer):
2796         * xml/XMLViewer.xsl: Added.
2797         * xml/XSLStyleSheet.h:
2798         (WebCore::XSLStyleSheet::createFromString):
2799
2800 2011-02-26  Andreas Kling  <kling@webkit.org>
2801
2802         Reviewed by Kenneth Rohde Christiansen.
2803
2804         [Qt] Enable usage of synchronous HTTP feature in Qt
2805         https://bugs.webkit.org/show_bug.cgi?id=37191
2806
2807         Currently, we spin an event loop when doing synchronous calls to
2808         wait for completion. This patch uses synchronous requests in Qt,
2809         if available, and spins the event loop as a fallback solution.
2810
2811         Based on work by Simon Hausmann and Peter Hartmann.
2812
2813         * platform/network/qt/QNetworkReplyHandler.cpp:
2814         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2815         (WebCore::QNetworkReplyHandler::start):
2816         * platform/network/qt/QNetworkReplyHandler.h:
2817         * platform/network/qt/ResourceHandleQt.cpp:
2818         (WebCore::WebCoreSynchronousLoader::setReplyFinished):
2819         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
2820         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
2821         (WebCore::WebCoreSynchronousLoader::didFail):
2822         (WebCore::ResourceHandle::loadResourceSynchronously):
2823
2824 2011-02-26  Ryosuke Niwa  <rniwa@webkit.org>
2825
2826         Reviewed by Kent Tamura.
2827
2828         REGRESSION(r79398): Webkit crash on dojo theme tester page
2829         https://bugs.webkit.org/show_bug.cgi?id=55290
2830
2831         The bug was caused by selectionStartCSSPropertyValue's not considering the possibility
2832         of selectionStartStyle() returning a null pointer. Fixed it by adding a null check.
2833
2834         Test: editing/execCommand/value-without-selection-crash.html
2835
2836         * editing/Editor.cpp:
2837         (WebCore::Editor::selectionStartCSSPropertyValue):
2838
2839 2011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
2840
2841         Reviewed by Pavel Feldman.
2842
2843         DumpRenderTree should reset frame opener between tests.
2844         https://bugs.webkit.org/show_bug.cgi?id=54874
2845
2846         No new tests. (no code affected, just exporting a method for DumpRenderTree use)
2847
2848         * WebCore.exp.in:
2849
2850 2011-02-26  Jia Pu  <jpu@apple.com>
2851
2852         Reviewed by Dan Bernstein.
2853
2854         On Mac, need to remove misspell underline in Editor::learnSpelling().
2855         https://bugs.webkit.org/show_bug.cgi?id=55251
2856
2857         This change makes sure that the misspelling markers are removed after the word is learned.
2858
2859         * editing/Editor.cpp:
2860         (WebCore::Editor::learnSpelling):
2861
2862 2011-02-26  Rik Cabanier  <cabanier@adobe.com>
2863
2864         Reviewed by David Hyatt.
2865
2866         Fix that allows fixed length values to be floating point
2867         https://bugs.webkit.org/show_bug.cgi?id=52699
2868
2869         Transitions now return matrices in floating point. 2 of the transition tests were failing
2870         because they expected integer values.
2871
2872         * WebCore.xcodeproj/project.pbxproj:
2873         * css/CSSStyleSelector.cpp:
2874         (WebCore::convertToLength):
2875         (WebCore::convertToIntLength):
2876         (WebCore::convertToFloatLength):
2877         (WebCore::CSSStyleSelector::applyProperty):
2878         (WebCore::CSSStyleSelector::createTransformOperations):
2879         * platform/Length.h:
2880         (WebCore::Length::Length):
2881         (WebCore::Length::operator==):
2882         (WebCore::Length::operator!=):
2883         (WebCore::Length::rawValue):
2884         (WebCore::Length::type):
2885         (WebCore::Length::quirk):
2886         (WebCore::Length::setValue):
2887         (WebCore::Length::calcFloatValue):
2888         (WebCore::Length::isZero):
2889         (WebCore::Length::blend):
2890         (WebCore::Length::getIntValue):
2891         (WebCore::Length::getFloatValue):
2892         * rendering/AutoTableLayout.cpp:
2893         (WebCore::AutoTableLayout::recalcColumn):
2894         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2895         * rendering/FixedTableLayout.cpp:
2896         (WebCore::FixedTableLayout::calcWidthArray):
2897
2898 2011-02-26  Eric Seidel  <eric@webkit.org>
2899
2900         Reviewed by Maciej Stachowiak.
2901
2902         malloc in removeChildren shows up on profile of peacekeeper domDynamicCreationCreateElement
2903         https://bugs.webkit.org/show_bug.cgi?id=55204
2904
2905         * dom/ContainerNode.cpp:
2906         (WebCore::ContainerNode::removeChildren):
2907          - Using an inlineCapacity of 10 for now. We may want to tweak it later.
2908          - This removes yet another malloc from code which removes nodes (which is rather common).
2909
2910 2011-02-26  Eric Seidel  <eric@webkit.org>
2911
2912         Reviewed by Maciej Stachowiak.
2913
2914         HashSet<T>::end() creation is expensive and should be avoided
2915         https://bugs.webkit.org/show_bug.cgi?id=55205
2916
2917         In the common case, m_ranges is an empty set.  When that's
2918         the case, we spend all our time in skipEmptyBuckets, walking
2919         the hash storage skipping over empty buckets.
2920         
2921         This looks to be at least a 5% speedup on (my local version of) peacekeeper's domDynamicCreationCreateElement.
2922
2923         Before:
2924         avg 383.6666666666667
2925         median 386
2926         stdev 7.152311203768722
2927         min 360
2928         max 391
2929
2930         After:
2931         avg 366.3333333333333
2932         median 366
2933         stdev 2.712112747574399
2934         min 362
2935         max 377
2936
2937         * dom/Document.cpp:
2938         (WebCore::Document::nodeChildrenChanged):
2939         (WebCore::Document::nodeChildrenWillBeRemoved):
2940         (WebCore::Document::nodeWillBeRemoved):
2941         (WebCore::Document::textInserted):
2942         (WebCore::Document::textRemoved):
2943         (WebCore::Document::textNodesMerged):
2944         (WebCore::Document::textNodeSplit):
2945
2946 2011-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2947
2948         Unreviewed, rolling out r79764.
2949         http://trac.webkit.org/changeset/79764
2950         https://bugs.webkit.org/show_bug.cgi?id=55295
2951
2952         "broke Chromium builds" (Requested by rniwa on #webkit).
2953
2954         * WebCore.exp.in:
2955
2956 2011-02-26  Adam Klein  <adamk@chromium.org>
2957
2958         Reviewed by Adam Barth.
2959
2960         [fileapi] Implement EntrySync.toURI by moving Entry::toURI to EntryBase
2961         https://bugs.webkit.org/show_bug.cgi?id=54585
2962
2963         In order to move toURI to EntryBase, it needed access to
2964         SecurityOrigin. Most of the changes below were to pass a
2965         ScriptExecutionContext to DOMFileSystemBase to enable this.
2966
2967         Test: fast/filesystem/workers/file-entry-to-uri-sync.html
2968
2969         * WebCore.gypi:
2970         * WebCore.xcodeproj/project.pbxproj:
2971         * fileapi/DOMFileSystem.cpp:
2972         (WebCore::DOMFileSystem::DOMFileSystem):
2973         * fileapi/DOMFileSystemBase.cpp:
2974         (WebCore::DOMFileSystemBase::DOMFileSystemBase):
2975         (WebCore::DOMFileSystemBase::securityOrigin):
2976         * fileapi/DOMFileSystemBase.h:
2977         (WebCore::DOMFileSystemBase::create):
2978         * fileapi/DOMFileSystemSync.cpp:
2979         (WebCore::DOMFileSystemSync::create):
2980         (WebCore::DOMFileSystemSync::DOMFileSystemSync):
2981         * fileapi/DOMFileSystemSync.h:
2982         (WebCore::DOMFileSystemSync::create):
2983         * fileapi/Entry.cpp:
2984         * fileapi/Entry.h:
2985         * fileapi/EntryBase.cpp: Added.
2986         (WebCore::EntryBase::EntryBase):
2987         (WebCore::EntryBase::~EntryBase):
2988         (WebCore::EntryBase::toURI):
2989         * fileapi/EntryBase.h:
2990         * fileapi/EntrySync.idl:
2991
2992 2011-02-26  Alice Boxhall  <aboxhall@chromium.org>
2993
2994         Reviewed by Ojan Vafai.
2995
2996         typing enter in the input element should not fire textInput
2997         https://bugs.webkit.org/show_bug.cgi?id=54152
2998
2999         Stop textInput event propagation in HTMLInputElement::preDispatchEventHandler if the event target should submit implicitly.
3000
3001         Test: fast/forms/textinput-not-fired-on-enter-in-input.html
3002
3003         * html/HTMLInputElement.cpp:
3004         (WebCore::HTMLInputElement::preDispatchEventHandler): Check m_inputType->shouldSubmitImplicitly for textInputEvents and stop propagation if true.
3005
3006 2011-02-26  James Simonsen  <simonjam@chromium.org>
3007
3008         Reviewed by Tony Gentilcore.
3009
3010         [Web Timing] loadEvent timing should refer to first load event if there are many
3011         https://bugs.webkit.org/show_bug.cgi?id=55201
3012
3013         Test: fast/dom/webtiming-document-open.html
3014
3015         * page/DOMWindow.cpp:
3016         (WebCore::DOMWindow::dispatchLoadEvent):
3017
3018 2011-02-26  Tony Gentilcore  <tonyg@chromium.org>
3019
3020         Reviewed by Adam Barth.
3021
3022         Fix isLayoutTimerActive for ports that set a minimumLayoutDelay
3023         https://bugs.webkit.org/show_bug.cgi?id=54810
3024
3025         No new tests because no new functionality.
3026
3027         * dom/Document.cpp:
3028         (WebCore::Document::isLayoutTimerActive): Moved from HTMLParserScheduler per FIXME. Compare
3029         minimumLayoutDelay() to m_extraLayoutDelay instead of 0. This spirit of this comparison was
3030         broken by r52919. The effect would be that ports that set an extra layout delay can't yield
3031         between tokens. Note: can't be const because minimumLayoutDelay sets a member.
3032         * dom/Document.h:
3033         * html/parser/HTMLParserScheduler.cpp:
3034         (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
3035         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript):
3036
3037 2011-02-26  David Dorwin  <ddorwin@chromium.org>
3038
3039         Reviewed by Darin Fisher.
3040
3041         Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default.
3042
3043         fullscreen javascript bindings not implemented for v8
3044         https://bugs.webkit.org/show_bug.cgi?id=44797
3045
3046         Tested by the existing fullscreen Layout Tests.
3047
3048         * WebCore.gyp/WebCore.gyp:
3049         * WebCore.gypi:
3050
3051 2011-02-26  Tony Gentilcore  <tonyg@chromium.org>
3052
3053         Reviewed by Adam Barth.
3054
3055         Prevent parser yields from triggering early dumpAsText()
3056         https://bugs.webkit.org/show_bug.cgi?id=55187
3057
3058         DRT's dumpAsText() takes a snapshot when DocumentLoader::isLoadingInAPISense()
3059         indicates the page is done. isLoadingInAPISense depends on
3060         HTMLDocumentParser::isProcessingData(), which just checks if the parser is in an
3061         insert() or append().
3062
3063         This means that if the parser is pumping in a resumeParsingAfterScriptExecution() or
3064         resumeParsingAfterYield(), isLoadingInAPISense() may not be blocked. This patch
3065         fixes that by repurposing m_writeNestingLevel as m_pumpSessionNestingLevel and
3066         incrementing it in pumpTokenizer().
3067
3068         When I locally cause the parser to yield after every token, a lot of tests fail
3069         because DRT snapshots too early. This patch fixes those tests, however I'm having
3070         trouble writing a test case that reliably reproduces the problem without this patch
3071         and passes with it (without changing yield constants). This is because it requires
3072         4,096 tokens in a single pump session to yield and (len('<b>' * 4096 = 12k, which
3073         doesn't always happen).
3074
3075         * html/parser/HTMLDocumentParser.cpp:
3076         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3077         (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
3078         (WebCore::HTMLDocumentParser::processingData):
3079         (WebCore::HTMLDocumentParser::pumpTokenizer):
3080         (WebCore::HTMLDocumentParser::insert):
3081         (WebCore::HTMLDocumentParser::append):
3082         * html/parser/HTMLDocumentParser.h:
3083         (WebCore::HTMLDocumentParser::inPumpSession):
3084         (WebCore::HTMLDocumentParser::shouldDelayEnd):
3085         * html/parser/HTMLParserScheduler.h:
3086         (WebCore::PumpSession::PumpSession):
3087         * html/parser/NestingLevelIncrementer.h:
3088
3089 2011-02-26  Yongjun Zhang  <yongjun_zhang@apple.com>
3090
3091         Reviewed by David Kilzer.
3092
3093         https://bugs.webkit.org/show_bug.cgi?id=48781
3094
3095         Add a resource load delegate method to query if WebCore should paint the default broken image for failed images.
3096
3097         Add a new resource load client method (shouldPaintBrokenImage).  WebKit client can decide if WebCore
3098         should paint the default broken image when an image fails to load or decode.  The method also passes the
3099         URL of the failed image.
3100
3101         Test: fast/images/support-broken-image-delegate.html
3102
3103         * loader/FrameLoaderClient.h:
3104         (WebCore::FrameLoaderClient::shouldPaintBrokenImage):
3105         * loader/cache/CachedImage.cpp:
3106         (WebCore::CachedImage::CachedImage):
3107         (WebCore::CachedImage::image):
3108         (WebCore::CachedImage::checkShouldPaintBrokenImage):
3109         (WebCore::CachedImage::error):
3110         * loader/cache/CachedImage.h:
3111
3112 2011-02-26  Chris Evans  <cevans@chromium.org>
3113
3114         Reviewed by Adam Barth.
3115
3116         Database: Data race: should only touch the transaction queue inside the
3117         lock.
3118         https://bugs.webkit.org/show_bug.cgi?id=55031
3119
3120         * storage/Database.cpp:
3121         (WebCore::Database::changeVersion): only touch queue inside lock.
3122         (WebCore::Database::runTransaction): only touch queue inside lock.
3123
3124 2011-02-26  Yi Shen  <yi.4.shen@nokia.com>
3125
3126         Reviewed by Eric Carlson.
3127
3128         Missing volumechangeEvent in case of mediaPlayerVolumeChanged gets callback
3129         https://bugs.webkit.org/show_bug.cgi?id=55147
3130
3131         When HTMLMediaElement::mediaPlayerVolumeChanged() gets callback, 
3132         a volumechangeEvent event should be fired if the volume gets changed.
3133
3134         Test: media/event-attributes.html
3135
3136         * html/HTMLMediaElement.cpp:
3137         (WebCore::HTMLMediaElement::setMuted): Remove updateVolume() since it does nothing when m_player is 0.
3138         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): Fire a volumechangeEvent when the volume is changed.
3139
3140 2011-02-26  Eric Seidel  <eric@webkit.org>
3141
3142         Reviewed by Maciej Stachowiak.
3143
3144         disableRangeMutation quirk for mail slows down peacekeeper domDynamicCreationCreateElement
3145         https://bugs.webkit.org/show_bug.cgi?id=55127
3146
3147         Before:
3148         avg 513.4
3149         median 515
3150         stdev 7.234638899074368
3151         min 490
3152         max 528
3153
3154         After:
3155         avg 508.15
3156         median 510
3157         stdev 6.966168243733426
3158         min 485
3159         max 515
3160
3161         Yes, the stdev is a bit high to actually support my conclusions.  But looking
3162         at the profile, this change makes a lot of sense.  I'll up the iterations
3163         for future testing.
3164
3165         * dom/Document.cpp:
3166         (WebCore::disableRangeMutation):
3167          - This check should only be compiled in if we're planning to run on Tiger or Leopard.
3168
3169 2011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
3170
3171         Reviewed by Pavel Feldman.
3172
3173         DumpRenderTree should reset frame opener between tests.
3174         https://bugs.webkit.org/show_bug.cgi?id=54874
3175
3176         No new tests. (no code affected, just exporting a method for DumpRenderTree use)
3177
3178         * WebCore.exp.in:
3179
3180 2011-02-26  Chang Shu  <chang.shu@nokia.com>
3181
3182         Reviewed by Antonio Gomes.
3183
3184         Based on patch by Carlos Garcia Campos  <cgarcia@igalia.com>.
3185
3186         Spatial Navigation: Add support for <select> element in multiple selection mode
3187         https://bugs.webkit.org/show_bug.cgi?id=49261
3188
3189         When spatial navigation is enabled, use space key to toggle select
3190         items. And the up and down keys should not affect selection but just
3191         navigate through items, which is indicated visually by a focus ring.
3192
3193         New Test: fast/spatial-navigation/snav-single-select-list.html
3194         Enhanced Test: fast/spatial-navigation/snav-multiple-select.html
3195
3196         * dom/SelectElement.cpp:
3197         (WebCore::SelectElement::listBoxDefaultEventHandler):
3198         * rendering/RenderListBox.cpp:
3199         (WebCore::RenderListBox::addFocusRingRects):
3200         * rendering/RenderListBox.h:
3201
3202 2011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
3203
3204         Unreviewed Qt build fix; included CSSValueList.h in EditingStyle.cpp.
3205
3206         * editing/EditingStyle.cpp:
3207
3208 2011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
3209
3210         Reviewed by Darin Adler.
3211
3212         Move HTMLEquivalent and its subclasses to EditingStyle
3213         https://bugs.webkit.org/show_bug.cgi?id=55207
3214
3215         Moved HTMLEquivalent and its subclasses from ApplyStyleCommand to EditingStyle,
3216         and renamed HTMLEquivalent, HTMLEquivalentValueList, HTMLAttributeEquivalent,
3217         and HTMLEquivalentFontSizeAttribute to HTMLElementEquivalent, HTMLTextDecorationEquivalent,
3218         HTMLAttributeEquivalent, and HTMLFontSizeEquivalent respectively.
3219
3220         Also extracted the logic to determine which element and attribute are removed
3221         as conflictsWithImplicitStyleOfElement, conflictsWithImplicitStyleOfAttributes,
3222         and extractConflictingImplicitStyleOfAttributes.
3223
3224         * editing/ApplyStyleCommand.cpp:
3225         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
3226         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
3227         * editing/ApplyStyleCommand.h:
3228         * editing/EditingStyle.cpp:
3229         (WebCore::HTMLElementEquivalent::create): Moved from ApplyStyleCommand.cpp.
3230         (WebCore::HTMLElementEquivalent::~HTMLElementEquivalent): Ditto.
3231         (WebCore::HTMLElementEquivalent::matches): Ditto.
3232         (WebCore::HTMLElementEquivalent::hasAttribute): Ditto.
3233         (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Ditto.
3234         (WebCore::HTMLElementEquivalent::HTMLElementEquivalent): Ditto.
3235         (WebCore::HTMLElementEquivalent::valueIsPresentInStyle): Ditto.
3236         (WebCore::HTMLElementEquivalent::addToStyle): Ditto.
3237         (WebCore::HTMLTextDecorationEquivalent::create): Ditto.
3238         (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent): Ditto.
3239         (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Ditto.
3240         (WebCore::HTMLAttributeEquivalent::create): Ditto.
3241         (WebCore::HTMLAttributeEquivalent::matches): Ditto.
3242         (WebCore::HTMLAttributeEquivalent::hasAttribute): Ditto.
3243         (WebCore::HTMLAttributeEquivalent::attributeName): Ditto.
3244         (WebCore::HTMLAttributeEquivalent::HTMLAttributeEquivalent): Ditto.
3245         (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle): Ditto.
3246         (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
3247         (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue): Ditto.
3248         (WebCore::HTMLFontSizeEquivalent::create): Ditto.
3249         (WebCore::HTMLFontSizeEquivalent::HTMLFontSizeEquivalent): Ditto.
3250         (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue): Ditto.
3251         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Added.
3252         (WebCore::htmlAttributeEquivalents): Added.
3253         (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes): Added.
3254         (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Added.
3255         * editing/EditingStyle.h:
3256
3257 2011-02-25  Chris Fleizach  <cfleizach@apple.com>
3258
3259         Reviewed by Anders Carlsson.
3260
3261         AX: Add Xcode entries back to the navigator list for Accessibility cpp files
3262         https://bugs.webkit.org/show_bug.cgi?id=55280
3263
3264         * WebCore.xcodeproj/project.pbxproj:
3265
3266 2011-02-25  Fumitoshi Ukai  <ukai@chromium.org>
3267
3268         Reviewed by Adam Barth.
3269
3270         WebSocket uses insecure random numbers
3271         https://bugs.webkit.org/show_bug.cgi?id=54714
3272
3273         * websockets/WebSocketHandshake.cpp:
3274         (WebCore::randomNumberLessThan):
3275         (WebCore::generateSecWebSocketKey):
3276         (WebCore::generateKey3):
3277
3278 2011-02-25  Eric Carlson  <eric.carlson@apple.com>
3279
3280         Reviewed by Darin Adler.
3281
3282         Add API to enumerate/delete files downloaded for <audio> and <video>
3283         https://bugs.webkit.org/show_bug.cgi?id=55267
3284
3285         Add review changes missed in r79737.
3286
3287         * html/HTMLMediaElement.cpp:
3288         (WebCore::HTMLMediaElement::clearMediaCacheForSite): Pass string by reference.
3289         * html/HTMLMediaElement.h:
3290         * platform/graphics/MediaPlayer.cpp:
3291         (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
3292         * platform/graphics/MediaPlayer.h:
3293         * platform/graphics/MediaPlayerPrivate.h:
3294         (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
3295
3296 2011-02-25  Eric Carlson  <eric.carlson@apple.com>
3297
3298         Reviewed by Darin Adler.
3299
3300         Add API to enumerate/delete files downloaded for <audio> and <video>
3301         https://bugs.webkit.org/show_bug.cgi?id=55267
3302         <rdar://problem/9049280>
3303
3304         No new tests, this is just the plumbing.
3305
3306         * html/HTMLMediaElement.cpp:
3307         (WebCore::HTMLMediaElement::getSitesInMediaCache): New, call through to MediaPlayer.
3308         (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
3309         (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
3310         * html/HTMLMediaElement.h:
3311
3312         * platform/graphics/MediaPlayer.cpp:
3313         (WebCore::MediaPlayer::getSitesInMediaCache): New, call through to media engine.
3314         (WebCore::MediaPlayer::clearMediaCache): Ditto.
3315         (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
3316         * platform/graphics/MediaPlayer.h:
3317
3318         * platform/graphics/MediaPlayerPrivate.h:
3319         (WebCore::MediaPlayerPrivateInterface::getSitesInMediaCache): Declare new interface.
3320         (WebCore::MediaPlayerPrivateInterface::clearMediaCache): Ditto.
3321         (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
3322
3323 2011-02-25  Abhishek Arya  <inferno@chromium.org>
3324
3325         Reviewed by Dave Hyatt.
3326
3327         Don't add inline continuation outline to the containing block's
3328         continuationOutlineTable list if it is not enclosed by an anonymous block.
3329         https://bugs.webkit.org/show_bug.cgi?id=54690
3330
3331         We currently don't reconnect inline continuations after a child removal.
3332         As a result, those merged inlines do not get seperated and hence not get enclosed
3333         by anonymous blocks. In this case, it is better to bail out and paint it ourself.
3334
3335         Test: fast/table/table-continuation-outline-paint-crash.html
3336
3337         * rendering/InlineFlowBox.cpp:
3338         (WebCore::InlineFlowBox::paint): 
3339         * rendering/RenderBlock.cpp:
3340         (WebCore::RenderBlock::paintsContinuationOutline): helper function to tell
3341         if this containing block has the continuation flow in its continuations list.
3342         * rendering/RenderBlock.h: helper function definition.
3343         * rendering/RenderInline.cpp:
3344         (WebCore::RenderInline::destroy): debug only code that asserts if we leave
3345         behind a continuation in the containing block's continuation list when it is
3346         getting destroyed.
3347
3348 2011-02-25  David Hyatt  <hyatt@apple.com>
3349
3350         Reviewed by Adam Roben.
3351
3352         https://bugs.webkit.org/show_bug.cgi?id=55265, remove the unused "Static" type
3353         from Length.
3354
3355         * css/CSSPrimitiveValue.cpp:
3356         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3357         * platform/Length.h:
3358         (WebCore::Length::isFixed):
3359         * rendering/AutoTableLayout.cpp:
3360         (WebCore::AutoTableLayout::layout):
3361         * rendering/RenderImage.cpp:
3362         (WebCore::RenderImage::isLogicalWidthSpecified):
3363         (WebCore::RenderImage::isLogicalHeightSpecified):
3364         * rendering/RenderObject.h:
3365         (WebCore::RenderObject::markContainingBlocksForLayout):
3366         * rendering/style/RenderStyle.h:
3367         (WebCore::InheritedFlags::hasStaticX):
3368         (WebCore::InheritedFlags::hasStaticY):
3369
3370 2011-02-25  Brian Weinstein  <bweinstein@apple.com>
3371
3372         Windows build fix.
3373
3374         * platform/network/cf/CookieJarCFNet.cpp:
3375         (WebCore::getHostnamesWithCookies): Add a const_cast.
3376         (WebCore::deleteCookiesForHostname): Ditto.
3377
3378 2011-02-25  Pavel Feldman  <pfeldman@chromium.org>
3379
3380         Reviewed by Timothy Hatcher.
3381
3382         Web Inspector: Empty Elements panel after closing and reopening Inspector
3383         https://bugs.webkit.org/show_bug.cgi?id=55248
3384
3385         Fixing regression real quick. Test to follow.
3386
3387         * inspector/InspectorDOMAgent.cpp:
3388         (WebCore::InspectorDOMAgent::reset):
3389
3390 2011-02-25  Pavel Feldman  <pfeldman@chromium.org>
3391
3392         Not reviewed: added missing handle scope into V8InjectedScriptHostCustom.
3393         https://bugs.webkit.org/show_bug.cgi?id=55256
3394
3395         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3396         (WebCore::InjectedScriptHost::nodeAsScriptValue):
3397         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
3398
3399 2011-02-25  David Hyatt  <hyatt@apple.com>
3400
3401         Reviewed by Sam Weinig.
3402
3403         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
3404         
3405         Make positioned objects work with all possible crazy combinations of mixed writing modes.  Added new helper
3406         functions that flip around the padding box of the containing block and then add in the appropriate border
3407         side to ensure that the offset of the positioned object is actually correctly placed in the containing block's
3408         local coordinate space.
3409
3410         Added two new tests of both replaced and non-replaced positioned elements in mixed writing mode environments.
3411
3412         * rendering/RenderBox.cpp:
3413         (WebCore::computeLogicalLeftPositionedOffset):
3414         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
3415         (WebCore::computeLogicalTopPositionedOffset):
3416         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
3417         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
3418         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
3419
3420 2011-02-25  Brian Weinstein  <bweinstein@apple.com>
3421
3422         Reviewed by Brady Eidson and looked over by Jessie Berlin.
3423
3424         WebKit2: Need a way to manage cookies from the web process
3425         https://bugs.webkit.org/show_bug.cgi?id=55086
3426         
3427         Implement the functions needed to manage cookies in CookieJar (getHostnamesWithCookies,
3428         deleteCookiesWithHostname, and deleteAllCookies) for Mac and CFNetwork (stub out the rest),
3429         and call them from WebKit2's WebCookieManager.
3430
3431         No change in behavior needing tests.
3432
3433         * WebCore.exp.in: Added needed functions to export.
3434         * platform/CookieJar.h:
3435
3436         * platform/mac/CookieJar.mm:
3437         (WebCore::getHostnamesWithCookies): Gets all hostnames with cookies from NSHTTPCookieStorage.
3438         (WebCore::deleteCookiesForHostname): Deletes all cookies with a given hostname from
3439             NSHTTPCookieStorage.
3440         (WebCore::deleteAllCookies): Deletes all cookies from NSHTTPCookieStorage.
3441         
3442         * platform/network/cf/CookieJarCFNet.cpp:
3443         (WebCore::getHostnamesWithCookies): Implement using CFNetwork cookie APIs.
3444         (WebCore::deleteCookiesForHostname): Ditto.
3445         (WebCore::deleteAllCookies): Ditto.
3446
3447         * platform/efl/CookieJarEfl.cpp: Added stub functions.
3448         * platform/haiku/CookieJarHaiku.cpp: Ditto.
3449         * platform/network/android/CookieJarAndroid.cpp: Ditto.
3450         * platform/network/chromium/CookieJarChromium.cpp: Ditto.
3451         * platform/network/curl/CookieJarCurl.cpp: Ditto.
3452         * platform/network/soup/CookieJarSoup.cpp: Ditto.
3453         * platform/network/win/CookieJarWin.cpp: Ditto.
3454         * platform/qt/CookieJarQt.cpp: Ditto.
3455
3456 2011-02-25  Eric Carlson  <eric.carlson@apple.com>
3457
3458         Reviewed by Eric Seidel.
3459
3460         'load' and 'error' events fired for @poster
3461         https://bugs.webkit.org/show_bug.cgi?id=54908
3462
3463         * html/HTMLImageLoader.cpp:
3464         (WebCore::HTMLImageLoader::dispatchLoadEvent): Don't fire events when being used
3465         by a video element.
3466
3467 2011-02-25  David Hyatt  <hyatt@apple.com>
3468
3469         Reviewed by Sam Weinig.
3470
3471         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
3472         
3473         Patch computePositionedLogicalHeightReplaced to be writing-mode aware.
3474         
3475         Added six new tests in fast/replaced.
3476
3477         * rendering/RenderBox.cpp:
3478         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
3479
3480 2011-02-25  Patrick Gansterer  <paroga@webkit.org>
3481
3482         Unreviewed build fix.
3483
3484         * platform/text/brew/TextBreakIteratorBrew.cpp:
3485         (WebCore::acquireLineBreakIterator):
3486         * platform/text/wince/TextBreakIteratorWinCE.cpp:
3487         (WebCore::acquireLineBreakIterator):
3488
3489 2011-02-25  Vangelis Kokkevis  <vangelis@chromium.org>
3490
3491         Reviewed by Simon Fraser.
3492
3493         Update the clip layer size whenever the root layer's size and position
3494         is updated. This only affects the accelerated compositing path.
3495         https://bugs.webkit.org/show_bug.cgi?id=55103
3496
3497         * rendering/RenderLayerCompositor.cpp:
3498         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3499
3500         Test: platform/chromium/compositing/layout-width-change.html
3501
3502         * rendering/RenderLayerCompositor.cpp:
3503         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3504
3505 2011-02-25  Ned Holbrook  <nholbrook@apple.com>
3506
3507         Reviewed by Dan Bernstein.
3508
3509         Minimize calls to ubrk_setText()
3510         https://bugs.webkit.org/show_bug.cgi?id=54912
3511         <rdar://problem/9032774>
3512
3513         Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
3514         break iterator creation until needed. This requires replacing the global line break iterator primitive with a
3515         version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
3516         layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
3517         In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
3518
3519         * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
3520         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
3521         (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
3522         (WebCore::LazyLineBreakIterator::string):
3523         (WebCore::LazyLineBreakIterator::length):
3524         (WebCore::LazyLineBreakIterator::get):
3525         (WebCore::LazyLineBreakIterator::reset):
3526         * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
3527         (WebCore::acquireLineBreakIterator):
3528         (WebCore::releaseLineBreakIterator):
3529         * platform/text/brew/TextBreakIteratorBrew.cpp: Ditto.
3530         (WebCore::acquireLineBreakIterator):
3531         (WebCore::releaseLineBreakIterator):
3532         * platform/text/gtk/TextBreakIteratorGtk.cpp: Ditto.
3533         (WebCore::acquireLineBreakIterator):
3534         (WebCore::releaseLineBreakIterator):
3535         * platform/text/qt/TextBreakIteratorQt.cpp: Ditto.
3536         (WebCore::acquireLineBreakIterator):
3537         (WebCore::releaseLineBreakIterator):
3538         * platform/text/wince/TextBreakIteratorWinCE.cpp: Ditto.
3539         (WebCore::acquireLineBreakIterator):
3540         (WebCore::releaseLineBreakIterator):
3541         * rendering/RenderBlock.h:
3542         * rendering/RenderBlockLineLayout.cpp:
3543         (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
3544         (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
3545         * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
3546         (WebCore::RenderText::computePreferredLogicalWidths):
3547         * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than UniChar buffer.
3548         (WebCore::nextBreakablePosition):
3549         * rendering/break_lines.h: Accept LazyLineBreakIterator rather than UniChar buffer.
3550         (WebCore::isBreakable):
3551
3552 2011-02-25  David Hyatt  <hyatt@apple.com>
3553
3554         Reviewed by Sam Weinig.
3555
3556         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
3557         
3558         Patch computePositionedLogicalWidthReplaced to be writing-mode aware.  Not testable yet, since the height function overwrites the values
3559         in a vertical text environment.
3560
3561         * rendering/RenderBox.cpp:
3562         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
3563
3564 2011-02-25  Abhishek Arya  <inferno@chromium.org>
3565
3566         Reviewed by Dave Hyatt.
3567
3568         When trying to find which lines to dirty for a changed child, make sure
3569         that we do test if the adjacent next linebox contains that changed child
3570         and if yes, dirty it. This can happen in cases when we have a word break
3571         between text nodes.
3572         https://bugs.webkit.org/show_bug.cgi?id=55206
3573
3574         Test: fast/text/word-break-next-linebox-not-dirty-crash-main.html
3575
3576         * rendering/RenderLineBoxList.cpp:
3577         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3578
3579 2011-02-25  Andrey Adaikin  <aandrey@google.com>
3580
3581         Reviewed by Pavel Feldman.
3582
3583         Web Inspector: [Text editor] Add basic layout tests for the highlighter
3584         https://bugs.webkit.org/show_bug.cgi?id=54751
3585
3586         Test: inspector/editor/highlighter-basics.html
3587
3588         * inspector/front-end/TextEditorHighlighter.js:
3589         (WebInspector.TextEditorHighlighter.prototype.highlight):
3590
3591 2011-02-24  Alexander Pavlov  <apavlov@chromium.org>
3592
3593         Reviewed by Pavel Feldman.
3594
3595         Web Inspector: Huge fonts in font preview
3596         https://bugs.webkit.org/show_bug.cgi?id=55143
3597
3598         * inspector/front-end/FontView.js:
3599         (WebInspector.FontView.prototype._createContentIfNeeded):
3600         (WebInspector.FontView.prototype.show):
3601         (WebInspector.FontView.prototype.resize):
3602         (WebInspector.FontView.prototype._measureElement):
3603         (WebInspector.FontView.prototype.updateFontPreviewSize):
3604
3605 2011-02-25  Nikolas Zimmermann  <nzimmermann@rim.com>
3606
3607         Reviewed by Dirk Schulze.
3608
3609         Implement SVGColor/SVGPaint API
3610         https://bugs.webkit.org/show_bug.cgi?id=55119
3611
3612         SVGColor::cssText() shouldn't return #RRGGBBAA colors
3613         https://bugs.webkit.org/show_bug.cgi?id=48120
3614
3615         Rewrite SVGColor/SVGPaint to actually implement their desired setPaint/setColor/setURI APIs.
3616         SVGPaint is a CSSValue, and its setPaint() function allows to switch to an arbitary paint type.
3617         That means, unlike all other CSSValues, SVGColor/SVGPaint are mutable. That means changes to
3618         their CSSValues should be reflected in the elements style as well as in the computed style.
3619         This patch doesn't yet implement that, the stubbed-out method valueChanged() is what
3620         needs to be implemented. For now you can grab a SVGColor/SVGPaint object through getCSSPropertyValue
3621         and manipulate it, in every possible way (SVPaint.uri/paintType/colorType/color attributes are all sync'ed).
3622         Switch to strict JS bindings (RequiresAllArguments=Raise, StrictTypeChecking) for both objects.
3623
3624         Enable proper serialization of colors through Color::serialized(), affects some testcases (#FF.. -> #ff..)
3625         Add extensive tests of all SVGColor/SVGPaint API, currently shows some FAIL messages, as element style
3626         <-> computed style is not live, after mutating SVGColor/SVGPaint. That will be implemented in a follow-up patch.
3627
3628         Tests: svg/dom/SVGColor.html
3629                svg/dom/SVGPaint.html
3630
3631         * bindings/scripts/CodeGenerator.pm: Remove obsolete handling of "SVGPaintType", take ushort for paintType, as specified in the SVG 1.1 IDLs.
3632         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
3633         * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
3634         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3635         * css/SVGCSSParser.cpp: Adapt to SVGPaint/SVGColor create() naming convention changes.
3636         (WebCore::CSSParser::parseSVGValue):
3637         (WebCore::CSSParser::parseSVGPaint):
3638         (WebCore::CSSParser::parseSVGColor):
3639         * svg/SVGColor.cpp: Rewrite to fully implement the SVGColor API, merge all constructors into one, use more descriptable create() naming convention.
3640         (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
3641         (WebCore::SVGColor::SVGColor):
3642         (WebCore::SVGColor::setRGBColor):
3643         (WebCore::SVGColor::colorFromRGBColorString):
3644         (WebCore::SVGColor::setRGBColorICCColor):
3645         (WebCore::SVGColor::setColor):
3646         (WebCore::SVGColor::cssText):
3647         * svg/SVGColor.h:
3648         (WebCore::SVGColor::createFromString):
3649         (WebCore::SVGColor::createFromColor):
3650         (WebCore::SVGColor::color):
3651         (WebCore::SVGColor::colorType):
3652         (WebCore::SVGColor::~SVGColor):
3653         (WebCore::SVGColor::setColor):
3654         (WebCore::SVGColor::setColorType):
3655         * svg/SVGColor.idl: Enable strict type checking.
3656         * svg/SVGPaint.cpp: Rewrite to fully implement the SVGPaint API, merge all constructors into one, use more descriptable create() naming convention.
3657         (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
3658         (WebCore::colorTypeForPaintType):
3659         (WebCore::SVGPaint::SVGPaint):
3660         (WebCore::SVGPaint::setUri):
3661         (WebCore::SVGPaint::defaultFill):
3662         (WebCore::SVGPaint::defaultStroke):
3663         (WebCore::SVGPaint::setPaint):
3664         (WebCore::SVGPaint::cssText):
3665         (WebCore::SVGPaint::matchesTargetURI):
3666         * svg/SVGPaint.h:
3667         (WebCore::SVGPaint::createUnknown):
3668         (WebCore::SVGPaint::createNone):
3669         (WebCore::SVGPaint::createCurrentColor):
3670         (WebCore::SVGPaint::createColor):
3671         (WebCore::SVGPaint::createURI):
3672         (WebCore::SVGPaint::createURIAndColor):
3673         (WebCore::SVGPaint::paintType):
3674         (WebCore::SVGPaint::uri):
3675         (WebCore::SVGPaint::create):
3676         (WebCore::SVGPaint::isSVGPaint):
3677         * svg/SVGPaint.idl: Enable strict type checking.
3678
3679 2011-02-25  Renata Hodovan  <reni@webkit.org>
3680
3681         Reviewed by Nikolas Zimmermann.
3682
3683         FESpecularLightingElement changes doesn't require relayout.
3684         https://bugs.webkit.org/show_bug.cgi?id=54451
3685
3686         When the FESpecularLightingElement receives an update message but the given value remains the same we don't need
3687         to relayout the filter. Otherwise, the light source requests a repaint on the specular lighting filter.
3688         Besides add ASSERTs to DiffuseLightElement::setFilterEffectAttribute as well to avoid lightSources being null.
3689
3690         No new tests are needed to check the repaint because it is covered by the dynamic update tests of FESpecularLighting.
3691         We only test what happens if we remove the light source of specularLight.
3692
3693         Test: svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html
3694
3695         * platform/graphics/filters/FESpecularLighting.cpp:
3696         (WebCore::FESpecularLighting::setSurfaceScale):
3697         (WebCore::FESpecularLighting::setSpecularConstant):
3698         (WebCore::FESpecularLighting::setSpecularExponent):
3699         (WebCore::FESpecularLighting::setKernelUnitLengthX):
3700         (WebCore::FESpecularLighting::setKernelUnitLengthY):
3701         * platform/graphics/filters/FESpecularLighting.h:
3702         * rendering/svg/RenderSVGResourceFilter.cpp:
3703         (WebCore::RenderSVGResourceFilter::postApplyResource):
3704         * svg/SVGFEDiffuseLightingElement.cpp:
3705         (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
3706         (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
3707         (WebCore::SVGFEDiffuseLightingElement::build):
3708         * svg/SVGFEDiffuseLightingElement.h:
3709         * svg/SVGFELightElement.cpp:
3710         (WebCore::SVGFELightElement::findLightElement):
3711         (WebCore::SVGFELightElement::findLight):
3712         (WebCore::SVGFELightElement::svgAttributeChanged):
3713         * svg/SVGFELightElement.h:
3714         * svg/SVGFESpecularLightingElement.cpp:
3715         (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
3716         (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
3717         (WebCore::SVGFESpecularLightingElement::lightElementAttributeChanged):
3718         (WebCore::SVGFESpecularLightingElement::build):
3719         * svg/SVGFESpecularLightingElement.h:
3720
3721 2011-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3722
3723         Reviewed by Andreas Kling.
3724
3725         [Qt] Revert the support for QNAM affined to a different thread.
3726         https://bugs.webkit.org/show_bug.cgi?id=55149
3727
3728         Qt 4.8 will have QNAM use its own thread internally by default,
3729         no need to keep this complexity in WebKit.
3730
3731         This mainly reverts:
3732         http://trac.webkit.org/changeset/73710
3733         http://trac.webkit.org/changeset/73712
3734
3735         * WebCore.pro:
3736         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3737         (WebCore::MediaPlayerPrivateQt::commitLoad):
3738         * platform/network/qt/QNetworkReplyHandler.cpp:
3739         (WebCore::FormDataIODevice::FormDataIODevice):
3740         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
3741         (WebCore::QNetworkReplyHandler::setLoadMode):
3742         (WebCore::QNetworkReplyHandler::abort):
3743         (WebCore::QNetworkReplyHandler::release):
3744         (WebCore::ignoreHttpError):
3745         (WebCore::QNetworkReplyHandler::finish):
3746         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
3747         (WebCore::QNetworkReplyHandler::forwardData):
3748         (WebCore::QNetworkReplyHandler::start):
3749         (WebCore::QNetworkReplyHandler::sendQueuedItems):
3750         * platform/network/qt/QNetworkReplyHandler.h:
3751         (WebCore::QNetworkReplyHandler::reply):
3752         * platform/network/qt/QtNAMThreadSafeProxy.cpp: Removed.
3753         * platform/network/qt/QtNAMThreadSafeProxy.h: Removed.
3754         * platform/network/qt/ResourceHandleQt.cpp:
3755         (WebCore::ResourceHandle::willLoadFromCache):
3756         * platform/qt/CookieJarQt.cpp:
3757         (WebCore::cookieJar):
3758         (WebCore::setCookies):
3759         (WebCore::cookies):
3760         (WebCore::cookieRequestHeaderFieldValue):
3761         (WebCore::cookiesEnabled):
3762
3763 2011-02-25  Renata Hodovan  <reni@webkit.org>
3764
3765         Reviewed by Andreas Kling.
3766
3767         FEBlendElement changes doesn't require relayout
3768         https://bugs.webkit.org/show_bug.cgi?id=55138
3769
3770         When the FEBlendElement receives an update message but the given value remains the same we don't need
3771         to relayout the filter.
3772
3773         No new tests are needed because this modificiation is covered by the dynamic update tests of FEBlend.
3774
3775         * platform/graphics/filters/FEBlend.cpp:
3776         (WebCore::FEBlend::setBlendMode):
3777         * platform/graphics/filters/FEBlend.h:
3778         * svg/SVGFEBlendElement.cpp:
3779         (WebCore::SVGFEBlendElement::setFilterEffectAttribute):
3780         (WebCore::SVGFEBlendElement::svgAttributeChanged):
3781         (WebCore::SVGFEBlendElement::synchronizeProperty):
3782         * svg/SVGFEBlendElement.h:
3783
3784 2011-02-24  Daniel Bates  <dbates@rim.com>
3785
3786         Reviewed by Antonio Gomes.
3787
3788         Clean up: Extract table height adjustment for <caption> into common function
3789         https://bugs.webkit.org/show_bug.cgi?id=54936
3790
3791         We use similar logic for adjusting the height of a table with respect
3792         to a top- and bottom-positioned <caption>. Instead, we should extract
3793         the common code into a shared function.
3794
3795         No functionality changed. So no new tests.
3796
3797         * rendering/RenderTable.cpp:
3798         (WebCore::RenderTable::adjustLogicalHeightForCaption): Added.
3799         (WebCore::RenderTable::layout): Extracted common code to adjust table height
3800         with respect to the <caption> into RenderTable::adjustLogicalHeightForCaption().
3801         * rendering/RenderTable.h:
3802
3803 2011-02-24  James Robinson  <jamesr@chromium.org>
3804
3805         Reviewed by Kenneth Russell.
3806
3807         [chromium] Move draw time properties out of *LayerChromium to CCLayerImpl
3808         https://bugs.webkit.org/show_bug.cgi?id=55013
3809
3810         This adds a new type (tentatively named CCLayerImpl) responsible for drawing/compositing layers.
3811         Currently LayerChromiums know about their CCLayerImpls and CCLayerImpls rely on the LayerChromium
3812         tree for structure.  In theory updates are a LayerChromium-only concept and draw is a CCLayerImpl-only
3813         concept, but this patch doesn't go all there yet in the interest of keeping the patch small-ish.
3814
3815         RenderSurfaces are a CCLayerImpl-only concepts and no longer have any direct LayerChromium dependencies.
3816
3817         Note: I've put CCLayerImpl into a new 'cc' directory under platform/graphics/chromium/ and intentionally
3818         not added it to the include path.  We plan to add more compositor implementation details to this directory
3819         and we want to keep accidental dependencies on these files to a minimum.
3820
3821         See https://bugs.webkit.org/show_bug.cgi?id=54047 for the big picture.
3822
3823         Refactor only, compositing/ tests cover these codepaths.
3824
3825         * WebCore.gypi:
3826         * platform/graphics/chromium/CanvasLayerChromium.cpp:
3827         (WebCore::CanvasLayerChromium::draw):
3828         * platform/graphics/chromium/ContentLayerChromium.cpp:
3829         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
3830         (WebCore::ContentLayerChromium::updateContentsIfDirty):
3831         (WebCore::ContentLayerChromium::draw):
3832         * platform/graphics/chromium/LayerChromium.cpp:
3833         (WebCore::LayerChromium::LayerChromium):
3834         (WebCore::LayerChromium::cleanupResources):
3835         (WebCore::LayerChromium::setLayerRenderer):
3836         (WebCore::LayerChromium::setBounds):
3837         (WebCore::LayerChromium::setFrame):
3838         (WebCore::LayerChromium::setNeedsDisplay):
3839         (WebCore::LayerChromium::setBorderColor):
3840         (WebCore::LayerChromium::borderColor):
3841         (WebCore::LayerChromium::setBorderWidth):
3842         (WebCore::LayerChromium::borderWidth):
3843         (WebCore::LayerChromium::layerRenderer):
3844         (WebCore::LayerChromium::setDoubleSided):
3845         (WebCore::LayerChromium::bounds):
3846         * platform/graphics/chromium/LayerChromium.h:
3847         (WebCore::LayerChromium::maskDrawLayer):
3848         (WebCore::LayerChromium::ccLayerImpl):
3849         * platform/graphics/chromium/LayerRendererChromium.cpp:
3850         (WebCore::LayerRendererChromium::compareLayerZ):
3851         (WebCore::LayerRendererChromium::drawLayers):
3852         (WebCore::LayerRendererChromium::updateLayersRecursive):
3853         (WebCore::LayerRendererChromium::setCompositeOffscreen):
3854         (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
3855         (WebCore::LayerRendererChromium::drawLayer):
3856         * platform/graphics/chromium/LayerRendererChromium.h:
3857         * platform/graphics/chromium/PluginLayerChromium.cpp:
3858         (WebCore::PluginLayerChromium::draw):
3859         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3860         (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
3861         (WebCore::RenderSurfaceChromium::drawSurface):
3862         (WebCore::RenderSurfaceChromium::draw):
3863         * platform/graphics/chromium/RenderSurfaceChromium.h:
3864         * platform/graphics/chromium/VideoLayerChromium.cpp:
3865         (WebCore::VideoLayerChromium::drawYUV):
3866         (WebCore::VideoLayerChromium::drawRGBA):
3867         * platform/graphics/chromium/cc/CCLayerImpl.cpp: Added.
3868         (WebCore::CCLayerImpl::CCLayerImpl):
3869         (WebCore::CCLayerImpl::~CCLayerImpl):
3870         (WebCore::CCLayerImpl::superlayer):
3871         (WebCore::CCLayerImpl::maskLayer):
3872         (WebCore::CCLayerImpl::replicaLayer):
3873         (WebCore::CCLayerImpl::setLayerRenderer):
3874         (WebCore::CCLayerImpl::createRenderSurface):
3875         (WebCore::CCLayerImpl::updateContentsIfDirty):
3876         (WebCore::CCLayerImpl::drawsContent):
3877         (WebCore::CCLayerImpl::draw):
3878         (WebCore::CCLayerImpl::unreserveContentsTexture):
3879         (WebCore::CCLayerImpl::bindContentsTexture):
3880         (WebCore::CCLayerImpl::cleanupResources):
3881         (WebCore::CCLayerImpl::getDrawRect):
3882         (WebCore::CCLayerImpl::drawDebugBorder):
3883         * platform/graphics/chromium/cc/CCLayerImpl.h: Added.
3884         (WebCore::CCLayerImpl::create):
3885         (WebCore::CCLayerImpl::setDebugBorderColor):
3886         (WebCore::CCLayerImpl::debugBorderColor):
3887         (WebCore::CCLayerImpl::setDebugBorderWidth):
3888         (WebCore::CCLayerImpl::debugBorderWidth):
3889         (WebCore::CCLayerImpl::layerRenderer):
3890         (WebCore::CCLayerImpl::renderSurface):
3891         (WebCore::CCLayerImpl::clearRenderSurface):
3892         (WebCore::CCLayerImpl::drawDepth):
3893         (WebCore::CCLayerImpl::setDrawDepth):
3894         (WebCore::CCLayerImpl::drawOpacity):
3895         (WebCore::CCLayerImpl::setDrawOpacity):
3896         (WebCore::CCLayerImpl::scissorRect):
3897         (WebCore::CCLayerImpl::setScissorRect):
3898         (WebCore::CCLayerImpl::targetRenderSurface):
3899         (WebCore::CCLayerImpl::setTargetRenderSurface):
3900         (WebCore::CCLayerImpl::doubleSided):
3901         (WebCore::CCLayerImpl::setDoubleSided):
3902         (WebCore::CCLayerImpl::bounds):
3903         (WebCore::CCLayerImpl::setBounds):
3904         (WebCore::CCLayerImpl::drawTransform):
3905         (WebCore::CCLayerImpl::setDrawTransform):
3906         (WebCore::CCLayerImpl::drawableContentRect):
3907         (WebCore::CCLayerImpl::setDrawableContentRect):
3908
3909 2011-02-24  Dan Bernstein  <mitz@apple.com>
3910
3911         Reviewed by Simon Fraser.
3912
3913         REGRESSION (r79629): Non-expanding ruby base is start-aligned rather than centered
3914         https://bugs.webkit.org/show_bug.cgi?id=55197
3915
3916         * rendering/RenderBlockLineLayout.cpp:
3917         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust the line boundaries even
3918         if there are no expansion opportunities. This allows RenderRubyBase to center itself.
3919
3920 2011-02-24  Darin Adler  <darin@apple.com>
3921
3922         Reviewed by Alexey Proskuryakov.
3923
3924         REGRESSION (r79466): http/tests/incremental/slow-utf8-html.pl flaky due to incorrect assertions
3925         https://bugs.webkit.org/show_bug.cgi?id=55135
3926
3927         * platform/text/TextCodecUTF8.cpp:
3928         (WebCore::TextCodecUTF8::decode): Removed incorrect assertions.
3929
3930 2011-02-24  Darin Adler  <darin@apple.com>
3931
3932         Reviewed by Anders Carlsson.
3933
3934         WebKit2: Image-based cursors do not work
3935         https://bugs.webkit.org/show_bug.cgi?id=55184
3936
3937         * WebCore.exp.in: Exported new entry points now used by WebKit2.
3938
3939 2011-02-24  Matthew Delaney  <mdelaney@apple.com>
3940
3941         Reviewed by Simon Fraser.
3942
3943         ImageBuffer::clip creates an image of the incorrect context in IOSurface case
3944         https://bugs.webkit.org/show_bug.cgi?id=55170
3945
3946         Test: fast/canvas/2d.fillText.gradient.html
3947
3948         * platform/graphics/cg/ImageBufferCG.cpp: Clipping against ImageBuffer's context
3949         instead of ourself (the passed in context).
3950
3951 2011-02-24  Simon Fraser  <simon.fraser@apple.com>
3952
3953         Reviewed by Dan Bernstein.
3954
3955         RenderBoxModelObject::paintBoxShadow should bail earlier
3956         https://bugs.webkit.org/show_bug.cgi?id=55186
3957
3958         Make paintBoxShadow() bail early if there is no shadow, and make
3959         callers consistent in not checking for box-shadow before calling it.
3960
3961         * rendering/InlineFlowBox.cpp:
3962         (WebCore::InlineFlowBox::paintBoxDecorations):
3963         * rendering/RenderBoxModelObject.cpp:
3964         (WebCore::RenderBoxModelObject::paintBoxShadow):
3965         * rendering/RenderTableCell.cpp:
3966         (WebCore::RenderTableCell::paintBoxDecorations):
3967
3968 2011-02-24  James Robinson  <jamesr@chromium.org>
3969
3970         Reviewed by Darin Fisher.
3971
3972         Add a USE() macro to control use of the built-in UTF8 codec
3973         https://bugs.webkit.org/show_bug.cgi?id=55189
3974
3975         Guards the built in UTF8 codec registration with USE(BUILTIN_UTF8_CODEC). ICU is used if the USE() is not set.
3976
3977         * platform/text/TextCodecICU.cpp:
3978         (WebCore::TextCodecICU::registerEncodingNames):
3979         * platform/text/TextEncodingRegistry.cpp:
3980         (WebCore::buildBaseTextCodecMaps):
3981
3982 2011-02-24  Dan Bernstein  <mitz@apple.com>
3983
3984         Reviewed by Dave Hyatt.
3985
3986         <rdar://problem/8902740> Expand ruby base when it is shorter than the ruby text
3987         https://bugs.webkit.org/show_bug.cgi?id=55183
3988
3989         Test: fast/ruby/base-shorter-than-text.html
3990
3991         * rendering/RenderBlock.cpp:
3992         (WebCore::RenderBlock::availableLogicalWidthForLine):
3993         * rendering/RenderBlock.h:
3994         (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Added. The base clase implementation does nothing.
3995         * rendering/RenderBlockLineLayout.cpp:
3996         (WebCore::RenderBlock::textAlignmentForLine): Added. Implements the logic that changes "justify" to "auto" for
3997         the last line or a line that ends with a hard break.
3998         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Use textAlignmentForLine(), compute the available
3999         width more efficiently, and call adjustInlineDirectionLineBounds() for justified lines.
4000         * rendering/RenderRubyBase.cpp:
4001         (WebCore::RenderRubyBase::rubyRun): Added.
4002         (WebCore::RenderRubyBase::textAlignmentForLine): Added. Alwyas returns "justify".
4003         (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds): Added. Insets the line such that the inset is
4004         half the width of a single intra-line expansion.
4005         * rendering/RenderRubyBase.h:
4006         * rendering/RenderRubyRun.cpp:
4007         (WebCore::RenderRubyRun::addChild): 
4008
4009 2011-02-24  James Robinson  <jamesr@chromium.org>
4010
4011         Unreviewed, rolling out r79604.
4012         http://trac.webkit.org/changeset/79604
4013         https://bugs.webkit.org/show_bug.cgi?id=55017
4014
4015         Causes assertions to fail on some SVG tests
4016
4017         * svg/graphics/SVGImage.cpp:
4018         (WebCore::SVGImage::dataChanged):
4019
4020 2011-02-24  Oliver Hunt  <oliver@apple.com>
4021
4022         Build fix
4023
4024         * bindings/js/JSBindingsAllInOne.cpp:
4025
4026 2011-02-24  David Hyatt  <hyatt@apple.com>
4027
4028         Reviewed by Simon Fraser.
4029
4030         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
4031
4032         Rework the logical height computation for positioned elements to work in terms of before and after.  That way the offset is determined from
4033         the correct container side in flipped block writing modes (e.g., vertical-rl).
4034         
4035         Patch locationOffsetIncludingFlipping to use the containing block to flip so that it will behave correctly with absolute/fixed positioned
4036         elements.
4037         
4038         Patch offsetFromContainer to use the flipped location offset for absolute/fixed positioned elements so that localToAbsolute works properly.
4039
4040         Added twelve tests in fast/block/positioning/vertical-rl and fast/block/positioning/vertical-lr.
4041
4042         * rendering/RenderBox.cpp:
4043         (WebCore::RenderBox::offsetFromContainer):
4044         (WebCore::RenderBox::computePositionedLogicalHeight):
4045         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
4046         (WebCore::RenderBox::locationOffsetIncludingFlipping):
4047         * rendering/style/RenderStyle.h:
4048         (WebCore::InheritedFlags::logicalTop):
4049         (WebCore::InheritedFlags::logicalBottom):
4050
4051 2011-02-23  Oliver Hunt  <oliver@apple.com>
4052
4053         Reviewed by Geoffrey Garen.
4054
4055         Make WeakGCMap use new handle infrastructure
4056         https://bugs.webkit.org/show_bug.cgi?id=55100
4057
4058         Update to new WeakGCMap APIs, this requires threading global
4059         data to a few functions that did not need it in the past, but
4060         also gets rid of a large number of destructors, as well as the
4061         forgetDOMNode, etc APIs.
4062
4063         We can also drop the JSDebugWrapperSet as its only purpose was
4064         to ensure that we retained correct semantics in the old WeakGCMap,
4065         but happilly these semantics are now guaranteed by the map itself.
4066
4067         * CMakeLists.txt:
4068         * GNUmakefile.am:
4069         * WebCore.gypi:
4070         * WebCore.pro:
4071         * WebCore.vcproj/WebCore.vcproj:
4072         * WebCore.xcodeproj/project.pbxproj:
4073         * bindings/js/JSDOMBinding.cpp:
4074         (WebCore::hasCachedDOMObjectWrapperUnchecked):
4075         (WebCore::cacheDOMObjectWrapper):
4076         (WebCore::hasCachedDOMNodeWrapperUnchecked):
4077         (WebCore::cacheDOMNodeWrapper):
4078         (WebCore::isObservableThroughDOM):
4079         (WebCore::markDOMNodesForDocument):
4080         (WebCore::takeWrappers):
4081         (WebCore::updateDOMNodeDocument):
4082         (WebCore::markDOMObjectWrapper):
4083         (WebCore::markDOMNodeWrapper):
4084         (WebCore::stringWrapperDestroyed):
4085   &nb