2011-03-03 Alexis Menard <alexis.menard@openbossa.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-03  Alexis Menard  <alexis.menard@openbossa.org>
2
3         Reviewed by Andreas Kling.
4
5         When building with DEFINES+=USE_GSTREAMER=1 we don't want to define ENABLE_QT_MULTIMEDIA to 1.
6         Also add the new files added after https://bugs.webkit.org/show_bug.cgi?id=54870 to support GRefPtr
7         for GstElement.
8
9         * WebCore.pro:
10         * features.pri:
11
12 2011-03-03  Anders Carlsson  <andersca@apple.com>
13
14         Try to fix the Windows build again.
15
16         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
17         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
18
19 2011-03-03  Mihai Parparita  <mihaip@chromium.org>
20
21         Reviewed by Dimitri Glazkov.
22
23         Add another CRASH() for CSSSelector double frees
24         https://bugs.webkit.org/show_bug.cgi?id=55693
25
26         To help track down bug 53045, add a CRASH call when the the array and/or
27         CSSSelector member in CSSSelectorList is disposed of more than once.
28
29         Just a check, no new tests necessary.
30         
31         * css/CSSSelectorList.cpp:
32         (WebCore::CSSSelectorList::deleteSelectors):
33
34 2011-03-03  Anders Carlsson  <andersca@apple.com>
35
36         Yet another attempt at fixing the Windows build.
37
38         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
39         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
40         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
41         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
42
43 2011-03-02  Chris Marrin  <cmarrin@apple.com>
44
45         Reviewed by Simon Fraser.
46
47         REGRESSION: Accelerated transitions are jumpy
48         https://bugs.webkit.org/show_bug.cgi?id=55022
49
50         Got rid of default TimingFunction values from PlatformCAAnimation*. A TimingFunction
51         is now always passed in. The TimingFunction class now has a static method to get
52         a default object which has the 'ease' values in it. I now assert in both Mac and
53         Win implementations if a null TimingFunction pointer is seen.
54
55         * platform/animation/TimingFunction.h:
56         (WebCore::CubicBezierTimingFunction::create):
57         (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
58         (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
59         * platform/graphics/ca/GraphicsLayerCA.cpp:
60         (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
61         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
62         (toCAMediaTimingFunction):
63         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
64         (toCACFTimingFunction):
65
66 2011-03-03  Tony Gentilcore  <tonyg@chromium.org>
67
68         Unreviewed build fix.
69
70         Fix clang compile after r80220
71         https://bugs.webkit.org/show_bug.cgi?id=55692
72
73         * storage/IDBBackingStore.cpp:
74         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
75
76 2011-03-03  Anders Carlsson  <andersca@apple.com>
77
78         Attempt to fix the Windows build.
79
80         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
81         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
82
83 2011-03-02  Brian Weinstein  <bweinstein@apple.com>
84
85         Reviewed by Adam Roben.
86
87         Rest of WebKit2: Need a way to send notifications to client when cookies change
88         https://bugs.webkit.org/show_bug.cgi?id=55427
89         <rdar://problem/9056027>
90
91         Add functions to be exported.
92
93         * WebCore.exp.in:
94
95 2011-03-03  Anders Carlsson  <andersca@apple.com>
96
97         Reviewed by Darin Adler.
98
99         Improve WebCore build time by ~5%
100         https://bugs.webkit.org/show_bug.cgi?id=55688
101
102         Forward declare the CATransform3D and CGAffineTransform structs instead of including
103         large chunks of QuartzCore and Core Graphics.
104
105         On an 8 core Mac Pro, this sped up building WebCore by about 5%.
106
107         * platform/graphics/ca/GraphicsLayerCA.cpp:
108         * platform/graphics/ca/TransformationMatrixCA.cpp:
109         * platform/graphics/transforms/TransformationMatrix.h:
110
111 2011-03-03  Andrey Kosyakov  <caseq@chromium.org>
112
113         Unreviewed. Adjusted call to a method renamed in r80102.
114
115         * inspector/front-end/SourceFrame.js:
116         (WebInspector.SourceFrame.prototype._startEditing):
117
118 2011-03-03  Timothy Hatcher  <timothy@apple.com>
119
120         Use APIEntryShim instead of JSLock in SerializedScriptValue to allow it to be used
121         by contexts not created by WebCore.
122
123         https://webkit.org/b/55642
124
125         Reviewed by Oliver Hunt.
126
127         * bindings/js/SerializedScriptValue.cpp:
128         (WebCore::SerializedScriptValue::create): Use APIEntryShim instead of JSLock.
129         (WebCore::SerializedScriptValue::deserialize): Ditto.
130
131 2011-03-03  Alexey Proskuryakov  <ap@apple.com>
132
133         Reviewed by Darin Adler.
134
135         WebCore should check for "Upgrade" and "Connection" header fields in WebSockets handshake
136         https://bugs.webkit.org/show_bug.cgi?id=55498
137         <rdar://problem/8752706>
138
139         Tests: http/tests/websocket/tests/handshake-fail-by-no-connection-header.html
140                http/tests/websocket/tests/handshake-fail-by-no-upgrade-header.html
141
142         * websockets/WebSocketHandshake.h: Removed unused and meaningless setters for response
143         header fields. Removed separate member variables for those, as they were duplicating data
144         available in response, and there is no reason to squeeze microsecods here.
145
146         * websockets/WebSocketHandshake.cpp:
147         (WebCore::WebSocketHandshake::reset): There are no longer member variables for header field
148         values to reset here.
149         (WebCore::WebSocketHandshake::readServerHandshake): Removed a call for processHeaders().
150         (WebCore::WebSocketHandshake::serverWebSocketOrigin): Changed to get the value from response.
151         (WebCore::WebSocketHandshake::serverWebSocketLocation): Ditto.
152         (WebCore::WebSocketHandshake::serverWebSocketProtocol): Ditto.
153         (WebCore::WebSocketHandshake::serverSetCookie): Ditto.
154         (WebCore::WebSocketHandshake::serverSetCookie2): Ditto.
155         (WebCore::WebSocketHandshake::serverUpgrade): Added.
156         (WebCore::WebSocketHandshake::serverConnection): Added.
157         (WebCore::WebSocketHandshake::checkResponseHeaders): Added checks for Upgrade and Connection
158         header field presence and values.
159
160 2011-03-03  Helder Correia  <helder@sencha.com>
161
162         Reviewed by Andreas Kling.
163
164         [Qt] fast/canvas/canvas-strokePath-gradient-shadow.html fails
165         https://bugs.webkit.org/show_bug.cgi?id=55651
166
167         When relying on ContextShadow and using a gradient stroke for a path,
168         the alpha of the shadow is incorrect.
169
170         * platform/graphics/qt/GraphicsContextQt.cpp:
171         (WebCore::GraphicsContext::strokePath):
172
173 2011-03-03  Martin Robinson  <mrobinson@igalia.com>
174
175         XHTMLMP build broken after r78342
176         https://bugs.webkit.org/show_bug.cgi?id=55286
177
178         Fix XHTMLMP build now that the DocumentWriter is a member of DocumentLoader
179         instead of FrameLoader.
180
181         No new tests. This is a build fix.
182
183         * dom/Document.cpp:
184         (WebCore::Document::isXHTMLMPDocument):
185
186 2011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
187
188         Reviewed by Eric Carlson.
189
190         Tweak MediaControlMuteButtonElement class hierarchy.
191         https://bugs.webkit.org/show_bug.cgi?id=55614
192
193         This allows the mute button on the panel to have event handlers that are
194         different from the mute button in the volume slider.
195
196         No change in behavior, covered by existing tests.
197
198         * html/shadow/MediaControls.cpp:
199         (WebCore::MediaControls::createMuteButton): Changed to use MediaControlPanelMuteButtonElement.
200         * rendering/MediaControlElements.cpp:
201         (WebCore::MediaControlMuteButtonElement::updateDisplayType):
202         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Added.
203         (WebCore::MediaControlPanelMuteButtonElement::create): Added.
204         (WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId): Moved.
205         * rendering/MediaControlElements.h: Added defs.
206
207 2011-03-03  Yury Semikhatsky  <yurys@chromium.org>
208
209         Reviewed by Pavel Feldman.
210
211         Web Inspector: Resource agent should have same lifetime as Inspector agent
212         https://bugs.webkit.org/show_bug.cgi?id=55461
213
214         * inspector/Inspector.idl:
215         * inspector/InspectorAgent.cpp:
216         (WebCore::InspectorAgent::InspectorAgent):
217         (WebCore::InspectorAgent::inspectedPageDestroyed): disconnectFrontend is called before the agent is destroyed
218         to clear frontend reference in all agents.
219         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
220         (WebCore::InspectorAgent::setFrontend):
221         (WebCore::InspectorAgent::disconnectFrontend):
222         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
223         (WebCore::InspectorAgent::didCommitLoad):
224         * inspector/InspectorAgent.h:
225         (WebCore::InspectorAgent::resourceAgent):
226         * inspector/InspectorBrowserDebuggerAgent.cpp:
227         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
228         * inspector/InspectorDebuggerAgent.cpp:
229         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
230         * inspector/InspectorInstrumentation.cpp:
231         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
232         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
233         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
234         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
235         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
236         * inspector/InspectorResourceAgent.cpp:
237         (WebCore::InspectorResourceAgent::setFrontend):
238         (WebCore::InspectorResourceAgent::clearFrontend):
239         (WebCore::InspectorResourceAgent::restore):
240         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
241         (WebCore::InspectorResourceAgent::enable):
242         (WebCore::InspectorResourceAgent::disable):
243         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
244         * inspector/InspectorResourceAgent.h:
245         (WebCore::InspectorResourceAgent::create):
246         * inspector/InspectorTimelineAgent.cpp:
247         (WebCore::InspectorTimelineAgent::restore):
248         * inspector/InspectorTimelineAgent.h:
249         * inspector/front-end/NetworkManager.js:
250         (WebInspector.NetworkManager):
251         (WebInspector.NetworkManager.prototype.frontendReused):
252         * inspector/front-end/inspector.js:
253         (WebInspector.frontendReused):
254
255 2011-03-03  Andras Becsi  <abecsi@webkit.org>
256
257         Reviewed by Andreas Kling.
258
259         CSS RGBA fast-path color parsing should clamp of out-of-range alpha values
260         https://bugs.webkit.org/show_bug.cgi?id=55661
261
262         Test case originally written by Andreas Kling <andreas.kling@nokia.com>
263
264         Test: fast/canvas/rgba-parsing.html
265
266         * css/CSSParser.cpp:
267         (WebCore::isValidDouble): Check whether the given string is a valid double.
268         (WebCore::parseAlphaValue): Out-of-range alpha values should be clamped to the (0.0, 1.0) range.
269
270 2011-03-03  David Holloway  <dhollowa@chromium.org>
271
272         Reviewed by Dimitri Glazkov.
273
274         Changes HTMLTextFormControlElement::placeholderShouldBeVisible to account
275         for non-empty suggestion text.  The visibility of the placeholder text
276         now turned off when suggestion text is set.
277         https://bugs.webkit.org/show_bug.cgi?id=55245
278
279         No new tests because, by design, the suggestion text is not accessible
280         through the DOM.
281
282         * html/HTMLFormControlElement.cpp:
283         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
284         * html/HTMLFormControlElement.h:
285         (WebCore::HTMLTextFormControlElement::isEmptySuggestedValue):
286         * html/HTMLInputElement.h:
287         (WebCore::HTMLInputElement::isEmptySuggestedValue):
288
289 2011-03-03  Andy Estes  <aestes@apple.com>
290
291         Reviewed by Eric Seidel.
292
293         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
294         https://bugs.webkit.org/show_bug.cgi?id=48719
295         
296         Instead of pushing a fake HTMLHtmlElement onto the open element stack
297         during fragment parsing only to later remove it and reparent its
298         children to the DocumentFragment, push the DocumentFragment directly
299         onto the open element stack as the root node. This requires refactoring
300         HTMLElementStack to hold ContainerNode pointers rather than Element
301         pointers, which has implications for HTMLConstructionSite and
302         HTMLTreeBuilder as well.
303         
304         With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
305         is ~14%. However, if you discount the 'domDynamicCreationCreateElement'
306         test, ToT is now ~4% faster than Safari 5.0.3. This indicates that the
307         regression no longer lies in fragment parsing.
308
309         No new tests. No change in behavior.
310
311         * dom/Element.h:
312         (WebCore::Node::hasLocalName):
313         * dom/Node.h:
314         * html/parser/HTMLConstructionSite.cpp:
315         (WebCore::HTMLNames::hasImpliedEndTag):
316         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
317         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
318         (WebCore::HTMLConstructionSite::insertComment):
319         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
320         (WebCore::HTMLConstructionSite::attachToCurrent):
321         (WebCore::HTMLConstructionSite::insertScriptElement):
322         (WebCore::HTMLConstructionSite::insertTextNode):
323         (WebCore::HTMLConstructionSite::createElement):
324         (WebCore::HTMLConstructionSite::createHTMLElement):
325         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
326         (WebCore::HTMLConstructionSite::generateImpliedEndTags):
327         (WebCore::HTMLConstructionSite::findFosterSite):
328         (WebCore::HTMLConstructionSite::shouldFosterParent):
329         * html/parser/HTMLConstructionSite.h:
330         (WebCore::HTMLConstructionSite::currentNode):
331         * html/parser/HTMLElementStack.cpp:
332         (WebCore::HTMLNames::isNumberedHeaderElement):
333         (WebCore::HTMLNames::isScopeMarker):
334         (WebCore::HTMLNames::isListItemScopeMarker):
335         (WebCore::HTMLNames::isTableScopeMarker):
336         (WebCore::HTMLNames::isTableBodyScopeMarker):
337         (WebCore::HTMLNames::isTableRowScopeMarker):
338         (WebCore::HTMLNames::isButtonScopeMarker):
339         (WebCore::HTMLNames::isSelectScopeMarker):
340         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
341         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
342         (WebCore::HTMLElementStack::HTMLElementStack):
343         (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
344         (WebCore::HTMLElementStack::popAll):
345         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
346         (WebCore::HTMLElementStack::popUntil):
347         (WebCore::HTMLElementStack::popUntilPopped):
348         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
349         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
350         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
351         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
352         (WebCore::HTMLElementStack::push):
353         (WebCore::HTMLElementStack::insertAbove):
354         (WebCore::HTMLElementStack::find):
355         (WebCore::HTMLElementStack::topmost):
356         (WebCore::HTMLElementStack::contains):
357         (WebCore::inScopeCommon):
358         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
359         (WebCore::HTMLElementStack::htmlElement):
360         (WebCore::HTMLElementStack::rootNode):
361         (WebCore::HTMLElementStack::pushCommon):
362         * html/parser/HTMLElementStack.h:
363         (WebCore::HTMLElementStack::ElementRecord::element):
364         (WebCore::HTMLElementStack::ElementRecord::node):
365         (WebCore::HTMLElementStack::topNode):
366         * html/parser/HTMLTreeBuilder.cpp:
367         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
368         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
369         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
370         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
371         (WebCore::HTMLTreeBuilder::processStartTag):
372         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
373         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
374         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
375         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
376         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
377         (WebCore::HTMLTreeBuilder::processEndTag):
378         (WebCore::HTMLTreeBuilder::processEndOfFile):
379         (WebCore::HTMLTreeBuilder::finished):
380         * html/parser/HTMLTreeBuilder.h:
381
382 2011-03-02  Yury Semikhatsky  <yurys@chromium.org>
383
384         Reviewed by Pavel Feldman.
385
386         Web Inspector: inspector protocol should allow different domains to have methods with same name
387         https://bugs.webkit.org/show_bug.cgi?id=55558
388
389         * inspector/CodeGeneratorInspector.pm: each command is now identified by domain + command-name(was command-name only).
390
391 2011-03-02  Pavel Podivilov  <podivilov@chromium.org>
392
393         Reviewed by Yury Semikhatsky.
394
395         Web Inspector: make selected call frame debugger presentation model property.
396         https://bugs.webkit.org/show_bug.cgi?id=55582
397
398         * inspector/front-end/CallStackSidebarPane.js:
399         (WebInspector.CallStackSidebarPane):
400         (WebInspector.CallStackSidebarPane.prototype.update):
401         (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
402         (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
403         * inspector/front-end/ConsoleView.js:
404         (WebInspector.ConsoleView.prototype.completions):
405         * inspector/front-end/DebuggerPresentationModel.js:
406         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
407         (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
408         * inspector/front-end/ScriptsPanel.js:
409         (WebInspector.ScriptsPanel):
410         (WebInspector.ScriptsPanel.prototype.getCompletionsOnCallFrame):
411         (WebInspector.ScriptsPanel.prototype._debuggerResumed):
412         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
413         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
414
415 2011-03-03  Jia Pu  <jpu@apple.com>
416
417         Reviewed by Darin Adler.
418
419         On Mac OS X, spelling suggestion panel stops showing up after change set 80121
420         https://bugs.webkit.org/show_bug.cgi?id=55628
421
422         Removed a call to stopCorrectionPanelTimer() to fix a regression introduced by changeset 80121.
423
424         * editing/Editor.cpp:
425         (WebCore::Editor::appliedEditing):
426         * manual-tests/autocorrection/autocorrection-contraction.html:
427
428 2011-03-03  Pavel Podivilov  <podivilov@chromium.org>
429
430         Reviewed by Pavel Feldman.
431
432         Web Inspector: rename "sourceName" to "sourceFileId" in ScriptsPanel.js.
433         https://bugs.webkit.org/show_bug.cgi?id=55569
434
435         sourceFileId better reflects the intention to have unique identifier for each source that is shown in scripts panel.
436
437         * inspector/front-end/DebuggerPresentationModel.js:
438         * inspector/front-end/ScriptsPanel.js:
439
440 2011-03-03  Steve Block  <steveblock@google.com>
441
442         Reviewed by David Levin.
443
444         JavaString API should be implementable by both JSC and V8
445         https://bugs.webkit.org/show_bug.cgi?id=55567
446
447         Remove JavaString's UString operator and replace it with a
448         script-engine-independent impl() method, which returns a
449         StringImpl and can be implemented with both JSC and V8.
450
451         No new tests, refactoring only. 
452
453         * bridge/jni/JNIBridge.h:
454         (JSC::Bindings::JavaString::impl):
455         * bridge/jni/jni_jsobject.mm:
456         (JavaJSObject::call):
457         (JavaJSObject::eval):
458         (JavaJSObject::getMember):
459         (JavaJSObject::setMember):
460         (JavaJSObject::removeMember):
461         * bridge/jni/jsc/JNIBridgeJSC.cpp:
462         (JavaField::valueFromInstance):
463         (JavaField::setValueToInstance):
464         * bridge/jni/jsc/JavaClassJSC.cpp:
465         (JavaClass::JavaClass):
466         * bridge/jni/jsc/JavaInstanceJSC.cpp:
467         (JavaInstance::invokeMethod):
468         * bridge/jni/jsc/JavaStringJSC.h:
469         (JSC::Bindings::JavaStringImpl::impl):
470         * bridge/jni/v8/JavaStringV8.h:
471         (JSC::Bindings::JavaStringImpl::impl):
472
473 2011-03-03  Benjamin Poulain  <ikipou@gmail.com>
474
475         Reviewed by Adam Roben.
476
477         REGRESSION (r79817): Lots of leaks of FloatingObjects seen on SnowLeopard Intel Leaks bot
478         https://bugs.webkit.org/show_bug.cgi?id=55602
479
480         Delete the FloatingObject referenced by m_floatingObjects when clearing the floats.
481
482         The DeprecatedPtrList was deleting the objects automatically due to its autoDelete behavior. The
483         objects need to be deleted manually with ListHashSet.
484
485         * rendering/RenderBlock.cpp:
486         (WebCore::RenderBlock::clearFloats):
487
488 2011-03-03  Hans Wennborg  <hans@chromium.org>
489
490         Reviewed by Jeremy Orlow.
491
492         IndexedDB: Move SQL code, especially for cursors, to IDBBackingStore
493         https://bugs.webkit.org/show_bug.cgi?id=55376
494
495         Move SQL code from IDBKey, IDBKeyRange, IDBIndexBackendImpl,
496         IDBObjectStoreBackendImpl, and especially IDBCursorBackendImpl.
497
498         No new functionality, so no new tests.
499
500         * storage/IDBBackingStore.cpp:
501         (WebCore::lowerCursorWhereFragment):
502         (WebCore::upperCursorWhereFragment):
503         (WebCore::IDBBackingStore::deleteObjectStoreRecord):
504         (WebCore::IDBBackingStore::keyExistsInObjectStore):
505         (WebCore::IDBBackingStore::getObjectViaIndex):
506         (WebCore::keyFromQuery):
507         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
508         (WebCore::IDBBackingStore::keyExistsInIndex):
509         (WebCore::CursorImplCommon::CursorImplCommon::continueInternal):
510         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
511         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::objectStoreDataId):
512         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::key):
513         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::value):
514         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::continueFunction):
515         (WebCore::IDBBackingStore::openObjectStoreCursor):
516         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
517         (WebCore::ObjectStoreCursorImpl::currentRowExists):
518         (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
519         (WebCore::IndexKeyCursorImpl::indexDataId):
520         (WebCore::IndexKeyCursorImpl::key):
521         (WebCore::IndexKeyCursorImpl::primaryKey):
522         (WebCore::IndexKeyCursorImpl::continueFunction):
523         (WebCore::IDBBackingStore::openIndexKeyCursor):
524         (WebCore::IndexKeyCursorImpl::loadCurrentRow):
525         (WebCore::IndexKeyCursorImpl::currentRowExists):
526         (WebCore::IndexCursorImpl::IndexCursorImpl):
527         (WebCore::IndexCursorImpl::indexDataId):
528         (WebCore::IndexCursorImpl::key):
529         (WebCore::IndexCursorImpl::primaryKey):
530         (WebCore::IndexCursorImpl::value):
531         (WebCore::IndexCursorImpl::continueFunction):
532         (WebCore::IDBBackingStore::openIndexCursor):
533         (WebCore::IndexCursorImpl::loadCurrentRow):
534         (WebCore::IndexCursorImpl::currentRowExists):
535         * storage/IDBBackingStore.h:
536         (WebCore::IDBBackingStore::Cursor::~Cursor):
537         * storage/IDBCursorBackendImpl.cpp:
538         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
539         (WebCore::IDBCursorBackendImpl::key):
540         (WebCore::IDBCursorBackendImpl::value):
541         (WebCore::IDBCursorBackendImpl::update):
542         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
543         (WebCore::IDBCursorBackendImpl::deleteFunction):
544         * storage/IDBCursorBackendImpl.h:
545         (WebCore::IDBCursorBackendImpl::create):
546         * storage/IDBIndexBackendImpl.cpp:
547         (WebCore::IDBIndexBackendImpl::openCursorInternal):
548         (WebCore::IDBIndexBackendImpl::getInternal):
549         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
550         * storage/IDBIndexBackendImpl.h:
551         * storage/IDBKey.cpp:
552         (WebCore::IDBKey::isEqual):
553         * storage/IDBKey.h:
554         * storage/IDBKeyRange.cpp:
555         * storage/IDBKeyRange.h:
556         * storage/IDBObjectStoreBackendImpl.cpp:
557         (WebCore::IDBObjectStoreBackendImpl::putInternal):
558         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
559         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
560         * storage/IDBObjectStoreBackendImpl.h:
561
562 2011-03-03  Peter Kasting  <pkasting@google.com>
563
564         Reviewed by James Robinson.
565
566         Drop redundant "Windows; " from the Windows-specific User Agent string.
567         https://bugs.webkit.org/show_bug.cgi?id=54567
568
569         * StringsNotToBeLocalized.txt:
570
571 2011-03-03  Mario Sanchez Prada  <msanchez@igalia.com>
572
573         Reviewed by Martin Robinson.
574
575         [GTK] Combo boxes should emit object:selection-changed even when collapsed
576         https://bugs.webkit.org/show_bug.cgi?id=53146
577
578         Emit the selection-changed signals when the menu list value has changed
579
580         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
581
582         * accessibility/gtk/AXObjectCacheAtk.cpp:
583         (WebCore::getListObject): New, return the right list object for
584         menu lists and list boxes.
585         (WebCore::notifyChildrenSelectionChange): Support menu lists.
586         (WebCore::AXObjectCache::postPlatformNotification): Call function
587         notifyChildrenSelectionChange for AXMenuListValueChanged.
588
589 2011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
590
591         Reviewed by Tony Chang.
592
593         applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
594         https://bugs.webkit.org/show_bug.cgi?id=55338
595
596         Include wtf/Forward.h instead of wtf/text/String.h
597
598         * editing/EditingStyle.h:
599
600 2011-03-03  Csaba Osztrogonác  <ossy@webkit.org>
601
602         Unreviewed trivial fix after r80169.
603
604         [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
605         https://bugs.webkit.org/show_bug.cgi?id=55484
606
607         * WebCore.pro: Typo fix. We have to use linux-g++* instead of linux-g++.
608
609
610 2011-03-02  MORITA Hajime  <morrita@google.com>
611
612         Reviewed by Kent Tamura.
613
614         [Refactoring] Make ScheduledEvent on FrameView abstract out to ScheduleAction
615         https://bugs.webkit.org/show_bug.cgi?id=54440
616
617         - Extracted FrameActionScheduler from FrameView
618         - Extracted FrameAction abstract class from ScheduledEvent,
619           which has fire() virtual method.
620         - Renamed ScheduledEvent EventFrameAction
621         
622         With this change, Any action can be hooked up to the end of the layout.
623         
624         No new tests. No behavioral change.
625
626         * Android.mk:
627         * CMakeLists.txt:
628         * GNUmakefile.am:
629         * WebCore.gypi:
630         * WebCore.pro:
631         * WebCore.vcproj/WebCore.vcproj:
632         * WebCore.xcodeproj/project.pbxproj:
633         * page/FrameActionScheduler.cpp: Added.
634         (WebCore::EventFrameAction::EventFrameAction):
635         (WebCore::EventFrameAction::fire):
636         (WebCore::FrameActionScheduler::FrameActionScheduler):
637         (WebCore::FrameActionScheduler::~FrameActionScheduler):
638         (WebCore::FrameActionScheduler::isEmpty):
639         (WebCore::FrameActionScheduler::clear):
640         (WebCore::FrameActionScheduler::pause):
641         (WebCore::FrameActionScheduler::resume):
642         (WebCore::FrameActionScheduler::dispatch):
643         (WebCore::FrameActionScheduler::scheduleAction):
644         (WebCore::FrameActionScheduler::scheduleEvent):
645         * page/FrameActionScheduler.h: Added.
646         (WebCore::FrameAction::FrameAction):
647         (WebCore::FrameAction::~FrameAction):
648         (WebCore::FrameActionScheduler::isScheduled):
649         * page/FrameView.cpp:
650         (WebCore::FrameView::FrameView):
651         (WebCore::FrameView::~FrameView):
652         (WebCore::FrameView::layout):
653         (WebCore::FrameView::scheduleEvent):
654         (WebCore::FrameView::pauseScheduledEvents):
655         (WebCore::FrameView::resumeScheduledEvents):
656         (WebCore::FrameView::performPostLayoutTasks):
657         (WebCore::FrameView::updateOverflowStatus):
658         * page/FrameView.h:
659
660 2011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
661
662         Unreviewed, rolling out r80201.
663         http://trac.webkit.org/changeset/80201
664         https://bugs.webkit.org/show_bug.cgi?id=55648
665
666         "caused tests to crash on several bots" (Requested by rniwa on
667         #webkit).
668
669         * dom/Element.h:
670         (WebCore::Node::hasTagName):
671         * dom/Node.h:
672         * html/parser/HTMLConstructionSite.cpp:
673         (WebCore::HTMLNames::hasImpliedEndTag):
674         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
675         (WebCore::HTMLConstructionSite::insertComment):
676         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
677         (WebCore::HTMLConstructionSite::attachToCurrent):
678         (WebCore::HTMLConstructionSite::insertScriptElement):
679         (WebCore::HTMLConstructionSite::insertTextNode):
680         (WebCore::HTMLConstructionSite::createElement):
681         (WebCore::HTMLConstructionSite::createHTMLElement):
682         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
683         (WebCore::HTMLConstructionSite::generateImpliedEndTags):
684         (WebCore::HTMLConstructionSite::findFosterSite):
685         (WebCore::HTMLConstructionSite::shouldFosterParent):
686         * html/parser/HTMLConstructionSite.h:
687         * html/parser/HTMLElementStack.cpp:
688         (WebCore::HTMLNames::isNumberedHeaderElement):
689         (WebCore::HTMLNames::isScopeMarker):
690         (WebCore::HTMLNames::isListItemScopeMarker):
691         (WebCore::HTMLNames::isTableScopeMarker):
692         (WebCore::HTMLNames::isTableBodyScopeMarker):
693         (WebCore::HTMLNames::isTableRowScopeMarker):
694         (WebCore::HTMLNames::isButtonScopeMarker):
695         (WebCore::HTMLNames::isSelectScopeMarker):
696         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
697         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
698         (WebCore::HTMLElementStack::HTMLElementStack):
699         (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
700         (WebCore::HTMLElementStack::popAll):
701         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
702         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
703         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
704         (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
705         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
706         (WebCore::HTMLElementStack::push):
707         (WebCore::HTMLElementStack::insertAbove):
708         (WebCore::HTMLElementStack::find):
709         (WebCore::HTMLElementStack::topmost):
710         (WebCore::inScopeCommon):
711         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
712         (WebCore::HTMLElementStack::htmlElement):
713         (WebCore::HTMLElementStack::bodyElement):
714         (WebCore::HTMLElementStack::pushCommon):
715         * html/parser/HTMLElementStack.h:
716         (WebCore::HTMLElementStack::ElementRecord::element):
717         (WebCore::HTMLElementStack::top):
718         * html/parser/HTMLTreeBuilder.cpp:
719         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
720         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
721         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
722         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
723         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
724         (WebCore::HTMLTreeBuilder::processStartTag):
725         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
726         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
727         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
728         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
729         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
730         (WebCore::HTMLTreeBuilder::processEndTag):
731         (WebCore::HTMLTreeBuilder::processEndOfFile):
732         (WebCore::HTMLTreeBuilder::finished):
733         * html/parser/HTMLTreeBuilder.h:
734
735 2011-03-02  Yury Semikhatsky  <yurys@chromium.org>
736
737         Reviewed by Pavel Feldman.
738
739         Web Inspector: break down InspectorFrontend into domain-specific classes
740         https://bugs.webkit.org/show_bug.cgi?id=55584
741
742         * inspector/CodeGeneratorInspector.pm: InspectorFrontend now contains nested classes for
743         all domains that have event notifications.
744         * inspector/ConsoleMessage.cpp:
745         (WebCore::ConsoleMessage::addToFrontend):
746         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
747         * inspector/ConsoleMessage.h:
748         * inspector/InjectedScriptHost.cpp:
749         (WebCore::InjectedScriptHost::inspectImpl):
750         * inspector/Inspector.idl:
751         * inspector/InspectorAgent.cpp:
752         (WebCore::InspectorAgent::inspectedPageDestroyed):
753         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
754         (WebCore::InspectorAgent::setFrontend):
755         (WebCore::InspectorAgent::disconnectFrontend):
756         (WebCore::InspectorAgent::populateScriptObjects):
757         (WebCore::InspectorAgent::pushDataCollectedOffline):
758         (WebCore::InspectorAgent::didCommitLoad):
759         (WebCore::InspectorAgent::domContentLoadedEventFired):
760         (WebCore::InspectorAgent::loadEventFired):
761         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
762         (WebCore::InspectorAgent::evaluateForTestInFrontend):
763         (WebCore::InspectorAgent::showPanel):
764         * inspector/InspectorApplicationCacheAgent.cpp:
765         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
766         * inspector/InspectorApplicationCacheAgent.h:
767         * inspector/InspectorConsoleAgent.cpp:
768         (WebCore::InspectorConsoleAgent::setFrontend):
769         * inspector/InspectorConsoleAgent.h:
770         * inspector/InspectorController.cpp:
771         (WebCore::InspectorController::show):
772         (WebCore::InspectorController::close):
773         * inspector/InspectorDOMAgent.cpp:
774         (WebCore::InspectorDOMAgent::setFrontend):
775         * inspector/InspectorDOMAgent.h:
776         * inspector/InspectorDOMStorageResource.cpp:
777         (WebCore::InspectorDOMStorageResource::bind):
778         * inspector/InspectorDOMStorageResource.h:
779         * inspector/InspectorDatabaseAgent.cpp:
780         (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
781         (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
782         (WebCore::InspectorDatabaseAgent::setFrontend):
783         * inspector/InspectorDatabaseResource.cpp:
784         (WebCore::InspectorDatabaseResource::bind):
785         * inspector/InspectorDatabaseResource.h:
786         * inspector/InspectorDebuggerAgent.cpp:
787         (WebCore::InspectorDebuggerAgent::setFrontend):
788         * inspector/InspectorDebuggerAgent.h:
789         * inspector/InspectorProfilerAgent.cpp:
790         * inspector/InspectorProfilerAgent.h:
791         (WebCore::InspectorProfilerAgent::setFrontend):
792         (WebCore::InspectorProfilerAgent::clearFrontend):
793         * inspector/InspectorResourceAgent.cpp:
794         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
795         * inspector/InspectorResourceAgent.h:
796         * inspector/InspectorTimelineAgent.cpp:
797         (WebCore::InspectorTimelineAgent::setFrontend):
798         * inspector/InspectorTimelineAgent.h:
799         * inspector/front-end/DOMAgent.js:
800         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
801         (WebInspector.DOMDispatcher.prototype.addNodesToSearchResult):
802         * inspector/front-end/inspector.js:
803
804 2011-03-02  Kent Tamura  <tkent@chromium.org>
805
806         Unreviewed, a trivial regression fix.
807
808         Fix LocalizedNumberICU regression by r80198 and r80199.
809         https://bugs.webkit.org/show_bug.cgi?id=55629
810
811         * platform/text/LocalizedNumberICU.cpp:
812           We should use U_SUCCESS().
813         (WebCore::createFormatterForCurrentLocale):
814         (WebCore::parseLocalizedNumber):
815
816 2011-03-02  Dan Bernstein  <mitz@apple.com>
817
818         Let Xcode know that Localizable.strings is UTF-16-encoded.
819
820         * WebCore.xcodeproj/project.pbxproj:
821
822 2011-03-02  Andy Estes  <aestes@apple.com>
823
824         Reviewed by Eric Seidel.
825
826         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
827         https://bugs.webkit.org/show_bug.cgi?id=48719
828         
829         Instead of pushing a fake HTMLHtmlElement onto the open element stack
830         during fragment parsing only to later remove it and reparent its
831         children to the DocumentFragment, push the DocumentFragment directly
832         onto the open element stack as the root node. This requires refactoring
833         HTMLElementStack to hold ContainerNode pointers rather than Element
834         pointers, which has implications for HTMLConstructionSite and
835         HTMLTreeBuilder as well.
836         
837         With this patch, the regression in Peacekeeper due to the introduction
838         of the HTML5 fragment parsing algorithm is ~14%. The regression from
839         Safari 5.0.3 is ~24%.
840
841         No new tests. No change in behavior.
842
843         * dom/Element.h:
844         (WebCore::Node::hasLocalName):
845         * dom/Node.h:
846         * html/parser/HTMLConstructionSite.cpp:
847         (WebCore::HTMLNames::hasImpliedEndTag):
848         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
849         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
850         (WebCore::HTMLConstructionSite::insertComment):
851         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
852         (WebCore::HTMLConstructionSite::attachToCurrent):
853         (WebCore::HTMLConstructionSite::insertScriptElement):
854         (WebCore::HTMLConstructionSite::insertTextNode):
855         (WebCore::HTMLConstructionSite::createElement):
856         (WebCore::HTMLConstructionSite::createHTMLElement):
857         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
858         (WebCore::HTMLConstructionSite::generateImpliedEndTags):
859         (WebCore::HTMLConstructionSite::findFosterSite):
860         (WebCore::HTMLConstructionSite::shouldFosterParent):
861         * html/parser/HTMLConstructionSite.h:
862         (WebCore::HTMLConstructionSite::currentNode):
863         * html/parser/HTMLElementStack.cpp:
864         (WebCore::HTMLNames::isNumberedHeaderElement):
865         (WebCore::HTMLNames::isScopeMarker):
866         (WebCore::HTMLNames::isListItemScopeMarker):
867         (WebCore::HTMLNames::isTableScopeMarker):
868         (WebCore::HTMLNames::isTableBodyScopeMarker):
869         (WebCore::HTMLNames::isTableRowScopeMarker):
870         (WebCore::HTMLNames::isButtonScopeMarker):
871         (WebCore::HTMLNames::isSelectScopeMarker):
872         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
873         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
874         (WebCore::HTMLElementStack::HTMLElementStack):
875         (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
876         (WebCore::HTMLElementStack::popAll):
877         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
878         (WebCore::HTMLElementStack::popUntil):
879         (WebCore::HTMLElementStack::popUntilPopped):
880         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
881         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
882         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
883         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
884         (WebCore::HTMLElementStack::push):
885         (WebCore::HTMLElementStack::insertAbove):
886         (WebCore::HTMLElementStack::find):
887         (WebCore::HTMLElementStack::topmost):
888         (WebCore::HTMLElementStack::contains):
889         (WebCore::inScopeCommon):
890         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
891         (WebCore::HTMLElementStack::htmlElement):
892         (WebCore::HTMLElementStack::rootNode):
893         (WebCore::HTMLElementStack::pushCommon):
894         * html/parser/HTMLElementStack.h:
895         (WebCore::HTMLElementStack::ElementRecord::element):
896         (WebCore::HTMLElementStack::ElementRecord::node):
897         (WebCore::HTMLElementStack::topNode):
898         * html/parser/HTMLTreeBuilder.cpp:
899         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
900         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
901         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
902         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
903         (WebCore::HTMLTreeBuilder::processStartTag):
904         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
905         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
906         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
907         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
908         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
909         (WebCore::HTMLTreeBuilder::processEndTag):
910         (WebCore::HTMLTreeBuilder::processEndOfFile):
911         (WebCore::HTMLTreeBuilder::finished):
912         * html/parser/HTMLTreeBuilder.h:
913
914 2011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
915
916         Unreviewed, rolling out r80188.
917         http://trac.webkit.org/changeset/80188
918         https://bugs.webkit.org/show_bug.cgi?id=55647
919
920         Broke the WebKit API tests. (Requested by xenon on #webkit).
921
922         * WebCore.exp.in:
923
924 2011-03-02  Kent Tamura  <tkent@chromium.org>
925
926         Unreviewed, build fix.
927
928         * platform/text/LocalizedNumberICU.cpp:
929         (WebCore::createFormatterForCurrentLocale): Fix a typo.
930
931 2011-03-02  Kent Tamura  <tkent@chromium.org>
932
933         Reviewed by Darin Adler.
934
935         Caching number formatter instances in LocalizedNumber* implementations
936         https://bugs.webkit.org/show_bug.cgi?id=55629
937
938         No new tests. This change doesn't change existing behavior, and is
939         covered by existing tests.
940
941         * platform/text/LocalizedNumberICU.cpp:
942         (WebCore::createFormatterForCurrentLocale):
943         (WebCore::numberFormatter): Introduce a function to return a static
944           instance of NumberFormat.
945         (WebCore::parseLocalizedNumber): Use numberFormatter().
946         (WebCore::formatLocalizedNumber): Use numberFormatter().
947         * platform/text/mac/LocalizedNumberMac.mm:
948         (WebCore::createFormatterForCurrentLocale):
949         (WebCore::numberFormatter): Introduce a function to return a static
950           instance of NSNumberFormatter.
951         (WebCore::parseLocalizedNumber): Use numberFormatter().
952         (WebCore::formatLocalizedNumber): Use numberFormatter().
953
954 2011-03-02  Levi Weintraub  <leviw@chromium.org>
955
956         Reviewed by Ryosuke Niwa.
957
958         deprecatedEditingOffset should actually return the expected deprecated value for "after" positions
959         https://bugs.webkit.org/show_bug.cgi?id=54986
960
961         Calls to deprecatedEditingOffset needs to return the expected value for new Before/After positions
962         until we can update all the call sites to consider the new position types.
963
964         No tests. This is intended to simplify the transition to new Positions, not to change behavior.
965
966         * dom/Position.cpp:
967         (WebCore::Position::deprecatedEditingOffset):
968         (WebCore::Position::offsetForPositionAfterAnchor): Added to do the right thing while ensuring
969         inline-speed for most calls to deprecatedEditingOffset.
970         * dom/Position.h:
971
972 2011-03-02  Timothy Hatcher  <timothy@apple.com>
973
974         Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value).
975
976         Reviewed by Darin Adler.
977
978         * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE.
979
980 2011-03-02  Daniel Cheng  <dcheng@chromium.org>
981
982         Reviewed by David Levin.
983
984         Manually revert ChromiumDataObject changes.
985         https://bugs.webkit.org/show_bug.cgi?id=55627
986
987         No new tests since no functionality should change.
988
989         * WebCore.gypi:
990         * editing/chromium/EditorChromium.cpp:
991         (WebCore::Editor::newGeneralClipboard):
992         * page/chromium/EventHandlerChromium.cpp:
993         (WebCore::EventHandler::createDraggingClipboard):
994         * platform/chromium/ChromiumDataObject.cpp:
995         (WebCore::ChromiumDataObject::clearData):
996         (WebCore::ChromiumDataObject::clearAll):
997         (WebCore::ChromiumDataObject::clearAllExceptFiles):
998         (WebCore::ChromiumDataObject::hasData):
999         (WebCore::ChromiumDataObject::types):
1000         (WebCore::ChromiumDataObject::getData):
1001         (WebCore::ChromiumDataObject::setData):
1002         (WebCore::ChromiumDataObject::ChromiumDataObject):
1003         * platform/chromium/ChromiumDataObject.h:
1004         (WebCore::ChromiumDataObject::create):
1005         (WebCore::ChromiumDataObject::copy):
1006         (WebCore::ChromiumDataObject::urlTitle):
1007         (WebCore::ChromiumDataObject::setUrlTitle):
1008         (WebCore::ChromiumDataObject::htmlBaseUrl):
1009         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
1010         (WebCore::ChromiumDataObject::containsFilenames):
1011         (WebCore::ChromiumDataObject::filenames):
1012         (WebCore::ChromiumDataObject::setFilenames):
1013         (WebCore::ChromiumDataObject::fileExtension):
1014         (WebCore::ChromiumDataObject::setFileExtension):
1015         (WebCore::ChromiumDataObject::fileContentFilename):
1016         (WebCore::ChromiumDataObject::setFileContentFilename):
1017         (WebCore::ChromiumDataObject::fileContent):
1018         (WebCore::ChromiumDataObject::setFileContent):
1019         * platform/chromium/ClipboardChromium.cpp:
1020         * platform/chromium/ClipboardChromium.h:
1021
1022 2011-03-02  David Grogan  <dgrogan@chromium.org>
1023
1024         Reviewed by Jeremy Orlow.
1025
1026         IndexedDB: fire versionchange events when calling setVersion
1027         https://bugs.webkit.org/show_bug.cgi?id=55095
1028
1029         * dom/EventNames.h:
1030         * storage/IDBDatabase.cpp:
1031         (WebCore::IDBDatabase::setVersion):
1032         (WebCore::IDBDatabase::close):
1033         (WebCore::IDBDatabase::onVersionChange):
1034         (WebCore::IDBDatabase::open):
1035         (WebCore::IDBDatabase::enqueueEvent):
1036         (WebCore::IDBDatabase::dispatchEvent):
1037         * storage/IDBDatabase.h:
1038         (WebCore::IDBDatabase::dispatchEvent):
1039         * storage/IDBDatabase.idl:
1040         * storage/IDBDatabaseBackendImpl.cpp:
1041         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
1042         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::databaseCallbacks):
1043         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
1044         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1045         (WebCore::IDBDatabaseBackendImpl::setVersion):
1046         (WebCore::IDBDatabaseBackendImpl::open):
1047         (WebCore::IDBDatabaseBackendImpl::close):
1048         * storage/IDBDatabaseBackendImpl.h:
1049         * storage/IDBDatabaseBackendInterface.h:
1050         * storage/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
1051         (WebCore::IDBDatabaseCallbacks::~IDBDatabaseCallbacks):
1052         * storage/IDBFactoryBackendImpl.cpp:
1053         (WebCore::IDBFactoryBackendImpl::open):
1054         * storage/IDBRequest.cpp:
1055         (WebCore::IDBRequest::onSuccess):
1056         * storage/IDBVersionChangeEvent.cpp:
1057         (WebCore::IDBVersionChangeEvent::create):
1058         (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
1059         * storage/IDBVersionChangeEvent.h:
1060         * storage/IDBVersionChangeRequest.cpp:
1061         (WebCore::IDBVersionChangeRequest::onBlocked):
1062
1063 2011-03-02  Alexey Proskuryakov  <ap@apple.com>
1064
1065         Fix assertion failures on Gtk bot.
1066
1067         * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks): Removed an overzealous
1068         assertion. We can get here with non-Tab key events when spatial navigation is enabled.
1069
1070 2011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1071
1072         Unreviewed, rolling out r80139.
1073         http://trac.webkit.org/changeset/80139
1074         https://bugs.webkit.org/show_bug.cgi?id=55620
1075
1076         failing and crashing tests on Snow Leopard bot (Requested by
1077         mihaip1 on #webkit).
1078
1079         * page/DOMWindow.cpp:
1080         * page/DOMWindow.h:
1081         * page/Frame.cpp:
1082         (WebCore::Frame::pageDestroyed):
1083         (WebCore::Frame::transferChildFrameToNewDocument):
1084         * page/Frame.h:
1085         (WebCore::Frame::detachFromPage):
1086         * page/Geolocation.cpp:
1087         (WebCore::Geolocation::~Geolocation):
1088         (WebCore::Geolocation::disconnectFrame):
1089         (WebCore::Geolocation::lastPosition):
1090         (WebCore::Geolocation::requestPermission):
1091         (WebCore::Geolocation::startUpdating):
1092         (WebCore::Geolocation::stopUpdating):
1093         * page/Geolocation.h:
1094         * page/GeolocationController.cpp:
1095         (WebCore::GeolocationController::~GeolocationController):
1096         * page/Navigator.cpp:
1097         * page/Navigator.h:
1098         * platform/mock/GeolocationClientMock.cpp:
1099         * platform/mock/GeolocationClientMock.h:
1100
1101 2011-03-02  Jessie Berlin  <jberlin@apple.com>
1102
1103         Reviewed by Adam Roben.
1104
1105         WebKit2: Use CFNetwork Sessions API.
1106         https://bugs.webkit.org/show_bug.cgi?id=55435
1107
1108         Add the ability to create a Private Browsing Storage Session.
1109
1110         * WebCore.exp.in:
1111         Export the symbol for ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase.
1112
1113         * page/Settings.cpp:
1114         (WebCore::Settings::setPrivateBrowsingEnabled):
1115         Propagate the private browsing state to the ResourceHandle.
1116
1117         * platform/mac/WebCoreSystemInterface.h:
1118         Add the function declaration for wkCreatePrivateStorageSession.
1119         * platform/mac/WebCoreSystemInterface.mm:
1120
1121         * platform/network/ResourceHandle.cpp:
1122         (WebCore::privateStorageSession):
1123         Since the same Private Browsing Storage Session will need to be accessed throughout the loading
1124         code and will need to be used by all web pages and page groups, make it a global static.
1125         (WebCore::privateBrowsingStorageSessionIdentifierBase):
1126         Ditto, since the identifier is needed to create the Private Browsing Storage Session.
1127         (WebCore::ResourceHandle::setPrivateBrowsingEnabled):
1128         If enabled, create and store the Private Browsing Storage Session.
1129         (WebCore::ResourceHandle::privateBrowsingStorageSession):
1130         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase):
1131         * platform/network/ResourceHandle.h:
1132
1133         * platform/network/cf/ResourceHandleCFNet.cpp:
1134         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
1135         The call to wkCreatePrivateStorageSession needs to be in a file including the correct
1136         version of WKSI.
1137         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
1138         Return the bundle identifier.
1139         * platform/network/mac/ResourceHandleMac.mm:
1140         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
1141         The call to wkCreatePrivateStorageSession needs to be in a file importing the correct
1142         version of WKSI.
1143         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
1144         Return the bundle identifier.
1145
1146 2011-03-02  Daniel Cheng  <dcheng@chromium.org>
1147
1148         Revert frame-specific WebClipboard changes
1149         https://bugs.webkit.org/show_bug.cgi?id=55617
1150
1151         This code is no longer needed since we've decided to use the original
1152         approach to copy/paste drag/drop handling in ClipboardChromium.
1153
1154         No new tests because no functionality changes.
1155
1156         * platform/chromium/ChromiumDataObject.cpp:
1157         (WebCore::ChromiumDataObject::createReadable):
1158         * platform/chromium/ChromiumDataObject.h:
1159         * platform/chromium/ClipboardChromium.cpp:
1160         (WebCore::ClipboardChromium::create):
1161         * platform/chromium/PlatformBridge.h:
1162         * platform/chromium/ReadableDataObject.cpp:
1163         (WebCore::ReadableDataObject::create):
1164         (WebCore::ReadableDataObject::ReadableDataObject):
1165         (WebCore::ReadableDataObject::getData):
1166         (WebCore::ReadableDataObject::urlTitle):
1167         (WebCore::ReadableDataObject::htmlBaseUrl):
1168         (WebCore::ReadableDataObject::filenames):
1169         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
1170         * platform/chromium/ReadableDataObject.h:
1171
1172 2011-03-02  Tony Chang  <tony@chromium.org>
1173
1174         Unreviewed, rolling chromium DEPS to r76362.
1175
1176         https://bugs.webkit.org/show_bug.cgi?id=55564
1177
1178         * WebCore.gyp/WebCore.gyp: Switch to libjpeg_turbo to match chromium
1179
1180 2011-03-02  Alexey Proskuryakov  <ap@apple.com>
1181
1182         Build fix.
1183
1184         * page/ChromeClient.h: (WebCore::ChromeClient::keyboardUIMode): I didn't mean to commit these
1185         changes yet.
1186
1187 2011-03-02  Alexey Proskuryakov  <ap@apple.com>
1188
1189         Reviewed by John Sullivan.
1190
1191         Clean up WebCore tabsToLinks code a little
1192         https://bugs.webkit.org/show_bug.cgi?id=55606
1193
1194         No change in behavior, so no tests.
1195
1196         * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isKeyboardFocusable):
1197         This is the only caller of tabsToAllControls(). Renamed this function to tabsToAllFormControls().
1198
1199         * page/EventHandler.cpp:
1200         (WebCore::EventHandler::isKeyboardOptionTab): Moved from platform specific files. This
1201         function cannot be file static, because EventHandlerMac.mm uses it.
1202         (WebCore::eventInvertsTabsToLinksClientCallResult): Merged implementations from platform
1203         specific files. We can just as well have #if here. Renamed for clarity.
1204         (WebCore::EventHandler::tabsToLinks): Rewrote in a way that makes it clearer how "invert"
1205         works.
1206         
1207         * page/EventHandler.h: We no longer need invertSenseOfTabsToLinks() here, it's only used
1208         in EventHandler.cpp.
1209
1210         * page/android/EventHandlerAndroid.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1211         * page/brew/EventHandlerBrew.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1212         * page/chromium/EventHandlerChromium.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1213         * page/efl/EventHandlerEfl.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1214         * page/gtk/EventHandlerGtk.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1215         * page/haiku/EventHandlerHaiku.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1216         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllFormControls):
1217         * page/qt/EventHandlerQt.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1218         * page/win/EventHandlerWin.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1219         * page/wx/EventHandlerWx.cpp: (WebCore::EventHandler::tabsToAllFormControls):
1220         Updating all port files.
1221
1222 2011-02-28  Jeremy Orlow  <jorlow@chromium.org>
1223
1224         Reviewed by James Robinson.
1225
1226         Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value
1227         https://bugs.webkit.org/show_bug.cgi?id=55443
1228
1229         Implement http://www.w3.org/Bugs/Public/show_bug.cgi?id=11948
1230
1231         The idea is to have an IDBCursor and an IDBCursorWithValue interface which
1232         inherits from the former.  index.openKeyCursor will return the former and
1233         index/objectStore.openCursor will return the latter.  We'll add a primaryKey
1234         attribute to IDBCursor.  It will always be the key of the associated object
1235         store entry.  For index.openCursor cursors, the key attribute will be the key
1236         of the index.  For objectStore.openCursors, it'll be the same as the
1237         primaryKey.  The value will be the value of the objectStore entry.
1238
1239         * WebCore.gypi:
1240         * bindings/scripts/CodeGeneratorV8.pm:
1241         * bindings/v8/SerializedScriptValue.cpp:
1242         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
1243         * bindings/v8/SerializedScriptValue.h:
1244         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1245         (WebCore::toV8):
1246         * storage/IDBAny.cpp:
1247         (WebCore::IDBAny::idbCursorWithValue):
1248         (WebCore::IDBAny::set):
1249         * storage/IDBAny.h:
1250         * storage/IDBCursor.cpp:
1251         (WebCore::IDBCursor::create):
1252         (WebCore::IDBCursor::primaryKey):
1253         (WebCore::IDBCursor::value):
1254         * storage/IDBCursor.h:
1255         * storage/IDBCursor.idl:
1256         * storage/IDBCursorBackendImpl.cpp:
1257         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1258         (WebCore::IDBCursorBackendImpl::primaryKey):
1259         (WebCore::IDBCursorBackendImpl::value):
1260         (WebCore::IDBCursorBackendImpl::update):
1261         (WebCore::IDBCursorBackendImpl::currentRowExists):
1262         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
1263         (WebCore::IDBCursorBackendImpl::deleteFunction):
1264         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
1265         * storage/IDBCursorBackendImpl.h:
1266         (WebCore::IDBCursorBackendImpl::create):
1267         * storage/IDBCursorBackendInterface.h:
1268         * storage/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursor.idl.
1269         (WebCore::IDBCursorWithValue::create):
1270         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
1271         (WebCore::IDBCursorWithValue::~IDBCursorWithValue):
1272         * storage/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
1273         * storage/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
1274         * storage/IDBIndex.cpp:
1275         (WebCore::IDBIndex::openCursor):
1276         (WebCore::IDBIndex::openKeyCursor):
1277         * storage/IDBIndexBackendImpl.cpp:
1278         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1279         (WebCore::IDBIndexBackendImpl::openCursor):
1280         (WebCore::IDBIndexBackendImpl::openKeyCursor):
1281         * storage/IDBIndexBackendImpl.h:
1282         * storage/IDBObjectStore.cpp:
1283         (WebCore::IDBObjectStore::openCursor):
1284         * storage/IDBObjectStoreBackendImpl.cpp:
1285         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1286         * storage/IDBRequest.cpp:
1287         (WebCore::IDBRequest::IDBRequest):
1288         (WebCore::IDBRequest::setCursorType):
1289         (WebCore::IDBRequest::onSuccess):
1290         (WebCore::IDBRequest::dispatchEvent):
1291         * storage/IDBRequest.h:
1292
1293 2011-03-02  Aravind Akella  <aravind.akella@nokia.com>
1294
1295          Reviewed by Csaba Osztrogonác.
1296
1297          [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
1298          https://bugs.webkit.org/show_bug.cgi?id=55484
1299
1300          Using AllInOne files to avoid memory exhaustion for debug 
1301          builds on 32 bit linux machines.
1302
1303          No new tests. Fixing a build issue.
1304
1305          * WebCore.pro:
1306
1307 2011-03-02  Daniel Cheng  <dcheng@chromium.org>
1308
1309         Reviewed by David Levin.
1310
1311         Add feature define for data transfer items
1312         https://bugs.webkit.org/show_bug.cgi?id=55510
1313
1314         * Configurations/FeatureDefines.xcconfig:
1315         * GNUmakefile.am:
1316         * features.pri:
1317
1318 2011-03-02  Dimitri Glazkov  <dglazkov@chromium.org>
1319
1320         Update location of media-file.js, which was moved in r79630.
1321
1322         * manual-tests/media-controls.html: Updated location.
1323
1324 2011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1325
1326         Unreviewed, rolling out r80156.
1327         http://trac.webkit.org/changeset/80156
1328         https://bugs.webkit.org/show_bug.cgi?id=55604
1329
1330         "Broke SL compile" (Requested by tonyg-cr on #webkit).
1331
1332         * bridge/jni/JNIBridge.h:
1333         (JSC::Bindings::JavaString::operator UString):
1334         * bridge/jni/jni_jsobject.mm:
1335         (JavaJSObject::call):
1336         (JavaJSObject::eval):
1337         (JavaJSObject::getMember):
1338         (JavaJSObject::setMember):
1339         (JavaJSObject::removeMember):
1340         * bridge/jni/jsc/JavaClassJSC.cpp:
1341         (JavaClass::JavaClass):
1342         * bridge/jni/jsc/JavaStringJSC.h:
1343         (JSC::Bindings::JavaStringImpl::uString):
1344         * bridge/jni/v8/JavaStringV8.h:
1345
1346 2011-03-02  Steve Block  <steveblock@google.com>
1347
1348         Reviewed by Jeremy Orlow.
1349
1350         JavaString API should be implementable by both JSC and V8
1351         https://bugs.webkit.org/show_bug.cgi?id=55567
1352
1353         Remove JavaString's UString operator and replace it with a
1354         script-engine-independent impl() method, which returns a
1355         StringImpl and can be implemented with both JSC and V8.
1356
1357         No new tests, refactoring only.
1358
1359         * bridge/jni/JNIBridge.h:
1360         (JSC::Bindings::JavaString::impl):
1361         * bridge/jni/jni_jsobject.mm:
1362         (JavaJSObject::call):
1363         (JavaJSObject::eval):
1364         (JavaJSObject::getMember):
1365         (JavaJSObject::setMember):
1366         (JavaJSObject::removeMember):
1367         * bridge/jni/jsc/JavaClassJSC.cpp:
1368         (JavaClass::JavaClass):
1369         * bridge/jni/jsc/JavaStringJSC.h:
1370         (JSC::Bindings::JavaStringImpl::impl):
1371         * bridge/jni/v8/JavaStringV8.h:
1372         (JSC::Bindings::JavaStringImpl::impl):
1373
1374 2011-03-02  Mihai Parparita  <mihaip@chromium.org>
1375
1376         Reviewed by Dimitri Glazkov.
1377
1378         Add CRASH() for CSSSelector double frees
1379         https://bugs.webkit.org/show_bug.cgi?id=55596
1380         
1381         To help track down bug 53045, add a CRASH call when the CSSSelector
1382         destructor is invoked more than once.
1383
1384         Just a check, no new tests necessary.
1385
1386         * css/CSSSelector.h:
1387         (WebCore::CSSSelector::CSSSelector):
1388         (WebCore::CSSSelector::~CSSSelector):
1389
1390 2011-03-02  Carol Szabo  <carol.szabo@nokia.com>
1391
1392         Reviewed by David Hyatt  <hyatt@apple.com>
1393
1394         content property doesn't support quotes
1395         https://bugs.webkit.org/show_bug.cgi?id=6503
1396
1397         Added full support for quotes as defined by CSS 2.1.
1398
1399         Tests: fast/css/content/content-quotes-01.html
1400                fast/css/content/content-quotes-02.html
1401                fast/css/content/content-quotes-03.html
1402                fast/css/content/content-quotes-04.html
1403                fast/css/content/content-quotes-05.html
1404                fast/css/content/content-quotes-06.html
1405
1406         * Android.mk:
1407         * CMakeLists.txt:
1408         * GNUmakefile.am:
1409         * WebCore.gypi:
1410         * WebCore.pro:
1411         * WebCore.vcproj/WebCore.vcproj:
1412         * WebCore.xcodeproj/project.pbxproj:
1413         Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
1414         * css/CSSParser.cpp:
1415         (WebCore::CSSParser::parseValue):
1416         (WebCore::CSSParser::parseQuotes):
1417         * css/CSSParser.h:
1418         Added needed stylesheet parsing support for quotes,
1419         (no-)open-quote and (no-)close-quote
1420         * css/CSSStyleSelector.cpp:
1421         (WebCore::CSSStyleSelector::applyProperty):
1422         Handled setting of the new quotes RenderStyle property and added
1423         handling of quotes for the content property.
1424         * css/html.css:
1425         (q:before):
1426         (q:after):
1427         replaced the '"' workaround with open/close-quote
1428         * rendering/RenderBlockLineLayout.cpp:
1429         (WebCore::dirtyLineBoxesForRenderer):
1430         Made RenderQuote behave like RenderCounter.
1431         Needed to ensure that the Quote text is calculated before layout,
1432         just as it is for RenderCounter.
1433         * rendering/RenderObject.h:
1434         (WebCore::RenderObject::isQuote):
1435         * rendering/RenderObjectChildList.cpp:
1436         (WebCore::RenderObjectChildList::removeChildNode):
1437         (WebCore::RenderObjectChildList::appendChildNode):
1438         (WebCore::RenderObjectChildList::insertChildNode):
1439         Handled updating of quote depth when renderers are added and removed
1440         from the tree.
1441         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1442         Added support for Quote content.
1443         * rendering/RenderQuote.cpp: Added.
1444         (WebCore::adjustDepth):
1445         (WebCore::RenderQuote::RenderQuote):
1446         (WebCore::RenderQuote::~RenderQuote):
1447         (WebCore::RenderQuote::renderName):
1448         (WebCore::RenderQuote::placeQuote):
1449         (WebCore::LanguageData::operator<):
1450         (WebCore::defaultLanguageQuotes):
1451         (WebCore::quotesMap):
1452         (WebCore::quotesForLanguage):
1453         (WebCore::defaultQuotes):
1454         (WebCore::RenderQuote::originalText):
1455         (WebCore::RenderQuote::computePreferredLogicalWidths):
1456         (WebCore::RenderQuote::rendererSubtreeAttached):
1457         (WebCore::RenderQuote::rendererRemovedFromTree):
1458         (WebCore::RenderQuote::styleDidChange):
1459         * rendering/RenderQuote.h: Added.
1460         (WebCore::RenderQuote::isQuote):
1461         (WebCore::toRenderQuote):
1462         * rendering/RenderingAllInOne.cpp:
1463         Included RenderQuote.cpp
1464         * rendering/style/StyleAllInOne.cpp:
1465         Included QuotesData.cpp
1466         * rendering/style/ContentData.cpp:
1467         (WebCore::ContentData::dataEquivalent):
1468         Checked for quotetype identity.
1469         (WebCore::ContentData::deleteContent):
1470         Accounted for the new QUOTE_TYPE.
1471         * rendering/style/ContentData.h:
1472         (WebCore::ContentData::isQuote):
1473         (WebCore::ContentData::quote):
1474         (WebCore::ContentData::setQuote):
1475         * rendering/style/QuotesData.cpp: Added.
1476         (WebCore::QuotesData::create):
1477         (WebCore::QuotesData::operator==):
1478         (WebCore::QuotesData::~QuotesData):
1479         * rendering/style/QuotesData.h: Added.
1480         (WebCore::QuotesData::data):
1481         (WebCore::QuotesData::operator delete):
1482         (WebCore::QuotesData::QuotesData):
1483         * rendering/style/RenderStyle.cpp:
1484         (WebCore::RenderStyle::setContent):
1485         (WebCore::RenderStyle::setQuotes):
1486         * rendering/style/RenderStyle.h:
1487         (WebCore::InheritedFlags::quotes):
1488         (WebCore::InheritedFlags::setQuotes):
1489         * rendering/style/RenderStyleConstants.h:
1490         * rendering/style/StyleAllInOne.cpp:
1491         Added QuotesData.cpp to the included files list.
1492         * rendering/style/StyleRareInheritedData.cpp:
1493         (WebCore::StyleRareInheritedData::operator==):
1494         Included quotes in equality check.
1495         * rendering/style/StyleRareInheritedData.h:
1496         Added quotes
1497
1498 2011-03-02  Antti Koivisto  <antti@apple.com>
1499
1500         Reviewed by Dave Hyatt.
1501
1502         Selector usage flags should not be set by the CSS parser
1503         https://bugs.webkit.org/show_bug.cgi?id=55573
1504         
1505         Currently flags like Document::usesSiblingRules() are set directly by the CSS parser. This is wrong as 
1506         we may parse stylesheets that are not actually used for document rendering. This is especially bad when
1507         the page uses querySelectorAll(). As a result we may end up in various performance penalty boxes 
1508         triggered by complex selectors for no good reason.
1509         
1510         - Use the selector traversal in style selector constructor to figure out which flags
1511           are actually needed for the currently active style sheets.
1512         - Remove the selector flag related code from the CSS parser/grammar.
1513         - Remove the usesDescendantRules flag completely. We have descendant rules in the default
1514           style sheet, every document uses them.
1515
1516         * css/CSSGrammar.y:
1517         * css/CSSParser.cpp:
1518         (WebCore::CSSParser::updateSpecifiersWithElementName):
1519         * css/CSSStyleSelector.cpp:
1520         (WebCore::collectSiblingRulesInDefaultStyle):
1521         (WebCore::CSSStyleSelector::CSSStyleSelector):
1522         (WebCore::CSSStyleSelector::Features::Features):
1523         (WebCore::CSSStyleSelector::Features::~Features):
1524         (WebCore::CSSStyleSelector::locateCousinList):
1525         (WebCore::CSSStyleSelector::matchesSiblingRules):
1526         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1527         (WebCore::CSSStyleSelector::locateSharedStyle):
1528         (WebCore::collectFeaturesFromSelector):
1529         (WebCore::collectFeaturesFromList):
1530         (WebCore::RuleSet::collectFeatures):
1531         * css/CSSStyleSelector.h:
1532         (WebCore::CSSStyleSelector::usesSiblingRules):
1533         (WebCore::CSSStyleSelector::usesFirstLineRules):
1534         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
1535         (WebCore::CSSStyleSelector::usesLinkRules):
1536         * dom/Document.cpp:
1537         (WebCore::Document::Document):
1538         (WebCore::Document::recalcStyle):
1539         (WebCore::Document::createStyleSelector):
1540         * dom/Document.h:
1541         (WebCore::Document::usesSiblingRules):
1542         (WebCore::Document::setUsesSiblingRules):
1543         (WebCore::Document::usesFirstLineRules):
1544         (WebCore::Document::usesBeforeAfterRules):
1545         (WebCore::Document::setUsesBeforeAfterRules):
1546         * dom/Element.cpp:
1547         (WebCore::Element::recalcStyle):
1548
1549 2011-03-02  Brian Weinstein  <bweinstein@apple.com>
1550
1551         Fix fallout from a last minute renaming.
1552
1553         * platform/network/cf/CookieStorageCFNet.cpp:
1554         (WebCore::startObservingCookieChanges):
1555         (WebCore::stopObservingCookieChanges):
1556
1557 2011-03-01  Brian Weinstein  <bweinstein@apple.com>
1558
1559         Reviewed by Adam Roben.
1560
1561         Part of WebKit2: Need a way to send notifications to client when cookies change
1562         https://bugs.webkit.org/show_bug.cgi?id=55427
1563         <rdar://problem/9056027>
1564         
1565         Add functions on CookieStorage that allow listening for changes in cookies. When
1566         the cookies are changed, they call through to CookiesStrategy::notifyCookiesChanged.
1567
1568         No change in behavior requiring tests.
1569
1570         * platform/CookiesStrategy.h: Added.
1571         (WebCore::CookiesStrategy::~CookiesStrategy):
1572
1573         * platform/PlatformStrategies.h:
1574         (WebCore::PlatformStrategies::cookiesStrategy):
1575         (WebCore::PlatformStrategies::PlatformStrategies):
1576
1577         * platform/network/CookieStorage.h: Add new function declarations.
1578
1579         * platform/network/cf/CookieStorageCFNet.cpp:
1580         (WebCore::notifyCookiesChangedOnMainThread): Call through to CookiesStrategy::notifyCookiesChanged.
1581         (WebCore::notifyCookiesChanged): Call notifyCookiesChangedOnMainThread on the main thread.
1582         (WebCore::beginObservingCookieChanges): Set up cookie observers on the loader run loop.
1583         (WebCore::finishObservingCookieChanges): Remove our cookie observers from the loader run loop.
1584
1585         * platform/network/mac/CookieStorageMac.mm:
1586         (-[CookieStorageObjCAdapter notifyCookiesChangedOnMainThread]): Call through to CookiesStrategy::notifyCookiesChanged.
1587         (-[CookieStorageObjCAdapter cookiesChangedNotificationHandler:]): Call notifyCookiesChangedOnMainThread on 
1588             the main thread.
1589         (-[CookieStorageObjCAdapter registerForCookieChangeNotifications]): Set up the observer for cookie change notifications.
1590         (-[CookieStorageObjCAdapter unregisterForCookieChangeNotifications]): Remove the observer for cookie change notifications.
1591         (WebCore::beginObservingCookieChanges): Create our CookieStorageObjCAdapter, and call registerForCookieChangeNotifications.
1592         (WebCore::finishObservingCookieChanges): Call unregisterForCookieChangeNotifications.
1593         
1594         Add new file.
1595         * WebCore.vcproj/WebCore.vcproj:
1596         * WebCore.xcodeproj/project.pbxproj: Set role on files we need to include in WebKit to private.
1597
1598 2011-03-02  Sergey Glazunov  <serg.glazunov@gmail.com>
1599
1600         Reviewed by Dimitri Glazkov.
1601
1602         A WebKitCSSKeyframesRule object should set itself as the parent for inserted rules
1603         https://bugs.webkit.org/show_bug.cgi?id=55488
1604
1605         Test: fast/css/css-keyframe-parent.html
1606
1607         * css/WebKitCSSKeyframesRule.cpp:
1608         (WebCore::WebKitCSSKeyframesRule::append):
1609
1610 2011-03-02  Sergio Villar Senin  <svillar@igalia.com>
1611
1612         Reviewed by Martin Robinson.
1613
1614         [GTK] Add support for external protocol handlers
1615         https://bugs.webkit.org/show_bug.cgi?id=55473
1616
1617         Do not unconditionally create and replace the SoupRequester of the
1618         SoupSession if there is already one. No new tests needed as we
1619         just allow clients to create their our SoupRequesters.
1620
1621         * platform/network/soup/ResourceHandleSoup.cpp:
1622         (WebCore::ensureSessionIsInitialized):
1623
1624 2011-03-02  John Knottenbelt  <jknotten@chromium.org>
1625
1626         Reviewed by jknotten@chromium.org.
1627
1628         Fix build-breakage when GEOLOCATION not enabled.
1629         https://bugs.webkit.org/show_bug.cgi?id=55586
1630
1631         Geolocation::reset needs to be defined if ENABLE(GEOLOCATION)
1632         is not true.
1633
1634         * page/Geolocation.cpp:
1635         (WebCore::Geolocation::reset):
1636
1637 2011-03-02  Pavel Feldman  <pfeldman@chromium.org>
1638
1639         Reviewed by Yury Semikhatsky.
1640
1641         Web Inspector: remove InjectedScriptHost -> DOMAgent dependency.
1642         https://bugs.webkit.org/show_bug.cgi?id=55575
1643
1644         * bindings/js/JSInjectedScriptHostCustom.cpp:
1645         (WebCore::JSInjectedScriptHost::inspectedNode):
1646         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1647         (WebCore::V8InjectedScriptHost::inspectedNodeCallback):
1648         * inspector/ConsoleMessage.cpp:
1649         (WebCore::ConsoleMessage::addToFrontend):
1650         * inspector/InjectedScript.cpp:
1651         (WebCore::InjectedScript::evaluateOn):
1652         (WebCore::InjectedScript::wrapObject):
1653         (WebCore::InjectedScript::wrapNode):
1654         (WebCore::InjectedScript::inspectNode):
1655         (WebCore::InjectedScript::nodeAsScriptValue):
1656         * inspector/InjectedScript.h:
1657         * inspector/InjectedScriptHost.cpp:
1658         (WebCore::InjectedScriptHost::addInspectedNode):
1659         (WebCore::InjectedScriptHost::clearInspectedNodes):
1660         (WebCore::InjectedScriptHost::copyText):
1661         (WebCore::InjectedScriptHost::inspectedNode):
1662         * inspector/InjectedScriptHost.h:
1663         * inspector/InjectedScriptHost.idl:
1664         * inspector/InjectedScriptSource.js:
1665         * inspector/Inspector.idl:
1666         * inspector/InspectorDOMAgent.cpp:
1667         (WebCore::InspectorDOMAgent::discardBindings):
1668         (WebCore::InspectorDOMAgent::addInspectedNode):
1669         (WebCore::InspectorDOMAgent::resolveNode):
1670         (WebCore::InspectorDOMAgent::injectedScriptForNode):
1671         * inspector/InspectorDOMAgent.h:
1672         * inspector/InspectorRuntimeAgent.cpp:
1673         (WebCore::InspectorRuntimeAgent::evaluateOn):
1674         * inspector/InspectorRuntimeAgent.h:
1675         * inspector/front-end/ElementsTreeOutline.js:
1676         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
1677         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
1678         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
1679         * inspector/front-end/PropertiesSidebarPane.js:
1680         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
1681         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
1682         (WebInspector.PropertiesSidebarPane.prototype.update.fillSection):
1683         (WebInspector.PropertiesSidebarPane.prototype.update):
1684         * inspector/front-end/RemoteObject.js:
1685         (WebInspector.RemoteObject.resolveNode):
1686         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
1687         (WebInspector.RemoteObject.prototype.evaluate):
1688
1689 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
1690
1691         Reviewed by Dmitry Titov.
1692
1693         Detach Geolocation from Frame when Page destroyed.
1694         https://bugs.webkit.org/show_bug.cgi?id=52877
1695
1696         On Page destruction, any outstanding Geolocation permission
1697         requests should be cancelled, because the Geolocation can only
1698         access the client indirectly via m_frame->page().
1699
1700         Additionally, if the Frame is reparented to another page, the
1701         Geolocation should cancel watches, single-shots and requests on
1702         the old page.
1703
1704         Page destruction is signalled by a call to the
1705         Frame::pageDestroyed() method. This calls Frame::detachFromPage,
1706         where we extend the call chain to Geolocation::detachFromPage()
1707         where we call Geolocation::reset() which detaches from the
1708         GeolocationController, cancels requests, watches and single shots,
1709         and sets the permission state back to Unknown.
1710
1711         We also now call detachFromPage when the frame reparented in
1712         Frame::transferChildFrameToNewDocument.
1713
1714         Frame::pageDestroyed() is also called by FrameLoader even though
1715         the page is not destroyed. We should still cancel permission
1716         requests, because the GeolocationClient will become inaccessible
1717         to the Geolocation object after this call.
1718
1719         Since GeolocationController is owned by Page, and all Geolocation
1720         objects will now unsubscribe from the GeolocationController on
1721         pageDetached(), we no longer need to call stopUpdating() from the
1722         GeolocationController's destructor. Instead we can simply assert
1723         that there should be no no observers. See related bug
1724         https://bugs.webkit.org/show_bug.cgi?id=52216 .
1725
1726         Introduced new method 'numberOfPendingPermissionRequests' on
1727         GeolocationClientMock to count the number of outstanding pending
1728         permission requests. This provides a reusable implementation for
1729         client-based implementations of the LayoutTestController's
1730         numberOfPendingGeolocationPermissionRequests method.
1731
1732         Tests: fast/dom/Geolocation/iframe-reparent.html
1733                fast/dom/Geolocation/page-reload-cancel-permission-requests.html
1734
1735         * page/DOMWindow.cpp:
1736         (WebCore::DOMWindow::resetGeolocationPermissions):
1737         * page/DOMWindow.h:
1738         * page/Frame.cpp:
1739         (WebCore::Frame::detachFromPage):
1740         (WebCore::Frame::pageDestroyed):
1741         (WebCore::Frame::transferChildFrameToNewDocument):
1742         * page/Frame.h:
1743         * page/Geolocation.cpp:
1744         (WebCore::Geolocation::~Geolocation):
1745         (WebCore::Geolocation::page):
1746         (WebCore::Geolocation::reset):
1747         (WebCore::Geolocation::disconnectFrame):
1748         (WebCore::Geolocation::lastPosition):
1749         (WebCore::Geolocation::requestPermission):
1750         (WebCore::Geolocation::startUpdating):
1751         (WebCore::Geolocation::stopUpdating):
1752         * page/Geolocation.h:
1753         * page/GeolocationController.cpp:
1754         (WebCore::GeolocationController::~GeolocationController):
1755         * page/Navigator.cpp:
1756         (WebCore::Navigator::resetGeolocationPermissions):
1757         * page/Navigator.h:
1758         * platform/mock/GeolocationClientMock.cpp:
1759         (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
1760         * platform/mock/GeolocationClientMock.h:
1761
1762 2011-03-02  Mikhail Naganov  <mnaganov@chromium.org>
1763
1764         Reviewed by Pavel Feldman.
1765
1766         Web Inspector: [Chromium] Landing detailed heap snapshots, part 4.
1767         https://bugs.webkit.org/show_bug.cgi?id=55563
1768
1769         This part adds implementations for data grids used to display
1770         different heap snapshots projections. We are almost done.
1771
1772         * English.lproj/localizedStrings.js:
1773         * WebCore.gypi:
1774         * bindings/v8/ScriptHeapSnapshot.cpp:
1775         (WebCore::ScriptHeapSnapshot::getExactRetainedSize):
1776         * bindings/v8/ScriptHeapSnapshot.h:
1777         * inspector/Inspector.idl:
1778         * inspector/InspectorProfilerAgent.cpp:
1779         (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
1780         * inspector/InspectorProfilerAgent.h:
1781         * inspector/front-end/DetailedHeapshotGridNodes.js:
1782         (WebInspector.HeapSnapshotObjectNode):
1783         (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
1784         (WebInspector.HeapSnapshotInstanceNode):
1785         (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
1786         (WebInspector.HeapSnapshotDominatorObjectNode):
1787         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
1788         (MixInSnapshotNodeFunctions):
1789         * inspector/front-end/DetailedHeapshotView.js:
1790         (WebInspector.HeapSnapshotContainmentDataGrid):
1791         (WebInspector.HeapSnapshotSortableDataGrid):
1792         (WebInspector.HeapSnapshotConstructorsDataGrid):
1793         (WebInspector.HeapSnapshotDiffDataGrid):
1794         (WebInspector.HeapSnapshotDominatorsDataGrid):
1795         (WebInspector.HeapSnapshotRetainingPathsList):
1796         (WebInspector.DetailedHeapshotView.profileCallback):
1797         (WebInspector.DetailedHeapshotView):
1798         * inspector/front-end/HeapSnapshot.js:
1799         (WebInspector.HeapSnapshotEdge.prototype.get isInvisible):
1800         (WebInspector.HeapSnapshotEdge.prototype.toString):
1801         (WebInspector.HeapSnapshot.prototype._init):
1802         (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
1803         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
1804         (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
1805         * inspector/front-end/Images/helpButtonGlyph.png: Added.
1806         * inspector/front-end/Panel.js:
1807         (WebInspector.Panel.prototype.reset):
1808         * inspector/front-end/Popover.js:
1809         (WebInspector.Popover):
1810         (WebInspector.Popover.prototype.show):
1811         (WebInspector.Popover.prototype.hide):
1812         (WebInspector.Popover.prototype.get visible):
1813         * inspector/front-end/ProfilesPanel.js:
1814         (WebInspector.ProfilesPanel.prototype._reset):
1815         (WebInspector.ProfilesPanel.prototype.getProfile):
1816         * inspector/front-end/heapProfiler.css:
1817         * inspector/front-end/inspector.js:
1818         (WebInspector.resetFocusElement):
1819
1820 2011-03-02  David Kilzer  <ddkilzer@apple.com>
1821
1822         <http://webkit.org/b/55534> Clean up macros in Extensions3DOpenGL.cpp
1823
1824         Reviewed by Darin Adler.
1825
1826         Change "#if GL_APPLE_vertex_array_object" macros to check that
1827         GL_APPLE_vertex_array_object is both defined and non-zero.
1828
1829         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1830         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
1831         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES): Remove
1832         empty #else clause.
1833         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
1834         (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Add early
1835         return check.  Remove #else clause that would never have
1836         compiled (since array is not a WTF::String).
1837
1838 2011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
1839
1840         Reviewed by Darin Adler.
1841
1842         Assertion failure after removing a selection in keydown handler
1843         https://bugs.webkit.org/show_bug.cgi?id=51389
1844
1845         The bug was caused by textWillBeReplaced's not always updating selection, and
1846         shouldRemovePositionAfterAdoptingTextReplacement's not moving the end offset when it's
1847         at the end of replaced data.
1848
1849         Fixed the bug by always updating selection in textWillBeReplaced and fixing the condition
1850         to move the offset in shouldRemovePositionAfterAdoptingTextReplacement. Also added a call
1851         to setSelection instead of directly modifying m_selection to notify all the clients.
1852         Namely, the call to EditorClient::respondToChangedSelection is required for
1853         setting-input-value-cancel-ime-composition.html.
1854
1855         Note that we must update layout before calling setSelection because setSelection calls
1856         setFocusedNodeIfNeeded and it requires layout to be up-to-date. Without this call, tests
1857         such as fast/forms/input-appearance-maxlength.html hits an assertion in Node::isFocusable.
1858
1859         Test: editing/input/setting-input-value-cancel-ime-composition.html
1860
1861         * editing/SelectionController.cpp:
1862         (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): When replacing text, the offset
1863         of the selection end must be updated even if it was at the end of the replaced text.
1864         e.g. removing "world" from "hello world] WebKit" should result in "hello ] WebKit" not
1865         "hello  WebK[it". Note we don't move the offset if no text is removed because appending
1866         "world" to "hello ]" should result in "hello ]world" not "hello world]".
1867         (WebCore::SelectionController::textWillBeReplaced): Calls setSelection to update
1868         the selection instead of modifying m_selection directly.
1869
1870 2011-03-02  Andrey Adaikin  <aandrey@google.com>
1871
1872         Reviewed by Pavel Feldman.
1873
1874         Web Inspector: highlighted line does not span horizonally in scripts panel while debugging.
1875         https://bugs.webkit.org/show_bug.cgi?id=54675
1876
1877         * inspector/front-end/TextViewer.js:
1878         (WebInspector.TextViewer.prototype._syncScroll):
1879         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
1880         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
1881         (WebInspector.TextEditorGutterPanel):
1882         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
1883         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
1884         (WebInspector.TextEditorMainPanel):
1885         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
1886         (WebInspector.TextEditorMainPanel.prototype._getSelection):
1887         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
1888         (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
1889         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1890         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
1891         * inspector/front-end/textViewer.css:
1892         (.inner-container):
1893
1894 2011-03-02  Oleg Romashin  <romaxa@gmail.com>
1895
1896         Reviewed by Andreas Kling.
1897
1898         Fixing inspector compilation with JAVASCRIPT_DEBUGGER disabled
1899         https://bugs.webkit.org/show_bug.cgi?id=55477
1900
1901         * inspector/InspectorAgent.cpp:
1902         (WebCore::InspectorAgent::populateScriptObjects):
1903
1904 2011-03-02  Kent Tamura  <tkent@chromium.org>
1905
1906         Unreviewed, a trivial fix for r80096.
1907
1908         REGRESSION (r80096): [Chromium] fast/forms/input-number-unacceptable-style.html failure
1909         https://bugs.webkit.org/show_bug.cgi?id=55562
1910
1911         * platform/text/LocalizedNumberICU.cpp:
1912         (WebCore::parseLocalizedNumber): Check the ParsePosition after NumberFormat::parse()
1913           to reject strings with a valid number + extra letters.
1914
1915 2011-03-02  Steve Block  <steveblock@google.com>
1916
1917         Reviewed by Jeremy Orlow.
1918
1919         JObjectWrapper should be moved to its own file
1920         https://bugs.webkit.org/show_bug.cgi?id=55384
1921
1922         No new tests, refactoring only.
1923
1924         * Android.v8bindings.mk:
1925         * WebCore.gypi:
1926         * bridge/jni/v8/JNIBridgeV8.cpp:
1927         (JavaField::JavaField):
1928         * bridge/jni/v8/JNIBridgeV8.h:
1929         * bridge/jni/v8/JavaInstanceV8.cpp:
1930         (JavaInstance::JavaInstance):
1931         * bridge/jni/v8/JavaInstanceV8.h:
1932         * bridge/jni/v8/JobjectWrapper.cpp: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
1933         (JobjectWrapper::JobjectWrapper):
1934         (JobjectWrapper::~JobjectWrapper):
1935         * bridge/jni/v8/JobjectWrapper.h: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
1936         (JSC::Bindings::JobjectWrapper::instance):
1937         (JSC::Bindings::JobjectWrapper::setInstance):
1938         (JSC::Bindings::JobjectWrapper::ref):
1939         (JSC::Bindings::JobjectWrapper::deref):
1940
1941 2011-02-25  Andrey Kosyakov  <caseq@chromium.org>
1942
1943         Reviewed by Pavel Feldman.
1944
1945         Web Inspector: factor search logic out of inspector.js
1946         https://bugs.webkit.org/show_bug.cgi?id=54965
1947
1948         * WebCore.gypi:
1949         * WebCore.vcproj/WebCore.vcproj:
1950         * inspector/front-end/ElementsPanel.js:
1951         (WebInspector.ElementsPanel.prototype.searchCanceled):
1952         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
1953         (WebInspector.ElementsPanel.prototype._updateMatchesCount):
1954         * inspector/front-end/Panel.js:
1955         (WebInspector.Panel.prototype.searchCanceled):
1956         (WebInspector.Panel.prototype.performSearch.updateMatchesCount):
1957         * inspector/front-end/ScriptsPanel.js:
1958         (WebInspector.ScriptsPanel.prototype.searchCanceled):
1959         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
1960         (WebInspector.ScriptsPanel.prototype.performSearch):
1961         * inspector/front-end/SearchController.js: Added.
1962         (WebInspector.SearchController):
1963         (WebInspector.SearchController.prototype.updateSearchMatchesCount):
1964         (WebInspector.SearchController.prototype.updateSearchLabel):
1965         (WebInspector.SearchController.prototype.cancelSearch):
1966         (WebInspector.SearchController.prototype.handleShortcut):
1967         (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
1968         (WebInspector.SearchController.prototype.activePanelChanged):
1969         (WebInspector.SearchController.prototype._updateSearchMatchesCount):
1970         (WebInspector.SearchController.prototype._focusSearchField):
1971         (WebInspector.SearchController.prototype._onSearchFieldManualFocus):
1972         (WebInspector.SearchController.prototype._onKeyDown):
1973         (WebInspector.SearchController.prototype._onSearch):
1974         (WebInspector.SearchController.prototype._performSearch):
1975         * inspector/front-end/WebKit.qrc:
1976         * inspector/front-end/inspector.html:
1977         * inspector/front-end/inspector.js:
1978         (WebInspector.set currentPanel):
1979         (WebInspector.set attached):
1980         (WebInspector.doLoadedDone):
1981         (WebInspector.documentKeyDown):
1982
1983 2011-03-02  Renata Hodovan  <reni@webkit.org>
1984
1985         Reviewed by Andreas Kling.
1986
1987         FEMorphologyElement changes doesn't require relayout
1988         https://bugs.webkit.org/show_bug.cgi?id=55462
1989
1990         When the FEMorphologyElement receives an update message but the given value remains the same we don't need
1991         to relayout the filter.
1992
1993         No new tests are needed because this modification is covered by the dynamic update tests of FEMorphology.
1994
1995         * platform/graphics/filters/FEMorphology.cpp:
1996         (WebCore::FEMorphology::setMorphologyOperator):
1997         (WebCore::FEMorphology::setRadiusX):
1998         (WebCore::FEMorphology::setRadiusY):
1999         * platform/graphics/filters/FEMorphology.h:
2000         * svg/SVGFEMorphologyElement.cpp:
2001         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
2002         (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
2003         * svg/SVGFEMorphologyElement.h:
2004
2005 2011-03-01  Kent Tamura  <tkent@chromium.org>
2006
2007         Reviewed by Dimitri Glazkov.
2008
2009         Assertion fails when a form validation bubble appears
2010         https://bugs.webkit.org/show_bug.cgi?id=55550
2011
2012         Test: fast/forms/interactive-validation-attach-assertion.html
2013
2014         * html/ValidationMessage.cpp:
2015         (WebCore::ValidationMessage::buildBubbleTree):
2016          Just remove unnecessary attach().
2017
2018 2011-03-01  Kent Tamura  <tkent@chromium.org>
2019
2020         Reviewed by Dimitri Glazkov.
2021
2022         Support localized numbers in <input type=number>
2023         https://bugs.webkit.org/show_bug.cgi?id=42484
2024
2025         This change adds support of localized numbers in <input type=number>.
2026         This affects only the UI, and not HTMLInputElement::value.
2027
2028         - Remove the keyboard input restriction feature because it is hard to
2029           retrieve characters usable for localized numbers in ICU.
2030
2031         - Separate convertFromVisibleValue() from sanitizeValue().
2032           sanitizeValue() is used for not only converting a renderer value to a
2033           DOM value.
2034
2035         - Implement LocalizedNumber functions for ICU and NSNumberFormatter.
2036           It is used only in Chromium for now.
2037
2038         Test: manual-tests/input-number-localization.html
2039
2040         * WebCore.gypi: Use LocalizedNumberICU.cpp.
2041         * WebCore.xcodeproj/project.pbxproj:
2042           Add LocalizedNumberMac.mm and remove LocalizedNumberNone.cpp.
2043         * dom/InputElement.h: Introduce convertFromVisibleValue().
2044         * html/HTMLInputElement.cpp:
2045         (WebCore::HTMLInputElement::convertFromVisibleValue):
2046         * html/HTMLInputElement.h:
2047         * html/InputType.cpp:
2048         (WebCore::InputType::convertFromVisibleValue):
2049         * html/InputType.h:
2050         * html/NumberInputType.cpp: Remove isHTMLNumberCharacter(),
2051           isNumberCharacter(), and handleBeforeTextInsertedEvent() because we
2052           remove the keyboard input restriction feature for type=number.
2053         (WebCore::NumberInputType::convertFromVisibleValue):
2054         (WebCore::NumberInputType::sanitizeValue):
2055         * html/NumberInputType.h:
2056         * manual-tests/input-number-localization.html: Add a manual test because
2057           the behavior depends on the current locale.
2058         * platform/text/LocalizedNumber.h: Remove isLocalizedNumberCharacter().
2059         * platform/text/LocalizedNumberICU.cpp:
2060           Implement LocalizedNumber functions with ICU NumberFormat.
2061         (WebCore::createFormatterForCurrentLocale):
2062         (WebCore::parseLocalizedNumber):
2063         (WebCore::formatLocalizedNumber):
2064         * platform/text/LocalizedNumberNone.cpp: Remove isLocalizedNumberCharacter().
2065         * platform/text/mac/LocalizedNumberMac.mm:
2066           Implement LocalizedNumber functions with NSNumberFormatter.
2067         (WebCore::parseLocalizedNumber):
2068         (WebCore::formatLocalizedNumber):
2069         * rendering/RenderTextControlSingleLine.cpp:
2070         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2071         * wml/WMLInputElement.h:
2072         (WebCore::WMLInputElement::convertFromVisibleValue):
2073           Implemented as a function doing nothing.
2074
2075 2011-03-01  Yuta Kitamura  <yutak@chromium.org>
2076
2077         Reviewed by Darin Adler.
2078
2079         REGRESSION(r78383): Failure to connect on websocketstest.com
2080         https://bugs.webkit.org/show_bug.cgi?id=54811
2081
2082         After r78383, KURL::setPort() no longer appends ":port" part
2083         if that port is the default port for URL scheme. This broke
2084         SocketStreamHandleCFNet, whose code was based on an assumption
2085         that KURL::setPort() always inserts ":port" part.
2086
2087         To fix this, KURL::port() call is removed from SocketStreamHandle
2088         and the port number is calculated on-the-fly.
2089
2090         Unfortunately it is impossible to write a test; this bug only
2091         affects WebSockets connecting to the default port (port 80
2092         for ws, port 443 for wss), while we use different ports to test
2093         WebSockets in LayoutTests.
2094
2095         * platform/network/cf/SocketStreamHandle.h:
2096         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2097         (WebCore::SocketStreamHandle::SocketStreamHandle):
2098         (WebCore::SocketStreamHandle::createStreams):
2099         (WebCore::SocketStreamHandle::port):
2100
2101 2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2102
2103         Unreviewed, rolling out r80079.
2104         http://trac.webkit.org/changeset/80079
2105         https://bugs.webkit.org/show_bug.cgi?id=55547
2106
2107         "Broke the Win debug build?" (Requested by dcheng on #webkit).
2108
2109         * Configurations/FeatureDefines.xcconfig:
2110         * GNUmakefile.am:
2111         * features.pri:
2112
2113 2011-02-25  Adrienne Walker  <enne@google.com>
2114
2115         Reviewed by James Robinson.
2116
2117         [chromium] Abstract "pixels with a graphics context" into its own class
2118         https://bugs.webkit.org/show_bug.cgi?id=55259
2119
2120         This creates new PlatformCanvas/PlatformImage classes which wrap
2121         all of the #ifdef Skia/Cg warts from the compositor.  All classes
2122         (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
2123         modified to use these abstractions.
2124
2125         Tests: LayoutTests/compositing
2126
2127         * WebCore.gypi:
2128         * platform/graphics/chromium/ContentLayerChromium.cpp:
2129         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2130         (WebCore::ContentLayerChromium::resizeUploadBuffer):
2131         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2132         (WebCore::ContentLayerChromium::updateTexture):
2133         (WebCore::ContentLayerChromium::draw):
2134         * platform/graphics/chromium/ContentLayerChromium.h:
2135         * platform/graphics/chromium/ImageLayerChromium.cpp:
2136         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2137         (WebCore::ImageLayerChromium::updateTextureIfNeeded):
2138         * platform/graphics/chromium/ImageLayerChromium.h:
2139         * platform/graphics/chromium/LayerTilerChromium.cpp:
2140         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2141         (WebCore::LayerTilerChromium::update):
2142         (WebCore::LayerTilerChromium::updateFromPixels):
2143         * platform/graphics/chromium/LayerTilerChromium.h:
2144         * platform/graphics/chromium/PlatformCanvas.cpp: Added.
2145         (WebCore::PlatformCanvas::PlatformCanvas):
2146         (WebCore::PlatformCanvas::~PlatformCanvas):
2147         (WebCore::PlatformCanvas::resize):
2148         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
2149         (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
2150         (WebCore::PlatformCanvas::Painter::Painter):
2151         (WebCore::PlatformCanvas::Painter::~Painter):
2152         * platform/graphics/chromium/PlatformCanvas.h: Added.
2153         (WebCore::PlatformCanvas::AutoLocker::pixels):
2154         (WebCore::PlatformCanvas::Painter::context):
2155         (WebCore::PlatformCanvas::size):
2156         * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
2157         (WebCore::PlatformImage::PlatformImage):
2158         (WebCore::PlatformImage::updateFromImage):
2159         * platform/graphics/chromium/PlatformImage.h: Added.
2160         (WebCore::PlatformImage::pixels):
2161         (WebCore::PlatformImage::size):
2162
2163 2011-03-01  Daniel Cheng  <dcheng@chromium.org>
2164
2165         Reviewed by David Levin.
2166
2167         Add feature define for data transfer items
2168         https://bugs.webkit.org/show_bug.cgi?id=55510
2169
2170         * Configurations/FeatureDefines.xcconfig:
2171         * GNUmakefile.am:
2172         * features.pri:
2173
2174 2011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
2175
2176         Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
2177
2178         * dom/ViewportArguments.cpp:
2179         (WebCore::computeViewportAttributes):
2180         (WebCore::numericPrefix):
2181         (WebCore::findSizeValue):
2182         (WebCore::setViewportFeature):
2183         (WebCore::viewportErrorMessageTemplate):
2184         (WebCore::viewportErrorMessageLevel):
2185         * dom/ViewportArguments.h:
2186
2187 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
2188
2189         Reviewed by James Robinson.
2190
2191         IDBKeyRange.bound() should not use the optional options object
2192         https://bugs.webkit.org/show_bug.cgi?id=55419
2193
2194         http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#range-concept
2195
2196         Added some code to existing tests to cover these cases.
2197
2198         * storage/IDBKeyRange.cpp:
2199         (WebCore::IDBKeyRange::bound):
2200         * storage/IDBKeyRange.h:
2201         * storage/IDBKeyRange.idl:
2202
2203 2011-03-01  Dan Bernstein  <mitz@apple.com>
2204
2205         Build fix.
2206
2207         * dom/DocumentMarkerController.cpp:
2208         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
2209
2210 2011-03-01  Kent Tamura  <tkent@chromium.org>
2211
2212         Unreviewed. Apply sort-Xcode-project-file.
2213
2214         * WebCore.xcodeproj/project.pbxproj:
2215
2216 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
2217
2218         Reviewed by James Robinson.
2219
2220         V8 code generator doesn't properly support a single SerializedScriptValue attribute
2221         https://bugs.webkit.org/show_bug.cgi?id=55530
2222
2223         This is tested by the bindings tests changes.
2224
2225         * bindings/scripts/CodeGeneratorV8.pm:
2226         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Added.
2227         (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterfacePrivate::WebDOMTestSerializedScriptValueInterfacePrivate):
2228         (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterface):
2229         (WebDOMTestSerializedScriptValueInterface::operator=):
2230         (WebDOMTestSerializedScriptValueInterface::impl):
2231         (WebDOMTestSerializedScriptValueInterface::~WebDOMTestSerializedScriptValueInterface):
2232         (WebDOMTestSerializedScriptValueInterface::value):
2233         (toWebCore):
2234         (toWebKit):
2235         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Added.
2236         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Added.
2237         (WebKit::kit):
2238         (webkit_dom_test_serialized_script_value_interface_get_value):
2239         (WebKit::core):
2240         (webkit_dom_test_serialized_script_value_interface_finalize):
2241         (webkit_dom_test_serialized_script_value_interface_set_property):
2242         (webkit_dom_test_serialized_script_value_interface_get_property):
2243         (webkit_dom_test_serialized_script_value_interface_constructed):
2244         (webkit_dom_test_serialized_script_value_interface_class_init):
2245         (webkit_dom_test_serialized_script_value_interface_init):
2246         (WebKit::wrapTestSerializedScriptValueInterface):
2247         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: Added.
2248         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h: Added.
2249         * bindings/scripts/test/JS/JSTestInterface.cpp:
2250         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
2251         (WebCore::JSTestInterface::JSTestInterface):
2252         * bindings/scripts/test/JS/JSTestInterface.h:
2253         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
2254         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
2255         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
2256         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
2257         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
2258         * bindings/scripts/test/JS/JSTestObj.cpp:
2259         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
2260         (WebCore::JSTestObj::JSTestObj):
2261         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
2262         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
2263         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
2264         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
2265         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
2266         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2267         (WebCore::jsTestObjPrototypeFunctionIdbKey):
2268         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
2269         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
2270         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
2271         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
2272         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
2273         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
2274         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
2275         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
2276         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
2277         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2278         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
2279         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
2280         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
2281         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
2282         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
2283         * bindings/scripts/test/JS/JSTestObj.h:
2284         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Added.
2285         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
2286         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
2287         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
2288         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
2289         (WebCore::JSTestSerializedScriptValueInterfacePrototype::self):
2290         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
2291         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
2292         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
2293         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
2294         (WebCore::jsTestSerializedScriptValueInterfaceValue):
2295         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
2296         (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
2297         (WebCore::toJS):
2298         (WebCore::toTestSerializedScriptValueInterface):
2299         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h.
2300         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
2301         (WebCore::JSTestSerializedScriptValueInterface::impl):
2302         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
2303         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
2304         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Added.
2305         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Added.
2306         (-[DOMTestSerializedScriptValueInterface dealloc]):
2307         (-[DOMTestSerializedScriptValueInterface finalize]):
2308         (-[DOMTestSerializedScriptValueInterface value]):
2309         (core):
2310         (kit):
2311         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Added.
2312         * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Added.
2313         * bindings/scripts/test/V8/V8TestInterface.cpp:
2314         (WebCore::ConfigureV8TestInterfaceTemplate):
2315         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Copied from Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp.
2316         (WebCore::TestSerializedScriptValueInterfaceInternal::V8_USE):
2317         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2318         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
2319         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
2320         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
2321         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2322         (WebCore::V8TestSerializedScriptValueInterface::derefObject):
2323         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Added.
2324         (WebCore::V8TestSerializedScriptValueInterface::toNative):
2325         (WebCore::V8TestSerializedScriptValueInterface::wrap):
2326         (WebCore::toV8):
2327
2328 2011-03-01  Oliver Hunt  <oliver@apple.com>
2329
2330         Reviewed by Joseph Pecoraro.
2331
2332         Misaligned memory access in CloneDeserializer on all ARM arch.
2333         https://bugs.webkit.org/show_bug.cgi?id=48742
2334
2335         Push platforms that need aligned memory access down the
2336         endian independent serialization and deserialization
2337         paths.
2338
2339         * bindings/js/SerializedScriptValue.cpp:
2340
2341 2011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
2342
2343         Reviewed by Kenneth Rohde Christiansen.
2344
2345         Viewport Warning/Error Messages Are Now Inaccurate
2346         https://bugs.webkit.org/show_bug.cgi?id=53707
2347
2348         Correct and improve the error messages for viewport
2349         parsing. Clarify the difference between incorrect
2350         keys, values, and when to use the device-width or
2351         device-height constants.
2352
2353         * dom/ViewportArguments.cpp:
2354         (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height.
2355         (WebCore::numericPrefix):
2356         (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height.
2357         (WebCore::setViewportFeature): report a warning for an unrecognized key.
2358         (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
2359         (WebCore::viewportErrorMessageLevel):
2360         * dom/ViewportArguments.h:
2361
2362 2011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
2363
2364         Reviewed by Darin Adler.
2365
2366         WebKit does not merge text decorations in the typing style and the selected element properly
2367         https://bugs.webkit.org/show_bug.cgi?id=55349
2368
2369         The bug was caused by EditingStyle::mergeTypingStyle's not properly merging text decoration property.
2370         Fixed the bug by extracting a function from ApplyStyleCommand::pushDownInlineStyleAroundNode and
2371         calling it in pushDownInlineStyleAroundNode and in mergeTypingStyle.
2372
2373         Test: editing/execCommand/merge-text-decoration-with-typing-style.html
2374
2375         * editing/ApplyStyleCommand.cpp:
2376         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Takes EditingStyle*;
2377         calls mergeInlineStyleOfElement.
2378         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls applyInlineStyleToPushDown.
2379         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
2380         * editing/ApplyStyleCommand.h:
2381         * editing/EditingStyle.cpp:
2382         (WebCore::EditingStyle::mergeTypingStyle): Added; calls mergeStyle.
2383         (WebCore::EditingStyle::mergeInlineStyleOfElement): Ditto.
2384         (WebCore::EditingStyle::mergeStyle): Extracted from applyInlineStyleToPushDown.
2385         * editing/EditingStyle.h:
2386
2387 2011-03-01  Levi Weintraub  <leviw@chromium.org>
2388
2389         Reviewed by Ryosuke Niwa.
2390
2391         Stop instantiating legacy editing Positions in VisiblePosition
2392         https://bugs.webkit.org/show_bug.cgi?id=52919
2393
2394         Changing VisiblePosition completely away from legacy positions.
2395
2396         No new tests since this is functionaly equivalent.
2397
2398         * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
2399         adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
2400         outside of WebCore, they should be parent anchored.
2401         * accessibility/AXObjectCache.cpp:
2402         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
2403         * accessibility/AccessibilityObject.cpp:
2404         (WebCore::startOfStyleRange):
2405         (WebCore::endOfStyleRange):
2406         * accessibility/AccessibilityRenderObject.cpp:
2407         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
2408         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2409         (objectAndOffsetUnignored):
2410         * dom/Position.cpp:
2411         (WebCore::Position::document): Added this inline function to avoid the necessity
2412         of calling anchorNode to assure a document from a Position.
2413         (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
2414         (WebCore::Position::downstream): ditto
2415         * dom/Range.cpp:
2416         (WebCore::Range::editingStartPosition):
2417         * editing/Editor.cpp:
2418         (WebCore::Editor::canDeleteRange):
2419         * editing/ReplaceSelectionCommand.cpp:
2420         (WebCore::ReplaceSelectionCommand::doApply):
2421         * editing/SelectionController.cpp:
2422         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
2423         (WebCore::SelectionController::setSelectedRange):
2424         * editing/TextIterator.cpp:
2425         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
2426         * editing/TypingCommand.cpp:
2427         (WebCore::TypingCommand::deleteKeyPressed):
2428         * editing/VisiblePosition.cpp:
2429         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
2430         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
2431         (WebCore::VisiblePosition::canonicalPosition):
2432         (WebCore::VisiblePosition::characterAfter):
2433         (WebCore::VisiblePosition::localCaretRect):
2434         (WebCore::makeRange):
2435         (WebCore::startVisiblePosition):
2436         (WebCore::endVisiblePosition):
2437         (WebCore::setStart):
2438         (WebCore::setEnd):
2439         (WebCore::isFirstVisiblePositionInNode):
2440         (WebCore::isLastVisiblePositionInNode):
2441         * editing/VisiblePosition.h:
2442         (WebCore::VisiblePosition::VisiblePosition):
2443         * editing/htmlediting.cpp:
2444         (WebCore::firstInSpecialElement):
2445         (WebCore::lastInSpecialElement):
2446         (WebCore::visiblePositionBeforeNode):
2447         (WebCore::visiblePositionAfterNode):
2448         * editing/visible_units.cpp:
2449         (WebCore::startPositionForLine):
2450         (WebCore::endPositionForLine):
2451         (WebCore::previousLinePosition):
2452         (WebCore::nextLinePosition):
2453         (WebCore::startOfParagraph):
2454         (WebCore::endOfParagraph):
2455         (WebCore::endOfBlock):
2456         (WebCore::startOfDocument):
2457         (WebCore::endOfDocument):
2458         (WebCore::logicalStartPositionForLine):
2459         (WebCore::logicalEndPositionForLine):
2460         * page/DOMSelection.cpp:
2461         (WebCore::DOMSelection::collapse):
2462         (WebCore::DOMSelection::setBaseAndExtent):
2463         (WebCore::DOMSelection::setPosition):
2464         (WebCore::DOMSelection::extend):
2465         * page/EventHandler.cpp:
2466         (WebCore::EventHandler::handleMousePressEventSingleClick):
2467         * rendering/RenderObject.cpp:
2468         (WebCore::RenderObject::createVisiblePosition):
2469         * rendering/RenderTextControl.cpp:
2470         (WebCore::RenderTextControl::visiblePositionForIndex):
2471         * svg/SVGTextContentElement.cpp:
2472         (WebCore::SVGTextContentElement::selectSubString):
2473
2474 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
2475
2476        Reviewed by Steve Block.
2477
2478        When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
2479        https://bugs.webkit.org/show_bug.cgi?id=54785
2480
2481        This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
2482        the right thing and continue to do the right thing. It also modifies EventQueue
2483        so that we can cancel an event. To do this efficiently, the vector is now a
2484        ListHashSet.
2485
2486        Cancelling the event is harder/messier, but the most deterministic thing to do.
2487        To the user, the work isn't done until we fire the onsuccess/onerror handler.
2488        So the event (which does fire that) needs to be cancelable.
2489
2490        transaction-abort.html tests this.
2491
2492        * dom/EventQueue.cpp:
2493        (WebCore::EventQueue::enqueueEvent):
2494        (WebCore::EventQueue::cancelEvent):
2495        (WebCore::EventQueue::pendingEventTimerFired):
2496        (WebCore::EventQueue::dispatchEvent):
2497        * dom/EventQueue.h:
2498        * dom/ExceptionCode.cpp:
2499        * storage/IDBCursor.cpp:
2500        (WebCore::IDBCursor::update):
2501        (WebCore::IDBCursor::deleteFunction):
2502        * storage/IDBDatabaseBackendImpl.cpp:
2503        (WebCore::IDBDatabaseBackendImpl::close):
2504        * storage/IDBDatabaseException.h:
2505        * storage/IDBIndex.cpp:
2506        (WebCore::IDBIndex::openCursor):
2507        (WebCore::IDBIndex::openKeyCursor):
2508        (WebCore::IDBIndex::get):
2509        (WebCore::IDBIndex::getKey):
2510        * storage/IDBObjectStore.cpp:
2511        (WebCore::IDBObjectStore::get):
2512        (WebCore::IDBObjectStore::add):
2513        (WebCore::IDBObjectStore::put):
2514        (WebCore::IDBObjectStore::deleteFunction):
2515        (WebCore::IDBObjectStore::clear):
2516        (WebCore::IDBObjectStore::openCursor):
2517        * storage/IDBRequest.cpp:
2518        (WebCore::IDBRequest::IDBRequest):
2519        (WebCore::IDBRequest::~IDBRequest):
2520        (WebCore::IDBRequest::readyState):
2521        (WebCore::IDBRequest::markEarlyDeath):
2522        (WebCore::IDBRequest::source):
2523        (WebCore::IDBRequest::abort):
2524        (WebCore::IDBRequest::onSuccess):
2525        (WebCore::IDBRequest::dispatchEvent):
2526        (WebCore::IDBRequest::enqueueEvent):
2527        * storage/IDBRequest.h:
2528        * storage/IDBTransaction.cpp:
2529        (WebCore::IDBTransaction::registerRequest):
2530        (WebCore::IDBTransaction::unregisterRequest):
2531        (WebCore::IDBTransaction::onAbort):
2532        * storage/IDBTransaction.h:
2533
2534 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
2535
2536         Reviewed by Mihai Parparita.
2537
2538         EventQueue needs to be ref counted
2539         https://bugs.webkit.org/show_bug.cgi?id=55512
2540
2541         EventQueue needs to be ref counted because it's possible for its instance
2542         to be deleted while it's dispatching events. This is the reason why
2543         https://bugs.webkit.org/show_bug.cgi?id=54785 had to be reverted.
2544
2545         No change of behavior, so no tests.
2546
2547         * dom/Document.h:
2548         * dom/EventQueue.cpp:
2549         (WebCore::EventQueue::create):
2550         * dom/EventQueue.h:
2551
2552 2011-03-01  Helder Correia  <helder@sencha.com>
2553
2554         Reviewed by Simon Fraser.
2555
2556         No shadow when stroking a path with a gradient
2557         https://bugs.webkit.org/show_bug.cgi?id=55436
2558
2559         This happens in CG and is related to bug 52509, this time to be fixed
2560         in GraphicsContext::strokePath(). The gradient needs to be drawn
2561         clipped to the stroke on a CGLayer first, then the layer drawn on the
2562         GraphicsContext.
2563
2564         Tests: fast/canvas/canvas-strokePath-gradient-shadow.html
2565                svg/css/path-gradient-stroke-shadow.svg
2566
2567         * platform/graphics/cg/GraphicsContextCG.cpp:
2568         (WebCore::GraphicsContext::strokePath):
2569
2570 2011-03-01  David Hyatt  <hyatt@apple.com>
2571
2572         Reviewed by Dan Bernstein.
2573
2574         Fix Font::spaceWidth() to be a float instead of an int.
2575
2576         * platform/graphics/Font.h:
2577         (WebCore::Font::spaceWidth):
2578
2579 2011-02-28  Steve Block  <steveblock@google.com>
2580
2581         Reviewed by Jeremy Orlow.
2582
2583         Chromium gypi file should include Java bridge files from WebCore/bridge
2584         https://bugs.webkit.org/show_bug.cgi?id=55387
2585
2586         No new tests, no code changes.
2587
2588         * WebCore.gyp/WebCore.gyp:
2589         * WebCore.gypi:
2590
2591 2011-03-01  James Simonsen  <simonjam@chromium.org>
2592
2593         Reviewed by Tony Gentilcore.
2594
2595         [Web Timing] Handle the case where no responseEnd time is available.
2596         https://bugs.webkit.org/show_bug.cgi?id=55444
2597
2598         * loader/MainResourceLoader.cpp:
2599         (WebCore::MainResourceLoader::MainResourceLoader): Initialize to 0.
2600         (WebCore::MainResourceLoader::didFinishLoading): Fall back to current time if no other time is available.
2601
2602 2011-03-01  Patrick Gansterer  <paroga@webkit.org>
2603
2604         Unreviewed, adding missing change for r80034.
2605
2606         Add a handler class for Win32 HANDLE
2607         https://bugs.webkit.org/show_bug.cgi?id=55334
2608
2609         * platform/win/Win32Handle.h: Added missing WTF_MAKE_NONCOPYABLE macro.
2610
2611 2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2612
2613         Unreviewed, rolling out r80037.
2614         http://trac.webkit.org/changeset/80037
2615         https://bugs.webkit.org/show_bug.cgi?id=55508
2616
2617         broke compile on SL (Requested by tonyg-cr on #webkit).
2618
2619         * Android.mk:
2620         * CMakeLists.txt:
2621         * GNUmakefile.am:
2622         * WebCore.gypi:
2623         * WebCore.pro:
2624         * WebCore.vcproj/WebCore.vcproj:
2625         * WebCore.xcodeproj/project.pbxproj:
2626         * css/CSSParser.cpp:
2627         (WebCore::CSSParser::parseValue):
2628         * css/CSSParser.h:
2629         * css/CSSStyleSelector.cpp:
2630         (WebCore::CSSStyleSelector::applyProperty):
2631         * css/html.css:
2632         (q:before):
2633         (q:after):
2634         * rendering/RenderBlockLineLayout.cpp:
2635         (WebCore::dirtyLineBoxesForRenderer):
2636         * rendering/RenderObject.h:
2637         * rendering/RenderObjectChildList.cpp:
2638         (WebCore::RenderObjectChildList::removeChildNode):
2639         (WebCore::RenderObjectChildList::appendChildNode):
2640         (WebCore::RenderObjectChildList::insertChildNode):
2641         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2642         * rendering/RenderQuote.cpp: Removed.
2643         * rendering/RenderQuote.h: Removed.
2644         * rendering/RenderingAllInOne.cpp:
2645         * rendering/style/ContentData.cpp:
2646         (WebCore::ContentData::dataEquivalent):
2647         (WebCore::ContentData::deleteContent):
2648         * rendering/style/ContentData.h:
2649         * rendering/style/QuotesData.cpp: Removed.
2650         * rendering/style/QuotesData.h: Removed.
2651         * rendering/style/RenderStyle.cpp:
2652         * rendering/style/RenderStyle.h:
2653         * rendering/style/RenderStyleConstants.h:
2654         * rendering/style/StyleAllInOne.cpp:
2655         * rendering/style/StyleRareInheritedData.cpp:
2656         (WebCore::StyleRareInheritedData::operator==):
2657         * rendering/style/StyleRareInheritedData.h:
2658
2659 2011-03-01  Abhishek Arya  <inferno@chromium.org>
2660
2661         Reviewed by Dave Hyatt.
2662
2663         Paint outline for tables.
2664         https://bugs.webkit.org/show_bug.cgi?id=55474
2665
2666         Test: fast/table/table-and-parts-outline.html
2667
2668         * rendering/RenderTable.cpp:
2669         (WebCore::RenderTable::paintObject):
2670
2671 2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2672
2673         Unreviewed, rolling out r80028.
2674         http://trac.webkit.org/changeset/80028
2675         https://bugs.webkit.org/show_bug.cgi?id=55502
2676
2677         'caused crashes; rolling out while investigating' (Requested
2678         by jorlow on #webkit).
2679
2680         * dom/EventQueue.cpp:
2681         (WebCore::EventQueue::enqueueEvent):
2682         (WebCore::EventQueue::pendingEventTimerFired):
2683         (WebCore::EventQueue::dispatchEvent):
2684         * dom/EventQueue.h:
2685         * dom/ExceptionCode.cpp:
2686         * storage/IDBCursor.cpp:
2687         (WebCore::IDBCursor::update):
2688         (WebCore::IDBCursor::deleteFunction):
2689         * storage/IDBDatabaseException.h:
2690         * storage/IDBDatabaseException.idl:
2691         * storage/IDBIndex.cpp:
2692         (WebCore::IDBIndex::openCursor):
2693         (WebCore::IDBIndex::openKeyCursor):
2694         (WebCore::IDBIndex::get):
2695         (WebCore::IDBIndex::getKey):
2696         * storage/IDBObjectStore.cpp:
2697         (WebCore::IDBObjectStore::get):
2698         (WebCore::IDBObjectStore::add):
2699         (WebCore::IDBObjectStore::put):
2700         (WebCore::IDBObjectStore::deleteFunction):
2701         (WebCore::IDBObjectStore::clear):
2702         (WebCore::IDBObjectStore::openCursor):
2703         * storage/IDBRequest.cpp:
2704         (WebCore::IDBRequest::IDBRequest):
2705         (WebCore::IDBRequest::~IDBRequest):
2706         (WebCore::IDBRequest::readyState):
2707         (WebCore::IDBRequest::dispatchEvent):
2708         (WebCore::IDBRequest::enqueueEvent):
2709         (WebCore::IDBRequest::source):
2710         * storage/IDBRequest.h:
2711         * storage/IDBTransaction.cpp:
2712         (WebCore::IDBTransaction::onAbort):
2713         * storage/IDBTransaction.h:
2714
2715 2011-03-01  Carol Szabo  <carol.szabo@nokia.com>
2716
2717         Reviewed by David Hyatt  <hyatt@apple.com>
2718
2719         content property doesn't support quotes
2720         https://bugs.webkit.org/show_bug.cgi?id=6503
2721
2722         Added full support for quotes as defined by CSS 2.1.
2723
2724         Tests: fast/css/content/content-quotes-01.html
2725                fast/css/content/content-quotes-02.html
2726                fast/css/content/content-quotes-03.html
2727                fast/css/content/content-quotes-04.html
2728                fast/css/content/content-quotes-05.html
2729
2730         * Android.mk:
2731         * CMakeLists.txt:
2732         * GNUmakefile.am:
2733         * WebCore.pro:
2734         * WebCore.vcproj/WebCore.vcproj:
2735         * WebCore.xcodeproj/project.pbxproj:
2736         Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
2737         * css/CSSParser.cpp:
2738         (WebCore::CSSParser::parseValue):
2739         (WebCore::CSSParser::parseQuotes):
2740         * css/CSSParser.h:
2741         Added needed stylesheet parsing support for quotes,
2742         (no-)open-quote and (no-)close-quote
2743         * css/CSSStyleSelector.cpp:
2744         (WebCore::CSSStyleSelector::applyProperty):
2745         Handled setting of the new quotes RenderStyle property and added
2746         handling of quotes for the content property.
2747         * css/html.css:
2748         (q:before):
2749         (q:after):
2750         replaced the '"' workaround with open/close-quote
2751         * rendering/RenderBlockLineLayout.cpp:
2752         (WebCore::dirtyLineBoxesForRenderer):
2753         Made RenderQuote behave like RenderCounter.
2754         Needed to ensure that the Quote text is calculated before layout,
2755         just as it is for RenderCounter.
2756         * rendering/RenderObject.h:
2757         (WebCore::RenderObject::isQuote):
2758         * rendering/RenderObjectChildList.cpp:
2759         (WebCore::RenderObjectChildList::removeChildNode):
2760         (WebCore::RenderObjectChildList::appendChildNode):
2761         (WebCore::RenderObjectChildList::insertChildNode):
2762         Handled updating of quote depth when renderers are added and removed
2763         from the tree.
2764         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2765         * rendering/RenderQuote.cpp: Added.
2766         (WebCore::adjustDepth):
2767         (WebCore::RenderQuote::RenderQuote):
2768         (WebCore::RenderQuote::~RenderQuote):
2769         (WebCore::RenderQuote::renderName):
2770         (WebCore::RenderQuote::placeQuote):
2771         (WebCore::RenderQuote::originalText):
2772         (WebCore::RenderQuote::computePreferredLogicalWidths):
2773         (WebCore::RenderQuote::rendererSubtreeAttached):
2774         (WebCore::RenderQuote::rendererRemovedFromTree):
2775         (WebCore::RenderQuote::styleDidChange):
2776         * rendering/RenderQuote.h: Added.
2777         (WebCore::RenderQuote::isQuote):
2778         (WebCore::toRenderQuote):
2779         * rendering/RenderingAllInOne.cpp:
2780         Included RenderQuote.cpp
2781         * rendering/style/StyleAllInOne.cpp:
2782         Included QuotesData.cpp
2783         * rendering/style/ContentData.cpp:
2784         (WebCore::ContentData::dataEquivalent):
2785         Checked for quotetype identity.
2786         (WebCore::ContentData::deleteContent):
2787         Accounted for the new QUOTE_TYPE.
2788         * rendering/style/ContentData.h:
2789         (WebCore::ContentData::isQuote):
2790         (WebCore::ContentData::quote):
2791         (WebCore::ContentData::setQuote):
2792         * rendering/style/RenderStyle.cpp:
2793         (WebCore::RenderStyle::setContent):
2794         * rendering/style/RenderStyle.h:
2795         (WebCore::InheritedFlags::quotes):
2796         (WebCore::InheritedFlags::setQuotes):
2797         * rendering/style/RenderStyleConstants.h:
2798         * rendering/style/StyleRareInheritedData.cpp:
2799         (WebCore::StyleRareInheritedData::operator==):
2800         Included quotes in equality check.
2801         * rendering/style/StyleRareInheritedData.h:
2802         Added quotes
2803
2804 2011-03-01  Michael Nordman  <michaeln@google.com>
2805
2806         Reviewed by Alexey Proskuryakov.
2807
2808         Alter the relative priorities of network vs fallback namespaces in the appcache.
2809         If a resource url is in an appcache's network namespace and fallback namespace, the network
2810         namespace wins (with the exception of the special '*' network namespace which does not take
2811         priority over the fallback namespace.
2812         https://bugs.webkit.org/show_bug.cgi?id=49292
2813
2814         Test: http/tests/appcache/online-fallback-layering.html
2815
2816         * loader/appcache/ApplicationCache.cpp:
2817         (WebCore::ApplicationCache::isURLInOnlineWhitelist):
2818         * loader/appcache/ApplicationCacheHost.cpp:
2819         (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
2820         (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource):
2821         * loader/appcache/ApplicationCacheStorage.cpp:
2822         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
2823
2824 2011-03-01  Patrick Gansterer  <paroga@webkit.org>
2825
2826         Reviewed by Adam Roben.
2827
2828         Add a handler class for Win32 HANDLE
2829         https://bugs.webkit.org/show_bug.cgi?id=55334
2830
2831         This class will call CloseHandle in the destructor for valid handles.
2832
2833         * platform/win/Win32Handle.h: Added.
2834
2835 2011-03-01  Eric Carlson  <eric.carlson@apple.com>
2836
2837         Reviewed by Chris Marrin.
2838
2839         <audio> and <video> should respect private browsing mode
2840         https://bugs.webkit.org/show_bug.cgi?id=55287
2841         <rdar://problem/9057699>
2842
2843         No new tests, this is just the plumbing.
2844
2845         * dom/Document.cpp:
2846         (WebCore::Document::privateBrowsingStateDidChange): New.
2847         (WebCore::Document::registerForPrivateBrowsingStateChangedCallbacks): Ditto.
2848         (WebCore::Document::unregisterForPrivateBrowsingStateChangedCallbacks): Ditto.
2849         * dom/Document.h:
2850
2851         * dom/Element.h:
2852         (WebCore::Element::privateBrowsingStateDidChange): New.
2853
2854         * html/HTMLMediaElement.cpp:
2855         (WebCore::HTMLMediaElement::HTMLMediaElement): Register for privacy mode changes.
2856         (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for privacy mode changes.
2857         (WebCore::HTMLMediaElement::loadResource): Tell player current privacy mode.
2858         (WebCore::HTMLMediaElement::privateBrowsingStateDidChange):  New, call through to MediaPlayer.
2859         * html/HTMLMediaElement.h:
2860
2861         * page/Page.cpp:
2862         (WebCore::Page::privateBrowsingStateChanged): Call document()->privateBrowsingStateDidChange.
2863
2864         * platform/graphics/MediaPlayer.cpp:
2865         (WebCore::MediaPlayer::setPrivateBrowsingMode): New, call through to media engine.
2866         * platform/graphics/MediaPlayer.h:
2867
2868         * platform/graphics/MediaPlayerPrivate.h:
2869         (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):  Declare new interface.
2870
2871 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
2872
2873         Reviewed by Steve Block.
2874
2875         When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
2876         https://bugs.webkit.org/show_bug.cgi?id=54785
2877
2878         This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
2879         the right thing and continue to do the right thing. It also modifies EventQueue
2880         so that we can cancel an event. To do this efficiently, the vector is now a
2881         ListHashSet.
2882
2883         Canelling the event is harder/messier, but the most deterministic thing to do.
2884         To the user, the work isn't done until we fire the onsuccess/onerror handler.
2885         So the event (which does fire that) needs to be cancelable.
2886
2887         transaction-abort.html tests this.
2888
2889         * dom/EventQueue.cpp:
2890         (WebCore::EventQueue::enqueueEvent):
2891         (WebCore::EventQueue::cancelEvent):
2892         (WebCore::EventQueue::pendingEventTimerFired):
2893         (WebCore::EventQueue::dispatchEvent):
2894         * dom/EventQueue.h:
2895         * dom/ExceptionCode.cpp:
2896         * storage/IDBCursor.cpp:
2897         (WebCore::IDBCursor::update):
2898         (WebCore::IDBCursor::deleteFunction):
2899         * storage/IDBDatabaseBackendImpl.cpp:
2900         (WebCore::IDBDatabaseBackendImpl::close):
2901         * storage/IDBDatabaseException.h:
2902         * storage/IDBIndex.cpp:
2903         (WebCore::IDBIndex::openCursor):
2904         (WebCore::IDBIndex::openKeyCursor):
2905         (WebCore::IDBIndex::get):
2906         (WebCore::IDBIndex::getKey):
2907         * storage/IDBObjectStore.cpp:
2908         (WebCore::IDBObjectStore::get):
2909         (WebCore::IDBObjectStore::add):
2910         (WebCore::IDBObjectStore::put):
2911         (WebCore::IDBObjectStore::deleteFunction):
2912         (WebCore::IDBObjectStore::clear):
2913         (WebCore::IDBObjectStore::openCursor):
2914         * storage/IDBRequest.cpp:
2915         (WebCore::IDBRequest::IDBRequest):
2916         (WebCore::IDBRequest::~IDBRequest):
2917         (WebCore::IDBRequest::readyState):
2918         (WebCore::IDBRequest::markEarlyDeath):
2919         (WebCore::IDBRequest::source):
2920         (WebCore::IDBRequest::abort):
2921         (WebCore::IDBRequest::onSuccess):
2922         (WebCore::IDBRequest::dispatchEvent):
2923         (WebCore::IDBRequest::enqueueEvent):
2924         * storage/IDBRequest.h:
2925         * storage/IDBTransaction.cpp:
2926         (WebCore::IDBTransaction::registerRequest):
2927         (WebCore::IDBTransaction::unregisterRequest):
2928         (WebCore::IDBTransaction::onAbort):
2929         * storage/IDBTransaction.h:
2930
2931 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
2932
2933         Reviewed by Steve Block.
2934
2935         Only IndexedDB's error event should be cancelable
2936         https://bugs.webkit.org/show_bug.cgi?id=55413
2937
2938         * storage/IDBRequest.cpp:
2939         (WebCore::createSuccessEvent):
2940         * storage/IDBTransaction.cpp:
2941         (WebCore::IDBTransaction::onAbort):
2942         (WebCore::IDBTransaction::onComplete):
2943
2944 2011-03-01  Jia Pu  <jpu@apple.com>
2945
2946         Reviewed by Darin Adler.
2947
2948         Remove CorrectionIndicator markers sooner.
2949         https://bugs.webkit.org/show_bug.cgi?id=54893
2950         <rdar://problem/8997524>
2951
2952         Test: platform/mac/editing/spelling/removing-underline-after-accepting-autocorrection-using-punctuation.html
2953
2954         This patch changes the autocorrection behavior on Mac OS X. We want to remove CorrectionIndicator
2955         marker after any editing command if the command:
2956         1. is not a SpellingCorrectionCommand itself.
2957         2. is not the command that triggers the autocorrection.
2958         This is achieved by adding shouldRetainAutocorrectionIndicator() function to EditCommand. This function returns
2959         false for all commands derived from EditCommand, except SpellingCorrectionCommand and TypingCommand. This function
2960         always returns true for SpellingCorrectionCommand. For TypingCommand, the return value is determined by member
2961         variable m_shouldRetainAutocorrectionIndicator, which can be modified by passing option into the TypingCommand's
2962         public functions.
2963         
2964         To avoid constantly searching marker list, we use variable DocumentMarkerController::m_absentMarkerTypeCache
2965         to cache whether there is any marker of a particular type.
2966
2967         This patch also fixes two minor existing bugs.
2968         
2969         1. We used to show reversion panel for word with CorrectionIndicator marker. This is incorrect because
2970         CorrectionIndicator marker can be removed from corrected words. Since all autocorrected words have Replacement
2971         marker unless the whole word is deleted, the correct behavior is to show reversion panel for word with Replacement
2972         marker, since all autocorrected words have such marker. However, since we don't want to show the reversion panel
2973         if an autocorrected word has been edited, we also check to see if the Replacement marker's description is null.
2974         
2975         This works as following:
2976         When we apply an autocorrection, we add Replacement marker to corrected word, and store original word
2977         as the marker's description. If the user edited the corrected word afterward, we set description to null.
2978         So when we decide whether to show a reversion panel, we not only check for the existence of Replacement
2979         marker, but also check if description is null.
2980         
2981         2. Fixed an assertion violation in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited(), which would
2982         occur when deleting the first character in an editable area.
2983
2984         * dom/DocumentMarker.h: Added m_possiblyExistingMarkerTypes to allow quickly checking whether a marker type is
2985            completely in from the document.
2986
2987         * dom/DocumentMarkerController.cpp: Most of the functions listed here are optimized for early return by checking
2988            the return value of possiblyHasMarkers() at beginning.
2989         (WebCore::DocumentMarkerController::possiblyHasMarkers):
2990         (WebCore::DocumentMarkerController::DocumentMarkerController):
2991         (WebCore::DocumentMarkerController::detach):
2992         (WebCore::DocumentMarkerController::removeMarkers):
2993         (WebCore::DocumentMarkerController::addMarker):
2994         (WebCore::DocumentMarkerController::copyMarkers):
2995         (WebCore::DocumentMarkerController::markerContainingPoint):
2996         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
2997         (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
2998         (WebCore::DocumentMarkerController::repaintMarkers):
2999         (WebCore::DocumentMarkerController::shiftMarkers):
3000         (WebCore::DocumentMarkerController::setMarkersActive):
3001         (WebCore::DocumentMarkerController::hasMarkers):
3002         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
3003         * dom/DocumentMarkerController.h:
3004         * editing/EditCommand.cpp:
3005         (WebCore::EditCommand::apply):
3006         (WebCore::EditCommand::shouldRetainAutocorrectionIndicator):
3007         (WebCore::EditCommand::setShouldRetainAutocorrectionIndicator):
3008         * editing/EditCommand.h:
3009         * editing/Editor.cpp:
3010         (WebCore::Editor::respondToChangedSelection):
3011         (WebCore::Editor::appliedEditing):
3012         (WebCore::Editor::insertTextWithoutSendingTextEvent):
3013         (WebCore::Editor::insertLineBreak):
3014         (WebCore::Editor::insertParagraphSeparator):
3015         (WebCore::Editor::markMisspellingsAfterTypingToWord):
3016         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3017         (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
3018         (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
3019         * editing/Editor.h:
3020         * editing/EditorCommand.cpp:
3021         (WebCore::executeInsertLineBreak):
3022         (WebCore::executeInsertParagraph):
3023         (WebCore::executeInsertText):
3024         * editing/SpellingCorrectionCommand.cpp:
3025         (WebCore::SpellingCorrectionCommand::shouldRetainAutocorrectionIndicator):
3026         * editing/SpellingCorrectionCommand.h:
3027         * editing/TypingCommand.cpp:
3028         (WebCore::TypingCommand::TypingCommand):
3029         (WebCore::TypingCommand::deleteSelection):
3030         (WebCore::TypingCommand::deleteKeyPressed):
3031         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3032         (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection):
3033         (WebCore::TypingCommand::insertText):
3034         (WebCore::TypingCommand::insertLineBreak):
3035         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
3036         (WebCore::TypingCommand::insertParagraphSeparator):
3037         * editing/TypingCommand.h:
3038         (WebCore::TypingCommand::create):
3039         (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):
3040         (WebCore::TypingCommand::setShouldRetainAutocorrectionIndicator):
3041         * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html:
3042
3043 2011-03-01  Renata Hodovan  <reni@webkit.org>
3044
3045         Reviewed by Andreas Kling.
3046
3047         FEDisplacementMapElement changes doesn't require relayout
3048         https://bugs.webkit.org/show_bug.cgi?id=55454
3049
3050         When the FEDisplacementMapElement receives an update message but the given value remains the same we don't need
3051         to relayout the filter.
3052
3053         No new tests are needed because this modification is covered by the dynamic update tests of FEDisplacementMap.
3054
3055         * platform/graphics/filters/FEDisplacementMap.cpp:
3056         (WebCore::FEDisplacementMap::setXChannelSelector):
3057         (WebCore::FEDisplacementMap::setYChannelSelector):
3058         (WebCore::FEDisplacementMap::setScale):
3059         * platform/graphics/filters/FEDisplacementMap.h:
3060         * svg/SVGFEDisplacementMapElement.cpp:
3061         (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute):
3062         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
3063         * svg/SVGFEDisplacementMapElement.h:
3064
3065 2011-03-01  Dan Bernstein  <mitz@apple.com>
3066
3067         Reviewed by Darin Adler.
3068
3069         <rdar://problem/8902714> Expand ruby text when it is shorter than the ruby base
3070         https://bugs.webkit.org/show_bug.cgi?id=55487
3071
3072         * css/html.css:
3073         (ruby > rt): Changed the default text-align value to -webkit-auto to signal
3074         the default expansion behavior.
3075         * rendering/RenderBlock.h:
3076         (WebCore::RenderRubyText::textAlignmentForLine): Made protected.
3077         (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Made protected.
3078         * rendering/RenderRubyText.cpp:
3079         (WebCore::RenderRubyText::textAlignmentForLine): Added. If text-align is
3080         -webkit-auto, returns JUSTIFY to allow expansion.
3081         (WebCore::RenderRubyText::adjustInlineDirectionLineBounds): Added. If
3082         text-align is -webkit-auto, insets the line such that the inset on each side
3083         is the half the inter-ideograph expansion, or one ruby character wide,
3084         whichever is smaller.
3085         * rendering/RenderRubyText.h:
3086
3087 2011-03-01  Sam Weinig  <sam@webkit.org>
3088
3089         Reviewed by Timothy Hatcher.
3090
3091         WebKit2 needs to be made localizable
3092         https://bugs.webkit.org/show_bug.cgi?id=55483
3093
3094         * English.lproj/Localizable.strings: Copied from Source/WebKit/English.lproj/Localizable.strings.
3095         * WebCore.xcodeproj/project.pbxproj:
3096         Move Localizable.strings to WebCore.
3097
3098         * WebCore.exp.in:
3099         Add export for localizedString function.
3100
3101         * platform/LocalizedStrings.h:
3102         * platform/mac/LocalizedStringsMac.mm: Added.
3103         Add function to get localized version of a string from the WebCore bundle.
3104
3105 2011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
3106
3107         Reviewed by Timothy Hatcher.
3108
3109         All Console Messages should be passed to ChromeClients.
3110         https://bugs.webkit.org/show_bug.cgi?id=54926
3111
3112         Do not filter the message type here, allow clients
3113         to filter and deal with the different message types.
3114
3115         * page/Console.cpp:
3116         (WebCore::Console::addMessage):
3117
3118 2011-02-23  Joseph Pecoraro  <joepeck@webkit.org>
3119
3120         Reviewed by Kenneth Rohde Christiansen.
3121
3122         Viewport parsing no longer accepts "1.0;" value as valid.
3123         https://bugs.webkit.org/show_bug.cgi?id=53705
3124
3125         When parsing numeric values, the "css-viewport" spec says
3126         to use the number prefix, and the non numeric part of the
3127         string can be ignored. This matches our behavior before
3128         r67376. The change was that checking the error out condition
3129         of String::toFloat doesn't necessarily mean that there
3130         was a non-numeric prefix. This patch checks if there was
3131         or wasn't a non-numeric prefix.
3132
3133         There is a console warning in any case where a numeric
3134         value is not parsed cleanly. There is an error warning
3135         when it is not a number at all, and a tip warning when
3136         it has been truncated.
3137
3138         Error messages are slightly improved to provide more
3139         context, both the key and value, when an error happens.
3140
3141         Test: fast/viewport/viewport-129.html
3142
3143         * dom/ViewportArguments.cpp:
3144         (WebCore::numericPrefix):
3145         (WebCore::findSizeValue):
3146         (WebCore::findScaleValue):
3147         (WebCore::findUserScalableValue):
3148         (WebCore::findTargetDensityDPIValue):
3149         (WebCore::viewportErrorMessageTemplate):
3150         (WebCore::viewportErrorMessageLevel):
3151         (WebCore::reportViewportWarning):
3152         * dom/ViewportArguments.h:
3153
3154 2011-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
3155
3156         Reviewed by Pavel Feldman.
3157
3158         Web Inspector: InjectedScript.setPropertyValue doesn't work.
3159         https://bugs.webkit.org/show_bug.cgi?id=55475
3160
3161         * inspector/InjectedScript.cpp:
3162         (WebCore::InjectedScript::setPropertyValue):
3163
3164 2011-03-01  Steve Block  <steveblock@google.com>
3165
3166         Reviewed by Jeremy Orlow.
3167
3168         Remove unused JavaString::uchars()
3169         https://bugs.webkit.org/show_bug.cgi?id=55465
3170
3171         No new tests, removing dead code only.
3172
3173         * bridge/jni/JNIBridge.h:
3174         * bridge/jni/jsc/JavaStringJSC.h:
3175         (JSC::Bindings::JavaStringImpl::utf8):
3176         * bridge/jni/v8/JavaStringV8.h:
3177
3178 2011-03-01  Alexander Pavlov  <apavlov@chromium.org>
3179
3180         Reviewed by Yury Semikhatsky.
3181
3182         Web Inspector: Extremely slow DOM search in GMail
3183         https://bugs.webkit.org/show_bug.cgi?id=55456
3184
3185         The solution comprises three major parts:
3186         - avoid multiple invocations of highlightSearchResults(), one per each nodeIds chunk.
3187         - cache highlighted node's innerHTML so that no extra _nodeTitleInfo() calls will be needed.
3188         - replace hand-written Text nodes iteration with a snapshot-based ".//text()" XPathResult.
3189
3190         * inspector/front-end/ElementsPanel.js:
3191         (WebInspector.ElementsPanel.prototype.searchCanceled):
3192         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
3193         * inspector/front-end/ElementsTreeOutline.js:
3194         (WebInspector.ElementsTreeElement.prototype.highlightSearchResults):
3195         (WebInspector.ElementsTreeElement.prototype.updateTitle):
3196         ():
3197         * inspector/front-end/utilities.js:
3198         ():
3199
3200 2011-03-01  Adam Roben  <aroben@apple.com>
3201
3202         Fix multiple-definition linker warnings introduced by r79978 on Windows
3203
3204         * rendering/RenderingAllInOne.cpp: Removed TextControlInnerElements.cpp, as it is now being
3205         compiled separately.
3206
3207 2011-03-01  Andras Becsi  <abecsi@webkit.org>
3208
3209         Reviewed by Csaba Osztrogonác.
3210
3211         [Qt] Clean up the project files and move common options to WebKit.pri.
3212
3213         No new tests needed.
3214
3215         * WebCore.pri: Move common options to WebKit.pri.
3216         * WebCore.pro: Ditto.
3217
3218 2011-03-01  Steve Block  <steveblock@google.com>
3219
3220         Reviewed by Pavel Feldman.
3221
3222         JNI code in Java bridge is not correctly guarded
3223         https://bugs.webkit.org/show_bug.cgi?id=55459
3224
3225         No new tests, build fix only.
3226
3227         * bridge/jni/v8/JNIBridgeV8.cpp:
3228         * bridge/jni/v8/JNIBridgeV8.h:
3229         * bridge/jni/v8/JNIUtilityPrivate.cpp:
3230         * bridge/jni/v8/JNIUtilityPrivate.h:
3231         * bridge/jni/v8/JavaClassV8.cpp:
3232         * bridge/jni/v8/JavaClassV8.h:
3233         * bridge/jni/v8/JavaInstanceV8.cpp:
3234         * bridge/jni/v8/JavaInstanceV8.h:
3235         * bridge/jni/v8/JavaNPObjectV8.cpp:
3236         * bridge/jni/v8/JavaNPObjectV8.h:
3237
3238 2011-03-01  Steve Block  <steveblock@google.com>
3239
3240         Reviewed by Jeremy Orlow.
3241
3242         Bridge.h should not include BridgeJSC.h
3243         https://bugs.webkit.org/show_bug.cgi?id=55212
3244
3245         Instead, BridgeJSC.h should include Bridge.h and code should include
3246         BridgeJSC.h as appropriate.
3247
3248         This prevents ports that use V8 from having to include JSC-specific
3249         files, even if the contents of those files are guarded.
3250
3251         No new tests, cleanup only.
3252
3253         * bindings/js/JSPluginElementFunctions.cpp:
3254         * bindings/js/ScriptControllerBrew.cpp:
3255         * bindings/js/ScriptControllerGtk.cpp:
3256         * bindings/js/ScriptControllerHaiku.cpp:
3257         * bindings/js/ScriptControllerQt.cpp:
3258         * bindings/js/ScriptControllerMac.mm:
3259         * bindings/js/ScriptControllerWin.cpp:
3260         * bindings/js/ScriptControllerWx.cpp:
3261         * bindings/js/ScriptInstance.h:
3262         * bindings/objc/WebScriptObject.mm:
3263         * bridge/Bridge.h:
3264         * bridge/c/c_class.h:
3265         * bridge/c/c_instance.h:
3266         * bridge/c/c_runtime.h:
3267         * bridge/jni/jsc/JNIBridgeJSC.h:
3268         * bridge/jni/jsc/JavaInstanceJSC.h:
3269         * bridge/jsc/BridgeJSC.h:
3270         * bridge/objc/objc_runtime.h:
3271         * bridge/qt/qt_class.h:
3272         * bridge/qt/qt_instance.h:
3273         * bridge/qt/qt_pixmapruntime.h:
3274         * bridge/qt/qt_runtime.h:
3275         * bridge/runtime_array.h:
3276         * bridge/runtime_method.h:
3277         * bridge/runtime_object.h:
3278         * bridge/runtime_root.cpp:
3279         * bridge/testbindings.cpp:
3280         * bridge/testbindings.mm:
3281         * bridge/testqtbindings.cpp:
3282         * page/win/FrameWin.cpp:
3283         * platform/graphics/wince/MediaPlayerProxy.cpp:
3284         * plugins/PluginView.cpp:
3285         * plugins/PluginViewNone.cpp:
3286         * plugins/gtk/PluginViewGtk.cpp:
3287         * plugins/mac/PluginViewMac.mm:
3288         * plugins/qt/PluginViewQt.cpp:
3289         * plugins/symbian/PluginViewSymbian.cpp:
3290         * plugins/win/PluginViewWin.cpp:
3291
3292 2011-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
3293
3294         Reviewed by Antti Koivisto.
3295
3296         SVG 1.1 2nd Edition color-prop-05-t.svg exposes bug in 'currentColor' handling
3297         https://bugs.webkit.org/show_bug.cgi?id=54800
3298
3299         Wrong handling of currentColor on inherit
3300         https://bugs.webkit.org/show_bug.cgi?id=38102
3301
3302         Stop storing RefPtr<SVGPaint> objects in the SVGRenderStyle for fill/stroke. These are the last
3303         two objects that held references to CSSValues, they're all gone now, aligning better with RenderStyle.
3304         It's also dangerous, as a SVGPaint object can be shared by multiple SVGRenderStyles (MappedAttribute will
3305         once create a CSSStyleDeclaration for fill="red" and reuse it where possible), and it was easy to
3306         accidently mutate the object, affecting multiple styles. Instead store a Color, an URI and a paint
3307         type in SVGRenderStyle, enough to create a SVGPaint object, if needed (eg for computed styles).
3308
3309         <g color="green"><rect fill="currentColor"/> already worked fine in trunk, but
3310         <g fill="currentColor" color="green"><rect color="red"/> procuded a red rectangle.
3311
3312         In order to fix to bug we have to resolve all currentColor values for SVGPaint objects, in SVGCSSStyleSelector,
3313         as it's already done for SVGColor objects (stop-color, flood-color, etc.) instead of in RenderSVGResource::fill/strokePaintingResource,
3314         when trying to use the paint server. The correct "color" value that should be used from the RenderStyle, is directly
3315         available in CSSStyleSelector: in applyProperty m_style->color() gives the desired value. In CSSStyleSelector it's handled
3316         exactly this way for non-SVG currentColor properties. Also fix computed styles, which did not resolve currentColor for SVGPaint/SVGColor.
3317
3318         A previous patch implemented the SVGPaint/SVGColor API. SVG demands these CSSValues to be mutable. Introduce
3319         CSSMutableValue, which extends CSSValue by a Node pointer, and let SVGPaint/SVGColor inherit from it.
3320         Mutating a SVGPaint/SVGColor object now takes immediate effect, which is reflected in the inline style / computed style.
3321         (Note that getPresentationAttribute() already takes care of removing the CSSValue from the mapped attribute cache, so that it's no longer shared.)
3322
3323         Add several new tests covering the patch.
3324
3325         Tests: svg/W3C-SVG-1.1-SE/color-prop-05-t.svg
3326                svg/animations/animate-color-fill-currentColor.html
3327                svg/custom/SVGPaint-mutate-attribute.svg
3328                svg/custom/SVGPaint-mutate-inline-style.svg
3329
3330         * GNUMakefile.am: Add CSSMutableValue.h
3331         * WebCore.gypi: Ditto.
3332         * WebCore.xcodeproj/project.pbxproj: Ditto.
3333         * css/CSSMutableStyleDeclaration.cpp: Reset the Node pointer in all CSSMutableValues belonging to this style declaration.
3334         (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
3335         * css/CSSMutableStyleDeclaration.h: Add destructor.
3336         * css/CSSMutableValue.h: Added.
3337         (WebCore::CSSMutableValue::CSSMutableValue):
3338         (WebCore::CSSMutableValue::~CSSMutableValue):
3339         (WebCore::CSSMutableValue::isMutableValue):
3340         (WebCore::CSSMutableValue::node):
3341         (WebCore::CSSMutableValue::setNode):
3342         (WebCore::CSSMutableValue::setNeedsStyleRecalc):
3343         * css/CSSStyleDeclaration.cpp:
3344         (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Set the Node object of a CSSMutableValue to the Node, this style declaration belongs to.
3345         * css/CSSValue.h:
3346         (WebCore::CSSValue::isMutableValue): Return false, default.
3347         * css/SVGCSSComputedStyleDeclaration.cpp:
3348         (WebCore::CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor): Add helper function, resolving currentColor values for SVGPaint objects.
3349         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Use currentColorOrValidColor/adjustSVGPaintForCurrentColor to resolve SVGColor/SVGPaint values.
3350         * css/SVGCSSStyleSelector.cpp:
3351         (WebCore::CSSStyleSelector::applySVGProperty): Store fill/stroke uri, color, paint type seperated in SVGRenderStyle, don't store the full SVGPaint object anymore.
3352         * rendering/style/SVGRenderStyle.cpp:
3353         (WebCore::SVGRenderStyle::diff): Adapt to SVGPaint changes.
3354         * rendering/style/SVGRenderStyle.h: Ditto.
3355         (WebCore::SVGRenderStyle::initialFillOpacity):
3356         (WebCore::SVGRenderStyle::initialFillPaintType):
3357         (WebCore::SVGRenderStyle::initialFillPaintColor):
3358         (WebCore::SVGRenderStyle::initialFillPaintUri):
3359         (WebCore::SVGRenderStyle::initialStrokeOpacity):
3360         (WebCore::SVGRenderStyle::initialStrokePaintType):
3361         (WebCore::SVGRenderStyle::initialStrokePaintColor):
3362         (WebCore::SVGRenderStyle::initialStrokePaintUri):
3363         (WebCore::SVGRenderStyle::initialStrokeMiterLimit):
3364         (WebCore::SVGRenderStyle::initialStopOpacity):
3365         (WebCore::SVGRenderStyle::initialFloodOpacity):
3366         (WebCore::SVGRenderStyle::setFillPaint):
3367         (WebCore::SVGRenderStyle::setStrokePaint):
3368         (WebCore::SVGRenderStyle::fillPaintType):
3369         (WebCore::SVGRenderStyle::fillPaintColor):
3370         (WebCore::SVGRenderStyle::fillPaintUri):
3371         (WebCore::SVGRenderStyle::strokePaintType):
3372         (WebCore::SVGRenderStyle::strokePaintColor):
3373         (WebCore::SVGRenderStyle::strokePaintUri):
3374         (WebCore::SVGRenderStyle::hasStroke):
3375         (WebCore::SVGRenderStyle::hasFill):
3376         * rendering/style/SVGRenderStyleDefs.cpp: Ditto.
3377         (WebCore::StyleFillData::StyleFillData):
3378         (WebCore::StyleFillData::operator==):
3379         (WebCore::StyleStrokeData::StyleStrokeData):
3380         (WebCore::StyleStrokeData::operator==):
3381         * rendering/style/SVGRenderStyleDefs.h: Ditto.
3382         * rendering/svg/RenderSVGResource.cpp: Ditto.
3383         (WebCore::requestPaintingResource):
3384         * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
3385         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
3386         * rendering/svg/SVGResources.cpp: Ditto.
3387         (WebCore::paintingResourceFromSVGPaint):
3388         (WebCore::SVGResources::buildCachedResources):
3389         * svg/SVGColor.cpp: Call setNeedsStyleRecalc() after mutating the object.
3390         (WebCore::SVGColor::setRGBColor):
3391         (WebCore::SVGColor::setRGBColorICCColor):
3392         (WebCore::SVGColor::setColor):
3393         * svg/SVGColor.h:
3394         * svg/SVGPaint.cpp: Ditto.
3395         (WebCore::SVGPaint::setUri):
3396         (WebCore::SVGPaint::setPaint):
3397         * svg/SVGPaint.h:
3398
3399 2011-03-01  Andrey Adaikin  <aandrey@google.com>
3400
3401         Reviewed by Pavel Feldman.
3402
3403         Web Inspector: [Text editor] Handle decorated lines in the editor
3404         https://bugs.webkit.org/show_bug.cgi?id=55373
3405
3406         * inspector/front-end/SourceFrame.js:
3407         (WebInspector.SourceFrame.prototype._startEditing):
3408         (WebInspector.SourceFrame.prototype._endEditing):
3409         (WebInspector.SourceFrame.prototype._createTextViewer):
3410         * inspector/front-end/TextViewer.js:
3411         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
3412         (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
3413         (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
3414         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
3415         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
3416         (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
3417         (WebInspector.TextEditorMainPanel.prototype._markDirtyLines):
3418         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
3419         (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
3420         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
3421         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
3422         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
3423         (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
3424         (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
3425         (WebInspector.TextEditorMainChunk.prototype.get decorated):
3426
3427 2011-03-01  Philippe Normand  <pnormand@igalia.com>
3428
3429         Unreviewed GTK build fix after r79978
3430
3431         * GNUmakefile.am:
3432
3433 2011-03-01  Andras Becsi  <abecsi@webkit.org>
3434
3435         Unreviewed build fix.
3436
3437         [Qt] Fix minimal build.
3438
3439         No new tests needed.
3440
3441         * WebCore.pri: Is included in WebKit2.pro, so XP_UNIX can remain here.
3442
3443 2011-03-01  anthony taranto  <anthony.taranto@gmail.com>
3444
3445         Return undefined value from ScriptController::evaluate(), allowing the
3446         caller to distinguish between an error and an undefined return value.
3447         https://bugs.webkit.org/show_bug.cgi?id=51528
3448
3449         * bindings/v8/ScriptController.cpp: 
3450
3451 2011-03-01  Roland Steiner  <rolandsteiner@chromium.org>
3452
3453         Reviewed by Kent Tamura.
3454
3455         Bug 54853 - Move TextControlInnerElements from WebCore/rendering to WebCore/html/shadow
3456         https://bugs.webkit.org/show_bug.cgi?id=54853
3457         
3458         Moving the files from rendering to html/shadow, with the exception of
3459         the class RenderTextControlInnerBlock, which I moved to RenderTextControlSingleLine
3460         (this place is not ideal, but only a temporary state during the larger refactoring
3461         for <input>).
3462
3463         No new tests. (refactoring)