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