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