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