2011-02-22 Ryosuke Niwa <rniwa@webkit.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Reviewed by Darin Adler.
4
5         Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
6         https://bugs.webkit.org/show_bug.cgi?id=54944
7
8         Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
9
10         Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
11         which returns true iff the specified element has inline style that conflicts or matches the editing style.
12         It also appends conflicting property IDs to the vector of property IDs if one is specified.
13
14         * editing/ApplyStyleCommand.cpp:
15         (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
16         (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
17         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
18         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
19         (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
20         conflictsWithInlineStyleOfElement.
21         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
22         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
23         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
24         (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
25         * editing/ApplyStyleCommand.h:
26         (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
27         * editing/EditingStyle.cpp:
28         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
29         * editing/EditingStyle.h:
30         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
31
32 2011-02-22  Chang Shu  <cshu@webkit.org>
33
34         Reviewed by Csaba Osztrogonác.
35
36         [Qt] editing/deleting/5408255.html fails
37         https://bugs.webkit.org/show_bug.cgi?id=54964
38
39         Move WebCore resource file to QtWebKit since they are referred in WebKit.
40
41         * WebCore.pro:
42
43 2011-02-22  Brady Eidson  <beidson@apple.com>
44
45         Reviewed by Anders Carlsson.
46
47         <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
48         API to view and delete Application Cache data by origin.
49
50         Implement these to be used by WK2 API:
51         * loader/appcache/ApplicationCacheStorage.cpp:
52         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
53         (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
54
55 2011-02-22  Geoffrey Garen  <ggaren@apple.com>
56
57         Reviewed by Oliver Hunt.
58
59         Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
60         https://bugs.webkit.org/show_bug.cgi?id=54999
61         
62         New WTF header.
63
64         * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
65
66 2011-02-22  Beth Dakin  <bdakin@apple.com>
67
68         Reviewed by Sam Weinig.
69
70         Fix for https://bugs.webkit.org/show_bug.cgi?id=54991 
71         Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS 
72         Scrollbars
73         -and corresponding-
74         <rdar://problem/9034318>
75
76         Instead of consulting the theme directly, callers should ask the Scrollbar or 
77         ScrollableArea if the scrollbars are overlay or not. 
78
79         * platform/ScrollView.cpp:
80         (WebCore::ScrollView::visibleContentRect):
81         (WebCore::ScrollView::scrollContents):
82         (WebCore::ScrollView::wheelEvent):
83         * platform/ScrollableArea.cpp:
84         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
85         (WebCore::ScrollableArea::hasOverlayScrollbars):
86         * platform/ScrollableArea.h:
87         * platform/Scrollbar.cpp:
88         (WebCore::Scrollbar::isOverlayScrollbar):
89         * platform/Scrollbar.h:
90         * rendering/RenderBox.cpp:
91         (WebCore::RenderBox::includeVerticalScrollbarSize):
92         (WebCore::RenderBox::includeHorizontalScrollbarSize):
93         * rendering/RenderLayer.cpp:
94         (WebCore::RenderLayer::verticalScrollbarWidth):
95         (WebCore::RenderLayer::horizontalScrollbarHeight):
96         * rendering/RenderListBox.cpp:
97         (WebCore::RenderListBox::verticalScrollbarWidth):
98         * rendering/RenderScrollbar.h:
99         (WebCore::RenderScrollbar::isOverlayScrollbar):
100
101 2011-02-22  Andras Becsi  <abecsi@webkit.org>
102
103         Reviewed by Csaba Osztrogonác.
104
105         [Qt] Redesign the build system
106         https://bugs.webkit.org/show_bug.cgi?id=51339
107
108         Move inspector's resource files into the final build step to fix the layout test regression.
109
110         No new tests needed.
111
112         * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
113
114 2011-02-22  Martin Robinson  <mrobinson@igalia.com>
115
116         Reviewed by Xan Lopez.
117
118         [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
119         https://bugs.webkit.org/show_bug.cgi?id=54990
120
121         No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
122         to start passing again.
123
124         * platform/gtk/ScrollViewGtk.cpp:
125         (WebCore::ScrollView::visibleContentRect): Update this method to match the original
126         in the parent class.
127
128 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
129
130         Reviewed by Xan Lopez.
131
132         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
133         https://bugs.webkit.org/show_bug.cgi?id=49177
134
135         * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
136         of platformAddChild and platformRemoveChild. This code can be shared.
137         * platform/gtk/MainFrameScrollbarGtk.cpp:
138         (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
139         adjustment. Connect the adjustment value-changed signal handler after resetting the
140         adjustment. This prevents the rest from stomping on pre-existing WebCore values.
141         (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
142         a scrollview do not listing for value changes. These scrollbars are defunct.
143         * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
144
145 2011-02-22  Pavel Feldman  <pfeldman@chromium.org>
146
147         Reviewed by Yury Semikhatsky.
148
149         Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
150         https://bugs.webkit.org/show_bug.cgi?id=54954
151
152         * bindings/js/JSInjectedScriptHostCustom.cpp:
153         (WebCore::InjectedScriptHost::toNode):
154         (WebCore::JSInjectedScriptHost::inspect):
155         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
156         (WebCore::InjectedScriptHost::toNode):
157         (WebCore::V8InjectedScriptHost::inspectCallback):
158         * inspector/CodeGeneratorInspector.pm:
159         * inspector/InjectedScript.cpp:
160         (WebCore::InjectedScript::nodeForObjectId):
161         * inspector/InjectedScript.h:
162         * inspector/InjectedScriptHost.cpp:
163         (WebCore::InjectedScriptHost::inspect):
164         * inspector/InjectedScriptHost.h:
165         * inspector/InjectedScriptHost.idl:
166         * inspector/InjectedScriptSource.js:
167         (.):
168         * inspector/Inspector.idl:
169         * inspector/InspectorAgent.cpp:
170         (WebCore::InspectorAgent::focusNode):
171         * inspector/InspectorAgent.h:
172         * inspector/InspectorDOMAgent.cpp:
173         (WebCore::InspectorDOMAgent::inspect):
174         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
175         * inspector/InspectorDOMAgent.h:
176         * inspector/front-end/AuditRules.js:
177         (WebInspector.AuditRules.evaluateInTargetWindow):
178         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
179         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
180         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
181         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
182         * inspector/front-end/ConsoleView.js:
183         (WebInspector.ConsoleView.prototype.completions):
184         * inspector/front-end/DOMAgent.js:
185         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
186         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
187         * inspector/front-end/RemoteObject.js:
188         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
189
190 2011-02-22  Brady Eidson  <beidson@apple.com>
191
192         Reviewed by Anders Carlsson.
193
194         Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
195         API to view and delete Application Cache data by origin.
196
197         Stub these out for now:
198         * loader/appcache/ApplicationCacheStorage.cpp:
199         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
200         (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
201         (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
202         * loader/appcache/ApplicationCacheStorage.h:
203
204         Export the new symbols:
205         * WebCore.exp.in:
206
207 2011-02-22  Anders Carlsson  <andersca@apple.com>
208
209         Fix debug build.
210
211         * WebCore.exp.in:
212
213 2011-02-22  Balazs Kelemen  <kbalazs@webkit.org>
214
215         Reviewed by Anders Carlsson.
216
217         notImplemented() should behave identical in WebCore and WebKit2
218         https://bugs.webkit.org/show_bug.cgi?id=54449
219
220         No functional change so no new tests.
221
222         * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
223         to be able to use it in WebKit2.
224
225 2011-02-22  Andras Becsi  <abecsi@webkit.org>
226
227         Reviewed by Laszlo Gombos.
228         Rubber-stamped by Csaba Osztrogonác.
229
230         [Qt] Redesign the build system
231         https://bugs.webkit.org/show_bug.cgi?id=51339
232
233         The patch landed in r79320 didn't contain the cleanup
234         which was already addressed in the last attachment.
235
236         No new tests needed.
237
238         * WebCore.pri: Add common LIB and CONFIG options.
239         * WebCore.pro: Add accidentally moved sections.
240
241 2011-02-22  Philippe Normand  <pnormand@igalia.com>
242
243         Unreviewed, rolling out r79321.
244         http://trac.webkit.org/changeset/79321
245         https://bugs.webkit.org/show_bug.cgi?id=53146
246
247         Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
248         /spatial-navigation/snav-single-select.html on GTK
249
250         * accessibility/gtk/AXObjectCacheAtk.cpp:
251         (WebCore::notifyChildrenSelectionChange):
252         (WebCore::AXObjectCache::postPlatformNotification):
253
254 2011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
255
256         Reviewed by Yury Semikhatsky.
257
258         Web Inspector: Inspector.IDL change. rename attribute notify -> event.
259         https://bugs.webkit.org/show_bug.cgi?id=54958
260
261         * inspector/CodeGeneratorInspector.pm:
262         * inspector/Inspector.idl:
263
264 2011-02-22  Yury Semikhatsky  <yurys@chromium.org>
265
266         Reviewed by Pavel Feldman.
267
268         Web Inspector: Timeline agent should have same lifetime as InspectorAgent
269         https://bugs.webkit.org/show_bug.cgi?id=54951
270
271         * inspector/CodeGeneratorInspector.pm:
272         * inspector/Inspector.idl:
273         * inspector/InspectorAgent.cpp:
274         (WebCore::InspectorAgent::InspectorAgent):
275         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
276         (WebCore::InspectorAgent::setFrontend):
277         (WebCore::InspectorAgent::disconnectFrontend):
278         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
279         (WebCore::InspectorAgent::didCommitLoad):
280         (WebCore::InspectorAgent::domContentLoadedEventFired):
281         (WebCore::InspectorAgent::loadEventFired):
282         * inspector/InspectorAgent.h:
283         * inspector/InspectorController.cpp:
284         (WebCore::InspectorController::startTimelineProfiler):
285         (WebCore::InspectorController::stopTimelineProfiler):
286         (WebCore::InspectorController::timelineProfilerEnabled):
287         * inspector/InspectorInstrumentation.cpp:
288         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
289         * inspector/InspectorTimelineAgent.cpp:
290         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
291         (WebCore::InspectorTimelineAgent::setFrontend):
292         (WebCore::InspectorTimelineAgent::clearFrontend):
293         (WebCore::InspectorTimelineAgent::restore):
294         (WebCore::InspectorTimelineAgent::startTimelineProfiler):
295         (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
296         (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
297         (WebCore::InspectorTimelineAgent::didCommitLoad):
298         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
299         (WebCore::InspectorTimelineAgent::clearRecordStack):
300         * inspector/InspectorTimelineAgent.h:
301         (WebCore::InspectorTimelineAgent::create):
302         * inspector/front-end/TimelinePanel.js:
303         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
304
305 2011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
306
307         Reviewed by Pavel Feldman.
308
309         Web Inspector: flakyness of inspector tests.
310         https://bugs.webkit.org/show_bug.cgi?id=54729
311
312         As far as we have the protocol with sequence numbers we can simplify test harness support
313         and drop out chomium specific methods.
314
315         * inspector/CodeGeneratorInspector.pm:
316         * inspector/front-end/TestController.js:
317         (WebInspector.TestController):
318         (WebInspector.TestController.prototype.notifyDone):
319         (WebInspector.TestController.prototype.runAfterPendingDispatches):
320         (WebInspector.TestController.prototype._evaluateForTestInFrontend):
321         * inspector/front-end/inspector.js:
322         (WebInspector.dispatch):
323
324 2011-02-22  Mario Sanchez Prada  <msanchez@igalia.com>
325
326         Reviewed by Martin Robinson.
327
328         [GTK] Combo boxes should emit object:selection-changed even when collapsed
329         https://bugs.webkit.org/show_bug.cgi?id=53146
330
331         Emit the selection-changed signals when the menu list value has changed
332
333         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
334
335         * accessibility/gtk/AXObjectCacheAtk.cpp:
336         (WebCore::getListObject): New, return the right list object for
337         menu lists and list boxes.
338         (WebCore::notifyChildrenSelectionChange): Support menu lists.
339         (WebCore::AXObjectCache::postPlatformNotification): Call function
340         notifyChildrenSelectionChange for AXMenuListValueChanged.
341
342 2011-02-22  Andras Becsi  <abecsi@webkit.org>
343
344         Reviewed by Laszlo Gombos.
345
346         [Qt] Redesign the build system
347         https://bugs.webkit.org/show_bug.cgi?id=51339
348
349         Part 2.
350
351         Build WebCore as a static library, compile the WebKit API and WebKit2 API
352         in a final step and link to WebKit2, WebCore and JSC libraries to fix
353         linking issues resulting from stripped away symbols.
354
355         No new tests needed.
356
357         * WebCore.pri: Add needed rules for handling the static library.
358         * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
359
360 2011-02-22  Pavel Podivilov  <podivilov@chromium.org>
361
362         Reviewed by Pavel Feldman.
363
364         Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
365         https://bugs.webkit.org/show_bug.cgi?id=54947
366
367         * inspector/InspectorAgent.cpp:
368         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
369         * inspector/InspectorState.cpp:
370         (WebCore::InspectorState::loadFromCookie):
371         * inspector/InspectorState.h:
372
373 2011-02-15  Jer Noble  <jer.noble@apple.com>
374
375         Reviewed by Darin Adler.
376
377         Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
378         https://bugs.webkit.org/show_bug.cgi?id=46142
379
380         Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
381         container elements.  This is necessary because, during layout(), the child renderers
382         query the current LayoutState to determine where they will be repainting.  If a new
383         LayoutState is not pushed here, child renderers will attempt to repaint relative to
384         their grandparent's origin instead of their parents', and repaint operations will fail.
385
386         * rendering/RenderMedia.cpp:
387         (WebCore::RenderMedia::layout):
388
389 2011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
390
391         Reviewed by Kenneth Rohde Christiansen.
392
393         Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
394         https://bugs.webkit.org/show_bug.cgi?id=54952
395
396         Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
397         a valid reference for the input type FileInputType. 
398
399         * page/Chrome.cpp:
400         (WebCore::Chrome::setToolTip):
401
402 2011-02-21  Pavel Podivilov  <podivilov@chromium.org>
403
404         Reviewed by Pavel Feldman.
405
406         Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
407         https://bugs.webkit.org/show_bug.cgi?id=54645
408
409         This is needed to map one script to several source files.
410
411         Test: inspector/debugger/source-frame.html
412
413         * WebCore.gypi:
414         * WebCore.vcproj/WebCore.vcproj:
415         * inspector/front-end/DebuggerPresentationModel.js: Added.
416         (WebInspector.DebuggerPresentationModel):
417         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
418         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
419         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
420         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
421         (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
422         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
423         * inspector/front-end/ScriptsPanel.js:
424         (WebInspector.ScriptsPanel):
425         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
426         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
427         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
428         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
429         (WebInspector.ScriptsPanel.prototype._addSourceFrame):
430         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
431         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
432         (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
433         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
434         (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
435         * inspector/front-end/SourceFrame.js:
436         (WebInspector.SourceFrame.prototype.get loaded):
437         (WebInspector.SourceFrame.prototype._createTextViewer):
438         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
439         (WebInspector.SourceFrame.prototype.setExecutionLine):
440         (WebInspector.SourceFrame.prototype.clearExecutionLine):
441         (WebInspector.SourceFrame.prototype.addBreakpoint):
442         (WebInspector.SourceFrame.prototype.removeBreakpoint):
443         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
444         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
445         (WebInspector.SourceFrame.prototype._findBreakpoint.filter):
446         (WebInspector.SourceFrame.prototype._findBreakpoint):
447         * inspector/front-end/WebKit.qrc:
448         * inspector/front-end/inspector.html:
449
450 2011-02-22  Andrey Kosyakov  <caseq@chromium.org>
451
452         Reviewed by Pavel Feldman.
453
454         Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit
455         https://bugs.webkit.org/show_bug.cgi?id=54671
456
457         - factored toolbar handling out of inspector.js
458         - added toolbar dropdown
459
460         * WebCore.gypi:
461         * WebCore.vcproj/WebCore.vcproj:
462         * inspector/front-end/ExtensionServer.js:
463         (WebInspector.ExtensionServer.prototype._onCreatePanel):
464         * inspector/front-end/Panel.js:
465         (WebInspector.Panel.prototype.get toolbarItem):
466         * inspector/front-end/Toolbar.js: Added.
467         (WebInspector.Toolbar):
468         (WebInspector.Toolbar.prototype.resize):
469         (WebInspector.Toolbar.prototype.addPanel):
470         (WebInspector.Toolbar.prototype._toolbarDragStart):
471         (WebInspector.Toolbar.prototype._toolbarDragEnd):
472         (WebInspector.Toolbar.prototype._toolbarDrag):
473         (WebInspector.Toolbar.prototype._onClose):
474         (WebInspector.Toolbar.prototype._setDropdownVisible):
475         (WebInspector.Toolbar.prototype._toggleDropdown):
476         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
477         (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
478         (WebInspector.Toolbar.createPanelToolbarItem):
479         (WebInspector.ToolbarDropdown):
480         (WebInspector.ToolbarDropdown.prototype.show):
481         (WebInspector.ToolbarDropdown.prototype.hide):
482         (WebInspector.ToolbarDropdown.prototype.get visible):
483         (WebInspector.ToolbarDropdown.prototype._populate):
484         (WebInspector.ToolbarDropdown.prototype._onKeyDown):
485         * inspector/front-end/WebKit.qrc:
486         * inspector/front-end/inspector.css:
487         (#toolbar):
488         (.toolbar-item):
489         (.toolbar-item.toggleable):
490         (.toolbar-item.toggleable.toggled-on):
491         (#toolbar-dropdown .toolbar-icon):
492         (#toolbar-dropdown .toolbar-label):
493         (#toolbar-controls):
494         (#toolbar-dropdown-arrow):
495         (body.attached #toolbar-dropdown-arrow):
496         (#toolbar-dropdown-arrow.dropdown-visible):
497         (#toolbar-dropdown-arrow:hover):
498         (#toolbar-dropdown-arrow:active):
499         (#toolbar-dropdown):
500         (body.detached.platform-mac-snowleopard #toolbar-dropdown):
501         (#toolbar-dropdown .scrollable-content):
502         (#toolbar-dropdown .toolbar-item):
503         (#toolbar-dropdown .toolbar-item.toggleable.toggled-on):
504         (#toolbar-dropdown .toolbar-item:hover):
505         (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover):
506         (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
507         (.scrollable-content):
508         (.scrollable-content::-webkit-scrollbar):
509         (.scrollable-content::-webkit-resizer):
510         (.scrollable-content::-webkit-scrollbar-thumb:vertical):
511         (.scrollable-content::-webkit-scrollbar-thumb:vertical:active):
512         (.scrollable-content::-webkit-scrollbar-track:vertical):
513         (.toolbar-search-item):
514         (#search):
515         (body.attached #search):
516         (#search-results-matches):
517         (#close-button-left, #close-button-right):
518         (.close-left):
519         * inspector/front-end/inspector.html:
520         * inspector/front-end/inspector.js:
521         (WebInspector.set attached):
522         (WebInspector.addPanel):
523         (WebInspector.windowResize):
524
525 2011-02-22  Philippe Normand  <pnormand@igalia.com>
526
527         Reviewed by Xan Lopez.
528
529         [GTK] make distcheck fails
530         https://bugs.webkit.org/show_bug.cgi?id=54943
531
532         Added new headers and removed references to deleted files.
533
534         * GNUmakefile.am:
535
536 2011-02-21  Yury Semikhatsky  <yurys@chromium.org>
537
538         Reviewed by Pavel Feldman.
539
540         Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent
541         https://bugs.webkit.org/show_bug.cgi?id=54891
542
543         * inspector/InspectorAgent.cpp:
544         (WebCore::InspectorAgent::InspectorAgent):
545         (WebCore::InspectorAgent::setFrontend):
546         (WebCore::InspectorAgent::disconnectFrontend):
547         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
548         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
549         (WebCore::InspectorAgent::didCommitLoad):
550         * inspector/InspectorAgent.h:
551         (WebCore::InspectorAgent::instrumentingAgents):
552         * inspector/InspectorDOMStorageAgent.cpp:
553         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
554         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
555         (WebCore::InspectorDOMStorageAgent::setFrontend):
556         (WebCore::InspectorDOMStorageAgent::clearFrontend):
557         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
558         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
559         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
560         (WebCore::InspectorDOMStorageAgent::clearResources):
561         * inspector/InspectorDOMStorageAgent.h:
562         (WebCore::InspectorDOMStorageAgent::create):
563         * inspector/InspectorDatabaseAgent.cpp:
564         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
565         (WebCore::InspectorDatabaseAgent::clearResources):
566         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
567         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
568         (WebCore::InspectorDatabaseAgent::setFrontend):
569         (WebCore::InspectorDatabaseAgent::clearFrontend):
570         (WebCore::InspectorDatabaseAgent::databaseForId):
571         (WebCore::InspectorDatabaseAgent::selectDatabase):
572         * inspector/InspectorDatabaseAgent.h:
573         (WebCore::InspectorDatabaseAgent::create):
574         * inspector/InspectorInstrumentation.cpp:
575         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
576         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
577
578 2011-02-22  Steve Lacey  <sjl@chromium.org>
579
580         Reviewed by Darin Fisher.
581
582         Rename new media statistics apis to better names
583
584         https://bugs.webkit.org/show_bug.cgi?id=54784
585
586         * html/HTMLMediaElement.cpp:
587         (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount):
588         (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount):
589         * html/HTMLMediaElement.h:
590         * html/HTMLMediaElement.idl:
591         * html/HTMLVideoElement.cpp:
592         (WebCore::HTMLVideoElement::webkitDecodedFrameCount):
593         (WebCore::HTMLVideoElement::webkitDroppedFrameCount):
594         * html/HTMLVideoElement.h:
595         * html/HTMLVideoElement.idl:
596         * platform/graphics/MediaPlayer.cpp:
597         (WebCore::MediaPlayer::decodedFrameCount):
598         (WebCore::MediaPlayer::droppedFrameCount):
599         (WebCore::MediaPlayer::audioDecodedByteCount):
600         (WebCore::MediaPlayer::videoDecodedByteCount):
601         * platform/graphics/MediaPlayer.h:
602         * platform/graphics/MediaPlayerPrivate.h:
603         (WebCore::MediaPlayerPrivateInterface::decodedFrameCount):
604         (WebCore::MediaPlayerPrivateInterface::droppedFrameCount):
605         (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount):
606         (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount):
607
608 2011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
609
610         Reviewed by Kent Tamura.
611
612         Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement
613         https://bugs.webkit.org/show_bug.cgi?id=54435
614
615         Changed the function to a series of early-exit 'if's,
616         removed most temporary variables.
617
618         No new tests. (refactoring)
619
620         * css/CSSStyleSelector.cpp:
621         (WebCore::CSSStyleSelector::canShareStyleWithElement):
622
623 2011-02-21  Nico Weber  <thakis@chromium.org>
624
625         Reviewed by James Robinson.
626
627         [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual
628         https://bugs.webkit.org/show_bug.cgi?id=54923
629
630         Rename PopupContainer::show() to showInRect(), to make it obvious it's
631         not an override of ScrollView::show().
632
633         No intended functionality change.
634
635         * platform/chromium/PopupMenuChromium.cpp:
636         (WebCore::PopupContainer::showInRect):
637         (WebCore::PopupMenuChromium::show):
638         * platform/chromium/PopupMenuChromium.h:
639
640 2011-02-21  Julien Chaffraix  <jchaffraix@codeaurora.org>
641
642         Reviewed by Antti Koivisto.
643
644         Improve the local{SharedStyle,CousinList} algorithm
645         https://bugs.webkit.org/show_bug.cgi?id=45507
646
647         This change improves the algorithm to find shared styles: the old
648         algorithm would stop the search after the first cousin, even if
649         the search threshold is not met. As such, the algorithm would
650         systematically miss sharings across second cousins and beyond.
651         The new algorithm continues the search, as long as threshold is
652         not met. It also separates the threshold for sibling/cousins
653         search, from that on the levels of search, which is easier to
654         optimize.
655         The new algorithm finds up to 30% more sharings on some sites
656         (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown.
657
658         No new test, refactoring only.
659
660         * css/CSSStyleSelector.cpp:
661         (WebCore::CSSStyleSelector::locateCousinList):
662         (WebCore::CSSStyleSelector::locateSharedStyle):
663         While changing the algorithm, cleaned up the style of those 2 methods
664         (use early return, renamed some variables).
665
666         * css/CSSStyleSelector.h:
667
668 2011-02-21  Nico Weber  <thakis@chromium.org>
669
670         Reviewed by Adam Barth.
671
672         RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual
673         https://bugs.webkit.org/show_bug.cgi?id=54922
674
675         RenderTableCell::baselinePosition() has the same name as a virtual
676         method in superclass RenderBlock. Rename the subclass method to make
677         it clear it's not an attempted override.
678
679         No intended functionality change.
680
681         * rendering/RenderTableCell.cpp:
682         (WebCore::RenderTableCell::cellBaselinePosition):
683         * rendering/RenderTableCell.h:
684         * rendering/RenderTableSection.cpp:
685         (WebCore::RenderTableSection::calcRowLogicalHeight):
686         (WebCore::RenderTableSection::layoutRows):
687
688 2011-02-21  Benjamin Kalman  <kalman@chromium.org>
689
690         Reviewed by Ryosuke Niwa.
691
692         Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect
693         start/end of selection for RTL
694         https://bugs.webkit.org/show_bug.cgi?id=54724
695
696         On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document).
697         This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or
698         extending from the end when for the "right" direction (e.g. pressing right arrow key).
699
700         However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since
701         direction is obviously reversed) and likewise extend from the start when extending right.
702
703         * editing/SelectionController.cpp:
704         (WebCore::SelectionController::modify):
705
706 2011-02-21  Nico Weber  <thakis@chromium.org>
707
708         Reviewed by Adam Barth.
709
710         ImageDocument::imageChanged() confuses clang's -Woverride-virtual
711         https://bugs.webkit.org/show_bug.cgi?id=54924
712
713         Rename ImageDocument::imageChanged() to imageUpdated() to make clear
714         that it's not an override of CachedResourceClient::imageChanged().
715
716         * html/ImageDocument.cpp:
717         (WebCore::ImageDocumentParser::appendBytes):
718         (WebCore::ImageDocumentParser::finish):
719         (WebCore::ImageDocument::imageUpdated):
720         * html/ImageDocument.h:
721
722 2011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
723
724         Reviewed by Kent Tamura.
725
726         Bug 54934 - Sort the WebCore project file(s)
727         https://bugs.webkit.org/show_bug.cgi?id=54934
728
729         No new tests. (no code affected)
730
731         * GNUmakefile.am:
732         * WebCore.xcodeproj/project.pbxproj:
733
734 2011-02-21  Nico Weber  <thakis@chromium.org>
735
736         Reviewed by Adam Barth.
737
738         canAccommodateEllipsis() confuses clang's -Woverloaded-virtual
739         https://bugs.webkit.org/show_bug.cgi?id=54909
740
741         Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to
742         unconfuse clang. No intended functionality change.
743
744         * rendering/RenderBlockLineLayout.cpp:
745         (WebCore::RenderBlock::checkLinesForTextOverflow):
746         * rendering/RenderFlexibleBox.cpp:
747         (WebCore::RenderFlexibleBox::applyLineClamp):
748         * rendering/RootInlineBox.cpp:
749         (WebCore::RootInlineBox::lineCanAccommodateEllipsis):
750         * rendering/RootInlineBox.h:
751
752 2011-02-21  Adele Peterson  <adele@apple.com>
753
754         Reviewed by Dan Bernstein.
755
756         Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402
757         REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows
758
759         Test: updated fast/forms/placeholder-position.html and tested manually
760
761         Consider padding and margin for the results and cancel buttons.  This is important for the Windows 
762         theme which uses padding to correctly position those buttons.  This change fixes the placeholder 
763         position, and also better aligns the results popup list with the actual text you type.
764
765         * rendering/RenderTextControlSingleLine.cpp:
766         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
767         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
768
769 2011-02-21  Nico Weber  <thakis@chromium.org>
770
771         Reviewed by Kent Tamura.
772
773         GIFImageDecoder::setSize() tries to override the superclass method but fails
774         https://bugs.webkit.org/show_bug.cgi?id=54305
775
776         The superclass uses unsigned instead of int for its parameters, so
777         GIFImageDecoder::setSize() was an overload, not an override.
778
779         * platform/image-decoders/gif/GIFImageDecoder.cpp:
780         (WebCore::GIFImageDecoder::setSize):
781         * platform/image-decoders/gif/GIFImageDecoder.h:
782
783 2011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
784
785         Reviewed by Darin Adler.
786
787         Deploy EditingStyle more in ApplyStyleCommand and do some cleanup
788         https://bugs.webkit.org/show_bug.cgi?id=54528
789
790         * editing/ApplyStyleCommand.cpp:
791         (WebCore::StyleChange::init): Allows style to be a null pointer.
792         (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of
793         -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement
794         to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine
795         whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property.
796         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
797         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto.
798         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto.
799         (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
800         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto.
801         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto.
802         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because
803         ApplyStyleCommand::applyInlineStyle already does it.
804         * editing/ApplyStyleCommand.h:
805         * editing/EditingStyle.cpp:
806         (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null.
807         (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle.
808         * editing/EditingStyle.h:
809
810 2011-02-21  Mark Rowe  <mrowe@apple.com>
811
812         Reviewed by Darin Adler and Alexey Proskuryakov.
813
814         <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO
815
816         * platform/graphics/cg/ImageSourceCG.cpp:
817         (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the
818         frame properties dictionary and use that if it exists. If it does not exist in the
819         dictionary then fall back to using the clamped frame delay.
820
821 2011-02-21  James Kozianski  <koz@chromium.org>
822
823         Reviewed by Kent Tamura.
824
825         Causes elements to be unfocusable after tabindex property is removed.
826         https://bugs.webkit.org/show_bug.cgi?id=54727
827
828         Test: fast/html/tabindex-removal.html
829
830         * dom/Node.cpp:
831         (WebCore::Node::clearTabIndexExplicitly):
832         * dom/Node.h:
833         * dom/NodeRareData.h:
834         (WebCore::NodeRareData::clearTabIndexExplicitly):
835         * html/HTMLElement.cpp:
836         (WebCore::HTMLElement::parseMappedAttribute):
837
838 2011-02-21  Alexey Proskuryakov  <ap@apple.com>
839
840         Reviewed by Mark Rowe.
841
842         <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods
843
844         * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed.
845
846 2011-02-21  Sam Weinig  <sam@webkit.org>
847
848         Reviewed by Dan Bernstein.
849
850         Overhang areas need to be invalidated on scroll
851         <rdar://problem/9032194>
852         https://bugs.webkit.org/show_bug.cgi?id=54917
853
854         * platform/ScrollView.cpp:
855         (WebCore::ScrollView::scrollContents):
856         We need to explicitly invalidate the overhang areas when we scroll the contents
857         of a ScrollView, since they could contain arbitrary content that cannot be blitted.
858
859 2011-02-21  Lucas Forschler  <lforschler@apple.com>
860
861         Reviewed by Stephanie Lewis.
862
863         Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
864
865         No new tests required.
866
867         * WebCore.xcodeproj/project.pbxproj:
868
869 2011-02-21  Pratik Solanki  <psolanki@apple.com>
870
871         Reviewed by Darin Adler.
872
873         Remove global initializer in CookieStorageCFNet.cpp
874         https://bugs.webkit.org/show_bug.cgi?id=54905
875
876         * platform/network/cf/CookieStorageCFNet.cpp:
877         (WebCore::currentCookieStorage):
878         (WebCore::setCurrentCookieStorage):
879         (WebCore::setCookieStoragePrivateBrowsingEnabled):
880
881 2011-02-18  Jer Noble  <jer.noble@apple.com>
882
883         Reviewed by Sam Weinig.
884
885         WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
886         https://bugs.webkit.org/show_bug.cgi?id=54771
887
888         Now that video is accelerated, we no longer need to special case
889         video playing within a media document.
890
891         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
892         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
893         (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
894
895 2011-02-21  Alexey Proskuryakov  <ap@apple.com>
896
897         Reviewed by Adam Roben.
898
899         REGRESSION (WebKit2): HTTP requests time out after 60 seconds
900         https://bugs.webkit.org/show_bug.cgi?id=54755
901         <rdar://problem/9006592>
902
903         No new tests - it won't be great to have a test that runs for a minute.
904
905         It's now possible to set a default timeout to be used at ResourceRequest creation. If one
906         hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
907         or use INT_MAX on other platforms).
908
909         * WebCore.exp.in:
910         * platform/network/ResourceRequestBase.cpp:
911         (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
912         default timeout interval (may be 0 if using NSURLRequest default).
913         (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
914         (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
915         request is updated. Plaform code often calls updateResourceRequest() indirectly from this
916         function, and that must obviously be a no-op.
917         (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
918         direction.
919         * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
920         "defaultTimeoutInterval". It has been used as default by most platforms anyway.
921         (WebCore::ResourceRequestBase::ResourceRequestBase):
922
923         * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
924         Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
925         setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
926
927 2011-02-21  Martin Robinson  <mrobinson@igalia.com>
928
929         Reviewed by Xan Lopez.
930
931         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
932         https://bugs.webkit.org/show_bug.cgi?id=54895
933
934         Correct the GTK+ clipboard implementation to know that "text" is an alias
935         for "text/html" data. This corrects the failing test.
936
937         * platform/gtk/ClipboardGtk.cpp:
938         (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
939         (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
940
941 2011-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
942
943         Reviewed by Pavel Feldman.
944
945         ProcessingInstruction should provide a way to know if it is of CSS type.
946         https://bugs.webkit.org/show_bug.cgi?id=54868
947
948         * dom/ProcessingInstruction.cpp:
949         (WebCore::ProcessingInstruction::ProcessingInstruction):
950         (WebCore::ProcessingInstruction::checkStyleSheet):
951         (WebCore::ProcessingInstruction::setCSSStyleSheet):
952         * dom/ProcessingInstruction.h:
953         (WebCore::ProcessingInstruction::isCSS):
954
955 2011-02-21  Simon Fraser  <simon.fraser@apple.com>
956
957         Put JSDOMImplementationCustom.cpp where it belongs in the project.
958
959         * WebCore.xcodeproj/project.pbxproj:
960
961 2011-02-21  Gavin Barraclough  <barraclough@apple.com>
962
963         Reviewed by Sam Weinig.
964
965         Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
966
967         The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
968         containing a pointer to its parent class. These links should reflect the inheritance
969         hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
970         entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
971         since intervening C++ classes may not have ClassInfo - but would be a potential bug
972         were ClassInfo were to be added.
973
974         * bindings/js/JSAudioConstructor.cpp:
975         * bindings/js/JSDOMGlobalObject.cpp:
976         * bindings/js/JSImageConstructor.cpp:
977         * bindings/js/JSOptionConstructor.cpp:
978         * bindings/scripts/CodeGeneratorJS.pm:
979         * bridge/objc/objc_runtime.mm:
980         * bridge/runtime_object.cpp:
981
982 2011-02-21  Pavel Feldman  <pfeldman@chromium.org>
983
984         Reviewed by Yury Semikhatsky.
985
986         Web Inspector: navigation does not work after reopening frontend.
987         https://bugs.webkit.org/show_bug.cgi?id=54879
988
989         Test: http/tests/inspector-enabled/open-close-open.html
990
991         * inspector/InspectorAgent.cpp:
992         (WebCore::InspectorAgent::setFrontend):
993         * inspector/InspectorState.cpp:
994         (WebCore::InspectorState::unmute):
995         * inspector/InspectorState.h:
996
997 2011-02-21  Adam Roben  <aroben@apple.com>
998
999         Protect the PluginView when evaluating javascript: URLs
1000
1001         Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
1002         plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
1003         added
1004
1005         Reviewed by Sam Weinig.
1006
1007         * plugins/PluginView.cpp:
1008         (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
1009         when evaluating javascript: URLs.
1010
1011 2011-02-21  Martin Robinson  <mrobinson@igalia.com>
1012
1013         Fix GTK+ build after r79223.
1014
1015         * GNUmakefile.am: Add file missing from the source list.
1016
1017 2011-02-14  Alexander Pavlov  <apavlov@chromium.org>
1018
1019         Reviewed by Yury Semikhatsky.
1020
1021         Web Inspector: audits should not warn about gzip compression for 304s
1022         https://bugs.webkit.org/show_bug.cgi?id=54343
1023
1024         Do not run compression-related audits on 304 resources.
1025         Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
1026
1027         * inspector/front-end/AuditRules.js:
1028         (WebInspector.AuditRules.GzipRule.prototype.doRun):
1029         (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
1030
1031 2011-02-08  Anton Muhin  <antonm@chromium.org>
1032
1033        Reviewed by Adam Barth and Alexey Proskuryakov.
1034
1035        Propagate security origin of parent document into HTML documents created with DOMImplementation
1036        https://bugs.webkit.org/show_bug.cgi?id=53611
1037
1038        This restores invariant that JS wrappers residing in the same JS context should come
1039        from the same security origin.
1040
1041        Absence of regressions is covered by the current tests.  Different security origin of
1042        DOMImplementation is difficult to check with layout tests as DOMImplementation
1043        resides in the same JS context as parent document and therefore there are no security origin checks.
1044        This is observable however in C++.
1045
1046        * Android.jscbindings.mk:
1047        * CMakeLists.txt:
1048        * WebCore.gypi:
1049        * WebCore.pro:
1050        * WebCore.vcproj/WebCore.vcproj:
1051        * WebCore.xcodeproj/project.pbxproj:
1052        * bindings/v8/V8GCController.cpp:
1053        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
1054        * dom/DOMImplementation.cpp:
1055        (WebCore::DOMImplementation::DOMImplementation):
1056        (WebCore::DOMImplementation::createDocument):
1057        * dom/DOMImplementation.h:
1058        (WebCore::DOMImplementation::create):
1059        (WebCore::DOMImplementation::documentDestroyed):
1060        (WebCore::DOMImplementation::parentDocument):
1061        * dom/DOMImplementation.idl:
1062        * dom/Document.cpp:
1063        (WebCore::Document::~Document):
1064        (WebCore::Document::implementation):
1065        * dom/Document.h:
1066
1067 2011-02-21  Andrey Adaikin  <aandrey@google.com>
1068
1069         Reviewed by Pavel Feldman.
1070
1071         Web Inspector: [Text editor] Optimize editing updates in gutter panel
1072         https://bugs.webkit.org/show_bug.cgi?id=54866
1073
1074         * inspector/front-end/TextViewer.js:
1075         (WebInspector.TextViewer.prototype.set startEditingListener):
1076         (WebInspector.TextViewer.prototype.set endEditingListener):
1077         (WebInspector.TextViewer.prototype.endUpdates):
1078         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
1079         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
1080         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
1081         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
1082         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
1083         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
1084
1085 2011-02-21  Alexander Pavlov  <apavlov@chromium.org>
1086
1087         Reviewed by Yury Semikhatsky.
1088
1089         Web Inspector: [Audits] Image dimensions in inline style not checked
1090         https://bugs.webkit.org/show_bug.cgi?id=54738
1091
1092         * inspector/front-end/AuditRules.js:
1093         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1094
1095 2011-02-21  Yury Semikhatsky  <yurys@chromium.org>
1096
1097         Reviewed by Pavel Feldman.
1098
1099         Web Inspector: create and destroy DOM agent along with InspectorAgent
1100         https://bugs.webkit.org/show_bug.cgi?id=54875
1101
1102         * GNUmakefile.am:
1103         * WebCore.gypi:
1104         * WebCore.pro:
1105         * WebCore.vcproj/WebCore.vcproj:
1106         * WebCore.xcodeproj/project.pbxproj:
1107         * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
1108         on this object.
1109         (WebCore::InstrumentingAgents::InstrumentingAgents):
1110         (WebCore::InstrumentingAgents::~InstrumentingAgents):
1111         (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
1112         (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
1113         (WebCore::InstrumentingAgents::inspectorConsoleAgent):
1114         (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
1115         (WebCore::InstrumentingAgents::inspectorDOMAgent):
1116         (WebCore::InstrumentingAgents::setInspectorDOMAgent):
1117         (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
1118         (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
1119         (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
1120         (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
1121         (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
1122         (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
1123         (WebCore::InstrumentingAgents::inspectorProfilerAgent):
1124         (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
1125         (WebCore::InstrumentingAgents::inspectorResourceAgent):
1126         (WebCore::InstrumentingAgents::setInspectorResourceAgent):
1127         (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
1128         (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
1129         (WebCore::InstrumentingAgents::inspectorStorageAgent):
1130         (WebCore::InstrumentingAgents::setInspectorStorageAgent):
1131         (WebCore::InstrumentingAgents::inspectorTimelineAgent):
1132         (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
1133         * inspector/InspectorAgent.cpp:
1134         (WebCore::InspectorAgent::InspectorAgent):
1135         (WebCore::InspectorAgent::setFrontend):
1136         (WebCore::InspectorAgent::disconnectFrontend):
1137         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1138         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1139         (WebCore::InspectorAgent::didCommitLoad):
1140         (WebCore::InspectorAgent::domContentLoadedEventFired):
1141         (WebCore::InspectorAgent::loadEventFired):
1142         * inspector/InspectorAgent.h:
1143         * inspector/InspectorCSSAgent.cpp:
1144         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
1145         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
1146         * inspector/InspectorCSSAgent.h:
1147         * inspector/InspectorConsoleAgent.cpp:
1148         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1149         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1150         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1151         (WebCore::InspectorConsoleAgent::clearFrontend):
1152         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
1153         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
1154         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1155         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1156         * inspector/InspectorConsoleAgent.h:
1157         * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
1158         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1159         (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
1160         is attached.
1161         (WebCore::InspectorDOMAgent::clearFrontend):
1162         * inspector/InspectorDOMAgent.h:
1163         (WebCore::InspectorDOMAgent::create):
1164
1165 2011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
1166
1167         Reviewed by Andreas Kling.
1168
1169         [Qt][V8]REGRESSION(r79157): Fix build
1170         https://bugs.webkit.org/show_bug.cgi?id=54871
1171
1172         * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
1173
1174 2011-02-16  Vitaly Repeshko  <vitalyr@chromium.org>
1175
1176         Reviewed by Mihai Parparita.
1177
1178         [V8] SerializedScriptValue: fix JS exception handling.
1179         https://bugs.webkit.org/show_bug.cgi?id=54555
1180
1181         Added checks for exceptions and empty handles:
1182         * bindings/v8/SerializedScriptValue.cpp:
1183         (WebCore::Serializer::Serializer):
1184         (WebCore::Serializer::serialize):
1185         (WebCore::Serializer::checkException):
1186         (WebCore::Serializer::reportFailure):
1187         (WebCore::Serializer::ArrayState::advance):
1188         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
1189         (WebCore::Serializer::AbstractObjectState::advance):
1190         (WebCore::Serializer::push):
1191         (WebCore::Serializer::handleError):
1192         (WebCore::Serializer::newObjectState):
1193         (WebCore::Serializer::doSerialize):
1194         (WebCore::SerializedScriptValue::SerializedScriptValue):
1195
1196 2011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
1197
1198         Reviewed by Kent Tamura.
1199
1200         Add selectionchange event
1201         https://bugs.webkit.org/show_bug.cgi?id=45712
1202
1203         Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
1204         This event is not cancelable and does not bubble. An event listener can be attached to a document by
1205         body element's onselectionchange attribute or via document's onselectionchange property.
1206
1207         Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
1208         fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
1209         will not observe the event before the control returns to JavaScript.
1210
1211         See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
1212
1213         Tests: fast/events/selectionchange-iframe.html
1214                fast/events/selectionchange-user-initiated.html
1215
1216         * dom/Document.cpp:
1217         (WebCore::Document::enqueueDocumentEvent): Added.
1218         * dom/Document.h: Added selectionchange event listener.
1219         * dom/Document.idl: Added onselectionchagne attribute.
1220         * dom/EventNames.h: Added selectionchange
1221         * editing/SelectionController.cpp:
1222         (WebCore::SelectionController::setSelection): Fires selectionchange event.
1223         * html/HTMLAttributeNames.in: Added onselectionchange.
1224         * html/HTMLBodyElement.cpp:
1225         (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
1226
1227 2011-02-21  Ilya Tikhonovsky  <loislo@chromium.org>
1228
1229         Reviewed by Pavel Feldman.
1230
1231         Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
1232         https://bugs.webkit.org/show_bug.cgi?id=54859
1233
1234         * inspector/CodeGeneratorInspector.pm:
1235
1236 2011-02-21  Pavel Feldman  <pfeldman@chromium.org>
1237
1238         Reviewed by Yury Semikhatsky.
1239
1240         Web Inspector: generate protocol documentation based on IDL.
1241         https://bugs.webkit.org/show_bug.cgi?id=54822
1242
1243         * inspector/CodeGeneratorInspector.pm:
1244
1245 2011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
1246
1247         Reviewed by Martin Robinson.
1248
1249         [GStreamer] Add URI queries support in webkitwebsrc
1250         https://bugs.webkit.org/show_bug.cgi?id=54627
1251
1252         This allow replying to URI queries from downstream elements
1253         with the uri currently set in the source element.
1254
1255         No new tests, this feature is dedicated to internal GStreamer use,
1256         such as the upcoming HTTP Live Streaming element.
1257
1258         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1259         (webKitWebSrcQuery):
1260
1261 2011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
1262
1263         Reviewed by Martin Robinson.
1264
1265         [GStreamer] Add 'location' property in webkitwebsrc
1266         https://bugs.webkit.org/show_bug.cgi?id=54628
1267
1268         No new tests, this feature is dedicated to internal GStreamer use,
1269         such as the upcoming HTTP Live Streaming element.
1270
1271         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1272         (webkit_web_src_class_init):
1273         (webKitWebSrcSetProperty):
1274         (webKitWebSrcGetProperty):
1275
1276 2011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
1277
1278         Reviewed by Kent Tamura.
1279
1280         Rename Position::node() to Position::deprecatedNode()
1281         https://bugs.webkit.org/show_bug.cgi?id=54622
1282
1283         Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
1284         calls were of the form node()->document() and node()->inDocument() in which case they were
1285         replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
1286
1287         * WebCore.exp.in: Added Position::containerNode.
1288
1289         The rest abbreviated for simplicity. Please see svn log.
1290
1291 2011-02-20  Gavin Barraclough  <barraclough@apple.com>
1292
1293         Build fix (remove includes).
1294
1295         * bindings/js/JSDOMBinding.cpp:
1296         * bindings/js/JSDOMWindowCustom.cpp:
1297         * bindings/js/JSHistoryCustom.cpp:
1298         * bindings/js/JSLocationCustom.cpp:
1299
1300 2011-02-20  Gavin Barraclough  <barraclough@apple.com>
1301
1302         Reviewed by Oliver Hunt.
1303
1304         https://bugs.webkit.org/show_bug.cgi?id=54839
1305         Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
1306
1307         Historically, Native functions used to be represented by PrototypeFunctions, however
1308         since introducing call optimizations to the JIT this has used JSFunctions for host
1309         calls too. At the point this change was made, the interpreter continued to use
1310         PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
1311         the interpreter has had to be able to run using host functions represented using
1312         JSFunctions - leading to an unnecessary and redundant divergence in behaviour between 
1313         interpreter only builds, and situations where the JIT has fallen back to interpreting.
1314
1315         NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
1316         for wrappers for host functions, and as such can also be removed.
1317
1318         GlobalEvalFunction is a redundant wrapper that happens to be derived from
1319         PrototypeFunction. It existed to hold a reference to the global object - but since all
1320         functions how derive from JSObjectWithGlobalObject, this no longer requires an
1321         additional class to provide this functionality.
1322
1323         * bindings/js/JSDOMBinding.cpp:
1324         * bindings/js/JSDOMWindowCustom.cpp:
1325         * bindings/js/JSHistoryCustom.cpp:
1326         * bindings/js/JSLocationCustom.cpp:
1327             Removed use of redundant classes.
1328
1329 2011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1330
1331         Unreviewed, rolling out r79169.
1332         http://trac.webkit.org/changeset/79169
1333         https://bugs.webkit.org/show_bug.cgi?id=54846
1334
1335         Made unexpected results for tests without CJK characters
1336         (Requested by tkent on #webkit).
1337
1338         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1339         (WebCore::FontCache::createFontPlatformData):
1340         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1341         (WebCore::FontPlatformData::FontPlatformData):
1342         (WebCore::FontPlatformData::operator=):
1343         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1344         (WebCore::FontPlatformData::orientation):
1345         * platform/graphics/skia/FontCustomPlatformData.cpp:
1346         (WebCore::FontCustomPlatformData::fontPlatformData):
1347
1348 2011-02-20  Chun-Lung Huang  <alvincl.huang@gmail.com>
1349
1350         Reviewed by Kent Tamura.
1351
1352         On Chromium Windows, glyphs in vertical text tests are rotated 90
1353         degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
1354
1355         This platform dependent patch makes Chromium Windows show the
1356         vertical writing text correctly. Job was done by adding a prefix '@'
1357         in front of the font family name (Windows Only). No new tests added.
1358
1359         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1360         (WebCore::FontCache::createFontPlatformData):
1361         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1362         (WebCore::FontPlatformData::FontPlatformData):
1363         (WebCore::FontPlatformData::operator=):
1364         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1365         (WebCore::FontPlatformData::orientation):
1366         * platform/graphics/skia/FontCustomPlatformData.cpp:
1367         (WebCore::FontCustomPlatformData::fontPlatformData):
1368
1369 2011-02-20  Simon Fraser  <simon.fraser@apple.com>
1370
1371         Reviewed by Dirk Schulze.
1372
1373         REGRESSION (r73369-r73405): transform animation interpolates incorrectly
1374         https://bugs.webkit.org/show_bug.cgi?id=54793
1375         
1376         After the refactoring in r73380, the ending state for some types of
1377         accelerated animations was computed incorrectly, because the TransformationMatrix
1378         wasn't reset to identity before the ending value transformations were applied.
1379         
1380         Fix by cleaning up the code to use explicit, separate values for
1381         starting and ending values. Only matrix-type animations had this
1382         issue, but cleaned up other clauses similarly.
1383
1384         Test: animations/3d/matrix-transform-type-animation.html
1385
1386         * platform/graphics/ca/GraphicsLayerCA.cpp:
1387         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
1388
1389 2011-02-20  Dan Bernstein  <mitz@apple.com>
1390
1391         Reviewed by Maciej Stachowiak.
1392
1393         <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
1394
1395         Test: fast/frames/iframe-scale-applied-twice.html
1396
1397         * page/FrameView.cpp:
1398         (WebCore::FrameView::create): Set the initial bounds of the view to match the
1399         frame size.
1400         * platform/ScrollView.cpp:
1401         (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
1402         (WebCore::ScrollView::updateScrollbars): Ditto.
1403         (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
1404         change to setBoundsSize().
1405         (WebCore::ScrollView::setBoundsSize): Added.
1406         (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
1407         not update anything.
1408         (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
1409         (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
1410         * platform/ScrollView.h:
1411         (WebCore::ScrollView::boundsSize): Added this getter.
1412         * platform/Widget.h:
1413         (WebCore::Widget::resize): Set the bounds size to the frame size.
1414         * platform/mac/ScrollbarThemeMac.mm:
1415         (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
1416         path where the buffer rect was resized to capture only the damaged part, but was
1417         still drawn in the original location.
1418
1419 2011-02-20  Alexey Proskuryakov  <ap@apple.com>
1420
1421         Reviewed by Eric Seidel.
1422
1423         Tighten up access permissions by using libxslt API
1424         https://bugs.webkit.org/show_bug.cgi?id=52688
1425         <rdar://problem/8909191> 
1426
1427         * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
1428         interested in a string result, so let libxslt know about that.
1429
1430 2011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1431
1432         Unreviewed, rolling out r79104.
1433         http://trac.webkit.org/changeset/79104
1434         https://bugs.webkit.org/show_bug.cgi?id=54835
1435
1436         Might have caused flaky canaries (Requested by tonyg-cr on
1437         #webkit).
1438
1439         * html/parser/HTMLDocumentParser.cpp:
1440         (WebCore::HTMLDocumentParser::canTakeNextToken):
1441         (WebCore::HTMLDocumentParser::pumpTokenizer):
1442         * html/parser/HTMLParserScheduler.cpp:
1443         (WebCore::isLayoutTimerActive):
1444         * html/parser/HTMLParserScheduler.h:
1445         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
1446         * page/FrameView.h:
1447
1448 2011-02-20  Dirk Schulze  <krit@webkit.org>
1449
1450         Reviewed by Nikolas Zimmermann.
1451
1452         SVG animation - analyze attribute type for animation
1453         https://bugs.webkit.org/show_bug.cgi?id=54542
1454
1455         Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
1456         with AnimatedAttributeType instead. More cleanup of the animation code.
1457         Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
1458
1459         Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
1460         from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
1461
1462         No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
1463         animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
1464         with the W3C test suite in trunk.
1465
1466         The change on SVGUseElement gets covered by animate-elem-39-t.svg
1467
1468         Test: svg/animations/animate-dynamic-update-attributeName.html
1469
1470         * svg/SVGAnimateElement.cpp:
1471         (WebCore::SVGAnimateElement::SVGAnimateElement):
1472         (WebCore::SVGAnimateElement::hasValidAttributeType):
1473         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
1474         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1475         (WebCore::inheritsFromProperty):
1476         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1477         (WebCore::SVGAnimateElement::calculateFromAndByValues):
1478         (WebCore::SVGAnimateElement::resetToBaseValue):
1479         (WebCore::SVGAnimateElement::applyResultsToTarget):
1480         (WebCore::SVGAnimateElement::calculateDistance):
1481         * svg/SVGAnimateElement.h:
1482         * svg/SVGAnimateMotionElement.cpp:
1483         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
1484         (WebCore::parsePoint):
1485         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
1486         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
1487         (WebCore::SVGAnimateMotionElement::calculateDistance):
1488         * svg/SVGAnimateMotionElement.h:
1489         * svg/SVGAnimateTransformElement.cpp:
1490         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
1491         (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
1492         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
1493         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
1494         (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
1495         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
1496         (WebCore::SVGAnimateTransformElement::calculateDistance):
1497         * svg/SVGAnimateTransformElement.h:
1498         * svg/SVGAnimationElement.cpp:
1499         (WebCore::parseKeyTimes):
1500         (WebCore::parseKeySplines):
1501         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
1502         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
1503         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
1504         (WebCore::solveEpsilon):
1505         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
1506         (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
1507         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
1508         (WebCore::SVGAnimationElement::startedActiveInterval):
1509         * svg/SVGAnimationElement.h:
1510         * svg/SVGFilterElement.cpp:
1511         (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
1512         * svg/SVGGElement.cpp:
1513         (WebCore::SVGGElement::attributeToPropertyTypeMap):
1514         (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
1515         * svg/SVGGElement.h:
1516         * svg/SVGUseElement.cpp:
1517         (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
1518         * svg/animation/SMILTimeContainer.cpp:
1519         (WebCore::SMILTimeContainer::baseValueFor):
1520         (WebCore::SMILTimeContainer::updateAnimations):
1521         * svg/animation/SMILTimeContainer.h:
1522         * svg/animation/SVGSMILElement.cpp:
1523         (WebCore::SVGSMILElement::SVGSMILElement):
1524         (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
1525         (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
1526         (WebCore::SVGSMILElement::removedFromDocument): Ditto.
1527         (WebCore::SVGSMILElement::attributeChanged): Ditto.
1528         * svg/animation/SVGSMILElement.h:
1529         (WebCore::SVGSMILElement::attributeName):
1530
1531 2011-02-20  David Kilzer  <ddkilzer@apple.com>
1532
1533         BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
1534
1535         Not reviewed.
1536
1537         * rendering/RenderLayerCompositor.cpp:
1538         (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
1539
1540 2011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1541
1542         Reviewed by Martin Robinson.
1543
1544         [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
1545         https://bugs.webkit.org/show_bug.cgi?id=52880
1546
1547         * platform/gtk/KeyEventGtk.cpp:
1548         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
1549
1550 2011-02-19  Andreas Kling  <kling@webkit.org>
1551
1552         Reviewed by Oliver Hunt.
1553
1554         DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
1555         https://bugs.webkit.org/show_bug.cgi?id=54545
1556
1557         * page/DragController.cpp:
1558         (WebCore::DragController::concludeEditDrag):
1559
1560 2011-02-19  Sam Weinig  <sam@webkit.org>
1561
1562         Reviewed by Anders Carlsson.
1563
1564         Add phase in addition to momentumPhase to platform wheel events
1565         Part of <rdar://problem/8945362>
1566
1567         Rename existing phase to momentumPhase.
1568
1569         * platform/PlatformWheelEvent.h:
1570         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1571         (WebCore::PlatformWheelEvent::momentumPhase):
1572         * platform/mac/ScrollAnimatorMac.mm:
1573         (WebCore::ScrollAnimatorMac::handleWheelEvent):
1574         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
1575         * platform/mac/WheelEventMac.mm:
1576         (WebCore::momentumPhaseForEvent):
1577         (WebCore::phaseForEvent):
1578         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1579
1580 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
1581
1582         Qt build fix.
1583
1584         * bridge/runtime_method.h:
1585         (JSC::RuntimeMethod::createStructure):
1586
1587 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
1588
1589         Qt build fix.
1590
1591         * bridge/qt/qt_instance.cpp:
1592         * bridge/qt/qt_pixmapruntime.cpp:
1593
1594 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
1595
1596         Qt build fix.
1597
1598         * bridge/qt/qt_instance.cpp:
1599         (JSC::Bindings::QtInstance::getMethod):
1600         * bridge/qt/qt_pixmapruntime.cpp:
1601         (JSC::Bindings::QtPixmapInstance::getMethod):
1602
1603 2011-02-18  Gavin Barraclough  <barraclough@apple.com>
1604
1605         Reviewed by Sam Weinig.
1606
1607         Bug 54786 - Devirtualize JSCell::classInfo()
1608
1609         Instead of making a virtual function call, add a pointer to the ClassInfo
1610         onto Structure.
1611
1612         This removes a virtual function call, and paves the way towards removing all
1613         the createStructure methods, and StructureFlags/AnonymousSlotCount properties
1614         (these should be able to move onto ClassInfo).
1615
1616         Calls to Structure::create must now pass a pointer to the ClassInfo for the
1617         structure. All objects now have a ClassInfo pointer, non-object cell types
1618         still do not.
1619
1620         Changes are most mechanical, involving three steps:
1621             * Remove virtual classInfo() methods.
1622             * Add &s_info parameter to calls to Structure::create.
1623             * Rename ClassInfo static members on classes from 'info' to 's_info',
1624               for consistency.
1625
1626         * WebCore.exp.in:
1627         * bindings/js/JSAudioConstructor.cpp:
1628         * bindings/js/JSAudioConstructor.h:
1629         * bindings/js/JSDOMBinding.cpp:
1630         * bindings/js/JSDOMBinding.h:
1631         * bindings/js/JSDOMGlobalObject.cpp:
1632         * bindings/js/JSDOMGlobalObject.h:
1633         * bindings/js/JSDOMWindowBase.cpp:
1634         * bindings/js/JSDOMWindowBase.h:
1635         * bindings/js/JSDOMWindowShell.cpp:
1636         * bindings/js/JSDOMWindowShell.h:
1637         * bindings/js/JSGeolocationCustom.cpp:
1638         * bindings/js/JSImageConstructor.cpp:
1639         * bindings/js/JSImageConstructor.h:
1640         * bindings/js/JSImageDataCustom.cpp:
1641         * bindings/js/JSOptionConstructor.cpp:
1642         * bindings/js/JSOptionConstructor.h:
1643         * bindings/js/JSWorkerContextBase.cpp:
1644         * bindings/js/JSWorkerContextBase.h:
1645         * bindings/js/SerializedScriptValue.cpp:
1646         * bindings/scripts/CodeGeneratorJS.pm:
1647         * bridge/c/CRuntimeObject.cpp:
1648         * bridge/c/CRuntimeObject.h:
1649         * bridge/c/c_instance.cpp:
1650         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
1651         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1652         * bridge/jni/jsc/JavaRuntimeObject.cpp:
1653         * bridge/jni/jsc/JavaRuntimeObject.h:
1654         * bridge/jsc/BridgeJSC.cpp:
1655         * bridge/objc/ObjCRuntimeObject.h:
1656         * bridge/objc/ObjCRuntimeObject.mm:
1657         * bridge/objc/objc_instance.mm:
1658         * bridge/objc/objc_runtime.h:
1659         * bridge/objc/objc_runtime.mm:
1660         * bridge/runtime_array.cpp:
1661         * bridge/runtime_array.h:
1662         * bridge/runtime_method.cpp:
1663         * bridge/runtime_method.h:
1664         * bridge/runtime_object.cpp:
1665         * bridge/runtime_object.h:
1666
1667 2011-02-19  Zan Dobersek  <zandobersek@gmail.com>
1668
1669         Reviewed by Martin Robinson.
1670
1671         [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
1672         https://bugs.webkit.org/show_bug.cgi?id=54491
1673
1674         When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
1675         and would round to 0, alter the behaviour to ensure that width or height are
1676         at least 1 pixel in size in these cases.
1677
1678         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1679         (WebCore::GraphicsContext::roundToDevicePixels):
1680
1681 2011-02-19  Dan Bernstein  <mitz@apple.com>
1682
1683         LLVM Compiler build fix.
1684
1685         * platform/graphics/ShadowBlur.cpp:
1686         (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
1687         a global initializer since the compiler does not evaluate sqrtf at compile time.
1688
1689 2011-02-19  Brian Ryner  <bryner@chromium.org>
1690
1691         Reviewed by Adam Barth.
1692
1693         Replace the #include of DocumentLoader.h in Document.h with a
1694         forward declaration, and add a missing #include now that this
1695         transitive include is gone.
1696         https://bugs.webkit.org/show_bug.cgi?id=50489
1697
1698         No new tests required.
1699
1700         * bindings/ScriptControllerBase.cpp:
1701         * dom/Document.h:
1702
1703 2011-02-19 Patrick Gansterer <paroga@webkit.org>
1704
1705         Reviewed by Antonio Gomes.
1706
1707         [EFL] Remove WebCore::currentTime()
1708         https://bugs.webkit.org/show_bug.cgi?id=53886
1709
1710         There is no declaration for it and we use WTF::currentTime() everywhere.
1711
1712         * platform/efl/SystemTimeEfl.cpp:
1713
1714 2011-02-19 Patrick Gansterer <paroga@webkit.org>
1715
1716         Reviewed by Andreas Kling.
1717
1718         Move KeygenWinCE from wince into win directory
1719         https://bugs.webkit.org/show_bug.cgi?id=54804
1720
1721         Move this file into the win directory, since it can be used on all windows platforms.
1722
1723         * CMakeListsWinCE.txt:
1724         * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
1725
1726 2011-02-19  Patrick Gansterer  <paroga@webkit.org>
1727
1728         Reviewed by Andreas Kling.
1729
1730         Make FileChooserWin.cpp more portable and use it on WinCE
1731         https://bugs.webkit.org/show_bug.cgi?id=54803
1732
1733         * CMakeListsWinCE.txt:
1734         * platform/win/FileChooserWin.cpp:
1735         (WebCore::FileChooser::basenameForWidth):
1736         * platform/wince/FileChooserWinCE.cpp: Removed.
1737
1738 2011-02-19  James Simonsen  <simonjam@chromium.org>
1739
1740         Reviewed by Adam Barth.
1741
1742         Make ScriptElement match the HTML5 spec
1743         https://bugs.webkit.org/show_bug.cgi?id=54676
1744
1745         This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
1746         http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
1747
1748         There are a couple of things missing from the spec that would be new functionality. These will be added later.
1749         - Support for async=false
1750         - Empty src attribute should dispatch an error.
1751
1752         There are a couple of slight behavioral changes to match the spec.
1753         - An XHTML script that is loaded then copied will not fire load on the copy.
1754         - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
1755
1756         The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
1757
1758         Test: All existing tests.
1759
1760         * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
1761         (WebCore::ScriptElement::ScriptElement):
1762         (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
1763         (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
1764         (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
1765         (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
1766         (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
1767         (WebCore::ScriptElement::prepareScript): START HERE. Main change. Should read exactly like HTML5's "prepare a script." Legacy type support needed for layout tests using XML parser.
1768         (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
1769         (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
1770         (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
1771         (WebCore::ScriptElement::execute): Renamed executeScript.
1772         (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
1773         (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
1774         (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
1775         (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
1776         * dom/ScriptElement.h:
1777         (WebCore::ScriptElement::willBeParserExecuted): Added.
1778         (WebCore::ScriptElement::readyToBeParserExecuted): Added.
1779         (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
1780         (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
1781         (WebCore::ScriptElement::isParserInserted): Added.
1782         * dom/XMLDocumentParserLibxml2.cpp:
1783         (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
1784         * dom/XMLDocumentParserQt.cpp:
1785         (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
1786         * html/HTMLScriptElement.cpp:
1787         (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
1788         (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
1789         * html/HTMLScriptElement.h:
1790         * html/parser/HTMLScriptRunner.cpp:
1791         (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
1792         (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
1793         * svg/SVGScriptElement.cpp:
1794         (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
1795         (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
1796         (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
1797         (WebCore::SVGScriptElement::hasSourceAttribute): Added.
1798         (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
1799         * svg/SVGScriptElement.h:
1800
1801 2011-02-19  Marc-Antoine Ruel  <maruel@chromium.org>
1802
1803         Reviewed by James Robinson.
1804
1805         Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
1806         https://bugs.webkit.org/show_bug.cgi?id=54789
1807
1808         * WebCore.gyp/WebCore.gyp:
1809
1810 2011-02-19  Bill Budge  <bbudge@chromium.org>
1811
1812         Reviewed by David Levin.
1813
1814         ThreadableLoaderClient needs willSendRequest method
1815         https://bugs.webkit.org/show_bug.cgi?id=54688
1816
1817         No new tests. Exposes no new functionality
1818
1819         * WebCore.gypi:
1820         * loader/DocumentThreadableLoader.cpp:
1821         (WebCore::DocumentThreadableLoader::willSendRequest):
1822         (WebCore::DocumentThreadableLoader::didReceiveData):
1823         (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
1824         * loader/DocumentThreadableLoaderClient.h: Added.
1825         (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
1826         (WebCore::DocumentThreadableLoaderClient::willSendRequest):
1827         * loader/ThreadableLoaderClient.h:
1828         (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
1829
1830 2011-02-19  Charlie Reis  <creis@chromium.org>
1831
1832         Reviewed by Mihai Parparita.
1833
1834         Ensure loading has stopped in HistoryController::goToItem
1835         https://bugs.webkit.org/show_bug.cgi?id=54517
1836
1837         Avoid stopping all loaders in goToItem for same document navigations
1838         or pseudo-back-forward URLs.  Make HistoryController::goToItem private
1839         to force callers to go through Page::goToItem.  Also add a callback to
1840         FrameLoaderClient to let clients decide whether to stop loading first.
1841
1842         Test: http/tests/navigation/forward-to-fragment-fires-onload.html
1843
1844         * loader/EmptyClients.h:
1845         * loader/FrameLoader.h:
1846         * loader/FrameLoaderClient.h:
1847         * loader/HistoryController.cpp:
1848         * loader/HistoryController.h:
1849         * page/Page.cpp:
1850
1851 2011-02-19  Adam Barth  <abarth@webkit.org>
1852
1853         Reviewed by Daniel Bates.
1854
1855         Fix xssAuditor/iframe-injection.html
1856         https://bugs.webkit.org/show_bug.cgi?id=54591
1857
1858         We should block the iframe src attribute.  Although this technically
1859         can't be used to run script, it's a pretty easy vector for stealing
1860         passwords.
1861
1862         * html/parser/XSSFilter.cpp:
1863         (WebCore::XSSFilter::filterTokenInitial):
1864         (WebCore::XSSFilter::filterIframeToken):
1865         * html/parser/XSSFilter.h:
1866
1867 2011-02-18  Tony Gentilcore  <tonyg@chromium.org>
1868
1869         Reviewed by Eric Seidel.
1870
1871         Let the parser yield for layout before running scripts
1872         https://bugs.webkit.org/show_bug.cgi?id=54355
1873
1874         Prior to this patch, the parser would yield to perform a layout/paint before running a
1875         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
1876         don't preload scan into the body while parsing the head, typically we'll block on a script
1877         early in the body that causes us to yield to do the first paint within a reasonable time.
1878
1879         However, I'm planning to change the PreloadScanner to scan into the body from the head.
1880         That significantly improves overall load time, but would hurt first paint time because
1881         fewer scripts would be blocked during parsing and thus wouldn't yield.
1882
1883         This change causes us to yield before running scripts if we haven't painted yet (regardless
1884         of whether or not the script is loaded). In addition to allowing the above mentioned
1885         PreloadScanner change to be implemented without regressing first paint time, this also
1886         improves first paint time by itself.
1887
1888         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
1889         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
1890         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
1891         signifcant change in page load time.
1892
1893         Within the pages tested, 33 had no statistically significant change in time to first paint,
1894         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
1895         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
1896
1897         * html/parser/HTMLDocumentParser.cpp:
1898         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
1899         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
1900         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
1901         the right thing whether we are just before a token or waiting for a script. Now that we may
1902         yield before a token or before a script, this may be called while paused.
1903         * html/parser/HTMLParserScheduler.cpp:
1904         (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
1905         to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
1906         no longer works. The fix is to change it to check minimumLayoutDelay() ==
1907         m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
1908         do this in a follow up.
1909         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
1910         * page/FrameView.h:
1911         (WebCore::FrameView::hasEverPainted): Added.
1912
1913 2011-02-18  Dawit Alemayehu  <adawit@kde.org>
1914
1915         Reviewed by Andreas Kling.
1916
1917         [Qt]  Button Element is rendered w/ text off-center.
1918         https://bugs.webkit.org/show_bug.cgi?id=53373
1919
1920         Test: LayoutTests/fast/forms/button-white-space.html 
1921
1922         * platform/qt/RenderThemeQt.cpp:
1923         (WebCore::RenderThemeQt::adjustButtonStyle):
1924
1925 2011-02-18  Jonathan Backer  <backer@chromium.org>
1926
1927         Reviewed by Eric Seidel.
1928
1929         [chromium] Fix leak of texture IDs in compositor.
1930         https://bugs.webkit.org/show_bug.cgi?id=54750
1931
1932         No new tests. It is extremely unlikely that this leak would have
1933         any user visible impact because only a few bytes of space are wasted
1934         (we're leaking texture IDs, not actual textures) and the space of
1935         texture IDs is large (32 bits).
1936
1937        * platform/graphics/chromium/TextureManager.cpp:
1938         (WebCore::TextureManager::requestTexture):
1939
1940 2011-02-18  Yi Shen  <yi.4.shen@nokia.com>
1941
1942         Reviewed by Tor Arne Vestbø.
1943
1944         Always display the media controls when requiresFullscreenForVideoPlayback() is true
1945         https://bugs.webkit.org/show_bug.cgi?id=54308
1946
1947         For video element, it should have controls when 
1948         Chrome::requiresFullscreenForVideoPlayback() is true.
1949
1950         * html/HTMLMediaElement.cpp:
1951         (WebCore::HTMLMediaElement::controls):
1952
1953 2011-02-18  Adrienne Walker  <enne@google.com>
1954
1955         Reviewed by Kenneth Russell.
1956
1957         [chromium] Use nearest-neighbor filtering for root layer.
1958         https://bugs.webkit.org/show_bug.cgi?id=54409
1959         https://bugs.webkit.org/show_bug.cgi?id=54509
1960
1961         This setting creates more consistent images for LayoutTests and
1962         prevents small floating point errors in texture coordinates from
1963         creating off-by-one pixel color differences.
1964
1965         * platform/graphics/chromium/LayerTilerChromium.cpp:
1966         (WebCore::LayerTilerChromium::update):
1967
1968 2011-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1969
1970         Reviewed by Kent Tamura.
1971
1972         [EFL] Fix coding style errors in RenderThemeEfl.h
1973         https://bugs.webkit.org/show_bug.cgi?id=54693
1974
1975         Fix style errors in RenderThemeEfl.h
1976
1977         * platform/efl/RenderThemeEfl.h:
1978
1979 2011-02-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
1980
1981         Reviewed by Andreas Kling.
1982
1983         [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
1984         https://bugs.webkit.org/show_bug.cgi?id=54742
1985
1986         This change was applied in the Qt repository (qt/src/3rdparty/webkit),
1987         so we should do the same here in QtWebKit.
1988
1989         Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
1990         a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
1991
1992         The previously used name "Nokia, Qt" was not usable for Nokia
1993         Content Signing, which only allows "Nokia" as the visible vendor
1994         name. The unique vendor ID remains as "Nokia, Qt"
1995
1996         * WebCore.pro:
1997
1998 2011-02-18  Alexis Menard  <alexis.menard@openbossa.org>
1999
2000         Reviewed by Andreas Kling.
2001
2002         [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
2003         menu bar due to flash.
2004         https://bugs.webkit.org/show_bug.cgi?id=54741
2005
2006         Only show plugins with a valid size. We then don't involve X11 if there is
2007         nothing to see anyway.
2008
2009         * plugins/qt/PluginViewQt.cpp:
2010         (WebCore::PluginView::updatePluginWidget):
2011         (WebCore::PluginView::platformStart):
2012
2013 2011-02-18  Ryuan Choi  <ryuan.choi@samsung.com>
2014
2015         Reviewed by Kent Tamura.
2016
2017         [EFL] Remove GDK dependency.
2018         https://bugs.webkit.org/show_bug.cgi?id=53978
2019
2020         Remove GLIB_SUPPORT macro in GDK related code.
2021         Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
2022
2023         * CMakeListsEfl.txt:
2024         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
2025         (WebCore::getDefaultFontOptions):
2026
2027 2011-02-18  Noel Gordon  <noel.gordon@gmail.com>
2028
2029         Reviewed by James Robinson.
2030
2031         [Chromium] Add elliptical gradient support to GradientSkia
2032         https://bugs.webkit.org/show_bug.cgi?id=51841
2033
2034         Covered by existing tests, these need new rebaselines once this patch
2035         lands for chrome linux, win32
2036
2037         fast/gradients/css3-color-stop-units.html
2038         fast/gradients/css3-color-stops.html
2039         fast/gradients/css3-linear-angle-gradients.html
2040         fast/gradients/css3-radial-gradients.html
2041         fast/gradients/css3-radial-gradients2.html
2042         fast/gradients/css3-radial-gradients3.html
2043         fast/gradients/css3-repeating-radial-gradients.html
2044
2045         * platform/graphics/skia/GradientSkia.cpp:
2046         (WebCore::Gradient::platformGradient):
2047
2048 2011-02-18  James Robinson  <jamesr@chromium.org>
2049
2050         Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
2051
2052         * platform/graphics/chromium/ContentLayerChromium.cpp:
2053         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2054
2055 2011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2056
2057         Reviewed by Kenneth Rohde Christiansen.
2058
2059         Tiled backing store area is too big.
2060         Error in area calculcation causes size of backing store
2061         up to 6 times bigger than viewport with default multipliers.
2062         https://bugs.webkit.org/show_bug.cgi?id=54587
2063
2064         * platform/graphics/TiledBackingStore.cpp:
2065         (WebCore::TiledBackingStore::createTiles):
2066
2067 2011-02-18  Beth Dakin  <bdakin@apple.com>
2068
2069         Reviewed by Sam Weinig.
2070
2071         Fix for <rdar://problem/9018729> Horizontal scroller doesn't 
2072         appear when loading a page with a Horizontal scrollbar from 
2073         the back/forward cache.
2074
2075         This patch adds a new  bool member variable to FrameView to 
2076         keep track of whether we are loading a page from the back/
2077         forward cache. If we are, don't suppress scrollbars on 
2078         first layout.
2079         * history/CachedFrame.cpp:
2080         (WebCore::CachedFrameBase::restore):
2081         * page/FrameView.cpp:
2082         (WebCore::FrameView::FrameView):
2083         (WebCore::FrameView::reset):
2084         (WebCore::FrameView::layout):
2085         * page/FrameView.h:
2086         (WebCore::FrameView::setIsRestoringFromBackForward):
2087         (WebCore::FrameView::isRestoringFromBackForward):
2088
2089 2011-02-18  Patrick Gansterer  <paroga@webkit.org>
2090
2091         Unreviewed WinCE build fix for r78846.
2092
2093         * platform/graphics/wince/FontWinCE.cpp:
2094         (WebCore::TextRunComponent::TextRunComponent):
2095         * platform/graphics/wince/GraphicsContextWinCE.cpp:
2096         (WebCore::GraphicsContext::drawLineForText):
2097         (WebCore::GraphicsContext::drawLineForTextChecking):
2098         (WebCore::GraphicsContext::drawText):
2099         * platform/wince/FileChooserWinCE.cpp:
2100         (WebCore::FileChooser::basenameForWidth):
2101
2102 2011-02-18  Emil A Eklund  <eae@chromium.org>
2103
2104         Reviewed by Darin Adler.
2105
2106         Crash in EventHandler::sendContextMenuEventForKey
2107         https://bugs.webkit.org/show_bug.cgi?id=54495
2108
2109         Test: fast/events/menu-keydown-on-hidden-element.html
2110
2111         * page/EventHandler.cpp:
2112         (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
2113
2114 2011-02-15  Adrienne Walker  <enne@google.com>
2115
2116         Reviewed by James Robinson.
2117
2118         [chromium] Clean up shader code from LayerChromium classes
2119         https://bugs.webkit.org/show_bug.cgi?id=54484
2120
2121         This is a refactoring and there should be no change in functionality.
2122         All shader code is pulled out into classes in ShaderChromium.
2123         The SharedValues classes are now turned into ProgramBinding, one per
2124         shader program.  These contain shader classes that know about what
2125         variables they can bind.
2126
2127         * WebCore.gypi:
2128         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2129         (WebCore::CanvasLayerChromium::draw):
2130         * platform/graphics/chromium/CanvasLayerChromium.h:
2131         * platform/graphics/chromium/ContentLayerChromium.cpp:
2132         (WebCore::ContentLayerChromium::draw):
2133         * platform/graphics/chromium/ContentLayerChromium.h:
2134         * platform/graphics/chromium/GeometryBinding.cpp: Added.
2135         (WebCore::GeometryBinding::GeometryBinding):
2136         (WebCore::GeometryBinding::~GeometryBinding):
2137         (WebCore::GeometryBinding::prepareForDraw):
2138         * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
2139         (WebCore::GeometryBinding::initialized):
2140         (WebCore::GeometryBinding::context):
2141         (WebCore::GeometryBinding::quadVerticesVbo):
2142         (WebCore::GeometryBinding::quadElementsVbo):
2143         (WebCore::GeometryBinding::positionAttribLocation):
2144         (WebCore::GeometryBinding::texCoordAttribLocation):
2145         * platform/graphics/chromium/LayerChromium.cpp:
2146         (WebCore::LayerChromium::drawDebugBorder):
2147         * platform/graphics/chromium/LayerChromium.h:
2148         * platform/graphics/chromium/LayerRendererChromium.cpp:
2149         (WebCore::LayerRendererChromium::drawLayers):
2150         (WebCore::LayerRendererChromium::initializeSharedObjects):
2151         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2152         * platform/graphics/chromium/LayerRendererChromium.h:
2153         (WebCore::LayerRendererChromium::sharedGeometry):
2154         (WebCore::LayerRendererChromium::borderProgram):
2155         (WebCore::LayerRendererChromium::contentLayerProgram):
2156         (WebCore::LayerRendererChromium::canvasLayerProgram):
2157         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
2158         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
2159         (WebCore::LayerRendererChromium::pluginLayerProgram):
2160         (WebCore::LayerRendererChromium::renderSurfaceProgram):
2161         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
2162         (WebCore::LayerRendererChromium::tilerProgram):
2163         * platform/graphics/chromium/LayerTilerChromium.cpp:
2164         (WebCore::LayerTilerChromium::draw):
2165         (WebCore::LayerTilerChromium::drawTexturedQuad):
2166         * platform/graphics/chromium/LayerTilerChromium.h:
2167         * platform/graphics/chromium/PluginLayerChromium.cpp:
2168         (WebCore::PluginLayerChromium::draw):
2169         * platform/graphics/chromium/PluginLayerChromium.h:
2170         * platform/graphics/chromium/ProgramBinding.cpp: Added.
2171         (WebCore::ProgramBindingBase::ProgramBindingBase):
2172         (WebCore::ProgramBindingBase::~ProgramBindingBase):
2173         (WebCore::ProgramBindingBase::init):
2174         (WebCore::ProgramBindingBase::loadShader):
2175         (WebCore::ProgramBindingBase::createShaderProgram):
2176         * platform/graphics/chromium/ProgramBinding.h: Added.
2177         (WebCore::ProgramBindingBase::program):
2178         (WebCore::ProgramBindingBase::initialized):
2179         (WebCore::ProgramBinding::ProgramBinding):
2180         (WebCore::ProgramBinding::vertexShader):
2181         (WebCore::ProgramBinding::fragmentShader):
2182         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
2183         (WebCore::RenderSurfaceChromium::drawSurface):
2184         * platform/graphics/chromium/RenderSurfaceChromium.h:
2185         * platform/graphics/chromium/ShaderChromium.cpp: Added.
2186         (WebCore::VertexShaderPosTex::VertexShaderPosTex):
2187         (WebCore::VertexShaderPosTex::init):
2188         (WebCore::VertexShaderPosTex::getShaderString):
2189         (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
2190         (WebCore::VertexShaderPosTexYUVStretch::init):
2191         (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
2192         (WebCore::VertexShaderPos::VertexShaderPos):
2193         (WebCore::VertexShaderPos::init):
2194         (WebCore::VertexShaderPos::getShaderString):
2195         (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
2196         (WebCore::VertexShaderPosTexTransform::init):
2197         (WebCore::VertexShaderPosTexTransform::getShaderString):
2198         (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
2199         (WebCore::FragmentTexAlphaBinding::init):
2200         (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
2201         (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
2202         (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
2203         (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
2204         (WebCore::FragmentShaderRGBATexAlphaMask::init):
2205         (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
2206         (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
2207         (WebCore::FragmentShaderYUVVideo::init):
2208         (WebCore::FragmentShaderYUVVideo::getShaderString):
2209         (WebCore::FragmentShaderColor::FragmentShaderColor):
2210         (WebCore::FragmentShaderColor::init):
2211         (WebCore::FragmentShaderColor::getShaderString):
2212         * platform/graphics/chromium/ShaderChromium.h: Added.
2213         (WebCore::VertexShaderPosTex::matrixLocation):
2214         (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
2215         (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
2216         (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
2217         (WebCore::VertexShaderPos::matrixLocation):
2218         (WebCore::VertexShaderPosTexTransform::matrixLocation):
2219         (WebCore::VertexShaderPosTexTransform::texTransformLocation):
2220         (WebCore::FragmentTexAlphaBinding::alphaLocation):
2221         (WebCore::FragmentTexAlphaBinding::samplerLocation):
2222         (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
2223         (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
2224         (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
2225         (WebCore::FragmentShaderYUVVideo::yTextureLocation):
2226         (WebCore::FragmentShaderYUVVideo::uTextureLocation):
2227         (WebCore::FragmentShaderYUVVideo::vTextureLocation):
2228         (WebCore::FragmentShaderYUVVideo::alphaLocation):
2229         (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
2230         (WebCore::FragmentShaderYUVVideo::signAdjLocation):
2231         (WebCore::FragmentShaderColor::colorLocation):
2232         * platform/graphics/chromium/VideoLayerChromium.cpp:
2233         (WebCore::VideoLayerChromium::draw):
2234         (WebCore::VideoLayerChromium::drawYUV):
2235         (WebCore::VideoLayerChromium::drawRGBA):
2236         * platform/graphics/chromium/VideoLayerChromium.h:
2237
2238 2011-02-18  James Robinson  <jamesr@chromium.org>
2239
2240         Reviewed by Kenneth Russell.
2241
2242         [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call
2243         https://bugs.webkit.org/show_bug.cgi?id=54315
2244
2245         This defers all operations on the compositor's GL context until the
2246         draw() call which is a prerequisite for moving the draw() off-thread.
2247         Also cleans up the update cycle a bit - there were some unused local
2248         variables and whatnot.
2249
2250         One consequence of this change is that the upload buffer is retained
2251         across updates now instead of allocated by each paint.  This is
2252         necessary so that the full layer contents can be uploaded if the
2253         texture manager evicts the layer's backing texture.  This costs more
2254         persistent memory but avoids lots of allocator churn on updates.
2255         Another nonobvious detail is that I have to update the texture for
2256         ContentLayerChromiums in bindContentsTexture() because mask layers
2257         never draw(), they are instead bound to the secondary texture unit.
2258
2259         * platform/graphics/chromium/ContentLayerChromium.cpp:
2260         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
2261         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2262         (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
2263         (WebCore::ContentLayerChromium::resizeUploadBuffer):
2264         (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
2265         (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
2266         (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
2267         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2268         (WebCore::ContentLayerChromium::draw):
2269         (WebCore::ContentLayerChromium::unreserveContentsTexture):
2270         (WebCore::ContentLayerChromium::bindContentsTexture):
2271         * platform/graphics/chromium/ContentLayerChromium.h:
2272         * platform/graphics/chromium/ImageLayerChromium.cpp:
2273         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2274         * platform/graphics/chromium/LayerChromium.cpp:
2275         (WebCore::LayerChromium::setBounds):
2276         * platform/graphics/chromium/LayerChromium.h:
2277
2278 2011-02-18  Kenneth Russell  <kbr@google.com>
2279
2280         Unreviewed, Chromium build fix on certain Linux platforms.
2281
2282         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
2283
2284 2011-02-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2285
2286         Reviewed by Kenneth Rohde Christiansen.
2287
2288         [Qt] Implement client based geolocation for qtport
2289         https://bugs.webkit.org/show_bug.cgi?id=42629
2290
2291         Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation
2292
2293         No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
2294
2295         * WebCore.pro:
2296         * features.pri:
2297         * platform/qt/GeolocationServiceQt.cpp: Removed.
2298         * platform/qt/GeolocationServiceQt.h: Removed.
2299
2300 2011-02-18  Yael Aharon  <yael.aharon@nokia.com>
2301
2302         Reviewed by Dave Hyatt.
2303
2304         Add support for dir=auto
2305         https://bugs.webkit.org/show_bug.cgi?id=50916
2306
2307         When an element has dir attribute with value "auto", call defaultWritingMode
2308         to find its directionality.
2309         Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
2310         and check this flag. This flag is set on every node between an element with
2311         dir=auto attribute and its first text node. Changes in the DOM between those
2312         elements will trigger re-evaluating the directionality, but changes not
2313         between those element do not need to be concerned.
2314         The DOM hooks were added to childrenChanged, and to parseMappedAttribute.
2315         The directionality is evaluated when children are added, and cleared when they are
2316         removed. Directionality flag is also cleared on a child that is no longer determining
2317         the directionality due to a sibling being added before that child.
2318
2319         Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
2320         We cannot used the mapped declaration, because it can take only one value.
2321
2322         Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
2323                fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
2324                fast/dom/HTMLElement/attr-dir-auto-change-text.html
2325                fast/dom/HTMLElement/attr-dir-auto-children.html
2326                fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
2327                fast/dom/HTMLElement/attr-dir-auto.html
2328                fast/dom/HTMLElement/attr-dir-value-change.html
2329
2330         * css/CSSStyleSelector.cpp:
2331         (WebCore::leftToRightDeclaration):
2332         (WebCore::rightToLeftDeclaration):
2333         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2334         (WebCore::CSSStyleSelector::styleForElement):
2335         * dom/Node.h:
2336         (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
2337         (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
2338         * html/HTMLElement.cpp:
2339         (WebCore::HTMLElement::mapToEntry):
2340         (WebCore::HTMLElement::parseMappedAttribute):
2341         (WebCore::setHasDirAutoFlagRecursively):
2342         (WebCore::HTMLElement::childrenChanged):
2343         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
2344         (WebCore::HTMLElement::directionality):
2345         (WebCore::HTMLElement::dirAttributeChanged):
2346         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
2347         (WebCore::HTMLElement::calculateAndAdjustDirectionality):
2348         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
2349         * html/HTMLElement.h:
2350
2351 2011-02-18  Yael Aharon  <yael.aharon@nokia.com>
2352
2353         Reviewed by Antonio Gomes.
2354
2355         Navigating downwards / upwards does not focus on the links spread across more than one line.
2356         https://bugs.webkit.org/show_bug.cgi?id=54639
2357
2358         When 2 anchor elements span more than one line each, and one ends on the same line that the
2359         second starts on, the rects reported by their renderers are overlapping. When handling
2360         2 overlapping nodes, check for this case, and don't assume that one of the nodes is on a higher layer.   
2361
2362         Test: fast/spatial-navigation/snav-two-elements-one-line.html
2363
2364         * page/FocusController.cpp:
2365         (WebCore::updateFocusCandidateIfNeeded):
2366         (WebCore::FocusController::findFocusCandidateInContainer):
2367         * page/SpatialNavigation.cpp:
2368         (WebCore::areElementsOnSameLine):
2369         (WebCore::distanceDataForNode):
2370         * page/SpatialNavigation.h:
2371
2372 2011-02-18  Ben Vanik  <benvanik@google.com>
2373
2374         Reviewed by Kenneth Russell.
2375
2376         Bug 53940: Implement the OES_vertex_array_object WebGL extension
2377         https://bugs.webkit.org/show_bug.cgi?id=53940
2378
2379         Initial implementation of the OES_vertex_array_object extension adding the OESVertexArrayObject
2380         extension container and WebGLVertexArrayObjectOES VAO object. The extension is plumbed through
2381         the Extensions3D interface and implemented in the Extensions3DOpenGL (WebKit/OSX) version when
2382         it is available.
2383         Two big changes touching code outside of the extension files:
2384         * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3D.h (modeled after
2385           GraphicsTypes.h). They are not namespaced as they weren't before.
2386         * To make the code cleaner/clearer all vertex attribute state has been moved to the
2387           WebGLVertexArrayObjectOES type (struct VertexAttribState) except for values which are still
2388           on the WebGLRenderingContext. A default VAO is now used to store the existing attribute
2389           states for when no other VAO is used. Code in WebGLRenderingContext dealing with buffers and
2390           vertex attributes now defers to or stores values in the bound array object.
2391
2392         Tested against the WebGL conformance suite and the new
2393         oes-vertex-array-object test:
2394         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-vertex-array-object.html
2395
2396         * CMakeLists.txt:
2397         * CodeGenerators.pri:
2398         * DerivedSources.make:
2399         * GNUmakefile.am:
2400         * WebCore.gyp: Modified property svn:ignore.
2401         * WebCore.gypi:
2402         * WebCore.pro:
2403         * WebCore.xcodeproj/project.pbxproj:
2404         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2405         (WebCore::toJS):
2406         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2407         (WebCore::toV8Object):
2408         * html/canvas/OESVertexArrayObject.cpp: Added.
2409         (WebCore::OESVertexArrayObject::OESVertexArrayObject):
2410         (WebCore::OESVertexArrayObject::~OESVertexArrayObject):
2411         (WebCore::OESVertexArrayObject::getName):
2412         (WebCore::OESVertexArrayObject::create):
2413         (WebCore::OESVertexArrayObject::createVertexArrayOES):
2414         (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
2415         (WebCore::OESVertexArrayObject::isVertexArrayOES):
2416         (WebCore::OESVertexArrayObject::bindVertexArrayOES):
2417         * html/canvas/OESVertexArrayObject.h: Added.
2418         * html/canvas/OESVertexArrayObject.idl: Added.
2419         * html/canvas/WebGLExtension.h:
2420         * html/canvas/WebGLGetInfo.cpp:
2421         (WebCore::WebGLGetInfo::WebGLGetInfo):
2422         (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
2423         * html/canvas/WebGLGetInfo.h:
2424         * html/canvas/WebGLRenderingContext.cpp:
2425         (WebCore::WebGLRenderingContext::initializeNewContext):
2426         (WebCore::WebGLRenderingContext::bindBuffer):
2427         (WebCore::WebGLRenderingContext::deleteBuffer):
2428         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
2429         (WebCore::WebGLRenderingContext::validateElementArraySize):
2430         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
2431         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
2432         (WebCore::WebGLRenderingContext::validateRenderingState):
2433         (WebCore::WebGLRenderingContext::drawElements):
2434         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
2435         (WebCore::WebGLRenderingContext::getExtension):
2436         (WebCore::WebGLRenderingContext::getParameter):
2437         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2438         (WebCore::WebGLRenderingContext::getVertexAttrib):
2439         (WebCore::WebGLRenderingContext::vertexAttribPointer):
2440         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
2441         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
2442         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
2443         (WebCore::WebGLRenderingContext::initVertexAttrib0):
2444         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
2445         (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
2446         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
2447         (WebCore::WebGLRenderingContext::getExtensionNumber):
2448         * html/canvas/WebGLRenderingContext.h:
2449         (WebCore::WebGLRenderingContext::getMaxVertexAttribs):
2450         (WebCore::WebGLRenderingContext::setBoundVertexArrayObject):
2451         (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue):
2452         * html/canvas/WebGLVertexArrayObjectOES.cpp: Added.
2453         (WebCore::WebGLVertexArrayObjectOES::create):
2454         (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
2455         (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
2456         * html/canvas/WebGLVertexArrayObjectOES.h: Added.
2457         (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
2458         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
2459         (WebCore::WebGLVertexArrayObjectOES::isDefaultObject):
2460         (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound):
2461         (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound):
2462         (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer):
2463         (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
2464         (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState):
2465         (WebCore::WebGLVertexArrayObjectOES::isVertexArray):
2466         * html/canvas/WebGLVertexArrayObjectOES.idl: Added.
2467         * platform/graphics/Extensions3D.h:
2468         * platform/graphics/GraphicsContext3D.h:
2469         * platform/graphics/GraphicsTypes3D.h: Added.
2470         * platform/graphics/chromium/Extensions3DChromium.h:
2471         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2472         (WebCore::Extensions3DOpenGL::supports):
2473         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
2474         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
2475         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
2476         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
2477         * platform/graphics/opengl/Extensions3DOpenGL.h:
2478         * platform/graphics/qt/Extensions3DQt.cpp:
2479         (WebCore::Extensions3DQt::createVertexArrayOES):
2480         (WebCore::Extensions3DQt::deleteVertexArrayOES):
2481         (WebCore::Extensions3DQt::isVertexArrayOES):
2482         (WebCore::Extensions3DQt::bindVertexArrayOES):
2483         * platform/graphics/qt/Extensions3DQt.h:
2484
2485 2011-02-17  Alexander Pavlov  <apavlov@chromium.org>
2486
2487         Reviewed by Pavel Feldman.
2488
2489         Web Inspector: reflect changes to styles when they happen outside inspector.
2490         https://bugs.webkit.org/show_bug.cgi?id=44620
2491
2492         Notify InspectorInstrumentation of inline style changes from CSSMutableStyleDeclaration
2493         whenever the style change does not come from a direct "style" attribute modification.
2494         The performance regression occurs only with the Web Inspector opened, when inline styles
2495         are modified through setting style.cssText or style.<styleAttribute>: according to the Web Inspector protocol,
2496         an attribute change requires that all attributes for the node in question be pushed into the frontend.
2497
2498         Test: inspector/styles/styles-update-from-js.html
2499
2500         * css/CSSMutableStyleDeclaration.cpp:
2501         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
2502         * inspector/InspectorDOMAgent.cpp:
2503         (WebCore::RevalidateStyleAttributeTask::reset):
2504         (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
2505         (WebCore::RevalidateStyleAttributeTask::scheduleFor):
2506         (WebCore::RevalidateStyleAttributeTask::onTimer):
2507         (WebCore::InspectorDOMAgent::reset):
2508         (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
2509         * inspector/InspectorDOMAgent.h:
2510         * inspector/InspectorInstrumentation.cpp:
2511         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
2512         * inspector/InspectorInstrumentation.h:
2513         (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
2514         * inspector/InspectorStyleSheet.cpp:
2515         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
2516         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
2517         (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
2518         * inspector/InspectorStyleSheet.h:
2519         * inspector/front-end/ElementsPanel.js:
2520         (WebInspector.ElementsPanel.prototype._attributesUpdated):
2521         * inspector/front-end/StylesSidebarPane.js:
2522         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2523         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
2524         (WebInspector.StylePropertiesSection.prototype.onpopulate):
2525         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
2526         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2527         (WebInspector.BlankStylePropertiesSection):
2528         (WebInspector.StylePropertyTreeElement):
2529         (WebInspector.StylePropertyTreeElement.prototype):
2530         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
2531
2532 2011-02-16  Tony Gentilcore  <tonyg@chromium.org>
2533
2534         Reviewed by Eric Seidel.
2535
2536         Refactor pumpTokenizer loop
2537         https://bugs.webkit.org/show_bug.cgi?id=54574
2538
2539         1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get
2540            the next token, although ASSERTs still enforce that we aren't waiting for a script. This
2541            enables resumeParsingAfterYield() to call pumpTokenizer with no modifications even if we
2542            yield before running a script rather than before taking a token (see bug 54355).
2543         2. This also picks up the refCount >= 1 assert when stopped.
2544
2545         Tested PerformanceTests/Parser to verify no regression. If anything it got faster.
2546         Before:
2547           avg 985.05
2548           median 985.5
2549           stdev 3.007906248539007
2550           min 980
2551           max 990
2552         After:
2553           avg 980.05
2554           median 981
2555           stdev 3.122098653149833
2556           min 974
2557           max 985
2558
2559         No new tests because no new functionality.
2560
2561         * html/parser/HTMLDocumentParser.cpp:
2562         (WebCore::HTMLDocumentParser::canTakeNextToken): Added.
2563         (WebCore::HTMLDocumentParser::pumpTokenizer):
2564         * html/parser/HTMLDocumentParser.h:
2565
2566 2011-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
2567
2568         Unreviewed, rolling out r79003.
2569         http://trac.webkit.org/changeset/79003
2570         https://bugs.webkit.org/show_bug.cgi?id=54753
2571
2572         It broke tests on GTK bots (Requested by Ossy on #webkit).
2573
2574         * accessibility/AccessibilityRenderObject.cpp:
2575         (WebCore::lastChildConsideringContinuation):
2576         * dom/Node.cpp:
2577         (WebCore::Node::removeEventListener):
2578         * html/DateComponents.cpp:
2579         (WebCore::DateComponents::parseTime):
2580
2581 2011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
2582
2583         Rubber-stamped by Andreas Kling.
2584
2585         Warning fix. Use ASSERT_UNUSED() instead of ASSERT().
2586
2587         * accessibility/AccessibilityRenderObject.cpp:
2588         (WebCore::lastChildConsideringContinuation):
2589         * dom/Node.cpp:
2590         (WebCore::Node::removeEventListener):
2591         * html/DateComponents.cpp:
2592         (WebCore::DateComponents::parseTime):
2593
2594 2011-02-18  Andrey Adaikin  <aandrey@google.com>
2595
2596         Reviewed by Pavel Feldman.
2597
2598         Web Inspector: [Text editor] Optimize editing updates in main panel
2599         https://bugs.webkit.org/show_bug.cgi?id=54661
2600
2601         * inspector/front-end/TextViewer.js:
2602         (WebInspector.TextViewer):
2603         (WebInspector.TextViewer.prototype._textChanged):
2604         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
2605         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
2606         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2607         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
2608         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
2609         (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
2610         (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
2611         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2612         (WebInspector.TextEditorGutterChunk):
2613         (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
2614         (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
2615         (WebInspector.TextEditorMainPanel):
2616         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2617         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
2618         (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines):
2619         (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines):
2620         (WebInspector.TextEditorMainPanel.prototype._paintLines):
2621         (WebInspector.TextEditorMainPanel.prototype._paintLine):
2622         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2623         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2624         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2625         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
2626         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
2627         (WebInspector.TextEditorMainChunk):
2628         (WebInspector.TextEditorMainChunk.prototype.get startLine):
2629         (WebInspector.TextEditorMainChunk.prototype.set startLine):
2630         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
2631         (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
2632
2633 2011-02-18  Steve Block  <steveblock@google.com>
2634
2635         Reviewed by Andreas Kling
2636
2637         Memory allocation error in convertV8ObjectToNPVariant() for strings
2638         https://bugs.webkit.org/show_bug.cgi?id=54737
2639
2640         Include the termination character in the length when allocating memory
2641         and copying the string. This fixes a crashing bug on Android.
2642
2643         This should be tested by the java/ tests on Chromium, but these
2644         tests are currently skipped.
2645
2646         * bindings/v8/V8NPUtils.cpp:
2647         (WebCore::convertV8ObjectToNPVariant):
2648
2649 2011-02-18  Philippe Normand  <pnormand@igalia.com>
2650
2651         Unreviewed, rolling out r78979.
2652         http://trac.webkit.org/changeset/78979
2653         https://bugs.webkit.org/show_bug.cgi?id=53146
2654
2655         causes multiple crashes on GTK
2656
2657         * accessibility/gtk/AXObjectCacheAtk.cpp:
2658         (WebCore::notifyChildrenSelectionChange):
2659         (WebCore::AXObjectCache::postPlatformNotification):
2660
2661 2011-02-18  Philippe Normand  <pnormand@igalia.com>
2662
2663         Reviewed by Martin Robinson.
2664
2665         [GTK] minimal build unrecognized options
2666         https://bugs.webkit.org/show_bug.cgi?id=50890
2667
2668         * GNUmakefile.am: new feature defines for optional features build.
2669
2670 2011-02-17  Hans Wennborg  <hans@chromium.org>
2671
2672         Reviewed by Jeremy Orlow.
2673
2674         IndexedDB: Populate indexes created for object stores with data
2675         https://bugs.webkit.org/show_bug.cgi?id=54669
2676
2677         Make sure that indices for object stores that already hold data get
2678         populated.
2679
2680         * storage/IDBIndexBackendImpl.h:
2681         (WebCore::IDBIndexBackendImpl::hasValidId):
2682         * storage/IDBObjectStoreBackendImpl.cpp:
2683         (WebCore::IDBObjectStoreBackendImpl::putInternal):
2684         (WebCore::populateIndex):
2685         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
2686
2687 2011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
2688
2689         Reviewed by Martin Robinson.
2690
2691         [GTK] Combo boxes should emit object:selection-changed even when collapsed
2692         https://bugs.webkit.org/show_bug.cgi?id=53146
2693
2694         Emit the selection-changed signals when the menu list value has changed
2695
2696         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
2697
2698         * accessibility/gtk/AXObjectCacheAtk.cpp:
2699         (WebCore::getListObject): New, return the right list object for
2700         menu lists and list boxes.
2701         (WebCore::notifyChildrenSelectionChange): Support menu lists.
2702         (WebCore::AXObjectCache::postPlatformNotification): Call function
2703         notifyChildrenSelectionChange for AXMenuListValueChanged.
2704
2705 2011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
2706
2707         Reviewed by Martin Robinson.
2708
2709         [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
2710         https://bugs.webkit.org/show_bug.cgi?id=53453
2711
2712         Ensure that atk_text_{get|set}_selection() work with list items.
2713
2714         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2715         (webkit_accessible_text_get_text): Properly handle list item
2716         markers when returning the text for an object for a given interval
2717         specified through the startOffset and endOffset parameters.
2718         (getSelectionOffsetsForObject): Bear in mind list item markers
2719         when returning the offsets for a selection over a list item.
2720         (webkit_accessible_text_set_selection): Adjust offsets if needed
2721         for list items with item markers. Ensure that it returns TRUE only
2722         when everything went fine setting the text selection.
2723
2724 2011-02-18  Antti Koivisto  <antti@apple.com>
2725
2726         Reviewed by Maciej Stachowiak.
2727
2728         https://bugs.webkit.org/show_bug.cgi?id=54728
2729         checkSelector*Value functions used in fastCheckSelector fail to inline
2730         
2731         Wrap the functions used as template arguments to classes.
2732
2733         * css/CSSStyleSelector.cpp:
2734         (WebCore::fastCheckSingleSelector):
2735         (WebCore::ClassCheck::checkValue):
2736         (WebCore::IdCheck::checkValue):
2737         (WebCore::TagCheck::checkValue):
2738         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
2739
2740 2011-02-17  Simon Fraser  <simon.fraser@apple.com>
2741
2742         Reviewed by Sam Weinig.
2743
2744         Composited iframe content is missing from snapshots in WebKit2
2745         https://bugs.webkit.org/show_bug.cgi?id=54696
2746
2747         We need to propagate the 'flattening' paint behavior flag
2748         down to subviews while painting. WebKit1 does this via
2749         code in WebFrameView, but this is a more general fix
2750         that works in WebKit2 as well.
2751         
2752         Made a utility method, parentFrameView(), which I changed
2753         some other methods to use as well.
2754         
2755         * page/FrameView.cpp:
2756         (WebCore::FrameView::isEnclosedInCompositingLayer):
2757         (WebCore::FrameView::useSlowRepaints):
2758         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
2759         (WebCore::FrameView::isOverlappedIncludingAncestors):
2760         (WebCore::FrameView::parentFrameView):
2761         (WebCore::FrameView::paintContents):
2762         * page/FrameView.h:
2763
2764 2011-02-17  Dan Bernstein  <mitz@apple.com>
2765
2766         Reviewed by Simon Fraser.
2767
2768         <rdar://problem/8898595> Pages that use fixed positioning display poorly when scaled
2769
2770         * html/HTMLBodyElement.cpp:
2771         (WebCore::adjustForZoom): Account for page scale.
2772         (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
2773         (WebCore::HTMLBodyElement::setScrollTop): Ditto.
2774         * page/FrameView.cpp:
2775         (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView here and changed to
2776         account for page scale: when the page is scaled, the “viewport” with respect to which fixed
2777         objects are positioned is scaled as well. Since it’s now bigger than the real viewport (that is,
2778         the frame view), we move it around in proportion to the document scroll, so that when the document
2779         is fully scrolled to the bottom-right, the bottom right of the scaled viewport is visible.
2780         (WebCore::FrameView::scrollYForFixedPosition): Ditto.
2781         (WebCore::FrameView::scrollOffsetForFixedPosition): Moved from ScrollView here.
2782         * page/FrameView.h:
2783         * platform/ScrollView.cpp: Moved functions to FrameView.
2784         * platform/ScrollView.h:
2785         * rendering/RenderLayer.cpp:
2786         (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Account for the RenderView being transformed.
2787         (WebCore::RenderLayer::calculateClipRects): Used scrollOffsetForFixedPosition().
2788         (WebCore::RenderLayer::backgroundClipRect): Ditto.
2789
2790 2011-02-17  Kenneth Russell  <kbr@google.com>
2791
2792         Reviewed by James Robinson.
2793
2794         Add support for GPU accelerated path rendering
2795         https://bugs.webkit.org/show_bug.cgi?id=44729
2796
2797         Incorporates the Loop and Blinn path rendering algorithm as an
2798         option to the GPU-accelerated canvas code, currently only compiled
2799         in to the Chromium port. Currently it's toggled by changing a
2800         hardcoded constant in
2801         SharedGraphicsContext3D::useLoopBlinnForPathRendering() and is
2802         disabled by default. This mechanism can be improved once we've
2803         gained more confidence in the implementation. There are some known
2804         bugs that need to be fixed first.
2805
2806         No new tests; ran some 2D Canvas tests manually with the new flag
2807         both enabled and disabled.
2808
2809         * WebCore.gypi:
2810         * platform/graphics/chromium/GLES2Canvas.cpp:
2811         (WebCore::GLES2Canvas::GLES2Canvas):
2812         (WebCore::GLES2Canvas::fillPath):
2813         * platform/graphics/chromium/GLES2Canvas.h:
2814         * platform/graphics/gpu/LoopBlinnClassifier.h:
2815         * platform/graphics/gpu/LoopBlinnLocalTriangulator.h:
2816         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
2817         (WebCore::SharedGraphicsContext3D::create):
2818         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
2819         (WebCore::SharedGraphicsContext3D::createBuffer):
2820         (WebCore::SharedGraphicsContext3D::bindBuffer):
2821         (WebCore::SharedGraphicsContext3D::bufferData):
2822         (WebCore::SharedGraphicsContext3D::bufferSubData):
2823         (WebCore::SharedGraphicsContext3D::useLoopBlinnForPathRendering):
2824         (WebCore::SharedGraphicsContext3D::useLoopBlinnInteriorProgram):
2825         (WebCore::SharedGraphicsContext3D::useLoopBlinnExteriorProgram):
2826         * platform/graphics/gpu/SharedGraphicsContext3D.h:
2827         * platform/graphics/skia/GraphicsContextSkia.cpp:
2828         (WebCore::GraphicsContext::fillPath):
2829
2830 2011-02-16  Stephen White  <senorblanco@chromium.org>
2831
2832         Reviewed by James Robinson.
2833
2834         Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on
2835         accelerated 2D canvas w/compositor enabled.
2836         https://bugs.webkit.org/show_bug.cgi?id=54561
2837
2838         When resetting the CanvasRenderingContext2D, we also need to send a
2839         contentChanged() to the relevant RenderLayer.  This is similar to what
2840         is done in didDraw().
2841
2842         Covered by fast/canvas/setWidthResetAfterForcedRender.html, but note 
2843         that this test will still fail pixel tests because the compositor
2844         is not compatible with repaint tests (the green square is now white,
2845         but the half-transparent grey repaint rect does not appear).
2846
2847         * html/canvas/CanvasRenderingContext2D.cpp:
2848         (WebCore::CanvasRenderingContext2D::reset):
2849
2850 2011-02-17  Sergey Glazunov  <serg.glazunov@gmail.com>
2851
2852         Reviewed by Kenneth Russell.
2853
2854         Null out the WEBKIT_lose_context WebGL extension's context pointer when
2855         the WebGL rendering context is removed.
2856         https://bugs.webkit.org/show_bug.cgi?id=54679
2857
2858         Test: fast/canvas/webgl/context-destroyed-crash.html
2859
2860         * html/canvas/WebGLRenderingContext.cpp:
2861         (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
2862         * html/canvas/WebKitLoseContext.cpp:
2863         (WebCore::WebKitLoseContext::loseContext): Add null-check for m_context.
2864         * html/canvas/WebKitLoseContext.h:
2865         (WebCore::WebKitLoseContext::contextDestroyed):
2866
2867 2011-02-17  Kenneth Russell  <kbr@google.com>
2868
2869         Reviewed by Chris Marrin.
2870
2871         Construction of Uint8Array from JS Array (and possibly others) incorrectly clamps values
2872         https://bugs.webkit.org/show_bug.cgi?id=52768
2873
2874         Removed incorrect clamping code from IntegralTypedArrayBase. Fixed
2875         code which casts from incoming double to the destination type.
2876         Changed the JSC bindings to use this code, rather than a copy of
2877         the casting code and a different constructor, in order to reuse
2878         the fix.
2879
2880         * bindings/js/JSArrayBufferViewHelper.h:
2881         (WebCore::constructArrayBufferView):
2882         * html/canvas/Int32Array.h:
2883         (WebCore::Int32Array::set):
2884         * html/canvas/Int8Array.h:
2885         (WebCore::Int8Array::set):
2886         * html/canvas/IntegralTypedArrayBase.h:
2887         (WebCore::IntegralTypedArrayBase::set):
2888         * html/canvas/Uint16Array.h:
2889         (WebCore::Uint16Array::set):
2890         * html/canvas/Uint32Array.h:
2891         (WebCore::Uint32Array::set):
2892         * html/canvas/Uint8Array.h:
2893         (WebCore::Uint8Array::set):
2894
2895 2011-02-17  Sam Weinig  <sam@webkit.org>
2896
2897         Reviewed by Dan Bernstein.
2898
2899         Knob proportion not quite right during rubber-band.
2900         <rdar://problem/9015201>
2901
2902         Change knob proportion algorithm to treat overhang as making the view smaller,
2903         rather than document bigger.
2904
2905         * platform/mac/ScrollbarThemeMac.mm:
2906         (WebCore::ScrollbarThemeMac::paint):
2907
2908 2011-02-16  Luiz Agostini  <luiz.agostini@openbossa.org>
2909
2910         Reviewed by Andreas Kling.
2911
2912         Summary: HTML5 <details> and <summary>: HTMLSummaryElement
2913         https://bugs.webkit.org/show_bug.cgi?id=54584
2914
2915         Adding class HTMLSummaryElement to build systems. This class will be used in
2916         the implementation of new HTML5 tag <summary>.
2917
2918         * CMakeLists.txt:
2919         * GNUmakefile.am:
2920         * WebCore.gypi:
2921         * WebCore.pro:
2922         * WebCore.vcproj/WebCore.vcproj:
2923         * WebCore.xcodeproj/project.pbxproj:
2924         * html/HTMLElementsAllInOne.cpp:
2925         * html/HTMLSummaryElement.cpp: Added.
2926         (WebCore::HTMLSummaryElement::create):
2927         (WebCore::HTMLSummaryElement::HTMLSummaryElement):
2928         * html/HTMLSummaryElement.h: Added.
2929         * html/HTMLTagNames.in:
2930
2931 2011-02-17  Jeremy Orlow  <jorlow@chromium.org>
2932
2933         Reviewed by Nate Chapin.
2934
2935         Throwing in an IndexedDB error or success event should lead to the transaction aborting
2936         https://bugs.webkit.org/show_bug.cgi?id=54249
2937
2938         When an exception is thrown but not handled  within an IDBRequests success/error event,
2939         we should abort the transaction.
2940
2941         Test: storage/indexeddb/exception-in-event-aborts.html
2942
2943         * bindings/js/JSEventListener.cpp:
2944         (WebCore::JSEventListener::handleEvent):
2945         * bindings/js/JSEventTarget.cpp:
2946         (WebCore::toJS):
2947         * bindings/v8/V8AbstractEventListener.cpp:
2948         (WebCore::V8AbstractEventListener::invokeEventHandler):
2949         * dom/EventTarget.cpp:
2950         (WebCore::EventTarget::uncaughtExceptionInEventHandler):
2951         * dom/EventTarget.h:
2952         * storage/IDBRequest.cpp:
2953         (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
2954         * storage/IDBRequest.h:
2955
2956 2011-02-17  Sam Weinig  <sam@webkit.org>
2957
2958         Reviewed by Maciej Stachowiak.
2959
2960         WebKit2: Support Dictionary popup
2961         <rdar://problem/7660670>
2962
2963         Add some necessary exports.
2964
2965         * WebCore.exp.in:
2966
2967 2011-02-17  W. James MacLean  <wjmaclean@chromium.org>
2968
2969         Reviewed by James Robinson.
2970
2971         [chromium] Add command-line flag to enable composite to offscreen texture.
2972         https://bugs.webkit.org/show_bug.cgi?id=52311
2973
2974         Add plumbing to allow command-line switch to enable offscreen compositing. Function
2975         LayerRendererChromium::copyOffscreenTextureToDisplay used for now to mimic
2976         normal renderer operation.
2977
2978         Existing functionality not changed; offscreen compositing will be tested via GPU test framework.
2979
2980         * platform/graphics/chromium/LayerRendererChromium.cpp:
2981         (WebCore::LayerRendererChromium::setRootLayer):
2982         (WebCore::LayerRendererChromium::setCompositeOffscreen):
2983         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
2984         (WebCore::LayerRendererChromium::useRenderSurface):
2985         (WebCore::LayerRendererChromium::setScissorToRect):
2986         * platform/graphics/chromium/LayerRendererChromium.h:
2987         (WebCore::LayerRendererChromium::isCompositingOffscreen):
2988
2989 2011-02-17  Kevin Ollivier  <kevino@theolliviers.com>
2990
2991         [wx] Build fixes after recent changes.
2992
2993         * dom/ScriptedAnimationController.h:
2994         * platform/graphics/wx/FontWx.cpp:
2995         (WebCore::Font::drawComplexText):
2996         * platform/graphics/wx/GraphicsContextWx.cpp:
2997         (WebCore::GraphicsContext::drawLineForText):
2998         (WebCore::GraphicsContext::drawLineForTextChecking):
2999         * platform/wx/WidgetWx.cpp:
3000         (WebCore::Widget::setFrameRect):
3001
3002 2011-02-16  Brian Weinstein  <bweinstein@apple.com>
3003
3004         Reviewed by Brady Eidson.
3005
3006         WebKit2: Need a way to manage the WebCore Cache
3007         https://bugs.webkit.org/show_bug.cgi?id=54501
3008         
3009         Add a way to get a set of all of the origins that have entries in the
3010         WebCore memory cache, and a method to remove all resources from the memory
3011         cache from a given security origin.
3012
3013         No change in behavior.
3014
3015         * WebCore.exp.in: Add functions that need to be exported.
3016         * loader/cache/MemoryCache.cpp:
3017         (WebCore::MemoryCache::removeResourcesWithOrigin):
3018         (WebCore::MemoryCache::getOriginsWithCache):
3019         * loader/cache/MemoryCache.h:
3020
3021 2011-02-16  David Hyatt  <hyatt@apple.com>
3022
3023         Reviewed by Dan Bernstein.
3024
3025         https://bugs.webkit.org/show_bug.cgi?id=54244
3026         
3027         Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
3028         hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
3029         
3030         The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
3031         been changed as well.
3032         
3033         In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
3034         
3035         Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
3036         
3037         Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
3038         still have a precise floating point position.
3039
3040         Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
3041         be rounding justification spacing in their font code.
3042
3043         Many layout test results change on Mac, since rounding hacks were used there and are now gone.
3044
3045         * WebCore.exp.in:
3046         * html/canvas/CanvasRenderingContext2D.cpp:
3047         (WebCore::CanvasRenderingContext2D::drawTextInternal):
3048         * platform/chromium/FileChooserChromium.cpp:
3049         (WebCore::FileChooser::basenameForWidth):
3050         * platform/graphics/Font.cpp:
3051         (WebCore::Font::width):
3052         * platform/graphics/Font.h:
3053         (WebCore::Font::spaceWidth):
3054         (WebCore::Font::tabWidth):
3055         * platform/graphics/FontFastPath.cpp:
3056         (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
3057         * platform/graphics/GraphicsContext.cpp:
3058         (WebCore::GraphicsContext::drawText):
3059         (WebCore::GraphicsContext::drawEmphasisMarks):
3060         (WebCore::GraphicsContext::drawBidiText):
3061         (WebCore::GraphicsContext::drawHighlightForText):
3062         * platform/graphics/GraphicsContext.h:
3063         * platform/graphics/SimpleFontData.cpp:
3064         (WebCore::SimpleFontData::SimpleFontData):
3065         (WebCore::SimpleFontData::platformGlyphInit):
3066         * platform/graphics/SimpleFontData.h:
3067         (WebCore::SimpleFontData::spaceWidth):
3068         * platform/graphics/StringTruncator.cpp:
3069         (WebCore::stringWidth):
3070         (WebCore::truncateString):
3071         (WebCore::StringTruncator::centerTruncate):
3072         (WebCore::StringTruncator::rightTruncate):
3073         (WebCore::StringTruncator::width):
3074         * platform/graphics/StringTruncator.h:
3075         * platform/graphics/TextRun.h:
3076         (WebCore::TextRun::TextRun):
3077         (WebCore::TextRun::xPos):
3078         (WebCore::TextRun::expansion):
3079         (WebCore::TextRun::directionalOverride):
3080         (WebCore::TextRun::disableSpacing):
3081         * platform/graphics/WidthIterator.cpp:
3082         (WebCore::WidthIterator::WidthIterator):
3083         (WebCore::WidthIterator::advance):
3084         * platform/graphics/WidthIterator.h:
3085         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3086         (WebCore::GraphicsContext::drawLineForText):
3087         (WebCore::GraphicsContext::drawLineForTextChecking):
3088         * platform/graphics/cg/GraphicsContextCG.cpp:
3089         (WebCore::GraphicsContext::drawLineForText):
3090         * platform/graphics/mac/ComplexTextController.cpp:
3091         (WebCore::ComplexTextController::ComplexTextController):
3092         (WebCore::ComplexTextController::advance):
3093         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3094         * platform/graphics/mac/ComplexTextController.h:
3095         * platform/graphics/mac/FontComplexTextMac.cpp:
3096         (WebCore::Font::getGlyphsAndAdvancesForComplexText):
3097         * platform/graphics/mac/GraphicsContextMac.mm:
3098         (WebCore::GraphicsContext::drawLineForTextChecking):
3099         * platform/graphics/qt/GraphicsContextQt.cpp:
3100         (WebCore::GraphicsContext::drawLineForText):
3101         (WebCore::GraphicsContext::drawLineForTextChecking):
3102         * platform/graphics/qt/SimpleFontDataQt.cpp:
3103         (WebCore::SimpleFontData::platformGlyphInit):
3104         * platform/graphics/skia/GraphicsContextSkia.cpp:
3105         (WebCore::GraphicsContext::drawLineForTextChecking):
3106         (WebCore::GraphicsContext::drawLineForText):
3107         * platform/graphics/win/GraphicsContextCGWin.cpp:
3108         (WebCore::GraphicsContext::drawLineForTextChecking):
3109         * platform/graphics/win/UniscribeController.cpp:
3110         (WebCore::UniscribeController::shapeAndPlaceItem):
3111         * platform/gtk/FileChooserGtk.cpp:
3112         (WebCore::FileChooser::basenameForWidth):
3113         * platform/mac/DragImageMac.mm:
3114         (WebCore::widthWithFont):
3115         (WebCore::drawAtPoint):
3116         * platform/mac/FileChooserMac.mm:
3117         (WebCore::FileChooser::basenameForWidth):
3118         * platform/win/DragImageWin.cpp:
3119         (WebCore::createDragImageForLink):
3120         * platform/win/FileChooserWin.cpp:
3121         (WebCore::FileChooser::basenameForWidth):
3122         * platform/win/PopupMenuWin.cpp:
3123         (WebCore::PopupMenuWin::calculatePositionAndSize):
3124         * platform/win/WebCoreTextRenderer.cpp:
3125         (WebCore::WebCoreTextFloatWidth):
3126         * rendering/HitTestResult.cpp:
3127         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
3128         * rendering/HitTestResult.h:
3129         * rendering/InlineBox.cpp:
3130         (WebCore::InlineBox::adjustPosition):
3131         (WebCore::InlineBox::placeEllipsisBox):
3132         (WebCore::InlineBox::locationIncludingFlipping):
3133         (WebCore::InlineBox::flipForWritingMode):
3134         * rendering/InlineBox.h:
3135         (WebCore::InlineBox::InlineBox):
3136         (WebCore::InlineBox::adjustLineDirectionPosition):
3137         (WebCore::InlineBox::adjustBlockDirectionPosition):
3138         (WebCore::InlineBox::setX):
3139         (WebCore::InlineBox::x):
3140         (WebCore::InlineBox::setY):
3141         (WebCore::InlineBox::y):
3142         (WebCore::InlineBox::width):
3143         (WebCore::InlineBox::height):
3144         (WebCore::InlineBox::logicalLeft):
3145         (WebCore::InlineBox::logicalRight):
3146         (WebCore::InlineBox::setLogicalLeft):
3147         (WebCore::InlineBox::pixelSnappedLogicalLeft):
3148         (WebCore::InlineBox::pixelSnappedLogicalRight):
3149         (WebCore::InlineBox::setLogicalWidth):
3150         (WebCore::InlineBox::logicalWidth):
3151         (WebCore::InlineBox::verticalAlign):
3152         * rendering/InlineFlowBox.cpp:
3153         (WebCore::InlineFlowBox::roundedFrameRect):
3154         (WebCore::InlineFlowBox::adjustPosition):
3155         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
3156         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
3157         (WebCore::verticalPositionForBox):
3158         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3159         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3160         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
3161         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3162         (WebCore::InlineFlowBox::computeOverflow):
3163         (WebCore::InlineFlowBox::setLayoutOverflow):
3164         (WebCore::InlineFlowBox::setVisualOverflow):
3165         (WebCore::InlineFlowBox::nodeAtPoint):
3166         (WebCore::InlineFlowBox::paintBoxDecorations):
3167         (WebCore::InlineFlowBox::paintMask):
3168         (WebCore::InlineFlowBox::placeEllipsisBox):
3169         * rendering/InlineFlowBox.h:
3170         (WebCore::InlineFlowBox::maxYLayoutOverflow):
3171         (WebCore::InlineFlowBox::maxXLayoutOverflow):
3172         (WebCore::InlineFlowBox::layoutOverflowRect):
3173         (WebCore::InlineFlowBox::maxYVisualOverflow):
3174         (WebCore::InlineFlowBox::maxXVisualOverflow):
3175         (WebCore::InlineFlowBox::visualOverflowRect):
3176         * rendering/InlineTextBox.cpp:
3177         (WebCore::InlineTextBox::placeEllipsisBox):
3178         (WebCore::InlineTextBox::nodeAtPoint):
3179         (WebCore::paintTextWithShadows):
3180         (WebCore::InlineTextBox::paint):
3181         (WebCore::InlineTextBox::paintSelection):
3182         (WebCore::InlineTextBox::paintCompositionBackground):
3183         (WebCore::InlineTextBox::paintDecoration):
3184         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3185         (WebCore::InlineTextBox::paintTextMatchMarker):
3186         (WebCore::InlineTextBox::paintDocumentMarkers):
3187         (WebCore::InlineTextBox::paintCompositionUnderline):
3188         (WebCore::InlineTextBox::textPos):
3189         (WebCore::InlineTextBox::offsetForPosition):
3190         (WebCore::InlineTextBox::positionForOffset):
3191         * rendering/InlineTextBox.h:
3192         (WebCore::InlineTextBox::setExpansion):
3193         * rendering/RenderBR.h:
3194         (WebCore::RenderBR::width):
3195         * rendering/RenderBlock.cpp:
3196         (WebCore::stripTrailingSpace):
3197         (WebCore::updatePreferredWidth):
3198         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
3199         (WebCore::RenderBlock::adjustForBorderFit):
3200         (WebCore::RenderBlock::addFocusRingRects):
3201         * rendering/RenderBlock.h:
3202         * rendering/RenderBlockLineLayout.cpp:
3203         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
3204         (WebCore::RenderBlock::fitBelowFloats):
3205         (WebCore::textWidth):
3206         (WebCore::tryHyphenating):
3207         (WebCore::RenderBlock::findNextLineBreak):
3208         * rendering/RenderBox.cpp:
3209         (WebCore::RenderBox::positionLineBox):
3210         (WebCore::RenderBox::flipForWritingMode):
3211         * rendering/RenderBox.h:
3212         * rendering/RenderCombineText.cpp:
3213         (WebCore::RenderCombineText::width):
3214         (WebCore::RenderCombineText::adjustTextOrigin):
3215         (WebCore::RenderCombineText::combineText):
3216         * rendering/RenderCombineText.h:
3217         (WebCore::RenderCombineText::combinedTextWidth):
3218         * rendering/RenderCounter.cpp:
3219         (WebCore::RenderCounter::computePreferredLogicalWidths):
3220         * rendering/RenderCounter.h:
3221         * rendering/RenderEmbeddedObject.cpp:
3222         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
3223         * rendering/RenderFileUploadControl.cpp:
3224         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
3225         * rendering/RenderImage.cpp:
3226         * rendering/RenderInline.cpp:
3227         (WebCore::RenderInline::linesBoundingBox):
3228         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
3229         (WebCore::RenderInline::addFocusRingRects):
3230         (WebCore::RenderInline::paintOutline):
3231         * rendering/RenderListBox.cpp:
3232         (WebCore::RenderListBox::updateFromElement):
3233         (WebCore::RenderListBox::paintItemForeground):
3234         * rendering/RenderMenuList.cpp:
3235         (WebCore::RenderMenuList::updateOptionsWidth):
3236         * rendering/RenderText.cpp:
3237         (WebCore::RenderText::localCaretRect):
3238         (WebCore::RenderText::widthFromCache):
3239         (WebCore::RenderText::trimmedPrefWidths):
3240         (WebCore::RenderText::minLogicalWidth):
3241         (WebCore::RenderText::maxLogicalWidth):
3242         (WebCore::RenderText::computePreferredLogicalWidths):
3243         (WebCore::RenderText::firstRunOrigin):
3244         (WebCore::RenderText::firstRunX):
3245         (WebCore::RenderText::firstRunY):
3246         (WebCore::RenderText::width):
3247         (WebCore::RenderText::linesBoundingBox):
3248         * rendering/RenderText.h:
3249         * rendering/RenderTextControl.cpp:
3250         (WebCore::RenderTextControl::getAvgCharWidth):
3251         (WebCore::RenderTextControl::paintPlaceholder):
3252         * rendering/RenderTreeAsText.cpp:
3253         (WebCore::writeTextRun):
3254         * rendering/RootInlineBox.cpp:
3255         (WebCore::RootInlineBox::placeEllipsis):
3256         (WebCore::RootInlineBox::placeEllipsisBox):
3257         (WebCore::RootInlineBox::adjustPosition):
3258         (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
3259         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
3260         * rendering/RootInlineBox.h:
3261         * rendering/VerticalPositionCache.h:
3262         * rendering/svg/SVGInlineTextBox.cpp:
3263         (WebCore::SVGInlineTextBox::offsetForPosition):
3264         (WebCore::SVGInlineTextBox::positionForOffset):
3265         (WebCore::SVGInlineTextBox::constructTextRun):
3266         * rendering/svg/SVGInlineTextBox.h:
3267         * rendering/svg/SVGRenderTreeAsText.cpp:
3268         (WebCore::writeRenderSVGTextBox):
3269         * rendering/svg/SVGTextMetrics.cpp:
3270         (WebCore::SVGTextMetrics::SVGTextMetrics):
3271         (WebCore::constructTextRun):
3272         * svg/SVGFont.cpp:
3273         (WebCore::floatWidthMissingGlyphCallback):
3274         (WebCore::Font::drawTextUsingSVGFont):
3275
3276 2011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
3277
3278         Reviewed by Dirk Schulze.
3279
3280         'ex' coordinates fail, when SVGFont doesn't provide an explicit xHeight attribute
3281         https://bugs.webkit.org/show_bug.cgi?id=54672
3282
3283         Measure the xHeight from the 'x' glyph of a SVGFont, if the font itself doesn't explicitely specify an x-height attribute.
3284         Fixes the modern version of SVG 1.1 2nd Edition coords-units-03-b.svg.
3285
3286         Test: svg/W3C-SVG-1.1-SE/coords-units-03-b.svg
3287
3288         * platform/graphics/SimpleFontData.cpp:
3289         (WebCore::SimpleFontData::SimpleFontData):
3290
3291 2011-02-10  Luiz Agostini  <luiz.agostini@openbossa.org>
3292
3293         Reviewed by Adam Roben.
3294
3295         HTML5 <details> and <summary>: localized text
3296         https://bugs.webkit.org/show_bug.cgi?id=54260
3297
3298         The method defaultDetailsSummaryText was added to LocalizationStrategy class and to
3299         platform/LocalizedStrings. It is used to provide the default label to be used by a
3300         <details> tag that has no <summary> child.
3301
3302         * platform/LocalizationStrategy.h:
3303         * platform/LocalizedStrings.cpp:
3304         (WebCore::fileButtonNoFileSelectedLabel):
3305         (WebCore::defaultDetailsSummaryText):
3306         * platform/LocalizedStrings.h:
3307         * platform/android/LocalizedStringsAndroid.cpp:
3308         (WebCore::defaultDetailsSummaryText):
3309         * platform/brew/LocalizedStringsBrew.cpp:
3310         (WebCore::defaultDetailsSummaryText):
3311         * platform/efl/LocalizedStringsEfl.cpp:
3312         (WebCore::defaultDetailsSummaryText):
3313         * platform/gtk/LocalizedStringsGtk.cpp:
3314         (WebCore::defaultDetailsSummaryText):
3315         * platform/haiku/LocalizedStringsHaiku.cpp:
3316         (WebCore::defaultDetailsSummaryText):
3317         * platform/wx/LocalizedStringsWx.cpp:
3318         (WebCore::defaultDetailsSummaryText):
3319
3320 2011-02-17  Kristian Amlie  <kristian.amlie@nokia.com>
3321
3322         Reviewed by Laszlo Gombos.
3323
3324         Updated include paths for phonon.
3325
3326         [Qt] WebKit patches required to work with a modularized version of Qt
3327         https://bugs.webkit.org/show_bug.cgi?id=53916
3328
3329         Build fix. No tests.
3330
3331         * WebCore.pro:
3332
3333 2011-02-17  Hui Huang  <hui.2.huang@nokia.com>
3334
3335         Reviewed by Laszlo Gombos.
3336
3337         The URL of HTML5 Video Element is percent encoded at websites such as youtube.
3338         It is percent encoded again by QUrl constructor QUrl::QUrl(QString). This causes
3339         the HTTP GET request for the video to be rejected by the service provider. 
3340         https://bugs.webkit.org/show_bug.cgi?id=53973.
3341
3342         The bug is fixed by constructing QUrl from the encoded URL.
3343
3344         New test function tst_QWebPage::loadHtml5Video() is added in 
3345         Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
3346
3347         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3348         (WebCore::MediaPlayerPrivateQt::commitLoad):
3349
3350 2011-02-17  Andreas Kling  <kling@webkit.org>
3351
3352         Reviewed by Antti Koivisto.
3353
3354         [Qt] Crash when calling QWebFrame::setUrl() while a previous load has pending requests
3355         https://bugs.webkit.org/show_bug.cgi?id=49216
3356
3357         CachedResourceRequest::didFail() will protect the CachedResourceLoader's
3358         document() while it runs, but if we're being called from the Document destructor,
3359         the protecting RefPtr<Document> will cause a double-delete instead.
3360
3361         * loader/cache/CachedResourceLoader.cpp:
3362         (WebCore::CachedResourceLoader::~CachedResourceLoader): Clear the m_document
3363         pointer so CachedResourceRequest::didFail() won't try to protect it.
3364         (WebCore::CachedResourceLoader::frame): Add null-check for m_document.
3365
3366 2011-02-17  Andrey Adaikin  <aandrey@google.com>
3367
3368         Reviewed by Pavel Feldman.
3369
3370         Web Inspector: [Text editor] Add updateHighlight method to the highlighter
3371         https://bugs.webkit.org/show_bug.cgi?id=54448
3372
3373         * inspector/front-end/SourceTokenizer.js:
3374         * inspector/front-end/TextEditorHighlighter.js:
3375         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
3376         (WebInspector.TextEditorHighlighter.prototype.reset):
3377         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
3378         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
3379         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3380
3381 2011-02-16  Pavel Podivilov  <podivilov@chromium.org>
3382
3383         Reviewed by Yury Semikhatsky.
3384
3385         Web Inspector: show all inlined scripts from single document in the same source frame.
3386         https://bugs.webkit.org/show_bug.cgi?id=54544
3387
3388         Currently when debugging synchronously executed inlined scripts each script is shown in it's own source frame ("example.html:24").
3389         We should show such scripts in the same source frame "example.html" with <script></script> framing.
3390
3391         Test: inspector/debugger/debug-inlined-scripts.html
3392
3393         * inspector/front-end/ScriptsPanel.js:
3394         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
3395         (WebInspector.ScriptsPanel.prototype._addScript):
3396         (WebInspector.ScriptsPanel.prototype._resourceForURL):
3397         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
3398         (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
3399         (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
3400         (WebInspector.ScriptsPanel.prototype.reset):
3401         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
3402         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
3403         (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
3404         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3405         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
3406         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
3407         (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
3408         (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
3409
3410 2011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
3411
3412         Reviewed by Dirk Schulze.
3413
3414         svg/batik/paints/patternRegions-positioned-objects.svg fails on Windows
3415         https://bugs.webkit.org/show_bug.cgi?id=44484
3416
3417         Pattern of pattern defined with objectBoundingBox does not render correctly
3418         https://bugs.webkit.org/show_bug.cgi?id=53463
3419
3420         Fix <pattern> + patternContentUnits="objectBoundingBox" support.
3421         We were incorrrectly translating the tile image transform, by the target objects bbox.x()/y().
3422         RenderSVGResourceMask/Clipper don't have this error.
3423         
3424         Fix nesting <patterns> in objectBoundingBox mode, propagate the tileImageTransform as new user-space
3425         when drawing the pattern children. <mask> + <clipPath> don't have the problem.
3426
3427         Test: svg/custom/nested-pattern-boundingBoxModeContent.svg
3428
3429         * rendering/svg/RenderSVGResourcePattern.cpp:
3430         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
3431         (WebCore::RenderSVGResourcePattern::createTileImage):
3432
3433 2011-02-17  Csaba Osztrogonác  <ossy@webkit.org>
3434
3435         Unreviewed.
3436
3437         [Qt][V8] Buildfix after r78752.
3438
3439         * CodeGenerators.pri: Add missing IDL files.
3440
3441 2011-02-17  Benjamin Kalman  <kalman@chromium.org>
3442
3443         Reviewed by Ryosuke Niwa.
3444
3445         RTL lineboundary left/right is reversed when cursor is at start of RTL container
3446         https://bugs.webkit.org/show_bug.cgi?id=54534
3447
3448         Test: editing/selection/extend-left-right-by-lineboundary.html
3449
3450         Add missing cases for extending left/right by lineboundary.
3451
3452         * editing/SelectionController.cpp:
3453         (WebCore::SelectionController::modifyExtendingRight):
3454         (WebCore::SelectionController::modifyExtendingLeft):
3455
3456 2011-02-16  Philippe Normand  <pnormand@igalia.com>
3457
3458         Reviewed by Martin Robinson.
3459
3460         [GTK] libsoup critical warnings
3461         https://bugs.webkit.org/show_bug.cgi?id=54557
3462
3463         Avoid pausing a soup message for already downloaded resources.
3464
3465         * platform/network/soup/ResourceHandleSoup.cpp: