2011-03-15 Ilya Tikhonovsky <loislo@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Unreviewed build fix.
4
5         Chromium: shared lib linux build are failing.
6
7         Two exclude rules for LocalizedNumberNone and TextEncodingDetectorNone were added to the wrong library.
8         It was webcore_remaining instead of webcore_platform.
9
10         * WebCore.gyp/WebCore.gyp:
11
12 2011-03-15  Yury Semikhatsky  <yurys@chromium.org>
13
14         Reviewed by Pavel Feldman.
15
16         Web Inspector: expanding/collapsing object shouldn&apos;t affect outer console.group expansion state
17         https://bugs.webkit.org/show_bug.cgi?id=56373
18
19         * inspector/front-end/Section.js:
20         (WebInspector.Section):
21         (WebInspector.Section.prototype.toggleExpanded):
22         (WebInspector.Section.prototype.handleClick): stop click even propagation if it was handled by this section.
23
24 2011-03-15  Pavel Feldman  <pfeldman@chromium.org>
25
26         Reviewed by Yury Semikhatsky.
27
28         Web Inspector: crash upon "//html//@id" search in elements panel.
29         https://bugs.webkit.org/show_bug.cgi?id=56334
30
31         * inspector/InspectorDOMAgent.cpp:
32         * inspector/front-end/ElementsTreeOutline.js:
33
34 2011-03-15  Andrey Kosyakov  <caseq@chromium.org>
35
36         Reviewed by Yury Semikhatsky.
37
38         Web Inspector: further extension API cleanup (removed inspectedPage, add experimental prefix)
39         https://bugs.webkit.org/show_bug.cgi?id=56327
40
41         * inspector/front-end/ExtensionAPI.js:
42         (WebInspector.injectedExtensionAPI):
43         * inspector/front-end/ExtensionAPISchema.json:
44
45 2011-03-15  Yury Semikhatsky  <yurys@chromium.org>
46
47         Reviewed by Pavel Feldman.
48
49         Web Inspector: when console.groupEnd calls twice
50         https://bugs.webkit.org/show_bug.cgi?id=56114
51
52         Test: inspector/console/console-nested-group.html
53
54         * inspector/ConsoleMessage.h:
55         (WebCore::ConsoleMessage::type):
56         * inspector/InspectorConsoleAgent.cpp:
57         (WebCore::InspectorConsoleAgent::addConsoleMessage): do not coalesce adjacent EndGroup messages.
58
59 2011-03-15  Chris Mumford  <chris.mumford@palm.com>
60
61         Reviewed by Adam Barth.
62
63         Initializing several member variables that were not initialized in
64         their constructors. These values were all read prior to initialization
65         as reported by Valgrind.
66
67         No new tests: No feature additions/removals.
68
69         * accessibility/AccessibilityImageMapLink.cpp:
70         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
71         * editing/DeleteSelectionCommand.cpp:
72         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
73         * html/HTMLCanvasElement.cpp:
74         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
75         * xml/XPathResult.cpp:
76         (WebCore::XPathResult::XPathResult):
77
78 2011-03-15  Ben Taylor  <bentaylor.solx86@gmail.com>
79
80         Reviewed by Adam Barth.
81
82         https://bugs.webkit.org/show_bug.cgi?id=56255
83         Fix build on Solaris 10/Sun Studio 12 C++
84
85         No new tests. This is to fix compilation on Solaris 10 with Sun Studio 12 C++
86
87         * bridge/runtime_array.h:
88         (JSC::RuntimeArray::getConcreteArray):
89
90 2011-03-14  Sam Weinig  <sam@webkit.org>
91
92         Reviewed by Adam Roben
93
94         about:blank fake responses don't get serialized when sent the UIProcess
95         <rdar://problem/9108119>
96         https://bugs.webkit.org/show_bug.cgi?id=56357
97
98         Test: AboutBlankLoad
99
100         * platform/network/cf/ResourceResponse.h:
101         * platform/network/cf/ResourceResponseCFNet.cpp:
102         (WebCore::ResourceResponse::cfURLResponse):
103         Create a CFURLResponseRef if one does not exist yet as we do for
104         NSURLResponses on the mac.
105
106 2011-03-14  Alexis Menard  <alexis.menard@openbossa.org>
107
108         Reviewed by Kenneth Rohde Christiansen.
109
110         [Qt] Seeking videos using the timeline bar does not work properly and stop the video playback.
111         https://bugs.webkit.org/show_bug.cgi?id=56145
112
113         We do not need seekTimeout and queuedSeekTimeout anymore. setPosition on QMediaPlayer is good enough.
114         positionChanged() will be emitted when the data is buffered. On Linux the signal was not emitted because
115         of a bug in QtMultimedia.
116
117         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
118         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
119         (WebCore::MediaPlayerPrivateQt::seek):
120         (WebCore::MediaPlayerPrivateQt::stateChanged):
121         (WebCore::MediaPlayerPrivateQt::positionChanged):
122         * platform/graphics/qt/MediaPlayerPrivateQt.h:
123
124 2011-03-14  Alexey Proskuryakov  <ap@apple.com>
125
126         Reviewed by Adam Roben.
127
128         https://bugs.webkit.org/show_bug.cgi?id=44138
129         Crash beneath SocketStreamHandle::readStreamCallback when running websocket/tests/workers/worker-handshake-challenge-randomness.html
130
131         https://bugs.webkit.org/show_bug.cgi?id=55375
132         http/tests/websocket/tests/reload-crash.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
133
134         https://bugs.webkit.org/show_bug.cgi?id=56185
135         http/tests/websocket/tests/url-with-credential.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
136
137         * platform/network/cf/SocketStreamHandle.h: Made SocketStreamHandle ThreadSafeShared, so that
138         a pointer can be passed across threads when wrapped in a RefPtr.
139
140         * platform/network/cf/SocketStreamHandleCFNet.cpp: Make sure that an object still exists
141         when executing a method on main thread by using RefPtr.
142
143 2011-03-14  Sam Weinig  <sam@webkit.org>
144
145         Mac build fix. Part 1 of N.
146
147         * WebCore.exp.in:
148
149 2011-03-14  Joseph Pecoraro  <joepeck@webkit.org>
150
151         Reviewed by Eric Carlson.
152
153         Stalled media elements don't stop delaying the load event
154         https://bugs.webkit.org/show_bug.cgi?id=56316
155
156         We should stop delaying the load event when the load has
157         stalled naturally, or if we require a user gesture to
158         continue the load.
159
160         Test: http/tests/media/video-play-stall-before-meta-data.html
161
162         * html/HTMLMediaElement.cpp:
163         (WebCore::HTMLMediaElement::setNetworkState): when suspending, stop delaying.
164         (WebCore::HTMLMediaElement::progressEventTimerFired): when stalling, stop delaying.
165
166 2011-03-13  MORITA Hajime  <morrita@google.com>
167
168         Reviewed by Tony Chang.
169
170         Crash when dragging and dropping in a document with an invalid XHTML header
171         https://bugs.webkit.org/show_bug.cgi?id=48799
172
173         DragController tried to dispatch textInput event even when the
174         drag destination is not the editable area.
175         This change skips the event dispatching on that case.
176         
177         Test: editing/pasteboard/drop-file-svg.html
178
179         * page/DragController.cpp:
180         (WebCore::DragController::dispatchTextInputEventFor):
181         (WebCore::DragController::concludeEditDrag):
182
183 2011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
184
185         Unreviewed, rolling out r81094.
186         http://trac.webkit.org/changeset/81094
187         https://bugs.webkit.org/show_bug.cgi?id=56355
188
189         Broke the chromium DRT related build. (Requested by dave_levin
190         on #webkit).
191
192         * WebCore.exp.in:
193         * WebCore.order:
194         * page/Frame.cpp:
195         (WebCore::Frame::layerTreeAsText):
196         * page/Frame.h:
197         * rendering/RenderLayerCompositor.cpp:
198         (WebCore::RenderLayerCompositor::layerTreeAsText):
199         * rendering/RenderLayerCompositor.h:
200
201 2011-03-14  Adam Barth  <abarth@webkit.org>
202
203         Apparently we need to exclude DefaultSharedWorkerRepository.cpp from
204         the Chromium build, otherwise the objects visible in the global scope
205         change.
206
207         * WebCore.gyp/WebCore.gyp:
208
209 2011-03-14  Adam Barth  <abarth@webkit.org>
210
211         Attempted Chromium build fix.  Exclude AllInOne harder.
212
213         * WebCore.gyp/WebCore.gyp:
214
215 2011-03-14  Ryosuke Niwa  <rniwa@webkit.org>
216
217         Reviewed by Darin Adler.
218
219         EventHandler calls shouldChangeSelection needlessly
220         https://bugs.webkit.org/show_bug.cgi?id=56324
221
222         Extracted setSelectionIfNeeded and setNonDirectionalSelectionIfNeeded and
223         avoided calling shouldChangeSelection and setSelection when the existing
224         selection is identical to that of new selection.
225
226         * page/EventHandler.cpp:
227         (WebCore::setSelectionIfNeeded): Extracted.
228         (WebCore::setNonDirectionalSelectionIfNeeded): Extracted.
229         (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls a helper function above.
230         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
231         (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
232         (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
233         (WebCore::EventHandler::updateSelectionForMouseDrag): Ditto.
234         (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
235
236 2011-03-14  Daniel Sievers  <sievers@google.com>
237
238         Reviewed by Simon Fraser.
239
240         [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
241         https://bugs.webkit.org/show_bug.cgi?id=56139
242
243         * WebCore.exp.in:
244         * WebCore.order:
245         * page/Frame.cpp:
246         (WebCore::Frame::layerTreeAsText):
247         * page/Frame.h:
248         * rendering/RenderLayerCompositor.cpp:
249         (WebCore::RenderLayerCompositor::layerTreeAsText):
250         * rendering/RenderLayerCompositor.h:
251
252 2011-03-14  Adam Barth  <abarth@webkit.org>
253
254         Reviewed by Dimitri Glazkov.
255
256         Add remaining files to WebCore.gypi
257         https://bugs.webkit.org/show_bug.cgi?id=56351
258
259         Adding the remaining files to WebCore.gypi required updating the
260         include/exclude lists in WebCore.gyp.  These lists aren't overly
261         elegant, but we can try to improve them in the future.
262
263         * WebCore.gyp/WebCore.gyp:
264         * WebCore.gypi:
265         * bindings/v8/ScriptCachedFrameData.cpp:
266             - Added ifdefs to this file to match the header.
267         * platform/graphics/WOFFFileFormat.cpp:
268             - Fixed build error when compiling without ENABLE(OPENTYPE_SANITIZER).
269
270 2011-03-14  Anton Muhin  <antonm@chromium.org>
271
272         Reviewed by Adam Barth.
273
274         [v8] Rework object group building.
275         https://bugs.webkit.org/show_bug.cgi?id=55399
276
277         Instead of going top-down (from owner to owned elements), go up---from objects
278         to their group ids.  That fits better to v8's object grouping model and guarantees
279         that each wrapper belongs to the single group.
280
281         Alas, this cannot be implemented for one kind of objects---CSSProperties.
282
283         Part of core GC algorithm and tested extensively by exisiting layout tests.
284
285         * bindings/scripts/CodeGeneratorV8.pm:
286         * bindings/scripts/test/V8/V8TestInterface.cpp:
287         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
288         * bindings/scripts/test/V8/V8TestObj.cpp:
289         * bindings/v8/V8GCController.cpp:
290         (WebCore::calculateGroupId):
291         (WebCore::calculateRootStyleSheet):
292         (WebCore::GrouperVisitor::visitDOMWrapper):
293         (WebCore::GrouperVisitor::applyGrouping):
294         (WebCore::V8GCController::gcPrologue):
295         * bindings/v8/WrapperTypeInfo.h:
296         (WebCore::WrapperTypeInfo::isSubclass):
297         * css/CSSRuleList.h:
298         (WebCore::CSSRuleList::styleList):
299         * css/StyleSheetList.h:
300         (WebCore::StyleSheetList::document):
301
302 2011-03-14  Kent Tamura  <tkent@chromium.org>
303
304         Reviewed by James Robinson.
305
306         Assertion failure by form validation message for <select required> with float:left
307         https://bugs.webkit.org/show_bug.cgi?id=55995
308
309         Test: fast/forms/interactive-validation-select-crash.html
310
311         * rendering/RenderBlock.cpp:
312         (WebCore::canMergeContiguousAnonymousBlocks):
313           isAnonymousBlock() doesn't mean it is a RenderBlock. We need to check isRenderBlock().
314
315 2011-03-14  Balazs Kelemen  <kbalazs@webkit.org>
316
317         Reviewed by Adam Roben.
318
319         [Qt][WK2]Unbreak InjectedBundle on Qt
320         https://bugs.webkit.org/show_bug.cgi?id=54109
321
322         No code changes so no new tests.
323
324         Revert the changes that were needed to use KURL
325         in WebKitTestRunner.
326
327         * Configurations/WebCore.xcconfig:
328         * WebCore.exp.in:
329
330 2011-03-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
331
332         Reviewed by Kenneth Rohde Christiansen.
333
334         [Qt] Compilation fails with --3d-canvas 
335         https://bugs.webkit.org/show_bug.cgi?id=55964
336
337         * WebCore.pro:
338         * platform/graphics/qt/Extensions3DQt.cpp:
339
340 2011-03-14  Brian Weinstein  <bweinstein@apple.com>
341
342         Reviewed by Adam Roben and Gavin Barraclough.
343
344         FileSystemWin.cpp needs listDirectory() implementation
345         https://bugs.webkit.org/show_bug.cgi?id=56331
346         <rdar://problem/9126635>
347         
348         Move PathWalker from an inline class in WebKit2 to its own class in WebCore,
349         so it can be used from both WebCore and WebKit2.
350         
351         Implement FileSystemWin::listDirectory using PathWalker to populate the Vector
352         of paths matching the passed in pattern.
353
354         * WebCore.vcproj/WebCore.vcproj:
355         * platform/win/FileSystemWin.cpp:
356         (WebCore::listDirectory): Call through to PathWalker.
357         * platform/win/PathWalker.cpp: Added.
358         (WebCore::PathWalker::PathWalker): Moved from WebKit2. Added a second argument
359             for the pattern to pass to the Windows File APIs.
360         (WebCore::PathWalker::~PathWalker): Moved from WebKit2.
361         (WebCore::PathWalker::isValid): Ditto.
362         (WebCore::PathWalker::data): Ditto.
363         (WebCore::PathWalker::step): Ditto.
364         * platform/win/PathWalker.h: Added.
365
366 2011-03-14  Brady Eidson  <beidson@apple.com>
367
368         Reviewed by Anders Carlsson.
369
370         https://bugs.webkit.org/show_bug.cgi?id=56320
371         Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()"
372
373         Remove HistoryItem::icon():
374         * history/HistoryItem.cpp:
375         * history/HistoryItem.h:
376         * WebCore.exp.in:
377
378         * loader/icon/IconDatabaseBase.h:
379         (WebCore::IconDatabaseBase::defaultIcon):
380
381 2011-03-14  Andy Estes  <aestes@apple.com>
382
383         Reviewed by Darin Adler.
384
385         Timer-based events should inherit the user gesture state of their
386         originating event in certain cases.
387         https://bugs.webkit.org/show_bug.cgi?id=55104
388
389         If a timer is installed by a gesture-originated event and will fire
390         within one second, the timer-initiated event should behave as if it
391         were also initiated by a user gesture. Multi-shot timers should only
392         get this behavior on their first execution. Nested timers should not
393         get this behavior. This makes us compatible with Gecko when handling
394         popups and file chooser dialogs created from timer events.
395
396         Test: fast/events/popup-blocking-timers.html
397
398         * page/DOMTimer.cpp:
399         (WebCore::timeoutId): Create a helper function so that m_timeoutId can
400         be initialized in the data member initialization list.
401         (WebCore::shouldForwardUserGesture): Ditto, but for
402         m_shouldForwardUserGesture.
403         (WebCore::DOMTimer::DOMTimer): Move initialization of data members from
404         the ctor body to the data member initialization list. Also rename the
405         argument 'timeout' to 'interval'.
406         (WebCore::DOMTimer::fired): Create a UserGestureIndicator and set its
407         state based on the value of m_shouldForwardUserGesture.
408         (WebCore::DOMTimer::adjustMinimumTimerInterval): m_originalTimeout was
409         renamed to m_originalInterval.
410         * page/DOMTimer.h: Add m_shouldForwardUserGesture and rename
411         m_originalTimeout to m_originalInterval.
412
413 2011-03-09  Levi Weintraub  <leviw@chromium.org>
414
415         Reviewed by Ryosuke Niwa.
416
417         Deleting content directly following a button inserts an unnecessary placeholder
418         https://bugs.webkit.org/show_bug.cgi?id=56053
419
420         Fixing a use of Node's enclosingBlockFlowElement with enclosingBlock htmlediting's
421         enclosingBlock, as enclosingBlockFlowElement would return inline-block elements despite
422         DeleteSelectionCommand treating them as blockflow.
423
424         Test: editing/deleting/delete-inserts-br-after-button.html
425
426         * editing/DeleteSelectionCommand.cpp:
427         (WebCore::DeleteSelectionCommand::mergeParagraphs):
428
429 2011-03-14  David Hyatt  <hyatt@apple.com>
430
431         Reviewed by Dan Bernstein.
432
433         https://bugs.webkit.org/show_bug.cgi?id=45164
434
435         REGRESSION: <a><img align=top></a> Clickable area too large
436         
437         Make sure to clamp hit testing of quirky inline flow boxes the same way we already clamped
438         painting.
439
440         * rendering/InlineFlowBox.cpp:
441         (WebCore::InlineFlowBox::nodeAtPoint):
442
443 2011-03-14  Chris Marrin  <cmarrin@apple.com>
444
445         Reviewed by Adam Roben.
446
447         REGRESSION (r75138-r75503): Animations on Apple HTML5 Gallery demo are wrong
448         https://bugs.webkit.org/show_bug.cgi?id=52845
449
450         The lastCommitTime() value in CACFLayerTreeHost was returning as the time
451         the render previous to this one happened. That often made it seem like
452         animations started more in the past than they did, breaking many animations.
453         The startAnimations() call actually fires from a CACF callback after all the
454         WebKit content has been rendered. So sending currentTime as the start time
455         to the animations is close enough for proper synchronization.
456
457         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
458         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
459
460 2011-03-11  Ryosuke Niwa  <rniwa@webkit.org>
461
462         Reviewed by Tony Chang.
463
464         Selection uses first mousemove's localRect instead of that of mousedown
465         https://bugs.webkit.org/show_bug.cgi?id=56213
466
467         Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent
468         using the mouse coordinates of the mousedown event that started the drag.
469
470         Test: editing/selection/drag-select-rapidly.html
471
472         * page/EventHandler.cpp:
473         (WebCore::EventHandler::handleMouseDraggedEvent):
474
475 2011-03-14  Mark Rowe  <mrowe@apple.com>
476
477         Reviewed by Timothy Hatcher.
478
479         Apply a large, blunt object directly to the skull of the Leopard build.
480
481         * Configurations/Base.xcconfig: Disable the generation of debugging symbols when
482         building the Debug configuration on Leopard. This should cut the size of the object
483         files that the linker needs to process by over 85%. This will hopefully allow them
484         to fit in to the 32-bit address space of the Leopard linker.
485
486 2011-03-14  David Hyatt  <hyatt@apple.com>
487
488         Reviewed by Beth Dakin.
489
490         https://bugs.webkit.org/show_bug.cgi?id=56246
491         
492         Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
493         for offsetLeft, and add new tests to demonstrate that relative positioning works.
494
495         * css/CSSStyleSelector.cpp:
496         (WebCore::CSSStyleSelector::adjustRenderStyle):
497         * rendering/RenderObject.cpp:
498         (WebCore::RenderObject::offsetParent):
499         * rendering/RenderObject.h:
500         (WebCore::RenderObject::isRelPositioned):
501         * rendering/RenderTableCell.h:
502         * rendering/style/RenderStyle.h:
503         * rendering/style/StyleRareNonInheritedData.cpp:
504         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
505         (WebCore::StyleRareNonInheritedData::operator==):
506         * rendering/style/StyleRareNonInheritedData.h:
507
508 2011-03-14  David Hyatt  <hyatt@apple.com>
509
510         Reviewed by Beth Dakin.
511
512         Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230.  Go back to repainting the root
513         layer, since first layouts and printing mess up otherwise.
514
515         * page/FrameView.cpp:
516         (WebCore::FrameView::layout):
517
518 2011-03-11  David Hyatt  <hyatt@apple.com>
519
520         Reviewed by Simon Fraser.
521
522         Clean up full repainting of layers during layout and at other times.  Platforms that did not do an invalidation on
523         size changes were incorrectly relying on the DoFullRepaint case of RenderLayer::updateLayerPositions to invalidate
524         for them. However this code is now wrong, since it assumed that the outermost layer was a RenderView that encompassed
525         all of the child layers.  This is no longer the case since the overflow changes that tightened up visual overflow
526         and limited that overflow only to content that the layer painted.
527         
528         Eliminate the DoFullRepaint flag and actually make no repainting of any kind happen from the layer code if FrameView's
529         m_doFullRepaint boolean is set.  This will flush out any ports that aren't just invalidating the world on their
530         own in response to view resizes or fixed layout size changes and force them to fix things to be consistent with
531         the other ports.
532         
533         Make the two dynamic calls to updateLayerPositions still do a full repaint by setting the repaint flag on the layer.
534         I'm suspicious as to the correctness of the repainting in both of these cases (both before and after this patch),
535         but the behavior should be the same.
536         
537         No new tests, since this is untestable on ports that invalidate on a resize.
538
539         * page/FrameView.cpp:
540         (WebCore::FrameView::layout):
541         * rendering/RenderBoxModelObject.cpp:
542         (WebCore::RenderBoxModelObject::styleDidChange):
543         * rendering/RenderLayer.cpp:
544         (WebCore::RenderLayer::updateLayerPositions):
545         (WebCore::RenderLayer::removeOnlyThisLayer):
546         * rendering/RenderLayer.h:
547
548 2011-03-11  Oliver Hunt  <oliver@apple.com>
549
550         Reviewed by Gavin Barraclough.
551
552         Ensure all values are correctly tagged in the registerfile
553         https://bugs.webkit.org/show_bug.cgi?id=56214
554
555         Make sure everything builds still.
556
557         * bridge/c/c_class.cpp:
558         * bridge/c/c_runtime.cpp:
559         * bridge/jni/JavaMethod.cpp:
560         * plugins/PluginViewNone.cpp:
561
562 2011-03-14  Luiz Agostini  <luiz.agostini@openbossa.org>
563
564         Unreviewed build fix for r81035.
565
566         * html/HTMLDetailsElement.cpp:
567         (WebCore::HTMLDetailsElement::defaultEventHandler):
568         * rendering/RenderDetailsMarker.cpp:
569         (WebCore::createDownArrowPath):
570         (WebCore::createUpArrowPath):
571         (WebCore::createLeftArrowPath):
572         (WebCore::createRightArrowPath):
573
574 2011-03-13  Jer Noble  <jer.noble@apple.com>
575
576         FullScreen: Handle entering full screen security restrictions
577         https://bugs.webkit.org/show_bug.cgi?id=56264
578
579         Tests: fullscreen/full-screen-iframe-allowed.html
580                fullscreen/full-screen-iframe-not-allowed.html
581
582         Disable full screen documents in the following conditions:
583         1) requesting element is in an iframe which does not have a
584         webkitallowfullscreen attribute.
585         2) page is not processing a user gesture.
586
587         * dom/Document.cpp:
588         (WebCore::Document::fullScreenIsAllowedForElement): Added.  Checks
589             to see if elements contained in IFRAMES are allowed to
590             enter full screen.
591         (WebCore::Document::webkitRequestFullScreenForElement): Checks
592             if page is currently processing a user gesture.
593         * dom/Document.h:
594         * html/HTMLAttributeNames.in: Added webkitallowfullscreenAttr.
595         * html/HTMLFrameElementBase.cpp:
596         (WebCore::HTMLFrameElementBase::allowFullScreen): Added.
597         * html/HTMLFrameElementBase.h:
598
599 2011-03-14  Anton D'Auria  <adauria@apple.com>
600
601         Reviewed by David Levin.
602
603         REGRESSION(r80892): Use of uninitialized variable "m_syncCloseDatabase" in StorageAreaSync::sync
604         https://bugs.webkit.org/show_bug.cgi?id=56303
605
606         Initialized m_syncCloseDatabase to false in the StorageAreaSync constructor.
607
608         * storage/StorageAreaSync.cpp:
609         (WebCore::StorageAreaSync::StorageAreaSync):
610
611 2011-03-14  Steve Block  <steveblock@google.com>
612
613         Reviewed by Oliver Hunt.
614
615         JavaMethod.cpp does not compile with V8
616         https://bugs.webkit.org/show_bug.cgi?id=56306
617
618         Moved the ScopeChain.h include to JavaStringJSC.
619
620         No new tests, build fix only.
621
622         * bridge/jni/JavaMethod.cpp:
623         * bridge/jni/jsc/JavaStringJSC.h
624
625 2011-02-28  Luiz Agostini  <luiz.agostini@openbossa.org>
626
627         Reviewed by Dave Hyatt.
628
629         HTML5 <details> and <summary>: rendering
630         https://bugs.webkit.org/show_bug.cgi?id=51071
631
632         Tests: fast/html/details-add-summary-1-and-click.html
633                fast/html/details-add-summary-1.html
634                fast/html/details-add-summary-10-and-click.html
635                fast/html/details-add-summary-10.html
636                fast/html/details-add-summary-2-and-click.html
637                fast/html/details-add-summary-2.html
638                fast/html/details-add-summary-3-and-click.html
639                fast/html/details-add-summary-3.html
640                fast/html/details-add-summary-4-and-click.html
641                fast/html/details-add-summary-4.html
642                fast/html/details-add-summary-5-and-click.html
643                fast/html/details-add-summary-5.html
644                fast/html/details-add-summary-6-and-click.html
645                fast/html/details-add-summary-6.html
646                fast/html/details-add-summary-7-and-click.html
647                fast/html/details-add-summary-7.html
648                fast/html/details-add-summary-8-and-click.html
649                fast/html/details-add-summary-8.html
650                fast/html/details-add-summary-9-and-click.html
651                fast/html/details-add-summary-9.html
652                fast/html/details-mouse-click.html
653                fast/html/details-no-summary1.html
654                fast/html/details-no-summary2.html
655                fast/html/details-no-summary3.html
656                fast/html/details-no-summary4.html
657                fast/html/details-open-javascript.html
658                fast/html/details-open1.html
659                fast/html/details-open2.html
660                fast/html/details-open3.html
661                fast/html/details-open4.html
662                fast/html/details-open5.html
663                fast/html/details-open6.html
664                fast/html/details-position.html
665                fast/html/details-remove-summary-1-and-click.html
666                fast/html/details-remove-summary-1.html
667                fast/html/details-remove-summary-2-and-click.html
668                fast/html/details-remove-summary-2.html
669                fast/html/details-remove-summary-3-and-click.html
670                fast/html/details-remove-summary-3.html
671                fast/html/details-remove-summary-4-and-click.html
672                fast/html/details-remove-summary-4.html
673                fast/html/details-remove-summary-5-and-click.html
674                fast/html/details-remove-summary-5.html
675                fast/html/details-remove-summary-6-and-click.html
676                fast/html/details-remove-summary-6.html
677                fast/html/details-writing-mode.html
678
679         http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
680
681         The main <summary> element is the first <summary> element of a <details> element.
682         All other childs of the <details> element are rendered only if the attribute 'open' is set.
683         Click event toggles the 'open' attribute.
684
685         * html/HTMLDetailsElement.cpp:
686         (WebCore::HTMLDetailsElement::HTMLDetailsElement):
687         (WebCore::HTMLDetailsElement::findMainSummary):
688         (WebCore::HTMLDetailsElement::childrenChanged):
689         (WebCore::HTMLDetailsElement::finishParsingChildren):
690         (WebCore::HTMLDetailsElement::parseMappedAttribute):
691         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
692         (WebCore::HTMLDetailsElement::defaultEventHandler):
693         * html/HTMLDetailsElement.h:
694         (WebCore::HTMLDetailsElement::mainSummary):
695
696         Method createRenderer added to class HTMLSummaryElement.
697
698         * html/HTMLSummaryElement.cpp:
699         (WebCore::HTMLSummaryElement::createRenderer):
700         * html/HTMLSummaryElement.h:
701
702         The first <summary> element is positioned at the top of its <details> parent.
703         The area occupied by this main <summary> element is the interactive area of the
704         <details> element. If the <details> tag has no <summary> child an OwnedSummaryRenderer
705         is created and added to the corresponding RenderDetails object.
706
707         * rendering/RenderDetails.cpp:
708         (WebCore::RenderDetails::RenderDetails):
709         (WebCore::RenderDetails::destroy):
710         (WebCore::RenderDetails::summaryBlock):
711         (WebCore::RenderDetails::contentBlock):
712         (WebCore::RenderDetails::addChild):
713         (WebCore::RenderDetails::removeChild):
714         (WebCore::RenderDetails::setMarkerStyle):
715         (WebCore::RenderDetails::styleDidChange):
716         (WebCore::RenderDetails::getRenderPosition):
717         (WebCore::RenderDetails::markerDestroyed):
718         (WebCore::RenderDetails::summaryDestroyed):
719         (WebCore::RenderDetails::moveSummaryToContents):
720         (WebCore::RenderDetails::createSummaryStyle):
721         (WebCore::RenderDetails::replaceMainSummary):
722         (WebCore::RenderDetails::createDefaultSummary):
723         (WebCore::RenderDetails::checkMainSummary):
724         (WebCore::RenderDetails::layout):
725         (WebCore::RenderDetails::isOpen):
726         (WebCore::RenderDetails::getParentOfFirstLineBox):
727         (WebCore::RenderDetails::firstNonMarkerChild):
728         (WebCore::RenderDetails::updateMarkerLocation):
729         * rendering/RenderDetails.h:
730         (WebCore::RenderDetails::interactiveArea):
731         (WebCore::RenderDetails::removeLeftoverAnonymousBlock):
732         (WebCore::RenderDetails::createsAnonymousWrapper):
733         (WebCore::RenderDetails::requiresForcedStyleRecalcPropagation):
734
735         A marker is added to the main <summary> element to indicate the current value of the 'open'
736         attribute of the <details> element.
737
738         * rendering/RenderDetailsMarker.cpp:
739         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
740         (WebCore::RenderDetailsMarker::destroy):
741         (WebCore::RenderDetailsMarker::lineHeight):
742         (WebCore::RenderDetailsMarker::baselinePosition):
743         (WebCore::RenderDetailsMarker::computePreferredLogicalWidths):
744         (WebCore::RenderDetailsMarker::layout):
745         (WebCore::RenderDetailsMarker::getRelativeMarkerRect):
746         (WebCore::RenderDetailsMarker::isOpen):
747         (WebCore::createPath):
748         (WebCore::createDownArrowPath):
749         (WebCore::createUpArrowPath):
750         (WebCore::createLeftArrowPath):
751         (WebCore::createRightArrowPath):
752         (WebCore::RenderDetailsMarker::orientation):
753         (WebCore::RenderDetailsMarker::getCanonicalPath):
754         (WebCore::RenderDetailsMarker::getPath):
755         (WebCore::RenderDetailsMarker::paint):
756         * rendering/RenderDetailsMarker.h:
757         (WebCore::toRenderDetailsMarker):
758
759         * rendering/RenderSummary.cpp:
760         (WebCore::RenderSummary::RenderSummary):
761         (WebCore::RenderSummary::destroy):
762         (WebCore::RenderSummary::parentDetails):
763         (WebCore::RenderSummary::styleDidChange):
764         * rendering/RenderSummary.h:
765
766         * rendering/RenderTreeAsText.cpp:
767         (WebCore::RenderTreeAsText::writeRenderObject):
768
769 2011-03-14  Brady Eidson  <beidson@apple.com>
770
771         Reviewed by Sam Weinig.
772
773         https://bugs.webkit.org/show_bug.cgi?id=56296
774         Clean up IconDatabaseBase header.
775
776         -Get rid of the "PlatformString.h" include and replace it with a forward declaration.
777         -Group methods by which are used in WebCore directly and which are used in WebKit ports.
778
779         This'll make it easier to use in external frameworks (like WebKit2).
780
781         * loader/icon/IconDatabase.h:
782         * loader/icon/IconDatabaseBase.h:
783         (WebCore::IconDatabaseBase::retainIconForPageURL):
784         (WebCore::IconDatabaseBase::releaseIconForPageURL):
785         (WebCore::IconDatabaseBase::iconForPageURL):
786         (WebCore::IconDatabaseBase::setIconURLForPageURL):
787         (WebCore::IconDatabaseBase::setIconDataForIconURL):
788         (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
789         (WebCore::IconDatabaseBase::loadDecisionForIconURL):
790         (WebCore::IconDatabaseBase::importIconURLForPageURL):
791         (WebCore::IconDatabaseBase::importIconDataForIconURL):
792         (WebCore::IconDatabaseBase::open):
793
794 2011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
795
796         Unreviewed, rolling out r81026.
797         http://trac.webkit.org/changeset/81026
798         https://bugs.webkit.org/show_bug.cgi?id=56313
799
800         Breaks gtk 64-bit tests (Requested by podivilov on #webkit).
801
802         * inspector/InspectorBrowserDebuggerAgent.cpp:
803         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
804         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
805         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
806         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
807         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
808         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
809         (WebCore::InspectorBrowserDebuggerAgent::clear):
810         * inspector/InspectorBrowserDebuggerAgent.h:
811         * inspector/front-end/BreakpointManager.js:
812         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
813         (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
814         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
815         (WebInspector.BreakpointManager.prototype._projectChanged):
816         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
817         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
818         (WebInspector.BreakpointManager.prototype._createXHRBreakpointId):
819         (WebInspector.XHRBreakpoint):
820         (WebInspector.XHRBreakpoint.prototype._enable):
821         (WebInspector.XHRBreakpoint.prototype._disable):
822         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
823         (WebInspector.XHRBreakpointView):
824         (WebInspector.XHRBreakpointView.prototype.compareTo):
825         (WebInspector.XHRBreakpointView.prototype.populateEditElement):
826         (WebInspector.XHRBreakpointView.prototype.populateLabelElement):
827         (WebInspector.XHRBreakpointView.prototype.populateStatusMessageElement):
828         * inspector/front-end/BreakpointsSidebarPane.js:
829         (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
830         (WebInspector.XHRBreakpointsSidebarPane):
831         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
832         (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
833         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
834         * inspector/front-end/CallStackSidebarPane.js:
835         (WebInspector.CallStackSidebarPane.prototype.update):
836         * inspector/front-end/ScriptsPanel.js:
837         (WebInspector.ScriptsPanel):
838         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
839         (WebInspector.ScriptsPanel.prototype._clearInterface):
840         * inspector/front-end/Settings.js:
841         (WebInspector.Settings):
842         * inspector/front-end/inspector.js:
843         (WebInspector.resetFocusElement):
844         (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
845         (WebInspector.createXHRBreakpointsSidebarPane):
846         (WebInspector.set attached):
847
848 2011-03-14  Mikhail Naganov  <mnaganov@chromium.org>
849
850         Reviewed by Pavel Feldman.
851
852         Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function.
853         https://bugs.webkit.org/show_bug.cgi?id=56312
854
855         Test: inspector/utilities.html
856
857         * inspector/front-end/utilities.js:
858
859 2011-03-12  Pavel Podivilov  <podivilov@chromium.org>
860
861         Reviewed by Yury Semikhatsky.
862
863         Web Inspector: re-implement xhr breakpoints.
864         https://bugs.webkit.org/show_bug.cgi?id=56252
865
866         - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
867         - store xhr breakpoints in a separate setting
868         - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
869
870         Test: inspector/debugger/xhr-breakpoints.html
871
872         * inspector/InspectorBrowserDebuggerAgent.cpp:
873         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
874         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
875         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
876         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
877         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
878         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
879         (WebCore::InspectorBrowserDebuggerAgent::clear):
880         * inspector/InspectorBrowserDebuggerAgent.h:
881         * inspector/front-end/BreakpointManager.js:
882         (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
883         (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
884         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
885         (WebInspector.BreakpointManager.prototype._projectChanged):
886         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
887         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
888         * inspector/front-end/BreakpointsSidebarPane.js:
889         (WebInspector.XHRBreakpointsSidebarPane):
890         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
891         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
892         (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
893         (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
894         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
895         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
896         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
897         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
898         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
899         (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
900         (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
901         (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
902         (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
903         (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
904         * inspector/front-end/CallStackSidebarPane.js:
905         (WebInspector.CallStackSidebarPane.prototype.update):
906         (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
907         * inspector/front-end/ScriptsPanel.js:
908         (WebInspector.ScriptsPanel):
909         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
910         (WebInspector.ScriptsPanel.prototype._clearInterface):
911         * inspector/front-end/Settings.js:
912         (WebInspector.Settings):
913         * inspector/front-end/inspector.js:
914         (WebInspector.resetFocusElement):
915         (WebInspector.set attached):
916
917 2011-03-14  Pavel Podivilov  <podivilov@chromium.org>
918
919         Reviewed by Pavel Feldman.
920
921         Web Inspector: move breakpoints restoring to debugger presentation model.
922         https://bugs.webkit.org/show_bug.cgi?id=56123
923
924         DebuggerModel's "breakpoint-added" and "breakpoint-removed" events are gone since
925         setBreakpoint/removeBreakpoint are now called from DPM only.
926
927         * inspector/InspectorDebuggerAgent.cpp:
928         (WebCore::InspectorDebuggerAgent::disable):
929         (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
930         * inspector/front-end/DebuggerModel.js:
931         (WebInspector.DebuggerModel.prototype.enableDebugger):
932         (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
933         (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
934         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
935         (WebInspector.DebuggerModel.prototype.setBreakpoint):
936         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
937         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
938         (WebInspector.DebuggerModel.prototype._breakpointResolved):
939         (WebInspector.DebuggerModel.prototype.reset):
940         (WebInspector.DebuggerDispatcher.prototype.debuggerWasEnabled):
941         (WebInspector.DebuggerDispatcher.prototype.debuggerWasDisabled):
942         * inspector/front-end/DebuggerPresentationModel.js:
943         (WebInspector.DebuggerPresentationModel):
944         (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
945         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
946         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
947         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
948         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
949         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
950         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
951         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
952         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
953         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
954         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
955         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
956         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
957         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
958         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
959         (WebInspector.DebuggerPresentationModel.prototype.reset):
960         * inspector/front-end/ScriptsPanel.js:
961         (WebInspector.ScriptsPanel):
962         (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
963         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
964
965 2011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
966
967         Unreviewed, rolling out r81015.
968         http://trac.webkit.org/changeset/81015
969         https://bugs.webkit.org/show_bug.cgi?id=56308
970
971         A Similar patch landed in r76960 (Requested by philn-tp on
972         #webkit).
973
974         * GNUmakefile.am:
975
976 2011-03-14  Pavel Feldman  <pfeldman@chromium.org>
977
978         Reviewed by Yury Semikhatsky.
979
980         Web Inspector: don't use innerText, use textContent instead.
981         https://bugs.webkit.org/show_bug.cgi?id=56307
982
983         * inspector/front-end/AuditFormatters.js:
984         (WebInspector.AuditFormatters.snippet):
985         * inspector/front-end/ElementsTreeOutline.js:
986         * inspector/front-end/GoToLineDialog.js:
987         * inspector/front-end/HelpScreen.js:
988         (WebInspector.HelpScreen):
989         * inspector/front-end/ShortcutsHelp.js:
990         (WebInspector.ShortcutsSection.prototype.renderSection):
991         (WebInspector.ShortcutsSection.prototype._renderHeader):
992
993 2011-03-14  Andrey Adaikin  <aandrey@google.com>
994
995         Reviewed by Pavel Feldman.
996
997         Web Inspector: [Text editor] Disable live-edit in favor of the text editor
998         https://bugs.webkit.org/show_bug.cgi?id=56176
999
1000         * inspector/front-end/Settings.js:
1001
1002 2011-03-14  Andrey Adaikin  <aandrey@google.com>
1003
1004         Reviewed by Pavel Feldman.
1005
1006         Web Inspector: [REGRESSION] scroll does not work in source frame when mouse is inside the gutter
1007         https://bugs.webkit.org/show_bug.cgi?id=56095
1008
1009         * inspector/front-end/TextViewer.js:
1010         (WebInspector.TextViewer):
1011
1012 2011-03-11  Pavel Podivilov  <podivilov@chromium.org>
1013
1014         Reviewed by Pavel Feldman.
1015
1016         Web Inspector: move breakpoints restoring after live edit to debugger presentation model.
1017         https://bugs.webkit.org/show_bug.cgi?id=56179
1018
1019         Presentation model should move breakpoints based on text diff as required by "revert to revision" action in resources panel.
1020
1021         * inspector/front-end/DebuggerModel.js:
1022         (WebInspector.DebuggerModel):
1023         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
1024         (WebInspector.DebuggerModel.prototype.setBreakpoint):
1025         (WebInspector.DebuggerModel.prototype.reset):
1026         (WebInspector.DebuggerModel.prototype.editScriptSource.didEditScriptSource):
1027         (WebInspector.DebuggerModel.prototype.editScriptSource):
1028         (WebInspector.DebuggerModel.prototype.get callFrames):
1029         (WebInspector.DebuggerModel.prototype._pausedScript):
1030         (WebInspector.DebuggerModel.prototype._resumedScript):
1031         * inspector/front-end/DebuggerPresentationModel.js:
1032         (WebInspector.DebuggerPresentationModel):
1033         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
1034         * inspector/front-end/ScriptsPanel.js:
1035         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
1036
1037 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
1038
1039         Reviewed by Pavel Feldman.
1040
1041         Web Inspector: Optimize backend-frontend data transfer volume for CSS styles
1042         https://bugs.webkit.org/show_bug.cgi?id=56111
1043
1044         This change reduces the getStylesForNode() payload more than twice for BODY elements.
1045
1046         * inspector/InspectorStyleSheet.cpp:
1047         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
1048         * inspector/front-end/CSSStyleModel.js:
1049         (WebInspector.CSSProperty.parsePayload):
1050
1051 2011-03-14  John Knottenbelt  <jknotten@chromium.org>
1052
1053         Reviewed by Steve Block.
1054
1055         Detach Geolocation from Frame when Page destroyed.
1056         https://bugs.webkit.org/show_bug.cgi?id=52877
1057
1058         On Page destruction, any outstanding Geolocation permission
1059         requests should be cancelled, because the Geolocation can only
1060         access the client indirectly via m_frame->page().
1061
1062         Page destruction is signalled by a call to the
1063         Frame::pageDestroyed() method. This explictly calls
1064         DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
1065
1066         Geolocation::reset() detaches from the GeolocationController,
1067         cancels requests, watches and single shots, and sets the
1068         permission state back to Unknown.
1069
1070         Frame::pageDestroyed() is also called by FrameLoader even though
1071         the page is not destroyed. We should still cancel permission
1072         requests, because the GeolocationClient will become inaccessible
1073         to the Geolocation object after this call.
1074
1075         Frame::transferChildFrameToNewDocument also indirectly calls
1076         Geolocation::reset when the frame is reparented between
1077         pages. Ideally we would like the Geolocation's activities to
1078         continue after reparenting, see bug
1079         https://bugs.webkit.org/show_bug.cgi?id=55577
1080
1081         Since GeolocationController is owned by Page, and all Geolocation
1082         objects will now unsubscribe from the GeolocationController on
1083         pageDetached(), we no longer need to call stopUpdating() from the
1084         GeolocationController's destructor. Instead we can simply assert
1085         that there should be no no observers. See related bug
1086         https://bugs.webkit.org/show_bug.cgi?id=52216 .
1087
1088         Introduced new method 'numberOfPendingPermissionRequests' on
1089         GeolocationClientMock to count the number of outstanding pending
1090         permission requests. This provides a reusable implementation for
1091         client-based implementations of the LayoutTestController's
1092         numberOfPendingGeolocationPermissionRequests method.
1093
1094         Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
1095
1096         * page/DOMWindow.cpp:
1097         (WebCore::DOMWindow::resetGeolocation):
1098         * page/DOMWindow.h:
1099         * page/Frame.cpp:
1100         (WebCore::Frame::pageDestroyed):
1101         (WebCore::Frame::transferChildFrameToNewDocument):
1102         * page/Geolocation.cpp:
1103         (WebCore::Geolocation::~Geolocation):
1104         (WebCore::Geolocation::page):
1105         (WebCore::Geolocation::reset):
1106         (WebCore::Geolocation::disconnectFrame):
1107         (WebCore::Geolocation::lastPosition):
1108         (WebCore::Geolocation::requestPermission):
1109         (WebCore::Geolocation::startUpdating):
1110         (WebCore::Geolocation::stopUpdating):
1111         * page/Geolocation.h:
1112         * page/GeolocationController.cpp:
1113         (WebCore::GeolocationController::~GeolocationController):
1114         * page/Navigator.cpp:
1115         (WebCore::Navigator::resetGeolocation):
1116         * page/Navigator.h:
1117         * platform/mock/GeolocationClientMock.cpp:
1118         (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
1119         * platform/mock/GeolocationClientMock.h:
1120
1121 2011-03-14  Andrey Adaikin  <aandrey@google.com>
1122
1123         Reviewed by Pavel Feldman.
1124
1125         Web Inspector: REGRESSION: Messed up with the tabIndex for text editor
1126         https://bugs.webkit.org/show_bug.cgi?id=56183
1127
1128         * inspector/front-end/SourceFrame.js:
1129         (WebInspector.SourceFrame.prototype._handleKeyDown):
1130         (WebInspector.SourceFrame.prototype._handleSave):
1131         (WebInspector.SourceFrame.prototype._handleRevertEditing):
1132         * inspector/front-end/TextViewer.js:
1133         (WebInspector.TextEditorMainPanel):
1134         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
1135
1136 2011-03-14  Chris Rogers  <crogers@google.com>
1137
1138         Reviewed by Xan Lopez.
1139
1140         Add all web audio auto-generated files to GTK make system
1141         https://bugs.webkit.org/show_bug.cgi?id=50497
1142
1143         No new tests since these are build-system tweaks.
1144
1145         * GNUmakefile.am:
1146
1147 2011-03-14  Pavel Feldman  <pfeldman@chromium.org>
1148
1149         Reviewed by Yury Semikhatsky.
1150
1151         Web Inspector: make DOMAgent event target, remove dependency from ElementsPanel.
1152         https://bugs.webkit.org/show_bug.cgi?id=56268
1153
1154         * inspector/Inspector.idl:
1155         * inspector/InspectorDOMAgent.cpp:
1156         (WebCore::InspectorDOMAgent::reset):
1157         (WebCore::InspectorDOMAgent::performSearch):
1158         (WebCore::InspectorDOMAgent::cancelSearch):
1159         (WebCore::InspectorDOMAgent::onMatchJobsTimer):
1160         (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
1161         * inspector/InspectorDOMAgent.h:
1162         * inspector/front-end/DOMAgent.js:
1163         (WebInspector.DOMAgent.prototype.requestDocument.mycallback):
1164         (WebInspector.DOMAgent.prototype.requestDocument):
1165         (WebInspector.DOMAgent.prototype._attributesUpdated):
1166         (WebInspector.DOMAgent.prototype._characterDataModified):
1167         (WebInspector.DOMAgent.prototype._documentUpdated):
1168         (WebInspector.DOMAgent.prototype._setDocument):
1169         (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
1170         (WebInspector.DOMAgent.prototype._childNodeInserted):
1171         (WebInspector.DOMAgent.prototype._childNodeRemoved):
1172         (WebInspector.DOMAgent.prototype._removeBreakpoints):
1173         (WebInspector.DOMAgent.prototype.performSearch):
1174         (WebInspector.DOMAgent.prototype.cancelSearch):
1175         (WebInspector.DOMDispatcher.prototype.searchResults):
1176         * inspector/front-end/ElementsPanel.js:
1177         (WebInspector.ElementsPanel):
1178         (WebInspector.ElementsPanel.prototype._reset):
1179         (WebInspector.ElementsPanel.prototype._documentUpdated):
1180         (WebInspector.ElementsPanel.prototype.searchCanceled):
1181         (WebInspector.ElementsPanel.prototype.performSearch):
1182         (WebInspector.ElementsPanel.prototype._addNodesToSearchResult):
1183         (WebInspector.ElementsPanel.prototype._attributesUpdated):
1184         (WebInspector.ElementsPanel.prototype._characterDataModified):
1185         (WebInspector.ElementsPanel.prototype._nodeInserted):
1186         (WebInspector.ElementsPanel.prototype._nodeRemoved):
1187         (WebInspector.ElementsPanel.prototype._childNodeCountUpdated):
1188         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
1189
1190 2011-03-14  Pavel Feldman  <pfeldman@chromium.org>
1191
1192         Reviewed by Yury Semikhatsky.
1193
1194         Web Inspector: add tests for edit dom operations.
1195         https://bugs.webkit.org/show_bug.cgi?id=56248
1196
1197         Test: inspector/elements/edit-dom-actions.html
1198
1199         * inspector/Inspector.idl:
1200         * inspector/InspectorDOMAgent.cpp:
1201         (WebCore::InspectorDOMAgent::assertNode):
1202         (WebCore::InspectorDOMAgent::assertElement):
1203         (WebCore::InspectorDOMAgent::assertHTMLElement):
1204         (WebCore::InspectorDOMAgent::nodeToSelectOn):
1205         (WebCore::InspectorDOMAgent::querySelector):
1206         (WebCore::InspectorDOMAgent::querySelectorAll):
1207         (WebCore::InspectorDOMAgent::setAttribute):
1208         (WebCore::InspectorDOMAgent::removeAttribute):
1209         (WebCore::InspectorDOMAgent::getOuterHTML):
1210         (WebCore::InspectorDOMAgent::setOuterHTML):
1211         * inspector/InspectorDOMAgent.h:
1212         * inspector/front-end/DOMAgent.js:
1213         (WebInspector.DOMNode.prototype.setAttribute):
1214         (WebInspector.DOMNode.prototype.removeAttribute):
1215         * inspector/front-end/inspector.js:
1216         (WebInspector.startEditing.defaultFinishHandler):
1217
1218 2011-03-14  Brady Eidson  <beidson@apple.com>
1219
1220         Reviewed by Dan Bernstein.
1221
1222         <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
1223         Need WK2 API to view/manage origins with LocalStorage
1224
1225         * storage/StorageTracker.cpp:
1226         (WebCore::StorageTracker::initializeTracker): Make sure the TextEncoding map is initialized on the main thread
1227           before the StorageTracker thread can do it on the background thread.
1228
1229 2011-03-13  Anton D'Auria  <adauria@apple.com>
1230
1231         Reviewed by Brady Eidson and David Levin, landed by Brady Eidson.
1232
1233         Fixed lock-taking order to prevent deadlock, added lock for m_client,
1234         removed premature return in syncImportOriginIdentifiers when tracker
1235         db does not exist because that prevented syncFileSystemAndTrackerDatabase()
1236         from running until next LocalStorage db creation, cleaned up
1237         StorageTracker::scheduleTask() code for readability.
1238         
1239         https://bugs.webkit.org/show_bug.cgi?id=56285
1240         
1241         * storage/StorageTracker.cpp:
1242         (WebCore::StorageTracker::trackerDatabasePath):
1243         (WebCore::StorageTracker::syncImportOriginIdentifiers): If tracker db isn't
1244         optionally opened (as in the case when it doesn't exist on disk), don't
1245         exit early and call syncFileSystemAndTrackerDatabase(), which will create
1246         a tracker db if localstorage db files are found on disk by calling setOriginDetails.
1247         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1248         (WebCore::StorageTracker::setOriginDetails):
1249         (WebCore::StorageTracker::scheduleTask): readability changes.
1250         (WebCore::StorageTracker::syncSetOriginDetails):
1251         (WebCore::StorageTracker::syncDeleteAllOrigins):
1252         (WebCore::StorageTracker::syncDeleteOrigin):
1253         (WebCore::StorageTracker::cancelDeletingOrigin): order lock-taking consistently to avoid deadlock.
1254         (WebCore::StorageTracker::setClient):
1255         * storage/StorageTracker.h:
1256
1257 2011-03-13  Anton D'Auria  <adauria@apple.com>
1258
1259         Reviewed and landed by Brady Eidson.
1260
1261         Invalid assertion in StorageTracker - PageGroup::numberOfPageGroups() == 1
1262         https://bugs.webkit.org/show_bug.cgi?id=56240
1263
1264         This assertion is invalid until LocalStorage is either global or is isolated by PageGroup.
1265
1266         * storage/StorageTracker.cpp:
1267         (WebCore::StorageTracker::origins):
1268         (WebCore::StorageTracker::deleteAllOrigins):
1269         (WebCore::StorageTracker::deleteOrigin):
1270
1271 2011-03-13  Pratik Solanki  <psolanki@apple.com>
1272
1273         Reviewed by Dan Bernstein.
1274
1275         Make adjustMIMETypeIfNecessary use CFNetwork directly
1276         https://bugs.webkit.org/show_bug.cgi?id=55912
1277
1278         Follow up fix for Layout Test failure. Fix typo - it should be text/plain, not test/plain.
1279
1280         * platform/network/mac/WebCoreURLResponse.mm:
1281         (WebCore::adjustMIMETypeIfNecessary):
1282
1283 2011-03-13  Dan Bernstein  <mitz@apple.com>
1284
1285         Reviewed by Sam Weinig.
1286
1287         Include hyphenation information in text representation of render tree
1288         https://bugs.webkit.org/show_bug.cgi?id=56287
1289
1290         (WebCore::writeTextRun): If the text box is hyphenated, output the hyphenation
1291         string.
1292
1293 2011-03-13  David Levin  <levin@chromium.org>
1294
1295         Improve my hasitly added build fix and added a bug https://bugs.webkit.org/show_bug.cgi?id=56288
1296         above addressing this FIXME.
1297
1298         * css/CSSStyleSelector.cpp:
1299         (WebCore::CSSStyleSelector::applyProperty):
1300
1301 2011-03-13  David Levin  <levin@chromium.org>
1302
1303         Build fix adding remaining enum values to switch statement.
1304
1305         * css/CSSStyleSelector.cpp:
1306         (WebCore::CSSStyleSelector::applyProperty):
1307
1308 2011-03-13  Sam Weinig  <sam@webkit.org>
1309
1310         Fix windows build.
1311
1312         * platform/network/cf/ResourceErrorCF.cpp:
1313         (WebCore::ResourceError::ResourceError):
1314         Add missing constructor.
1315
1316 2011-03-13  David Sosby  <dsosby@rim.com>
1317
1318         Reviewed by Dan Bernstein.
1319
1320         REGRESSION: Soft hyphen is not always rendered
1321         https://bugs.webkit.org/show_bug.cgi?id=56017
1322         
1323         The check to flag a text block as hyphenated was only
1324         occurring at break points in the line. If no break points
1325         were found after the soft hyphen then the line would not
1326         be flagged hyphenated. Adding a check for soft hyphen at
1327         the end of the text run resolves the issue.
1328
1329         Test: fast/text/soft-hyphen-4.html
1330
1331         * rendering/RenderBlockLineLayout.cpp:
1332         (WebCore::RenderBlock::findNextLineBreak):
1333
1334 2011-03-13  Dan Bernstein  <mitz@apple.com>
1335
1336         Reviewed by Mark Rowe.
1337
1338         REGRESSION (r80438): fast/text/hyphenate-character failing in pixel mode
1339         https://bugs.webkit.org/show_bug.cgi?id=56280
1340
1341         * rendering/RenderBlockLineLayout.cpp:
1342         (WebCore::tryHyphenating): Avoid subtracting 1 from an unsigned 0.
1343
1344 2011-03-13  Sam Weinig  <sam@webkit.org>
1345
1346         Reviewed by Anders Carlsson.
1347
1348         Add ability to create a WKErrorRef
1349         <rdar://problem/9115768>
1350         https://bugs.webkit.org/show_bug.cgi?id=56279
1351
1352         * WebCore.exp.in:
1353         Add new exports.
1354
1355         * platform/network/cf/ResourceError.h:
1356         * platform/network/cf/ResourceErrorCF.cpp:
1357         (WebCore::ResourceError::platformCompare):
1358         (WebCore::ResourceError::cfError):
1359         (WebCore::ResourceError::operator CFErrorRef):
1360         (WebCore::ResourceError::ResourceError):
1361         (WebCore::ResourceError::cfStreamError):
1362         (WebCore::ResourceError::operator CFStreamError):
1363         * platform/network/mac/ResourceErrorMac.mm:
1364         (WebCore::ResourceError::ResourceError):
1365         (WebCore::ResourceError::platformCompare):
1366         (WebCore::ResourceError::nsError):
1367         (WebCore::ResourceError::operator NSError *):
1368         (WebCore::ResourceError::cfError):
1369         (WebCore::ResourceError::operator CFErrorRef):
1370         Clean up ResourceError a bit and add ability to create a ResourceError from a CFErrorRef
1371         regardless of whether CFNetwork is being used.
1372
1373 2011-03-13  Pratik Solanki  <psolanki@apple.com>
1374
1375         Reviewed by Brady Eidson.
1376
1377         Make adjustMIMETypeIfNecessary use CFNetwork directly
1378         https://bugs.webkit.org/show_bug.cgi?id=55912
1379
1380         Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function
1381         WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally
1382         identical.
1383
1384         Testing is covered by existing LayoutTests.
1385
1386         * WebCore.exp.in:
1387         * platform/mac/WebCoreSystemInterface.h:
1388         * platform/mac/WebCoreSystemInterface.mm:
1389         * platform/network/mac/ResourceHandleMac.mm:
1390         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
1391         * platform/network/mac/WebCoreURLResponse.h:
1392         * platform/network/mac/WebCoreURLResponse.mm:
1393         (WebCore::createBinaryExtensionsSet):
1394         (WebCore::createExtensionToMIMETypeMap):
1395         (WebCore::mimeTypeFromUTITree):
1396         (WebCore::adjustMIMETypeIfNecessary):
1397
1398 2011-03-13  Jeremy Moskovich  <jeremy@chromium.org>
1399
1400         Reviewed by Dimitri Glazkov.
1401
1402         Update comment in CSSValueKeywords.in
1403         https://bugs.webkit.org/show_bug.cgi?id=56266
1404
1405         The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h
1406         in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated.
1407
1408         No tests - just updating a comment.
1409
1410         * css/CSSValueKeywords.in:
1411
1412 2011-03-13  Anton D'Auria  <adauria@apple.com>
1413
1414         Reviewed by Alice Liu.
1415
1416         StorageTracker constructor shouldn't have initialization code and isMainThread() assertion
1417         https://bugs.webkit.org/show_bug.cgi?id=56259
1418
1419         Move all StorageTracker initialization to
1420         StorageTracker::initializeTracker. This also removes the
1421         requirement that the StorageTracker constructor isn't run
1422         on the main thread.
1423
1424         * storage/StorageTracker.cpp:
1425         (WebCore::StorageTracker::initializeTracker):
1426         (WebCore::StorageTracker::tracker):
1427         (WebCore::StorageTracker::StorageTracker):
1428
1429 2011-03-13  Rob Buis  <rwlbuis@gmail.com>
1430
1431         Reviewed by Dave Hyatt.
1432
1433         REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com
1434         https://bugs.webkit.org/show_bug.cgi?id=53470
1435
1436         Prefer !important over normal properties when dealing with duplicate properties in style rules.
1437
1438         Test: fast/css/duplicate-property-in-rule-important.html
1439
1440         * css/CSSMutableStyleDeclaration.cpp:
1441         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1442
1443 2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1444
1445         Unreviewed, rolling out r80895.
1446         http://trac.webkit.org/changeset/80895
1447         https://bugs.webkit.org/show_bug.cgi?id=56261
1448
1449         Causing crashes in several tests including
1450         t1202-counters-16-c.html (see
1451         http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html)
1452         (Requested by dave_levin on #webkit).
1453
1454         * rendering/CounterNode.cpp:
1455         (WebCore::CounterNode::CounterNode):
1456         (WebCore::CounterNode::create):
1457         (WebCore::CounterNode::resetRenderer):
1458         (WebCore::CounterNode::resetRenderers):
1459         (WebCore::CounterNode::recount):
1460         (WebCore::CounterNode::insertAfter):
1461         (WebCore::CounterNode::removeChild):
1462         (WebCore::showTreeAndMark):
1463         * rendering/CounterNode.h:
1464         (WebCore::CounterNode::renderer):
1465         * rendering/RenderCounter.cpp:
1466         (WebCore::findPlaceForCounter):
1467         (WebCore::RenderCounter::~RenderCounter):
1468         (WebCore::RenderCounter::originalText):
1469         (WebCore::RenderCounter::invalidate):
1470         (WebCore::destroyCounterNodeWithoutMapRemoval):
1471         (WebCore::RenderCounter::destroyCounterNodes):
1472         (WebCore::RenderCounter::destroyCounterNode):
1473         (WebCore::updateCounters):
1474         (showCounterRendererTree):
1475         * rendering/RenderCounter.h:
1476         * rendering/RenderObjectChildList.cpp:
1477         (WebCore::invalidateCountersInContainer):
1478         (WebCore::RenderObjectChildList::invalidateCounters):
1479         * rendering/RenderObjectChildList.h:
1480
1481 2011-03-12  Darin Adler  <darin@apple.com>
1482
1483         Reviewed by Dan Bernstein.
1484
1485         REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array
1486         https://bugs.webkit.org/show_bug.cgi?id=56258
1487
1488         No tests because the wrong hashing is mostly harmless. The only symptom
1489         we have seen is an occasional assertion in debug builds about the size
1490         not being a multiple of two. But a worse hash is worse for performance too.
1491
1492         * platform/cf/BinaryPropertyList.cpp:
1493         (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather
1494         than the number of array entries.
1495
1496 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
1497
1498         Not reviewed.
1499
1500         Fix the build with newer GCCs and remove some extra whitespae.
1501
1502         * bindings/js/SerializedScriptValue.cpp:
1503         (WebCore::uint8_t):
1504
1505 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
1506
1507         Rubber-stamped by Oliver Hunt.
1508
1509         Removed unused ARMv5 code. The ARMv5 case now falls under the general
1510         unaligned accessed case.
1511
1512         * bindings/js/SerializedScriptValue.cpp:
1513         (WebCore::CloneDeserializer::readLittleEndian):
1514         (WebCore::CloneDeserializer::readString):
1515
1516 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
1517
1518         Reviewed by Oliver Hunt.
1519
1520         WebCore fails to build with Clang on ARM
1521         https://bugs.webkit.org/show_bug.cgi?id=56257
1522
1523         Add an explicit instantiation of writeLittleEndian for uint8_t and move it to
1524         namespace scope, since explicit specializations are not allowed at class scope.
1525
1526         * bindings/js/SerializedScriptValue.cpp:
1527         (WebCore::writeLittleEndian):
1528
1529 2011-03-11  Darin Adler  <darin@apple.com>
1530
1531         Reviewed by Sam Weinig.
1532
1533         Dragging image to desktop gives webloc instead of image file in WebKit2
1534         https://bugs.webkit.org/show_bug.cgi?id=56193
1535
1536         * WebCore.exp.in: Added some additional exports. Re-sorted.
1537
1538 2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1539
1540         Unreviewed, rolling out r80919.
1541         http://trac.webkit.org/changeset/80919
1542         https://bugs.webkit.org/show_bug.cgi?id=56251
1543
1544         all windows bots failed to compile this change (Requested by
1545         loislo on #webkit).
1546
1547         * bridge/c/c_class.cpp:
1548         * bridge/c/c_runtime.cpp:
1549         * bridge/jni/JavaMethod.cpp:
1550         * plugins/PluginViewNone.cpp:
1551
1552 2011-03-12  Patrick Gansterer  <paroga@webkit.org>
1553
1554         Unreviewed WinCE build fix for r80900.
1555
1556         * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp.
1557
1558 2011-03-12  Andras Becsi  <abecsi@webkit.org>
1559
1560         Unreviewed typo fix.
1561
1562         No new tests needed.
1563
1564         * WebCore.pro: Fix typo in header name.
1565
1566 2011-03-12  Pavel Feldman  <pfeldman@chromium.org>
1567
1568         Not reviewed: Inspect Element action regression fix.
1569
1570         * inspector/front-end/inspector.js:
1571         (WebInspector.inspect):
1572
1573 2011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
1574
1575         Unreviewed. One line fix for inspector/dom-breakpoints.html
1576
1577         * inspector/front-end/BreakpointManager.js:
1578         (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
1579
1580 2011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
1581
1582         Unreviewed build fix.
1583
1584         Almost all inspector tests are crashing after r80928.
1585
1586         * inspector/front-end/inspector.js:
1587
1588 2011-03-11  Pavel Feldman  <pfeldman@chromium.org>
1589
1590         Reviewed by Yury Semikhatsky.
1591
1592         Web Inspector: follow up to error reporting, fixing multiple regressions.
1593         https://bugs.webkit.org/show_bug.cgi?id=56243
1594
1595         * inspector/InjectedScript.cpp:
1596         (WebCore::InjectedScript::setPropertyValue):
1597         * inspector/InjectedScript.h:
1598         * inspector/Inspector.idl:
1599         * inspector/InspectorDOMAgent.cpp:
1600         (WebCore::InspectorDOMAgent::getChildNodes):
1601         (WebCore::InspectorDOMAgent::getOuterHTML):
1602         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1603         * inspector/InspectorDOMAgent.h:
1604         * inspector/InspectorRuntimeAgent.cpp:
1605         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1606         * inspector/InspectorRuntimeAgent.h:
1607         * inspector/front-end/DOMAgent.js:
1608         (WebInspector.DOMNode.prototype.setNodeName):
1609         (WebInspector.DOMNode.prototype.setNodeValue):
1610         (WebInspector.DOMNode.prototype.getChildNodes):
1611         (WebInspector.DOMNode.prototype.getOuterHTML):
1612         (WebInspector.DOMNode.prototype.setOuterHTML):
1613         (WebInspector.DOMNode.prototype.removeNode):
1614         (WebInspector.DOMNode.prototype.copyNode):
1615         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
1616         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
1617         (WebInspector.EventListeners.getEventListenersForNode):
1618         * inspector/front-end/DOMStorage.js:
1619         (WebInspector.DOMStorage.prototype.getEntries):
1620         (WebInspector.DOMStorage.prototype.setItem):
1621         (WebInspector.DOMStorage.prototype.removeItem):
1622         * inspector/front-end/DOMStorageItemsView.js:
1623         (WebInspector.DOMStorageItemsView.prototype.update):
1624         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
1625         * inspector/front-end/ElementsTreeOutline.js:
1626         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
1627         (WebInspector.ElementsTreeElement.prototype.updateChildren):
1628         ():
1629         * inspector/front-end/EventListenersSidebarPane.js:
1630         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
1631         (WebInspector.EventListenersSidebarPane.prototype.update):
1632         * inspector/front-end/ObjectPropertiesSection.js:
1633         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
1634         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1635         * inspector/front-end/PropertiesSidebarPane.js:
1636         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
1637         * inspector/front-end/RemoteObject.js:
1638         (WebInspector.RemoteObject.prototype.setPropertyValue):
1639         (WebInspector.RemoteObject.prototype.evaluate):
1640         * inspector/front-end/inspector.js:
1641
1642 2011-03-12  Jer Noble  <jer.noble@apple.com>
1643
1644         Unreviewed build fix.
1645
1646         Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING)
1647         checks.
1648
1649         * dom/Document.cpp:
1650         (WebCore::Document::webkitWillEnterFullScreenForElement):
1651         (WebCore::Document::webkitDidEnterFullScreenForElement):
1652         (WebCore::Document::webkitWillExitFullScreenForElement):
1653         (WebCore::Document::webkitDidExitFullScreenForElement):
1654
1655 2011-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
1656
1657         Unreviewed build fix.
1658
1659         [EFL] Fix build break because of several reason.
1660         https://bugs.webkit.org/show_bug.cgi?id=56244
1661
1662         * CMakeLists.txt: Add missing files.
1663         * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL).
1664
1665 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
1666
1667         Reviewed by Pavel Feldman.
1668
1669         Web Inspector: move profiler related methods from inspector agent to profiler agent
1670         https://bugs.webkit.org/show_bug.cgi?id=56204
1671
1672         * inspector/Inspector.idl:
1673         * inspector/InspectorAgent.cpp:
1674         (WebCore::InspectorAgent::InspectorAgent):
1675         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1676         (WebCore::InspectorAgent::setFrontend):
1677         (WebCore::InspectorAgent::disconnectFrontend):
1678         (WebCore::InspectorAgent::populateScriptObjects):
1679         (WebCore::InspectorAgent::showProfilesPanel):
1680         * inspector/InspectorAgent.h:
1681         * inspector/InspectorController.cpp:
1682         (WebCore::InspectorController::enableProfiler):
1683         (WebCore::InspectorController::disableProfiler):
1684         (WebCore::InspectorController::profilerEnabled):
1685         (WebCore::InspectorController::startUserInitiatedProfiling):
1686         (WebCore::InspectorController::stopUserInitiatedProfiling):
1687         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
1688         * inspector/InspectorInstrumentation.cpp:
1689         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
1690         * inspector/InspectorProfilerAgent.cpp:
1691         (WebCore::InspectorProfilerAgent::create):
1692         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1693         (WebCore::InspectorProfilerAgent::enable):
1694         (WebCore::InspectorProfilerAgent::disable):
1695         (WebCore::InspectorProfilerAgent::setFrontend):
1696         (WebCore::InspectorProfilerAgent::clearFrontend):
1697         (WebCore::InspectorProfilerAgent::restore):
1698         (WebCore::InspectorProfilerAgent::restoreEnablement):
1699         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1700         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
1701         * inspector/InspectorProfilerAgent.h:
1702         (WebCore::InspectorProfilerAgent::start):
1703         (WebCore::InspectorProfilerAgent::stop):
1704         * inspector/front-end/ProfileView.js:
1705         (WebInspector.CPUProfileType.prototype.buttonClicked):
1706         * inspector/front-end/ProfilesPanel.js:
1707         (WebInspector.ProfilesPanel):
1708         (WebInspector.ProfilesPanel.prototype._registerProfileType):
1709         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
1710         * inspector/front-end/inspector.js:
1711         (WebInspector._createPanels):
1712
1713 2011-03-11  Jer Noble  <jer.noble@apple.com>
1714
1715         Reviewed by Anders Carlsson.
1716
1717         WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
1718         https://bugs.webkit.org/show_bug.cgi?id=56226
1719
1720         * dom/Document.cpp:
1721         (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
1722         (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
1723         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
1724         (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
1725         (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.
1726
1727 2011-03-11  Jer Noble  <jer.noble@apple.com>
1728
1729         Reviewed by Anders Carlsson.
1730
1731         Create new interface stubs to support full screen mode in WebKit2.
1732
1733         WebKit2: Plumb new full screen animation APIs through WebKit2.
1734         https://bugs.webkit.org/show_bug.cgi?id=55993
1735
1736         * page/ChromeClient.h:
1737         (WebCore::ChromeClient::setRootFullScreenLayer): Added.
1738
1739 2011-03-11  Oliver Hunt  <oliver@apple.com>
1740
1741         Reviewed by Gavin Barraclough.
1742
1743         Ensure all values are correctly tagged in the registerfile
1744         https://bugs.webkit.org/show_bug.cgi?id=56214
1745
1746         Make sure everything builds still.
1747
1748         * bridge/c/c_class.cpp:
1749         * bridge/c/c_runtime.cpp:
1750         * bridge/jni/JavaMethod.cpp:
1751         * plugins/PluginViewNone.cpp:
1752
1753 2011-03-11  Mark Rowe  <mrowe@apple.com>
1754
1755         Fix the 32-bit build.
1756
1757         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1758         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1759
1760 2011-03-11  Mark Rowe  <mrowe@apple.com>
1761
1762         Rubber-stamped by Eric Carlsson.
1763
1764         <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects.
1765
1766         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1767         (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
1768         (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset):
1769
1770 2011-03-11  Chris Marrin  <cmarrin@apple.com>
1771
1772         Unreviewed.
1773
1774         Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468
1775
1776         * platform/graphics/ca/GraphicsLayerCA.cpp:
1777         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1778
1779 2011-03-11  Brady Eidson  <beidson@apple.com>
1780
1781         Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
1782
1783         * loader/icon/IconDatabase.h: Make this guy public.
1784
1785 2011-03-11  Brady Eidson  <beidson@apple.com>
1786
1787         Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
1788
1789         * loader/icon/IconDatabase.h:
1790         (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here?
1791
1792 2011-03-11  Brady Eidson  <beidson@apple.com>
1793
1794         https://bugs.webkit.org/show_bug.cgi?id=56216
1795         Fix the Qt build following the same pattern of the patch.
1796
1797         * loader/icon/IconDatabase.h:
1798         * loader/icon/IconDatabaseBase.cpp:
1799         (WebCore::IconDatabaseBase::databasePath): Added to the virtual base.
1800         * loader/icon/IconDatabaseBase.h:
1801         (WebCore::IconDatabaseBase::isOpen): Ditto.
1802
1803 2011-03-11  Ben Taylor  <bentaylor.solx86@gmail.com>
1804
1805         Reviewed by Alexey Proskuryakov.
1806
1807         https://bugs.webkit.org/show_bug.cgi?id=56198
1808         Fix conditional which had an int for one case and a pointer for another.
1809
1810         No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
1811
1812         * loader/appcache/ApplicationCacheGroup.cpp:
1813         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1814
1815 2011-03-11  Brady Eidson  <beidson@apple.com>
1816
1817         Windows build fix.
1818
1819         * history/HistoryItem.cpp:
1820         * loader/icon/IconDatabaseBase.cpp:
1821
1822 2011-03-11  Brady Eidson  <beidson@apple.com>
1823
1824         Reviewed by Sam Weinig.
1825
1826         <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
1827         Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
1828
1829         Project file stuff:
1830         * Android.mk:
1831         * CMakeLists.txt:
1832         * GNUmakefile.am:
1833         * WebCore.gyp/WebCore.gyp:
1834         * WebCore.gypi:
1835         * WebCore.pro:
1836         * WebCore.xcodeproj/project.pbxproj:
1837         * WebCore.vcproj/WebCore.vcproj:
1838
1839         * loader/icon/IconDatabase.cpp:
1840         * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase.
1841
1842         * loader/icon/IconDatabaseBase.cpp: Added.
1843         (WebCore::IconDatabaseBase::iconURLForPageURL):
1844         (WebCore::iconDatabase):
1845         (WebCore::setGlobalIconDatabase):
1846         * loader/icon/IconDatabaseBase.h: Added.
1847         (WebCore::IconDatabaseBase::IconDatabaseBase):
1848         (WebCore::IconDatabaseBase::~IconDatabaseBase):
1849         (WebCore::IconDatabaseBase::setEnabled):
1850         (WebCore::IconDatabaseBase::isEnabled):
1851         (WebCore::IconDatabaseBase::defaultIcon):
1852         (WebCore::IconDatabaseBase::retainIconForPageURL):
1853         (WebCore::IconDatabaseBase::releaseIconForPageURL):
1854         (WebCore::IconDatabaseBase::iconForPageURL):
1855         (WebCore::IconDatabaseBase::setIconURLForPageURL):
1856         (WebCore::IconDatabaseBase::setIconDataForIconURL):
1857         (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
1858         (WebCore::IconDatabaseBase::loadDecisionForIconURL):
1859         (WebCore::IconDatabaseBase::pageURLMappingCount):
1860         (WebCore::IconDatabaseBase::retainedPageURLCount):
1861         (WebCore::IconDatabaseBase::iconRecordCount):
1862         (WebCore::IconDatabaseBase::iconRecordCountWithData):
1863         (WebCore::IconDatabaseBase::importIconURLForPageURL):
1864         (WebCore::IconDatabaseBase::importIconDataForIconURL):
1865         (WebCore::IconDatabaseBase::shouldStopThreadActivity):
1866         (WebCore::IconDatabaseBase::open):
1867         (WebCore::IconDatabaseBase::close):
1868         (WebCore::IconDatabaseBase::removeAllIcons):
1869         (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled):
1870         (WebCore::IconDatabaseBase::setClient):
1871
1872         * loader/icon/IconDatabaseNone.cpp: Removed.
1873
1874 2011-03-11  Brady Eidson  <beidson@apple.com>
1875
1876         Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878
1877
1878         * page/PageGroup.h: Declare this method, even if the definition will end up being empty.
1879
1880 2011-03-11  Michael Nordman  <michaeln@google.com>
1881
1882         Reviewed by Dmitry Titov.
1883
1884         Adding the '~' to the dtor (duh).
1885
1886         No new tests.
1887
1888         * storage/SQLCallbackWrapper.h:
1889         (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper):
1890
1891 2011-03-11  Carol Szabo  <carol.szabo@nokia.com>
1892
1893         Reviewed by David Hyatt.
1894
1895         Introduced double linkage between a CounterNode and its display renderer.
1896
1897         use of freed pointer in WebCore::RenderCounter::originalText()
1898         https://bugs.webkit.org/show_bug.cgi?id=56065
1899
1900         No new tests. This bug could only be reproduced manually by
1901         refreshing the page during load at a critical point.
1902         See bug attachment for testing.
1903
1904         * rendering/CounterNode.cpp:
1905         Introduced new member "m_owner" to store the renderer that has the
1906         style directives that produce the CounterNode.
1907         Repurposed m_renderer to reffer to the RenderCounter that shows the
1908         CounterNode.
1909         (WebCore::CounterNode::CounterNode):
1910         Updated member initialization.
1911         (WebCore::CounterNode::create):
1912         (WebCore::CounterNode::resetRenderer):
1913         (WebCore::CounterNode::resetRenderers):
1914         (WebCore::CounterNode::recount):
1915         (WebCore::CounterNode::removeChild):
1916         (WebCore::CounterNode::insertAfter):
1917         No functional changes.
1918         (WebCore::showTreeAndMark):
1919         Added flushing to ensure that the output is complete.
1920         * rendering/CounterNode.h:
1921         (WebCore::CounterNode::owner):
1922         Renamed from renderer()
1923         (WebCore::CounterNode::renderer):
1924         (WebCore::CounterNode::setRenderer):
1925         Added new accessors for the display renderer.
1926         * rendering/RenderCounter.cpp:
1927         (WebCore::findPlaceForCounter):
1928         Fixed comments. No functional changes.
1929         (WebCore::RenderCounter::~RenderCounter):
1930         Made sure that the CounterNode that this renderers displays is
1931         detached from this.
1932         (WebCore::RenderCounter::originalText):
1933         (WebCore::RenderCounter::invalidate):
1934         Added code to update m_renderer on the displayed CounterNode.
1935         (WebCore::destroyCounterNodeWithoutMapRemoval):
1936         (WebCore::RenderCounter::destroyCounterNodes):
1937         (WebCore::RenderCounter::destroyCounterNode):
1938         (WebCore::updateCounters):
1939         No change, just kept code in line with the changes above.
1940         (showCounterRendererTree):
1941         Added fflush to ensure complete display.
1942         * rendering/RenderCounter.h:
1943         * rendering/RenderObjectChildList.cpp:
1944         * rendering/RenderObjectChildList.h:
1945         Removed unneeded invalidateCounters related functions.
1946
1947 2011-03-11  Luke Macpherson   <macpherson@chromium.org>
1948
1949         Reviewed by Eric Seidel.
1950
1951         Introduce lookup-table based approach for applying CSS properties.
1952         The aim is to be a starting point for refactoring
1953         CSSStyleSelector::applyProperty() into more readable, maintainable code.
1954         https://bugs.webkit.org/show_bug.cgi?id=54707
1955
1956         No new behavior / covered by existing tests.
1957
1958         * css/CSSStyleApplyProperty.cpp: Added.
1959         (WebCore::ApplyPropertyNull):
1960         Class that provides empty implementations of inherit, initial, value.
1961         (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
1962         Class that calls the appropriate RenderStyle setters directly.
1963         (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase):
1964         Class for handling CSSProperty*Color.
1965         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
1966         Class for handling CSSPropertyColor.
1967         (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty):
1968         Singleton initializer.
1969         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1970         Constructor that bulds up the map from property id to apply-er objects.
1971         * css/CSSStyleApplyProperty.h: Added.
1972         (WebCore::CSSStyleApplyProperty::inherit):
1973         Handle the inherit case for a given property.
1974         (WebCore::CSSStyleApplyProperty::initial):
1975         Handle the initial case for a given property.
1976         (WebCore::CSSStyleApplyProperty::value):
1977         Apply a value to a given property.
1978         (WebCore::CSSStyleApplyProperty::implements):
1979         Returns true if the provided property id is implemented.
1980         (WebCore::CSSStyleApplyProperty::index):
1981         Private function to determine the index of a property the property map.
1982         (WebCore::CSSStyleApplyProperty::valid):
1983         Function to determine that a given property id is valid.
1984         (WebCore::CSSStyleApplyProperty::setPropertyValue):
1985         (WebCore::CSSStyleApplyProperty::propertyValue):
1986         * css/CSSStyleSelector.cpp:
1987         (WebCore::CSSStyleSelector::CSSStyleSelector):
1988         Get reference to the CSSStyleApplyProperty singleton.
1989         (WebCore::CSSStyleSelector::applyProperty):
1990         Now calls into CSSStyleApplyProperty for implemented property ids.
1991         Deleted color-related methods from the property id switch.
1992         * css/CSSStyleSelector.h:
1993         (WebCore::CSSStyleSelector::style):
1994         Made public to allow access from CSSStyleApplyProperty.
1995         (WebCore::CSSStyleSelector::parentStyle):
1996         Made public to allow access from CSSStyleApplyProperty.
1997         * rendering/style/RenderStyle.h:
1998         Made CSSStyleApplyProperty a friend class. Necessary because it needs
1999         to access the private getters and setters on this clsass.
2000
2001 2011-03-11  Anton D'Auria  <adauria@apple.com>
2002
2003         Reviewed and landed by Brady Eidson.
2004
2005         Add WebKit1 API to view and delete local storage
2006         https://bugs.webkit.org/show_bug.cgi?id=51878
2007
2008         Created StorageTracker as a central point for tracking and deleting LocalStorage per origin.
2009         StorageTracker maintains its own database of origin identifiers and backing db paths,
2010         and this allows it to contain more relational data in the future, like variable quotas per origin.
2011
2012         On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds
2013         an origin entry when StorageAreaSync performs a first sync for an origin.
2014
2015         All StorageTracker file operations are performed on one background thread with a task queue.
2016
2017         Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html
2018                storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
2019                storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
2020                storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html
2021                storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html
2022
2023         * GNUmakefile.am:
2024         * WebCore.exp.in:
2025         * WebCore.gypi:
2026         * WebCore.pro:
2027         * WebCore.vcproj/WebCore.vcproj:
2028         * WebCore.xcodeproj/project.pbxproj:
2029         * page/PageGroup.cpp:
2030         (WebCore::PageGroup::clearLocalStorageForAllOrigins):
2031         (WebCore::PageGroup::clearLocalStorageForOrigin):
2032         (WebCore::PageGroup::syncLocalStorage):
2033         (WebCore::PageGroup::numberOfPageGroups):
2034         * page/PageGroup.h:
2035         * platform/chromium/FileSystemChromium.cpp:
2036         (WebCore::listDirectory):
2037         * platform/posix/FileSystemPOSIX.cpp:
2038         (WebCore::listDirectory):
2039         * storage/LocalStorageTask.cpp:
2040         (WebCore::LocalStorageTask::LocalStorageTask):
2041         (WebCore::LocalStorageTask::performTask):
2042         * storage/LocalStorageTask.h:
2043         (WebCore::LocalStorageTask::createOriginIdentifiersImport):
2044         (WebCore::LocalStorageTask::createSetOriginDetails):
2045         (WebCore::LocalStorageTask::createDeleteOrigin):
2046         (WebCore::LocalStorageTask::createDeleteAllOrigins):
2047         * storage/StorageAreaImpl.cpp:
2048         (WebCore::StorageAreaImpl::clearForOriginDeletion):
2049         (WebCore::StorageAreaImpl::sync):
2050         * storage/StorageAreaImpl.h:
2051         * storage/StorageAreaSync.cpp:
2052         (WebCore::StorageAreaSync::scheduleCloseDatabase):
2053         (WebCore::StorageAreaSync::openDatabase):
2054         (WebCore::StorageAreaSync::sync):
2055         (WebCore::StorageAreaSync::deleteEmptyDatabase):
2056         (WebCore::StorageAreaSync::scheduleSync):
2057         * storage/StorageAreaSync.h:
2058         * storage/StorageNamespace.h:
2059         * storage/StorageNamespaceImpl.cpp:
2060         (WebCore::StorageNamespaceImpl::clearOriginForDeletion):
2061         (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
2062         (WebCore::StorageNamespaceImpl::sync):
2063         * storage/StorageNamespaceImpl.h:
2064         * storage/StorageTracker.cpp: Added.
2065         (WebCore::StorageTracker::initializeTracker):
2066         (WebCore::StorageTracker::tracker):
2067         (WebCore::StorageTracker::StorageTracker):
2068         (WebCore::StorageTracker::setStorageDirectoryPath):
2069         (WebCore::StorageTracker::trackerDatabasePath):
2070         (WebCore::StorageTracker::openTrackerDatabase):
2071         (WebCore::StorageTracker::importOriginIdentifiers):
2072         (WebCore::StorageTracker::syncImportOriginIdentifiers):
2073         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
2074         (WebCore::StorageTracker::setOriginDetails):
2075         (WebCore::StorageTracker::scheduleTask):
2076         (WebCore::StorageTracker::syncSetOriginDetails):
2077         (WebCore::StorageTracker::origins):
2078         (WebCore::StorageTracker::deleteAllOrigins):
2079         (WebCore::StorageTracker::syncDeleteAllOrigins):
2080         (WebCore::StorageTracker::deleteOrigin):
2081         (WebCore::StorageTracker::syncDeleteOrigin):
2082         (WebCore::StorageTracker::willDeleteAllOrigins):
2083         (WebCore::StorageTracker::willDeleteOrigin):
2084         (WebCore::StorageTracker::canDeleteOrigin):
2085         (WebCore::StorageTracker::cancelDeletingOrigin):
2086         (WebCore::StorageTracker::setClient):
2087         (WebCore::StorageTracker::syncLocalStorage):
2088         * storage/StorageTracker.h: Added.
2089         * storage/StorageTrackerClient.h: Added.
2090         (WebCore::StorageTrackerClient::~StorageTrackerClient):
2091
2092 2011-03-11  Steve Block  <steveblock@google.com>
2093
2094         Reviewed by Jeremy Orlow.
2095
2096         JavaMethod does not correctly check for a null jstring for the method name
2097         https://bugs.webkit.org/show_bug.cgi?id=56187
2098
2099         No new tests, simple typo fix.
2100
2101         * bridge/jni/JavaMethod.cpp:
2102         (JavaMethod::JavaMethod):
2103
2104 2011-03-11  Adrienne Walker  <enne@google.com>
2105
2106         Reviewed by James Robinson.
2107
2108         [chromium] Compositor uses too much texture memory for scrollbars
2109         https://bugs.webkit.org/show_bug.cgi?id=56212
2110
2111         Compositor invalidations can be off the page (and very large), but
2112         scrollbars only need to care about the invalidation that's visible.
2113         The large invalidation was causing the tiler layer size to grow
2114         needlessly larger than the scrollbar.
2115
2116         * platform/graphics/chromium/LayerRendererChromium.cpp:
2117         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
2118
2119 2011-03-11  David Hyatt  <hyatt@apple.com>
2120
2121         Reviewed by Simon Fraser.
2122
2123         https://bugs.webkit.org/show_bug.cgi?id=52987
2124         
2125         REGRESSION: Overflowing columns not repainted correctly
2126         
2127         Make sure to add in column overflow as visual overflow as well.  It was only propagating layout overflow, which is obviously not
2128         sufficient, since blocks paint their own columns.
2129
2130         Added fast/multicol/scrolling-overflow.html
2131
2132         * rendering/RenderBlock.cpp:
2133         (WebCore::RenderBlock::addOverflowFromChildren):
2134
2135 2011-03-11  Matthew Delaney  <mdelaney@apple.com>
2136
2137         Reviewed by Simon Fraser.
2138
2139         Set canvasUsesAcceleratedDrawing setting to be off(false) by default
2140         https://bugs.webkit.org/show_bug.cgi?id=56215
2141
2142         No new tests. Does not affect behavior. Just keeping the setting off by default.
2143
2144         * page/Settings.cpp:
2145         (WebCore::Settings::Settings):
2146
2147 2011-03-11  Andy Estes  <aestes@apple.com>
2148
2149         Reviewed by David Hyatt.
2150
2151         Table cells with dynamically added percentage height descendants do not
2152         grow in size if the table has already been laid out.
2153         https://bugs.webkit.org/show_bug.cgi?id=56174
2154         
2155         Table cells ignore their specified size and collapse to fit their
2156         children. When a descendent with percentage height is present before
2157         the table is first laid out, the descendent is sized based on the
2158         specified size of the table cell. However, when the child isn't present
2159         when the table is first laid out, the table cell ignores its specified
2160         size and collapses down to 0. Then, when the child div is added in a
2161         separate run loop iteration, it is sized to be 100% of the collapsed
2162         cell height instead of 100% of the cell's specified height. We should
2163         not get different layouts depending on the timing of tree construction.
2164         
2165         Fix this by clearing intrinsic padding before calculating the table
2166         cell's override height when we detect a child that should flex the
2167         table cell.
2168
2169         Test: fast/table/dynamic-descendant-percentage-height.html
2170
2171         * rendering/RenderTableCell.cpp:
2172         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear
2173         intrinsic padding before setting the override size.
2174         * rendering/RenderTableCell.h:
2175         * rendering/RenderTableSection.cpp:
2176         (WebCore::RenderTableSection::layoutRows): Call
2177         setOverrideSizeFromRowHeight() instead of setOverrideSize().
2178
2179 2011-03-11  Michael Nordman  <michaeln@google.com>
2180
2181         Reviewed by David Levin.
2182
2183         Add SQLCallbackWrapper
2184         Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects
2185         which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread.
2186         https://bugs.webkit.org/show_bug.cgi?id=55919
2187
2188         No new tests, existing tests apply.
2189
2190         * GNUmakefile.am:
2191         * WebCore.gypi:
2192         * WebCore.pro:
2193         * WebCore.vcproj/WebCore.vcproj:
2194         * WebCore.xcodeproj/project.pbxproj:
2195         * storage/SQLCallbackWrapper.h: Added.
2196         (WebCore::SQLCallbackWrapper::SQLCallbackWrapper):
2197         (WebCore::SQLCallbackWrapper::clear):
2198         (WebCore::SQLCallbackWrapper::unwrap):
2199         (WebCore::SQLCallbackWrapper::hasCallback):
2200         (WebCore::SQLCallbackWrapper::safeRelease):
2201         * storage/SQLStatement.cpp:
2202         (WebCore::SQLStatement::create):
2203         (WebCore::SQLStatement::SQLStatement):
2204         (WebCore::SQLStatement::performCallback):
2205         * storage/SQLStatement.h:
2206         (WebCore::SQLStatement::hasStatementCallback):
2207         (WebCore::SQLStatement::hasStatementErrorCallback):
2208         * storage/SQLTransaction.cpp:
2209         (WebCore::SQLTransaction::SQLTransaction):
2210         (WebCore::SQLTransaction::executeSQL):
2211         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
2212         (WebCore::SQLTransaction::deliverTransactionCallback):
2213         (WebCore::SQLTransaction::deliverStatementCallback):
2214         (WebCore::SQLTransaction::postflightAndCommit):
2215         (WebCore::SQLTransaction::deliverSuccessCallback):
2216         (WebCore::SQLTransaction::handleTransactionError):
2217         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
2218         * storage/SQLTransaction.h:
2219
2220 2011-03-11  Eric Carlson  <eric.carlson@apple.com>
2221
2222         Reviewed by Sam Weinig.
2223
2224         <rdar://problem/8955589> Adopt AVFoundation media back end on Lion.
2225
2226         No new tests, existing media tests cover this.
2227
2228         * WebCore.xcodeproj/project.pbxproj:
2229         * platform/graphics/MediaPlayer.cpp:
2230         (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC.
2231         (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace.
2232         (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto.
2233         (WebCore::MediaPlayer::inMediaDocument): Ditto.
2234         * platform/graphics/MediaPlayer.h:
2235
2236         * platform/graphics/avfoundation: Added.
2237         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added.
2238         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added.
2239
2240         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added.
2241         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added.
2242
2243 2011-03-11  Dean Jackson  <dino@apple.com>
2244
2245         Reviewed by Simon Fraser.
2246
2247         https://bugs.webkit.org/show_bug.cgi?id=56205
2248         m_restrictions needs to allow multiple values (a bitfield)
2249
2250         HTMLMediaElement::m_restrictions needs to hold multiple values, so
2251         change BehaviorRestrictions to an unsigned typedef and rename the
2252         existing enum BehaviorRestrictionFlags.
2253
2254         * html/HTMLMediaElement.h:
2255         (WebCore::HTMLMediaElement::setBehaviorRestrictions):
2256
2257 2011-03-11  David Hyatt  <hyatt@apple.com>
2258
2259         Reviewed by Dan Bernstein.
2260
2261         https://bugs.webkit.org/show_bug.cgi?id=47206
2262         
2263         Table rows don't support ::before/::after.  Add support to RenderTableRow::styleDidChange so that ::before/::after content gets
2264         properly constructed.
2265
2266         Added fast/css-generated-content/table-row-before-after.html
2267
2268         * rendering/RenderTableRow.cpp:
2269         (WebCore::RenderTableRow::styleDidChange):
2270         * rendering/RenderTableRow.h:
2271
2272 2011-03-11  James Robinson  <jamesr@chromium.org>
2273
2274         Reviewed by Kenneth Russell.
2275
2276         [chromium] Avoid updating a composited layer&apos;s contents if the layer has nonpositive dimensions
2277         https://bugs.webkit.org/show_bug.cgi?id=56209
2278
2279         This matches the behavior prior to r80482.  No test since the only changes in
2280         behavior are avoiding work on invisible layers, which is unobservable,
2281         and fixing a crash due to bug 56153.
2282
2283         * platform/graphics/chromium/LayerRendererChromium.cpp:
2284         (WebCore::LayerRendererChromium::updateContentsRecursive):
2285
2286 2011-03-11  David Hyatt  <hyatt@apple.com>
2287
2288         Reviewed by Simon Fraser.
2289
2290         https://bugs.webkit.org/show_bug.cgi?id=47159
2291         
2292         CSS2.1 failures in background position parsing.
2293         
2294         Rewrite background position component parsing to match the spec.  Our old parsing would allow "100% left" to be valid
2295         when it should not have.  Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for
2296         it to understand what the first component was.
2297         
2298         For individual property parsing using background-position-x/y, I added new functions that just handle that without
2299         worrying about the other component.
2300         
2301         In order to pass the CSS2.1 test, I also had to fix multiple background parsing.  The number of layers in multiple
2302         backgrounds is determined solely by the background-image property and not by any of the other properties.  cullEmptyLayers
2303         has been changed to always consider a layer empty if it has no image set, even if other properties are set.
2304         
2305         A number of layout tests had to be patched as they were invalid.  A couple of them relied on incorrect background-position
2306         parsing (e.g., "50 left") and another relied on incorrect multiple background parsing.  It's not clear if the computed style
2307         should actually include the additional values when no image is set though, so that should perhaps be the subject of a 
2308         follow-up bug.
2309
2310         Added fast/backgrounds/background-position-parsing.html
2311
2312         * css/CSSParser.cpp:
2313         (WebCore::CSSParser::parseFillPositionX):
2314         (WebCore::CSSParser::parseFillPositionY):
2315         (WebCore::CSSParser::parseFillPositionComponent):
2316         (WebCore::CSSParser::parseFillPosition):
2317         (WebCore::CSSParser::parseFillProperty):
2318         (WebCore::CSSParser::parseTransformOrigin):
2319         (WebCore::CSSParser::parsePerspectiveOrigin):
2320         * css/CSSParser.h:
2321         * rendering/style/FillLayer.cpp:
2322         (WebCore::FillLayer::fillUnsetProperties):
2323         (WebCore::FillLayer::cullEmptyLayers):
2324
2325 2011-03-11  Vangelis Kokkevis  <vangelis@chromium.org>
2326
2327         Reviewed by James Robinson.
2328
2329         [chromium] Allow large layers with non-identity transforms to be drawn
2330         as long as their visible portion is smaller than the largest supported
2331         texture size. This code will soon be replaced by tiled layers.
2332         https://bugs.webkit.org/show_bug.cgi?id=55984
2333
2334         Test: platform/chromium/compositing/huge-layer-rotated.html
2335
2336         * platform/graphics/chromium/ContentLayerChromium.cpp:
2337         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2338         (WebCore::ContentLayerChromium::draw):
2339         * platform/graphics/chromium/ContentLayerChromium.h:
2340
2341 2011-03-09  Chris Marrin  <cmarrin@apple.com>
2342
2343         Reviewed by Adam Roben.
2344
2345         REGRESSION (5.0.3-ToT): Scrolling text doesn&apos;t scroll in Star Wars intro animation
2346         https://bugs.webkit.org/show_bug.cgi?id=52468
2347
2348         Added WIN32 to the ifdef controlling whether animations are applied in normal or
2349         reverse order. On Mac, animations used to be applied in reverse, but 
2350         <rdar://problem/7095638> fixed this in the release after Snow Leopard.
2351         But that patch has not be applied to the Safari Windows SDK yet. For now
2352         I've made Windows use the reverse order logig. <rdar://problem/9112233> is
2353         tracking the inclusion of the patch on Windows.
2354
2355         * platform/graphics/ca/GraphicsLayerCA.cpp:
2356         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
2357
2358 2011-03-11  Tony Gentilcore  <tonyg@chromium.org>
2359
2360         Reviewed by Eric Seidel.
2361
2362         Let the parser yield for layout before running scripts
2363         https://bugs.webkit.org/show_bug.cgi?id=54355
2364
2365         Prior to this patch, the parser would yield to perform a layout/paint before running a
2366         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
2367         don't preload scan into the body while parsing the head, typically we'll block on a script
2368         early in the body that causes us to yield to do the first paint within a reasonable time.
2369
2370         However, I'm planning to change the PreloadScanner to scan into the body from the head.
2371         That significantly improves overall load time, but would hurt first paint time because
2372         fewer scripts would be blocked during parsing and thus wouldn't yield.
2373
2374         This change causes us to yield before running scripts if we haven't painted yet (regardless
2375         of whether or not the script is loaded). In addition to allowing the above mentioned
2376         PreloadScanner change to be implemented without regressing first paint time, this also
2377         improves first paint time by itself.
2378
2379         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
2380         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
2381         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
2382         signifcant change in page load time.
2383
2384         Within the pages tested, 33 had no statistically significant change in time to first paint,
2385         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
2386         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
2387
2388         * html/parser/HTMLDocumentParser.cpp:
2389         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
2390         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
2391         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
2392         the right thing whether we are just before a token or waiting for a script. Now that we may
2393         yield before a token or before a script, this may be called while paused.
2394         * html/parser/HTMLParserScheduler.cpp:
2395         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
2396         * page/FrameView.h:
2397         (WebCore::FrameView::hasEverPainted): Added.
2398
2399 2011-03-11  Dimitri Glazkov  <dglazkov@chromium.org>
2400
2401         Fix crashes in dom/html/level2/html/HTMLInputElement*.
2402
2403         * css/CSSStyleSelector.cpp:
2404         (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e,
2405             because e can certainly be a null.
2406
2407 2011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
2408
2409         Reviewed by David Hyatt.
2410
2411         Choke text-decoration when entering shadow DOM subtree.
2412         https://bugs.webkit.org/show_bug.cgi?id=56044
2413
2414         No new tests, because the functionality can't be tested yet.
2415
2416         * css/CSSStyleSelector.cpp:
2417         (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root.
2418
2419 2011-03-08  Dimitri Glazkov  <dglazkov@chromium.org>
2420
2421         Reviewed by Eric Carlson.
2422
2423         Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer.
2424         https://bugs.webkit.org/show_bug.cgi?id=55972
2425
2426         Instead of poking at the time display elements all the way from RenderMedia,
2427         let the standard layout cycle take care of things. Move the logic of calculating
2428         when to collapse the time display elements into a custom renderer, since
2429         this is not something that can be accomplished with CSS.
2430
2431         Also, the logic of keeping the timeline slider at least 100px needed refreshing,
2432         since it didn't actually keep it at 100px.
2433
2434         * html/shadow/MediaControls.cpp: Moved the logic of determining visibility
2435             of time display elements to RenderMediaControlTimeDisplay, eliminating
2436             updateTimeDisplayVisibility method.
2437         * html/shadow/MediaControls.h: Removed decl.
2438         * rendering/MediaControlElements.cpp:
2439         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
2440             Added new renderer class.
2441         (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected)
2442             size-sensing logic, still using hard-coded values.
2443         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
2444             Removed m_isVisible member, which is no longer necessary.
2445         (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to
2446             return the new renderer.
2447         * rendering/MediaControlElements.h: Adjusted decls.
2448         * rendering/RenderMedia.cpp:
2449         (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at
2450             media controls in layout.
2451
2452 2011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
2453
2454         Reviewed by Eric Carlson.
2455
2456         Start focusing updates to media controls, away from always updating everything.
2457         https://bugs.webkit.org/show_bug.cgi?id=56038
2458
2459         For now, the new methods just call generic MediaControls::update.
2460
2461         Covered by existing tests.
2462
2463         * html/HTMLMediaElement.cpp:
2464         (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset.
2465         (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute.
2466         (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume.
2467         (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls
2468             accessor.
2469         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use
2470             MediaControls::changedClosedCaptionsVisibility.
2471         (WebCore::HTMLMediaElement::mediaControls): Added.
2472         (WebCore::HTMLMediaElement::hasMediaControls): Added.
2473         * html/HTMLMediaElement.h: Added decls.
2474         * html/shadow/MediaControls.cpp:
2475         (WebCore::MediaControls::reset): Added.
2476         (WebCore::MediaControls::changedMute): Added.
2477         (WebCore::MediaControls::changedVolume): Added.
2478         (WebCore::MediaControls::changedClosedCaptionsVisibility): Added.
2479         * html/shadow/MediaControls.h: Added decls.
2480
2481 2011-03-11  Alexis Menard  <alexis.menard@openbossa.org>
2482
2483         Reviewed by Martin Robinson.
2484
2485         [GStreamer] When seeking webKitWebSrcStop release the frame but should not.
2486         https://bugs.webkit.org/show_bug.cgi?id=55703
2487
2488         When calling webKitWebSrcStop in case of a seeking, the frame should not
2489         be reset (the source hasn't change). The frame may be used to get the network
2490         context. Some network stack (like Qt) are relaying on the network context
2491         to work.
2492
2493         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2494         (webKitWebSrcStop):
2495
2496 2011-03-11  Dean Jackson  <dino@apple.com>
2497
2498         Unreviewed.
2499
2500         Build fixes for GTK and Leopard.
2501
2502         * bindings/gobject/GNUmakefile.am:
2503         - add missing WebKitAnimation* generated bindings
2504         * page/WebKitAnimation.idl:
2505         - use double in place of float (the core values are double anyway)
2506
2507 2011-03-11  Dean Jackson  <dino@apple.com>
2508
2509         Unreviewed build fix for QT.
2510
2511         * WebCore.pro:
2512
2513 2011-03-11  Dean Jackson  <dino@apple.com>
2514
2515         Reviewed by Simon Fraser and Chris Marrin.
2516
2517         https://bugs.webkit.org/show_bug.cgi?id=54151
2518         Implement an API to play/pause/scrub animations
2519
2520         This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
2521         APIs, exposed via Element.getWebKitAnimations(). This first pass
2522         is a read-only API - a subsequent commit will add the ability
2523         to scrub animations.
2524
2525         Test: animations/animation-api-1.html
2526
2527         * Android.derived.jscbindings.mk:
2528         * Android.derived.v8bindings.mk:
2529         * Android.mk:
2530         * Android.v8bindings.mk:
2531         * CMakeLists.txt:
2532         * CodeGenerators.pri:
2533         * DerivedSources.cpp:
2534         * DerivedSources.make:
2535         * GNUmakefile.am:
2536         * WebCore.gypi:
2537         * WebCore.pro:
2538         * WebCore.vcproj/WebCore.vcproj:
2539         * WebCore.xcodeproj/project.pbxproj:
2540         - All build settings updated for new files
2541         * bindings/js/JSBindingsAllInOne.cpp:
2542         - Include new custom files
2543         * bindings/js/JSWebKitAnimationCustom.cpp: Added.
2544         (WebCore::JSWebKitAnimation::iterationCount):
2545         - Custom property getter so that we can return INFINITY
2546         * bindings/js/JSWebKitAnimationListCustom.cpp: Added.
2547         (WebCore::JSWebKitAnimationList::markChildren):
2548         - Make sure WebKitAnimations are marked
2549         * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added.
2550         (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
2551         - Custom property getter so that we can return INFINITY
2552         * dom/Element.cpp:
2553         (WebCore::Element::webkitGetAnimations):
2554         * dom/Element.h:
2555         * dom/Element.idl:
2556         - New API entry point
2557         * page/DOMWindow.idl:
2558         - Constructor definitions for WebKitAnimation and WebKitAnimationList
2559         * page/animation/AnimationBase.cpp:
2560         (WebCore::AnimationBase::~AnimationBase):
2561         - Since AnimationBase can now live longer (if a WebKitAnimation is
2562         held in Javascript) we need to guard for the renderer having disappeared.
2563         (WebCore::AnimationBase::setElapsedTime):
2564         (WebCore::AnimationBase::play):
2565         (WebCore::AnimationBase::pause):
2566         - Stub implementations at present
2567         * page/animation/AnimationBase.h:
2568         (WebCore::AnimationBase::animation):
2569         - Expose the Animation properties
2570         * page/animation/AnimationController.cpp:
2571         (WebCore::AnimationControllerPrivate::animationsForRenderer):
2572         (WebCore::AnimationController::animationsForRenderer):
2573         - Builds the list of WebKitAnimations
2574         * page/animation/AnimationController.h:
2575         * page/animation/AnimationControllerPrivate.h:
2576         * page/animation/CompositeAnimation.cpp:
2577         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2578         - Make sure we clear the renderer if we are removing the animation
2579         (WebCore::CompositeAnimation::animations):
2580         * page/animation/CompositeAnimation.h:
2581         * page/WebKitAnimation.cpp: Added.
2582         (WebCore::WebKitAnimation::WebKitAnimation):
2583         (WebCore::WebKitAnimation::name):
2584         (WebCore::WebKitAnimation::duration):
2585         (WebCore::WebKitAnimation::elapsedTime):
2586         (WebCore::WebKitAnimation::setElapsedTime):
2587         (WebCore::WebKitAnimation::delay):
2588         (WebCore::WebKitAnimation::iterationCount):
2589         (WebCore::WebKitAnimation::paused):
2590         (WebCore::WebKitAnimation::ended):
2591         (WebCore::WebKitAnimation::direction):
2592         (WebCore::WebKitAnimation::fillMode):
2593         (WebCore::WebKitAnimation::pause):
2594         (WebCore::WebKitAnimation::play):
2595         - The implementation of the new API. All the read-only parts are
2596         done, but elapsedTime, play() and pause() are stubs.
2597         * page/WebKitAnimation.h: Added.
2598         (WebCore::WebKitAnimation::create):
2599         (WebCore::WebKitAnimation::~WebKitAnimation):
2600         * page/WebKitAnimation.idl: Added.
2601         * page/WebKitAnimationList.cpp: Added.
2602         * page/WebKitAnimationList.h: Added.
2603         * page/WebKitAnimationList.idl: Added.
2604         - Copies NodeList implementation
2605
2606 2011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
2607
2608         Reviewed by Yury Semikhatsky.
2609
2610         Web Inspector: introduce error argument for all the callbacks on frontend.
2611         https://bugs.webkit.org/show_bug.cgi?id=56100
2612
2613         * inspector/CodeGeneratorInspector.pm:
2614         * inspector/front-end/AuditRules.js:
2615         (WebInspector.AuditRules.evaluateInTargetWindow):
2616         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
2617         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
2618         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2619         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2620         * inspector/front-end/CSSStyleModel.js:
2621         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
2622         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
2623         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
2624         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2625         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
2626         (WebInspector.CSSStyleModel.prototype.addRule):
2627         (WebInspector.CSSStyleModel.prototype.addRule.callback):
2628         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
2629         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2630         (WebInspector.CSSStyleModel.prototype._onRevert):
2631         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2632         (WebInspector.CSSProperty.prototype.setText.callback):
2633         (WebInspector.CSSProperty.prototype.setText):
2634         (WebInspector.CSSProperty.prototype.setDisabled.callback):
2635         (WebInspector.CSSProperty.prototype.setDisabled):
2636         (WebInspector.CSSStyleSheet.createForId):
2637         (WebInspector.CSSStyleSheet.prototype.setText):
2638         * inspector/front-end/ConsoleView.js:
2639         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
2640         * inspector/front-end/DOMAgent.js:
2641         (WebInspector.DOMNode.prototype.setNodeName):
2642         (WebInspector.DOMNode.prototype.setNodeValue):
2643         (WebInspector.DOMNode.prototype.setAttribute):
2644         (WebInspector.DOMNode.prototype.removeAttribute):
2645         (WebInspector.DOMNode.prototype.childNodes.mycallback):
2646         (WebInspector.DOMNode.prototype.childNodes):
2647         (WebInspector.DOMNode.prototype.outerHTML):
2648         (WebInspector.DOMNode.prototype.setOuterHTML):
2649         (WebInspector.DOMNode.prototype.removeNode):
2650         (WebInspector.DOMNode.prototype.copyNode):
2651         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
2652         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
2653         (WebInspector.DOMAgent.prototype._documentUpdated):
2654         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
2655         (WebInspector.Cookies.getCookiesAsync):
2656         (WebInspector.EventListeners.getEventListenersForNodeAsync):
2657         * inspector/front-end/DOMStorage.js:
2658         (WebInspector.DOMStorage.prototype.getEntries):
2659         (WebInspector.DOMStorage.prototype.setItem):
2660         (WebInspector.DOMStorage.prototype.removeItem):
2661         * inspector/front-end/Database.js:
2662         (WebInspector.Database.prototype.getTableNames):
2663         (WebInspector.Database.prototype.executeSql):
2664         * inspector/front-end/DebuggerModel.js:
2665         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
2666         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2667         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2668         (WebInspector.DebuggerModel.prototype.editScriptSource):
2669         * inspector/front-end/ElementsPanel.js:
2670         (WebInspector.ElementsPanel.prototype._setSearchingForNode):
2671         * inspector/front-end/ElementsTreeOutline.js:
2672         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
2673         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2674         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
2675         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
2676         ():
2677         * inspector/front-end/ExtensionPanel.js:
2678         (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
2679         * inspector/front-end/ExtensionServer.js:
2680         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2681         * inspector/front-end/NetworkManager.js:
2682         (WebInspector.NetworkManager.prototype.requestContent):
2683         (WebInspector.NetworkManager.prototype._processCachedResources):
2684         * inspector/front-end/ProfileView.js:
2685         (WebInspector.CPUProfileView.profileCallback):
2686         (WebInspector.CPUProfileView):
2687         * inspector/front-end/ProfilesPanel.js:
2688         * inspector/front-end/RemoteObject.js:
2689         (WebInspector.RemoteObject.resolveNode):
2690         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
2691         (WebInspector.RemoteObject.prototype.getProperties):
2692         (WebInspector.RemoteObject.prototype.setPropertyValue):
2693         (WebInspector.RemoteObject.prototype.evaluate):
2694         * inspector/front-end/Script.js:
2695         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
2696         (WebInspector.Script.prototype.requestSource):
2697         * inspector/front-end/ScriptsPanel.js:
2698         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
2699         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2700         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
2701         * inspector/front-end/inspector.js:
2702         ():
2703         (WebInspector.doLoadedDone.onPopulateScriptObjects):
2704         (WebInspector.doLoadedDone.propertyNamesCallback):
2705         (WebInspector.doLoadedDone):
2706
2707 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
2708
2709         Reviewed by Pavel Feldman.
2710
2711         Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
2712         https://bugs.webkit.org/show_bug.cgi?id=56173
2713
2714         Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
2715
2716         * CMakeLists.txt:
2717         * GNUmakefile.am:
2718         * WebCore.gypi:
2719         * WebCore.pro:
2720         * WebCore.vcproj/WebCore.vcproj:
2721         * WebCore.xcodeproj/project.pbxproj:
2722         * bindings/js/JSInjectedScriptHostCustom.cpp:
2723         * bindings/js/JSInjectedScriptManager.cpp: Added.
2724         (WebCore::InjectedScriptManager::createInjectedScript):
2725         (WebCore::InjectedScriptManager::discardInjectedScript):
2726         (WebCore::InjectedScriptManager::injectedScriptFor):
2727         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2728         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2729         * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
2730         (WebCore::WeakReferenceCallback):
2731         (WebCore::createInjectedScriptHostV8Wrapper):
2732         (WebCore::InjectedScriptManager::createInjectedScript):
2733         (WebCore::InjectedScriptManager::discardInjectedScript):
2734         (WebCore::InjectedScriptManager::injectedScriptFor):
2735         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2736         * inspector/ConsoleMessage.cpp:
2737         (WebCore::ConsoleMessage::addToFrontend):
2738         * inspector/ConsoleMessage.h:
2739         * inspector/InjectedScript.cpp:
2740         (WebCore::InjectedScript::canAccessInspectedWindow):
2741         * inspector/InjectedScript.h:
2742         * inspector/InjectedScriptHost.cpp:
2743         (WebCore::InjectedScriptHost::create):
2744         (WebCore::InjectedScriptHost::InjectedScriptHost):
2745         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2746         (WebCore::InjectedScriptHost::disconnect):
2747         (WebCore::InjectedScriptHost::inspectImpl):
2748         (WebCore::InjectedScriptHost::clearConsoleMessages):
2749         (WebCore::InjectedScriptHost::databaseIdImpl):
2750         (WebCore::InjectedScriptHost::storageIdImpl):
2751         * inspector/InjectedScriptHost.h:
2752         (WebCore::InjectedScriptHost::init):
2753         (WebCore::InjectedScriptHost::setFrontend):
2754         (WebCore::InjectedScriptHost::clearFrontend):
2755         * inspector/InjectedScriptManager.cpp: Added.
2756         (WebCore::InjectedScriptManager::create):
2757         (WebCore::InjectedScriptManager::InjectedScriptManager):
2758         (WebCore::InjectedScriptManager::~InjectedScriptManager):
2759         (WebCore::InjectedScriptManager::disconnect):
2760         (WebCore::InjectedScriptManager::injectedScriptHost):
2761         (WebCore::InjectedScriptManager::injectedScriptForId):
2762         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
2763         (WebCore::InjectedScriptManager::discardInjectedScripts):
2764         (WebCore::InjectedScriptManager::releaseObjectGroup):
2765         (WebCore::InjectedScriptManager::injectedScriptSource):
2766         (WebCore::InjectedScriptManager::injectScript):
2767         * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
2768         * inspector/Inspector.idl:
2769         * inspector/InspectorAgent.cpp:
2770         (WebCore::InspectorAgent::InspectorAgent):
2771         (WebCore::InspectorAgent::inspectedPageDestroyed):
2772         (WebCore::InspectorAgent::focusNode):
2773         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2774         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
2775         (WebCore::InspectorAgent::didCommitLoad):
2776         (WebCore::InspectorAgent::domContentLoadedEventFired):
2777         * inspector/InspectorAgent.h:
2778         * inspector/InspectorBrowserDebuggerAgent.cpp:
2779         * inspector/InspectorConsoleAgent.cpp:
2780         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2781         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2782         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2783         (WebCore::InspectorConsoleAgent::addInspectedNode):
2784         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2785         (WebCore::InspectorConsoleAgent::addConsoleMessage):
2786         * inspector/InspectorConsoleAgent.h:
2787         * inspector/InspectorController.cpp:
2788         (WebCore::InspectorController::InspectorController):
2789         (WebCore::InspectorController::connectFrontend):
2790         (WebCore::InspectorController::disconnectFrontend):
2791         * inspector/InspectorController.h:
2792         * inspector/InspectorDOMAgent.cpp:
2793         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2794         (WebCore::InspectorDOMAgent::discardBindings):
2795         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
2796         (WebCore::InspectorDOMAgent::resolveNode):
2797         * inspector/InspectorDOMAgent.h:
2798         (WebCore::InspectorDOMAgent::create):
2799         * inspector/InspectorDebuggerAgent.cpp:
2800         (WebCore::InspectorDebuggerAgent::create):
2801         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2802         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2803         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2804         * inspector/InspectorDebuggerAgent.h:
2805         * inspector/InspectorRuntimeAgent.cpp:
2806         (WebCore::InspectorRuntimeAgent::create):
2807         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2808         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
2809         (WebCore::InspectorRuntimeAgent::evaluate):
2810         (WebCore::InspectorRuntimeAgent::evaluateOn):
2811         (WebCore::InspectorRuntimeAgent::getProperties):
2812         (WebCore::InspectorRuntimeAgent::setPropertyValue):
2813         (WebCore::InspectorRuntimeAgent::releaseObject):
2814         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
2815         * inspector/InspectorRuntimeAgent.h:
2816         * inspector/front-end/ElementsPanel.js:
2817         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2818         (WebInspector.ElementsPanel):
2819
2820 2011-03-11  Anton Muhin  <antonm@chromium.org>
2821
2822         Reviewed by Adam Barth.
2823
2824         [v8] Change the way group id for CSS objects is calculated
2825         https://bugs.webkit.org/show_bug.cgi?id=56117
2826
2827         Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group
2828         as they should not be reachable in JavaScript.
2829
2830         Covered by existing layout tests.  Fact of absence of retention is not trivial to prove.
2831
2832         * bindings/v8/V8GCController.cpp:
2833         (WebCore::calculateGroupId):
2834         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
2835
2836 2011-03-11  Alexander Pavlov  <apavlov@chromium.org>
2837
2838         Reviewed by Yury Semikhatsky.
2839
2840         Web Inspector: hover over elements in Elements panel does not highlight nodes
2841         https://bugs.webkit.org/show_bug.cgi?id=56121
2842
2843         In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary
2844         is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate
2845         for these 16px when computing the test point coordinates.
2846
2847         * inspector/front-end/ElementsTreeOutline.js:
2848         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
2849
2850 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
2851
2852         Unreviewed. Roll out r80837.
2853
2854         * CMakeLists.txt:
2855         * GNUmakefile.am:
2856         * WebCore.gypi:
2857         * WebCore.pro:
2858         * WebCore.vcproj/WebCore.vcproj:
2859         * WebCore.xcodeproj/project.pbxproj:
2860         * bindings/js/JSInjectedScriptHostCustom.cpp:
2861         (WebCore::InjectedScriptHost::createInjectedScript):
2862         (WebCore::InjectedScriptHost::discardInjectedScript):
2863         (WebCore::InjectedScriptHost::injectedScriptFor):
2864         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
2865         * bindings/js/JSInjectedScriptManager.cpp: Removed.
2866         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2867         (WebCore::WeakReferenceCallback):
2868         (WebCore::createInjectedScriptHostV8Wrapper):
2869         (WebCore::InjectedScriptHost::createInjectedScript):
2870         (WebCore::InjectedScriptHost::discardInjectedScript):
2871         (WebCore::InjectedScriptHost::injectedScriptFor):
2872         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
2873         * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed.
2874         * inspector/ConsoleMessage.cpp:
2875         (WebCore::ConsoleMessage::addToFrontend):
2876         * inspector/ConsoleMessage.h:
2877         * inspector/InjectedScript.cpp:
2878         (WebCore::InjectedScript::canAccessInspectedWindow):
2879         * inspector/InjectedScript.h:
2880         * inspector/InjectedScriptHost.cpp:
2881         (WebCore::InjectedScriptHost::InjectedScriptHost):
2882         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2883         (WebCore::InjectedScriptHost::inspectImpl):
2884         (WebCore::InjectedScriptHost::clearConsoleMessages):
2885         (WebCore::InjectedScriptHost::databaseIdImpl):
2886         (WebCore::InjectedScriptHost::storageIdImpl):
2887         (WebCore::InjectedScriptHost::injectedScriptForId):
2888         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
2889         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
2890         (WebCore::InjectedScriptHost::discardInjectedScripts):
2891         (WebCore::InjectedScriptHost::releaseObjectGroup):
2892         (WebCore::InjectedScriptHost::frontend):
2893         (WebCore::InjectedScriptHost::injectedScriptSource):
2894         (WebCore::InjectedScriptHost::injectScript):
2895         * inspector/InjectedScriptHost.h:
2896         (WebCore::InjectedScriptHost::create):
2897         (WebCore::InjectedScriptHost::inspectorAgent):
2898         (WebCore::InjectedScriptHost::disconnectController):
2899         * inspector/InjectedScriptManager.cpp: Removed.
2900         * inspector/InjectedScriptManager.h: Removed.
2901         * inspector/Inspector.idl:
2902         * inspector/InspectorAgent.cpp:
2903         (WebCore::InspectorAgent::InspectorAgent):
2904         (WebCore::InspectorAgent::inspectedPageDestroyed):
2905         (WebCore::InspectorAgent::focusNode):
2906         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2907         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
2908         (WebCore::InspectorAgent::didCommitLoad):
2909         (WebCore::InspectorAgent::domContentLoadedEventFired):
2910         * inspector/InspectorAgent.h:
2911         (WebCore::InspectorAgent::injectedScriptHost):
2912         * inspector/InspectorBrowserDebuggerAgent.cpp:
2913         * inspector/InspectorConsoleAgent.cpp:
2914         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2915         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2916         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2917         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2918         (WebCore::InspectorConsoleAgent::addConsoleMessage):
2919         * inspector/InspectorConsoleAgent.h:
2920         * inspector/InspectorController.cpp:
2921         (WebCore::InspectorController::InspectorController):
2922         (WebCore::InspectorController::connectFrontend):
2923         (WebCore::InspectorController::disconnectFrontend):
2924         * inspector/InspectorController.h:
2925         * inspector/InspectorDOMAgent.cpp:
2926         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2927         (WebCore::InspectorDOMAgent::discardBindings):
2928         (WebCore::InspectorDOMAgent::addInspectedNode):
2929         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
2930         (WebCore::InspectorDOMAgent::resolveNode):
2931         * inspector/InspectorDOMAgent.h:
2932         (WebCore::InspectorDOMAgent::create):
2933         * inspector/InspectorDebuggerAgent.cpp:
2934         (WebCore::InspectorDebuggerAgent::create):
2935         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2936         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2937         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2938         * inspector/InspectorDebuggerAgent.h:
2939         * inspector/InspectorRuntimeAgent.cpp:
2940         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2941         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
2942         (WebCore::InspectorRuntimeAgent::evaluate):
2943         (WebCore::InspectorRuntimeAgent::evaluateOn):
2944         (WebCore::InspectorRuntimeAgent::getProperties):
2945         (WebCore::InspectorRuntimeAgent::setPropertyValue):
2946         (WebCore::InspectorRuntimeAgent::releaseObject):
2947         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
2948         * inspector/InspectorRuntimeAgent.h:
2949         (WebCore::InspectorRuntimeAgent::create):
2950         * inspector/front-end/ElementsPanel.js:
2951         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2952         (WebInspector.ElementsPanel):
2953
2954 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
2955
2956         Reviewed by Pavel Feldman.
2957
2958         Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
2959         https://bugs.webkit.org/show_bug.cgi?id=56173
2960
2961         Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
2962
2963         * CMakeLists.txt:
2964         * GNUmakefile.am:
2965         * WebCore.gypi:
2966         * WebCore.pro:
2967         * WebCore.vcproj/WebCore.vcproj:
2968         * WebCore.xcodeproj/project.pbxproj:
2969         * bindings/js/JSInjectedScriptHostCustom.cpp:
2970         * bindings/js/JSInjectedScriptManager.cpp: Added.
2971         (WebCore::InjectedScriptManager::createInjectedScript):
2972         (WebCore::InjectedScriptManager::discardInjectedScript):
2973         (WebCore::InjectedScriptManager::injectedScriptFor):
2974         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2975         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2976         * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
2977         (WebCore::WeakReferenceCallback):
2978         (WebCore::createInjectedScriptHostV8Wrapper):
2979         (WebCore::InjectedScriptManager::createInjectedScript):
2980         (WebCore::InjectedScriptManager::discardInjectedScript):
2981         (WebCore::InjectedScriptManager::injectedScriptFor):
2982         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2983         * inspector/ConsoleMessage.cpp:
2984         (WebCore::ConsoleMessage::addToFrontend):
2985         * inspector/ConsoleMessage.h:
2986         * inspector/InjectedScript.cpp:
2987         (WebCore::InjectedScript::canAccessInspectedWindow):
2988         * inspector/InjectedScript.h:
2989         * inspector/InjectedScriptHost.cpp:
2990         (WebCore::InjectedScriptHost::create):
2991         (WebCore::InjectedScriptHost::InjectedScriptHost):
2992         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2993         (WebCore::InjectedScriptHost::disconnect):
2994         (WebCore::InjectedScriptHost::inspectImpl):
2995         (WebCore::InjectedScriptHost::clearConsoleMessages):
2996         (WebCore::InjectedScriptHost::databaseIdImpl):
2997         (WebCore::InjectedScriptHost::storageIdImpl):
2998         * inspector/InjectedScriptHost.h:
2999         (WebCore::InjectedScriptHost::init):
3000         (WebCore::InjectedScriptHost::setFrontend):
3001         (WebCore::InjectedScriptHost::clearFrontend):
3002         * inspector/InjectedScriptManager.cpp: Added.
3003         (WebCore::InjectedScriptManager::create):
3004         (WebCore::InjectedScriptManager::InjectedScriptManager):
3005         (WebCore::InjectedScriptManager::~InjectedScriptManager):
3006         (WebCore::InjectedScriptManager::disconnect):
3007         (WebCore::InjectedScriptManager::injectedScriptHost):
3008         (WebCore::InjectedScriptManager::injectedScriptForId):
3009         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
3010         (WebCore::InjectedScriptManager::discardInjectedScripts):
3011         (WebCore::InjectedScriptManager::releaseObjectGroup):
3012         (WebCore::InjectedScriptManager::injectedScriptSource):
3013         (WebCore::InjectedScriptManager::injectScript):
3014         * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
3015         * inspector/Inspector.idl:
3016         * inspector/InspectorAgent.cpp:
3017         (WebCore::InspectorAgent::InspectorAgent):
3018         (WebCore::InspectorAgent::inspectedPageDestroyed):
3019         (WebCore::InspectorAgent::focusNode):
3020         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
3021         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
3022         (WebCore::InspectorAgent::didCommitLoad):
3023         (WebCore::InspectorAgent::domContentLoadedEventFired):
3024         * inspector/InspectorAgent.h:
3025         * inspector/InspectorBrowserDebuggerAgent.cpp:
3026         * inspector/InspectorConsoleAgent.cpp:
3027         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3028         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
3029         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
3030         (WebCore::InspectorConsoleAgent::addInspectedNode):
3031         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
3032         (WebCore::InspectorConsoleAgent::addConsoleMessage):
3033         * inspector/InspectorConsoleAgent.h:
3034         * inspector/InspectorController.cpp:
3035         (WebCore::InspectorController::InspectorController):
3036         (WebCore::InspectorController::connectFrontend):
3037         (WebCore::InspectorController::disconnectFrontend):
3038         * inspector/InspectorController.h:
3039         * inspector/InspectorDOMAgent.cpp:
3040         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
3041         (WebCore::InspectorDOMAgent::discardBindings):
3042         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
3043         (WebCore::InspectorDOMAgent::resolveNode):
3044         * inspector/InspectorDOMAgent.h:
3045         (WebCore::InspectorDOMAgent::create):
3046         * inspector/InspectorDebuggerAgent.cpp:
3047         (WebCore::InspectorDebuggerAgent::create):
3048         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
3049         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3050         (WebCore::InspectorDebuggerAgent::currentCallFrames):
3051         * inspector/InspectorDebuggerAgent.h:
3052         * inspector/InspectorRuntimeAgent.cpp:
3053         (WebCore::InspectorRuntimeAgent::create):
3054         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3055         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
3056         (WebCore::InspectorRuntimeAgent::evaluate):
3057         (WebCore::InspectorRuntimeAgent::evaluateOn):
3058         (WebCore::InspectorRuntimeAgent::getProperties):
3059         (WebCore::InspectorRuntimeAgent::setPropertyValue):
3060         (WebCore::InspectorRuntimeAgent::releaseObject):
3061         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
3062         * inspector/InspectorRuntimeAgent.h:
3063         * inspector/front-end/ElementsPanel.js:
3064         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
3065         (WebInspector.ElementsPanel):
3066
3067 2011-03-09  Hans Wennborg  <hans@chromium.org>
3068
3069         Reviewed by Jeremy Orlow.
3070
3071         IndexedDB: Make IDBBackingStore abstract
3072         https://bugs.webkit.org/show_bug.cgi?id=56013
3073
3074         Make IDBBackingStore abstract to allow for multiple implementations.
3075         Move the SQLite implementation to IDBSQLiteBackingStore.
3076
3077         No new tests: refactoring only.
3078
3079         * WebCore.gypi:
3080         * storage/IDBBackingStore.h:
3081         (WebCore::IDBBackingStore::~IDBBackingStore):
3082         * storage/IDBFactoryBackendImpl.cpp:
3083         (WebCore::IDBFactoryBackendImpl::open):
3084         * storage/IDBSQLiteBackingStore.cpp:
3085         (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
3086         (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore):
3087         (WebCore::runCommands):
3088         (WebCore::createTables):
3089         (WebCore::createMetaDataTable):
3090         (WebCore::getDatabaseSchemaVersion):
3091         (WebCore::migrateDatabase):
3092         (WebCore::IDBSQLiteBackingStore::open):
3093         (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData):
3094         (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData):
3095         (WebCore::IDBSQLiteBackingStore::getObjectStores):
3096         (WebCore::IDBSQLiteBackingStore::createObjectStore):
3097         (WebCore::doDelete):
3098         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
3099         (WebCore::whereSyntaxForKey):
3100         (WebCore::bindKeyToQuery):
3101         (WebCore::lowerCursorWhereFragment):
3102         (WebCore::upperCursorWhereFragment):
3103         (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
3104         (WebCore::bindKeyToQueryWithNulls):
3105         (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
3106         (WebCore::IDBSQLiteBackingStore::clearObjectStore):
3107         (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
3108         (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
3109         (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
3110         (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
3111         (WebCore::IDBSQLiteBackingStore::getIndexes):
3112         (WebCore::IDBSQLiteBackingStore::createIndex):
3113         (WebCore::IDBSQLiteBackingStore::deleteIndex):
3114         (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
3115         (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
3116         (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
3117         (WebCore::keyFromQuery):
3118         (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
3119         (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
3120         (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
3121         (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
3122         (WebCore::IDBSQLiteBackingStore::openIndexCursor):
3123         (WebCore::IDBSQLiteBackingStore::createTransaction):
3124         * storage/IDBSQLiteBackingStore.h: Added.
3125
3126 2011-03-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3127
3128         Unreviewed build error fix.
3129
3130         [EFL] Fix build break when SHARED_CORE is ON
3131         https://bugs.webkit.org/show_bug.cgi?id=56155
3132
3133         * platform/efl/ContextMenuEfl.cpp:
3134         (WebCore::ContextMenu::ContextMenu):
3135         * platform/efl/ContextMenuItemEfl.cpp:
3136         (WebCore::ContextMenuItem::nativeMenuItem):
3137         (WebCore::ContextMenuItem::ContextMenuItem):
3138         (WebCore::ContextMenuItem::~ContextMenuItem):
3139
3140 2011-03-11  Andrey Kosyakov  <caseq@chromium.org>
3141
3142         Reviewed by Pavel Feldman.
3143
3144         Web Inspector: resource load cancellation is reported to console as an error
3145         https://bugs.webkit.org/show_bug.cgi?id=55764
3146
3147         - mark interruptionForPolicyChangeError as cancellation
3148         - do not log resource cancelation as an error
3149         - always push resource to front-end before console message, so front-end can use resource info while formatting message.
3150
3151         * inspector/InspectorConsoleAgent.cpp:
3152         (WebCore::InspectorConsoleAgent::didFailLoading):
3153         * inspector/InspectorInstrumentation.cpp:
3154         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
3155         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3156         * loader/MainResourceLoader.cpp:
3157         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
3158
3159 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
3160
3161         Reviewed by Yury Semikhatsky.
3162
3163         Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1
3164         https://bugs.webkit.org/show_bug.cgi?id=56096
3165
3166         No new tests, as this is a refactoring.
3167
3168         * inspector/front-end/BreakpointsSidebarPane.js:
3169         (WebInspector.EventListenerBreakpointsSidebarPane):
3170         * inspector/front-end/DetailedHeapshotView.js:
3171         * inspector/front-end/ResourcesPanel.js:
3172         (WebInspector.ResourcesPanel):
3173         (WebInspector.BaseStorageTreeElement):
3174         (WebInspector.BaseStorageTreeElement.prototype.onattach):
3175         (WebInspector.StorageCategoryTreeElement):
3176         (WebInspector.FrameTreeElement):
3177         (WebInspector.FrameResourceTreeElement):
3178         (WebInspector.DatabaseTreeElement):
3179         (WebInspector.DatabaseTableTreeElement):
3180         (WebInspector.DOMStorageTreeElement):
3181         (WebInspector.CookieTreeElement):
3182         (WebInspector.ApplicationCacheTreeElement):
3183         (WebInspector.ResourceRevisionTreeElement):
3184         * inspector/front-end/utilities.js:
3185         (Element.prototype.removeStyleClass):
3186         (Element.prototype.addStyleClass):
3187         (Element.prototype.hasStyleClass):
3188
3189 2011-03-11  Brian Salomon  <bsalomon@google.com>
3190
3191         Reviewed by Kenneth Russell.
3192
3193         Adds GrContext flush call to PlatformContextSkia destructor. 
3194 Calls GrContext flush with int parameter instead of bool due to skia 
3195 revision.       
3196
3197         No new tests needed.
3198
3199         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3200         (WebCore::DrawingBuffer::publishToPlatformLayer):
3201         * platform/graphics/skia/PlatformContextSkia.cpp:
3202         (WebCore::PlatformContextSkia::~PlatformContextSkia):
3203         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
3204
3205 2011-03-10  Chris Guillory  <chris.guillory@google.com>
3206
3207         Reviewed by James Robinson.
3208
3209         Fix for Coverity discovered NO_EFFECT (self-assign) defect.
3210         https://bugs.webkit.org/show_bug.cgi?id=54143
3211
3212         * platform/graphics/gpu/TilingData.cpp:
3213         (WebCore::TilingData::setMaxTextureSize):
3214
3215 2011-03-10  Emil A Eklund  <eae@chromium.org>
3216
3217         Reviewed by Alexey Proskuryakov.
3218
3219         The web colours palevioletred and mediumpurple are incorrect
3220         https://bugs.webkit.org/show_bug.cgi?id=46658
3221
3222         Changed value for the palevioletred and mediumpurple colors to match
3223         the css3 specification.
3224
3225         Test: fast/css/named-colors.html
3226
3227         * inspector/front-end/Color.js:
3228         * platform/ColorData.gperf:
3229
3230 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3231
3232         Unreviewed build fix.
3233
3234         [WML] Fix build error
3235         https://bugs.webkit.org/show_bug.cgi?id=56078
3236
3237         * wml/WMLInputElement.cpp:
3238         (WebCore::WMLInputElement::defaultEventHandler):
3239
3240 2011-03-10  Jeremy Moskovich  <jeremy@chromium.org>
3241
3242         Reviewed by Darin Adler.
3243
3244         Fix navigation menus on a bunch of sites in WebKit.
3245         https://bugs.webkit.org/show_bug.cgi?id=52535
3246
3247         WebKit doesn't support position:relative for several table elements and
3248         overwrites the style internally when position:relative is encountered.
3249         Unfortunately position:relative affects the choice of nodes returned by
3250         offsetParent.
3251
3252         This CL adds a bit to RenderStyle to track whether position:relative was
3253         overwritten.  The value is then consulted in offsetParent which makes us
3254         match FF/IE.
3255
3256         Tests: fast/block/positioning/offsetLeft-relative-iframe.html
3257                fast/block/positioning/offsetLeft-relative-td.html
3258
3259         * css/CSSStyleSelector.cpp:
3260         (WebCore::CSSStyleSelector::adjustRenderStyle):
3261         * rendering/RenderObject.cpp:
3262         (WebCore::RenderObject::isOriginallyRelPositioned):
3263         (WebCore::RenderObject::offsetParent):
3264         * rendering/RenderObject.h:
3265         * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative.
3266         (WebCore::InheritedFlags::positionWasRelative):
3267         (WebCore::InheritedFlags::setPositionWasRelative):
3268         * rendering/style/StyleRareNonInheritedData.cpp:
3269         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3270         (WebCore::StyleRareNonInheritedData::operator==):
3271         * rendering/style/StyleRareNonInheritedData.h:
3272
3273 2011-03-10  Adam Barth  <abarth@webkit.org>
3274
3275         Reviewed by Darin Adler.
3276
3277         REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel()
3278         https://bugs.webkit.org/show_bug.cgi?id=51357
3279
3280         Previously, we would try to print from a callstack that didn't want a
3281         nested event loop, leading to re-entrancy problems.  In this patch, we
3282         complete the print call asynchronously, giving us a clean stack on
3283         which to run the nested event loop.
3284
3285         Test: printing/print-close-crash.html
3286
3287         * page/DOMWindow.cpp:
3288         (WebCore::DOMWindow::DOMWindow):
3289         (WebCore::DOMWindow::print):
3290         (WebCore::DOMWindow::printTimerFired):
3291         * page/DOMWindow.h:
3292
3293 2011-03-11  Roland Steiner  <rolandsteiner@chromium.org>
3294
3295         Reviewed by Ryosuke Niwa.
3296
3297         Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/
3298         https://bugs.webkit.org/show_bug.cgi?id=55570
3299
3300         Add a virtual function toInputElement() to Node that has a default
3301         implementation of returning 0.
3302         For HTMLInputElement and WMLInputElement (which derive from InputElement)
3303         override this to return the object.
3304         Change all calling sites of the old toInputElement to use the new member
3305         function. This also allows us to save some casts.
3306
3307         No new tests. (refactoring)
3308
3309         * WebCore.exp.in:
3310         * accessibility/AXObjectCache.cpp:
3311         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
3312         * accessibility/AccessibilityRenderObject.cpp:
3313         (WebCore::AccessibilityRenderObject::isPasswordField):
3314         (WebCore::AccessibilityRenderObject::isIndeterminate):
3315         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
3316         (WebCore::AccessibilityRenderObject::isChecked):
3317         * css/CSSStyleSelector.cpp:
3318         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3319         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3320         * dom/CheckedRadioButtons.cpp:
3321         (WebCore::CheckedRadioButtons::removeButton):
3322         * dom/InputElement.cpp:
3323         * dom/InputElement.h:
3324         * dom/Node.cpp:
3325         (WebCore::Node::toInputElement):
3326         * dom/Node.h:
3327         * html/HTMLInputElement.h:
3328         (WebCore::HTMLInputElement::toInputElement):
3329         * rendering/RenderTextControlSingleLine.cpp:
3330         (WebCore::RenderTextControlSingleLine::inputElement):
3331         * rendering/RenderTheme.cpp:
3332         (WebCore::RenderTheme::isChecked):
3333         (WebCore::RenderTheme::isIndeterminate):
3334         * wml/WMLInputElement.h:
3335         (WebCore::WMLInputElement::toInputElement):
3336
3337 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3338
3339         Reviewed by Kenneth Rohde Christiansen.
3340
3341         [EFL] New mediaControl css file for EFL
3342         https://bugs.webkit.org/show_bug.cgi?id=55460
3343
3344         Add new mediaControl css file for html5 video UI.
3345
3346         * CMakeLists.txt:
3347         * CMakeListsEfl.txt:
3348         * css/mediaControlsEfl.css: Added.
3349         (audio):
3350         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
3351         (video:-webkit-full-page-media::-webkit-media-controls-panel):
3352         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
3353         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
3354         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
3355         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
3356         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
3357         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3358         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
3359         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
3360         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
3361         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
3362         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
3363         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
3364         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
3365         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
3366         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
3367         * platform/efl/RenderThemeEfl.cpp:
3368         (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
3369
3370 2011-03-10  Emil A Eklund  <eae@chromium.org>
3371
3372         Reviewed by Dimitri Glazkov.
3373
3374         style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically
3375         https://bugs.webkit.org/show_bug.cgi?id=53860
3376
3377         Preserve selection when changing between multi-select and single-select
3378         for <select> boxes even if it has not yet been rendered.
3379
3380         Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html
3381
3382         * html/HTMLSelectElement.cpp:
3383         (WebCore::HTMLSelectElement::setMultiple):
3384
3385 2011-03-10  Ojan Vafai  <ojan@chromium.org>
3386
3387         Reviewed by Tony Chang.
3388
3389         update comment to reference new DOM Core spec
3390         https://bugs.webkit.org/show_bug.cgi?id=56079
3391
3392         I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit.
3393         This is the only one that's actually specified to fire
3394         in the latest DOM Core spec.
3395
3396         * dom/DOMImplementation.cpp:
3397         (WebCore::DOMImplementation::createDocument):
3398
3399 2011-03-10  Rik Cabanier  <cabanier@gmail.com>
3400
3401         Reviewed by Tony Gentilcore.
3402
3403         Fix that allows fixed length values to be floating point
3404         https://bugs.webkit.org/show_bug.cgi?id=52699
3405
3406         * WebCore.xcodeproj/project.pbxproj:
3407         * css/CSSStyleSelector.cpp:
3408         (WebCore::convertToLength):
3409         (WebCore::convertToIntLength):
3410         (WebCore::convertToFloatLength):
3411         (WebCore::CSSStyleSelector::applyProperty):
3412         (WebCore::CSSStyleSelector::createTransformOperations):
3413         * platform/Length.h:
3414         (WebCore::Length::Length):
3415         (WebCore::Length::operator==):
3416         (WebCore::Length::operator!=):
3417         (WebCore::Length::rawValue):
3418         (WebCore::Length::type):
3419         (WebCore::Length::quirk):
3420         (WebCore::Length::setValue):
3421         (WebCore::Length::calcFloatValue):
3422         (WebCore::Length::isZero):
3423         (WebCore::Length::blend):
3424         (WebCore::Length::getIntValue):
3425         (WebCore::Length::getFloatValue):
3426         * rendering/AutoTableLayout.cpp:
3427         (WebCore::AutoTableLayout::recalcColumn):
3428         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
3429         * rendering/FixedTableLayout.cpp:
3430         (WebCore::FixedTableLayout::calcWidthArray):
3431
3432 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3433
3434         Unreviewed, rolling out r80800.
3435         http://trac.webkit.org/changeset/80800
3436         https://bugs.webkit.org/show_bug.cgi?id=56163
3437
3438         Caused hundreds of tests to crash on Windows 7 (Requested by
3439         rniwa on #webkit).
3440
3441         * page/EventHandler.cpp:
3442         (WebCore::EventHandler::mouseMoved):
3443         (WebCore::EventHandler::updateMouseEventTargetNode):
3444         * page/FocusController.cpp:
3445         (WebCore::FocusController::setActive):
3446         * page/FrameView.cpp:
3447         (WebCore::FrameView::FrameView):
3448         (WebCore::FrameView::~FrameView):
3449         * page/FrameView.h:
3450         * page/Page.cpp:
3451         * page/Page.h:
3452         * platform/ScrollView.cpp:
3453         (WebCore::ScrollView::wheelEvent):
3454         * platform/ScrollView.h:
3455         * rendering/RenderDataGrid.cpp:
3456         (WebCore::RenderDataGrid::RenderDataGrid):
3457         (WebCore::RenderDataGrid::~RenderDataGrid):
3458         * rendering/RenderLayer.cpp:
3459         (WebCore::RenderLayer::RenderLayer):
3460         (WebCore::RenderLayer::~RenderLayer):
3461         * rendering/RenderLayer.h:
3462         * rendering/RenderListBox.cpp:
3463         (WebCore::RenderListBox::RenderListBox):
3464         (WebCore::RenderListBox::~RenderListBox):
3465
3466 2011-03-10  Alice Boxhall  <aboxhall@chromium.org>
3467
3468         Reviewed by Dimitri Glazkov.
3469
3470         NULL pointer crash when using :empty and :first-line pseudoclass selectors together
3471         https://bugs.webkit.org/show_bug.cgi?id=53316
3472
3473         :empty is calculated for each element during parsing, but then not 
3474         recalculated after any child elements are at