6433027656b1491c58887e97205e04f08f0fc80e
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-02-24  Adam Roben  <aroben@apple.com>
2
3         Windows Production build fix
4
5         * platform/network/cf/AuthenticationCF.cpp: Add an extra #include as a workaround for
6         <rdar://problem/9042114>.
7
8 2011-02-23  Pavel Feldman  <pfeldman@chromium.org>
9
10         Reviewed by Yury Semikhatsky.
11
12         Web Inspector: refactor inspect() workflow so that it did not push dom nodes.
13         https://bugs.webkit.org/show_bug.cgi?id=55057
14
15         Test: inspector/console/command-line-api-inspect.html
16
17         I am working on getting rid of DOM agent pushes - everything should happen upon
18         front-end request. This patch changes the way we handle inspect() command line
19         api: instead of pushing nodes, we are telling front-end that inspect(object) has
20         been requested. It is then up to front-end to request dom nodes and focus them in
21         the tree. I also made inspect() work in a generic manner, using same routines for
22         nodes, databases, storages and potentially new elements.
23
24         As a side-effect, we don't do console.log from within inspect() anymore, but dump
25         inspected value as inspect's result.
26
27         Also, I added individual object release method and made object groups optional.
28
29         * bindings/js/JSInjectedScriptHostCustom.cpp:
30         (WebCore::InjectedScriptHost::scriptValueAsNode):
31         (WebCore::InjectedScriptHost::nodeAsScriptValue):
32         (WebCore::JSInjectedScriptHost::inspect):
33         (WebCore::JSInjectedScriptHost::databaseId):
34         (WebCore::JSInjectedScriptHost::storageId):
35         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
36         (WebCore::InjectedScriptHost::scriptValueAsNode):
37         (WebCore::InjectedScriptHost::nodeAsScriptValue):
38         (WebCore::V8InjectedScriptHost::inspectCallback):
39         (WebCore::V8InjectedScriptHost::databaseIdCallback):
40         (WebCore::V8InjectedScriptHost::storageIdCallback):
41         * inspector/InjectedScript.cpp:
42         (WebCore::InjectedScript::nodeForObjectId):
43         (WebCore::InjectedScript::releaseObject):
44         (WebCore::InjectedScript::wrapForConsole):
45         (WebCore::InjectedScript::inspectNode):
46         * inspector/InjectedScript.h:
47         * inspector/InjectedScriptHost.cpp:
48         (WebCore::InjectedScriptHost::inspectImpl):
49         (WebCore::InjectedScriptHost::databaseIdImpl):
50         (WebCore::InjectedScriptHost::storageIdImpl):
51         * inspector/InjectedScriptHost.h:
52         * inspector/InjectedScriptHost.idl:
53         * inspector/InjectedScriptSource.js:
54         * inspector/Inspector.idl:
55         * inspector/InspectorAgent.cpp:
56         (WebCore::InspectorAgent::focusNode):
57         * inspector/InspectorDOMAgent.cpp:
58         * inspector/InspectorDOMAgent.h:
59         * inspector/InspectorDOMStorageAgent.cpp:
60         (WebCore::InspectorDOMStorageAgent::storageId):
61         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
62         * inspector/InspectorDOMStorageAgent.h:
63         * inspector/InspectorDOMStorageResource.cpp:
64         * inspector/InspectorDOMStorageResource.h:
65         * inspector/InspectorDatabaseAgent.cpp:
66         (WebCore::InspectorDatabaseAgent::databaseId):
67         * inspector/InspectorDatabaseAgent.h:
68         * inspector/InspectorDatabaseResource.cpp:
69         * inspector/InspectorDatabaseResource.h:
70         * inspector/InspectorRuntimeAgent.cpp:
71         (WebCore::InspectorRuntimeAgent::releaseObject):
72         * inspector/InspectorRuntimeAgent.h:
73         * inspector/front-end/AuditRules.js:
74         (WebInspector.AuditRules.evaluateInTargetWindow):
75         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
76         * inspector/front-end/DOMStorage.js:
77         * inspector/front-end/Database.js:
78         * inspector/front-end/ExtensionServer.js:
79         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
80         * inspector/front-end/inspector.js:
81         (WebInspector.inspect):
82
83 2011-02-22  Pavel Podivilov  <podivilov@chromium.org>
84
85         Reviewed by Pavel Feldman.
86
87         Web Inspector: refactor "script or resource" mess in scripts panel.
88         https://bugs.webkit.org/show_bug.cgi?id=54961
89
90         - Use sourceName instead of scriptOrResource
91         - Replace two huge functions _addScriptToFilesMenu and _showScriptOrResource that are
92           calling each other recursively with small one-purpose non-recursive functions
93
94         Test: inspector/debugger/scripts-panel.html
95
96         * inspector/front-end/ScriptsPanel.js:
97         (WebInspector.ScriptsPanel):
98         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
99         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
100         (WebInspector.ScriptsPanel.prototype._addScript):
101         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
102         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
103         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
104         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
105         (WebInspector.ScriptsPanel.prototype.reset):
106         (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
107         (WebInspector.ScriptsPanel.prototype.showSourceLine):
108         (WebInspector.ScriptsPanel.prototype._showSourceFrame):
109         (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
110         (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
111         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
112         (WebInspector.ScriptsPanel.prototype._addItemToBackForwardList):
113         (WebInspector.ScriptsPanel.prototype._sourceNameForScript):
114         (WebInspector.ScriptsPanel.prototype._scriptForSourceName):
115         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
116         (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
117         (WebInspector.ScriptsPanel.prototype._goBack):
118         (WebInspector.ScriptsPanel.prototype._goForward):
119         * inspector/front-end/SourceFrame.js:
120         (WebInspector.SourceFrame.prototype.setExecutionLine):
121
122 2011-02-24  Eric Seidel  <eric@webkit.org>
123
124         Reviewed by Adam Barth.
125
126         Fragment parsing does not need to use HTMLSourceTracker
127         https://bugs.webkit.org/show_bug.cgi?id=55011
128
129         Any performance gains from this patch are likely
130         the result of working around:
131         https://bugs.webkit.org/show_bug.cgi?id=55005
132         (Which suggests that fixing bug 55005 will speed
133         up normal HTML parsing substantially.)
134
135         Assuming I ran the numbers correct, here is the
136         change from PerformanceTests/Parser/tiny-innerHTML:
137         Before patch:
138         avg 5586.1
139         median 5594
140         stdev 41.295157101045135
141         min 5425
142         max 5633
143
144         After Patch:
145         avg 2603.9
146         median 2609.5
147         stdev 32.500615378789355
148         min 2475
149         max 2649
150
151         Removing just the HTMLSourceTracker calls brought our
152         score from 5500 to 5200, removing the XSSFilter as well
153         brought it to 2600 on my machine.
154
155         * html/parser/HTMLDocumentParser.cpp:
156         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
157         (WebCore::HTMLDocumentParser::pumpTokenizer):
158         * html/parser/HTMLDocumentParser.h:
159
160 2011-02-24  Andras Becsi  <abecsi@webkit.org>
161
162         Reviewed by Laszlo Gombos.
163
164         [Qt] MinGW build fails to link
165         https://bugs.webkit.org/show_bug.cgi?id=55050
166
167         Prepend the libraries of subcomponents instead of appending them
168         to fix the library order according to the dependency of the libraries
169
170         No new tests needed.
171
172         * WebCore.pri:
173
174 2011-02-24  Adam Barth  <abarth@webkit.org>
175
176         Reviewed by Eric Seidel.
177
178         CSP's script-src should block JavaScript URLs
179         https://bugs.webkit.org/show_bug.cgi?id=54787
180
181         Blocking JavaScript URLs required some re-architecting of the lifetime
182         of the ContentSecurityPolicy object.  We now manage the lifetime the
183         same way we manage the lifetime of the SecurityOrigin object.  In
184         particular, when SecurityOrigin inherits into an about:blank iframe, we
185         inherit the CSP object as well.  (This is covered by the test added in
186         this patch.) In the future, we might consider making
187         ContentSecurityPolicy a component of SecurityOrigin instead of a
188         component of Document.
189
190         I noted the trickiness in
191         http://www.w3.org/Security/wiki/Content_Security_Policies so that we'll
192         make sure it gets defined properly in the spec.
193
194         Test: http/tests/security/contentSecurityPolicy/javascript-url.html
195
196         * bindings/ScriptControllerBase.cpp:
197         (WebCore::ScriptController::executeIfJavaScriptURL):
198         * dom/Document.cpp:
199         (WebCore::Document::initSecurityContext):
200         * dom/Document.h:
201         (WebCore::Document::contentSecurityPolicy):
202         * page/ContentSecurityPolicy.cpp:
203         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
204         * page/ContentSecurityPolicy.h:
205         (WebCore::ContentSecurityPolicy::create):
206
207 2011-02-21  Philippe Normand  <pnormand@igalia.com>
208
209         Reviewed by Martin Robinson.
210
211         [GStreamer] GRefPtr support for GstElement
212         https://bugs.webkit.org/show_bug.cgi?id=54870
213
214         * CMakeListsEfl.txt:
215         * GNUmakefile.am:
216         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Added.
217         (WTF::GstElement):
218         * platform/graphics/gstreamer/GRefPtrGStreamer.h: Added.
219         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
220         (webKitWebSrcQuery):
221
222 2011-02-24  Emil A Eklund  <eae@chromium.org>
223
224         Reviewed by Eric Seidel.
225
226         Share code between elementFromPoint and caretRangeFromPoint in Document.
227         https://bugs.webkit.org/show_bug.cgi?id=54610
228
229         Eliminate duplicate code by moving shared logic from elementFromPoint and
230         caretRangeFromPoint into helper function.
231
232         * dom/Document.cpp:
233         (WebCore::nodeFromPoint):
234         (WebCore::Document::elementFromPoint):
235         (WebCore::Document::caretRangeFromPoint):
236
237 2011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
238
239         Unreviewed build fix.
240
241         * inspector/InspectorDOMAgent.cpp:
242         (WebCore::InspectorDOMAgent::removeAttribute):
243         * inspector/InspectorResourceAgent.cpp:
244         (WebCore::InspectorResourceAgent::cachedResources):
245         * inspector/InspectorRuntimeAgent.cpp:
246         (WebCore::InspectorRuntimeAgent::evaluate):
247
248 2011-02-24  Zan Dobersek  <zandobersek@gmail.com>
249
250         Reviewed by Eric Seidel.
251
252         [gtk] Failing collinear arcTo canvas tests
253         https://bugs.webkit.org/show_bug.cgi?id=54658
254
255         Check for collinearity of the three points that affect how arcTo call
256         results. This behavior is in accordance with the HTML standard.
257
258         No new tests added as this is already covered by at least two tests.
259
260         * platform/graphics/cairo/PathCairo.cpp:
261         (WebCore::areaOfTriangleFormedByPoints):
262         (WebCore::Path::addArcTo):
263
264 2011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
265
266         Reviewed by Pavel Feldman.
267
268         Web Inspector: There is a validator of the protocol message format.
269
270         It has two parts. InspectorBackendStub.js is the frontend part.
271         InspectorBackendDispatcher.cpp is the backend part.
272         Both parts are checking protocol message format and report the error if
273         the message has not enough fields or the types of fields do not match with
274         Inspector.idl specification. These validators are generated automatically.
275
276         In addition, we have a number of places at the backend where we check the
277         function arguments and do nothing if the arguments are invalid
278         from the business logic point of view.
279
280         This patch bring us an ability to report a custom error from such function to the frontend.
281
282         https://bugs.webkit.org/show_bug.cgi?id=54971
283
284         * inspector/CodeGeneratorInspector.pm:
285         * inspector/InjectedScriptHost.cpp:
286         * inspector/InspectorAgent.cpp:
287         * inspector/InspectorAgent.h:
288         * inspector/InspectorApplicationCacheAgent.cpp:
289         * inspector/InspectorApplicationCacheAgent.h:
290         * inspector/InspectorBrowserDebuggerAgent.cpp:
291         * inspector/InspectorBrowserDebuggerAgent.h:
292         * inspector/InspectorCSSAgent.cpp:
293         * inspector/InspectorCSSAgent.h:
294         * inspector/InspectorConsoleAgent.cpp:
295         * inspector/InspectorConsoleAgent.h:
296         * inspector/InspectorController.cpp:
297         * inspector/InspectorDOMAgent.cpp:
298         * inspector/InspectorDOMAgent.h:
299         * inspector/InspectorDOMStorageAgent.cpp:
300         * inspector/InspectorDOMStorageAgent.h:
301         * inspector/InspectorDatabaseAgent.cpp:
302         * inspector/InspectorDatabaseAgent.h:
303         * inspector/InspectorDebuggerAgent.cpp:
304         * inspector/InspectorDebuggerAgent.h:
305         * inspector/InspectorProfilerAgent.cpp:
306         * inspector/InspectorProfilerAgent.h:
307         * inspector/InspectorResourceAgent.cpp:
308         * inspector/InspectorResourceAgent.h:
309         * inspector/InspectorRuntimeAgent.cpp:
310         * inspector/InspectorRuntimeAgent.h:
311         * inspector/InspectorTimelineAgent.cpp:
312         * inspector/InspectorTimelineAgent.h:
313
314 2011-02-24  Ryosuke Niwa  <rniwa@webkit.org>
315
316         Reviewed by Ojan Vafai.
317
318         Crash when deleting inside a blockquote with a large offset
319         https://bugs.webkit.org/show_bug.cgi?id=55098
320
321         The bug was caused by inconsistency in lineBreakExistsAtPosition and breakOutOfEmptyMailBlockquotedParagraph.
322         While lineBreakExistsAtPosition was checking that a line break exists at the downstream of the given position,
323         breakOutOfEmptyMailBlockquotedParagraph wasn't using the downstream for caretPos. Fixed the bug by using
324         the downstream position to instantiate caretPos.
325
326         Co-author: Abhishek Arya <inferno@chromium.org>.
327
328         Test: editing/deleting/delete-blockquote-large-offsets.html
329
330         * editing/CompositeEditCommand.cpp:
331         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
332
333 2011-02-24  Robert Kroeger  <rjkroege@chromium.org>
334
335         Reviewed by Darin Fisher.
336
337         Added timestamps to PlatformTouchEvent etc.
338
339         PlatformTouchEvent doesn't have a timestamp and so
340         eventSender.leapForward cannot be used for touchevent based tests.
341         This change adds a timestamp to PlatformTouchEvent and initializes
342         it in a reasonable manner on Android and Qt platforms.
343
344         [chromium] [WebCore] [android] Touch events are missing time stamps
345         https://bugs.webkit.org/show_bug.cgi?id=53510
346
347         * platform/PlatformTouchEvent.h:
348         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
349         (WebCore::PlatformTouchEvent::timestamp):
350         * platform/android/PlatformTouchEventAndroid.cpp:
351         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
352         * platform/qt/PlatformTouchEventQt.cpp:
353         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
354
355 2011-02-24  Renata Hodovan  <reni@webkit.org>
356
357         Unreviewed GTK, Snow Leopard build fix for r79474.
358
359         * platform/graphics/filters/FEConvolveMatrix.cpp:
360         (WebCore::FEConvolveMatrix::setKernelUnitLength):
361         * platform/graphics/filters/FEConvolveMatrix.h:
362
363 2011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
364
365         Reviewed by Xan Lopez.
366
367         Use IntRect instead of a pointer to a GtkAllocation struct to avoid
368         unnecessary memory allocations.
369
370         * plugins/PluginView.h:
371         * plugins/gtk/PluginViewGtk.cpp:
372         (WebCore::PluginView::setNPWindowIfNeeded):
373         (WebCore::PluginView::plugAddedCallback):
374
375 2011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
376
377         Unreviewed. Fix the build with GTK+ 3.
378
379         * plugins/PluginView.h:
380
381 2011-02-23  Ryosuke Niwa  <rniwa@webkit.org>
382
383         Reviewed by Darin Adler.
384
385         Refactor HTMLEquivalent into a hierachy of classes
386         https://bugs.webkit.org/show_bug.cgi?id=55025
387
388         Converted HTMLEquivalent into a class.  Some logic in removeImplicitlyStyledElement is
389         extracted as member functions of HTMLEquivalent and its subclasses.
390
391         * editing/ApplyStyleCommand.cpp:
392         (WebCore::HTMLEquivalent::create): Added.
393         (WebCore::HTMLEquivalent::~HTMLEquivalent): Added.
394         (WebCore::HTMLEquivalent::matches): Returns true if the element is an equivalent, meaning that
395         the element's implicit style affects the property of this equivalence.
396         (WebCore::HTMLEquivalent::hasAttribute): Returns true if this equivalence requires attributes;
397         e.g. color, size, dir.
398         (WebCore::HTMLEquivalent::propertyExistsInStyle): Returns true if the property of this equivalence
399         exists in the specified style. e.g. if this equivalence is for size attribute and font-size property,
400         this function returns true if the specified style has font-size property set.
401         (WebCore::HTMLEquivalent::HTMLEquivalent): Added.
402         (WebCore::HTMLEquivalent::valueIsPresentInStyle): Returns true if the specified style has the
403         implicit style of the specified element of this equivalence.
404         (WebCore::HTMLEquivalent::addToStyle): Adds the implicit style of the element of this equivalence
405         to the specified mutable style.
406         (WebCore::HTMLEquivalentValueList::create): Added.
407         (WebCore::HTMLEquivalentValueList::HTMLEquivalentValueList): Added.
408         (WebCore::HTMLEquivalentValueList::valueIsPresentInStyle): Added.
409         (WebCore::HTMLEquivalentAttribute::create): Added.
410         (WebCore::HTMLEquivalentAttribute::matches): Added.
411         (WebCore::HTMLEquivalentAttribute::hasAttribute): Added.
412         (WebCore::HTMLEquivalentAttribute::attributeName): Added.
413         (WebCore::HTMLEquivalentAttribute::HTMLEquivalentAttribute): Added.
414         (WebCore::HTMLEquivalentAttribute::valueIsPresentInStyle): Added.
415         (WebCore::HTMLEquivalentAttribute::addToStyle): Added.
416         (WebCore::HTMLEquivalentAttribute::attributeValueAsCSSValue): Added.
417         (WebCore::HTMLEquivalentFontSizeAttribute::create): Added.
418         (WebCore::HTMLEquivalentFontSizeAttribute::HTMLEquivalentFontSizeAttribute): Added.
419         (WebCore::HTMLEquivalentFontSizeAttribute::attributeValueAsCSSValue): Added.
420         (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Uses new classes.
421
422 2011-02-23  Sheriff Bot  <webkit.review.bot@gmail.com>
423
424         Unreviewed, rolling out r79510.
425         http://trac.webkit.org/changeset/79510
426         https://bugs.webkit.org/show_bug.cgi?id=55114
427
428         It made ~200 tests crash on Qt bot (Requested by Ossy_ on
429         #webkit).
430
431         * platform/text/TextBreakIterator.h:
432         * platform/text/TextBreakIteratorICU.cpp:
433         (WebCore::lineBreakIterator):
434         * platform/text/qt/TextBreakIteratorQt.cpp:
435         (WebCore::lineBreakIterator):
436         * rendering/RenderBlock.h:
437         * rendering/RenderBlockLineLayout.cpp:
438         (WebCore::RenderBlock::layoutInlineChildren):
439         (WebCore::RenderBlock::findNextLineBreak):
440         * rendering/RenderText.cpp:
441         (WebCore::RenderText::computePreferredLogicalWidths):
442         * rendering/break_lines.cpp:
443         (WebCore::nextBreakablePosition):
444         * rendering/break_lines.h:
445         (WebCore::isBreakable):
446
447 2011-02-23  Geoffrey Garen  <ggaren@apple.com>
448
449         Reviewed by Mark Rowe.
450         
451         Used svn merge -r79502:79501 to roll out r79502 because it broke the
452         SnowLeopard and Leopard builds.
453
454         * WebCore.xcodeproj/project.pbxproj:
455         * platform/mac/HTMLConverter.h: Removed.
456         * platform/mac/HTMLConverter.mm: Removed.
457         * platform/mac/PasteboardMac.mm:
458         (WebCore::Pasteboard::writeSelection):
459
460 2011-02-23  Beth Dakin  <bdakin@apple.com>
461
462         Reviewed by Dan Bernstein.
463
464         Fix for <rdar://problem/9002157> Garbage in the bottom right corner of the window 
465         when scrolling
466
467         When there is both a horizontal and a vertical scrollbar, it is necessary to 
468         include the space between them in the invalidation.
469         * platform/ScrollableArea.cpp:
470         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
471
472 2011-02-23  Ned Holbrook  <nholbrook@apple.com>
473
474         Reviewed by Dan Bernstein.
475
476         Minimize calls to ubrk_setText()
477         https://bugs.webkit.org/show_bug.cgi?id=54912
478         <rdar://problem/9032774>
479
480         Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
481         break iterator creation until needed. This requires replacing the global line break iterator primitive with a
482         version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
483         layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
484         In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
485
486         * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
487         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
488         (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
489         (WebCore::LazyLineBreakIterator::string):
490         (WebCore::LazyLineBreakIterator::length):
491         (WebCore::LazyLineBreakIterator::get):
492         (WebCore::LazyLineBreakIterator::reset):
493         * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
494         (WebCore::acquireLineBreakIterator):
495         (WebCore::releaseLineBreakIterator):
496         * platform/text/qt/TextBreakIteratorQt.cpp: Ditto TextBreakIteratorICU.cpp.
497         (WebCore::acquireLineBreakIterator):
498         (WebCore::releaseLineBreakIterator):
499         * rendering/RenderBlock.h:
500         * rendering/RenderBlockLineLayout.cpp:
501         (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
502         (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
503         * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
504         (WebCore::RenderText::computePreferredLogicalWidths):
505         * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than TextBreakIterator.
506         (WebCore::nextBreakablePosition):
507         * rendering/break_lines.h: Accept LazyLineBreakIterator rather than TextBreakIterator.
508         (WebCore::isBreakable):
509
510 2011-02-23  Anders Carlsson  <andersca@apple.com>
511
512         Fix build.
513
514         * platform/mac/HTMLConverter.h:
515
516 2011-02-17  Enrica Casucci  <enrica@apple.com>
517
518         Reviewed by Darin Adler.
519
520         REGRESSION: Copied content loses formatting on paste to external apps.
521         https://bugs.webkit.org/show_bug.cgi?id=47615
522         <rdar://problem/9001214>
523
524         This patch adds a way for WebKit2 to create NSAttributedStrings from
525         a DOM range without using the AppKit api initWithDOMRange that internally
526         needs to access the WebView. The NSAttributedString is needed to create
527         RTF formats in the pasteboard.
528         This is to be considered a first step, since in the future we want to have
529         an implementation based on the TextIterator.
530         
531         * WebCore.xcodeproj/project.pbxproj: Added new file.
532         * platform/mac/HTMLConverter.h: Added.
533         * platform/mac/HTMLConverter.mm: Added.
534         * platform/mac/PasteboardMac.mm:
535         (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
536         class for WebKit2 to create the NSAttributedString from the DOM range.
537
538 2011-02-23  David Hyatt  <hyatt@apple.com>
539
540         Reviewed by Sam Weinig.
541
542         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
543
544         Patch computePositionedLogicalHeightUsing to be writing-mode-aware. 
545
546         * rendering/RenderBox.cpp:
547         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
548         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
549         * rendering/RenderBox.h:
550
551 2011-02-23  Martin Robinson  <mrobinson@igalia.com>
552
553         Reviewed by Xan Lopez.
554
555         [Gtk] Flash item placed on wrong location right after load
556         https://bugs.webkit.org/show_bug.cgi?id=37769
557
558         If a plugin is GtkSocket based, do not set the widget allocation until the
559         window is actually embedded in the parent. When the window is embedded, use
560         any pending allocation for the call to gtk_widget_size_allocate. This bug
561         seems to only appear with Flash movies loaded as the src of an iframe.
562
563         * manual-tests/plugins/windowed-in-iframe.html: Added.
564         * plugins/PluginView.h: Add a few new members to track window embedding state.
565         * plugins/gtk/PluginViewGtk.cpp:
566         (WebCore::PluginView::setNPWindowIfNeeded): If this is a GtkSocket-based plugin
567         wait until the plug-added signal fires to set the widget allocation.
568         (WebCore::PluginView::plugAddedCallback): Updated to be a static method, so that
569         we can access private members. If there is a pending allocation, call gtk_widget_size_allocate
570         with it.
571         (WebCore::PluginView::platformStart): Update the plugin state, so that we do not
572         call gtk_widget_size_allocate if the window isn't embedded.
573
574 2011-02-18  Enrica Casucci  <enrica@apple.com>
575
576         Reviewed by Adam Roben.
577
578         Mac OS X Services are not available for selected text in WebKit2 windows.
579         https://bugs.webkit.org/show_bug.cgi?id=54777
580         <rdar://problem/8666428>
581
582         The changes to WebCore for this bug are limited to exposing a new
583         entry point in the Editor class to write to the pasteboard and
584         changes to the Pasteboard class to write the selection with
585         a given set of pasteboard types. The majority of the work
586         is done in WebKit2.
587         
588         * WebCore.exp.in:
589         * editing/Editor.h:
590         * editing/mac/EditorMac.mm: Added entrypoint to write the
591         selection to the pasteboard.
592         (WebCore::Editor::writeSelectionToPasteboard):
593         * platform/Pasteboard.h:
594         * platform/mac/ClipboardMac.mm:
595         (WebCore::ClipboardMac::writeRange):
596         * platform/mac/PasteboardMac.mm:
597         (WebCore::Pasteboard::writeSelection):
598
599 2011-02-23  David Hyatt  <hyatt@apple.com>
600
601         Reviewed by Simon Fraser.
602
603         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
604
605         Patch computePositionedLogicalHeight to be writing-mode-aware.  Functions it calls have not been
606         patched yet, so still not testable in a vertical text environment.
607
608         * rendering/RenderBox.cpp:
609         (WebCore::RenderBox::computePositionedLogicalHeight):
610
611 2011-02-23  David Hyatt  <hyatt@apple.com>
612
613         Reviewed by Sam Weinig.
614
615         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
616
617         Patch computePositionedLogicalWidthUsing to be writing-mode-aware. Still not testable in a vertical text
618         environment, since height computations will overwrite all values computed here until they are patched as well.
619
620         * rendering/RenderBox.cpp:
621         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
622         * rendering/RenderBox.h:
623
624 2011-02-23  Renata Hodovan  <reni@webkit.org>
625
626         Reviewed by Nikolas Zimmermann.
627
628         FEColorMatrixElement changes doesn't require relayout
629         https://bugs.webkit.org/show_bug.cgi?id=54880
630
631         When the FEColorMatrixElement receives an update message but the given value remains the same we don't need
632         to relayout the filter.
633
634         No new tests are needed because this modificiation is covered by the dynamic update tests of FEColorMatrix.
635
636         * platform/graphics/filters/FEColorMatrix.cpp:
637         (WebCore::FEColorMatrix::setType):
638         (WebCore::FEColorMatrix::setValues):
639         * platform/graphics/filters/FEColorMatrix.h:
640         * svg/SVGFEColorMatrixElement.cpp:
641         (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
642         (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
643         * svg/SVGFEColorMatrixElement.h:
644
645 2011-02-23  James Robinson  <jamesr@chromium.org>
646
647         REGRESSION(79466): fast/parser/test-unicode-characters-in-attribute-name.html fails
648
649         Reverts TextCodecUTF16.cpp back to pre-79466 state.  The crash fix in 79466 was for UTF-8 only, it also caused the UTF16 path to fail.
650
651         * platform/text/TextCodecUTF16.cpp:
652         (WebCore::newStreamingTextDecoderUTF16LE):
653         (WebCore::newStreamingTextDecoderUTF16BE):
654         (WebCore::TextCodecUTF16::decode):
655         (WebCore::TextCodecUTF16::encode):
656
657 2011-02-23  David Hyatt  <hyatt@apple.com>
658
659         Reviewed by Sam Weinig.
660
661         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
662
663         Patch computePositionedLogicalWidth to be writing-mode-aware.  Functions it calls have not been
664         patched yet, so still not testable in a vertical text environment.
665
666         * rendering/RenderBox.cpp:
667         (WebCore::RenderBox::computePositionedLogicalWidth):
668
669 2011-02-23  James Robinson  <jamesr@chromium.org>
670
671         Unreviewed, rolling out r79428.
672         http://trac.webkit.org/changeset/79428
673         https://bugs.webkit.org/show_bug.cgi?id=54714
674
675         Does not work in the Chromium sandbox
676
677         * websockets/WebSocketHandshake.cpp:
678         (WebCore::generateSecWebSocketKey):
679         (WebCore::generateKey3):
680
681 2011-02-23  David Hyatt  <hyatt@apple.com>
682
683         Reviewed by Sam Weinig.
684
685         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
686         
687         Add logical accessors for the left()/right()/top()/bottom() properties on the RenderStyle.
688
689         * rendering/style/RenderStyle.h:
690         (WebCore::InheritedFlags::logicalLeft):
691         (WebCore::InheritedFlags::logicalRight):
692         (WebCore::InheritedFlags::logicalTop):
693         (WebCore::InheritedFlags::logicalBottom):
694
695 2011-02-23  Darin Adler  <darin@apple.com>
696
697         Reviewed by Alexey Proskuryakov.
698
699         Fix crash seen in one of the regression tests.
700
701         * platform/text/TextCodecUTF16.cpp:
702         (WebCore::TextCodecUTF16::decode): Handle case where we did not decode any new data,
703         we were not told to flush, and we had a buffered byte. The assertion here was incorrect,
704         and the correct thing to do is nothing.
705
706 2011-02-23  Sergey Glazunov  <serg.glazunov@gmail.com>
707
708         Reviewed by James Robinson.
709
710         SVGCursorElement::removeClient() should verify that its argument is connected with
711         the proper cursor element.
712         https://bugs.webkit.org/show_bug.cgi?id=54979
713
714         Test: svg/css/multiple-cursors-crash.html
715
716         * svg/SVGCursorElement.cpp:
717         (WebCore::SVGCursorElement::removeClient):
718
719 2011-02-23  Renata Hodovan  <reni@webkit.org>
720
721         Reviewed by Darin Adler.
722
723         FEConvolveMatrixElement changes doesn't require relayout
724         https://bugs.webkit.org/show_bug.cgi?id=55067
725
726         When the FEConvolveMatrixElement receives an update message but the
727         given value remains the same we don't need to relayout the filter.
728
729         No new tests are needed because this modificiation is covered by the
730         dynamic update tests of FEConvolveMatrix.
731
732         * platform/graphics/filters/FEConvolveMatrix.cpp:
733         (WebCore::FEConvolveMatrix::setDivisor):
734         (WebCore::FEConvolveMatrix::setBias):
735         (WebCore::FEConvolveMatrix::setTargetOffset):
736         (WebCore::FEConvolveMatrix::edgeMode):
737         (WebCore::FEConvolveMatrix::setEdgeMode):
738         (WebCore::FEConvolveMatrix::setPreserveAlpha):
739         * platform/graphics/filters/FEConvolveMatrix.h:
740         * svg/SVGFEConvolveMatrixElement.cpp:
741         (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
742         (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
743         * svg/SVGFEConvolveMatrixElement.h:
744
745 2011-02-23  Geoffrey Garen  <ggaren@apple.com>
746
747         Reviewed by Darin Adler.
748
749         Rolled back in r79367 with SnowLeopard Release bot crash fixed.
750         https://bugs.webkit.org/show_bug.cgi?id=54999
751
752         * ForwardingHeaders/wtf/DoublyLinkedList.h: Added.
753
754 2011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
755
756         Reviewed by Darin Adler.
757
758         Add more thorough manual test coverage for media controls
759         https://bugs.webkit.org/show_bug.cgi?id=55006
760
761         * manual-tests/media-controls.html: Added.
762
763 2011-02-23  Darin Adler  <darin@apple.com>
764
765         Fix build.
766
767         * platform/text/TextCodecUTF16.cpp:
768         (WebCore::TextCodecUTF16::decode): Removed stray unused local variable.
769
770 2011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
771
772         Reviewed by Darin Adler.
773
774         Setting shadow host should also attach and set inDocument, just like
775         appending/inserting a child.
776         https://bugs.webkit.org/show_bug.cgi?id=55065
777
778         No new tests, because functionality is not yet used.
779
780         * dom/Element.cpp:
781         (WebCore::Element::setShadowRoot): Add attaching and setting inDocument
782             for the shadow DOM subtree, like the host.
783
784 2011-02-23  David Hyatt  <hyatt@apple.com>
785
786         Reviewed by Darin Adler and Simon Fraser.
787
788         https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
789         
790         - Add clientLogicalWidth and clientLogicalHeight that call the correct clientWidth or clientHeight based off
791         writing-mode.
792         - Patch clientLogicalBottom to use clientLogicalHeight.
793         - Convert containingBlockWidthForPositioned and containingBlockHeightForPositioned to be logical and to make use of
794         clientLogicalHeight/Width.  Also make them able to handle perpendicular writing mode containining blocks.
795         - Refine containingBlockLogicalHeightForPositioned to match containingBlockLogicalWidthForPositioned more closely.
796         
797         * rendering/RenderBox.cpp:
798         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
799         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
800         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
801         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
802         (WebCore::RenderBox::computePositionedLogicalWidth):
803         (WebCore::RenderBox::computePositionedLogicalHeight):
804         (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
805         (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
806         * rendering/RenderBox.h:
807         (WebCore::RenderBox::clientLogicalWidth):
808         (WebCore::RenderBox::clientLogicalHeight):
809         (WebCore::RenderBox::clientLogicalBottom):
810
811 2011-02-23  Darin Adler  <darin@apple.com>
812
813         Reviewed by Alexey Proskuryakov.
814
815         REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se
816         https://bugs.webkit.org/show_bug.cgi?id=54862
817
818         Correct handling of end of buffer partial sequence in UTF-8 and UTF-16 decoders when flushing with zero length
819         https://bugs.webkit.org/show_bug.cgi?id=54444
820
821         No new tests at this time. I will add some tests later, but since multiple
822         people are hitting this I wanted to get it in as quickly as possible.
823
824         * platform/text/TextCodecUTF16.cpp:
825         (WebCore::TextCodecUTF16::decode): Tweaked coding style quite a bit.
826         Removed special case for zero length now that main code handles it
827         correctly. Used words instead of abbreviations for local variable names.
828         Added error handling for a trailing byte.
829
830         * platform/text/TextCodecUTF8.cpp:
831         (WebCore::TextCodecUTF8::consumePartialSequenceByte): Added. Helper function
832         to make the handleError and handlePartialSequence functions clearer.
833         (WebCore::TextCodecUTF8::handleError): Added. Helper function to make the
834         handlePartialSequence clearer.
835         (WebCore::TextCodecUTF8::handlePartialSequence): Added. Factored out code for
836         the partial sequence case. Making this a separate function probably helps make
837         the fast case a little faster. This new version handles more cases correctly,
838         which is what fixes the crashes we were seeing. In particular, it no longer
839         assumes that the partial sequence is truly partial, because there are cases
840         where we end up handling complete sequences here, such as when a complete
841         sequence is inside a malformed partial sequence.
842         (WebCore::TextCodecUTF8::decode): Removed partial sequence code and made this
843         call handlePartialSequence instead. Could be streamlined if we double checked
844         that passing a reference to "destination" and "source" doesn't harm code
845         generation too much, so perhaps someone can do that research on a few compilers
846         later and clean this up. Removed special case for zero length now that the
847         main code handles that correctly.
848
849         * platform/text/TextCodecUTF8.h: Added declarations for new functions.
850         Made partial sequence buffer large enough to hold a whole sequence so we can
851         use it to complete and decode a sequence in place.
852
853 2011-02-23  Abhishek Arya  <inferno@chromium.org>
854
855         Reviewed by Dave Hyatt.
856
857         Make clear float lineboxes resilient against overflows.        
858         https://bugs.webkit.org/show_bug.cgi?id=54995
859
860         We try to dirty everthing in block range if we have a negative
861         logical bottom, or if our logical bottom is less than our logical
862         top, or if our logical top is equal to INT_MAX. Plus, we also dirty
863         a linebox if its block logical height is less than zero.
864         Tests: fast/overflow/overflow-height-float-not-removed-crash2.html
865                fast/overflow/overflow-height-float-not-removed-crash3.html
866
867         * rendering/RenderBlock.cpp:
868         (WebCore::RenderBlock::removeFloatingObject):
869         (WebCore::RenderBlock::markLinesDirtyInBlockRange):
870         * rendering/RootInlineBox.cpp:
871         (WebCore::RootInlineBox::alignBoxesInBlockDirection): remove the hack
872         added in r69735. we don't need this anymore since we are making the
873         underlying float dirty logic resilient.
874
875 2011-02-22  Kenneth Russell  <kbr@google.com>
876
877         Reviewed by Darin Fisher.
878
879         Per-page minimum DOMTimer interval broken for repeating timers
880         https://bugs.webkit.org/show_bug.cgi?id=55014
881
882         When the minimum timer interval is adjusted, if the timer is
883         repeating, cause its repeat interval to be set to its original
884         timeout clamped to the new minimum interval.
885
886         Tests: fast/dom/timer-increase-min-interval-repeating.html
887                fast/dom/timer-increase-then-decrease-min-interval-repeating.html
888
889         * page/DOMTimer.cpp:
890         (WebCore::DOMTimer::adjustMinimumTimerInterval):
891
892 2011-02-23  Dan Bernstein  <mitz@apple.com>
893
894         Reviewed by Maciej Stachowiak.
895
896         Fix two issues seen in WebKit2 views on Mac:
897         - <rdar://problem/8867831> WebKit2: Insertion points in form fields no longer blink
898         - <rdar://problem/8950362> REGRESSION (WebKit2): Cannot deselect text
899
900         * page/EventHandler.cpp:
901         (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber
902         to -1. Since WebKit2 doesnÕt support non-activating clicks yet (<http://webkit.org/b/55053>
903         <rdar://problem/9042197>) and doesnÕt send event numbers, all events were considered to be
904         window-activating events. This in turn prevented them from clearing the selection and resuming
905         caret blinking on mouse up.
906
907 2011-02-23  Jacob Dinu  <dinu.jacob@nokia.com>
908
909         Reviewed by Pavel Feldman.
910
911         Web Inspector: Linking error for some InspectorController symbols
912         https://bugs.webkit.org/show_bug.cgi?id=54953
913
914         Moved out hideHighlight definition from under JAVASCRIPT_DEBUGGER flag 
915
916         * inspector/InspectorController.cpp:
917         (WebCore::InspectorController::hideHighlight):
918         (WebCore::InspectorController::resume):
919
920 2011-02-23  Hans Wennborg  <hans@chromium.org>
921
922         IndexedDB: Move some SQL code into IDBBackingStore
923         https://bugs.webkit.org/show_bug.cgi?id=54889
924
925         The idea is to gather all the SQL logic into IDBBackingStore.
926
927         No new functionality, so no new tests.
928
929         * storage/IDBBackingStore.cpp:
930         (WebCore::IDBBackingStore::IDBBackingStore):
931         (WebCore::runCommands):
932         (WebCore::createTables):
933         (WebCore::createMetaDataTable):
934         (WebCore::getDatabaseSchemaVersion):
935         (WebCore::migrateDatabase):
936         (WebCore::IDBBackingStore::open):
937         (WebCore::IDBBackingStore::extractIDBDatabaseMetaData):
938         (WebCore::IDBBackingStore::setIDBDatabaseMetaData):
939         (WebCore::IDBBackingStore::getObjectStores):
940         (WebCore::IDBBackingStore::createObjectStore):
941         (WebCore::doDelete):
942         (WebCore::IDBBackingStore::deleteObjectStore):
943         (WebCore::whereSyntaxForKey):
944         (WebCore::bindKeyToQuery):
945         (WebCore::IDBBackingStore::getObjectStoreRecord):
946         (WebCore::bindKeyToQueryWithNulls):
947         (WebCore::IDBBackingStore::putObjectStoreRecord):
948         (WebCore::IDBBackingStore::deleteIndexDataForRecord):
949         (WebCore::IDBBackingStore::putIndexDataForRecord):
950         (WebCore::IDBBackingStore::createIndex):
951         (WebCore::IDBBackingStore::deleteIndex):
952         (WebCore::IDBBackingStore::clearObjectStore):
953         * storage/IDBBackingStore.h:
954         * storage/IDBDatabaseBackendImpl.cpp:
955         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
956         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
957         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
958         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
959         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
960         * storage/IDBFactoryBackendImpl.cpp:
961         (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
962         (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
963         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
964         (WebCore::IDBFactoryBackendImpl::open):
965         * storage/IDBFactoryBackendImpl.h:
966         * storage/IDBObjectStoreBackendImpl.cpp:
967         (WebCore::IDBObjectStoreBackendImpl::getInternal):
968         (WebCore::IDBObjectStoreBackendImpl::putInternal):
969         (WebCore::IDBObjectStoreBackendImpl::clearInternal):
970         (WebCore::populateIndex):
971         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
972         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
973
974 2011-02-23  Siddharth Mathur  <siddharth.mathur@nokia.com>
975
976         Reviewed by Laszlo Gombos.
977
978         [Qt] Fix the Symbian build after r79334
979         https://bugs.webkit.org/show_bug.cgi?id=55044
980
981         No new tests as there is no new functionality.
982
983         * WebCore.pri: Reorder symbian blocks to make sure that
984         system-sqlite is set before it is tested.
985
986         Copy the rules from JavaScriptCore.pri for defineTest().
987
988 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
989
990         Reviewed by Alexey Proskuryakov.
991
992         Use AtomicString::fromUTF8 instead of String::fromUTF8 for AtomicStrings
993         https://bugs.webkit.org/show_bug.cgi?id=54992
994
995         * websockets/WebSocketHandshake.cpp:
996         (WebCore::WebSocketHandshake::readHTTPHeaders):
997
998 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
999
1000         Reviewed by Andreas Kling.
1001
1002         [CMake] Move platform dependent files out of main CMakeLists.txt
1003         https://bugs.webkit.org/show_bug.cgi?id=53891
1004
1005         Apple Windows port does not use the image decoders,
1006         so move them into the platform specific CMake files.
1007
1008         * CMakeLists.txt:
1009         * CMakeListsEfl.txt:
1010         * CMakeListsWinCE.txt:
1011
1012 2011-02-21  Stephen White  <senorblanco@chromium.org>
1013
1014         Reviewed by Kenneth Russell.
1015
1016         Jittering when animating a rotated image
1017         https://bugs.webkit.org/show_bug.cgi?id=50775
1018
1019         Since Skia does not seem to suffer from pixel cracks when scaling to
1020         non-integral sizes the way CG does, no-op roundToDevicePixels on the
1021         Skia implementation.
1022
1023         * platform/graphics/skia/GraphicsContextSkia.cpp:
1024         (WebCore::GraphicsContext::roundToDevicePixels):
1025
1026 2011-02-23 Patrick Gansterer <paroga@webkit.org>
1027
1028         Reviewed by Andreas Kling.
1029
1030         [WINCE] Get rid of TemporaryLinkStubs.cpp
1031         https://bugs.webkit.org/show_bug.cgi?id=54825
1032
1033         * CMakeListsWinCE.txt:
1034         * platform/network/win/CookieStorageWin.cpp: Copied from platform/wince/TemporaryLinkStubs.cpp.
1035         * platform/wince/TemporaryLinkStubs.cpp: Removed.
1036
1037 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
1038
1039         Reviewed by Darin Adler.
1040
1041         Rename PLATFORM(CF) to USE(CF)
1042         https://bugs.webkit.org/show_bug.cgi?id=53540
1043
1044         * WebCore.gyp/WebCore.gyp:
1045         * editing/SmartReplace.cpp:
1046         * editing/SmartReplaceICU.cpp:
1047         * loader/MainResourceLoader.cpp:
1048         (WebCore::MainResourceLoader::didReceiveResponse):
1049         (WebCore::MainResourceLoader::didReceiveData):
1050         (WebCore::MainResourceLoader::didFinishLoading):
1051         (WebCore::MainResourceLoader::didFail):
1052         * loader/archive/ArchiveFactory.cpp:
1053         (WebCore::archiveMIMETypes):
1054         * platform/FileSystem.h:
1055         * platform/KURL.h:
1056         * platform/KURLGoogle.cpp:
1057         * platform/RunLoopTimer.h:
1058         * platform/SharedBuffer.cpp:
1059         * platform/SharedBuffer.h:
1060         * platform/UUID.cpp:
1061         (WebCore::createCanonicalUUIDString):
1062         * platform/network/ResourceHandle.h:
1063         * platform/network/ResourceRequestBase.h:
1064         * platform/network/curl/ResourceHandleCurl.cpp:
1065         * platform/network/curl/ResourceHandleManager.cpp:
1066         (WebCore::certificatePath):
1067         * platform/text/cf/StringCF.cpp:
1068         * platform/text/cf/StringImplCF.cpp:
1069         * platform/win/BString.cpp:
1070         * platform/win/BString.h:
1071         * platform/win/ClipboardUtilitiesWin.cpp:
1072         (WebCore::getWebLocData):
1073         (WebCore::getURL):
1074         (WebCore::getClipboardData):
1075         * platform/win/ClipboardWin.cpp:
1076         (WebCore::writeFileToDataObject):
1077         * platform/win/SearchPopupMenuWin.cpp:
1078         (WebCore::SearchPopupMenuWin::enabled):
1079         (WebCore::SearchPopupMenuWin::saveRecentSearches):
1080         (WebCore::SearchPopupMenuWin::loadRecentSearches):
1081
1082 2011-02-23  Benjamin Kalman  <kalman@chromium.org>
1083
1084         Reviewed by Ojan Vafai.
1085
1086         Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered
1087         https://bugs.webkit.org/show_bug.cgi?id=51001
1088
1089         Test: editing/selection/extend-backward-by-word-over-non-editable.html
1090
1091         Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this
1092         bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix.
1093
1094         The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the
1095         selection (webkit.org/b/36360).  This was caused by upstream/downstream VisbiblePosition complications.  To fix,
1096         refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which
1097         causes this bug).
1098
1099         To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has
1100         been slightly restructured to express the invariant that the iterator will never advance past the start node.
1101
1102         * editing/TextIterator.cpp:
1103         (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary.
1104         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the
1105         mechanism for iteration range checking, and use a flag m_havePassedStartNode instead.
1106         (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and
1107         m_havePassedStartNode for iteration range checking rather than m_pastStartNode.
1108         (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node
1109         which updates m_havePassedStartNode and refuses to continue when it becomes true.
1110         * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and
1111         member variables.
1112         * editing/visible_units.cpp:
1113         (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary.
1114
1115 2011-02-23  Fumitoshi Ukai  <ukai@chromium.org>
1116
1117         Reviewed by Adam Barth.
1118
1119         WebSocket uses insecure random numbers
1120         https://bugs.webkit.org/show_bug.cgi?id=54714
1121
1122         * websockets/WebSocketHandshake.cpp:
1123         (WebCore::randomNumberLessThan):
1124         (WebCore::generateSecWebSocketKey):
1125         (WebCore::generateKey3):
1126
1127 2011-02-21  Hans Wennborg  <hans@chromium.org>
1128
1129         Reviewed by Jeremy Orlow.
1130
1131         IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore
1132         https://bugs.webkit.org/show_bug.cgi?id=54864
1133
1134         No new functionality, so no new tests.
1135
1136         * GNUmakefile.am:
1137         * WebCore.gypi:
1138         * storage/IDBBackingStore.cpp:
1139         (WebCore::IDBBackingStore::IDBBackingStore):
1140         (WebCore::IDBBackingStore::~IDBBackingStore):
1141         * storage/IDBBackingStore.h:
1142         (WebCore::IDBBackingStore::create):
1143         (WebCore::IDBBackingStore::db):
1144         * storage/IDBCursorBackendImpl.cpp:
1145         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1146         (WebCore::IDBCursorBackendImpl::currentRowExists):
1147         (WebCore::IDBCursorBackendImpl::database):
1148         * storage/IDBCursorBackendImpl.h:
1149         (WebCore::IDBCursorBackendImpl::create):
1150         * storage/IDBDatabaseBackendImpl.cpp:
1151         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1152         (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
1153         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1154         (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
1155         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1156         * storage/IDBDatabaseBackendImpl.h:
1157         (WebCore::IDBDatabaseBackendImpl::create):
1158         * storage/IDBFactoryBackendImpl.cpp:
1159         (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
1160         (WebCore::openSQLiteDatabase):
1161         (WebCore::IDBFactoryBackendImpl::open):
1162         * storage/IDBFactoryBackendImpl.h:
1163         * storage/IDBIndexBackendImpl.cpp:
1164         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1165         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1166         (WebCore::IDBIndexBackendImpl::sqliteDatabase):
1167         * storage/IDBIndexBackendImpl.h:
1168         (WebCore::IDBIndexBackendImpl::create):
1169         * storage/IDBObjectStoreBackendImpl.cpp:
1170         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1171         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1172         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1173         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1174         (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
1175         * storage/IDBObjectStoreBackendImpl.h:
1176         (WebCore::IDBObjectStoreBackendImpl::create):
1177
1178 2011-02-23  Dominic Mazzoni  <dmazzoni@google.com>
1179
1180         Reviewed by Kenneth Russell.
1181
1182         Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children.
1183         https://bugs.webkit.org/show_bug.cgi?id=54697
1184
1185         New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html
1186
1187         * rendering/RenderHTMLCanvas.cpp:
1188         (WebCore::RenderHTMLCanvas::nodeAtPoint):
1189
1190 2011-02-23  Patrick Gansterer  <paroga@webkit.org>
1191
1192         Reviewed by Darin Adler.
1193
1194         Remove obsolete focusRingColor functions
1195         https://bugs.webkit.org/show_bug.cgi?id=54824
1196
1197         * CMakeListsWinCE.txt:
1198         * platform/graphics/haiku/ColorHaiku.cpp:
1199         * platform/graphics/wince/ColorWinCE.cpp: Removed.
1200
1201 2011-02-22  Jia Pu  <jpu@apple.com>
1202
1203         Reviewed by Dan Bernstein.
1204
1205         On Mac OS X, English contractions are marked misspelled with certain user preference setting.
1206         https://bugs.webkit.org/show_bug.cgi?id=54975
1207
1208         manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
1209
1210         Without this patch, we check for contraction only when autocorrection or other type of auto-
1211         substituation is on. And we failed to check for contraction if only spellchecking is turned on.
1212         This patch implements the desired behavior, checking for contraction when either correction/substitution,
1213         or spellchecking, is on.
1214
1215         * editing/Editor.cpp:
1216         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1217         * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added.
1218
1219 2011-02-22  Charlie Reis  <creis@chromium.org>
1220
1221         Reviewed by Darin Fisher.
1222
1223         Remove DatabasePolicy from FrameLoaderTypes
1224         https://bugs.webkit.org/show_bug.cgi?id=54968
1225
1226         The DatabasePolicy enum is no longer needed now that we avoid stopping
1227         loaders on same-document navigations.
1228
1229         Existing test: storage/hash-change-with-xhr.html
1230
1231         * WebCore.exp.in:
1232         * loader/DocumentLoader.cpp:
1233         * loader/DocumentLoader.h:
1234         * loader/FrameLoader.cpp:
1235         * loader/FrameLoader.h:
1236         * loader/FrameLoaderTypes.h:
1237         * workers/WorkerThread.cpp:
1238
1239 2011-02-22  Alexis Menard  <alexis.menard@openbossa.org>
1240
1241         Reviewed by Andreas Kling.
1242
1243         [Qt] QWebView ignores a palette set with QWebView::setPalette()
1244         https://bugs.webkit.org/show_bug.cgi?id=31742
1245
1246         Use custom QWebView palette if the view provides one.
1247         Modified version of a patch made by Fabrizio Machado.
1248
1249         * platform/qt/RenderThemeQt.cpp:
1250         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
1251         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
1252         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
1253         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
1254         (WebCore::RenderThemeQt::platformFocusRingColor):
1255
1256 2011-02-22  Brian Salomon  <bsalomon@google.com>
1257
1258         Reviewed by Kenneth Russell.
1259
1260         Don't disable accelerated canvas when using the skia gpu backend.
1261
1262         No new tests are required.
1263
1264         * html/canvas/CanvasRenderingContext2D.cpp:
1265         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
1266
1267 2011-02-22  Luiz Agostini  <luiz.agostini@openbossa.org>
1268
1269         Reviewed by Kenneth Rohde Christiansen.
1270
1271         [Qt] <select>s on http://www.ryanair.com render wrong
1272         https://bugs.webkit.org/show_bug.cgi?id=29647
1273
1274         Reducing padding in <select> elements to improve its rendering and introducing a
1275         rendering adjustment specific to QMacStyle.
1276
1277         * platform/qt/RenderThemeQt.cpp:
1278         (WebCore::RenderThemeQt::setPopupPadding):
1279         (WebCore::RenderThemeQt::paintMenuList):
1280
1281 2011-02-22  Andreas Kling  <kling@webkit.org>
1282
1283         Reviewed by Dan Bernstein.
1284
1285         FontCache: Make cTargetInactiveFontData an int instead of float.
1286         https://bugs.webkit.org/show_bug.cgi?id=54963
1287
1288         * platform/graphics/FontCache.cpp:
1289
1290 2011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
1291
1292         Reviewed by Darin Adler.
1293
1294         Make Editor::selectionComputedStyle return EditingStyle
1295         https://bugs.webkit.org/show_bug.cgi?id=54933
1296
1297         Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle.
1298         It also no longer takes a boolean shouldUseFixedFontDefaultSize.
1299
1300         Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function
1301         doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed
1302         by an existing layout test only after the code was shared with selectionStartStyle.
1303
1304         No tests are added since this is a refactoring.
1305
1306         * editing/CompositeEditCommand.cpp:
1307         (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle.
1308         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
1309         * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle.
1310         (WebCore::EditingStyle::mergeTypingStyle): Added.
1311         * editing/EditingStyle.h:
1312         (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added.
1313         * editing/Editor.cpp:
1314         (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle.
1315         (WebCore::Editor::selectionHasStyle): Ditto.
1316         (WebCore::Editor::selectionStartCSSPropertyValue): Ditto.
1317         (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle.
1318         * editing/Editor.h:
1319         * editing/EditorCommand.cpp:
1320         (WebCore::executeToggleStyleInList): Calls selectionStartStyle.
1321         * editing/InsertLineBreakCommand.cpp:
1322         * editing/InsertParagraphSeparatorCommand.cpp:
1323         (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and
1324         EditingStyle::mergeTypingStyle.
1325         * editing/ReplaceSelectionCommand.cpp:
1326         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1327
1328 2011-02-22  Robert Hogan  <robert@webkit.org>
1329
1330         Reviewed by Andreas Kling.
1331
1332         [Qt] painting of windowed plugins faulty on certain scroll events
1333
1334         https://bugs.webkit.org/show_bug.cgi?id=52735
1335
1336         Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords()
1337         imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute
1338         to the frame again) before passing it to FrameView.
1339
1340         * plugins/qt/PluginViewQt.cpp:
1341         (WebCore::PluginView::updatePluginWidget):
1342
1343 2011-02-22  Philippe Normand  <pnormand@igalia.com>
1344
1345         Reviewed by Martin Robinson.
1346
1347         Minimal build broken
1348         https://bugs.webkit.org/show_bug.cgi?id=54743
1349
1350         Moved the code of setInspectorExtensionAPI and
1351         dispatchMessageFromFrontend out of #if
1352         ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build.
1353
1354         * inspector/InspectorController.cpp:
1355         (WebCore::InspectorController::setInspectorExtensionAPI):
1356         (WebCore::InspectorController::dispatchMessageFromFrontend):
1357
1358 2011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1359
1360         Unreviewed, rolling out r79367.
1361         http://trac.webkit.org/changeset/79367
1362         https://bugs.webkit.org/show_bug.cgi?id=55012
1363
1364         all layout tests are crashing on Snow Leopard (Requested by
1365         rniwa on #webkit).
1366
1367         * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
1368
1369 2011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
1370
1371         Reviewed by Darin Adler.
1372
1373         Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
1374         https://bugs.webkit.org/show_bug.cgi?id=54944
1375
1376         Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
1377
1378         Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
1379         which returns true iff the specified element has inline style that conflicts or matches the editing style.
1380         It also appends conflicting property IDs to the vector of property IDs if one is specified.
1381
1382         * editing/ApplyStyleCommand.cpp:
1383         (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
1384         (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
1385         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
1386         (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
1387         (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
1388         conflictsWithInlineStyleOfElement.
1389         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
1390         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
1391         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
1392         (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
1393         * editing/ApplyStyleCommand.h:
1394         (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
1395         * editing/EditingStyle.cpp:
1396         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
1397         * editing/EditingStyle.h:
1398         (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
1399
1400 2011-02-22  Chang Shu  <cshu@webkit.org>
1401
1402         Reviewed by Csaba Osztrogonác.
1403
1404         [Qt] editing/deleting/5408255.html fails
1405         https://bugs.webkit.org/show_bug.cgi?id=54964
1406
1407         Move WebCore resource file to QtWebKit since they are referred in WebKit.
1408
1409         * WebCore.pro:
1410
1411 2011-02-22  Brady Eidson  <beidson@apple.com>
1412
1413         Reviewed by Anders Carlsson.
1414
1415         <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
1416         API to view and delete Application Cache data by origin.
1417
1418         Implement these to be used by WK2 API:
1419         * loader/appcache/ApplicationCacheStorage.cpp:
1420         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
1421         (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
1422
1423 2011-02-22  Geoffrey Garen  <ggaren@apple.com>
1424
1425         Reviewed by Oliver Hunt.
1426
1427         Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
1428         https://bugs.webkit.org/show_bug.cgi?id=54999
1429         
1430         New WTF header.
1431
1432         * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
1433
1434 2011-02-22  Beth Dakin  <bdakin@apple.com>
1435
1436         Reviewed by Sam Weinig.
1437
1438         Fix for https://bugs.webkit.org/show_bug.cgi?id=54991 
1439         Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS 
1440         Scrollbars
1441         -and corresponding-
1442         <rdar://problem/9034318>
1443
1444         Instead of consulting the theme directly, callers should ask the Scrollbar or 
1445         ScrollableArea if the scrollbars are overlay or not. 
1446
1447         * platform/ScrollView.cpp:
1448         (WebCore::ScrollView::visibleContentRect):
1449         (WebCore::ScrollView::scrollContents):
1450         (WebCore::ScrollView::wheelEvent):
1451         * platform/ScrollableArea.cpp:
1452         (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
1453         (WebCore::ScrollableArea::hasOverlayScrollbars):
1454         * platform/ScrollableArea.h:
1455         * platform/Scrollbar.cpp:
1456         (WebCore::Scrollbar::isOverlayScrollbar):
1457         * platform/Scrollbar.h:
1458         * rendering/RenderBox.cpp:
1459         (WebCore::RenderBox::includeVerticalScrollbarSize):
1460         (WebCore::RenderBox::includeHorizontalScrollbarSize):
1461         * rendering/RenderLayer.cpp:
1462         (WebCore::RenderLayer::verticalScrollbarWidth):
1463         (WebCore::RenderLayer::horizontalScrollbarHeight):
1464         * rendering/RenderListBox.cpp:
1465         (WebCore::RenderListBox::verticalScrollbarWidth):
1466         * rendering/RenderScrollbar.h:
1467         (WebCore::RenderScrollbar::isOverlayScrollbar):
1468
1469 2011-02-22  Andras Becsi  <abecsi@webkit.org>
1470
1471         Reviewed by Csaba Osztrogonác.
1472
1473         [Qt] Redesign the build system
1474         https://bugs.webkit.org/show_bug.cgi?id=51339
1475
1476         Move inspector's resource files into the final build step to fix the layout test regression.
1477
1478         No new tests needed.
1479
1480         * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
1481
1482 2011-02-22  Martin Robinson  <mrobinson@igalia.com>
1483
1484         Reviewed by Xan Lopez.
1485
1486         [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
1487         https://bugs.webkit.org/show_bug.cgi?id=54990
1488
1489         No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
1490         to start passing again.
1491
1492         * platform/gtk/ScrollViewGtk.cpp:
1493         (WebCore::ScrollView::visibleContentRect): Update this method to match the original
1494         in the parent class.
1495
1496 2011-01-17  Martin Robinson  <mrobinson@igalia.com>
1497
1498         Reviewed by Xan Lopez.
1499
1500         [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
1501         https://bugs.webkit.org/show_bug.cgi?id=49177
1502
1503         * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
1504         of platformAddChild and platformRemoveChild. This code can be shared.
1505         * platform/gtk/MainFrameScrollbarGtk.cpp:
1506         (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
1507         adjustment. Connect the adjustment value-changed signal handler after resetting the
1508         adjustment. This prevents the rest from stomping on pre-existing WebCore values.
1509         (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
1510         a scrollview do not listing for value changes. These scrollbars are defunct.
1511         * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
1512
1513 2011-02-22  Pavel Feldman  <pfeldman@chromium.org>
1514
1515         Reviewed by Yury Semikhatsky.
1516
1517         Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
1518         https://bugs.webkit.org/show_bug.cgi?id=54954
1519
1520         * bindings/js/JSInjectedScriptHostCustom.cpp:
1521         (WebCore::InjectedScriptHost::toNode):
1522         (WebCore::JSInjectedScriptHost::inspect):
1523         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1524         (WebCore::InjectedScriptHost::toNode):
1525         (WebCore::V8InjectedScriptHost::inspectCallback):
1526         * inspector/CodeGeneratorInspector.pm:
1527         * inspector/InjectedScript.cpp:
1528         (WebCore::InjectedScript::nodeForObjectId):
1529         * inspector/InjectedScript.h:
1530         * inspector/InjectedScriptHost.cpp:
1531         (WebCore::InjectedScriptHost::inspect):
1532         * inspector/InjectedScriptHost.h:
1533         * inspector/InjectedScriptHost.idl:
1534         * inspector/InjectedScriptSource.js:
1535         (.):
1536         * inspector/Inspector.idl:
1537         * inspector/InspectorAgent.cpp:
1538         (WebCore::InspectorAgent::focusNode):
1539         * inspector/InspectorAgent.h:
1540         * inspector/InspectorDOMAgent.cpp:
1541         (WebCore::InspectorDOMAgent::inspect):
1542         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1543         * inspector/InspectorDOMAgent.h:
1544         * inspector/front-end/AuditRules.js:
1545         (WebInspector.AuditRules.evaluateInTargetWindow):
1546         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1547         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
1548         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
1549         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
1550         * inspector/front-end/ConsoleView.js:
1551         (WebInspector.ConsoleView.prototype.completions):
1552         * inspector/front-end/DOMAgent.js:
1553         (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
1554         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
1555         * inspector/front-end/RemoteObject.js:
1556         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
1557
1558 2011-02-22  Brady Eidson  <beidson@apple.com>
1559
1560         Reviewed by Anders Carlsson.
1561
1562         Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
1563         API to view and delete Application Cache data by origin.
1564
1565         Stub these out for now:
1566         * loader/appcache/ApplicationCacheStorage.cpp:
1567         (WebCore::ApplicationCacheStorage::getOriginsWithCache):
1568         (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
1569         (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
1570         * loader/appcache/ApplicationCacheStorage.h:
1571
1572         Export the new symbols:
1573         * WebCore.exp.in:
1574
1575 2011-02-22  Anders Carlsson  <andersca@apple.com>
1576
1577         Fix debug build.
1578
1579         * WebCore.exp.in:
1580
1581 2011-02-22  Balazs Kelemen  <kbalazs@webkit.org>
1582
1583         Reviewed by Anders Carlsson.
1584
1585         notImplemented() should behave identical in WebCore and WebKit2
1586         https://bugs.webkit.org/show_bug.cgi?id=54449
1587
1588         No functional change so no new tests.
1589
1590         * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
1591         to be able to use it in WebKit2.
1592
1593 2011-02-22  Andras Becsi  <abecsi@webkit.org>
1594
1595         Reviewed by Laszlo Gombos.
1596         Rubber-stamped by Csaba Osztrogonác.
1597
1598         [Qt] Redesign the build system
1599         https://bugs.webkit.org/show_bug.cgi?id=51339
1600
1601         The patch landed in r79320 didn't contain the cleanup
1602         which was already addressed in the last attachment.
1603
1604         No new tests needed.
1605
1606         * WebCore.pri: Add common LIB and CONFIG options.
1607         * WebCore.pro: Add accidentally moved sections.
1608
1609 2011-02-22  Philippe Normand  <pnormand@igalia.com>
1610
1611         Unreviewed, rolling out r79321.
1612         http://trac.webkit.org/changeset/79321
1613         https://bugs.webkit.org/show_bug.cgi?id=53146
1614
1615         Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
1616         /spatial-navigation/snav-single-select.html on GTK
1617
1618         * accessibility/gtk/AXObjectCacheAtk.cpp:
1619         (WebCore::notifyChildrenSelectionChange):
1620         (WebCore::AXObjectCache::postPlatformNotification):
1621
1622 2011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
1623
1624         Reviewed by Yury Semikhatsky.
1625
1626         Web Inspector: Inspector.IDL change. rename attribute notify -> event.
1627         https://bugs.webkit.org/show_bug.cgi?id=54958
1628
1629         * inspector/CodeGeneratorInspector.pm:
1630         * inspector/Inspector.idl:
1631
1632 2011-02-22  Yury Semikhatsky  <yurys@chromium.org>
1633
1634         Reviewed by Pavel Feldman.
1635
1636         Web Inspector: Timeline agent should have same lifetime as InspectorAgent
1637         https://bugs.webkit.org/show_bug.cgi?id=54951
1638
1639         * inspector/CodeGeneratorInspector.pm:
1640         * inspector/Inspector.idl:
1641         * inspector/InspectorAgent.cpp:
1642         (WebCore::InspectorAgent::InspectorAgent):
1643         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1644         (WebCore::InspectorAgent::setFrontend):
1645         (WebCore::InspectorAgent::disconnectFrontend):
1646         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1647         (WebCore::InspectorAgent::didCommitLoad):
1648         (WebCore::InspectorAgent::domContentLoadedEventFired):
1649         (WebCore::InspectorAgent::loadEventFired):
1650         * inspector/InspectorAgent.h:
1651         * inspector/InspectorController.cpp:
1652         (WebCore::InspectorController::startTimelineProfiler):
1653         (WebCore::InspectorController::stopTimelineProfiler):
1654         (WebCore::InspectorController::timelineProfilerEnabled):
1655         * inspector/InspectorInstrumentation.cpp:
1656         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
1657         * inspector/InspectorTimelineAgent.cpp:
1658         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
1659         (WebCore::InspectorTimelineAgent::setFrontend):
1660         (WebCore::InspectorTimelineAgent::clearFrontend):
1661         (WebCore::InspectorTimelineAgent::restore):
1662         (WebCore::InspectorTimelineAgent::startTimelineProfiler):
1663         (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
1664         (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
1665         (WebCore::InspectorTimelineAgent::didCommitLoad):
1666         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1667         (WebCore::InspectorTimelineAgent::clearRecordStack):
1668         * inspector/InspectorTimelineAgent.h:
1669         (WebCore::InspectorTimelineAgent::create):
1670         * inspector/front-end/TimelinePanel.js:
1671         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
1672
1673 2011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
1674
1675         Reviewed by Pavel Feldman.
1676
1677         Web Inspector: flakyness of inspector tests.
1678         https://bugs.webkit.org/show_bug.cgi?id=54729
1679
1680         As far as we have the protocol with sequence numbers we can simplify test harness support
1681         and drop out chomium specific methods.
1682
1683         * inspector/CodeGeneratorInspector.pm:
1684         * inspector/front-end/TestController.js:
1685         (WebInspector.TestController):
1686         (WebInspector.TestController.prototype.notifyDone):
1687         (WebInspector.TestController.prototype.runAfterPendingDispatches):
1688         (WebInspector.TestController.prototype._evaluateForTestInFrontend):
1689         * inspector/front-end/inspector.js:
1690         (WebInspector.dispatch):
1691
1692 2011-02-22  Mario Sanchez Prada  <msanchez@igalia.com>
1693
1694         Reviewed by Martin Robinson.
1695
1696         [GTK] Combo boxes should emit object:selection-changed even when collapsed
1697         https://bugs.webkit.org/show_bug.cgi?id=53146
1698
1699         Emit the selection-changed signals when the menu list value has changed
1700
1701         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
1702
1703         * accessibility/gtk/AXObjectCacheAtk.cpp:
1704         (WebCore::getListObject): New, return the right list object for
1705         menu lists and list boxes.
1706         (WebCore::notifyChildrenSelectionChange): Support menu lists.
1707         (WebCore::AXObjectCache::postPlatformNotification): Call function
1708         notifyChildrenSelectionChange for AXMenuListValueChanged.
1709
1710 2011-02-22  Andras Becsi  <abecsi@webkit.org>
1711
1712         Reviewed by Laszlo Gombos.
1713
1714         [Qt] Redesign the build system
1715         https://bugs.webkit.org/show_bug.cgi?id=51339
1716
1717         Part 2.
1718
1719         Build WebCore as a static library, compile the WebKit API and WebKit2 API
1720         in a final step and link to WebKit2, WebCore and JSC libraries to fix
1721         linking issues resulting from stripped away symbols.
1722
1723         No new tests needed.
1724
1725         * WebCore.pri: Add needed rules for handling the static library.
1726         * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
1727
1728 2011-02-22  Pavel Podivilov  <podivilov@chromium.org>
1729
1730         Reviewed by Pavel Feldman.
1731
1732         Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
1733         https://bugs.webkit.org/show_bug.cgi?id=54947
1734
1735         * inspector/InspectorAgent.cpp:
1736         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1737         * inspector/InspectorState.cpp:
1738         (WebCore::InspectorState::loadFromCookie):
1739         * inspector/InspectorState.h:
1740
1741 2011-02-15  Jer Noble  <jer.noble@apple.com>
1742
1743         Reviewed by Darin Adler.
1744
1745         Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
1746         https://bugs.webkit.org/show_bug.cgi?id=46142
1747
1748         Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
1749         container elements.  This is necessary because, during layout(), the child renderers
1750         query the current LayoutState to determine where they will be repainting.  If a new
1751         LayoutState is not pushed here, child renderers will attempt to repaint relative to
1752         their grandparent's origin instead of their parents', and repaint operations will fail.
1753
1754         * rendering/RenderMedia.cpp:
1755         (WebCore::RenderMedia::layout):
1756
1757 2011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
1758
1759         Reviewed by Kenneth Rohde Christiansen.
1760
1761         Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
1762         https://bugs.webkit.org/show_bug.cgi?id=54952
1763
1764         Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
1765         a valid reference for the input type FileInputType. 
1766
1767         * page/Chrome.cpp:
1768         (WebCore::Chrome::setToolTip):
1769
1770 2011-02-21  Pavel Podivilov  <podivilov@chromium.org>
1771
1772         Reviewed by Pavel Feldman.
1773
1774         Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
1775         https://bugs.webkit.org/show_bug.cgi?id=54645
1776
1777         This is needed to map one script to several source files.
1778
1779         Test: inspector/debugger/source-frame.html
1780
1781         * WebCore.gypi:
1782         * WebCore.vcproj/WebCore.vcproj:
1783         * inspector/front-end/DebuggerPresentationModel.js: Added.
1784         (WebInspector.DebuggerPresentationModel):
1785         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
1786         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1787         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
1788         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
1789         (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
1790         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
1791         * inspector/front-end/ScriptsPanel.js:
1792         (WebInspector.ScriptsPanel):
1793         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
1794         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
1795         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
1796         (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
1797         (WebInspector.ScriptsPanel.prototype._addSourceFrame):
1798         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
1799         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
1800         (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
1801         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1802         (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
1803         * inspector/front-end/SourceFrame.js:
1804         (WebInspector.SourceFrame.prototype.get loaded):
1805         (WebInspector.SourceFrame.prototype._createTextViewer):
1806         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
1807         (WebInspector.SourceFrame.prototype.setExecutionLine):
1808         (WebInspector.SourceFrame.prototype.clearExecutionLine):
1809         (WebInspector.SourceFrame.prototype.addBreakpoint):
1810         (WebInspector.SourceFrame.prototype.removeBreakpoint):
1811         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
1812         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
1813         (WebInspector.SourceFrame.prototype._findBreakpoint.filter):
1814         (WebInspector.SourceFrame.prototype._findBreakpoint):
1815         * inspector/front-end/WebKit.qrc:
1816         * inspector/front-end/inspector.html:
1817
1818 2011-02-22  Andrey Kosyakov  <caseq@chromium.org>
1819
1820         Reviewed by Pavel Feldman.
1821
1822         Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit
1823         https://bugs.webkit.org/show_bug.cgi?id=54671
1824
1825         - factored toolbar handling out of inspector.js
1826         - added toolbar dropdown
1827
1828         * WebCore.gypi:
1829         * WebCore.vcproj/WebCore.vcproj:
1830         * inspector/front-end/ExtensionServer.js:
1831         (WebInspector.ExtensionServer.prototype._onCreatePanel):
1832         * inspector/front-end/Panel.js:
1833         (WebInspector.Panel.prototype.get toolbarItem):
1834         * inspector/front-end/Toolbar.js: Added.
1835         (WebInspector.Toolbar):
1836         (WebInspector.Toolbar.prototype.resize):
1837         (WebInspector.Toolbar.prototype.addPanel):
1838         (WebInspector.Toolbar.prototype._toolbarDragStart):
1839         (WebInspector.Toolbar.prototype._toolbarDragEnd):
1840         (WebInspector.Toolbar.prototype._toolbarDrag):
1841         (WebInspector.Toolbar.prototype._onClose):
1842         (WebInspector.Toolbar.prototype._setDropdownVisible):
1843         (WebInspector.Toolbar.prototype._toggleDropdown):
1844         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
1845         (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
1846         (WebInspector.Toolbar.createPanelToolbarItem):
1847         (WebInspector.ToolbarDropdown):
1848         (WebInspector.ToolbarDropdown.prototype.show):
1849         (WebInspector.ToolbarDropdown.prototype.hide):
1850         (WebInspector.ToolbarDropdown.prototype.get visible):
1851         (WebInspector.ToolbarDropdown.prototype._populate):
1852         (WebInspector.ToolbarDropdown.prototype._onKeyDown):
1853         * inspector/front-end/WebKit.qrc:
1854         * inspector/front-end/inspector.css:
1855         (#toolbar):
1856         (.toolbar-item):
1857         (.toolbar-item.toggleable):
1858         (.toolbar-item.toggleable.toggled-on):
1859         (#toolbar-dropdown .toolbar-icon):
1860         (#toolbar-dropdown .toolbar-label):
1861         (#toolbar-controls):
1862         (#toolbar-dropdown-arrow):
1863         (body.attached #toolbar-dropdown-arrow):
1864         (#toolbar-dropdown-arrow.dropdown-visible):
1865         (#toolbar-dropdown-arrow:hover):
1866         (#toolbar-dropdown-arrow:active):
1867         (#toolbar-dropdown):
1868         (body.detached.platform-mac-snowleopard #toolbar-dropdown):
1869         (#toolbar-dropdown .scrollable-content):
1870         (#toolbar-dropdown .toolbar-item):
1871         (#toolbar-dropdown .toolbar-item.toggleable.toggled-on):
1872         (#toolbar-dropdown .toolbar-item:hover):
1873         (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover):
1874         (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
1875         (.scrollable-content):
1876         (.scrollable-content::-webkit-scrollbar):
1877         (.scrollable-content::-webkit-resizer):
1878         (.scrollable-content::-webkit-scrollbar-thumb:vertical):
1879         (.scrollable-content::-webkit-scrollbar-thumb:vertical:active):
1880         (.scrollable-content::-webkit-scrollbar-track:vertical):
1881         (.toolbar-search-item):
1882         (#search):
1883         (body.attached #search):
1884         (#search-results-matches):
1885         (#close-button-left, #close-button-right):
1886         (.close-left):
1887         * inspector/front-end/inspector.html:
1888         * inspector/front-end/inspector.js:
1889         (WebInspector.set attached):
1890         (WebInspector.addPanel):
1891         (WebInspector.windowResize):
1892
1893 2011-02-22  Philippe Normand  <pnormand@igalia.com>
1894
1895         Reviewed by Xan Lopez.
1896
1897         [GTK] make distcheck fails
1898         https://bugs.webkit.org/show_bug.cgi?id=54943
1899
1900         Added new headers and removed references to deleted files.
1901
1902         * GNUmakefile.am:
1903
1904 2011-02-21  Yury Semikhatsky  <yurys@chromium.org>
1905
1906         Reviewed by Pavel Feldman.
1907
1908         Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent
1909         https://bugs.webkit.org/show_bug.cgi?id=54891
1910
1911         * inspector/InspectorAgent.cpp:
1912         (WebCore::InspectorAgent::InspectorAgent):
1913         (WebCore::InspectorAgent::setFrontend):
1914         (WebCore::InspectorAgent::disconnectFrontend):
1915         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1916         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1917         (WebCore::InspectorAgent::didCommitLoad):
1918         * inspector/InspectorAgent.h:
1919         (WebCore::InspectorAgent::instrumentingAgents):
1920         * inspector/InspectorDOMStorageAgent.cpp:
1921         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
1922         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1923         (WebCore::InspectorDOMStorageAgent::setFrontend):
1924         (WebCore::InspectorDOMStorageAgent::clearFrontend):
1925         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
1926         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
1927         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
1928         (WebCore::InspectorDOMStorageAgent::clearResources):
1929         * inspector/InspectorDOMStorageAgent.h:
1930         (WebCore::InspectorDOMStorageAgent::create):
1931         * inspector/InspectorDatabaseAgent.cpp:
1932         (WebCore::InspectorDatabaseAgent::didOpenDatabase):
1933         (WebCore::InspectorDatabaseAgent::clearResources):
1934         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1935         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1936         (WebCore::InspectorDatabaseAgent::setFrontend):
1937         (WebCore::InspectorDatabaseAgent::clearFrontend):
1938         (WebCore::InspectorDatabaseAgent::databaseForId):
1939         (WebCore::InspectorDatabaseAgent::selectDatabase):
1940         * inspector/InspectorDatabaseAgent.h:
1941         (WebCore::InspectorDatabaseAgent::create):
1942         * inspector/InspectorInstrumentation.cpp:
1943         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
1944         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
1945
1946 2011-02-22  Steve Lacey  <sjl@chromium.org>
1947
1948         Reviewed by Darin Fisher.
1949
1950         Rename new media statistics apis to better names
1951
1952         https://bugs.webkit.org/show_bug.cgi?id=54784
1953
1954         * html/HTMLMediaElement.cpp:
1955         (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount):
1956         (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount):
1957         * html/HTMLMediaElement.h:
1958         * html/HTMLMediaElement.idl:
1959         * html/HTMLVideoElement.cpp:
1960         (WebCore::HTMLVideoElement::webkitDecodedFrameCount):
1961         (WebCore::HTMLVideoElement::webkitDroppedFrameCount):
1962         * html/HTMLVideoElement.h:
1963         * html/HTMLVideoElement.idl:
1964         * platform/graphics/MediaPlayer.cpp:
1965         (WebCore::MediaPlayer::decodedFrameCount):
1966         (WebCore::MediaPlayer::droppedFrameCount):
1967         (WebCore::MediaPlayer::audioDecodedByteCount):
1968         (WebCore::MediaPlayer::videoDecodedByteCount):
1969         * platform/graphics/MediaPlayer.h:
1970         * platform/graphics/MediaPlayerPrivate.h:
1971         (WebCore::MediaPlayerPrivateInterface::decodedFrameCount):
1972         (WebCore::MediaPlayerPrivateInterface::droppedFrameCount):
1973         (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount):
1974         (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount):
1975
1976 2011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
1977
1978         Reviewed by Kent Tamura.
1979
1980         Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement
1981         https://bugs.webkit.org/show_bug.cgi?id=54435
1982
1983         Changed the function to a series of early-exit 'if's,
1984         removed most temporary variables.
1985
1986         No new tests. (refactoring)
1987
1988         * css/CSSStyleSelector.cpp:
1989         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1990
1991 2011-02-21  Nico Weber  <thakis@chromium.org>
1992
1993         Reviewed by James Robinson.
1994
1995         [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual
1996         https://bugs.webkit.org/show_bug.cgi?id=54923
1997
1998         Rename PopupContainer::show() to showInRect(), to make it obvious it's
1999         not an override of ScrollView::show().
2000
2001         No intended functionality change.
2002
2003         * platform/chromium/PopupMenuChromium.cpp:
2004         (WebCore::PopupContainer::showInRect):
2005         (WebCore::PopupMenuChromium::show):
2006         * platform/chromium/PopupMenuChromium.h:
2007
2008 2011-02-21  Julien Chaffraix  <jchaffraix@codeaurora.org>
2009
2010         Reviewed by Antti Koivisto.
2011
2012         Improve the local{SharedStyle,CousinList} algorithm
2013         https://bugs.webkit.org/show_bug.cgi?id=45507
2014
2015         This change improves the algorithm to find shared styles: the old
2016         algorithm would stop the search after the first cousin, even if
2017         the search threshold is not met. As such, the algorithm would
2018         systematically miss sharings across second cousins and beyond.
2019         The new algorithm continues the search, as long as threshold is
2020         not met. It also separates the threshold for sibling/cousins
2021         search, from that on the levels of search, which is easier to
2022         optimize.
2023         The new algorithm finds up to 30% more sharings on some sites
2024         (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown.
2025
2026         No new test, refactoring only.
2027
2028         * css/CSSStyleSelector.cpp:
2029         (WebCore::CSSStyleSelector::locateCousinList):
2030         (WebCore::CSSStyleSelector::locateSharedStyle):
2031         While changing the algorithm, cleaned up the style of those 2 methods
2032         (use early return, renamed some variables).
2033
2034         * css/CSSStyleSelector.h:
2035
2036 2011-02-21  Nico Weber  <thakis@chromium.org>
2037
2038         Reviewed by Adam Barth.
2039
2040         RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual
2041         https://bugs.webkit.org/show_bug.cgi?id=54922
2042
2043         RenderTableCell::baselinePosition() has the same name as a virtual
2044         method in superclass RenderBlock. Rename the subclass method to make
2045         it clear it's not an attempted override.
2046
2047         No intended functionality change.
2048
2049         * rendering/RenderTableCell.cpp:
2050         (WebCore::RenderTableCell::cellBaselinePosition):
2051         * rendering/RenderTableCell.h:
2052         * rendering/RenderTableSection.cpp:
2053         (WebCore::RenderTableSection::calcRowLogicalHeight):
2054         (WebCore::RenderTableSection::layoutRows):
2055
2056 2011-02-21  Benjamin Kalman  <kalman@chromium.org>
2057
2058         Reviewed by Ryosuke Niwa.
2059
2060         Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect
2061         start/end of selection for RTL
2062         https://bugs.webkit.org/show_bug.cgi?id=54724
2063
2064         On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document).
2065         This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or
2066         extending from the end when for the "right" direction (e.g. pressing right arrow key).
2067
2068         However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since
2069         direction is obviously reversed) and likewise extend from the start when extending right.
2070
2071         * editing/SelectionController.cpp:
2072         (WebCore::SelectionController::modify):
2073
2074 2011-02-21  Nico Weber  <thakis@chromium.org>
2075
2076         Reviewed by Adam Barth.
2077
2078         ImageDocument::imageChanged() confuses clang's -Woverride-virtual
2079         https://bugs.webkit.org/show_bug.cgi?id=54924
2080
2081         Rename ImageDocument::imageChanged() to imageUpdated() to make clear
2082         that it's not an override of CachedResourceClient::imageChanged().
2083
2084         * html/ImageDocument.cpp:
2085         (WebCore::ImageDocumentParser::appendBytes):
2086         (WebCore::ImageDocumentParser::finish):
2087         (WebCore::ImageDocument::imageUpdated):
2088         * html/ImageDocument.h:
2089
2090 2011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
2091
2092         Reviewed by Kent Tamura.
2093
2094         Bug 54934 - Sort the WebCore project file(s)
2095         https://bugs.webkit.org/show_bug.cgi?id=54934
2096
2097         No new tests. (no code affected)
2098
2099         * GNUmakefile.am:
2100         * WebCore.xcodeproj/project.pbxproj:
2101
2102 2011-02-21  Nico Weber  <thakis@chromium.org>
2103
2104         Reviewed by Adam Barth.
2105
2106         canAccommodateEllipsis() confuses clang's -Woverloaded-virtual
2107         https://bugs.webkit.org/show_bug.cgi?id=54909
2108
2109         Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to
2110         unconfuse clang. No intended functionality change.
2111
2112         * rendering/RenderBlockLineLayout.cpp:
2113         (WebCore::RenderBlock::checkLinesForTextOverflow):
2114         * rendering/RenderFlexibleBox.cpp:
2115         (WebCore::RenderFlexibleBox::applyLineClamp):
2116         * rendering/RootInlineBox.cpp:
2117         (WebCore::RootInlineBox::lineCanAccommodateEllipsis):
2118         * rendering/RootInlineBox.h:
2119
2120 2011-02-21  Adele Peterson  <adele@apple.com>
2121
2122         Reviewed by Dan Bernstein.
2123
2124         Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402
2125         REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows
2126
2127         Test: updated fast/forms/placeholder-position.html and tested manually
2128
2129         Consider padding and margin for the results and cancel buttons.  This is important for the Windows 
2130         theme which uses padding to correctly position those buttons.  This change fixes the placeholder 
2131         position, and also better aligns the results popup list with the actual text you type.
2132
2133         * rendering/RenderTextControlSingleLine.cpp:
2134         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
2135         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
2136
2137 2011-02-21  Nico Weber  <thakis@chromium.org>
2138
2139         Reviewed by Kent Tamura.
2140
2141         GIFImageDecoder::setSize() tries to override the superclass method but fails
2142         https://bugs.webkit.org/show_bug.cgi?id=54305
2143
2144         The superclass uses unsigned instead of int for its parameters, so
2145         GIFImageDecoder::setSize() was an overload, not an override.
2146
2147         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2148         (WebCore::GIFImageDecoder::setSize):
2149         * platform/image-decoders/gif/GIFImageDecoder.h:
2150
2151 2011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
2152
2153         Reviewed by Darin Adler.
2154
2155         Deploy EditingStyle more in ApplyStyleCommand and do some cleanup
2156         https://bugs.webkit.org/show_bug.cgi?id=54528
2157
2158         * editing/ApplyStyleCommand.cpp:
2159         (WebCore::StyleChange::init): Allows style to be a null pointer.
2160         (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of
2161         -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement
2162         to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine
2163         whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property.
2164         (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
2165         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto.
2166         (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto.
2167         (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
2168         (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto.
2169         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto.
2170         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because
2171         ApplyStyleCommand::applyInlineStyle already does it.
2172         * editing/ApplyStyleCommand.h:
2173         * editing/EditingStyle.cpp:
2174         (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null.
2175         (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle.
2176         * editing/EditingStyle.h:
2177
2178 2011-02-21  Mark Rowe  <mrowe@apple.com>
2179
2180         Reviewed by Darin Adler and Alexey Proskuryakov.
2181
2182         <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO
2183
2184         * platform/graphics/cg/ImageSourceCG.cpp:
2185         (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the
2186         frame properties dictionary and use that if it exists. If it does not exist in the
2187         dictionary then fall back to using the clamped frame delay.
2188
2189 2011-02-21  James Kozianski  <koz@chromium.org>
2190
2191         Reviewed by Kent Tamura.
2192
2193         Causes elements to be unfocusable after tabindex property is removed.
2194         https://bugs.webkit.org/show_bug.cgi?id=54727
2195
2196         Test: fast/html/tabindex-removal.html
2197
2198         * dom/Node.cpp:
2199         (WebCore::Node::clearTabIndexExplicitly):
2200         * dom/Node.h:
2201         * dom/NodeRareData.h:
2202         (WebCore::NodeRareData::clearTabIndexExplicitly):
2203         * html/HTMLElement.cpp:
2204         (WebCore::HTMLElement::parseMappedAttribute):
2205
2206 2011-02-21  Alexey Proskuryakov  <ap@apple.com>
2207
2208         Reviewed by Mark Rowe.
2209
2210         <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods
2211
2212         * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed.
2213
2214 2011-02-21  Sam Weinig  <sam@webkit.org>
2215
2216         Reviewed by Dan Bernstein.
2217
2218         Overhang areas need to be invalidated on scroll
2219         <rdar://problem/9032194>
2220         https://bugs.webkit.org/show_bug.cgi?id=54917
2221
2222         * platform/ScrollView.cpp:
2223         (WebCore::ScrollView::scrollContents):
2224         We need to explicitly invalidate the overhang areas when we scroll the contents
2225         of a ScrollView, since they could contain arbitrary content that cannot be blitted.
2226
2227 2011-02-21  Lucas Forschler  <lforschler@apple.com>
2228
2229         Reviewed by Stephanie Lewis.
2230
2231         Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
2232
2233         No new tests required.
2234
2235         * WebCore.xcodeproj/project.pbxproj:
2236
2237 2011-02-21  Pratik Solanki  <psolanki@apple.com>
2238
2239         Reviewed by Darin Adler.
2240
2241         Remove global initializer in CookieStorageCFNet.cpp
2242         https://bugs.webkit.org/show_bug.cgi?id=54905
2243
2244         * platform/network/cf/CookieStorageCFNet.cpp:
2245         (WebCore::currentCookieStorage):
2246         (WebCore::setCurrentCookieStorage):
2247         (WebCore::setCookieStoragePrivateBrowsingEnabled):
2248
2249 2011-02-18  Jer Noble  <jer.noble@apple.com>
2250
2251         Reviewed by Sam Weinig.
2252
2253         WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
2254         https://bugs.webkit.org/show_bug.cgi?id=54771
2255
2256         Now that video is accelerated, we no longer need to special case
2257         video playing within a media document.
2258
2259         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2260         (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
2261         (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
2262
2263 2011-02-21  Alexey Proskuryakov  <ap@apple.com>
2264
2265         Reviewed by Adam Roben.
2266
2267         REGRESSION (WebKit2): HTTP requests time out after 60 seconds
2268         https://bugs.webkit.org/show_bug.cgi?id=54755
2269         <rdar://problem/9006592>
2270
2271         No new tests - it won't be great to have a test that runs for a minute.
2272
2273         It's now possible to set a default timeout to be used at ResourceRequest creation. If one
2274         hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
2275         or use INT_MAX on other platforms).
2276
2277         * WebCore.exp.in:
2278         * platform/network/ResourceRequestBase.cpp:
2279         (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
2280         default timeout interval (may be 0 if using NSURLRequest default).
2281         (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
2282         (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
2283         request is updated. Plaform code often calls updateResourceRequest() indirectly from this
2284         function, and that must obviously be a no-op.
2285         (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
2286         direction.
2287         * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
2288         "defaultTimeoutInterval". It has been used as default by most platforms anyway.
2289         (WebCore::ResourceRequestBase::ResourceRequestBase):
2290
2291         * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
2292         Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
2293         setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
2294
2295 2011-02-21  Martin Robinson  <mrobinson@igalia.com>
2296
2297         Reviewed by Xan Lopez.
2298
2299         [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
2300         https://bugs.webkit.org/show_bug.cgi?id=54895
2301
2302         Correct the GTK+ clipboard implementation to know that "text" is an alias
2303         for "text/html" data. This corrects the failing test.
2304
2305         * platform/gtk/ClipboardGtk.cpp:
2306         (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
2307         (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
2308
2309 2011-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
2310
2311         Reviewed by Pavel Feldman.
2312
2313         ProcessingInstruction should provide a way to know if it is of CSS type.
2314         https://bugs.webkit.org/show_bug.cgi?id=54868
2315
2316         * dom/ProcessingInstruction.cpp:
2317         (WebCore::ProcessingInstruction::ProcessingInstruction):
2318         (WebCore::ProcessingInstruction::checkStyleSheet):
2319         (WebCore::ProcessingInstruction::setCSSStyleSheet):
2320         * dom/ProcessingInstruction.h:
2321         (WebCore::ProcessingInstruction::isCSS):
2322
2323 2011-02-21  Simon Fraser  <simon.fraser@apple.com>
2324
2325         Put JSDOMImplementationCustom.cpp where it belongs in the project.
2326
2327         * WebCore.xcodeproj/project.pbxproj:
2328
2329 2011-02-21  Gavin Barraclough  <barraclough@apple.com>
2330
2331         Reviewed by Sam Weinig.
2332
2333         Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
2334
2335         The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
2336         containing a pointer to its parent class. These links should reflect the inheritance
2337         hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
2338         entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
2339         since intervening C++ classes may not have ClassInfo - but would be a potential bug
2340         were ClassInfo were to be added.
2341
2342         * bindings/js/JSAudioConstructor.cpp:
2343         * bindings/js/JSDOMGlobalObject.cpp:
2344         * bindings/js/JSImageConstructor.cpp:
2345         * bindings/js/JSOptionConstructor.cpp:
2346         * bindings/scripts/CodeGeneratorJS.pm:
2347         * bridge/objc/objc_runtime.mm:
2348         * bridge/runtime_object.cpp:
2349
2350 2011-02-21  Pavel Feldman  <pfeldman@chromium.org>
2351
2352         Reviewed by Yury Semikhatsky.
2353
2354         Web Inspector: navigation does not work after reopening frontend.
2355         https://bugs.webkit.org/show_bug.cgi?id=54879
2356
2357         Test: http/tests/inspector-enabled/open-close-open.html
2358
2359         * inspector/InspectorAgent.cpp:
2360         (WebCore::InspectorAgent::setFrontend):
2361         * inspector/InspectorState.cpp:
2362         (WebCore::InspectorState::unmute):
2363         * inspector/InspectorState.h:
2364
2365 2011-02-21  Adam Roben  <aroben@apple.com>
2366
2367         Protect the PluginView when evaluating javascript: URLs
2368
2369         Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
2370         plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
2371         added
2372
2373         Reviewed by Sam Weinig.
2374
2375         * plugins/PluginView.cpp:
2376         (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
2377         when evaluating javascript: URLs.
2378
2379 2011-02-21  Martin Robinson  <mrobinson@igalia.com>
2380
2381         Fix GTK+ build after r79223.
2382
2383         * GNUmakefile.am: Add file missing from the source list.
2384
2385 2011-02-14  Alexander Pavlov  <apavlov@chromium.org>
2386
2387         Reviewed by Yury Semikhatsky.
2388
2389         Web Inspector: audits should not warn about gzip compression for 304s
2390         https://bugs.webkit.org/show_bug.cgi?id=54343
2391
2392         Do not run compression-related audits on 304 resources.
2393         Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
2394
2395         * inspector/front-end/AuditRules.js:
2396         (WebInspector.AuditRules.GzipRule.prototype.doRun):
2397         (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
2398
2399 2011-02-08  Anton Muhin  <antonm@chromium.org>
2400
2401        Reviewed by Adam Barth and Alexey Proskuryakov.
2402
2403        Propagate security origin of parent document into HTML documents created with DOMImplementation
2404        https://bugs.webkit.org/show_bug.cgi?id=53611
2405
2406        This restores invariant that JS wrappers residing in the same JS context should come
2407        from the same security origin.
2408
2409        Absence of regressions is covered by the current tests.  Different security origin of
2410        DOMImplementation is difficult to check with layout tests as DOMImplementation
2411        resides in the same JS context as parent document and therefore there are no security origin checks.
2412        This is observable however in C++.
2413
2414        * Android.jscbindings.mk:
2415        * CMakeLists.txt:
2416        * WebCore.gypi:
2417        * WebCore.pro:
2418        * WebCore.vcproj/WebCore.vcproj:
2419        * WebCore.xcodeproj/project.pbxproj:
2420        * bindings/v8/V8GCController.cpp:
2421        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
2422        * dom/DOMImplementation.cpp:
2423        (WebCore::DOMImplementation::DOMImplementation):
2424        (WebCore::DOMImplementation::createDocument):
2425        * dom/DOMImplementation.h:
2426        (WebCore::DOMImplementation::create):
2427        (WebCore::DOMImplementation::documentDestroyed):
2428        (WebCore::DOMImplementation::parentDocument):
2429        * dom/DOMImplementation.idl:
2430        * dom/Document.cpp:
2431        (WebCore::Document::~Document):
2432        (WebCore::Document::implementation):
2433        * dom/Document.h:
2434
2435 2011-02-21  Andrey Adaikin  <aandrey@google.com>
2436
2437         Reviewed by Pavel Feldman.
2438
2439         Web Inspector: [Text editor] Optimize editing updates in gutter panel
2440         https://bugs.webkit.org/show_bug.cgi?id=54866
2441
2442         * inspector/front-end/TextViewer.js:
2443         (WebInspector.TextViewer.prototype.set startEditingListener):
2444         (WebInspector.TextViewer.prototype.set endEditingListener):
2445         (WebInspector.TextViewer.prototype.endUpdates):
2446         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
2447         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
2448         (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2449         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2450         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2451         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2452
2453 2011-02-21  Alexander Pavlov  <apavlov@chromium.org>
2454
2455         Reviewed by Yury Semikhatsky.
2456
2457         Web Inspector: [Audits] Image dimensions in inline style not checked
2458         https://bugs.webkit.org/show_bug.cgi?id=54738
2459
2460         * inspector/front-end/AuditRules.js:
2461         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2462
2463 2011-02-21  Yury Semikhatsky  <yurys@chromium.org>
2464
2465         Reviewed by Pavel Feldman.
2466
2467         Web Inspector: create and destroy DOM agent along with InspectorAgent
2468         https://bugs.webkit.org/show_bug.cgi?id=54875
2469
2470         * GNUmakefile.am:
2471         * WebCore.gypi:
2472         * WebCore.pro:
2473         * WebCore.vcproj/WebCore.vcproj:
2474         * WebCore.xcodeproj/project.pbxproj:
2475         * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
2476         on this object.
2477         (WebCore::InstrumentingAgents::InstrumentingAgents):
2478         (WebCore::InstrumentingAgents::~InstrumentingAgents):
2479         (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
2480         (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
2481         (WebCore::InstrumentingAgents::inspectorConsoleAgent):
2482         (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
2483         (WebCore::InstrumentingAgents::inspectorDOMAgent):
2484         (WebCore::InstrumentingAgents::setInspectorDOMAgent):
2485         (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
2486         (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
2487         (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
2488         (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
2489         (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
2490         (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
2491         (WebCore::InstrumentingAgents::inspectorProfilerAgent):
2492         (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
2493         (WebCore::InstrumentingAgents::inspectorResourceAgent):
2494         (WebCore::InstrumentingAgents::setInspectorResourceAgent):
2495         (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
2496         (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
2497         (WebCore::InstrumentingAgents::inspectorStorageAgent):
2498         (WebCore::InstrumentingAgents::setInspectorStorageAgent):
2499         (WebCore::InstrumentingAgents::inspectorTimelineAgent):
2500         (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
2501         * inspector/InspectorAgent.cpp:
2502         (WebCore::InspectorAgent::InspectorAgent):
2503         (WebCore::InspectorAgent::setFrontend):
2504         (WebCore::InspectorAgent::disconnectFrontend):
2505         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
2506         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
2507         (WebCore::InspectorAgent::didCommitLoad):
2508         (WebCore::InspectorAgent::domContentLoadedEventFired):
2509         (WebCore::InspectorAgent::loadEventFired):
2510         * inspector/InspectorAgent.h:
2511         * inspector/InspectorCSSAgent.cpp:
2512         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2513         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
2514         * inspector/InspectorCSSAgent.h:
2515         * inspector/InspectorConsoleAgent.cpp:
2516         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2517         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2518         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2519         (WebCore::InspectorConsoleAgent::clearFrontend):
2520         (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
2521         (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
2522         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2523         (WebCore::InspectorConsoleAgent::addConsoleMessage):
2524         * inspector/InspectorConsoleAgent.h:
2525         * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
2526         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2527         (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
2528         is attached.
2529         (WebCore::InspectorDOMAgent::clearFrontend):
2530         * inspector/InspectorDOMAgent.h:
2531         (WebCore::InspectorDOMAgent::create):
2532
2533 2011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
2534
2535         Reviewed by Andreas Kling.
2536
2537         [Qt][V8]REGRESSION(r79157): Fix build
2538         https://bugs.webkit.org/show_bug.cgi?id=54871
2539
2540         * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
2541
2542 2011-02-16  Vitaly Repeshko  <vitalyr@chromium.org>
2543
2544         Reviewed by Mihai Parparita.
2545
2546         [V8] SerializedScriptValue: fix JS exception handling.
2547         https://bugs.webkit.org/show_bug.cgi?id=54555
2548
2549         Added checks for exceptions and empty handles:
2550         * bindings/v8/SerializedScriptValue.cpp:
2551         (WebCore::Serializer::Serializer):
2552         (WebCore::Serializer::serialize):
2553         (WebCore::Serializer::checkException):
2554         (WebCore::Serializer::reportFailure):
2555         (WebCore::Serializer::ArrayState::advance):
2556         (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
2557         (WebCore::Serializer::AbstractObjectState::advance):
2558         (WebCore::Serializer::push):
2559         (WebCore::Serializer::handleError):
2560         (WebCore::Serializer::newObjectState):
2561         (WebCore::Serializer::doSerialize):
2562         (WebCore::SerializedScriptValue::SerializedScriptValue):
2563
2564 2011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
2565
2566         Reviewed by Kent Tamura.
2567
2568         Add selectionchange event
2569         https://bugs.webkit.org/show_bug.cgi?id=45712
2570
2571         Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
2572         This event is not cancelable and does not bubble. An event listener can be attached to a document by
2573         body element's onselectionchange attribute or via document's onselectionchange property.
2574
2575         Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
2576         fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
2577         will not observe the event before the control returns to JavaScript.
2578
2579         See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
2580
2581         Tests: fast/events/selectionchange-iframe.html
2582                fast/events/selectionchange-user-initiated.html
2583
2584         * dom/Document.cpp:
2585         (WebCore::Document::enqueueDocumentEvent): Added.
2586         * dom/Document.h: Added selectionchange event listener.
2587         * dom/Document.idl: Added onselectionchagne attribute.
2588         * dom/EventNames.h: Added selectionchange
2589         * editing/SelectionController.cpp:
2590         (WebCore::SelectionController::setSelection): Fires selectionchange event.
2591         * html/HTMLAttributeNames.in: Added onselectionchange.
2592         * html/HTMLBodyElement.cpp:
2593         (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
2594
2595 2011-02-21  Ilya Tikhonovsky  <loislo@chromium.org>
2596
2597         Reviewed by Pavel Feldman.
2598
2599         Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
2600         https://bugs.webkit.org/show_bug.cgi?id=54859
2601
2602         * inspector/CodeGeneratorInspector.pm:
2603
2604 2011-02-21  Pavel Feldman  <pfeldman@chromium.org>
2605
2606         Reviewed by Yury Semikhatsky.
2607
2608         Web Inspector: generate protocol documentation based on IDL.
2609         https://bugs.webkit.org/show_bug.cgi?id=54822
2610
2611         * inspector/CodeGeneratorInspector.pm:
2612
2613 2011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
2614
2615         Reviewed by Martin Robinson.
2616
2617         [GStreamer] Add URI queries support in webkitwebsrc
2618         https://bugs.webkit.org/show_bug.cgi?id=54627
2619
2620         This allow replying to URI queries from downstream elements
2621         with the uri currently set in the source element.
2622
2623         No new tests, this feature is dedicated to internal GStreamer use,
2624         such as the upcoming HTTP Live Streaming element.
2625
2626         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2627         (webKitWebSrcQuery):
2628
2629 2011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
2630
2631         Reviewed by Martin Robinson.
2632
2633         [GStreamer] Add 'location' property in webkitwebsrc
2634         https://bugs.webkit.org/show_bug.cgi?id=54628
2635
2636         No new tests, this feature is dedicated to internal GStreamer use,
2637         such as the upcoming HTTP Live Streaming element.
2638
2639         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2640         (webkit_web_src_class_init):
2641         (webKitWebSrcSetProperty):
2642         (webKitWebSrcGetProperty):
2643
2644 2011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
2645
2646         Reviewed by Kent Tamura.
2647
2648         Rename Position::node() to Position::deprecatedNode()
2649         https://bugs.webkit.org/show_bug.cgi?id=54622
2650
2651         Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
2652         calls were of the form node()->document() and node()->inDocument() in which case they were
2653         replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
2654
2655         * WebCore.exp.in: Added Position::containerNode.
2656
2657         The rest abbreviated for simplicity. Please see svn log.
2658
2659 2011-02-20  Gavin Barraclough  <barraclough@apple.com>
2660
2661         Build fix (remove includes).
2662
2663         * bindings/js/JSDOMBinding.cpp:
2664         * bindings/js/JSDOMWindowCustom.cpp:
2665         * bindings/js/JSHistoryCustom.cpp:
2666         * bindings/js/JSLocationCustom.cpp:
2667
2668 2011-02-20  Gavin Barraclough  <barraclough@apple.com>
2669
2670         Reviewed by Oliver Hunt.
2671
2672         https://bugs.webkit.org/show_bug.cgi?id=54839
2673         Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
2674
2675         Historically, Native functions used to be represented by PrototypeFunctions, however
2676         since introducing call optimizations to the JIT this has used JSFunctions for host
2677         calls too. At the point this change was made, the interpreter continued to use
2678         PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
2679         the interpreter has had to be able to run using host functions represented using
2680         JSFunctions - leading to an unnecessary and redundant divergence in behaviour between 
2681         interpreter only builds, and situations where the JIT has fallen back to interpreting.
2682
2683         NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
2684         for wrappers for host functions, and as such can also be removed.
2685
2686         GlobalEvalFunction is a redundant wrapper that happens to be derived from
2687         PrototypeFunction. It existed to hold a reference to the global object - but since all
2688         functions how derive from JSObjectWithGlobalObject, this no longer requires an
2689         additional class to provide this functionality.
2690
2691         * bindings/js/JSDOMBinding.cpp:
2692         * bindings/js/JSDOMWindowCustom.cpp:
2693         * bindings/js/JSHistoryCustom.cpp:
2694         * bindings/js/JSLocationCustom.cpp:
2695             Removed use of redundant classes.
2696
2697 2011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2698
2699         Unreviewed, rolling out r79169.
2700         http://trac.webkit.org/changeset/79169
2701         https://bugs.webkit.org/show_bug.cgi?id=54846
2702
2703         Made unexpected results for tests without CJK characters
2704         (Requested by tkent on #webkit).
2705
2706         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2707         (WebCore::FontCache::createFontPlatformData):
2708         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2709         (WebCore::FontPlatformData::FontPlatformData):
2710         (WebCore::FontPlatformData::operator=):
2711         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2712         (WebCore::FontPlatformData::orientation):
2713         * platform/graphics/skia/FontCustomPlatformData.cpp:
2714         (WebCore::FontCustomPlatformData::fontPlatformData):
2715
2716 2011-02-20  Chun-Lung Huang  <alvincl.huang@gmail.com>
2717
2718         Reviewed by Kent Tamura.
2719
2720         On Chromium Windows, glyphs in vertical text tests are rotated 90
2721         degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
2722
2723         This platform dependent patch makes Chromium Windows show the
2724         vertical writing text correctly. Job was done by adding a prefix '@'
2725         in front of the font family name (Windows Only). No new tests added.
2726
2727         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2728         (WebCore::FontCache::createFontPlatformData):
2729         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2730         (WebCore::FontPlatformData::FontPlatformData):
2731         (WebCore::FontPlatformData::operator=):
2732         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2733         (WebCore::FontPlatformData::orientation):
2734         * platform/graphics/skia/FontCustomPlatformData.cpp:
2735         (WebCore::FontCustomPlatformData::fontPlatformData):
2736
2737 2011-02-20  Simon Fraser  <simon.fraser@apple.com>
2738
2739         Reviewed by Dirk Schulze.
2740
2741         REGRESSION (r73369-r73405): transform animation interpolates incorrectly
2742         https://bugs.webkit.org/show_bug.cgi?id=54793
2743         
2744         After the refactoring in r73380, the ending state for some types of
2745         accelerated animations was computed incorrectly, because the TransformationMatrix
2746         wasn't reset to identity before the ending value transformations were applied.
2747         
2748         Fix by cleaning up the code to use explicit, separate values for
2749         starting and ending values. Only matrix-type animations had this
2750         issue, but cleaned up other clauses similarly.
2751
2752         Test: animations/3d/matrix-transform-type-animation.html
2753
2754         * platform/graphics/ca/GraphicsLayerCA.cpp:
2755         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
2756
2757 2011-02-20  Dan Bernstein  <mitz@apple.com>
2758
2759         Reviewed by Maciej Stachowiak.
2760
2761         <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
2762
2763         Test: fast/frames/iframe-scale-applied-twice.html
2764
2765         * page/FrameView.cpp:
2766         (WebCore::FrameView::create): Set the initial bounds of the view to match the
2767         frame size.
2768         * platform/ScrollView.cpp:
2769         (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
2770         (WebCore::ScrollView::updateScrollbars): Ditto.
2771         (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
2772         change to setBoundsSize().
2773         (WebCore::ScrollView::setBoundsSize): Added.
2774         (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
2775         not update anything.
2776         (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
2777         (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
2778         * platform/ScrollView.h:
2779         (WebCore::ScrollView::boundsSize): Added this getter.
2780         * platform/Widget.h:
2781         (WebCore::Widget::resize): Set the bounds size to the frame size.
2782         * platform/mac/ScrollbarThemeMac.mm:
2783         (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
2784         path where the buffer rect was resized to capture only the damaged part, but was
2785         still drawn in the original location.
2786
2787 2011-02-20  Alexey Proskuryakov  <ap@apple.com>
2788
2789         Reviewed by Eric Seidel.
2790
2791         Tighten up access permissions by using libxslt API
2792         https://bugs.webkit.org/show_bug.cgi?id=52688
2793         <rdar://problem/8909191> 
2794
2795         * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
2796         interested in a string result, so let libxslt know about that.
2797
2798 2011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2799
2800         Unreviewed, rolling out r79104.
2801         http://trac.webkit.org/changeset/79104
2802         https://bugs.webkit.org/show_bug.cgi?id=54835
2803
2804         Might have caused flaky canaries (Requested by tonyg-cr on
2805         #webkit).
2806
2807         * html/parser/HTMLDocumentParser.cpp:
2808         (WebCore::HTMLDocumentParser::canTakeNextToken):
2809         (WebCore::HTMLDocumentParser::pumpTokenizer):
2810         * html/parser/HTMLParserScheduler.cpp:
2811         (WebCore::isLayoutTimerActive):
2812         * html/parser/HTMLParserScheduler.h:
2813         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
2814         * page/FrameView.h:
2815
2816 2011-02-20  Dirk Schulze  <krit@webkit.org>
2817
2818         Reviewed by Nikolas Zimmermann.
2819
2820         SVG animation - analyze attribute type for animation
2821         https://bugs.webkit.org/show_bug.cgi?id=54542
2822
2823         Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
2824         with AnimatedAttributeType instead. More cleanup of the animation code.
2825         Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
2826
2827         Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
2828         from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
2829
2830         No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
2831         animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
2832         with the W3C test suite in trunk.
2833
2834         The change on SVGUseElement gets covered by animate-elem-39-t.svg
2835
2836         Test: svg/animations/animate-dynamic-update-attributeName.html
2837
2838         * svg/SVGAnimateElement.cpp:
2839         (WebCore::SVGAnimateElement::SVGAnimateElement):
2840         (WebCore::SVGAnimateElement::hasValidAttributeType):
2841         (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
2842         (WebCore::SVGAnimateElement::calculateAnimatedValue):
2843         (WebCore::inheritsFromProperty):
2844         (WebCore::SVGAnimateElement::calculateFromAndToValues):
2845         (WebCore::SVGAnimateElement::calculateFromAndByValues):
2846         (WebCore::SVGAnimateElement::resetToBaseValue):
2847         (WebCore::SVGAnimateElement::applyResultsToTarget):
2848         (WebCore::SVGAnimateElement::calculateDistance):
2849         * svg/SVGAnimateElement.h:
2850         * svg/SVGAnimateMotionElement.cpp:
2851         (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
2852         (WebCore::parsePoint):
2853         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
2854         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
2855         (WebCore::SVGAnimateMotionElement::calculateDistance):
2856         * svg/SVGAnimateMotionElement.h:
2857         * svg/SVGAnimateTransformElement.cpp:
2858         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2859         (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
2860         (WebCore::SVGAnimateTransformElement::resetToBaseValue):
2861         (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
2862         (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
2863         (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2864         (WebCore::SVGAnimateTransformElement::calculateDistance):
2865         * svg/SVGAnimateTransformElement.h:
2866         * svg/SVGAnimationElement.cpp:
2867         (WebCore::parseKeyTimes):
2868         (WebCore::parseKeySplines):
2869         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
2870         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2871         (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
2872         (WebCore::solveEpsilon):
2873         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
2874         (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
2875         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2876         (WebCore::SVGAnimationElement::startedActiveInterval):
2877         * svg/SVGAnimationElement.h:
2878         * svg/SVGFilterElement.cpp:
2879         (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
2880         * svg/SVGGElement.cpp:
2881         (WebCore::SVGGElement::attributeToPropertyTypeMap):
2882         (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
2883         * svg/SVGGElement.h:
2884         * svg/SVGUseElement.cpp:
2885         (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
2886         * svg/animation/SMILTimeContainer.cpp:
2887         (WebCore::SMILTimeContainer::baseValueFor):
2888         (WebCore::SMILTimeContainer::updateAnimations):
2889         * svg/animation/SMILTimeContainer.h:
2890         * svg/animation/SVGSMILElement.cpp:
2891         (WebCore::SVGSMILElement::SVGSMILElement):
2892         (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
2893         (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
2894         (WebCore::SVGSMILElement::removedFromDocument): Ditto.
2895         (WebCore::SVGSMILElement::attributeChanged): Ditto.
2896         * svg/animation/SVGSMILElement.h:
2897         (WebCore::SVGSMILElement::attributeName):
2898
2899 2011-02-20  David Kilzer  <ddkilzer@apple.com>
2900
2901         BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
2902
2903         Not reviewed.
2904
2905         * rendering/RenderLayerCompositor.cpp:
2906         (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
2907
2908 2011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2909
2910         Reviewed by Martin Robinson.
2911
2912         [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
2913         https://bugs.webkit.org/show_bug.cgi?id=52880
2914
2915         * platform/gtk/KeyEventGtk.cpp:
2916         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
2917
2918 2011-02-19  Andreas Kling  <kling@webkit.org>
2919
2920         Reviewed by Oliver Hunt.
2921
2922         DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
2923         https://bugs.webkit.org/show_bug.cgi?id=54545
2924
2925         * page/DragController.cpp:
2926         (WebCore::DragController::concludeEditDrag):
2927
2928 2011-02-19  Sam Weinig  <sam@webkit.org>
2929
2930         Reviewed by Anders Carlsson.
2931
2932         Add phase in addition to momentumPhase to platform wheel events
2933         Part of <rdar://problem/8945362>
2934
2935         Rename existing phase to momentumPhase.
2936
2937         * platform/PlatformWheelEvent.h:
2938         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2939         (WebCore::PlatformWheelEvent::momentumPhase):
2940         * platform/mac/ScrollAnimatorMac.mm:
2941         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2942         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2943         * platform/mac/WheelEventMac.mm:
2944         (WebCore::momentumPhaseForEvent):
2945         (WebCore::phaseForEvent):
2946         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2947
2948 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
2949
2950         Qt build fix.
2951
2952         * bridge/runtime_method.h:
2953         (JSC::RuntimeMethod::createStructure):
2954
2955 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
2956
2957         Qt build fix.
2958
2959         * bridge/qt/qt_instance.cpp:
2960         * bridge/qt/qt_pixmapruntime.cpp:
2961
2962 2011-02-19  Gavin Barraclough  <barraclough@apple.com>
2963
2964         Qt build fix.
2965
2966         * bridge/qt/qt_instance.cpp:
2967         (JSC::Bindings::QtInstance::getMethod):
2968         * bridge/qt/qt_pixmapruntime.cpp:
2969         (JSC::Bindings::QtPixmapInstance::getMethod):
2970
2971 2011-02-18  Gavin Barraclough  <barraclough@apple.com>
2972
2973         Reviewed by Sam Weinig.
2974
2975         Bug 54786 - Devirtualize JSCell::classInfo()
2976
2977         Instead of making a virtual function call, add a pointer to the ClassInfo
2978         onto Structure.
2979
2980         This removes a virtual function call, and paves the way towards removing all
2981         the createStructure methods, and StructureFlags/AnonymousSlotCount properties
2982         (these should be able to move onto ClassInfo).
2983
2984         Calls to Structure::create must now pass a pointer to the ClassInfo for the
2985         structure. All objects now have a ClassInfo pointer, non-object cell types
2986         still do not.
2987
2988         Changes are most mechanical, involving three steps:
2989             * Remove virtual classInfo() methods.
2990             * Add &s_info parameter to calls to Structure::create.
2991             * Rename ClassInfo static members on classes from 'info' to 's_info',
2992               for consistency.
2993
2994         * WebCore.exp.in:
2995         * bindings/js/JSAudioConstructor.cpp:
2996         * bindings/js/JSAudioConstructor.h:
2997         * bindings/js/JSDOMBinding.cpp:
2998         * bindings/js/JSDOMBinding.h:
2999         * bindings/js/JSDOMGlobalObject.cpp:
3000         * bindings/js/JSDOMGlobalObject.h:
3001         * bindings/js/JSDOMWindowBase.cpp:
3002         * bindings/js/JSDOMWindowBase.h:
3003         * bindings/js/JSDOMWindowShell.cpp:
3004         * bindings/js/JSDOMWindowShell.h:
3005         * bindings/js/JSGeolocationCustom.cpp:
3006         * bindings/js/JSImageConstructor.cpp:
3007         * bindings/js/JSImageConstructor.h:
3008         * bindings/js/JSImageDataCustom.cpp:
3009         * bindings/js/JSOptionConstructor.cpp:
3010         * bindings/js/JSOptionConstructor.h:
3011         * bindings/js/JSWorkerContextBase.cpp:
3012         * bindings/js/JSWorkerContextBase.h:
3013         * bindings/js/SerializedScriptValue.cpp:
3014         * bindings/scripts/CodeGeneratorJS.pm:
3015         * bridge/c/CRuntimeObject.cpp:
3016         * bridge/c/CRuntimeObject.h:
3017         * bridge/c/c_instance.cpp:
3018         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
3019         * bridge/jni/jsc/JavaInstanceJSC.cpp:
3020         * bridge/jni/jsc/JavaRuntimeObject.cpp:
3021         * bridge/jni/jsc/JavaRuntimeObject.h:
3022         * bridge/jsc/BridgeJSC.cpp:
3023         * bridge/objc/ObjCRuntimeObject.h:
3024         * bridge/objc/ObjCRuntimeObject.mm:
3025         * bridge/objc/objc_instance.mm:
3026         * bridge/objc/objc_runtime.h:
3027         * bridge/objc/objc_runtime.mm:
3028         * bridge/runtime_array.cpp:
3029         * bridge/runtime_array.h:
3030         * bridge/runtime_method.cpp:
3031         * bridge/runtime_method.h:
3032         * bridge/runtime_object.cpp:
3033         * bridge/runtime_object.h:
3034
3035 2011-02-19  Zan Dobersek  <zandobersek@gmail.com>
3036
3037         Reviewed by Martin Robinson.
3038
3039         [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
3040         https://bugs.webkit.org/show_bug.cgi?id=54491
3041
3042         When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
3043         and would round to 0, alter the behaviour to ensure that width or height are
3044         at least 1 pixel in size in these cases.
3045
3046         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3047         (WebCore::GraphicsContext::roundToDevicePixels):
3048
3049 2011-02-19  Dan Bernstein  <mitz@apple.com>
3050
3051         LLVM Compiler build fix.
3052
3053         * platform/graphics/ShadowBlur.cpp:
3054         (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
3055         a global initializer since the compiler does not evaluate sqrtf at compile time.
3056
3057 2011-02-19  Brian Ryner  <bryner@chromium.org>
3058
3059         Reviewed by Adam Barth.
3060
3061         Replace the #include of DocumentLoader.h in Document.h with a
3062         forward declaration, and add a missing #include now that this
3063         transitive include is gone.
3064         https://bugs.webkit.org/show_bug.cgi?id=50489
3065
3066         No new tests required.
3067
3068         * bindings/ScriptControllerBase.cpp:
3069         * dom/Document.h:
3070
3071 2011-02-19 Patrick Gansterer <paroga@webkit.org>
3072
3073         Reviewed by Antonio Gomes.
3074
3075         [EFL] Remove WebCore::currentTime()
3076         https://bugs.webkit.org/show_bug.cgi?id=53886
3077
3078         There is no declaration for it and we use WTF::currentTime() everywhere.
3079
3080         * platform/efl/SystemTimeEfl.cpp:
3081
3082 2011-02-19 Patrick Gansterer <paroga@webkit.org>
3083
3084         Reviewed by Andreas Kling.
3085
3086         Move KeygenWinCE from wince into win directory
3087         https://bugs.webkit.org/show_bug.cgi?id=54804
3088
3089         Move this file into the win directory, since it can be used on all windows platforms.
3090
3091         * CMakeListsWinCE.txt:
3092         * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
3093
3094 2011-02-19  Patrick Gansterer  <paroga@webkit.org>
3095
3096         Reviewed by Andreas Kling.
3097
3098         Make FileChooserWin.cpp more portable and use it on WinCE
3099         https://bugs.webkit.org/show_bug.cgi?id=54803
3100
3101         * CMakeListsWinCE.txt:
3102         * platform/win/FileChooserWin.cpp:
3103         (WebCore::FileChooser::basenameForWidth):
3104         * platform/wince/FileChooserWinCE.cpp: Removed.
3105
3106 2011-02-19  James Simonsen  <simonjam@chromium.org>
3107
3108         Reviewed by Adam Barth.
3109
3110         Make ScriptElement match the HTML5 spec
3111         https://bugs.webkit.org/show_bug.cgi?id=54676
3112
3113         This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
3114         http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
3115
3116         There are a couple of things missing from the spec that would be new functionality. These will be added later.
3117         - Support for async=false
3118         - Empty src attribute should dispatch an error.
3119
3120         There are a couple of slight behavioral changes to match the spec.
3121         - An XHTML script that is loaded then copied will not fire load on the copy.
3122         - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
3123
3124         The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
3125
3126         Test: All existing tests.
3127
3128         * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
3129         (WebCore::ScriptElement::ScriptElement):
3130         (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
3131         (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
3132         (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
3133         (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
3134         (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
3135         (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.
3136         (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
3137         (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
3138         (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
3139         (WebCore::ScriptElement::execute): Renamed executeScript.
3140         (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
3141         (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
3142         (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
3143         (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
3144         * dom/ScriptElement.h:
3145         (WebCore::ScriptElement::willBeParserExecuted): Added.
3146         (WebCore::ScriptElement::readyToBeParserExecuted): Added.
3147         (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
3148         (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
3149         (WebCore::ScriptElement::isParserInserted): Added.
3150         * dom/XMLDocumentParserLibxml2.cpp:
3151         (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
3152         * dom/XMLDocumentParserQt.cpp:
3153         (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
3154         * html/HTMLScriptElement.cpp:
3155         (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
3156         (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
3157         * html/HTMLScriptElement.h:
3158         * html/parser/HTMLScriptRunner.cpp:
3159         (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
3160         (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
3161         * svg/SVGScriptElement.cpp:
3162         (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
3163         (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
3164         (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
3165         (WebCore::SVGScriptElement::hasSourceAttribute): Added.
3166         (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
3167         * svg/SVGScriptElement.h:
3168
3169 2011-02-19  Marc-Antoine Ruel  <maruel@chromium.org>
3170
3171         Reviewed by James Robinson.
3172
3173         Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
3174         https://bugs.webkit.org/show_bug.cgi?id=54789
3175
3176         * WebCore.gyp/WebCore.gyp:
3177
3178 2011-02-19  Bill Budge  <bbudge@chromium.org>
3179
3180         Reviewed by David Levin.
3181
3182         ThreadableLoaderClient needs willSendRequest method
3183         https://bugs.webkit.org/show_bug.cgi?id=54688
3184
3185         No new tests. Exposes no new functionality
3186
3187         * WebCore.gypi:
3188         * loader/DocumentThreadableLoader.cpp:
3189         (WebCore::DocumentThreadableLoader::willSendRequest):
3190         (WebCore::DocumentThreadableLoader::didReceiveData):
3191         (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
3192         * loader/DocumentThreadableLoaderClient.h: Added.
3193         (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
3194         (WebCore::DocumentThreadableLoaderClient::willSendRequest):
3195         * loader/ThreadableLoaderClient.h:
3196         (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
3197
3198 2011-02-19  Charlie Reis  <creis@chromium.org>
3199
3200         Reviewed by Mihai Parparita.
3201
3202         Ensure loading has stopped in HistoryController::goToItem
3203         https://bugs.webkit.org/show_bug.cgi?id=54517
3204
3205         Avoid stopping all loaders in goToItem for same document navigations
3206         or pseudo-back-forward URLs.  Make HistoryController::goToItem private
3207         to force callers to go through Page::goToItem.  Also add a callback to
3208         FrameLoaderClient to let clients decide whether to stop loading first.
3209
3210         Test: http/tests/navigation/forward-to-fragment-fires-onload.html
3211
3212         * loader/EmptyClients.h:
3213         * loader/FrameLoader.h:
3214         * loader/FrameLoaderClient.h:
3215         * loader/HistoryController.cpp:
3216         * loader/HistoryController.h:
3217         * page/Page.cpp:
3218
3219 2011-02-19  Adam Barth  <abarth@webkit.org>
3220
3221         Reviewed by Daniel Bates.
3222
3223         Fix xssAuditor/iframe-injection.html
3224         https://bugs.webkit.org/show_bug.cgi?id=54591
3225
3226         We should block the iframe src attribute.  Although this technically
3227         can't be used to run script, it's a pretty easy vector for stealing
3228         passwords.
3229
3230         * html/parser/XSSFilter.cpp:
3231         (WebCore::XSSFilter::filterTokenInitial):
3232         (WebCore::XSSFilter::filterIframeToken):
3233         * html/parser/XSSFilter.h:
3234
3235 2011-02-18  Tony Gentilcore  <tonyg@chromium.org>
3236
3237         Reviewed by Eric Seidel.
3238
3239         Let the parser yield for layout before running scripts
3240         https://bugs.webkit.org/show_bug.cgi?id=54355
3241
3242         Prior to this patch, the parser would yield to perform a layout/paint before running a
3243         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
3244         don't preload scan into the body while parsing the head, typically we'll block on a script
3245         early in the body that causes us to yield to do the first paint within a reasonable time.
3246
3247         However, I'm planning to change the PreloadScanner to scan into the body from the head.
3248         That significantly improves overall load time, but would hurt first paint time because
3249         fewer scripts would be blocked during parsing and thus wouldn't yield.
3250
3251         This change causes us to yield before running scripts if we haven't painted yet (regardless
3252         of whether or not the script is loaded). In addition to allowing the above mentioned
3253         PreloadScanner change to be implemented without regressing first paint time, this also
3254         improves first paint time by itself.
3255
3256         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
3257         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
3258         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
3259         signifcant change in page load time.
3260
3261         Within the pages tested, 33 had no statistically significant change in time to first paint,
3262         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
3263         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
3264
3265         * html/parser/HTMLDocumentParser.cpp:
3266         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
3267         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
3268         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
3269         the right thing whether we are just before a token or waiting for a script. Now that we may
3270         yield before a token or before a script, this may be called while paused.
3271         * html/parser/HTMLParserScheduler.cpp:
3272         (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
3273         to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
3274         no longer works. The fix is to change it to check minimumLayoutDelay() ==
3275         m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
3276         do this in a follow up.
3277         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
3278         * page/FrameView.h:
3279         (WebCore::FrameView::hasEverPainted): Added.
3280
3281 2011-02-18  Dawit Alemayehu  <adawit@kde.org>
3282
3283         Reviewed by Andreas Kling.
3284
3285         [Qt]  Button Element is rendered w/ text off-center.
3286         https://bugs.webkit.org/show_bug.cgi?id=53373
3287
3288         Test: LayoutTests/fast/forms/button-white-space.html 
3289
3290         * platform/qt/RenderThemeQt.cpp:
3291         (WebCore::RenderThemeQt::adjustButtonStyle):
3292
3293 2011-02-18  Jonathan Backer  <backer@chromium.org>
3294
3295         Reviewed by Eric Seidel.
3296
3297         [chromium] Fix leak of texture IDs in compositor.
3298         https://bugs.webkit.org/show_bug.cgi?id=54750
3299
3300         No new tests. It is extremely unlikely that this leak would have
3301         any user visible impact because only a few bytes of space are wasted
3302         (we're leaking texture IDs, not actual textures) and the space of
3303         texture IDs is large (32 bits).
3304
3305        * platform/graphics/chromium/TextureManager.cpp:
3306         (WebCore::TextureManager::requestTexture):
3307
3308 2011-02-18  Yi Shen  <yi.4.shen@nokia.com>
3309
3310         Reviewed by Tor Arne Vestbø.
3311
3312         Always display the media controls when requiresFullscreenForVideoPlayback() is true
3313         https://bugs.webkit.org/show_bug.cgi?id=54308
3314
3315         For video element, it should have controls when 
3316         Chrome::requiresFullscreenForVideoPlayback() is true.
3317
3318         * html/HTMLMediaElement.cpp:
3319         (WebCore::HTMLMediaElement::controls):
3320
3321 2011-02-18  Adrienne Walker  <enne@google.com>
3322
3323         Reviewed by Kenneth Russell.
3324
3325         [chromium] Use nearest-neighbor filtering for root layer.
3326         https://bugs.webkit.org/show_bug.cgi?id=54409
3327         https://bugs.webkit.org/show_bug.cgi?id=54509
3328
3329         This setting creates more consistent images for LayoutTests and
3330         prevents small floating point errors in texture coordinates from
3331         creating off-by-one pixel color differences.
3332
3333         * platform/graphics/chromium/LayerTilerChromium.cpp:
3334         (WebCore::LayerTilerChromium::update):
3335
3336 2011-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3337
3338         Reviewed by Kent Tamura.
3339
3340         [EFL] Fix coding style errors in RenderThemeEfl.h
3341         https://bugs.webkit.org/show_bug.cgi?id=54693
3342
3343         Fix style errors in RenderThemeEfl.h
3344
3345         * platform/efl/RenderThemeEfl.h:
3346
3347 2011-02-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
3348
3349         Reviewed by Andreas Kling.
3350
3351         [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
3352         https://bugs.webkit.org/show_bug.cgi?id=54742
3353
3354         This change was applied in the Qt repository (qt/src/3rdparty/webkit),
3355         so we should do the same here in QtWebKit.
3356
3357         Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
3358         a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
3359
3360         The previously used name "Nokia, Qt" was not usable for Nokia
3361         Content Signing, which only allows "Nokia" as the visible vendor
3362         name. The unique vendor ID remains as "Nokia, Qt"
3363
3364         * WebCore.pro:
3365
3366 2011-02-18  Alexis Menard  <alexis.menard@openbossa.org>
3367
3368         Reviewed by Andreas Kling.
3369
3370         [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
3371         menu bar due to flash.
3372         https://bugs.webkit.org/show_bug.cgi?id=54741
3373
3374         Only show plugins with a valid size. We then don't involve X11 if there is
3375         nothing to see anyway.
3376
3377         * plugins/qt/PluginViewQt.cpp:
3378         (WebCore::PluginView::updatePluginWidget):
3379         (WebCore::PluginView::platformStart):
3380
3381 2011-02-18  Ryuan Choi  <ryuan.choi@samsung.com>
3382
3383         Reviewed by Kent Tamura.
3384
3385         [EFL] Remove GDK dependency.
3386         https://bugs.webkit.org/show_bug.cgi?id=53978
3387
3388         Remove GLIB_SUPPORT macro in GDK related code.
3389         Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
3390
3391         * CMakeListsEfl.txt:
3392         * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3393         (WebCore::getDefaultFontOptions):
3394
3395 2011-02-18  Noel Gordon  <noel.gordon@gmail.com>
3396
3397         Reviewed by James Robinson.
3398
3399         [Chromium] Add elliptical gradient support to GradientSkia
3400         https://bugs.webkit.org/show_bug.cgi?id=51841
3401
3402         Covered by existing tests, these need new rebaselines once this patch
3403         lands for chrome linux, win32
3404
3405         fast/gradients/css3-color-stop-units.html
3406         fast/gradients/css3-color-stops.html
3407         fast/gradients/css3-linear-angle-gradients.html
3408         fast/gradients/css3-radial-gradients.html
3409         fast/gradients/css3-radial-gradients2.html
3410         fast/gradients/css3-radial-gradients3.html
3411         fast/gradients/css3-repeating-radial-gradients.html
3412
3413         * platform/graphics/skia/GradientSkia.cpp:
3414         (WebCore::Gradient::platformGradient):
3415
3416 2011-02-18  James Robinson  <jamesr@chromium.org>
3417
3418         Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
3419
3420         * platform/graphics/chromium/ContentLayerChromium.cpp:
3421         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
3422
3423 2011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3424
3425         Reviewed by Kenneth Rohde Christiansen.
3426
3427         Tiled backing store area is too big.
3428         Error in area calculcation causes size of backing store
3429         up to 6 times bigger than viewport with default multipliers.
3430         https://bugs.webkit.org/show_bug.cgi?id=54587
3431
3432         * platform/graphics/TiledBackingStore.cpp:
3433         (WebCore::TiledBackingStore::createTiles):
3434
3435 2011-02-18  Beth Dakin  <bdakin@apple.com>
3436
3437         Reviewed by Sam Weinig.
3438
3439         Fix for <rdar://problem/9018729> Horizontal scroller doesn't 
3440         appear when loading a page with a Horizontal scrollbar from 
3441         the back/forward cache.
3442
3443         This patch adds a new  bool member variable to FrameView to 
3444         keep track of whether we are loading a page from the back/
3445         forward cache. If we are, don't suppress scrollbars on 
3446         first layout.
3447         * history/CachedFrame.cpp:
3448         (WebCore::CachedFrameBase::restore):
3449         * page/FrameView.cpp:
3450         (WebCore::FrameView::FrameView):
3451         (WebCore::FrameView::reset):
3452         (WebCore::FrameView::layout):
3453         * page/FrameView.h:
3454         (WebCore::FrameView::setIsRestoringFromBackForward):
3455         (WebCore::FrameView::isRestoringFromBackForward):
3456
3457 2011-02-18  Patrick Gansterer  <paroga@webkit.org>
3458
3459         Unreviewed WinCE build fix for r78846.
3460
3461         * platform/graphics/wince/FontWinCE.cpp:
3462         (WebCore::TextRunComponent::TextRunComponent):
3463         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3464         (WebCore::GraphicsContext::drawLineForText):
3465         (WebCore::GraphicsContext::drawLineForTextChecking):
3466         (WebCore::GraphicsContext::drawText):
3467         * platform/wince/FileChooserWinCE.cpp:
3468         (WebCore::FileChooser::basenameForWidth):
3469
3470 2011-02-18  Emil A Eklund  <eae@chromium.org>
3471
3472         Reviewed by Darin Adler.
3473
3474         Crash in EventHandler::sendContextMenuEventForKey
3475         https://bugs.webkit.org/show_bug.cgi?id=54495
3476
3477         Test: fast/events/menu-keydown-on-hidden-element.html
3478
3479         * page/EventHandler.cpp:
3480         (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
3481
3482 2011-02-15  Adrienne Walker  <enne@google.com>
3483
3484         Reviewed by James Robinson.
3485
3486         [chromium] Clean up shader code from LayerChromium classes
3487         https://bugs.webkit.org/show_bug.cgi?id=54484
3488
3489         This is a refactoring and there should be no change in functionality.
3490         All shader code is pulled out into classes in ShaderChromium.
3491         The SharedValues classes are now turned into ProgramBinding, one per
3492         shader program.  These contain shader classes that know about what
3493         variables they can bind.
3494
3495         * WebCore.gypi:
3496         * platform/graphics/chromium/CanvasLayerChromium.cpp:
3497         (WebCore::CanvasLayerChromium::draw):
3498         * platform/graphics/chromium/CanvasLayerChromium.h:
3499         * platform/graphics/chromium/ContentLayerChromium.cpp:
3500         (WebCore::ContentLayerChromium::draw):
3501         * platform/graphics/chromium/ContentLayerChromium.h:
3502         * platform/graphics/chromium/GeometryBinding.cpp: Added.
3503         (WebCore::GeometryBinding::GeometryBinding):
3504         (WebCore::GeometryBinding::~GeometryBinding):
3505         (WebCore::GeometryBinding::prepareForDraw):
3506         * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
3507         (WebCore::GeometryBinding::initialized):
3508         (WebCore::GeometryBinding::context):
3509         (WebCore::GeometryBinding::quadVerticesVbo):
3510         (WebCore::GeometryBinding::quadElementsVbo):
3511         (WebCore::GeometryBinding::positionAttribLocation):
3512         (WebCore::GeometryBinding::texCoordAttribLocation):
3513         * platform/graphics/chromium/LayerChromium.cpp:
3514         (WebCore::LayerChromium::drawDebugBorder):
3515         * platform/graphics/chromium/LayerChromium.h:
3516         * platform/graphics/chromium/LayerRendererChromium.cpp:
3517         (WebCore::LayerRendererChromium::drawLayers):
3518         (WebCore::LayerRendererChromium::initializeSharedObjects):
3519         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3520         * platform/graphics/chromium/LayerRendererChromium.h:
3521         (WebCore::LayerRendererChromium::sharedGeometry):
3522         (WebCore::LayerRendererChromium::borderProgram):
3523         (WebCore::LayerRendererChromium::contentLayerProgram):
3524         (WebCore::LayerRendererChromium::canvasLayerProgram):
3525         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
3526         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
3527         (WebCore::LayerRendererChromium::pluginLayerProgram):
3528         (WebCore::LayerRendererChromium::renderSurfaceProgram):
3529         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
3530         (WebCore::LayerRendererChromium::tilerProgram):
3531         * platform/graphics/chromium/LayerTilerChromium.cpp:
3532         (WebCore::LayerTilerChromium::draw):
3533         (WebCore::LayerTilerChromium::drawTexturedQuad):
3534         * platform/graphics/chromium/LayerTilerChromium.h:
3535         * platform/graphics/chromium/PluginLayerChromium.cpp:
3536         (WebCore::PluginLayerChromium::draw):
3537         * platform/graphics/chromium/PluginLayerChromium.h:
3538         * platform/graphics/chromium/ProgramBinding.cpp: Added.
3539         (WebCore::ProgramBindingBase::ProgramBindingBase):
3540         (WebCore::ProgramBindingBase::~ProgramBindingBase):
3541         (WebCore::ProgramBindingBase::init):
3542         (WebCore::ProgramBindingBase::loadShader):
3543         (WebCore::ProgramBindingBase::createShaderProgram):
3544         * platform/graphics/chromium/ProgramBinding.h: Added.
3545         (WebCore::ProgramBindingBase::program):
3546         (WebCore::ProgramBindingBase::initialized):
3547         (WebCore::ProgramBinding::ProgramBinding):
3548         (WebCore::ProgramBinding::vertexShader):
3549         (WebCore::ProgramBinding::fragmentShader):
3550         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3551         (WebCore::RenderSurfaceChromium::drawSurface):
3552         * platform/graphics/chromium/RenderSurfaceChromium.h:
3553         * platform/graphics/chromium/ShaderChromium.cpp: Added.
3554         (WebCore::VertexShaderPosTex::VertexShaderPosTex):
3555         (WebCore::VertexShaderPosTex::init):
3556         (WebCore::VertexShaderPosTex::getShaderString):
3557         (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
3558         (WebCore::VertexShaderPosTexYUVStretch::init):
3559         (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
3560         (WebCore::VertexShaderPos::VertexShaderPos):
3561         (WebCore::VertexShaderPos::init):
3562         (WebCore::VertexShaderPos::getShaderString):
3563         (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
3564         (WebCore::VertexShaderPosTexTransform::init):
3565         (WebCore::VertexShaderPosTexTransform::getShaderString):
3566         (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
3567         (WebCore::FragmentTexAlphaBinding::init):
3568         (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
3569         (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
3570         (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
3571         (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
3572         (WebCore::FragmentShaderRGBATexAlphaMask::init):
3573         (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
3574         (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
3575         (WebCore::FragmentShaderYUVVideo::init):
3576         (WebCore::FragmentShaderYUVVideo::getShaderString):
3577         (WebCore::FragmentShaderColor::FragmentShaderColor):
3578         (WebCore::FragmentShaderColor::init):
3579         (WebCore::FragmentShaderColor::getShaderString):
3580         * platform/graphics/chromium/ShaderChromium.h: Added.
3581         (WebCore::VertexShaderPosTex::matrixLocation):
3582         (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
3583         (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
3584         (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
3585         (WebCore::VertexShaderPos::matrixLocation):
3586         (WebCore::VertexShaderPosTexTransform::matrixLocation):
3587         (WebCore::VertexShaderPosTexTransform::texTransformLocation):
3588         (WebCore::FragmentTexAlphaBinding::alphaLocation):
3589         (WebCore::FragmentTexAlphaBinding::samplerLocation):
3590         (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
3591         (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
3592         (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
3593         (WebCore::FragmentShaderYUVVideo::yTextureLocation):
3594         (WebCore::FragmentShaderYUVVideo::uTextureLocation):
3595         (WebCore::FragmentShaderYUVVideo::vTextureLocation):
3596         (WebCore::FragmentShaderYUVVideo::alphaLocation):
3597         (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
3598         (WebCore::FragmentShaderYUVVideo::signAdjLocation):
3599         (WebCore::FragmentShaderColor::colorLocation):
3600         * platform/graphics/chromium/VideoLayerChromium.cpp:
3601         (WebCore::VideoLayerChromium::draw):
3602         (WebCore::VideoLayerChromium::drawYUV):
3603         (WebCore::VideoLayerChromium::drawRGBA):
3604         * platform/graphics/chromium/VideoLayerChromium.h:
3605
3606 2011-02-18  James Robinson  <jamesr@chromium.org>
3607
3608         Reviewed by Kenneth Russell.
3609
3610         [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call
3611         https://bugs.webkit.org/show_bug.cgi?id=54315
3612
3613         This defers all operations on the compositor's GL context until the
3614         draw() call which is a prerequisite for moving the draw() off-thread.
3615         Also cleans up the update cycle a bit - there were some unused local
3616         variables and whatnot.
3617
3618         One consequence of this change is that the upload buffer is retained
3619         across updates now instead of allocated by each paint.  This is
3620         necessary so that the full layer contents can be uploaded if the
3621         texture manager evicts the layer's backing texture.  This costs more
3622         persistent memory but avoids lots of allocator churn on updates.
3623         Another nonobvious detail is that I have to update the texture for
3624         ContentLayerChromiums in bindContentsTexture() because mask layers
3625         never draw(), they are instead bound to the secondary texture unit.
3626
3627         * platform/graphics/chromium/ContentLayerChromium.cpp:
3628         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
3629         (WebCore::ContentLayerChromium::updateContentsIfDirty):
3630         (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
3631         (WebCore::ContentLayerChromium::resizeUploadBuffer):
3632         (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
3633         (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
3634         (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
3635         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
3636         (WebCore::ContentLayerChromium::draw):
3637         (WebCore::ContentLayerChromium::unreserveContentsTexture):
3638         (WebCore::ContentLayerChromium::bindContentsTexture):
3639         * platform/graphics/chromium/ContentLayerChromium.h:
3640         * platform/graphics/chromium/ImageLayerChromium.cpp:
3641         (WebCore::ImageLayerChromium::updateContentsIfDirty):
3642         * platform/graphics/chromium/LayerChromium.cpp:
3643         (WebCore::LayerChromium::setBounds):
3644         * platform/graphics/chromium/LayerChromium.h:
3645
3646 2011-02-18  Kenneth Russell  <kbr@google.com>
3647
3648         Unreviewed, Chromium build fix on certain Linux platforms.
3649
3650         * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
3651
3652 2011-02-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
3653
3654         Reviewed by Kenneth Rohde Christiansen.
3655
3656         [Qt] Implement client based geolocation for qtport
3657         https://bugs.webkit.org/show_bug.cgi?id=42629
3658
3659         Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation
3660
3661         No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
3662
3663         * WebCore.pro:
3664         * features.pri:
3665         * platform/qt/GeolocationServiceQt.cpp: Removed.
3666         * platform/qt/GeolocationServiceQt.h: Removed.
3667
3668 2011-02-18  Yael Aharon  <yael.aharon@nokia.com>
3669
3670         Reviewed by Dave Hyatt.
3671
3672         Add support for dir=auto
3673         https://bugs.webkit.org/show_bug.cgi?id=50916
3674
3675         When an element has dir attribute with value "auto", call defaultWritingMode
3676         to find its directionality.
3677         Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
3678         and check this flag. This flag is set on every node between an element with
3679         dir=auto attribute and its first text node. Changes in the DOM between those
3680         elements will trigger re-evaluating the directionality, but changes not
3681         between those element do not need to be concerned.
3682         The DOM hooks were added to childrenChanged, and to parseMappedAttribute.
3683         The directionality is evaluated when children are added, and cleared when they are
3684         removed. Directionality flag is also cleared on a child that is no longer determining
3685         the directionality due to a sibling being added before that child.
3686
3687         Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
3688         We cannot used the mapped declaration, because it can take only one value.
3689
3690         Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
3691                fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
3692                fast/dom/HTMLElement/attr-dir-auto-change-text.html
3693                fast/dom/HTMLElement/attr-dir-auto-children.html
3694                fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
3695                fast/dom/HTMLElement/attr-dir-auto.html
3696                fast/dom/HTMLElement/attr-dir-value-change.html
3697
3698         * css/CSSStyleSelector.cpp:
3699         (WebCore::leftToRightDeclaration):
3700         (WebCore::rightToLeftDeclaration):
3701         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3702         (WebCore::CSSStyleSelector::styleForElement):
3703         * dom/Node.h:
3704         (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
3705         (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
3706         * html/HTMLElement.cpp:
3707         (WebCore::HTMLElement::mapToEntry):
3708         (WebCore::HTMLElement::parseMappedAttribute):
3709         (WebCore::setHasDirAutoFlagRecursively):
3710         (WebCore::HTMLElement::childrenChanged):
3711         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
3712         (WebCore::HTMLElement::directionality):
3713         (WebCore::HTMLElement::dirAttributeChanged):
3714         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
3715         (WebCore::HTMLElement::calculateAndAdjustDirectionality):
3716         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
3717         * html/HTMLElement.h:
3718
3719 2011-02-18  Yael Aharon  <yael.aharon@nokia.com>
3720
3721         Reviewed by Antonio Gomes.
3722
3723         Navigating downwards / upwards does not focus on the links spread across more than one line.
3724         https://bugs.webkit.org/show_bug.cgi?id=54639
3725
3726         When 2 anchor elements span more than one line each, and one ends on the same line that the
3727         second starts on, the rects reported by their renderers are overlapping. When handling
3728         2 overlapping nodes, check for this case, and don't assume that one of the nodes is on a higher layer.   
3729
3730         Test: fast/spatial-navigation/snav-two-elements-one-line.html
3731
3732         * page/FocusController.cpp:
3733         (WebCore::updateFocusCandidateIfNeeded):
3734         (WebCore::FocusController::findFocusCandidateInContainer):
3735         * page/SpatialNavigation.cpp:
3736         (WebCore::areElementsOnSameLine):
3737         (WebCore::distanceDataForNode):
3738         * page/SpatialNavigation.h:
3739
3740 2011-02-18  Ben Vanik  <benvanik@google.com>
3741
3742         Reviewed by Kenneth Russell.
3743
3744         Bug 53940: Implement the OES_vertex_array_object WebGL extension
3745         https://bugs.webkit.org/show_bug.cgi?id=53940
3746
3747         Initial implementation of the OES_vertex_array_object extension adding the OESVertexArrayObject
3748         extension container and WebGLVertexArrayObjectOES VAO object. The extension is plumbed through
3749         the Extensions3D interface and implemented in the Extensions3DOpenGL (WebKit/OSX) version when
3750         it is available.
3751         Two big changes touching code outside of the extension files:
3752         * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3D.h (modeled after
3753           GraphicsTypes.h). They are not namespaced as they weren't before.
3754         * To make the code cleaner/clearer all vertex attribute state has been moved to the
3755           WebGLVertexArrayObjectOES type (struct VertexAttribState) except for values which are still
3756           on the WebGLRenderingContext. A default VAO is now used to store the existing attribute
3757           states for when no other VAO is used. Code in WebGLRenderingContext dealing with buffers and
3758           vertex attributes now defers to or stores values in the bound array object.
3759
3760         Tested against the WebGL conformance suite and the new
3761         oes-vertex-array-object test:
3762         https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-vertex-array-object.html
3763
3764         * CMakeLists.txt:
3765         * CodeGenerators.pri:
3766         * DerivedSources.make:
3767         * GNUmakefile.am:
3768         * WebCore.gyp: Modified property svn:ignore.
3769         * WebCore.gypi:
3770         * WebCore.pro:
3771         * WebCore.xcodeproj/project.pbxproj:
3772         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3773         (WebCore::toJS):
3774         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3775         (WebCore::toV8Object):
3776         * html/canvas/OESVertexArrayObject.cpp: Added.
3777         (WebCore::OESVertexArrayObject::OESVertexArrayObject):
3778         (WebCore::OESVertexArrayObject::~OESVertexArrayObject):
3779         (WebCore::OESVertexArrayObject::getName):
3780         (WebCore::OESVertexArrayObject::create):
3781         (WebCore::OESVertexArrayObject::createVertexArrayOES):
3782         (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
3783         (WebCore::OESVertexArrayObject::isVertexArrayOES):
3784         (WebCore::OESVertexArrayObject::bindVertexArrayOES):
3785         * html/canvas/OESVertexArrayObject.h: Added.
3786         * html/canvas/OESVertexArrayObject.idl: Added.
3787         * html/canvas/WebGLExtension.h:
3788         * html/canvas/WebGLGetInfo.cpp:
3789         (WebCore::WebGLGetInfo::WebGLGetInfo):
3790         (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
3791         * html/canvas/WebGLGetInfo.h:
3792         * html/canvas/WebGLRenderingContext.cpp:
3793         (WebCore::WebGLRenderingContext::initializeNewContext):
3794         (WebCore::WebGLRenderingContext::bindBuffer):
3795         (WebCore::WebGLRenderingContext::deleteBuffer):
3796         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
3797         (WebCore::WebGLRenderingContext::validateElementArraySize):
3798         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
3799         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
3800         (WebCore::WebGLRenderingContext::validateRenderingState):
3801         (WebCore::WebGLRenderingContext::drawElements):
3802         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
3803         (WebCore::WebGLRenderingContext::getExtension):
3804         (WebCore::WebGLRenderingContext::getParameter):
3805         (WebCore::WebGLRenderingContext::getSupportedExtensions):
3806         (WebCore::WebGLRenderingContext::getVertexAttrib):
3807         (WebCore::WebGLRenderingContext::vertexAttribPointer):
3808         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
3809         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
3810         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
3811         (WebCore::WebGLRenderingContext::initVertexAttrib0):
3812         (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
3813         (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
3814         (WebCore::WebGLRenderingContext::getNumberOfExtensions):
3815         (WebCore::WebGLRenderingContext::getExtensionNumber):
3816         * html/canvas/WebGLRenderingContext.h:
3817         (WebCore::WebGLRenderingContext::getMaxVertexAttribs):
3818         (WebCore::WebGLRenderingContext::setBoundVertexArrayObject):
3819         (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue):
3820         * html/canvas/WebGLVertexArrayObjectOES.cpp: Added.
3821         (WebCore::WebGLVertexArrayObjectOES::create):
3822         (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
3823         (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
3824         * html/canvas/WebGLVertexArrayObjectOES.h: Added.
3825         (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
3826         (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
3827         (WebCore::WebGLVertexArrayObjectOES::isDefaultObject):
3828         (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound):
3829         (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound):
3830         (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer):
3831         (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
3832         (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState):
3833         (WebCore::WebGLVertexArrayObjectOES::isVertexArray):
3834         * html/canvas/WebGLVertexArrayObjectOES.idl: Added.
3835         * platform/graphics/Extensions3D.h:
3836         * platform/graphics/GraphicsContext3D.h:
3837         * platform/graphics/GraphicsTypes3D.h: Added.
3838         * platform/graphics/chromium/Extensions3DChromium.h:
3839         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3840         (WebCore::Extensions3DOpenGL::supports):
3841         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
3842         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
3843         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
3844         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
3845         * platform/graphics/opengl/Extensions3DOpenGL.h:
3846         * platform/graphics/qt/Extensions3DQt.cpp:
3847         (WebCore::Extensions3DQt::createVertexArrayOES):
3848         (WebCore::Extensions3DQt::deleteVertexArrayOES):
3849         (WebCore::Extensions3DQt::isVertexArrayOES):
3850         (WebCore::Extensions3DQt::bindVertexArrayOES):
3851         * platform/graphics/qt/Extensions3DQt.h:
3852
3853 2011-02-17  Alexander Pavlov  <apavlov@chromium.org>
3854
3855         Reviewed by Pavel Feldman.
3856
3857         Web Inspector: reflect changes to styles when they happen outside inspector.
3858         https://bugs.webkit.org/show_bug.cgi?id=44620
3859
3860         Notify InspectorInstrumentation of inline style changes from CSSMutableStyleDeclaration
3861         whenever the style change does not come from a direct "style" attribute modification.
3862         The performance regression occurs only with the Web Inspector opened, when inline styles
3863         are modified through setting style.cssText or style.<styleAttribute>: according to the Web Inspector protocol,
3864         an attribute change requires that all attributes for the node in question be pushed into the frontend.
3865
3866         Test: inspector/styles/styles-update-from-js.html
3867
3868         * css/CSSMutableStyleDeclaration.cpp:
3869         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
3870         * inspector/InspectorDOMAgent.cpp:
3871         (WebCore::RevalidateStyleAttributeTask::reset):
3872         (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
3873         (WebCore::RevalidateStyleAttributeTask::scheduleFor):
3874         (WebCore::RevalidateStyleAttributeTask::onTimer):
3875         (WebCore::InspectorDOMAgent::reset):
3876         (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
3877         * inspector/InspectorDOMAgent.h:
3878         * inspector/InspectorInstrumentation.cpp:
3879         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
3880         * inspector/InspectorInstrumentation.h:
3881         (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
3882         * inspector/InspectorStyleSheet.cpp:
3883         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
3884         (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
3885         (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
3886         * inspector/InspectorStyleSheet.h:
3887         * inspector/front-end/ElementsPanel.js:
3888         (WebInspector.ElementsPanel.prototype._attributesUpdated):
3889         * inspector/front-end/StylesSidebarPane.js:
3890         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
3891         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
3892         (WebInspector.StylePropertiesSection.prototype.onpopulate):
3893         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
3894         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
3895         (WebInspector.BlankStylePropertiesSection):
3896         (WebInspector.StylePropertyTreeElement):
3897         (WebInspector.StylePropertyTreeElement.prototype):
3898         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
3899
3900 2011-02-16  Tony Gentilcore  <tonyg@chromium.org>
3901
3902         Reviewed by Eric Seidel.
3903
3904         Refactor pumpTokenizer loop
3905         https://bugs.webkit.org/show_bug.cgi?id=54574
3906
3907         1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get
3908            the next token, although ASSERTs still enforce that we aren't waiting for a script. This
3909            enables resumeParsingAfterYield() to call pumpTokenizer with no modifications even if we
3910            yield before running a script rather than before taking a token (see bug 54355).
3911         2. This also picks up the refCount >= 1 assert when stopped.
3912
3913         Tested PerformanceTests/Parser to verify no regression. If anything it got faster.
3914         Before:
3915           avg 985.05
3916           median 985.5
3917           stdev 3.007906248539007
3918           min 980
3919           max 990
3920         After:
3921           avg 980.05
3922           median 981
3923           stdev 3.122098653149833
3924           min 974
3925           max 985
3926
3927         No new tests because no new functionality.
3928
3929         * html/parser/HTMLDocumentParser.cpp:
3930         (WebCore::HTMLDocumentParser::canTakeNextToken): Added.
3931         (WebCore::HTMLDocumentParser::pumpTokenizer):
3932         * html/parser/HTMLDocumentParser.h:
3933
3934 2011-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3935
3936         Unreviewed, rolling out r79003.
3937         http://trac.webkit.org/changeset/79003
3938         https://bugs.webkit.org/show_bug.cgi?id=54753
3939
3940         It broke tests on GTK bots (Requested by Ossy on #webkit).
3941
3942         * accessibility/AccessibilityRenderObject.cpp:
3943         (WebCore::lastChildConsideringContinuation):
3944         * dom/Node.cpp:
3945         (WebCore::Node::removeEventListener):
3946         * html/DateComponents.cpp:
3947         (WebCore::DateComponents::parseTime):
3948
3949 2011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
3950
3951         Rubber-stamped by Andreas Kling.
3952
3953         Warning fix. Use ASSERT_UNUSED() instead of ASSERT().
3954
3955         * accessibility/AccessibilityRenderObject.cpp:
3956         (WebCore::lastChildConsideringContinuation):
3957         * dom/Node.cpp:
3958         (WebCore::Node::removeEventListener):
3959         * html/DateComponents.cpp:
3960         (WebCore::DateComponents::parseTime):
3961
3962 2011-02-18  Andrey Adaikin  <aandrey@google.com>
3963
3964         Reviewed by Pavel Feldman.
3965
3966         Web Inspector: [Text editor] Optimize editing updates in main panel
3967         https://bugs.webkit.org/show_bug.cgi?id=54661
3968
3969         * inspector/front-end/TextViewer.js:
3970         (WebInspector.TextViewer):
3971         (WebInspector.TextViewer.prototype._textChanged):
3972         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
3973         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
3974         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
3975         (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
3976         (WebInspector.TextEditorChunkedPanel.prototype._scroll):
3977         (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
3978         (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
3979         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
3980         (WebInspector.TextEditorGutterChunk):
3981         (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
3982         (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
3983         (WebInspector.TextEditorMainPanel):
3984         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
3985         (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
3986         (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines):
3987         (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines):
3988         (WebInspector.TextEditorMainPanel.prototype._paintLines):
3989         (WebInspector.TextEditorMainPanel.prototype._paintLine):
3990         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
3991         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
3992         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
3993         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
3994         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
3995         (WebInspector.TextEditorMainChunk):
3996         (WebInspector.TextEditorMainChunk.prototype.get startLine):
3997         (WebInspector.TextEditorMainChunk.prototype.set startLine):
3998         (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
3999         (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
4000
4001 2011-02-18  Steve Block  <steveblock@google.com>
4002
4003         Reviewed by Andreas Kling
4004
4005         Memory allocation error in convertV8ObjectToNPVariant() for strings
4006         https://bugs.webkit.org/show_bug.cgi?id=54737
4007
4008         Include the termination character in the length when allocating memory
4009         and copying the string. This fixes a crashing bug on Android.
4010
4011         This should be tested by the java/ tests on Chromium, but these
4012         tests are currently skipped.
4013
4014         * bindings/v8/V8NPUtils.cpp:
4015         (WebCore::convertV8ObjectToNPVariant):
4016
4017 2011-02-18  Philippe Normand  <pnormand@igalia.com>
4018
4019         Unreviewed, rolling out r78979.
4020         http://trac.webkit.org/changeset/78979
4021         https://bugs.webkit.org/show_bug.cgi?id=53146
4022
4023         causes multiple crashes on GTK
4024
4025         * accessibility/gtk/AXObjectCacheAtk.cpp:
4026         (WebCore::notifyChildrenSelectionChange):
4027         (WebCore::AXObjectCache::postPlatformNotification):
4028
4029 2011-02-18  Philippe Normand  <pnormand@igalia.com>
4030
4031         Reviewed by Martin Robinson.
4032
4033         [GTK] minimal build unrecognized options
4034         https://bugs.webkit.org/show_bug.cgi?id=50890
4035
4036         * GNUmakefile.am: new feature defines for optional features build.
4037
4038 2011-02-17  Hans Wennborg  <hans@chromium.org>
4039
4040         Reviewed by Jeremy Orlow.
4041
4042         IndexedDB: Populate indexes created for object stores with data
4043         https://bugs.webkit.org/show_bug.cgi?id=54669
4044
4045         Make sure that indices for object stores that already hold data get
4046         populated.
4047
4048         * storage/IDBIndexBackendImpl.h:
4049         (WebCore::IDBIndexBackendImpl::hasValidId):
4050         * storage/IDBObjectStoreBackendImpl.cpp:
4051         (WebCore::IDBObjectStoreBackendImpl::putInternal):
4052         (WebCore::populateIndex):
4053         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
4054
4055 2011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
4056
4057         Reviewed by Martin Robinson.
4058
4059         [GTK] Combo boxes should emit object:selection-changed even when collapsed
4060         https://bugs.webkit.org/show_bug.cgi?id=53146
4061
4062         Emit the selection-changed signals when the menu list value has changed
4063
4064         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
4065
4066         * accessibility/gtk/AXObjectCacheAtk.cpp:
4067         (WebCore::getListObject): New, return the right list object for